Services_Apns
[ class tree: Services_Apns ] [ index: Services_Apns ] [ all elements ]

Source for file Feedback.php

Documentation is available at Feedback.php

  1. <?php
  2.  
  3. /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
  4.  
  5. /**
  6.  * This file contains client class used to
  7.  * query Apple Push Notifications Feedback gateway.
  8.  *
  9.  * This file contaions client class which allows to query
  10.  * Apple Push Notifications Feedback Service for app feedback.
  11.  *
  12.  * PHP version 5
  13.  *
  14.  * LICENSE:
  15.  *
  16.  * Copyright (c) 2013, Yahav Gindi Bar; Pear Technology Investments, Ltd.
  17.  * All rights reserved.
  18.  *
  19.  * Redistribution and use in source and binary forms, with or without
  20.  * modification, are permitted provided that the following conditions
  21.  * are met:
  22.  *
  23.  *  * Redistributions of source code must retain the above copyright
  24.  *    notice, this list of conditions and the following disclaimer.
  25.  *  * Redistributions in binary form must reproduce the above copyright
  26.  *    notice, this list of conditions and the following disclaimer in
  27.  *    the documentation and/or other materials provided with the distribution.
  28.  *  * Neither the name of the PHP_LexerGenerator nor the names of its
  29.  *    contributors may be used to endorse or promote products derived
  30.  *    from this software without specific prior written permission.
  31.  *
  32.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
  33.  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  34.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  35.  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  36.  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  37.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  38.  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  39.  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  40.  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  41.  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  42.  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  43.  *
  44.  * @category  Services
  45.  * @package   Services_Apns
  46.  * @author    Yahav Gindi Bar <g.b.yahav@gmail.com>
  47.  * @copyright 2013 Yahav Gindi Bar
  48.  * @license   http://www.php.net/license/3_01.txt  PHP License 3.01
  49.  * @version   SVN: $Id$
  50.  * @link      https://github.com/YahavGB/Services_APNS
  51.  */
  52.  
  53. /// {{{ Load Services_Apns_Client
  54.  
  55. require_once 'Services/Apns/Client.php';
  56.  
  57. /// }}}
  58.  
  59. // {{{ Services_Apns_Client_Feedback
  60.  
  61.  
  62. /**
  63.  * Client class used to query Apple Push Notifications Service feedback gateway.
  64.  * 
  65.  * @category  Services
  66.  * @package   Services_Apns
  67.  * @author    Yahav Gindi Bar <g.b.yahav@gmail.com>
  68.  * @copyright 2013 Yahav Gindi Bar
  69.  * @license   http://www.opensource.org/licenses/bsd-license.php The BSD License
  70.  * @version   Release: 0.1.0
  71.  * @link      https://github.com/YahavGB/Services_APNS
  72.  */
  73. {
  74.     /// {{{ getApnsProductionUri()
  75.     
  76.     /**
  77.      * (non-PHPdoc)
  78.      * 
  79.      * @return string 
  80.      */
  81.     protected function getApnsProductionUri()
  82.     {
  83.         return 'ssl://feedback.push.apple.com:2196';
  84.     }
  85.     
  86.     /// }}}
  87.     
  88.     /// {{{ getApnsSandboxUri()
  89.     
  90.     /**
  91.      * (non-PHPdoc)
  92.      * 
  93.      * @return string 
  94.     */
  95.     protected function getApnsSandboxUri()
  96.     {
  97.         return 'ssl://feedback.sandbox.push.apple.com:2196';
  98.     }
  99.      
  100.     /// }}}
  101.     
  102.     /// {{{ getFeedback()
  103.     
  104.     /**
  105.      * Gets the feedback query data
  106.      * 
  107.      * @return array 
  108.      */
  109.     public function getFeedback()
  110.     {
  111.         $connected $this->isConnected();
  112.         if (!$connected{
  113.             $this->connect();
  114.         }
  115.     
  116.         $tokens = array();
  117.         while (($token $this->read(38)) !== false{
  118.             $tokens[unpack('Ntime/nlength/H*token'$token);
  119.         }
  120.         
  121.         if (!$connected{
  122.             $this->close();
  123.         }
  124.         
  125.         return $tokens;
  126.     }
  127.      
  128.     /// }}}
  129. }
  130.  
  131. // }}}
  132.  
  133. /*
  134.  * Local variables:
  135.  * tab-width: 4
  136.  * c-basic-offset: 4
  137.  * c-hanging-comment-ender-p: nil
  138.  * End:
  139.  */

Documentation generated on Tue, 19 Feb 2013 14:30:02 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.