mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-05-12 15:49:06 -04:00
During this process, remove a considerable number of files from kohana
that we will not be needing in Gallery3, including the following files
and directories:
kohana/application
kohana/example.htaccess
kohana/index.php
kohana/install.php
kohana/kohana.png
kohana/modules/archive
kohana/modules/auth
kohana/modules/flot
kohana/modules/gmaps
kohana/modules/kodoc
kohana/modules/payment
kohana/modules/smarty
kohana/modules/unit_test/i18n
kohana/modules/unit_test/tests/Example_Test.php
kohana/modules/unit_test/tests/Valid_Test.php
kohana/system/config/captcha.php
kohana/system/controllers/captcha.php
kohana/system/fonts
kohana/system/i18n
kohana/system/libraries/Calendar.php
kohana/system/libraries/Calendar_Event.php
kohana/system/libraries/Captcha.php
kohana/system/libraries/Tagcloud.php
kohana/system/vendor
kohana/system/views/pagination
kohana/system/views/kohana_calendar.php
67 lines
1.3 KiB
PHP
67 lines
1.3 KiB
PHP
<?php defined('SYSPATH') OR die('No direct access allowed.');
|
|
/**
|
|
* Kohana event subject. Uses the SPL observer pattern.
|
|
*
|
|
* $Id$
|
|
*
|
|
* @package Core
|
|
* @author Kohana Team
|
|
* @copyright (c) 2007-2008 Kohana Team
|
|
* @license http://kohanaphp.com/license.html
|
|
*/
|
|
abstract class Event_Subject implements SplSubject {
|
|
|
|
// Attached subject listeners
|
|
protected $listeners = array();
|
|
|
|
/**
|
|
* Attach an observer to the object.
|
|
*
|
|
* @chainable
|
|
* @param object Event_Observer
|
|
* @return object
|
|
*/
|
|
public function attach(SplObserver $obj)
|
|
{
|
|
if ( ! ($obj instanceof Event_Observer))
|
|
throw new Kohana_Exception('eventable.invalid_observer', get_class($obj), get_class($this));
|
|
|
|
// Add a new listener
|
|
$this->listeners[spl_object_hash($obj)] = $obj;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Detach an observer from the object.
|
|
*
|
|
* @chainable
|
|
* @param object Event_Observer
|
|
* @return object
|
|
*/
|
|
public function detach(SplObserver $obj)
|
|
{
|
|
// Remove the listener
|
|
unset($this->listeners[spl_object_hash($obj)]);
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Notify all attached observers of a new message.
|
|
*
|
|
* @chainable
|
|
* @param mixed message string, object, or array
|
|
* @return object
|
|
*/
|
|
public function notify($message)
|
|
{
|
|
foreach ($this->listeners as $obj)
|
|
{
|
|
$obj->notify($message);
|
|
}
|
|
|
|
return $this;
|
|
}
|
|
|
|
} // End Event Subject
|