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

Source for file gntpAdapterIconCollection.php

Documentation is available at gntpAdapterIconCollection.php

  1. <?php
  2. /**
  3.  * Example that send notifications to Growl using the new GNTP/1.0 protocol.
  4.  * Icon streams organized as collection is available since API 2.7
  5.  *
  6.  * PHP version 5
  7.  *
  8.  * @category Networking
  9.  * @package  Net_Growl
  10.  * @author   Laurent Laville <pear@laurent-laville.org>
  11.  * @license  http://www.opensource.org/licenses/bsd-license.php  BSD
  12.  * @version  SVN: Release: 2.7.0
  13.  * @link     http://growl.laurent-laville.org/
  14.  * @since    File available since Release 2.7.0
  15.  */
  16.  
  17. require_once 'Net/Growl/Autoload.php';
  18.  
  19. // Notification Type definitions
  20. define('GROWL_NOTIFY_PHPUC',   'PHPUC');
  21. define('GROWL_NOTIFY_PHPUNIT''PHPUNIT');
  22. define('GROWL_NOTIFY_PHING',   'PHING');
  23.  
  24. // define a PHP application that sends notifications to Growl
  25. $appName 'PEAR/Net_Growl ' basename(__FILE__'.php');
  26.  
  27. // CAUTION: normalized archive real path name (required on windows platform)
  28. $archive dirname(__FILE__. DIRECTORY_SEPARATOR . 'growlDefaultCollection';
  29. if (DIRECTORY_SEPARATOR == '\\'{
  30.     $archive preg_replace('/^([a-zA-Z]:)(.*)/''$2'$archive);
  31.     $archive str_replace('\\''/'$archive);
  32. }
  33. if (version_compare(PHP_VERSION'5.3.0'< 0{
  34.     $archive = "zip://$archive.zip#";
  35. else {
  36.     $archive = "phar://$archive.phar/";
  37. }
  38.  
  39. $notifications = array(
  40.     GROWL_NOTIFY_PHPUC => array(
  41.         'icon'    => $archive '80/growl_phpuc.png',
  42.         'display' => 'phpUnderControl',
  43.     ),
  44.  
  45.     GROWL_NOTIFY_PHPUNIT => array(
  46.         'icon'    => $archive '80/growl_phpunit.png',
  47.         'display' => 'PHPUnit'
  48.     ),
  49.  
  50.     GROWL_NOTIFY_PHING => array(
  51.         'icon'    => $archive '80/growl_phing.png',
  52.         'display' => 'Phing'
  53.     ),
  54. );
  55.  
  56. $ID1      uniqid();
  57. $password '';
  58. $options  = array(
  59.     'resourceDir' => dirname(__FILE__),
  60.     'defaultIcon' => 'Help.ico',
  61.     'AppIcon'     => $archive '128/growl-starkicon.png',
  62.     'protocol'    => 'gntp''timeout' => 15,
  63.     'debug'       => dirname(__FILE__. DIRECTORY_SEPARATOR .
  64.         basename(__FILE__'.php''.log'
  65. );
  66.  
  67. try {
  68.     $growl Net_Growl::singleton($appName$notifications$password$options);
  69.     $growl->register();
  70.  
  71.     $name        GROWL_NOTIFY_PHPUC;
  72.     $title       'Congratulation';
  73.     $description 'CC-Job #15 DONE';
  74.     $options     = array(
  75.         'ID'           => uniqid(),
  76.         'CoalescingID' => $ID1,
  77.     );
  78.     $growl->publish($name$title$description$options);
  79.     // for demo purpose only; just to let see each notification between two processes
  80.     sleep(2);
  81.  
  82.     $name        GROWL_NOTIFY_PHPUNIT;
  83.     $title       'Failure';
  84.     $description 'Test Suite #15 FAILED';
  85.     $options     = array(
  86.         'priority'     => Net_Growl::PRIORITY_HIGH,
  87.         'ID'           => uniqid(),
  88.         'CoalescingID' => $ID1,
  89.     );
  90.     $growl->publish($name$title$description$options);
  91.     // for demo purpose only; just to let see each notification between two processes
  92.     sleep(2);
  93.  
  94.     $name        GROWL_NOTIFY_PHING;
  95.     $title       'Proposal';
  96.     $description "Project #15 BUILDED";
  97.     $options     = array(
  98.         'ID'           => uniqid(),
  99.         'CoalescingID' => $ID1,
  100.     );
  101.     $growl->publish($name$title$description$options);
  102.     // for demo purpose only; just to let see each notification between two processes
  103.     sleep(2);
  104.  
  105.     $name        GROWL_NOTIFY_PHING;
  106.     $title       'FirePHP';
  107.     $description "Project #16 BUILDED";
  108.     $options     = array(
  109.         'icon'         => $archive 'firephp.png',
  110.         'ID'           => uniqid(),
  111.         'CoalescingID' => $ID1,
  112.     );
  113.     $growl->publish($name$title$description$options);
  114.  
  115. catch (Net_Growl_Exception $e{
  116.     echo 'Caught Growl exception: ' $e->getMessage(. PHP_EOL;
  117. }

Documentation generated on Tue, 29 Jan 2013 18:30:04 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.