diff --git a/CREDITS b/CREDITS
index 42e3215a7..52b8b9b18 100644
--- a/CREDITS
+++ b/CREDITS
@@ -1,11 +1,32 @@
=======
CREDITS
=======
+Version 2.0.1
+-------------
+Naomi Aro (naomi.aro@sourcefabric.org)
+ Role: Software Developer
+
+Martin Konecny (martin.konecny@sourcefabric.org)
+ Role: Software Developer
+
+James Moon (james.moon@sourcefabric.org)
+ Role: Software Developer
+
+Daniel Franklin (daniel.franklin@sourcefabric.org)
+ Role: Software Developer
+
+Ofir Gal (ofir.gal@sourcefabric.org)
+ Role: QA
+
+Daniel James (daniel.james@sourcefabric.org)
+ Role: Documentor & QA
+
+Paul Baranowski (paul.baranowski@sourcefabric.org)
+ Role: Project Manager
+
Version 2.0.0
-------------
-Welcome to Yuchen Wang!
-
Naomi Aro (naomi.aro@sourcefabric.org)
Role: Software Developer
diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php
index 6e17898b6..d4ca032f5 100644
--- a/airtime_mvc/application/Bootstrap.php
+++ b/airtime_mvc/application/Bootstrap.php
@@ -56,6 +56,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
$view = $this->getResource('view');
$baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
+ $baseDir = dirname($_SERVER['SCRIPT_FILENAME']);
$view->headLink()->appendStylesheet($baseUrl.'/css/redmond/jquery-ui-1.8.8.custom.css?'.$CC_CONFIG['airtime_version']);
$view->headLink()->appendStylesheet($baseUrl.'/css/pro_dropdown_3.css?'.$CC_CONFIG['airtime_version']);
@@ -69,6 +70,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
$view = $this->getResource('view');
$baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
+ $baseDir = dirname($_SERVER['SCRIPT_FILENAME']);
$view->headScript()->appendFile('https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js');
$view->headScript()->appendFile('https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js');
diff --git a/airtime_mvc/application/configs/application.ini b/airtime_mvc/application/configs/application.ini
index 836d659da..c342ebda7 100644
--- a/airtime_mvc/application/configs/application.ini
+++ b/airtime_mvc/application/configs/application.ini
@@ -1,7 +1,6 @@
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
-includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php
index 3eb436520..dc3e03a2b 100644
--- a/airtime_mvc/application/configs/conf.php
+++ b/airtime_mvc/application/configs/conf.php
@@ -17,9 +17,7 @@ $CC_CONFIG = array(
'soundcloud-client-id' => '2CLCxcSXYzx7QhhPVHN4A',
'soundcloud-client-secret' => 'pZ7beWmF06epXLHVUP1ufOg2oEnIt9XhE8l8xt0bBs',
- "rootDir" => __DIR__."/../..",
- 'pearPath' => dirname(__FILE__).'/../../library/pear',
- 'zendPath' => dirname(__FILE__).'/../../library/Zend'
+ "rootDir" => __DIR__."/../.."
);
@@ -50,12 +48,6 @@ $CC_CONFIG['permSequence'] = $CC_CONFIG['permTable'].'_id';
$CC_CONFIG['subjSequence'] = $CC_CONFIG['subjTable'].'_id';
$CC_CONFIG['smembSequence'] = $CC_CONFIG['smembTable'].'_id';
-// Add libs to the PHP path
-$old_include_path = get_include_path();
-set_include_path('.'.PATH_SEPARATOR.$CC_CONFIG['pearPath']
- .PATH_SEPARATOR.$CC_CONFIG['zendPath']
- .PATH_SEPARATOR.$old_include_path);
-
class Config {
public static function loadConfig($p_path) {
global $CC_CONFIG;
diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php
index 50008e3f8..cfe93182e 100644
--- a/airtime_mvc/application/configs/constants.php
+++ b/airtime_mvc/application/configs/constants.php
@@ -2,6 +2,7 @@
define('AIRTIME_COPYRIGHT_DATE', '2010-2011');
define('AIRTIME_REST_VERSION', '1.1');
+define('AIRTIME_API_VERSION', '1.0');
// Metadata Keys for files
define('MDATA_KEY_FILEPATH', 'filepath');
diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php
index 8ddbeac8d..4026d7460 100644
--- a/airtime_mvc/application/controllers/ApiController.php
+++ b/airtime_mvc/application/controllers/ApiController.php
@@ -217,7 +217,8 @@ class ApiController extends Zend_Controller_Action
"currentShow"=>Application_Model_Show::GetCurrentShow($utcTimeNow),
"nextShow"=>Application_Model_Show::GetNextShows($utcTimeNow, $limit, $utcTimeEnd),
"timezone"=> date("T"),
- "timezoneOffset"=> date("Z"));
+ "timezoneOffset"=> date("Z"),
+ "AIRTIME_API_VERSION"=>AIRTIME_API_VERSION); //used by caller to determine if the airtime they are running or widgets in use is out of date.
//Convert from UTC to localtime for user.
Application_Model_Show::ConvertToLocalTimeZone($result["currentShow"], array("starts", "ends", "start_timestamp", "end_timestamp"));
@@ -256,7 +257,7 @@ class ApiController extends Zend_Controller_Action
$result[$dow[$i]] = $shows;
}
-
+ $result['AIRTIME_API_VERSION'] = AIRTIME_API_VERSION; //used by caller to determine if the airtime they are running or widgets in use is out of date.
header("Content-type: text/javascript");
echo $_GET['callback'].'('.json_encode($result).')';
} else {
@@ -406,7 +407,10 @@ class ApiController extends Zend_Controller_Action
$tempFileName = basename($tempFilePath);
$fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';
- Application_Model_StoredFile::copyFileToStor($upload_dir, $fileName, $tempFileName);
+ $result = Application_Model_StoredFile::copyFileToStor($upload_dir, $fileName, $tempFileName);
+ if (isset($result)){
+ die('{"jsonrpc" : "2.0", "error" : {"code": '.$result[code].', "message" : "'.$result[message].'"}}');
+ }
}
public function uploadRecordedAction()
diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php
index ff7ba6c90..1b2f9dfe4 100644
--- a/airtime_mvc/application/controllers/LibraryController.php
+++ b/airtime_mvc/application/controllers/LibraryController.php
@@ -37,6 +37,8 @@ class LibraryController extends Zend_Controller_Action
{
global $CC_CONFIG;
+ $this->_helper->viewRenderer->setResponseSegment('library');
+
$request = $this->getRequest();
$baseUrl = $request->getBaseUrl();
@@ -56,16 +58,6 @@ class LibraryController extends Zend_Controller_Action
$this->view->headLink()->appendStylesheet($baseUrl.'/css/datatables/css/ColVis.css?'.$CC_CONFIG['airtime_version']);
$this->view->headLink()->appendStylesheet($baseUrl.'/css/datatables/css/ColReorder.css?'.$CC_CONFIG['airtime_version']);
$this->view->headLink()->appendStylesheet($baseUrl.'/css/TableTools.css?'.$CC_CONFIG['airtime_version']);
-
- $this->_helper->viewRenderer->setResponseSegment('library');
-
- $form = new Application_Form_AdvancedSearch();
- $form->addGroup(1, 1);
-
- $this->search_sess->next_group = 2;
- $this->search_sess->next_row[1] = 2;
- $this->view->form = $form;
- $this->view->md = $this->search_sess->md;
}
public function contextMenuAction()
diff --git a/airtime_mvc/application/controllers/PluploadController.php b/airtime_mvc/application/controllers/PluploadController.php
index cfdb39629..0f94ca2ed 100644
--- a/airtime_mvc/application/controllers/PluploadController.php
+++ b/airtime_mvc/application/controllers/PluploadController.php
@@ -38,8 +38,10 @@ class PluploadController extends Zend_Controller_Action
$upload_dir = ini_get("upload_tmp_dir") . DIRECTORY_SEPARATOR . "plupload";
$filename = $this->_getParam('name');
$tempname = $this->_getParam('tempname');
- Application_Model_StoredFile::copyFileToStor($upload_dir, $filename, $tempname);
-
+ $result = Application_Model_StoredFile::copyFileToStor($upload_dir, $filename, $tempname);
+ if (isset($result)){
+ die('{"jsonrpc" : "2.0", "error" : {"code": '.$result[code].', "message" : "'.$result[message].'"}}');
+ }
die('{"jsonrpc" : "2.0"}');
}
}
diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php
index ab807c083..e0b326e55 100644
--- a/airtime_mvc/application/controllers/ScheduleController.php
+++ b/airtime_mvc/application/controllers/ScheduleController.php
@@ -198,20 +198,20 @@ class ScheduleController extends Zend_Controller_Action
$showStartLocalDT = Application_Model_DateHelper::ConvertToLocalDateTime($instance->getShowInstanceStart());
$showEndLocalDT = Application_Model_DateHelper::ConvertToLocalDateTime($instance->getShowInstanceEnd());
- /*
- if ($epochNow < $showStartDateHelper->getTimestamp()) {
+ if ($epochNow < $showStartLocalDT->getTimestamp()) {
- if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER, UTYPE_HOST),$show->getShowId()) && !$show->isRecorded() && !$show->isRebroadcast()) {
+ if ($user->isUserType(array(UTYPE_ADMIN, UTYPE_PROGRAM_MANAGER, UTYPE_HOST), $instance->getShowId())
+ && !$instance->isRecorded()
+ && !$instance->isRebroadcast()) {
- $menu[] = array('action' => array('type' => 'ajax', 'url' => '/Schedule/schedule-show-dialog'.$params,
- 'callback' => 'window["buildScheduleDialog"]'), 'title' => 'Add / Remove Content');
+ $menu["schedule"] = array("name"=> "Add / Remove Content",
+ "url" => "/showbuilder/index/");
- $menu[] = array('action' => array('type' => 'ajax', 'url' => '/Schedule/clear-show'.$params,
- 'callback' => 'window["scheduleRefetchEvents"]'), 'title' => 'Remove All Content');
+ $menu["clear"] = array("name"=> "Remove All Content", "icon" => "delete",
+ "url" => "/schedule/clear-show");
}
}
- */
if (!$instance->isRecorded()) {
diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php
index dd6134f68..ba1d683f8 100644
--- a/airtime_mvc/application/controllers/ShowbuilderController.php
+++ b/airtime_mvc/application/controllers/ShowbuilderController.php
@@ -25,17 +25,36 @@ class ShowbuilderController extends Zend_Controller_Action
public function builderAction() {
+ $this->_helper->viewRenderer->setResponseSegment('builder');
+
$request = $this->getRequest();
$baseUrl = $request->getBaseUrl();
+ $now = time();
+ $from = $request->getParam("from", $now);
+ $to = $request->getParam("to", $now+(24*60*60));
+
+ $start = DateTime::createFromFormat("U", $from, new DateTimeZone("UTC"));
+ $start->setTimezone(new DateTimeZone(date_default_timezone_get()));
+ $end = DateTime::createFromFormat("U", $to, new DateTimeZone("UTC"));
+ $end->setTimezone(new DateTimeZone(date_default_timezone_get()));
+
+ $form = new Application_Form_ShowBuilder();
+ $form->populate(array(
+ 'sb_date_start' => $start->format("Y-m-d"),
+ 'sb_time_start' => $start->format("H:i"),
+ 'sb_date_end' => $end->format("Y-m-d"),
+ 'sb_time_end' => $end->format("H:i")
+ ));
+
+ $this->view->sb_form = $form;
+
$this->view->headScript()->appendScript("var serverTimezoneOffset = ".date("Z")."; //in seconds");
$this->view->headScript()->appendFile($baseUrl.'/js/timepicker/jquery.ui.timepicker.js','text/javascript');
$this->view->headScript()->appendFile($baseUrl.'/js/airtime/showbuilder/builder.js','text/javascript');
$this->view->headLink()->appendStylesheet($baseUrl.'/css/jquery.ui.timepicker.css');
$this->view->headLink()->appendStylesheet($baseUrl.'/css/showbuilder.css');
-
- $this->_helper->viewRenderer->setResponseSegment('builder');
}
public function builderFeedAction() {
@@ -46,6 +65,8 @@ class ShowbuilderController extends Zend_Controller_Action
$starts_epoch = $request->getParam("start", $current_time);
//default ends is 24 hours after starts.
$ends_epoch = $request->getParam("end", $current_time + (60*60*24));
+ $show_filter = intval($request->getParam("showFilter", 0));
+ $my_shows = intval($request->getParam("myShows", 0));
$startsDT = DateTime::createFromFormat("U", $starts_epoch, new DateTimeZone("UTC"));
$endsDT = DateTime::createFromFormat("U", $ends_epoch, new DateTimeZone("UTC"));
@@ -53,7 +74,8 @@ class ShowbuilderController extends Zend_Controller_Action
Logging::log("showbuilder starts {$startsDT->format("Y-m-d H:i:s")}");
Logging::log("showbuilder ends {$endsDT->format("Y-m-d H:i:s")}");
- $showBuilder = new Application_Model_ShowBuilder($startsDT, $endsDT);
+ $opts = array("myShows" => $my_shows, "showFilter" => $show_filter);
+ $showBuilder = new Application_Model_ShowBuilder($startsDT, $endsDT, $opts);
$this->view->schedule = $showBuilder->GetItems();
}
@@ -61,21 +83,24 @@ class ShowbuilderController extends Zend_Controller_Action
public function scheduleAddAction() {
$request = $this->getRequest();
-
$mediaItems = $request->getParam("mediaIds", null);
$scheduledIds = $request->getParam("schedIds", null);
- $json = array();
-
try {
$scheduler = new Application_Model_Scheduler();
$scheduler->scheduleAfter($scheduledIds, $mediaItems);
-
- $json["message"]="success... maybe";
+ }
+ catch (OutDatedScheduleException $e) {
+ $this->view->error = $e->getMessage();
+ Logging::log($e->getMessage());
+ Logging::log("{$e->getFile()}");
+ Logging::log("{$e->getLine()}");
}
catch (Exception $e) {
- $json["message"]=$e->getMessage();
+ $this->view->error = $e->getMessage();
Logging::log($e->getMessage());
+ Logging::log("{$e->getFile()}");
+ Logging::log("{$e->getLine()}");
}
$this->view->data = $json;
@@ -84,45 +109,98 @@ class ShowbuilderController extends Zend_Controller_Action
public function scheduleRemoveAction()
{
$request = $this->getRequest();
-
- $ids = $request->getParam("ids", null);
-
- $json = array();
+ $items = $request->getParam("items", null);
try {
$scheduler = new Application_Model_Scheduler();
- $scheduler->removeItems($ids);
-
- $json["message"]="success... maybe";
+ $scheduler->removeItems($items);
+ }
+ catch (OutDatedScheduleException $e) {
+ $this->view->error = $e->getMessage();
+ Logging::log($e->getMessage());
+ Logging::log("{$e->getFile()}");
+ Logging::log("{$e->getLine()}");
}
catch (Exception $e) {
- $json["message"]=$e->getMessage();
+ $this->view->error = $e->getMessage();
Logging::log($e->getMessage());
+ Logging::log("{$e->getFile()}");
+ Logging::log("{$e->getLine()}");
}
-
- $this->view->data = $json;
}
public function scheduleMoveAction() {
$request = $this->getRequest();
-
$selectedItem = $request->getParam("selectedItem");
$afterItem = $request->getParam("afterItem");
- $json = array();
-
try {
$scheduler = new Application_Model_Scheduler();
$scheduler->moveItem($selectedItem, $afterItem);
-
- $json["message"]="success... maybe";
+ }
+ catch (OutDatedScheduleException $e) {
+ $this->view->error = $e->getMessage();
+ Logging::log($e->getMessage());
+ Logging::log("{$e->getFile()}");
+ Logging::log("{$e->getLine()}");
}
catch (Exception $e) {
- $json["message"]=$e->getMessage();
+ $this->view->error = $e->getMessage();
Logging::log($e->getMessage());
+ Logging::log("{$e->getFile()}");
+ Logging::log("{$e->getLine()}");
}
$this->view->data = $json;
}
+
+ public function scheduleReorderAction() {
+
+ $request = $this->getRequest();
+
+ $showInstance = $request->getParam("instanceId");
+ }
+
+ /*
+ * make sure any incoming requests for scheduling are ligit.
+ *
+ * @param array $items, an array containing pks of cc_schedule items.
+ */
+ private function filterSelected($items) {
+
+ $allowed = array();
+ $user = Application_Model_User::GetCurrentUser();
+ $type = $user->getType();
+
+ //item must be within the host's show.
+ if ($type === UTYPE_HOST) {
+
+ $hosted = CcShowHostsQuery::create()
+ ->filterByDbHost($user->getId())
+ ->find();
+
+ $allowed_shows = array();
+ foreach ($hosted as $host) {
+ $allowed_shows[] = $host->getDbShow();
+ }
+
+ for ($i = 0; $i < count($items); $i++) {
+
+ $instance = $items[$i]["instance"];
+
+ if (in_array($instance, $allowed_shows)) {
+ $allowed[] = $items[$i];
+ }
+ }
+
+ $this->view->shows = $res;
+ }
+ //they can schedule anything.
+ else if ($type === UTYPE_ADMIN || $type === UTYPE_PROGRAM_MANAGER) {
+ $allowed = $items;
+ }
+
+ return $allowed;
+ }
}
\ No newline at end of file
diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php
index 5561fd659..8a04f2f9b 100644
--- a/airtime_mvc/application/controllers/SystemstatusController.php
+++ b/airtime_mvc/application/controllers/SystemstatusController.php
@@ -4,6 +4,8 @@ class SystemstatusController extends Zend_Controller_Action
{
public function init()
{
+ global $CC_CONFIG;
+
$request = $this->getRequest();
$baseUrl = $request->getBaseUrl();
diff --git a/airtime_mvc/application/forms/AdvancedSearch.php b/airtime_mvc/application/forms/AdvancedSearch.php
deleted file mode 100644
index 4c15795b7..000000000
--- a/airtime_mvc/application/forms/AdvancedSearch.php
+++ /dev/null
@@ -1,65 +0,0 @@
-addElement('button', 'search_add_group', array(
- 'ignore' => true,
- 'label' => 'Add',
- 'order' => '-2'
- ));
- $this->getElement('search_add_group')->removeDecorator('DtDdWrapper');
-
- // Add the submit button
- $this->addElement('button', 'search_submit', array(
- 'ignore' => true,
- 'label' => 'Save',
- 'order' => '-1'
- ));
- $this->getElement('search_submit')->removeDecorator('DtDdWrapper');
- }
-
- public function addGroup($group_id, $row_id=null) {
-
- $this->addSubForm(new Application_Form_AdvancedSearchGroup(), 'group_'.$group_id, $group_id);
- $this->getSubForm('group_'.$group_id)->removeDecorator('DtDdWrapper');
-
- if(!is_null($row_id)) {
- $subGroup = $this->getSubForm('group_'.$group_id);
- $subGroup->addRow($row_id);
- }
- }
-
- public function preValidation(array $data) {
-
- function findId($name) {
- $t = explode("_", $name);
- return $t[1];
- }
-
- function findFields($field) {
- return strpos($field, 'group') !== false;
- }
-
- $groups = array_filter(array_keys($data), 'findFields');
-
- foreach ($groups as $group) {
-
- $group_id = findId($group);
- $this->addGroup($group_id);
-
- $subGroup = $this->getSubForm($group);
-
- foreach (array_keys($data[$group]) as $row) {
-
- $row_id = findId($row);
- $subGroup->addRow($row_id, $data[$group][$row]);
- }
- }
-
- }
-}
-
diff --git a/airtime_mvc/application/forms/AdvancedSearchGroup.php b/airtime_mvc/application/forms/AdvancedSearchGroup.php
deleted file mode 100644
index e2571885f..000000000
--- a/airtime_mvc/application/forms/AdvancedSearchGroup.php
+++ /dev/null
@@ -1,37 +0,0 @@
-addElement('button', 'search_add_row', array(
- 'ignore' => true,
- 'label' => 'Add',
- 'order' => '-2'
- ));
- $this->getElement('search_add_row')->removeDecorator('DtDdWrapper');
-
- // Add the add button
- $this->addElement('button', 'search_remove_group', array(
- 'ignore' => true,
- 'label' => 'Remove',
- 'order' => '-1'
- ));
- $this->getElement('search_remove_group')->removeDecorator('DtDdWrapper');
- }
-
- public function addRow($row_id, $data=null) {
-
- $this->addSubForm(new Application_Form_AdvancedSearchRow(), 'row_'.$row_id, $row_id);
- $row = $this->getSubForm('row_'.$row_id);
- $row->removeDecorator('DtDdWrapper');
-
- if(!is_null($data)) {
- $row->setDefaults($data);
- }
- }
-
-
-}
-
diff --git a/airtime_mvc/application/forms/AdvancedSearchRow.php b/airtime_mvc/application/forms/AdvancedSearchRow.php
deleted file mode 100644
index b50cfb176..000000000
--- a/airtime_mvc/application/forms/AdvancedSearchRow.php
+++ /dev/null
@@ -1,70 +0,0 @@
-addElement(
- 'select',
- 'metadata',
- array(
- 'required' => true,
- 'multiOptions' => array(
- "dc:title" => "Title",
- "dc:format" => "Format",
- "dc:creator" => "Artist/Creator",
- "dc:source" => "Album",
- "ls:bitrate" => "Bitrate",
- "ls:samplerate" => "Samplerate",
- "dcterms:extent" => "Length",
- "dc:description" => "Comments",
- "dc:type" => "Genre",
- "ls:channels" => "channels",
- "ls:year" => "Year",
- "ls:track_num" => "track_number",
- "ls:mood" => "mood",
- "ls:bpm" => "BPM",
- "ls:rating" => "rating",
- "ls:encoded_by" => "encoded_by",
- "dc:publisher" => "label",
- "ls:composer" => "Composer",
- "ls:encoder" => "Encoder",
- "ls:lyrics" => "lyrics",
- "ls:orchestra" => "orchestra",
- "ls:conductor" => "conductor",
- "ls:lyricist" => "lyricist",
- "ls:originallyricist" => "original_lyricist",
- "ls:isrcnumber" => "isrc_number",
- "dc:language" => "Language",
- ),
- )
- );
- $this->getElement('metadata')->removeDecorator('Label')->removeDecorator('HtmlTag');
-
- $this->addElement(
- 'select',
- 'match',
- array(
- 'required' => true,
- 'multiOptions' => array(
- "0" => "partial",
- "1" => "=",
- "2" => "<",
- "3" => "<=",
- "4" => ">",
- "5" => ">=",
- "6" => "!=",
- ),
- )
- );
- $this->getElement('match')->removeDecorator('Label')->removeDecorator('HtmlTag');
-
- $this->addElement('text', 'search', array(
- 'required' => true,
- ));
- $this->getElement('search')->removeDecorator('Label')->removeDecorator('HtmlTag');
- }
-
-
-}
-
diff --git a/airtime_mvc/application/forms/EditAudioMD.php b/airtime_mvc/application/forms/EditAudioMD.php
index a4968644f..6a9a8e2e0 100644
--- a/airtime_mvc/application/forms/EditAudioMD.php
+++ b/airtime_mvc/application/forms/EditAudioMD.php
@@ -35,7 +35,7 @@ class Application_Form_EditAudioMD extends Zend_Form
// Add artist field
$this->addElement('text', 'artist_name', array(
- 'label' => 'Artist:',
+ 'label' => 'Creator:',
'class' => 'input_text',
'filters' => array('StringTrim'),
));
diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php
index ace81ab44..66be09ce1 100644
--- a/airtime_mvc/application/forms/GeneralPreferences.php
+++ b/airtime_mvc/application/forms/GeneralPreferences.php
@@ -71,8 +71,10 @@ class Application_Form_GeneralPreferences extends Zend_Form_SubForm
'Africa' => DateTimeZone::AFRICA,
'America' => DateTimeZone::AMERICA,
'Antarctica' => DateTimeZone::ANTARCTICA,
+ 'Arctic' => DateTimeZone::ARCTIC,
'Asia' => DateTimeZone::ASIA,
'Atlantic' => DateTimeZone::ATLANTIC,
+ 'Australia' => DateTimeZone::AUSTRALIA,
'Europe' => DateTimeZone::EUROPE,
'Indian' => DateTimeZone::INDIAN,
'Pacific' => DateTimeZone::PACIFIC
diff --git a/airtime_mvc/application/forms/ShowBuilder.php b/airtime_mvc/application/forms/ShowBuilder.php
new file mode 100644
index 000000000..dddc91ffa
--- /dev/null
+++ b/airtime_mvc/application/forms/ShowBuilder.php
@@ -0,0 +1,104 @@
+setDecorators(array(
+ array('ViewScript', array('viewScript' => 'form/showbuilder.phtml'))
+ ));
+
+ // Add start date element
+ $startDate = new Zend_Form_Element_Text('sb_date_start');
+ $startDate->class = 'input_text';
+ $startDate->setRequired(true)
+ ->setLabel('Date Start:')
+ ->setValue(date("Y-m-d"))
+ ->setFilters(array('StringTrim'))
+ ->setValidators(array(
+ 'NotEmpty',
+ array('date', false, array('YYYY-MM-DD'))))
+ ->setDecorators(array('ViewHelper'));
+ $startDate->setAttrib('alt', 'date');
+ $this->addElement($startDate);
+
+ // Add start time element
+ $startTime = new Zend_Form_Element_Text('sb_time_start');
+ $startTime->class = 'input_text';
+ $startTime->setRequired(true)
+ ->setValue('00:00')
+ ->setFilters(array('StringTrim'))
+ ->setValidators(array(
+ 'NotEmpty',
+ array('date', false, array('HH:mm')),
+ array('regex', false, array('/^[0-9:]+$/', 'messages' => 'Invalid character entered'))))
+ ->setDecorators(array('ViewHelper'));
+ $startTime->setAttrib('alt', 'time');
+ $this->addElement($startTime);
+
+ // Add end date element
+ $endDate = new Zend_Form_Element_Text('sb_date_end');
+ $endDate->class = 'input_text';
+ $endDate->setRequired(true)
+ ->setLabel('Date End:')
+ ->setValue(date("Y-m-d"))
+ ->setFilters(array('StringTrim'))
+ ->setValidators(array(
+ 'NotEmpty',
+ array('date', false, array('YYYY-MM-DD'))))
+ ->setDecorators(array('ViewHelper'));
+ $endDate->setAttrib('alt', 'date');
+ $this->addElement($endDate);
+
+ // Add end time element
+ $endTime = new Zend_Form_Element_Text('sb_time_end');
+ $endTime->class = 'input_text';
+ $endTime->setRequired(true)
+ ->setValue('01:00')
+ ->setFilters(array('StringTrim'))
+ ->setValidators(array(
+ 'NotEmpty',
+ array('date', false, array('HH:mm')),
+ array('regex', false, array('/^[0-9:]+$/', 'messages' => 'Invalid character entered'))))
+ ->setDecorators(array('ViewHelper'));
+ $endTime->setAttrib('alt', 'time');
+ $this->addElement($endTime);
+
+
+ // add a select to choose a show.
+ $showSelect = new Zend_Form_Element_Select("sb_show_filter");
+ $showSelect->setLabel("Filter By Show:");
+ $showSelect->setMultiOptions($this->getShowNames());
+ $showSelect->setValue(null);
+ $showSelect->setDecorators(array('ViewHelper'));
+ $this->addElement($showSelect);
+
+ if ($user->getType() === 'H') {
+ $myShows = new Zend_Form_Element_Checkbox('sb_my_shows');
+ $myShows->setLabel('All My Shows')
+ ->setDecorators(array('ViewHelper'));
+ $this->addElement($myShows);
+ }
+ }
+
+ private function getShowNames() {
+
+ $showNames = array("0" => "-------------------------");
+
+ $shows = CcShowQuery::create()
+ ->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)
+ ->orderByDbName()
+ ->find();
+
+ foreach ($shows as $show) {
+
+ $showNames[$show->getDbId()] = $show->getDbName();
+ }
+
+ return $showNames;
+ }
+
+}
\ No newline at end of file
diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php
index eda28845b..127706d48 100644
--- a/airtime_mvc/application/forms/StreamSetting.php
+++ b/airtime_mvc/application/forms/StreamSetting.php
@@ -39,12 +39,14 @@ class Application_Form_StreamSetting extends Zend_Form
}
# tooltip
- $description = 'VLC and mplayer have a serious bug when playing an OGG/VORBIS
- stream that has metadata information enabled (stream metadata is the
- track title, show name, etc displayed in the audio player): they will
- disconnect from the stream after every song if this option is enabled.
- If your listeners do not require support for these audio players,
- then you should enable this option.';
+ $description = 'This option enables metadata for OGG streams (stream
+ metadata is the track title, artist, and show name that is
+ displayed in an audio player). VLC and mplayer have a
+ serious bug when playing an OGG/VORBIS stream that has
+ metadata information enabled: they will disconnect from the
+ stream after every song. If you are using an OGG stream and
+ your listeners do not require support for these audio
+ players, then feel free to enable this option.';
$icecast_vorbis_metadata = new Zend_Form_Element_Checkbox('icecast_vorbis_metadata');
$icecast_vorbis_metadata->setLabel('Icecast Vorbis Metadata')
diff --git a/airtime_mvc/application/models/Nowplaying.php b/airtime_mvc/application/models/Nowplaying.php
index 223d48578..b834dd765 100644
--- a/airtime_mvc/application/models/Nowplaying.php
+++ b/airtime_mvc/application/models/Nowplaying.php
@@ -9,16 +9,16 @@ class Application_Model_Nowplaying
private static function CreateDatatableRows($p_dbRows){
$dataTablesRows = array();
-
+
$epochNow = time();
-
+
foreach ($p_dbRows as $dbRow){
-
+
$showStartDateTime = Application_Model_DateHelper::ConvertToLocalDateTime($dbRow['show_starts']);
$showEndDateTime = Application_Model_DateHelper::ConvertToLocalDateTime($dbRow['show_ends']);
$itemStartDateTime = Application_Model_DateHelper::ConvertToLocalDateTime($dbRow['item_starts']);
$itemEndDateTime = Application_Model_DateHelper::ConvertToLocalDateTime($dbRow['item_ends']);
-
+
$showStarts = $showStartDateTime->format("Y-m-d H:i:s");
$showEnds = $showEndDateTime->format("Y-m-d H:i:s");
$itemStarts = $itemStartDateTime->format("Y-m-d H:i:s");
@@ -28,29 +28,29 @@ class Application_Model_Nowplaying
$status = ($showEnds < $itemEnds) ? "x" : "";
$type = "a";
- $type .= ($itemStartDateTime->getTimestamp() <= $epochNow
+ $type .= ($itemStartDateTime->getTimestamp() <= $epochNow
&& $epochNow < $itemEndDateTime->getTimestamp()
&& $epochNow < $showEndDateTime->getTimestamp()) ? "c" : "";
-
+
// remove millisecond from the time format
$itemStart = explode('.', $dbRow['item_starts']);
$itemEnd = explode('.', $dbRow['item_ends']);
-
+
//format duration
$duration = explode('.', $dbRow['clip_length']);
$formatted = self::FormatDuration($duration[0]);
- $dataTablesRows[] = array($type, $showStarts, $itemStarts, $itemEnds,
+ $dataTablesRows[] = array($type, $itemStarts, $itemStarts, $itemEnds,
$formatted, $dbRow['track_title'], $dbRow['artist_name'], $dbRow['album_title'],
$dbRow['playlist_name'], $dbRow['show_name'], $status);
}
return $dataTablesRows;
}
-
+
private static function CreateGapRow($p_gapTime){
return array("g", "", "", "", $p_gapTime, "", "", "", "", "", "");
}
-
+
private static function CreateRecordingRow($p_showInstance){
return array("r", "", "", "", $p_showInstance->getName(), "", "", "", "", "", "");
}
@@ -60,7 +60,7 @@ class Application_Model_Nowplaying
if ($viewType == "now"){
$dateTime = new DateTime("now", new DateTimeZone("UTC"));
$timeNow = $dateTime->format("Y-m-d H:i:s");
-
+
$startCutoff = 60;
$endCutoff = 86400; //60*60*24 - seconds in a day
} else {
@@ -72,30 +72,30 @@ class Application_Model_Nowplaying
$startCutoff = $date->getNowDayStartDiff();
$endCutoff = $date->getNowDayEndDiff();
}
-
+
$data = array();
$showIds = Application_Model_ShowInstance::GetShowsInstancesIdsInRange($timeNow, $startCutoff, $endCutoff);
foreach ($showIds as $showId){
$instanceId = $showId['id'];
-
+
$si = new Application_Model_ShowInstance($instanceId);
-
+
$showId = $si->getShowId();
$show = new Application_Model_Show($showId);
-
+
$showStartDateTime = Application_Model_DateHelper::ConvertToLocalDateTime($si->getShowInstanceStart());
$showEndDateTime = Application_Model_DateHelper::ConvertToLocalDateTime($si->getShowInstanceEnd());
-
+
//append show header row
$data[] = self::CreateHeaderRow($show->getName(), $showStartDateTime->format("Y-m-d H:i:s"), $showEndDateTime->format("Y-m-d H:i:s"));
-
+
$scheduledItems = $si->getScheduleItemsInRange($timeNow, $startCutoff, $endCutoff);
$dataTablesRows = self::CreateDatatableRows($scheduledItems);
-
+
//append show audio item rows
$data = array_merge($data, $dataTablesRows);
-
+
//append show gap time row
$gapTime = self::FormatDuration($si->getShowEndGapTime(), true);
if ($si->isRecorded())
@@ -118,7 +118,7 @@ class Application_Model_Nowplaying
}
/*
* default $time format should be in format of 00:00:00
- * if $inSecond = true, then $time should be in seconds
+ * if $inSecond = true, then $time should be in seconds
*/
private static function FormatDuration($time, $inSecond=false){
if($inSecond == false){
@@ -129,13 +129,13 @@ class Application_Model_Nowplaying
$duration[1] = intval(($time/60)%60);
$duration[2] = $time%60;
}
-
+
if($duration[2] == 0){
$duration[2] = '';
}else{
$duration[2] = intval($duration[2],10).'s';
}
-
+
if($duration[1] == 0){
if($duration[2] == ''){
$duration[1] = '';
@@ -145,13 +145,13 @@ class Application_Model_Nowplaying
}else{
$duration[1] = intval($duration[1],10).'m ';
}
-
+
if($duration[0] == 0){
$duration[0] = '';
}else{
$duration[0] = intval($duration[0],10).'h ';
}
-
+
$out = $duration[0].$duration[1].$duration[2];
return $out;
}
diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php
index 9feca24ab..441ed9a43 100644
--- a/airtime_mvc/application/models/Playlist.php
+++ b/airtime_mvc/application/models/Playlist.php
@@ -768,4 +768,4 @@ class Application_Model_Playlist {
} // class Playlist
class PlaylistNotFoundException extends Exception {}
-class OutDatedException extends Exception {}
+class PlaylistOutDatedException extends Exception {}
diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php
index 287d776b3..061c694c8 100644
--- a/airtime_mvc/application/models/Preference.php
+++ b/airtime_mvc/application/models/Preference.php
@@ -102,7 +102,6 @@ class Application_Model_Preference
public static function SetHeadTitle($title, $view=null){
self::SetValue("station_name", $title);
- Application_Model_RabbitMq::PushSchedule();
// in case this is called from airtime-saas script
if($view !== null){
@@ -111,6 +110,11 @@ class Application_Model_Preference
$view->headTitle()->exchangeArray(array()); //clear headTitle ArrayObject
$view->headTitle(self::GetHeadTitle());
}
+
+ $eventType = "update_station_name";
+ $md = array("station_name"=>$title);
+
+ Application_Model_RabbitMq::SendMessageToPypo($eventType, $md);
}
/**
@@ -153,7 +157,11 @@ class Application_Model_Preference
public static function SetStreamLabelFormat($type){
self::SetValue("stream_label_format", $type);
- Application_Model_RabbitMq::PushSchedule();
+
+ $eventType = "update_stream_format";
+ $md = array("stream_format"=>$type);
+
+ Application_Model_RabbitMq::SendMessageToPypo($eventType, $md);
}
public static function GetStreamLabelFormat(){
diff --git a/airtime_mvc/application/models/RabbitMq.php b/airtime_mvc/application/models/RabbitMq.php
index b0b2d7426..f3b823eb5 100644
--- a/airtime_mvc/application/models/RabbitMq.php
+++ b/airtime_mvc/application/models/RabbitMq.php
@@ -46,7 +46,8 @@ class Application_Model_RabbitMq
$conn = new AMQPConnection($CC_CONFIG["rabbitmq"]["host"],
$CC_CONFIG["rabbitmq"]["port"],
$CC_CONFIG["rabbitmq"]["user"],
- $CC_CONFIG["rabbitmq"]["password"]);
+ $CC_CONFIG["rabbitmq"]["password"],
+ $CC_CONFIG["rabbitmq"]["vhost"]);
$channel = $conn->channel();
$channel->access_request($CC_CONFIG["rabbitmq"]["vhost"], false, false, true, true);
@@ -68,7 +69,8 @@ class Application_Model_RabbitMq
$conn = new AMQPConnection($CC_CONFIG["rabbitmq"]["host"],
$CC_CONFIG["rabbitmq"]["port"],
$CC_CONFIG["rabbitmq"]["user"],
- $CC_CONFIG["rabbitmq"]["password"]);
+ $CC_CONFIG["rabbitmq"]["password"],
+ $CC_CONFIG["rabbitmq"]["vhost"]);
$channel = $conn->channel();
$channel->access_request($CC_CONFIG["rabbitmq"]["vhost"], false, false, true, true);
diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php
index 499cf68b1..1c2100d35 100644
--- a/airtime_mvc/application/models/Schedule.php
+++ b/airtime_mvc/application/models/Schedule.php
@@ -303,7 +303,7 @@ class Application_Model_Schedule {
* @return array $scheduledItems
*
*/
- public static function GetScheduleDetailItems($p_startDateTime, $p_endDateTime)
+ public static function GetScheduleDetailItems($p_startDateTime, $p_endDateTime, $p_shows)
{
global $CC_CONFIG, $CC_DBC;
@@ -313,7 +313,7 @@ class Application_Model_Schedule {
showt.background_color AS show_background_colour, showt.id AS show_id,
si.starts AS si_starts, si.ends AS si_ends, si.time_filled AS si_time_filled,
- si.record AS si_record, si.rebroadcast AS si_rebroadcast, si.id AS si_id,
+ si.record AS si_record, si.rebroadcast AS si_rebroadcast, si.id AS si_id, si.last_scheduled AS si_last_scheduled,
sched.starts AS sched_starts, sched.ends AS sched_ends, sched.id AS sched_id,
@@ -328,11 +328,15 @@ class Application_Model_Schedule {
WHERE si.modified_instance = false AND
- si.starts >= '{$p_startDateTime}' AND si.starts <= '{$p_endDateTime}'
+ si.starts >= '{$p_startDateTime}' AND si.starts < '{$p_endDateTime}'";
- ORDER BY si.starts, sched.starts;";
+ if (count($p_shows) > 0) {
+ $sql .= " AND show_id IN (".implode(",", $p_shows).")";
+ }
- //Logging::log($sql);
+ $sql .= " ORDER BY si.starts, sched.starts;";
+
+ Logging::log($sql);
$rows = $CC_DBC->GetAll($sql);
return $rows;
diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php
index b34897ae9..9f0dc8e19 100644
--- a/airtime_mvc/application/models/Scheduler.php
+++ b/airtime_mvc/application/models/Scheduler.php
@@ -31,11 +31,16 @@ class Application_Model_Scheduler {
if ($type === "audioclip") {
$file = CcFilesQuery::create()->findPK($id, $this->con);
- $data = $this->fileInfo;
- $data["id"] = $id;
- $data["cliplength"] = $file->getDbLength();
+ if (is_null($file) || !$file->getDbFileExists()) {
+ throw new Exception("A selected File does not exist!");
+ }
+ else {
+ $data = $this->fileInfo;
+ $data["id"] = $id;
+ $data["cliplength"] = $file->getDbLength();
- $files[] = $data;
+ $files[] = $data;
+ }
}
else if ($type === "playlist") {
@@ -44,17 +49,25 @@ class Application_Model_Scheduler {
->filterByDbPlaylistId($id)
->find($this->con);
+ if (is_null($contents)) {
+ throw new Exception("A selected Playlist does not exist!");
+ }
+
foreach ($contents as $plItem) {
- $data = $this->fileInfo;
- $data["id"] = $plItem->getDbFileId();
- $data["cliplength"] = $plItem->getDbCliplength();
- $data["cuein"] = $plItem->getDbCuein();
- $data["cueout"] = $plItem->getDbCueout();
- $data["fadein"] = $plItem->getDbFadein();
- $data["fadeout"] = $plItem->getDbFadeout();
+ $file = $plItem->getCcFiles($this->con);
+ if (isset($file) && $file->getDbFileExists()) {
- $files[] = $data;
+ $data = $this->fileInfo;
+ $data["id"] = $plItem->getDbFileId();
+ $data["cliplength"] = $plItem->getDbCliplength();
+ $data["cuein"] = $plItem->getDbCuein();
+ $data["cueout"] = $plItem->getDbCueout();
+ $data["fadein"] = $plItem->getDbFadein();
+ $data["fadeout"] = $plItem->getDbFadeout();
+
+ $files[] = $data;
+ }
}
}
@@ -68,7 +81,7 @@ class Application_Model_Scheduler {
*
* @return DateTime endDT in UTC
*/
- private function findEndTime($p_startDT, $p_duration) {
+ public static function findEndTime($p_startDT, $p_duration) {
$startEpoch = $p_startDT->format("U.u");
$durationSeconds = Application_Model_Playlist::playlistTimeToSeconds($p_duration);
@@ -98,6 +111,8 @@ class Application_Model_Scheduler {
try {
+ $affectedShowInstances = array();
+
//dont want to recalculate times for moved items.
$excludeIds = array();
foreach ($schedFiles as $file) {
@@ -108,34 +123,42 @@ class Application_Model_Scheduler {
foreach ($scheduleItems as $schedule) {
$id = intval($schedule["id"]);
+ $ts = intval($schedule["timestamp"]);
Logging::log("scheduling after scheduled item: ".$id);
Logging::log("in show: ".intval($schedule["instance"]));
if ($id !== 0) {
$schedItem = CcScheduleQuery::create()->findPK($id, $this->con);
- $instance = $schedItem->getDbInstanceId();
-
- //user has an old copy of the time line opened.
- if ($instance !== intval($schedule["instance"])) {
- Logging::log("items have been since updated");
- return;
+ $instance = $schedItem->getCcShowInstances($this->con);
+ if (intval($schedule["instance"]) !== $instance->getDbId()) {
+ throw new OutDatedScheduleException("The schedule you're viewing is out of date!");
}
-
$nextStartDT = $schedItem->getDbEnds(null);
}
//selected empty row to add after
else {
- $showInstance = CcShowInstancesQuery::create()->findPK($schedule["instance"], $this->con);
- $nextStartDT = $showInstance->getDbStarts(null);
- $instance = intval($schedule["instance"]);
+ $instance = CcShowInstancesQuery::create()->findPK($schedule["instance"], $this->con);
+ $nextStartDT = $instance->getDbStarts(null);
+ }
+
+ $currTs = intval($instance->getDbLastScheduled("U")) ? : 0;
+ //user has an old copy of the time line opened.
+ if ($ts !== $currTs) {
+ Logging::log("currTs {$currTs}, ts {$ts}");
+ $show = $instance->getCcShow($this->con);
+ throw new OutDatedScheduleException("The show {$show->getDbName()} has been previously updated!");
+ }
+
+ if (!in_array($instance->getDbId(), $affectedShowInstances)) {
+ $affectedShowInstances[] = $instance->getDbId();
}
Logging::log("finding items >= {$nextStartDT->format("Y-m-d H:i:s.u")}");
if ($adjustSched === true) {
$followingSchedItems = CcScheduleQuery::create()
->filterByDBStarts($nextStartDT->format("Y-m-d H:i:s.u"), Criteria::GREATER_EQUAL)
- ->filterByDbInstanceId($instance)
+ ->filterByDbInstanceId($instance->getDbId())
->filterByDbId($excludeIds, Criteria::NOT_IN)
->orderByDbStarts()
->find($this->con);
@@ -149,7 +172,7 @@ class Application_Model_Scheduler {
Logging::log("adding file with id: ".$file["id"]);
- $endTimeDT = $this->findEndTime($nextStartDT, $file['cliplength']);
+ $endTimeDT = self::findEndTime($nextStartDT, $file['cliplength']);
//item existed previously and is being moved.
//need to keep same id for resources if we want REST.
@@ -171,7 +194,7 @@ class Application_Model_Scheduler {
$sched->setDbFadeIn($file['fadein']);
$sched->setDbFadeOut($file['fadeout']);
$sched->setDbClipLength($file['cliplength']);
- $sched->setDbInstanceId($instance);
+ $sched->setDbInstanceId($instance->getDbId());
$sched->save($this->con);
$nextStartDT = $endTimeDT;
@@ -184,7 +207,7 @@ class Application_Model_Scheduler {
Logging::log("adjusting iterm {$item->getDbId()}");
- $endTimeDT = $this->findEndTime($nextStartDT, $item->getDbClipLength());
+ $endTimeDT = self::findEndTime($nextStartDT, $item->getDbClipLength());
$item->setDbStarts($nextStartDT);
$item->setDbEnds($endTimeDT);
@@ -195,6 +218,10 @@ class Application_Model_Scheduler {
}
}
+ //update the last scheduled timestamp.
+ CcShowInstancesQuery::create()
+ ->filterByPrimaryKeys($affectedShowInstances)
+ ->update(array('DbLastScheduled' => new DateTime("now", new DateTimeZone("UTC"))), $this->con);
}
catch (Exception $e) {
throw $e;
@@ -236,36 +263,53 @@ class Application_Model_Scheduler {
* @param array $selectedItem
* @param array $afterItem
*/
- public function moveItem($selectedItem, $afterItem, $adjustSched = true) {
+ public function moveItem($selectedItems, $afterItems, $adjustSched = true) {
$this->con->beginTransaction();
try {
- $origSelIns = intval($selectedItem[0]["instance"]);
- $origAfterIns = intval($afterItem[0]["instance"]);
+ $origSelTs = intval($selectedItems[0]["timestamp"]);
+ $origAfterTs = intval($afterItems[0]["timestamp"]);
- Logging::log("Moving item {$selectedItem[0]["id"]}");
- Logging::log("After {$afterItem[0]["id"]}");
+ Logging::log("Moving item {$selectedItems[0]["id"]}");
+ Logging::log("After {$afterItems[0]["id"]}");
- $selected = CcScheduleQuery::create()->findPk($selectedItem[0]["id"]);
- $after = CcScheduleQuery::create()->findPk($afterItem[0]["id"]);
-
- /*
- if (isset($after) && $origSelIns !== $selected->getDBInstanceId()
- || $origAfterIns !== $after->getDBInstanceId()) {
-
- Logging::log("items have been since updated");
- return;
+ $selected = CcScheduleQuery::create()->findPk($selectedItems[0]["id"], $this->con);
+ if (is_null($selected)) {
+ throw new OutDatedScheduleException("The schedule you're viewing is out of date!");
}
- */
+ $selectedInstance = $selected->getCcShowInstances($this->con);
- $this->removeGaps($origSelIns, $selected->getDbId());
-
- //moved to another show, remove gaps from original show.
- if ($adjustSched === true && $origSelIns !== $origAfterIns) {
+ if (intval($afterItems[0]["id"]) === 0) {
+ $afterInstance = CcShowInstancesQuery::create()->findPK($afterItems[0]["instance"], $this->con);
}
+ else {
+ $after = CcScheduleQuery::create()->findPk($afterItems[0]["id"], $this->con);
+ if (is_null($after)) {
+ throw new OutDatedScheduleException("The schedule you're viewing is out of date!");
+ }
+ $afterInstance = $after->getCcShowInstances($this->con);
+ }
+
+ if (is_null($selectedInstance) || is_null($afterInstance)) {
+ throw new OutDatedScheduleException("The schedule you're viewing is out of date!");
+ }
+
+ $currTs = intval($selectedInstance->getDbLastScheduled("U")) ? : 0;
+ if ($origSelTs !== $currTs) {
+ $show = $selectedInstance->getCcShow($this->con);
+ throw new OutDatedScheduleException("The show {$show->getDbName()} has been previously updated!");
+ }
+
+ $currTs = intval($afterInstance->getDbLastScheduled("U")) ? : 0;
+ if ($origAfterTs !== $currTs) {
+ $show = $afterInstance->getCcShow($this->con);
+ throw new OutDatedScheduleException("The show {$show->getDbName()} has been previously updated!");
+ }
+
+ $this->removeGaps($selectedInstance->getDbId(), $selected->getDbId());
$data = $this->fileInfo;
$data["id"] = $selected->getDbFileId();
@@ -276,7 +320,7 @@ class Application_Model_Scheduler {
$data["fadeout"] = $selected->getDbFadeOut();
$data["sched_id"] = $selected->getDbId();
- $this->insertAfter($afterItem, array($data), $adjustSched);
+ $this->insertAfter($afterItems, array($data), $adjustSched);
$this->con->commit();
@@ -288,14 +332,35 @@ class Application_Model_Scheduler {
}
}
- public function removeItems($scheduledIds, $adjustSched = true) {
+ public function removeItems($scheduledItems, $adjustSched = true) {
$showInstances = array();
$this->con->beginTransaction();
try {
- $removedItems = CcScheduleQuery::create()->findPks($scheduledIds);
+ $scheduledIds = array();
+ foreach ($scheduledItems as $item) {
+ $scheduledIds[$item["id"]] = intval($item["timestamp"]);
+ }
+
+ $removedItems = CcScheduleQuery::create()->findPks(array_keys($scheduledIds));
+
+ //check to make sure all items selected are up to date
+ foreach ($removedItems as $removedItem) {
+ $ts = $scheduledIds[$removedItem->getDbId()];
+ $instance = $removedItem->getCcShowInstances($this->con);
+ if (is_null($instance)) {
+ throw new OutDatedScheduleException("The schedule you're viewing is out of date!");
+ }
+ $currTs = intval($instance->getDbLastScheduled("U")) ? : 0;
+
+ if ($ts !== $currTs) {
+ $show = $instance->getCcShow($this->con);
+ throw new OutDatedScheduleException("The show {$show->getDbName()} has been previously updated!");
+ }
+ }
+
$removedItems->delete($this->con);
if ($adjustSched === true) {
@@ -313,6 +378,11 @@ class Application_Model_Scheduler {
}
}
+ //update the last scheduled timestamp.
+ CcShowInstancesQuery::create()
+ ->filterByPrimaryKeys($showInstances)
+ ->update(array('DbLastScheduled' => new DateTime("now", new DateTimeZone("UTC"))), $this->con);
+
$this->con->commit();
Application_Model_RabbitMq::PushSchedule();
@@ -328,11 +398,15 @@ class Application_Model_Scheduler {
* @param array $exclude
* ids of sched items to remove from the calulation.
*/
- public function removeGaps($showInstance, $exclude=null) {
+ private function removeGaps($showInstance, $exclude=null) {
Logging::log("removing gaps from show instance #".$showInstance);
$instance = CcShowInstancesQuery::create()->findPK($showInstance, $this->con);
+ if (is_null($instance)) {
+ throw new OutDatedScheduleException("The schedule you're viewing is out of date!");
+ }
+
$itemStartDT = $instance->getDbStarts(null);
$schedule = CcScheduleQuery::create()
@@ -346,7 +420,7 @@ class Application_Model_Scheduler {
Logging::log("adjusting item #".$item->getDbId());
- $itemEndDT = $this->findEndTime($itemStartDT, $item->getDbClipLength());
+ $itemEndDT = self::findEndTime($itemStartDT, $item->getDbClipLength());
$item->setDbStarts($itemStartDT);
$item->setDbEnds($itemEndDT);
@@ -355,4 +429,6 @@ class Application_Model_Scheduler {
$itemStartDT = $itemEndDT;
}
}
-}
\ No newline at end of file
+}
+
+class OutDatedScheduleException extends Exception {}
\ No newline at end of file
diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php
index 31bd75d44..c46729e3e 100644
--- a/airtime_mvc/application/models/Show.php
+++ b/airtime_mvc/application/models/Show.php
@@ -351,13 +351,15 @@ class Application_Model_Show {
public function isRepeating()
{
$showDaysRow = CcShowDaysQuery::create()
- ->filterByDbShowId($this->_showId)
- ->findOne();
+ ->filterByDbShowId($this->_showId)
+ ->findOne();
if (!is_null($showDaysRow)){
return ($showDaysRow->getDbRepeatType() != -1);
- } else
+ }
+ else {
return false;
+ }
}
/**
@@ -1164,7 +1166,9 @@ class Application_Model_Show {
Logging::log('$start time of non repeating record '.$start);
- self::createRebroadcastInstances($rebroadcasts, $currentUtcTimestamp, $show_id, $show_instance_id, $start, $duration, $timezone);
+ if ($newInstance){
+ self::createRebroadcastInstances($rebroadcasts, $currentUtcTimestamp, $show_id, $show_instance_id, $start, $duration, $timezone);
+ }
}
}
@@ -1392,7 +1396,7 @@ class Application_Model_Show {
Application_Model_Preference::SetShowsPopulatedUntil($end_timestamp);
}
- $sql = "SELECT starts, ends, record, rebroadcast, instance_id, show_id, name, description,
+ $sql = "SELECT starts, ends, record, rebroadcast, instance_id, show_id, name,
color, background_color, file_id, cc_show_instances.id AS instance_id
FROM cc_show_instances
LEFT JOIN cc_show ON cc_show.id = cc_show_instances.show_id
@@ -1455,18 +1459,18 @@ class Application_Model_Show {
$endTimeString = $p_endTimestamp->format("Y-m-d H:i:s");
if (!is_null($p_startTimestamp)) {
$startTimeString = $p_startTimestamp->format("Y-m-d H:i:s");
- $sql = "SELECT * FROM cc_show_days
- WHERE last_show IS NULL
- OR first_show < '{$endTimeString}' AND last_show > '{$startTimeString}'";
}
else {
$today_timestamp = new DateTime("now", new DateTimeZone("UTC"));
- $today_timestamp_string = $today_timestamp->format("Y-m-d H:i:s");
- $sql = "SELECT * FROM cc_show_days
- WHERE last_show IS NULL
- OR first_show < '{$endTimeString}' AND last_show > '{$today_timestamp_string}'";
+ $startTimeString = $today_timestamp->format("Y-m-d H:i:s");
}
+ $sql = "SELECT * FROM cc_show_days
+ WHERE last_show IS NULL
+ OR first_show < '{$endTimeString}' AND last_show > '{$startTimeString}'";
+
+ Logging::log($sql);
+
$res = $CC_DBC->GetAll($sql);
foreach ($res as $row) {
@@ -1527,13 +1531,15 @@ class Application_Model_Show {
$endDateTime = new DateTime($show["ends"], new DateTimeZone("UTC"));
$endDateTime->setTimezone(new DateTimeZone(date_default_timezone_get()));
- $event["id"] = $show["instance_id"];
+ $event["id"] = intval($show["instance_id"]);
$event["title"] = $show["name"];
$event["start"] = $startDateTime->format("Y-m-d H:i:s");
+ $event["startUnix"] = $startDateTime->format("U");
$event["end"] = $endDateTime->format("Y-m-d H:i:s");
+ $event["endUnix"] = $endDateTime->format("U");
$event["allDay"] = false;
$event["description"] = $show["description"];
- $event["showId"] = $show["show_id"];
+ $event["showId"] = intval($show["show_id"]);
$event["record"] = intval($show["record"]);
$event["rebroadcast"] = intval($show["rebroadcast"]);
diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php
index 136ceea5c..01dc84636 100644
--- a/airtime_mvc/application/models/ShowBuilder.php
+++ b/airtime_mvc/application/models/ShowBuilder.php
@@ -6,6 +6,9 @@ class Application_Model_ShowBuilder {
private $startDT;
private $endDT;
private $user;
+ private $opts;
+
+ private $contentDT;
private $defaultRowArray = array(
"header" => false,
@@ -15,25 +18,25 @@ class Application_Model_ShowBuilder {
"id" => 0,
"instance" => "",
"starts" => "",
- "startsUnix" => null,
"ends" => "",
- "endsUnix" => null,
"runtime" => "",
"title" => "",
"creator" => "",
- "album" => ""
+ "album" => "",
+ "timestamp" => null
);
/*
* @param DateTime $p_startsDT
* @param DateTime $p_endsDT
*/
- public function __construct($p_startDT, $p_endDT) {
+ public function __construct($p_startDT, $p_endDT, $p_opts) {
$this->startDT = $p_startDT;
$this->endDT = $p_endDT;
$this->timezone = date_default_timezone_get();
$this->user = Application_Model_User::GetCurrentUser();
+ $this->opts = $p_opts;
}
/*
@@ -56,17 +59,64 @@ class Application_Model_ShowBuilder {
return $runtime;
}
- private function makeFooterRow() {
+ private function formatTimeFilled($p_sec) {
+
+ $formatted = "";
+ $sign = ($p_sec < 0) ? "-" : "+";
+
+ $time = Application_Model_Playlist::secondsToPlaylistTime(abs($p_sec));
+ Logging::log("time is: ".$time);
+ $info = explode(":", $time);
+
+ $formatted .= $sign;
+
+ if ($info[0] > 0) {
+ $formatted .= " {$info[0]}h";
+ }
+
+ if ($info[1] > 0) {
+ $formatted .= " {$info[1]}m";
+ }
+
+ if ($info[2] > 0) {
+ $sec = round($info[2], 0);
+ $formatted .= " {$sec}s";
+ }
+
+ return $formatted;
+ }
+
+ private function makeFooterRow($p_item) {
$row = $this->defaultRowArray;
$row["footer"] = true;
+ $showEndDT = new DateTime($p_item["si_ends"], new DateTimeZone("UTC"));
+ $contentDT = $this->contentDT;
+
+ $runtime = bcsub($contentDT->format("U.u"), $showEndDT->format("U.u"), 6);
+ $row["runtime"] = $runtime;
+ $row["fRuntime"] = $this->formatTimeFilled($runtime);
+
return $row;
}
+ private function getRowTimestamp($p_item, &$row) {
+
+ if (is_null($p_item["si_last_scheduled"])) {
+ $ts = 0;
+ }
+ else {
+ $dt = new DateTime($p_item["si_last_scheduled"], new DateTimeZone("UTC"));
+ $ts = intval($dt->format("U"));
+ }
+ $row["timestamp"] = $ts;
+ }
+
private function makeHeaderRow($p_item) {
$row = $this->defaultRowArray;
+ $this->getRowTimestamp($p_item, &$row);
$showStartDT = new DateTime($p_item["si_starts"], new DateTimeZone("UTC"));
$showStartDT->setTimezone(new DateTimeZone($this->timezone));
@@ -80,13 +130,20 @@ class Application_Model_ShowBuilder {
$row["title"] = $p_item["show_name"];
$row["instance"] = intval($p_item["si_id"]);
+ $this->contentDT = $showStartDT;
+
return $row;
}
private function makeScheduledItemRow($p_item) {
$row = $this->defaultRowArray;
+ $epoch_now = time();
- if ($this->user->canSchedule($item["show_id"]) == true) {
+ $showStartDT = new DateTime($p_item["si_starts"], new DateTimeZone("UTC"));
+ $this->getRowTimestamp($p_item, &$row);
+
+ //can only schedule the show if it hasn't started and you are allowed.
+ if ($epoch_now < $showStartDT->format('U') && $this->user->canSchedule($p_item["show_id"]) == true) {
$row["checkbox"] = true;
}
@@ -107,6 +164,8 @@ class Application_Model_ShowBuilder {
$row["title"] = $p_item["file_track_title"];
$row["creator"] = $p_item["file_artist_name"];
$row["album"] = $p_item["file_album_title"];
+
+ $this->contentDT = $schedEndDT;
}
//show is empty
else {
@@ -123,16 +182,35 @@ class Application_Model_ShowBuilder {
$current_id = -1;
$display_items = array();
- $scheduled_items = Application_Model_Schedule::GetScheduleDetailItems($this->startDT->format("Y-m-d H:i:s"), $this->endDT->format("Y-m-d H:i:s"));
+ $shows = array();
+ if ($this->opts["myShows"] === 1) {
- foreach ($scheduled_items as $item) {
+ $host_shows = CcShowHostsQuery::create()
+ ->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)
+ ->filterByDbHost($this->user->getId())
+ ->find();
+
+ foreach ($host_shows as $host_show) {
+ $shows[] = $host_show->getDbShow();
+ }
+ }
+ else if ($this->opts["showFilter"] !== 0) {
+ $shows[] = $this->opts["showFilter"];
+ }
+
+ $scheduled_items = Application_Model_Schedule::GetScheduleDetailItems($this->startDT->format("Y-m-d H:i:s"), $this->endDT->format("Y-m-d H:i:s"), $shows);
+
+ for ($i = 0, $rows = count($scheduled_items); $i < $rows; $i++) {
+
+ $item = $scheduled_items[$i];
//make a header row.
if ($current_id !== $item["si_id"]) {
//make a footer row.
if ($current_id !== -1) {
- $display_items[] = $this->makeFooterRow();
+ //pass in the previous row as it's the last row for the previous show.
+ $display_items[] = $this->makeFooterRow($scheduled_items[$i-1]);
}
$display_items[] = $this->makeHeaderRow($item);
@@ -146,7 +224,7 @@ class Application_Model_ShowBuilder {
//make the last footer if there were any scheduled items.
if (count($scheduled_items) > 0) {
- $display_items[] = $this->makeFooterRow();
+ $display_items[] = $this->makeFooterRow($scheduled_items[count($scheduled_items)-1]);
}
return $display_items;
diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php
index de62f7c83..984304c7b 100644
--- a/airtime_mvc/application/models/ShowInstance.php
+++ b/airtime_mvc/application/models/ShowInstance.php
@@ -58,21 +58,19 @@ class Application_Model_ShowInstance {
/**
* Return the start time of the Show (UTC time)
* @return string in format "Y-m-d H:i:s" (PHP time notation)
- * TODO: make this function return a DateTime object instead.
*/
- public function getShowInstanceStart()
+ public function getShowInstanceStart($format="Y-m-d H:i:s")
{
- return $this->_showInstance->getDbStarts();
+ return $this->_showInstance->getDbStarts($format);
}
/**
* Return the end time of the Show (UTC time)
* @return string in format "Y-m-d H:i:s" (PHP time notation)
- * TODO: make this function return a DateTime object instead.
*/
- public function getShowInstanceEnd()
+ public function getShowInstanceEnd($format="Y-m-d H:i:s")
{
- return $this->_showInstance->getDbEnds();
+ return $this->_showInstance->getDbEnds($format);
}
public function getStartDate()
@@ -444,6 +442,81 @@ class Application_Model_ShowInstance {
$this->updateScheduledTime();
}
+ private function checkToDeleteShow($showId)
+ {
+ //UTC DateTime object
+ $showsPopUntil = Application_Model_Preference::GetShowsPopulatedUntil();
+
+ $showDays = CcShowDaysQuery::create()
+ ->filterByDbShowId($showId)
+ ->findOne();
+
+ $showEnd = $showDays->getDbLastShow();
+
+ //there will always be more shows populated.
+ if (is_null($showEnd)) {
+ return false;
+ }
+
+ $lastShowStartDateTime = new DateTime("{$showEnd} {$showDays->getDbStartTime()}", new DateTimeZone($showDays->getDbTimezone()));
+ //end dates were non inclusive.
+ $lastShowStartDateTime = self::addDeltas($lastShowStartDateTime, -1, 0);
+
+ //there's still some shows left to be populated.
+ if ($lastShowStartDateTime->getTimestamp() > $showsPopUntil->getTimestamp()) {
+ return false;
+ }
+
+ // check if there are any non deleted show instances remaining.
+ $showInstances = CcShowInstancesQuery::create()
+ ->filterByDbShowId($showId)
+ ->filterByDbModifiedInstance(false)
+ ->filterByDbRebroadcast(0)
+ ->find();
+
+ if (is_null($showInstances)){
+ return true;
+ }
+ //only 1 show instance left of the show, make it non repeating.
+ else if (count($showInstances) === 1) {
+ $showInstance = $showInstances[0];
+
+ $showDaysOld = CcShowDaysQuery::create()
+ ->filterByDbShowId($showId)
+ ->find();
+
+ $tz = $showDaysOld[0]->getDbTimezone();
+
+ $startDate = new DateTime($showInstance->getDbStarts(), new DateTimeZone("UTC"));
+ $startDate->setTimeZone(new DateTimeZone($tz));
+ $endDate = self::addDeltas($startDate, 1, 0);
+
+ //make a new rule for a non repeating show.
+ $showDayNew = new CcShowDays();
+ $showDayNew->setDbFirstShow($startDate->format("Y-m-d"));
+ $showDayNew->setDbLastShow($endDate->format("Y-m-d"));
+ $showDayNew->setDbStartTime($startDate->format("H:i:s"));
+ $showDayNew->setDbTimezone($tz);
+ $showDayNew->setDbDay($startDate->format('w'));
+ $showDayNew->setDbDuration($showDaysOld[0]->getDbDuration());
+ $showDayNew->setDbRepeatType(-1);
+ $showDayNew->setDbShowId($showDaysOld[0]->getDbShowId());
+ $showDayNew->setDbRecord($showDaysOld[0]->getDbRecord());
+ $showDayNew->save();
+
+ //delete the old rules for repeating shows
+ $showDaysOld->delete();
+
+ //remove the old repeating deleted instances.
+ $showInstances = CcShowInstancesQuery::create()
+ ->filterByDbShowId($showId)
+ ->filterByDbModifiedInstance(true)
+ ->delete();
+ }
+
+ return false;
+ }
+
public function delete()
{
global $CC_DBC;
@@ -465,6 +538,10 @@ class Application_Model_ShowInstance {
->setDbModifiedInstance(true)
->save();
+ if ($this->isRebroadcast()) {
+ return;
+ }
+
//delete the rebroadcasts of the removed recorded show.
if ($recording) {
CcShowInstancesQuery::create()
@@ -477,17 +554,8 @@ class Application_Model_ShowInstance {
->filterByDbInstanceId($this->_instanceId)
->delete();
- // check if we can safely delete the show
- $showInstancesRow = CcShowInstancesQuery::create()
- ->filterByDbShowId($showId)
- ->filterByDbModifiedInstance(false)
- ->findOne();
- /* If we didn't find any instances of the show that haven't
- * been deleted, then just erase everything related to that show.
- * We can just delete, the show and the foreign key-constraint should
- * take care of deleting all of its instances. */
- if(is_null($showInstancesRow)){
+ if ($this->checkToDeleteShow($showId)){
CcShowQuery::create()
->filterByDbId($showId)
->delete();
@@ -537,20 +605,26 @@ class Application_Model_ShowInstance {
return $time;
}
+
+ public function getTimeScheduledSecs()
+ {
+ $time_filled = $this->getTimeScheduled();
+ return Application_Model_Schedule::WallTimeToMillisecs($time_filled) / 1000;
+ }
+
+ public function getDurationSecs()
+ {
+ $ends = $this->getShowInstanceEnd(null);
+ $starts = $this->getShowInstanceStart(null);
+ return $ends->format('U') - $starts->format('U');
+ }
+
public function getPercentScheduled()
{
- $start_timestamp = $this->getShowInstanceStart();
- $end_timestamp = $this->getShowInstanceEnd();
- $time_filled = $this->getTimeScheduled();
+ $durationSeconds = $this->getDurationSecs();
+ $timeSeconds = $this->getTimeScheduledSecs();
- $s_epoch = strtotime($start_timestamp);
- $e_epoch = strtotime($end_timestamp);
- $i_epoch = Application_Model_Schedule::WallTimeToMillisecs($time_filled) / 1000;
-
- $percent = ceil(($i_epoch / ($e_epoch - $s_epoch)) * 100);
-
- if ($percent > 100)
- $percent = 100;
+ $percent = ceil(($timeSeconds / $durationSeconds) * 100);
return $percent;
}
@@ -714,6 +788,7 @@ class Application_Model_ShowInstance {
$sql = "SELECT si.id"
." FROM $CC_CONFIG[showInstances] si"
." WHERE si.ends < TIMESTAMP '$p_timeNow'"
+ ." AND si.modified_instance = 'f'"
." ORDER BY si.ends DESC"
." LIMIT 1";
@@ -728,10 +803,18 @@ class Application_Model_ShowInstance {
public static function GetCurrentShowInstance($p_timeNow){
global $CC_CONFIG, $CC_DBC;
+ /* Orderby si.starts descending, because in some cases
+ * we can have multiple shows overlapping each other. In
+ * this case, the show that started later is the one that
+ * is actually playing, and so this is the one we want.
+ */
+
$sql = "SELECT si.id"
." FROM $CC_CONFIG[showInstances] si"
." WHERE si.starts <= TIMESTAMP '$p_timeNow'"
." AND si.ends > TIMESTAMP '$p_timeNow'"
+ ." AND si.modified_instance = 'f'"
+ ." ORDER BY si.starts DESC"
." LIMIT 1";
$id = $CC_DBC->GetOne($sql);
@@ -748,6 +831,7 @@ class Application_Model_ShowInstance {
$sql = "SELECT si.id"
." FROM $CC_CONFIG[showInstances] si"
." WHERE si.starts > TIMESTAMP '$p_timeNow'"
+ ." AND si.modified_instance = 'f'"
." ORDER BY si.starts"
." LIMIT 1";
diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php
index 05a25abef..175c2b918 100644
--- a/airtime_mvc/application/models/StoredFile.php
+++ b/airtime_mvc/application/models/StoredFile.php
@@ -583,7 +583,7 @@ class Application_Model_StoredFile {
{
global $CC_CONFIG;
- $displayData = array("track_title", "artist_name", "album_title", "genre", "length", "year", "utime", "mtime", "ftype");
+ $displayData = array("track_title", "artist_name", "album_title", "genre", "length", "year", "utime", "mtime", "ftype", "track_number");
$plSelect = "SELECT ";
$fileSelect = "SELECT ";
@@ -610,6 +610,9 @@ class Application_Model_StoredFile {
} else if ($key === "mtime") {
$plSelect .= $key.", ";
$fileSelect .= $key.", ";
+ } else if ($key === "track_number") {
+ $plSelect .= "NULL AS ".$key.", ";
+ $fileSelect .= $key.", ";
} else {
$plSelect .= "NULL AS ".$key.", ";
$fileSelect .= $key.", ";
@@ -621,7 +624,8 @@ class Application_Model_StoredFile {
UNION
(".$fileSelect."id FROM ".$CC_CONFIG["filesTable"]." AS FILES WHERE file_exists = 'TRUE')) AS RESULTS";
- $results = Application_Model_StoredFile::searchFiles($fromTable, $datatables);
+ $results = Application_Model_StoredFile::searchFiles($fromTable, $datatables);
+
foreach($results['aaData'] as &$row){
@@ -733,6 +737,7 @@ class Application_Model_StoredFile {
$sql = $selectorRows." FROM ".$fromTable." ORDER BY ".$orderby." OFFSET ".$data["iDisplayStart"]." LIMIT ".$data["iDisplayLength"];
}
+ //display sql executed in airtime log for testing
//Logging::log($sql);
$results = $CC_DBC->getAll($sql);
@@ -847,57 +852,61 @@ class Application_Model_StoredFile {
* enough space to move the $audio_file into and report back to the user if not.
**/
public static function checkForEnoughDiskSpaceToCopy($destination_folder, $audio_file){
- //check to see if we have enough space in the /organize directory to copy the file
- $freeSpace = disk_free_space($destination_folder);
- $fileSize = filesize($audio_file);
-
- if ( $freeSpace < $fileSize ){
- $freeSpace = floor($freeSpace/1024/1024);
- $fileSize = floor($fileSize/1024/1024);
- die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "The file was not uploaded, there was '.$freeSpace.'MB disk space left the file you are uploadings size is '.$fileSize.'MB."}}');
- }
+ //check to see if we have enough space in the /organize directory to copy the file
+ $freeSpace = disk_free_space($destination_folder);
+ $fileSize = filesize($audio_file);
+
+ if ( $freeSpace < $fileSize){
+ $freeSpace = ceil($freeSpace/1024/1024);
+ $fileSize = ceil($fileSize/1024/1024);
+ $result = array("code" => 107, "message" => "The file was not uploaded, there is ".$freeSpace."MB of disk space left and the file you are uploading has a size of ".$fileSize."MB.");
+
+ }
+ return $result;
}
-
+
public static function copyFileToStor($p_targetDir, $fileName, $tempname){
$audio_file = $p_targetDir . DIRECTORY_SEPARATOR . $tempname;
Logging::log('copyFileToStor: moving file '.$audio_file);
$md5 = md5_file($audio_file);
$duplicate = Application_Model_StoredFile::RecallByMd5($md5);
if ($duplicate) {
- if (PEAR::isError($duplicate)) {
- die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": ' . $duplicate->getMessage() .'}}');
+ if (PEAR::isError($duplicate)) {
+ $result = array("code" => 105, "message" => $duplicate->getMessage());
}
if (file_exists($duplicate->getFilePath())) {
$duplicateName = $duplicate->getMetadataValue('MDATA_KEY_TITLE');
- die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "An identical audioclip named \"' . $duplicateName . '\" already exists on the server."}}');
+ $result = array( "code" => 106, "message" => "An identical audioclip named '$duplicateName' already exists on the server.");
}
}
- $storDir = Application_Model_MusicDir::getStorDir();
- $stor = $storDir->getDirectory();
-
- //check to see if there is enough space in $stor to continue.
- Application_Model_StoredFile::checkForEnoughDiskSpaceToCopy($stor, $audio_file);
-
- $stor .= "/organize";
- $audio_stor = $stor . DIRECTORY_SEPARATOR . $fileName;
-
- Logging::log("copyFileToStor: moving file $audio_file to $audio_stor");
- //Martin K.: changed to rename: Much less load + quicker since this is an atomic operation
- $r = @rename($audio_file, $audio_stor);
+ if (!isset($result)){//The file has no duplicate, so procceed to copy.
+ $storDir = Application_Model_MusicDir::getStorDir();
+ $stor = $storDir->getDirectory();
- if ($r === false) {
- #something went wrong likely there wasn't enough space in the audio_stor to move the file too.
- #warn the user that the file wasn't uploaded and they should check if there is enough disk space.
- unlink($audio_file);//remove the file from the organize after failed rename
- die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "The file was not uploaded, this error will occur if the computer hard drive does not have enough disk space."}}');
- }
+ //check to see if there is enough space in $stor to continue.
+ $result = Application_Model_StoredFile::checkForEnoughDiskSpaceToCopy($stor, $audio_file);
+ if (!isset($result)){//if result not set then there's enough disk space to copy the file over
+ $stor .= "/organize";
+ $audio_stor = $stor . DIRECTORY_SEPARATOR . $fileName;
- //$r = @copy($audio_file, $audio_stor);
- //$r = @unlink($audio_file);
+ Logging::log("copyFileToStor: moving file $audio_file to $audio_stor");
+ //Martin K.: changed to rename: Much less load + quicker since this is an atomic operation
+ $r = @rename($audio_file, $audio_stor);
+
+ if ($r === false) {
+ #something went wrong likely there wasn't enough space in the audio_stor to move the file too.
+ #warn the user that the file wasn't uploaded and they should check if there is enough disk space.
+ unlink($audio_file);//remove the file from the organize after failed rename
+ $result = array("code" => 108, "message" => "The file was not uploaded, this error will occur if the computer hard drive does not have enough disk space.");
+
+ }
+ }
+ }
+ return $result;
}
-
+
public static function getFileCount()
{
global $CC_CONFIG, $CC_DBC;
@@ -1028,3 +1037,4 @@ class Application_Model_StoredFile {
}
class DeleteScheduledFileException extends Exception {}
+class FileDoesNotExistException extends Exception {}
diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php
index 1e4d77956..0ae84a009 100644
--- a/airtime_mvc/application/models/StreamSetting.php
+++ b/airtime_mvc/application/models/StreamSetting.php
@@ -83,8 +83,12 @@ class Application_Model_StreamSetting {
$CC_DBC->query($sql);
} else if ($key == "output_sound_device_type") {
$sql = "UPDATE cc_stream_setting SET value='$d' WHERE keyname='$key'";
- $CC_DBC->query($sql);
- } else {
+ $CC_DBC->query($sql);
+ } else if ($key == "streamFormat"){
+ // this goes into cc_pref table
+ Logging::log("Insert stream label format $d");
+ Application_Model_Preference::SetStreamLabelFormat($d);
+ } else if (is_array($d)) {
$temp = explode('_', $key);
$prefix = $temp[0];
foreach ($d as $k=>$v) {
@@ -96,6 +100,8 @@ class Application_Model_StreamSetting {
$sql = "UPDATE cc_stream_setting SET value='$v' WHERE keyname='$keyname'";
$CC_DBC->query($sql);
}
+ } else {
+ Logging::log("Warning unexpected value: ".$key);
}
}
}
diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php
index 5231ba350..601cbaa1f 100644
--- a/airtime_mvc/application/models/Systemstatus.php
+++ b/airtime_mvc/application/models/Systemstatus.php
@@ -120,23 +120,31 @@ class Application_Model_Systemstatus
public static function GetPypoStatus(){
$component = CcServiceRegisterQuery::create()->findOneByDbName("pypo");
- $ip = $component->getDbIp();
-
- $docRoot = self::GetMonitStatus($ip);
- $data = self::ExtractServiceInformation($docRoot, "airtime-playout");
+ if (is_null($component)){
+ return null;
+ } else {
+ $ip = $component->getDbIp();
+
+ $docRoot = self::GetMonitStatus($ip);
+ $data = self::ExtractServiceInformation($docRoot, "airtime-playout");
- return $data;
+ return $data;
+ }
}
public static function GetLiquidsoapStatus(){
$component = CcServiceRegisterQuery::create()->findOneByDbName("pypo");
- $ip = $component->getDbIp();
-
- $docRoot = self::GetMonitStatus($ip);
- $data = self::ExtractServiceInformation($docRoot, "airtime-liquidsoap");
+ if (is_null($component)){
+ return null;
+ } else {
+ $ip = $component->getDbIp();
+
+ $docRoot = self::GetMonitStatus($ip);
+ $data = self::ExtractServiceInformation($docRoot, "airtime-liquidsoap");
- return $data;
+ return $data;
+ }
}
public static function GetShowRecorderStatus(){
diff --git a/airtime_mvc/application/models/airtime/CcShowInstances.php b/airtime_mvc/application/models/airtime/CcShowInstances.php
index 26d568f09..d1c97f437 100644
--- a/airtime_mvc/application/models/airtime/CcShowInstances.php
+++ b/airtime_mvc/application/models/airtime/CcShowInstances.php
@@ -76,4 +76,35 @@ class CcShowInstances extends BaseCcShowInstances {
return $dt->format($format);
}
}
+
+ /**
+ * Get the [optionally formatted] temporal [last_scheduled] column value.
+ *
+ *
+ * @param string $format The date/time format string (either date()-style or strftime()-style).
+ * If format is NULL, then the raw DateTime object will be returned.
+ * @return mixed Formatted date/time value as string or DateTime object (if format is NULL), NULL if column is NULL
+ * @throws PropelException - if unable to parse/validate the date/time value.
+ */
+ public function getDbLastScheduled($format = 'Y-m-d H:i:s')
+ {
+ if ($this->last_scheduled === null) {
+ return null;
+ }
+
+ try {
+ $dt = new DateTime($this->last_scheduled, new DateTimeZone("UTC"));
+ } catch (Exception $x) {
+ throw new PropelException("Internally stored date/time/timestamp value could not be converted to DateTime: " . var_export($this->last_scheduled, true), $x);
+ }
+
+ if ($format === null) {
+ // Because propel.useDateTimeClass is TRUE, we return a DateTime object.
+ return $dt;
+ } elseif (strpos($format, '%') !== false) {
+ return strftime($format, $dt->format('U'));
+ } else {
+ return $dt->format($format);
+ }
+ }
} // CcShowInstances
diff --git a/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php
index 75e7da2c7..b605da53d 100644
--- a/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php
+++ b/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php
@@ -46,7 +46,8 @@ class CcShowInstancesTableMap extends TableMap {
$this->addColumn('REBROADCAST', 'DbRebroadcast', 'TINYINT', false, null, 0);
$this->addForeignKey('INSTANCE_ID', 'DbOriginalShow', 'INTEGER', 'cc_show_instances', 'ID', false, null, null);
$this->addForeignKey('FILE_ID', 'DbRecordedFile', 'INTEGER', 'cc_files', 'ID', false, null, null);
- $this->addColumn('TIME_FILLED', 'DbTimeFilled', 'TIME', false, null, null);
+ $this->addColumn('TIME_FILLED', 'DbTimeFilled', 'VARCHAR', false, null, '00:00:00');
+ $this->addColumn('LAST_SCHEDULED', 'DbLastScheduled', 'TIMESTAMP', false, null, null);
$this->addColumn('MODIFIED_INSTANCE', 'DbModifiedInstance', 'BOOLEAN', true, null, false);
// validators
} // initialize()
diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php
index 44b6c7a6e..457a9b958 100644
--- a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php
+++ b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php
@@ -4,7 +4,7 @@
/**
* Base class that represents a row from the 'cc_playlistcontents' table.
*
- *
+ *
*
* @package propel.generator.airtime.om
*/
@@ -137,7 +137,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [id] column value.
- *
+ *
* @return int
*/
public function getDbId()
@@ -147,7 +147,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [playlist_id] column value.
- *
+ *
* @return int
*/
public function getDbPlaylistId()
@@ -157,7 +157,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [file_id] column value.
- *
+ *
* @return int
*/
public function getDbFileId()
@@ -167,7 +167,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [position] column value.
- *
+ *
* @return int
*/
public function getDbPosition()
@@ -177,7 +177,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [optionally formatted] temporal [cliplength] column value.
- *
+ *
*
* @param string $format The date/time format string (either date()-style or strftime()-style).
* If format is NULL, then the raw DateTime object will be returned.
@@ -210,7 +210,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [optionally formatted] temporal [cuein] column value.
- *
+ *
*
* @param string $format The date/time format string (either date()-style or strftime()-style).
* If format is NULL, then the raw DateTime object will be returned.
@@ -243,7 +243,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [optionally formatted] temporal [cueout] column value.
- *
+ *
*
* @param string $format The date/time format string (either date()-style or strftime()-style).
* If format is NULL, then the raw DateTime object will be returned.
@@ -276,7 +276,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [optionally formatted] temporal [fadein] column value.
- *
+ *
*
* @param string $format The date/time format string (either date()-style or strftime()-style).
* If format is NULL, then the raw DateTime object will be returned.
@@ -289,6 +289,8 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
return null;
}
+
+
try {
$dt = new DateTime($this->fadein);
} catch (Exception $x) {
@@ -307,7 +309,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Get the [optionally formatted] temporal [fadeout] column value.
- *
+ *
*
* @param string $format The date/time format string (either date()-style or strftime()-style).
* If format is NULL, then the raw DateTime object will be returned.
@@ -340,7 +342,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Set the value of [id] column.
- *
+ *
* @param int $v new value
* @return CcPlaylistcontents The current object (for fluent API support)
*/
@@ -360,7 +362,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Set the value of [playlist_id] column.
- *
+ *
* @param int $v new value
* @return CcPlaylistcontents The current object (for fluent API support)
*/
@@ -384,7 +386,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Set the value of [file_id] column.
- *
+ *
* @param int $v new value
* @return CcPlaylistcontents The current object (for fluent API support)
*/
@@ -408,7 +410,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Set the value of [position] column.
- *
+ *
* @param int $v new value
* @return CcPlaylistcontents The current object (for fluent API support)
*/
@@ -428,7 +430,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Sets the value of [cliplength] column to a normalized version of the date/time value specified.
- *
+ *
* @param mixed $v string, integer (timestamp), or DateTime value. Empty string will
* be treated as NULL for temporal objects.
* @return CcPlaylistcontents The current object (for fluent API support)
@@ -464,7 +466,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$currNorm = ($this->cliplength !== null && $tmpDt = new DateTime($this->cliplength)) ? $tmpDt->format('H:i:s') : null;
$newNorm = ($dt !== null) ? $dt->format('H:i:s') : null;
- if ( ($currNorm !== $newNorm) // normalized values don't match
+ if ( ($currNorm !== $newNorm) // normalized values don't match
|| ($dt->format('H:i:s') === '00:00:00') // or the entered value matches the default
)
{
@@ -478,7 +480,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Sets the value of [cuein] column to a normalized version of the date/time value specified.
- *
+ *
* @param mixed $v string, integer (timestamp), or DateTime value. Empty string will
* be treated as NULL for temporal objects.
* @return CcPlaylistcontents The current object (for fluent API support)
@@ -514,7 +516,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$currNorm = ($this->cuein !== null && $tmpDt = new DateTime($this->cuein)) ? $tmpDt->format('H:i:s') : null;
$newNorm = ($dt !== null) ? $dt->format('H:i:s') : null;
- if ( ($currNorm !== $newNorm) // normalized values don't match
+ if ( ($currNorm !== $newNorm) // normalized values don't match
|| ($dt->format('H:i:s') === '00:00:00') // or the entered value matches the default
)
{
@@ -528,7 +530,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Sets the value of [cueout] column to a normalized version of the date/time value specified.
- *
+ *
* @param mixed $v string, integer (timestamp), or DateTime value. Empty string will
* be treated as NULL for temporal objects.
* @return CcPlaylistcontents The current object (for fluent API support)
@@ -564,7 +566,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$currNorm = ($this->cueout !== null && $tmpDt = new DateTime($this->cueout)) ? $tmpDt->format('H:i:s') : null;
$newNorm = ($dt !== null) ? $dt->format('H:i:s') : null;
- if ( ($currNorm !== $newNorm) // normalized values don't match
+ if ( ($currNorm !== $newNorm) // normalized values don't match
|| ($dt->format('H:i:s') === '00:00:00') // or the entered value matches the default
)
{
@@ -578,7 +580,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Sets the value of [fadein] column to a normalized version of the date/time value specified.
- *
+ *
* @param mixed $v string, integer (timestamp), or DateTime value. Empty string will
* be treated as NULL for temporal objects.
* @return CcPlaylistcontents The current object (for fluent API support)
@@ -614,7 +616,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$currNorm = ($this->fadein !== null && $tmpDt = new DateTime($this->fadein)) ? $tmpDt->format('H:i:s') : null;
$newNorm = ($dt !== null) ? $dt->format('H:i:s') : null;
- if ( ($currNorm !== $newNorm) // normalized values don't match
+ if ( ($currNorm !== $newNorm) // normalized values don't match
|| ($dt->format('H:i:s') === '00:00:00') // or the entered value matches the default
)
{
@@ -628,7 +630,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
/**
* Sets the value of [fadeout] column to a normalized version of the date/time value specified.
- *
+ *
* @param mixed $v string, integer (timestamp), or DateTime value. Empty string will
* be treated as NULL for temporal objects.
* @return CcPlaylistcontents The current object (for fluent API support)
@@ -664,7 +666,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
$currNorm = ($this->fadeout !== null && $tmpDt = new DateTime($this->fadeout)) ? $tmpDt->format('H:i:s') : null;
$newNorm = ($dt !== null) ? $dt->format('H:i:s') : null;
- if ( ($currNorm !== $newNorm) // normalized values don't match
+ if ( ($currNorm !== $newNorm) // normalized values don't match
|| ($dt->format('H:i:s') === '00:00:00') // or the entered value matches the default
)
{
@@ -836,7 +838,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
if ($con === null) {
$con = Propel::getConnection(CcPlaylistcontentsPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
}
-
+
$con->beginTransaction();
try {
$ret = $this->preDelete($con);
@@ -878,7 +880,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
if ($con === null) {
$con = Propel::getConnection(CcPlaylistcontentsPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
}
-
+
$con->beginTransaction();
$isInsert = $this->isNew();
try {
@@ -1131,7 +1133,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
* type constants.
*
* @param string $keyType (optional) One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME,
- * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
+ * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
* Defaults to BasePeer::TYPE_PHPNAME.
* @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE.
* @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE.
@@ -1526,7 +1528,7 @@ abstract class BaseCcPlaylistcontents extends BaseObject implements Persistent
}
// aggregate_column_relation behavior
-
+
/**
* Update the aggregate column in the related CcPlaylist object
*
diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php
index c78c34142..d5701f2be 100644
--- a/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php
+++ b/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php
@@ -76,10 +76,17 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
/**
* The value for the time_filled field.
+ * Note: this column has a database default value of: '00:00:00'
* @var string
*/
protected $time_filled;
+ /**
+ * The value for the last_scheduled field.
+ * @var string
+ */
+ protected $last_scheduled;
+
/**
* The value for the modified_instance field.
* Note: this column has a database default value of: false
@@ -136,6 +143,7 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
{
$this->record = 0;
$this->rebroadcast = 0;
+ $this->time_filled = '00:00:00';
$this->modified_instance = false;
}
@@ -276,7 +284,17 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
}
/**
- * Get the [optionally formatted] temporal [time_filled] column value.
+ * Get the [time_filled] column value.
+ *
+ * @return string
+ */
+ public function getDbTimeFilled()
+ {
+ return $this->time_filled;
+ }
+
+ /**
+ * Get the [optionally formatted] temporal [last_scheduled] column value.
*
*
* @param string $format The date/time format string (either date()-style or strftime()-style).
@@ -284,18 +302,18 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
* @return mixed Formatted date/time value as string or DateTime object (if format is NULL), NULL if column is NULL
* @throws PropelException - if unable to parse/validate the date/time value.
*/
- public function getDbTimeFilled($format = '%X')
+ public function getDbLastScheduled($format = 'Y-m-d H:i:s')
{
- if ($this->time_filled === null) {
+ if ($this->last_scheduled === null) {
return null;
}
try {
- $dt = new DateTime($this->time_filled);
+ $dt = new DateTime($this->last_scheduled);
} catch (Exception $x) {
- throw new PropelException("Internally stored date/time/timestamp value could not be converted to DateTime: " . var_export($this->time_filled, true), $x);
+ throw new PropelException("Internally stored date/time/timestamp value could not be converted to DateTime: " . var_export($this->last_scheduled, true), $x);
}
if ($format === null) {
@@ -549,13 +567,33 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
} // setDbRecordedFile()
/**
- * Sets the value of [time_filled] column to a normalized version of the date/time value specified.
+ * Set the value of [time_filled] column.
+ *
+ * @param string $v new value
+ * @return CcShowInstances The current object (for fluent API support)
+ */
+ public function setDbTimeFilled($v)
+ {
+ if ($v !== null) {
+ $v = (string) $v;
+ }
+
+ if ($this->time_filled !== $v || $this->isNew()) {
+ $this->time_filled = $v;
+ $this->modifiedColumns[] = CcShowInstancesPeer::TIME_FILLED;
+ }
+
+ return $this;
+ } // setDbTimeFilled()
+
+ /**
+ * Sets the value of [last_scheduled] column to a normalized version of the date/time value specified.
*
* @param mixed $v string, integer (timestamp), or DateTime value. Empty string will
* be treated as NULL for temporal objects.
* @return CcShowInstances The current object (for fluent API support)
*/
- public function setDbTimeFilled($v)
+ public function setDbLastScheduled($v)
{
// we treat '' as NULL for temporal objects because DateTime('') == DateTime('now')
// -- which is unexpected, to say the least.
@@ -580,22 +618,22 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
}
}
- if ( $this->time_filled !== null || $dt !== null ) {
+ if ( $this->last_scheduled !== null || $dt !== null ) {
// (nested ifs are a little easier to read in this case)
- $currNorm = ($this->time_filled !== null && $tmpDt = new DateTime($this->time_filled)) ? $tmpDt->format('H:i:s') : null;
- $newNorm = ($dt !== null) ? $dt->format('H:i:s') : null;
+ $currNorm = ($this->last_scheduled !== null && $tmpDt = new DateTime($this->last_scheduled)) ? $tmpDt->format('Y-m-d\\TH:i:sO') : null;
+ $newNorm = ($dt !== null) ? $dt->format('Y-m-d\\TH:i:sO') : null;
if ( ($currNorm !== $newNorm) // normalized values don't match
)
{
- $this->time_filled = ($dt ? $dt->format('H:i:s') : null);
- $this->modifiedColumns[] = CcShowInstancesPeer::TIME_FILLED;
+ $this->last_scheduled = ($dt ? $dt->format('Y-m-d\\TH:i:sO') : null);
+ $this->modifiedColumns[] = CcShowInstancesPeer::LAST_SCHEDULED;
}
} // if either are not null
return $this;
- } // setDbTimeFilled()
+ } // setDbLastScheduled()
/**
* Set the value of [modified_instance] column.
@@ -635,6 +673,10 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
return false;
}
+ if ($this->time_filled !== '00:00:00') {
+ return false;
+ }
+
if ($this->modified_instance !== false) {
return false;
}
@@ -670,7 +712,8 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
$this->instance_id = ($row[$startcol + 6] !== null) ? (int) $row[$startcol + 6] : null;
$this->file_id = ($row[$startcol + 7] !== null) ? (int) $row[$startcol + 7] : null;
$this->time_filled = ($row[$startcol + 8] !== null) ? (string) $row[$startcol + 8] : null;
- $this->modified_instance = ($row[$startcol + 9] !== null) ? (boolean) $row[$startcol + 9] : null;
+ $this->last_scheduled = ($row[$startcol + 9] !== null) ? (string) $row[$startcol + 9] : null;
+ $this->modified_instance = ($row[$startcol + 10] !== null) ? (boolean) $row[$startcol + 10] : null;
$this->resetModified();
$this->setNew(false);
@@ -679,7 +722,7 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
$this->ensureConsistency();
}
- return $startcol + 10; // 10 = CcShowInstancesPeer::NUM_COLUMNS - CcShowInstancesPeer::NUM_LAZY_LOAD_COLUMNS).
+ return $startcol + 11; // 11 = CcShowInstancesPeer::NUM_COLUMNS - CcShowInstancesPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating CcShowInstances object", $e);
@@ -1104,6 +1147,9 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
return $this->getDbTimeFilled();
break;
case 9:
+ return $this->getDbLastScheduled();
+ break;
+ case 10:
return $this->getDbModifiedInstance();
break;
default:
@@ -1139,7 +1185,8 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
$keys[6] => $this->getDbOriginalShow(),
$keys[7] => $this->getDbRecordedFile(),
$keys[8] => $this->getDbTimeFilled(),
- $keys[9] => $this->getDbModifiedInstance(),
+ $keys[9] => $this->getDbLastScheduled(),
+ $keys[10] => $this->getDbModifiedInstance(),
);
if ($includeForeignObjects) {
if (null !== $this->aCcShow) {
@@ -1210,6 +1257,9 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
$this->setDbTimeFilled($value);
break;
case 9:
+ $this->setDbLastScheduled($value);
+ break;
+ case 10:
$this->setDbModifiedInstance($value);
break;
} // switch()
@@ -1245,7 +1295,8 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
if (array_key_exists($keys[6], $arr)) $this->setDbOriginalShow($arr[$keys[6]]);
if (array_key_exists($keys[7], $arr)) $this->setDbRecordedFile($arr[$keys[7]]);
if (array_key_exists($keys[8], $arr)) $this->setDbTimeFilled($arr[$keys[8]]);
- if (array_key_exists($keys[9], $arr)) $this->setDbModifiedInstance($arr[$keys[9]]);
+ if (array_key_exists($keys[9], $arr)) $this->setDbLastScheduled($arr[$keys[9]]);
+ if (array_key_exists($keys[10], $arr)) $this->setDbModifiedInstance($arr[$keys[10]]);
}
/**
@@ -1266,6 +1317,7 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
if ($this->isColumnModified(CcShowInstancesPeer::INSTANCE_ID)) $criteria->add(CcShowInstancesPeer::INSTANCE_ID, $this->instance_id);
if ($this->isColumnModified(CcShowInstancesPeer::FILE_ID)) $criteria->add(CcShowInstancesPeer::FILE_ID, $this->file_id);
if ($this->isColumnModified(CcShowInstancesPeer::TIME_FILLED)) $criteria->add(CcShowInstancesPeer::TIME_FILLED, $this->time_filled);
+ if ($this->isColumnModified(CcShowInstancesPeer::LAST_SCHEDULED)) $criteria->add(CcShowInstancesPeer::LAST_SCHEDULED, $this->last_scheduled);
if ($this->isColumnModified(CcShowInstancesPeer::MODIFIED_INSTANCE)) $criteria->add(CcShowInstancesPeer::MODIFIED_INSTANCE, $this->modified_instance);
return $criteria;
@@ -1336,6 +1388,7 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
$copyObj->setDbOriginalShow($this->instance_id);
$copyObj->setDbRecordedFile($this->file_id);
$copyObj->setDbTimeFilled($this->time_filled);
+ $copyObj->setDbLastScheduled($this->last_scheduled);
$copyObj->setDbModifiedInstance($this->modified_instance);
if ($deepCopy) {
@@ -1854,6 +1907,7 @@ abstract class BaseCcShowInstances extends BaseObject implements Persistent
$this->instance_id = null;
$this->file_id = null;
$this->time_filled = null;
+ $this->last_scheduled = null;
$this->modified_instance = null;
$this->alreadyInSave = false;
$this->alreadyInValidation = false;
diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php
index d30a1a8ab..6780ec14f 100644
--- a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php
+++ b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php
@@ -26,7 +26,7 @@ abstract class BaseCcShowInstancesPeer {
const TM_CLASS = 'CcShowInstancesTableMap';
/** The total number of columns. */
- const NUM_COLUMNS = 10;
+ const NUM_COLUMNS = 11;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -58,6 +58,9 @@ abstract class BaseCcShowInstancesPeer {
/** the column name for the TIME_FILLED field */
const TIME_FILLED = 'cc_show_instances.TIME_FILLED';
+ /** the column name for the LAST_SCHEDULED field */
+ const LAST_SCHEDULED = 'cc_show_instances.LAST_SCHEDULED';
+
/** the column name for the MODIFIED_INSTANCE field */
const MODIFIED_INSTANCE = 'cc_show_instances.MODIFIED_INSTANCE';
@@ -77,12 +80,12 @@ abstract class BaseCcShowInstancesPeer {
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
- BasePeer::TYPE_PHPNAME => array ('DbId', 'DbStarts', 'DbEnds', 'DbShowId', 'DbRecord', 'DbRebroadcast', 'DbOriginalShow', 'DbRecordedFile', 'DbTimeFilled', 'DbModifiedInstance', ),
- BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbStarts', 'dbEnds', 'dbShowId', 'dbRecord', 'dbRebroadcast', 'dbOriginalShow', 'dbRecordedFile', 'dbTimeFilled', 'dbModifiedInstance', ),
- BasePeer::TYPE_COLNAME => array (self::ID, self::STARTS, self::ENDS, self::SHOW_ID, self::RECORD, self::REBROADCAST, self::INSTANCE_ID, self::FILE_ID, self::TIME_FILLED, self::MODIFIED_INSTANCE, ),
- BasePeer::TYPE_RAW_COLNAME => array ('ID', 'STARTS', 'ENDS', 'SHOW_ID', 'RECORD', 'REBROADCAST', 'INSTANCE_ID', 'FILE_ID', 'TIME_FILLED', 'MODIFIED_INSTANCE', ),
- BasePeer::TYPE_FIELDNAME => array ('id', 'starts', 'ends', 'show_id', 'record', 'rebroadcast', 'instance_id', 'file_id', 'time_filled', 'modified_instance', ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
+ BasePeer::TYPE_PHPNAME => array ('DbId', 'DbStarts', 'DbEnds', 'DbShowId', 'DbRecord', 'DbRebroadcast', 'DbOriginalShow', 'DbRecordedFile', 'DbTimeFilled', 'DbLastScheduled', 'DbModifiedInstance', ),
+ BasePeer::TYPE_STUDLYPHPNAME => array ('dbId', 'dbStarts', 'dbEnds', 'dbShowId', 'dbRecord', 'dbRebroadcast', 'dbOriginalShow', 'dbRecordedFile', 'dbTimeFilled', 'dbLastScheduled', 'dbModifiedInstance', ),
+ BasePeer::TYPE_COLNAME => array (self::ID, self::STARTS, self::ENDS, self::SHOW_ID, self::RECORD, self::REBROADCAST, self::INSTANCE_ID, self::FILE_ID, self::TIME_FILLED, self::LAST_SCHEDULED, self::MODIFIED_INSTANCE, ),
+ BasePeer::TYPE_RAW_COLNAME => array ('ID', 'STARTS', 'ENDS', 'SHOW_ID', 'RECORD', 'REBROADCAST', 'INSTANCE_ID', 'FILE_ID', 'TIME_FILLED', 'LAST_SCHEDULED', 'MODIFIED_INSTANCE', ),
+ BasePeer::TYPE_FIELDNAME => array ('id', 'starts', 'ends', 'show_id', 'record', 'rebroadcast', 'instance_id', 'file_id', 'time_filled', 'last_scheduled', 'modified_instance', ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, )
);
/**
@@ -92,12 +95,12 @@ abstract class BaseCcShowInstancesPeer {
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
- BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbStarts' => 1, 'DbEnds' => 2, 'DbShowId' => 3, 'DbRecord' => 4, 'DbRebroadcast' => 5, 'DbOriginalShow' => 6, 'DbRecordedFile' => 7, 'DbTimeFilled' => 8, 'DbModifiedInstance' => 9, ),
- BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbStarts' => 1, 'dbEnds' => 2, 'dbShowId' => 3, 'dbRecord' => 4, 'dbRebroadcast' => 5, 'dbOriginalShow' => 6, 'dbRecordedFile' => 7, 'dbTimeFilled' => 8, 'dbModifiedInstance' => 9, ),
- BasePeer::TYPE_COLNAME => array (self::ID => 0, self::STARTS => 1, self::ENDS => 2, self::SHOW_ID => 3, self::RECORD => 4, self::REBROADCAST => 5, self::INSTANCE_ID => 6, self::FILE_ID => 7, self::TIME_FILLED => 8, self::MODIFIED_INSTANCE => 9, ),
- BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'STARTS' => 1, 'ENDS' => 2, 'SHOW_ID' => 3, 'RECORD' => 4, 'REBROADCAST' => 5, 'INSTANCE_ID' => 6, 'FILE_ID' => 7, 'TIME_FILLED' => 8, 'MODIFIED_INSTANCE' => 9, ),
- BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'starts' => 1, 'ends' => 2, 'show_id' => 3, 'record' => 4, 'rebroadcast' => 5, 'instance_id' => 6, 'file_id' => 7, 'time_filled' => 8, 'modified_instance' => 9, ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
+ BasePeer::TYPE_PHPNAME => array ('DbId' => 0, 'DbStarts' => 1, 'DbEnds' => 2, 'DbShowId' => 3, 'DbRecord' => 4, 'DbRebroadcast' => 5, 'DbOriginalShow' => 6, 'DbRecordedFile' => 7, 'DbTimeFilled' => 8, 'DbLastScheduled' => 9, 'DbModifiedInstance' => 10, ),
+ BasePeer::TYPE_STUDLYPHPNAME => array ('dbId' => 0, 'dbStarts' => 1, 'dbEnds' => 2, 'dbShowId' => 3, 'dbRecord' => 4, 'dbRebroadcast' => 5, 'dbOriginalShow' => 6, 'dbRecordedFile' => 7, 'dbTimeFilled' => 8, 'dbLastScheduled' => 9, 'dbModifiedInstance' => 10, ),
+ BasePeer::TYPE_COLNAME => array (self::ID => 0, self::STARTS => 1, self::ENDS => 2, self::SHOW_ID => 3, self::RECORD => 4, self::REBROADCAST => 5, self::INSTANCE_ID => 6, self::FILE_ID => 7, self::TIME_FILLED => 8, self::LAST_SCHEDULED => 9, self::MODIFIED_INSTANCE => 10, ),
+ BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'STARTS' => 1, 'ENDS' => 2, 'SHOW_ID' => 3, 'RECORD' => 4, 'REBROADCAST' => 5, 'INSTANCE_ID' => 6, 'FILE_ID' => 7, 'TIME_FILLED' => 8, 'LAST_SCHEDULED' => 9, 'MODIFIED_INSTANCE' => 10, ),
+ BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'starts' => 1, 'ends' => 2, 'show_id' => 3, 'record' => 4, 'rebroadcast' => 5, 'instance_id' => 6, 'file_id' => 7, 'time_filled' => 8, 'last_scheduled' => 9, 'modified_instance' => 10, ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, )
);
/**
@@ -178,6 +181,7 @@ abstract class BaseCcShowInstancesPeer {
$criteria->addSelectColumn(CcShowInstancesPeer::INSTANCE_ID);
$criteria->addSelectColumn(CcShowInstancesPeer::FILE_ID);
$criteria->addSelectColumn(CcShowInstancesPeer::TIME_FILLED);
+ $criteria->addSelectColumn(CcShowInstancesPeer::LAST_SCHEDULED);
$criteria->addSelectColumn(CcShowInstancesPeer::MODIFIED_INSTANCE);
} else {
$criteria->addSelectColumn($alias . '.ID');
@@ -189,6 +193,7 @@ abstract class BaseCcShowInstancesPeer {
$criteria->addSelectColumn($alias . '.INSTANCE_ID');
$criteria->addSelectColumn($alias . '.FILE_ID');
$criteria->addSelectColumn($alias . '.TIME_FILLED');
+ $criteria->addSelectColumn($alias . '.LAST_SCHEDULED');
$criteria->addSelectColumn($alias . '.MODIFIED_INSTANCE');
}
}
diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php
index d127d88ad..ea429edab 100644
--- a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php
+++ b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php
@@ -15,6 +15,7 @@
* @method CcShowInstancesQuery orderByDbOriginalShow($order = Criteria::ASC) Order by the instance_id column
* @method CcShowInstancesQuery orderByDbRecordedFile($order = Criteria::ASC) Order by the file_id column
* @method CcShowInstancesQuery orderByDbTimeFilled($order = Criteria::ASC) Order by the time_filled column
+ * @method CcShowInstancesQuery orderByDbLastScheduled($order = Criteria::ASC) Order by the last_scheduled column
* @method CcShowInstancesQuery orderByDbModifiedInstance($order = Criteria::ASC) Order by the modified_instance column
*
* @method CcShowInstancesQuery groupByDbId() Group by the id column
@@ -26,6 +27,7 @@
* @method CcShowInstancesQuery groupByDbOriginalShow() Group by the instance_id column
* @method CcShowInstancesQuery groupByDbRecordedFile() Group by the file_id column
* @method CcShowInstancesQuery groupByDbTimeFilled() Group by the time_filled column
+ * @method CcShowInstancesQuery groupByDbLastScheduled() Group by the last_scheduled column
* @method CcShowInstancesQuery groupByDbModifiedInstance() Group by the modified_instance column
*
* @method CcShowInstancesQuery leftJoin($relation) Adds a LEFT JOIN clause to the query
@@ -64,6 +66,7 @@
* @method CcShowInstances findOneByDbOriginalShow(int $instance_id) Return the first CcShowInstances filtered by the instance_id column
* @method CcShowInstances findOneByDbRecordedFile(int $file_id) Return the first CcShowInstances filtered by the file_id column
* @method CcShowInstances findOneByDbTimeFilled(string $time_filled) Return the first CcShowInstances filtered by the time_filled column
+ * @method CcShowInstances findOneByDbLastScheduled(string $last_scheduled) Return the first CcShowInstances filtered by the last_scheduled column
* @method CcShowInstances findOneByDbModifiedInstance(boolean $modified_instance) Return the first CcShowInstances filtered by the modified_instance column
*
* @method array findByDbId(int $id) Return CcShowInstances objects filtered by the id column
@@ -75,6 +78,7 @@
* @method array findByDbOriginalShow(int $instance_id) Return CcShowInstances objects filtered by the instance_id column
* @method array findByDbRecordedFile(int $file_id) Return CcShowInstances objects filtered by the file_id column
* @method array findByDbTimeFilled(string $time_filled) Return CcShowInstances objects filtered by the time_filled column
+ * @method array findByDbLastScheduled(string $last_scheduled) Return CcShowInstances objects filtered by the last_scheduled column
* @method array findByDbModifiedInstance(boolean $modified_instance) Return CcShowInstances objects filtered by the modified_instance column
*
* @package propel.generator.airtime.om
@@ -422,22 +426,44 @@ abstract class BaseCcShowInstancesQuery extends ModelCriteria
/**
* Filter the query on the time_filled column
*
- * @param string|array $dbTimeFilled The value to use as filter.
- * Accepts an associative array('min' => $minValue, 'max' => $maxValue)
+ * @param string $dbTimeFilled The value to use as filter.
+ * Accepts wildcards (* and % trigger a LIKE)
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
*
* @return CcShowInstancesQuery The current query, for fluid interface
*/
public function filterByDbTimeFilled($dbTimeFilled = null, $comparison = null)
{
- if (is_array($dbTimeFilled)) {
+ if (null === $comparison) {
+ if (is_array($dbTimeFilled)) {
+ $comparison = Criteria::IN;
+ } elseif (preg_match('/[\%\*]/', $dbTimeFilled)) {
+ $dbTimeFilled = str_replace('*', '%', $dbTimeFilled);
+ $comparison = Criteria::LIKE;
+ }
+ }
+ return $this->addUsingAlias(CcShowInstancesPeer::TIME_FILLED, $dbTimeFilled, $comparison);
+ }
+
+ /**
+ * Filter the query on the last_scheduled column
+ *
+ * @param string|array $dbLastScheduled The value to use as filter.
+ * Accepts an associative array('min' => $minValue, 'max' => $maxValue)
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return CcShowInstancesQuery The current query, for fluid interface
+ */
+ public function filterByDbLastScheduled($dbLastScheduled = null, $comparison = null)
+ {
+ if (is_array($dbLastScheduled)) {
$useMinMax = false;
- if (isset($dbTimeFilled['min'])) {
- $this->addUsingAlias(CcShowInstancesPeer::TIME_FILLED, $dbTimeFilled['min'], Criteria::GREATER_EQUAL);
+ if (isset($dbLastScheduled['min'])) {
+ $this->addUsingAlias(CcShowInstancesPeer::LAST_SCHEDULED, $dbLastScheduled['min'], Criteria::GREATER_EQUAL);
$useMinMax = true;
}
- if (isset($dbTimeFilled['max'])) {
- $this->addUsingAlias(CcShowInstancesPeer::TIME_FILLED, $dbTimeFilled['max'], Criteria::LESS_EQUAL);
+ if (isset($dbLastScheduled['max'])) {
+ $this->addUsingAlias(CcShowInstancesPeer::LAST_SCHEDULED, $dbLastScheduled['max'], Criteria::LESS_EQUAL);
$useMinMax = true;
}
if ($useMinMax) {
@@ -447,7 +473,7 @@ abstract class BaseCcShowInstancesQuery extends ModelCriteria
$comparison = Criteria::IN;
}
}
- return $this->addUsingAlias(CcShowInstancesPeer::TIME_FILLED, $dbTimeFilled, $comparison);
+ return $this->addUsingAlias(CcShowInstancesPeer::LAST_SCHEDULED, $dbLastScheduled, $comparison);
}
/**
diff --git a/airtime_mvc/application/models/tests/AllTests.php b/airtime_mvc/application/models/tests/AllTests.php
index 7ff5a8d9f..2d5620935 100644
--- a/airtime_mvc/application/models/tests/AllTests.php
+++ b/airtime_mvc/application/models/tests/AllTests.php
@@ -1,5 +1,4 @@
+ element->getElement('sb_date_start') ?>
+ element->getElement('sb_time_start') ?>
+ element->getElement('sb_date_end') ?>
+ element->getElement('sb_time_end') ?>
+
+
+
+ element->getElement('sb_show_filter')->getLabel() ?>
+ element->getElement('sb_show_filter') ?>
+
+ element->getElement('sb_my_shows')):?>
+ element->getElement('sb_my_shows')->getLabel(); ?>
+ element->getElement('sb_my_shows'); ?>
+
+
\ No newline at end of file
diff --git a/airtime_mvc/application/views/scripts/library/library.phtml b/airtime_mvc/application/views/scripts/library/library.phtml
index d1f8d7cb8..fda9aec34 100644
--- a/airtime_mvc/application/views/scripts/library/library.phtml
+++ b/airtime_mvc/application/views/scripts/library/library.phtml
@@ -3,7 +3,5 @@
File import in progress...
-
+
diff --git a/airtime_mvc/application/views/scripts/showbuilder/builder.phtml b/airtime_mvc/application/views/scripts/showbuilder/builder.phtml
index d33f605ca..f9374325a 100644
--- a/airtime_mvc/application/views/scripts/showbuilder/builder.phtml
+++ b/airtime_mvc/application/views/scripts/showbuilder/builder.phtml
@@ -1,6 +1,2 @@
-
-
-
-
-
+sb_form; ?>
diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml
index 89c86b891..edc6b2b86 100644
--- a/airtime_mvc/build/schema.xml
+++ b/airtime_mvc/build/schema.xml
@@ -156,7 +156,8 @@
-
+
+
' : '-->') . PHP_EOL
- . '';
-
- return $style;
- }
-
- /**
- * Render DjConfig values
- *
- * @return string
- */
- protected function _renderDjConfig()
- {
- $djConfigValues = $this->getDjConfig();
- if (empty($djConfigValues)) {
- return '';
- }
-
- require_once 'Zend/Json.php';
- $scriptTag = '';
-
- return $scriptTag;
- }
-
- /**
- * Render dojo script tag
- *
- * Renders Dojo script tag by utilizing either local path provided or the
- * CDN. If any djConfig values were set, they will be serialized and passed
- * with that attribute.
- *
- * @return string
- */
- protected function _renderDojoScriptTag()
- {
- if ($this->useCdn()) {
- $source = $this->getCdnBase()
- . $this->getCdnVersion()
- . $this->getCdnDojoPath();
- } else {
- $source = $this->getLocalPath();
- }
-
- $scriptTag = '';
- return $scriptTag;
- }
-
- /**
- * Render layers (custom builds) as script tags
- *
- * @return string
- */
- protected function _renderLayers()
- {
- $layers = $this->getLayers();
- if (empty($layers)) {
- return '';
- }
-
- $enc = 'UTF-8';
- if ($this->view instanceof Zend_View_Interface
- && method_exists($this->view, 'getEncoding')
- ) {
- $enc = $this->view->getEncoding();
- }
-
- $html = array();
- foreach ($layers as $path) {
- $html[] = sprintf(
- '',
- htmlspecialchars($path, ENT_QUOTES, $enc)
- );
- }
-
- return implode("\n", $html);
- }
-
- /**
- * Render dojo module paths and requires
- *
- * @return string
- */
- protected function _renderExtras()
- {
- $js = array();
- $modulePaths = $this->getModulePaths();
- if (!empty($modulePaths)) {
- foreach ($modulePaths as $module => $path) {
- $js[] = 'dojo.registerModulePath("' . $this->view->escape($module) . '", "' . $this->view->escape($path) . '");';
- }
- }
-
- $modules = $this->getModules();
- if (!empty($modules)) {
- foreach ($modules as $module) {
- $js[] = 'dojo.require("' . $this->view->escape($module) . '");';
- }
- }
-
- $onLoadActions = array();
- // Get Zend specific onLoad actions; these will always be first to
- // ensure that dijits are created in the correct order
- foreach ($this->_getZendLoadActions() as $callback) {
- $onLoadActions[] = 'dojo.addOnLoad(' . $callback . ');';
- }
-
- // Get all other onLoad actions
- foreach ($this->getOnLoadActions() as $callback) {
- $onLoadActions[] = 'dojo.addOnLoad(' . $callback . ');';
- }
-
- $javascript = implode("\n ", $this->getJavascript());
-
- $content = '';
- if (!empty($js)) {
- $content .= implode("\n ", $js) . "\n";
- }
-
- if (!empty($onLoadActions)) {
- $content .= implode("\n ", $onLoadActions) . "\n";
- }
-
- if (!empty($javascript)) {
- $content .= $javascript . "\n";
- }
-
- if (preg_match('/^\s*$/s', $content)) {
- return '';
- }
-
- $html = '';
- return $html;
- }
-
- /**
- * Add an onLoad action related to ZF dijit creation
- *
- * This method is public, but prefixed with an underscore to indicate that
- * it should not normally be called by userland code. It is pertinent to
- * ensuring that the correct order of operations occurs during dijit
- * creation.
- *
- * @param string $callback
- * @return Zend_Dojo_View_Helper_Dojo_Container
- */
- public function _addZendLoad($callback)
- {
- if (!in_array($callback, $this->_zendLoadActions, true)) {
- $this->_zendLoadActions[] = $callback;
- }
- return $this;
- }
-
- /**
- * Retrieve all ZF dijit callbacks
- *
- * @return array
- */
- public function _getZendLoadActions()
- {
- return $this->_zendLoadActions;
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/Editor.php b/airtime_mvc/library/Zend/Dojo/View/Helper/Editor.php
deleted file mode 100644
index dfe591609..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/Editor.php
+++ /dev/null
@@ -1,187 +0,0 @@
- 'LinkDialog',
- 'insertImage' => 'LinkDialog',
- 'fontName' => 'FontChoice',
- 'fontSize' => 'FontChoice',
- 'formatBlock' => 'FontChoice',
- 'foreColor' => 'TextColor',
- 'hiliteColor' => 'TextColor'
- );
-
- /**
- * JSON-encoded parameters
- * @var array
- */
- protected $_jsonParams = array('captureEvents', 'events', 'plugins');
-
- /**
- * dijit.Editor
- *
- * @param string $id
- * @param string $value
- * @param array $params
- * @param array $attribs
- * @return string
- */
- public function editor($id, $value = null, $params = array(), $attribs = array())
- {
- if (isset($params['plugins'])) {
- foreach ($this->_getRequiredModules($params['plugins']) as $module) {
- $this->dojo->requireModule($module);
- }
- }
-
- // Previous versions allowed specifying "degrade" to allow using a
- // textarea instead of a div -- but this is insecure. Removing the
- // parameter if set to prevent its injection in the dijit.
- if (isset($params['degrade'])) {
- unset($params['degrade']);
- }
-
- $hiddenName = $id;
- if (array_key_exists('id', $attribs)) {
- $hiddenId = $attribs['id'];
- } else {
- $hiddenId = $hiddenName;
- }
- $hiddenId = $this->_normalizeId($hiddenId);
-
- $textareaName = $this->_normalizeEditorName($hiddenName);
- $textareaId = $hiddenId . '-Editor';
-
- $hiddenAttribs = array(
- 'id' => $hiddenId,
- 'name' => $hiddenName,
- 'value' => $value,
- 'type' => 'hidden',
- );
- $attribs['id'] = $textareaId;
-
- $this->_createGetParentFormFunction();
- $this->_createEditorOnSubmit($hiddenId, $textareaId);
-
- $attribs = $this->_prepareDijit($attribs, $params, 'textarea');
-
- $html = ' _htmlAttribs($hiddenAttribs) . $this->getClosingBracket();
- $html .= '_htmlAttribs($attribs) . '>'
- . $value
- . "
\n";
-
- // Embed a textarea in a tag to allow for graceful
- // degradation
- $html .= ''
- . $this->view->formTextarea($hiddenId, $value, $attribs)
- . ' ';
-
- return $html;
- }
-
- /**
- * Generates the list of required modules to include, if any is needed.
- *
- * @param array $plugins plugins to include
- * @return array
- */
- protected function _getRequiredModules(array $plugins)
- {
- $modules = array();
- foreach ($plugins as $commandName) {
- if (isset($this->_pluginsModules[$commandName])) {
- $pluginName = $this->_pluginsModules[$commandName];
- $modules[] = 'dijit._editor.plugins.' . $pluginName;
- }
- }
-
- return array_unique($modules);
- }
-
- /**
- * Normalize editor element name
- *
- * @param string $name
- * @return string
- */
- protected function _normalizeEditorName($name)
- {
- if ('[]' == substr($name, -2)) {
- $name = substr($name, 0, strlen($name) - 2);
- $name .= '[Editor][]';
- } else {
- $name .= '[Editor]';
- }
- return $name;
- }
-
- /**
- * Create onSubmit binding for element
- *
- * @param string $hiddenId
- * @param string $editorId
- * @return void
- */
- protected function _createEditorOnSubmit($hiddenId, $editorId)
- {
- $this->dojo->onLoadCaptureStart();
- echo <<dojo->onLoadCaptureEnd();
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/FilteringSelect.php b/airtime_mvc/library/Zend/Dojo/View/Helper/FilteringSelect.php
deleted file mode 100644
index ed9a39af9..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/FilteringSelect.php
+++ /dev/null
@@ -1,63 +0,0 @@
-comboBox($id, $value, $params, $attribs, $options);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/Form.php b/airtime_mvc/library/Zend/Dojo/View/Helper/Form.php
deleted file mode 100644
index 725f5494f..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/Form.php
+++ /dev/null
@@ -1,96 +0,0 @@
-_prepareDijit($attribs, array(), 'layout');
-
- return $this->getFormHelper()->form($id, $attribs, $content);
- }
-
- /**
- * Get standard form helper
- *
- * @return Zend_View_Helper_Form
- */
- public function getFormHelper()
- {
- if (null === $this->_helper) {
- require_once 'Zend/View/Helper/Form.php';
- $this->_helper = new Zend_View_Helper_Form;
- $this->_helper->setView($this->view);
- }
- return $this->_helper;
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/HorizontalSlider.php b/airtime_mvc/library/Zend/Dojo/View/Helper/HorizontalSlider.php
deleted file mode 100644
index ab4b8a08b..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/HorizontalSlider.php
+++ /dev/null
@@ -1,62 +0,0 @@
-prepareSlider($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/NumberSpinner.php b/airtime_mvc/library/Zend/Dojo/View/Helper/NumberSpinner.php
deleted file mode 100644
index 621db641d..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/NumberSpinner.php
+++ /dev/null
@@ -1,90 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/NumberTextBox.php b/airtime_mvc/library/Zend/Dojo/View/Helper/NumberTextBox.php
deleted file mode 100644
index f7b8126f8..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/NumberTextBox.php
+++ /dev/null
@@ -1,68 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/PasswordTextBox.php b/airtime_mvc/library/Zend/Dojo/View/Helper/PasswordTextBox.php
deleted file mode 100644
index 1672f7f9b..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/PasswordTextBox.php
+++ /dev/null
@@ -1,56 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/RadioButton.php b/airtime_mvc/library/Zend/Dojo/View/Helper/RadioButton.php
deleted file mode 100644
index 74c3e8143..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/RadioButton.php
+++ /dev/null
@@ -1,89 +0,0 @@
-\n"
- ) {
- $attribs['name'] = $id;
- if (!array_key_exists('id', $attribs)) {
- $attribs['id'] = $id;
- }
- $attribs = $this->_prepareDijit($attribs, $params, 'element');
-
- if (is_array($options) && $this->_useProgrammatic() && !$this->_useProgrammaticNoScript()) {
- $baseId = $id;
- if (array_key_exists('id', $attribs)) {
- $baseId = $attribs['id'];
- }
- require_once 'Zend/Filter/Alnum.php';
- $filter = new Zend_Filter_Alnum();
- foreach (array_keys($options) as $key) {
- $optId = $baseId . '-' . $filter->filter($key);
- $this->_createDijit($this->_dijit, $optId, array());
- }
- }
-
- return $this->view->formRadio($id, $value, $attribs, $options, $listsep);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/SimpleTextarea.php b/airtime_mvc/library/Zend/Dojo/View/Helper/SimpleTextarea.php
deleted file mode 100644
index 1f66f691b..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/SimpleTextarea.php
+++ /dev/null
@@ -1,78 +0,0 @@
-_elementType;
-
- $attribs = $this->_prepareDijit($attribs, $params, 'textarea');
-
- $html = '\n";
-
- return $html;
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/Slider.php b/airtime_mvc/library/Zend/Dojo/View/Helper/Slider.php
deleted file mode 100644
index 6796be3d1..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/Slider.php
+++ /dev/null
@@ -1,251 +0,0 @@
-_sliderType = strtolower($this->_sliderType);
-
- // Prepare two items: a hidden element to store the value, and the slider
- $hidden = $this->_renderHiddenElement($id, $value);
- $hidden = preg_replace('/(name=")([^"]*)"/', 'id="$2" $1$2"', $hidden);
-
- foreach ($this->_requiredParams as $param) {
- if (!array_key_exists($param, $params)) {
- require_once 'Zend/Dojo/View/Exception.php';
- throw new Zend_Dojo_View_Exception('prepareSlider() requires minimally the "minimum", "maximum", and "discreteValues" parameters');
- }
- }
-
- $content = '';
- $params['value'] = $value;
-
- if (!array_key_exists('onChange', $attribs)) {
- $attribs['onChange'] = "dojo.byId('" . $id . "').value = arguments[0];";
- }
-
- $id = str_replace('][', '-', $id);
- $id = str_replace(array('[', ']'), '-', $id);
- $id = rtrim($id, '-');
- $id .= '-slider';
-
- switch ($this->_sliderType) {
- case 'horizontal':
- if (array_key_exists('topDecoration', $params)) {
- $content .= $this->_prepareDecoration('topDecoration', $id, $params['topDecoration']);
- unset($params['topDecoration']);
- }
-
- if (array_key_exists('bottomDecoration', $params)) {
- $content .= $this->_prepareDecoration('bottomDecoration', $id, $params['bottomDecoration']);
- unset($params['bottomDecoration']);
- }
-
- if (array_key_exists('leftDecoration', $params)) {
- unset($params['leftDecoration']);
- }
-
- if (array_key_exists('rightDecoration', $params)) {
- unset($params['rightDecoration']);
- }
- break;
- case 'vertical':
- if (array_key_exists('leftDecoration', $params)) {
- $content .= $this->_prepareDecoration('leftDecoration', $id, $params['leftDecoration']);
- unset($params['leftDecoration']);
- }
-
- if (array_key_exists('rightDecoration', $params)) {
- $content .= $this->_prepareDecoration('rightDecoration', $id, $params['rightDecoration']);
- unset($params['rightDecoration']);
- }
-
- if (array_key_exists('topDecoration', $params)) {
- unset($params['topDecoration']);
- }
-
- if (array_key_exists('bottomDecoration', $params)) {
- unset($params['bottomDecoration']);
- }
- break;
- default:
- require_once 'Zend/Dojo/View/Exception.php';
- throw new Zend_Dojo_View_Exception('Invalid slider type; slider must be horizontal or vertical');
- }
-
- return $hidden . $this->_createLayoutContainer($id, $content, $params, $attribs);
- }
-
- /**
- * Prepare slider decoration
- *
- * @param string $position
- * @param string $id
- * @param array $decInfo
- * @return string
- */
- protected function _prepareDecoration($position, $id, $decInfo)
- {
- if (!in_array($position, array('topDecoration', 'bottomDecoration', 'leftDecoration', 'rightDecoration'))) {
- return '';
- }
-
- if (!is_array($decInfo)
- || !array_key_exists('labels', $decInfo)
- || !is_array($decInfo['labels'])
- ) {
- return '';
- }
-
- $id .= '-' . $position;
-
- if (!array_key_exists('dijit', $decInfo)) {
- $dijit = 'dijit.form.' . ucfirst($this->_sliderType) . 'Rule';
- } else {
- $dijit = $decInfo['dijit'];
- if ('dijit.form.' != substr($dijit, 0, 10)) {
- $dijit = 'dijit.form.' . $dijit;
- }
- }
-
- $params = array();
- $attribs = array();
- $labels = $decInfo['labels'];
- if (array_key_exists('params', $decInfo)) {
- $params = $decInfo['params'];
- }
- if (array_key_exists('attribs', $decInfo)) {
- $attribs = $decInfo['attribs'];
- }
-
- $containerParams = null;
- if (array_key_exists('container', $params)) {
- $containerParams = $params['container'];
- unset($params['container']);
- }
-
- if (array_key_exists('labels', $params)) {
- $labelsParams = $params['labels'];
- unset($params['labels']);
- } else {
- $labelsParams = $params;
- }
-
- if (null === $containerParams) {
- $containerParams = $params;
- }
-
- $containerAttribs = null;
- if (array_key_exists('container', $attribs)) {
- $containerAttribs = $attribs['container'];
- unset($attribs['container']);
- }
-
- if (array_key_exists('labels', $attribs)) {
- $labelsAttribs = $attribs['labels'];
- unset($attribs['labels']);
- } else {
- $labelsAttribs = $attribs;
- }
-
- if (null === $containerAttribs) {
- $containerAttribs = $attribs;
- }
-
- $containerParams['container'] = $position;
- $labelsParams['container'] = $position;
-
- $labelList = $this->_prepareLabelsList($id, $labelsParams, $labelsAttribs, $labels);
-
- $dijit = 'dijit.form.' . ucfirst($this->_sliderType) . 'Rule';
- $containerAttribs['id'] = $id;
- $containerAttribs = $this->_prepareDijit($containerAttribs, $containerParams, 'layout', $dijit);
- $containerHtml = '_htmlAttribs($containerAttribs) . ">
\n";
-
- switch ($position) {
- case 'topDecoration':
- case 'leftDecoration':
- return $labelList . $containerHtml;
- case 'bottomDecoration':
- case 'rightDecoration':
- return $containerHtml . $labelList;
- }
- }
-
- /**
- * Prepare slider label list
- *
- * @param string $id
- * @param array $params
- * @param array $attribs
- * @param array $labels
- * @return string
- */
- protected function _prepareLabelsList($id, array $params, array $attribs, array $labels)
- {
- $attribs['id'] = $id . '-labels';
- $dijit = 'dijit.form.' . ucfirst($this->_sliderType) . 'RuleLabels';
- $attribs = $this->_prepareDijit($attribs, $params, 'layout', $dijit);
-
- return $this->view->htmlList($labels, true, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/SplitContainer.php b/airtime_mvc/library/Zend/Dojo/View/Helper/SplitContainer.php
deleted file mode 100644
index d1350def4..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/SplitContainer.php
+++ /dev/null
@@ -1,66 +0,0 @@
-_createLayoutContainer($id, $content, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/StackContainer.php b/airtime_mvc/library/Zend/Dojo/View/Helper/StackContainer.php
deleted file mode 100644
index e6be5f8ef..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/StackContainer.php
+++ /dev/null
@@ -1,66 +0,0 @@
-_createLayoutContainer($id, $content, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/SubmitButton.php b/airtime_mvc/library/Zend/Dojo/View/Helper/SubmitButton.php
deleted file mode 100644
index 7683f3828..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/SubmitButton.php
+++ /dev/null
@@ -1,67 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/TabContainer.php b/airtime_mvc/library/Zend/Dojo/View/Helper/TabContainer.php
deleted file mode 100644
index 5cfdfa021..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/TabContainer.php
+++ /dev/null
@@ -1,66 +0,0 @@
-_createLayoutContainer($id, $content, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/TextBox.php b/airtime_mvc/library/Zend/Dojo/View/Helper/TextBox.php
deleted file mode 100644
index f1e104060..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/TextBox.php
+++ /dev/null
@@ -1,68 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/Textarea.php b/airtime_mvc/library/Zend/Dojo/View/Helper/Textarea.php
deleted file mode 100644
index 95bbed0fb..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/Textarea.php
+++ /dev/null
@@ -1,80 +0,0 @@
-_elementType;
-
- $attribs = $this->_prepareDijit($attribs, $params, 'textarea');
-
- $html = '\n";
-
- return $html;
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/TimeTextBox.php b/airtime_mvc/library/Zend/Dojo/View/Helper/TimeTextBox.php
deleted file mode 100644
index a56ec1e2b..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/TimeTextBox.php
+++ /dev/null
@@ -1,68 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/ValidationTextBox.php b/airtime_mvc/library/Zend/Dojo/View/Helper/ValidationTextBox.php
deleted file mode 100644
index f480b595d..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/ValidationTextBox.php
+++ /dev/null
@@ -1,68 +0,0 @@
-_createFormElement($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dojo/View/Helper/VerticalSlider.php b/airtime_mvc/library/Zend/Dojo/View/Helper/VerticalSlider.php
deleted file mode 100644
index bdcaeb219..000000000
--- a/airtime_mvc/library/Zend/Dojo/View/Helper/VerticalSlider.php
+++ /dev/null
@@ -1,62 +0,0 @@
-prepareSlider($id, $value, $params, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dom/Exception.php b/airtime_mvc/library/Zend/Dom/Exception.php
deleted file mode 100644
index 7517a7ad7..000000000
--- a/airtime_mvc/library/Zend/Dom/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
-setDocument($document);
- }
-
- /**
- * Set document to query
- *
- * @param string $document
- * @return Zend_Dom_Query
- */
- public function setDocument($document)
- {
- if (0 === strlen($document)) {
- return $this;
- }
- // breaking XML declaration to make syntax highlighting work
- if ('<' . '?xml' == substr(trim($document), 0, 5)) {
- return $this->setDocumentXml($document);
- }
- if (strstr($document, 'DTD XHTML')) {
- return $this->setDocumentXhtml($document);
- }
- return $this->setDocumentHtml($document);
- }
-
- /**
- * Register HTML document
- *
- * @param string $document
- * @return Zend_Dom_Query
- */
- public function setDocumentHtml($document)
- {
- $this->_document = (string) $document;
- $this->_docType = self::DOC_HTML;
- return $this;
- }
-
- /**
- * Register XHTML document
- *
- * @param string $document
- * @return Zend_Dom_Query
- */
- public function setDocumentXhtml($document)
- {
- $this->_document = (string) $document;
- $this->_docType = self::DOC_XHTML;
- return $this;
- }
-
- /**
- * Register XML document
- *
- * @param string $document
- * @return Zend_Dom_Query
- */
- public function setDocumentXml($document)
- {
- $this->_document = (string) $document;
- $this->_docType = self::DOC_XML;
- return $this;
- }
-
- /**
- * Retrieve current document
- *
- * @return string
- */
- public function getDocument()
- {
- return $this->_document;
- }
-
- /**
- * Get document type
- *
- * @return string
- */
- public function getDocumentType()
- {
- return $this->_docType;
- }
-
- /**
- * Get any DOMDocument errors found
- *
- * @return false|array
- */
- public function getDocumentErrors()
- {
- return $this->_documentErrors;
- }
-
- /**
- * Perform a CSS selector query
- *
- * @param string $query
- * @return Zend_Dom_Query_Result
- */
- public function query($query)
- {
- $xpathQuery = Zend_Dom_Query_Css2Xpath::transform($query);
- return $this->queryXpath($xpathQuery, $query);
- }
-
- /**
- * Perform an XPath query
- *
- * @param string|array $xpathQuery
- * @param string $query CSS selector query
- * @return Zend_Dom_Query_Result
- */
- public function queryXpath($xpathQuery, $query = null)
- {
- if (null === ($document = $this->getDocument())) {
- require_once 'Zend/Dom/Exception.php';
- throw new Zend_Dom_Exception('Cannot query; no document registered');
- }
-
- libxml_use_internal_errors(true);
- $domDoc = new DOMDocument;
- $type = $this->getDocumentType();
- switch ($type) {
- case self::DOC_XML:
- $success = $domDoc->loadXML($document);
- break;
- case self::DOC_HTML:
- case self::DOC_XHTML:
- default:
- $success = $domDoc->loadHTML($document);
- break;
- }
- $errors = libxml_get_errors();
- if (!empty($errors)) {
- $this->_documentErrors = $errors;
- libxml_clear_errors();
- }
- libxml_use_internal_errors(false);
-
- if (!$success) {
- require_once 'Zend/Dom/Exception.php';
- throw new Zend_Dom_Exception(sprintf('Error parsing document (type == %s)', $type));
- }
-
- $nodeList = $this->_getNodeList($domDoc, $xpathQuery);
- return new Zend_Dom_Query_Result($query, $xpathQuery, $domDoc, $nodeList);
- }
-
- /**
- * Prepare node list
- *
- * @param DOMDocument $document
- * @param string|array $xpathQuery
- * @return array
- */
- protected function _getNodeList($document, $xpathQuery)
- {
- $xpath = new DOMXPath($document);
- $xpathQuery = (string) $xpathQuery;
- if (preg_match_all('|\[contains\((@[a-z0-9_-]+),\s?\' |i', $xpathQuery, $matches)) {
- foreach ($matches[1] as $attribute) {
- $queryString = '//*[' . $attribute . ']';
- $attributeName = substr($attribute, 1);
- $nodes = $xpath->query($queryString);
- foreach ($nodes as $node) {
- $attr = $node->attributes->getNamedItem($attributeName);
- $attr->value = ' ' . $attr->value . ' ';
- }
- }
- }
- return $xpath->query($xpathQuery);
- }
-}
diff --git a/airtime_mvc/library/Zend/Dom/Query/Css2Xpath.php b/airtime_mvc/library/Zend/Dom/Query/Css2Xpath.php
deleted file mode 100644
index 351b45322..000000000
--- a/airtime_mvc/library/Zend/Dom/Query/Css2Xpath.php
+++ /dev/null
@@ -1,142 +0,0 @@
-\s+|', '>', $path);
- $segments = preg_split('/\s+/', $path);
- foreach ($segments as $key => $segment) {
- $pathSegment = self::_tokenize($segment);
- if (0 == $key) {
- if (0 === strpos($pathSegment, '[contains(@class')) {
- $paths[0] .= '*' . $pathSegment;
- } else {
- $paths[0] .= $pathSegment;
- }
- continue;
- }
- if (0 === strpos($pathSegment, '[contains(@class')) {
- foreach ($paths as $key => $xpath) {
- $paths[$key] .= '//*' . $pathSegment;
- $paths[] = $xpath . $pathSegment;
- }
- } else {
- foreach ($paths as $key => $xpath) {
- $paths[$key] .= '//' . $pathSegment;
- }
- }
- }
-
- if (1 == count($paths)) {
- return $paths[0];
- }
- return implode('|', $paths);
- }
-
- /**
- * Tokenize CSS expressions to XPath
- *
- * @param string $expression
- * @return string
- */
- protected static function _tokenize($expression)
- {
- // Child selectors
- $expression = str_replace('>', '/', $expression);
-
- // IDs
- $expression = preg_replace('|#([a-z][a-z0-9_-]*)|i', '[@id=\'$1\']', $expression);
- $expression = preg_replace('|(?_cssQuery = $cssQuery;
- $this->_xpathQuery = $xpathQuery;
- $this->_document = $document;
- $this->_nodeList = $nodeList;
- }
-
- /**
- * Retrieve CSS Query
- *
- * @return string
- */
- public function getCssQuery()
- {
- return $this->_cssQuery;
- }
-
- /**
- * Retrieve XPath query
- *
- * @return string
- */
- public function getXpathQuery()
- {
- return $this->_xpathQuery;
- }
-
- /**
- * Retrieve DOMDocument
- *
- * @return DOMDocument
- */
- public function getDocument()
- {
- return $this->_document;
- }
-
- /**
- * Iterator: rewind to first element
- *
- * @return void
- */
- public function rewind()
- {
- $this->_position = 0;
- return $this->_nodeList->item(0);
- }
-
- /**
- * Iterator: is current position valid?
- *
- * @return bool
- */
- public function valid()
- {
- if (in_array($this->_position, range(0, $this->_nodeList->length - 1)) && $this->_nodeList->length > 0) {
- return true;
- }
- return false;
- }
-
- /**
- * Iterator: return current element
- *
- * @return DOMElement
- */
- public function current()
- {
- return $this->_nodeList->item($this->_position);
- }
-
- /**
- * Iterator: return key of current element
- *
- * @return int
- */
- public function key()
- {
- return $this->_position;
- }
-
- /**
- * Iterator: move to next element
- *
- * @return void
- */
- public function next()
- {
- ++$this->_position;
- return $this->_nodeList->item($this->_position);
- }
-
- /**
- * Countable: get count
- *
- * @return int
- */
- public function count()
- {
- return $this->_nodeList->length;
- }
-}
diff --git a/airtime_mvc/library/Zend/Exception.php b/airtime_mvc/library/Zend/Exception.php
deleted file mode 100644
index bbfb792e9..000000000
--- a/airtime_mvc/library/Zend/Exception.php
+++ /dev/null
@@ -1,95 +0,0 @@
-_previous = $previous;
- } else {
- parent::__construct($msg, (int) $code, $previous);
- }
- }
-
- /**
- * Overloading
- *
- * For PHP < 5.3.0, provides access to the getPrevious() method.
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, array $args)
- {
- if ('getprevious' == strtolower($method)) {
- return $this->_getPrevious();
- }
- return null;
- }
-
- /**
- * String representation of the exception
- *
- * @return string
- */
- public function __toString()
- {
- if (version_compare(PHP_VERSION, '5.3.0', '<')) {
- if (null !== ($e = $this->getPrevious())) {
- return $e->__toString()
- . "\n\nNext "
- . parent::__toString();
- }
- }
- return parent::__toString();
- }
-
- /**
- * Returns previous Exception
- *
- * @return Exception|null
- */
- protected function _getPrevious()
- {
- return $this->_previous;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed.php b/airtime_mvc/library/Zend/Feed.php
deleted file mode 100644
index 93154a91c..000000000
--- a/airtime_mvc/library/Zend/Feed.php
+++ /dev/null
@@ -1,411 +0,0 @@
- 'http://a9.com/-/spec/opensearchrss/1.0/',
- 'atom' => 'http://www.w3.org/2005/Atom',
- 'rss' => 'http://blogs.law.harvard.edu/tech/rss',
- );
-
-
- /**
- * Set the HTTP client instance
- *
- * Sets the HTTP client object to use for retrieving the feeds.
- *
- * @param Zend_Http_Client $httpClient
- * @return void
- */
- public static function setHttpClient(Zend_Http_Client $httpClient)
- {
- self::$_httpClient = $httpClient;
- }
-
-
- /**
- * Gets the HTTP client object. If none is set, a new Zend_Http_Client will be used.
- *
- * @return Zend_Http_Client_Abstract
- */
- public static function getHttpClient()
- {
- if (!self::$_httpClient instanceof Zend_Http_Client) {
- /**
- * @see Zend_Http_Client
- */
- require_once 'Zend/Http/Client.php';
- self::$_httpClient = new Zend_Http_Client();
- }
-
- return self::$_httpClient;
- }
-
-
- /**
- * Toggle using POST instead of PUT and DELETE HTTP methods
- *
- * Some feed implementations do not accept PUT and DELETE HTTP
- * methods, or they can't be used because of proxies or other
- * measures. This allows turning on using POST where PUT and
- * DELETE would normally be used; in addition, an
- * X-Method-Override header will be sent with a value of PUT or
- * DELETE as appropriate.
- *
- * @param boolean $override Whether to override PUT and DELETE.
- * @return void
- */
- public static function setHttpMethodOverride($override = true)
- {
- self::$_httpMethodOverride = $override;
- }
-
-
- /**
- * Get the HTTP override state
- *
- * @return boolean
- */
- public static function getHttpMethodOverride()
- {
- return self::$_httpMethodOverride;
- }
-
-
- /**
- * Get the full version of a namespace prefix
- *
- * Looks up a prefix (atom:, etc.) in the list of registered
- * namespaces and returns the full namespace URI if
- * available. Returns the prefix, unmodified, if it's not
- * registered.
- *
- * @return string
- */
- public static function lookupNamespace($prefix)
- {
- return isset(self::$_namespaces[$prefix]) ?
- self::$_namespaces[$prefix] :
- $prefix;
- }
-
-
- /**
- * Add a namespace and prefix to the registered list
- *
- * Takes a prefix and a full namespace URI and adds them to the
- * list of registered namespaces for use by
- * Zend_Feed::lookupNamespace().
- *
- * @param string $prefix The namespace prefix
- * @param string $namespaceURI The full namespace URI
- * @return void
- */
- public static function registerNamespace($prefix, $namespaceURI)
- {
- self::$_namespaces[$prefix] = $namespaceURI;
- }
-
-
- /**
- * Imports a feed located at $uri.
- *
- * @param string $uri
- * @throws Zend_Feed_Exception
- * @return Zend_Feed_Abstract
- */
- public static function import($uri)
- {
- $client = self::getHttpClient();
- $client->setUri($uri);
- $response = $client->request('GET');
- if ($response->getStatus() !== 200) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus());
- }
- $feed = $response->getBody();
- return self::importString($feed);
- }
-
-
- /**
- * Imports a feed represented by $string.
- *
- * @param string $string
- * @throws Zend_Feed_Exception
- * @return Zend_Feed_Abstract
- */
- public static function importString($string)
- {
- // Load the feed as an XML DOMDocument object
- $libxml_errflag = libxml_use_internal_errors(true);
- $doc = new DOMDocument;
- if (trim($string) == '') {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Document/string being imported'
- . ' is an Empty string or comes from an empty HTTP response');
- }
- $status = $doc->loadXML($string);
- libxml_use_internal_errors($libxml_errflag);
-
-
- if (!$status) {
- // prevent the class to generate an undefined variable notice (ZF-2590)
- // Build error message
- $error = libxml_get_last_error();
- if ($error && $error->message) {
- $errormsg = "DOMDocument cannot parse XML: {$error->message}";
- } else {
- $errormsg = "DOMDocument cannot parse XML";
- }
-
-
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception($errormsg);
- }
-
- // Try to find the base feed element or a single of an Atom feed
- if ($doc->getElementsByTagName('feed')->item(0) ||
- $doc->getElementsByTagName('entry')->item(0)) {
- /**
- * @see Zend_Feed_Atom
- */
- require_once 'Zend/Feed/Atom.php';
- // return a newly created Zend_Feed_Atom object
- return new Zend_Feed_Atom(null, $string);
- }
-
- // Try to find the base feed element of an RSS feed
- if ($doc->getElementsByTagName('channel')->item(0)) {
- /**
- * @see Zend_Feed_Rss
- */
- require_once 'Zend/Feed/Rss.php';
- // return a newly created Zend_Feed_Rss object
- return new Zend_Feed_Rss(null, $string);
- }
-
- // $string does not appear to be a valid feed of the supported types
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid or unsupported feed format');
- }
-
-
- /**
- * Imports a feed from a file located at $filename.
- *
- * @param string $filename
- * @throws Zend_Feed_Exception
- * @return Zend_Feed_Abstract
- */
- public static function importFile($filename)
- {
- @ini_set('track_errors', 1);
- $feed = @file_get_contents($filename);
- @ini_restore('track_errors');
- if ($feed === false) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("File could not be loaded: $php_errormsg");
- }
- return self::importString($feed);
- }
-
-
- /**
- * Attempts to find feeds at $uri referenced by tags. Returns an
- * array of the feeds referenced at $uri.
- *
- * @todo Allow findFeeds() to follow one, but only one, code 302.
- *
- * @param string $uri
- * @throws Zend_Feed_Exception
- * @return array
- */
- public static function findFeeds($uri)
- {
- // Get the HTTP response from $uri and save the contents
- $client = self::getHttpClient();
- $client->setUri($uri);
- $response = $client->request();
- if ($response->getStatus() !== 200) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("Failed to access $uri, got response code " . $response->getStatus());
- }
- $contents = $response->getBody();
-
- // Parse the contents for appropriate tags
- @ini_set('track_errors', 1);
- $pattern = '~( ]+)/?>~i';
- $result = @preg_match_all($pattern, $contents, $matches);
- @ini_restore('track_errors');
- if ($result === false) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("Internal error: $php_errormsg");
- }
-
- // Try to fetch a feed for each link tag that appears to refer to a feed
- $feeds = array();
- if (isset($matches[1]) && count($matches[1]) > 0) {
- foreach ($matches[1] as $link) {
- // force string to be an utf-8 one
- if (!mb_check_encoding($link, 'UTF-8')) {
- $link = mb_convert_encoding($link, 'UTF-8');
- }
- $xml = @simplexml_load_string(rtrim($link, ' /') . ' />');
- if ($xml === false) {
- continue;
- }
- $attributes = $xml->attributes();
- if (!isset($attributes['rel']) || !@preg_match('~^(?:alternate|service\.feed)~i', $attributes['rel'])) {
- continue;
- }
- if (!isset($attributes['type']) ||
- !@preg_match('~^application/(?:atom|rss|rdf)\+xml~', $attributes['type'])) {
- continue;
- }
- if (!isset($attributes['href'])) {
- continue;
- }
- try {
- // checks if we need to canonize the given uri
- try {
- $uri = Zend_Uri::factory((string) $attributes['href']);
- } catch (Zend_Uri_Exception $e) {
- // canonize the uri
- $path = (string) $attributes['href'];
- $query = $fragment = '';
- if (substr($path, 0, 1) != '/') {
- // add the current root path to this one
- $path = rtrim($client->getUri()->getPath(), '/') . '/' . $path;
- }
- if (strpos($path, '?') !== false) {
- list($path, $query) = explode('?', $path, 2);
- }
- if (strpos($query, '#') !== false) {
- list($query, $fragment) = explode('#', $query, 2);
- }
- $uri = Zend_Uri::factory($client->getUri(true));
- $uri->setPath($path);
- $uri->setQuery($query);
- $uri->setFragment($fragment);
- }
-
- $feed = self::import($uri);
- } catch (Exception $e) {
- continue;
- }
- $feeds[$uri->getUri()] = $feed;
- }
- }
-
- // Return the fetched feeds
- return $feeds;
- }
-
- /**
- * Construct a new Zend_Feed_Abstract object from a custom array
- *
- * @param array $data
- * @param string $format (rss|atom) the requested output format
- * @return Zend_Feed_Abstract
- */
- public static function importArray(array $data, $format = 'atom')
- {
- $obj = 'Zend_Feed_' . ucfirst(strtolower($format));
- if (!class_exists($obj)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($obj);
- }
-
- /**
- * @see Zend_Feed_Builder
- */
- require_once 'Zend/Feed/Builder.php';
- return new $obj(null, null, new Zend_Feed_Builder($data));
- }
-
- /**
- * Construct a new Zend_Feed_Abstract object from a Zend_Feed_Builder_Interface data source
- *
- * @param Zend_Feed_Builder_Interface $builder this object will be used to extract the data of the feed
- * @param string $format (rss|atom) the requested output format
- * @return Zend_Feed_Abstract
- */
- public static function importBuilder(Zend_Feed_Builder_Interface $builder, $format = 'atom')
- {
- $obj = 'Zend_Feed_' . ucfirst(strtolower($format));
- if (!class_exists($obj)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($obj);
- }
- return new $obj(null, null, $builder);
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Abstract.php b/airtime_mvc/library/Zend/Feed/Abstract.php
deleted file mode 100644
index 5cba5a251..000000000
--- a/airtime_mvc/library/Zend/Feed/Abstract.php
+++ /dev/null
@@ -1,259 +0,0 @@
-setUri($uri);
- $response = $client->request('GET');
- if ($response->getStatus() !== 200) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus());
- }
- $this->_element = $response->getBody();
- $this->__wakeup();
- } elseif ($string !== null) {
- // Retrieve the feed from $string
- $this->_element = $string;
- $this->__wakeup();
- } else {
- // Generate the feed from the array
- $header = $builder->getHeader();
- $this->_element = new DOMDocument('1.0', $header['charset']);
- $root = $this->_mapFeedHeaders($header);
- $this->_mapFeedEntries($root, $builder->getEntries());
- $this->_element = $root;
- $this->_buildEntryCache();
- }
- }
-
-
- /**
- * Load the feed as an XML DOMDocument object
- *
- * @return void
- * @throws Zend_Feed_Exception
- */
- public function __wakeup()
- {
- @ini_set('track_errors', 1);
- $doc = new DOMDocument;
- $status = @$doc->loadXML($this->_element);
- @ini_restore('track_errors');
-
- if (!$status) {
- // prevent the class to generate an undefined variable notice (ZF-2590)
- if (!isset($php_errormsg)) {
- if (function_exists('xdebug_is_enabled')) {
- $php_errormsg = '(error message not available, when XDebug is running)';
- } else {
- $php_errormsg = '(error message not available)';
- }
- }
-
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg");
- }
-
- $this->_element = $doc;
- }
-
-
- /**
- * Prepare for serialiation
- *
- * @return array
- */
- public function __sleep()
- {
- $this->_element = $this->saveXML();
-
- return array('_element');
- }
-
-
- /**
- * Cache the individual feed elements so they don't need to be
- * searched for on every operation.
- *
- * @return void
- */
- protected function _buildEntryCache()
- {
- $this->_entries = array();
- foreach ($this->_element->childNodes as $child) {
- if ($child->localName == $this->_entryElementName) {
- $this->_entries[] = $child;
- }
- }
- }
-
-
- /**
- * Get the number of entries in this feed object.
- *
- * @return integer Entry count.
- */
- public function count()
- {
- return count($this->_entries);
- }
-
-
- /**
- * Required by the Iterator interface.
- *
- * @return void
- */
- public function rewind()
- {
- $this->_entryIndex = 0;
- }
-
-
- /**
- * Required by the Iterator interface.
- *
- * @return mixed The current row, or null if no rows.
- */
- public function current()
- {
- return new $this->_entryClassName(
- null,
- $this->_entries[$this->_entryIndex]);
- }
-
-
- /**
- * Required by the Iterator interface.
- *
- * @return mixed The current row number (starts at 0), or NULL if no rows
- */
- public function key()
- {
- return $this->_entryIndex;
- }
-
-
- /**
- * Required by the Iterator interface.
- *
- * @return mixed The next row, or null if no more rows.
- */
- public function next()
- {
- ++$this->_entryIndex;
- }
-
-
- /**
- * Required by the Iterator interface.
- *
- * @return boolean Whether the iteration is valid
- */
- public function valid()
- {
- return 0 <= $this->_entryIndex && $this->_entryIndex < $this->count();
- }
-
- /**
- * Generate the header of the feed when working in write mode
- *
- * @param array $array the data to use
- * @return DOMElement root node
- */
- abstract protected function _mapFeedHeaders($array);
-
- /**
- * Generate the entries of the feed when working in write mode
- *
- * @param DOMElement $root the root node to use
- * @param array $array the data to use
- * @return DOMElement root node
- */
- abstract protected function _mapFeedEntries(DOMElement $root, $array);
-
- /**
- * Send feed to a http client with the correct header
- *
- * @throws Zend_Feed_Exception if headers have already been sent
- * @return void
- */
- abstract public function send();
-}
diff --git a/airtime_mvc/library/Zend/Feed/Atom.php b/airtime_mvc/library/Zend/Feed/Atom.php
deleted file mode 100644
index 186cde50a..000000000
--- a/airtime_mvc/library/Zend/Feed/Atom.php
+++ /dev/null
@@ -1,390 +0,0 @@
-
- * elements).
- *
- * @var string
- */
- protected $_entryElementName = 'entry';
-
- /**
- * The default namespace for Atom feeds.
- *
- * @var string
- */
- protected $_defaultNamespace = 'atom';
-
-
- /**
- * Override Zend_Feed_Abstract to set up the $_element and $_entries aliases.
- *
- * @return void
- * @throws Zend_Feed_Exception
- */
- public function __wakeup()
- {
- parent::__wakeup();
-
- // Find the base feed element and create an alias to it.
- $element = $this->_element->getElementsByTagName('feed')->item(0);
- if (!$element) {
- // Try to find a single instead.
- $element = $this->_element->getElementsByTagName($this->_entryElementName)->item(0);
- if (!$element) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('No root or <' . $this->_entryElementName
- . '> element found, cannot parse feed.');
- }
-
- $doc = new DOMDocument($this->_element->version,
- $this->_element->actualEncoding);
- $feed = $doc->appendChild($doc->createElement('feed'));
- $feed->appendChild($doc->importNode($element, true));
- $element = $feed;
- }
-
- $this->_element = $element;
-
- // Find the entries and save a pointer to them for speed and
- // simplicity.
- $this->_buildEntryCache();
- }
-
-
- /**
- * Easy access to tags keyed by "rel" attributes.
- *
- * If $elt->link() is called with no arguments, we will attempt to
- * return the value of the tag(s) like all other
- * method-syntax attribute access. If an argument is passed to
- * link(), however, then we will return the "href" value of the
- * first tag that has a "rel" attribute matching $rel:
- *
- * $elt->link(): returns the value of the link tag.
- * $elt->link('self'): returns the href from the first in the entry.
- *
- * @param string $rel The "rel" attribute to look for.
- * @return mixed
- */
- public function link($rel = null)
- {
- if ($rel === null) {
- return parent::__call('link', null);
- }
-
- // index link tags by their "rel" attribute.
- $links = parent::__get('link');
- if (!is_array($links)) {
- if ($links instanceof Zend_Feed_Element) {
- $links = array($links);
- } else {
- return $links;
- }
- }
-
- foreach ($links as $link) {
- if (empty($link['rel'])) {
- continue;
- }
- if ($rel == $link['rel']) {
- return $link['href'];
- }
- }
-
- return null;
- }
-
-
- /**
- * Make accessing some individual elements of the feed easier.
- *
- * Special accessors 'entry' and 'entries' are provided so that if
- * you wish to iterate over an Atom feed's entries, you can do so
- * using foreach ($feed->entries as $entry) or foreach
- * ($feed->entry as $entry).
- *
- * @param string $var The property to access.
- * @return mixed
- */
- public function __get($var)
- {
- switch ($var) {
- case 'entry':
- // fall through to the next case
- case 'entries':
- return $this;
-
- default:
- return parent::__get($var);
- }
- }
-
- /**
- * Generate the header of the feed when working in write mode
- *
- * @param array $array the data to use
- * @return DOMElement root node
- */
- protected function _mapFeedHeaders($array)
- {
- $feed = $this->_element->createElement('feed');
- $feed->setAttribute('xmlns', 'http://www.w3.org/2005/Atom');
-
- $id = $this->_element->createElement('id', $array->link);
- $feed->appendChild($id);
-
- $title = $this->_element->createElement('title');
- $title->appendChild($this->_element->createCDATASection($array->title));
- $feed->appendChild($title);
-
- if (isset($array->author)) {
- $author = $this->_element->createElement('author');
- $name = $this->_element->createElement('name', $array->author);
- $author->appendChild($name);
- if (isset($array->email)) {
- $email = $this->_element->createElement('email', $array->email);
- $author->appendChild($email);
- }
- $feed->appendChild($author);
- }
-
- $updated = isset($array->lastUpdate) ? $array->lastUpdate : time();
- $updated = $this->_element->createElement('updated', date(DATE_ATOM, $updated));
- $feed->appendChild($updated);
-
- if (isset($array->published)) {
- $published = $this->_element->createElement('published', date(DATE_ATOM, $array->published));
- $feed->appendChild($published);
- }
-
- $link = $this->_element->createElement('link');
- $link->setAttribute('rel', 'self');
- $link->setAttribute('href', $array->link);
- if (isset($array->language)) {
- $link->setAttribute('hreflang', $array->language);
- }
- $feed->appendChild($link);
-
- if (isset($array->description)) {
- $subtitle = $this->_element->createElement('subtitle');
- $subtitle->appendChild($this->_element->createCDATASection($array->description));
- $feed->appendChild($subtitle);
- }
-
- if (isset($array->copyright)) {
- $copyright = $this->_element->createElement('rights', $array->copyright);
- $feed->appendChild($copyright);
- }
-
- if (isset($array->image)) {
- $image = $this->_element->createElement('logo', $array->image);
- $feed->appendChild($image);
- }
-
- $generator = !empty($array->generator) ? $array->generator : 'Zend_Feed';
- $generator = $this->_element->createElement('generator', $generator);
- $feed->appendChild($generator);
-
- return $feed;
- }
-
- /**
- * Generate the entries of the feed when working in write mode
- *
- * The following nodes are constructed for each feed entry
- *
- * url to feed entry
- * entry title
- * last update
- *
- * short text
- * long version, can contain html
- *
- *
- * @param array $array the data to use
- * @param DOMElement $root the root node to use
- * @return void
- */
- protected function _mapFeedEntries(DOMElement $root, $array)
- {
- foreach ($array as $dataentry) {
- $entry = $this->_element->createElement('entry');
-
- $id = $this->_element->createElement('id', isset($dataentry->guid) ? $dataentry->guid : $dataentry->link);
- $entry->appendChild($id);
-
- $title = $this->_element->createElement('title');
- $title->appendChild($this->_element->createCDATASection($dataentry->title));
- $entry->appendChild($title);
-
- $updated = isset($dataentry->lastUpdate) ? $dataentry->lastUpdate : time();
- $updated = $this->_element->createElement('updated', date(DATE_ATOM, $updated));
- $entry->appendChild($updated);
-
- $link = $this->_element->createElement('link');
- $link->setAttribute('rel', 'alternate');
- $link->setAttribute('href', $dataentry->link);
- $entry->appendChild($link);
-
- $summary = $this->_element->createElement('summary');
- $summary->appendChild($this->_element->createCDATASection($dataentry->description));
- $entry->appendChild($summary);
-
- if (isset($dataentry->content)) {
- $content = $this->_element->createElement('content');
- $content->setAttribute('type', 'html');
- $content->appendChild($this->_element->createCDATASection($dataentry->content));
- $entry->appendChild($content);
- }
-
- if (isset($dataentry->category)) {
- foreach ($dataentry->category as $category) {
- $node = $this->_element->createElement('category');
- $node->setAttribute('term', $category['term']);
- if (isset($category['scheme'])) {
- $node->setAttribute('scheme', $category['scheme']);
- }
- $entry->appendChild($node);
- }
- }
-
- if (isset($dataentry->source)) {
- $source = $this->_element->createElement('source');
- $title = $this->_element->createElement('title', $dataentry->source['title']);
- $source->appendChild($title);
- $link = $this->_element->createElement('link', $dataentry->source['title']);
- $link->setAttribute('rel', 'alternate');
- $link->setAttribute('href', $dataentry->source['url']);
- $source->appendChild($link);
- }
-
- if (isset($dataentry->enclosure)) {
- foreach ($dataentry->enclosure as $enclosure) {
- $node = $this->_element->createElement('link');
- $node->setAttribute('rel', 'enclosure');
- $node->setAttribute('href', $enclosure['url']);
- if (isset($enclosure['type'])) {
- $node->setAttribute('type', $enclosure['type']);
- }
- if (isset($enclosure['length'])) {
- $node->setAttribute('length', $enclosure['length']);
- }
- $entry->appendChild($node);
- }
- }
-
- if (isset($dataentry->comments)) {
- $comments = $this->_element->createElementNS('http://wellformedweb.org/CommentAPI/',
- 'wfw:comment',
- $dataentry->comments);
- $entry->appendChild($comments);
- }
- if (isset($dataentry->commentRss)) {
- $comments = $this->_element->createElementNS('http://wellformedweb.org/CommentAPI/',
- 'wfw:commentRss',
- $dataentry->commentRss);
- $entry->appendChild($comments);
- }
-
- $root->appendChild($entry);
- }
- }
-
- /**
- * Override Zend_Feed_Element to allow formated feeds
- *
- * @return string
- */
- public function saveXml()
- {
- // Return a complete document including XML prologue.
- $doc = new DOMDocument($this->_element->ownerDocument->version,
- $this->_element->ownerDocument->actualEncoding);
- $doc->appendChild($doc->importNode($this->_element, true));
- $doc->formatOutput = true;
-
- return $doc->saveXML();
- }
-
- /**
- * Send feed to a http client with the correct header
- *
- * @return void
- * @throws Zend_Feed_Exception if headers have already been sent
- */
- public function send()
- {
- if (headers_sent()) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Cannot send ATOM because headers have already been sent.');
- }
-
- header('Content-Type: application/atom+xml; charset=' . $this->_element->ownerDocument->actualEncoding);
-
- echo $this->saveXML();
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Builder.php b/airtime_mvc/library/Zend/Feed/Builder.php
deleted file mode 100644
index b44055ec2..000000000
--- a/airtime_mvc/library/Zend/Feed/Builder.php
+++ /dev/null
@@ -1,398 +0,0 @@
-
- * array(
- * 'title' => 'title of the feed', //required
- * 'link' => 'canonical url to the feed', //required
- * 'lastUpdate' => 'timestamp of the update date', // optional
- * 'published' => 'timestamp of the publication date', //optional
- * 'charset' => 'charset', // required
- * 'description' => 'short description of the feed', //optional
- * 'author' => 'author/publisher of the feed', //optional
- * 'email' => 'email of the author', //optional
- * 'webmaster' => 'email address for person responsible for technical issues' // optional, ignored if atom is used
- * 'copyright' => 'copyright notice', //optional
- * 'image' => 'url to image', //optional
- * 'generator' => 'generator', // optional
- * 'language' => 'language the feed is written in', // optional
- * 'ttl' => 'how long in minutes a feed can be cached before refreshing', // optional, ignored if atom is used
- * 'rating' => 'The PICS rating for the channel.', // optional, ignored if atom is used
- * 'cloud' => array(
- * 'domain' => 'domain of the cloud, e.g. rpc.sys.com' // required
- * 'port' => 'port to connect to' // optional, default to 80
- * 'path' => 'path of the cloud, e.g. /RPC2 //required
- * 'registerProcedure' => 'procedure to call, e.g. myCloud.rssPleaseNotify' // required
- * 'protocol' => 'protocol to use, e.g. soap or xml-rpc' // required
- * ), a cloud to be notified of updates // optional, ignored if atom is used
- * 'textInput' => array(
- * 'title' => 'the label of the Submit button in the text input area' // required,
- * 'description' => 'explains the text input area' // required
- * 'name' => 'the name of the text object in the text input area' // required
- * 'link' => 'the URL of the CGI script that processes text input requests' // required
- * ) // a text input box that can be displayed with the feed // optional, ignored if atom is used
- * 'skipHours' => array(
- * 'hour in 24 format', // e.g 13 (1pm)
- * // up to 24 rows whose value is a number between 0 and 23
- * ) // Hint telling aggregators which hours they can skip // optional, ignored if atom is used
- * 'skipDays ' => array(
- * 'a day to skip', // e.g Monday
- * // up to 7 rows whose value is a Monday, Tuesday, Wednesday, Thursday, Friday, Saturday or Sunday
- * ) // Hint telling aggregators which days they can skip // optional, ignored if atom is used
- * 'itunes' => array(
- * 'author' => 'Artist column' // optional, default to the main author value
- * 'owner' => array(
- * 'name' => 'name of the owner' // optional, default to main author value
- * 'email' => 'email of the owner' // optional, default to main email value
- * ) // Owner of the podcast // optional
- * 'image' => 'album/podcast art' // optional, default to the main image value
- * 'subtitle' => 'short description' // optional, default to the main description value
- * 'summary' => 'longer description' // optional, default to the main description value
- * 'block' => 'Prevent an episode from appearing (yes|no)' // optional
- * 'category' => array(
- * array('main' => 'main category', // required
- * 'sub' => 'sub category' // optional
- * ),
- * // up to 3 rows
- * ) // 'Category column and in iTunes Music Store Browse' // required
- * 'explicit' => 'parental advisory graphic (yes|no|clean)' // optional
- * 'keywords' => 'a comma separated list of 12 keywords maximum' // optional
- * 'new-feed-url' => 'used to inform iTunes of new feed URL location' // optional
- * ) // Itunes extension data // optional, ignored if atom is used
- * 'entries' => array(
- * array(
- * 'title' => 'title of the feed entry', //required
- * 'link' => 'url to a feed entry', //required
- * 'description' => 'short version of a feed entry', // only text, no html, required
- * 'guid' => 'id of the article, if not given link value will used', //optional
- * 'content' => 'long version', // can contain html, optional
- * 'lastUpdate' => 'timestamp of the publication date', // optional
- * 'comments' => 'comments page of the feed entry', // optional
- * 'commentRss' => 'the feed url of the associated comments', // optional
- * 'source' => array(
- * 'title' => 'title of the original source' // required,
- * 'url' => 'url of the original source' // required
- * ) // original source of the feed entry // optional
- * 'category' => array(
- * array(
- * 'term' => 'first category label' // required,
- * 'scheme' => 'url that identifies a categorization scheme' // optional
- * ),
- * array(
- * //data for the second category and so on
- * )
- * ) // list of the attached categories // optional
- * 'enclosure' => array(
- * array(
- * 'url' => 'url of the linked enclosure' // required
- * 'type' => 'mime type of the enclosure' // optional
- * 'length' => 'length of the linked content in octets' // optional
- * ),
- * array(
- * //data for the second enclosure and so on
- * )
- * ) // list of the enclosures of the feed entry // optional
- * ),
- * array(
- * //data for the second entry and so on
- * )
- * )
- * );
- *
- *
- * @param array $data
- * @return void
- */
- public function __construct(array $data)
- {
- $this->_data = $data;
- $this->_createHeader($data);
- if (isset($data['entries'])) {
- $this->_createEntries($data['entries']);
- }
- }
-
- /**
- * Returns an instance of Zend_Feed_Builder_Header
- * describing the header of the feed
- *
- * @return Zend_Feed_Builder_Header
- */
- public function getHeader()
- {
- return $this->_header;
- }
-
- /**
- * Returns an array of Zend_Feed_Builder_Entry instances
- * describing the entries of the feed
- *
- * @return array of Zend_Feed_Builder_Entry
- */
- public function getEntries()
- {
- return $this->_entries;
- }
-
- /**
- * Create the Zend_Feed_Builder_Header instance
- *
- * @param array $data
- * @throws Zend_Feed_Builder_Exception
- * @return void
- */
- protected function _createHeader(array $data)
- {
- $mandatories = array('title', 'link', 'charset');
- foreach ($mandatories as $mandatory) {
- if (!isset($data[$mandatory])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("$mandatory key is missing");
- }
- }
- $this->_header = new Zend_Feed_Builder_Header($data['title'], $data['link'], $data['charset']);
- if (isset($data['lastUpdate'])) {
- $this->_header->setLastUpdate($data['lastUpdate']);
- }
- if (isset($data['published'])) {
- $this->_header->setPublishedDate($data['published']);
- }
- if (isset($data['description'])) {
- $this->_header->setDescription($data['description']);
- }
- if (isset($data['author'])) {
- $this->_header->setAuthor($data['author']);
- }
- if (isset($data['email'])) {
- $this->_header->setEmail($data['email']);
- }
- if (isset($data['webmaster'])) {
- $this->_header->setWebmaster($data['webmaster']);
- }
- if (isset($data['copyright'])) {
- $this->_header->setCopyright($data['copyright']);
- }
- if (isset($data['image'])) {
- $this->_header->setImage($data['image']);
- }
- if (isset($data['generator'])) {
- $this->_header->setGenerator($data['generator']);
- }
- if (isset($data['language'])) {
- $this->_header->setLanguage($data['language']);
- }
- if (isset($data['ttl'])) {
- $this->_header->setTtl($data['ttl']);
- }
- if (isset($data['rating'])) {
- $this->_header->setRating($data['rating']);
- }
- if (isset($data['cloud'])) {
- $mandatories = array('domain', 'path', 'registerProcedure', 'protocol');
- foreach ($mandatories as $mandatory) {
- if (!isset($data['cloud'][$mandatory])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to define $mandatory property of your cloud");
- }
- }
- $uri_str = 'http://' . $data['cloud']['domain'] . $data['cloud']['path'];
- $this->_header->setCloud($uri_str, $data['cloud']['registerProcedure'], $data['cloud']['protocol']);
- }
- if (isset($data['textInput'])) {
- $mandatories = array('title', 'description', 'name', 'link');
- foreach ($mandatories as $mandatory) {
- if (!isset($data['textInput'][$mandatory])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to define $mandatory property of your textInput");
- }
- }
- $this->_header->setTextInput($data['textInput']['title'],
- $data['textInput']['description'],
- $data['textInput']['name'],
- $data['textInput']['link']);
- }
- if (isset($data['skipHours'])) {
- $this->_header->setSkipHours($data['skipHours']);
- }
- if (isset($data['skipDays'])) {
- $this->_header->setSkipDays($data['skipDays']);
- }
- if (isset($data['itunes'])) {
- $itunes = new Zend_Feed_Builder_Header_Itunes($data['itunes']['category']);
- if (isset($data['itunes']['author'])) {
- $itunes->setAuthor($data['itunes']['author']);
- }
- if (isset($data['itunes']['owner'])) {
- $name = isset($data['itunes']['owner']['name']) ? $data['itunes']['owner']['name'] : '';
- $email = isset($data['itunes']['owner']['email']) ? $data['itunes']['owner']['email'] : '';
- $itunes->setOwner($name, $email);
- }
- if (isset($data['itunes']['image'])) {
- $itunes->setImage($data['itunes']['image']);
- }
- if (isset($data['itunes']['subtitle'])) {
- $itunes->setSubtitle($data['itunes']['subtitle']);
- }
- if (isset($data['itunes']['summary'])) {
- $itunes->setSummary($data['itunes']['summary']);
- }
- if (isset($data['itunes']['block'])) {
- $itunes->setBlock($data['itunes']['block']);
- }
- if (isset($data['itunes']['explicit'])) {
- $itunes->setExplicit($data['itunes']['explicit']);
- }
- if (isset($data['itunes']['keywords'])) {
- $itunes->setKeywords($data['itunes']['keywords']);
- }
- if (isset($data['itunes']['new-feed-url'])) {
- $itunes->setNewFeedUrl($data['itunes']['new-feed-url']);
- }
-
- $this->_header->setITunes($itunes);
- }
- }
-
- /**
- * Create the array of article entries
- *
- * @param array $data
- * @throws Zend_Feed_Builder_Exception
- * @return void
- */
- protected function _createEntries(array $data)
- {
- foreach ($data as $row) {
- $mandatories = array('title', 'link', 'description');
- foreach ($mandatories as $mandatory) {
- if (!isset($row[$mandatory])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("$mandatory key is missing");
- }
- }
- $entry = new Zend_Feed_Builder_Entry($row['title'], $row['link'], $row['description']);
- if (isset($row['author'])) {
- $entry->setAuthor($row['author']);
- }
- if (isset($row['guid'])) {
- $entry->setId($row['guid']);
- }
- if (isset($row['content'])) {
- $entry->setContent($row['content']);
- }
- if (isset($row['lastUpdate'])) {
- $entry->setLastUpdate($row['lastUpdate']);
- }
- if (isset($row['comments'])) {
- $entry->setCommentsUrl($row['comments']);
- }
- if (isset($row['commentRss'])) {
- $entry->setCommentsRssUrl($row['commentRss']);
- }
- if (isset($row['source'])) {
- $mandatories = array('title', 'url');
- foreach ($mandatories as $mandatory) {
- if (!isset($row['source'][$mandatory])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("$mandatory key of source property is missing");
- }
- }
- $entry->setSource($row['source']['title'], $row['source']['url']);
- }
- if (isset($row['category'])) {
- $entry->setCategories($row['category']);
- }
- if (isset($row['enclosure'])) {
- $entry->setEnclosures($row['enclosure']);
- }
-
- $this->_entries[] = $entry;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Builder/Entry.php b/airtime_mvc/library/Zend/Feed/Builder/Entry.php
deleted file mode 100644
index d27dded6f..000000000
--- a/airtime_mvc/library/Zend/Feed/Builder/Entry.php
+++ /dev/null
@@ -1,297 +0,0 @@
-offsetSet('title', $title);
- $this->offsetSet('link', $link);
- $this->offsetSet('description', $description);
- $this->setLastUpdate(time());
- }
-
- /**
- * Read only properties accessor
- *
- * @param string $name property to read
- * @return mixed
- */
- public function __get($name)
- {
- if (!$this->offsetExists($name)) {
- return NULL;
- }
-
- return $this->offsetGet($name);
- }
-
- /**
- * Write properties accessor
- *
- * @param string $name name of the property to set
- * @param mixed $value value to set
- * @return void
- */
- public function __set($name, $value)
- {
- $this->offsetSet($name, $value);
- }
-
- /**
- * Isset accessor
- *
- * @param string $key
- * @return boolean
- */
- public function __isset($key)
- {
- return $this->offsetExists($key);
- }
-
- /**
- * Unset accessor
- *
- * @param string $key
- * @return void
- */
- public function __unset($key)
- {
- if ($this->offsetExists($key)) {
- $this->offsetUnset($key);
- }
- }
-
- /**
- * Sets the author of the entry
- *
- * @param string $author
- * @return Zend_Feed_Builder_Entry
- */
- public function setAuthor($author)
- {
- $this->offsetSet('author', $author);
- return $this;
- }
-
- /**
- * Sets the id/guid of the entry
- *
- * @param string $id
- * @return Zend_Feed_Builder_Entry
- */
- public function setId($id)
- {
- $this->offsetSet('guid', $id);
- return $this;
- }
-
- /**
- * Sets the full html content of the entry
- *
- * @param string $content
- * @return Zend_Feed_Builder_Entry
- */
- public function setContent($content)
- {
- $this->offsetSet('content', $content);
- return $this;
- }
-
- /**
- * Timestamp of the update date
- *
- * @param int $lastUpdate
- * @return Zend_Feed_Builder_Entry
- */
- public function setLastUpdate($lastUpdate)
- {
- $this->offsetSet('lastUpdate', $lastUpdate);
- return $this;
- }
-
- /**
- * Sets the url of the commented page associated to the entry
- *
- * @param string $comments
- * @return Zend_Feed_Builder_Entry
- */
- public function setCommentsUrl($comments)
- {
- $this->offsetSet('comments', $comments);
- return $this;
- }
-
- /**
- * Sets the url of the comments feed link
- *
- * @param string $commentRss
- * @return Zend_Feed_Builder_Entry
- */
- public function setCommentsRssUrl($commentRss)
- {
- $this->offsetSet('commentRss', $commentRss);
- return $this;
- }
-
- /**
- * Defines a reference to the original source
- *
- * @param string $title
- * @param string $url
- * @return Zend_Feed_Builder_Entry
- */
- public function setSource($title, $url)
- {
- $this->offsetSet('source', array('title' => $title,
- 'url' => $url));
- return $this;
- }
-
- /**
- * Sets the categories of the entry
- * Format of the array:
- *
- * array(
- * array(
- * 'term' => 'first category label',
- * 'scheme' => 'url that identifies a categorization scheme' // optional
- * ),
- * // second category and so one
- * )
- *
- *
- * @param array $categories
- * @return Zend_Feed_Builder_Entry
- */
- public function setCategories(array $categories)
- {
- foreach ($categories as $category) {
- $this->addCategory($category);
- }
- return $this;
- }
-
- /**
- * Add a category to the entry
- *
- * @param array $category see Zend_Feed_Builder_Entry::setCategories() for format
- * @return Zend_Feed_Builder_Entry
- * @throws Zend_Feed_Builder_Exception
- */
- public function addCategory(array $category)
- {
- if (empty($category['term'])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to define the name of the category");
- }
-
- if (!$this->offsetExists('category')) {
- $categories = array($category);
- } else {
- $categories = $this->offsetGet('category');
- $categories[] = $category;
- }
- $this->offsetSet('category', $categories);
- return $this;
- }
-
- /**
- * Sets the enclosures of the entry
- * Format of the array:
- *
- * array(
- * array(
- * 'url' => 'url of the linked enclosure',
- * 'type' => 'mime type of the enclosure' // optional
- * 'length' => 'length of the linked content in octets' // optional
- * ),
- * // second enclosure and so one
- * )
- *
- *
- * @param array $enclosures
- * @return Zend_Feed_Builder_Entry
- * @throws Zend_Feed_Builder_Exception
- */
- public function setEnclosures(array $enclosures)
- {
- foreach ($enclosures as $enclosure) {
- if (empty($enclosure['url'])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to supply an url for your enclosure");
- }
- $type = isset($enclosure['type']) ? $enclosure['type'] : '';
- $length = isset($enclosure['length']) ? $enclosure['length'] : '';
- $this->addEnclosure($enclosure['url'], $type, $length);
- }
- return $this;
- }
-
- /**
- * Add an enclosure to the entry
- *
- * @param string $url
- * @param string $type
- * @param string $length
- * @return Zend_Feed_Builder_Entry
- */
- public function addEnclosure($url, $type = '', $length = '')
- {
- if (!$this->offsetExists('enclosure')) {
- $enclosure = array();
- } else {
- $enclosure = $this->offsetGet('enclosure');
- }
- $enclosure[] = array('url' => $url,
- 'type' => $type,
- 'length' => $length);
- $this->offsetSet('enclosure', $enclosure);
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Builder/Exception.php b/airtime_mvc/library/Zend/Feed/Builder/Exception.php
deleted file mode 100644
index c979321cf..000000000
--- a/airtime_mvc/library/Zend/Feed/Builder/Exception.php
+++ /dev/null
@@ -1,40 +0,0 @@
-offsetSet('title', $title);
- $this->offsetSet('link', $link);
- $this->offsetSet('charset', $charset);
- $this->setLastUpdate(time())
- ->setGenerator('Zend_Feed');
- }
-
- /**
- * Read only properties accessor
- *
- * @param string $name property to read
- * @return mixed
- */
- public function __get($name)
- {
- if (!$this->offsetExists($name)) {
- return NULL;
- }
-
- return $this->offsetGet($name);
- }
-
- /**
- * Write properties accessor
- *
- * @param string $name name of the property to set
- * @param mixed $value value to set
- * @return void
- */
- public function __set($name, $value)
- {
- $this->offsetSet($name, $value);
- }
-
- /**
- * Isset accessor
- *
- * @param string $key
- * @return boolean
- */
- public function __isset($key)
- {
- return $this->offsetExists($key);
- }
-
- /**
- * Unset accessor
- *
- * @param string $key
- * @return void
- */
- public function __unset($key)
- {
- if ($this->offsetExists($key)) {
- $this->offsetUnset($key);
- }
- }
-
- /**
- * Timestamp of the update date
- *
- * @param int $lastUpdate
- * @return Zend_Feed_Builder_Header
- */
- public function setLastUpdate($lastUpdate)
- {
- $this->offsetSet('lastUpdate', $lastUpdate);
- return $this;
- }
-
- /**
- * Timestamp of the publication date
- *
- * @param int $published
- * @return Zend_Feed_Builder_Header
- */
- public function setPublishedDate($published)
- {
- $this->offsetSet('published', $published);
- return $this;
- }
-
- /**
- * Short description of the feed
- *
- * @param string $description
- * @return Zend_Feed_Builder_Header
- */
- public function setDescription($description)
- {
- $this->offsetSet('description', $description);
- return $this;
- }
-
- /**
- * Sets the author of the feed
- *
- * @param string $author
- * @return Zend_Feed_Builder_Header
- */
- public function setAuthor($author)
- {
- $this->offsetSet('author', $author);
- return $this;
- }
-
- /**
- * Sets the author's email
- *
- * @param string $email
- * @return Zend_Feed_Builder_Header
- * @throws Zend_Feed_Builder_Exception
- */
- public function setEmail($email)
- {
- /**
- * @see Zend_Validate_EmailAddress
- */
- require_once 'Zend/Validate/EmailAddress.php';
- $validate = new Zend_Validate_EmailAddress();
- if (!$validate->isValid($email)) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set a valid email address into the email property");
- }
- $this->offsetSet('email', $email);
- return $this;
- }
-
- /**
- * Sets the copyright notice
- *
- * @param string $copyright
- * @return Zend_Feed_Builder_Header
- */
- public function setCopyright($copyright)
- {
- $this->offsetSet('copyright', $copyright);
- return $this;
- }
-
- /**
- * Sets the image of the feed
- *
- * @param string $image
- * @return Zend_Feed_Builder_Header
- */
- public function setImage($image)
- {
- $this->offsetSet('image', $image);
- return $this;
- }
-
- /**
- * Sets the generator of the feed
- *
- * @param string $generator
- * @return Zend_Feed_Builder_Header
- */
- public function setGenerator($generator)
- {
- $this->offsetSet('generator', $generator);
- return $this;
- }
-
- /**
- * Sets the language of the feed
- *
- * @param string $language
- * @return Zend_Feed_Builder_Header
- */
- public function setLanguage($language)
- {
- $this->offsetSet('language', $language);
- return $this;
- }
-
- /**
- * Email address for person responsible for technical issues
- * Ignored if atom is used
- *
- * @param string $webmaster
- * @return Zend_Feed_Builder_Header
- * @throws Zend_Feed_Builder_Exception
- */
- public function setWebmaster($webmaster)
- {
- /**
- * @see Zend_Validate_EmailAddress
- */
- require_once 'Zend/Validate/EmailAddress.php';
- $validate = new Zend_Validate_EmailAddress();
- if (!$validate->isValid($webmaster)) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set a valid email address into the webmaster property");
- }
- $this->offsetSet('webmaster', $webmaster);
- return $this;
- }
-
- /**
- * How long in minutes a feed can be cached before refreshing
- * Ignored if atom is used
- *
- * @param int $ttl
- * @return Zend_Feed_Builder_Header
- * @throws Zend_Feed_Builder_Exception
- */
- public function setTtl($ttl)
- {
- /**
- * @see Zend_Validate_Int
- */
- require_once 'Zend/Validate/Int.php';
- $validate = new Zend_Validate_Int();
- if (!$validate->isValid($ttl)) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set an integer value to the ttl property");
- }
- $this->offsetSet('ttl', $ttl);
- return $this;
- }
-
- /**
- * PICS rating for the feed
- * Ignored if atom is used
- *
- * @param string $rating
- * @return Zend_Feed_Builder_Header
- */
- public function setRating($rating)
- {
- $this->offsetSet('rating', $rating);
- return $this;
- }
-
- /**
- * Cloud to be notified of updates of the feed
- * Ignored if atom is used
- *
- * @param string|Zend_Uri_Http $uri
- * @param string $procedure procedure to call, e.g. myCloud.rssPleaseNotify
- * @param string $protocol protocol to use, e.g. soap or xml-rpc
- * @return Zend_Feed_Builder_Header
- * @throws Zend_Feed_Builder_Exception
- */
- public function setCloud($uri, $procedure, $protocol)
- {
- if (is_string($uri) && Zend_Uri_Http::check($uri)) {
- $uri = Zend_Uri::factory($uri);
- }
- if (!$uri instanceof Zend_Uri_Http) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception('Passed parameter is not a valid HTTP URI');
- }
- if (!$uri->getPort()) {
- $uri->setPort(80);
- }
- $this->offsetSet('cloud', array('uri' => $uri,
- 'procedure' => $procedure,
- 'protocol' => $protocol));
- return $this;
- }
-
- /**
- * A text input box that can be displayed with the feed
- * Ignored if atom is used
- *
- * @param string $title the label of the Submit button in the text input area
- * @param string $description explains the text input area
- * @param string $name the name of the text object in the text input area
- * @param string $link the URL of the CGI script that processes text input requests
- * @return Zend_Feed_Builder_Header
- */
- public function setTextInput($title, $description, $name, $link)
- {
- $this->offsetSet('textInput', array('title' => $title,
- 'description' => $description,
- 'name' => $name,
- 'link' => $link));
- return $this;
- }
-
- /**
- * Hint telling aggregators which hours they can skip
- * Ignored if atom is used
- *
- * @param array $hours list of hours in 24 format
- * @return Zend_Feed_Builder_Header
- * @throws Zend_Feed_Builder_Exception
- */
- public function setSkipHours(array $hours)
- {
- if (count($hours) > 24) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you can not have more than 24 rows in the skipHours property");
- }
- foreach ($hours as $hour) {
- if ($hour < 0 || $hour > 23) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("$hour has te be between 0 and 23");
- }
- }
- $this->offsetSet('skipHours', $hours);
- return $this;
- }
-
- /**
- * Hint telling aggregators which days they can skip
- * Ignored if atom is used
- *
- * @param array $days list of days to skip, e.g. Monday
- * @return Zend_Feed_Builder_Header
- * @throws Zend_Feed_Builder_Exception
- */
- public function setSkipDays(array $days)
- {
- if (count($days) > 7) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you can not have more than 7 days in the skipDays property");
- }
- $valid = array('monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday');
- foreach ($days as $day) {
- if (!in_array(strtolower($day), $valid)) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("$day is not a valid day");
- }
- }
- $this->offsetSet('skipDays', $days);
- return $this;
- }
-
- /**
- * Sets the iTunes rss extension
- *
- * @param Zend_Feed_Builder_Header_Itunes $itunes
- * @return Zend_Feed_Builder_Header
- */
- public function setITunes(Zend_Feed_Builder_Header_Itunes $itunes)
- {
- $this->offsetSet('itunes', $itunes);
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Builder/Header/Itunes.php b/airtime_mvc/library/Zend/Feed/Builder/Header/Itunes.php
deleted file mode 100644
index 9c25653f5..000000000
--- a/airtime_mvc/library/Zend/Feed/Builder/Header/Itunes.php
+++ /dev/null
@@ -1,288 +0,0 @@
-setCategories($categories);
- }
-
- /**
- * Sets the categories column and in iTunes Music Store Browse
- * $categories must conform to the following format:
- *
- * array(array('main' => 'main category',
- * 'sub' => 'sub category' // optionnal
- * ),
- * // up to 3 rows
- * )
- *
- *
- * @param array $categories
- * @return Zend_Feed_Builder_Header_Itunes
- * @throws Zend_Feed_Builder_Exception
- */
- public function setCategories(array $categories)
- {
- $nb = count($categories);
- if (0 === $nb) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set at least one itunes category");
- }
- if ($nb > 3) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set at most three itunes categories");
- }
- foreach ($categories as $i => $category) {
- if (empty($category['main'])) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set the main category (category #$i)");
- }
- }
- $this->offsetSet('category', $categories);
- return $this;
- }
-
- /**
- * Sets the artist value, default to the feed's author value
- *
- * @param string $author
- * @return Zend_Feed_Builder_Header_Itunes
- */
- public function setAuthor($author)
- {
- $this->offsetSet('author', $author);
- return $this;
- }
-
- /**
- * Sets the owner of the postcast
- *
- * @param string $name default to the feed's author value
- * @param string $email default to the feed's email value
- * @return Zend_Feed_Builder_Header_Itunes
- * @throws Zend_Feed_Builder_Exception
- */
- public function setOwner($name = '', $email = '')
- {
- if (!empty($email)) {
- /**
- * @see Zend_Validate_EmailAddress
- */
- require_once 'Zend/Validate/EmailAddress.php';
- $validate = new Zend_Validate_EmailAddress();
- if (!$validate->isValid($email)) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set a valid email address into the itunes owner's email property");
- }
- }
- $this->offsetSet('owner', array('name' => $name, 'email' => $email));
- return $this;
- }
-
- /**
- * Sets the album/podcast art picture
- * Default to the feed's image value
- *
- * @param string $image
- * @return Zend_Feed_Builder_Header_Itunes
- */
- public function setImage($image)
- {
- $this->offsetSet('image', $image);
- return $this;
- }
-
- /**
- * Sets the short description of the podcast
- * Default to the feed's description
- *
- * @param string $subtitle
- * @return Zend_Feed_Builder_Header_Itunes
- */
- public function setSubtitle($subtitle)
- {
- $this->offsetSet('subtitle', $subtitle);
- return $this;
- }
-
- /**
- * Sets the longer description of the podcast
- * Default to the feed's description
- *
- * @param string $summary
- * @return Zend_Feed_Builder_Header_Itunes
- */
- public function setSummary($summary)
- {
- $this->offsetSet('summary', $summary);
- return $this;
- }
-
- /**
- * Prevent a feed from appearing
- *
- * @param string $block can be 'yes' or 'no'
- * @return Zend_Feed_Builder_Header_Itunes
- * @throws Zend_Feed_Builder_Exception
- */
- public function setBlock($block)
- {
- $block = strtolower($block);
- if (!in_array($block, array('yes', 'no'))) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set yes or no to the itunes block property");
- }
- $this->offsetSet('block', $block);
- return $this;
- }
-
- /**
- * Configuration of the parental advisory graphic
- *
- * @param string $explicit can be 'yes', 'no' or 'clean'
- * @return Zend_Feed_Builder_Header_Itunes
- * @throws Zend_Feed_Builder_Exception
- */
- public function setExplicit($explicit)
- {
- $explicit = strtolower($explicit);
- if (!in_array($explicit, array('yes', 'no', 'clean'))) {
- /**
- * @see Zend_Feed_Builder_Exception
- */
- require_once 'Zend/Feed/Builder/Exception.php';
- throw new Zend_Feed_Builder_Exception("you have to set yes, no or clean to the itunes explicit property");
- }
- $this->offsetSet('explicit', $explicit);
- return $this;
- }
-
- /**
- * Sets a comma separated list of 12 keywords maximum
- *
- * @param string $keywords
- * @return Zend_Feed_Builder_Header_Itunes
- */
- public function setKeywords($keywords)
- {
- $this->offsetSet('keywords', $keywords);
- return $this;
- }
-
- /**
- * Sets the new feed URL location
- *
- * @param string $url
- * @return Zend_Feed_Builder_Header_Itunes
- */
- public function setNewFeedUrl($url)
- {
- $this->offsetSet('new_feed_url', $url);
- return $this;
- }
-
- /**
- * Read only properties accessor
- *
- * @param string $name property to read
- * @return mixed
- */
- public function __get($name)
- {
- if (!$this->offsetExists($name)) {
- return NULL;
- }
-
- return $this->offsetGet($name);
- }
-
- /**
- * Write properties accessor
- *
- * @param string $name name of the property to set
- * @param mixed $value value to set
- * @return void
- */
- public function __set($name, $value)
- {
- $this->offsetSet($name, $value);
- }
-
- /**
- * Isset accessor
- *
- * @param string $key
- * @return boolean
- */
- public function __isset($key)
- {
- return $this->offsetExists($key);
- }
-
- /**
- * Unset accessor
- *
- * @param string $key
- * @return void
- */
- public function __unset($key)
- {
- if ($this->offsetExists($key)) {
- $this->offsetUnset($key);
- }
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Feed/Builder/Interface.php b/airtime_mvc/library/Zend/Feed/Builder/Interface.php
deleted file mode 100644
index 9dce55f81..000000000
--- a/airtime_mvc/library/Zend/Feed/Builder/Interface.php
+++ /dev/null
@@ -1,52 +0,0 @@
-_element = $element;
- }
-
-
- /**
- * Get a DOM representation of the element
- *
- * Returns the underlying DOM object, which can then be
- * manipulated with full DOM methods.
- *
- * @return DOMDocument
- */
- public function getDOM()
- {
- return $this->_element;
- }
-
-
- /**
- * Update the object from a DOM element
- *
- * Take a DOMElement object, which may be originally from a call
- * to getDOM() or may be custom created, and use it as the
- * DOM tree for this Zend_Feed_Element.
- *
- * @param DOMElement $element
- * @return void
- */
- public function setDOM(DOMElement $element)
- {
- $this->_element = $this->_element->ownerDocument->importNode($element, true);
- }
-
- /**
- * Set the parent element of this object to another
- * Zend_Feed_Element.
- *
- * @param Zend_Feed_Element $element
- * @return void
- */
- public function setParent(Zend_Feed_Element $element)
- {
- $this->_parentElement = $element;
- $this->_appended = false;
- }
-
-
- /**
- * Appends this element to its parent if necessary.
- *
- * @return void
- */
- protected function ensureAppended()
- {
- if (!$this->_appended) {
- $this->_parentElement->getDOM()->appendChild($this->_element);
- $this->_appended = true;
- $this->_parentElement->ensureAppended();
- }
- }
-
-
- /**
- * Get an XML string representation of this element
- *
- * Returns a string of this element's XML, including the XML
- * prologue.
- *
- * @return string
- */
- public function saveXml()
- {
- // Return a complete document including XML prologue.
- $doc = new DOMDocument($this->_element->ownerDocument->version,
- $this->_element->ownerDocument->actualEncoding);
- $doc->appendChild($doc->importNode($this->_element, true));
- return $doc->saveXML();
- }
-
-
- /**
- * Get the XML for only this element
- *
- * Returns a string of this element's XML without prologue.
- *
- * @return string
- */
- public function saveXmlFragment()
- {
- return $this->_element->ownerDocument->saveXML($this->_element);
- }
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set encoding
- *
- * @param string $value Encoding to use
- * @return Zend_Feed_Element
- */
- public function setEncoding($value)
- {
- $this->_encoding = (string) $value;
- return $this;
- }
-
- /**
- * Map variable access onto the underlying entry representation.
- *
- * Get-style access returns a Zend_Feed_Element representing the
- * child element accessed. To get string values, use method syntax
- * with the __call() overriding.
- *
- * @param string $var The property to access.
- * @return mixed
- */
- public function __get($var)
- {
- $nodes = $this->_children($var);
- $length = count($nodes);
-
- if ($length == 1) {
- return new Zend_Feed_Element($nodes[0]);
- } elseif ($length > 1) {
- return array_map(create_function('$e', 'return new Zend_Feed_Element($e);'), $nodes);
- } else {
- // When creating anonymous nodes for __set chaining, don't
- // call appendChild() on them. Instead we pass the current
- // element to them as an extra reference; the child is
- // then responsible for appending itself when it is
- // actually set. This way "if ($foo->bar)" doesn't create
- // a phantom "bar" element in our tree.
- if (strpos($var, ':') !== false) {
- list($ns, $elt) = explode(':', $var, 2);
- $node = $this->_element->ownerDocument->createElementNS(Zend_Feed::lookupNamespace($ns), $elt);
- } else {
- $node = $this->_element->ownerDocument->createElement($var);
- }
- $node = new self($node);
- $node->setParent($this);
- return $node;
- }
- }
-
-
- /**
- * Map variable sets onto the underlying entry representation.
- *
- * @param string $var The property to change.
- * @param string $val The property's new value.
- * @return void
- * @throws Zend_Feed_Exception
- */
- public function __set($var, $val)
- {
- $this->ensureAppended();
-
- $nodes = $this->_children($var);
- if (!$nodes) {
- if (strpos($var, ':') !== false) {
- list($ns, $elt) = explode(':', $var, 2);
- $node = $this->_element->ownerDocument->createElementNS(Zend_Feed::lookupNamespace($ns),
- $var, htmlspecialchars($val, ENT_NOQUOTES, $this->getEncoding()));
- $this->_element->appendChild($node);
- } else {
- $node = $this->_element->ownerDocument->createElement($var,
- htmlspecialchars($val, ENT_NOQUOTES, $this->getEncoding()));
- $this->_element->appendChild($node);
- }
- } elseif (count($nodes) > 1) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Cannot set the value of multiple tags simultaneously.');
- } else {
- $nodes[0]->nodeValue = $val;
- }
- }
-
-
- /**
- * Map isset calls onto the underlying entry representation.
- *
- * @param string $var
- * @return boolean
- */
- public function __isset($var)
- {
- // Look for access of the form {ns:var}. We don't use
- // _children() here because we can break out of the loop
- // immediately once we find something.
- if (strpos($var, ':') !== false) {
- list($ns, $elt) = explode(':', $var, 2);
- foreach ($this->_element->childNodes as $child) {
- if ($child->localName == $elt && $child->prefix == $ns) {
- return true;
- }
- }
- } else {
- foreach ($this->_element->childNodes as $child) {
- if ($child->localName == $var) {
- return true;
- }
- }
- }
- }
-
-
- /**
- * Get the value of an element with method syntax.
- *
- * Map method calls to get the string value of the requested
- * element. If there are multiple elements that match, this will
- * return an array of those objects.
- *
- * @param string $var The element to get the string value of.
- * @param mixed $unused This parameter is not used.
- * @return mixed The node's value, null, or an array of nodes.
- */
- public function __call($var, $unused)
- {
- $nodes = $this->_children($var);
-
- if (!$nodes) {
- return null;
- } elseif (count($nodes) > 1) {
- return $nodes;
- } else {
- return $nodes[0]->nodeValue;
- }
- }
-
-
- /**
- * Remove all children matching $var.
- *
- * @param string $var
- * @return void
- */
- public function __unset($var)
- {
- $nodes = $this->_children($var);
- foreach ($nodes as $node) {
- $parent = $node->parentNode;
- $parent->removeChild($node);
- }
- }
-
-
- /**
- * Returns the nodeValue of this element when this object is used
- * in a string context.
- *
- * @return string
- */
- public function __toString()
- {
- return $this->_element->nodeValue;
- }
-
-
- /**
- * Finds children with tagnames matching $var
- *
- * Similar to SimpleXML's children() method.
- *
- * @param string $var Tagname to match, can be either namespace:tagName or just tagName.
- * @return array
- */
- protected function _children($var)
- {
- $found = array();
-
- // Look for access of the form {ns:var}.
- if (strpos($var, ':') !== false) {
- list($ns, $elt) = explode(':', $var, 2);
- foreach ($this->_element->childNodes as $child) {
- if ($child->localName == $elt && $child->prefix == $ns) {
- $found[] = $child;
- }
- }
- } else {
- foreach ($this->_element->childNodes as $child) {
- if ($child->localName == $var) {
- $found[] = $child;
- }
- }
- }
-
- return $found;
- }
-
-
- /**
- * Required by the ArrayAccess interface.
- *
- * @param string $offset
- * @return boolean
- */
- public function offsetExists($offset)
- {
- if (strpos($offset, ':') !== false) {
- list($ns, $attr) = explode(':', $offset, 2);
- return $this->_element->hasAttributeNS(Zend_Feed::lookupNamespace($ns), $attr);
- } else {
- return $this->_element->hasAttribute($offset);
- }
- }
-
-
- /**
- * Required by the ArrayAccess interface.
- *
- * @param string $offset
- * @return string
- */
- public function offsetGet($offset)
- {
- if (strpos($offset, ':') !== false) {
- list($ns, $attr) = explode(':', $offset, 2);
- return $this->_element->getAttributeNS(Zend_Feed::lookupNamespace($ns), $attr);
- } else {
- return $this->_element->getAttribute($offset);
- }
- }
-
-
- /**
- * Required by the ArrayAccess interface.
- *
- * @param string $offset
- * @param string $value
- * @return string
- */
- public function offsetSet($offset, $value)
- {
- $this->ensureAppended();
-
- if (strpos($offset, ':') !== false) {
- list($ns, $attr) = explode(':', $offset, 2);
- // DOMElement::setAttributeNS() requires $qualifiedName to have a prefix
- return $this->_element->setAttributeNS(Zend_Feed::lookupNamespace($ns), $offset, $value);
- } else {
- return $this->_element->setAttribute($offset, $value);
- }
- }
-
-
- /**
- * Required by the ArrayAccess interface.
- *
- * @param string $offset
- * @return boolean
- */
- public function offsetUnset($offset)
- {
- if (strpos($offset, ':') !== false) {
- list($ns, $attr) = explode(':', $offset, 2);
- return $this->_element->removeAttributeNS(Zend_Feed::lookupNamespace($ns), $attr);
- } else {
- return $this->_element->removeAttribute($offset);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Entry/Abstract.php b/airtime_mvc/library/Zend/Feed/Entry/Abstract.php
deleted file mode 100644
index b9a46823c..000000000
--- a/airtime_mvc/library/Zend/Feed/Entry/Abstract.php
+++ /dev/null
@@ -1,124 +0,0 @@
-loadXML($element);
- @ini_restore('track_errors');
-
- if (!$status) {
- // prevent the class to generate an undefined variable notice (ZF-2590)
- if (!isset($php_errormsg)) {
- if (function_exists('xdebug_is_enabled')) {
- $php_errormsg = '(error message not available, when XDebug is running)';
- } else {
- $php_errormsg = '(error message not available)';
- }
- }
-
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg");
- }
-
- $element = $doc->getElementsByTagName($this->_rootElement)->item(0);
- if (!$element) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('No root <' . $this->_rootElement . '> element found, cannot parse feed.');
- }
- } else {
- $doc = new DOMDocument('1.0', 'utf-8');
- if ($this->_rootNamespace !== null) {
- $element = $doc->createElementNS(Zend_Feed::lookupNamespace($this->_rootNamespace), $this->_rootElement);
- } else {
- $element = $doc->createElement($this->_rootElement);
- }
- }
- }
-
- parent::__construct($element);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Entry/Atom.php b/airtime_mvc/library/Zend/Feed/Entry/Atom.php
deleted file mode 100644
index 01a096d67..000000000
--- a/airtime_mvc/library/Zend/Feed/Entry/Atom.php
+++ /dev/null
@@ -1,280 +0,0 @@
-link('edit');
- if (!$deleteUri) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Cannot delete entry; no link rel="edit" is present.');
- }
-
- // DELETE
- $client = Zend_Feed::getHttpClient();
- do {
- $client->setUri($deleteUri);
- if (Zend_Feed::getHttpMethodOverride()) {
- $client->setHeader('X-HTTP-Method-Override', 'DELETE');
- $response = $client->request('POST');
- } else {
- $response = $client->request('DELETE');
- }
- $httpStatus = $response->getStatus();
- switch ((int) $httpStatus / 100) {
- // Success
- case 2:
- return true;
- // Redirect
- case 3:
- $deleteUri = $response->getHeader('Location');
- continue;
- // Error
- default:
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("Expected response code 2xx, got $httpStatus");
- }
- } while (true);
- }
-
-
- /**
- * Save a new or updated Atom entry.
- *
- * Save is used to either create new entries or to save changes to
- * existing ones. If we have a link rel="edit", we are changing
- * an existing entry. In this case we re-serialize the entry and
- * PUT it to the edit URI, checking for a 200 OK result.
- *
- * For posting new entries, you must specify the $postUri
- * parameter to save() to tell the object where to post itself.
- * We use $postUri and POST the serialized entry there, checking
- * for a 201 Created response. If the insert is successful, we
- * then parse the response from the POST to get any values that
- * the server has generated: an id, an updated time, and its new
- * link rel="edit".
- *
- * @param string $postUri Location to POST for creating new entries.
- * @return void
- * @throws Zend_Feed_Exception
- */
- public function save($postUri = null)
- {
- if ($this->id()) {
- // If id is set, look for link rel="edit" in the
- // entry object and PUT.
- $editUri = $this->link('edit');
- if (!$editUri) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Cannot edit entry; no link rel="edit" is present.');
- }
-
- $client = Zend_Feed::getHttpClient();
- $client->setUri($editUri);
- if (Zend_Feed::getHttpMethodOverride()) {
- $client->setHeaders(array('X-HTTP-Method-Override: PUT',
- 'Content-Type: ' . self::CONTENT_TYPE));
- $client->setRawData($this->saveXML());
- $response = $client->request('POST');
- } else {
- $client->setHeaders('Content-Type', self::CONTENT_TYPE);
- $client->setRawData($this->saveXML());
- $response = $client->request('PUT');
- }
- if ($response->getStatus() !== 200) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Expected response code 200, got ' . $response->getStatus());
- }
- } else {
- if ($postUri === null) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('PostURI must be specified to save new entries.');
- }
- $client = Zend_Feed::getHttpClient();
- $client->setUri($postUri);
- $client->setHeaders('Content-Type', self::CONTENT_TYPE);
- $client->setRawData($this->saveXML());
- $response = $client->request('POST');
-
- if ($response->getStatus() !== 201) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Expected response code 201, got '
- . $response->getStatus());
- }
- }
-
- // Update internal properties using $client->responseBody;
- @ini_set('track_errors', 1);
- $newEntry = new DOMDocument;
- $status = @$newEntry->loadXML($response->getBody());
- @ini_restore('track_errors');
-
- if (!$status) {
- // prevent the class to generate an undefined variable notice (ZF-2590)
- if (!isset($php_errormsg)) {
- if (function_exists('xdebug_is_enabled')) {
- $php_errormsg = '(error message not available, when XDebug is running)';
- } else {
- $php_errormsg = '(error message not available)';
- }
- }
-
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('XML cannot be parsed: ' . $php_errormsg);
- }
-
- $newEntry = $newEntry->getElementsByTagName($this->_rootElement)->item(0);
- if (!$newEntry) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('No root element found in server response:'
- . "\n\n" . $client->responseBody);
- }
-
- if ($this->_element->parentNode) {
- $oldElement = $this->_element;
- $this->_element = $oldElement->ownerDocument->importNode($newEntry, true);
- $oldElement->parentNode->replaceChild($this->_element, $oldElement);
- } else {
- $this->_element = $newEntry;
- }
- }
-
-
- /**
- * Easy access to tags keyed by "rel" attributes.
- *
- * If $elt->link() is called with no arguments, we will attempt to
- * return the value of the tag(s) like all other
- * method-syntax attribute access. If an argument is passed to
- * link(), however, then we will return the "href" value of the
- * first tag that has a "rel" attribute matching $rel:
- *
- * $elt->link(): returns the value of the link tag.
- * $elt->link('self'): returns the href from the first in the entry.
- *
- * @param string $rel The "rel" attribute to look for.
- * @return mixed
- */
- public function link($rel = null)
- {
- if ($rel === null) {
- return parent::__call('link', null);
- }
-
- // index link tags by their "rel" attribute.
- $links = parent::__get('link');
- if (!is_array($links)) {
- if ($links instanceof Zend_Feed_Element) {
- $links = array($links);
- } else {
- return $links;
- }
- }
-
- foreach ($links as $link) {
- if (empty($link['rel'])) {
- $link['rel'] = 'alternate'; // see Atom 1.0 spec
- }
- if ($rel == $link['rel']) {
- return $link['href'];
- }
- }
-
- return null;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Entry/Rss.php b/airtime_mvc/library/Zend/Feed/Entry/Rss.php
deleted file mode 100644
index 0d638c724..000000000
--- a/airtime_mvc/library/Zend/Feed/Entry/Rss.php
+++ /dev/null
@@ -1,122 +0,0 @@
-_element->lookupPrefix('http://purl.org/rss/1.0/modules/content/');
- return parent::__get("$prefix:encoded");
- default:
- return parent::__get($var);
- }
- }
-
- /**
- * Overwrites parent::_set method to enable write access
- * to content:encoded element.
- *
- * @param string $var The property to change.
- * @param string $val The property's new value.
- * @return void
- */
- public function __set($var, $value)
- {
- switch ($var) {
- case 'content':
- parent::__set('content:encoded', $value);
- break;
- default:
- parent::__set($var, $value);
- }
- }
-
- /**
- * Overwrites parent::_isset method to enable access
- * to content:encoded element.
- *
- * @param string $var
- * @return boolean
- */
- public function __isset($var)
- {
- switch ($var) {
- case 'content':
- // don't use other callback to prevent invalid returned value
- return $this->content() !== null;
- default:
- return parent::__isset($var);
- }
- }
-
- /**
- * Overwrites parent::_call method to enable read access
- * to content:encoded element.
- * Please note that method-style write access is not currently supported
- * by parent method, consequently this method doesn't as well.
- *
- * @param string $var The element to get the string value of.
- * @param mixed $unused This parameter is not used.
- * @return mixed The node's value, null, or an array of nodes.
- */
- public function __call($var, $unused)
- {
- switch ($var) {
- case 'content':
- $prefix = $this->_element->lookupPrefix('http://purl.org/rss/1.0/modules/content/');
- return parent::__call("$prefix:encoded", $unused);
- default:
- return parent::__call($var, $unused);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Exception.php b/airtime_mvc/library/Zend/Feed/Exception.php
deleted file mode 100644
index 733c62669..000000000
--- a/airtime_mvc/library/Zend/Feed/Exception.php
+++ /dev/null
@@ -1,42 +0,0 @@
-getHubs();
- }
-
- /**
- * Allows the external environment to make Zend_Oauth use a specific
- * Client instance.
- *
- * @param Zend_Http_Client $httpClient
- * @return void
- */
- public static function setHttpClient(Zend_Http_Client $httpClient)
- {
- self::$httpClient = $httpClient;
- }
-
- /**
- * Return the singleton instance of the HTTP Client. Note that
- * the instance is reset and cleared of previous parameters GET/POST.
- * Headers are NOT reset but handled by this component if applicable.
- *
- * @return Zend_Http_Client
- */
- public static function getHttpClient()
- {
- if (!isset(self::$httpClient)):
- self::$httpClient = new Zend_Http_Client;
- else:
- self::$httpClient->resetParameters();
- endif;
- return self::$httpClient;
- }
-
- /**
- * Simple mechanism to delete the entire singleton HTTP Client instance
- * which forces an new instantiation for subsequent requests.
- *
- * @return void
- */
- public static function clearHttpClient()
- {
- self::$httpClient = null;
- }
-
- /**
- * RFC 3986 safe url encoding method
- *
- * @param string $string
- * @return string
- */
- public static function urlencode($string)
- {
- $rawencoded = rawurlencode($string);
- $rfcencoded = str_replace('%7E', '~', $rawencoded);
- return $rfcencoded;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/CallbackAbstract.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/CallbackAbstract.php
deleted file mode 100644
index 48fc56d43..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/CallbackAbstract.php
+++ /dev/null
@@ -1,307 +0,0 @@
-setConfig($config);
- }
- }
-
- /**
- * Process any injected configuration options
- *
- * @param array|Zend_Config $options Options array or Zend_Config instance
- * @return Zend_Feed_Pubsubhubbub_CallbackAbstract
- */
- public function setConfig($config)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- } elseif (!is_array($config)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Array or Zend_Config object'
- . 'expected, got ' . gettype($config));
- }
- if (array_key_exists('storage', $config)) {
- $this->setStorage($config['storage']);
- }
- return $this;
- }
-
- /**
- * Send the response, including all headers.
- * If you wish to handle this via Zend_Controller, use the getter methods
- * to retrieve any data needed to be set on your HTTP Response object, or
- * simply give this object the HTTP Response instance to work with for you!
- *
- * @return void
- */
- public function sendResponse()
- {
- $this->getHttpResponse()->sendResponse();
- }
-
- /**
- * Sets an instance of Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface used
- * to background save any verification tokens associated with a subscription
- * or other.
- *
- * @param Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface $storage
- * @return Zend_Feed_Pubsubhubbub_CallbackAbstract
- */
- public function setStorage(Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface $storage)
- {
- $this->_storage = $storage;
- return $this;
- }
-
- /**
- * Gets an instance of Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface used
- * to background save any verification tokens associated with a subscription
- * or other.
- *
- * @return Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface
- */
- public function getStorage()
- {
- if ($this->_storage === null) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('No storage object has been'
- . ' set that subclasses Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface');
- }
- return $this->_storage;
- }
-
- /**
- * An instance of a class handling Http Responses. This is implemented in
- * Zend_Feed_Pubsubhubbub_HttpResponse which shares an unenforced interface with
- * (i.e. not inherited from) Zend_Controller_Response_Http.
- *
- * @param Zend_Feed_Pubsubhubbub_HttpResponse|Zend_Controller_Response_Http $httpResponse
- * @return Zend_Feed_Pubsubhubbub_CallbackAbstract
- */
- public function setHttpResponse($httpResponse)
- {
- if (!is_object($httpResponse)
- || (!$httpResponse instanceof Zend_Feed_Pubsubhubbub_HttpResponse
- && !$httpResponse instanceof Zend_Controller_Response_Http)
- ) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('HTTP Response object must'
- . ' implement one of Zend_Feed_Pubsubhubbub_HttpResponse or'
- . ' Zend_Controller_Response_Http');
- }
- $this->_httpResponse = $httpResponse;
- return $this;
- }
-
- /**
- * An instance of a class handling Http Responses. This is implemented in
- * Zend_Feed_Pubsubhubbub_HttpResponse which shares an unenforced interface with
- * (i.e. not inherited from) Zend_Controller_Response_Http.
- *
- * @return Zend_Feed_Pubsubhubbub_HttpResponse|Zend_Controller_Response_Http
- */
- public function getHttpResponse()
- {
- if ($this->_httpResponse === null) {
- $this->_httpResponse = new Zend_Feed_Pubsubhubbub_HttpResponse;
- }
- return $this->_httpResponse;
- }
-
- /**
- * Sets the number of Subscribers for which any updates are on behalf of.
- * In other words, is this class serving one or more subscribers? How many?
- * Defaults to 1 if left unchanged.
- *
- * @param string|int $count
- * @return Zend_Feed_Pubsubhubbub_CallbackAbstract
- */
- public function setSubscriberCount($count)
- {
- $count = intval($count);
- if ($count <= 0) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Subscriber count must be'
- . ' greater than zero');
- }
- $this->_subscriberCount = $count;
- return $this;
- }
-
- /**
- * Gets the number of Subscribers for which any updates are on behalf of.
- * In other words, is this class serving one or more subscribers? How many?
- *
- * @return int
- */
- public function getSubscriberCount()
- {
- return $this->_subscriberCount;
- }
-
- /**
- * Attempt to detect the callback URL (specifically the path forward)
- */
- protected function _detectCallbackUrl()
- {
- $callbackUrl = '';
- if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
- $callbackUrl = $_SERVER['HTTP_X_REWRITE_URL'];
- } elseif (isset($_SERVER['REQUEST_URI'])) {
- $callbackUrl = $_SERVER['REQUEST_URI'];
- $scheme = 'http';
- if ($_SERVER['HTTPS'] == 'on') {
- $scheme = 'https';
- }
- $schemeAndHttpHost = $scheme . '://' . $this->_getHttpHost();
- if (strpos($callbackUrl, $schemeAndHttpHost) === 0) {
- $callbackUrl = substr($callbackUrl, strlen($schemeAndHttpHost));
- }
- } elseif (isset($_SERVER['ORIG_PATH_INFO'])) {
- $callbackUrl= $_SERVER['ORIG_PATH_INFO'];
- if (!empty($_SERVER['QUERY_STRING'])) {
- $callbackUrl .= '?' . $_SERVER['QUERY_STRING'];
- }
- }
- return $callbackUrl;
- }
-
- /**
- * Get the HTTP host
- *
- * @return string
- */
- protected function _getHttpHost()
- {
- if (!empty($_SERVER['HTTP_HOST'])) {
- return $_SERVER['HTTP_HOST'];
- }
- $scheme = 'http';
- if ($_SERVER['HTTPS'] == 'on') {
- $scheme = 'https';
- }
- $name = $_SERVER['SERVER_NAME'];
- $port = $_SERVER['SERVER_PORT'];
- if (($scheme == 'http' && $port == 80)
- || ($scheme == 'https' && $port == 443)
- ) {
- return $name;
- } else {
- return $name . ':' . $port;
- }
- }
-
- /**
- * Retrieve a Header value from either $_SERVER or Apache
- *
- * @param string $header
- */
- protected function _getHeader($header)
- {
- $temp = strtoupper(str_replace('-', '_', $header));
- if (!empty($_SERVER[$temp])) {
- return $_SERVER[$temp];
- }
- $temp = 'HTTP_' . strtoupper(str_replace('-', '_', $header));
- if (!empty($_SERVER[$temp])) {
- return $_SERVER[$temp];
- }
- if (function_exists('apache_request_headers')) {
- $headers = apache_request_headers();
- if (!empty($headers[$header])) {
- return $headers[$header];
- }
- }
- return false;
- }
-
- /**
- * Return the raw body of the request
- *
- * @return string|false Raw body, or false if not present
- */
- protected function _getRawBody()
- {
- $body = file_get_contents('php://input');
- if (strlen(trim($body)) == 0 && isset($GLOBALS['HTTP_RAW_POST_DATA'])) {
- $body = $GLOBALS['HTTP_RAW_POST_DATA'];
- }
- if (strlen(trim($body)) > 0) {
- return $body;
- }
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/CallbackInterface.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/CallbackInterface.php
deleted file mode 100644
index ce30a6bb2..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/CallbackInterface.php
+++ /dev/null
@@ -1,68 +0,0 @@
-sendHeaders();
- echo $this->getBody();
- }
-
- /**
- * Send all headers
- *
- * Sends any headers specified. If an {@link setHttpResponseCode() HTTP response code}
- * has been specified, it is sent with the first header.
- *
- * @return void
- */
- public function sendHeaders()
- {
- if (count($this->_headers) || (200 != $this->_httpResponseCode)) {
- $this->canSendHeaders(true);
- } elseif (200 == $this->_httpResponseCode) {
- return;
- }
- $httpCodeSent = false;
- foreach ($this->_headers as $header) {
- if (!$httpCodeSent && $this->_httpResponseCode) {
- header($header['name'] . ': ' . $header['value'], $header['replace'], $this->_httpResponseCode);
- $httpCodeSent = true;
- } else {
- header($header['name'] . ': ' . $header['value'], $header['replace']);
- }
- }
- if (!$httpCodeSent) {
- header('HTTP/1.1 ' . $this->_httpResponseCode);
- $httpCodeSent = true;
- }
- }
-
- /**
- * Set a header
- *
- * If $replace is true, replaces any headers already defined with that
- * $name.
- *
- * @param string $name
- * @param string $value
- * @param boolean $replace
- * @return Zend_Feed_Pubsubhubbub_HttpResponse
- */
- public function setHeader($name, $value, $replace = false)
- {
- $name = $this->_normalizeHeader($name);
- $value = (string) $value;
- if ($replace) {
- foreach ($this->_headers as $key => $header) {
- if ($name == $header['name']) {
- unset($this->_headers[$key]);
- }
- }
- }
- $this->_headers[] = array(
- 'name' => $name,
- 'value' => $value,
- 'replace' => $replace,
- );
-
- return $this;
- }
-
- /**
- * Check if a specific Header is set and return its value
- *
- * @param string $name
- * @return string|null
- */
- public function getHeader($name)
- {
- $name = $this->_normalizeHeader($name);
- foreach ($this->_headers as $header) {
- if ($header['name'] == $name) {
- return $header['value'];
- }
- }
- }
-
- /**
- * Return array of headers; see {@link $_headers} for format
- *
- * @return array
- */
- public function getHeaders()
- {
- return $this->_headers;
- }
-
- /**
- * Can we send headers?
- *
- * @param boolean $throw Whether or not to throw an exception if headers have been sent; defaults to false
- * @return boolean
- * @throws Zend_Feed_Pubsubhubbub_Exception
- */
- public function canSendHeaders($throw = false)
- {
- $ok = headers_sent($file, $line);
- if ($ok && $throw) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Cannot send headers; headers already sent in ' . $file . ', line ' . $line);
- }
- return !$ok;
- }
-
- /**
- * Set HTTP response code to use with headers
- *
- * @param int $code
- * @return Zend_Feed_Pubsubhubbub_HttpResponse
- */
- public function setHttpResponseCode($code)
- {
- if (!is_int($code) || (100 > $code) || (599 < $code)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid HTTP response'
- . ' code:' . $code);
- }
- $this->_httpResponseCode = $code;
- return $this;
- }
-
- /**
- * Retrieve HTTP response code
- *
- * @return int
- */
- public function getHttpResponseCode()
- {
- return $this->_httpResponseCode;
- }
-
- /**
- * Set body content
- *
- * @param string $content
- * @return Zend_Feed_Pubsubhubbub_HttpResponse
- */
- public function setBody($content)
- {
- $this->_body = (string) $content;
- $this->setHeader('content-length', strlen($content));
- return $this;
- }
-
- /**
- * Return the body content
- *
- * @return string
- */
- public function getBody()
- {
- return $this->_body;
- }
-
- /**
- * Normalizes a header name to X-Capitalized-Names
- *
- * @param string $name
- * @return string
- */
- protected function _normalizeHeader($name)
- {
- $filtered = str_replace(array('-', '_'), ' ', (string) $name);
- $filtered = ucwords(strtolower($filtered));
- $filtered = str_replace(' ', '-', $filtered);
- return $filtered;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/ModelAbstract.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/ModelAbstract.php
deleted file mode 100644
index 839644648..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/ModelAbstract.php
+++ /dev/null
@@ -1,64 +0,0 @@
-_db = new Zend_Db_Table($table);
- } else {
- $this->_db = $tableGateway;
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/Subscription.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/Subscription.php
deleted file mode 100644
index 0b3ab2abe..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/Subscription.php
+++ /dev/null
@@ -1,131 +0,0 @@
-_db->find($data['id']);
- if ($result) {
- $data['created_time'] = $result->current()->created_time;
- $now = new Zend_Date;
- if ($data['lease_seconds']) {
- $data['expiration_time'] = $now->add($data['lease_seconds'], Zend_Date::SECOND)
- ->get('yyyy-MM-dd HH:mm:ss');
- }
- $this->_db->update(
- $data,
- $this->_db->getAdapter()->quoteInto('id = ?', $data['id'])
- );
- return false;
- }
-
- $this->_db->insert($data);
- return true;
- }
-
- /**
- * Get subscription by ID/key
- *
- * @param string $key
- * @return array
- */
- public function getSubscription($key)
- {
- if (empty($key) || !is_string($key)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "key"'
- .' of "' . $key . '" must be a non-empty string');
- }
- $result = $this->_db->find($key);
- if ($result) {
- return (array) $result->current();
- }
- return false;
- }
-
- /**
- * Determine if a subscription matching the key exists
- *
- * @param string $key
- * @return bool
- */
- public function hasSubscription($key)
- {
- if (empty($key) || !is_string($key)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "key"'
- .' of "' . $key . '" must be a non-empty string');
- }
- $result = $this->_db->find($key);
- if ($result) {
- return true;
- }
- return false;
- }
-
- /**
- * Delete a subscription
- *
- * @param string $key
- * @return bool
- */
- public function deleteSubscription($key)
- {
- $result = $this->_db->find($key);
- if ($result) {
- $this->_db->delete(
- $this->_db->getAdapter()->quoteInto('id = ?', $key)
- );
- return true;
- }
- return false;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/SubscriptionInterface.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/SubscriptionInterface.php
deleted file mode 100644
index f8a6e6a3e..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Model/SubscriptionInterface.php
+++ /dev/null
@@ -1,64 +0,0 @@
-setConfig($config);
- }
- }
-
- /**
- * Process any injected configuration options
- *
- * @param array|Zend_Config $options Options array or Zend_Config instance
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function setConfig($config)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- } elseif (!is_array($config)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Array or Zend_Config object'
- . 'expected, got ' . gettype($config));
- }
- if (array_key_exists('hubUrls', $config)) {
- $this->addHubUrls($config['hubUrls']);
- }
- if (array_key_exists('updatedTopicUrls', $config)) {
- $this->addUpdatedTopicUrls($config['updatedTopicUrls']);
- }
- if (array_key_exists('parameters', $config)) {
- $this->setParameters($config['parameters']);
- }
- return $this;
- }
-
- /**
- * Add a Hub Server URL supported by Publisher
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function addHubUrl($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- .' of "' . $url . '" must be a non-empty string and a valid'
- .'URL');
- }
- $this->_hubUrls[] = $url;
- return $this;
- }
-
- /**
- * Add an array of Hub Server URLs supported by Publisher
- *
- * @param array $urls
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function addHubUrls(array $urls)
- {
- foreach ($urls as $url) {
- $this->addHubUrl($url);
- }
- return $this;
- }
-
- /**
- * Remove a Hub Server URL
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function removeHubUrl($url)
- {
- if (!in_array($url, $this->getHubUrls())) {
- return $this;
- }
- $key = array_search($url, $this->_hubUrls);
- unset($this->_hubUrls[$key]);
- return $this;
- }
-
- /**
- * Return an array of unique Hub Server URLs currently available
- *
- * @return array
- */
- public function getHubUrls()
- {
- $this->_hubUrls = array_unique($this->_hubUrls);
- return $this->_hubUrls;
- }
-
- /**
- * Add a URL to a topic (Atom or RSS feed) which has been updated
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function addUpdatedTopicUrl($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- .' of "' . $url . '" must be a non-empty string and a valid'
- .'URL');
- }
- $this->_updatedTopicUrls[] = $url;
- return $this;
- }
-
- /**
- * Add an array of Topic URLs which have been updated
- *
- * @param array $urls
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function addUpdatedTopicUrls(array $urls)
- {
- foreach ($urls as $url) {
- $this->addUpdatedTopicUrl($url);
- }
- return $this;
- }
-
- /**
- * Remove an updated topic URL
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function removeUpdatedTopicUrl($url)
- {
- if (!in_array($url, $this->getUpdatedTopicUrls())) {
- return $this;
- }
- $key = array_search($url, $this->_updatedTopicUrls);
- unset($this->_updatedTopicUrls[$key]);
- return $this;
- }
-
- /**
- * Return an array of unique updated topic URLs currently available
- *
- * @return array
- */
- public function getUpdatedTopicUrls()
- {
- $this->_updatedTopicUrls = array_unique($this->_updatedTopicUrls);
- return $this->_updatedTopicUrls;
- }
-
- /**
- * Notifies a single Hub Server URL of changes
- *
- * @param string $url The Hub Server's URL
- * @return void
- * @throws Zend_Feed_Pubsubhubbub_Exception Thrown on failure
- */
- public function notifyHub($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- .' of "' . $url . '" must be a non-empty string and a valid'
- .'URL');
- }
- $client = $this->_getHttpClient();
- $client->setUri($url);
- $response = $client->request();
- if ($response->getStatus() !== 204) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Notification to Hub Server '
- . 'at "' . $url . '" appears to have failed with a status code of "'
- . $response->getStatus() . '" and message "'
- . $response->getMessage() . '"');
- }
- }
-
- /**
- * Notifies all Hub Server URLs of changes
- *
- * If a Hub notification fails, certain data will be retained in an
- * an array retrieved using getErrors(), if a failure occurs for any Hubs
- * the isSuccess() check will return FALSE. This method is designed not
- * to needlessly fail with an Exception/Error unless from Zend_Http_Client.
- *
- * @return void
- * @throws Zend_Feed_Pubsubhubbub_Exception Thrown if no hubs attached
- */
- public function notifyAll()
- {
- $client = $this->_getHttpClient();
- $hubs = $this->getHubUrls();
- if (empty($hubs)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('No Hub Server URLs'
- . ' have been set so no notifcations can be sent');
- }
- $this->_errors = array();
- foreach ($hubs as $url) {
- $client->setUri($url);
- $response = $client->request();
- if ($response->getStatus() !== 204) {
- $this->_errors[] = array(
- 'response' => $response,
- 'hubUrl' => $url
- );
- }
- }
- }
-
- /**
- * Add an optional parameter to the update notification requests
- *
- * @param string $name
- * @param string|null $value
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function setParameter($name, $value = null)
- {
- if (is_array($name)) {
- $this->setParameters($name);
- return $this;
- }
- if (empty($name) || !is_string($name)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "name"'
- .' of "' . $name . '" must be a non-empty string');
- }
- if ($value === null) {
- $this->removeParameter($name);
- return $this;
- }
- if (empty($value) || (!is_string($value) && !is_null($value))) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "value"'
- .' of "' . $value . '" must be a non-empty string');
- }
- $this->_parameters[$name] = $value;
- return $this;
- }
-
- /**
- * Add an optional parameter to the update notification requests
- *
- * @param array $parameters
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function setParameters(array $parameters)
- {
- foreach ($parameters as $name => $value) {
- $this->setParameter($name, $value);
- }
- return $this;
- }
-
- /**
- * Remove an optional parameter for the notification requests
- *
- * @param string $name
- * @return Zend_Feed_Pubsubhubbub_Publisher
- */
- public function removeParameter($name)
- {
- if (empty($name) || !is_string($name)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "name"'
- .' of "' . $name . '" must be a non-empty string');
- }
- if (array_key_exists($name, $this->_parameters)) {
- unset($this->_parameters[$name]);
- }
- return $this;
- }
-
- /**
- * Return an array of optional parameters for notification requests
- *
- * @return array
- */
- public function getParameters()
- {
- return $this->_parameters;
- }
-
- /**
- * Returns a boolean indicator of whether the notifications to Hub
- * Servers were ALL successful. If even one failed, FALSE is returned.
- *
- * @return bool
- */
- public function isSuccess()
- {
- if (count($this->_errors) > 0) {
- return false;
- }
- return true;
- }
-
- /**
- * Return an array of errors met from any failures, including keys:
- * 'response' => the Zend_Http_Response object from the failure
- * 'hubUrl' => the URL of the Hub Server whose notification failed
- *
- * @return array
- */
- public function getErrors()
- {
- return $this->_errors;
- }
-
- /**
- * Get a basic prepared HTTP client for use
- *
- * @return Zend_Http_Client
- */
- protected function _getHttpClient()
- {
- $client = Zend_Feed_Pubsubhubbub::getHttpClient();
- $client->setMethod(Zend_Http_Client::POST);
- $client->setConfig(array(
- 'useragent' => 'Zend_Feed_Pubsubhubbub_Publisher/' . Zend_Version::VERSION,
- ));
- $params = array();
- $params[] = 'hub.mode=publish';
- $topics = $this->getUpdatedTopicUrls();
- if (empty($topics)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('No updated topic URLs'
- . ' have been set');
- }
- foreach ($topics as $topicUrl) {
- $params[] = 'hub.url=' . urlencode($topicUrl);
- }
- $optParams = $this->getParameters();
- foreach ($optParams as $name => $value) {
- $params[] = urlencode($name) . '=' . urlencode($value);
- }
- $paramString = implode('&', $params);
- $client->setRawData($paramString);
- return $client;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Subscriber.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Subscriber.php
deleted file mode 100644
index 35a4ccf96..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Subscriber.php
+++ /dev/null
@@ -1,856 +0,0 @@
-setConfig($config);
- }
- }
-
- /**
- * Process any injected configuration options
- *
- * @param array|Zend_Config $options Options array or Zend_Config instance
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setConfig($config)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- } elseif (!is_array($config)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Array or Zend_Config object'
- . ' expected, got ' . gettype($config));
- }
- if (array_key_exists('hubUrls', $config)) {
- $this->addHubUrls($config['hubUrls']);
- }
- if (array_key_exists('callbackUrl', $config)) {
- $this->setCallbackUrl($config['callbackUrl']);
- }
- if (array_key_exists('topicUrl', $config)) {
- $this->setTopicUrl($config['topicUrl']);
- }
- if (array_key_exists('storage', $config)) {
- $this->setStorage($config['storage']);
- }
- if (array_key_exists('leaseSeconds', $config)) {
- $this->setLeaseSeconds($config['leaseSeconds']);
- }
- if (array_key_exists('parameters', $config)) {
- $this->setParameters($config['parameters']);
- }
- if (array_key_exists('authentications', $config)) {
- $this->addAuthentications($config['authentications']);
- }
- if (array_key_exists('usePathParameter', $config)) {
- $this->usePathParameter($config['usePathParameter']);
- }
- if (array_key_exists('preferredVerificationMode', $config)) {
- $this->setPreferredVerificationMode(
- $config['preferredVerificationMode']
- );
- }
- return $this;
- }
-
- /**
- * Set the topic URL (RSS or Atom feed) to which the intended (un)subscribe
- * event will relate
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setTopicUrl($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- .' of "' . $url . '" must be a non-empty string and a valid'
- .' URL');
- }
- $this->_topicUrl = $url;
- return $this;
- }
-
- /**
- * Set the topic URL (RSS or Atom feed) to which the intended (un)subscribe
- * event will relate
- *
- * @return string
- */
- public function getTopicUrl()
- {
- if (empty($this->_topicUrl)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('A valid Topic (RSS or Atom'
- . ' feed) URL MUST be set before attempting any operation');
- }
- return $this->_topicUrl;
- }
-
- /**
- * Set the number of seconds for which any subscription will remain valid
- *
- * @param int $seconds
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setLeaseSeconds($seconds)
- {
- $seconds = intval($seconds);
- if ($seconds <= 0) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Expected lease seconds'
- . ' must be an integer greater than zero');
- }
- $this->_leaseSeconds = $seconds;
- return $this;
- }
-
- /**
- * Get the number of lease seconds on subscriptions
- *
- * @return int
- */
- public function getLeaseSeconds()
- {
- return $this->_leaseSeconds;
- }
-
- /**
- * Set the callback URL to be used by Hub Servers when communicating with
- * this Subscriber
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setCallbackUrl($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- . ' of "' . $url . '" must be a non-empty string and a valid'
- . ' URL');
- }
- $this->_callbackUrl = $url;
- return $this;
- }
-
- /**
- * Get the callback URL to be used by Hub Servers when communicating with
- * this Subscriber
- *
- * @return string
- */
- public function getCallbackUrl()
- {
- if (empty($this->_callbackUrl)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('A valid Callback URL MUST be'
- . ' set before attempting any operation');
- }
- return $this->_callbackUrl;
- }
-
- /**
- * Set preferred verification mode (sync or async). By default, this
- * Subscriber prefers synchronous verification, but does support
- * asynchronous if that's the Hub Server's utilised mode.
- *
- * Zend_Feed_Pubsubhubbub_Subscriber will always send both modes, whose
- * order of occurance in the parameter list determines this preference.
- *
- * @param string $mode Should be 'sync' or 'async'
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setPreferredVerificationMode($mode)
- {
- if ($mode !== Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_SYNC
- && $mode !== Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_ASYNC) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid preferred'
- . ' mode specified: "' . $mode . '" but should be one of'
- . ' Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_SYNC or'
- . ' Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_ASYNC');
- }
- $this->_preferredVerificationMode = $mode;
- return $this;
- }
-
- /**
- * Get preferred verification mode (sync or async).
- *
- * @return string
- */
- public function getPreferredVerificationMode()
- {
- return $this->_preferredVerificationMode;
- }
-
- /**
- * Add a Hub Server URL supported by Publisher
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function addHubUrl($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- . ' of "' . $url . '" must be a non-empty string and a valid'
- . ' URL');
- }
- $this->_hubUrls[] = $url;
- return $this;
- }
-
- /**
- * Add an array of Hub Server URLs supported by Publisher
- *
- * @param array $urls
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function addHubUrls(array $urls)
- {
- foreach ($urls as $url) {
- $this->addHubUrl($url);
- }
- return $this;
- }
-
- /**
- * Remove a Hub Server URL
- *
- * @param string $url
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function removeHubUrl($url)
- {
- if (!in_array($url, $this->getHubUrls())) {
- return $this;
- }
- $key = array_search($url, $this->_hubUrls);
- unset($this->_hubUrls[$key]);
- return $this;
- }
-
- /**
- * Return an array of unique Hub Server URLs currently available
- *
- * @return array
- */
- public function getHubUrls()
- {
- $this->_hubUrls = array_unique($this->_hubUrls);
- return $this->_hubUrls;
- }
-
- /**
- * Add authentication credentials for a given URL
- *
- * @param string $url
- * @param array $authentication
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function addAuthentication($url, array $authentication)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "url"'
- . ' of "' . $url . '" must be a non-empty string and a valid'
- . ' URL');
- }
- $this->_authentications[$url] = $authentication;
- return $this;
- }
-
- /**
- * Add authentication credentials for hub URLs
- *
- * @param array $authentications
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function addAuthentications(array $authentications)
- {
- foreach ($authentications as $url => $authentication) {
- $this->addAuthentication($url, $authentication);
- }
- return $this;
- }
-
- /**
- * Get all hub URL authentication credentials
- *
- * @return array
- */
- public function getAuthentications()
- {
- return $this->_authentications;
- }
-
- /**
- * Set flag indicating whether or not to use a path parameter
- *
- * @param bool $bool
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function usePathParameter($bool = true)
- {
- $this->_usePathParameter = $bool;
- return $this;
- }
-
- /**
- * Add an optional parameter to the (un)subscribe requests
- *
- * @param string $name
- * @param string|null $value
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setParameter($name, $value = null)
- {
- if (is_array($name)) {
- $this->setParameters($name);
- return $this;
- }
- if (empty($name) || !is_string($name)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "name"'
- . ' of "' . $name . '" must be a non-empty string');
- }
- if ($value === null) {
- $this->removeParameter($name);
- return $this;
- }
- if (empty($value) || (!is_string($value) && !is_null($value))) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "value"'
- . ' of "' . $value . '" must be a non-empty string');
- }
- $this->_parameters[$name] = $value;
- return $this;
- }
-
- /**
- * Add an optional parameter to the (un)subscribe requests
- *
- * @param string $name
- * @param string|null $value
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setParameters(array $parameters)
- {
- foreach ($parameters as $name => $value) {
- $this->setParameter($name, $value);
- }
- return $this;
- }
-
- /**
- * Remove an optional parameter for the (un)subscribe requests
- *
- * @param string $name
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function removeParameter($name)
- {
- if (empty($name) || !is_string($name)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid parameter "name"'
- . ' of "' . $name . '" must be a non-empty string');
- }
- if (array_key_exists($name, $this->_parameters)) {
- unset($this->_parameters[$name]);
- }
- return $this;
- }
-
- /**
- * Return an array of optional parameters for (un)subscribe requests
- *
- * @return array
- */
- public function getParameters()
- {
- return $this->_parameters;
- }
-
- /**
- * Sets an instance of Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface used to background
- * save any verification tokens associated with a subscription or other.
- *
- * @param Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface $storage
- * @return Zend_Feed_Pubsubhubbub_Subscriber
- */
- public function setStorage(Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface $storage)
- {
- $this->_storage = $storage;
- return $this;
- }
-
- /**
- * Gets an instance of Zend_Feed_Pubsubhubbub_Storage_StorageInterface used
- * to background save any verification tokens associated with a subscription
- * or other.
- *
- * @return Zend_Feed_Pubsubhubbub_Model_SubscriptionInterface
- */
- public function getStorage()
- {
- if ($this->_storage === null) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('No storage vehicle '
- . 'has been set.');
- }
- return $this->_storage;
- }
-
- /**
- * Subscribe to one or more Hub Servers using the stored Hub URLs
- * for the given Topic URL (RSS or Atom feed)
- *
- * @return void
- */
- public function subscribeAll()
- {
- return $this->_doRequest('subscribe');
- }
-
- /**
- * Unsubscribe from one or more Hub Servers using the stored Hub URLs
- * for the given Topic URL (RSS or Atom feed)
- *
- * @return void
- */
- public function unsubscribeAll()
- {
- return $this->_doRequest('unsubscribe');
- }
-
- /**
- * Returns a boolean indicator of whether the notifications to Hub
- * Servers were ALL successful. If even one failed, FALSE is returned.
- *
- * @return bool
- */
- public function isSuccess()
- {
- if (count($this->_errors) > 0) {
- return false;
- }
- return true;
- }
-
- /**
- * Return an array of errors met from any failures, including keys:
- * 'response' => the Zend_Http_Response object from the failure
- * 'hubUrl' => the URL of the Hub Server whose notification failed
- *
- * @return array
- */
- public function getErrors()
- {
- return $this->_errors;
- }
-
- /**
- * Return an array of Hub Server URLs who returned a response indicating
- * operation in Asynchronous Verification Mode, i.e. they will not confirm
- * any (un)subscription immediately but at a later time (Hubs may be
- * doing this as a batch process when load balancing)
- *
- * @return array
- */
- public function getAsyncHubs()
- {
- return $this->_asyncHubs;
- }
-
- /**
- * Executes an (un)subscribe request
- *
- * @param string $mode
- * @return void
- */
- protected function _doRequest($mode)
- {
- $client = $this->_getHttpClient();
- $hubs = $this->getHubUrls();
- if (empty($hubs)) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('No Hub Server URLs'
- . ' have been set so no subscriptions can be attempted');
- }
- $this->_errors = array();
- $this->_asyncHubs = array();
- foreach ($hubs as $url) {
- if (array_key_exists($url, $this->_authentications)) {
- $auth = $this->_authentications[$url];
- $client->setAuth($auth[0], $auth[1]);
- }
- $client->setUri($url);
- $client->setRawData($this->_getRequestParameters($url, $mode));
- $response = $client->request();
- if ($response->getStatus() !== 204
- && $response->getStatus() !== 202
- ) {
- $this->_errors[] = array(
- 'response' => $response,
- 'hubUrl' => $url,
- );
- /**
- * At first I thought it was needed, but the backend storage will
- * allow tracking async without any user interference. It's left
- * here in case the user is interested in knowing what Hubs
- * are using async verification modes so they may update Models and
- * move these to asynchronous processes.
- */
- } elseif ($response->getStatus() == 202) {
- $this->_asyncHubs[] = array(
- 'response' => $response,
- 'hubUrl' => $url,
- );
- }
- }
- }
-
- /**
- * Get a basic prepared HTTP client for use
- *
- * @param string $mode Must be "subscribe" or "unsubscribe"
- * @return Zend_Http_Client
- */
- protected function _getHttpClient()
- {
- $client = Zend_Feed_Pubsubhubbub::getHttpClient();
- $client->setMethod(Zend_Http_Client::POST);
- $client->setConfig(array('useragent' => 'Zend_Feed_Pubsubhubbub_Subscriber/'
- . Zend_Version::VERSION));
- return $client;
- }
-
- /**
- * Return a list of standard protocol/optional parameters for addition to
- * client's POST body that are specific to the current Hub Server URL
- *
- * @param string $hubUrl
- * @param mode $hubUrl
- * @return string
- */
- protected function _getRequestParameters($hubUrl, $mode)
- {
- if (!in_array($mode, array('subscribe', 'unsubscribe'))) {
- require_once 'Zend/Feed/Pubsubhubbub/Exception.php';
- throw new Zend_Feed_Pubsubhubbub_Exception('Invalid mode specified: "'
- . $mode . '" which should have been "subscribe" or "unsubscribe"');
- }
-
- $params = array(
- 'hub.mode' => $mode,
- 'hub.topic' => $this->getTopicUrl(),
- );
-
- if ($this->getPreferredVerificationMode()
- == Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_SYNC
- ) {
- $vmodes = array(
- Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_SYNC,
- Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_ASYNC,
- );
- } else {
- $vmodes = array(
- Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_ASYNC,
- Zend_Feed_Pubsubhubbub::VERIFICATION_MODE_SYNC,
- );
- }
- $params['hub.verify'] = array();
- foreach($vmodes as $vmode) {
- $params['hub.verify'][] = $vmode;
- }
-
- /**
- * Establish a persistent verify_token and attach key to callback
- * URL's path/querystring
- */
- $key = $this->_generateSubscriptionKey($params, $hubUrl);
- $token = $this->_generateVerifyToken();
- $params['hub.verify_token'] = $token;
-
- // Note: query string only usable with PuSH 0.2 Hubs
- if (!$this->_usePathParameter) {
- $params['hub.callback'] = $this->getCallbackUrl()
- . '?xhub.subscription=' . Zend_Feed_Pubsubhubbub::urlencode($key);
- } else {
- $params['hub.callback'] = rtrim($this->getCallbackUrl(), '/')
- . '/' . Zend_Feed_Pubsubhubbub::urlencode($key);
- }
- if ($mode == 'subscribe' && !is_null($this->getLeaseSeconds())) {
- $params['hub.lease_seconds'] = $this->getLeaseSeconds();
- }
-
- // hub.secret not currently supported
- $optParams = $this->getParameters();
- foreach ($optParams as $name => $value) {
- $params[$name] = $value;
- }
-
- // store subscription to storage
- $now = new Zend_Date;
- $expires = null;
- if (isset($params['hub.lease_seconds'])) {
- $expires = $now->add($params['hub.lease_seconds'], Zend_Date::SECOND)
- ->get('yyyy-MM-dd HH:mm:ss');
- }
- $data = array(
- 'id' => $key,
- 'topic_url' => $params['hub.topic'],
- 'hub_url' => $hubUrl,
- 'created_time' => $now->get('yyyy-MM-dd HH:mm:ss'),
- 'lease_seconds' => $expires,
- 'verify_token' => hash('sha256', $params['hub.verify_token']),
- 'secret' => null,
- 'expiration_time' => $expires,
- 'subscription_state' => Zend_Feed_Pubsubhubbub::SUBSCRIPTION_NOTVERIFIED,
- );
- $this->getStorage()->setSubscription($data);
-
- return $this->_toByteValueOrderedString(
- $this->_urlEncode($params)
- );
- }
-
- /**
- * Simple helper to generate a verification token used in (un)subscribe
- * requests to a Hub Server. Follows no particular method, which means
- * it might be improved/changed in future.
- *
- * @param string $hubUrl The Hub Server URL for which this token will apply
- * @return string
- */
- protected function _generateVerifyToken()
- {
- if (!empty($this->_testStaticToken)) {
- return $this->_testStaticToken;
- }
- return uniqid(rand(), true) . time();
- }
-
- /**
- * Simple helper to generate a verification token used in (un)subscribe
- * requests to a Hub Server.
- *
- * @param string $hubUrl The Hub Server URL for which this token will apply
- * @return string
- */
- protected function _generateSubscriptionKey(array $params, $hubUrl)
- {
- $keyBase = $params['hub.topic'] . $hubUrl;
- $key = md5($keyBase);
- return $key;
- }
-
- /**
- * URL Encode an array of parameters
- *
- * @param array $params
- * @return array
- */
- protected function _urlEncode(array $params)
- {
- $encoded = array();
- foreach ($params as $key => $value) {
- if (is_array($value)) {
- $ekey = Zend_Feed_Pubsubhubbub::urlencode($key);
- $encoded[$ekey] = array();
- foreach ($value as $duplicateKey) {
- $encoded[$ekey][]
- = Zend_Feed_Pubsubhubbub::urlencode($duplicateKey);
- }
- } else {
- $encoded[Zend_Feed_Pubsubhubbub::urlencode($key)]
- = Zend_Feed_Pubsubhubbub::urlencode($value);
- }
- }
- return $encoded;
- }
-
- /**
- * Order outgoing parameters
- *
- * @param array $params
- * @return array
- */
- protected function _toByteValueOrderedString(array $params)
- {
- $return = array();
- uksort($params, 'strnatcmp');
- foreach ($params as $key => $value) {
- if (is_array($value)) {
- foreach ($value as $keyduplicate) {
- $return[] = $key . '=' . $keyduplicate;
- }
- } else {
- $return[] = $key . '=' . $value;
- }
- }
- return implode('&', $return);
- }
-
- /**
- * This is STRICTLY for testing purposes only...
- */
- protected $_testStaticToken = null;
-
- final public function setTestStaticToken($token)
- {
- $this->_testStaticToken = (string) $token;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Subscriber/Callback.php b/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Subscriber/Callback.php
deleted file mode 100644
index c7195809c..000000000
--- a/airtime_mvc/library/Zend/Feed/Pubsubhubbub/Subscriber/Callback.php
+++ /dev/null
@@ -1,328 +0,0 @@
-_subscriptionKey = $key;
- return $this;
- }
-
- /**
- * Handle any callback from a Hub Server responding to a subscription or
- * unsubscription request. This should be the Hub Server confirming the
- * the request prior to taking action on it.
- *
- * @param array $httpGetData GET data if available and not in $_GET
- * @param bool $sendResponseNow Whether to send response now or when asked
- * @return void
- */
- public function handle(array $httpGetData = null, $sendResponseNow = false)
- {
- if ($httpGetData === null) {
- $httpGetData = $_GET;
- }
-
- /**
- * Handle any feed updates (sorry for the mess :P)
- *
- * This DOES NOT attempt to process a feed update. Feed updates
- * SHOULD be validated/processed by an asynchronous process so as
- * to avoid holding up responses to the Hub.
- */
- if (strtolower($_SERVER['REQUEST_METHOD']) == 'post'
- && $this->_hasValidVerifyToken(null, false)
- && ($this->_getHeader('Content-Type') == 'application/atom+xml'
- || $this->_getHeader('Content-Type') == 'application/rss+xml'
- || $this->_getHeader('Content-Type') == 'application/xml'
- || $this->_getHeader('Content-Type') == 'text/xml'
- || $this->_getHeader('Content-Type') == 'application/rdf+xml')
- ) {
- $this->setFeedUpdate($this->_getRawBody());
- $this->getHttpResponse()
- ->setHeader('X-Hub-On-Behalf-Of', $this->getSubscriberCount());
- /**
- * Handle any (un)subscribe confirmation requests
- */
- } elseif ($this->isValidHubVerification($httpGetData)) {
- $data = $this->_currentSubscriptionData;
- $this->getHttpResponse()->setBody($httpGetData['hub_challenge']);
- $data['subscription_state'] = Zend_Feed_Pubsubhubbub::SUBSCRIPTION_VERIFIED;
- if (isset($httpGetData['hub_lease_seconds'])) {
- $data['lease_seconds'] = $httpGetData['hub_lease_seconds'];
- }
- $this->getStorage()->setSubscription($data);
- /**
- * Hey, C'mon! We tried everything else!
- */
- } else {
- $this->getHttpResponse()->setHttpResponseCode(404);
- }
- if ($sendResponseNow) {
- $this->sendResponse();
- }
- }
-
- /**
- * Checks validity of the request simply by making a quick pass and
- * confirming the presence of all REQUIRED parameters.
- *
- * @param array $httpGetData
- * @return bool
- */
- public function isValidHubVerification(array $httpGetData)
- {
- /**
- * As per the specification, the hub.verify_token is OPTIONAL. This
- * implementation of Pubsubhubbub considers it REQUIRED and will
- * always send a hub.verify_token parameter to be echoed back
- * by the Hub Server. Therefore, its absence is considered invalid.
- */
- if (strtolower($_SERVER['REQUEST_METHOD']) !== 'get') {
- return false;
- }
- $required = array(
- 'hub_mode',
- 'hub_topic',
- 'hub_challenge',
- 'hub_verify_token',
- );
- foreach ($required as $key) {
- if (!array_key_exists($key, $httpGetData)) {
- return false;
- }
- }
- if ($httpGetData['hub_mode'] !== 'subscribe'
- && $httpGetData['hub_mode'] !== 'unsubscribe'
- ) {
- return false;
- }
- if ($httpGetData['hub_mode'] == 'subscribe'
- && !array_key_exists('hub_lease_seconds', $httpGetData)
- ) {
- return false;
- }
- if (!Zend_Uri::check($httpGetData['hub_topic'])) {
- return false;
- }
-
- /**
- * Attempt to retrieve any Verification Token Key attached to Callback
- * URL's path by our Subscriber implementation
- */
- if (!$this->_hasValidVerifyToken($httpGetData)) {
- return false;
- }
- return true;
- }
-
- /**
- * Sets a newly received feed (Atom/RSS) sent by a Hub as an update to a
- * Topic we've subscribed to.
- *
- * @param string $feed
- * @return Zend_Feed_Pubsubhubbub_Subscriber_Callback
- */
- public function setFeedUpdate($feed)
- {
- $this->_feedUpdate = $feed;
- return $this;
- }
-
- /**
- * Check if any newly received feed (Atom/RSS) update was received
- *
- * @return bool
- */
- public function hasFeedUpdate()
- {
- if (is_null($this->_feedUpdate)) {
- return false;
- }
- return true;
- }
-
- /**
- * Gets a newly received feed (Atom/RSS) sent by a Hub as an update to a
- * Topic we've subscribed to.
- *
- * @return string
- */
- public function getFeedUpdate()
- {
- return $this->_feedUpdate;
- }
-
- /**
- * Check for a valid verify_token. By default attempts to compare values
- * with that sent from Hub, otherwise merely ascertains its existence.
- *
- * @param array $httpGetData
- * @param bool $checkValue
- * @return bool
- */
- protected function _hasValidVerifyToken(array $httpGetData = null, $checkValue = true)
- {
- $verifyTokenKey = $this->_detectVerifyTokenKey($httpGetData);
- if (empty($verifyTokenKey)) {
- return false;
- }
- $verifyTokenExists = $this->getStorage()->hasSubscription($verifyTokenKey);
- if (!$verifyTokenExists) {
- return false;
- }
- if ($checkValue) {
- $data = $this->getStorage()->getSubscription($verifyTokenKey);
- $verifyToken = $data['verify_token'];
- if ($verifyToken !== hash('sha256', $httpGetData['hub_verify_token'])) {
- return false;
- }
- $this->_currentSubscriptionData = $data;
- return true;
- }
- return true;
- }
-
- /**
- * Attempt to detect the verification token key. This would be passed in
- * the Callback URL (which we are handling with this class!) as a URI
- * path part (the last part by convention).
- *
- * @param null|array $httpGetData
- * @return false|string
- */
- protected function _detectVerifyTokenKey(array $httpGetData = null)
- {
- /**
- * Available when sub keys encoding in Callback URL path
- */
- if (isset($this->_subscriptionKey)) {
- return $this->_subscriptionKey;
- }
-
- /**
- * Available only if allowed by PuSH 0.2 Hubs
- */
- if (is_array($httpGetData)
- && isset($httpGetData['xhub_subscription'])
- ) {
- return $httpGetData['xhub_subscription'];
- }
-
- /**
- * Available (possibly) if corrupted in transit and not part of $_GET
- */
- $params = $this->_parseQueryString();
- if (isset($params['xhub.subscription'])) {
- return rawurldecode($params['xhub.subscription']);
- }
-
- return false;
- }
-
- /**
- * Build an array of Query String parameters.
- * This bypasses $_GET which munges parameter names and cannot accept
- * multiple parameters with the same key.
- *
- * @return array|void
- */
- protected function _parseQueryString()
- {
- $params = array();
- $queryString = '';
- if (isset($_SERVER['QUERY_STRING'])) {
- $queryString = $_SERVER['QUERY_STRING'];
- }
- if (empty($queryString)) {
- return array();
- }
- $parts = explode('&', $queryString);
- foreach ($parts as $kvpair) {
- $pair = explode('=', $kvpair);
- $key = rawurldecode($pair[0]);
- $value = rawurldecode($pair[1]);
- if (isset($params[$key])) {
- if (is_array($params[$key])) {
- $params[$key][] = $value;
- } else {
- $params[$key] = array($params[$key], $value);
- }
- } else {
- $params[$key] = $value;
- }
- }
- return $params;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader.php b/airtime_mvc/library/Zend/Feed/Reader.php
deleted file mode 100644
index f44a7483a..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader.php
+++ /dev/null
@@ -1,719 +0,0 @@
- array(
- 'DublinCore_Feed',
- 'Atom_Feed'
- ),
- 'entry' => array(
- 'Content_Entry',
- 'DublinCore_Entry',
- 'Atom_Entry'
- ),
- 'core' => array(
- 'DublinCore_Feed',
- 'Atom_Feed',
- 'Content_Entry',
- 'DublinCore_Entry',
- 'Atom_Entry'
- )
- );
-
- /**
- * Get the Feed cache
- *
- * @return Zend_Cache_Core
- */
- public static function getCache()
- {
- return self::$_cache;
- }
-
- /**
- * Set the feed cache
- *
- * @param Zend_Cache_Core $cache
- * @return void
- */
- public static function setCache(Zend_Cache_Core $cache)
- {
- self::$_cache = $cache;
- }
-
- /**
- * Set the HTTP client instance
- *
- * Sets the HTTP client object to use for retrieving the feeds.
- *
- * @param Zend_Http_Client $httpClient
- * @return void
- */
- public static function setHttpClient(Zend_Http_Client $httpClient)
- {
- self::$_httpClient = $httpClient;
- }
-
-
- /**
- * Gets the HTTP client object. If none is set, a new Zend_Http_Client will be used.
- *
- * @return Zend_Http_Client_Abstract
- */
- public static function getHttpClient()
- {
- if (!self::$_httpClient instanceof Zend_Http_Client) {
- /**
- * @see Zend_Http_Client
- */
- require_once 'Zend/Http/Client.php';
- self::$_httpClient = new Zend_Http_Client();
- }
-
- return self::$_httpClient;
- }
-
- /**
- * Toggle using POST instead of PUT and DELETE HTTP methods
- *
- * Some feed implementations do not accept PUT and DELETE HTTP
- * methods, or they can't be used because of proxies or other
- * measures. This allows turning on using POST where PUT and
- * DELETE would normally be used; in addition, an
- * X-Method-Override header will be sent with a value of PUT or
- * DELETE as appropriate.
- *
- * @param boolean $override Whether to override PUT and DELETE.
- * @return void
- */
- public static function setHttpMethodOverride($override = true)
- {
- self::$_httpMethodOverride = $override;
- }
-
- /**
- * Get the HTTP override state
- *
- * @return boolean
- */
- public static function getHttpMethodOverride()
- {
- return self::$_httpMethodOverride;
- }
-
- /**
- * Set the flag indicating whether or not to use HTTP conditional GET
- *
- * @param bool $bool
- * @return void
- */
- public static function useHttpConditionalGet($bool = true)
- {
- self::$_httpConditionalGet = $bool;
- }
-
- /**
- * Import a feed by providing a URL
- *
- * @param string $url The URL to the feed
- * @param string $etag OPTIONAL Last received ETag for this resource
- * @param string $lastModified OPTIONAL Last-Modified value for this resource
- * @return Zend_Feed_Reader_FeedInterface
- */
- public static function import($uri, $etag = null, $lastModified = null)
- {
- $cache = self::getCache();
- $feed = null;
- $responseXml = '';
- $client = self::getHttpClient();
- $client->resetParameters();
- $client->setHeaders('If-None-Match', null);
- $client->setHeaders('If-Modified-Since', null);
- $client->setUri($uri);
- $cacheId = 'Zend_Feed_Reader_' . md5($uri);
-
- if (self::$_httpConditionalGet && $cache) {
- $data = $cache->load($cacheId);
- if ($data) {
- if (is_null($etag)) {
- $etag = $cache->load($cacheId.'_etag');
- }
- if (is_null($lastModified)) {
- $lastModified = $cache->load($cacheId.'_lastmodified');;
- }
- if ($etag) {
- $client->setHeaders('If-None-Match', $etag);
- }
- if ($lastModified) {
- $client->setHeaders('If-Modified-Since', $lastModified);
- }
- }
- $response = $client->request('GET');
- if ($response->getStatus() !== 200 && $response->getStatus() !== 304) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus());
- }
- if ($response->getStatus() == 304) {
- $responseXml = $data;
- } else {
- $responseXml = $response->getBody();
- $cache->save($responseXml, $cacheId);
- if ($response->getHeader('ETag')) {
- $cache->save($response->getHeader('ETag'), $cacheId.'_etag');
- }
- if ($response->getHeader('Last-Modified')) {
- $cache->save($response->getHeader('Last-Modified'), $cacheId.'_lastmodified');
- }
- }
- return self::importString($responseXml);
- } elseif ($cache) {
- $data = $cache->load($cacheId);
- if ($data !== false) {
- return self::importString($data);
- }
- $response = $client->request('GET');
- if ($response->getStatus() !== 200) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus());
- }
- $responseXml = $response->getBody();
- $cache->save($responseXml, $cacheId);
- return self::importString($responseXml);
- } else {
- $response = $client->request('GET');
- if ($response->getStatus() !== 200) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Feed failed to load, got response code ' . $response->getStatus());
- }
- return self::importString($response->getBody());
- }
- }
-
- /**
- * Import a feed by providing a Zend_Feed_Abstract object
- *
- * @param Zend_Feed_Abstract $feed A fully instantiated Zend_Feed object
- * @return Zend_Feed_Reader_FeedInterface
- */
- public static function importFeed(Zend_Feed_Abstract $feed)
- {
- $dom = $feed->getDOM()->ownerDocument;
- $type = self::detectType($dom);
- self::_registerCoreExtensions();
- if (substr($type, 0, 3) == 'rss') {
- $reader = new Zend_Feed_Reader_Feed_Rss($dom, $type);
- } else {
- $reader = new Zend_Feed_Reader_Feed_Atom($dom, $type);
- }
-
- return $reader;
- }
-
- /**
- * Import a feed froma string
- *
- * @param string $string
- * @return Zend_Feed_Reader_FeedInterface
- */
- public static function importString($string)
- {
- $libxml_errflag = libxml_use_internal_errors(true);
- $dom = new DOMDocument;
- $status = $dom->loadXML($string);
- libxml_use_internal_errors($libxml_errflag);
-
- if (!$status) {
- // Build error message
- $error = libxml_get_last_error();
- if ($error && $error->message) {
- $errormsg = "DOMDocument cannot parse XML: {$error->message}";
- } else {
- $errormsg = "DOMDocument cannot parse XML: Please check the XML document's validity";
- }
-
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception($errormsg);
- }
-
- $type = self::detectType($dom);
-
- self::_registerCoreExtensions();
-
- if (substr($type, 0, 3) == 'rss') {
- $reader = new Zend_Feed_Reader_Feed_Rss($dom, $type);
- } elseif (substr($type, 8, 5) == 'entry') {
- $reader = new Zend_Feed_Reader_Entry_Atom($dom->documentElement, 0, Zend_Feed_Reader::TYPE_ATOM_10);
- } elseif (substr($type, 0, 4) == 'atom') {
- $reader = new Zend_Feed_Reader_Feed_Atom($dom, $type);
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('The URI used does not point to a '
- . 'valid Atom, RSS or RDF feed that Zend_Feed_Reader can parse.');
- }
- return $reader;
- }
-
- /**
- * Imports a feed from a file located at $filename.
- *
- * @param string $filename
- * @throws Zend_Feed_Exception
- * @return Zend_Feed_Reader_FeedInterface
- */
- public static function importFile($filename)
- {
- @ini_set('track_errors', 1);
- $feed = @file_get_contents($filename);
- @ini_restore('track_errors');
- if ($feed === false) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("File could not be loaded: $php_errormsg");
- }
- return self::importString($feed);
- }
-
- public static function findFeedLinks($uri)
- {
- // Get the HTTP response from $uri and save the contents
- $client = self::getHttpClient();
- $client->setUri($uri);
- $response = $client->request();
- if ($response->getStatus() !== 200) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("Failed to access $uri, got response code " . $response->getStatus());
- }
- $responseHtml = $response->getBody();
- $libxml_errflag = libxml_use_internal_errors(true);
- $dom = new DOMDocument;
- $status = $dom->loadHTML($responseHtml);
- libxml_use_internal_errors($libxml_errflag);
- if (!$status) {
- // Build error message
- $error = libxml_get_last_error();
- if ($error && $error->message) {
- $errormsg = "DOMDocument cannot parse HTML: {$error->message}";
- } else {
- $errormsg = "DOMDocument cannot parse HTML: Please check the XML document's validity";
- }
-
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception($errormsg);
- }
- $feedSet = new Zend_Feed_Reader_FeedSet;
- $links = $dom->getElementsByTagName('link');
- $feedSet->addLinks($links, $uri);
- return $feedSet;
- }
-
- /**
- * Detect the feed type of the provided feed
- *
- * @param Zend_Feed_Abstract|DOMDocument|string $feed
- * @return string
- */
- public static function detectType($feed, $specOnly = false)
- {
- if ($feed instanceof Zend_Feed_Reader_FeedInterface) {
- $dom = $feed->getDomDocument();
- } elseif($feed instanceof DOMDocument) {
- $dom = $feed;
- } elseif(is_string($feed) && !empty($feed)) {
- @ini_set('track_errors', 1);
- $dom = new DOMDocument;
- $status = @$doc->loadXML($string);
- @ini_restore('track_errors');
- if (!$status) {
- if (!isset($php_errormsg)) {
- if (function_exists('xdebug_is_enabled')) {
- $php_errormsg = '(error message not available, when XDebug is running)';
- } else {
- $php_errormsg = '(error message not available)';
- }
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception("DOMDocument cannot parse XML: $php_errormsg");
- }
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid object/scalar provided: must'
- . ' be of type Zend_Feed_Reader_FeedInterface, DomDocument or string');
- }
- $xpath = new DOMXPath($dom);
-
- if ($xpath->query('/rss')->length) {
- $type = self::TYPE_RSS_ANY;
- $version = $xpath->evaluate('string(/rss/@version)');
-
- if (strlen($version) > 0) {
- switch($version) {
- case '2.0':
- $type = self::TYPE_RSS_20;
- break;
-
- case '0.94':
- $type = self::TYPE_RSS_094;
- break;
-
- case '0.93':
- $type = self::TYPE_RSS_093;
- break;
-
- case '0.92':
- $type = self::TYPE_RSS_092;
- break;
-
- case '0.91':
- $type = self::TYPE_RSS_091;
- break;
- }
- }
-
- return $type;
- }
-
- $xpath->registerNamespace('rdf', self::NAMESPACE_RDF);
-
- if ($xpath->query('/rdf:RDF')->length) {
- $xpath->registerNamespace('rss', self::NAMESPACE_RSS_10);
-
- if ($xpath->query('/rdf:RDF/rss:channel')->length
- || $xpath->query('/rdf:RDF/rss:image')->length
- || $xpath->query('/rdf:RDF/rss:item')->length
- || $xpath->query('/rdf:RDF/rss:textinput')->length
- ) {
- return self::TYPE_RSS_10;
- }
-
- $xpath->registerNamespace('rss', self::NAMESPACE_RSS_090);
-
- if ($xpath->query('/rdf:RDF/rss:channel')->length
- || $xpath->query('/rdf:RDF/rss:image')->length
- || $xpath->query('/rdf:RDF/rss:item')->length
- || $xpath->query('/rdf:RDF/rss:textinput')->length
- ) {
- return self::TYPE_RSS_090;
- }
- }
-
- $type = self::TYPE_ATOM_ANY;
- $xpath->registerNamespace('atom', self::NAMESPACE_ATOM_10);
-
- if ($xpath->query('//atom:feed')->length) {
- return self::TYPE_ATOM_10;
- }
-
- if ($xpath->query('//atom:entry')->length) {
- if ($specOnly == true) {
- return self::TYPE_ATOM_10;
- } else {
- return self::TYPE_ATOM_10_ENTRY;
- }
- }
-
- $xpath->registerNamespace('atom', self::NAMESPACE_ATOM_03);
-
- if ($xpath->query('//atom:feed')->length) {
- return self::TYPE_ATOM_03;
- }
-
- return self::TYPE_ANY;
- }
-
- /**
- * Set plugin loader for use with Extensions
- *
- * @param Zend_Loader_PluginLoader_Interface $loader
- */
- public static function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader)
- {
- self::$_pluginLoader = $loader;
- }
-
- /**
- * Get plugin loader for use with Extensions
- *
- * @return Zend_Loader_PluginLoader_Interface $loader
- */
- public static function getPluginLoader()
- {
- if (!isset(self::$_pluginLoader)) {
- require_once 'Zend/Loader/PluginLoader.php';
- self::$_pluginLoader = new Zend_Loader_PluginLoader(array(
- 'Zend_Feed_Reader_Extension_' => 'Zend/Feed/Reader/Extension/',
- ));
- }
- return self::$_pluginLoader;
- }
-
- /**
- * Add prefix path for loading Extensions
- *
- * @param string $prefix
- * @param string $path
- * @return void
- */
- public static function addPrefixPath($prefix, $path)
- {
- $prefix = rtrim($prefix, '_');
- $path = rtrim($path, DIRECTORY_SEPARATOR);
- self::getPluginLoader()->addPrefixPath($prefix, $path);
- }
-
- /**
- * Add multiple Extension prefix paths at once
- *
- * @param array $spec
- * @return void
- */
- public static function addPrefixPaths(array $spec)
- {
- if (isset($spec['prefix']) && isset($spec['path'])) {
- self::addPrefixPath($spec['prefix'], $spec['path']);
- }
- foreach ($spec as $prefixPath) {
- if (isset($prefixPath['prefix']) && isset($prefixPath['path'])) {
- self::addPrefixPath($prefixPath['prefix'], $prefixPath['path']);
- }
- }
- }
-
- /**
- * Register an Extension by name
- *
- * @param string $name
- * @return void
- * @throws Zend_Feed_Exception if unable to resolve Extension class
- */
- public static function registerExtension($name)
- {
- $feedName = $name . '_Feed';
- $entryName = $name . '_Entry';
- if (self::isRegistered($name)) {
- if (self::getPluginLoader()->isLoaded($feedName) ||
- self::getPluginLoader()->isLoaded($entryName)) {
- return;
- }
- }
- try {
- self::getPluginLoader()->load($feedName);
- self::$_extensions['feed'][] = $feedName;
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- }
- try {
- self::getPluginLoader()->load($entryName);
- self::$_extensions['entry'][] = $entryName;
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- }
- if (!self::getPluginLoader()->isLoaded($feedName)
- && !self::getPluginLoader()->isLoaded($entryName)
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Could not load extension: ' . $name
- . 'using Plugin Loader. Check prefix paths are configured and extension exists.');
- }
- }
-
- /**
- * Is a given named Extension registered?
- *
- * @param string $extensionName
- * @return boolean
- */
- public static function isRegistered($extensionName)
- {
- $feedName = $extensionName . '_Feed';
- $entryName = $extensionName . '_Entry';
- if (in_array($feedName, self::$_extensions['feed'])
- || in_array($entryName, self::$_extensions['entry'])
- ) {
- return true;
- }
- return false;
- }
-
- /**
- * Get a list of extensions
- *
- * @return array
- */
- public static function getExtensions()
- {
- return self::$_extensions;
- }
-
- /**
- * Reset class state to defaults
- *
- * @return void
- */
- public static function reset()
- {
- self::$_cache = null;
- self::$_httpClient = null;
- self::$_httpMethodOverride = false;
- self::$_httpConditionalGet = false;
- self::$_pluginLoader = null;
- self::$_prefixPaths = array();
- self::$_extensions = array(
- 'feed' => array(
- 'DublinCore_Feed',
- 'Atom_Feed'
- ),
- 'entry' => array(
- 'Content_Entry',
- 'DublinCore_Entry',
- 'Atom_Entry'
- ),
- 'core' => array(
- 'DublinCore_Feed',
- 'Atom_Feed',
- 'Content_Entry',
- 'DublinCore_Entry',
- 'Atom_Entry'
- )
- );
- }
-
- /**
- * Register core (default) extensions
- *
- * @return void
- */
- protected static function _registerCoreExtensions()
- {
- self::registerExtension('DublinCore');
- self::registerExtension('Content');
- self::registerExtension('Atom');
- self::registerExtension('Slash');
- self::registerExtension('WellFormedWeb');
- self::registerExtension('Thread');
- self::registerExtension('Podcast');
- }
-
- /**
- * Utility method to apply array_unique operation to a multidimensional
- * array.
- *
- * @param array
- * @return array
- */
- public static function arrayUnique(array $array)
- {
- foreach ($array as &$value) {
- $value = serialize($value);
- }
- $array = array_unique($array);
- foreach ($array as &$value) {
- $value = unserialize($value);
- }
- return $array;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Collection.php b/airtime_mvc/library/Zend/Feed/Reader/Collection.php
deleted file mode 100644
index fba2b52b5..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Collection.php
+++ /dev/null
@@ -1,33 +0,0 @@
-getIterator() as $element) {
- $authors[] = $element['name'];
- }
- return array_unique($authors);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Collection/Category.php b/airtime_mvc/library/Zend/Feed/Reader/Collection/Category.php
deleted file mode 100644
index 3bbc5f168..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Collection/Category.php
+++ /dev/null
@@ -1,57 +0,0 @@
-getIterator() as $element) {
- if (isset($element['label']) && !empty($element['label'])) {
- $categories[] = $element['label'];
- } else {
- $categories[] = $element['term'];
- }
- }
- return array_unique($categories);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Collection/CollectionAbstract.php b/airtime_mvc/library/Zend/Feed/Reader/Collection/CollectionAbstract.php
deleted file mode 100644
index 7b6dbd031..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Collection/CollectionAbstract.php
+++ /dev/null
@@ -1,41 +0,0 @@
-_xpathQuery = '//atom:entry[' . ($this->_entryKey + 1) . ']';
-
- $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Entry');
- $this->_extensions['Atom_Entry'] = new $atomClass($entry, $entryKey, $type);
-
- $threadClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Thread_Entry');
- $this->_extensions['Thread_Entry'] = new $threadClass($entry, $entryKey, $type);
-
- $threadClass = Zend_Feed_Reader::getPluginLoader()->getClassName('DublinCore_Entry');
- $this->_extensions['DublinCore_Entry'] = new $threadClass($entry, $entryKey, $type);
- }
-
- /**
- * Get the specified author
- *
- * @param int $index
- * @return string|null
- */
- public function getAuthor($index = 0)
- {
- $authors = $this->getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $people = $this->getExtension('Atom')->getAuthors();
-
- $this->_data['authors'] = $people;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get the entry content
- *
- * @return string
- */
- public function getContent()
- {
- if (array_key_exists('content', $this->_data)) {
- return $this->_data['content'];
- }
-
- $content = $this->getExtension('Atom')->getContent();
-
- $this->_data['content'] = $content;
-
- return $this->_data['content'];
- }
-
- /**
- * Get the entry creation date
- *
- * @return string
- */
- public function getDateCreated()
- {
- if (array_key_exists('datecreated', $this->_data)) {
- return $this->_data['datecreated'];
- }
-
- $dateCreated = $this->getExtension('Atom')->getDateCreated();
-
- $this->_data['datecreated'] = $dateCreated;
-
- return $this->_data['datecreated'];
- }
-
- /**
- * Get the entry modification date
- *
- * @return string
- */
- public function getDateModified()
- {
- if (array_key_exists('datemodified', $this->_data)) {
- return $this->_data['datemodified'];
- }
-
- $dateModified = $this->getExtension('Atom')->getDateModified();
-
- $this->_data['datemodified'] = $dateModified;
-
- return $this->_data['datemodified'];
- }
-
- /**
- * Get the entry description
- *
- * @return string
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = $this->getExtension('Atom')->getDescription();
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the entry enclosure
- *
- * @return string
- */
- public function getEnclosure()
- {
- if (array_key_exists('enclosure', $this->_data)) {
- return $this->_data['enclosure'];
- }
-
- $enclosure = $this->getExtension('Atom')->getEnclosure();
-
- $this->_data['enclosure'] = $enclosure;
-
- return $this->_data['enclosure'];
- }
-
- /**
- * Get the entry ID
- *
- * @return string
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = $this->getExtension('Atom')->getId();
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get a specific link
- *
- * @param int $index
- * @return string
- */
- public function getLink($index = 0)
- {
- if (!array_key_exists('links', $this->_data)) {
- $this->getLinks();
- }
-
- if (isset($this->_data['links'][$index])) {
- return $this->_data['links'][$index];
- }
-
- return null;
- }
-
- /**
- * Get all links
- *
- * @return array
- */
- public function getLinks()
- {
- if (array_key_exists('links', $this->_data)) {
- return $this->_data['links'];
- }
-
- $links = $this->getExtension('Atom')->getLinks();
-
- $this->_data['links'] = $links;
-
- return $this->_data['links'];
- }
-
- /**
- * Get a permalink to the entry
- *
- * @return string
- */
- public function getPermalink()
- {
- return $this->getLink(0);
- }
-
- /**
- * Get the entry title
- *
- * @return string
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = $this->getExtension('Atom')->getTitle();
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- * Get the number of comments/replies for current entry
- *
- * @return integer
- */
- public function getCommentCount()
- {
- if (array_key_exists('commentcount', $this->_data)) {
- return $this->_data['commentcount'];
- }
-
- $commentcount = $this->getExtension('Thread')->getCommentCount();
-
- if (!$commentcount) {
- $commentcount = $this->getExtension('Atom')->getCommentCount();
- }
-
- $this->_data['commentcount'] = $commentcount;
-
- return $this->_data['commentcount'];
- }
-
- /**
- * Returns a URI pointing to the HTML page where comments can be made on this entry
- *
- * @return string
- */
- public function getCommentLink()
- {
- if (array_key_exists('commentlink', $this->_data)) {
- return $this->_data['commentlink'];
- }
-
- $commentlink = $this->getExtension('Atom')->getCommentLink();
-
- $this->_data['commentlink'] = $commentlink;
-
- return $this->_data['commentlink'];
- }
-
- /**
- * Returns a URI pointing to a feed of all comments for this entry
- *
- * @return string
- */
- public function getCommentFeedLink()
- {
- if (array_key_exists('commentfeedlink', $this->_data)) {
- return $this->_data['commentfeedlink'];
- }
-
- $commentfeedlink = $this->getExtension('Atom')->getCommentFeedLink();
-
- $this->_data['commentfeedlink'] = $commentfeedlink;
-
- return $this->_data['commentfeedlink'];
- }
-
- /**
- * Get category data as a Zend_Feed_Reader_Collection_Category object
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- $categoryCollection = $this->getExtension('Atom')->getCategories();
-
- if (count($categoryCollection) == 0) {
- $categoryCollection = $this->getExtension('DublinCore')->getCategories();
- }
-
- $this->_data['categories'] = $categoryCollection;
-
- return $this->_data['categories'];
- }
-
- /**
- * Get source feed metadata from the entry
- *
- * @return Zend_Feed_Reader_Feed_Atom_Source|null
- */
- public function getSource()
- {
- if (array_key_exists('source', $this->_data)) {
- return $this->_data['source'];
- }
-
- $source = $this->getExtension('Atom')->getSource();
-
- $this->_data['source'] = $source;
-
- return $this->_data['source'];
- }
-
- /**
- * Set the XPath query (incl. on all Extensions)
- *
- * @param DOMXPath $xpath
- */
- public function setXpath(DOMXPath $xpath)
- {
- parent::setXpath($xpath);
- foreach ($this->_extensions as $extension) {
- $extension->setXpath($this->_xpath);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Entry/Rss.php b/airtime_mvc/library/Zend/Feed/Reader/Entry/Rss.php
deleted file mode 100644
index 30f90d8de..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Entry/Rss.php
+++ /dev/null
@@ -1,665 +0,0 @@
-_xpathQueryRss = '//item[' . ($this->_entryKey+1) . ']';
- $this->_xpathQueryRdf = '//rss:item[' . ($this->_entryKey+1) . ']';
-
- $pluginLoader = Zend_Feed_Reader::getPluginLoader();
-
- $dublinCoreClass = $pluginLoader->getClassName('DublinCore_Entry');
- $this->_extensions['DublinCore_Entry'] = new $dublinCoreClass($entry, $entryKey, $type);
-
- $contentClass = $pluginLoader->getClassName('Content_Entry');
- $this->_extensions['Content_Entry'] = new $contentClass($entry, $entryKey, $type);
-
- $atomClass = $pluginLoader->getClassName('Atom_Entry');
- $this->_extensions['Atom_Entry'] = new $atomClass($entry, $entryKey, $type);
-
- $wfwClass = $pluginLoader->getClassName('WellFormedWeb_Entry');
- $this->_extensions['WellFormedWeb_Entry'] = new $wfwClass($entry, $entryKey, $type);
-
- $slashClass = $pluginLoader->getClassName('Slash_Entry');
- $this->_extensions['Slash_Entry'] = new $slashClass($entry, $entryKey, $type);
-
- $threadClass = $pluginLoader->getClassName('Thread_Entry');
- $this->_extensions['Thread_Entry'] = new $threadClass($entry, $entryKey, $type);
- }
-
- /**
- * Get an author entry
- *
- * @param DOMElement $element
- * @return string
- */
- public function getAuthor($index = 0)
- {
- $authors = $this->getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $authors = array();
- $authors_dc = $this->getExtension('DublinCore')->getAuthors();
- if (!empty($authors_dc)) {
- foreach ($authors_dc as $author) {
- $authors[] = array(
- 'name' => $author['name']
- );
- }
- }
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $list = $this->_xpath->query($this->_xpathQueryRss . '//author');
- } else {
- $list = $this->_xpath->query($this->_xpathQueryRdf . '//rss:author');
- }
- if ($list->length) {
- foreach ($list as $author) {
- $string = trim($author->nodeValue);
- $email = null;
- $name = null;
- $data = array();
- // Pretty rough parsing - but it's a catchall
- if (preg_match("/^.*@[^ ]*/", $string, $matches)) {
- $data['email'] = trim($matches[0]);
- if (preg_match("/\((.*)\)$/", $string, $matches)) {
- $data['name'] = $matches[1];
- }
- $authors[] = $data;
- }
- }
- }
-
- if (count($authors) == 0) {
- $authors = $this->getExtension('Atom')->getAuthors();
- } else {
- $authors = new Zend_Feed_Reader_Collection_Author(
- Zend_Feed_Reader::arrayUnique($authors)
- );
- }
-
- if (count($authors) == 0) {
- $authors = null;
- }
-
- $this->_data['authors'] = $authors;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get the entry content
- *
- * @return string
- */
- public function getContent()
- {
- if (array_key_exists('content', $this->_data)) {
- return $this->_data['content'];
- }
-
- $content = $this->getExtension('Content')->getContent();
-
- if (!$content) {
- $content = $this->getDescription();
- }
-
- if (empty($content)) {
- $content = $this->getExtension('Atom')->getContent();
- }
-
- $this->_data['content'] = $content;
-
- return $this->_data['content'];
- }
-
- /**
- * Get the entry's date of creation
- *
- * @return string
- */
- public function getDateCreated()
- {
- return $this->getDateModified();
- }
-
- /**
- * Get the entry's date of modification
- *
- * @return string
- */
- public function getDateModified()
- {
- if (array_key_exists('datemodified', $this->_data)) {
- return $this->_data['datemodified'];
- }
-
- $dateModified = null;
- $date = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $dateModified = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/pubDate)');
- if ($dateModified) {
- $dateStandards = array(Zend_Date::RSS, Zend_Date::RFC_822,
- Zend_Date::RFC_2822, Zend_Date::DATES);
- $date = new Zend_Date;
- foreach ($dateStandards as $standard) {
- try {
- $date->set($dateModified, $standard);
- break;
- } catch (Zend_Date_Exception $e) {
- if ($standard == Zend_Date::DATES) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception(
- 'Could not load date due to unrecognised'
- .' format (should follow RFC 822 or 2822):'
- . $e->getMessage(),
- 0, $e
- );
- }
- }
- }
- }
- }
-
- if (!$date) {
- $date = $this->getExtension('DublinCore')->getDate();
- }
-
- if (!$date) {
- $date = $this->getExtension('Atom')->getDateModified();
- }
-
- if (!$date) {
- $date = null;
- }
-
- $this->_data['datemodified'] = $date;
-
- return $this->_data['datemodified'];
- }
-
- /**
- * Get the entry description
- *
- * @return string
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $description = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/description)');
- } else {
- $description = $this->_xpath->evaluate('string('.$this->_xpathQueryRdf.'/rss:description)');
- }
-
- if (!$description) {
- $description = $this->getExtension('DublinCore')->getDescription();
- }
-
- if (empty($description)) {
- $description = $this->getExtension('Atom')->getDescription();
- }
-
- if (!$description) {
- $description = null;
- } else {
- $description = html_entity_decode($description, ENT_QUOTES, $this->getEncoding());
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the entry enclosure
- * @return string
- */
- public function getEnclosure()
- {
- if (array_key_exists('enclosure', $this->_data)) {
- return $this->_data['enclosure'];
- }
-
- $enclosure = null;
-
- if ($this->getType() == Zend_Feed_Reader::TYPE_RSS_20) {
- $nodeList = $this->_xpath->query($this->_xpathQueryRss . '/enclosure');
-
- if ($nodeList->length > 0) {
- $enclosure = new stdClass();
- $enclosure->url = $nodeList->item(0)->getAttribute('url');
- $enclosure->length = $nodeList->item(0)->getAttribute('length');
- $enclosure->type = $nodeList->item(0)->getAttribute('type');
- }
- }
-
- if (!$enclosure) {
- $enclosure = $this->getExtension('Atom')->getEnclosure();
- }
-
- $this->_data['enclosure'] = $enclosure;
-
- return $this->_data['enclosure'];
- }
-
- /**
- * Get the entry ID
- *
- * @return string
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $id = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/guid)');
- }
-
- if (!$id) {
- $id = $this->getExtension('DublinCore')->getId();
- }
-
- if (empty($id)) {
- $id = $this->getExtension('Atom')->getId();
- }
-
- if (!$id) {
- if ($this->getPermalink()) {
- $id = $this->getPermalink();
- } elseif ($this->getTitle()) {
- $id = $this->getTitle();
- } else {
- $id = null;
- }
- }
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get a specific link
- *
- * @param int $index
- * @return string
- */
- public function getLink($index = 0)
- {
- if (!array_key_exists('links', $this->_data)) {
- $this->getLinks();
- }
-
- if (isset($this->_data['links'][$index])) {
- return $this->_data['links'][$index];
- }
-
- return null;
- }
-
- /**
- * Get all links
- *
- * @return array
- */
- public function getLinks()
- {
- if (array_key_exists('links', $this->_data)) {
- return $this->_data['links'];
- }
-
- $links = array();
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $list = $this->_xpath->query($this->_xpathQueryRss.'//link');
- } else {
- $list = $this->_xpath->query($this->_xpathQueryRdf.'//rss:link');
- }
-
- if (!$list->length) {
- $links = $this->getExtension('Atom')->getLinks();
- } else {
- foreach ($list as $link) {
- $links[] = $link->nodeValue;
- }
- }
-
- $this->_data['links'] = $links;
-
- return $this->_data['links'];
- }
-
- /**
- * Get all categories
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $list = $this->_xpath->query($this->_xpathQueryRss.'//category');
- } else {
- $list = $this->_xpath->query($this->_xpathQueryRdf.'//rss:category');
- }
-
- if ($list->length) {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- foreach ($list as $category) {
- $categoryCollection[] = array(
- 'term' => $category->nodeValue,
- 'scheme' => $category->getAttribute('domain'),
- 'label' => $category->nodeValue,
- );
- }
- } else {
- $categoryCollection = $this->getExtension('DublinCore')->getCategories();
- }
-
- if (count($categoryCollection) == 0) {
- $categoryCollection = $this->getExtension('Atom')->getCategories();
- }
-
- $this->_data['categories'] = $categoryCollection;
-
- return $this->_data['categories'];
- }
-
- /**
- * Get a permalink to the entry
- *
- * @return string
- */
- public function getPermalink()
- {
- return $this->getLink(0);
- }
-
- /**
- * Get the entry title
- *
- * @return string
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $title = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/title)');
- } else {
- $title = $this->_xpath->evaluate('string('.$this->_xpathQueryRdf.'/rss:title)');
- }
-
- if (!$title) {
- $title = $this->getExtension('DublinCore')->getTitle();
- }
-
- if (!$title) {
- $title = $this->getExtension('Atom')->getTitle();
- }
-
- if (!$title) {
- $title = null;
- }
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- * Get the number of comments/replies for current entry
- *
- * @return string|null
- */
- public function getCommentCount()
- {
- if (array_key_exists('commentcount', $this->_data)) {
- return $this->_data['commentcount'];
- }
-
- $commentcount = $this->getExtension('Slash')->getCommentCount();
-
- if (!$commentcount) {
- $commentcount = $this->getExtension('Thread')->getCommentCount();
- }
-
- if (!$commentcount) {
- $commentcount = $this->getExtension('Atom')->getCommentCount();
- }
-
- if (!$commentcount) {
- $commentcount = null;
- }
-
- $this->_data['commentcount'] = $commentcount;
-
- return $this->_data['commentcount'];
- }
-
- /**
- * Returns a URI pointing to the HTML page where comments can be made on this entry
- *
- * @return string
- */
- public function getCommentLink()
- {
- if (array_key_exists('commentlink', $this->_data)) {
- return $this->_data['commentlink'];
- }
-
- $commentlink = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $commentlink = $this->_xpath->evaluate('string('.$this->_xpathQueryRss.'/comments)');
- }
-
- if (!$commentlink) {
- $commentlink = $this->getExtension('Atom')->getCommentLink();
- }
-
- if (!$commentlink) {
- $commentlink = null;
- }
-
- $this->_data['commentlink'] = $commentlink;
-
- return $this->_data['commentlink'];
- }
-
- /**
- * Returns a URI pointing to a feed of all comments for this entry
- *
- * @return string
- */
- public function getCommentFeedLink()
- {
- if (array_key_exists('commentfeedlink', $this->_data)) {
- return $this->_data['commentfeedlink'];
- }
-
- $commentfeedlink = $this->getExtension('WellFormedWeb')->getCommentFeedLink();
-
- if (!$commentfeedlink) {
- $commentfeedlink = $this->getExtension('Atom')->getCommentFeedLink('rss');
- }
-
- if (!$commentfeedlink) {
- $commentfeedlink = $this->getExtension('Atom')->getCommentFeedLink('rdf');
- }
-
- if (!$commentfeedlink) {
- $commentfeedlink = null;
- }
-
- $this->_data['commentfeedlink'] = $commentfeedlink;
-
- return $this->_data['commentfeedlink'];
- }
-
- /**
- * Set the XPath query (incl. on all Extensions)
- *
- * @param DOMXPath $xpath
- */
- public function setXpath(DOMXPath $xpath)
- {
- parent::setXpath($xpath);
- foreach ($this->_extensions as $extension) {
- $extension->setXpath($this->_xpath);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/EntryAbstract.php b/airtime_mvc/library/Zend/Feed/Reader/EntryAbstract.php
deleted file mode 100644
index 193bb65c5..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/EntryAbstract.php
+++ /dev/null
@@ -1,238 +0,0 @@
-_entry = $entry;
- $this->_entryKey = $entryKey;
- $this->_domDocument = $entry->ownerDocument;
- if ($type !== null) {
- $this->_data['type'] = $type;
- } else {
- $this->_data['type'] = Zend_Feed_Reader::detectType($feed);
- }
- $this->_loadExtensions();
- }
-
- /**
- * Get the DOM
- *
- * @return DOMDocument
- */
- public function getDomDocument()
- {
- return $this->_domDocument;
- }
-
- /**
- * Get the entry element
- *
- * @return DOMElement
- */
- public function getElement()
- {
- return $this->_entry;
- }
-
- /**
- * Get the Entry's encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- $assumed = $this->getDomDocument()->encoding;
- if (empty($assumed)) {
- $assumed = 'UTF-8';
- }
- return $assumed;
- }
-
- /**
- * Get entry as xml
- *
- * @return string
- */
- public function saveXml()
- {
- $dom = new DOMDocument('1.0', $this->getEncoding());
- $entry = $dom->importNode($this->getElement(), true);
- $dom->appendChild($entry);
- return $dom->saveXml();
- }
-
- /**
- * Get the entry type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_data['type'];
- }
-
- /**
- * Get the XPath query object
- *
- * @return DOMXPath
- */
- public function getXpath()
- {
- if (!$this->_xpath) {
- $this->setXpath(new DOMXPath($this->getDomDocument()));
- }
- return $this->_xpath;
- }
-
- /**
- * Set the XPath query
- *
- * @param DOMXPath $xpath
- * @return Zend_Feed_Reader_Entry_EntryAbstract
- */
- public function setXpath(DOMXPath $xpath)
- {
- $this->_xpath = $xpath;
- return $this;
- }
-
- /**
- * Get registered extensions
- *
- * @return array
- */
- public function getExtensions()
- {
- return $this->_extensions;
- }
-
- /**
- * Return an Extension object with the matching name (postfixed with _Entry)
- *
- * @param string $name
- * @return Zend_Feed_Reader_Extension_EntryAbstract
- */
- public function getExtension($name)
- {
- if (array_key_exists($name . '_Entry', $this->_extensions)) {
- return $this->_extensions[$name . '_Entry'];
- }
- return null;
- }
-
- /**
- * Method overloading: call given method on first extension implementing it
- *
- * @param string $method
- * @param array $args
- * @return mixed
- * @throws Zend_Feed_Exception if no extensions implements the method
- */
- public function __call($method, $args)
- {
- foreach ($this->_extensions as $extension) {
- if (method_exists($extension, $method)) {
- return call_user_func_array(array($extension, $method), $args);
- }
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Method: ' . $method
- . 'does not exist and could not be located on a registered Extension');
- }
-
- /**
- * Load extensions from Zend_Feed_Reader
- *
- * @return void
- */
- protected function _loadExtensions()
- {
- $all = Zend_Feed_Reader::getExtensions();
- $feed = $all['entry'];
- foreach ($feed as $extension) {
- if (in_array($extension, $all['core'])) {
- continue;
- }
- $className = Zend_Feed_Reader::getPluginLoader()->getClassName($extension);
- $this->_extensions[$extension] = new $className(
- $this->getElement(), $this->_entryKey, $this->_data['type']
- );
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/EntryInterface.php b/airtime_mvc/library/Zend/Feed/Reader/EntryInterface.php
deleted file mode 100644
index 392a533a3..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/EntryInterface.php
+++ /dev/null
@@ -1,143 +0,0 @@
-getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $authors = array();
- $list = $this->getXpath()->query($this->getXpathPrefix() . '//atom:author');
-
- if (!$list->length) {
- /**
- * TODO: Limit query to feed level els only!
- */
- $list = $this->getXpath()->query('//atom:author');
- }
-
- if ($list->length) {
- foreach ($list as $author) {
- $author = $this->_getAuthor($author);
- if (!empty($author)) {
- $authors[] = $author;
- }
- }
- }
-
- if (count($authors) == 0) {
- $authors = null;
- } else {
- $authors = new Zend_Feed_Reader_Collection_Author(
- Zend_Feed_Reader::arrayUnique($authors)
- );
- }
-
- $this->_data['authors'] = $authors;
- return $this->_data['authors'];
- }
-
- /**
- * Get the entry content
- *
- * @return string
- */
- public function getContent()
- {
- if (array_key_exists('content', $this->_data)) {
- return $this->_data['content'];
- }
-
- $content = null;
-
- $el = $this->getXpath()->query($this->getXpathPrefix() . '/atom:content');
- if($el->length > 0) {
- $el = $el->item(0);
- $type = $el->getAttribute('type');
- switch ($type) {
- case '':
- case 'text':
- case 'text/plain':
- case 'html':
- case 'text/html':
- $content = $el->nodeValue;
- break;
- case 'xhtml':
- $this->getXpath()->registerNamespace('xhtml', 'http://www.w3.org/1999/xhtml');
- $xhtml = $this->getXpath()->query(
- $this->getXpathPrefix() . '/atom:content/xhtml:div'
- )->item(0);
- //$xhtml->setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');
- $d = new DOMDocument('1.0', $this->getEncoding());
- $xhtmls = $d->importNode($xhtml, true);
- $d->appendChild($xhtmls);
- $content = $this->_collectXhtml(
- $d->saveXML(),
- $d->lookupPrefix('http://www.w3.org/1999/xhtml')
- );
- break;
- }
- }
-
- //var_dump($content); exit;
-
- if (!$content) {
- $content = $this->getDescription();
- }
-
- $this->_data['content'] = trim($content);
-
- return $this->_data['content'];
- }
-
- /**
- * Parse out XHTML to remove the namespacing
- */
- protected function _collectXhtml($xhtml, $prefix)
- {
- if (!empty($prefix)) $prefix = $prefix . ':';
- $matches = array(
- "/<\?xml[^<]*>[^<]*<" . $prefix . "div[^<]*/",
- "/<\/" . $prefix . "div>\s*$/"
- );
- $xhtml = preg_replace($matches, '', $xhtml);
- if (!empty($prefix)) {
- $xhtml = preg_replace("/(<[\/]?)" . $prefix . "([a-zA-Z]+)/", '$1$2', $xhtml);
- }
- return $xhtml;
- }
-
- /**
- * Get the entry creation date
- *
- * @return string
- */
- public function getDateCreated()
- {
- if (array_key_exists('datecreated', $this->_data)) {
- return $this->_data['datecreated'];
- }
-
- $date = null;
-
- if ($this->_getAtomType() === Zend_Feed_Reader::TYPE_ATOM_03) {
- $dateCreated = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:created)');
- } else {
- $dateCreated = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:published)');
- }
-
- if ($dateCreated) {
- $date = new Zend_Date;
- $date->set($dateCreated, Zend_Date::ISO_8601);
- }
-
- $this->_data['datecreated'] = $date;
-
- return $this->_data['datecreated'];
- }
-
- /**
- * Get the entry modification date
- *
- * @return string
- */
- public function getDateModified()
- {
- if (array_key_exists('datemodified', $this->_data)) {
- return $this->_data['datemodified'];
- }
-
- $date = null;
-
- if ($this->_getAtomType() === Zend_Feed_Reader::TYPE_ATOM_03) {
- $dateModified = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:modified)');
- } else {
- $dateModified = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:updated)');
- }
-
- if ($dateModified) {
- $date = new Zend_Date;
- $date->set($dateModified, Zend_Date::ISO_8601);
- }
-
- $this->_data['datemodified'] = $date;
-
- return $this->_data['datemodified'];
- }
-
- /**
- * Get the entry description
- *
- * @return string
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:summary)');
-
- if (!$description) {
- $description = null;
- } else {
- $description = html_entity_decode($description, ENT_QUOTES, $this->getEncoding());
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the entry enclosure
- *
- * @return string
- */
- public function getEnclosure()
- {
- if (array_key_exists('enclosure', $this->_data)) {
- return $this->_data['enclosure'];
- }
-
- $enclosure = null;
-
- $nodeList = $this->getXpath()->query($this->getXpathPrefix() . '/atom:link[@rel="enclosure"]');
-
- if ($nodeList->length > 0) {
- $enclosure = new stdClass();
- $enclosure->url = $nodeList->item(0)->getAttribute('href');
- $enclosure->length = $nodeList->item(0)->getAttribute('length');
- $enclosure->type = $nodeList->item(0)->getAttribute('type');
- }
-
- $this->_data['enclosure'] = $enclosure;
-
- return $this->_data['enclosure'];
- }
-
- /**
- * Get the entry ID
- *
- * @return string
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:id)');
-
- if (!$id) {
- if ($this->getPermalink()) {
- $id = $this->getPermalink();
- } elseif ($this->getTitle()) {
- $id = $this->getTitle();
- } else {
- $id = null;
- }
- }
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get the base URI of the feed (if set).
- *
- * @return string|null
- */
- public function getBaseUrl()
- {
- if (array_key_exists('baseUrl', $this->_data)) {
- return $this->_data['baseUrl'];
- }
-
- $baseUrl = $this->getXpath()->evaluate('string('
- . $this->getXpathPrefix() . '/@xml:base[1]'
- . ')');
-
- if (!$baseUrl) {
- $baseUrl = $this->getXpath()->evaluate('string(//@xml:base[1])');
- }
-
- if (!$baseUrl) {
- $baseUrl = null;
- }
-
- $this->_data['baseUrl'] = $baseUrl;
-
- return $this->_data['baseUrl'];
- }
-
- /**
- * Get a specific link
- *
- * @param int $index
- * @return string
- */
- public function getLink($index = 0)
- {
- if (!array_key_exists('links', $this->_data)) {
- $this->getLinks();
- }
-
- if (isset($this->_data['links'][$index])) {
- return $this->_data['links'][$index];
- }
-
- return null;
- }
-
- /**
- * Get all links
- *
- * @return array
- */
- public function getLinks()
- {
- if (array_key_exists('links', $this->_data)) {
- return $this->_data['links'];
- }
-
- $links = array();
-
- $list = $this->getXpath()->query(
- $this->getXpathPrefix() . '//atom:link[@rel="alternate"]/@href' . '|' .
- $this->getXpathPrefix() . '//atom:link[not(@rel)]/@href'
- );
-
- if ($list->length) {
- foreach ($list as $link) {
- $links[] = $this->_absolutiseUri($link->value);
- }
- }
-
- $this->_data['links'] = $links;
-
- return $this->_data['links'];
- }
-
- /**
- * Get a permalink to the entry
- *
- * @return string
- */
- public function getPermalink()
- {
- return $this->getLink(0);
- }
-
- /**
- * Get the entry title
- *
- * @return string
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = $this->getXpath()->evaluate('string(' . $this->getXpathPrefix() . '/atom:title)');
-
- if (!$title) {
- $title = null;
- } else {
- $title = html_entity_decode($title, ENT_QUOTES, $this->getEncoding());
- }
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- * Get the number of comments/replies for current entry
- *
- * @return integer
- */
- public function getCommentCount()
- {
- if (array_key_exists('commentcount', $this->_data)) {
- return $this->_data['commentcount'];
- }
-
- $count = null;
-
- $this->getXpath()->registerNamespace('thread10', 'http://purl.org/syndication/thread/1.0');
- $list = $this->getXpath()->query(
- $this->getXpathPrefix() . '//atom:link[@rel="replies"]/@thread10:count'
- );
-
- if ($list->length) {
- $count = $list->item(0)->value;
- }
-
- $this->_data['commentcount'] = $count;
-
- return $this->_data['commentcount'];
- }
-
- /**
- * Returns a URI pointing to the HTML page where comments can be made on this entry
- *
- * @return string
- */
- public function getCommentLink()
- {
- if (array_key_exists('commentlink', $this->_data)) {
- return $this->_data['commentlink'];
- }
-
- $link = null;
-
- $list = $this->getXpath()->query(
- $this->getXpathPrefix() . '//atom:link[@rel="replies" and @type="text/html"]/@href'
- );
-
- if ($list->length) {
- $link = $list->item(0)->value;
- $link = $this->_absolutiseUri($link);
- }
-
- $this->_data['commentlink'] = $link;
-
- return $this->_data['commentlink'];
- }
-
- /**
- * Returns a URI pointing to a feed of all comments for this entry
- *
- * @return string
- */
- public function getCommentFeedLink($type = 'atom')
- {
- if (array_key_exists('commentfeedlink', $this->_data)) {
- return $this->_data['commentfeedlink'];
- }
-
- $link = null;
-
- $list = $this->getXpath()->query(
- $this->getXpathPrefix() . '//atom:link[@rel="replies" and @type="application/'.$type.'+xml"]/@href'
- );
-
- if ($list->length) {
- $link = $list->item(0)->value;
- $link = $this->_absolutiseUri($link);
- }
-
- $this->_data['commentfeedlink'] = $link;
-
- return $this->_data['commentfeedlink'];
- }
-
- /**
- * Get all categories
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- if ($this->_getAtomType() == Zend_Feed_Reader::TYPE_ATOM_10) {
- $list = $this->getXpath()->query($this->getXpathPrefix() . '//atom:category');
- } else {
- /**
- * Since Atom 0.3 did not support categories, it would have used the
- * Dublin Core extension. However there is a small possibility Atom 0.3
- * may have been retrofittied to use Atom 1.0 instead.
- */
- $this->getXpath()->registerNamespace('atom10', Zend_Feed_Reader::NAMESPACE_ATOM_10);
- $list = $this->getXpath()->query($this->getXpathPrefix() . '//atom10:category');
- }
-
- if ($list->length) {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- foreach ($list as $category) {
- $categoryCollection[] = array(
- 'term' => $category->getAttribute('term'),
- 'scheme' => $category->getAttribute('scheme'),
- 'label' => html_entity_decode($category->getAttribute('label'))
- );
- }
- } else {
- return new Zend_Feed_Reader_Collection_Category;
- }
-
- $this->_data['categories'] = $categoryCollection;
-
- return $this->_data['categories'];
- }
-
- /**
- * Get source feed metadata from the entry
- *
- * @return Zend_Feed_Reader_Feed_Atom_Source|null
- */
- public function getSource()
- {
- if (array_key_exists('source', $this->_data)) {
- return $this->_data['source'];
- }
-
- $source = null;
- // TODO: Investigate why _getAtomType() fails here. Is it even needed?
- if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10) {
- $list = $this->getXpath()->query($this->getXpathPrefix() . '/atom:source[1]');
- if ($list->length) {
- $element = $list->item(0);
- $source = new Zend_Feed_Reader_Feed_Atom_Source($element, $this->getXpathPrefix());
- }
- }
-
- $this->_data['source'] = $source;
- return $this->_data['source'];
- }
-
- /**
- * Attempt to absolutise the URI, i.e. if a relative URI apply the
- * xml:base value as a prefix to turn into an absolute URI.
- */
- protected function _absolutiseUri($link)
- {
- if (!Zend_Uri::check($link)) {
- if (!is_null($this->getBaseUrl())) {
- $link = $this->getBaseUrl() . $link;
- if (!Zend_Uri::check($link)) {
- $link = null;
- }
- }
- }
- return $link;
- }
-
- /**
- * Get an author entry
- *
- * @param DOMElement $element
- * @return string
- */
- protected function _getAuthor(DOMElement $element)
- {
- $author = array();
-
- $emailNode = $element->getElementsByTagName('email');
- $nameNode = $element->getElementsByTagName('name');
- $uriNode = $element->getElementsByTagName('uri');
-
- if ($emailNode->length && strlen($emailNode->item(0)->nodeValue) > 0) {
- $author['email'] = $emailNode->item(0)->nodeValue;
- }
-
- if ($nameNode->length && strlen($nameNode->item(0)->nodeValue) > 0) {
- $author['name'] = $nameNode->item(0)->nodeValue;
- }
-
- if ($uriNode->length && strlen($uriNode->item(0)->nodeValue) > 0) {
- $author['uri'] = $uriNode->item(0)->nodeValue;
- }
-
- if (empty($author)) {
- return null;
- }
- return $author;
- }
-
- /**
- * Register the default namespaces for the current feed format
- */
- protected function _registerNamespaces()
- {
- switch ($this->_getAtomType()) {
- case Zend_Feed_Reader::TYPE_ATOM_03:
- $this->getXpath()->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_03);
- break;
- default:
- $this->getXpath()->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_10);
- break;
- }
- }
-
- /**
- * Detect the presence of any Atom namespaces in use
- */
- protected function _getAtomType()
- {
- $dom = $this->getDomDocument();
- $prefixAtom03 = $dom->lookupPrefix(Zend_Feed_Reader::NAMESPACE_ATOM_03);
- $prefixAtom10 = $dom->lookupPrefix(Zend_Feed_Reader::NAMESPACE_ATOM_10);
- if ($dom->isDefaultNamespace(Zend_Feed_Reader::NAMESPACE_ATOM_03)
- || !empty($prefixAtom03)) {
- return Zend_Feed_Reader::TYPE_ATOM_03;
- }
- if ($dom->isDefaultNamespace(Zend_Feed_Reader::NAMESPACE_ATOM_10)
- || !empty($prefixAtom10)) {
- return Zend_Feed_Reader::TYPE_ATOM_10;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Atom/Feed.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Atom/Feed.php
deleted file mode 100644
index 502e9a9c1..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Atom/Feed.php
+++ /dev/null
@@ -1,544 +0,0 @@
-getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $list = $this->_xpath->query('//atom:author');
-
- $authors = array();
-
- if ($list->length) {
- foreach ($list as $author) {
- $author = $this->_getAuthor($author);
- if (!empty($author)) {
- $authors[] = $author;
- }
- }
- }
-
- if (count($authors) == 0) {
- $authors = null;
- } else {
- $authors = new Zend_Feed_Reader_Collection_Author(
- Zend_Feed_Reader::arrayUnique($authors)
- );
- }
-
- $this->_data['authors'] = $authors;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get the copyright entry
- *
- * @return string|null
- */
- public function getCopyright()
- {
- if (array_key_exists('copyright', $this->_data)) {
- return $this->_data['copyright'];
- }
-
- $copyright = null;
-
- if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) {
- $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:copyright)');
- } else {
- $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:rights)');
- }
-
- if (!$copyright) {
- $copyright = null;
- }
-
- $this->_data['copyright'] = $copyright;
-
- return $this->_data['copyright'];
- }
-
- /**
- * Get the feed creation date
- *
- * @return Zend_Date|null
- */
- public function getDateCreated()
- {
- if (array_key_exists('datecreated', $this->_data)) {
- return $this->_data['datecreated'];
- }
-
- $date = null;
-
- if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) {
- $dateCreated = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:created)');
- } else {
- $dateCreated = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:published)');
- }
-
- if ($dateCreated) {
- $date = new Zend_Date;
- $date->set($dateCreated, Zend_Date::ISO_8601);
- }
-
- $this->_data['datecreated'] = $date;
-
- return $this->_data['datecreated'];
- }
-
- /**
- * Get the feed modification date
- *
- * @return Zend_Date|null
- */
- public function getDateModified()
- {
- if (array_key_exists('datemodified', $this->_data)) {
- return $this->_data['datemodified'];
- }
-
- $date = null;
-
- if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) {
- $dateModified = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:modified)');
- } else {
- $dateModified = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:updated)');
- }
-
- if ($dateModified) {
- $date = new Zend_Date;
- $date->set($dateModified, Zend_Date::ISO_8601);
- }
-
- $this->_data['datemodified'] = $date;
-
- return $this->_data['datemodified'];
- }
-
- /**
- * Get the feed description
- *
- * @return string|null
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = null;
-
- if ($this->getType() === Zend_Feed_Reader::TYPE_ATOM_03) {
- $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:tagline)'); // TODO: Is this the same as subtitle?
- } else {
- $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:subtitle)');
- }
-
- if (!$description) {
- $description = null;
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the feed generator entry
- *
- * @return string|null
- */
- public function getGenerator()
- {
- if (array_key_exists('generator', $this->_data)) {
- return $this->_data['generator'];
- }
- // TODO: Add uri support
- $generator = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:generator)');
-
- if (!$generator) {
- $generator = null;
- } else {
- $generator = html_entity_decode($generator, ENT_QUOTES, $this->getEncoding());
- }
-
- $this->_data['generator'] = $generator;
-
- return $this->_data['generator'];
- }
-
- /**
- * Get the feed ID
- *
- * @return string|null
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:id)');
-
- if (!$id) {
- if ($this->getLink()) {
- $id = $this->getLink();
- } elseif ($this->getTitle()) {
- $id = $this->getTitle();
- } else {
- $id = null;
- }
- }
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get the feed language
- *
- * @return string|null
- */
- public function getLanguage()
- {
- if (array_key_exists('language', $this->_data)) {
- return $this->_data['language'];
- }
-
- $language = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:lang)');
-
- if (!$language) {
- $language = $this->_xpath->evaluate('string(//@xml:lang[1])');
- }
-
- if (!$language) {
- $language = null;
- }
-
- $this->_data['language'] = $language;
-
- return $this->_data['language'];
- }
-
- /**
- * Get the base URI of the feed (if set).
- *
- * @return string|null
- */
- public function getBaseUrl()
- {
- if (array_key_exists('baseUrl', $this->_data)) {
- return $this->_data['baseUrl'];
- }
-
- $baseUrl = $this->_xpath->evaluate('string(//@xml:base[1])');
-
- if (!$baseUrl) {
- $baseUrl = null;
- }
- $this->_data['baseUrl'] = $baseUrl;
-
- return $this->_data['baseUrl'];
- }
-
- /**
- * Get a link to the source website
- *
- * @return string|null
- */
- public function getLink()
- {
- if (array_key_exists('link', $this->_data)) {
- return $this->_data['link'];
- }
-
- $link = null;
-
- $list = $this->_xpath->query(
- $this->getXpathPrefix() . '/atom:link[@rel="alternate"]/@href' . '|' .
- $this->getXpathPrefix() . '/atom:link[not(@rel)]/@href'
- );
-
- if ($list->length) {
- $link = $list->item(0)->nodeValue;
- $link = $this->_absolutiseUri($link);
- }
-
- $this->_data['link'] = $link;
-
- return $this->_data['link'];
- }
-
- /**
- * Get a link to the feed's XML Url
- *
- * @return string|null
- */
- public function getFeedLink()
- {
- if (array_key_exists('feedlink', $this->_data)) {
- return $this->_data['feedlink'];
- }
-
- $link = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:link[@rel="self"]/@href)');
-
- $link = $this->_absolutiseUri($link);
-
- $this->_data['feedlink'] = $link;
-
- return $this->_data['feedlink'];
- }
-
- /**
- * Get an array of any supported Pusubhubbub endpoints
- *
- * @return array|null
- */
- public function getHubs()
- {
- if (array_key_exists('hubs', $this->_data)) {
- return $this->_data['hubs'];
- }
- $hubs = array();
-
- $list = $this->_xpath->query($this->getXpathPrefix()
- . '//atom:link[@rel="hub"]/@href');
-
- if ($list->length) {
- foreach ($list as $uri) {
- $hubs[] = $this->_absolutiseUri($uri->nodeValue);
- }
- } else {
- $hubs = null;
- }
-
- $this->_data['hubs'] = $hubs;
-
- return $this->_data['hubs'];
- }
-
- /**
- * Get the feed title
- *
- * @return string|null
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/atom:title)');
-
- if (!$title) {
- $title = null;
- }
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- * Get all categories
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10) {
- $list = $this->_xpath->query($this->getXpathPrefix() . '/atom:category');
- } else {
- /**
- * Since Atom 0.3 did not support categories, it would have used the
- * Dublin Core extension. However there is a small possibility Atom 0.3
- * may have been retrofittied to use Atom 1.0 instead.
- */
- $this->_xpath->registerNamespace('atom10', Zend_Feed_Reader::NAMESPACE_ATOM_10);
- $list = $this->_xpath->query($this->getXpathPrefix() . '/atom10:category');
- }
-
- if ($list->length) {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- foreach ($list as $category) {
- $categoryCollection[] = array(
- 'term' => $category->getAttribute('term'),
- 'scheme' => $category->getAttribute('scheme'),
- 'label' => html_entity_decode($category->getAttribute('label'))
- );
- }
- } else {
- return new Zend_Feed_Reader_Collection_Category;
- }
-
- $this->_data['categories'] = $categoryCollection;
-
- return $this->_data['categories'];
- }
-
- /**
- * Get an author entry in RSS format
- *
- * @param DOMElement $element
- * @return string
- */
- protected function _getAuthor(DOMElement $element)
- {
- $author = array();
-
- $emailNode = $element->getElementsByTagName('email');
- $nameNode = $element->getElementsByTagName('name');
- $uriNode = $element->getElementsByTagName('uri');
-
- if ($emailNode->length && strlen($emailNode->item(0)->nodeValue) > 0) {
- $author['email'] = $emailNode->item(0)->nodeValue;
- }
-
- if ($nameNode->length && strlen($nameNode->item(0)->nodeValue) > 0) {
- $author['name'] = $nameNode->item(0)->nodeValue;
- }
-
- if ($uriNode->length && strlen($uriNode->item(0)->nodeValue) > 0) {
- $author['uri'] = $uriNode->item(0)->nodeValue;
- }
-
- if (empty($author)) {
- return null;
- }
- return $author;
- }
-
- /**
- * Attempt to absolutise the URI, i.e. if a relative URI apply the
- * xml:base value as a prefix to turn into an absolute URI.
- */
- protected function _absolutiseUri($link)
- {
- if (!Zend_Uri::check($link)) {
- if (!is_null($this->getBaseUrl())) {
- $link = $this->getBaseUrl() . $link;
- if (!Zend_Uri::check($link)) {
- $link = null;
- }
- }
- }
- return $link;
- }
-
- /**
- * Register the default namespaces for the current feed format
- */
- protected function _registerNamespaces()
- {
- if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10
- || $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03
- ) {
- return; // pre-registered at Feed level
- }
- $atomDetected = $this->_getAtomType();
- switch ($atomDetected) {
- case Zend_Feed_Reader::TYPE_ATOM_03:
- $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_03);
- break;
- default:
- $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_10);
- break;
- }
- }
-
- /**
- * Detect the presence of any Atom namespaces in use
- */
- protected function _getAtomType()
- {
- $dom = $this->getDomDocument();
- $prefixAtom03 = $dom->lookupPrefix(Zend_Feed_Reader::NAMESPACE_ATOM_03);
- $prefixAtom10 = $dom->lookupPrefix(Zend_Feed_Reader::NAMESPACE_ATOM_10);
- if ($dom->isDefaultNamespace(Zend_Feed_Reader::NAMESPACE_ATOM_10)
- || !empty($prefixAtom10)) {
- return Zend_Feed_Reader::TYPE_ATOM_10;
- }
- if ($dom->isDefaultNamespace(Zend_Feed_Reader::NAMESPACE_ATOM_03)
- || !empty($prefixAtom03)) {
- return Zend_Feed_Reader::TYPE_ATOM_03;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Content/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Content/Entry.php
deleted file mode 100644
index c6375b224..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Content/Entry.php
+++ /dev/null
@@ -1,64 +0,0 @@
-getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $content = $this->_xpath->evaluate('string('.$this->getXpathPrefix().'/content:encoded)');
- } else {
- $content = $this->_xpath->evaluate('string('.$this->getXpathPrefix().'/content:encoded)');
- }
- if ($content) {
- $content = html_entity_decode($content, ENT_QUOTES, $this->getEncoding());
- }
- return $content;
- }
-
- /**
- * Register RSS Content Module namespace
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('content', 'http://purl.org/rss/1.0/modules/content/');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php
deleted file mode 100644
index 9c8cd4da7..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php
+++ /dev/null
@@ -1,97 +0,0 @@
-getLicenses();
-
- if (isset($licenses[$index])) {
- return $licenses[$index];
- }
-
- return null;
- }
-
- /**
- * Get the entry licenses
- *
- * @return array
- */
- public function getLicenses()
- {
- $name = 'licenses';
- if (array_key_exists($name, $this->_data)) {
- return $this->_data[$name];
- }
-
- $licenses = array();
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//cc:license');
-
- if ($list->length) {
- foreach ($list as $license) {
- $licenses[] = $license->nodeValue;
- }
-
- $licenses = array_unique($licenses);
- } else {
- $cc = new Zend_Feed_Reader_Extension_CreativeCommons_Feed(
- $this->_domDocument, $this->_data['type'], $this->_xpath
- );
- $licenses = $cc->getLicenses();
- }
-
- $this->_data[$name] = $licenses;
-
- return $this->_data[$name];
- }
-
- /**
- * Register Creative Commons namespaces
- *
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php
deleted file mode 100644
index 4b1c7a9fb..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php
+++ /dev/null
@@ -1,89 +0,0 @@
-getLicenses();
-
- if (isset($licenses[$index])) {
- return $licenses[$index];
- }
-
- return null;
- }
-
- /**
- * Get the entry licenses
- *
- * @return array
- */
- public function getLicenses()
- {
- $name = 'licenses';
- if (array_key_exists($name, $this->_data)) {
- return $this->_data[$name];
- }
-
- $licenses = array();
- $list = $this->_xpath->evaluate('channel/cc:license');
-
- if ($list->length) {
- foreach ($list as $license) {
- $licenses[] = $license->nodeValue;
- }
-
- $licenses = array_unique($licenses);
- }
-
- $this->_data[$name] = $licenses;
-
- return $this->_data[$name];
- }
-
- /**
- * Register Creative Commons namespaces
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
deleted file mode 100644
index c20394594..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
+++ /dev/null
@@ -1,266 +0,0 @@
-getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $authors = array();
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc11:creator');
-
- if (!$list->length) {
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc10:creator');
- }
- if (!$list->length) {
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc11:publisher');
-
- if (!$list->length) {
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc10:publisher');
- }
- }
-
- if ($list->length) {
- foreach ($list as $author) {
- $authors[] = array(
- 'name' => $author->nodeValue
- );
- }
- $authors = new Zend_Feed_Reader_Collection_Author(
- Zend_Feed_Reader::arrayUnique($authors)
- );
- } else {
- $authors = null;
- }
-
- $this->_data['authors'] = $authors;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get categories (subjects under DC)
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc11:subject');
-
- if (!$list->length) {
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc10:subject');
- }
-
- if ($list->length) {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- foreach ($list as $category) {
- $categoryCollection[] = array(
- 'term' => $category->nodeValue,
- 'scheme' => null,
- 'label' => $category->nodeValue,
- );
- }
- } else {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- }
-
- $this->_data['categories'] = $categoryCollection;
- return $this->_data['categories'];
- }
-
-
- /**
- * Get the entry content
- *
- * @return string
- */
- public function getContent()
- {
- return $this->getDescription();
- }
-
- /**
- * Get the entry description
- *
- * @return string
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = null;
- $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:description)');
-
- if (!$description) {
- $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:description)');
- }
-
- if (!$description) {
- $description = null;
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the entry ID
- *
- * @return string
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = null;
- $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:identifier)');
-
- if (!$id) {
- $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:identifier)');
- }
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get the entry title
- *
- * @return string
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = null;
- $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:title)');
-
- if (!$title) {
- $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:title)');
- }
-
- if (!$title) {
- $title = null;
- }
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- *
- *
- * @return Zend_Date|null
- */
- public function getDate()
- {
- if (array_key_exists('date', $this->_data)) {
- return $this->_data['date'];
- }
-
- $d = null;
- $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:date)');
-
- if (!$date) {
- $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:date)');
- }
-
- if ($date) {
- $d = new Zend_Date;
- $d->set($date, Zend_Date::ISO_8601);
- }
-
- $this->_data['date'] = $d;
-
- return $this->_data['date'];
- }
-
- /**
- * Register DC namespaces
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('dc10', 'http://purl.org/dc/elements/1.0/');
- $this->_xpath->registerNamespace('dc11', 'http://purl.org/dc/elements/1.1/');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/DublinCore/Feed.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/DublinCore/Feed.php
deleted file mode 100644
index 5b7816f54..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/DublinCore/Feed.php
+++ /dev/null
@@ -1,309 +0,0 @@
-getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $authors = array();
- $list = $this->_xpath->query('//dc11:creator');
-
- if (!$list->length) {
- $list = $this->_xpath->query('//dc10:creator');
- }
- if (!$list->length) {
- $list = $this->_xpath->query('//dc11:publisher');
-
- if (!$list->length) {
- $list = $this->_xpath->query('//dc10:publisher');
- }
- }
-
- if ($list->length) {
- foreach ($list as $author) {
- $authors[] = array(
- 'name' => $author->nodeValue
- );
- }
- $authors = new Zend_Feed_Reader_Collection_Author(
- Zend_Feed_Reader::arrayUnique($authors)
- );
- } else {
- $authors = null;
- }
-
- $this->_data['authors'] = $authors;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get the copyright entry
- *
- * @return string|null
- */
- public function getCopyright()
- {
- if (array_key_exists('copyright', $this->_data)) {
- return $this->_data['copyright'];
- }
-
- $copyright = null;
- $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:rights)');
-
- if (!$copyright) {
- $copyright = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:rights)');
- }
-
- if (!$copyright) {
- $copyright = null;
- }
-
- $this->_data['copyright'] = $copyright;
-
- return $this->_data['copyright'];
- }
-
- /**
- * Get the feed description
- *
- * @return string|null
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = null;
- $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:description)');
-
- if (!$description) {
- $description = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:description)');
- }
-
- if (!$description) {
- $description = null;
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the feed ID
- *
- * @return string|null
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = null;
- $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:identifier)');
-
- if (!$id) {
- $id = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:identifier)');
- }
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get the feed language
- *
- * @return string|null
- */
- public function getLanguage()
- {
- if (array_key_exists('language', $this->_data)) {
- return $this->_data['language'];
- }
-
- $language = null;
- $language = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:language)');
-
- if (!$language) {
- $language = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:language)');
- }
-
- if (!$language) {
- $language = null;
- }
-
- $this->_data['language'] = $language;
-
- return $this->_data['language'];
- }
-
- /**
- * Get the feed title
- *
- * @return string|null
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = null;
- $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:title)');
-
- if (!$title) {
- $title = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:title)');
- }
-
- if (!$title) {
- $title = null;
- }
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- *
- *
- * @return Zend_Date|null
- */
- public function getDate()
- {
- if (array_key_exists('date', $this->_data)) {
- return $this->_data['date'];
- }
-
- $d = null;
- $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc11:date)');
-
- if (!$date) {
- $date = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/dc10:date)');
- }
-
- if ($date) {
- $d = new Zend_Date;
- $d->set($date, Zend_Date::ISO_8601);
- }
-
- $this->_data['date'] = $d;
-
- return $this->_data['date'];
- }
-
- /**
- * Get categories (subjects under DC)
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc11:subject');
-
- if (!$list->length) {
- $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//dc10:subject');
- }
-
- if ($list->length) {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- foreach ($list as $category) {
- $categoryCollection[] = array(
- 'term' => $category->nodeValue,
- 'scheme' => null,
- 'label' => $category->nodeValue,
- );
- }
- } else {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- }
-
- $this->_data['categories'] = $categoryCollection;
- return $this->_data['categories'];
- }
-
- /**
- * Register the default namespaces for the current feed format
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('dc10', 'http://purl.org/dc/elements/1.0/');
- $this->_xpath->registerNamespace('dc11', 'http://purl.org/dc/elements/1.1/');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/EntryAbstract.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/EntryAbstract.php
deleted file mode 100644
index 299c1bfba..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/EntryAbstract.php
+++ /dev/null
@@ -1,200 +0,0 @@
-_entry = $entry;
- $this->_entryKey = $entryKey;
- $this->_domDocument = $entry->ownerDocument;
-
- if (!is_null($type)) {
- $this->_data['type'] = $type;
- } else {
- $this->_data['type'] = Zend_Feed_Reader::detectType($entry->ownerDocument, true);
- }
- // set the XPath query prefix for the entry being queried
- if ($this->getType() == Zend_Feed_Reader::TYPE_RSS_10
- || $this->getType() == Zend_Feed_Reader::TYPE_RSS_090
- ) {
- $this->setXpathPrefix('//rss:item[' . ($this->_entryKey+1) . ']');
- } elseif ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10
- || $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03
- ) {
- $this->setXpathPrefix('//atom:entry[' . ($this->_entryKey+1) . ']');
- } else {
- $this->setXpathPrefix('//item[' . ($this->_entryKey+1) . ']');
- }
- }
-
- /**
- * Get the DOM
- *
- * @return DOMDocument
- */
- public function getDomDocument()
- {
- return $this->_domDocument;
- }
-
- /**
- * Get the Entry's encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- $assumed = $this->getDomDocument()->encoding;
- return $assumed;
- }
-
- /**
- * Get the entry type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_data['type'];
- }
-
- /**
- * Set the XPath query
- *
- * @param DOMXPath $xpath
- * @return Zend_Feed_Reader_Extension_EntryAbstract
- */
- public function setXpath(DOMXPath $xpath)
- {
- $this->_xpath = $xpath;
- $this->_registerNamespaces();
- return $this;
- }
-
- /**
- * Get the XPath query object
- *
- * @return DOMXPath
- */
- public function getXpath()
- {
- if (!$this->_xpath) {
- $this->setXpath(new DOMXPath($this->getDomDocument()));
- }
- return $this->_xpath;
- }
-
- /**
- * Serialize the entry to an array
- *
- * @return array
- */
- public function toArray()
- {
- return $this->_data;
- }
-
- /**
- * Get the XPath prefix
- *
- * @return string
- */
- public function getXpathPrefix()
- {
- return $this->_xpathPrefix;
- }
-
- /**
- * Set the XPath prefix
- *
- * @param string $prefix
- * @return Zend_Feed_Reader_Extension_EntryAbstract
- */
- public function setXpathPrefix($prefix)
- {
- $this->_xpathPrefix = $prefix;
- return $this;
- }
-
- /**
- * Register XML namespaces
- *
- * @return void
- */
- protected abstract function _registerNamespaces();
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/FeedAbstract.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/FeedAbstract.php
deleted file mode 100644
index 73aa8c90e..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/FeedAbstract.php
+++ /dev/null
@@ -1,189 +0,0 @@
-_domDocument = $dom;
-
- if ($type !== null) {
- $this->_data['type'] = $type;
- } else {
- $this->_data['type'] = Zend_Feed_Reader::detectType($dom);
- }
-
- if ($xpath !== null) {
- $this->_xpath = $xpath;
- } else {
- $this->_xpath = new DOMXPath($this->_domDocument);
- }
-
- $this->_registerNamespaces();
- }
-
- /**
- * Get the DOM
- *
- * @return DOMDocument
- */
- public function getDomDocument()
- {
- return $this->_domDocument;
- }
-
- /**
- * Get the Feed's encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- $assumed = $this->getDomDocument()->encoding;
- return $assumed;
- }
-
- /**
- * Get the feed type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_data['type'];
- }
-
-
- /**
- * Return the feed as an array
- *
- * @return array
- */
- public function toArray() // untested
- {
- return $this->_data;
- }
-
- /**
- * Set the XPath query
- *
- * @param DOMXPath $xpath
- * @return Zend_Feed_Reader_Extension_EntryAbstract
- */
- public function setXpath(DOMXPath $xpath)
- {
- $this->_xpath = $xpath;
- $this->_registerNamespaces();
- return $this;
- }
-
- /**
- * Get the DOMXPath object
- *
- * @return string
- */
- public function getXpath()
- {
- return $this->_xpath;
- }
-
- /**
- * Get the XPath prefix
- *
- * @return string
- */
- public function getXpathPrefix()
- {
- return $this->_xpathPrefix;
- }
-
- /**
- * Set the XPath prefix
- *
- * @return Zend_Feed_Reader_Feed_Atom
- */
- public function setXpathPrefix($prefix)
- {
- $this->_xpathPrefix = $prefix;
- }
-
- /**
- * Register the default namespaces for the current feed format
- */
- abstract protected function _registerNamespaces();
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Podcast/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Podcast/Entry.php
deleted file mode 100644
index eeffed2b1..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Podcast/Entry.php
+++ /dev/null
@@ -1,202 +0,0 @@
-_data['author'])) {
- return $this->_data['author'];
- }
-
- $author = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:author)');
-
- if (!$author) {
- $author = null;
- }
-
- $this->_data['author'] = $author;
-
- return $this->_data['author'];
- }
-
- /**
- * Get the entry block
- *
- * @return string
- */
- public function getBlock()
- {
- if (isset($this->_data['block'])) {
- return $this->_data['block'];
- }
-
- $block = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:block)');
-
- if (!$block) {
- $block = null;
- }
-
- $this->_data['block'] = $block;
-
- return $this->_data['block'];
- }
-
- /**
- * Get the entry duration
- *
- * @return string
- */
- public function getDuration()
- {
- if (isset($this->_data['duration'])) {
- return $this->_data['duration'];
- }
-
- $duration = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:duration)');
-
- if (!$duration) {
- $duration = null;
- }
-
- $this->_data['duration'] = $duration;
-
- return $this->_data['duration'];
- }
-
- /**
- * Get the entry explicit
- *
- * @return string
- */
- public function getExplicit()
- {
- if (isset($this->_data['explicit'])) {
- return $this->_data['explicit'];
- }
-
- $explicit = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:explicit)');
-
- if (!$explicit) {
- $explicit = null;
- }
-
- $this->_data['explicit'] = $explicit;
-
- return $this->_data['explicit'];
- }
-
- /**
- * Get the entry keywords
- *
- * @return string
- */
- public function getKeywords()
- {
- if (isset($this->_data['keywords'])) {
- return $this->_data['keywords'];
- }
-
- $keywords = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:keywords)');
-
- if (!$keywords) {
- $keywords = null;
- }
-
- $this->_data['keywords'] = $keywords;
-
- return $this->_data['keywords'];
- }
-
- /**
- * Get the entry subtitle
- *
- * @return string
- */
- public function getSubtitle()
- {
- if (isset($this->_data['subtitle'])) {
- return $this->_data['subtitle'];
- }
-
- $subtitle = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:subtitle)');
-
- if (!$subtitle) {
- $subtitle = null;
- }
-
- $this->_data['subtitle'] = $subtitle;
-
- return $this->_data['subtitle'];
- }
-
- /**
- * Get the entry summary
- *
- * @return string
- */
- public function getSummary()
- {
- if (isset($this->_data['summary'])) {
- return $this->_data['summary'];
- }
-
- $summary = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:summary)');
-
- if (!$summary) {
- $summary = null;
- }
-
- $this->_data['summary'] = $summary;
-
- return $this->_data['summary'];
- }
-
- /**
- * Register iTunes namespace
- *
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('itunes', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Podcast/Feed.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Podcast/Feed.php
deleted file mode 100644
index 01a5a191d..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Podcast/Feed.php
+++ /dev/null
@@ -1,293 +0,0 @@
-_data['author'])) {
- return $this->_data['author'];
- }
-
- $author = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:author)');
-
- if (!$author) {
- $author = null;
- }
-
- $this->_data['author'] = $author;
-
- return $this->_data['author'];
- }
-
- /**
- * Get the entry block
- *
- * @return string
- */
- public function getBlock()
- {
- if (isset($this->_data['block'])) {
- return $this->_data['block'];
- }
-
- $block = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:block)');
-
- if (!$block) {
- $block = null;
- }
-
- $this->_data['block'] = $block;
-
- return $this->_data['block'];
- }
-
- /**
- * Get the entry category
- *
- * @return string
- */
- public function getCategories()
- {
- if (isset($this->_data['categories'])) {
- return $this->_data['categories'];
- }
-
- $categoryList = $this->_xpath->query($this->getXpathPrefix() . '/itunes:category');
-
- $categories = array();
-
- if ($categoryList->length > 0) {
- foreach ($categoryList as $node) {
- $children = null;
-
- if ($node->childNodes->length > 0) {
- $children = array();
-
- foreach ($node->childNodes as $childNode) {
- if (!($childNode instanceof DOMText)) {
- $children[$childNode->getAttribute('text')] = null;
- }
- }
- }
-
- $categories[$node->getAttribute('text')] = $children;
- }
- }
-
-
- if (!$categories) {
- $categories = null;
- }
-
- $this->_data['categories'] = $categories;
-
- return $this->_data['categories'];
- }
-
- /**
- * Get the entry explicit
- *
- * @return string
- */
- public function getExplicit()
- {
- if (isset($this->_data['explicit'])) {
- return $this->_data['explicit'];
- }
-
- $explicit = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:explicit)');
-
- if (!$explicit) {
- $explicit = null;
- }
-
- $this->_data['explicit'] = $explicit;
-
- return $this->_data['explicit'];
- }
-
- /**
- * Get the entry image
- *
- * @return string
- */
- public function getImage()
- {
- if (isset($this->_data['image'])) {
- return $this->_data['image'];
- }
-
- $image = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:image/@href)');
-
- if (!$image) {
- $image = null;
- }
-
- $this->_data['image'] = $image;
-
- return $this->_data['image'];
- }
-
- /**
- * Get the entry keywords
- *
- * @return string
- */
- public function getKeywords()
- {
- if (isset($this->_data['keywords'])) {
- return $this->_data['keywords'];
- }
-
- $keywords = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:keywords)');
-
- if (!$keywords) {
- $keywords = null;
- }
-
- $this->_data['keywords'] = $keywords;
-
- return $this->_data['keywords'];
- }
-
- /**
- * Get the entry's new feed url
- *
- * @return string
- */
- public function getNewFeedUrl()
- {
- if (isset($this->_data['new-feed-url'])) {
- return $this->_data['new-feed-url'];
- }
-
- $newFeedUrl = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:new-feed-url)');
-
- if (!$newFeedUrl) {
- $newFeedUrl = null;
- }
-
- $this->_data['new-feed-url'] = $newFeedUrl;
-
- return $this->_data['new-feed-url'];
- }
-
- /**
- * Get the entry owner
- *
- * @return string
- */
- public function getOwner()
- {
- if (isset($this->_data['owner'])) {
- return $this->_data['owner'];
- }
-
- $owner = null;
-
- $email = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:owner/itunes:email)');
- $name = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:owner/itunes:name)');
-
- if (!empty($email)) {
- $owner = $email . (empty($name) ? '' : ' (' . $name . ')');
- } else if (!empty($name)) {
- $owner = $name;
- }
-
- if (!$owner) {
- $owner = null;
- }
-
- $this->_data['owner'] = $owner;
-
- return $this->_data['owner'];
- }
-
- /**
- * Get the entry subtitle
- *
- * @return string
- */
- public function getSubtitle()
- {
- if (isset($this->_data['subtitle'])) {
- return $this->_data['subtitle'];
- }
-
- $subtitle = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:subtitle)');
-
- if (!$subtitle) {
- $subtitle = null;
- }
-
- $this->_data['subtitle'] = $subtitle;
-
- return $this->_data['subtitle'];
- }
-
- /**
- * Get the entry summary
- *
- * @return string
- */
- public function getSummary()
- {
- if (isset($this->_data['summary'])) {
- return $this->_data['summary'];
- }
-
- $summary = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:summary)');
-
- if (!$summary) {
- $summary = null;
- }
-
- $this->_data['summary'] = $summary;
-
- return $this->_data['summary'];
- }
-
- /**
- * Register iTunes namespace
- *
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('itunes', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Slash/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Slash/Entry.php
deleted file mode 100644
index c5f259fb3..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Slash/Entry.php
+++ /dev/null
@@ -1,144 +0,0 @@
-_getData('section');
- }
-
- /**
- * Get the entry department
- *
- * @return string|null
- */
- public function getDepartment()
- {
- return $this->_getData('department');
- }
-
- /**
- * Get the entry hit_parade
- *
- * @return array
- */
- public function getHitParade()
- {
- $name = 'hit_parade';
-
- if (isset($this->_data[$name])) {
- return $this->_data[$name];
- }
-
- $stringParade = $this->_getData($name);
- $hitParade = array();
-
- if (!empty($stringParade)) {
- $stringParade = explode(',', $stringParade);
-
- foreach ($stringParade as $hit)
- $hitParade[] = $hit + 0; //cast to integer
- }
-
- $this->_data[$name] = $hitParade;
- return $hitParade;
- }
-
- /**
- * Get the entry comments
- *
- * @return int
- */
- public function getCommentCount()
- {
- $name = 'comments';
-
- if (isset($this->_data[$name])) {
- return $this->_data[$name];
- }
-
- $comments = $this->_getData($name, 'string');
-
- if (!$comments) {
- $this->_data[$name] = null;
- return $this->_data[$name];
- }
-
- return $comments;
- }
-
- /**
- * Get the entry data specified by name
- * @param string $name
- * @param string $type
- *
- * @return mixed|null
- */
- protected function _getData($name, $type = 'string')
- {
- if (array_key_exists($name, $this->_data)) {
- return $this->_data[$name];
- }
-
- $data = $this->_xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/slash10:' . $name . ')');
-
- if (!$data) {
- $data = null;
- }
-
- $this->_data[$name] = $data;
-
- return $data;
- }
-
- /**
- * Register Slash namespaces
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('slash10', 'http://purl.org/rss/1.0/modules/slash/');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Syndication/Feed.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Syndication/Feed.php
deleted file mode 100644
index 910448652..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Syndication/Feed.php
+++ /dev/null
@@ -1,168 +0,0 @@
-_getData($name);
-
- if ($period === null) {
- $this->_data[$name] = 'daily';
- return 'daily'; //Default specified by spec
- }
-
- switch ($period)
- {
- case 'hourly':
- case 'daily':
- case 'weekly':
- case 'yearly':
- return $period;
- default:
- throw new Zend_Feed_Exception("Feed specified invalid update period: '$period'."
- . " Must be one of hourly, daily, weekly or yearly"
- );
- }
- }
-
- /**
- * Get update frequency
- * @return int
- */
- public function getUpdateFrequency()
- {
- $name = 'updateFrequency';
- $freq = $this->_getData($name, 'number');
-
- if (!$freq || $freq < 1) {
- $this->_data[$name] = 1;
- return 1;
- }
-
- return $freq;
- }
-
- /**
- * Get update frequency as ticks
- * @return int
- */
- public function getUpdateFrequencyAsTicks()
- {
- $name = 'updateFrequency';
- $freq = $this->_getData($name, 'number');
-
- if (!$freq || $freq < 1) {
- $this->_data[$name] = 1;
- $freq = 1;
- }
-
- $period = $this->getUpdatePeriod();
- $ticks = 1;
-
- switch ($period)
- {
- //intentional fall through
- case 'yearly':
- $ticks *= 52; //TODO: fix generalisation, how?
- case 'weekly':
- $ticks *= 7;
- case 'daily':
- $ticks *= 24;
- case 'hourly':
- $ticks *= 3600;
- break;
- default: //Never arrive here, exception thrown in getPeriod()
- break;
- }
-
- return $ticks / $freq;
- }
-
- /**
- * Get update base
- *
- * @return Zend_Date|null
- */
- public function getUpdateBase()
- {
- $updateBase = $this->_getData('updateBase');
- $date = null;
- if ($updateBase) {
- $date = new Zend_Date;
- $date->set($updateBase, Zend_Date::W3C);
- }
- return $date;
- }
-
- /**
- * Get the entry data specified by name
- *
- * @param string $name
- * @param string $type
- * @return mixed|null
- */
- private function _getData($name, $type = 'string')
- {
- if (array_key_exists($name, $this->_data)) {
- return $this->_data[$name];
- }
-
- $data = $this->_xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/syn10:' . $name . ')');
-
- if (!$data) {
- $data = null;
- }
-
- $this->_data[$name] = $data;
-
- return $data;
- }
-
- /**
- * Register Syndication namespaces
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('syn10', 'http://purl.org/rss/1.0/modules/syndication/');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/Thread/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/Thread/Entry.php
deleted file mode 100644
index 7b397de76..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/Thread/Entry.php
+++ /dev/null
@@ -1,91 +0,0 @@
-_getData('total');
- }
-
- /**
- * Get the entry data specified by name
- *
- * @param string $name
- * @param string $type
- * @return mixed|null
- */
- protected function _getData($name)
- {
- if (array_key_exists($name, $this->_data)) {
- return $this->_data[$name];
- }
-
- $data = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/thread10:' . $name . ')');
-
- if (!$data) {
- $data = null;
- }
-
- $this->_data[$name] = $data;
-
- return $data;
- }
-
- /**
- * Register Atom Thread Extension 1.0 namespace
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('thread10', 'http://purl.org/syndication/thread/1.0');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php b/airtime_mvc/library/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php
deleted file mode 100644
index 24832fee6..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Extension/WellFormedWeb/Entry.php
+++ /dev/null
@@ -1,73 +0,0 @@
-_data)) {
- return $this->_data[$name];
- }
-
- $data = $this->_xpath->evaluate('string(' . $this->getXpathPrefix() . '/wfw:' . $name . ')');
-
- if (!$data) {
- $data = null;
- }
-
- $this->_data[$name] = $data;
-
- return $data;
- }
-
- /**
- * Register Slash namespaces
- *
- * @return void
- */
- protected function _registerNamespaces()
- {
- $this->_xpath->registerNamespace('wfw', 'http://wellformedweb.org/CommentAPI/');
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Feed/Atom.php b/airtime_mvc/library/Zend/Feed/Reader/Feed/Atom.php
deleted file mode 100644
index fb1e53e21..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Feed/Atom.php
+++ /dev/null
@@ -1,389 +0,0 @@
-getClassName('Atom_Feed');
- $this->_extensions['Atom_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath);
- $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('DublinCore_Feed');
- $this->_extensions['DublinCore_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath);
- foreach ($this->_extensions as $extension) {
- $extension->setXpathPrefix('/atom:feed');
- }
- }
-
- /**
- * Get a single author
- *
- * @param int $index
- * @return string|null
- */
- public function getAuthor($index = 0)
- {
- $authors = $this->getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $authors = $this->getExtension('Atom')->getAuthors();
-
- $this->_data['authors'] = $authors;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get the copyright entry
- *
- * @return string|null
- */
- public function getCopyright()
- {
- if (array_key_exists('copyright', $this->_data)) {
- return $this->_data['copyright'];
- }
-
- $copyright = $this->getExtension('Atom')->getCopyright();
-
- if (!$copyright) {
- $copyright = null;
- }
-
- $this->_data['copyright'] = $copyright;
-
- return $this->_data['copyright'];
- }
-
- /**
- * Get the feed creation date
- *
- * @return string|null
- */
- public function getDateCreated()
- {
- if (array_key_exists('datecreated', $this->_data)) {
- return $this->_data['datecreated'];
- }
-
- $dateCreated = $this->getExtension('Atom')->getDateCreated();
-
- if (!$dateCreated) {
- $dateCreated = null;
- }
-
- $this->_data['datecreated'] = $dateCreated;
-
- return $this->_data['datecreated'];
- }
-
- /**
- * Get the feed modification date
- *
- * @return string|null
- */
- public function getDateModified()
- {
- if (array_key_exists('datemodified', $this->_data)) {
- return $this->_data['datemodified'];
- }
-
- $dateModified = $this->getExtension('Atom')->getDateModified();
-
- if (!$dateModified) {
- $dateModified = null;
- }
-
- $this->_data['datemodified'] = $dateModified;
-
- return $this->_data['datemodified'];
- }
-
- /**
- * Get the feed description
- *
- * @return string|null
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = $this->getExtension('Atom')->getDescription();
-
- if (!$description) {
- $description = null;
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the feed generator entry
- *
- * @return string|null
- */
- public function getGenerator()
- {
- if (array_key_exists('generator', $this->_data)) {
- return $this->_data['generator'];
- }
-
- $generator = $this->getExtension('Atom')->getGenerator();
-
- $this->_data['generator'] = $generator;
-
- return $this->_data['generator'];
- }
-
- /**
- * Get the feed ID
- *
- * @return string|null
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = $this->getExtension('Atom')->getId();
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get the feed language
- *
- * @return string|null
- */
- public function getLanguage()
- {
- if (array_key_exists('language', $this->_data)) {
- return $this->_data['language'];
- }
-
- $language = $this->getExtension('Atom')->getLanguage();
-
- if (!$language) {
- $language = $this->_xpath->evaluate('string(//@xml:lang[1])');
- }
-
- if (!$language) {
- $language = null;
- }
-
- $this->_data['language'] = $language;
-
- return $this->_data['language'];
- }
-
- /**
- * Get a link to the source website
- *
- * @return string|null
- */
- public function getBaseUrl()
- {
- if (array_key_exists('baseUrl', $this->_data)) {
- return $this->_data['baseUrl'];
- }
-
- $baseUrl = $this->getExtension('Atom')->getBaseUrl();
-
- $this->_data['baseUrl'] = $baseUrl;
-
- return $this->_data['baseUrl'];
- }
-
- /**
- * Get a link to the source website
- *
- * @return string|null
- */
- public function getLink()
- {
- if (array_key_exists('link', $this->_data)) {
- return $this->_data['link'];
- }
-
- $link = $this->getExtension('Atom')->getLink();
-
- $this->_data['link'] = $link;
-
- return $this->_data['link'];
- }
-
- /**
- * Get a link to the feed's XML Url
- *
- * @return string|null
- */
- public function getFeedLink()
- {
- if (array_key_exists('feedlink', $this->_data)) {
- return $this->_data['feedlink'];
- }
-
- $link = $this->getExtension('Atom')->getFeedLink();
-
- $this->_data['feedlink'] = $link;
-
- return $this->_data['feedlink'];
- }
-
- /**
- * Get the feed title
- *
- * @return string|null
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = $this->getExtension('Atom')->getTitle();
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- * Get an array of any supported Pusubhubbub endpoints
- *
- * @return array|null
- */
- public function getHubs()
- {
- if (array_key_exists('hubs', $this->_data)) {
- return $this->_data['hubs'];
- }
-
- $hubs = $this->getExtension('Atom')->getHubs();
-
- $this->_data['hubs'] = $hubs;
-
- return $this->_data['hubs'];
- }
-
- /**
- * Get all categories
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- $categoryCollection = $this->getExtension('Atom')->getCategories();
-
- if (count($categoryCollection) == 0) {
- $categoryCollection = $this->getExtension('DublinCore')->getCategories();
- }
-
- $this->_data['categories'] = $categoryCollection;
-
- return $this->_data['categories'];
- }
-
- /**
- * Read all entries to the internal entries array
- *
- * @return void
- */
- protected function _indexEntries()
- {
- if ($this->getType() == Zend_Feed_Reader::TYPE_ATOM_10 ||
- $this->getType() == Zend_Feed_Reader::TYPE_ATOM_03) {
- $entries = array();
- $entries = $this->_xpath->evaluate('//atom:entry');
-
- foreach($entries as $index=>$entry) {
- $this->_entries[$index] = $entry;
- }
- }
- }
-
- /**
- * Register the default namespaces for the current feed format
- *
- */
- protected function _registerNamespaces()
- {
- switch ($this->_data['type']) {
- case Zend_Feed_Reader::TYPE_ATOM_03:
- $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_03);
- break;
- case Zend_Feed_Reader::TYPE_ATOM_10:
- default:
- $this->_xpath->registerNamespace('atom', Zend_Feed_Reader::NAMESPACE_ATOM_10);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Feed/Atom/Source.php b/airtime_mvc/library/Zend/Feed/Reader/Feed/Atom/Source.php
deleted file mode 100644
index 8d5fe0c94..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Feed/Atom/Source.php
+++ /dev/null
@@ -1,102 +0,0 @@
-_domDocument = $source->ownerDocument;
- $this->_xpath = new DOMXPath($this->_domDocument);
- $this->_data['type'] = $type;
- $this->_registerNamespaces();
- $this->_loadExtensions();
-
- $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Feed');
- $this->_extensions['Atom_Feed'] = new $atomClass($this->_domDocument, $this->_data['type'], $this->_xpath);
- $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('DublinCore_Feed');
- $this->_extensions['DublinCore_Feed'] = new $atomClass($this->_domDocument, $this->_data['type'], $this->_xpath);
- foreach ($this->_extensions as $extension) {
- $extension->setXpathPrefix(rtrim($xpathPrefix, '/') . '/atom:source');
- }
- }
-
- /**
- * Since this is not an Entry carrier but a vehicle for Feed metadata, any
- * applicable Entry methods are stubbed out and do nothing.
- */
-
- /**
- * @return void
- */
- public function count() {}
-
- /**
- * @return void
- */
- public function current() {}
-
- /**
- * @return void
- */
- public function key() {}
-
- /**
- * @return void
- */
- public function next() {}
-
- /**
- * @return void
- */
- public function rewind() {}
-
- /**
- * @return void
- */
- public function valid() {}
-
- /**
- * @return void
- */
- protected function _indexEntries() {}
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/Feed/Rss.php b/airtime_mvc/library/Zend/Feed/Reader/Feed/Rss.php
deleted file mode 100644
index dcb619260..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/Feed/Rss.php
+++ /dev/null
@@ -1,623 +0,0 @@
-getClassName('DublinCore_Feed');
- $this->_extensions['DublinCore_Feed'] = new $dublinCoreClass($dom, $this->_data['type'], $this->_xpath);
- $atomClass = Zend_Feed_Reader::getPluginLoader()->getClassName('Atom_Feed');
- $this->_extensions['Atom_Feed'] = new $atomClass($dom, $this->_data['type'], $this->_xpath);
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $xpathPrefix = '/rss/channel';
- } else {
- $xpathPrefix = '/rdf:RDF/rss:channel';
- }
- foreach ($this->_extensions as $extension) {
- $extension->setXpathPrefix($xpathPrefix);
- }
- }
-
- /**
- * Get a single author
- *
- * @param int $index
- * @return string|null
- */
- public function getAuthor($index = 0)
- {
- $authors = $this->getAuthors();
-
- if (isset($authors[$index])) {
- return $authors[$index];
- }
-
- return null;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (array_key_exists('authors', $this->_data)) {
- return $this->_data['authors'];
- }
-
- $authors = array();
- $authors_dc = $this->getExtension('DublinCore')->getAuthors();
- if (!empty($authors_dc)) {
- foreach ($authors_dc as $author) {
- $authors[] = array(
- 'name' => $author['name']
- );
- }
- }
-
- /**
- * Technically RSS doesn't specific author element use at the feed level
- * but it's supported on a "just in case" basis.
- */
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10
- && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $list = $this->_xpath->query('//author');
- } else {
- $list = $this->_xpath->query('//rss:author');
- }
- if ($list->length) {
- foreach ($list as $author) {
- $string = trim($author->nodeValue);
- $email = null;
- $name = null;
- $data = array();
- // Pretty rough parsing - but it's a catchall
- if (preg_match("/^.*@[^ ]*/", $string, $matches)) {
- $data['email'] = trim($matches[0]);
- if (preg_match("/\((.*)\)$/", $string, $matches)) {
- $data['name'] = $matches[1];
- }
- $authors[] = $data;
- }
- }
- }
-
- if (count($authors) == 0) {
- $authors = $this->getExtension('Atom')->getAuthors();
- } else {
- $authors = new Zend_Feed_Reader_Collection_Author(
- Zend_Feed_Reader::arrayUnique($authors)
- );
- }
-
- if (count($authors) == 0) {
- $authors = null;
- }
-
- $this->_data['authors'] = $authors;
-
- return $this->_data['authors'];
- }
-
- /**
- * Get the copyright entry
- *
- * @return string|null
- */
- public function getCopyright()
- {
- if (array_key_exists('copyright', $this->_data)) {
- return $this->_data['copyright'];
- }
-
- $copyright = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $copyright = $this->_xpath->evaluate('string(/rss/channel/copyright)');
- }
-
- if (!$copyright && !is_null($this->getExtension('DublinCore'))) {
- $copyright = $this->getExtension('DublinCore')->getCopyright();
- }
-
- if (empty($copyright)) {
- $copyright = $this->getExtension('Atom')->getCopyright();
- }
-
- if (!$copyright) {
- $copyright = null;
- }
-
- $this->_data['copyright'] = $copyright;
-
- return $this->_data['copyright'];
- }
-
- /**
- * Get the feed creation date
- *
- * @return string|null
- */
- public function getDateCreated()
- {
- return $this->getDateModified();
- }
-
- /**
- * Get the feed modification date
- *
- * @return Zend_Date
- */
- public function getDateModified()
- {
- if (array_key_exists('datemodified', $this->_data)) {
- return $this->_data['datemodified'];
- }
-
- $dateModified = null;
- $date = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $dateModified = $this->_xpath->evaluate('string(/rss/channel/pubDate)');
- if (!$dateModified) {
- $dateModified = $this->_xpath->evaluate('string(/rss/channel/lastBuildDate)');
- }
- if ($dateModified) {
- $dateStandards = array(Zend_Date::RSS, Zend_Date::RFC_822,
- Zend_Date::RFC_2822, Zend_Date::DATES);
- $date = new Zend_Date;
- foreach ($dateStandards as $standard) {
- try {
- $date->set($dateModified, $standard);
- break;
- } catch (Zend_Date_Exception $e) {
- if ($standard == Zend_Date::DATES) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception(
- 'Could not load date due to unrecognised'
- .' format (should follow RFC 822 or 2822):'
- . $e->getMessage(),
- 0, $e
- );
- }
- }
- }
- }
- }
-
- if (!$date) {
- $date = $this->getExtension('DublinCore')->getDate();
- }
-
- if (!$date) {
- $date = $this->getExtension('Atom')->getDateModified();
- }
-
- if (!$date) {
- $date = null;
- }
-
- $this->_data['datemodified'] = $date;
-
- return $this->_data['datemodified'];
- }
-
- /**
- * Get the feed description
- *
- * @return string|null
- */
- public function getDescription()
- {
- if (array_key_exists('description', $this->_data)) {
- return $this->_data['description'];
- }
-
- $description = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $description = $this->_xpath->evaluate('string(/rss/channel/description)');
- } else {
- $description = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/rss:description)');
- }
-
- if (!$description && !is_null($this->getExtension('DublinCore'))) {
- $description = $this->getExtension('DublinCore')->getDescription();
- }
-
- if (empty($description)) {
- $description = $this->getExtension('Atom')->getDescription();
- }
-
- if (!$description) {
- $description = null;
- }
-
- $this->_data['description'] = $description;
-
- return $this->_data['description'];
- }
-
- /**
- * Get the feed ID
- *
- * @return string|null
- */
- public function getId()
- {
- if (array_key_exists('id', $this->_data)) {
- return $this->_data['id'];
- }
-
- $id = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $id = $this->_xpath->evaluate('string(/rss/channel/guid)');
- }
-
- if (!$id && !is_null($this->getExtension('DublinCore'))) {
- $id = $this->getExtension('DublinCore')->getId();
- }
-
- if (empty($id)) {
- $id = $this->getExtension('Atom')->getId();
- }
-
- if (!$id) {
- if ($this->getLink()) {
- $id = $this->getLink();
- } elseif ($this->getTitle()) {
- $id = $this->getTitle();
- } else {
- $id = null;
- }
- }
-
- $this->_data['id'] = $id;
-
- return $this->_data['id'];
- }
-
- /**
- * Get the feed language
- *
- * @return string|null
- */
- public function getLanguage()
- {
- if (array_key_exists('language', $this->_data)) {
- return $this->_data['language'];
- }
-
- $language = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $language = $this->_xpath->evaluate('string(/rss/channel/language)');
- }
-
- if (!$language && !is_null($this->getExtension('DublinCore'))) {
- $language = $this->getExtension('DublinCore')->getLanguage();
- }
-
- if (empty($language)) {
- $language = $this->getExtension('Atom')->getLanguage();
- }
-
- if (!$language) {
- $language = $this->_xpath->evaluate('string(//@xml:lang[1])');
- }
-
- if (!$language) {
- $language = null;
- }
-
- $this->_data['language'] = $language;
-
- return $this->_data['language'];
- }
-
- /**
- * Get a link to the feed
- *
- * @return string|null
- */
- public function getLink()
- {
- if (array_key_exists('link', $this->_data)) {
- return $this->_data['link'];
- }
-
- $link = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $link = $this->_xpath->evaluate('string(/rss/channel/link)');
- } else {
- $link = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/rss:link)');
- }
-
- if (empty($link)) {
- $link = $this->getExtension('Atom')->getLink();
- }
-
- if (!$link) {
- $link = null;
- }
-
- $this->_data['link'] = $link;
-
- return $this->_data['link'];
- }
-
- /**
- * Get a link to the feed XML
- *
- * @return string|null
- */
- public function getFeedLink()
- {
- if (array_key_exists('feedlink', $this->_data)) {
- return $this->_data['feedlink'];
- }
-
- $link = null;
-
- $link = $this->getExtension('Atom')->getFeedLink();
-
- if (!$link) {
- $link = null;
- }
-
- $this->_data['feedlink'] = $link;
-
- return $this->_data['feedlink'];
- }
-
- /**
- * Get the feed generator entry
- *
- * @return string|null
- */
- public function getGenerator()
- {
- if (array_key_exists('generator', $this->_data)) {
- return $this->_data['generator'];
- }
-
- $generator = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $generator = $this->_xpath->evaluate('string(/rss/channel/generator)');
- }
-
- if (!$generator) {
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $generator = $this->_xpath->evaluate('string(/rss/channel/atom:generator)');
- } else {
- $generator = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/atom:generator)');
- }
- if ($generator) {
- $generator = html_entity_decode($generator, ENT_QUOTES, $this->getEncoding());
- }
- }
-
- if (empty($generator)) {
- $generator = $this->getExtension('Atom')->getGenerator();
- }
-
- if (!$generator) {
- $generator = null;
- }
-
- $this->_data['generator'] = $generator;
-
- return $this->_data['generator'];
- }
-
- /**
- * Get the feed title
- *
- * @return string|null
- */
- public function getTitle()
- {
- if (array_key_exists('title', $this->_data)) {
- return $this->_data['title'];
- }
-
- $title = null;
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $title = $this->_xpath->evaluate('string(/rss/channel/title)');
- } else {
- $title = $this->_xpath->evaluate('string(/rdf:RDF/rss:channel/rss:title)');
- }
-
- if (!$title && !is_null($this->getExtension('DublinCore'))) {
- $title = $this->getExtension('DublinCore')->getTitle();
- }
-
- if (!$title) {
- $title = $this->getExtension('Atom')->getTitle();
- }
-
- if (!$title) {
- $title = null;
- }
-
- $this->_data['title'] = $title;
-
- return $this->_data['title'];
- }
-
- /**
- * Get an array of any supported Pusubhubbub endpoints
- *
- * @return array|null
- */
- public function getHubs()
- {
- if (array_key_exists('hubs', $this->_data)) {
- return $this->_data['hubs'];
- }
-
- $hubs = $this->getExtension('Atom')->getHubs();
-
- if (empty($hubs)) {
- $hubs = null;
- } else {
- $hubs = array_unique($hubs);
- }
-
- $this->_data['hubs'] = $hubs;
-
- return $this->_data['hubs'];
- }
-
- /**
- * Get all categories
- *
- * @return Zend_Feed_Reader_Collection_Category
- */
- public function getCategories()
- {
- if (array_key_exists('categories', $this->_data)) {
- return $this->_data['categories'];
- }
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 &&
- $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $list = $this->_xpath->query('/rss/channel//category');
- } else {
- $list = $this->_xpath->query('/rdf:RDF/rss:channel//rss:category');
- }
-
- if ($list->length) {
- $categoryCollection = new Zend_Feed_Reader_Collection_Category;
- foreach ($list as $category) {
- $categoryCollection[] = array(
- 'term' => $category->nodeValue,
- 'scheme' => $category->getAttribute('domain'),
- 'label' => $category->nodeValue,
- );
- }
- } else {
- $categoryCollection = $this->getExtension('DublinCore')->getCategories();
- }
-
- if (count($categoryCollection) == 0) {
- $categoryCollection = $this->getExtension('Atom')->getCategories();
- }
-
- $this->_data['categories'] = $categoryCollection;
-
- return $this->_data['categories'];
- }
-
- /**
- * Read all entries to the internal entries array
- *
- */
- protected function _indexEntries()
- {
- $entries = array();
-
- if ($this->getType() !== Zend_Feed_Reader::TYPE_RSS_10 && $this->getType() !== Zend_Feed_Reader::TYPE_RSS_090) {
- $entries = $this->_xpath->evaluate('//item');
- } else {
- $entries = $this->_xpath->evaluate('//rss:item');
- }
-
- foreach($entries as $index=>$entry) {
- $this->_entries[$index] = $entry;
- }
- }
-
- /**
- * Register the default namespaces for the current feed format
- *
- */
- protected function _registerNamespaces()
- {
- switch ($this->_data['type']) {
- case Zend_Feed_Reader::TYPE_RSS_10:
- $this->_xpath->registerNamespace('rdf', Zend_Feed_Reader::NAMESPACE_RDF);
- $this->_xpath->registerNamespace('rss', Zend_Feed_Reader::NAMESPACE_RSS_10);
- break;
-
- case Zend_Feed_Reader::TYPE_RSS_090:
- $this->_xpath->registerNamespace('rdf', Zend_Feed_Reader::NAMESPACE_RDF);
- $this->_xpath->registerNamespace('rss', Zend_Feed_Reader::NAMESPACE_RSS_090);
- break;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/FeedAbstract.php b/airtime_mvc/library/Zend/Feed/Reader/FeedAbstract.php
deleted file mode 100644
index 6ec899a72..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/FeedAbstract.php
+++ /dev/null
@@ -1,291 +0,0 @@
-_domDocument = $domDocument;
- $this->_xpath = new DOMXPath($this->_domDocument);
-
- if ($type !== null) {
- $this->_data['type'] = $type;
- } else {
- $this->_data['type'] = Zend_Feed_Reader::detectType($this->_domDocument);
- }
- $this->_registerNamespaces();
- $this->_indexEntries();
- $this->_loadExtensions();
- }
-
- /**
- * Get the number of feed entries.
- * Required by the Iterator interface.
- *
- * @return int
- */
- public function count()
- {
- return count($this->_entries);
- }
-
- /**
- * Return the current entry
- *
- * @return Zend_Feed_Reader_EntryInterface
- */
- public function current()
- {
- if (substr($this->getType(), 0, 3) == 'rss') {
- $reader = new Zend_Feed_Reader_Entry_Rss($this->_entries[$this->key()], $this->key(), $this->getType());
- } else {
- $reader = new Zend_Feed_Reader_Entry_Atom($this->_entries[$this->key()], $this->key(), $this->getType());
- }
-
- $reader->setXpath($this->_xpath);
-
- return $reader;
- }
-
- /**
- * Get the DOM
- *
- * @return DOMDocument
- */
- public function getDomDocument()
- {
- return $this->_domDocument;
- }
-
- /**
- * Get the Feed's encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- $assumed = $this->getDomDocument()->encoding;
- if (empty($assumed)) {
- $assumed = 'UTF-8';
- }
- return $assumed;
- }
-
- /**
- * Get feed as xml
- *
- * @return string
- */
- public function saveXml()
- {
- return $this->getDomDocument()->saveXml();
- }
-
- /**
- * Get the DOMElement representing the items/feed element
- *
- * @return DOMElement
- */
- public function getElement()
- {
- return $this->getDomDocument()->documentElement;
- }
-
- /**
- * Get the DOMXPath object for this feed
- *
- * @return DOMXPath
- */
- public function getXpath()
- {
- return $this->_xpath;
- }
-
- /**
- * Get the feed type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_data['type'];
- }
-
- /**
- * Return the current feed key
- *
- * @return unknown
- */
- public function key()
- {
- return $this->_entriesKey;
- }
-
- /**
- * Move the feed pointer forward
- *
- */
- public function next()
- {
- ++$this->_entriesKey;
- }
-
- /**
- * Reset the pointer in the feed object
- *
- */
- public function rewind()
- {
- $this->_entriesKey = 0;
- }
-
- /**
- * Check to see if the iterator is still valid
- *
- * @return boolean
- */
- public function valid()
- {
- return 0 <= $this->_entriesKey && $this->_entriesKey < $this->count();
- }
-
- public function getExtensions()
- {
- return $this->_extensions;
- }
-
- public function __call($method, $args)
- {
- foreach ($this->_extensions as $extension) {
- if (method_exists($extension, $method)) {
- return call_user_func_array(array($extension, $method), $args);
- }
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Method: ' . $method
- . 'does not exist and could not be located on a registered Extension');
- }
-
- /**
- * Return an Extension object with the matching name (postfixed with _Feed)
- *
- * @param string $name
- * @return Zend_Feed_Reader_Extension_FeedAbstract
- */
- public function getExtension($name)
- {
- if (array_key_exists($name . '_Feed', $this->_extensions)) {
- return $this->_extensions[$name . '_Feed'];
- }
- return null;
- }
-
- protected function _loadExtensions()
- {
- $all = Zend_Feed_Reader::getExtensions();
- $feed = $all['feed'];
- foreach ($feed as $extension) {
- if (in_array($extension, $all['core'])) {
- continue;
- }
- $className = Zend_Feed_Reader::getPluginLoader()->getClassName($extension);
- $this->_extensions[$extension] = new $className(
- $this->getDomDocument(), $this->_data['type'], $this->_xpath
- );
- }
- }
-
- /**
- * Read all entries to the internal entries array
- *
- */
- abstract protected function _indexEntries();
-
- /**
- * Register the default namespaces for the current feed format
- *
- */
- abstract protected function _registerNamespaces();
-}
diff --git a/airtime_mvc/library/Zend/Feed/Reader/FeedInterface.php b/airtime_mvc/library/Zend/Feed/Reader/FeedInterface.php
deleted file mode 100644
index 35060bafc..000000000
--- a/airtime_mvc/library/Zend/Feed/Reader/FeedInterface.php
+++ /dev/null
@@ -1,122 +0,0 @@
-getAttribute('rel')) !== 'alternate'
- || !$link->getAttribute('type') || !$link->getAttribute('href')) {
- continue;
- }
- if (!isset($this->rss) && $link->getAttribute('type') == 'application/rss+xml') {
- $this->rss = $this->_absolutiseUri(trim($link->getAttribute('href')), $uri);
- } elseif(!isset($this->atom) && $link->getAttribute('type') == 'application/atom+xml') {
- $this->atom = $this->_absolutiseUri(trim($link->getAttribute('href')), $uri);
- } elseif(!isset($this->rdf) && $link->getAttribute('type') == 'application/rdf+xml') {
- $this->rdf = $this->_absolutiseUri(trim($link->getAttribute('href')), $uri);
- }
- $this[] = new self(array(
- 'rel' => 'alternate',
- 'type' => $link->getAttribute('type'),
- 'href' => $this->_absolutiseUri(trim($link->getAttribute('href')), $uri),
- ));
- }
- }
-
- /**
- * Attempt to turn a relative URI into an absolute URI
- */
- protected function _absolutiseUri($link, $uri = null)
- {
- if (!Zend_Uri::check($link)) {
- if (!is_null($uri)) {
- $uri = Zend_Uri::factory($uri);
-
- if ($link[0] !== '/') {
- $link = $uri->getPath() . '/' . $link;
- }
-
- $link = $uri->getScheme() . '://' . $uri->getHost() . '/' . $this->_canonicalizePath($link);
- if (!Zend_Uri::check($link)) {
- $link = null;
- }
- }
- }
- return $link;
- }
-
- /**
- * Canonicalize relative path
- */
- protected function _canonicalizePath($path)
- {
- $parts = array_filter(explode('/', $path));
- $absolutes = array();
- foreach ($parts as $part) {
- if ('.' == $part) {
- continue;
- }
- if ('..' == $part) {
- array_pop($absolutes);
- } else {
- $absolutes[] = $part;
- }
- }
- return implode('/', $absolutes);
- }
-
- /**
- * Supports lazy loading of feeds using Zend_Feed_Reader::import() but
- * delegates any other operations to the parent class.
- *
- * @param string $offset
- * @return mixed
- * @uses Zend_Feed_Reader
- */
- public function offsetGet($offset)
- {
- if ($offset == 'feed' && !$this->offsetExists('feed')) {
- if (!$this->offsetExists('href')) {
- return null;
- }
- $feed = Zend_Feed_Reader::import($this->offsetGet('href'));
- $this->offsetSet('feed', $feed);
- return $feed;
- }
- return parent::offsetGet($offset);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Rss.php b/airtime_mvc/library/Zend/Feed/Rss.php
deleted file mode 100644
index 4ff62db35..000000000
--- a/airtime_mvc/library/Zend/Feed/Rss.php
+++ /dev/null
@@ -1,529 +0,0 @@
-s).
- *
- * @var string
- */
- protected $_entryElementName = 'item';
-
- /**
- * The default namespace for RSS channels.
- *
- * @var string
- */
- protected $_defaultNamespace = 'rss';
-
- /**
- * Override Zend_Feed_Abstract to set up the $_element and $_entries aliases.
- *
- * @return void
- * @throws Zend_Feed_Exception
- */
- public function __wakeup()
- {
- parent::__wakeup();
-
- // Find the base channel element and create an alias to it.
- $rdfTags = $this->_element->getElementsByTagNameNS('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'RDF');
- if ($rdfTags->length != 0) {
- $this->_element = $rdfTags->item(0);
- } else {
- $this->_element = $this->_element->getElementsByTagName('channel')->item(0);
- }
- if (!$this->_element) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('No root element found, cannot parse channel.');
- }
-
- // Find the entries and save a pointer to them for speed and
- // simplicity.
- $this->_buildEntryCache();
- }
-
-
- /**
- * Make accessing some individual elements of the channel easier.
- *
- * Special accessors 'item' and 'items' are provided so that if
- * you wish to iterate over an RSS channel's items, you can do so
- * using foreach ($channel->items as $item) or foreach
- * ($channel->item as $item).
- *
- * @param string $var The property to access.
- * @return mixed
- */
- public function __get($var)
- {
- switch ($var) {
- case 'item':
- // fall through to the next case
- case 'items':
- return $this;
-
- default:
- return parent::__get($var);
- }
- }
-
- /**
- * Generate the header of the feed when working in write mode
- *
- * @param array $array the data to use
- * @return DOMElement root node
- */
- protected function _mapFeedHeaders($array)
- {
- $channel = $this->_element->createElement('channel');
-
- $title = $this->_element->createElement('title');
- $title->appendChild($this->_element->createCDATASection($array->title));
- $channel->appendChild($title);
-
- $link = $this->_element->createElement('link', $array->link);
- $channel->appendChild($link);
-
- $desc = isset($array->description) ? $array->description : '';
- $description = $this->_element->createElement('description');
- $description->appendChild($this->_element->createCDATASection($desc));
- $channel->appendChild($description);
-
- $pubdate = isset($array->lastUpdate) ? $array->lastUpdate : time();
- $pubdate = $this->_element->createElement('pubDate', date(DATE_RSS, $pubdate));
- $channel->appendChild($pubdate);
-
- if (isset($array->published)) {
- $lastBuildDate = $this->_element->createElement('lastBuildDate', date(DATE_RSS, $array->published));
- $channel->appendChild($lastBuildDate);
- }
-
- $editor = '';
- if (!empty($array->email)) {
- $editor .= $array->email;
- }
- if (!empty($array->author)) {
- $editor .= ' (' . $array->author . ')';
- }
- if (!empty($editor)) {
- $author = $this->_element->createElement('managingEditor', ltrim($editor));
- $channel->appendChild($author);
- }
- if (isset($array->webmaster)) {
- $channel->appendChild($this->_element->createElement('webMaster', $array->webmaster));
- }
-
- if (!empty($array->copyright)) {
- $copyright = $this->_element->createElement('copyright', $array->copyright);
- $channel->appendChild($copyright);
- }
-
- if (isset($array->category)) {
- $category = $this->_element->createElement('category', $array->category);
- $channel->appendChild($category);
- }
-
- if (!empty($array->image)) {
- $image = $this->_element->createElement('image');
- $url = $this->_element->createElement('url', $array->image);
- $image->appendChild($url);
- $imagetitle = $this->_element->createElement('title');
- $imagetitle->appendChild($this->_element->createCDATASection($array->title));
- $image->appendChild($imagetitle);
- $imagelink = $this->_element->createElement('link', $array->link);
- $image->appendChild($imagelink);
-
- $channel->appendChild($image);
- }
-
- $generator = !empty($array->generator) ? $array->generator : 'Zend_Feed';
- $generator = $this->_element->createElement('generator', $generator);
- $channel->appendChild($generator);
-
- if (!empty($array->language)) {
- $language = $this->_element->createElement('language', $array->language);
- $channel->appendChild($language);
- }
-
- $doc = $this->_element->createElement('docs', 'http://blogs.law.harvard.edu/tech/rss');
- $channel->appendChild($doc);
-
- if (isset($array->cloud)) {
- $cloud = $this->_element->createElement('cloud');
- $cloud->setAttribute('domain', $array->cloud['uri']->getHost());
- $cloud->setAttribute('port', $array->cloud['uri']->getPort());
- $cloud->setAttribute('path', $array->cloud['uri']->getPath());
- $cloud->setAttribute('registerProcedure', $array->cloud['procedure']);
- $cloud->setAttribute('protocol', $array->cloud['protocol']);
- $channel->appendChild($cloud);
- }
-
- if (isset($array->ttl)) {
- $ttl = $this->_element->createElement('ttl', $array->ttl);
- $channel->appendChild($ttl);
- }
-
- if (isset($array->rating)) {
- $rating = $this->_element->createElement('rating', $array->rating);
- $channel->appendChild($rating);
- }
-
- if (isset($array->textInput)) {
- $textinput = $this->_element->createElement('textInput');
- $textinput->appendChild($this->_element->createElement('title', $array->textInput['title']));
- $textinput->appendChild($this->_element->createElement('description', $array->textInput['description']));
- $textinput->appendChild($this->_element->createElement('name', $array->textInput['name']));
- $textinput->appendChild($this->_element->createElement('link', $array->textInput['link']));
- $channel->appendChild($textinput);
- }
-
- if (isset($array->skipHours)) {
- $skipHours = $this->_element->createElement('skipHours');
- foreach ($array->skipHours as $hour) {
- $skipHours->appendChild($this->_element->createElement('hour', $hour));
- }
- $channel->appendChild($skipHours);
- }
-
- if (isset($array->skipDays)) {
- $skipDays = $this->_element->createElement('skipDays');
- foreach ($array->skipDays as $day) {
- $skipDays->appendChild($this->_element->createElement('day', $day));
- }
- $channel->appendChild($skipDays);
- }
-
- if (isset($array->itunes)) {
- $this->_buildiTunes($channel, $array);
- }
-
- return $channel;
- }
-
- /**
- * Adds the iTunes extensions to a root node
- *
- * @param DOMElement $root
- * @param array $array
- * @return void
- */
- private function _buildiTunes(DOMElement $root, $array)
- {
- /* author node */
- $author = '';
- if (isset($array->itunes->author)) {
- $author = $array->itunes->author;
- } elseif (isset($array->author)) {
- $author = $array->author;
- }
- if (!empty($author)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:author', $author);
- $root->appendChild($node);
- }
-
- /* owner node */
- $author = '';
- $email = '';
- if (isset($array->itunes->owner)) {
- if (isset($array->itunes->owner['name'])) {
- $author = $array->itunes->owner['name'];
- }
- if (isset($array->itunes->owner['email'])) {
- $email = $array->itunes->owner['email'];
- }
- }
- if (empty($author) && isset($array->author)) {
- $author = $array->author;
- }
- if (empty($email) && isset($array->email)) {
- $email = $array->email;
- }
- if (!empty($author) || !empty($email)) {
- $owner = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:owner');
- if (!empty($author)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:name', $author);
- $owner->appendChild($node);
- }
- if (!empty($email)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:email', $email);
- $owner->appendChild($node);
- }
- $root->appendChild($owner);
- }
- $image = '';
- if (isset($array->itunes->image)) {
- $image = $array->itunes->image;
- } elseif (isset($array->image)) {
- $image = $array->image;
- }
- if (!empty($image)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:image');
- $node->setAttribute('href', $image);
- $root->appendChild($node);
- }
- $subtitle = '';
- if (isset($array->itunes->subtitle)) {
- $subtitle = $array->itunes->subtitle;
- } elseif (isset($array->description)) {
- $subtitle = $array->description;
- }
- if (!empty($subtitle)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:subtitle', $subtitle);
- $root->appendChild($node);
- }
- $summary = '';
- if (isset($array->itunes->summary)) {
- $summary = $array->itunes->summary;
- } elseif (isset($array->description)) {
- $summary = $array->description;
- }
- if (!empty($summary)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:summary', $summary);
- $root->appendChild($node);
- }
- if (isset($array->itunes->block)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:block', $array->itunes->block);
- $root->appendChild($node);
- }
- if (isset($array->itunes->explicit)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:explicit', $array->itunes->explicit);
- $root->appendChild($node);
- }
- if (isset($array->itunes->keywords)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:keywords', $array->itunes->keywords);
- $root->appendChild($node);
- }
- if (isset($array->itunes->new_feed_url)) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:new-feed-url', $array->itunes->new_feed_url);
- $root->appendChild($node);
- }
- if (isset($array->itunes->category)) {
- foreach ($array->itunes->category as $i => $category) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:category');
- $node->setAttribute('text', $category['main']);
- $root->appendChild($node);
- $add_end_category = false;
- if (!empty($category['sub'])) {
- $add_end_category = true;
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:category');
- $node->setAttribute('text', $category['sub']);
- $root->appendChild($node);
- }
- if ($i > 0 || $add_end_category) {
- $node = $this->_element->createElementNS('http://www.itunes.com/DTDs/Podcast-1.0.dtd', 'itunes:category');
- $root->appendChild($node);
- }
- }
- }
- }
-
- /**
- * Generate the entries of the feed when working in write mode
- *
- * The following nodes are constructed for each feed entry
- * -
- *
entry title
- * url to feed entry
- * url to feed entry
- * short text
- * long version, can contain html
- *
- *
- * @param DOMElement $root the root node to use
- * @param array $array the data to use
- * @return void
- */
- protected function _mapFeedEntries(DOMElement $root, $array)
- {
- Zend_Feed::registerNamespace('content', 'http://purl.org/rss/1.0/modules/content/');
-
- foreach ($array as $dataentry) {
- $item = $this->_element->createElement('item');
-
- $title = $this->_element->createElement('title');
- $title->appendChild($this->_element->createCDATASection($dataentry->title));
- $item->appendChild($title);
-
- if (isset($dataentry->author)) {
- $author = $this->_element->createElement('author', $dataentry->author);
- $item->appendChild($author);
- }
-
- $link = $this->_element->createElement('link', $dataentry->link);
- $item->appendChild($link);
-
- if (isset($dataentry->guid)) {
- $guid = $this->_element->createElement('guid', $dataentry->guid);
- if (!Zend_Uri::check($dataentry->guid)) {
- $guid->setAttribute('isPermaLink', 'false');
- }
- $item->appendChild($guid);
- }
-
- $description = $this->_element->createElement('description');
- $description->appendChild($this->_element->createCDATASection($dataentry->description));
- $item->appendChild($description);
-
- if (isset($dataentry->content)) {
- $content = $this->_element->createElement('content:encoded');
- $content->appendChild($this->_element->createCDATASection($dataentry->content));
- $item->appendChild($content);
- }
-
- $pubdate = isset($dataentry->lastUpdate) ? $dataentry->lastUpdate : time();
- $pubdate = $this->_element->createElement('pubDate', date(DATE_RSS, $pubdate));
- $item->appendChild($pubdate);
-
- if (isset($dataentry->category)) {
- foreach ($dataentry->category as $category) {
- $node = $this->_element->createElement('category', $category['term']);
- if (isset($category['scheme'])) {
- $node->setAttribute('domain', $category['scheme']);
- }
- $item->appendChild($node);
- }
- }
-
- if (isset($dataentry->source)) {
- $source = $this->_element->createElement('source', $dataentry->source['title']);
- $source->setAttribute('url', $dataentry->source['url']);
- $item->appendChild($source);
- }
-
- if (isset($dataentry->comments)) {
- $comments = $this->_element->createElement('comments', $dataentry->comments);
- $item->appendChild($comments);
- }
- if (isset($dataentry->commentRss)) {
- $comments = $this->_element->createElementNS('http://wellformedweb.org/CommentAPI/',
- 'wfw:commentRss',
- $dataentry->commentRss);
- $item->appendChild($comments);
- }
-
-
- if (isset($dataentry->enclosure)) {
- foreach ($dataentry->enclosure as $enclosure) {
- $node = $this->_element->createElement('enclosure');
- $node->setAttribute('url', $enclosure['url']);
- if (isset($enclosure['type'])) {
- $node->setAttribute('type', $enclosure['type']);
- }
- if (isset($enclosure['length'])) {
- $node->setAttribute('length', $enclosure['length']);
- }
- $item->appendChild($node);
- }
- }
-
- $root->appendChild($item);
- }
- }
-
- /**
- * Override Zend_Feed_Element to include root node
- *
- * @return string
- */
- public function saveXml()
- {
- // Return a complete document including XML prologue.
- $doc = new DOMDocument($this->_element->ownerDocument->version,
- $this->_element->ownerDocument->actualEncoding);
- $root = $doc->createElement('rss');
-
- // Use rss version 2.0
- $root->setAttribute('version', '2.0');
-
- // Content namespace
- $root->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:content', 'http://purl.org/rss/1.0/modules/content/');
- $root->appendChild($doc->importNode($this->_element, true));
-
- // Append root node
- $doc->appendChild($root);
-
- // Format output
- $doc->formatOutput = true;
-
- return $doc->saveXML();
- }
-
- /**
- * Send feed to a http client with the correct header
- *
- * @return void
- * @throws Zend_Feed_Exception if headers have already been sent
- */
- public function send()
- {
- if (headers_sent()) {
- /**
- * @see Zend_Feed_Exception
- */
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Cannot send RSS because headers have already been sent.');
- }
-
- header('Content-Type: application/rss+xml; charset=' . $this->_element->ownerDocument->actualEncoding);
-
- echo $this->saveXml();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer.php b/airtime_mvc/library/Zend/Feed/Writer.php
deleted file mode 100644
index 8653af8d0..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer.php
+++ /dev/null
@@ -1,267 +0,0 @@
- array(),
- 'feed' => array(),
- 'entryRenderer' => array(),
- 'feedRenderer' => array(),
- );
-
- /**
- * Set plugin loader for use with Extensions
- *
- * @param Zend_Loader_PluginLoader_Interface
- */
- public static function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader)
- {
- self::$_pluginLoader = $loader;
- }
-
- /**
- * Get plugin loader for use with Extensions
- *
- * @return Zend_Loader_PluginLoader_Interface
- */
- public static function getPluginLoader()
- {
- if (!isset(self::$_pluginLoader)) {
- require_once 'Zend/Loader/PluginLoader.php';
- self::$_pluginLoader = new Zend_Loader_PluginLoader(array(
- 'Zend_Feed_Writer_Extension_' => 'Zend/Feed/Writer/Extension/',
- ));
- }
- return self::$_pluginLoader;
- }
-
- /**
- * Add prefix path for loading Extensions
- *
- * @param string $prefix
- * @param string $path
- * @return void
- */
- public static function addPrefixPath($prefix, $path)
- {
- $prefix = rtrim($prefix, '_');
- $path = rtrim($path, DIRECTORY_SEPARATOR);
- self::getPluginLoader()->addPrefixPath($prefix, $path);
- }
-
- /**
- * Add multiple Extension prefix paths at once
- *
- * @param array $spec
- * @return void
- */
- public static function addPrefixPaths(array $spec)
- {
- if (isset($spec['prefix']) && isset($spec['path'])) {
- self::addPrefixPath($spec['prefix'], $spec['path']);
- }
- foreach ($spec as $prefixPath) {
- if (isset($prefixPath['prefix']) && isset($prefixPath['path'])) {
- self::addPrefixPath($prefixPath['prefix'], $prefixPath['path']);
- }
- }
- }
-
- /**
- * Register an Extension by name
- *
- * @param string $name
- * @return void
- * @throws Zend_Feed_Exception if unable to resolve Extension class
- */
- public static function registerExtension($name)
- {
- $feedName = $name . '_Feed';
- $entryName = $name . '_Entry';
- $feedRendererName = $name . '_Renderer_Feed';
- $entryRendererName = $name . '_Renderer_Entry';
- if (self::isRegistered($name)) {
- if (self::getPluginLoader()->isLoaded($feedName)
- || self::getPluginLoader()->isLoaded($entryName)
- || self::getPluginLoader()->isLoaded($feedRendererName)
- || self::getPluginLoader()->isLoaded($entryRendererName)
- ) {
- return;
- }
- }
- try {
- self::getPluginLoader()->load($feedName);
- self::$_extensions['feed'][] = $feedName;
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- }
- try {
- self::getPluginLoader()->load($entryName);
- self::$_extensions['entry'][] = $entryName;
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- }
- try {
- self::getPluginLoader()->load($feedRendererName);
- self::$_extensions['feedRenderer'][] = $feedRendererName;
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- }
- try {
- self::getPluginLoader()->load($entryRendererName);
- self::$_extensions['entryRenderer'][] = $entryRendererName;
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- }
- if (!self::getPluginLoader()->isLoaded($feedName)
- && !self::getPluginLoader()->isLoaded($entryName)
- && !self::getPluginLoader()->isLoaded($feedRendererName)
- && !self::getPluginLoader()->isLoaded($entryRendererName)
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Could not load extension: ' . $name
- . 'using Plugin Loader. Check prefix paths are configured and extension exists.');
- }
- }
-
- /**
- * Is a given named Extension registered?
- *
- * @param string $extensionName
- * @return boolean
- */
- public static function isRegistered($extensionName)
- {
- $feedName = $extensionName . '_Feed';
- $entryName = $extensionName . '_Entry';
- $feedRendererName = $extensionName . '_Renderer_Feed';
- $entryRendererName = $extensionName . '_Renderer_Entry';
- if (in_array($feedName, self::$_extensions['feed'])
- || in_array($entryName, self::$_extensions['entry'])
- || in_array($feedRendererName, self::$_extensions['feedRenderer'])
- || in_array($entryRendererName, self::$_extensions['entryRenderer'])
- ) {
- return true;
- }
- return false;
- }
-
- /**
- * Get a list of extensions
- *
- * @return array
- */
- public static function getExtensions()
- {
- return self::$_extensions;
- }
-
- /**
- * Reset class state to defaults
- *
- * @return void
- */
- public static function reset()
- {
- self::$_pluginLoader = null;
- self::$_prefixPaths = array();
- self::$_extensions = array(
- 'entry' => array(),
- 'feed' => array(),
- 'entryRenderer' => array(),
- 'feedRenderer' => array(),
- );
- }
-
- /**
- * Register core (default) extensions
- *
- * @return void
- */
- public static function registerCoreExtensions()
- {
- self::registerExtension('DublinCore');
- self::registerExtension('Content');
- self::registerExtension('Atom');
- self::registerExtension('Slash');
- self::registerExtension('WellFormedWeb');
- self::registerExtension('Threading');
- self::registerExtension('ITunes');
- }
-
- public static function lcfirst($str)
- {
- $str[0] = strtolower($str[0]);
- return $str;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Deleted.php b/airtime_mvc/library/Zend/Feed/Writer/Deleted.php
deleted file mode 100644
index 4f17c9d7a..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Deleted.php
+++ /dev/null
@@ -1,202 +0,0 @@
-_data['encoding'] = $encoding;
- }
-
- /**
- * Get the feed character encoding
- *
- * @return string|null
- */
- public function getEncoding()
- {
- if (!array_key_exists('encoding', $this->_data)) {
- return 'UTF-8';
- }
- return $this->_data['encoding'];
- }
-
- /**
- * Unset a specific data point
- *
- * @param string $name
- */
- public function remove($name)
- {
- if (isset($this->_data[$name])) {
- unset($this->_data[$name]);
- }
- }
-
- /**
- * Set the current feed type being exported to "rss" or "atom". This allows
- * other objects to gracefully choose whether to execute or not, depending
- * on their appropriateness for the current type, e.g. renderers.
- *
- * @param string $type
- */
- public function setType($type)
- {
- $this->_type = $type;
- }
-
- /**
- * Retrieve the current or last feed type exported.
- *
- * @return string Value will be "rss" or "atom"
- */
- public function getType()
- {
- return $this->_type;
- }
-
- public function setReference($reference)
- {
- if (empty($reference) || !is_string($reference)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: reference must be a non-empty string');
- }
- $this->_data['reference'] = $reference;
- }
-
- public function getReference()
- {
- if (!array_key_exists('reference', $this->_data)) {
- return null;
- }
- return $this->_data['reference'];
- }
-
- public function setWhen($date = null)
- {
- $zdate = null;
- if (is_null($date)) {
- $zdate = new Zend_Date;
- } elseif (ctype_digit($date) && strlen($date) == 10) {
- $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
- } elseif ($date instanceof Zend_Date) {
- $zdate = $date;
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid Zend_Date object or UNIX Timestamp passed as parameter');
- }
- $this->_data['when'] = $zdate;
- }
-
- public function getWhen()
- {
- if (!array_key_exists('when', $this->_data)) {
- return null;
- }
- return $this->_data['when'];
- }
-
- public function setBy(array $by)
- {
- $author = array();
- if (!array_key_exists('name', $by)
- || empty($by['name'])
- || !is_string($by['name'])
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: author array must include a "name" key with a non-empty string value');
- }
- $author['name'] = $by['name'];
- if (isset($by['email'])) {
- if (empty($by['email']) || !is_string($by['email'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "email" array value must be a non-empty string');
- }
- $author['email'] = $by['email'];
- }
- if (isset($by['uri'])) {
- if (empty($by['uri'])
- || !is_string($by['uri'])
- || !Zend_Uri::check($by['uri'])
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "uri" array value must be a non-empty string and valid URI/IRI');
- }
- $author['uri'] = $by['uri'];
- }
- $this->_data['by'] = $author;
- }
-
- public function getBy()
- {
- if (!array_key_exists('by', $this->_data)) {
- return null;
- }
- return $this->_data['by'];
- }
-
- public function setComment($comment)
- {
- $this->_data['comment'] = $comment;
- }
-
- public function getComment()
- {
- if (!array_key_exists('comment', $this->_data)) {
- return null;
- }
- return $this->_data['comment'];
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Entry.php
deleted file mode 100644
index ff9550b52..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Entry.php
+++ /dev/null
@@ -1,771 +0,0 @@
-_loadExtensions();
- }
-
- /**
- * Set a single author
- *
- * @param int $index
- * @return string|null
- */
- public function addAuthor($name, $email = null, $uri = null)
- {
- $author = array();
- if (is_array($name)) {
- if (!array_key_exists('name', $name)
- || empty($name['name'])
- || !is_string($name['name'])
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: author array must include a "name" key with a non-empty string value');
- }
- $author['name'] = $name['name'];
- if (isset($name['email'])) {
- if (empty($name['email']) || !is_string($name['email'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "email" array value must be a non-empty string');
- }
- $author['email'] = $name['email'];
- }
- if (isset($name['uri'])) {
- if (empty($name['uri'])
- || !is_string($name['uri'])
- || !Zend_Uri::check($name['uri'])
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "uri" array value must be a non-empty string and valid URI/IRI');
- }
- $author['uri'] = $name['uri'];
- }
- /**
- * @deprecated
- * Array notation (above) is preferred and will be the sole supported input from ZF 2.0
- */
- } else {
- if (empty($name['name']) || !is_string($name['name'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "name" must be a non-empty string value');
- }
- $author['name'] = $name;
- if (isset($email)) {
- if (empty($email) || !is_string($email)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "email" value must be a non-empty string');
- }
- $author['email'] = $email;
- }
- if (isset($uri)) {
- if (empty($uri) || !is_string($uri) || !Zend_Uri::check($uri)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "uri" value must be a non-empty string and valid URI/IRI');
- }
- $author['uri'] = $uri;
- }
- }
- $this->_data['authors'][] = $author;
- }
-
- /**
- * Set an array with feed authors
- *
- * @return array
- */
- public function addAuthors(array $authors)
- {
- foreach($authors as $author) {
- $this->addAuthor($author);
- }
- }
-
- /**
- * Set the feed character encoding
- *
- * @return string|null
- */
- public function setEncoding($encoding)
- {
- if (empty($encoding) || !is_string($encoding)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['encoding'] = $encoding;
- }
-
- /**
- * Get the feed character encoding
- *
- * @return string|null
- */
- public function getEncoding()
- {
- if (!array_key_exists('encoding', $this->_data)) {
- return 'UTF-8';
- }
- return $this->_data['encoding'];
- }
-
- /**
- * Set the copyright entry
- *
- * @return string|null
- */
- public function setCopyright($copyright)
- {
- if (empty($copyright) || !is_string($copyright)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['copyright'] = $copyright;
- }
-
- /**
- * Set the entry's content
- *
- * @return string|null
- */
- public function setContent($content)
- {
- if (empty($content) || !is_string($content)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['content'] = $content;
- }
-
- /**
- * Set the feed creation date
- *
- * @return string|null
- */
- public function setDateCreated($date = null)
- {
- $zdate = null;
- if (is_null($date)) {
- $zdate = new Zend_Date;
- } elseif (ctype_digit($date) && strlen($date) == 10) {
- $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
- } elseif ($date instanceof Zend_Date) {
- $zdate = $date;
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid Zend_Date object or UNIX Timestamp passed as parameter');
- }
- $this->_data['dateCreated'] = $zdate;
- }
-
- /**
- * Set the feed modification date
- *
- * @return string|null
- */
- public function setDateModified($date = null)
- {
- $zdate = null;
- if (is_null($date)) {
- $zdate = new Zend_Date;
- } elseif (ctype_digit($date) && strlen($date) == 10) {
- $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
- } elseif ($date instanceof Zend_Date) {
- $zdate = $date;
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid Zend_Date object or UNIX Timestamp passed as parameter');
- }
- $this->_data['dateModified'] = $zdate;
- }
-
- /**
- * Set the feed description
- *
- * @return string|null
- */
- public function setDescription($description)
- {
- if (empty($description) || !is_string($description)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['description'] = $description;
- }
-
- /**
- * Set the feed ID
- *
- * @return string|null
- */
- public function setId($id)
- {
- if (empty($id) || !is_string($id)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['id'] = $id;
- }
-
- /**
- * Set a link to the HTML source of this entry
- *
- * @return string|null
- */
- public function setLink($link)
- {
- if (empty($link) || !is_string($link) || !Zend_Uri::check($link)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string and valid URI/IRI');
- }
- $this->_data['link'] = $link;
- }
-
- /**
- * Set the number of comments associated with this entry
- *
- * @return string|null
- */
- public function setCommentCount($count)
- {
- if (empty($count) || !is_numeric($count) || (int) $count < 0) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "count" must be a non-empty integer number');
- }
- $this->_data['commentCount'] = (int) $count;
- }
-
- /**
- * Set a link to a HTML page containing comments associated with this entry
- *
- * @return string|null
- */
- public function setCommentLink($link)
- {
- if (empty($link) || !is_string($link) || !Zend_Uri::check($link)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "link" must be a non-empty string and valid URI/IRI');
- }
- $this->_data['commentLink'] = $link;
- }
-
- /**
- * Set a link to an XML feed for any comments associated with this entry
- *
- * @return string|null
- */
- public function setCommentFeedLink(array $link)
- {
- if (!isset($link['uri']) || !is_string($link['uri']) || !Zend_Uri::check($link['uri'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "link" must be a non-empty string and valid URI/IRI');
- }
- if (!isset($link['type']) || !in_array($link['type'], array('atom', 'rss', 'rdf'))) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "type" must be one'
- . ' of "atom", "rss" or "rdf"');
- }
- if (!isset($this->_data['commentFeedLinks'])) {
- $this->_data['commentFeedLinks'] = array();
- }
- $this->_data['commentFeedLinks'][] = $link;
- }
-
- /**
- * Set a links to an XML feed for any comments associated with this entry.
- * Each link is an array with keys "uri" and "type", where type is one of:
- * "atom", "rss" or "rdf".
- *
- * @return string|null
- */
- public function setCommentFeedLinks(array $links)
- {
- foreach ($links as $link) {
- $this->setCommentFeedLink($link);
- }
- }
-
- /**
- * Set the feed title
- *
- * @return string|null
- */
- public function setTitle($title)
- {
- if (empty($title) || !is_string($title)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['title'] = $title;
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (!array_key_exists('authors', $this->_data)) {
- return null;
- }
- return $this->_data['authors'];
- }
-
- /**
- * Get the entry content
- *
- * @return string
- */
- public function getContent()
- {
- if (!array_key_exists('content', $this->_data)) {
- return null;
- }
- return $this->_data['content'];
- }
-
- /**
- * Get the entry copyright information
- *
- * @return string
- */
- public function getCopyright()
- {
- if (!array_key_exists('copyright', $this->_data)) {
- return null;
- }
- return $this->_data['copyright'];
- }
-
- /**
- * Get the entry creation date
- *
- * @return string
- */
- public function getDateCreated()
- {
- if (!array_key_exists('dateCreated', $this->_data)) {
- return null;
- }
- return $this->_data['dateCreated'];
- }
-
- /**
- * Get the entry modification date
- *
- * @return string
- */
- public function getDateModified()
- {
- if (!array_key_exists('dateModified', $this->_data)) {
- return null;
- }
- return $this->_data['dateModified'];
- }
-
- /**
- * Get the entry description
- *
- * @return string
- */
- public function getDescription()
- {
- if (!array_key_exists('description', $this->_data)) {
- return null;
- }
- return $this->_data['description'];
- }
-
- /**
- * Get the entry ID
- *
- * @return string
- */
- public function getId()
- {
- if (!array_key_exists('id', $this->_data)) {
- return null;
- }
- return $this->_data['id'];
- }
-
- /**
- * Get a link to the HTML source
- *
- * @return string|null
- */
- public function getLink()
- {
- if (!array_key_exists('link', $this->_data)) {
- return null;
- }
- return $this->_data['link'];
- }
-
-
- /**
- * Get all links
- *
- * @return array
- */
- public function getLinks()
- {
- if (!array_key_exists('links', $this->_data)) {
- return null;
- }
- return $this->_data['links'];
- }
-
- /**
- * Get the entry title
- *
- * @return string
- */
- public function getTitle()
- {
- if (!array_key_exists('title', $this->_data)) {
- return null;
- }
- return $this->_data['title'];
- }
-
- /**
- * Get the number of comments/replies for current entry
- *
- * @return integer
- */
- public function getCommentCount()
- {
- if (!array_key_exists('commentCount', $this->_data)) {
- return null;
- }
- return $this->_data['commentCount'];
- }
-
- /**
- * Returns a URI pointing to the HTML page where comments can be made on this entry
- *
- * @return string
- */
- public function getCommentLink()
- {
- if (!array_key_exists('commentLink', $this->_data)) {
- return null;
- }
- return $this->_data['commentLink'];
- }
-
- /**
- * Returns an array of URIs pointing to a feed of all comments for this entry
- * where the array keys indicate the feed type (atom, rss or rdf).
- *
- * @return string
- */
- public function getCommentFeedLinks()
- {
- if (!array_key_exists('commentFeedLinks', $this->_data)) {
- return null;
- }
- return $this->_data['commentFeedLinks'];
- }
-
- /**
- * Add a entry category
- *
- * @param string $category
- */
- public function addCategory(array $category)
- {
- if (!isset($category['term'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Each category must be an array and '
- . 'contain at least a "term" element containing the machine '
- . ' readable category name');
- }
- if (isset($category['scheme'])) {
- if (empty($category['scheme'])
- || !is_string($category['scheme'])
- || !Zend_Uri::check($category['scheme'])
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('The Atom scheme or RSS domain of'
- . ' a category must be a valid URI');
- }
- }
- if (!isset($this->_data['categories'])) {
- $this->_data['categories'] = array();
- }
- $this->_data['categories'][] = $category;
- }
-
- /**
- * Set an array of entry categories
- *
- * @param array $categories
- */
- public function addCategories(array $categories)
- {
- foreach ($categories as $category) {
- $this->addCategory($category);
- }
- }
-
- /**
- * Get the entry categories
- *
- * @return string|null
- */
- public function getCategories()
- {
- if (!array_key_exists('categories', $this->_data)) {
- return null;
- }
- return $this->_data['categories'];
- }
-
- /**
- * Adds an enclosure to the entry.
- *
- * @param array $enclosures
- */
- public function setEnclosure(array $enclosure)
- {
- if (!isset($enclosure['type'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Enclosure "type" is not set');
- }
- if (!isset($enclosure['length'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Enclosure "length" is not set');
- }
- if (!isset($enclosure['uri'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Enclosure "uri" is not set');
- }
- if (!Zend_Uri::check($enclosure['uri'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Enclosure "uri" is not a valid URI/IRI');
- }
- if ((int) $enclosure['length'] <= 0) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Enclosure "length" must be an integer'
- . ' indicating the content\'s length in bytes');
- }
- $this->_data['enclosure'] = $enclosure;
- }
-
- /**
- * Retrieve an array of all enclosures to be added to entry.
- *
- * @return array
- */
- public function getEnclosure()
- {
- if (!array_key_exists('enclosure', $this->_data)) {
- return null;
- }
- return $this->_data['enclosure'];
- }
-
- /**
- * Unset a specific data point
- *
- * @param string $name
- */
- public function remove($name)
- {
- if (isset($this->_data[$name])) {
- unset($this->_data[$name]);
- }
- }
-
- /**
- * Get registered extensions
- *
- * @return array
- */
- public function getExtensions()
- {
- return $this->_extensions;
- }
-
- /**
- * Return an Extension object with the matching name (postfixed with _Entry)
- *
- * @param string $name
- * @return object
- */
- public function getExtension($name)
- {
- if (array_key_exists($name . '_Entry', $this->_extensions)) {
- return $this->_extensions[$name . '_Entry'];
- }
- return null;
- }
-
- /**
- * Set the current feed type being exported to "rss" or "atom". This allows
- * other objects to gracefully choose whether to execute or not, depending
- * on their appropriateness for the current type, e.g. renderers.
- *
- * @param string $type
- */
- public function setType($type)
- {
- $this->_type = $type;
- }
-
- /**
- * Retrieve the current or last feed type exported.
- *
- * @return string Value will be "rss" or "atom"
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Method overloading: call given method on first extension implementing it
- *
- * @param string $method
- * @param array $args
- * @return mixed
- * @throws Zend_Feed_Exception if no extensions implements the method
- */
- public function __call($method, $args)
- {
- foreach ($this->_extensions as $extension) {
- try {
- return call_user_func_array(array($extension, $method), $args);
- } catch (Zend_Feed_Writer_Exception_InvalidMethodException $e) {
- }
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Method: ' . $method
- . ' does not exist and could not be located on a registered Extension');
- }
-
- /**
- * Creates a new Zend_Feed_Writer_Source data container for use. This is NOT
- * added to the current feed automatically, but is necessary to create a
- * container with some initial values preset based on the current feed data.
- *
- * @return Zend_Feed_Writer_Source
- */
- public function createSource()
- {
- $source = new Zend_Feed_Writer_Source;
- if ($this->getEncoding()) {
- $source->setEncoding($this->getEncoding());
- }
- $source->setType($this->getType());
- return $source;
- }
-
- /**
- * Appends a Zend_Feed_Writer_Entry object representing a new entry/item
- * the feed data container's internal group of entries.
- *
- * @param Zend_Feed_Writer_Source $source
- */
- public function setSource(Zend_Feed_Writer_Source $source)
- {
- $this->_data['source'] = $source;
- }
-
- /**
- * @return Zend_Feed_Writer_Source
- */
- public function getSource()
- {
- if (isset($this->_data['source'])) {
- return $this->_data['source'];
- }
- return null;
- }
-
- /**
- * Load extensions from Zend_Feed_Writer
- *
- * @return void
- */
- protected function _loadExtensions()
- {
- $all = Zend_Feed_Writer::getExtensions();
- $exts = $all['entry'];
- foreach ($exts as $ext) {
- $className = Zend_Feed_Writer::getPluginLoader()->getClassName($ext);
- $this->_extensions[$ext] = new $className();
- $this->_extensions[$ext]->setEncoding($this->getEncoding());
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Exception/InvalidMethodException.php b/airtime_mvc/library/Zend/Feed/Writer/Exception/InvalidMethodException.php
deleted file mode 100644
index f6c4f9331..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Exception/InvalidMethodException.php
+++ /dev/null
@@ -1,41 +0,0 @@
-getType()) == 'atom') {
- return;
- }
- $this->_setFeedLinks($this->_dom, $this->_base);
- $this->_setHubs($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append namespaces to root element of feed
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:atom',
- 'http://www.w3.org/2005/Atom');
- }
-
- /**
- * Set feed link elements
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setFeedLinks(DOMDocument $dom, DOMElement $root)
- {
- $flinks = $this->getDataContainer()->getFeedLinks();
- if(!$flinks || empty($flinks)) {
- return;
- }
- foreach ($flinks as $type => $href) {
- $mime = 'application/' . strtolower($type) . '+xml';
- $flink = $dom->createElement('atom:link');
- $root->appendChild($flink);
- $flink->setAttribute('rel', 'self');
- $flink->setAttribute('type', $mime);
- $flink->setAttribute('href', $href);
- }
- $this->_called = true;
- }
-
- /**
- * Set PuSH hubs
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setHubs(DOMDocument $dom, DOMElement $root)
- {
- $hubs = $this->getDataContainer()->getHubs();
- if (!$hubs || empty($hubs)) {
- return;
- }
- foreach ($hubs as $hubUrl) {
- $hub = $dom->createElement('atom:link');
- $hub->setAttribute('rel', 'hub');
- $hub->setAttribute('href', $hubUrl);
- $root->appendChild($hub);
- }
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/Content/Renderer/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/Content/Renderer/Entry.php
deleted file mode 100644
index 7960f4cdf..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/Content/Renderer/Entry.php
+++ /dev/null
@@ -1,92 +0,0 @@
-getType()) == 'atom') {
- return;
- }
- $this->_setContent($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append namespaces to root element
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:content',
- 'http://purl.org/rss/1.0/modules/content/');
- }
-
- /**
- * Set entry content
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setContent(DOMDocument $dom, DOMElement $root)
- {
- $content = $this->getDataContainer()->getContent();
- if (!$content) {
- return;
- }
- $element = $dom->createElement('content:encoded');
- $root->appendChild($element);
- $cdata = $dom->createCDATASection($content);
- $element->appendChild($cdata);
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/DublinCore/Renderer/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/DublinCore/Renderer/Entry.php
deleted file mode 100644
index 6a7227781..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/DublinCore/Renderer/Entry.php
+++ /dev/null
@@ -1,96 +0,0 @@
-getType()) == 'atom') {
- return;
- }
- $this->_setAuthors($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append namespaces to entry
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:dc',
- 'http://purl.org/dc/elements/1.1/');
- }
-
- /**
- * Set entry author elements
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->getDataContainer()->getAuthors();
- if (!$authors || empty($authors)) {
- return;
- }
- foreach ($authors as $data) {
- $author = $this->_dom->createElement('dc:creator');
- if (array_key_exists('name', $data)) {
- $text = $dom->createTextNode($data['name']);
- $author->appendChild($text);
- $root->appendChild($author);
- }
- }
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/DublinCore/Renderer/Feed.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/DublinCore/Renderer/Feed.php
deleted file mode 100644
index bfa4de49a..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/DublinCore/Renderer/Feed.php
+++ /dev/null
@@ -1,96 +0,0 @@
-getType()) == 'atom') {
- return;
- }
- $this->_setAuthors($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append namespaces to feed element
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:dc',
- 'http://purl.org/dc/elements/1.1/');
- }
-
- /**
- * Set feed authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->getDataContainer()->getAuthors();
- if (!$authors || empty($authors)) {
- return;
- }
- foreach ($authors as $data) {
- $author = $this->_dom->createElement('dc:creator');
- if (array_key_exists('name', $data)) {
- $text = $dom->createTextNode($data['name']);
- $author->appendChild($text);
- $root->appendChild($author);
- }
- }
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Entry.php
deleted file mode 100644
index 49eecb713..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Entry.php
+++ /dev/null
@@ -1,242 +0,0 @@
-_encoding = $enc;
- return $this;
- }
-
- /**
- * Get feed encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set a block value of "yes" or "no". You may also set an empty string.
- *
- * @param string
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function setItunesBlock($value)
- {
- if (!ctype_alpha($value) && strlen($value) > 0) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "block" may only'
- . ' contain alphabetic characters');
- }
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "block" may only'
- . ' contain a maximum of 255 characters');
- }
- $this->_data['block'] = $value;
- }
-
- /**
- * Add authors to itunes entry
- *
- * @param array $values
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function addItunesAuthors(array $values)
- {
- foreach ($values as $value) {
- $this->addItunesAuthor($value);
- }
- return $this;
- }
-
- /**
- * Add author to itunes entry
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function addItunesAuthor($value)
- {
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "author" may only'
- . ' contain a maximum of 255 characters each');
- }
- if (!isset($this->_data['authors'])) {
- $this->_data['authors'] = array();
- }
- $this->_data['authors'][] = $value;
- return $this;
- }
-
- /**
- * Set duration
- *
- * @param int $value
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function setItunesDuration($value)
- {
- $value = (string) $value;
- if (!ctype_digit($value)
- && !preg_match("/^\d+:[0-5]{1}[0-9]{1}$/", $value)
- && !preg_match("/^\d+:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/", $value)
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "duration" may only'
- . ' be of a specified [[HH:]MM:]SS format');
- }
- $this->_data['duration'] = $value;
- return $this;
- }
-
- /**
- * Set "explicit" flag
- *
- * @param bool $value
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function setItunesExplicit($value)
- {
- if (!in_array($value, array('yes','no','clean'))) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "explicit" may only'
- . ' be one of "yes", "no" or "clean"');
- }
- $this->_data['explicit'] = $value;
- return $this;
- }
-
- /**
- * Set keywords
- *
- * @param array $value
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function setItunesKeywords(array $value)
- {
- if (count($value) > 12) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "keywords" may only'
- . ' contain a maximum of 12 terms');
- }
- $concat = implode(',', $value);
- if (iconv_strlen($concat, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "keywords" may only'
- . ' have a concatenated length of 255 chars where terms are delimited'
- . ' by a comma');
- }
- $this->_data['keywords'] = $value;
- return $this;
- }
-
- /**
- * Set subtitle
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function setItunesSubtitle($value)
- {
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "subtitle" may only'
- . ' contain a maximum of 255 characters');
- }
- $this->_data['subtitle'] = $value;
- return $this;
- }
-
- /**
- * Set summary
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Entry
- */
- public function setItunesSummary($value)
- {
- if (iconv_strlen($value, $this->getEncoding()) > 4000) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "summary" may only'
- . ' contain a maximum of 4000 characters');
- }
- $this->_data['summary'] = $value;
- return $this;
- }
-
- /**
- * Overloading to itunes specific setters
- *
- * @param string $method
- * @param array $params
- * @return mixed
- */
- public function __call($method, array $params)
- {
- $point = Zend_Feed_Writer::lcfirst(substr($method, 9));
- if (!method_exists($this, 'setItunes' . ucfirst($point))
- && !method_exists($this, 'addItunes' . ucfirst($point))
- ) {
- require_once 'Zend/Feed/Writer/Exception/InvalidMethodException.php';
- throw new Zend_Feed_Writer_Exception_InvalidMethodException(
- 'invalid method: ' . $method
- );
- }
- if (!array_key_exists($point, $this->_data)
- || empty($this->_data[$point])
- ) {
- return null;
- }
- return $this->_data[$point];
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Feed.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Feed.php
deleted file mode 100644
index 565fdc5c7..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Feed.php
+++ /dev/null
@@ -1,361 +0,0 @@
-_encoding = $enc;
- return $this;
- }
-
- /**
- * Get feed encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set a block value of "yes" or "no". You may also set an empty string.
- *
- * @param string
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesBlock($value)
- {
- if (!ctype_alpha($value) && strlen($value) > 0) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "block" may only'
- . ' contain alphabetic characters');
- }
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "block" may only'
- . ' contain a maximum of 255 characters');
- }
- $this->_data['block'] = $value;
- return $this;
- }
-
- /**
- * Add feed authors
- *
- * @param array $values
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function addItunesAuthors(array $values)
- {
- foreach ($values as $value) {
- $this->addItunesAuthor($value);
- }
- return $this;
- }
-
- /**
- * Add feed author
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function addItunesAuthor($value)
- {
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "author" may only'
- . ' contain a maximum of 255 characters each');
- }
- if (!isset($this->_data['authors'])) {
- $this->_data['authors'] = array();
- }
- $this->_data['authors'][] = $value;
- return $this;
- }
-
- /**
- * Set feed categories
- *
- * @param array $values
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesCategories(array $values)
- {
- if (!isset($this->_data['categories'])) {
- $this->_data['categories'] = array();
- }
- foreach ($values as $key=>$value) {
- if (!is_array($value)) {
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "category" may only'
- . ' contain a maximum of 255 characters each');
- }
- $this->_data['categories'][] = $value;
- } else {
- if (iconv_strlen($key, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "category" may only'
- . ' contain a maximum of 255 characters each');
- }
- $this->_data['categories'][$key] = array();
- foreach ($value as $val) {
- if (iconv_strlen($val, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "category" may only'
- . ' contain a maximum of 255 characters each');
- }
- $this->_data['categories'][$key][] = $val;
- }
- }
- }
- return $this;
- }
-
- /**
- * Set feed image (icon)
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesImage($value)
- {
- if (!Zend_Uri::check($value)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "image" may only'
- . ' be a valid URI/IRI');
- }
- if (!in_array(substr($value, -3), array('jpg','png'))) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "image" may only'
- . ' use file extension "jpg" or "png" which must be the last three'
- . ' characters of the URI (i.e. no query string or fragment)');
- }
- $this->_data['image'] = $value;
- return $this;
- }
-
- /**
- * Set feed cumulative duration
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesDuration($value)
- {
- $value = (string) $value;
- if (!ctype_digit($value)
- && !preg_match("/^\d+:[0-5]{1}[0-9]{1}$/", $value)
- && !preg_match("/^\d+:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/", $value)
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "duration" may only'
- . ' be of a specified [[HH:]MM:]SS format');
- }
- $this->_data['duration'] = $value;
- return $this;
- }
-
- /**
- * Set "explicit" flag
- *
- * @param bool $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesExplicit($value)
- {
- if (!in_array($value, array('yes','no','clean'))) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "explicit" may only'
- . ' be one of "yes", "no" or "clean"');
- }
- $this->_data['explicit'] = $value;
- return $this;
- }
-
- /**
- * Set feed keywords
- *
- * @param array $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesKeywords(array $value)
- {
- if (count($value) > 12) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "keywords" may only'
- . ' contain a maximum of 12 terms');
- }
- $concat = implode(',', $value);
- if (iconv_strlen($concat, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "keywords" may only'
- . ' have a concatenated length of 255 chars where terms are delimited'
- . ' by a comma');
- }
- $this->_data['keywords'] = $value;
- return $this;
- }
-
- /**
- * Set new feed URL
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesNewFeedUrl($value)
- {
- if (!Zend_Uri::check($value)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "newFeedUrl" may only'
- . ' be a valid URI/IRI');
- }
- $this->_data['newFeedUrl'] = $value;
- return $this;
- }
-
- /**
- * Add feed owners
- *
- * @param array $values
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function addItunesOwners(array $values)
- {
- foreach ($values as $value) {
- $this->addItunesOwner($value);
- }
- return $this;
- }
-
- /**
- * Add feed owner
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function addItunesOwner(array $value)
- {
- if (!isset($value['name']) || !isset($value['email'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "owner" must'
- . ' be an array containing keys "name" and "email"');
- }
- if (iconv_strlen($value['name'], $this->getEncoding()) > 255
- || iconv_strlen($value['email'], $this->getEncoding()) > 255
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: any "owner" may only'
- . ' contain a maximum of 255 characters each for "name" and "email"');
- }
- if (!isset($this->_data['owners'])) {
- $this->_data['owners'] = array();
- }
- $this->_data['owners'][] = $value;
- return $this;
- }
-
- /**
- * Set feed subtitle
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesSubtitle($value)
- {
- if (iconv_strlen($value, $this->getEncoding()) > 255) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "subtitle" may only'
- . ' contain a maximum of 255 characters');
- }
- $this->_data['subtitle'] = $value;
- return $this;
- }
-
- /**
- * Set feed summary
- *
- * @param string $value
- * @return Zend_Feed_Writer_Extension_ITunes_Feed
- */
- public function setItunesSummary($value)
- {
- if (iconv_strlen($value, $this->getEncoding()) > 4000) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('invalid parameter: "summary" may only'
- . ' contain a maximum of 4000 characters');
- }
- $this->_data['summary'] = $value;
- return $this;
- }
-
- /**
- * Overloading: proxy to internal setters
- *
- * @param string $method
- * @param array $params
- * @return mixed
- */
- public function __call($method, array $params)
- {
- $point = Zend_Feed_Writer::lcfirst(substr($method, 9));
- if (!method_exists($this, 'setItunes' . ucfirst($point))
- && !method_exists($this, 'addItunes' . ucfirst($point))
- ) {
- require_once 'Zend/Feed/Writer/Exception/InvalidMethodException.php';
- throw new Zend_Feed_Writer_Exception_InvalidMethodException(
- 'invalid method: ' . $method
- );
- }
- if (!array_key_exists($point, $this->_data) || empty($this->_data[$point])) {
- return null;
- }
- return $this->_data[$point];
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Renderer/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Renderer/Entry.php
deleted file mode 100644
index fc6b98d3a..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Renderer/Entry.php
+++ /dev/null
@@ -1,216 +0,0 @@
-_setAuthors($this->_dom, $this->_base);
- $this->_setBlock($this->_dom, $this->_base);
- $this->_setDuration($this->_dom, $this->_base);
- $this->_setExplicit($this->_dom, $this->_base);
- $this->_setKeywords($this->_dom, $this->_base);
- $this->_setSubtitle($this->_dom, $this->_base);
- $this->_setSummary($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append namespaces to entry root
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:itunes',
- 'http://www.itunes.com/dtds/podcast-1.0.dtd');
- }
-
- /**
- * Set entry authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->getDataContainer()->getItunesAuthors();
- if (!$authors || empty($authors)) {
- return;
- }
- foreach ($authors as $author) {
- $el = $dom->createElement('itunes:author');
- $text = $dom->createTextNode($author);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
- }
-
- /**
- * Set itunes block
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setBlock(DOMDocument $dom, DOMElement $root)
- {
- $block = $this->getDataContainer()->getItunesBlock();
- if (is_null($block)) {
- return;
- }
- $el = $dom->createElement('itunes:block');
- $text = $dom->createTextNode($block);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set entry duration
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDuration(DOMDocument $dom, DOMElement $root)
- {
- $duration = $this->getDataContainer()->getItunesDuration();
- if (!$duration) {
- return;
- }
- $el = $dom->createElement('itunes:duration');
- $text = $dom->createTextNode($duration);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set explicit flag
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setExplicit(DOMDocument $dom, DOMElement $root)
- {
- $explicit = $this->getDataContainer()->getItunesExplicit();
- if (is_null($explicit)) {
- return;
- }
- $el = $dom->createElement('itunes:explicit');
- $text = $dom->createTextNode($explicit);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set entry keywords
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setKeywords(DOMDocument $dom, DOMElement $root)
- {
- $keywords = $this->getDataContainer()->getItunesKeywords();
- if (!$keywords || empty($keywords)) {
- return;
- }
- $el = $dom->createElement('itunes:keywords');
- $text = $dom->createTextNode(implode(',', $keywords));
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set entry subtitle
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setSubtitle(DOMDocument $dom, DOMElement $root)
- {
- $subtitle = $this->getDataContainer()->getItunesSubtitle();
- if (!$subtitle) {
- return;
- }
- $el = $dom->createElement('itunes:subtitle');
- $text = $dom->createTextNode($subtitle);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set entry summary
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setSummary(DOMDocument $dom, DOMElement $root)
- {
- $summary = $this->getDataContainer()->getItunesSummary();
- if (!$summary) {
- return;
- }
- $el = $dom->createElement('itunes:summary');
- $text = $dom->createTextNode($summary);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Renderer/Feed.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Renderer/Feed.php
deleted file mode 100644
index 1fafdaa13..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/ITunes/Renderer/Feed.php
+++ /dev/null
@@ -1,320 +0,0 @@
-_setAuthors($this->_dom, $this->_base);
- $this->_setBlock($this->_dom, $this->_base);
- $this->_setCategories($this->_dom, $this->_base);
- $this->_setImage($this->_dom, $this->_base);
- $this->_setDuration($this->_dom, $this->_base);
- $this->_setExplicit($this->_dom, $this->_base);
- $this->_setKeywords($this->_dom, $this->_base);
- $this->_setNewFeedUrl($this->_dom, $this->_base);
- $this->_setOwners($this->_dom, $this->_base);
- $this->_setSubtitle($this->_dom, $this->_base);
- $this->_setSummary($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append feed namespaces
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:itunes',
- 'http://www.itunes.com/dtds/podcast-1.0.dtd');
- }
-
- /**
- * Set feed authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->getDataContainer()->getItunesAuthors();
- if (!$authors || empty($authors)) {
- return;
- }
- foreach ($authors as $author) {
- $el = $dom->createElement('itunes:author');
- $text = $dom->createTextNode($author);
- $el->appendChild($text);
- $root->appendChild($el);
- }
- $this->_called = true;
- }
-
- /**
- * Set feed itunes block
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setBlock(DOMDocument $dom, DOMElement $root)
- {
- $block = $this->getDataContainer()->getItunesBlock();
- if (is_null($block)) {
- return;
- }
- $el = $dom->createElement('itunes:block');
- $text = $dom->createTextNode($block);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set feed categories
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCategories(DOMDocument $dom, DOMElement $root)
- {
- $cats = $this->getDataContainer()->getItunesCategories();
- if (!$cats || empty($cats)) {
- return;
- }
- foreach ($cats as $key=>$cat) {
- if (!is_array($cat)) {
- $el = $dom->createElement('itunes:category');
- $el->setAttribute('text', $cat);
- $root->appendChild($el);
- } else {
- $el = $dom->createElement('itunes:category');
- $el->setAttribute('text', $key);
- $root->appendChild($el);
- foreach ($cat as $subcat) {
- $el2 = $dom->createElement('itunes:category');
- $el2->setAttribute('text', $subcat);
- $el->appendChild($el2);
- }
- }
- }
- $this->_called = true;
- }
-
- /**
- * Set feed image (icon)
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setImage(DOMDocument $dom, DOMElement $root)
- {
- $image = $this->getDataContainer()->getItunesImage();
- if (!$image) {
- return;
- }
- $el = $dom->createElement('itunes:image');
- $el->setAttribute('href', $image);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set feed cumulative duration
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDuration(DOMDocument $dom, DOMElement $root)
- {
- $duration = $this->getDataContainer()->getItunesDuration();
- if (!$duration) {
- return;
- }
- $el = $dom->createElement('itunes:duration');
- $text = $dom->createTextNode($duration);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set explicit flag
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setExplicit(DOMDocument $dom, DOMElement $root)
- {
- $explicit = $this->getDataContainer()->getItunesExplicit();
- if (is_null($explicit)) {
- return;
- }
- $el = $dom->createElement('itunes:explicit');
- $text = $dom->createTextNode($explicit);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set feed keywords
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setKeywords(DOMDocument $dom, DOMElement $root)
- {
- $keywords = $this->getDataContainer()->getItunesKeywords();
- if (!$keywords || empty($keywords)) {
- return;
- }
- $el = $dom->createElement('itunes:keywords');
- $text = $dom->createTextNode(implode(',', $keywords));
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set feed's new URL
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setNewFeedUrl(DOMDocument $dom, DOMElement $root)
- {
- $url = $this->getDataContainer()->getItunesNewFeedUrl();
- if (!$url) {
- return;
- }
- $el = $dom->createElement('itunes:new-feed-url');
- $text = $dom->createTextNode($url);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set feed owners
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setOwners(DOMDocument $dom, DOMElement $root)
- {
- $owners = $this->getDataContainer()->getItunesOwners();
- if (!$owners || empty($owners)) {
- return;
- }
- foreach ($owners as $owner) {
- $el = $dom->createElement('itunes:owner');
- $name = $dom->createElement('itunes:name');
- $text = $dom->createTextNode($owner['name']);
- $name->appendChild($text);
- $email = $dom->createElement('itunes:email');
- $text = $dom->createTextNode($owner['email']);
- $email->appendChild($text);
- $root->appendChild($el);
- $el->appendChild($name);
- $el->appendChild($email);
- }
- $this->_called = true;
- }
-
- /**
- * Set feed subtitle
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setSubtitle(DOMDocument $dom, DOMElement $root)
- {
- $subtitle = $this->getDataContainer()->getItunesSubtitle();
- if (!$subtitle) {
- return;
- }
- $el = $dom->createElement('itunes:subtitle');
- $text = $dom->createTextNode($subtitle);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-
- /**
- * Set feed summary
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setSummary(DOMDocument $dom, DOMElement $root)
- {
- $summary = $this->getDataContainer()->getItunesSummary();
- if (!$summary) {
- return;
- }
- $el = $dom->createElement('itunes:summary');
- $text = $dom->createTextNode($summary);
- $el->appendChild($text);
- $root->appendChild($el);
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/RendererAbstract.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/RendererAbstract.php
deleted file mode 100644
index 9a0f93dfe..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/RendererAbstract.php
+++ /dev/null
@@ -1,179 +0,0 @@
-_container = $container;
- }
-
- /**
- * Set feed encoding
- *
- * @param string $enc
- * @return Zend_Feed_Writer_Extension_RendererAbstract
- */
- public function setEncoding($enc)
- {
- $this->_encoding = $enc;
- return $this;
- }
-
- /**
- * Get feed encoding
- *
- * @return void
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set DOMDocument and DOMElement on which to operate
- *
- * @param DOMDocument $dom
- * @param DOMElement $base
- * @return Zend_Feed_Writer_Extension_RendererAbstract
- */
- public function setDomDocument(DOMDocument $dom, DOMElement $base)
- {
- $this->_dom = $dom;
- $this->_base = $base;
- return $this;
- }
-
- /**
- * Get data container being rendered
- *
- * @return mixed
- */
- public function getDataContainer()
- {
- return $this->_container;
- }
-
- /**
- * Set feed type
- *
- * @param string $type
- * @return Zend_Feed_Writer_Extension_RendererAbstract
- */
- public function setType($type)
- {
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Get feedtype
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set root element of document
- *
- * @param DOMElement $root
- * @return Zend_Feed_Writer_Extension_RendererAbstract
- */
- public function setRootElement(DOMElement $root)
- {
- $this->_rootElement = $root;
- return $this;
- }
-
- /**
- * Get root element
- *
- * @return DOMElement
- */
- public function getRootElement()
- {
- return $this->_rootElement;
- }
-
- /**
- * Append namespaces to feed
- *
- * @return void
- */
- abstract protected function _appendNamespaces();
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/RendererInterface.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/RendererInterface.php
deleted file mode 100644
index e9c901417..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/RendererInterface.php
+++ /dev/null
@@ -1,59 +0,0 @@
-getType()) == 'atom') {
- return; // RSS 2.0 only
- }
- $this->_setCommentCount($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append entry namespaces
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:slash',
- 'http://purl.org/rss/1.0/modules/slash/');
- }
-
- /**
- * Set entry comment count
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCommentCount(DOMDocument $dom, DOMElement $root)
- {
- $count = $this->getDataContainer()->getCommentCount();
- if (!$count) {
- $count = 0;
- }
- $tcount = $this->_dom->createElement('slash:comments');
- $tcount->nodeValue = $count;
- $root->appendChild($tcount);
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php
deleted file mode 100644
index 1900ec459..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php
+++ /dev/null
@@ -1,145 +0,0 @@
-getType()) == 'rss') {
- return; // Atom 1.0 only
- }
- $this->_setCommentLink($this->_dom, $this->_base);
- $this->_setCommentFeedLinks($this->_dom, $this->_base);
- $this->_setCommentCount($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append entry namespaces
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:thr',
- 'http://purl.org/syndication/thread/1.0');
- }
-
- /**
- * Set comment link
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCommentLink(DOMDocument $dom, DOMElement $root)
- {
- $link = $this->getDataContainer()->getCommentLink();
- if (!$link) {
- return;
- }
- $clink = $this->_dom->createElement('link');
- $clink->setAttribute('rel', 'replies');
- $clink->setAttribute('type', 'text/html');
- $clink->setAttribute('href', $link);
- $count = $this->getDataContainer()->getCommentCount();
- if (!is_null($count)) {
- $clink->setAttribute('thr:count', $count);
- }
- $root->appendChild($clink);
- $this->_called = true;
- }
-
- /**
- * Set comment feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCommentFeedLinks(DOMDocument $dom, DOMElement $root)
- {
- $links = $this->getDataContainer()->getCommentFeedLinks();
- if (!$links || empty($links)) {
- return;
- }
- foreach ($links as $link) {
- $flink = $this->_dom->createElement('link');
- $flink->setAttribute('rel', 'replies');
- $flink->setAttribute('type', 'application/'. $link['type'] .'+xml');
- $flink->setAttribute('href', $link['uri']);
- $count = $this->getDataContainer()->getCommentCount();
- if (!is_null($count)) {
- $flink->setAttribute('thr:count', $count);
- }
- $root->appendChild($flink);
- $this->_called = true;
- }
- }
-
- /**
- * Set entry comment count
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCommentCount(DOMDocument $dom, DOMElement $root)
- {
- $count = $this->getDataContainer()->getCommentCount();
- if (is_null($count)) {
- return;
- }
- $tcount = $this->_dom->createElement('thr:total');
- $tcount->nodeValue = $count;
- $root->appendChild($tcount);
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Extension/WellFormedWeb/Renderer/Entry.php b/airtime_mvc/library/Zend/Feed/Writer/Extension/WellFormedWeb/Renderer/Entry.php
deleted file mode 100644
index d6a17454d..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Extension/WellFormedWeb/Renderer/Entry.php
+++ /dev/null
@@ -1,96 +0,0 @@
-getType()) == 'atom') {
- return; // RSS 2.0 only
- }
- $this->_setCommentFeedLinks($this->_dom, $this->_base);
- if ($this->_called) {
- $this->_appendNamespaces();
- }
- }
-
- /**
- * Append entry namespaces
- *
- * @return void
- */
- protected function _appendNamespaces()
- {
- $this->getRootElement()->setAttribute('xmlns:wfw',
- 'http://wellformedweb.org/CommentAPI/');
- }
-
- /**
- * Set entry comment feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCommentFeedLinks(DOMDocument $dom, DOMElement $root)
- {
- $links = $this->getDataContainer()->getCommentFeedLinks();
- if (!$links || empty($links)) {
- return;
- }
- foreach ($links as $link) {
- if ($link['type'] == 'rss') {
- $flink = $this->_dom->createElement('wfw:commentRss');
- $text = $dom->createTextNode($link['uri']);
- $flink->appendChild($text);
- $root->appendChild($flink);
- }
- }
- $this->_called = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Feed.php b/airtime_mvc/library/Zend/Feed/Writer/Feed.php
deleted file mode 100644
index dd69dde83..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Feed.php
+++ /dev/null
@@ -1,281 +0,0 @@
-getEncoding()) {
- $entry->setEncoding($this->getEncoding());
- }
- $entry->setType($this->getType());
- return $entry;
- }
-
- /**
- * Appends a Zend_Feed_Writer_Deleted object representing a new entry tombstone
- * to the feed data container's internal group of entries.
- *
- * @param Zend_Feed_Writer_Deleted $entry
- */
- public function addTombstone(Zend_Feed_Writer_Deleted $deleted)
- {
- $this->_entries[] = $deleted;
- }
-
- /**
- * Creates a new Zend_Feed_Writer_Deleted data container for use. This is NOT
- * added to the current feed automatically, but is necessary to create a
- * container with some initial values preset based on the current feed data.
- *
- * @return Zend_Feed_Writer_Deleted
- */
- public function createTombstone()
- {
- $deleted = new Zend_Feed_Writer_Deleted;
- if ($this->getEncoding()) {
- $deleted->setEncoding($this->getEncoding());
- }
- $deleted->setType($this->getType());
- return $deleted;
- }
-
- /**
- * Appends a Zend_Feed_Writer_Entry object representing a new entry/item
- * the feed data container's internal group of entries.
- *
- * @param Zend_Feed_Writer_Entry $entry
- */
- public function addEntry(Zend_Feed_Writer_Entry $entry)
- {
- $this->_entries[] = $entry;
- }
-
- /**
- * Removes a specific indexed entry from the internal queue. Entries must be
- * added to a feed container in order to be indexed.
- *
- * @param int $index
- */
- public function removeEntry($index)
- {
- if (isset($this->_entries[$index])) {
- unset($this->_entries[$index]);
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Undefined index: ' . $index . '. Entry does not exist.');
- }
-
- /**
- * Retrieve a specific indexed entry from the internal queue. Entries must be
- * added to a feed container in order to be indexed.
- *
- * @param int $index
- */
- public function getEntry($index = 0)
- {
- if (isset($this->_entries[$index])) {
- return $this->_entries[$index];
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Undefined index: ' . $index . '. Entry does not exist.');
- }
-
- /**
- * Orders all indexed entries by date, thus offering date ordered readable
- * content where a parser (or Homo Sapien) ignores the generic rule that
- * XML element order is irrelevant and has no intrinsic meaning.
- *
- * Using this method will alter the original indexation.
- *
- * @return void
- */
- public function orderByDate()
- {
- /**
- * Could do with some improvement for performance perhaps
- */
- $timestamp = time();
- $entries = array();
- foreach ($this->_entries as $entry) {
- if ($entry->getDateModified()) {
- $timestamp = (int) $entry->getDateModified()->get(Zend_Date::TIMESTAMP);
- } elseif ($entry->getDateCreated()) {
- $timestamp = (int) $entry->getDateCreated()->get(Zend_Date::TIMESTAMP);
- }
- $entries[$timestamp] = $entry;
- }
- krsort($entries, SORT_NUMERIC);
- $this->_entries = array_values($entries);
- }
-
- /**
- * Get the number of feed entries.
- * Required by the Iterator interface.
- *
- * @return int
- */
- public function count()
- {
- return count($this->_entries);
- }
-
- /**
- * Return the current entry
- *
- * @return Zend_Feed_Reader_Entry_Interface
- */
- public function current()
- {
- return $this->_entries[$this->key()];
- }
-
- /**
- * Return the current feed key
- *
- * @return unknown
- */
- public function key()
- {
- return $this->_entriesKey;
- }
-
- /**
- * Move the feed pointer forward
- *
- * @return void
- */
- public function next()
- {
- ++$this->_entriesKey;
- }
-
- /**
- * Reset the pointer in the feed object
- *
- * @return void
- */
- public function rewind()
- {
- $this->_entriesKey = 0;
- }
-
- /**
- * Check to see if the iterator is still valid
- *
- * @return boolean
- */
- public function valid()
- {
- return 0 <= $this->_entriesKey && $this->_entriesKey < $this->count();
- }
-
- /**
- * Attempt to build and return the feed resulting from the data set
- *
- * @param $type The feed type "rss" or "atom" to export as
- * @return string
- */
- public function export($type, $ignoreExceptions = false)
- {
- $this->setType(strtolower($type));
- $type = ucfirst($this->getType());
- if ($type !== 'Rss' && $type !== 'Atom') {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid feed type specified: ' . $type . '.'
- . ' Should be one of "rss" or "atom".');
- }
- $renderClass = 'Zend_Feed_Writer_Renderer_Feed_' . $type;
- $renderer = new $renderClass($this);
- if ($ignoreExceptions) {
- $renderer->ignoreExceptions();
- }
- return $renderer->render()->saveXml();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Feed/FeedAbstract.php b/airtime_mvc/library/Zend/Feed/Writer/Feed/FeedAbstract.php
deleted file mode 100644
index 24fbe7302..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Feed/FeedAbstract.php
+++ /dev/null
@@ -1,716 +0,0 @@
-_loadExtensions();
- }
-
- /**
- * Set a single author
- *
- * @param int $index
- * @return string|null
- */
- public function addAuthor($name, $email = null, $uri = null)
- {
- $author = array();
- if (is_array($name)) {
- if (!array_key_exists('name', $name) || empty($name['name']) || !is_string($name['name'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: author array must include a "name" key with a non-empty string value');
- }
- $author['name'] = $name['name'];
- if (isset($name['email'])) {
- if (empty($name['email']) || !is_string($name['email'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "email" array value must be a non-empty string');
- }
- $author['email'] = $name['email'];
- }
- if (isset($name['uri'])) {
- if (empty($name['uri']) || !is_string($name['uri']) || !Zend_Uri::check($name['uri'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "uri" array value must be a non-empty string and valid URI/IRI');
- }
- $author['uri'] = $name['uri'];
- }
- } else {
- if (empty($name['name']) || !is_string($name['name'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "name" must be a non-empty string value');
- }
- $author['name'] = $name;
- if (isset($email)) {
- if (empty($email) || !is_string($email)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "email" value must be a non-empty string');
- }
- $author['email'] = $email;
- }
- if (isset($uri)) {
- if (empty($uri) || !is_string($uri) || !Zend_Uri::check($uri)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "uri" value must be a non-empty string and valid URI/IRI');
- }
- $author['uri'] = $uri;
- }
- }
- $this->_data['authors'][] = $author;
- }
-
- /**
- * Set an array with feed authors
- *
- * @return array
- */
- public function addAuthors(array $authors)
- {
- foreach($authors as $author) {
- $this->addAuthor($author);
- }
- }
-
- /**
- * Set the copyright entry
- *
- * @return string|null
- */
- public function setCopyright($copyright)
- {
- if (empty($copyright) || !is_string($copyright)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['copyright'] = $copyright;
- }
-
- /**
- * Set the feed creation date
- *
- * @param null|integer|Zend_Date
- */
- public function setDateCreated($date = null)
- {
- $zdate = null;
- if (is_null($date)) {
- $zdate = new Zend_Date;
- } elseif (ctype_digit($date) && strlen($date) == 10) {
- $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
- } elseif ($date instanceof Zend_Date) {
- $zdate = $date;
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid Zend_Date object or UNIX Timestamp passed as parameter');
- }
- $this->_data['dateCreated'] = $zdate;
- }
-
- /**
- * Set the feed modification date
- *
- * @param null|integer|Zend_Date
- */
- public function setDateModified($date = null)
- {
- $zdate = null;
- if (is_null($date)) {
- $zdate = new Zend_Date;
- } elseif (ctype_digit($date) && strlen($date) == 10) {
- $zdate = new Zend_Date($date, Zend_Date::TIMESTAMP);
- } elseif ($date instanceof Zend_Date) {
- $zdate = $date;
- } else {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid Zend_Date object or UNIX Timestamp passed as parameter');
- }
- $this->_data['dateModified'] = $zdate;
- }
-
- /**
- * Set the feed description
- *
- * @return string|null
- */
- public function setDescription($description)
- {
- if (empty($description) || !is_string($description)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['description'] = $description;
- }
-
- /**
- * Set the feed generator entry
- *
- * @return string|null
- */
- public function setGenerator($name, $version = null, $uri = null)
- {
- if (empty($name) || !is_string($name)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "name" must be a non-empty string');
- }
- $generator = array('name' => $name);
- if (isset($version)) {
- if (empty($version) || !is_string($version)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "version" must be a non-empty string');
- }
- $generator['version'] = $version;
- }
- if (isset($uri)) {
- if (empty($uri) || !is_string($uri) || !Zend_Uri::check($uri)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "uri" must be a non-empty string and a valid URI/IRI');
- }
- $generator['uri'] = $uri;
- }
- $this->_data['generator'] = $generator;
- }
-
- /**
- * Set the feed ID - URI or URN (via PCRE pattern) supported
- *
- * @return string|null
- */
- public function setId($id)
- {
- if ((empty($id) || !is_string($id) || !Zend_Uri::check($id)) &&
- !preg_match("#^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{1,31}:([a-zA-Z0-9\(\)\+\,\.\:\=\@\;\$\_\!\*\-]|%[0-9a-fA-F]{2})*#", $id)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string and valid URI/IRI');
- }
- $this->_data['id'] = $id;
- }
-
- /**
- * Set the feed language
- *
- * @return string|null
- */
- public function setLanguage($language)
- {
- if (empty($language) || !is_string($language)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['language'] = $language;
- }
-
- /**
- * Set a link to the HTML source
- *
- * @return string|null
- */
- public function setLink($link)
- {
- if (empty($link) || !is_string($link) || !Zend_Uri::check($link)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string and valid URI/IRI');
- }
- $this->_data['link'] = $link;
- }
-
- /**
- * Set a link to an XML feed for any feed type/version
- *
- * @return string|null
- */
- public function setFeedLink($link, $type)
- {
- if (empty($link) || !is_string($link) || !Zend_Uri::check($link)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "link"" must be a non-empty string and valid URI/IRI');
- }
- if (!in_array(strtolower($type), array('rss', 'rdf', 'atom'))) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "type"; You must declare the type of feed the link points to, i.e. RSS, RDF or Atom');
- }
- $this->_data['feedLinks'][strtolower($type)] = $link;
- }
-
- /**
- * Set the feed title
- *
- * @return string|null
- */
- public function setTitle($title)
- {
- if (empty($title) || !is_string($title)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['title'] = $title;
- }
-
- /**
- * Set the feed character encoding
- *
- * @param string $encoding
- */
- public function setEncoding($encoding)
- {
- if (empty($encoding) || !is_string($encoding)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: parameter must be a non-empty string');
- }
- $this->_data['encoding'] = $encoding;
- }
-
- /**
- * Set the feed's base URL
- *
- * @param string $url
- */
- public function setBaseUrl($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "url" array value'
- . ' must be a non-empty string and valid URI/IRI');
- }
- $this->_data['baseUrl'] = $url;
- }
-
- /**
- * Add a Pubsubhubbub hub endpoint URL
- *
- * @param string $url
- */
- public function addHub($url)
- {
- if (empty($url) || !is_string($url) || !Zend_Uri::check($url)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: "url" array value'
- . ' must be a non-empty string and valid URI/IRI');
- }
- if (!isset($this->_data['hubs'])) {
- $this->_data['hubs'] = array();
- }
- $this->_data['hubs'][] = $url;
- }
-
- /**
- * Add Pubsubhubbub hub endpoint URLs
- *
- * @param array $urls
- */
- public function addHubs(array $urls)
- {
- foreach ($urls as $url) {
- $this->addHub($url);
- }
- }
-
- /**
- * Add a feed category
- *
- * @param string $category
- */
- public function addCategory(array $category)
- {
- if (!isset($category['term'])) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Each category must be an array and '
- . 'contain at least a "term" element containing the machine '
- . ' readable category name');
- }
- if (isset($category['scheme'])) {
- if (empty($category['scheme'])
- || !is_string($category['scheme'])
- || !Zend_Uri::check($category['scheme'])
- ) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('The Atom scheme or RSS domain of'
- . ' a category must be a valid URI');
- }
- }
- if (!isset($this->_data['categories'])) {
- $this->_data['categories'] = array();
- }
- $this->_data['categories'][] = $category;
- }
-
- /**
- * Set an array of feed categories
- *
- * @param array $categories
- */
- public function addCategories(array $categories)
- {
- foreach ($categories as $category) {
- $this->addCategory($category);
- }
- }
-
- /**
- * Get a single author
- *
- * @param int $index
- * @return string|null
- */
- public function getAuthor($index = 0)
- {
- if (isset($this->_data['authors'][$index])) {
- return $this->_data['authors'][$index];
- } else {
- return null;
- }
- }
-
- /**
- * Get an array with feed authors
- *
- * @return array
- */
- public function getAuthors()
- {
- if (!array_key_exists('authors', $this->_data)) {
- return null;
- }
- return $this->_data['authors'];
- }
-
- /**
- * Get the copyright entry
- *
- * @return string|null
- */
- public function getCopyright()
- {
- if (!array_key_exists('copyright', $this->_data)) {
- return null;
- }
- return $this->_data['copyright'];
- }
-
- /**
- * Get the feed creation date
- *
- * @return string|null
- */
- public function getDateCreated()
- {
- if (!array_key_exists('dateCreated', $this->_data)) {
- return null;
- }
- return $this->_data['dateCreated'];
- }
-
- /**
- * Get the feed modification date
- *
- * @return string|null
- */
- public function getDateModified()
- {
- if (!array_key_exists('dateModified', $this->_data)) {
- return null;
- }
- return $this->_data['dateModified'];
- }
-
- /**
- * Get the feed description
- *
- * @return string|null
- */
- public function getDescription()
- {
- if (!array_key_exists('description', $this->_data)) {
- return null;
- }
- return $this->_data['description'];
- }
-
- /**
- * Get the feed generator entry
- *
- * @return string|null
- */
- public function getGenerator()
- {
- if (!array_key_exists('generator', $this->_data)) {
- return null;
- }
- return $this->_data['generator'];
- }
-
- /**
- * Get the feed ID
- *
- * @return string|null
- */
- public function getId()
- {
- if (!array_key_exists('id', $this->_data)) {
- return null;
- }
- return $this->_data['id'];
- }
-
- /**
- * Get the feed language
- *
- * @return string|null
- */
- public function getLanguage()
- {
- if (!array_key_exists('language', $this->_data)) {
- return null;
- }
- return $this->_data['language'];
- }
-
- /**
- * Get a link to the HTML source
- *
- * @return string|null
- */
- public function getLink()
- {
- if (!array_key_exists('link', $this->_data)) {
- return null;
- }
- return $this->_data['link'];
- }
-
- /**
- * Get a link to the XML feed
- *
- * @return string|null
- */
- public function getFeedLinks()
- {
- if (!array_key_exists('feedLinks', $this->_data)) {
- return null;
- }
- return $this->_data['feedLinks'];
- }
-
- /**
- * Get the feed title
- *
- * @return string|null
- */
- public function getTitle()
- {
- if (!array_key_exists('title', $this->_data)) {
- return null;
- }
- return $this->_data['title'];
- }
-
- /**
- * Get the feed character encoding
- *
- * @return string|null
- */
- public function getEncoding()
- {
- if (!array_key_exists('encoding', $this->_data)) {
- return 'UTF-8';
- }
- return $this->_data['encoding'];
- }
-
- /**
- * Get the feed's base url
- *
- * @return string|null
- */
- public function getBaseUrl()
- {
- if (!array_key_exists('baseUrl', $this->_data)) {
- return null;
- }
- return $this->_data['baseUrl'];
- }
-
- /**
- * Get the URLs used as Pubsubhubbub hubs endpoints
- *
- * @return string|null
- */
- public function getHubs()
- {
- if (!array_key_exists('hubs', $this->_data)) {
- return null;
- }
- return $this->_data['hubs'];
- }
-
- /**
- * Get the feed categories
- *
- * @return string|null
- */
- public function getCategories()
- {
- if (!array_key_exists('categories', $this->_data)) {
- return null;
- }
- return $this->_data['categories'];
- }
-
- /**
- * Resets the instance and deletes all data
- *
- * @return void
- */
- public function reset()
- {
- $this->_data = array();
- }
-
- /**
- * Set the current feed type being exported to "rss" or "atom". This allows
- * other objects to gracefully choose whether to execute or not, depending
- * on their appropriateness for the current type, e.g. renderers.
- *
- * @param string $type
- */
- public function setType($type)
- {
- $this->_type = $type;
- }
-
- /**
- * Retrieve the current or last feed type exported.
- *
- * @return string Value will be "rss" or "atom"
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Unset a specific data point
- *
- * @param string $name
- */
- public function remove($name)
- {
- if (isset($this->_data[$name])) {
- unset($this->_data[$name]);
- }
- }
-
- /**
- * Method overloading: call given method on first extension implementing it
- *
- * @param string $method
- * @param array $args
- * @return mixed
- * @throws Zend_Feed_Exception if no extensions implements the method
- */
- public function __call($method, $args)
- {
- foreach ($this->_extensions as $extension) {
- try {
- return call_user_func_array(array($extension, $method), $args);
- } catch (Zend_Feed_Writer_Exception_InvalidMethodException $e) {
- }
- }
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Method: ' . $method
- . ' does not exist and could not be located on a registered Extension');
- }
-
- /**
- * Load extensions from Zend_Feed_Writer
- *
- * @return void
- */
- protected function _loadExtensions()
- {
- $all = Zend_Feed_Writer::getExtensions();
- $exts = $all['feed'];
- foreach ($exts as $ext) {
- $className = Zend_Feed_Writer::getPluginLoader()->getClassName($ext);
- $this->_extensions[$ext] = new $className();
- $this->_extensions[$ext]->setEncoding($this->getEncoding());
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Atom.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Atom.php
deleted file mode 100644
index b029dede4..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Atom.php
+++ /dev/null
@@ -1,405 +0,0 @@
-_dom = new DOMDocument('1.0', $this->_container->getEncoding());
- $this->_dom->formatOutput = true;
- $entry = $this->_dom->createElementNS(Zend_Feed_Writer::NAMESPACE_ATOM_10, 'entry');
- $this->_dom->appendChild($entry);
-
- $this->_setSource($this->_dom, $entry);
- $this->_setTitle($this->_dom, $entry);
- $this->_setDescription($this->_dom, $entry);
- $this->_setDateCreated($this->_dom, $entry);
- $this->_setDateModified($this->_dom, $entry);
- $this->_setLink($this->_dom, $entry);
- $this->_setId($this->_dom, $entry);
- $this->_setAuthors($this->_dom, $entry);
- $this->_setEnclosure($this->_dom, $entry);
- $this->_setContent($this->_dom, $entry);
- $this->_setCategories($this->_dom, $entry);
-
- foreach ($this->_extensions as $ext) {
- $ext->setType($this->getType());
- $ext->setRootElement($this->getRootElement());
- $ext->setDomDocument($this->getDomDocument(), $entry);
- $ext->render();
- }
-
- return $this;
- }
-
- /**
- * Set entry title
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setTitle(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getTitle()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 entry elements MUST contain exactly one'
- . ' atom:title element but a title has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
- $title = $dom->createElement('title');
- $root->appendChild($title);
- $title->setAttribute('type', 'html');
- $cdata = $dom->createCDATASection($this->getDataContainer()->getTitle());
- $title->appendChild($cdata);
- }
-
- /**
- * Set entry description
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDescription(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDescription()) {
- return; // unless src content or base64
- }
- $subtitle = $dom->createElement('summary');
- $root->appendChild($subtitle);
- $subtitle->setAttribute('type', 'html');
- $cdata = $dom->createCDATASection(
- $this->getDataContainer()->getDescription()
- );
- $subtitle->appendChild($cdata);
- }
-
- /**
- * Set date entry was modified
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateModified(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDateModified()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 entry elements MUST contain exactly one'
- . ' atom:updated element but a modification date has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- $updated = $dom->createElement('updated');
- $root->appendChild($updated);
- $text = $dom->createTextNode(
- $this->getDataContainer()->getDateModified()->get(Zend_Date::ISO_8601)
- );
- $updated->appendChild($text);
- }
-
- /**
- * Set date entry was created
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateCreated(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getDateCreated()) {
- return;
- }
- $el = $dom->createElement('published');
- $root->appendChild($el);
- $text = $dom->createTextNode(
- $this->getDataContainer()->getDateCreated()->get(Zend_Date::ISO_8601)
- );
- $el->appendChild($text);
- }
-
- /**
- * Set entry authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->_container->getAuthors();
- if ((!$authors || empty($authors))) {
- /**
- * This will actually trigger an Exception at the feed level if
- * a feed level author is not set.
- */
- return;
- }
- foreach ($authors as $data) {
- $author = $this->_dom->createElement('author');
- $name = $this->_dom->createElement('name');
- $author->appendChild($name);
- $root->appendChild($author);
- $text = $dom->createTextNode($data['name']);
- $name->appendChild($text);
- if (array_key_exists('email', $data)) {
- $email = $this->_dom->createElement('email');
- $author->appendChild($email);
- $text = $dom->createTextNode($data['email']);
- $email->appendChild($text);
- }
- if (array_key_exists('uri', $data)) {
- $uri = $this->_dom->createElement('uri');
- $author->appendChild($uri);
- $text = $dom->createTextNode($data['uri']);
- $uri->appendChild($text);
- }
- }
- }
-
- /**
- * Set entry enclosure
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setEnclosure(DOMDocument $dom, DOMElement $root)
- {
- $data = $this->_container->getEnclosure();
- if ((!$data || empty($data))) {
- return;
- }
- $enclosure = $this->_dom->createElement('link');
- $enclosure->setAttribute('rel', 'enclosure');
- $enclosure->setAttribute('type', $data['type']);
- $enclosure->setAttribute('length', $data['length']);
- $enclosure->setAttribute('href', $data['uri']);
- $root->appendChild($enclosure);
- }
-
- protected function _setLink(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getLink()) {
- return;
- }
- $link = $dom->createElement('link');
- $root->appendChild($link);
- $link->setAttribute('rel', 'alternate');
- $link->setAttribute('type', 'text/html');
- $link->setAttribute('href', $this->getDataContainer()->getLink());
- }
-
- /**
- * Set entry identifier
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setId(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getId()
- && !$this->getDataContainer()->getLink()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 entry elements MUST contain exactly one '
- . 'atom:id element, or as an alternative, we can use the same '
- . 'value as atom:link however neither a suitable link nor an '
- . 'id have been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- if (!$this->getDataContainer()->getId()) {
- $this->getDataContainer()->setId(
- $this->getDataContainer()->getLink());
- }
- if (!Zend_Uri::check($this->getDataContainer()->getId()) &&
- !preg_match("#^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{1,31}:([a-zA-Z0-9\(\)\+\,\.\:\=\@\;\$\_\!\*\-]|%[0-9a-fA-F]{2})*#", $this->getDataContainer()->getId())) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Atom 1.0 IDs must be a valid URI/IRI');
- }
- $id = $dom->createElement('id');
- $root->appendChild($id);
- $text = $dom->createTextNode($this->getDataContainer()->getId());
- $id->appendChild($text);
- }
-
- /**
- * Set entry content
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setContent(DOMDocument $dom, DOMElement $root)
- {
- $content = $this->getDataContainer()->getContent();
- if (!$content && !$this->getDataContainer()->getLink()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 entry elements MUST contain exactly one '
- . 'atom:content element, or as an alternative, at least one link '
- . 'with a rel attribute of "alternate" to indicate an alternate '
- . 'method to consume the content.';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
- if (!$content) {
- return;
- }
- $element = $dom->createElement('content');
- $element->setAttribute('type', 'xhtml');
- $xhtmlElement = $this->_loadXhtml($content);
- $xhtml = $dom->importNode($xhtmlElement, true);
- $element->appendChild($xhtml);
- $root->appendChild($element);
- }
-
- /**
- * Load a HTML string and attempt to normalise to XML
- */
- protected function _loadXhtml($content)
- {
- $xhtml = '';
- if (class_exists('tidy', false)) {
- $tidy = new tidy;
- $config = array(
- 'output-xhtml' => true,
- 'show-body-only' => true
- );
- $encoding = str_replace('-', '', $this->getEncoding());
- $tidy->parseString($content, $config, $encoding);
- $tidy->cleanRepair();
- $xhtml = (string) $tidy;
- } else {
- $xhtml = $content;
- }
- $xhtml = preg_replace(array(
- "/(<[\/]?)([a-zA-Z]+)/"
- ), '$1xhtml:$2', $xhtml);
- $dom = new DOMDocument('1.0', $this->getEncoding());
- $dom->loadXML(''
- . $xhtml . ' ');
- return $dom->documentElement;
- }
-
- /**
- * Set entry cateories
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCategories(DOMDocument $dom, DOMElement $root)
- {
- $categories = $this->getDataContainer()->getCategories();
- if (!$categories) {
- return;
- }
- foreach ($categories as $cat) {
- $category = $dom->createElement('category');
- $category->setAttribute('term', $cat['term']);
- if (isset($cat['label'])) {
- $category->setAttribute('label', $cat['label']);
- } else {
- $category->setAttribute('label', $cat['term']);
- }
- if (isset($cat['scheme'])) {
- $category->setAttribute('scheme', $cat['scheme']);
- }
- $root->appendChild($category);
- }
- }
-
- /**
- * Append Source element (Atom 1.0 Feed Metadata)
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setSource(DOMDocument $dom, DOMElement $root)
- {
- $source = $this->getDataContainer()->getSource();
- if (!$source) {
- return;
- }
- $renderer = new Zend_Feed_Writer_Renderer_Feed_Atom_Source($source);
- $renderer->setType($this->getType());
- $element = $renderer->render()->getElement();
- $imported = $dom->importNode($element, true);
- $root->appendChild($imported);
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php
deleted file mode 100644
index f7baf60c5..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php
+++ /dev/null
@@ -1,121 +0,0 @@
-_dom = new DOMDocument('1.0', $this->_container->getEncoding());
- $this->_dom->formatOutput = true;
- $entry = $this->_dom->createElement('at:deleted-entry');
- $this->_dom->appendChild($entry);
-
- $entry->setAttribute('ref', $this->_container->getReference());
- $entry->setAttribute('when', $this->_container->getWhen()->get(Zend_Date::ISO_8601));
-
- $this->_setBy($this->_dom, $entry);
- $this->_setComment($this->_dom, $entry);
-
- return $this;
- }
-
- /**
- * Set tombstone comment
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setComment(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getComment()) {
- return;
- }
- $c = $dom->createElement('at:comment');
- $root->appendChild($c);
- $c->setAttribute('type', 'html');
- $cdata = $dom->createCDATASection($this->getDataContainer()->getComment());
- $c->appendChild($cdata);
- }
-
- /**
- * Set entry authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setBy(DOMDocument $dom, DOMElement $root)
- {
- $data = $this->_container->getBy();
- if ((!$data || empty($data))) {
- return;
- }
- $author = $this->_dom->createElement('at:by');
- $name = $this->_dom->createElement('name');
- $author->appendChild($name);
- $root->appendChild($author);
- $text = $dom->createTextNode($data['name']);
- $name->appendChild($text);
- if (array_key_exists('email', $data)) {
- $email = $this->_dom->createElement('email');
- $author->appendChild($email);
- $text = $dom->createTextNode($data['email']);
- $email->appendChild($text);
- }
- if (array_key_exists('uri', $data)) {
- $uri = $this->_dom->createElement('uri');
- $author->appendChild($uri);
- $text = $dom->createTextNode($data['uri']);
- $uri->appendChild($text);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Rss.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Rss.php
deleted file mode 100644
index 6f2c349d5..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Entry/Rss.php
+++ /dev/null
@@ -1,315 +0,0 @@
-_dom = new DOMDocument('1.0', $this->_container->getEncoding());
- $this->_dom->formatOutput = true;
- $this->_dom->substituteEntities = false;
- $entry = $this->_dom->createElement('item');
- $this->_dom->appendChild($entry);
-
- $this->_setTitle($this->_dom, $entry);
- $this->_setDescription($this->_dom, $entry);
- $this->_setDateCreated($this->_dom, $entry);
- $this->_setDateModified($this->_dom, $entry);
- $this->_setLink($this->_dom, $entry);
- $this->_setId($this->_dom, $entry);
- $this->_setAuthors($this->_dom, $entry);
- $this->_setEnclosure($this->_dom, $entry);
- $this->_setCommentLink($this->_dom, $entry);
- $this->_setCategories($this->_dom, $entry);
- foreach ($this->_extensions as $ext) {
- $ext->setType($this->getType());
- $ext->setRootElement($this->getRootElement());
- $ext->setDomDocument($this->getDomDocument(), $entry);
- $ext->render();
- }
-
- return $this;
- }
-
- /**
- * Set entry title
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setTitle(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDescription()
- && !$this->getDataContainer()->getTitle()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'RSS 2.0 entry elements SHOULD contain exactly one'
- . ' title element but a title has not been set. In addition, there'
- . ' is no description as required in the absence of a title.';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
- $title = $dom->createElement('title');
- $root->appendChild($title);
- $text = $dom->createTextNode($this->getDataContainer()->getTitle());
- $title->appendChild($text);
- }
-
- /**
- * Set entry description
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDescription(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDescription()
- && !$this->getDataContainer()->getTitle()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'RSS 2.0 entry elements SHOULD contain exactly one'
- . ' description element but a description has not been set. In'
- . ' addition, there is no title element as required in the absence'
- . ' of a description.';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
- if (!$this->getDataContainer()->getDescription()) {
- return;
- }
- $subtitle = $dom->createElement('description');
- $root->appendChild($subtitle);
- $text = $dom->createCDATASection($this->getDataContainer()->getDescription());
- $subtitle->appendChild($text);
- }
-
- /**
- * Set date entry was last modified
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateModified(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDateModified()) {
- return;
- }
-
- $updated = $dom->createElement('pubDate');
- $root->appendChild($updated);
- $text = $dom->createTextNode(
- $this->getDataContainer()->getDateModified()->get(Zend_Date::RSS)
- );
- $updated->appendChild($text);
- }
-
- /**
- * Set date entry was created
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateCreated(DOMDocument $dom, DOMElement $root)
- {
- if (!$this->getDataContainer()->getDateCreated()) {
- return;
- }
- if (!$this->getDataContainer()->getDateModified()) {
- $this->getDataContainer()->setDateModified(
- $this->getDataContainer()->getDateCreated()
- );
- }
- }
-
- /**
- * Set entry authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->_container->getAuthors();
- if ((!$authors || empty($authors))) {
- return;
- }
- foreach ($authors as $data) {
- $author = $this->_dom->createElement('author');
- $name = $data['name'];
- if (array_key_exists('email', $data)) {
- $name = $data['email'] . ' (' . $data['name'] . ')';
- }
- $text = $dom->createTextNode($name);
- $author->appendChild($text);
- $root->appendChild($author);
- }
- }
-
- /**
- * Set entry enclosure
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setEnclosure(DOMDocument $dom, DOMElement $root)
- {
- $data = $this->_container->getEnclosure();
- if ((!$data || empty($data))) {
- return;
- }
- $enclosure = $this->_dom->createElement('enclosure');
- $enclosure->setAttribute('type', $data['type']);
- $enclosure->setAttribute('length', $data['length']);
- $enclosure->setAttribute('url', $data['uri']);
- $root->appendChild($enclosure);
- }
-
- /**
- * Set link to entry
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setLink(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getLink()) {
- return;
- }
- $link = $dom->createElement('link');
- $root->appendChild($link);
- $text = $dom->createTextNode($this->getDataContainer()->getLink());
- $link->appendChild($text);
- }
-
- /**
- * Set entry identifier
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setId(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getId()
- && !$this->getDataContainer()->getLink()) {
- return;
- }
-
- $id = $dom->createElement('guid');
- $root->appendChild($id);
- if (!$this->getDataContainer()->getId()) {
- $this->getDataContainer()->setId(
- $this->getDataContainer()->getLink());
- }
- $text = $dom->createTextNode($this->getDataContainer()->getId());
- $id->appendChild($text);
- if (!Zend_Uri::check($this->getDataContainer()->getId())) {
- $id->setAttribute('isPermaLink', 'false');
- }
- }
-
- /**
- * Set link to entry comments
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCommentLink(DOMDocument $dom, DOMElement $root)
- {
- $link = $this->getDataContainer()->getCommentLink();
- if (!$link) {
- return;
- }
- $clink = $this->_dom->createElement('comments');
- $text = $dom->createTextNode($link);
- $clink->appendChild($text);
- $root->appendChild($clink);
- }
-
- /**
- * Set entry categories
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCategories(DOMDocument $dom, DOMElement $root)
- {
- $categories = $this->getDataContainer()->getCategories();
- if (!$categories) {
- return;
- }
- foreach ($categories as $cat) {
- $category = $dom->createElement('category');
- if (isset($cat['scheme'])) {
- $category->setAttribute('domain', $cat['scheme']);
- }
- $text = $dom->createCDATASection($cat['term']);
- $category->appendChild($text);
- $root->appendChild($category);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom.php
deleted file mode 100644
index ed080c151..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom.php
+++ /dev/null
@@ -1,129 +0,0 @@
-_container->getEncoding()) {
- $this->_container->setEncoding('UTF-8');
- }
- $this->_dom = new DOMDocument('1.0', $this->_container->getEncoding());
- $this->_dom->formatOutput = true;
- $root = $this->_dom->createElementNS(
- Zend_Feed_Writer::NAMESPACE_ATOM_10, 'feed'
- );
- $this->setRootElement($root);
- $this->_dom->appendChild($root);
- $this->_setLanguage($this->_dom, $root);
- $this->_setBaseUrl($this->_dom, $root);
- $this->_setTitle($this->_dom, $root);
- $this->_setDescription($this->_dom, $root);
- $this->_setDateCreated($this->_dom, $root);
- $this->_setDateModified($this->_dom, $root);
- $this->_setGenerator($this->_dom, $root);
- $this->_setLink($this->_dom, $root);
- $this->_setFeedLinks($this->_dom, $root);
- $this->_setId($this->_dom, $root);
- $this->_setAuthors($this->_dom, $root);
- $this->_setCopyright($this->_dom, $root);
- $this->_setCategories($this->_dom, $root);
- $this->_setHubs($this->_dom, $root);
-
- foreach ($this->_extensions as $ext) {
- $ext->setType($this->getType());
- $ext->setRootElement($this->getRootElement());
- $ext->setDomDocument($this->getDomDocument(), $root);
- $ext->render();
- }
-
- foreach ($this->_container as $entry) {
- if ($this->getDataContainer()->getEncoding()) {
- $entry->setEncoding($this->getDataContainer()->getEncoding());
- }
- if ($entry instanceof Zend_Feed_Writer_Entry) {
- $renderer = new Zend_Feed_Writer_Renderer_Entry_Atom($entry);
- } else {
- if (!$this->_dom->documentElement->hasAttribute('xmlns:at')) {
- $this->_dom->documentElement->setAttribute(
- 'xmlns:at', 'http://purl.org/atompub/tombstones/1.0'
- );
- }
- $renderer = new Zend_Feed_Writer_Renderer_Entry_Atom_Deleted($entry);
- }
- if ($this->_ignoreExceptions === true) {
- $renderer->ignoreExceptions();
- }
- $renderer->setType($this->getType());
- $renderer->setRootElement($this->_dom->documentElement);
- $renderer->render();
- $element = $renderer->getElement();
- $imported = $this->_dom->importNode($element, true);
- $root->appendChild($imported);
- }
- return $this;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom/AtomAbstract.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom/AtomAbstract.php
deleted file mode 100644
index 35be0464d..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom/AtomAbstract.php
+++ /dev/null
@@ -1,408 +0,0 @@
-getDataContainer()->getLanguage()) {
- $root->setAttribute('xml:lang', $this->getDataContainer()
- ->getLanguage());
- }
- }
-
- /**
- * Set feed title
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setTitle(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getTitle()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 feed elements MUST contain exactly one'
- . ' atom:title element but a title has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- $title = $dom->createElement('title');
- $root->appendChild($title);
- $title->setAttribute('type', 'text');
- $text = $dom->createTextNode($this->getDataContainer()->getTitle());
- $title->appendChild($text);
- }
-
- /**
- * Set feed description
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDescription(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDescription()) {
- return;
- }
- $subtitle = $dom->createElement('subtitle');
- $root->appendChild($subtitle);
- $subtitle->setAttribute('type', 'text');
- $text = $dom->createTextNode($this->getDataContainer()->getDescription());
- $subtitle->appendChild($text);
- }
-
- /**
- * Set date feed was last modified
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateModified(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDateModified()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 feed elements MUST contain exactly one'
- . ' atom:updated element but a modification date has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- $updated = $dom->createElement('updated');
- $root->appendChild($updated);
- $text = $dom->createTextNode(
- $this->getDataContainer()->getDateModified()->get(Zend_Date::ISO_8601)
- );
- $updated->appendChild($text);
- }
-
- /**
- * Set feed generator string
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setGenerator(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getGenerator()) {
- $this->getDataContainer()->setGenerator('Zend_Feed_Writer',
- Zend_Version::VERSION, 'http://framework.zend.com');
- }
-
- $gdata = $this->getDataContainer()->getGenerator();
- $generator = $dom->createElement('generator');
- $root->appendChild($generator);
- $text = $dom->createTextNode($gdata['name']);
- $generator->appendChild($text);
- if (array_key_exists('uri', $gdata)) {
- $generator->setAttribute('uri', $gdata['uri']);
- }
- if (array_key_exists('version', $gdata)) {
- $generator->setAttribute('version', $gdata['version']);
- }
- }
-
- /**
- * Set link to feed
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setLink(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getLink()) {
- return;
- }
- $link = $dom->createElement('link');
- $root->appendChild($link);
- $link->setAttribute('rel', 'alternate');
- $link->setAttribute('type', 'text/html');
- $link->setAttribute('href', $this->getDataContainer()->getLink());
- }
-
- /**
- * Set feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setFeedLinks(DOMDocument $dom, DOMElement $root)
- {
- $flinks = $this->getDataContainer()->getFeedLinks();
- if(!$flinks || !array_key_exists('atom', $flinks)) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 feed elements SHOULD contain one atom:link '
- . 'element with a rel attribute value of "self". This is the '
- . 'preferred URI for retrieving Atom Feed Documents representing '
- . 'this Atom feed but a feed link has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- foreach ($flinks as $type => $href) {
- $mime = 'application/' . strtolower($type) . '+xml';
- $flink = $dom->createElement('link');
- $root->appendChild($flink);
- $flink->setAttribute('rel', 'self');
- $flink->setAttribute('type', $mime);
- $flink->setAttribute('href', $href);
- }
- }
-
- /**
- * Set feed authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->_container->getAuthors();
- if (!$authors || empty($authors)) {
- /**
- * Technically we should defer an exception until we can check
- * that all entries contain an author. If any entry is missing
- * an author, then a missing feed author element is invalid
- */
- return;
- }
- foreach ($authors as $data) {
- $author = $this->_dom->createElement('author');
- $name = $this->_dom->createElement('name');
- $author->appendChild($name);
- $root->appendChild($author);
- $text = $dom->createTextNode($data['name']);
- $name->appendChild($text);
- if (array_key_exists('email', $data)) {
- $email = $this->_dom->createElement('email');
- $author->appendChild($email);
- $text = $dom->createTextNode($data['email']);
- $email->appendChild($text);
- }
- if (array_key_exists('uri', $data)) {
- $uri = $this->_dom->createElement('uri');
- $author->appendChild($uri);
- $text = $dom->createTextNode($data['uri']);
- $uri->appendChild($text);
- }
- }
- }
-
- /**
- * Set feed identifier
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setId(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getId()
- && !$this->getDataContainer()->getLink()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'Atom 1.0 feed elements MUST contain exactly one '
- . 'atom:id element, or as an alternative, we can use the same '
- . 'value as atom:link however neither a suitable link nor an '
- . 'id have been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- if (!$this->getDataContainer()->getId()) {
- $this->getDataContainer()->setId(
- $this->getDataContainer()->getLink());
- }
- $id = $dom->createElement('id');
- $root->appendChild($id);
- $text = $dom->createTextNode($this->getDataContainer()->getId());
- $id->appendChild($text);
- }
-
- /**
- * Set feed copyright
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCopyright(DOMDocument $dom, DOMElement $root)
- {
- $copyright = $this->getDataContainer()->getCopyright();
- if (!$copyright) {
- return;
- }
- $copy = $dom->createElement('rights');
- $root->appendChild($copy);
- $text = $dom->createTextNode($copyright);
- $copy->appendChild($text);
- }
-
- /**
- * Set date feed was created
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateCreated(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDateCreated()) {
- return;
- }
- if(!$this->getDataContainer()->getDateModified()) {
- $this->getDataContainer()->setDateModified(
- $this->getDataContainer()->getDateCreated()
- );
- }
- }
-
- /**
- * Set base URL to feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setBaseUrl(DOMDocument $dom, DOMElement $root)
- {
- $baseUrl = $this->getDataContainer()->getBaseUrl();
- if (!$baseUrl) {
- return;
- }
- $root->setAttribute('xml:base', $baseUrl);
- }
-
- /**
- * Set hubs to which this feed pushes
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setHubs(DOMDocument $dom, DOMElement $root)
- {
- $hubs = $this->getDataContainer()->getHubs();
- if (!$hubs) {
- return;
- }
- foreach ($hubs as $hubUrl) {
- $hub = $dom->createElement('link');
- $hub->setAttribute('rel', 'hub');
- $hub->setAttribute('href', $hubUrl);
- $root->appendChild($hub);
- }
- }
-
- /**
- * Set feed cateories
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCategories(DOMDocument $dom, DOMElement $root)
- {
- $categories = $this->getDataContainer()->getCategories();
- if (!$categories) {
- return;
- }
- foreach ($categories as $cat) {
- $category = $dom->createElement('category');
- $category->setAttribute('term', $cat['term']);
- if (isset($cat['label'])) {
- $category->setAttribute('label', $cat['label']);
- } else {
- $category->setAttribute('label', $cat['term']);
- }
- if (isset($cat['scheme'])) {
- $category->setAttribute('scheme', $cat['scheme']);
- }
- $root->appendChild($category);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php
deleted file mode 100644
index 2fda14a06..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php
+++ /dev/null
@@ -1,110 +0,0 @@
-_container->getEncoding()) {
- $this->_container->setEncoding('UTF-8');
- }
- $this->_dom = new DOMDocument('1.0', $this->_container->getEncoding());
- $this->_dom->formatOutput = true;
- $root = $this->_dom->createElement('source');
- $this->setRootElement($root);
- $this->_dom->appendChild($root);
- $this->_setLanguage($this->_dom, $root);
- $this->_setBaseUrl($this->_dom, $root);
- $this->_setTitle($this->_dom, $root);
- $this->_setDescription($this->_dom, $root);
- $this->_setDateCreated($this->_dom, $root);
- $this->_setDateModified($this->_dom, $root);
- $this->_setGenerator($this->_dom, $root);
- $this->_setLink($this->_dom, $root);
- $this->_setFeedLinks($this->_dom, $root);
- $this->_setId($this->_dom, $root);
- $this->_setAuthors($this->_dom, $root);
- $this->_setCopyright($this->_dom, $root);
- $this->_setCategories($this->_dom, $root);
-
- foreach ($this->_extensions as $ext) {
- $ext->setType($this->getType());
- $ext->setRootElement($this->getRootElement());
- $ext->setDomDocument($this->getDomDocument(), $root);
- $ext->render();
- }
- return $this;
- }
-
- /**
- * Set feed generator string
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setGenerator(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getGenerator()) {
- return;
- }
-
- $gdata = $this->getDataContainer()->getGenerator();
- $generator = $dom->createElement('generator');
- $root->appendChild($generator);
- $text = $dom->createTextNode($gdata['name']);
- $generator->appendChild($text);
- if (array_key_exists('uri', $gdata)) {
- $generator->setAttribute('uri', $gdata['uri']);
- }
- if (array_key_exists('version', $gdata)) {
- $generator->setAttribute('version', $gdata['version']);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Rss.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
deleted file mode 100644
index 2d8ab5c8a..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
+++ /dev/null
@@ -1,374 +0,0 @@
-_container->getEncoding()) {
- $this->_container->setEncoding('UTF-8');
- }
- $this->_dom = new DOMDocument('1.0', $this->_container->getEncoding());
- $this->_dom->formatOutput = true;
- $this->_dom->substituteEntities = false;
- $rss = $this->_dom->createElement('rss');
- $this->setRootElement($rss);
- $rss->setAttribute('version', '2.0');
-
- $channel = $this->_dom->createElement('channel');
- $rss->appendChild($channel);
- $this->_dom->appendChild($rss);
- $this->_setLanguage($this->_dom, $channel);
- $this->_setBaseUrl($this->_dom, $channel);
- $this->_setTitle($this->_dom, $channel);
- $this->_setDescription($this->_dom, $channel);
- $this->_setDateCreated($this->_dom, $channel);
- $this->_setDateModified($this->_dom, $channel);
- $this->_setGenerator($this->_dom, $channel);
- $this->_setLink($this->_dom, $channel);
- $this->_setAuthors($this->_dom, $channel);
- $this->_setCopyright($this->_dom, $channel);
- $this->_setCategories($this->_dom, $channel);
-
- foreach ($this->_extensions as $ext) {
- $ext->setType($this->getType());
- $ext->setRootElement($this->getRootElement());
- $ext->setDomDocument($this->getDomDocument(), $channel);
- $ext->render();
- }
-
- foreach ($this->_container as $entry) {
- if ($this->getDataContainer()->getEncoding()) {
- $entry->setEncoding($this->getDataContainer()->getEncoding());
- }
- if ($entry instanceof Zend_Feed_Writer_Entry) {
- $renderer = new Zend_Feed_Writer_Renderer_Entry_Rss($entry);
- } else {
- continue;
- }
- if ($this->_ignoreExceptions === true) {
- $renderer->ignoreExceptions();
- }
- $renderer->setType($this->getType());
- $renderer->setRootElement($this->_dom->documentElement);
- $renderer->render();
- $element = $renderer->getElement();
- $imported = $this->_dom->importNode($element, true);
- $channel->appendChild($imported);
- }
- return $this;
- }
-
- /**
- * Set feed language
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setLanguage(DOMDocument $dom, DOMElement $root)
- {
- $lang = $this->getDataContainer()->getLanguage();
- if (!$lang) {
- return;
- }
- $language = $dom->createElement('language');
- $root->appendChild($language);
- $language->nodeValue = $lang;
- }
-
- /**
- * Set feed title
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setTitle(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getTitle()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'RSS 2.0 feed elements MUST contain exactly one'
- . ' title element but a title has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
-
- $title = $dom->createElement('title');
- $root->appendChild($title);
- $text = $dom->createTextNode($this->getDataContainer()->getTitle());
- $title->appendChild($text);
- }
-
- /**
- * Set feed description
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDescription(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDescription()) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'RSS 2.0 feed elements MUST contain exactly one'
- . ' description element but one has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
- $subtitle = $dom->createElement('description');
- $root->appendChild($subtitle);
- $text = $dom->createTextNode($this->getDataContainer()->getDescription());
- $subtitle->appendChild($text);
- }
-
- /**
- * Set date feed was last modified
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateModified(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDateModified()) {
- return;
- }
-
- $updated = $dom->createElement('pubDate');
- $root->appendChild($updated);
- $text = $dom->createTextNode(
- $this->getDataContainer()->getDateModified()->get(Zend_Date::RSS)
- );
- $updated->appendChild($text);
- }
-
- /**
- * Set feed generator string
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setGenerator(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getGenerator()) {
- $this->getDataContainer()->setGenerator('Zend_Feed_Writer',
- Zend_Version::VERSION, 'http://framework.zend.com');
- }
-
- $gdata = $this->getDataContainer()->getGenerator();
- $generator = $dom->createElement('generator');
- $root->appendChild($generator);
- $name = $gdata['name'];
- if (array_key_exists('version', $gdata)) {
- $name .= ' ' . $gdata['version'];
- }
- if (array_key_exists('uri', $gdata)) {
- $name .= ' (' . $gdata['uri'] . ')';
- }
- $text = $dom->createTextNode($name);
- $generator->appendChild($text);
- }
-
- /**
- * Set link to feed
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setLink(DOMDocument $dom, DOMElement $root)
- {
- $value = $this->getDataContainer()->getLink();
- if(!$value) {
- require_once 'Zend/Feed/Exception.php';
- $message = 'RSS 2.0 feed elements MUST contain exactly one'
- . ' link element but one has not been set';
- $exception = new Zend_Feed_Exception($message);
- if (!$this->_ignoreExceptions) {
- throw $exception;
- } else {
- $this->_exceptions[] = $exception;
- return;
- }
- }
- $link = $dom->createElement('link');
- $root->appendChild($link);
- $text = $dom->createTextNode($value);
- $link->appendChild($text);
- if (!Zend_Uri::check($value)) {
- $link->setAttribute('isPermaLink', 'false');
- }
- }
-
- /**
- * Set feed authors
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setAuthors(DOMDocument $dom, DOMElement $root)
- {
- $authors = $this->getDataContainer()->getAuthors();
- if (!$authors || empty($authors)) {
- return;
- }
- foreach ($authors as $data) {
- $author = $this->_dom->createElement('author');
- $name = $data['name'];
- if (array_key_exists('email', $data)) {
- $name = $data['email'] . ' (' . $data['name'] . ')';
- }
- $text = $dom->createTextNode($name);
- $author->appendChild($text);
- $root->appendChild($author);
- }
- }
-
- /**
- * Set feed copyright
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCopyright(DOMDocument $dom, DOMElement $root)
- {
- $copyright = $this->getDataContainer()->getCopyright();
- if (!$copyright) {
- return;
- }
- $copy = $dom->createElement('copyright');
- $root->appendChild($copy);
- $text = $dom->createTextNode($copyright);
- $copy->appendChild($text);
- }
-
- /**
- * Set date feed was created
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setDateCreated(DOMDocument $dom, DOMElement $root)
- {
- if(!$this->getDataContainer()->getDateCreated()) {
- return;
- }
- if(!$this->getDataContainer()->getDateModified()) {
- $this->getDataContainer()->setDateModified(
- $this->getDataContainer()->getDateCreated()
- );
- }
- }
-
- /**
- * Set base URL to feed links
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setBaseUrl(DOMDocument $dom, DOMElement $root)
- {
- $baseUrl = $this->getDataContainer()->getBaseUrl();
- if (!$baseUrl) {
- return;
- }
- $root->setAttribute('xml:base', $baseUrl);
- }
-
- /**
- * Set feed categories
- *
- * @param DOMDocument $dom
- * @param DOMElement $root
- * @return void
- */
- protected function _setCategories(DOMDocument $dom, DOMElement $root)
- {
- $categories = $this->getDataContainer()->getCategories();
- if (!$categories) {
- return;
- }
- foreach ($categories as $cat) {
- $category = $dom->createElement('category');
- if (isset($cat['scheme'])) {
- $category->setAttribute('domain', $cat['scheme']);
- }
- $text = $dom->createTextNode($cat['term']);
- $category->appendChild($text);
- $root->appendChild($category);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/RendererAbstract.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/RendererAbstract.php
deleted file mode 100644
index 0778e435c..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/RendererAbstract.php
+++ /dev/null
@@ -1,250 +0,0 @@
-_container = $container;
- $this->setType($container->getType());
- $this->_loadExtensions();
- }
-
- /**
- * Save XML to string
- *
- * @return string
- */
- public function saveXml()
- {
- return $this->getDomDocument()->saveXml();
- }
-
- /**
- * Get DOM document
- *
- * @return DOMDocument
- */
- public function getDomDocument()
- {
- return $this->_dom;
- }
-
- /**
- * Get document element from DOM
- *
- * @return DOMElement
- */
- public function getElement()
- {
- return $this->getDomDocument()->documentElement;
- }
-
- /**
- * Get data container of items being rendered
- *
- * @return mixed
- */
- public function getDataContainer()
- {
- return $this->_container;
- }
-
- /**
- * Set feed encoding
- *
- * @param string $enc
- * @return Zend_Feed_Writer_Renderer_RendererAbstract
- */
- public function setEncoding($enc)
- {
- $this->_encoding = $enc;
- return $this;
- }
-
- /**
- * Get feed encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Indicate whether or not to ignore exceptions
- *
- * @param bool $bool
- * @return Zend_Feed_Writer_Renderer_RendererAbstract
- */
- public function ignoreExceptions($bool = true)
- {
- if (!is_bool($bool)) {
- require_once 'Zend/Feed/Exception.php';
- throw new Zend_Feed_Exception('Invalid parameter: $bool. Should be TRUE or FALSE (defaults to TRUE if null)');
- }
- $this->_ignoreExceptions = $bool;
- return $this;
- }
-
- /**
- * Get exception list
- *
- * @return array
- */
- public function getExceptions()
- {
- return $this->_exceptions;
- }
-
- /**
- * Set the current feed type being exported to "rss" or "atom". This allows
- * other objects to gracefully choose whether to execute or not, depending
- * on their appropriateness for the current type, e.g. renderers.
- *
- * @param string $type
- */
- public function setType($type)
- {
- $this->_type = $type;
- }
-
- /**
- * Retrieve the current or last feed type exported.
- *
- * @return string Value will be "rss" or "atom"
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Sets the absolute root element for the XML feed being generated. This
- * helps simplify the appending of namespace declarations, but also ensures
- * namespaces are added to the root element - not scattered across the entire
- * XML file - may assist namespace unsafe parsers and looks pretty ;).
- *
- * @param DOMElement $root
- */
- public function setRootElement(DOMElement $root)
- {
- $this->_rootElement = $root;
- }
-
- /**
- * Retrieve the absolute root element for the XML feed being generated.
- *
- * @return DOMElement
- */
- public function getRootElement()
- {
- return $this->_rootElement;
- }
-
- /**
- * Load extensions from Zend_Feed_Writer
- *
- * @return void
- */
- protected function _loadExtensions()
- {
- Zend_Feed_Writer::registerCoreExtensions();
- $all = Zend_Feed_Writer::getExtensions();
- if (stripos(get_class($this), 'entry')) {
- $exts = $all['entryRenderer'];
- } else {
- $exts = $all['feedRenderer'];
- }
- foreach ($exts as $extension) {
- $className = Zend_Feed_Writer::getPluginLoader()->getClassName($extension);
- $this->_extensions[$extension] = new $className(
- $this->getDataContainer()
- );
- $this->_extensions[$extension]->setEncoding($this->getEncoding());
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Feed/Writer/Renderer/RendererInterface.php b/airtime_mvc/library/Zend/Feed/Writer/Renderer/RendererInterface.php
deleted file mode 100644
index 89b429441..000000000
--- a/airtime_mvc/library/Zend/Feed/Writer/Renderer/RendererInterface.php
+++ /dev/null
@@ -1,111 +0,0 @@
-setAdapter($adapter, $direction, $options);
- }
-
- /**
- * Sets a new adapter
- *
- * @param string $adapter Adapter to use
- * @param boolean $direction OPTIONAL False means Download, true means upload
- * @param array $options OPTIONAL Options to set for this adapter
- * @throws Zend_File_Transfer_Exception
- */
- public function setAdapter($adapter, $direction = false, $options = array())
- {
- if (Zend_Loader::isReadable('Zend/File/Transfer/Adapter/' . ucfirst($adapter). '.php')) {
- $adapter = 'Zend_File_Transfer_Adapter_' . ucfirst($adapter);
- }
-
- if (!class_exists($adapter)) {
- Zend_Loader::loadClass($adapter);
- }
-
- $direction = (integer) $direction;
- $this->_adapter[$direction] = new $adapter($options);
- if (!$this->_adapter[$direction] instanceof Zend_File_Transfer_Adapter_Abstract) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception("Adapter " . $adapter . " does not extend Zend_File_Transfer_Adapter_Abstract");
- }
-
- return $this;
- }
-
- /**
- * Returns all set adapters
- *
- * @param boolean $direction On null, all directions are returned
- * On false, download direction is returned
- * On true, upload direction is returned
- * @return array|Zend_File_Transfer_Adapter
- */
- public function getAdapter($direction = null)
- {
- if ($direction === null) {
- return $this->_adapter;
- }
-
- $direction = (integer) $direction;
- return $this->_adapter[$direction];
- }
-
- /**
- * Calls all methods from the adapter
- *
- * @param string $method Method to call
- * @param array $options Options for this method
- * @return mixed
- */
- public function __call($method, array $options)
- {
- if (array_key_exists('direction', $options)) {
- $direction = (integer) $options['direction'];
- } else {
- $direction = 0;
- }
-
- if (method_exists($this->_adapter[$direction], $method)) {
- return call_user_func_array(array($this->_adapter[$direction], $method), $options);
- }
-
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception("Unknown method '" . $method . "' called!");
- }
-}
diff --git a/airtime_mvc/library/Zend/File/Transfer/Adapter/Abstract.php b/airtime_mvc/library/Zend/File/Transfer/Adapter/Abstract.php
deleted file mode 100644
index faec40906..000000000
--- a/airtime_mvc/library/Zend/File/Transfer/Adapter/Abstract.php
+++ /dev/null
@@ -1,1556 +0,0 @@
- array( - Form is the name within the form or, if not set the filename
- * name, - Original name of this file
- * type, - Mime type of this file
- * size, - Filesize in bytes
- * tmp_name, - Internalally temporary filename for uploaded files
- * error, - Error which has occured
- * destination, - New destination for this file
- * validators, - Set validator names for this file
- * files - Set file names for this file
- * ))
- *
- * @var array
- */
- protected $_files = array();
-
- /**
- * TMP directory
- * @var string
- */
- protected $_tmpDir;
-
- /**
- * Available options for file transfers
- */
- protected $_options = array(
- 'ignoreNoFile' => false,
- 'useByteString' => true,
- 'magicFile' => null,
- 'detectInfos' => true,
- );
-
- /**
- * Send file
- *
- * @param mixed $options
- * @return bool
- */
- abstract public function send($options = null);
-
- /**
- * Receive file
- *
- * @param mixed $options
- * @return bool
- */
- abstract public function receive($options = null);
-
- /**
- * Is file sent?
- *
- * @param array|string|null $files
- * @return bool
- */
- abstract public function isSent($files = null);
-
- /**
- * Is file received?
- *
- * @param array|string|null $files
- * @return bool
- */
- abstract public function isReceived($files = null);
-
- /**
- * Has a file been uploaded ?
- *
- * @param array|string|null $files
- * @return bool
- */
- abstract public function isUploaded($files = null);
-
- /**
- * Has the file been filtered ?
- *
- * @param array|string|null $files
- * @return bool
- */
- abstract public function isFiltered($files = null);
-
- /**
- * Retrieve progress of transfer
- *
- * @return float
- */
- public static function getProgress()
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method must be implemented within the adapter');
- }
-
- /**
- * Set plugin loader to use for validator or filter chain
- *
- * @param Zend_Loader_PluginLoader_Interface $loader
- * @param string $type 'filter', or 'validate'
- * @return Zend_File_Transfer_Adapter_Abstract
- * @throws Zend_File_Transfer_Exception on invalid type
- */
- public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type)
- {
- $type = strtoupper($type);
- switch ($type) {
- case self::FILTER:
- case self::VALIDATE:
- $this->_loaders[$type] = $loader;
- return $this;
- default:
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception(sprintf('Invalid type "%s" provided to setPluginLoader()', $type));
- }
- }
-
- /**
- * Retrieve plugin loader for validator or filter chain
- *
- * Instantiates with default rules if none available for that type. Use
- * 'filter' or 'validate' for $type.
- *
- * @param string $type
- * @return Zend_Loader_PluginLoader
- * @throws Zend_File_Transfer_Exception on invalid type.
- */
- public function getPluginLoader($type)
- {
- $type = strtoupper($type);
- switch ($type) {
- case self::FILTER:
- case self::VALIDATE:
- $prefixSegment = ucfirst(strtolower($type));
- $pathSegment = $prefixSegment;
- if (!isset($this->_loaders[$type])) {
- $paths = array(
- 'Zend_' . $prefixSegment . '_' => 'Zend/' . $pathSegment . '/',
- 'Zend_' . $prefixSegment . '_File' => 'Zend/' . $pathSegment . '/File',
- );
-
- require_once 'Zend/Loader/PluginLoader.php';
- $this->_loaders[$type] = new Zend_Loader_PluginLoader($paths);
- } else {
- $loader = $this->_loaders[$type];
- $prefix = 'Zend_' . $prefixSegment . '_File_';
- if (!$loader->getPaths($prefix)) {
- $loader->addPrefixPath($prefix, str_replace('_', '/', $prefix));
- }
- }
- return $this->_loaders[$type];
- default:
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type));
- }
- }
-
- /**
- * Add prefix path for plugin loader
- *
- * If no $type specified, assumes it is a base path for both filters and
- * validators, and sets each according to the following rules:
- * - filters: $prefix = $prefix . '_Filter'
- * - validators: $prefix = $prefix . '_Validate'
- *
- * Otherwise, the path prefix is set on the appropriate plugin loader.
- *
- * @param string $prefix
- * @param string $path
- * @param string $type
- * @return Zend_File_Transfer_Adapter_Abstract
- * @throws Zend_File_Transfer_Exception for invalid type
- */
- public function addPrefixPath($prefix, $path, $type = null)
- {
- $type = strtoupper($type);
- switch ($type) {
- case self::FILTER:
- case self::VALIDATE:
- $loader = $this->getPluginLoader($type);
- $loader->addPrefixPath($prefix, $path);
- return $this;
- case null:
- $prefix = rtrim($prefix, '_');
- $path = rtrim($path, DIRECTORY_SEPARATOR);
- foreach (array(self::FILTER, self::VALIDATE) as $type) {
- $cType = ucfirst(strtolower($type));
- $pluginPath = $path . DIRECTORY_SEPARATOR . $cType . DIRECTORY_SEPARATOR;
- $pluginPrefix = $prefix . '_' . $cType;
- $loader = $this->getPluginLoader($type);
- $loader->addPrefixPath($pluginPrefix, $pluginPath);
- }
- return $this;
- default:
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type));
- }
- }
-
- /**
- * Add many prefix paths at once
- *
- * @param array $spec
- * @return Zend_File_Transfer_Exception
- */
- public function addPrefixPaths(array $spec)
- {
- if (isset($spec['prefix']) && isset($spec['path'])) {
- return $this->addPrefixPath($spec['prefix'], $spec['path']);
- }
- foreach ($spec as $type => $paths) {
- if (is_numeric($type) && is_array($paths)) {
- $type = null;
- if (isset($paths['prefix']) && isset($paths['path'])) {
- if (isset($paths['type'])) {
- $type = $paths['type'];
- }
- $this->addPrefixPath($paths['prefix'], $paths['path'], $type);
- }
- } elseif (!is_numeric($type)) {
- if (!isset($paths['prefix']) || !isset($paths['path'])) {
- foreach ($paths as $prefix => $spec) {
- if (is_array($spec)) {
- foreach ($spec as $path) {
- if (!is_string($path)) {
- continue;
- }
- $this->addPrefixPath($prefix, $path, $type);
- }
- } elseif (is_string($spec)) {
- $this->addPrefixPath($prefix, $spec, $type);
- }
- }
- } else {
- $this->addPrefixPath($paths['prefix'], $paths['path'], $type);
- }
- }
- }
- return $this;
- }
-
- /**
- * Adds a new validator for this class
- *
- * @param string|array $validator Type of validator to add
- * @param boolean $breakChainOnFailure If the validation chain should stop an failure
- * @param string|array $options Options to set for the validator
- * @param string|array $files Files to limit this validator to
- * @return Zend_File_Transfer_Adapter
- */
- public function addValidator($validator, $breakChainOnFailure = false, $options = null, $files = null)
- {
- if ($validator instanceof Zend_Validate_Interface) {
- $name = get_class($validator);
- } elseif (is_string($validator)) {
- $name = $this->getPluginLoader(self::VALIDATE)->load($validator);
- $validator = new $name($options);
- if (is_array($options) && isset($options['messages'])) {
- if (is_array($options['messages'])) {
- $validator->setMessages($options['messages']);
- } elseif (is_string($options['messages'])) {
- $validator->setMessage($options['messages']);
- }
-
- unset($options['messages']);
- }
- } else {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Invalid validator provided to addValidator; must be string or Zend_Validate_Interface');
- }
-
- $this->_validators[$name] = $validator;
- $this->_break[$name] = $breakChainOnFailure;
- $files = $this->_getFiles($files, true, true);
- foreach ($files as $file) {
- $this->_files[$file]['validators'][] = $name;
- $this->_files[$file]['validated'] = false;
- }
-
- return $this;
- }
-
- /**
- * Add Multiple validators at once
- *
- * @param array $validators
- * @param string|array $files
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function addValidators(array $validators, $files = null)
- {
- foreach ($validators as $name => $validatorInfo) {
- if ($validatorInfo instanceof Zend_Validate_Interface) {
- $this->addValidator($validatorInfo, null, null, $files);
- } else if (is_string($validatorInfo)) {
- if (!is_int($name)) {
- $this->addValidator($name, null, $validatorInfo, $files);
- } else {
- $this->addValidator($validatorInfo, null, null, $files);
- }
- } else if (is_array($validatorInfo)) {
- $argc = count($validatorInfo);
- $breakChainOnFailure = false;
- $options = array();
- if (isset($validatorInfo['validator'])) {
- $validator = $validatorInfo['validator'];
- if (isset($validatorInfo['breakChainOnFailure'])) {
- $breakChainOnFailure = $validatorInfo['breakChainOnFailure'];
- }
-
- if (isset($validatorInfo['options'])) {
- $options = $validatorInfo['options'];
- }
-
- $this->addValidator($validator, $breakChainOnFailure, $options, $files);
- } else {
- if (is_string($name)) {
- $validator = $name;
- $options = $validatorInfo;
- $this->addValidator($validator, $breakChainOnFailure, $options, $files);
- } else {
- $file = $files;
- switch (true) {
- case (0 == $argc):
- break;
- case (1 <= $argc):
- $validator = array_shift($validatorInfo);
- case (2 <= $argc):
- $breakChainOnFailure = array_shift($validatorInfo);
- case (3 <= $argc):
- $options = array_shift($validatorInfo);
- case (4 <= $argc):
- if (!empty($validatorInfo)) {
- $file = array_shift($validatorInfo);
- }
- default:
- $this->addValidator($validator, $breakChainOnFailure, $options, $file);
- break;
- }
- }
- }
- } else {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Invalid validator passed to addValidators()');
- }
- }
-
- return $this;
- }
-
- /**
- * Sets a validator for the class, erasing all previous set
- *
- * @param string|array $validator Validator to set
- * @param string|array $files Files to limit this validator to
- * @return Zend_File_Transfer_Adapter
- */
- public function setValidators(array $validators, $files = null)
- {
- $this->clearValidators();
- return $this->addValidators($validators, $files);
- }
-
- /**
- * Determine if a given validator has already been registered
- *
- * @param string $name
- * @return bool
- */
- public function hasValidator($name)
- {
- return (false !== $this->_getValidatorIdentifier($name));
- }
-
- /**
- * Retrieve individual validator
- *
- * @param string $name
- * @return Zend_Validate_Interface|null
- */
- public function getValidator($name)
- {
- if (false === ($identifier = $this->_getValidatorIdentifier($name))) {
- return null;
- }
- return $this->_validators[$identifier];
- }
-
- /**
- * Returns all set validators
- *
- * @param string|array $files (Optional) Returns the validator for this files
- * @return null|array List of set validators
- */
- public function getValidators($files = null)
- {
- if ($files == null) {
- return $this->_validators;
- }
-
- $files = $this->_getFiles($files, true, true);
- $validators = array();
- foreach ($files as $file) {
- if (!empty($this->_files[$file]['validators'])) {
- $validators += $this->_files[$file]['validators'];
- }
- }
-
- $validators = array_unique($validators);
- $result = array();
- foreach ($validators as $validator) {
- $result[$validator] = $this->_validators[$validator];
- }
-
- return $result;
- }
-
- /**
- * Remove an individual validator
- *
- * @param string $name
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function removeValidator($name)
- {
- if (false === ($key = $this->_getValidatorIdentifier($name))) {
- return $this;
- }
-
- unset($this->_validators[$key]);
- foreach (array_keys($this->_files) as $file) {
- if (empty($this->_files[$file]['validators'])) {
- continue;
- }
-
- $index = array_search($key, $this->_files[$file]['validators']);
- if ($index === false) {
- continue;
- }
-
- unset($this->_files[$file]['validators'][$index]);
- $this->_files[$file]['validated'] = false;
- }
-
- return $this;
- }
-
- /**
- * Remove all validators
- *
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function clearValidators()
- {
- $this->_validators = array();
- foreach (array_keys($this->_files) as $file) {
- $this->_files[$file]['validators'] = array();
- $this->_files[$file]['validated'] = false;
- }
-
- return $this;
- }
-
- /**
- * Sets Options for adapters
- *
- * @param array $options Options to set
- * @param array $files (Optional) Files to set the options for
- */
- public function setOptions($options = array(), $files = null) {
- $file = $this->_getFiles($files, false, true);
-
- if (is_array($options)) {
- if (empty($file)) {
- $this->_options = array_merge($this->_options, $options);
- }
-
- foreach ($options as $name => $value) {
- foreach ($file as $key => $content) {
- switch ($name) {
- case 'magicFile' :
- $this->_files[$key]['options'][$name] = (string) $value;
- break;
-
- case 'ignoreNoFile' :
- case 'useByteString' :
- case 'detectInfos' :
- $this->_files[$key]['options'][$name] = (boolean) $value;
- break;
-
- default:
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception("Unknown option: $name = $value");
- }
- }
- }
- }
-
- return $this;
- }
-
- /**
- * Returns set options for adapters or files
- *
- * @param array $files (Optional) Files to return the options for
- * @return array Options for given files
- */
- public function getOptions($files = null) {
- $file = $this->_getFiles($files, false, true);
-
- foreach ($file as $key => $content) {
- if (isset($this->_files[$key]['options'])) {
- $options[$key] = $this->_files[$key]['options'];
- } else {
- $options[$key] = array();
- }
- }
-
- return $options;
- }
-
- /**
- * Checks if the files are valid
- *
- * @param string|array $files (Optional) Files to check
- * @return boolean True if all checks are valid
- */
- public function isValid($files = null)
- {
- $check = $this->_getFiles($files, false, true);
- if (empty($check)) {
- return false;
- }
-
- $translator = $this->getTranslator();
- $this->_messages = array();
- $break = false;
- foreach($check as $key => $content) {
- if (array_key_exists('validators', $content) &&
- in_array('Zend_Validate_File_Count', $content['validators'])) {
- $validator = $this->_validators['Zend_Validate_File_Count'];
- $count = $content;
- if (empty($content['tmp_name'])) {
- continue;
- }
-
- if (array_key_exists('destination', $content)) {
- $checkit = $content['destination'];
- } else {
- $checkit = dirname($content['tmp_name']);
- }
-
- $checkit .= DIRECTORY_SEPARATOR . $content['name'];
- $validator->addFile($checkit);
- }
- }
-
- if (isset($count)) {
- if (!$validator->isValid($count['tmp_name'], $count)) {
- $this->_messages += $validator->getMessages();
- }
- }
-
- foreach ($check as $key => $content) {
- $fileerrors = array();
- if (array_key_exists('validators', $content) && $content['validated']) {
- continue;
- }
-
- if (array_key_exists('validators', $content)) {
- foreach ($content['validators'] as $class) {
- $validator = $this->_validators[$class];
- if (method_exists($validator, 'setTranslator')) {
- $validator->setTranslator($translator);
- }
-
- if (($class === 'Zend_Validate_File_Upload') and (empty($content['tmp_name']))) {
- $tocheck = $key;
- } else {
- $tocheck = $content['tmp_name'];
- }
-
- if (!$validator->isValid($tocheck, $content)) {
- $fileerrors += $validator->getMessages();
- }
-
- if (!empty($content['options']['ignoreNoFile']) and (isset($fileerrors['fileUploadErrorNoFile']))) {
- unset($fileerrors['fileUploadErrorNoFile']);
- break;
- }
-
- if (($class === 'Zend_Validate_File_Upload') and (count($fileerrors) > 0)) {
- break;
- }
-
- if (($this->_break[$class]) and (count($fileerrors) > 0)) {
- $break = true;
- break;
- }
- }
- }
-
- if (count($fileerrors) > 0) {
- $this->_files[$key]['validated'] = false;
- } else {
- $this->_files[$key]['validated'] = true;
- }
-
- $this->_messages += $fileerrors;
- if ($break) {
- break;
- }
- }
-
- if (count($this->_messages) > 0) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Returns found validation messages
- *
- * @return array
- */
- public function getMessages()
- {
- return $this->_messages;
- }
-
- /**
- * Retrieve error codes
- *
- * @return array
- */
- public function getErrors()
- {
- return array_keys($this->_messages);
- }
-
- /**
- * Are there errors registered?
- *
- * @return boolean
- */
- public function hasErrors()
- {
- return (!empty($this->_messages));
- }
-
- /**
- * Adds a new filter for this class
- *
- * @param string|array $filter Type of filter to add
- * @param string|array $options Options to set for the filter
- * @param string|array $files Files to limit this filter to
- * @return Zend_File_Transfer_Adapter
- */
- public function addFilter($filter, $options = null, $files = null)
- {
- if ($filter instanceof Zend_Filter_Interface) {
- $class = get_class($filter);
- } elseif (is_string($filter)) {
- $class = $this->getPluginLoader(self::FILTER)->load($filter);
- $filter = new $class($options);
- } else {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Invalid filter specified');
- }
-
- $this->_filters[$class] = $filter;
- $files = $this->_getFiles($files, true, true);
- foreach ($files as $file) {
- $this->_files[$file]['filters'][] = $class;
- }
-
- return $this;
- }
-
- /**
- * Add Multiple filters at once
- *
- * @param array $filters
- * @param string|array $files
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function addFilters(array $filters, $files = null)
- {
- foreach ($filters as $key => $spec) {
- if ($spec instanceof Zend_Filter_Interface) {
- $this->addFilter($spec, null, $files);
- continue;
- }
-
- if (is_string($key)) {
- $this->addFilter($key, $spec, $files);
- continue;
- }
-
- if (is_int($key)) {
- if (is_string($spec)) {
- $this->addFilter($spec, null, $files);
- continue;
- }
-
- if (is_array($spec)) {
- if (!array_key_exists('filter', $spec)) {
- continue;
- }
-
- $filter = $spec['filter'];
- unset($spec['filter']);
- $this->addFilter($filter, $spec, $files);
- continue;
- }
-
- continue;
- }
- }
-
- return $this;
- }
-
- /**
- * Sets a filter for the class, erasing all previous set
- *
- * @param string|array $filter Filter to set
- * @param string|array $files Files to limit this filter to
- * @return Zend_File_Transfer_Adapter
- */
- public function setFilters(array $filters, $files = null)
- {
- $this->clearFilters();
- return $this->addFilters($filters, $files);
- }
-
- /**
- * Determine if a given filter has already been registered
- *
- * @param string $name
- * @return bool
- */
- public function hasFilter($name)
- {
- return (false !== $this->_getFilterIdentifier($name));
- }
-
- /**
- * Retrieve individual filter
- *
- * @param string $name
- * @return Zend_Filter_Interface|null
- */
- public function getFilter($name)
- {
- if (false === ($identifier = $this->_getFilterIdentifier($name))) {
- return null;
- }
- return $this->_filters[$identifier];
- }
-
- /**
- * Returns all set filters
- *
- * @param string|array $files (Optional) Returns the filter for this files
- * @return array List of set filters
- * @throws Zend_File_Transfer_Exception When file not found
- */
- public function getFilters($files = null)
- {
- if ($files === null) {
- return $this->_filters;
- }
-
- $files = $this->_getFiles($files, true, true);
- $filters = array();
- foreach ($files as $file) {
- if (!empty($this->_files[$file]['filters'])) {
- $filters += $this->_files[$file]['filters'];
- }
- }
-
- $filters = array_unique($filters);
- $result = array();
- foreach ($filters as $filter) {
- $result[] = $this->_filters[$filter];
- }
-
- return $result;
- }
-
- /**
- * Remove an individual filter
- *
- * @param string $name
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function removeFilter($name)
- {
- if (false === ($key = $this->_getFilterIdentifier($name))) {
- return $this;
- }
-
- unset($this->_filters[$key]);
- foreach (array_keys($this->_files) as $file) {
- if (empty($this->_files[$file]['filters'])) {
- continue;
- }
-
- $index = array_search($key, $this->_files[$file]['filters']);
- if ($index === false) {
- continue;
- }
-
- unset($this->_files[$file]['filters'][$index]);
- }
- return $this;
- }
-
- /**
- * Remove all filters
- *
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function clearFilters()
- {
- $this->_filters = array();
- foreach (array_keys($this->_files) as $file) {
- $this->_files[$file]['filters'] = array();
- }
- return $this;
- }
-
- /**
- * Returns all set files
- *
- * @return array List of set files
- * @throws Zend_File_Transfer_Exception Not implemented
- */
- public function getFile()
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method not implemented');
- }
-
- /**
- * Retrieves the filename of transferred files.
- *
- * @param string $fileelement (Optional) Element to return the filename for
- * @param boolean $path (Optional) Should the path also be returned ?
- * @return string|array
- */
- public function getFileName($file = null, $path = true)
- {
- $files = $this->_getFiles($file, true, true);
- $result = array();
- $directory = "";
- foreach($files as $file) {
- if (empty($this->_files[$file]['name'])) {
- continue;
- }
-
- if ($path === true) {
- $directory = $this->getDestination($file) . DIRECTORY_SEPARATOR;
- }
-
- $result[$file] = $directory . $this->_files[$file]['name'];
- }
-
- if (count($result) == 1) {
- return current($result);
- }
-
- return $result;
- }
-
- /**
- * Retrieve additional internal file informations for files
- *
- * @param string $file (Optional) File to get informations for
- * @return array
- */
- public function getFileInfo($file = null)
- {
- return $this->_getFiles($file);
- }
-
- /**
- * Adds one or more files
- *
- * @param string|array $file File to add
- * @param string|array $validator Validators to use for this file, must be set before
- * @param string|array $filter Filters to use for this file, must be set before
- * @return Zend_File_Transfer_Adapter_Abstract
- * @throws Zend_File_Transfer_Exception Not implemented
- */
- public function addFile($file, $validator = null, $filter = null)
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method not implemented');
- }
-
- /**
- * Returns all set types
- *
- * @return array List of set types
- * @throws Zend_File_Transfer_Exception Not implemented
- */
- public function getType()
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method not implemented');
- }
-
- /**
- * Adds one or more type of files
- *
- * @param string|array $type Type of files to add
- * @param string|array $validator Validators to use for this file, must be set before
- * @param string|array $filter Filters to use for this file, must be set before
- * @return Zend_File_Transfer_Adapter_Abstract
- * @throws Zend_File_Transfer_Exception Not implemented
- */
- public function addType($type, $validator = null, $filter = null)
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method not implemented');
- }
-
- /**
- * Sets a new destination for the given files
- *
- * @deprecated Will be changed to be a filter!!!
- * @param string $destination New destination directory
- * @param string|array $files Files to set the new destination for
- * @return Zend_File_Transfer_Abstract
- * @throws Zend_File_Transfer_Exception when the given destination is not a directory or does not exist
- */
- public function setDestination($destination, $files = null)
- {
- $orig = $files;
- $destination = rtrim($destination, "/\\");
- if (!is_dir($destination)) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('The given destination is not a directory or does not exist');
- }
-
- if (!is_writable($destination)) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('The given destination is not writeable');
- }
-
- if ($files === null) {
- foreach ($this->_files as $file => $content) {
- $this->_files[$file]['destination'] = $destination;
- }
- } else {
- $files = $this->_getFiles($files, true, true);
- if (empty($files) and is_string($orig)) {
- $this->_files[$orig]['destination'] = $destination;
- }
-
- foreach ($files as $file) {
- $this->_files[$file]['destination'] = $destination;
- }
- }
-
- return $this;
- }
-
- /**
- * Retrieve destination directory value
- *
- * @param null|string|array $files
- * @return null|string|array
- */
- public function getDestination($files = null)
- {
- $orig = $files;
- $files = $this->_getFiles($files, false, true);
- $destinations = array();
- if (empty($files) and is_string($orig)) {
- if (isset($this->_files[$orig]['destination'])) {
- $destinations[$orig] = $this->_files[$orig]['destination'];
- } else {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception(sprintf('The file transfer adapter can not find "%s"', $orig));
- }
- }
-
- foreach ($files as $key => $content) {
- if (isset($this->_files[$key]['destination'])) {
- $destinations[$key] = $this->_files[$key]['destination'];
- } else {
- $tmpdir = $this->_getTmpDir();
- $this->setDestination($tmpdir, $key);
- $destinations[$key] = $tmpdir;
- }
- }
-
- if (empty($destinations)) {
- $destinations = $this->_getTmpDir();
- } else if (count($destinations) == 1) {
- $destinations = current($destinations);
- }
-
- return $destinations;
- }
-
- /**
- * Set translator object for localization
- *
- * @param Zend_Translate|null $translator
- * @return Zend_File_Transfer_Abstract
- */
- public function setTranslator($translator = null)
- {
- if (null === $translator) {
- $this->_translator = null;
- } elseif ($translator instanceof Zend_Translate_Adapter) {
- $this->_translator = $translator;
- } elseif ($translator instanceof Zend_Translate) {
- $this->_translator = $translator->getAdapter();
- } else {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Invalid translator specified');
- }
-
- return $this;
- }
-
- /**
- * Retrieve localization translator object
- *
- * @return Zend_Translate_Adapter|null
- */
- public function getTranslator()
- {
- if ($this->translatorIsDisabled()) {
- return null;
- }
-
- return $this->_translator;
- }
-
- /**
- * Indicate whether or not translation should be disabled
- *
- * @param bool $flag
- * @return Zend_File_Transfer_Abstract
- */
- public function setDisableTranslator($flag)
- {
- $this->_translatorDisabled = (bool) $flag;
- return $this;
- }
-
- /**
- * Is translation disabled?
- *
- * @return bool
- */
- public function translatorIsDisabled()
- {
- return $this->_translatorDisabled;
- }
-
- /**
- * Returns the hash for a given file
- *
- * @param string $hash Hash algorithm to use
- * @param string|array $files Files to return the hash for
- * @return string|array Hashstring
- * @throws Zend_File_Transfer_Exception On unknown hash algorithm
- */
- public function getHash($hash = 'crc32', $files = null)
- {
- if (!in_array($hash, hash_algos())) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Unknown hash algorithm');
- }
-
- $files = $this->_getFiles($files);
- $result = array();
- foreach($files as $key => $value) {
- if (file_exists($value['name'])) {
- $result[$key] = hash_file($hash, $value['name']);
- } else if (file_exists($value['tmp_name'])) {
- $result[$key] = hash_file($hash, $value['tmp_name']);
- } else if (empty($value['options']['ignoreNoFile'])) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception("The file '{$value['name']}' does not exist");
- }
- }
-
- if (count($result) == 1) {
- return current($result);
- }
-
- return $result;
- }
-
- /**
- * Returns the real filesize of the file
- *
- * @param string|array $files Files to get the filesize from
- * @throws Zend_File_Transfer_Exception When the file does not exist
- * @return string|array Filesize
- */
- public function getFileSize($files = null)
- {
- $files = $this->_getFiles($files);
- $result = array();
- foreach($files as $key => $value) {
- if (file_exists($value['name']) || file_exists($value['tmp_name'])) {
- if ($value['options']['useByteString']) {
- $result[$key] = self::_toByteString($value['size']);
- } else {
- $result[$key] = $value['size'];
- }
- } else if (empty($value['options']['ignoreNoFile'])) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception("The file '{$value['name']}' does not exist");
- } else {
- continue;
- }
- }
-
- if (count($result) == 1) {
- return current($result);
- }
-
- return $result;
- }
-
- /**
- * Internal method to detect the size of a file
- *
- * @param array $value File infos
- * @return string Filesize of given file
- */
- protected function _detectFileSize($value)
- {
- if (file_exists($value['name'])) {
- $result = sprintf("%u", @filesize($value['name']));
- } else if (file_exists($value['tmp_name'])) {
- $result = sprintf("%u", @filesize($value['tmp_name']));
- } else {
- return null;
- }
-
- return $result;
- }
-
- /**
- * Returns the real mimetype of the file
- * Uses fileinfo, when not available mime_magic and as last fallback a manual given mimetype
- *
- * @param string|array $files Files to get the mimetype from
- * @throws Zend_File_Transfer_Exception When the file does not exist
- * @return string|array MimeType
- */
- public function getMimeType($files = null)
- {
- $files = $this->_getFiles($files);
- $result = array();
- foreach($files as $key => $value) {
- if (file_exists($value['name']) || file_exists($value['tmp_name'])) {
- $result[$key] = $value['type'];
- } else if (empty($value['options']['ignoreNoFile'])) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception("The file '{$value['name']}' does not exist");
- } else {
- continue;
- }
- }
-
- if (count($result) == 1) {
- return current($result);
- }
-
- return $result;
- }
-
- /**
- * Internal method to detect the mime type of a file
- *
- * @param array $value File infos
- * @return string Mimetype of given file
- */
- protected function _detectMimeType($value)
- {
- if (file_exists($value['name'])) {
- $file = $value['name'];
- } else if (file_exists($value['tmp_name'])) {
- $file = $value['tmp_name'];
- } else {
- return null;
- }
-
- if (class_exists('finfo', false)) {
- $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
- if (!empty($value['options']['magicFile'])) {
- $mime = @finfo_open($const, $value['options']['magicFile']);
- }
-
- if (empty($mime)) {
- $mime = @finfo_open($const);
- }
-
- if ($mime !== false) {
- $result = finfo_file($mime, $file);
- }
-
- unset($mime);
- }
-
- if (empty($result) && (function_exists('mime_content_type')
- && ini_get('mime_magic.magicfile'))) {
- $result = mime_content_type($file);
- }
-
- if (empty($result)) {
- $result = 'application/octet-stream';
- }
-
- return $result;
- }
-
- /**
- * Returns the formatted size
- *
- * @param integer $size
- * @return string
- */
- protected static function _toByteString($size)
- {
- $sizes = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
- for ($i=0; $size >= 1024 && $i < 9; $i++) {
- $size /= 1024;
- }
-
- return round($size, 2) . $sizes[$i];
- }
-
- /**
- * Internal function to filter all given files
- *
- * @param string|array $files (Optional) Files to check
- * @return boolean False on error
- */
- protected function _filter($files = null)
- {
- $check = $this->_getFiles($files);
- foreach ($check as $name => $content) {
- if (array_key_exists('filters', $content)) {
- foreach ($content['filters'] as $class) {
- $filter = $this->_filters[$class];
- try {
- $result = $filter->filter($this->getFileName($name));
-
- $this->_files[$name]['destination'] = dirname($result);
- $this->_files[$name]['name'] = basename($result);
- } catch (Zend_Filter_Exception $e) {
- $this->_messages += array($e->getMessage());
- }
- }
- }
- }
-
- if (count($this->_messages) > 0) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Determine system TMP directory and detect if we have read access
- *
- * @return string
- * @throws Zend_File_Transfer_Exception if unable to determine directory
- */
- protected function _getTmpDir()
- {
- if (null === $this->_tmpDir) {
- $tmpdir = array();
- if (function_exists('sys_get_temp_dir')) {
- $tmpdir[] = sys_get_temp_dir();
- }
-
- if (!empty($_ENV['TMP'])) {
- $tmpdir[] = realpath($_ENV['TMP']);
- }
-
- if (!empty($_ENV['TMPDIR'])) {
- $tmpdir[] = realpath($_ENV['TMPDIR']);
- }
-
- if (!empty($_ENV['TEMP'])) {
- $tmpdir[] = realpath($_ENV['TEMP']);
- }
-
- $upload = ini_get('upload_tmp_dir');
- if ($upload) {
- $tmpdir[] = realpath($upload);
- }
-
- foreach($tmpdir as $directory) {
- if ($this->_isPathWriteable($directory)) {
- $this->_tmpDir = $directory;
- }
- }
-
- if (empty($this->_tmpDir)) {
- // Attemp to detect by creating a temporary file
- $tempFile = tempnam(md5(uniqid(rand(), TRUE)), '');
- if ($tempFile) {
- $this->_tmpDir = realpath(dirname($tempFile));
- unlink($tempFile);
- } else {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Could not determine a temporary directory');
- }
- }
-
- $this->_tmpDir = rtrim($this->_tmpDir, "/\\");
- }
- return $this->_tmpDir;
- }
-
- /**
- * Tries to detect if we can read and write to the given path
- *
- * @param string $path
- */
- protected function _isPathWriteable($path)
- {
- $tempFile = rtrim($path, "/\\");
- $tempFile .= '/' . 'test.1';
-
- $result = @file_put_contents($tempFile, 'TEST');
-
- if ($result == false) {
- return false;
- }
-
- $result = @unlink($tempFile);
-
- if ($result == false) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Returns found files based on internal file array and given files
- *
- * @param string|array $files (Optional) Files to return
- * @param boolean $names (Optional) Returns only names on true, else complete info
- * @param boolean $noexception (Optional) Allows throwing an exception, otherwise returns an empty array
- * @return array Found files
- * @throws Zend_File_Transfer_Exception On false filename
- */
- protected function _getFiles($files, $names = false, $noexception = false)
- {
- $check = array();
-
- if (is_string($files)) {
- $files = array($files);
- }
-
- if (is_array($files)) {
- foreach ($files as $find) {
- $found = array();
- foreach ($this->_files as $file => $content) {
- if (!isset($content['name'])) {
- continue;
- }
-
- if (($content['name'] === $find) && isset($content['multifiles'])) {
- foreach ($content['multifiles'] as $multifile) {
- $found[] = $multifile;
- }
- break;
- }
-
- if ($file === $find) {
- $found[] = $file;
- break;
- }
-
- if ($content['name'] === $find) {
- $found[] = $file;
- break;
- }
- }
-
- if (empty($found)) {
- if ($noexception !== false) {
- return array();
- }
-
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception(sprintf('The file transfer adapter can not find "%s"', $find));
- }
-
- foreach ($found as $checked) {
- $check[$checked] = $this->_files[$checked];
- }
- }
- }
-
- if ($files === null) {
- $check = $this->_files;
- $keys = array_keys($check);
- foreach ($keys as $key) {
- if (isset($check[$key]['multifiles'])) {
- unset($check[$key]);
- }
- }
- }
-
- if ($names) {
- $check = array_keys($check);
- }
-
- return $check;
- }
-
- /**
- * Retrieve internal identifier for a named validator
- *
- * @param string $name
- * @return string
- */
- protected function _getValidatorIdentifier($name)
- {
- if (array_key_exists($name, $this->_validators)) {
- return $name;
- }
-
- foreach (array_keys($this->_validators) as $test) {
- if (preg_match('/' . preg_quote($name) . '$/i', $test)) {
- return $test;
- }
- }
-
- return false;
- }
-
- /**
- * Retrieve internal identifier for a named filter
- *
- * @param string $name
- * @return string
- */
- protected function _getFilterIdentifier($name)
- {
- if (array_key_exists($name, $this->_filters)) {
- return $name;
- }
-
- foreach (array_keys($this->_filters) as $test) {
- if (preg_match('/' . preg_quote($name) . '$/i', $test)) {
- return $test;
- }
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/File/Transfer/Adapter/Http.php b/airtime_mvc/library/Zend/File/Transfer/Adapter/Http.php
deleted file mode 100644
index 53ab82aef..000000000
--- a/airtime_mvc/library/Zend/File/Transfer/Adapter/Http.php
+++ /dev/null
@@ -1,483 +0,0 @@
-setOptions($options);
- $this->_prepareFiles();
- $this->addValidator('Upload', false, $this->_files);
- }
-
- /**
- * Sets a validator for the class, erasing all previous set
- *
- * @param string|array $validator Validator to set
- * @param string|array $files Files to limit this validator to
- * @return Zend_File_Transfer_Adapter
- */
- public function setValidators(array $validators, $files = null)
- {
- $this->clearValidators();
- return $this->addValidators($validators, $files);
- }
-
- /**
- * Remove an individual validator
- *
- * @param string $name
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function removeValidator($name)
- {
- if ($name == 'Upload') {
- return $this;
- }
-
- return parent::removeValidator($name);
- }
-
- /**
- * Remove an individual validator
- *
- * @param string $name
- * @return Zend_File_Transfer_Adapter_Abstract
- */
- public function clearValidators()
- {
- parent::clearValidators();
- $this->addValidator('Upload', false, $this->_files);
-
- return $this;
- }
-
- /**
- * Send the file to the client (Download)
- *
- * @param string|array $options Options for the file(s) to send
- * @return void
- * @throws Zend_File_Transfer_Exception Not implemented
- */
- public function send($options = null)
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method not implemented');
- }
-
- /**
- * Checks if the files are valid
- *
- * @param string|array $files (Optional) Files to check
- * @return boolean True if all checks are valid
- */
- public function isValid($files = null)
- {
- // Workaround for WebServer not conforming HTTP and omitting CONTENT_LENGTH
- $content = 0;
- if (isset($_SERVER['CONTENT_LENGTH'])) {
- $content = $_SERVER['CONTENT_LENGTH'];
- } else if (!empty($_POST)) {
- $content = serialize($_POST);
- }
-
- // Workaround for a PHP error returning empty $_FILES when form data exceeds php settings
- if (empty($this->_files) && ($content > 0)) {
- if (is_array($files)) {
- $files = current($files);
- }
-
- $temp = array($files => array(
- 'name' => $files,
- 'error' => 1));
- $validator = $this->_validators['Zend_Validate_File_Upload'];
- $validator->setFiles($temp)
- ->isValid($files, null);
- $this->_messages += $validator->getMessages();
- return false;
- }
-
- return parent::isValid($files);
- }
-
- /**
- * Receive the file from the client (Upload)
- *
- * @param string|array $files (Optional) Files to receive
- * @return bool
- */
- public function receive($files = null)
- {
- if (!$this->isValid($files)) {
- return false;
- }
-
- $check = $this->_getFiles($files);
- foreach ($check as $file => $content) {
- if (!$content['received']) {
- $directory = '';
- $destination = $this->getDestination($file);
- if ($destination !== null) {
- $directory = $destination . DIRECTORY_SEPARATOR;
- }
-
- $filename = $directory . $content['name'];
- $rename = $this->getFilter('Rename');
- if ($rename !== null) {
- $tmp = $rename->getNewName($content['tmp_name']);
- if ($tmp != $content['tmp_name']) {
- $filename = $tmp;
- }
-
- if (dirname($filename) == '.') {
- $filename = $directory . $filename;
- }
-
- $key = array_search(get_class($rename), $this->_files[$file]['filters']);
- unset($this->_files[$file]['filters'][$key]);
- }
-
- // Should never return false when it's tested by the upload validator
- if (!move_uploaded_file($content['tmp_name'], $filename)) {
- if ($content['options']['ignoreNoFile']) {
- $this->_files[$file]['received'] = true;
- $this->_files[$file]['filtered'] = true;
- continue;
- }
-
- $this->_files[$file]['received'] = false;
- return false;
- }
-
- if ($rename !== null) {
- $this->_files[$file]['destination'] = dirname($filename);
- $this->_files[$file]['name'] = basename($filename);
- }
-
- $this->_files[$file]['tmp_name'] = $filename;
- $this->_files[$file]['received'] = true;
- }
-
- if (!$content['filtered']) {
- if (!$this->_filter($file)) {
- $this->_files[$file]['filtered'] = false;
- return false;
- }
-
- $this->_files[$file]['filtered'] = true;
- }
- }
-
- return true;
- }
-
- /**
- * Checks if the file was already sent
- *
- * @param string|array $file Files to check
- * @return bool
- * @throws Zend_File_Transfer_Exception Not implemented
- */
- public function isSent($files = null)
- {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Method not implemented');
- }
-
- /**
- * Checks if the file was already received
- *
- * @param string|array $files (Optional) Files to check
- * @return bool
- */
- public function isReceived($files = null)
- {
- $files = $this->_getFiles($files, false, true);
- if (empty($files)) {
- return false;
- }
-
- foreach ($files as $content) {
- if ($content['received'] !== true) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Checks if the file was already filtered
- *
- * @param string|array $files (Optional) Files to check
- * @return bool
- */
- public function isFiltered($files = null)
- {
- $files = $this->_getFiles($files, false, true);
- if (empty($files)) {
- return false;
- }
-
- foreach ($files as $content) {
- if ($content['filtered'] !== true) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Has a file been uploaded ?
- *
- * @param array|string|null $file
- * @return bool
- */
- public function isUploaded($files = null)
- {
- $files = $this->_getFiles($files, false, true);
- if (empty($files)) {
- return false;
- }
-
- foreach ($files as $file) {
- if (empty($file['name'])) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Returns the actual progress of file up-/downloads
- *
- * @param string $id The upload to get the progress for
- * @return array|null
- */
- public static function getProgress($id = null)
- {
- if (!function_exists('apc_fetch') and !function_exists('uploadprogress_get_info')) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Wether APC nor uploadprogress extension installed');
- }
-
- $session = 'Zend_File_Transfer_Adapter_Http_ProgressBar';
- $status = array(
- 'total' => 0,
- 'current' => 0,
- 'rate' => 0,
- 'message' => '',
- 'done' => false
- );
-
- if (is_array($id)) {
- if (isset($id['progress'])) {
- $adapter = $id['progress'];
- }
-
- if (isset($id['session'])) {
- $session = $id['session'];
- }
-
- if (isset($id['id'])) {
- $id = $id['id'];
- } else {
- unset($id);
- }
- }
-
- if (!empty($id) && (($id instanceof Zend_ProgressBar_Adapter) || ($id instanceof Zend_ProgressBar))) {
- $adapter = $id;
- unset($id);
- }
-
- if (empty($id)) {
- if (!isset($_GET['progress_key'])) {
- $status['message'] = 'No upload in progress';
- $status['done'] = true;
- } else {
- $id = $_GET['progress_key'];
- }
- }
-
- if (!empty($id)) {
- if (self::isApcAvailable()) {
-
- $call = call_user_func(self::$_callbackApc, ini_get('apc.rfc1867_prefix') . $id);
- if (is_array($call)) {
- $status = $call + $status;
- }
- } else if (self::isUploadProgressAvailable()) {
- $call = call_user_func(self::$_callbackUploadProgress, $id);
- if (is_array($call)) {
- $status = $call + $status;
- $status['total'] = $status['bytes_total'];
- $status['current'] = $status['bytes_uploaded'];
- $status['rate'] = $status['speed_average'];
- if ($status['total'] == $status['current']) {
- $status['done'] = true;
- }
- }
- }
-
- if (!is_array($call)) {
- $status['done'] = true;
- $status['message'] = 'Failure while retrieving the upload progress';
- } else if (!empty($status['cancel_upload'])) {
- $status['done'] = true;
- $status['message'] = 'The upload has been canceled';
- } else {
- $status['message'] = self::_toByteString($status['current']) . " - " . self::_toByteString($status['total']);
- }
-
- $status['id'] = $id;
- }
-
- if (isset($adapter) && isset($status['id'])) {
- if ($adapter instanceof Zend_ProgressBar_Adapter) {
- require_once 'Zend/ProgressBar.php';
- $adapter = new Zend_ProgressBar($adapter, 0, $status['total'], $session);
- }
-
- if (!($adapter instanceof Zend_ProgressBar)) {
- require_once 'Zend/File/Transfer/Exception.php';
- throw new Zend_File_Transfer_Exception('Unknown Adapter given');
- }
-
- if ($status['done']) {
- $adapter->finish();
- } else {
- $adapter->update($status['current'], $status['message']);
- }
-
- $status['progress'] = $adapter;
- }
-
- return $status;
- }
-
- /**
- * Checks the APC extension for progress information
- *
- * @return boolean
- */
- public static function isApcAvailable()
- {
- return (bool) ini_get('apc.enabled') && (bool) ini_get('apc.rfc1867') && is_callable(self::$_callbackApc);
- }
-
- /**
- * Checks the UploadProgress extension for progress information
- *
- * @return boolean
- */
- public static function isUploadProgressAvailable()
- {
- return is_callable(self::$_callbackUploadProgress);
- }
-
- /**
- * Prepare the $_FILES array to match the internal syntax of one file per entry
- *
- * @param array $files
- * @return array
- */
- protected function _prepareFiles()
- {
- $this->_files = array();
- foreach ($_FILES as $form => $content) {
- if (is_array($content['name'])) {
- foreach ($content as $param => $file) {
- foreach ($file as $number => $target) {
- $this->_files[$form . '_' . $number . '_'][$param] = $target;
- $this->_files[$form]['multifiles'][$number] = $form . '_' . $number . '_';
- }
- }
-
- $this->_files[$form]['name'] = $form;
- foreach($this->_files[$form]['multifiles'] as $key => $value) {
- $this->_files[$value]['options'] = $this->_options;
- $this->_files[$value]['validated'] = false;
- $this->_files[$value]['received'] = false;
- $this->_files[$value]['filtered'] = false;
-
- $mimetype = $this->_detectMimeType($this->_files[$value]);
- $this->_files[$value]['type'] = $mimetype;
-
- $filesize = $this->_detectFileSize($this->_files[$value]);
- $this->_files[$value]['size'] = $filesize;
-
- if ($this->_options['detectInfos']) {
- $_FILES[$form]['type'][$key] = $mimetype;
- $_FILES[$form]['size'][$key] = $filesize;
- }
- }
- } else {
- $this->_files[$form] = $content;
- $this->_files[$form]['options'] = $this->_options;
- $this->_files[$form]['validated'] = false;
- $this->_files[$form]['received'] = false;
- $this->_files[$form]['filtered'] = false;
-
- $mimetype = $this->_detectMimeType($this->_files[$form]);
- $this->_files[$form]['type'] = $mimetype;
-
- $filesize = $this->_detectFileSize($this->_files[$form]);
- $this->_files[$form]['size'] = $filesize;
-
- if ($this->_options['detectInfos']) {
- $_FILES[$form]['type'] = $mimetype;
- $_FILES[$form]['size'] = $filesize;
- }
- }
- }
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/File/Transfer/Exception.php b/airtime_mvc/library/Zend/File/Transfer/Exception.php
deleted file mode 100644
index 5aafd4583..000000000
--- a/airtime_mvc/library/Zend/File/Transfer/Exception.php
+++ /dev/null
@@ -1,55 +0,0 @@
-_fileerror = $fileerror;
- parent::__construct($message);
- }
-
- /**
- * Returns the transfer error code for the exception
- * This is not the exception code !!!
- *
- * @return integer
- */
- public function getFileError()
- {
- return $this->_fileerror;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter.php b/airtime_mvc/library/Zend/Filter.php
deleted file mode 100644
index 803d8fa47..000000000
--- a/airtime_mvc/library/Zend/Filter.php
+++ /dev/null
@@ -1,239 +0,0 @@
-_filters, $filter);
- } else {
- $this->_filters[] = $filter;
- }
- return $this;
- }
-
- /**
- * Add a filter to the end of the chain
- *
- * @param Zend_Filter_Interface $filter
- * @return Zend_Filter Provides a fluent interface
- */
- public function appendFilter(Zend_Filter_Interface $filter)
- {
- return $this->addFilter($filter, self::CHAIN_APPEND);
- }
-
- /**
- * Add a filter to the start of the chain
- *
- * @param Zend_Filter_Interface $filter
- * @return Zend_Filter Provides a fluent interface
- */
- public function prependFilter(Zend_Filter_Interface $filter)
- {
- return $this->addFilter($filter, self::CHAIN_PREPEND);
- }
-
- /**
- * Get all the filters
- *
- * @return array
- */
- public function getFilters()
- {
- return $this->_filters;
- }
-
- /**
- * Returns $value filtered through each filter in the chain
- *
- * Filters are run in the order in which they were added to the chain (FIFO)
- *
- * @param mixed $value
- * @return mixed
- */
- public function filter($value)
- {
- $valueFiltered = $value;
- foreach ($this->_filters as $filter) {
- $valueFiltered = $filter->filter($valueFiltered);
- }
- return $valueFiltered;
- }
-
- /**
- * Returns the set default namespaces
- *
- * @return array
- */
- public static function getDefaultNamespaces()
- {
- return self::$_defaultNamespaces;
- }
-
- /**
- * Sets new default namespaces
- *
- * @param array|string $namespace
- * @return null
- */
- public static function setDefaultNamespaces($namespace)
- {
- if (!is_array($namespace)) {
- $namespace = array((string) $namespace);
- }
-
- self::$_defaultNamespaces = $namespace;
- }
-
- /**
- * Adds a new default namespace
- *
- * @param array|string $namespace
- * @return null
- */
- public static function addDefaultNamespaces($namespace)
- {
- if (!is_array($namespace)) {
- $namespace = array((string) $namespace);
- }
-
- self::$_defaultNamespaces = array_unique(array_merge(self::$_defaultNamespaces, $namespace));
- }
-
- /**
- * Returns true when defaultNamespaces are set
- *
- * @return boolean
- */
- public static function hasDefaultNamespaces()
- {
- return (!empty(self::$_defaultNamespaces));
- }
-
- /**
- * @deprecated
- * @see Zend_Filter::filterStatic()
- *
- * @param mixed $value
- * @param string $classBaseName
- * @param array $args OPTIONAL
- * @param array|string $namespaces OPTIONAL
- * @return mixed
- * @throws Zend_Filter_Exception
- */
- public static function get($value, $classBaseName, array $args = array(), $namespaces = array())
- {
- trigger_error(
- 'Zend_Filter::get() is deprecated as of 1.9.0; please update your code to utilize Zend_Filter::filterStatic()',
- E_USER_NOTICE
- );
-
- return self::filterStatic($value, $classBaseName, $args, $namespaces);
- }
-
- /**
- * Returns a value filtered through a specified filter class, without requiring separate
- * instantiation of the filter object.
- *
- * The first argument of this method is a data input value, that you would have filtered.
- * The second argument is a string, which corresponds to the basename of the filter class,
- * relative to the Zend_Filter namespace. This method automatically loads the class,
- * creates an instance, and applies the filter() method to the data input. You can also pass
- * an array of constructor arguments, if they are needed for the filter class.
- *
- * @param mixed $value
- * @param string $classBaseName
- * @param array $args OPTIONAL
- * @param array|string $namespaces OPTIONAL
- * @return mixed
- * @throws Zend_Filter_Exception
- */
- public static function filterStatic($value, $classBaseName, array $args = array(), $namespaces = array())
- {
- require_once 'Zend/Loader.php';
- $namespaces = array_merge((array) $namespaces, self::$_defaultNamespaces, array('Zend_Filter'));
- foreach ($namespaces as $namespace) {
- $className = $namespace . '_' . ucfirst($classBaseName);
- if (!class_exists($className, false)) {
- try {
- $file = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
- if (Zend_Loader::isReadable($file)) {
- Zend_Loader::loadClass($className);
- } else {
- continue;
- }
- } catch (Zend_Exception $ze) {
- continue;
- }
- }
-
- $class = new ReflectionClass($className);
- if ($class->implementsInterface('Zend_Filter_Interface')) {
- if ($class->hasMethod('__construct')) {
- $object = $class->newInstanceArgs($args);
- } else {
- $object = $class->newInstance();
- }
- return $object->filter($value);
- }
- }
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Filter class not found from basename '$classBaseName'");
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Alnum.php b/airtime_mvc/library/Zend/Filter/Alnum.php
deleted file mode 100644
index 6739772ce..000000000
--- a/airtime_mvc/library/Zend/Filter/Alnum.php
+++ /dev/null
@@ -1,146 +0,0 @@
-toArray();
- } else if (is_array($allowWhiteSpace)) {
- if (array_key_exists('allowwhitespace', $allowWhiteSpace)) {
- $allowWhiteSpace = $allowWhiteSpace['allowwhitespace'];
- } else {
- $allowWhiteSpace = false;
- }
- }
-
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- if (null === self::$_unicodeEnabled) {
- self::$_unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false;
- }
-
- if (null === self::$_meansEnglishAlphabet) {
- $this->_locale = new Zend_Locale('auto');
- self::$_meansEnglishAlphabet = in_array($this->_locale->getLanguage(),
- array('ja', 'ko', 'zh')
- );
- }
-
- }
-
- /**
- * Returns the allowWhiteSpace option
- *
- * @return boolean
- */
- public function getAllowWhiteSpace()
- {
- return $this->allowWhiteSpace;
- }
-
- /**
- * Sets the allowWhiteSpace option
- *
- * @param boolean $allowWhiteSpace
- * @return Zend_Filter_Alnum Provides a fluent interface
- */
- public function setAllowWhiteSpace($allowWhiteSpace)
- {
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns the string $value, removing all but alphabetic and digit characters
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- $whiteSpace = $this->allowWhiteSpace ? '\s' : '';
- if (!self::$_unicodeEnabled) {
- // POSIX named classes are not supported, use alternative a-zA-Z0-9 match
- $pattern = '/[^a-zA-Z0-9' . $whiteSpace . ']/';
- } else if (self::$_meansEnglishAlphabet) {
- //The Alphabet means english alphabet.
- $pattern = '/[^a-zA-Z0-9' . $whiteSpace . ']/u';
- } else {
- //The Alphabet means each language's alphabet.
- $pattern = '/[^\p{L}\p{N}' . $whiteSpace . ']/u';
- }
-
- return preg_replace($pattern, '', (string) $value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Alpha.php b/airtime_mvc/library/Zend/Filter/Alpha.php
deleted file mode 100644
index b42622e2f..000000000
--- a/airtime_mvc/library/Zend/Filter/Alpha.php
+++ /dev/null
@@ -1,146 +0,0 @@
-toArray();
- } else if (is_array($allowWhiteSpace)) {
- if (array_key_exists('allowwhitespace', $allowWhiteSpace)) {
- $allowWhiteSpace = $allowWhiteSpace['allowwhitespace'];
- } else {
- $allowWhiteSpace = false;
- }
- }
-
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- if (null === self::$_unicodeEnabled) {
- self::$_unicodeEnabled = (@preg_match('/\pL/u', 'a')) ? true : false;
- }
-
- if (null === self::$_meansEnglishAlphabet) {
- $this->_locale = new Zend_Locale('auto');
- self::$_meansEnglishAlphabet = in_array($this->_locale->getLanguage(),
- array('ja', 'ko', 'zh')
- );
- }
-
- }
-
- /**
- * Returns the allowWhiteSpace option
- *
- * @return boolean
- */
- public function getAllowWhiteSpace()
- {
- return $this->allowWhiteSpace;
- }
-
- /**
- * Sets the allowWhiteSpace option
- *
- * @param boolean $allowWhiteSpace
- * @return Zend_Filter_Alpha Provides a fluent interface
- */
- public function setAllowWhiteSpace($allowWhiteSpace)
- {
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns the string $value, removing all but alphabetic characters
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- $whiteSpace = $this->allowWhiteSpace ? '\s' : '';
- if (!self::$_unicodeEnabled) {
- // POSIX named classes are not supported, use alternative a-zA-Z match
- $pattern = '/[^a-zA-Z' . $whiteSpace . ']/';
- } else if (self::$_meansEnglishAlphabet) {
- //The Alphabet means english alphabet.
- $pattern = '/[^a-zA-Z' . $whiteSpace . ']/u';
- } else {
- //The Alphabet means each language's alphabet.
- $pattern = '/[^\p{L}' . $whiteSpace . ']/u';
- }
-
- return preg_replace($pattern, '', (string) $value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/BaseName.php b/airtime_mvc/library/Zend/Filter/BaseName.php
deleted file mode 100644
index 88e09ef4c..000000000
--- a/airtime_mvc/library/Zend/Filter/BaseName.php
+++ /dev/null
@@ -1,50 +0,0 @@
- 'boolean',
- self::INTEGER => 'integer',
- self::FLOAT => 'float',
- self::STRING => 'string',
- self::ZERO => 'zero',
- self::EMPTY_ARRAY => 'array',
- self::NULL => 'null',
- self::PHP => 'php',
- self::FALSE_STRING => 'false',
- self::YES => 'yes',
- self::ALL => 'all',
- );
-
- /**
- * Internal type to detect
- *
- * @var integer
- */
- protected $_type = self::PHP;
-
- /**
- * Internal locale
- *
- * @var array
- */
- protected $_locale = array('auto');
-
- /**
- * Internal mode
- *
- * @var boolean
- */
- protected $_casting = true;
-
- /**
- * Constructor
- *
- * @param string|array|Zend_Config $options OPTIONAL
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
- if (!empty($options)) {
- $temp['type'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['casting'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['locale'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (array_key_exists('type', $options)) {
- $this->setType($options['type']);
- }
-
- if (array_key_exists('casting', $options)) {
- $this->setCasting($options['casting']);
- }
-
- if (array_key_exists('locale', $options)) {
- $this->setLocale($options['locale']);
- }
- }
-
- /**
- * Returns the set null types
- *
- * @return int
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set the null types
- *
- * @param integer|array $type
- * @throws Zend_Filter_Exception
- * @return Zend_Filter_Boolean
- */
- public function setType($type = null)
- {
- if (is_array($type)) {
- $detected = 0;
- foreach($type as $value) {
- if (is_int($value)) {
- $detected += $value;
- } elseif (in_array($value, $this->_constants)) {
- $detected += array_search($value, $this->_constants);
- }
- }
-
- $type = $detected;
- } elseif (is_string($type) && in_array($type, $this->_constants)) {
- $type = array_search($type, $this->_constants);
- }
-
- if (!is_int($type) || ($type < 0) || ($type > self::ALL)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Unknown type');
- }
-
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Returns the set locale
- *
- * @return array
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Set the locales which are accepted
- *
- * @param string|array|Zend_Locale $locale
- * @throws Zend_Filter_Exception
- * @return Zend_Filter_Boolean
- */
- public function setLocale($locale = null)
- {
- if (is_string($locale)) {
- $locale = array($locale);
- } elseif ($locale instanceof Zend_Locale) {
- $locale = array($locale->toString());
- } elseif (!is_array($locale)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Locale has to be string, array or an instance of Zend_Locale');
- }
-
- require_once 'Zend/Locale.php';
- foreach ($locale as $single) {
- if (!Zend_Locale::isLocale($single)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Unknown locale '$single'");
- }
- }
-
- $this->_locale = $locale;
- return $this;
- }
-
- /**
- * Returns the casting option
- *
- * @return boolean
- */
- public function getCasting()
- {
- return $this->_casting;
- }
-
- /**
- * Set the working mode
- *
- * @param boolean $locale When true this filter works like cast
- * When false it recognises only true and false
- * and all other values are returned as is
- * @throws Zend_Filter_Exception
- * @return Zend_Filter_Boolean
- */
- public function setCasting($casting = true)
- {
- $this->_casting = (boolean) $casting;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns a boolean representation of $value
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- $type = $this->getType();
- $casting = $this->getCasting();
-
- // STRING YES (Localized)
- if ($type >= self::YES) {
- $type -= self::YES;
- if (is_string($value)) {
- require_once 'Zend/Locale.php';
- $locales = $this->getLocale();
- foreach ($locales as $locale) {
- if ($this->_getLocalizedQuestion($value, false, $locale) === false) {
- return false;
- }
-
- if (!$casting && ($this->_getLocalizedQuestion($value, true, $locale) === true)) {
- return true;
- }
- }
- }
- }
-
- // STRING FALSE ('false')
- if ($type >= self::FALSE_STRING) {
- $type -= self::FALSE_STRING;
- if (is_string($value) && (strtolower($value) == 'false')) {
- return false;
- }
-
- if ((!$casting) && is_string($value) && (strtolower($value) == 'true')) {
- return true;
- }
- }
-
- // NULL (null)
- if ($type >= self::NULL) {
- $type -= self::NULL;
- if (is_null($value)) {
- return false;
- }
- }
-
- // EMPTY_ARRAY (array())
- if ($type >= self::EMPTY_ARRAY) {
- $type -= self::EMPTY_ARRAY;
- if (is_array($value) && ($value == array())) {
- return false;
- }
- }
-
- // ZERO ('0')
- if ($type >= self::ZERO) {
- $type -= self::ZERO;
- if (is_string($value) && ($value == '0')) {
- return false;
- }
-
- if ((!$casting) && (is_string($value)) && ($value == '1')) {
- return true;
- }
- }
-
- // STRING ('')
- if ($type >= self::STRING) {
- $type -= self::STRING;
- if (is_string($value) && ($value == '')) {
- return false;
- }
- }
-
- // FLOAT (0.0)
- if ($type >= self::FLOAT) {
- $type -= self::FLOAT;
- if (is_float($value) && ($value == 0.0)) {
- return false;
- }
-
- if ((!$casting) && is_float($value) && ($value == 1.0)) {
- return true;
- }
- }
-
- // INTEGER (0)
- if ($type >= self::INTEGER) {
- $type -= self::INTEGER;
- if (is_int($value) && ($value == 0)) {
- return false;
- }
-
- if ((!$casting) && is_int($value) && ($value == 1)) {
- return true;
- }
- }
-
- // BOOLEAN (false)
- if ($type >= self::BOOLEAN) {
- $type -= self::BOOLEAN;
- if (is_bool($value)) {
- return $value;
- }
- }
-
- if ($casting) {
- return true;
- }
-
- return $value;
- }
-
- /**
- * Determine the value of a localized string, and compare it to a given value
- *
- * @param string $value
- * @param boolean $yes
- * @param array $locale
- * @return boolean
- */
- protected function _getLocalizedQuestion($value, $yes, $locale)
- {
- if ($yes == true) {
- $question = 'yes';
- $return = true;
- } else {
- $question = 'no';
- $return = false;
- }
- $str = Zend_Locale::getTranslation($question, 'question', $locale);
- $str = explode(':', $str);
- if (!empty($str)) {
- foreach($str as $no) {
- if (($no == $value) || (strtolower($no) == strtolower($value))) {
- return $return;
- }
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Callback.php b/airtime_mvc/library/Zend/Filter/Callback.php
deleted file mode 100644
index f7edb69c2..000000000
--- a/airtime_mvc/library/Zend/Filter/Callback.php
+++ /dev/null
@@ -1,152 +0,0 @@
-toArray();
- } else if (!is_array($options) || !array_key_exists('callback', $options)) {
- $options = func_get_args();
- $temp['callback'] = array_shift($options);
- if (!empty($options)) {
- $temp['options'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (!array_key_exists('callback', $options)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Missing callback to use');
- }
-
- $this->setCallback($options['callback']);
- if (array_key_exists('options', $options)) {
- $this->setOptions($options['options']);
- }
- }
-
- /**
- * Returns the set callback
- *
- * @return string|array Set callback
- */
- public function getCallback()
- {
- return $this->_callback;
- }
-
- /**
- * Sets a new callback for this filter
- *
- * @param unknown_type $callback
- * @return unknown
- */
- public function setCallback($callback, $options = null)
- {
- if (!is_callable($callback)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Callback can not be accessed');
- }
-
- $this->_callback = $callback;
- $this->setOptions($options);
- return $this;
- }
-
- /**
- * Returns the set default options
- *
- * @return mixed
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Sets new default options to the callback filter
- *
- * @param mixed $options Default options to set
- * @return Zend_Filter_Callback
- */
- public function setOptions($options)
- {
- $this->_options = $options;
- return $this;
- }
-
- /**
- * Calls the filter per callback
- *
- * @param $value mixed Options for the set callback
- * @return mixed Result from the filter which was callbacked
- */
- public function filter($value)
- {
- $options = array();
-
- if ($this->_options !== null) {
- if (!is_array($this->_options)) {
- $options = array($this->_options);
- } else {
- $options = $this->_options;
- }
- }
-
- array_unshift($options, $value);
-
- return call_user_func_array($this->_callback, $options);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Filter/Compress.php b/airtime_mvc/library/Zend/Filter/Compress.php
deleted file mode 100644
index 69f8805c0..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress.php
+++ /dev/null
@@ -1,197 +0,0 @@
-toArray();
- }
- if (is_string($options)) {
- $this->setAdapter($options);
- } elseif ($options instanceof Zend_Filter_Compress_CompressInterface) {
- $this->setAdapter($options);
- } elseif (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set filter setate
- *
- * @param array $options
- * @return Zend_Filter_Compress
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if ($key == 'options') {
- $key = 'adapterOptions';
- }
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
- return $this;
- }
-
- /**
- * Returns the current adapter, instantiating it if necessary
- *
- * @return string
- */
- public function getAdapter()
- {
- if ($this->_adapter instanceof Zend_Filter_Compress_CompressInterface) {
- return $this->_adapter;
- }
-
- $adapter = $this->_adapter;
- $options = $this->getAdapterOptions();
- if (!class_exists($adapter)) {
- require_once 'Zend/Loader.php';
- if (Zend_Loader::isReadable('Zend/Filter/Compress/' . ucfirst($adapter) . '.php')) {
- $adapter = 'Zend_Filter_Compress_' . ucfirst($adapter);
- }
- Zend_Loader::loadClass($adapter);
- }
-
- $this->_adapter = new $adapter($options);
- if (!$this->_adapter instanceof Zend_Filter_Compress_CompressInterface) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Compression adapter '" . $adapter . "' does not implement Zend_Filter_Compress_CompressInterface");
- }
- return $this->_adapter;
- }
-
- /**
- * Retrieve adapter name
- *
- * @return string
- */
- public function getAdapterName()
- {
- return $this->getAdapter()->toString();
- }
-
- /**
- * Sets compression adapter
- *
- * @param string|Zend_Filter_Compress_CompressInterface $adapter Adapter to use
- * @return Zend_Filter_Compress
- */
- public function setAdapter($adapter)
- {
- if ($adapter instanceof Zend_Filter_Compress_CompressInterface) {
- $this->_adapter = $adapter;
- return $this;
- }
- if (!is_string($adapter)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Invalid adapter provided; must be string or instance of Zend_Filter_Compress_CompressInterface');
- }
- $this->_adapter = $adapter;
-
- return $this;
- }
-
- /**
- * Retrieve adapter options
- *
- * @return array
- */
- public function getAdapterOptions()
- {
- return $this->_adapterOptions;
- }
-
- /**
- * Set adapter options
- *
- * @param array $options
- * @return void
- */
- public function setAdapterOptions(array $options)
- {
- $this->_adapterOptions = $options;
- return $this;
- }
-
- /**
- * Calls adapter methods
- *
- * @param string $method Method to call
- * @param string|array $options Options for this method
- */
- public function __call($method, $options)
- {
- $adapter = $this->getAdapter();
- if (!method_exists($adapter, $method)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Unknown method '{$method}'");
- }
-
- return call_user_func_array(array($adapter, $method), $options);
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Compresses the content $value with the defined settings
- *
- * @param string $value Content to compress
- * @return string The compressed content
- */
- public function filter($value)
- {
- return $this->getAdapter()->compress($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Compress/Bz2.php b/airtime_mvc/library/Zend/Filter/Compress/Bz2.php
deleted file mode 100644
index d8822ebb5..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress/Bz2.php
+++ /dev/null
@@ -1,188 +0,0 @@
- Blocksize to use from 0-9
- * 'archive' => Archive to use
- * )
- *
- * @var array
- */
- protected $_options = array(
- 'blocksize' => 4,
- 'archive' => null,
- );
-
- /**
- * Class constructor
- *
- * @param array|Zend_Config $options (Optional) Options to set
- */
- public function __construct($options = null)
- {
- if (!extension_loaded('bz2')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs the bz2 extension');
- }
- parent::__construct($options);
- }
-
- /**
- * Returns the set blocksize
- *
- * @return integer
- */
- public function getBlocksize()
- {
- return $this->_options['blocksize'];
- }
-
- /**
- * Sets a new blocksize
- *
- * @param integer $level
- * @return Zend_Filter_Compress_Bz2
- */
- public function setBlocksize($blocksize)
- {
- if (($blocksize < 0) || ($blocksize > 9)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Blocksize must be between 0 and 9');
- }
-
- $this->_options['blocksize'] = (int) $blocksize;
- return $this;
- }
-
- /**
- * Returns the set archive
- *
- * @return string
- */
- public function getArchive()
- {
- return $this->_options['archive'];
- }
-
- /**
- * Sets the archive to use for de-/compression
- *
- * @param string $archive Archive to use
- * @return Zend_Filter_Compress_Bz2
- */
- public function setArchive($archive)
- {
- $this->_options['archive'] = (string) $archive;
- return $this;
- }
-
- /**
- * Compresses the given content
- *
- * @param string $content
- * @return string
- */
- public function compress($content)
- {
- $archive = $this->getArchive();
- if (!empty($archive)) {
- $file = bzopen($archive, 'w');
- if (!$file) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Error opening the archive '" . $archive . "'");
- }
-
- bzwrite($file, $content);
- bzclose($file);
- $compressed = true;
- } else {
- $compressed = bzcompress($content, $this->getBlocksize());
- }
-
- if (is_int($compressed)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error during compression');
- }
-
- return $compressed;
- }
-
- /**
- * Decompresses the given content
- *
- * @param string $content
- * @return string
- */
- public function decompress($content)
- {
- $archive = $this->getArchive();
- if (file_exists($content)) {
- $archive = $content;
- }
-
- if (file_exists($archive)) {
- $file = bzopen($archive, 'r');
- if (!$file) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Error opening the archive '" . $content . "'");
- }
-
- $compressed = bzread($file);
- bzclose($file);
- } else {
- $compressed = bzdecompress($content);
- }
-
- if (is_int($compressed)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error during decompression');
- }
-
- return $compressed;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Bz2';
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Compress/CompressAbstract.php b/airtime_mvc/library/Zend/Filter/Compress/CompressAbstract.php
deleted file mode 100644
index 4cd057248..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress/CompressAbstract.php
+++ /dev/null
@@ -1,89 +0,0 @@
-toArray();
- }
-
- if (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Returns one or all set options
- *
- * @param string $option (Optional) Option to return
- * @return mixed
- */
- public function getOptions($option = null)
- {
- if ($option === null) {
- return $this->_options;
- }
-
- if (!array_key_exists($option, $this->_options)) {
- return null;
- }
-
- return $this->_options[$option];
- }
-
- /**
- * Sets all or one option
- *
- * @param array $options
- * @return Zend_Filter_Compress_Bz2
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $option) {
- $method = 'set' . $key;
- if (method_exists($this, $method)) {
- $this->$method($option);
- }
- }
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Compress/CompressInterface.php b/airtime_mvc/library/Zend/Filter/Compress/CompressInterface.php
deleted file mode 100644
index 250339881..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress/CompressInterface.php
+++ /dev/null
@@ -1,54 +0,0 @@
- Compression level 0-9
- * 'mode' => Compression mode, can be 'compress', 'deflate'
- * 'archive' => Archive to use
- * )
- *
- * @var array
- */
- protected $_options = array(
- 'level' => 9,
- 'mode' => 'compress',
- 'archive' => null,
- );
-
- /**
- * Class constructor
- *
- * @param array|Zend_Config|null $options (Optional) Options to set
- */
- public function __construct($options = null)
- {
- if (!extension_loaded('zlib')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs the zlib extension');
- }
- parent::__construct($options);
- }
-
- /**
- * Returns the set compression level
- *
- * @return integer
- */
- public function getLevel()
- {
- return $this->_options['level'];
- }
-
- /**
- * Sets a new compression level
- *
- * @param integer $level
- * @return Zend_Filter_Compress_Gz
- */
- public function setLevel($level)
- {
- if (($level < 0) || ($level > 9)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Level must be between 0 and 9');
- }
-
- $this->_options['level'] = (int) $level;
- return $this;
- }
-
- /**
- * Returns the set compression mode
- *
- * @return string
- */
- public function getMode()
- {
- return $this->_options['mode'];
- }
-
- /**
- * Sets a new compression mode
- *
- * @param string $mode Supported are 'compress', 'deflate' and 'file'
- */
- public function setMode($mode)
- {
- if (($mode != 'compress') && ($mode != 'deflate')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Given compression mode not supported');
- }
-
- $this->_options['mode'] = $mode;
- return $this;
- }
-
- /**
- * Returns the set archive
- *
- * @return string
- */
- public function getArchive()
- {
- return $this->_options['archive'];
- }
-
- /**
- * Sets the archive to use for de-/compression
- *
- * @param string $archive Archive to use
- * @return Zend_Filter_Compress_Gz
- */
- public function setArchive($archive)
- {
- $this->_options['archive'] = (string) $archive;
- return $this;
- }
-
- /**
- * Compresses the given content
- *
- * @param string $content
- * @return string
- */
- public function compress($content)
- {
- $archive = $this->getArchive();
- if (!empty($archive)) {
- $file = gzopen($archive, 'w' . $this->getLevel());
- if (!$file) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Error opening the archive '" . $this->_options['archive'] . "'");
- }
-
- gzwrite($file, $content);
- gzclose($file);
- $compressed = true;
- } else if ($this->_options['mode'] == 'deflate') {
- $compressed = gzdeflate($content, $this->getLevel());
- } else {
- $compressed = gzcompress($content, $this->getLevel());
- }
-
- if (!$compressed) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error during compression');
- }
-
- return $compressed;
- }
-
- /**
- * Decompresses the given content
- *
- * @param string $content
- * @return string
- */
- public function decompress($content)
- {
- $archive = $this->getArchive();
- $mode = $this->getMode();
- if (file_exists($content)) {
- $archive = $content;
- }
-
- if (file_exists($archive)) {
- $handler = fopen($archive, "rb");
- if (!$handler) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Error opening the archive '" . $archive . "'");
- }
-
- fseek($handler, -4, SEEK_END);
- $packet = fread($handler, 4);
- $bytes = unpack("V", $packet);
- $size = end($bytes);
- fclose($handler);
-
- $file = gzopen($archive, 'r');
- $compressed = gzread($file, $size);
- gzclose($file);
- } else if ($mode == 'deflate') {
- $compressed = gzinflate($content);
- } else {
- $compressed = gzuncompress($content);
- }
-
- if (!$compressed) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error during compression');
- }
-
- return $compressed;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Gz';
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Compress/Lzf.php b/airtime_mvc/library/Zend/Filter/Compress/Lzf.php
deleted file mode 100644
index 9e40dee15..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress/Lzf.php
+++ /dev/null
@@ -1,91 +0,0 @@
- Callback for compression
- * 'archive' => Archive to use
- * 'password' => Password to use
- * 'target' => Target to write the files to
- * )
- *
- * @var array
- */
- protected $_options = array(
- 'callback' => null,
- 'archive' => null,
- 'password' => null,
- 'target' => '.',
- );
-
- /**
- * Class constructor
- *
- * @param array $options (Optional) Options to set
- */
- public function __construct($options = null)
- {
- if (!extension_loaded('rar')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs the rar extension');
- }
- parent::__construct($options);
- }
-
- /**
- * Returns the set callback for compression
- *
- * @return string
- */
- public function getCallback()
- {
- return $this->_options['callback'];
- }
-
- /**
- * Sets the callback to use
- *
- * @param string $callback
- * @return Zend_Filter_Compress_Rar
- */
- public function setCallback($callback)
- {
- if (!is_callable($callback)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Callback can not be accessed');
- }
-
- $this->_options['callback'] = $callback;
- return $this;
- }
-
- /**
- * Returns the set archive
- *
- * @return string
- */
- public function getArchive()
- {
- return $this->_options['archive'];
- }
-
- /**
- * Sets the archive to use for de-/compression
- *
- * @param string $archive Archive to use
- * @return Zend_Filter_Compress_Rar
- */
- public function setArchive($archive)
- {
- $archive = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $archive);
- $this->_options['archive'] = (string) $archive;
-
- return $this;
- }
-
- /**
- * Returns the set password
- *
- * @return string
- */
- public function getPassword()
- {
- return $this->_options['password'];
- }
-
- /**
- * Sets the password to use
- *
- * @param string $password
- * @return Zend_Filter_Compress_Rar
- */
- public function setPassword($password)
- {
- $this->_options['password'] = (string) $password;
- return $this;
- }
-
- /**
- * Returns the set targetpath
- *
- * @return string
- */
- public function getTarget()
- {
- return $this->_options['target'];
- }
-
- /**
- * Sets the targetpath to use
- *
- * @param string $target
- * @return Zend_Filter_Compress_Rar
- */
- public function setTarget($target)
- {
- if (!file_exists(dirname($target))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The directory '$target' does not exist");
- }
-
- $target = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $target);
- $this->_options['target'] = (string) $target;
- return $this;
- }
-
- /**
- * Compresses the given content
- *
- * @param string|array $content
- * @return string
- */
- public function compress($content)
- {
- $callback = $this->getCallback();
- if (is_null($callback)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('No compression callback available');
- }
-
- $options = $this->getOptions();
- unset($options['callback']);
-
- $result = call_user_func($callback, $options, $content);
- if ($result !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error compressing the RAR Archive');
- }
-
- return $this->getArchive();
- }
-
- /**
- * Decompresses the given content
- *
- * @param string $content
- * @return boolean
- */
- public function decompress($content)
- {
- $archive = $this->getArchive();
- if (file_exists($content)) {
- $archive = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, realpath($content));
- } elseif (empty($archive) || !file_exists($archive)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('RAR Archive not found');
- }
-
- $password = $this->getPassword();
- if (!is_null($password)) {
- $archive = rar_open($archive, $password);
- } else {
- $archive = rar_open($archive);
- }
-
- if (!$archive) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Error opening the RAR Archive");
- }
-
- $target = $this->getTarget();
- if (!is_dir($target)) {
- $target = dirname($target);
- }
-
- $filelist = rar_list($archive);
- if (!$filelist) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Error reading the RAR Archive");
- }
-
- foreach($filelist as $file) {
- $file->extract($target);
- }
-
- rar_close($archive);
- return true;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Rar';
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Compress/Tar.php b/airtime_mvc/library/Zend/Filter/Compress/Tar.php
deleted file mode 100644
index 74a6f9a90..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress/Tar.php
+++ /dev/null
@@ -1,245 +0,0 @@
- Archive to use
- * 'target' => Target to write the files to
- * )
- *
- * @var array
- */
- protected $_options = array(
- 'archive' => null,
- 'target' => '.',
- 'mode' => null,
- );
-
- /**
- * Class constructor
- *
- * @param array $options (Optional) Options to set
- */
- public function __construct($options = null)
- {
- if (!class_exists('Archive_Tar')) {
- require_once 'Zend/Loader.php';
- try {
- Zend_Loader::loadClass('Archive_Tar');
- } catch (Zend_Exception $e) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs PEARs Archive_Tar', 0, $e);
- }
- }
-
- parent::__construct($options);
- }
-
- /**
- * Returns the set archive
- *
- * @return string
- */
- public function getArchive()
- {
- return $this->_options['archive'];
- }
-
- /**
- * Sets the archive to use for de-/compression
- *
- * @param string $archive Archive to use
- * @return Zend_Filter_Compress_Tar
- */
- public function setArchive($archive)
- {
- $archive = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $archive);
- $this->_options['archive'] = (string) $archive;
-
- return $this;
- }
-
- /**
- * Returns the set targetpath
- *
- * @return string
- */
- public function getTarget()
- {
- return $this->_options['target'];
- }
-
- /**
- * Sets the targetpath to use
- *
- * @param string $target
- * @return Zend_Filter_Compress_Tar
- */
- public function setTarget($target)
- {
- if (!file_exists(dirname($target))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The directory '$target' does not exist");
- }
-
- $target = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $target);
- $this->_options['target'] = (string) $target;
- return $this;
- }
-
- /**
- * Returns the set compression mode
- */
- public function getMode()
- {
- return $this->_options['mode'];
- }
-
- /**
- * Compression mode to use
- * Eighter Gz or Bz2
- *
- * @param string $mode
- */
- public function setMode($mode)
- {
- $mode = ucfirst(strtolower($mode));
- if (($mode != 'Bz2') && ($mode != 'Gz')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The mode '$mode' is unknown");
- }
-
- if (($mode == 'Bz2') && (!extension_loaded('bz2'))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This mode needs the bz2 extension');
- }
-
- if (($mode == 'Gz') && (!extension_loaded('zlib'))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This mode needs the zlib extension');
- }
- }
-
- /**
- * Compresses the given content
- *
- * @param string $content
- * @return string
- */
- public function compress($content)
- {
- $archive = new Archive_Tar($this->getArchive(), $this->getMode());
- if (!file_exists($content)) {
- $file = $this->getTarget();
- if (is_dir($file)) {
- $file .= DIRECTORY_SEPARATOR . "tar.tmp";
- }
-
- $result = file_put_contents($file, $content);
- if ($result === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error creating the temporary file');
- }
-
- $content = $file;
- }
-
- if (is_dir($content)) {
- // collect all file infos
- foreach (new RecursiveIteratorIterator(
- new RecursiveDirectoryIterator($content, RecursiveDirectoryIterator::KEY_AS_PATHNAME),
- RecursiveIteratorIterator::SELF_FIRST
- ) as $directory => $info
- ) {
- if ($info->isFile()) {
- $file[] = $directory;
- }
- }
-
- $content = $file;
- }
-
- $result = $archive->create($content);
- if ($result === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error creating the Tar archive');
- }
-
- return $this->getArchive();
- }
-
- /**
- * Decompresses the given content
- *
- * @param string $content
- * @return boolean
- */
- public function decompress($content)
- {
- $archive = $this->getArchive();
- if (file_exists($content)) {
- $archive = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, realpath($content));
- } elseif (empty($archive) || !file_exists($archive)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Tar Archive not found');
- }
-
- $archive = new Archive_Tar($archive, $this->getMode());
- $target = $this->getTarget();
- if (!is_dir($target)) {
- $target = dirname($target);
- }
-
- $result = $archive->extract($target);
- if ($result === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Error while extracting the Tar archive');
- }
-
- return true;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Tar';
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Compress/Zip.php b/airtime_mvc/library/Zend/Filter/Compress/Zip.php
deleted file mode 100644
index d77b9ca15..000000000
--- a/airtime_mvc/library/Zend/Filter/Compress/Zip.php
+++ /dev/null
@@ -1,355 +0,0 @@
- Archive to use
- * 'password' => Password to use
- * 'target' => Target to write the files to
- * )
- *
- * @var array
- */
- protected $_options = array(
- 'archive' => null,
- 'target' => null,
- );
-
- /**
- * Class constructor
- *
- * @param string|array $options (Optional) Options to set
- */
- public function __construct($options = null)
- {
- if (!extension_loaded('zip')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs the zip extension');
- }
- parent::__construct($options);
- }
-
- /**
- * Returns the set archive
- *
- * @return string
- */
- public function getArchive()
- {
- return $this->_options['archive'];
- }
-
- /**
- * Sets the archive to use for de-/compression
- *
- * @param string $archive Archive to use
- * @return Zend_Filter_Compress_Rar
- */
- public function setArchive($archive)
- {
- $archive = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $archive);
- $this->_options['archive'] = (string) $archive;
-
- return $this;
- }
-
- /**
- * Returns the set targetpath
- *
- * @return string
- */
- public function getTarget()
- {
- return $this->_options['target'];
- }
-
- /**
- * Sets the target to use
- *
- * @param string $target
- * @return Zend_Filter_Compress_Rar
- */
- public function setTarget($target)
- {
- if (!file_exists(dirname($target))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The directory '$target' does not exist");
- }
-
- $target = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $target);
- $this->_options['target'] = (string) $target;
- return $this;
- }
-
- /**
- * Compresses the given content
- *
- * @param string $content
- * @return string Compressed archive
- */
- public function compress($content)
- {
- $zip = new ZipArchive();
- $res = $zip->open($this->getArchive(), ZipArchive::CREATE | ZipArchive::OVERWRITE);
-
- if ($res !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception($this->_errorString($res));
- }
-
- if (file_exists($content)) {
- $content = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, realpath($content));
- $basename = substr($content, strrpos($content, DIRECTORY_SEPARATOR) + 1);
- if (is_dir($content)) {
- $index = strrpos($content, DIRECTORY_SEPARATOR) + 1;
- $content .= DIRECTORY_SEPARATOR;
- $stack = array($content);
- while (!empty($stack)) {
- $current = array_pop($stack);
- $files = array();
-
- $dir = dir($current);
- while (false !== ($node = $dir->read())) {
- if (($node == '.') || ($node == '..')) {
- continue;
- }
-
- if (is_dir($current . $node)) {
- array_push($stack, $current . $node . DIRECTORY_SEPARATOR);
- }
-
- if (is_file($current . $node)) {
- $files[] = $node;
- }
- }
-
- $local = substr($current, $index);
- $zip->addEmptyDir(substr($local, 0, -1));
-
- foreach ($files as $file) {
- $zip->addFile($current . $file, $local . $file);
- if ($res !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception($this->_errorString($res));
- }
- }
- }
- } else {
- $res = $zip->addFile($content, $basename);
- if ($res !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception($this->_errorString($res));
- }
- }
- } else {
- $file = $this->getTarget();
- if (!is_dir($file)) {
- $file = basename($file);
- } else {
- $file = "zip.tmp";
- }
-
- $res = $zip->addFromString($file, $content);
- if ($res !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception($this->_errorString($res));
- }
- }
-
- $zip->close();
- return $this->_options['archive'];
- }
-
- /**
- * Decompresses the given content
- *
- * @param string $content
- * @return string
- */
- public function decompress($content)
- {
- $archive = $this->getArchive();
- if (file_exists($content)) {
- $archive = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, realpath($content));
- } elseif (empty($archive) || !file_exists($archive)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('ZIP Archive not found');
- }
-
- $zip = new ZipArchive();
- $res = $zip->open($archive);
-
- $target = $this->getTarget();
-
- if (!empty($target) && !is_dir($target)) {
- $target = dirname($target);
- }
-
- if (!empty($target)) {
- $target = rtrim($target, '/\\') . DIRECTORY_SEPARATOR;
- }
-
- if (empty($target) || !is_dir($target)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('No target for ZIP decompression set');
- }
-
- if ($res !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception($this->_errorString($res));
- }
-
- if (version_compare(PHP_VERSION, '5.2.8', '<')) {
- for ($i = 0; $i < $zip->numFiles; $i++) {
- $statIndex = $zip->statIndex($i);
- $currName = $statIndex['name'];
- if (($currName{0} == '/') ||
- (substr($currName, 0, 2) == '..') ||
- (substr($currName, 0, 4) == './..')
- )
- {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Upward directory traversal was detected inside ' . $archive
- . ' please use PHP 5.2.8 or greater to take advantage of path resolution features of '
- . 'the zip extension in this decompress() method.'
- );
- }
- }
- }
-
- $res = @$zip->extractTo($target);
- if ($res !== true) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception($this->_errorString($res));
- }
-
- $zip->close();
- return $target;
- }
-
- /**
- * Returns the proper string based on the given error constant
- *
- * @param string $error
- */
- protected function _errorString($error)
- {
- switch($error) {
- case ZipArchive::ER_MULTIDISK :
- return 'Multidisk ZIP Archives not supported';
-
- case ZipArchive::ER_RENAME :
- return 'Failed to rename the temporary file for ZIP';
-
- case ZipArchive::ER_CLOSE :
- return 'Failed to close the ZIP Archive';
-
- case ZipArchive::ER_SEEK :
- return 'Failure while seeking the ZIP Archive';
-
- case ZipArchive::ER_READ :
- return 'Failure while reading the ZIP Archive';
-
- case ZipArchive::ER_WRITE :
- return 'Failure while writing the ZIP Archive';
-
- case ZipArchive::ER_CRC :
- return 'CRC failure within the ZIP Archive';
-
- case ZipArchive::ER_ZIPCLOSED :
- return 'ZIP Archive already closed';
-
- case ZipArchive::ER_NOENT :
- return 'No such file within the ZIP Archive';
-
- case ZipArchive::ER_EXISTS :
- return 'ZIP Archive already exists';
-
- case ZipArchive::ER_OPEN :
- return 'Can not open ZIP Archive';
-
- case ZipArchive::ER_TMPOPEN :
- return 'Failure creating temporary ZIP Archive';
-
- case ZipArchive::ER_ZLIB :
- return 'ZLib Problem';
-
- case ZipArchive::ER_MEMORY :
- return 'Memory allocation problem while working on a ZIP Archive';
-
- case ZipArchive::ER_CHANGED :
- return 'ZIP Entry has been changed';
-
- case ZipArchive::ER_COMPNOTSUPP :
- return 'Compression method not supported within ZLib';
-
- case ZipArchive::ER_EOF :
- return 'Premature EOF within ZIP Archive';
-
- case ZipArchive::ER_INVAL :
- return 'Invalid argument for ZLIB';
-
- case ZipArchive::ER_NOZIP :
- return 'Given file is no zip archive';
-
- case ZipArchive::ER_INTERNAL :
- return 'Internal error while working on a ZIP Archive';
-
- case ZipArchive::ER_INCONS :
- return 'Inconsistent ZIP archive';
-
- case ZipArchive::ER_REMOVE :
- return 'Can not remove ZIP Archive';
-
- case ZipArchive::ER_DELETED :
- return 'ZIP Entry has been deleted';
-
- default :
- return 'Unknown error within ZIP Archive';
- }
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Zip';
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Decompress.php b/airtime_mvc/library/Zend/Filter/Decompress.php
deleted file mode 100644
index e9241599f..000000000
--- a/airtime_mvc/library/Zend/Filter/Decompress.php
+++ /dev/null
@@ -1,49 +0,0 @@
-getAdapter()->decompress($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Decrypt.php b/airtime_mvc/library/Zend/Filter/Decrypt.php
deleted file mode 100644
index e16556dd2..000000000
--- a/airtime_mvc/library/Zend/Filter/Decrypt.php
+++ /dev/null
@@ -1,49 +0,0 @@
-_adapter->decrypt($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Digits.php b/airtime_mvc/library/Zend/Filter/Digits.php
deleted file mode 100644
index 5072f66af..000000000
--- a/airtime_mvc/library/Zend/Filter/Digits.php
+++ /dev/null
@@ -1,82 +0,0 @@
-toArray();
- }
-
- $this->setAdapter($options);
- }
-
- /**
- * Returns the name of the set adapter
- *
- * @return string
- */
- public function getAdapter()
- {
- return $this->_adapter->toString();
- }
-
- /**
- * Sets new encryption options
- *
- * @param string|array $options (Optional) Encryption options
- * @return Zend_Filter_Encrypt
- */
- public function setAdapter($options = null)
- {
- if (is_string($options)) {
- $adapter = $options;
- } else if (isset($options['adapter'])) {
- $adapter = $options['adapter'];
- unset($options['adapter']);
- } else {
- $adapter = 'Mcrypt';
- }
-
- if (!is_array($options)) {
- $options = array();
- }
-
- if (Zend_Loader::isReadable('Zend/Filter/Encrypt/' . ucfirst($adapter). '.php')) {
- $adapter = 'Zend_Filter_Encrypt_' . ucfirst($adapter);
- }
-
- if (!class_exists($adapter)) {
- Zend_Loader::loadClass($adapter);
- }
-
- $this->_adapter = new $adapter($options);
- if (!$this->_adapter instanceof Zend_Filter_Encrypt_Interface) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Encoding adapter '" . $adapter . "' does not implement Zend_Filter_Encrypt_Interface");
- }
-
- return $this;
- }
-
- /**
- * Calls adapter methods
- *
- * @param string $method Method to call
- * @param string|array $options Options for this method
- */
- public function __call($method, $options)
- {
- $part = substr($method, 0, 3);
- if ((($part != 'get') and ($part != 'set')) or !method_exists($this->_adapter, $method)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Unknown method '{$method}'");
- }
-
- return call_user_func_array(array($this->_adapter, $method), $options);
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Encrypts the content $value with the defined settings
- *
- * @param string $value Content to encrypt
- * @return string The encrypted content
- */
- public function filter($value)
- {
- return $this->_adapter->encrypt($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Encrypt/Interface.php b/airtime_mvc/library/Zend/Filter/Encrypt/Interface.php
deleted file mode 100644
index 949d3d6f5..000000000
--- a/airtime_mvc/library/Zend/Filter/Encrypt/Interface.php
+++ /dev/null
@@ -1,47 +0,0 @@
- encryption key string
- * 'algorithm' => algorithm to use
- * 'algorithm_directory' => directory where to find the algorithm
- * 'mode' => encryption mode to use
- * 'modedirectory' => directory where to find the mode
- * )
- */
- protected $_encryption = array(
- 'key' => 'ZendFramework',
- 'algorithm' => 'blowfish',
- 'algorithm_directory' => '',
- 'mode' => 'cbc',
- 'mode_directory' => '',
- 'vector' => null,
- 'salt' => false
- );
-
- protected static $_srandCalled = false;
-
- /**
- * Class constructor
- *
- * @param string|array|Zend_Config $options Cryption Options
- */
- public function __construct($options)
- {
- if (!extension_loaded('mcrypt')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs the mcrypt extension');
- }
-
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_string($options)) {
- $options = array('key' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Invalid options argument provided to filter');
- }
-
- $this->setEncryption($options);
- }
-
- /**
- * Returns the set encryption options
- *
- * @return array
- */
- public function getEncryption()
- {
- return $this->_encryption;
- }
-
- /**
- * Sets new encryption options
- *
- * @param string|array $options Encryption options
- * @return Zend_Filter_File_Encryption
- */
- public function setEncryption($options)
- {
- if (is_string($options)) {
- $options = array('key' => $options);
- }
-
- if (!is_array($options)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Invalid options argument provided to filter');
- }
-
- $options = $options + $this->getEncryption();
- $algorithms = mcrypt_list_algorithms($options['algorithm_directory']);
- if (!in_array($options['algorithm'], $algorithms)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The algorithm '{$options['algorithm']}' is not supported");
- }
-
- $modes = mcrypt_list_modes($options['mode_directory']);
- if (!in_array($options['mode'], $modes)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The mode '{$options['mode']}' is not supported");
- }
-
- if (!mcrypt_module_self_test($options['algorithm'], $options['algorithm_directory'])) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('The given algorithm can not be used due an internal mcrypt problem');
- }
-
- if (!isset($options['vector'])) {
- $options['vector'] = null;
- }
-
- $this->_encryption = $options;
- $this->setVector($options['vector']);
-
- return $this;
- }
-
- /**
- * Returns the set vector
- *
- * @return string
- */
- public function getVector()
- {
- return $this->_encryption['vector'];
- }
-
- /**
- * Sets the initialization vector
- *
- * @param string $vector (Optional) Vector to set
- * @return Zend_Filter_Encrypt_Mcrypt
- */
- public function setVector($vector = null)
- {
- $cipher = $this->_openCipher();
- $size = mcrypt_enc_get_iv_size($cipher);
- if (empty($vector)) {
- $this->_srand();
- if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' && version_compare(PHP_VERSION, '5.3.0', '<')) {
- $method = MCRYPT_RAND;
- } else {
- if (file_exists('/dev/urandom') || (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')) {
- $method = MCRYPT_DEV_URANDOM;
- } elseif (file_exists('/dev/random')) {
- $method = MCRYPT_DEV_RANDOM;
- } else {
- $method = MCRYPT_RAND;
- }
- }
- $vector = mcrypt_create_iv($size, $method);
- } else if (strlen($vector) != $size) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('The given vector has a wrong size for the set algorithm');
- }
-
- $this->_encryption['vector'] = $vector;
- $this->_closeCipher($cipher);
-
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Encrypts the file $value with the defined settings
- *
- * @param string $value Full path of file to change
- * @return string The filename which has been set, or false when there were errors
- */
- public function encrypt($value)
- {
- $cipher = $this->_openCipher();
- $this->_initCipher($cipher);
- $encrypted = mcrypt_generic($cipher, $value);
- mcrypt_generic_deinit($cipher);
- $this->_closeCipher($cipher);
-
- return $encrypted;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Decrypts the file $value with the defined settings
- *
- * @param string $value Full path of file to change
- * @return string The filename which has been set, or false when there were errors
- */
- public function decrypt($value)
- {
- $cipher = $this->_openCipher();
- $this->_initCipher($cipher);
- $decrypted = mdecrypt_generic($cipher, $value);
- mcrypt_generic_deinit($cipher);
- $this->_closeCipher($cipher);
-
- return $decrypted;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Mcrypt';
- }
-
- /**
- * Open a cipher
- *
- * @throws Zend_Filter_Exception When the cipher can not be opened
- * @return resource Returns the opened cipher
- */
- protected function _openCipher()
- {
- $cipher = mcrypt_module_open(
- $this->_encryption['algorithm'],
- $this->_encryption['algorithm_directory'],
- $this->_encryption['mode'],
- $this->_encryption['mode_directory']);
-
- if ($cipher === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Mcrypt can not be opened with your settings');
- }
-
- return $cipher;
- }
-
- /**
- * Close a cipher
- *
- * @param resource $cipher Cipher to close
- * @return Zend_Filter_Encrypt_Mcrypt
- */
- protected function _closeCipher($cipher)
- {
- mcrypt_module_close($cipher);
-
- return $this;
- }
-
- /**
- * Initialises the cipher with the set key
- *
- * @param resource $cipher
- * @throws
- * @return resource
- */
- protected function _initCipher($cipher)
- {
- $key = $this->_encryption['key'];
-
- $keysizes = mcrypt_enc_get_supported_key_sizes($cipher);
- if (empty($keysizes) || ($this->_encryption['salt'] == true)) {
- $this->_srand();
- $keysize = mcrypt_enc_get_key_size($cipher);
- $key = substr(md5($key), 0, $keysize);
- } else if (!in_array(strlen($key), $keysizes)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('The given key has a wrong size for the set algorithm');
- }
-
- $result = mcrypt_generic_init($cipher, $key, $this->_encryption['vector']);
- if ($result < 0) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Mcrypt could not be initialize with the given setting');
- }
-
- return $this;
- }
-
- /**
- * _srand() interception
- *
- * @see ZF-8742
- */
- protected function _srand()
- {
- if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
- return;
- }
-
- if (!self::$_srandCalled) {
- srand((double) microtime() * 1000000);
- self::$_srandCalled = true;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Encrypt/Openssl.php b/airtime_mvc/library/Zend/Filter/Encrypt/Openssl.php
deleted file mode 100644
index a572373e0..000000000
--- a/airtime_mvc/library/Zend/Filter/Encrypt/Openssl.php
+++ /dev/null
@@ -1,353 +0,0 @@
- public keys
- * 'private' => private keys
- * 'envelope' => resulting envelope keys
- * )
- */
- protected $_keys = array(
- 'public' => array(),
- 'private' => array(),
- 'envelope' => array()
- );
-
- /**
- * Internal passphrase
- *
- * @var string
- */
- protected $_passphrase;
-
- /**
- * Class constructor
- * Available options
- * 'public' => public key
- * 'private' => private key
- * 'envelope' => envelope key
- * 'passphrase' => passphrase
- *
- * @param string|array $options Options for this adapter
- */
- public function __construct($options = array())
- {
- if (!extension_loaded('openssl')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('This filter needs the openssl extension');
- }
-
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (!is_array($options)) {
- $options = array('public' => $options);
- }
-
- if (array_key_exists('passphrase', $options)) {
- $this->setPassphrase($options['passphrase']);
- unset($options['passphrase']);
- }
-
- $this->_setKeys($options);
- }
-
- /**
- * Sets the encryption keys
- *
- * @param string|array $keys Key with type association
- * @return Zend_Filter_Encrypt_Openssl
- */
- protected function _setKeys($keys)
- {
- if (!is_array($keys)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Invalid options argument provided to filter');
- }
-
- foreach ($keys as $type => $key) {
- if (is_file($key) and is_readable($key)) {
- $file = fopen($key, 'r');
- $cert = fread($file, 8192);
- fclose($file);
- } else {
- $cert = $key;
- $key = count($this->_keys[$type]);
- }
-
- switch ($type) {
- case 'public':
- $test = openssl_pkey_get_public($cert);
- if ($test === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Public key '{$cert}' not valid");
- }
-
- openssl_free_key($test);
- $this->_keys['public'][$key] = $cert;
- break;
- case 'private':
- $test = openssl_pkey_get_private($cert, $this->_passphrase);
- if ($test === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Private key '{$cert}' not valid");
- }
-
- openssl_free_key($test);
- $this->_keys['private'][$key] = $cert;
- break;
- case 'envelope':
- $this->_keys['envelope'][$key] = $cert;
- break;
- default:
- break;
- }
- }
-
- return $this;
- }
-
- /**
- * Returns all public keys
- *
- * @return array
- */
- public function getPublicKey()
- {
- return $this->_keys['public'];
- }
-
- /**
- * Sets public keys
- *
- * @param string|array $key Public keys
- * @return Zend_Filter_Encrypt_Openssl
- */
- public function setPublicKey($key)
- {
- if (is_array($key)) {
- foreach($key as $type => $option) {
- if ($type !== 'public') {
- $key['public'] = $option;
- unset($key[$type]);
- }
- }
- } else {
- $key = array('public' => $key);
- }
-
- return $this->_setKeys($key);
- }
-
- /**
- * Returns all private keys
- *
- * @return array
- */
- public function getPrivateKey()
- {
- return $this->_keys['private'];
- }
-
- /**
- * Sets private keys
- *
- * @param string $key Private key
- * @param string $passphrase
- * @return Zend_Filter_Encrypt_Openssl
- */
- public function setPrivateKey($key, $passphrase = null)
- {
- if (is_array($key)) {
- foreach($key as $type => $option) {
- if ($type !== 'private') {
- $key['private'] = $option;
- unset($key[$type]);
- }
- }
- } else {
- $key = array('private' => $key);
- }
-
- if ($passphrase !== null) {
- $this->setPassphrase($passphrase);
- }
-
- return $this->_setKeys($key);
- }
-
- /**
- * Returns all envelope keys
- *
- * @return array
- */
- public function getEnvelopeKey()
- {
- return $this->_keys['envelope'];
- }
-
- /**
- * Sets envelope keys
- *
- * @param string|array $options Envelope keys
- * @return Zend_Filter_Encrypt_Openssl
- */
- public function setEnvelopeKey($key)
- {
- if (is_array($key)) {
- foreach($key as $type => $option) {
- if ($type !== 'envelope') {
- $key['envelope'] = $option;
- unset($key[$type]);
- }
- }
- } else {
- $key = array('envelope' => $key);
- }
-
- return $this->_setKeys($key);
- }
-
- /**
- * Returns the passphrase
- *
- * @return string
- */
- public function getPassphrase()
- {
- return $this->_passphrase;
- }
-
- /**
- * Sets a new passphrase
- *
- * @param string $passphrase
- * @return Zend_Filter_Encrypt_Openssl
- */
- public function setPassphrase($passphrase)
- {
- $this->_passphrase = $passphrase;
- return $this;
- }
-
- /**
- * Encrypts the file $value with the defined settings
- * Note that you also need the "encrypted" keys to be able to decrypt
- *
- * @param string $value Content to encrypt
- * @return string The encrypted content
- * @throws Zend_Filter_Exception
- */
- public function encrypt($value)
- {
- $encrypted = array();
- $encryptedkeys = array();
-
- if (count($this->_keys['public']) == 0) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Openssl can not encrypt without public keys');
- }
-
- foreach($this->_keys['public'] as $key => $cert) {
- $keys[$key] = openssl_pkey_get_public($cert);
- }
-
- $crypt = openssl_seal($value, $encrypted, $encryptedkeys, $keys);
- foreach ($keys as $key) {
- openssl_free_key($key);
- }
-
- if ($crypt === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Openssl was not able to encrypt you content with the given options');
- }
-
- $this->_keys['envelope'] = $encryptedkeys;
- return $encrypted;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Decrypts the file $value with the defined settings
- *
- * @param string $value Content to decrypt
- * @return string The decrypted content
- * @throws Zend_Filter_Exception
- */
- public function decrypt($value)
- {
- $decrypted = "";
- $envelope = current($this->getEnvelopeKey());
-
- if (count($this->_keys['private']) !== 1) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Openssl can only decrypt with one private key');
- }
-
- if (empty($envelope)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Openssl can only decrypt with one envelope key');
- }
-
- foreach($this->_keys['private'] as $key => $cert) {
- $keys = openssl_pkey_get_private($cert, $this->getPassphrase());
- }
-
- $crypt = openssl_open($value, $decrypted, $envelope, $keys);
- openssl_free_key($keys);
-
- if ($crypt === false) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Openssl was not able to decrypt you content with the given options');
- }
-
- return $decrypted;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return 'Openssl';
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Exception.php b/airtime_mvc/library/Zend/Filter/Exception.php
deleted file mode 100644
index d8391862c..000000000
--- a/airtime_mvc/library/Zend/Filter/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_filename;
- }
-
- /**
- * Sets the new filename where the content will be stored
- *
- * @param string $filename (Optional) New filename to set
- * @return Zend_Filter_File_Encryt
- */
- public function setFilename($filename = null)
- {
- $this->_filename = $filename;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Decrypts the file $value with the defined settings
- *
- * @param string $value Full path of file to change
- * @return string The filename which has been set, or false when there were errors
- */
- public function filter($value)
- {
- if (!file_exists($value)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '$value' not found");
- }
-
- if (!isset($this->_filename)) {
- $this->_filename = $value;
- }
-
- if (file_exists($this->_filename) and !is_writable($this->_filename)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '{$this->_filename}' is not writable");
- }
-
- $content = file_get_contents($value);
- if (!$content) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while reading file '$value'");
- }
-
- $decrypted = parent::filter($content);
- $result = file_put_contents($this->_filename, $decrypted);
-
- if (!$result) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while writing file '{$this->_filename}'");
- }
-
- return $this->_filename;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/File/Encrypt.php b/airtime_mvc/library/Zend/Filter/File/Encrypt.php
deleted file mode 100644
index 7a14a3193..000000000
--- a/airtime_mvc/library/Zend/Filter/File/Encrypt.php
+++ /dev/null
@@ -1,106 +0,0 @@
-_filename;
- }
-
- /**
- * Sets the new filename where the content will be stored
- *
- * @param string $filename (Optional) New filename to set
- * @return Zend_Filter_File_Encryt
- */
- public function setFilename($filename = null)
- {
- $this->_filename = $filename;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Encrypts the file $value with the defined settings
- *
- * @param string $value Full path of file to change
- * @return string The filename which has been set, or false when there were errors
- */
- public function filter($value)
- {
- if (!file_exists($value)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '$value' not found");
- }
-
- if (!isset($this->_filename)) {
- $this->_filename = $value;
- }
-
- if (file_exists($this->_filename) and !is_writable($this->_filename)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '{$this->_filename}' is not writable");
- }
-
- $content = file_get_contents($value);
- if (!$content) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while reading file '$value'");
- }
-
- $encrypted = parent::filter($content);
- $result = file_put_contents($this->_filename, $encrypted);
-
- if (!$result) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while writing file '{$this->_filename}'");
- }
-
- return $this->_filename;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/File/LowerCase.php b/airtime_mvc/library/Zend/Filter/File/LowerCase.php
deleted file mode 100644
index d936d8096..000000000
--- a/airtime_mvc/library/Zend/Filter/File/LowerCase.php
+++ /dev/null
@@ -1,84 +0,0 @@
-setEncoding($options);
- }
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Does a lowercase on the content of the given file
- *
- * @param string $value Full path of file to change
- * @return string The given $value
- * @throws Zend_Filter_Exception
- */
- public function filter($value)
- {
- if (!file_exists($value)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '$value' not found");
- }
-
- if (!is_writable($value)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '$value' is not writable");
- }
-
- $content = file_get_contents($value);
- if (!$content) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while reading file '$value'");
- }
-
- $content = parent::filter($content);
- $result = file_put_contents($value, $content);
-
- if (!$result) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while writing file '$value'");
- }
-
- return $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/File/Rename.php b/airtime_mvc/library/Zend/Filter/File/Rename.php
deleted file mode 100644
index b3ee91a77..000000000
--- a/airtime_mvc/library/Zend/Filter/File/Rename.php
+++ /dev/null
@@ -1,304 +0,0 @@
- Source filename or directory which will be renamed
- * 'target' => Target filename or directory, the new name of the sourcefile
- * 'overwrite' => Shall existing files be overwritten ?
- *
- * @param string|array $options Target file or directory to be renamed
- * @param string $target Source filename or directory (deprecated)
- * @param bool $overwrite Should existing files be overwritten (deprecated)
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_string($options)) {
- $options = array('target' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Invalid options argument provided to filter');
- }
-
- if (1 < func_num_args()) {
- $argv = func_get_args();
- array_shift($argv);
- $source = array_shift($argv);
- $overwrite = false;
- if (!empty($argv)) {
- $overwrite = array_shift($argv);
- }
- $options['source'] = $source;
- $options['overwrite'] = $overwrite;
- }
-
- $this->setFile($options);
- }
-
- /**
- * Returns the files to rename and their new name and location
- *
- * @return array
- */
- public function getFile()
- {
- return $this->_files;
- }
-
- /**
- * Sets a new file or directory as target, deleting existing ones
- *
- * Array accepts the following keys:
- * 'source' => Source filename or directory which will be renamed
- * 'target' => Target filename or directory, the new name of the sourcefile
- * 'overwrite' => Shall existing files be overwritten ?
- *
- * @param string|array $options Old file or directory to be rewritten
- * @return Zend_Filter_File_Rename
- */
- public function setFile($options)
- {
- $this->_files = array();
- $this->addFile($options);
-
- return $this;
- }
-
- /**
- * Adds a new file or directory as target to the existing ones
- *
- * Array accepts the following keys:
- * 'source' => Source filename or directory which will be renamed
- * 'target' => Target filename or directory, the new name of the sourcefile
- * 'overwrite' => Shall existing files be overwritten ?
- *
- * @param string|array $options Old file or directory to be rewritten
- * @return Zend_Filter_File_Rename
- */
- public function addFile($options)
- {
- if (is_string($options)) {
- $options = array('target' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception ('Invalid options to rename filter provided');
- }
-
- $this->_convertOptions($options);
-
- return $this;
- }
-
- /**
- * Returns only the new filename without moving it
- * But existing files will be erased when the overwrite option is true
- *
- * @param string $value Full path of file to change
- * @param boolean $source Return internal informations
- * @return string The new filename which has been set
- */
- public function getNewName($value, $source = false)
- {
- $file = $this->_getFileName($value);
- if ($file['source'] == $file['target']) {
- return $value;
- }
-
- if (!file_exists($file['source'])) {
- return $value;
- }
-
- if (($file['overwrite'] == true) && (file_exists($file['target']))) {
- unlink($file['target']);
- }
-
- if (file_exists($file['target'])) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception(sprintf("File '%s' could not be renamed. It already exists.", $value));
- }
-
- if ($source) {
- return $file;
- }
-
- return $file['target'];
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Renames the file $value to the new name set before
- * Returns the file $value, removing all but digit characters
- *
- * @param string $value Full path of file to change
- * @throws Zend_Filter_Exception
- * @return string The new filename which has been set, or false when there were errors
- */
- public function filter($value)
- {
- $file = $this->getNewName($value, true);
- if (is_string($file)) {
- return $file;
- }
-
- $result = rename($file['source'], $file['target']);
-
- if ($result === true) {
- return $file['target'];
- }
-
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception(sprintf("File '%s' could not be renamed. An error occured while processing the file.", $value));
- }
-
- /**
- * Internal method for creating the file array
- * Supports single and nested arrays
- *
- * @param array $options
- * @return array
- */
- protected function _convertOptions($options) {
- $files = array();
- foreach ($options as $key => $value) {
- if (is_array($value)) {
- $this->_convertOptions($value);
- continue;
- }
-
- switch ($key) {
- case "source":
- $files['source'] = (string) $value;
- break;
-
- case 'target' :
- $files['target'] = (string) $value;
- break;
-
- case 'overwrite' :
- $files['overwrite'] = (boolean) $value;
- break;
-
- default:
- break;
- }
- }
-
- if (empty($files)) {
- return $this;
- }
-
- if (empty($files['source'])) {
- $files['source'] = '*';
- }
-
- if (empty($files['target'])) {
- $files['target'] = '*';
- }
-
- if (empty($files['overwrite'])) {
- $files['overwrite'] = false;
- }
-
- $found = false;
- foreach ($this->_files as $key => $value) {
- if ($value['source'] == $files['source']) {
- $this->_files[$key] = $files;
- $found = true;
- }
- }
-
- if (!$found) {
- $count = count($this->_files);
- $this->_files[$count] = $files;
- }
-
- return $this;
- }
-
- /**
- * Internal method to resolve the requested source
- * and return all other related parameters
- *
- * @param string $file Filename to get the informations for
- * @return array
- */
- protected function _getFileName($file)
- {
- $rename = array();
- foreach ($this->_files as $value) {
- if ($value['source'] == '*') {
- if (!isset($rename['source'])) {
- $rename = $value;
- $rename['source'] = $file;
- }
- }
-
- if ($value['source'] == $file) {
- $rename = $value;
- }
- }
-
- if (!isset($rename['source'])) {
- return $file;
- }
-
- if (!isset($rename['target']) or ($rename['target'] == '*')) {
- $rename['target'] = $rename['source'];
- }
-
- if (is_dir($rename['target'])) {
- $name = basename($rename['source']);
- $last = $rename['target'][strlen($rename['target']) - 1];
- if (($last != '/') and ($last != '\\')) {
- $rename['target'] .= DIRECTORY_SEPARATOR;
- }
-
- $rename['target'] .= $name;
- }
-
- return $rename;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/File/UpperCase.php b/airtime_mvc/library/Zend/Filter/File/UpperCase.php
deleted file mode 100644
index 31dbe8c26..000000000
--- a/airtime_mvc/library/Zend/Filter/File/UpperCase.php
+++ /dev/null
@@ -1,84 +0,0 @@
-setEncoding($options);
- }
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Does a lowercase on the content of the given file
- *
- * @param string $value Full path of file to change
- * @return string The given $value
- * @throws Zend_Filter_Exception
- */
- public function filter($value)
- {
- if (!file_exists($value)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '$value' not found");
- }
-
- if (!is_writable($value)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("File '$value' is not writable");
- }
-
- $content = file_get_contents($value);
- if (!$content) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while reading file '$value'");
- }
-
- $content = parent::filter($content);
- $result = file_put_contents($value, $content);
-
- if (!$result) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Problem while writing file '$value'");
- }
-
- return $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/HtmlEntities.php b/airtime_mvc/library/Zend/Filter/HtmlEntities.php
deleted file mode 100644
index d5d1e409b..000000000
--- a/airtime_mvc/library/Zend/Filter/HtmlEntities.php
+++ /dev/null
@@ -1,202 +0,0 @@
-toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['quotestyle'] = array_shift($options);
- if (!empty($options)) {
- $temp['charset'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (!isset($options['quotestyle'])) {
- $options['quotestyle'] = ENT_COMPAT;
- }
-
- if (!isset($options['encoding'])) {
- $options['encoding'] = 'UTF-8';
- }
- if (isset($options['charset'])) {
- $options['encoding'] = $options['charset'];
- }
-
- if (!isset($options['doublequote'])) {
- $options['doublequote'] = true;
- }
-
- $this->setQuoteStyle($options['quotestyle']);
- $this->setEncoding($options['encoding']);
- $this->setDoubleQuote($options['doublequote']);
- }
-
- /**
- * Returns the quoteStyle option
- *
- * @return integer
- */
- public function getQuoteStyle()
- {
- return $this->_quoteStyle;
- }
-
- /**
- * Sets the quoteStyle option
- *
- * @param integer $quoteStyle
- * @return Zend_Filter_HtmlEntities Provides a fluent interface
- */
- public function setQuoteStyle($quoteStyle)
- {
- $this->_quoteStyle = $quoteStyle;
- return $this;
- }
-
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set encoding
- *
- * @param string $value
- * @return Zend_Filter_HtmlEntities
- */
- public function setEncoding($value)
- {
- $this->_encoding = (string) $value;
- return $this;
- }
-
- /**
- * Returns the charSet option
- *
- * Proxies to {@link getEncoding()}
- *
- * @return string
- */
- public function getCharSet()
- {
- return $this->getEncoding();
- }
-
- /**
- * Sets the charSet option
- *
- * Proxies to {@link setEncoding()}
- *
- * @param string $charSet
- * @return Zend_Filter_HtmlEntities Provides a fluent interface
- */
- public function setCharSet($charSet)
- {
- return $this->setEncoding($charSet);
- }
-
- /**
- * Returns the doubleQuote option
- *
- * @return boolean
- */
- public function getDoubleQuote()
- {
- return $this->_doubleQuote;
- }
-
- /**
- * Sets the doubleQuote option
- *
- * @param boolean $doubleQuote
- * @return Zend_Filter_HtmlEntities Provides a fluent interface
- */
- public function setDoubleQuote($doubleQuote)
- {
- $this->_doubleQuote = (boolean) $doubleQuote;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns the string $value, converting characters to their corresponding HTML entity
- * equivalents where they exist
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- return htmlentities((string) $value, $this->getQuoteStyle(), $this->getEncoding(), $this->getDoubleQuote());
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Inflector.php b/airtime_mvc/library/Zend/Filter/Inflector.php
deleted file mode 100644
index f79bacc79..000000000
--- a/airtime_mvc/library/Zend/Filter/Inflector.php
+++ /dev/null
@@ -1,527 +0,0 @@
-toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
-
- if (!empty($options)) {
- $temp['target'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['rules'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['throwTargetExceptionsOn'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['targetReplacementIdentifier'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- $this->setOptions($options);
- }
-
- /**
- * Retreive PluginLoader
- *
- * @return Zend_Loader_PluginLoader_Interface
- */
- public function getPluginLoader()
- {
- if (!$this->_pluginLoader instanceof Zend_Loader_PluginLoader_Interface) {
- $this->_pluginLoader = new Zend_Loader_PluginLoader(array('Zend_Filter_' => 'Zend/Filter/'), __CLASS__);
- }
-
- return $this->_pluginLoader;
- }
-
- /**
- * Set PluginLoader
- *
- * @param Zend_Loader_PluginLoader_Interface $pluginLoader
- * @return Zend_Filter_Inflector
- */
- public function setPluginLoader(Zend_Loader_PluginLoader_Interface $pluginLoader)
- {
- $this->_pluginLoader = $pluginLoader;
- return $this;
- }
-
- /**
- * Use Zend_Config object to set object state
- *
- * @deprecated Use setOptions() instead
- * @param Zend_Config $config
- * @return Zend_Filter_Inflector
- */
- public function setConfig(Zend_Config $config)
- {
- return $this->setOptions($config);
- }
-
- /**
- * Set options
- *
- * @param array $options
- * @return Zend_Filter_Inflector
- */
- public function setOptions($options) {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- // Set Präfix Path
- if (array_key_exists('filterPrefixPath', $options)) {
- if (!is_scalar($options['filterPrefixPath'])) {
- foreach ($options['filterPrefixPath'] as $prefix => $path) {
- $this->addFilterPrefixPath($prefix, $path);
- }
- }
- }
-
- if (array_key_exists('throwTargetExceptionsOn', $options)) {
- $this->setThrowTargetExceptionsOn($options['throwTargetExceptionsOn']);
- }
-
- if (array_key_exists('targetReplacementIdentifier', $options)) {
- $this->setTargetReplacementIdentifier($options['targetReplacementIdentifier']);
- }
-
- if (array_key_exists('target', $options)) {
- $this->setTarget($options['target']);
- }
-
- if (array_key_exists('rules', $options)) {
- $this->addRules($options['rules']);
- }
-
- return $this;
- }
-
- /**
- * Convienence method to add prefix and path to PluginLoader
- *
- * @param string $prefix
- * @param string $path
- * @return Zend_Filter_Inflector
- */
- public function addFilterPrefixPath($prefix, $path)
- {
- $this->getPluginLoader()->addPrefixPath($prefix, $path);
- return $this;
- }
-
- /**
- * Set Whether or not the inflector should throw an exception when a replacement
- * identifier is still found within an inflected target.
- *
- * @param bool $throwTargetExceptions
- * @return Zend_Filter_Inflector
- */
- public function setThrowTargetExceptionsOn($throwTargetExceptionsOn)
- {
- $this->_throwTargetExceptionsOn = ($throwTargetExceptionsOn == true) ? true : false;
- return $this;
- }
-
- /**
- * Will exceptions be thrown?
- *
- * @return bool
- */
- public function isThrowTargetExceptionsOn()
- {
- return $this->_throwTargetExceptionsOn;
- }
-
- /**
- * Set the Target Replacement Identifier, by default ':'
- *
- * @param string $targetReplacementIdentifier
- * @return Zend_Filter_Inflector
- */
- public function setTargetReplacementIdentifier($targetReplacementIdentifier)
- {
- if ($targetReplacementIdentifier) {
- $this->_targetReplacementIdentifier = (string) $targetReplacementIdentifier;
- }
-
- return $this;
- }
-
- /**
- * Get Target Replacement Identifier
- *
- * @return string
- */
- public function getTargetReplacementIdentifier()
- {
- return $this->_targetReplacementIdentifier;
- }
-
- /**
- * Set a Target
- * ex: 'scripts/:controller/:action.:suffix'
- *
- * @param string
- * @return Zend_Filter_Inflector
- */
- public function setTarget($target)
- {
- $this->_target = (string) $target;
- return $this;
- }
-
- /**
- * Retrieve target
- *
- * @return string
- */
- public function getTarget()
- {
- return $this->_target;
- }
-
- /**
- * Set Target Reference
- *
- * @param reference $target
- * @return Zend_Filter_Inflector
- */
- public function setTargetReference(&$target)
- {
- $this->_target =& $target;
- return $this;
- }
-
- /**
- * SetRules() is the same as calling addRules() with the exception that it
- * clears the rules before adding them.
- *
- * @param array $rules
- * @return Zend_Filter_Inflector
- */
- public function setRules(Array $rules)
- {
- $this->clearRules();
- $this->addRules($rules);
- return $this;
- }
-
- /**
- * AddRules(): multi-call to setting filter rules.
- *
- * If prefixed with a ":" (colon), a filter rule will be added. If not
- * prefixed, a static replacement will be added.
- *
- * ex:
- * array(
- * ':controller' => array('CamelCaseToUnderscore','StringToLower'),
- * ':action' => array('CamelCaseToUnderscore','StringToLower'),
- * 'suffix' => 'phtml'
- * );
- *
- * @param array
- * @return Zend_Filter_Inflector
- */
- public function addRules(Array $rules)
- {
- $keys = array_keys($rules);
- foreach ($keys as $spec) {
- if ($spec[0] == ':') {
- $this->addFilterRule($spec, $rules[$spec]);
- } else {
- $this->setStaticRule($spec, $rules[$spec]);
- }
- }
-
- return $this;
- }
-
- /**
- * Get rules
- *
- * By default, returns all rules. If a $spec is provided, will return those
- * rules if found, false otherwise.
- *
- * @param string $spec
- * @return array|false
- */
- public function getRules($spec = null)
- {
- if (null !== $spec) {
- $spec = $this->_normalizeSpec($spec);
- if (isset($this->_rules[$spec])) {
- return $this->_rules[$spec];
- }
- return false;
- }
-
- return $this->_rules;
- }
-
- /**
- * getRule() returns a rule set by setFilterRule(), a numeric index must be provided
- *
- * @param string $spec
- * @param int $index
- * @return Zend_Filter_Interface|false
- */
- public function getRule($spec, $index)
- {
- $spec = $this->_normalizeSpec($spec);
- if (isset($this->_rules[$spec]) && is_array($this->_rules[$spec])) {
- if (isset($this->_rules[$spec][$index])) {
- return $this->_rules[$spec][$index];
- }
- }
- return false;
- }
-
- /**
- * ClearRules() clears the rules currently in the inflector
- *
- * @return Zend_Filter_Inflector
- */
- public function clearRules()
- {
- $this->_rules = array();
- return $this;
- }
-
- /**
- * Set a filtering rule for a spec. $ruleSet can be a string, Filter object
- * or an array of strings or filter objects.
- *
- * @param string $spec
- * @param array|string|Zend_Filter_Interface $ruleSet
- * @return Zend_Filter_Inflector
- */
- public function setFilterRule($spec, $ruleSet)
- {
- $spec = $this->_normalizeSpec($spec);
- $this->_rules[$spec] = array();
- return $this->addFilterRule($spec, $ruleSet);
- }
-
- /**
- * Add a filter rule for a spec
- *
- * @param mixed $spec
- * @param mixed $ruleSet
- * @return void
- */
- public function addFilterRule($spec, $ruleSet)
- {
- $spec = $this->_normalizeSpec($spec);
- if (!isset($this->_rules[$spec])) {
- $this->_rules[$spec] = array();
- }
-
- if (!is_array($ruleSet)) {
- $ruleSet = array($ruleSet);
- }
-
- if (is_string($this->_rules[$spec])) {
- $temp = $this->_rules[$spec];
- $this->_rules[$spec] = array();
- $this->_rules[$spec][] = $temp;
- }
-
- foreach ($ruleSet as $rule) {
- $this->_rules[$spec][] = $this->_getRule($rule);
- }
-
- return $this;
- }
-
- /**
- * Set a static rule for a spec. This is a single string value
- *
- * @param string $name
- * @param string $value
- * @return Zend_Filter_Inflector
- */
- public function setStaticRule($name, $value)
- {
- $name = $this->_normalizeSpec($name);
- $this->_rules[$name] = (string) $value;
- return $this;
- }
-
- /**
- * Set Static Rule Reference.
- *
- * This allows a consuming class to pass a property or variable
- * in to be referenced when its time to build the output string from the
- * target.
- *
- * @param string $name
- * @param mixed $reference
- * @return Zend_Filter_Inflector
- */
- public function setStaticRuleReference($name, &$reference)
- {
- $name = $this->_normalizeSpec($name);
- $this->_rules[$name] =& $reference;
- return $this;
- }
-
- /**
- * Inflect
- *
- * @param string|array $source
- * @return string
- */
- public function filter($source)
- {
- // clean source
- foreach ( (array) $source as $sourceName => $sourceValue) {
- $source[ltrim($sourceName, ':')] = $sourceValue;
- }
-
- $pregQuotedTargetReplacementIdentifier = preg_quote($this->_targetReplacementIdentifier, '#');
- $processedParts = array();
-
- foreach ($this->_rules as $ruleName => $ruleValue) {
- if (isset($source[$ruleName])) {
- if (is_string($ruleValue)) {
- // overriding the set rule
- $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $source[$ruleName]);
- } elseif (is_array($ruleValue)) {
- $processedPart = $source[$ruleName];
- foreach ($ruleValue as $ruleFilter) {
- $processedPart = $ruleFilter->filter($processedPart);
- }
- $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $processedPart);
- }
- } elseif (is_string($ruleValue)) {
- $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $ruleValue);
- }
- }
-
- // all of the values of processedParts would have been str_replace('\\', '\\\\', ..)'d to disable preg_replace backreferences
- $inflectedTarget = preg_replace(array_keys($processedParts), array_values($processedParts), $this->_target);
-
- if ($this->_throwTargetExceptionsOn && (preg_match('#(?='.$pregQuotedTargetReplacementIdentifier.'[A-Za-z]{1})#', $inflectedTarget) == true)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('A replacement identifier ' . $this->_targetReplacementIdentifier . ' was found inside the inflected target, perhaps a rule was not satisfied with a target source? Unsatisfied inflected target: ' . $inflectedTarget);
- }
-
- return $inflectedTarget;
- }
-
- /**
- * Normalize spec string
- *
- * @param string $spec
- * @return string
- */
- protected function _normalizeSpec($spec)
- {
- return ltrim((string) $spec, ':&');
- }
-
- /**
- * Resolve named filters and convert them to filter objects.
- *
- * @param string $rule
- * @return Zend_Filter_Interface
- */
- protected function _getRule($rule)
- {
- if ($rule instanceof Zend_Filter_Interface) {
- return $rule;
- }
-
- $rule = (string) $rule;
-
- $className = $this->getPluginLoader()->load($rule);
- $ruleObject = new $className();
- if (!$ruleObject instanceof Zend_Filter_Interface) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('No class named ' . $rule . ' implementing Zend_Filter_Interface could be found');
- }
-
- return $ruleObject;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Input.php b/airtime_mvc/library/Zend/Filter/Input.php
deleted file mode 100644
index 52daa03cc..000000000
--- a/airtime_mvc/library/Zend/Filter/Input.php
+++ /dev/null
@@ -1,1126 +0,0 @@
- false,
- self::BREAK_CHAIN => false,
- self::ESCAPE_FILTER => 'HtmlEntities',
- self::MISSING_MESSAGE => "Field '%field%' is required by rule '%rule%', but the field is missing",
- self::NOT_EMPTY_MESSAGE => "You must give a non-empty value for field '%field%'",
- self::PRESENCE => self::PRESENCE_OPTIONAL
- );
-
- /**
- * @var boolean Set to False initially, this is set to True after the
- * input data have been processed. Reset to False in setData() method.
- */
- protected $_processed = false;
-
- /**
- * Translation object
- * @var Zend_Translate
- */
- protected $_translator;
-
- /**
- * Is translation disabled?
- * @var Boolean
- */
- protected $_translatorDisabled = false;
-
- /**
- * @param array $filterRules
- * @param array $validatorRules
- * @param array $data OPTIONAL
- * @param array $options OPTIONAL
- */
- public function __construct($filterRules, $validatorRules, array $data = null, array $options = null)
- {
- if ($options) {
- $this->setOptions($options);
- }
-
- $this->_filterRules = (array) $filterRules;
- $this->_validatorRules = (array) $validatorRules;
-
- if ($data) {
- $this->setData($data);
- }
- }
-
- /**
- * @param mixed $namespaces
- * @return Zend_Filter_Input
- * @deprecated since 1.5.0RC1 - use addFilterPrefixPath() or addValidatorPrefixPath instead.
- */
- public function addNamespace($namespaces)
- {
- if (!is_array($namespaces)) {
- $namespaces = array($namespaces);
- }
-
- foreach ($namespaces as $namespace) {
- $prefix = $namespace;
- $path = str_replace('_', DIRECTORY_SEPARATOR, $prefix);
- $this->addFilterPrefixPath($prefix, $path);
- $this->addValidatorPrefixPath($prefix, $path);
- }
-
- return $this;
- }
-
- /**
- * Add prefix path for all elements
- *
- * @param string $prefix
- * @param string $path
- * @return Zend_Filter_Input
- */
- public function addFilterPrefixPath($prefix, $path)
- {
- $this->getPluginLoader(self::FILTER)->addPrefixPath($prefix, $path);
-
- return $this;
- }
-
- /**
- * Add prefix path for all elements
- *
- * @param string $prefix
- * @param string $path
- * @return Zend_Filter_Input
- */
- public function addValidatorPrefixPath($prefix, $path)
- {
- $this->getPluginLoader(self::VALIDATE)->addPrefixPath($prefix, $path);
-
- return $this;
- }
-
- /**
- * Set plugin loaders for use with decorators and elements
- *
- * @param Zend_Loader_PluginLoader_Interface $loader
- * @param string $type 'filter' or 'validate'
- * @return Zend_Filter_Input
- * @throws Zend_Filter_Exception on invalid type
- */
- public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type)
- {
- $type = strtolower($type);
- switch ($type) {
- case self::FILTER:
- case self::VALIDATE:
- $this->_loaders[$type] = $loader;
- return $this;
- default:
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception(sprintf('Invalid type "%s" provided to setPluginLoader()', $type));
- }
-
- return $this;
- }
-
- /**
- * Retrieve plugin loader for given type
- *
- * $type may be one of:
- * - filter
- * - validator
- *
- * If a plugin loader does not exist for the given type, defaults are
- * created.
- *
- * @param string $type 'filter' or 'validate'
- * @return Zend_Loader_PluginLoader_Interface
- * @throws Zend_Filter_Exception on invalid type
- */
- public function getPluginLoader($type)
- {
- $type = strtolower($type);
- if (!isset($this->_loaders[$type])) {
- switch ($type) {
- case self::FILTER:
- $prefixSegment = 'Zend_Filter_';
- $pathSegment = 'Zend/Filter/';
- break;
- case self::VALIDATE:
- $prefixSegment = 'Zend_Validate_';
- $pathSegment = 'Zend/Validate/';
- break;
- default:
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception(sprintf('Invalid type "%s" provided to getPluginLoader()', $type));
- }
-
- require_once 'Zend/Loader/PluginLoader.php';
- $this->_loaders[$type] = new Zend_Loader_PluginLoader(
- array($prefixSegment => $pathSegment)
- );
- }
-
- return $this->_loaders[$type];
- }
-
- /**
- * @return array
- */
- public function getMessages()
- {
- $this->_process();
- return array_merge($this->_invalidMessages, $this->_missingFields);
- }
-
- /**
- * @return array
- */
- public function getErrors()
- {
- $this->_process();
- return $this->_invalidErrors;
- }
-
- /**
- * @return array
- */
- public function getInvalid()
- {
- $this->_process();
- return $this->_invalidMessages;
- }
-
- /**
- * @return array
- */
- public function getMissing()
- {
- $this->_process();
- return $this->_missingFields;
- }
-
- /**
- * @return array
- */
- public function getUnknown()
- {
- $this->_process();
- return $this->_unknownFields;
- }
-
- /**
- * @param string $fieldName OPTIONAL
- * @return mixed
- */
- public function getEscaped($fieldName = null)
- {
- $this->_process();
- $this->_getDefaultEscapeFilter();
-
- if ($fieldName === null) {
- return $this->_escapeRecursive($this->_validFields);
- }
- if (array_key_exists($fieldName, $this->_validFields)) {
- return $this->_escapeRecursive($this->_validFields[$fieldName]);
- }
- return null;
- }
-
- /**
- * @param mixed $value
- * @return mixed
- */
- protected function _escapeRecursive($data)
- {
- if($data === null) {
- return $data;
- }
-
- if (!is_array($data)) {
- return $this->_getDefaultEscapeFilter()->filter($data);
- }
- foreach ($data as &$element) {
- $element = $this->_escapeRecursive($element);
- }
- return $data;
- }
-
- /**
- * @param string $fieldName OPTIONAL
- * @return mixed
- */
- public function getUnescaped($fieldName = null)
- {
- $this->_process();
- if ($fieldName === null) {
- return $this->_validFields;
- }
- if (array_key_exists($fieldName, $this->_validFields)) {
- return $this->_validFields[$fieldName];
- }
- return null;
- }
-
- /**
- * @param string $fieldName
- * @return mixed
- */
- public function __get($fieldName)
- {
- return $this->getEscaped($fieldName);
- }
-
- /**
- * @return boolean
- */
- public function hasInvalid()
- {
- $this->_process();
- return !(empty($this->_invalidMessages));
- }
-
- /**
- * @return boolean
- */
- public function hasMissing()
- {
- $this->_process();
- return !(empty($this->_missingFields));
- }
-
- /**
- * @return boolean
- */
- public function hasUnknown()
- {
- $this->_process();
- return !(empty($this->_unknownFields));
- }
-
- /**
- * @return boolean
- */
- public function hasValid()
- {
- $this->_process();
- return !(empty($this->_validFields));
- }
-
- /**
- * @param string $fieldName
- * @return boolean
- */
- public function isValid($fieldName = null)
- {
- $this->_process();
- if ($fieldName === null) {
- return !($this->hasMissing() || $this->hasInvalid());
- }
- return array_key_exists($fieldName, $this->_validFields);
- }
-
- /**
- * @param string $fieldName
- * @return boolean
- */
- public function __isset($fieldName)
- {
- $this->_process();
- return isset($this->_validFields[$fieldName]);
- }
-
- /**
- * @return Zend_Filter_Input
- * @throws Zend_Filter_Exception
- */
- public function process()
- {
- $this->_process();
- if ($this->hasInvalid()) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Input has invalid fields");
- }
- if ($this->hasMissing()) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Input has missing fields");
- }
-
- return $this;
- }
-
- /**
- * @param array $data
- * @return Zend_Filter_Input
- */
- public function setData(array $data)
- {
- $this->_data = $data;
-
- /**
- * Reset to initial state
- */
- $this->_validFields = array();
- $this->_invalidMessages = array();
- $this->_invalidErrors = array();
- $this->_missingFields = array();
- $this->_unknownFields = array();
-
- $this->_processed = false;
-
- return $this;
- }
-
- /**
- * @param mixed $escapeFilter
- * @return Zend_Filter_Interface
- */
- public function setDefaultEscapeFilter($escapeFilter)
- {
- if (is_string($escapeFilter) || is_array($escapeFilter)) {
- $escapeFilter = $this->_getFilter($escapeFilter);
- }
- if (!$escapeFilter instanceof Zend_Filter_Interface) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Escape filter specified does not implement Zend_Filter_Interface');
- }
- $this->_defaultEscapeFilter = $escapeFilter;
- return $escapeFilter;
- }
-
- /**
- * @param array $options
- * @return Zend_Filter_Input
- * @throws Zend_Filter_Exception if an unknown option is given
- */
- public function setOptions(array $options)
- {
- foreach ($options as $option => $value) {
- switch ($option) {
- case self::ESCAPE_FILTER:
- $this->setDefaultEscapeFilter($value);
- break;
- case self::INPUT_NAMESPACE:
- $this->addNamespace($value);
- break;
- case self::VALIDATOR_NAMESPACE:
- if(is_string($value)) {
- $value = array($value);
- }
-
- foreach($value AS $prefix) {
- $this->addValidatorPrefixPath(
- $prefix,
- str_replace('_', DIRECTORY_SEPARATOR, $prefix)
- );
- }
- break;
- case self::FILTER_NAMESPACE:
- if(is_string($value)) {
- $value = array($value);
- }
-
- foreach($value AS $prefix) {
- $this->addFilterPrefixPath(
- $prefix,
- str_replace('_', DIRECTORY_SEPARATOR, $prefix)
- );
- }
- break;
- case self::ALLOW_EMPTY:
- case self::BREAK_CHAIN:
- case self::MISSING_MESSAGE:
- case self::NOT_EMPTY_MESSAGE:
- case self::PRESENCE:
- $this->_defaults[$option] = $value;
- break;
- default:
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Unknown option '$option'");
- break;
- }
- }
-
- return $this;
- }
-
- /**
- * Set translation object
- *
- * @param Zend_Translate|Zend_Translate_Adapter|null $translator
- * @return Zend_Filter_Input
- */
- public function setTranslator($translator = null)
- {
- if ((null === $translator) || ($translator instanceof Zend_Translate_Adapter)) {
- $this->_translator = $translator;
- } elseif ($translator instanceof Zend_Translate) {
- $this->_translator = $translator->getAdapter();
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid translator specified');
- }
-
- return $this;
- }
-
- /**
- * Return translation object
- *
- * @return Zend_Translate_Adapter|null
- */
- public function getTranslator()
- {
- if ($this->translatorIsDisabled()) {
- return null;
- }
-
- if ($this->_translator === null) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Translate')) {
- $translator = Zend_Registry::get('Zend_Translate');
- if ($translator instanceof Zend_Translate_Adapter) {
- return $translator;
- } elseif ($translator instanceof Zend_Translate) {
- return $translator->getAdapter();
- }
- }
- }
-
- return $this->_translator;
- }
-
- /**
- * Indicate whether or not translation should be disabled
- *
- * @param bool $flag
- * @return Zend_Filter_Input
- */
- public function setDisableTranslator($flag)
- {
- $this->_translatorDisabled = (bool) $flag;
- return $this;
- }
-
- /**
- * Is translation disabled?
- *
- * @return bool
- */
- public function translatorIsDisabled()
- {
- return $this->_translatorDisabled;
- }
-
- /*
- * Protected methods
- */
-
- /**
- * @return void
- */
- protected function _filter()
- {
- foreach ($this->_filterRules as $ruleName => &$filterRule) {
- /**
- * Make sure we have an array representing this filter chain.
- * Don't typecast to (array) because it might be a Zend_Filter object
- */
- if (!is_array($filterRule)) {
- $filterRule = array($filterRule);
- }
-
- /**
- * Filters are indexed by integer, metacommands are indexed by string.
- * Pick out the filters.
- */
- $filterList = array();
- foreach ($filterRule as $key => $value) {
- if (is_int($key)) {
- $filterList[] = $value;
- }
- }
-
- /**
- * Use defaults for filter metacommands.
- */
- $filterRule[self::RULE] = $ruleName;
- if (!isset($filterRule[self::FIELDS])) {
- $filterRule[self::FIELDS] = $ruleName;
- }
-
- /**
- * Load all the filter classes and add them to the chain.
- */
- if (!isset($filterRule[self::FILTER_CHAIN])) {
- $filterRule[self::FILTER_CHAIN] = new Zend_Filter();
- foreach ($filterList as $filter) {
- if (is_string($filter) || is_array($filter)) {
- $filter = $this->_getFilter($filter);
- }
- $filterRule[self::FILTER_CHAIN]->addFilter($filter);
- }
- }
-
- /**
- * If the ruleName is the special wildcard rule,
- * then apply the filter chain to all input data.
- * Else just process the field named by the rule.
- */
- if ($ruleName == self::RULE_WILDCARD) {
- foreach (array_keys($this->_data) as $field) {
- $this->_filterRule(array_merge($filterRule, array(self::FIELDS => $field)));
- }
- } else {
- $this->_filterRule($filterRule);
- }
- }
- }
-
- /**
- * @param array $filterRule
- * @return void
- */
- protected function _filterRule(array $filterRule)
- {
- $field = $filterRule[self::FIELDS];
- if (!array_key_exists($field, $this->_data)) {
- return;
- }
- if (is_array($this->_data[$field])) {
- foreach ($this->_data[$field] as $key => $value) {
- $this->_data[$field][$key] = $filterRule[self::FILTER_CHAIN]->filter($value);
- }
- } else {
- $this->_data[$field] =
- $filterRule[self::FILTER_CHAIN]->filter($this->_data[$field]);
- }
- }
-
- /**
- * @return Zend_Filter_Interface
- */
- protected function _getDefaultEscapeFilter()
- {
- if ($this->_defaultEscapeFilter !== null) {
- return $this->_defaultEscapeFilter;
- }
- return $this->setDefaultEscapeFilter($this->_defaults[self::ESCAPE_FILTER]);
- }
-
- /**
- * @param string $rule
- * @param string $field
- * @return string
- */
- protected function _getMissingMessage($rule, $field)
- {
- $message = $this->_defaults[self::MISSING_MESSAGE];
-
- if (null !== ($translator = $this->getTranslator())) {
- if ($translator->isTranslated($message)) {
- $message = $translator->translate($message);
- } elseif ($translator->isTranslated(self::MISSING_MESSAGE)) {
- $message = $translator->translate(self::MISSING_MESSAGE);
- }
- }
-
- $message = str_replace('%rule%', $rule, $message);
- $message = str_replace('%field%', $field, $message);
- return $message;
- }
-
- /**
- * @return string
- */
- protected function _getNotEmptyMessage($rule, $field)
- {
- $message = $this->_defaults[self::NOT_EMPTY_MESSAGE];
-
- if (null !== ($translator = $this->getTranslator())) {
- if ($translator->isTranslated($message)) {
- $message = $translator->translate($message);
- } elseif ($translator->isTranslated(self::NOT_EMPTY_MESSAGE)) {
- $message = $translator->translate(self::NOT_EMPTY_MESSAGE);
- }
- }
-
- $message = str_replace('%rule%', $rule, $message);
- $message = str_replace('%field%', $field, $message);
- return $message;
- }
-
- /**
- * @return void
- */
- protected function _process()
- {
- if ($this->_processed === false) {
- $this->_filter();
- $this->_validate();
- $this->_processed = true;
- }
- }
-
- /**
- * @return void
- */
- protected function _validate()
- {
- /**
- * Special case: if there are no validators, treat all fields as valid.
- */
- if (!$this->_validatorRules) {
- $this->_validFields = $this->_data;
- $this->_data = array();
- return;
- }
-
- foreach ($this->_validatorRules as $ruleName => &$validatorRule) {
- /**
- * Make sure we have an array representing this validator chain.
- * Don't typecast to (array) because it might be a Zend_Validate object
- */
- if (!is_array($validatorRule)) {
- $validatorRule = array($validatorRule);
- }
-
- /**
- * Validators are indexed by integer, metacommands are indexed by string.
- * Pick out the validators.
- */
- $validatorList = array();
- foreach ($validatorRule as $key => $value) {
- if (is_int($key)) {
- $validatorList[$key] = $value;
- }
- }
-
- /**
- * Use defaults for validation metacommands.
- */
- $validatorRule[self::RULE] = $ruleName;
- if (!isset($validatorRule[self::FIELDS])) {
- $validatorRule[self::FIELDS] = $ruleName;
- }
- if (!isset($validatorRule[self::BREAK_CHAIN])) {
- $validatorRule[self::BREAK_CHAIN] = $this->_defaults[self::BREAK_CHAIN];
- }
- if (!isset($validatorRule[self::PRESENCE])) {
- $validatorRule[self::PRESENCE] = $this->_defaults[self::PRESENCE];
- }
- if (!isset($validatorRule[self::ALLOW_EMPTY])) {
- $validatorRule[self::ALLOW_EMPTY] = $this->_defaults[self::ALLOW_EMPTY];
- }
-
- if (!isset($validatorRule[self::MESSAGES])) {
- $validatorRule[self::MESSAGES] = array();
- } else if (!is_array($validatorRule[self::MESSAGES])) {
- $validatorRule[self::MESSAGES] = array($validatorRule[self::MESSAGES]);
- } else if (array_intersect_key($validatorList, $validatorRule[self::MESSAGES])) {
- // There are now corresponding numeric keys in the validation rule messages array
- // Treat it as a named messages list for all rule validators
- $unifiedMessages = $validatorRule[self::MESSAGES];
- $validatorRule[self::MESSAGES] = array();
-
- foreach ($validatorList as $key => $validator) {
- if (array_key_exists($key, $unifiedMessages)) {
- $validatorRule[self::MESSAGES][$key] = $unifiedMessages[$key];
- }
- }
- }
-
- /**
- * Load all the validator classes and add them to the chain.
- */
- if (!isset($validatorRule[self::VALIDATOR_CHAIN])) {
- $validatorRule[self::VALIDATOR_CHAIN] = new Zend_Validate();
-
- foreach ($validatorList as $key => $validator) {
- if (is_string($validator) || is_array($validator)) {
- $validator = $this->_getValidator($validator);
- }
-
- if (isset($validatorRule[self::MESSAGES][$key])) {
- $value = $validatorRule[self::MESSAGES][$key];
- if (is_array($value)) {
- $validator->setMessages($value);
- } else {
- $validator->setMessage($value);
- }
-
- if ($validator instanceof Zend_Validate_NotEmpty) {
- $this->_defaults[self::NOT_EMPTY_MESSAGE] = $value;
- }
- }
-
- $validatorRule[self::VALIDATOR_CHAIN]->addValidator($validator, $validatorRule[self::BREAK_CHAIN]);
- }
- $validatorRule[self::VALIDATOR_CHAIN_COUNT] = count($validatorList);
- }
-
- /**
- * If the ruleName is the special wildcard rule,
- * then apply the validator chain to all input data.
- * Else just process the field named by the rule.
- */
- if ($ruleName == self::RULE_WILDCARD) {
- foreach (array_keys($this->_data) as $field) {
- $this->_validateRule(array_merge($validatorRule, array(self::FIELDS => $field)));
- }
- } else {
- $this->_validateRule($validatorRule);
- }
- }
-
- /**
- * Unset fields in $_data that have been added to other arrays.
- * We have to wait until all rules have been processed because
- * a given field may be referenced by multiple rules.
- */
- foreach (array_merge(array_keys($this->_missingFields), array_keys($this->_invalidMessages)) as $rule) {
- foreach ((array) $this->_validatorRules[$rule][self::FIELDS] as $field) {
- unset($this->_data[$field]);
- }
- }
- foreach ($this->_validFields as $field => $value) {
- unset($this->_data[$field]);
- }
-
- /**
- * Anything left over in $_data is an unknown field.
- */
- $this->_unknownFields = $this->_data;
- }
-
- /**
- * @param array $validatorRule
- * @return void
- */
- protected function _validateRule(array $validatorRule)
- {
- /**
- * Get one or more data values from input, and check for missing fields.
- * Apply defaults if fields are missing.
- */
- $data = array();
- foreach ((array) $validatorRule[self::FIELDS] as $key => $field) {
- if (array_key_exists($field, $this->_data)) {
- $data[$field] = $this->_data[$field];
- } else if (isset($validatorRule[self::DEFAULT_VALUE])) {
- /** @todo according to this code default value can't be an array. It has to be reviewed */
- if (!is_array($validatorRule[self::DEFAULT_VALUE])) {
- // Default value is a scalar
- $data[$field] = $validatorRule[self::DEFAULT_VALUE];
- } else {
- // Default value is an array. Search for corresponding key
- if (isset($validatorRule[self::DEFAULT_VALUE][$key])) {
- $data[$field] = $validatorRule[self::DEFAULT_VALUE][$key];
- } else if ($validatorRule[self::PRESENCE] == self::PRESENCE_REQUIRED) {
- // Default value array is provided, but it doesn't have an entry for current field
- // and presence is required
- $this->_missingFields[$validatorRule[self::RULE]][] =
- $this->_getMissingMessage($validatorRule[self::RULE], $field);
- }
- }
- } else if ($validatorRule[self::PRESENCE] == self::PRESENCE_REQUIRED) {
- $this->_missingFields[$validatorRule[self::RULE]][] =
- $this->_getMissingMessage($validatorRule[self::RULE], $field);
- }
- }
-
- /**
- * If any required fields are missing, break the loop.
- */
- if (isset($this->_missingFields[$validatorRule[self::RULE]]) && count($this->_missingFields[$validatorRule[self::RULE]]) > 0) {
- return;
- }
-
- /**
- * Evaluate the inputs against the validator chain.
- */
- if (count((array) $validatorRule[self::FIELDS]) > 1) {
- if (!$validatorRule[self::ALLOW_EMPTY]) {
- $emptyFieldsFound = false;
- $errorsList = array();
- $messages = array();
-
- foreach ($data as $fieldKey => $field) {
- $notEmptyValidator = $this->_getValidator('NotEmpty');
- $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldKey));
-
- if (!$notEmptyValidator->isValid($field)) {
- foreach ($notEmptyValidator->getMessages() as $messageKey => $message) {
- if (!isset($messages[$messageKey])) {
- $messages[$messageKey] = $message;
- } else {
- $messages[] = $message;
- }
- }
- $errorsList[] = $notEmptyValidator->getErrors();
- $emptyFieldsFound = true;
- }
- }
-
- if ($emptyFieldsFound) {
- $this->_invalidMessages[$validatorRule[self::RULE]] = $messages;
- $this->_invalidErrors[$validatorRule[self::RULE]] = array_unique(call_user_func_array('array_merge', $errorsList));
- return;
- }
- }
-
- if (!$validatorRule[self::VALIDATOR_CHAIN]->isValid($data)) {
- $this->_invalidMessages[$validatorRule[self::RULE]] = $validatorRule[self::VALIDATOR_CHAIN]->getMessages();
- $this->_invalidErrors[$validatorRule[self::RULE]] = $validatorRule[self::VALIDATOR_CHAIN]->getErrors();
- return;
- }
- } else if (count($data) > 0) {
- // $data is actually a one element array
- $fieldNames = array_keys($data);
- $fieldName = reset($fieldNames);
- $field = reset($data);
-
- $failed = false;
- if (!is_array($field)) {
- $field = array($field);
- }
-
- $notEmptyValidator = $this->_getValidator('NotEmpty');
- $notEmptyValidator->setMessage($this->_getNotEmptyMessage($validatorRule[self::RULE], $fieldName));
- if ($validatorRule[self::ALLOW_EMPTY]) {
- $validatorChain = $validatorRule[self::VALIDATOR_CHAIN];
- } else {
- $validatorChain = new Zend_Validate();
- $validatorChain->addValidator($notEmptyValidator, true /* Always break on failure */);
- $validatorChain->addValidator($validatorRule[self::VALIDATOR_CHAIN]);
- }
-
- foreach ($field as $value) {
- if ($validatorRule[self::ALLOW_EMPTY] && !$notEmptyValidator->isValid($value)) {
- // Field is empty AND it's allowed. Do nothing.
- continue;
- }
-
- if (!$validatorChain->isValid($value)) {
- if (isset($this->_invalidMessages[$validatorRule[self::RULE]])) {
- $collectedMessages = $this->_invalidMessages[$validatorRule[self::RULE]];
- } else {
- $collectedMessages = array();
- }
-
- foreach ($validatorChain->getMessages() as $messageKey => $message) {
- if (!isset($collectedMessages[$messageKey])) {
- $collectedMessages[$messageKey] = $message;
- } else {
- $collectedMessages[] = $message;
- }
- }
-
- $this->_invalidMessages[$validatorRule[self::RULE]] = $collectedMessages;
- if (isset($this->_invalidErrors[$validatorRule[self::RULE]])) {
- $this->_invalidErrors[$validatorRule[self::RULE]] = array_merge($this->_invalidErrors[$validatorRule[self::RULE]],
- $validatorChain->getErrors());
- } else {
- $this->_invalidErrors[$validatorRule[self::RULE]] = $validatorChain->getErrors();
- }
- unset($this->_validFields[$fieldName]);
- $failed = true;
- if ($validatorRule[self::BREAK_CHAIN]) {
- return;
- }
- }
- }
- if ($failed) {
- return;
- }
- }
-
- /**
- * If we got this far, the inputs for this rule pass validation.
- */
- foreach ((array) $validatorRule[self::FIELDS] as $field) {
- if (array_key_exists($field, $data)) {
- $this->_validFields[$field] = $data[$field];
- }
- }
- }
-
- /**
- * @param mixed $classBaseName
- * @return Zend_Filter_Interface
- */
- protected function _getFilter($classBaseName)
- {
- return $this->_getFilterOrValidator(self::FILTER, $classBaseName);
- }
-
- /**
- * @param mixed $classBaseName
- * @return Zend_Validate_Interface
- */
- protected function _getValidator($classBaseName)
- {
- return $this->_getFilterOrValidator(self::VALIDATE, $classBaseName);
- }
-
- /**
- * @param string $type
- * @param mixed $classBaseName
- * @return Zend_Filter_Interface|Zend_Validate_Interface
- * @throws Zend_Filter_Exception
- */
- protected function _getFilterOrValidator($type, $classBaseName)
- {
- $args = array();
-
- if (is_array($classBaseName)) {
- $args = $classBaseName;
- $classBaseName = array_shift($args);
- }
-
- $interfaceName = 'Zend_' . ucfirst($type) . '_Interface';
- $className = $this->getPluginLoader($type)->load(ucfirst($classBaseName));
-
- $class = new ReflectionClass($className);
-
- if (!$class->implementsInterface($interfaceName)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("Class '$className' based on basename '$classBaseName' must implement the '$interfaceName' interface");
- }
-
- if ($class->hasMethod('__construct')) {
- $object = $class->newInstanceArgs($args);
- } else {
- $object = $class->newInstance();
- }
-
- return $object;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Filter/Int.php b/airtime_mvc/library/Zend/Filter/Int.php
deleted file mode 100644
index 84999d3ea..000000000
--- a/airtime_mvc/library/Zend/Filter/Int.php
+++ /dev/null
@@ -1,50 +0,0 @@
- null,
- 'date_format' => null,
- 'precision' => null
- );
-
- /**
- * Class constructor
- *
- * @param string|Zend_Locale $locale (Optional) Locale to set
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (null !== $options) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Returns the set options
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Sets options to use
- *
- * @param array $options (Optional) Options to use
- * @return Zend_Filter_LocalizedToNormalized
- */
- public function setOptions(array $options = null)
- {
- $this->_options = $options + $this->_options;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Normalizes the given input
- *
- * @param string $value Value to normalized
- * @return string|array The normalized value
- */
- public function filter($value)
- {
- if (Zend_Locale_Format::isNumber($value, $this->_options)) {
- return Zend_Locale_Format::getNumber($value, $this->_options);
- } else if (($this->_options['date_format'] === null) && (strpos($value, ':') !== false)) {
- // Special case, no date format specified, detect time input
- return Zend_Locale_Format::getTime($value, $this->_options);
- } else if (Zend_Locale_Format::checkDateFormat($value, $this->_options)) {
- // Detect date or time input
- return Zend_Locale_Format::getDate($value, $this->_options);
- }
-
- return $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/NormalizedToLocalized.php b/airtime_mvc/library/Zend/Filter/NormalizedToLocalized.php
deleted file mode 100644
index 53158389c..000000000
--- a/airtime_mvc/library/Zend/Filter/NormalizedToLocalized.php
+++ /dev/null
@@ -1,111 +0,0 @@
- null,
- 'date_format' => null,
- 'precision' => null
- );
-
- /**
- * Class constructor
- *
- * @param string|Zend_Locale $locale (Optional) Locale to set
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (null !== $options) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Returns the set options
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Sets options to use
- *
- * @param array $options (Optional) Options to use
- * @return Zend_Filter_LocalizedToNormalized
- */
- public function setOptions(array $options = null)
- {
- $this->_options = $options + $this->_options;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Normalizes the given input
- *
- * @param string $value Value to normalized
- * @return string|array The normalized value
- */
- public function filter($value)
- {
- if (is_array($value)) {
- require_once 'Zend/Date.php';
- $date = new Zend_Date($value, $this->_options['locale']);
- return $date->toString($this->_options['date_format']);
- } else if ($this->_options['precision'] === 0) {
- return Zend_Locale_Format::toInteger($value, $this->_options);
- } else if ($this->_options['precision'] === null) {
- return Zend_Locale_Format::toFloat($value, $this->_options);
- }
-
- return Zend_Locale_Format::toNumber($value, $this->_options);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/Null.php b/airtime_mvc/library/Zend/Filter/Null.php
deleted file mode 100644
index b98931c11..000000000
--- a/airtime_mvc/library/Zend/Filter/Null.php
+++ /dev/null
@@ -1,183 +0,0 @@
- 'boolean',
- self::INTEGER => 'integer',
- self::EMPTY_ARRAY => 'array',
- self::STRING => 'string',
- self::ZERO => 'zero',
- self::ALL => 'all'
- );
-
- /**
- * Internal type to detect
- *
- * @var integer
- */
- protected $_type = self::ALL;
-
- /**
- * Constructor
- *
- * @param string|array|Zend_Config $options OPTIONAL
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
- if (!empty($options)) {
- $temp = array_shift($options);
- }
- $options = $temp;
- } else if (is_array($options) && array_key_exists('type', $options)) {
- $options = $options['type'];
- }
-
- if (!empty($options)) {
- $this->setType($options);
- }
- }
-
- /**
- * Returns the set null types
- *
- * @return array
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set the null types
- *
- * @param integer|array $type
- * @throws Zend_Filter_Exception
- * @return Zend_Filter_Null
- */
- public function setType($type = null)
- {
- if (is_array($type)) {
- $detected = 0;
- foreach($type as $value) {
- if (is_int($value)) {
- $detected += $value;
- } else if (in_array($value, $this->_constants)) {
- $detected += array_search($value, $this->_constants);
- }
- }
-
- $type = $detected;
- } else if (is_string($type)) {
- if (in_array($type, $this->_constants)) {
- $type = array_search($type, $this->_constants);
- }
- }
-
- if (!is_int($type) || ($type < 0) || ($type > self::ALL)) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('Unknown type');
- }
-
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns null representation of $value, if value is empty and matches
- * types that should be considered null.
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- $type = $this->getType();
-
- // STRING ZERO ('0')
- if ($type >= self::ZERO) {
- $type -= self::ZERO;
- if (is_string($value) && ($value == '0')) {
- return null;
- }
- }
-
- // STRING ('')
- if ($type >= self::STRING) {
- $type -= self::STRING;
- if (is_string($value) && ($value == '')) {
- return null;
- }
- }
-
- // EMPTY_ARRAY (array())
- if ($type >= self::EMPTY_ARRAY) {
- $type -= self::EMPTY_ARRAY;
- if (is_array($value) && ($value == array())) {
- return null;
- }
- }
-
- // INTEGER (0)
- if ($type >= self::INTEGER) {
- $type -= self::INTEGER;
- if (is_int($value) && ($value == 0)) {
- return null;
- }
- }
-
- // BOOLEAN (false)
- if ($type >= self::BOOLEAN) {
- $type -= self::BOOLEAN;
- if (is_bool($value) && ($value == false)) {
- return null;
- }
- }
-
- return $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/PregReplace.php b/airtime_mvc/library/Zend/Filter/PregReplace.php
deleted file mode 100644
index 5bcb581d4..000000000
--- a/airtime_mvc/library/Zend/Filter/PregReplace.php
+++ /dev/null
@@ -1,174 +0,0 @@
- matching pattern
- * 'replace' => replace with this
- *
- * @param string|array $options
- * @return void
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
- if (!empty($options)) {
- $temp['match'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['replace'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (array_key_exists('match', $options)) {
- $this->setMatchPattern($options['match']);
- }
-
- if (array_key_exists('replace', $options)) {
- $this->setReplacement($options['replace']);
- }
- }
-
- /**
- * Set the match pattern for the regex being called within filter()
- *
- * @param mixed $match - same as the first argument of preg_replace
- * @return Zend_Filter_PregReplace
- */
- public function setMatchPattern($match)
- {
- $this->_matchPattern = $match;
- return $this;
- }
-
- /**
- * Get currently set match pattern
- *
- * @return string
- */
- public function getMatchPattern()
- {
- return $this->_matchPattern;
- }
-
- /**
- * Set the Replacement pattern/string for the preg_replace called in filter
- *
- * @param mixed $replacement - same as the second argument of preg_replace
- * @return Zend_Filter_PregReplace
- */
- public function setReplacement($replacement)
- {
- $this->_replacement = $replacement;
- return $this;
- }
-
- /**
- * Get currently set replacement value
- *
- * @return string
- */
- public function getReplacement()
- {
- return $this->_replacement;
- }
-
- /**
- * Perform regexp replacement as filter
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- if ($this->_matchPattern == null) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception(get_class($this) . ' does not have a valid MatchPattern set.');
- }
-
- return preg_replace($this->_matchPattern, $this->_replacement, $value);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Filter/RealPath.php b/airtime_mvc/library/Zend/Filter/RealPath.php
deleted file mode 100644
index 4bbcb9560..000000000
--- a/airtime_mvc/library/Zend/Filter/RealPath.php
+++ /dev/null
@@ -1,134 +0,0 @@
-setExists($options);
- }
-
- /**
- * Returns true if the filtered path must exist
- *
- * @return boolean
- */
- public function getExists()
- {
- return $this->_exists;
- }
-
- /**
- * Sets if the path has to exist
- * TRUE when the path must exist
- * FALSE when not existing paths can be given
- *
- * @param boolean|Zend_Config $exists Path must exist
- * @return Zend_Filter_RealPath
- */
- public function setExists($exists)
- {
- if ($exists instanceof Zend_Config) {
- $exists = $exists->toArray();
- }
-
- if (is_array($exists)) {
- if (isset($exists['exists'])) {
- $exists = (boolean) $exists['exists'];
- }
- }
-
- $this->_exists = (boolean) $exists;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns realpath($value)
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- $path = (string) $value;
- if ($this->_exists) {
- return realpath($path);
- }
-
- $realpath = @realpath($path);
- if ($realpath) {
- return $realpath;
- }
-
- $drive = '';
- if (substr(PHP_OS, 0, 3) == 'WIN') {
- $path = preg_replace('/[\\\\\/]/', DIRECTORY_SEPARATOR, $path);
- if (preg_match('/([a-zA-Z]\:)(.*)/', $path, $matches)) {
- list($fullMatch, $drive, $path) = $matches;
- } else {
- $cwd = getcwd();
- $drive = substr($cwd, 0, 2);
- if (substr($path, 0, 1) != DIRECTORY_SEPARATOR) {
- $path = substr($cwd, 3) . DIRECTORY_SEPARATOR . $path;
- }
- }
- } elseif (substr($path, 0, 1) != DIRECTORY_SEPARATOR) {
- $path = getcwd() . DIRECTORY_SEPARATOR . $path;
- }
-
- $stack = array();
- $parts = explode(DIRECTORY_SEPARATOR, $path);
- foreach ($parts as $dir) {
- if (strlen($dir) && $dir !== '.') {
- if ($dir == '..') {
- array_pop($stack);
- } else {
- array_push($stack, $dir);
- }
- }
- }
-
- return $drive . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $stack);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/StringToLower.php b/airtime_mvc/library/Zend/Filter/StringToLower.php
deleted file mode 100644
index 7ad606dda..000000000
--- a/airtime_mvc/library/Zend/Filter/StringToLower.php
+++ /dev/null
@@ -1,117 +0,0 @@
-toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
- if (!empty($options)) {
- $temp['encoding'] = array_shift($options);
- }
- $options = $temp;
- }
-
- if (array_key_exists('encoding', $options)) {
- $this->setEncoding($options['encoding']);
- }
- }
-
- /**
- * Returns the set encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set the input encoding for the given string
- *
- * @param string $encoding
- * @return Zend_Filter_StringToLower Provides a fluent interface
- * @throws Zend_Filter_Exception
- */
- public function setEncoding($encoding = null)
- {
- if ($encoding !== null) {
- if (!function_exists('mb_strtolower')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('mbstring is required for this feature');
- }
-
- $encoding = (string) $encoding;
- if (!in_array(strtolower($encoding), array_map('strtolower', mb_list_encodings()))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The given encoding '$encoding' is not supported by mbstring");
- }
- }
-
- $this->_encoding = $encoding;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns the string $value, converting characters to lowercase as necessary
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- if ($this->_encoding !== null) {
- return mb_strtolower((string) $value, $this->_encoding);
- }
-
- return strtolower((string) $value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/StringToUpper.php b/airtime_mvc/library/Zend/Filter/StringToUpper.php
deleted file mode 100644
index 3f3391467..000000000
--- a/airtime_mvc/library/Zend/Filter/StringToUpper.php
+++ /dev/null
@@ -1,117 +0,0 @@
-toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
- if (!empty($options)) {
- $temp['encoding'] = array_shift($options);
- }
- $options = $temp;
- }
-
- if (array_key_exists('encoding', $options)) {
- $this->setEncoding($options['encoding']);
- }
- }
-
- /**
- * Returns the set encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set the input encoding for the given string
- *
- * @param string $encoding
- * @return Zend_Filter_StringToUpper Provides a fluent interface
- * @throws Zend_Filter_Exception
- */
- public function setEncoding($encoding = null)
- {
- if ($encoding !== null) {
- if (!function_exists('mb_strtoupper')) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception('mbstring is required for this feature');
- }
-
- $encoding = (string) $encoding;
- if (!in_array(strtolower($encoding), array_map('strtolower', mb_list_encodings()))) {
- require_once 'Zend/Filter/Exception.php';
- throw new Zend_Filter_Exception("The given encoding '$encoding' is not supported by mbstring");
- }
- }
-
- $this->_encoding = $encoding;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns the string $value, converting characters to uppercase as necessary
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- if ($this->_encoding) {
- return mb_strtoupper((string) $value, $this->_encoding);
- }
-
- return strtoupper((string) $value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/StringTrim.php b/airtime_mvc/library/Zend/Filter/StringTrim.php
deleted file mode 100644
index 82edf286f..000000000
--- a/airtime_mvc/library/Zend/Filter/StringTrim.php
+++ /dev/null
@@ -1,124 +0,0 @@
-toArray();
- } else if (!is_array($charList)) {
- $options = func_get_args();
- $temp['charlist'] = array_shift($options);
- $options = $temp;
- }
-
- if (array_key_exists('charlist', $options)) {
- $this->setCharList($options['charlist']);
- }
- }
-
- /**
- * Returns the charList option
- *
- * @return string|null
- */
- public function getCharList()
- {
- return $this->_charList;
- }
-
- /**
- * Sets the charList option
- *
- * @param string|null $charList
- * @return Zend_Filter_StringTrim Provides a fluent interface
- */
- public function setCharList($charList)
- {
- $this->_charList = $charList;
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * Returns the string $value with characters stripped from the beginning and end
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- if (null === $this->_charList) {
- return $this->_unicodeTrim((string) $value);
- } else {
- return $this->_unicodeTrim((string) $value, $this->_charList);
- }
- }
-
- /**
- * Unicode aware trim method
- * Fixes a PHP problem
- *
- * @param string $value
- * @param string $charlist
- * @return string
- */
- protected function _unicodeTrim($value, $charlist = '\\\\s')
- {
- $chars = preg_replace(
- array( '/[\^\-\]\\\]/S', '/\\\{4}/S', '/\//'),
- array( '\\\\\\0', '\\', '\/' ),
- $charlist
- );
-
- $pattern = '^[' . $chars . ']*|[' . $chars . ']*$';
- return preg_replace("/$pattern/sSD", '', $value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Filter/StripNewlines.php b/airtime_mvc/library/Zend/Filter/StripNewlines.php
deleted file mode 100644
index 6554acb35..000000000
--- a/airtime_mvc/library/Zend/Filter/StripNewlines.php
+++ /dev/null
@@ -1,48 +0,0 @@
- Tags which are allowed
- * 'allowAttribs' => Attributes which are allowed
- * 'allowComments' => Are comments allowed ?
- *
- * @param string|array|Zend_Config $options
- * @return void
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['allowTags'] = array_shift($options);
- if (!empty($options)) {
- $temp['allowAttribs'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['allowComments'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (array_key_exists('allowTags', $options)) {
- $this->setTagsAllowed($options['allowTags']);
- }
-
- if (array_key_exists('allowAttribs', $options)) {
- $this->setAttributesAllowed($options['allowAttribs']);
- }
-
- if (array_key_exists('allowComments', $options)) {
- $this->setCommentsAllowed($options['allowComments']);
- }
- }
-
- /**
- * Returns the commentsAllowed option
- *
- * This setting is now deprecated and ignored internally.
- *
- * @deprecated
- * @return bool
- */
- public function getCommentsAllowed()
- {
- return $this->commentsAllowed;
- }
-
- /**
- * Sets the commentsAllowed option
- *
- * This setting is now deprecated and ignored internally.
- *
- * @deprecated
- * @param boolean $commentsAllowed
- * @return Zend_Filter_StripTags Provides a fluent interface
- */
- public function setCommentsAllowed($commentsAllowed)
- {
- $this->commentsAllowed = (boolean) $commentsAllowed;
- return $this;
- }
-
- /**
- * Returns the tagsAllowed option
- *
- * @return array
- */
- public function getTagsAllowed()
- {
- return $this->_tagsAllowed;
- }
-
- /**
- * Sets the tagsAllowed option
- *
- * @param array|string $tagsAllowed
- * @return Zend_Filter_StripTags Provides a fluent interface
- */
- public function setTagsAllowed($tagsAllowed)
- {
- if (!is_array($tagsAllowed)) {
- $tagsAllowed = array($tagsAllowed);
- }
-
- foreach ($tagsAllowed as $index => $element) {
- // If the tag was provided without attributes
- if (is_int($index) && is_string($element)) {
- // Canonicalize the tag name
- $tagName = strtolower($element);
- // Store the tag as allowed with no attributes
- $this->_tagsAllowed[$tagName] = array();
- }
- // Otherwise, if a tag was provided with attributes
- else if (is_string($index) && (is_array($element) || is_string($element))) {
- // Canonicalize the tag name
- $tagName = strtolower($index);
- // Canonicalize the attributes
- if (is_string($element)) {
- $element = array($element);
- }
- // Store the tag as allowed with the provided attributes
- $this->_tagsAllowed[$tagName] = array();
- foreach ($element as $attribute) {
- if (is_string($attribute)) {
- // Canonicalize the attribute name
- $attributeName = strtolower($attribute);
- $this->_tagsAllowed[$tagName][$attributeName] = null;
- }
- }
- }
- }
-
- return $this;
- }
-
- /**
- * Returns the attributesAllowed option
- *
- * @return array
- */
- public function getAttributesAllowed()
- {
- return $this->_attributesAllowed;
- }
-
- /**
- * Sets the attributesAllowed option
- *
- * @param array|string $attributesAllowed
- * @return Zend_Filter_StripTags Provides a fluent interface
- */
- public function setAttributesAllowed($attributesAllowed)
- {
- if (!is_array($attributesAllowed)) {
- $attributesAllowed = array($attributesAllowed);
- }
-
- // Store each attribute as allowed
- foreach ($attributesAllowed as $attribute) {
- if (is_string($attribute)) {
- // Canonicalize the attribute name
- $attributeName = strtolower($attribute);
- $this->_attributesAllowed[$attributeName] = null;
- }
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Filter_Interface
- *
- * @todo improve docblock descriptions
- *
- * @param string $value
- * @return string
- */
- public function filter($value)
- {
- $value = (string) $value;
-
- // Strip HTML comments first
- while (strpos($value, 'ମààŸà¬¾à¬•ଡà‹à¬¨à¬¾à¬²à ଦàବà€à¬ªà¬ªàà¬àଜ
- ହà‹à¬£àଡାରàସà
- କàରà‹à¬†à¬Ÿà¬¿à¬†
- ହାଇତି
- ହଙàଗà‡à¬°à€
- ଇଣàଡà‹à¬¨à‡à¬¸à¬¿à¬†
- ଆàŸà¬°à¬²ààŸà¬¾à¬£àଡ
- ଇସàରାà¬à¬²à
- ଆଇଲà ଅଫà ମàˆà¬¨à
- à¬à¬¾à¬°à¬¤
- ବàରିଟିଶà à¬à¬¾à¬°à¬¤à€àŸ ସାମàଦàରିକ କàଷà‡à¬¤àର
- ଇରାକà
- ଇରାନà
- ଆଇସଲààŸà¬¾à¬£àଡ
- ଇଟାଲà€
- ଜରàସି
- ଜାମାଇକା
- ଜà‹à¬°àଡାନà
- ଜାପାନà
- କà‡à¬¨à¬¿àŸà¬¾
- କିରàଗିଜିସàଥାନ
- କାମàବà‹à¬¡à¬¿à¬†
- କିରିବାଟà€
- କାମà‹à¬°à¬¸à
- ସà‡à¬£àଟ କିଟସà à¬à¬£àଡ ନà‡à¬à¬¿à¬¸à
- ଉତàତର କà‹à¬°à¬¿à¬†
- ଦକàଷିଣ କà‹à¬°à¬¿à¬†
- କàà¬à¬¤à
- କà‡à¬®ààŸà¬¾à¬¨à ଦàବà€à¬ªà¬ªàà¬àଜ
- କାଜାକାସàଥାନà
- ଲାଓସà
- ଲà‡à¬¬à¬¾à¬¨à¬¨à
- ସà‡à¬£àଟ ଲàସିଆ
- ଲିà¬à‡à¬¸àତିଆନାନà
- ଶàରà€à¬²à¬™àକା
- ଲିବà‡à¬°à¬¿à¬†
- ଲà‡à¬¸à‹à¬¥à‹
- ଲିଥାଆନିଆ
- ଲକàସà‡à¬®à¬¬à¬°àଗ
- ଲାଟà¬à¬¿à¬†
- ଲିବିଆ
- ମà‹à¬°à‹à¬•àକà‹
- ମà‹à¬¨à¬¾à¬•à‹
- ମାଲଡà‹à¬à¬¾
- ମଣàଟà‡à¬—àରà‹
- ସà‡à¬£àଟ ମାରàଟିନà
- ମାଡାଗାସàକରà
- ମାରàଶଲà ଦàବà€à¬ªà¬ªàà¬àଜ
- ମାସà‡à¬¡à‹à¬¨à¬¿à¬†
- ମାଳà€
- ମିàŸà¬¾à¬®à¬¾à¬°à
- ମଙàଗà‹à¬²à¬¿à¬†
- ମାକାଉ SAR à¬à¬¿à¬¨à
- ଉତàତର ମାରିଆନା ଦàବà€à¬ªà¬ªàà¬àଜ
- ମାରàଟିନିକààŸà
- ମାଉରିଟାନିଆ
- ମଣàଟà‡à¬¸à‡à¬°à¬¾à¬Ÿà
- ମାଲàଟା
- ମàŒà¬°à¬¿à¬¸à¬¸à
- ମାଳଦàବà€à¬ª
- ମାଲà±à¬¿
- ମà‡à¬•àସିକà‹
- ମାଲà‡à¬¸à¬¿à¬†
- ମà‹à¬œà¬¾à¬®àବିକààŸà
- ନାମàବିଆ
- ନà‚ତନ କାଲà‡à¬¡à‹à¬¨à¬¿à¬†
- ନାଇଜରà
- ନରଫàଲକà ଦàବà€à¬ª
- ନାଇଜà‡à¬°à¬¿à¬†
- ନିକାରାଗàଆ
- ନà‡à¬¦à¬°à¬²ààŸà¬¾à¬£àଡ
- ନରà±à‡
- ନà‡à¬ªà¬¾à¬³
- ନାଉରà
- ନିଉ
- ନààŸàଜିଲାଣàଡ
- ଓମାନà
- ପାନାମା
- ପà‡à¬°à
- ଫàରà‡à¬àଠପଲିନà‡à¬¸à¬¿à¬†
- ପପàଆ ନààŸà ଗàà¬à¬¨à¬¿à¬†
- ଫିଲିପାଇନସà
- ପାକିସàତାନ
- ପà‹à¬²à¬¾à¬£àଡ
- ସà‡à¬£àଟ ପିà¬à¬°à‡ à¬à¬¬à¬‚ ମିକàବାଲà‹à¬¨à
- ପିଟକାଇରିନà
- ପàà¬à¬°àତàà¬¤à‹ à¬°à¬¿à¬•à‹
- ପାଲà‡à¬¸àତà‡à¬¨à¬¿à¬†
- ପରàତàତàଗାଲà
- ପାଲାଉ
- ପାରାଗàà¬
- କତାରà
- ଆଉଟଲà‡à¬‡à¬‚ ଓସà‡à¬¨à¬¿à¬†
- àŸàରà‹à¬ªà¬¿à¬†à¬¨à àŸàନିଅନà
- ରିàŸàନିଅନà
- ରà‹à¬®à¬¾à¬¨à¬¿à¬†
- ସରàବିଆ
- ରàଷିଆ
- ରାà±à¬¾à¬£àଡା
- ସାଉଦି ଆରବିଆ
- ସà‹à¬²à‹à¬®à¬¨à ଦàବà€à¬ªà¬ªàà¬àଜ
- ସà‡à¬à‡à¬²à¬¸à
- ସàଦାନà
- ସàà±à‡à¬¡à‡à¬¨à
- ସିଙàଗାପàରà
- ସà‡à¬£àଟ ହà‡à¬²à‡à¬¨à¬¾
- ସàଲà‹à¬à‡à¬¨à¬¿à¬†
- ସାଲàà¬à¬¾à¬°àଡ à¬à¬¬à¬‚ ଜାନà ମାàŸà‹à¬¨à
- ସàଲà‹à¬à¬¾à¬•ିଆ
- ସିଓରା ଲିଓନà
- ସାନà ମାରିନà‹
- ସà‡à¬¨à‡à¬—ାଲà
- ସà‹à¬®à¬¾à¬²à¬¿à¬†
- ସàରିନାମ
- ସାଓ ଟà‹à¬®à‡ à¬à¬¬à¬‚ ପàରିନସିପି
- à¬à¬²à ସାଲà¬à¬¾à¬¡à‹à¬°à
- ସିରିଆ
- ସàବାଜିଲାଣàଡ
- ତàରàକସà à¬à¬¬à¬‚ ସାଇକସà ଦàବà€à¬ªà¬ªàà¬àଜ
- à¬à¬¾à¬¦à
- à¬«à¬°à¬¾à¬¸à€ à¬¦à¬•àଷିଣ କàଷà‡à¬¤àର
- ଟà‹à¬—à‹
- ଥାଇଲାଣàଡ
- ତାଜିକିସàଥାନà
- ଟà‹à¬•à‡à¬²à¬¾à¬‰
- ପàରàବ ତିମà‹à¬°à
- ତàରàକମà‡à¬¨à¬¿à¬¸àତାନà
- ତàନିସିଆ
- ଟà‹à¬™àଗା
- ତàରàକà€
- ତàରିନିଦାଦà à¬à¬¬à¬‚ ଟà‹à¬¬à¬¾à¬—à‹
- ଟàà¬à¬¾à¬²à
- ତାଇà±à¬¾à¬¨à
- ତାà¬àଜାନିଆ
- àŸàକàରାଇନà
- ଉଗାଣàଡା
- àŸàନାଇଟà‡à¬¡à ଷàଟà‡à¬Ÿà¬¸à ମାଇନରà ଆଉଟଲà‡à¬‡à¬‚ ଦàବà€à¬ªà¬ªàà¬àଜ
- ଯàକàତ ରାଷàଟàର ଆମà‡à¬°à¬¿à¬•ା
- ଉରàଗàà¬
- ଉଜବà‡à¬•ିସàଥାନà
- à¬à¬¾à¬Ÿà¬¿à¬•ାନà
- ସà‡à¬£àଟ à¬à¬¿à¬¨à¬¸à‡à¬£àଟ à¬à¬¬à¬‚ ଦି ଗàରà‡à¬¨à¬¾à¬¡à¬¿à¬¸à
- à¬à‡à¬¨à¬œàà¬à¬²à¬¾
- ବàରିଟିଶà à¬à¬°àଜିନà ଦàବà€à¬ªà¬ªàà¬àଜ
- àŸàà¬à¬¸à à¬à¬°àଜିନà ଦàବà€à¬ªà¬ªàà¬àଜ
- à¬à¬¿à¬à¬¤à¬¨à¬¾à¬®à
- à¬à¬¾à¬¨àଆତà
- à±à¬¾à¬²à¬¿à¬¸à à¬à¬¬à¬‚ ଫàତàନା
- ସାମà‹à¬†
- àŸà‡à¬®à‡à¬¨à
- ମାàŸà‹à¬Ÿà‡
- ଦକàଷିଣ ଆଫàରିକା
- ଜାମàବିଆ
- ଜିମàବାà±à‡
- ଅଜଣା କିମàବା ଅବàˆà¬§ ପàରଦà‡à¬¶
-
-
-
- [à¦-௠ଅ-ଋ ଠଠଓ-ନ ପ-ର ଲ ଳ ଶ-ହ {ଡ\u0B3C}àœ {ଢ\u0B3C}à àŸ à± à¬µ ଂ ଃ ଠà ଼ ା-àƒ à‡ àˆ à‹ àŒ]
- [\u200C \u200D]
-
-
-
-
-
-
-
- ଜାନàଆରà€
- ଫà‡à¬¬àରààŸà¬¾à¬°à€
- ମାରàà¬àà¬
- ଅପàରà‡à¬²
- ମà‡
- ଜàନ
- ଜàଲାଇ
- ଅଗଷàଟ
- ସà‡à¬ªàଟà‡à¬®àବର
- ଅକàଟà‹à¬¬à¬°
- ନà¬à‡à¬®àବର
- ଡିସà‡à¬®àବର
-
-
-
-
- ଜା
- ଫà‡
- ମା
- ଅ
- ମà‡
- ଜà
- ଜà
- ଅ
- ସà‡
- ଅ
- ନ
- ଡି
-
-
-
-
-
-
- ରବି
- ସà‹à¬®
- ମଙàଗଳ
- ବàଧ
- ଗàରà
- ଶàକàର
- ଶନି
-
-
- ରବିବାର
- ସà‹à¬®à¬¬à¬¾à¬°
- ମଙàଗଳବାର
- ବàଧବାର
- ଗàରàବାର
- ଶàକàରବାର
- ଶନିବାର
-
-
-
-
- ର
- ସà‹
- ମ
- ବà
- ଗà
- ଶà
- ଶ
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- am
- pm
-
-
- BCE
- CE
-
-
-
-
-
- EEEE, d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- d-M-yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd-MM
- MMMM d
- Q yy
- MM-yyyy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
- ଖàରà€à¬·àଟମାସ ଆଇଲààŸà¬¾à¬£àଡ ସମàŸ
-
-
-
-
-
- orya
-
- .
- ,
- 0
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤ #,##,##0.00
-
-
-
-
-
- ଟଙକା
-
-
-
-
-
- ହà¬
- ନା
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/or_IN.xml b/airtime_mvc/library/Zend/Locale/Data/or_IN.xml
deleted file mode 100644
index 930763d6f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/or_IN.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa.xml b/airtime_mvc/library/Zend/Locale/Data/pa.xml
deleted file mode 100644
index 854152ac3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa.xml
+++ /dev/null
@@ -1,309 +0,0 @@
-
-
-
-
-
-
-
-
-
- ਅਬਖਾਜ਼ੀਅਨ
- ਅà¨à©€à¨¨à©€
- ਅਕੋਲੀ
- ਅਫ਼ਰੀਕੀ
- ਅਪਾà¨à©‡ à¨à¨¾à¨¸à¨¼à¨¾
- ਅਰਬੀ
- ਅਸਾਮੀ
- ਆਸਟਰੇਲੀਅਨ à¨à¨¾à¨¸à¨¼à¨¾
- ਅਜ਼ੇਰਬੈਜਨਿ
- ਬੈਲਟਿਕ à¨à¨¾à¨¸à¨¼à¨¾
- ਬੇਲਾਰੂਸੀਅਨ
- ਬੰਗਾਲੀ
- ਡੈਨਿਸ਼
- ਜਰਮਨ
- ਅੰਗਰੇਜ਼ੀ
- à¨à¨¸à¨ªà¨°à©‡à¨‚ਟੋ
- ਸਪੇਨਿਸ਼
- ਫਿਨਿਸ਼
- ਫਰੈਂà¨
- ਗà©à¨œà¨°à¨¾à¨¤à©€
- ਹਿੰਦੀ
- ਇੰਡੋਨੇਸ਼ੀਆਈ
- ਇਤਾਲਵੀ
- ਜਾਪਾਨੀ
- ਮੈਕੇਡੋਨੀਅਨ
- ਡੱà¨
- ਨਾਰਵੇਜੀਅਨ
- ਪੰਜਾਬੀ
- ਪੋਰਤੂਗੂਈਸ
- ਸਵੈਡਿਸ਼
- ਤਾਮਿਲ
- ਤੇਲਗੂ
- ਥਾਈ
- ਤà©à¨µà¨¿
- ਉਇਘà©à¨°
- und
-
-
-
-
-
-
-
-
- à¨à¨¾à¨°à¨¤
- TO
- ਅਣਜਾਣ
-
-
-
- [਼ à©° ੱ ੦-੯ à©´ ੳ ਉ ਠਓ ਅ ਆ ਠਔ ੲ ਇ ਈ ਠਸ {ਸ\u0A3C} ਹ ਕ ਖ {ਖ\u0A3C} ਗ {ਗ\u0A3C} ਘ-ਜ {ਜ\u0A3C} à¨-ਨ ਪ ਫ {ਫ\u0A3C} ਬ-ਰ ਲ ਵ ੜ ਾ-à©‚ ੇ ੈ à©‹-à©]
- [\u200C \u200D \u0A01-\u0A03 {ਲ\u0A3C}]
-
-
- '
- '
- "
- "
-
-
-
-
-
-
-
- ਜਨਵਰੀ
- ਫ਼ਰਵਰੀ
- ਮਾਰà¨
- ਅਪà©à¨°à©ˆà¨²
- ਮਈ
- ਜੂਨ
- ਜà©à¨²à¨¾à¨ˆ
- ਅਗਸਤ
- ਸਤੰਬਰ
- ਅਕਤੂਬਰ
- ਨਵੰਬਰ
- ਦਸੰਬਰ
-
-
-
-
- ਜ
- ਫ
- ਮਾ
- ਅ
- ਮ
- ਜੂ
- ਜà©
- ਅ
- ਸ
- ਅ
- ਨ
- ਦ
-
-
-
-
-
-
- à¨à¨¤.
- ਸੋਮ.
- ਮੰਗਲ.
- ਬà©à¨§.
- ਵੀਰ.
- ਸ਼à©à¨•ਰ.
- ਸ਼ਨੀ.
-
-
- à¨à¨¤à¨µà¨¾à¨°
- ਸੋਮਵਾਰ
- ਮੰਗਲਵਾਰ
- ਬà©à¨§à¨µà¨¾à¨°
- ਵੀਰਵਾਰ
- ਸ਼à©à©±à¨•ਰਵਾਰ
- ਸ਼ਨੀà¨à¨°à¨µà¨¾à¨°
-
-
-
-
- à¨
- ਸੋ
- ਮੰ
- ਬà©à©±
- ਵੀ
- ਸ਼à©à©±
- ਸ਼
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- ਪਹਿਲਾਂ à¨à©Œà¨¥à¨¾à¨ˆ
- ਦੂਜਾ à¨à©Œà¨¥à¨¾à¨ˆ
- ਤੀਜਾ à¨à©Œà¨¥à¨¾à¨ˆ
- à¨à©Œà¨¥à¨¾ à¨à©Œà¨¥à¨¾à¨ˆ
-
-
-
- ਸਵੇਰੇ
- ਸ਼ਾਮ
-
-
- ਈਸਾਪੂਰਵ
- ਸੰਨ
-
-
- BCE
- CE
-
-
-
-
-
- EEEE, dd MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- dd/MM/yyyy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- HH:mm:ss
- d/M
- mm:ss
- MMM yy
- Q yy
-
-
-
-
- ਸਾਲ
-
-
- ਮਹੀਨਾ
-
-
- ਹਫ਼ਤਾ
-
-
- ਦਿਨ
- ਤਿੰਨ ਦਿਨ ਪਹਿਲਾਂ
- ਪਰਸੋਂ
- ਅੱਜ
- à¨à¨²à¨•
- à¨à¨²à¨•
- ਤਿੰਨ ਦਿਨ ਬਾਅਦ
-
-
- ਹਫ਼ਤੇ ਦਾ ਦਿਨ
-
-
- ਘੰਟਾ
-
-
- ਮਿੰਟ
-
-
- ਖੇਤਰ
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
- guru
-
- 0
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤ #,##,##0.00
-
-
-
-
-
- ਅਫ਼ਗਾਨੀ
-
-
- ਯੂਰੋ
-
-
- ਰà©à¨ªà¨¿à¨¯
- ਰà©.
-
-
- ਅਣਜਾਣ
-
-
-
-
-
- ਹਾਂ
- ਨਹੀਂ
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa_Arab.xml b/airtime_mvc/library/Zend/Locale/Data/pa_Arab.xml
deleted file mode 100644
index de4cf6149..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa_Arab.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- پنجاب
-
-
-
-
-
-
- پکستان
-
-
-
-
-
-
- [\u064F Ø¡ Ø¢ ؤ ئ-ب Ù¾ ت Ø« Ù¹ ج Ú† Ø-ذ Úˆ ر ز Ú‘ Ú˜ س-غ Ù Ù‚ Ú© Ú¯ Ù„-Ù† Úº Ù‡ Ú¾ Û Ùˆ ÛŒ Û’]
- [Ø£ Ù» Ø© Ùº Ù¼ Ù½]
-
-
-
-
-
-
-
- جنوری
- ÙØ±ÙˆØ±ÛŒ
- مارچ
- اپریل
- مئ
- جون
- جولائی
- اگست
- ستمبر
- اکتوبر
- نومبر
- دسمبر
-
-
-
-
-
-
- اتوار
- پیر
- منگل
- Ø¨ÙØ¯Ú¾
- جمعرات
- جمعÛ
- ÛÙØªÛ
-
-
-
-
-
-
- چوتھا٠پÛلاں
- چوتھا٠دوجا
- Ú†ÙˆØªÚ¾Ø§Ù ØªÙØ¬Ø§
- چوتھا٠چوتھا
-
-
-
-
-
- Ø§ÙØ³Ø§Ù¾ÙˆØ±Ùˆ
- سں
-
-
-
-
- ورھا
-
-
- Ù…ÛÙنا
-
-
- ÛÙØªÛ
-
-
- دئن
-
-
- ÛÙØªÛ’ دا دن
-
-
- گھنٹا
-
-
- منٹ
-
-
- ٹپÛ
-
-
-
-
-
-
- arab
-
- 0
-
-
-
- Ùورو
-
-
- Ø±ÙˆÙ¾Ø¦ÛŒÛ [INR]
- ر [INR]
-
-
- روپئیÛ
- ر
-
-
-
-
-
- ÛØ§Úº
- Ù†ÛÙÚº
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa_Arab_PK.xml b/airtime_mvc/library/Zend/Locale/Data/pa_Arab_PK.xml
deleted file mode 100644
index 6cf9216c5..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa_Arab_PK.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa_Guru.xml b/airtime_mvc/library/Zend/Locale/Data/pa_Guru.xml
deleted file mode 100644
index 4a31992af..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa_Guru.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa_Guru_IN.xml b/airtime_mvc/library/Zend/Locale/Data/pa_Guru_IN.xml
deleted file mode 100644
index 97aec4804..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa_Guru_IN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa_IN.xml b/airtime_mvc/library/Zend/Locale/Data/pa_IN.xml
deleted file mode 100644
index ea123c203..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa_IN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pa_PK.xml b/airtime_mvc/library/Zend/Locale/Data/pa_PK.xml
deleted file mode 100644
index 942fa027b..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pa_PK.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pl.xml b/airtime_mvc/library/Zend/Locale/Data/pl.xml
deleted file mode 100644
index 4080ec357..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pl.xml
+++ /dev/null
@@ -1,3095 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- afar
- abchaski
- aceh
- aczoli
- adangme
- adygejski
- awestyjski
- afrikaans
- afro-azjatycki
- afrihili
- ajnu
- akan
- akadyjski
- aleucki
- języki algonkin
- południowoałtajski
- amharski
- aragoński
- staroangielski
- angika
- jÄ™zyk ApaczĂ³w
- arabski
- aramejski
- araukański
- arapaho
- sztuczny
- arawak
- asamski
- asturyjski
- jÄ™zyk AtapaskĂ³w
- język australijski
- awarski
- awadhi
- ajmara
- azerski
- baszkirski
- język banda
- język bamileke
- beludżi
- balijski
- basa
- bałtycki
- białoruski
- bedża
- bemba
- berberski
- bułgarski
- biharski
- bhodźpuri
- Bislama
- bikol
- bini
- siksika
- bambara
- bengalski
- bantu
- tybetański
- bretoński
- bradź
- bośniacki
- batak
- buriacki
- bugiński
- blin
- kataloński
- kaddo
- język Indian środkowoamerykańskich
- karibi
- kaukaski
- atsam
- czeczeński
- cebuano
- celtycki
- chamorro
- czibcza
- czagatajski
- truk
- maryjski
- żargon Chinook
- choctaw
- chipewyan
- czirokezki
- jÄ™zyk CzejenĂ³w
- czam
- korsykański
- koptyjski
- angielski kreolski lub pidżin
- francuski kreolski lub pidżin
- portugalski kreolski lub pidżin
- kri
- krymski turecki
- kreolski lub pidżin
- czeski
- kaszubski
- staro-cerkiewno-słowiański
- kuszycki
- czuwaski
- walijski
- duński
- dakota
- dargwijski
- dajak
- niemiecki
- austriacki niemiecki
- wysokoniemiecki (Szwajcaria)
- delaware
- slave
- dogrib
- dinka
- dogri
- drawidyjski
- dolnołużycki
- duala
- średniowieczny niderlandzki
- malediwski
- dyula
- dzongkha
- ewe
- efik
- starożytny egipski
- ekajuk
- grecki
- elamicki
- angielski
- kanadyjski angielski
- brytyjski angielski
- angielski (USA)
- średnioangielski
- esperanto
- hiszpański
- hiszpaÅ„ski (Ameryka ÅaciÅ„ska)
- estoński
- baskijski
- ewondo
- perski
- fang
- fanti
- fulani
- fiński
- filipino
- ugrofiński
- fidżijski
- farerski
- fon
- francuski
- kanadyjski francuski
- średniofrancuski
- starofrancuski
- pĂ³Å‚nocnofryzyjski
- fryzyjski wschodni
- friulijski
- fryzyjski
- irlandzki
- ga
- gayo
- gbaya
- szkocki gaelicki
- germański
- gyyz
- gilbertański
- galisyjski
- średnio-wysoko-niemiecki
- guarani
- staro-wysoko-niemiecki
- gondi
- gorontalo
- gocki
- grebo
- starogrecki
- szwajcarski niemiecki
- gudźaracki
- manx
- Gwichʼin
- hausa
- haida
- hawajski
- hebrajski
- hindi
- hiligajnon
- himachali
- hetycki
- hmongijski
- hiri motu
- chorwacki
- gĂ³rnoÅ‚użycki
- haitański
- węgierski
- hupa
- ormiański
- herero
- interlingua
- ibanag
- indonezyjski
- interlingue
- igbo
- syczuański
- ijo
- inupiak
- ilokano
- indoaryjski
- indoeuropejski
- inguski
- ido
- irański
- irokeski
- islandzki
- włoski
- inuktitut
- japoński
- lojban
- judeoperski
- judeoarabski
- jawajski
- gruziński
- karakałpacki
- kabylski
- kaczin
- jju
- kamba
- kareński
- kawi
- kabardyjski
- tyap
- koro
- kongo
- khasi
- khoisan
- chotański
- kikuju
- kwanyama
- kazachski
- grenlandzki
- khmerski
- kimbundu
- kannada
- koreański
- konkani
- kosrae
- kpelle
- kanuri
- karaczajsko-bałkarski
- karelski
- kru
- kurukh
- kaszmirski
- kurdyjski
- kumycki
- kutenai
- komi
- kornijski
- kirgiski
- łaciński
- ladyński
- lahnda
- lamba
- luksemburski
- lezgijski
- ganda
- limburgijski
- lingala
- laotański
- mongo
- lozi
- litewski
- luba-katanga
- luba-lulua
- luiseno
- lunda
- luo
- lushai
- łotewski
- madurajski
- magahi
- maithili
- makasar
- mandingo
- austronezyjski
- masajski
- moksha
- mandar
- mende
- malgaski
- średnioirlandzki
- marshall
- maoryjski
- micmac
- minangkabu
- inny język
- macedoński
- mon-khmer
- malajalam
- mongolski
- manchu
- manipuryjski
- manobo
- mołdawski
- mohawk
- mossi
- marathi
- malajski
- maltański
- wiele jÄ™zykĂ³w
- mundajski
- creek
- mirandese
- marwari
- birmański
- jÄ™zyk MajĂ³w
- erzya
- nauru
- nahuatl
- jÄ™zyk Indian pĂ³Å‚nocnoamerykaÅ„skich
- neapolitański
- norweski BokmĂ¥l
- ndebele pĂ³Å‚nocny
- dolnosaksoński
- nepalski
- newarski
- ndonga
- nias
- nigrokordofański
- niue
- niderlandzki
- flamandzki (Belgia)
- norweski Nynorsk
- norweski
- nogajski
- staronordyjski
- n’ko
- ndebele południowy
- sotho pĂ³Å‚nocny
- nubijski
- nawaho
- newarski klasyczny
- njandża
- niamwezi
- nyankole
- nyoro
- nzema
- prowansalski
- odżibwa
- oromski
- orija
- osetyjski
- osage
- osmańsko-turecki
- otomi
- pendżabski
- papuaski
- pangasino
- pahlavi
- pampango
- papiamento
- palau
- staroperski
- filipiński
- fenicki
- palijski
- polski
- ponpejski
- prakryty
- staroprowansalski
- paszto
- portugalski
- brazylyjski portugalski
- keczua
- radźasthani
- rapanui
- rarotonga
- retoromański
- rundi
- rumuński
- romański
- cygański
- język rdzenny
- rosyjski
- arumuński
- kinya-ruanda
- sanskryt
- sandawe
- jakucki
- język Indian południowoamerykańskich
- salisz
- samarytański aramejski
- sasak
- santali
- sardyński
- sycylijski
- szkocki
- sindhi
- lapoÅ„ski pĂ³Å‚nocny
- selkupski
- semicki
- sango
- staroirlandzki
- migowy
- serbsko-chorwacki
- shan
- syngaleski
- sidamo
- siouański
- chińsko-tybetański
- słowacki
- słoweński
- słowiański
- samoański
- lapoński południowy
- lapoński
- lapoński Lule
- lapoński Inari
- lapoński Skolt
- szona
- soninke
- somalijski
- sogdyjski
- songhaj
- albański
- serbski
- sranan tongo
- serer
- siswati
- nilosaharyjski
- sotho południowy
- sundajski
- sukuma
- susu
- sumeryjski
- szwedzki
- suahili
- syriacki
- syryjski
- tamilski
- tai
- telugu
- temne
- tereno
- tetum
- tadżycki
- tajski
- tigrinia
- tigre
- tiw
- turkmeński
- tokelau
- tagalski
- klingoński
- tlingit
- tamaszek
- setswana
- tonga
- tonga (Niasa)
- tok pisin
- turecki
- tsonga
- tsimshian
- tatarski
- tumbuka
- tupi
- ałtajski
- tuvalu
- twi
- tahitański
- tuwiński
- udmurcki
- ujgurski
- ugarycki
- ukraiński
- umbundu
- nieznany lub niepoprawny język
- urdu
- uzbecki
- wai
- venda
- wietnamski
- volapuk
- wotiacki
- waloński
- wakasz
- walamo
- waraj
- washo
- łużycki
- wolof
- kałmucki
- khosa
- yao
- japski
- jidysz
- joruba
- jupik
- czuang
- zapotecki
- bliss
- zenaga
- chiński
- chiński (uproszczony)
- chiński (tradycyjny)
- azande
- zulu
- zuni
- brak treści o charakterze lingwistycznym
- zazaki
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Åwiat
- Afryka
- Ameryka PĂ³Å‚nocna
- Ameryka Południowa
- Oceania
- Afryka Zachodnia
- Ameryka Årodkowa
- Afryka Wschodnia
- Afryka PĂ³Å‚nocna
- Afryka Årodkowa
- Afryka Południowa
- Ameryka
- Ameryka PĂ³Å‚nocna - Kanada, USA
- Karaiby
- Azja Wschodnia
- Azja Południowa
- Azja Południowo-Wschodnia
- Europa Południowa
- Australia i Nowa Zelandia
- Melanezja
- Mikronezja
- Polinezja
- Azja PoÅ‚udniowo-Årodkowa
- Azja
- Azja Årodkowa
- Azja Zachodnia
- Europa
- Europa Wschodnia
- Europa PĂ³Å‚nocna
- Europa Zachodnia
- WspĂ³lnota Niezależnych PaÅ„stw
- Ameryka ÅaciÅ„ska i Karaiby
- Wyspy Normandzkie
- Andora
- Zjednoczone Emiraty Arabskie
- Afganistan
- Antigua i Barbuda
- Anguilla
- Albania
- Armenia
- Antyle Holenderskie
- Angola
- Antarktyka
- Argentyna
- Samoa Amerykańskie
- Austria
- Australia
- Aruba
- Wyspy Alandzkie
- Azerbejdżan
- Bośnia i Hercegowina
- Barbados
- Bangladesz
- Belgia
- Burkina Faso
- Bułgaria
- Bahrajn
- Burundi
- Benin
- Saint Barthélemy
- Bermudy
- Brunei Darussalam
- Boliwia
- Brazylia
- Bahamy
- Bhutan
- Wyspa Bouveta
- Botswana
- Białoruś
- Belize
- Kanada
- Wyspy Kokosowe
- Demokratyczna Republika Konga
- Republika ÅrodkowoafrykaÅ„ska
- Kongo
- Szwajcaria
- Wybrzeże Kości Słoniowej
- Wyspy Cooka
- Chile
- Kamerun
- Chiny
- Kolumbia
- Kostaryka
- Serbia i CzarnogĂ³ra
- Kuba
- Republika Zielonego PrzylÄ…dka
- Wyspa Bożego Narodzenia
- Cypr
- Czechy
- Niemcy
- Dżibuti
- Dania
- Dominika
- Republika Dominikańska
- Algieria
- Ekwador
- Estonia
- Egipt
- Sahara Zachodnia
- Erytrea
- Hiszpania
- Etiopia
- Finlandia
- Fidżi
- Falklandy
- Federalne Stany Mikronezji
- Wyspy Owcze
- Francja
- Gabon
- Wielka Brytania
- Grenada
- Gruzja
- Gujana Francuska
- Wyspa Guernsey
- Ghana
- Gibraltar
- Grenlandia
- Gambia
- Gwinea
- Gwadelupa
- Gwinea RĂ³wnikowa
- Grecja
- Georgia Południowa i Sandwich Południowy
- Gwatemala
- Guam
- Gwinea Bissau
- Gujana
- Hongkong, Specjalny Region Administracyjny Chin
- Wyspy Heard i McDonalda
- Honduras
- Chorwacja
- Haiti
- Węgry
- Indonezja
- Irlandia
- Izrael
- Wyspa Man
- Indie
- Terytorium Brytyjskie Oceanu Indyjskiego
- Irak
- Iran
- Islandia
- Włochy
- Wyspa Jersey
- Jamajka
- Jordania
- Japonia
- Kenia
- Kirgistan
- Kambodża
- Kiribati
- Komory
- Saint Kitts i Nevis
- Korea PĂ³Å‚nocna
- Korea Południowa
- Kuwejt
- Kajmany
- Kazachstan
- Laos
- Liban
- Saint Lucia
- Liechtenstein
- Sri Lanka
- Liberia
- Lesotho
- Litwa
- Luksemburg
- Åotwa
- Libia
- Maroko
- Monako
- Mołdawia
- CzarnogĂ³ra
- Sint Maarten
- Madagaskar
- Wyspy Marshalla
- Macedonia
- Mali
- Birma
- Mongolia
- Makau, Specjalny Region Administracyjny Chin
- Mariany PĂ³Å‚nocne
- Martynika
- Mauretania
- Montserrat
- Malta
- Mauritius
- Malediwy
- Malawi
- Meksyk
- Malezja
- Mozambik
- Namibia
- Nowa Kaledonia
- Niger
- Norfolk
- Nigeria
- Nikaragua
- Holandia
- Norwegia
- Nepal
- Nauru
- Niue
- Nowa Zelandia
- Oman
- Panama
- Peru
- Polinezja Francuska
- Papua Nowa Gwinea
- Filipiny
- Pakistan
- Polska
- Saint-Pierre i Miquelon
- Pitcairn
- Portoryko
- Terytoria Palestyńskie
- Portugalia
- Palau
- Paragwaj
- Katar
- Oceania inne
- Unia Europejska
- Reunion
- Rumunia
- Serbia
- Rosja
- Rwanda
- Arabia Saudyjska
- Wyspy Salomona
- Seszele
- Sudan
- Szwecja
- Singapur
- Wyspa ÅwiÄ™tej Heleny
- Słowenia
- Svalbard i Jan Mayen
- Słowacja
- Sierra Leone
- San Marino
- Senegal
- Somalia
- Surinam
- Wyspy ÅwiÄ™tego Tomasza i Książęca
- Salwador
- Syria
- Suazi
- Turks i Caicos
- Czad
- Francuskie Terytoria Południowe
- Togo
- Tajlandia
- Tadżykistan
- Tokelau
- Timor Wschodni
- Turkmenistan
- Tunezja
- Tonga
- Turcja
- Trynidad i Tobago
- Tuvalu
- Tajwan
- Tanzania
- Ukraina
- Uganda
- Dalekie Wyspy Mniejsze StanĂ³w Zjednoczonych
- Stany Zjednoczone
- Urugwaj
- Uzbekistan
- Watykan
- Saint Vincent i Grenadyny
- Wenezuela
- Brytyjskie Wyspy Dziewicze
- Wyspy Dziewicze StanĂ³w Zjednoczonych
- Wietnam
- Vanuatu
- Wallis i Futuna
- Samoa
- Jemen
- Majotta
- Republika Południowej Afryki
- Zambia
- Zimbabwe
- Nieznany lub nieprawidłowy region
-
-
- tradycyjna ortografia niemiecka
- standardowa ortografia regionu Resia
- ortografia niemiecka z 1996 r.
- szesnastowieczny francuski
- siedemnastowieczny francuski
- ormiański wchodni
- ormiański zachodni
- turecki zunifikowany alfabet łaciński
- dialekt San Giorgio/Bila
- dialekt Boontling
- fonetyczny międzynarodowy
- fonetyczny
- dialekt Lipovaz w regionie Resia
- monotoniczny
- dialekt Natisone
- dialekt Gniva/Njiva
- dialekt Oseacco/Osojane
- politoniczny
- komputerowy
- ortografia zreformowana
- dialekt regionu Resia
- dialekt Saho
- standardowy szkocki angielski
- dialekt Scouse
- dialekt Stolvizza/Solbica
- ortografia taraszkiewicka
- walencki
-
-
- kalendarz
- sortowanie
- waluta
-
-
- chiński tradycyjny porządek sortowania - Big5
- kalendarz buddyjski
- kalendarz chiński
- bezpośredni porządek sortowania
- chiński uproszczony porządek sortowania - GB2312
- kalendarz gregoriański
- kalendarz hebrajski
- narodowy kalendarz hinduski
- kalendarz islamski (metoda wzrokowa)
- kalendarz islamski (metoda obliczeniowa)
- kalendarz japoński
- porządek sortowania książki telefonicznej
- porzÄ…dek sortowania pinyin
- kalendarz Republiki Chińskiej
- porzÄ…dek akcentĂ³w
- tradycyjny porzÄ…dek sortowania
-
-
- metryczny
- anglosaski
-
-
- Język: {0}
- Pismo: {0}
- Region: {0}
-
-
-
- [a Ä… b c ć d e Ä™ f-l Å‚ m n Å„ o Ă³ p r s Å› t u w y z ź ż]
- [q v x]
- [a-z]
-
-
- ‘
- ’
- â€
- â€
-
-
-
-
-
-
-
- EEEE, d MMMM, y G
-
-
-
-
- d MMMM, y G
-
-
-
-
- d MMM, y G
-
-
-
-
-
- d MMM
- E d MMMM
-
-
-
-
-
-
-
- sty
- lut
- mar
- kwi
- maj
- cze
- lip
- sie
- wrz
- paź
- lis
- gru
-
-
- stycznia
- lutego
- marca
- kwietnia
- maja
- czerwca
- lipca
- sierpnia
- września
- października
- listopada
- grudnia
-
-
-
-
- s
- l
- m
- k
- m
- c
- l
- s
- w
- p
- l
- g
-
-
- styczeń
- luty
- marzec
- kwiecień
- maj
- czerwiec
- lipiec
- sierpień
- wrzesień
- październik
- listopad
- grudzień
-
-
-
-
-
-
- niedz.
- pon.
- wt.
- śr.
- czw.
- pt.
- sob.
-
-
- niedziela
- poniedziałek
- wtorek
- środa
- czwartek
- piÄ…tek
- sobota
-
-
-
-
- N
- P
- W
- Å
- C
- P
- S
-
-
-
-
-
-
- K1
- K2
- K3
- K4
-
-
- I kwartał
- II kwartał
- III kwartał
- IV kwartał
-
-
-
-
- 1 kw.
- 2 kw.
- 3 kw.
- 4 kw.
-
-
- 1
- 2
- 3
- 4
-
-
-
- AM
- PM
-
-
- p.n.e.
- n.e.
-
-
- p.n.e.
- n.e.
-
-
-
-
-
- EEEE, d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- dd-MM-yyyy
-
-
-
-
- dd-MM-yy
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- d
- hh:mm a
- HH:mm
- hh:mm:ss a
- HH:mm:ss
- H:mm
- L
- d.M
- E, M-d
- MM-dd
- LLL
- MMM d
- d MMM E
- d MMMM
- d MMMM E
- mm:ss
- mm:ss
- y
- yyyy-M
- EEE, d.M.yyyy
- y MMM
- EEE, d MMM y
- LLLL y
- yyyy Q
- y QQQ
- MM/yy
- MMM yy
- Q yy
- yyyy-MM
- LLLL y
-
-
- {0} - {1}
-
- d-d
-
-
- HH-HH
- HH-HH
-
-
- HH:mm-HH:mm
- HH:mm-HH:mm
- HH:mm-HH:mm
-
-
- HH:mm-HH:mm v
- HH:mm-HH:mm v
- HH:mm-HH:mm v
-
-
- HH-HH v
- HH-HH v
-
-
- M-M
-
-
- dd.MM-dd.MM
- dd.MM-dd.MM
-
-
- E, dd.MM - E, dd.MM
- E, dd.MM - E, dd.MM
-
-
- LLL-LLL
-
-
- d-d MMM
- d MMM - d MMM
-
-
- E, MM-d – E, MM-d
- E, d MMM - E, d MMM
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- MM.yy-MM.yy
- MM.yy-MM.yy
-
-
- dd-dd.MM.yy
- dd.MM-dd.MM.yyyy
- dd.MM.yyyy-dd.MM.yyyy
-
-
- E, dd.MM.yyyy - E, dd.MM.yyyy
- E, dd.MM.yyyy - E, dd.MM.yyyy
- E, dd-MM-yyyy-E, dd-MM-yyyy
-
-
- LLL-LLL y
- LLL y - LLL y
-
-
- d-d MMM y
- d MMM - d MMM y
- d MMM y - d MMM y
-
-
- E, d - E, d MMM y
- E, d MMM - E, d MMM y
- E, d MMM y - E, d MMM y
-
-
- MM.yyyy - MM.yyyy
- MM.yyyy - MM.yyyy
-
-
-
-
-
- Era
-
-
- Rok
-
-
- MiesiÄ…c
-
-
- Tydzień
-
-
- Dzień
- Trzy dni temu
- Przedwczoraj
- Wczoraj
- Dzisiaj
- Jutro
- Pojutrze
- Za trzy dni
-
-
- Dzień tygodnia
-
-
- Dayperiod
-
-
- Godzina
-
-
- Minuta
-
-
- Sekunda
-
-
- Strefa
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- Czas: {0}
- {1} ({0})
-
- Nieznane
-
-
- GMT-01:0
-
-
- GMT-02:00
-
-
- Andora
-
-
- Dubaj
-
-
- Afganistan
-
-
- Antigua i Barbuda
-
-
- Tirana
-
-
- Erewan
-
-
- Curaçao
-
-
- Stacja Naukowa Rothera
-
-
- Archipelag Palmera
-
-
- Biegun południowy
-
-
- Stacja Syowa
-
-
- Wybrzeże Mawsona
-
-
- Stacja Davis
-
-
- Stacja Vostok
-
-
- Stacja Casey
-
-
- Mc Murdo
-
-
- Samoa Amerykańskie
-
-
- Wiedeń
-
-
- Adelajda
-
-
- Wyspa Lord Howe
-
-
- Maarianhamina
-
-
- Azerbejdżan
-
-
- Sarajewo
-
-
- Dakka
-
-
- Bruksela
-
-
- Wagadugu
-
-
- Bułgaria
-
-
- Bahrajn
-
-
- Bużumbura
-
-
- Porto Novo
-
-
- Bermudy
-
-
- Boliwia
-
-
- PĂ´rto Velho
-
-
- CuiabĂ¡
-
-
- Belém
-
-
- Săo Paulo
-
-
- Salvador
-
-
- MaceiĂ³
-
-
- Bahamy
-
-
- Bhutan
-
-
- Mińsk
-
-
- Wyspy Kokosowe
-
-
- Kinszasa
-
-
- Bangi
-
-
- Kongo Brazzaville
-
-
- Zurych
-
-
- Abidżan
-
-
- Wyspy Cooka
-
-
- Wyspa Wielkanocna
-
-
- Duala
-
-
- Kaszgar
-
-
- Urumczi
-
-
- Czunking
-
-
- Szanghaj
-
-
- Kolumbia
-
-
- Kostaryka
-
-
- Hawana
-
-
- Zielony PrzylÄ…dek
-
-
- Wyspa Bożego Narodzenia
-
-
- Nikozja
-
-
- Praga
-
-
- Niemcy
-
-
- Dżibuti
-
-
- Kopenhaga
-
-
- Dominika
-
-
- Republika Dominikańska
-
-
- Algier
-
-
- Ekwador
-
-
- Tallin
-
-
- Kair
-
-
- Ujun
-
-
- Asmara
-
-
- Wyspy Kanaryjskie
-
-
- Madryt
-
-
- Addis Abeba
-
-
- Finlandia
-
-
- Fidżi
-
-
- Falklandy (Malwiny)
-
-
- Wyspy Owcze
-
-
- Paryż
-
-
- Londyn
-
-
- Gruzja
-
-
- Kajenna
-
-
- Akra
-
-
- Grenlandia
-
-
- Bandżul
-
-
- Konakri
-
-
- Gwadelupa
-
-
- Ateny
-
-
- Georgia Południowa
-
-
- Gwatemala
-
-
- Gujana
-
-
- Hongkong
-
-
- Honduras
-
-
- Zagrzeb
-
-
- Haiti
-
-
- Budapeszt
-
-
- Dżakarta
-
-
- Irlandia
-
-
- Jerozolima
-
-
- Wyspa Man
-
-
- Kalkuta
-
-
- Czagos
-
-
- Bagdad
-
-
- Teheran
-
-
- Rejkiawik
-
-
- Rzym
-
-
- Jamajka
-
-
- Jordania
-
-
- Tokio
-
-
- Biszkek
-
-
- Kambodża
-
-
- Komory
-
-
- Saint Kitts
-
-
- Korea PĂ³Å‚nocna
-
-
- Seul
-
-
- Kuwejt
-
-
- Kajmany
-
-
- Aktau
-
-
- Uralsk
-
-
- Aktiubińsk
-
-
- Kyzył Orda
-
-
- Ałma Ata
-
-
- Wientian
-
-
- Bejrut
-
-
- Saint Lucia
-
-
- Liechtenstein
-
-
- Kolombo
-
-
- Wilno
-
-
- Luksemburg
-
-
- Ryga
-
-
- Trypolis
-
-
- Monako
-
-
- KiszyniĂ³w
-
-
- CzarnogĂ³ra
-
-
- Antananarywa
-
-
- Macedonia
-
-
- Rangun
-
-
- Howd
-
-
- Ułan Bator
-
-
- Czojbalsan
-
-
- Makau
-
-
- Mariany PĂ³Å‚nocne
-
-
- Martynika
-
-
- Nawakszut
-
-
- Malediwy
-
-
- Meksyk
-
-
- Kuczing
-
-
- Windhuk
-
-
- Numea
-
-
- Niamej
-
-
- Wyspa Norfolk
-
-
- Nikaragua
-
-
- Holandia
-
-
- Norwegia
-
-
- Nepal
-
-
- Maskat
-
-
- Peru
-
-
- Markizy
-
-
- Papua Nowa Gwinea
-
-
- Filipiny
-
-
- Karaczi
-
-
- Warszawa
-
-
- Saint Pierre i Miquelon
-
-
- Wyspy Pitcairn
-
-
- Portoryko
-
-
- Terytoria Palestyńskie
-
-
- Azory
-
-
- Madera
-
-
- Lizbona
-
-
- AsunciĂ³n
-
-
- Katar
-
-
- Bukareszt
-
-
- Belgrad
-
-
- Moskwa
-
-
- Wołgograd
-
-
- Jekaterynburg
-
-
- Nowosybirsk
-
-
- Krasnojarsk
-
-
- Irkuck
-
-
- Jakuck
-
-
- Władywostok
-
-
- Sachalin
-
-
- Kamczatka
-
-
- Rijad
-
-
- Wyspy Salomona
-
-
- Mahé
-
-
- Chartum
-
-
- Sztokholm
-
-
- Singapur
-
-
- ÅwiÄ™ta Helena
-
-
- Lublana
-
-
- Bratysława
-
-
- Mogadiszu
-
-
- Surinam
-
-
- Săo TomĂ©
-
-
- Salwador
-
-
- Damaszek
-
-
- Turks i Caicos
-
-
- Ndżamena
-
-
- Wyspy Kerguelena
-
-
- Lomé
-
-
- Tajlandia
-
-
- Duszanbe
-
-
- Tokelau
-
-
- Timor Wschodni
-
-
- Aszchabad
-
-
- Tonga
-
-
- Stambuł
-
-
- Port-of-Spain
-
-
- Tuvalu
-
-
- Tajpej
-
-
- Dar es-Salaam
-
-
- Użgorod
-
-
- KijĂ³w
-
-
- Symferopol
-
-
- Zaporoże
-
-
- New Salem
-
-
- Center
-
-
- Vincennes
-
-
- Petersburg
-
-
- Knox
-
-
- Winamac
-
-
- Marengo
-
-
- Vevay
-
-
- Monticello
-
-
- Nowy Jork
-
-
- Urugwaj
-
-
- Samarkanda
-
-
- Taszkient
-
-
- Watykan
-
-
- Saint Vincent
-
-
- Wenezuela
-
-
- Brytyjskie Wyspy Dziewicze
-
-
- Saint Thomas
-
-
- Sajgon
-
-
- Vanuatu
-
-
- Wallis i Futuna
-
-
- Samoa
-
-
- Jemen
-
-
- Majotta
-
-
-
- Czas środkowoeuropejski
- Czas środkowoeuropejski letni
-
- true
-
-
-
- Czas wschodnioeuropejski
- Czas wschodnioeuropejski letni
-
-
-
-
- Czas zachodnioeuropejski
- Czas zachodnioeuropejski letni
-
-
-
-
-
-
- ,
- Â
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
-
-
-
- peseta andorska
- pesety andorskie
- peset andorskich
-
-
- dirham arabski
- dirhamy arabskie
- dirhamĂ³w arabskich
-
-
- afgani (1927-2002)
- afgani (1927-2002)
- afgani (1927-2002)
-
-
- afgani
- afgani
- afgani
-
-
- lek albański
- leki albańskie
- lekĂ³w albaÅ„skich
-
-
- dram armeński
- dramy armeńskie
- dramĂ³w armeÅ„skich
-
-
- gulden Antyle Holenderskie
- guldeny Antyle Holenderskie
- guldenĂ³w (Antyle Holenderskie)
-
-
- kwanza angolańska
- kwanzy angolańskie
- kwanz angolańskich
-
-
- kwanza angolańska (1977-1990)
- kwanzy angolańskie (1977-1990)
- kwanz angolańskich (1977-1990)
-
-
- nowa kwanza angolańska (1990-2000)
- nowe kwanzy angolańskie (1990-2000)
- nowych kwanz angolańskich (1990-2000)
-
-
- kwanza angolańska Reajustado (1995-1999)
- kwanzy angolańskie Reajustado (1995-1999)
- kwanz angolańskich Reajustado (1995-1999)
-
-
- austral argentyński
-
-
- peso argentyńskie (1983-1985)
-
-
- peso argentyńskie
-
-
- szyling austriackiÂ
-
-
- dolar australijski
- dolary australijskie
- dolar australijski
- dolarĂ³w australijskich
-
-
- gulden arubski
-
-
- manat azerbejdżański
-
-
- manat azerski
- manaty azerskie
- manat azerski
- manatĂ³w azerskich
-
-
- dinar Bośni i Hercegowiny
-
-
- marka konwertybilna Bośni i Hercegowiny
- marki wymienne Bośni i Hercegowiny
- marka wymienna Bośni i Hercegowiny
- marek wymiennych Bośni i Hercegowiny
-
-
- dolar Barbadosu
-
-
- taka bengalska
-
-
- frank belgijski (zamienny)
-
-
- frank belgijski
-
-
- frank belgijski (finansowy)
-
-
- lew bułgarski
-
-
- nowy lew bułgarski
-
-
- dinar bahrański
-
-
- frank burundyjski
-
-
- dolar bermudzki
-
-
- dolar brunejski
-
-
- boliviano
-
-
- peso boliwijskie
-
-
- mvdol boliwijski
-
-
- cruzeiro novo brazylijskie (1967-1986)
-
-
- cruzado brazylijskie
-
-
- cruzeiro brazylijskie (1990-1993)
-
-
- real brazylijski
-
-
- nowe cruzado brazylijskie
-
-
- cruzeiro brazylijskie
-
-
- dolar bahamski
-
-
- ngultrum Bhutanu
-
-
- kyat birmański
-
-
- pula
-
-
- rubel białoruski (1994-1999)
-
-
- rubel białoruski
- ruble białoruskie
- rubel białoruski
- rubli białoruskich
-
-
- dolar belizeński
-
-
- dolar kanadyjski
- dolary kanadyjskie
- dolar kanadyjski
- dolarĂ³w kanadyjskich
-
-
- frank kongijski
-
-
- frank szwajcarski
- franki szwajcarskie
- frank szwajcarski
- frankĂ³w szwajcarskich
-
-
- peso chilijskie
-
-
- juan renminbi
-
-
- peso kolumbijskie
-
-
- colon kostarykański
-
-
- stary dinar serbski
-
-
- korona czechosłowacka
- korony czechosłowackie
- korona czechosłowacka
- koron czechosłowackich
-
-
- peso kubańskie
-
-
- escudo Zielonego PrzylÄ…dka
-
-
- funt cypryjski
-
-
- korona czeska
- korony czeskie
- korona czeska
- koron czeskich
-
-
- wschodnia marka wschodnioniemiecka
-
-
- marka niemiecka
- marki niemieckie
- marka niemiecka
- marek niemieckich
-
-
- frank Dżibuti
-
-
- korona duńska
- korony duńskie
- korona duńska
- koron duńskich
-
-
- peso dominikańskie
-
-
- dinar algierski
-
-
- sucre ekwadorski
-
-
- korona estońska
- korony estońskie
- korona estońska
- koron estońskich
-
-
- funt egipski
-
-
- nakfa erytrejska
-
-
- peseta hiszpańska (Konto A)
-
-
- peseta hiszpańska (konto wymienne)
-
-
- peseta hiszpańska
-
-
- birr etiopski
-
-
- euro
- euro
- euro
- euro
-
-
- marka fińska
-
-
- dolar fidżi
-
-
- funt Wysp Falklandzkich
-
-
- frank francuskiÂ
- franki francuskie
- frank francuski
- frankĂ³w francuskich
-
-
- funt szterling
-
-
- kupon gruziński larit
-
-
- lari gruzińskie
-
-
- cedi ghańskie
-
-
- cedi Ghany
-
-
- funt gibraltarski
-
-
- dalasi gambijskie
-
-
- frank gwinejski
-
-
- syli gwinejskie
-
-
- ekwele gwinejskie Gwinei RĂ³wnikowej
-
-
- drachma grecka
-
-
- quetzal gwatemalski
-
-
- escudo Gwinea Portugalska
-
-
- peso Guinea-Bissau
-
-
- dolar gujański
-
-
- dolar hongkoński
-
-
- lempira Hondurasu
-
-
- dinar chorwacki
-
-
- kuna chorwacka
-
-
- gourde haitańskie
-
-
- forint wÄ™gierskiÂ
- forinty węgierskie
- forint węgierski
- forintĂ³w wÄ™gierskich
-
-
- rupia indonezyjska
-
-
- funt irlandzki
-
-
- funt izraelski
-
-
- nowy szekel izraelski
-
-
- rupia indyjska
-
-
- dinar iracki
-
-
- rial irański
-
-
- korona islandzka
-
-
- lir włoski
-
-
- dolar jamajski
-
-
- dinar jordański
-
-
- jen japoński
- jeny japońskie
- jen japoński
- jenĂ³w japoÅ„skich
-
-
- szyling kenijski
-
-
- som kirgiski
-
-
- riel kambodżański
-
-
- frank komoryjski
-
-
- won pĂ³Å‚nocnokoreaÅ„ski
-
-
- won południowokoreański
-
-
- dinar kuwejcki
-
-
- dolar kajmański
-
-
- tenge kazachskie
-
-
- kip laotański
-
-
- funt libański
-
-
- rupia lankijska
-
-
- dolar liberyjski
-
-
- loti Lesoto
-
-
- lit litewski
-
-
- talon litewski
-
-
- frank luksemburski
-
-
- łat łotewski
-
-
- rubel łotewski
-
-
- dinar libijski
-
-
- dirham marokański
-
-
- frank marokański
- franki marokańskie
- frank marokański
- frankĂ³w marokaÅ„skich
-
-
- lej mołdawski
-
-
- ariar malgaski
-
-
- frank malgaski
-
-
- denar macedoński
-
-
- frank malijski
-
-
- kyat Myanmar
-
-
- tugrik mongolski
-
-
- pataka Macao
-
-
- ouguiya mauterańska
-
-
- lira maltańska
-
-
- funt maltański
-
-
- rupia Mauritius
-
-
- rufiyaa malediwska
-
-
- kwacha malawska
-
-
- peso meksykańskie
-
-
- peso srebrne meksykańskie (1861-1992)
-
-
- ringgit malezyjski
-
-
- escudo mozambickie
-
-
- metical Mozambik
-
-
- metical Mozambiku
-
-
- dolar namibijski
-
-
- naira nigeryjska
-
-
- cordoba nikaraguańska
-
-
- cordoba oro nikaraguańska
-
-
- gulden holenderskiÂ
-
-
- korona norweska
- korony norweskie
- korona norweska
- koron norweskich
-
-
- rupia nepalska
-
-
- dolar nowozelandzki
- dolary nowozelandzkie
- dolar nowozelandzki
- dolarĂ³w nowozelandzkich
-
-
- rial Omanu
-
-
- balboa panamski
-
-
- inti peruwiański
-
-
- nowy sol peruwiański
-
-
- sol peruwiański
-
-
- kina Papua Nowa Gwinea
-
-
- peso filipińskie
-
-
- rupia pakistańska
-
-
- złoty polski
- złote polskie
- złoty polski
- złotych polskich
-
-
- złoty polski (1950-1995)
-
-
- escudo portugalskie
-
-
- guarani paragwajskie
-
-
- rial katarski
-
-
- dolar rodezyjski
-
-
- lej rumuński
-
-
- nowa leja rumuńska
-
-
- dinar serbski
-
-
- rubel rosyjski
- ruble rosyjskie
- rubel rosyjski
- rubli rosyjskich
-
-
- rubel rosyjski (1991-1998)
-
-
- frank ruandyjski
-
-
- rial saudyjski
-
-
- dolar Wysp Salomona
-
-
- rupia seszelska
-
-
- dinar sudański
-
-
- funt sudański
-
-
- stary funt sudański
-
-
- korona szwedzka
- korony szwedzkie
- korona szwedzka
- koron szwedzkich
-
-
- dolar singapurski
-
-
- funt Wyspy ÅwiÄ™tej Heleny
-
-
- tolar słoweński
- tolary słoweńskie
- tolar słoweński
- tolarĂ³w sÅ‚oweÅ„skich
-
-
- korona słowacka
- korony słowackie
- korona słowacka
- koron słowackich
-
-
- leone Sierra Leone
-
-
- szyling somalijski
-
-
- dolar surinamski
- dolary surinamskie
- dolar surinamski
- dolarĂ³w surinamskich
-
-
- gulden surinamski
-
-
- dobra Wysp ÅwiÄ™tego Tomasza i Książęcej
-
-
- rubel radziecki
- ruble radzieckie
- rubel radziecki
- rubli radzieckich
-
-
- colon salwadorski
-
-
- funt syryjski
-
-
- lilangeni Suazi
-
-
- baht tajski
-
-
- rubel tadżycki
-
-
- somoni tadżyckie
-
-
- manat turkmeński
-
-
- dinar tunezyjski
-
-
- paʻanga Tonga
-
-
- escudo timorskie
-
-
- lir turecki
- liry tureckie
- lira turecka
- lir tureckich
-
-
- nowa lira turecka
- nowe liry tureckie
- nowa lira turecka
- nowych lir tureckich
-
-
- dolar Trynidadu i Tobago
-
-
- nowy dolar tajwański
-
-
- szyling tanzański
-
-
- hrywna ukraińska
- hrywny ukraińskie
- hrywna ukraińska
- hrywien ukraińskich
-
-
- karbowaniec ukraiński
- karbowańce ukraińskie
- karbowaniec ukraiński
- karbowaÅ„cĂ³w ukraiÅ„skich
-
-
- szyling ugandyjski (1966-1987)
-
-
- szyling ugandyjski
-
-
- dolar amerykaÅ„skiÂ
- dolary amerykańskie
- dolar amerykański
- dolarĂ³w amerykaÅ„skich
-
-
- peso urugwajskie (1975-1993)
-
-
- peso urugwajskie
-
-
- som uzbecki
-
-
- boliwar wenezuelski
-
-
- boliwar fuerte
-
-
- dong wietnamski
-
-
- vatu Vanuatu
-
-
- tala samoańska
-
-
- frank CFA BEAC
-
-
- srebro
-
-
- złoto
-
-
- dolar wschodniokaraibski
-
-
- specjalne prawa ciÄ…gnienia
-
-
- ECU
-
-
- frank złoty francuski
-
-
- UIC-frank francuski
-
-
- frank CFA
-
-
- pallad
-
-
- frank CFP
-
-
- platyna
-
-
- nieznana/nieprawidłowa waluta
- XXX
- nieznana/nieprawidłowa waluta
- XXX
-
-
- dinar jemeński
-
-
- rial jemeński
-
-
- nowy dinar jugosławiański
-
-
- dinar jugosławiański wymienny
-
-
- rand południowoafrykański (finansowy)
-
-
- rand południowoafrykański
-
-
- kwacha zambijska
-
-
- nowy zair zairski
-
-
- zair zairski
-
-
- dolar Zimbabwe
-
-
-
-
-
- {0} dni
- {0} dzień
- {0} dni
-
-
- {0} godziny
- {0} godzina
- {0} godzin
-
-
- {0} minuty
- {0} minuta
- {0} minut
-
-
- {0} miesiÄ…ce
- {0} miesiÄ…c
- {0} miesięcy
-
-
- {0} sekundy
- {0} sekunda
- {0} sekund
-
-
- {0} tygodnie
- {0} tydzień
- {0} tygodni
-
-
- {0} lata
- {0} rok
- {0} lat
-
-
-
-
- tak:t
- nie:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pl_PL.xml b/airtime_mvc/library/Zend/Locale/Data/pl_PL.xml
deleted file mode 100644
index 784b16adb..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pl_PL.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/postalCodeData.xml b/airtime_mvc/library/Zend/Locale/Data/postalCodeData.xml
deleted file mode 100644
index e534882a2..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/postalCodeData.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
- GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT|CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG|HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK|ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL|SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR|WS|WV|YO|ZE)(\d[\dA-Z]?[]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4}
- JE\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}
- GY\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}
- IM\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}
- \d{5}([ \-]\d{4})?
- [ABCEGHJKLMNPRSTVXY]\d[A-Z][ ]?\d[A-Z]\d
- \d{5}
- \d{3}-\d{4}
- \d{2}[ ]?\d{3}
- \d{4}
- \d{5}
- \d{4}
- \d{4}
- \d{5}
- \d{4}[ ]?[A-Z]{2}
- \d{4}
- \d{4}
- \d{3}[ ]?\d{2}
- \d{4}
- \d{5}[\-]?\d{3}
- \d{4}([\-]\d{3})?
- \d{5}
- 22\d{3}
- \d{3}[\-]\d{3}
- \d{6}
- \d{3}(\d{2})?
- \d{6}
- \d{5}
- AD\d{3}
- ([A-HJ-NP-Z])?\d{4}([A-Z]{3})?
- (37)?\d{4}
- \d{4}
- ((1[0-2]|[2-9])\d{2})?
- \d{4}
- (BB\d{5})?
- \d{6}
- [A-Z]{2}[ ]?[A-Z0-9]{2}
- \d{5}
- BBND 1ZZ
- [A-Z]{2}[ ]?\d{4}
- \d{4}
- \d{5}
- \d{4}
- \d{7}
- \d{4,5}|\d{3}-\d{4}
- \d{5}
- \d{4}
- \d{3}[ ]?\d{2}
- \d{5}
- ([A-Z]\d{4}[A-Z]|(?:[A-Z]{2})?\d{6})?
- \d{5}
- \d{5}
- \d{3}
- \d{4}
- \d{3}[ ]?\d{2}
- 39\d{2}
- \d{5}
- \d{4}
- (?:\d{5})?
- \d{4}
- \d{3}
- \d{6}
- \d{5}
- ((D|DUBLIN)?([1-9]|6[wW]|1[0-8]|2[024]))?
- \d{5}
- \d{5}
- \d{6}
- \d{5}
- \d{5}
- \d{5}
- \d{4}
- (\d{4}([ ]?\d{4})?)?
- (948[5-9])|(949[0-7])
- \d{5}
- \d{4}
- \d{4}
- \d{5}
- \d{5}
- [A-Z]{3}[ ]?\d{2,4}
- (\d{3}[A-Z]{2}\d{3})?
- \d{5}
- \d{4}
- 980\d{2}
- \d{5}
- \d{5}
- \d{4}
- ((\d{4}-)?\d{3}-\d{3}(-\d{1})?)?
- (\d{6})?
- (PC )?\d{3}
- \d{5}
- \d{4}
- \d{4}
- \d{2}-\d{3}
- 00[679]\d{2}([ \-]\d{4})?
- \d{6}
- \d{6}
- 4789\d
- \d{5}
- \d{5}
- \d{3}[ ]?\d{2}
- \d{4}
- \d{4}
- \d{5}
- \d{6}
- \d{5}
- \d{4}
- \d{5}
- \d{6}
- \d{5}
- \d{5}
- \d{6}
- 00120
- \d{4}
- \d{5}
- 96799
- 6799
- \d{4}
- \d{6}
- 8\d{4}
- \d{5}
- \d{5}
- 6798
- \d{4}
- FIQQ 1ZZ
- 2899
- (9694[1-4])([ \-]\d{4})?
- 9[78]3\d{2}
- \d{3}
- 9[78][01]\d{2}
- SIQQ 1ZZ
- 969[123]\d([ \-]\d{4})?
- \d{4}
- \d{4}
- \d{5}
- \d{6}
- \d{4}
- \d{3}
- \d{3}
- 969[67]\d([ \-]\d{4})?
- \d{6}
- 9695[012]([ \-]\d{4})?
- 9[78]2\d{2}
- 988\d{2}
- \d{4}
- 008(([0-4]\d)|(5[01]))([ \-]\d{4})?
- 987\d{2}
- \d{3}
- 9[78]5\d{2}
- PCRN 1ZZ
- 96940
- 9[78]4\d{2}
- STHL 1ZZ
- \d{4}
- \d{5}
- [HLMS]\d{3}
- TKCA 1ZZ
- 986\d{2}
- 976\d{2}
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ps.xml b/airtime_mvc/library/Zend/Locale/Data/ps.xml
deleted file mode 100644
index d22c44cac..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ps.xml
+++ /dev/null
@@ -1,416 +0,0 @@
-
-
-
-
-
-
-
- fa_AF
-
-
- Ø§ÙØ±ÙکانÙ
- امهارÙ
- عربÙ
- اسمائى ژبه
- أذربائجانÙ
- بلوڅÙ
- بÛلاروسÙ
- بلغارÙ
- بÙهارÙ
- بنګالÙ
- Ø¨Ø±ÛØªÙˆÙ†
- بوسنÙ
- کټلانÙ
- Ú†ÛÚ©
- ÙˆÙلشÙ
- Ú‰Ûنش
- المانÙ
- یونانÙ
- انګلیسÙ
- اسپرانتو
- هسپانوÙ
- ØØ¨Ø´Ù
- باسکÙ
- ÙØ§Ø±Ø³Ù
- ÙینلنډÙ
- تګالوګ
- ÙØ§Ø±ÙˆØ¦Û
- ÙØ±Ø§Ù†Ø³ÙˆÙ
- ÙØ±ÙزÙ
- Ø§Ø¦ÙØ±Ù„ÛÙ†Ú‰Ù
- سکاټلÛÙ†Ú‰Ù Ú«ÛÙ„Ú©
- Ú«Ù„ÛØ´ÙاÙÙ
- ګورانÙ
- ګجراتÙ
- عبرÙ
- هندÙ
- کروواتÙ
- هنګرÙ
- ارمنÙ
- انټرلنګوا
- Ø§Ù†Ú‰ÙˆÙ†ÛØ´ÙاÙÙ
- آسا نا جبة
- هند Ùˆ اروپایÙ
- Ø£ÙØ³Ù„ÛÙ†Ú‰Ù
- ایټالوÙ
- جاپانی
- جاواÙÛ
- Ø¬ÙˆØ±Ø¬ÙØ§Ø¦Ù
- Ú©Ù…Ø¨ÙˆÚ‰ÙØ§ÙÛ ÙØ§ د Ú©Ù…Ø¨ÙˆÚ‰ÙØ§
- کنأډه
- Ú©ÙˆØ±ÙØ§Ø¦Ù
- کردÙ
- Ú©Ø±Ú«ÙØ²
- لاتینÙ
- Ù„ÙˆÙØªÙÙ†
- Ù„ÙØªÙˆØ§Ù†Ù
- Ù„ÛټوانÙ
- ملغاسÙ
- مقدونÙ
- Ù…Ø§Ù„Ø§ÙØ§Ù„Ù…
- مغولÙ
- مراټهÙ
- ملایا
- مالټاÙÙ
- Ù†ÛپالÙ
- هالÛÙ†Ú‰Ù
- Ù†Ø§Ø±ÙˆÛØ¦Ù (نائنورسک)
- Ù†Ø§Ø±ÙˆÛØ¦Û
- اوکسÙټانÙ
- Ø§ÙˆØ±ÙØ§
- پنجابÙ
- پولنډÙ
- Ù¾ÚØªÙˆ
- پورتګالÙ
- پرتگال (برازÙÙ„)
- پرتګال٠(پرتګال)
- رومانÙ
- روسÙ
- سنسکریټ
- سندهÙ
- سرب-Ú©Ø±ÙˆØ´ÙØ§ÙÙ
- سÙنهالÙ
- سلوواکÙ
- سلووانÙ
- سومالÙ
- البانÙ
- Ø³Ø±Ø¨ÙØ§Ø¦Ù
- Ø³ÙØ³ÙˆØªÙˆ
- سوډانÙ
- سویډنی
- سواهÛÙ„Ù
- تامل
- تÛÙ„ÙÚ«Ùˆ
- تاجک
- تاÙÙ„ÛÙ†Ú‰Ù
- تÙګرÙÙ†Ù
- ترکمنÙ
- Ú©Ù„ÙنګانÙ
- ترکÙ
- تاتار
- توی
- اوÙگور
- اوکراناÙÙ
- اردو
- ازبکÙ
- ÙˆÛØªÙ†Ø§Ù…Ù
- خوسا
- ÙØ¯ÙØ´
- چینÙ
- زولو
-
-
-
-
-
- Ø§ÙØºØ§Ù†Ø³ØªØ§Ù†
- البانیه
- انګولا
- انتارکتیکا
- اتریش
- بنګله‌دیش
- بلغاریه
- کاناډا
- سویس
- چین
- کولمبیا
- کیوبا
- المان
- ډنمارک
- الجزایر
- مصر
- هسپانیه
- ØØ¨Ø´Ù‡
- Ùنلینډ
- ÙØ±Ø§Ù†Ø³Ù‡
- برتانیه
- ګانا
- ګیانا
- یونان
- ګواتیمالا
- هانډوراس
- مجارستان
- اندونیزیا
- هند
- عراق
- آیسلینډ
- ایټالیه
- جمیکا
- جاپان
- کمبودیا
- کویټ
- لاوس
- لبنان
- لایبریا
- لیبیا
- مراکش
- مغولستان
- مالیزیا
- نایجیریا
- نکاراګوا
- هالÛÙ†Ú‰
- ناروÛ
- نیپال
- نیوزیلنډ
- پاکستان
- پولنډ
- Ùلسطین
- پورتګال
- روسیه
- روندا
- سعودی عربستان
- سویډن
- سالوÛډور
- سوریه
- تاجکستان
- تنزانیا
- یوروګوای
- یمن
-
-
-
-
-
-
- [\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 Ø¢ ا Ø£ Ø¡ ب Ù¾ ت Ù¼ Ø« ج Ú Ú† Ú… Ø-د Ú‰ ذ ر Ú“ ز Ú˜ Ú– س Ø´ Ú Øµ-غ Ù Ù‚ Ú© Ú« Ù„-Ù† Ú¼ Ù‡ Ø© Ùˆ ؤ ÛŒ Ù Û Û Ø¦]
- [\u200C \u200D]
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- مـی
- جون
- 7
- 8
- 9
- 10
- 11
- 12
-
-
- جنورÙ
- ÙØ¨Ø±ÙˆØ±Ù
- مارچ
- اپریل
- می
- جون
- جولای
- اګست
- سپتمبر
- اکتوبر
- نومبر
- دسمبر
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
- یکشنبه
- دوشنبه
- سه‌شنبه
- چهارشنبه
- پنجشنبه
- جمعه
- شنبه
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- غ.م.
- غ.و.
-
-
- Ù‚.Ù….
- Ù….
-
-
-
-
-
- EEEE د y د MMMM d
-
-
-
-
- د y د MMMM d
-
-
-
-
- d MMM y
-
-
-
-
- yyyy/M/d
-
-
-
-
-
-
- H:mm:ss (zzzz)
-
-
-
-
- H:mm:ss (z)
-
-
-
-
- H:mm:ss
-
-
-
-
- H:mm
-
-
-
-
-
- M/d
- d MMMM
- mm:ss
- Q yy
- yyyy/M
- د y د MMMM
-
-
-
-
-
-
-
- وری
- غویی
- غبرګولی
- چنګاÚ
- زمری
- وږی
- تله
- Ù„Ú“Ù…
- لیندÛ
- مرغومی
- سلواغه
- کب
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- د {0} په وخت
-
- کابل
-
-
-
-
- arabext
-
- ,
- .
- %
- 0
- −
- E
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- Ø§ÙØºØ§Ù†Û
- Ø‹
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ps_AF.xml b/airtime_mvc/library/Zend/Locale/Data/ps_AF.xml
deleted file mode 100644
index 6d5465001..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ps_AF.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pt.xml b/airtime_mvc/library/Zend/Locale/Data/pt.xml
deleted file mode 100644
index 4ce09ff59..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pt.xml
+++ /dev/null
@@ -1,4337 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- afar
- abcĂ¡zio
- achém
- acoli
- adangme
- adigue
- avéstico
- africĂ¢ner
- idioma afro-asiĂ¡tico
- afrihili
- ainu
- akan
- acadiano
- aleĂºte
- idioma algonquiano
- altai do sul
- amĂ¡rico
- aragonĂªs
- inglĂªs arcaico
- angika
- idioma apache
- Ă¡rabe
- aramaico
- araucano
- arapaho
- idioma artificial
- arauaqui
- assamĂªs
- asturiano
- idioma atabascano
- idioma australiano
- avaric
- awadhi
- aimara
- azerbaijano
- bashkir
- banda
- idioma bamileke
- balĂºchi
- balinĂªs
- basa
- idioma bĂ¡ltico
- bielo-russo
- beja
- bemba
- berbere
- bĂºlgaro
- biari
- bhojpuri
- bislamĂ¡
- bikol
- bini
- siksika
- bambara
- bengali
- banto
- tibetano
- bretĂ£o
- braj
- bĂ³snio
- bataque
- buriat
- buguinĂªs
- blin
- catalĂ£o
- caddo
- idioma indĂgena centro-americano
- caribe
- idioma caucĂ¡sico
- atsam
- checheno
- cebuano
- idioma celta
- chamorro
- chibcha
- chagatai
- chuukese
- mari
- chinook jargon
- choctaw
- chipewyan
- cherokee
- cheiene
- idioma chamic
- cĂ³rsico
- copta
- crioulo ou pidgin baseado no inglĂªs
- crioulo ou pidgin baseado no francĂªs
- crioulo ou pidgin baseado no portuguĂªs
- cree
- turco da Crimeia
- crioulo ou pidgin
- tcheco
- kashubian
- eslavo eclesiĂ¡stico
- idioma cuchĂtico
- chuvash
- galĂªs
- dinamarquĂªs
- dacota
- dargwa
- dayak
- alemĂ£o
- alemĂ£o austrĂaco
- alto alemĂ£o suĂço
- delaware
- slave
- dogrib
- dinka
- dogri
- idioma dravidiano
- sérvio baixo
- duala
- holandĂªs mĂ©dio
- divehi
- diĂºla
- dzonga
- eve
- efique
- egĂpcio arcaico
- ekajuk
- grego
- elamite
- inglĂªs
- inglĂªs australiano
- inglĂªs canadense
- inglĂªs britĂ¢nico
- inglĂªs americano
- inglĂªs mĂ©dio
- esperanto
- espanhol
- espanhol latino-americano
- espanhol ibérico
- estoniano
- basco
- ewondo
- persa
- fangue
- fanti
- fula
- finlandĂªs
- filipino
- idioma fino-Ăºgrico
- fijiano
- feroĂªs
- fom
- francĂªs
- francĂªs canadense
- francĂªs suĂço
- francĂªs mĂ©dio
- francĂªs arcaico
- frĂsio setentrional
- frisĂ£o oriental
- friulano
- frĂsio ocidental
- irlandĂªs
- ga
- gayo
- gbaia
- gaĂ©lico escocĂªs
- idioma germĂ¢nico
- geez
- gilbertĂªs
- galego
- alemĂ£o mĂ©dio-alto
- guarani
- alemĂ£o arcaico alto
- gondi
- gorontalo
- gĂ³tico
- grebo
- grego arcaico
- alemĂ£o suĂço
- guzerate
- manx
- gwichʼin
- hauĂ§Ă¡
- haida
- havaiano
- hebraico
- hĂndi
- hiligaynon
- himachali
- hitita
- hmong
- hiri motu
- croata
- sorĂ¡bio superior
- haitiano
- hĂºngaro
- hupa
- armĂªnio
- herero
- interlĂngua
- iban
- indonésio
- interlingue
- ibo
- sichuan yi
- ijo
- inupiaque
- ilocano
- idioma Ăndico
- idioma indo-europeu
- inguche
- ido
- iraniano
- idioma iroquĂªs
- islandĂªs
- italiano
- inuktitut
- japonĂªs
- lojban
- judaico-persa
- judaico-arĂ¡bico
- javanĂªs
- georgiano
- kara-kalpak
- kabyle
- kachin
- jju
- kamba
- karen
- kawi
- kabardiano
- tyap
- koro
- congolĂªs
- khasi
- idioma coisĂ£
- khotanĂªs
- quicuio
- kuanyama
- cazaque
- groenlandĂªs
- cmer
- quimbundo
- canarĂªs
- coreano
- concani
- kosraean
- kpelle
- canĂºri
- karachay-balkar
- idioma carélio
- kru
- kurukh
- caxemira
- curdo
- kumyk
- kutenai
- komi
- cĂ³rnico
- quirguiz
- latim
- ladino
- lahnda
- lamba
- luxemburguĂªs
- lezghian
- luganda
- limburguĂªs
- lingala
- laosiano
- mongo
- lozi
- lituano
- luba-catanga
- luba-lulua
- luiseno
- lunda
- luo
- lushai
- letĂ£o
- madurĂªs
- magahi
- maithili
- makasar
- mandinga
- austronésio
- massai
- mocsa
- mandar
- mende
- malgaxe
- irlandĂªs mĂ©dio
- marshalĂªs
- maori
- miquemaque
- minangkabau
- idiomas diversos
- macedĂ´nio
- idioma mon-khmer
- malaiala
- mongol
- manchu
- manipuri
- idioma manobo
- moldĂ¡vio
- mohawk
- mossi
- marata
- malaio
- maltĂªs
- idiomas mĂºltiplos
- idiomas munda
- creek
- mirandĂªs
- marwari
- birmanĂªs
- maia
- erzya
- nauruano
- nĂ¡uatle
- idioma indĂgena norte-americano
- napolitano
- bokmĂ¥l norueguĂªs
- ndebele do norte
- baixo-alemĂ£o
- nepali
- newari
- dongo
- nias
- idioma cordofano-nigeriano
- niueano
- holandĂªs
- flamengo
- nynorsk norueguĂªs
- norueguĂªs
- nogai
- nĂ³rdico arcaico
- n'ko
- ndebele do sul
- soto setentrional
- idioma nĂºbio
- navajo
- newari clĂ¡ssico
- nianja
- nyamwezi
- nyankole
- nyoro
- nzima
- occitĂ¢nico
- ojibwa
- oromo
- oriya
- ossetic
- osage
- turco otomano
- idioma otomano
- panjabi
- idioma papuano
- pangasinĂ£
- pĂ¡lavi
- pampanga
- papiamento
- palauano
- persa arcaico
- idioma filipino
- fenĂcio
- pĂ¡li
- polonĂªs
- pohnpeian
- idioma prĂ¡crito
- provençal arcaico
- pashto
- portuguĂªs
- portuguĂªs do Brasil
- portuguĂªs ibĂ©rico
- quĂchua
- rajastani
- rapanui
- rarotongano
- reto-romano
- rundi
- romeno
- idioma romĂ¢nico
- romani
- root
- russo
- aromeno
- kinyarwanda
- sĂ¢nscrito
- sandawe
- iacuto
- idioma indĂgena sul-americano
- idioma salisano
- aramaico samaritano
- sasak
- santali
- sardo
- siciliano
- escocĂªs
- sindi
- sami do norte
- selkup
- idioma semĂtico
- sango
- irlandĂªs arcaico
- linguagem de sinais
- servo-croata
- shan
- cingalĂªs
- sidamo
- idioma sioux
- idioma sino-tibetano
- eslovaco
- esloveno
- idioma eslavo
- samoano
- sami do sul
- idioma sami
- lule sami
- inari sami
- skolt sami
- shona
- soninquĂª
- somali
- sogdiano
- songai
- albanĂªs
- sérvio
- idioma surinamĂªs
- serere
- swati
- idioma nilo-saariano
- soto do sul
- sundanĂªs
- sukuma
- sosso
- sumério
- sueco
- suaili
- sirĂaco clĂ¡ssico
- sirĂaco
- tĂ¢mil
- idioma tailandĂªs
- telugu
- timne
- tereno
- tétum
- tadjique
- tailandĂªs
- tigrĂnia
- tigré
- tiv
- turcomano
- toquelauano
- tagalo
- klingon
- tlinguite
- tamaxeque
- tswana
- tonganĂªs
- tonganĂªs de Nyasa
- tok pisin
- turco
- tsonga
- tsimshian
- tatar
- tumbuka
- idioma tupi
- idioma altaico
- tuvaluano
- twi
- taitiano
- tuvinian
- udmurt
- uighur
- ugarĂtico
- ucraniano
- umbundu
- idioma invĂ¡lido ou desconhecido
- urdu
- usbeque
- vai
- venda
- vietnamita
- volapuque
- votic
- valĂ£o
- idioma wakashan
- walamo
- waray
- washo
- idioma sorĂ¡bio
- uĂ³lofe
- kalmyk
- xosa
- yao
- yapese
- iĂdiche
- ioruba
- idioma iĂºpique
- zhuang
- zapoteca
- sĂmbolos blis
- zenaga
- chinĂªs
- chinĂªs simplificado
- chinĂªs tradicional
- zande
- zulu
- zunhi
- sem conteĂºdo linguĂstico
- zaza
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Mundo
- Ăfrica
- América do Norte
- América do Sul
- Oceania
- Ăfrica Ocidental
- América Central
- Ăfrica Oriental
- Ăfrica do Norte
- Ăfrica Central
- Ăfrica Austral
- Américas
- América Setentrional
- Caribe
- Ăsia Oriental
- Ăsia do Sul
- Ăsia Centro-Oriental
- Europa do Sul
- AustrĂ¡lia e Nova ZelĂ¢ndia
- Melanésia
- RegiĂ£o da MicronĂ©sia
- Polinésia
- Ăsia Centro-Meridional
- Ăsia
- Ăsia Central
- Ăsia Ocidental
- Europa
- Europa Oriental
- Europa Setentrional
- Europa Ocidental
- Comunidade dos Estados Independentes
- América Latina e Caribe
- Andorra
- Emirados Ărabes Unidos
- AfeganistĂ£o
- AntĂgua e Barbuda
- Anguilla
- AlbĂ¢nia
- ArmĂªnia
- Antilhas Holandesas
- Angola
- AntĂ¡rtida
- Argentina
- Samoa Americana
- Ăustria
- AustrĂ¡lia
- Aruba
- Ilhas Aland
- AzerbaijĂ£o
- BĂ³snia-Herzegovina
- Barbados
- Bangladesh
- Bélgica
- Burquina Faso
- BulgĂ¡ria
- Bahrain
- Burundi
- Benin
- SĂ£o Bartolomeu
- Bermudas
- Brunei
- BolĂvia
- Brasil
- Bahamas
- ButĂ£o
- Ilha Bouvet
- Botsuana
- Belarus
- Belize
- CanadĂ¡
- Ilhas Coco
- Congo-Kinshasa
- RepĂºblica Centro-Africana
- Congo
- SuĂça
- Costa do Marfim
- Ilhas Cook
- Chile
- RepĂºblica dos Camarões
- China
- ColĂ´mbia
- Costa Rica
- Sérvia e Montenegro
- Cuba
- Cabo Verde
- Ilhas Natal
- Chipre
- RepĂºblica Tcheca
- Alemanha
- Djibuti
- Dinamarca
- Dominica
- RepĂºblica Dominicana
- Argélia
- Equador
- EstĂ´nia
- Egito
- Saara Ocidental
- Eritreia
- Espanha
- EtiĂ³pia
- FinlĂ¢ndia
- Fiji
- Ilhas Malvinas
- Micronésia
- Ilhas Faroe
- França
- GabĂ£o
- Reino Unido
- Granada
- GeĂ³rgia
- Guiana Francesa
- Guernsey
- Gana
- Gibraltar
- GroĂªnlandia
- GĂ¢mbia
- Guiné
- Guadalupe
- Guiné Equatorial
- Grécia
- GeĂ³rgia do Sul e Ilhas Sandwich do Sul
- Guatemala
- Guam
- Guiné Bissau
- Guiana
- Hong Kong, RegiĂ£o Admin. Especial da China
- Ilha Heard e Ilhas McDonald
- Honduras
- CroĂ¡cia
- Haiti
- Hungria
- Indonésia
- Irlanda
- Israel
- Ilha de Man
- Ăndia
- TerritĂ³rio BritĂ¢nico do Oceano Ăndico
- Iraque
- IrĂ£
- IslĂ¢ndia
- ItĂ¡lia
- Jersey
- Jamaica
- JordĂ¢nia
- JapĂ£o
- QuĂªnia
- QuirguistĂ£o
- Camboja
- Quiribati
- Comores
- SĂ£o CristovĂ£o e Nevis
- Coreia do Norte
- Coreia do Sul
- Kuwait
- Ilhas Caiman
- CasaquistĂ£o
- RepĂºblica Popular DemocrĂ¡tica do Laos
- LĂbano
- Santa LĂºcia
- Liechtenstein
- Sri Lanka
- Libéria
- Lesoto
- LituĂ¢nia
- Luxemburgo
- LetĂ´nia
- LĂbia
- Marrocos
- MĂ´naco
- MoldĂ¡via
- Montenegro
- SĂ£o Martinho
- Madagascar
- Ilhas Marshall
- MacedĂ´nia
- Mali
- Mianmar
- MongĂ³lia
- Macau, RegiĂ£o Admin. Especial da China
- Ilhas Marianas do Norte
- Martinica
- MauritĂ¢nia
- Montserrat
- Malta
- MaurĂcio
- Maldivas
- Malawi
- México
- MalĂ¡sia
- Moçambique
- NamĂbia
- Nova CaledĂ´nia
- NĂger
- Ilha Norfolk
- Nigéria
- NicarĂ¡gua
- Holanda
- Noruega
- Nepal
- Nauru
- Niue
- Nova ZelĂ¢ndia
- OmĂ£
- PanamĂ¡
- Peru
- Polinésia Francesa
- Papua-Nova Guiné
- Filipinas
- PaquistĂ£o
- PolĂ´nia
- Saint Pierre e Miquelon
- Pitcairn
- Porto Rico
- TerritĂ³rio da Palestina
- Portugal
- Palau
- Paraguai
- Catar
- Oceania Remota
- UniĂ£o Europeia
- ReuniĂ£o
- RomĂªnia
- Sérvia
- RĂºssia
- Ruanda
- ArĂ¡bia Saudita
- Ilhas SalomĂ£o
- Seychelles
- SudĂ£o
- Suécia
- Cingapura
- Santa Helena
- EslovĂªnia
- Svalbard e Jan Mayen
- EslovĂ¡quia
- Serra Leoa
- San Marino
- Senegal
- SomĂ¡lia
- Suriname
- SĂ£o TomĂ© e PrĂncipe
- El Salvador
- SĂria
- SuazilĂ¢ndia
- Ilhas Turks e Caicos
- Chade
- TerritĂ³rios Franceses do Sul
- Togo
- TailĂ¢ndia
- TadjiquistĂ£o
- Tokelau
- Timor Leste
- TurcomenistĂ£o
- TunĂsia
- Tonga
- Turquia
- Trinidad e Tobago
- Tuvalu
- Taiwan
- TanzĂ¢nia
- UcrĂ¢nia
- Uganda
- Ilhas Menores Distantes dos Estados Unidos
- Estados Unidos
- Uruguai
- UzbequistĂ£o
- Vaticano
- SĂ£o Vicente e Granadinas
- Venezuela
- Ilhas Virgens BritĂ¢nicas
- Ilhas Virgens dos EUA
- VietnĂ£
- Vanuatu
- Wallis e Futuna
- Samoa
- IĂªmen
- Mayotte
- Ăfrica do Sul
- ZĂ¢mbia
- ZimbĂ¡bue
- RegiĂ£o desconhecida ou invĂ¡lida
-
-
- ortografia alemĂ£ tradicional
- ortografia resiana padronizada
- ortografia alemĂ£ de 1996
- francĂªs antigo de 1606
- francĂªs da idade moderna
- armĂªnio oriental
- armĂªnio ocidental
- alfabeto latino turco unificado
- dialeto san giorgio/bila
- boontling
- fonética do Alfabeto Fonético Internacional
- fonĂ©tica do Alfabeto FonĂ©tico UrĂ¡lico
- dialeto lipovaz de Resian
- monotĂ´nico
- dialeto natisone
- dialeto gniva/njiva
- dialeto oseacco/osojane
- politĂ´nico
- computador
- Ortografia Revisada
- resiano
- saho
- inglĂªs padrĂ£o escocĂªs
- scouse
- dialeto stolvizza/solbica
- ortografia taraskievica
- valenciano
-
-
- CalendĂ¡rio
- OrdenaĂ§Ă£o
- Moeda
-
-
- Ordem do ChinĂªs Tradicional - Big5
- CalendĂ¡rio Budista
- CalendĂ¡rio ChinĂªs
- Ordem Direta
- Ordem do ChinĂªs Simplificado - GB2312
- CalendĂ¡rio Gregoriano
- CalendĂ¡rio Hebraico
- CalendĂ¡rio Nacional Indiano
- CalendĂ¡rio IslĂ¢mico
- CalendĂ¡rio Civil IslĂ¢mico
- CalendĂ¡rio JaponĂªs
- Ordem de Lista TelefĂ´nica
- Ordem Pin-yin
- CalendĂ¡rio da RepĂºblica da China
- Ordem dos Traços
- Ordem Tradicional
-
-
- métrico
- americano
-
-
- Idioma: {0}
- Roteiro: {0}
- RegiĂ£o: {0}
-
-
-
- [a Ă¡ Ă Ă¢ Ă£ b c ç d e Ă© Ăª f-i Ă j-o Ă³ Ă² Ă´ õ p-u Ăº v-z]
- [ă Ă¥ ä Ä Ă¦ è Ä• Ă« Ä“ ì Ä Ă® Ă¯ Ä« ñ Å Ă¶ ø Å Å“ ĂŸ Ă¹ Å Ă» Ă¼ Å« Ă¿]
- [a-c Ä d-l Å‚ m-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
-
-
- EEEE, d 'de' MMMM 'de' y G
-
-
-
-
- d 'de' MMMM 'de' y G
-
-
-
-
- d 'de' MMMM 'de' y G
-
-
-
-
- d/M/yyyy
-
-
-
-
-
- MM-yy
-
-
-
-
-
-
-
- jan
- fev
- mar
- abr
- mai
- jun
- jul
- ago
- set
- out
- nov
- dez
-
-
- janeiro
- fevereiro
- março
- abril
- maio
- junho
- julho
- agosto
- setembro
- outubro
- novembro
- dezembro
-
-
-
-
- J
- F
- M
- A
- M
- J
- J
- A
- S
- O
- N
- D
-
-
-
-
-
-
- dom
- seg
- ter
- qua
- qui
- sex
- sĂ¡b
-
-
- domingo
- segunda-feira
- terça-feira
- quarta-feira
- quinta-feira
- sexta-feira
- sĂ¡bado
-
-
-
-
- D
- S
- T
- Q
- Q
- S
- S
-
-
-
-
-
-
- T1
- T2
- T3
- T4
-
-
- 1º trimestre
- 2º trimestre
- 3º trimestre
- 4º trimestre
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- AM
- PM
-
-
- Antes de Cristo
- Ano do Senhor
-
-
- a.C.
- d.C.
-
-
-
-
-
- EEEE, d 'de' MMMM 'de' y
-
-
-
-
- d 'de' MMMM 'de' y
-
-
-
-
- dd/MM/yyyy
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- HH'h'mm'min'ss's' zzzz
-
-
-
-
- HH'h'mm'min'ss's' z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
-
- {1} {0}
-
-
-
- d
- EEE, d
- HH'h'mm
- H'h'mm'min'ss's'
- H'h'mm
- L
- d/M
- EEE, dd/MM
- dd/MM
- LLL
- d 'de' MMM
- EEE, d 'de' MMM
- d 'de' MMMM
- EEE, d 'de' MMMM
- mm'min'ss's'
- mm'min'ss's'
- y
- MM/yyyy
- EEE, dd/MM/yyyy
- MMM 'de' y
- EEE, d 'de' MMM 'de' y
- MMMM 'de' y
- yyyy Q
- y QQQ
- MM/yy
- MMM 'de' yy
- d 'de' MMM 'de' yy
- EEE, d 'de' MMM 'de' yy
- Q yy
- MM/yyyy
- MMM 'de' y
-
-
- {0} - {1}
-
- d-d
-
-
- H'h' - H'h'
- H'h' - H'h'
-
-
- H'h'mm - H'h'mm
- H'h'mm - H'h'mm
- H'h'mm - H'h'mm
-
-
- H'h'mm - H'h'mm v
- H'h'mm - H'h'mm v
- H'h'mm - H'h'mm v
-
-
- H'h'mm - H'h'mm v
- H'h'mm - H'h'mm v
-
-
- M-M
-
-
- dd/MM - dd/MM
- dd/MM - dd/MM
-
-
- E, dd/MM - E, dd/MM
- E, dd/MM - E, dd/MM
-
-
- MMM - MMM
-
-
- d-d 'de' MMM
- d 'de' MMM - d 'de' MMM
-
-
- E, d - E, d 'de' MMM
- E, d 'de' MMM - E, d 'de' MMM
-
-
- LLLL - LLLL
-
-
- y - y
-
-
- MM/yy - MM/yy
- MM/yy - MM/yy
-
-
- dd/MM/yy - dd/MM/yy
- dd/MM/yy - dd/MM/yy
- dd/MM/yy - dd/MM/yy
-
-
- E, dd/MM/yy - E, dd/MM/yy
- E, dd/MM/yy - E, dd/MM/yy
- E, dd/MM/yy - E, dd/MM/yy
-
-
- MMM-MMM 'de' y
- MMM 'de' y - MMM 'de' y
-
-
- d-d 'de' MMM 'de' y
- d 'de' MMM - d 'de' MMM 'de' y
- d 'de' MMM 'de' y - d 'de' MMM 'de' y
-
-
- E, d - E, d 'de' MMM 'de' y
- E, d 'de' MMM - E, d 'de' MMM 'de' y
- E, d 'de' MMM 'de' y - E, d 'de' MMM 'de' y
-
-
- MM – MM-yyyy
- MM-yyyy – MM-yyyy
-
-
-
-
-
- Era
-
-
- Ano
-
-
- MĂªs
-
-
- Semana
-
-
- Dia
- HĂ¡ trĂªs dias
- Anteontem
- Ontem
- Hoje
- AmanhĂ£
- Depois de amanhĂ£
- Daqui a trĂªs dias
-
-
- Dia da semana
-
-
- PerĂodo do dia
-
-
- Hora
-
-
- Minuto
-
-
- Segundo
-
-
- Fuso
-
-
-
-
-
-
-
- EEEE, d MMMM y G
-
-
-
-
- d 'de' MMMM 'de' y G
-
-
-
-
- d MMM y G
-
-
-
-
- d/M/yy
-
-
-
-
-
-
-
- Antes de R.O.C.
-
-
- Antes de R.O.C.
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- HorĂ¡rio {0}
- {1} ({0})
-
- Desconhecido
-
-
- Cabul
-
-
- AntĂgua
-
-
- Anguila
-
-
- Tirana
-
-
- Ierevan
-
-
- Curaçao
-
-
- PĂ³lo Sul
-
-
- TucumĂ£
-
-
- CĂ³rdoba
-
-
- Viena
-
-
- Dacca
-
-
- Bruxelas
-
-
- SĂ³fia
-
-
- Barein
-
-
- Porto Novo
-
-
- Bermudas
-
-
- Eirunepé
-
-
- CuiabĂ¡
-
-
- Santarém
-
-
- Belém
-
-
- AraguaĂna
-
-
- SĂ£o Paulo
-
-
- MaceiĂ³
-
-
- Fernando de Noronha
-
-
- St. Johns
-
-
- Zurique
-
-
- AbidjĂ£
-
-
- Ilha de PĂ¡scoa
-
-
- Xangai
-
-
- BogotĂ¡
-
-
- Cabo Verde
-
-
- NicĂ³sia
-
-
- Berlim
-
-
- Djibuti
-
-
- Copenhague
-
-
- Argel
-
-
- GalĂ¡pagos
-
-
- Guaiaquil
-
-
- CanĂ¡rias
-
-
- Madri
-
-
- Helsinque
-
-
- Ilhas Faroe
-
-
- Londres
-
-
- Granada
-
-
- Caiena
-
-
- Guadalupe
-
-
- Atenas
-
-
- GeĂ³rgia do Sul
-
-
- Guiana
-
-
- Porto PrĂncipe
-
-
- Budapeste
-
-
- Jacarta
-
-
- Jerusalém
-
-
- BagdĂ¡
-
-
- TeerĂ£
-
-
- Roma
-
-
- AmĂ£
-
-
- TĂ³quio
-
-
- NairĂ³bi
-
-
- SĂ£o CristĂ³vĂ£o
-
-
- Seul
-
-
- CaimĂ£
-
-
- Vienciana
-
-
- Beirute
-
-
- Santa LĂºcia
-
-
- MonrĂ³via
-
-
- Luxemburgo
-
-
- TrĂpoli
-
-
- MĂ´naco
-
-
- Martinica
-
-
- Ilhas MaurĂcio
-
-
- Maldivas
-
-
- Cidade do México
-
-
- Mérida
-
-
- CancĂºn
-
-
- ManĂ¡gua
-
-
- AmsterdĂ£
-
-
- Catmandu
-
-
- PanamĂ¡
-
-
- Taiti
-
-
- VarsĂ³via
-
-
- Porto Rico
-
-
- Açores
-
-
- Lisboa
-
-
- AsunciĂ³n
-
-
- Catar
-
-
- Ilha ReuniĂ£o
-
-
- Bucareste
-
-
- Moscou
-
-
- Volgogrado
-
-
- Ecaterimburgo
-
-
- Riad
-
-
- Estocolmo
-
-
- Cingapura
-
-
- Santa Helena
-
-
- Dacar
-
-
- SĂ£o TomĂ©
-
-
- Salvador
-
-
- Damasco
-
-
- Lomé
-
-
- TunĂsia
-
-
- Istambul
-
-
- Porto Espanha
-
-
- New Salen, Dakota do Norte
-
-
- Central, Dakota do Norte
-
-
- IndianĂ¡polis
-
-
- Nova York
-
-
- Montevidéu
-
-
- SĂ£o Vicente
-
-
- St. Thomas
-
-
- Ilha Mayotte
-
-
- Johannesburgo
-
-
-
- HorĂ¡rio do Acre
- HorĂ¡rio de VerĂ£o do Acre
-
-
- ACT
- ACST
-
- true
-
-
-
- HorĂ¡rio do AfeganistĂ£o
-
-
-
-
- HorĂ¡rio da Ăfrica Central
-
-
-
-
- HorĂ¡rio da Ăfrica Oriental
-
-
-
-
- HorĂ¡rio da Ăfrica do Sul
- HorĂ¡rio PadrĂ£o da Ăfrica do Sul
-
-
-
-
- HorĂ¡rio da Ăfrica Ocidental
- HorĂ¡rio de VerĂ£o da Ăfrica Ocidental
-
-
-
-
- HorĂ¡rio do Aktyubinsk
- HorĂ¡rio de VerĂ£o do Aktyubinsk
-
-
-
-
- HorĂ¡rio do Alaska
- HorĂ¡rio PadrĂ£o do Alasca
- HorĂ¡rio de VerĂ£o do Alasca
-
-
- AKT
-
- true
-
-
-
- HorĂ¡rio do Alasca-HavaĂ
- HorĂ¡rio PadrĂ£o do Alaska-HavaĂ
- HorĂ¡rio de VerĂ£o do Alaska-HavaĂ
-
-
- AHT
-
-
-
-
- HorĂ¡rio do Almaty
- HorĂ¡rio de VerĂ£o do Almaty
-
-
-
-
- HorĂ¡rio do Amazonas
- HorĂ¡rio de VerĂ£o do Amazonas
-
- true
-
-
-
- HorĂ¡rio Central
- HorĂ¡rio PadrĂ£o Central
- HorĂ¡rio de VerĂ£o Central
-
-
- CT
- CST
- CDT
-
-
-
-
- HorĂ¡rio Oriental
- HorĂ¡rio PadrĂ£o Oriental
- HorĂ¡rio de VerĂ£o Oriental
-
-
- ET
- EST
- EDT
-
-
-
-
- HorĂ¡rio da Montanha
- HorĂ¡rio PadrĂ£o da Montanha
- HorĂ¡rio de VerĂ£o da Montanha
-
-
- MT
- MST
- MDT
-
-
-
-
- HorĂ¡rio do PacĂfico
- HorĂ¡rio PadrĂ£o do PacĂfico
- HorĂ¡rio de VerĂ£o do PacĂfico
-
-
- PT
- PST
- PDT
-
-
-
-
- HorĂ¡rio do Anadyr
- HorĂ¡rio de VerĂ£o do Anadyr
-
-
-
-
- HorĂ¡rio do Aqtau
- HorĂ¡rio de VerĂ£o do Aqtau
-
-
-
-
- HorĂ¡rio do Aqtobe
- HorĂ¡rio de VerĂ£o do Aqtobe
-
-
-
-
- HorĂ¡rio da ArĂ¡bia
- HorĂ¡rio PadrĂ£o da ArĂ¡bia
- HorĂ¡rio de VerĂ£o da ArĂ¡bia
-
-
- AT (ArĂ¡bia)
- AST (ArĂ¡bia)
- ADT (ArĂ¡bia)
-
-
-
-
- HorĂ¡rio da Argentina
- HorĂ¡rio de VerĂ£o da Argentina
-
-
-
-
- HorĂ¡rio da Argentina Ocidental
-
-
-
-
- HorĂ¡rio da ArmĂªnia
- HorĂ¡rio de VerĂ£o da ArmĂªnia
-
-
- AMT (ArmĂªnia)
- AMST (ArmĂªnia)
-
-
-
-
- HorĂ¡rio de Ashkhabad
- HorĂ¡rio de VerĂ£o de Ashkhabad
-
-
-
-
- HorĂ¡rio do AtlĂ¢ntico
- HorĂ¡rio PadrĂ£o do AtlĂ¢ntico
- HorĂ¡rio de VerĂ£o do AtlĂ¢ntico
-
-
- AT
- AST
- ADT
-
-
-
-
- HorĂ¡rio da AustrĂ¡lia Central
- HorĂ¡rio PadrĂ£o da AustrĂ¡lia Central
- HorĂ¡rio de VerĂ£o da AustrĂ¡lia Central
-
-
- ACT (AustrĂ¡lia)
- ACST (AustrĂ¡lia)
-
-
-
-
- HorĂ¡rio da AustrĂ¡lia Centro-Ocidental
- HorĂ¡rio PadrĂ£o da AustrĂ¡lia Centro-Ocidental
- HorĂ¡rio de VerĂ£o da AustrĂ¡lia Centro-Ocidental
-
-
- ACWT
-
-
-
-
- HorĂ¡rio da AustrĂ¡lia Oriental
- HorĂ¡rio PadrĂ£o da AustrĂ¡lia Oriental
- HorĂ¡rio de VerĂ£o da AustrĂ¡lia Oriental
-
-
- AET
-
-
-
-
- HorĂ¡rio da AustrĂ¡lia Ocidental
- HorĂ¡rio PadrĂ£o da AustrĂ¡lia Ocidental
- HorĂ¡rio de VerĂ£o da AustrĂ¡lia Ocidental
-
-
- AWT
-
-
-
-
- HorĂ¡rio do ArzeibaijĂ£o
- HorĂ¡rio de VerĂ£o do ArzeibaijĂ£o
-
-
-
-
- HorĂ¡rio dos Açores
- HorĂ¡rio de VerĂ£o dos Açores
-
-
-
-
- HorĂ¡rio de Baku
- HorĂ¡rio de VerĂ£o de Baku
-
-
-
-
- HorĂ¡rio de Bangladesh
-
-
-
-
- HorĂ¡rio de Bering
- HorĂ¡rio PadrĂ£o de Bering
- HorĂ¡rio de VerĂ£o de Bering
-
-
- BT (Bering)
-
-
-
-
- HorĂ¡rio do ButĂ£o
-
-
-
-
- HorĂ¡rio da BolĂvia
-
-
-
-
- HorĂ¡rio de BornĂ©u
- HorĂ¡rio de VerĂ£o de BornĂ©u
-
-
-
-
- HorĂ¡rio de BrasĂlia
- HorĂ¡rio de VerĂ£o de BrasĂlia
-
- true
-
-
-
- HorĂ¡rio de Brunei Darussalam
-
-
-
-
- HorĂ¡rio do Cabo Verde
- HorĂ¡rio de VerĂ£o do Cabo Verde
-
-
-
-
- HorĂ¡rio de Chamorro
- HorĂ¡rio PadrĂ£o de Chamorro
-
-
- ChT
-
-
-
-
- HorĂ¡rio de Changbai
-
-
-
-
- HorĂ¡rio de PadrĂ£o de Chatham
- HorĂ¡rio de VerĂ£o de Chatham
-
-
-
-
- HorĂ¡rio do Chile
- HorĂ¡rio de VerĂ£o do Chile
-
-
-
-
- HorĂ¡rio da China
- HorĂ¡rio PadrĂ£o da China
- HorĂ¡rio de VerĂ£o da China
-
-
- CT (China)
- CST (China)
- CDT (China)
-
-
-
-
- HorĂ¡rio de Choibalsan
- HorĂ¡rio de VerĂ£o de Choibalsan
-
-
-
-
- HorĂ¡rio das Ilhas Christmas
-
-
-
-
- HorĂ¡rio das Ilhas Coco
-
-
-
-
- HorĂ¡rio da ColĂ´mbia
- HorĂ¡rio de VerĂ£o da ColĂ´mbia
-
-
-
-
- HorĂ¡rio das Ilhas Cook
- Meio HorĂ¡rio de VerĂ£o das Ilhas Cook
-
-
-
-
- HorĂ¡rio de Cuba
- HorĂ¡rio PadrĂ£o de Cuba
- HorĂ¡rio de VerĂ£o de Cuba
-
-
- CST (Cuba)
- CDT (Cuba)
-
-
-
-
- HorĂ¡rio de Dacca
-
-
-
-
- HorĂ¡rio de Davis
-
-
-
-
- HorĂ¡rio de Dumont-d'Urville
-
-
-
-
- HorĂ¡rio de Dushanbe
- HorĂ¡rio de VerĂ£o de Dushanbe
-
-
-
-
- HorĂ¡rio da Guiana Holandesa
-
-
-
-
- HorĂ¡rio do Timor-Leste
-
-
-
-
- HorĂ¡rio da Ilha de PĂ¡scoa
- HorĂ¡rio de VerĂ£o da Ilha de PĂ¡scoa
-
-
-
-
- HorĂ¡rio do Equador
-
-
-
-
- HorĂ¡rio da Europa Central
- HorĂ¡rio de VerĂ£o da Europa Central
-
-
- CET
- CEST
-
-
-
-
- HorĂ¡rio PadrĂ£o da Europa Oriental
- HorĂ¡rio de VerĂ£o da Europa Oriental
-
-
- EET
- EEST
-
-
-
-
- HorĂ¡rio da Europa Ocidental
- HorĂ¡rio de VerĂ£o da Europa Ocidental
-
-
- WET
- WEST
-
-
-
-
- HorĂ¡rio das Ilhas Falkland
- HorĂ¡rio de VerĂ£o das Ilhas Falkland
-
-
-
-
- HorĂ¡rio de Fiji
- HorĂ¡rio de VerĂ£o de Fiji
-
-
-
-
- HorĂ¡rio da Guiana Francesa
-
-
-
-
- HorĂ¡rio da AntĂ¡rtida e do Sul da França
-
-
-
-
- HorĂ¡rio de Frunze
- HorĂ¡rio de VerĂ£o de Frunze
-
-
-
-
- HorĂ¡rio de GalĂ¡pagos
-
-
-
-
- HorĂ¡rio de Gambier
-
-
-
-
- HorĂ¡rio da GeĂ³rgia
- HorĂ¡rio de VerĂ£o da GeĂ³rgia
-
-
-
-
- HorĂ¡rio das Ilhas Gilberto
-
-
-
-
- HorĂ¡rio do Meridiano de Greenwich
-
-
- GMT
-
- true
-
-
-
- HorĂ¡rio da GroelĂ¢ndia Central
- HorĂ¡rio de VerĂ£o da GroenlĂ¢ndia Central
-
-
-
-
- HorĂ¡rio da GroelĂ¢ndia Oriental
- HorĂ¡rio de VerĂ£o da GroelĂ¢ndia Oriental
-
-
-
-
- HorĂ¡rio da GroenlĂ¢ndia Ocidental
- HorĂ¡rio de VerĂ£o da GroenlĂ¢ndia Ocidental
-
-
-
-
- HorĂ¡rio PadrĂ£o de Guam
-
-
- GST (Guam)
-
-
-
-
- HorĂ¡rio do Golfo
- HorĂ¡rio PadrĂ£o do Golfo
-
-
- GT
-
-
-
-
- HorĂ¡rio da Guiana
-
-
-
-
- HorĂ¡rio PadrĂ£o do HavaĂ-Aleuta
-
- true
-
-
-
- HorĂ¡rio de Hong Kong
- HorĂ¡rio de VerĂ£o de Hong Kong
-
-
-
-
- HorĂ¡rio de Hovd
- HorĂ¡rio de VerĂ£o de Hovd
-
-
-
-
- HorĂ¡rio PadrĂ£o da Ăndia
-
-
-
-
- HorĂ¡rio do Oceano Ăndico
-
-
-
-
- HorĂ¡rio da Indochina
-
-
-
-
- HorĂ¡rio da IndonĂ©sia Central
-
-
-
-
- HorĂ¡rio da IndonĂ©sia Oriental
-
-
-
-
- HorĂ¡rio da IndonĂ©sia Ocidental
-
-
-
-
- HorĂ¡rio PadrĂ£o do IrĂ£
- HorĂ¡rio de VerĂ£o do IrĂ£
-
-
-
-
- HorĂ¡rio de Irkutsk
- HorĂ¡rio de VerĂ£o de Irkutsk
-
-
-
-
- HorĂ¡rio de Israel
- HorĂ¡rio PadrĂ£o de Israel
- HorĂ¡rio de VerĂ£o de Israel
-
-
- IST (Israel)
-
-
-
-
- HorĂ¡rio do JapĂ£o
- HorĂ¡rio PadrĂ£o do JapĂ£o
- HorĂ¡rio de VerĂ£o do JapĂ£o
-
-
- JT
-
-
-
-
- HorĂ¡rio de Petropavlovsk-Kamchatski
- HorĂ¡rio de VerĂ£o de Petropavlovsk-Kamchatski
-
-
-
-
- HorĂ¡rio de Karachi
-
-
-
-
- HorĂ¡rio de Kashgar
-
-
-
-
- HorĂ¡rio do CasaquistĂ£o Oriental
- HorĂ¡rio PadrĂ£o do CazaquistĂ£o Oriental
-
-
-
-
- HorĂ¡rio do CasaquistĂ£o Ocidental
- HorĂ¡rio PadrĂ£o do CasaquistĂ£o Ocidental
-
-
-
-
- HorĂ¡rio de Kizilorda
- HorĂ¡rio de VerĂ£o de Kizilorda
-
-
-
-
- HorĂ¡rio da CorĂ©ia
- HorĂ¡rio PadrĂ£o da CorĂ©ia
- HorĂ¡rio de VerĂ£o da CorĂ©ia
-
-
-
-
- HorĂ¡rio de Kosrae
-
-
-
-
- HorĂ¡rio de Krasnoyarsk
- HorĂ¡rio de VerĂ£o de Krasnoyarsk
-
-
-
-
- HorĂ¡rio de Kuybyshev
- HorĂ¡rio de VerĂ£o de Kuybyshev
-
-
-
-
- HorĂ¡rio de Kwajalein
-
-
-
-
- HorĂ¡rio do QuirguistĂ£o
-
-
-
-
- HorĂ¡rio de Lanka
-
-
-
-
- HorĂ¡rio das Ilhas Line
-
-
-
-
- HorĂ¡rio de Long-Shu
-
-
-
-
- HorĂ¡rio de Lord Howe
- HorĂ¡rio PadrĂ£o de Lord Howe
- HorĂ¡rio de VerĂ£o de Lord Howe
-
-
- LHT
-
-
-
-
- HorĂ¡rio de Macau
- HorĂ¡rio de VerĂ£o de Macau
-
-
-
-
- HorĂ¡rio de Magadan
- HorĂ¡rio de VerĂ£o de Magadan
-
-
-
-
- HorĂ¡rio de Malaia
-
-
-
-
- HorĂ¡rio da MalĂ¡sia
-
-
-
-
- HorĂ¡rio das Ilhas Maldivas
-
-
-
-
- HorĂ¡rio das Marquesas
-
-
-
-
- HorĂ¡rio das Ilhas Marshall
-
-
-
-
- HorĂ¡rio das Ilhas MaurĂcio
- HorĂ¡rio de VerĂ£o das Ilhas MaurĂcio
-
-
-
-
- HorĂ¡rio de Mawson
-
-
-
-
- HorĂ¡rio de Ulan Bator
- HorĂ¡rio de VerĂ£o de Ulan Bator
-
-
-
-
- HorĂ¡rio de Moscou
- HorĂ¡rio PadrĂ£o de Moscou
- HorĂ¡rio de VerĂ£o de Moscou
-
-
-
-
- HorĂ¡rio de Mianmar
-
-
-
-
- HorĂ¡rio de Nauru
-
-
-
-
- HorĂ¡rio do Nepal
-
-
-
-
- HorĂ¡rio da Nova CaledĂ´nia
- HorĂ¡rio de VerĂ£o da Nova CaledĂ´nia
-
-
-
-
- HorĂ¡rio da Nova ZelĂ¢ndia
- HorĂ¡rio PadrĂ£o da Nova ZelĂ¢ndia
- HorĂ¡rio de VerĂ£o da Nova ZelĂ¢ndia
-
-
- NZT
-
-
-
-
- HorĂ¡rio de Terra Nova
- HorĂ¡rio PadrĂ£o de Terra Nova
- HorĂ¡rio de VerĂ£o de Terra Nova
-
-
- NT
-
-
-
-
- HorĂ¡rio de Niue
-
-
-
-
- HorĂ¡rio das Ilhas Norfolk
-
-
-
-
- HorĂ¡rio de Fernando de Noronha
- HorĂ¡rio de VerĂ£o de Fernando de Noronha
-
-
-
-
- HorĂ¡rio das Ilhas Mariana do Norte
-
-
-
-
- HorĂ¡rio de Novosibirsk
- HorĂ¡rio de VerĂ£o de Novosibirsk
-
-
-
-
- HorĂ¡rio de Omsk
- HorĂ¡rio de VerĂ£o de Omsk
-
-
-
-
- HorĂ¡rio do PaquistĂ£o
- HorĂ¡rio de VerĂ£o do PaquistĂ£o
-
-
-
-
- HorĂ¡rio de Palau
-
-
-
-
- HorĂ¡rio de Papua Nova GuinĂ©
-
-
-
-
- HorĂ¡rio do Paraguai
- HorĂ¡rio de VerĂ£o do Paraguai
-
-
-
-
- HorĂ¡rio do Peru
- HorĂ¡rio de VerĂ£o do Peru
-
-
-
-
- HorĂ¡rio das Filipinas
- HorĂ¡rio de VerĂ£o das Filipinas
-
-
-
-
- HorĂ¡rio das Ilhas FĂªnix
-
-
-
-
- HorĂ¡rio de Pierre e Miquelon
- HorĂ¡rio PadrĂ£o de Pierre e Miquelon
- HorĂ¡rio de VerĂ£o de Pierre e Miquelon
-
-
- PMT
-
-
-
-
- HorĂ¡rio de Pitcairn
-
-
-
-
- HorĂ¡rio de Ponape
-
-
-
-
- HorĂ¡rio de Qyzylorda
- HorĂ¡rio de VerĂ£o de Qyzylorda
-
-
-
-
- HorĂ¡rio das Ilhas ReuniĂ£o
-
-
-
-
- HorĂ¡rio de Rothera
-
-
-
-
- HorĂ¡rio de Sakhalin
- HorĂ¡rio de VerĂ£o de Sakhalin
-
-
-
-
- HorĂ¡rio de Samara
- HorĂ¡rio de VerĂ£o de Samara
-
-
-
-
- HorĂ¡rio de Samarkand
- HorĂ¡rio de VerĂ£o de Samarkand
-
-
-
-
- HorĂ¡rio PadrĂ£o de Samoa
-
-
-
-
- HorĂ¡rio das Ilhas Seychelles
-
-
-
-
- HorĂ¡rio de Shevchenko
- HorĂ¡rio de VerĂ£o de Shevchenko
-
-
-
-
- HorĂ¡rio PadrĂ£o de Cingapura
-
-
-
-
- HorĂ¡rio das Ilhas SalomĂ£o
-
-
-
-
- HorĂ¡rio da GeĂ³rgia do Sul
-
-
- GST (GeĂ³rgia do Sul)
-
-
-
-
- HorĂ¡rio do Suriname
-
-
-
-
- HorĂ¡rio de Sverdlovsk
- HorĂ¡rio de VerĂ£o de Sverdlovsk
-
-
-
-
- HorĂ¡rio de Syowa
-
-
-
-
- HorĂ¡rio do Taiti
-
-
-
-
- HorĂ¡rio do TajiquistĂ£o
-
-
-
-
- HorĂ¡rio de Tashkent
- HorĂ¡rio de VerĂ£o de Tashkent
-
-
-
-
- HorĂ¡rio de Tbilisi
- HorĂ¡rio de VerĂ£o de Tbilisi
-
-
-
-
- HorĂ¡rio de Tokelau
-
-
-
-
- HorĂ¡rio de Tonga
- HorĂ¡rio de VerĂ£o de Tonga
-
-
-
-
- HorĂ¡rio de Truk
-
-
-
-
- HorĂ¡rio da Turquia
- HorĂ¡rio de VerĂ£o da Turquia
-
-
-
-
- HorĂ¡rio do TurcomenistĂ£o
- HorĂ¡rio de VerĂ£o do TurcomenistĂ£o
-
-
-
-
- HorĂ¡rio de Tuvalu
-
-
-
-
- HorĂ¡rio de Ural'sk
- HorĂ¡rio de VerĂ£o de Ural'sk
-
-
-
-
- HorĂ¡rio do Uruguai
- HorĂ¡rio de VerĂ£o do Uruguai
-
-
-
-
- HorĂ¡rio de Urumqi
-
-
-
-
- HorĂ¡rio do UzbequistĂ£o
- HorĂ¡rio de VerĂ£o do UzbequistĂ£o
-
-
-
-
- HorĂ¡rio de Vanuatu
- HorĂ¡rio de VerĂ£o de Vanuatu
-
-
-
-
- HorĂ¡rio da Venezuela
-
-
-
-
- HorĂ¡rio de Vladivostok
- HorĂ¡rio de VerĂ£o de Vladivostok
-
-
-
-
- HorĂ¡rio de Volvogrado
- HorĂ¡rio de VerĂ£o de Volvogrado
-
-
-
-
- HorĂ¡rio de Vostok
-
-
-
-
- HorĂ¡rio das Ilhas Wake
-
-
-
-
- HorĂ¡rio de Wallis e Futuna
-
-
-
-
- HorĂ¡rio de Yakutsk
- HorĂ¡rio de VerĂ£o de Yakutsk
-
-
-
-
- HorĂ¡rio de Yekaterinburg
- HorĂ¡rio de VerĂ£o de Yekaterinburg
-
-
-
-
- HorĂ¡rio de Yerevan
- HorĂ¡rio de VerĂ£o de Yerevan
-
-
-
-
- HorĂ¡rio de Yukon
- HorĂ¡rio PadrĂ£o de Yukon
- HorĂ¡rio de VerĂ£o de Yukon
-
-
- YT
-
-
-
-
-
-
- ,
- .
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00;(¤#,##0.00)
-
-
- {0} {1}
- {0} {1}
-
-
-
- Peseta de Andorra
- Peseta de Andorra
- Pesetas de Andorra
-
-
- DirĂ©m dos Emirados Ărabes Unidos
- DirrĂ£ dos Emirados Ărabes Unidos
- DirrĂ£s dos Emirados Ărabes Unidos
-
-
- Afegane (1927-2002)
- Afegane do AfeganistĂ£o (AFA)
- Afeganes do AfeganistĂ£o (AFA)
-
-
- Afegane
- Afegane do AfeganistĂ£o
- Afeganes do AfeganistĂ£o
-
-
- Lek AlbanĂªs
- Lek albanĂªs
- Leks albaneses
-
-
- Dram armĂªnio
- Dram armĂªnio
- Drams armĂªnios
-
-
- Guilder das Antilhas Holandesas
- Florim das Antilhas Holandesas
- Florins das Antilhas Holandesas
-
-
- Cuanza angolano
- Kwanza angolano
- Kwanzas angolanos
-
-
- Cuanza angolano (1977-1990)
- Kwanza angolano (AOK)
- Kwanzas angolanos (AOK)
-
-
- Novo cuanza angolano (1990-2000)
- Novo kwanza angolano (AON)
- Novos kwanzas angolanos (AON)
-
-
- Cuanza angolano reajustado (1995-1999)
- Kwanza angolano reajustado (AOR)
- Kwanzas angolanos reajustados (AOR)
-
-
- Austral argentino
- Austral argentino
- Austrais argentinos
-
-
- Peso argentino (1983-1985)
- Peso argentino (ARP)
- Pesos argentinos (ARP)
-
-
- Peso argentino
- Peso argentino
- Pesos argentinos
-
-
- Xelim austrĂaco
- Schilling australiano
- Schillings australianos
-
-
- DĂ³lar australiano
- DĂ³lar australiano
- DĂ³lares australianos
-
-
- Guilder de Aruba
- Florim de Aruba
- Florins de Aruba
-
-
- Manat azerbaijano
- Manat do AzeibaijĂ£o (AZM)
- Manats do AzeibaijĂ£o (AZM)
-
-
- Manat do AzerbaijĂ£o
- Manat do AzeibaijĂ£o
- Manats do AzeibaijĂ£o
-
-
- Dinar da BĂ³snia-Herzegovina
- Dinar da BĂ³snia Herzegovina
- Dinares da BĂ³snia Herzegovina
-
-
- Marco bĂ³snio-herzegovino conversĂvel
- Marca conversĂvel da BĂ³snia Herzegovina
- Marcas conversĂveis da BĂ³snia Herzegovina
-
-
- DĂ³lar de Barbados
- DĂ³lar de Barbados
- DĂ³lares de Barbados
-
-
- Taka de Bangladesh
- Taka de Bangladesh
- Takas de Bangladesh
-
-
- Franco belga (conversĂvel)
- Franco belga (conversĂvel)
- Francos belgas (conversĂveis)
-
-
- Franco belga
- Franco belga
- Francos belgas
-
-
- Franco belga (financeiro)
- Franco belga (financeiro)
- Francos belgas (financeiros)
-
-
- Lev forte bĂºlgaro
- Lev forte bĂºlgaro
- Levs fortes bĂºlgaros
-
-
- Lev novo bĂºlgaro
- Lev bĂºlgaro
- Levs bĂºlgaros
-
-
- Dinar bareinita
- Dinar bareinita
- Dinares bareinitas
-
-
- Franco do Burundi
- Franco burundiano
- Francos burundianos
-
-
- DĂ³lar das Bermudas
- DĂ³lar bermudense
- DĂ³lares bermudenses
-
-
- DĂ³lar do Brunei
- DĂ³lar bruneano
- DĂ³lares bruneanos
-
-
- Boliviano
- Boliviano
- Bolivianos
-
-
- Peso boliviano
- Peso boliviano
- Pesos bolivianos
-
-
- Mvdol boliviano
- Mvdol boliviano
- Mvdols bolivianos
-
-
- Cruzeiro novo brasileiro (1967-1986)
- Cruzeiro novo brasileiro (BRB)
- Cruzeiros novos brasileiros (BRB)
-
-
- Cruzado brasileiro
- Cruzado brasileiro
- Cruzados brasileiros
-
-
- Cruzeiro brasileiro (1990-1993)
- Cruzeiro brasileiro (BRE)
- Cruzeiros brasileiros (BRE)
-
-
- Real brasileiro
- Real brasileiro
- Reais brasileiros
-
-
- Cruzado novo brasileiro
- Cruzado novo brasileiro
- Cruzados novos brasileiros
-
-
- Cruzeiro brasileiro
- Cruzeiro brasileiro
- Cruzeiros brasileiros
-
-
- DĂ³lar das Bahamas
- DĂ³lar de Bahamian
- DĂ³lares de Bahamian
-
-
- Ngultrum do ButĂ£o
- Ngultrum butanĂªs
- Ngultruns butaneses
-
-
- Kyat birmanĂªs
- Kyat burmĂªs
- Kyats burmeses
-
-
- Pula botsuanesa
- Pula de Botsuana
- Pulas de Botsuana
-
-
- Rublo novo bielo-russo (1994-1999)
- Novo rublo bielorusso (BYB)
- Novos rublos bielorussos (BYB)
-
-
- Rublo bielo-russo
- Rublo bielorusso
- Rublos bielorussos
-
-
- DĂ³lar do Belize
- DĂ³lar belizenho
- DĂ³lares belizenhos
-
-
- DĂ³lar canadense
- DĂ³lar canadense
- DĂ³lares canadenses
-
-
- Franco congolĂªs
- Franco congolĂªs
- Francos congoleses
-
-
- Euro WIR
- Euro WIR
- Euros WIR
-
-
- Franco suĂço
- Franco suĂço
- Francos suĂços
-
-
- Franco WIR
- Franco WIR
- Francos WIR
-
-
- Unidades de Fomento chilenas
- Unidade de fomento chilena
- Unidades de fomento chilenas
-
-
- Peso chileno
- Peso chileno
- Pesos chilenos
-
-
- Yuan Renminbi chinĂªs
- Yuan chinĂªs
- Yuans chineses
-
-
- Peso colombiano
- Peso colombiano
- Pesos colombianos
-
-
- Unidade de Valor Real
- Unidade de valor real
- Unidades de valor real
-
-
- Colon da Costa Rica
- Colon costa-riquenho
- Colons costa-riquenhos
-
-
- Dinar sérvio antigo
- Dinar antigo da Sérvia
- Dinares antigos da Sérvia
-
-
- Coroa Forte checoslovaca
- Coroa forte tchecoslovaca
- Coroas fortes tchecoslovacas
-
-
- Peso cubano
- Peso cubano
- Pesos cubanos
-
-
- Escudo cabo-verdiano
- Escudo cabo-verdiano
- Escudos cabo-verdianos
-
-
- Libra cipriota
- Libra cipriota
- Libras cipriotas
-
-
- Coroa checa
- Coroa da RepĂºblica Tcheca
- Coroas da RepĂºblica Tcheca
-
-
- Ostmark da Alemanha Oriental
- Marco da Alemanha Oriental
- Marcos da Alemanha Oriental
-
-
- Marco alemĂ£o
- Marco alemĂ£o
- Marcos alemĂ£es
-
-
- Franco do Djibuti
- Franco djibutiense
- Francos djibutienses
-
-
- Coroa dinamarquesa
- Coroa dinamarquesa
- Coroas dinamarquesas
-
-
- Peso dominicano
- Peso dominicano
- Pesos dominicanos
-
-
- Dinar argelino
- Dinar argelino
- Dinares argelinos
-
-
- Sucre equatoriano
- Sucre equatoriano
- Sucres equatorianos
-
-
- Unidade de Valor Constante (UVC) do Equador
- Unidade de valor constante equatoriana (UVC)
- Unidades de valor constante equatorianas (UVC)
-
-
- Coroa estoniana
- Coroa estoniana
- Coroas estonianas
-
-
- Libra egĂpcia
- Libra egĂpcia
- Libras egĂpcias
-
-
- Nakfa da Eritreia
- Nakfa da Eritreia
- Nakfas da Eritreia
-
-
- Peseta espanhola (conta A)
- Peseta espanhola (conta A)
- Pesetas espanholas (conta A)
-
-
- Peseta espanhola (conta conversĂvel)
- Peseta espanhola (conta conversĂvel)
- Pesetas espanholas (conta conversĂvel)
-
-
- Peseta espanhola
- Peseta espanhola
- Pesetas espanholas
-
-
- Birr etĂope
- Birr etĂope
- Birrs etĂopes
-
-
- Euro
- euro
- euros
-
-
- Marca finlandesa
- Marco finlandĂªs
- Marcos finlandeses
-
-
- DĂ³lar de Fiji
- DĂ³lar de Fiji
- DĂ³lares de Fiji
-
-
- Libra das Malvinas
- Libra das Ilhas Falkland
- Libras das Ilhas Falkland
-
-
- Franco francĂªs
- Franco francĂªs
- Francos franceses
-
-
- Libra esterlina britĂ¢nica
- Libra esterlina britĂ¢nica
- Libras esterlinas britĂ¢nicas
-
-
- Cupom Lari georgiano
- Kupon larit da GeĂ³rgia
- Kupon larits da GeĂ³rgia
-
-
- Lari georgiano
- Lari da GeĂ³rgia
- Laris da GeĂ³rgia
-
-
- Cedi de Gana (1979-2007)
- Cedi de Gana (GHC)
- Cedis de Gana (GHC)
-
-
- Cedi ganĂªs
- Cedi de Gana
- Cedis de Gana
-
-
- Libra de Gibraltar
- Libra de Gibraltar
- Libras de Gibraltar
-
-
- Dalasi de GĂ¢mbia
- Dalasi da GĂ¢mbia
- Dalasis da GĂ¢mbia
-
-
- Franco de Guiné
- Franco guineano
- Francos guineanos
-
-
- Syli da Guiné
- Syli guineano
- Sylis guineanos
-
-
- Ekwele da Guiné Equatorial
- Ekwele da Guiné Equatorial
- Ekweles da Guiné Equatorial
-
-
- Dracma grego
- Dracma grego
- Dracmas gregos
-
-
- Quetçal da Guatemala
- Quetzal da Guatemala
- Quetzales da Guatemala
-
-
- Escudo da Guiné Portuguesa
- Escudo da Guiné Portuguesa
- Escudos da Guinéa Portuguesa
-
-
- Peso da Guiné-Bissau
- Peso de Guiné-Bissau
- Pesos de Guiné-Bissau
-
-
- DĂ³lar da Guiana
- DĂ³lar da Guiana
- DĂ³lares da Guiana
-
-
- DĂ³lar de Hong Kong
- DĂ³lar de Hong Kong
- DĂ³lares de Hong Kong
-
-
- Lempira de Honduras
- Lempira de Honduras
- Lempiras de Honduras
-
-
- Dinar croata
- Dinar croata
- Dinares croatas
-
-
- Kuna croata
- Kuna croata
- Kunas croatas
-
-
- Gurde do Haiti
- Gourde haitiano
- Gourdes haitianos
-
-
- Forinte hĂºngaro
- Forint hĂºngaro
- Forints hĂºngaros
-
-
- Rupia indonésia
- RĂºpia da IndonĂ©sia
- RĂºpias da IndonĂ©sia
-
-
- Libra irlandesa
- Libra irlandesa
- Libras irlandesas
-
-
- Libra israelita
- Libra israelita
- Libras israelitas
-
-
- Sheqel antigo israelita
- Sheqel antigo israelita
- Sheqels antigos israelitas
-
-
- Sheqel Novo israelita
- Sheqel novo israelita
- Sheqels novo israelitas
-
-
- RĂºpia indiana
- RĂºpia indiana
- RĂºpias indianas
-
-
- Dinar iraquiano
- Dinar iraquiano
- Dinares iraquianos
-
-
- Rial iraniano
- Rial iraniano
- Riales iranianos
-
-
- Coroa antiga islandesa
- Coroa antiga islandesa
- Coroas antigas islandesas
-
-
- Coroa islandesa
- Coroa islandesa
- Coroas islandesas
-
-
- Lira italiana
- Lira italiana
- Liras italianas
-
-
- DĂ³lar jamaicano
- DĂ³lar jamaicano
- DĂ³lares jamaicanos
-
-
- Dinar jordaniano
- Dinar jordaniano
- Dinares jordanianos
-
-
- Iene japonĂªs
- Iene japonĂªs
- Ienes japoneses
-
-
- Xelim queniano
- Shilling queniano
- Shillings quenianos
-
-
- Som quirguiz
- Som do QuirguistĂ£o
- Soms do QuirguistĂ£o
-
-
- Riel cambojano
- Riel cambojano
- Rieles cambojanos
-
-
- Franco de Comores
- Franco de Comoro
- Francos de Comoro
-
-
- Won norte-coreano
- Won norte-coreano
- Wons norte-coreanos
-
-
- Won sul-coreano
- Won sul-coreano
- Wons sul-coreanos
-
-
- Dinar coveitiano
- Dinar kuwaitiano
- Dinares kuwaitianos
-
-
- DĂ³lar das Ilhas Caiman
- DĂ³lar das Ilhas Cayman
- DĂ³lares das Ilhas Caiman
-
-
- Tenge do CazaquistĂ£o
- Tenge do CazaquistĂ£o
- Tenges do CazaquistĂ£o
-
-
- Kip de Laos
- Kip do Laos
- Kips do Laos
-
-
- Libra libanesa
- Libra libanesa
- Libras libanesas
-
-
- Rupia do Sri Lanka
- RĂºpia do Sri Lanka
- RĂºpias do Sri Lanka
-
-
- DĂ³lar liberiano
- DĂ³lar da LibĂ©ria
- DĂ³lares da LibĂ©ria
-
-
- Loti do Lesoto
- Loti do Lesoto
- Lotis do Lesoto
-
-
- Lita lituano
- Litas lituana
- Litai lituanas
-
-
- Talonas lituano
- Talonas lituanas
- Talonases lituanas
-
-
- Franco conversĂvel de Luxemburgo
- Franco conversĂvel de Luxemburgo
- Francos conversĂveis de Luxemburgo
-
-
- Franco luxemburguĂªs
- Franco de Luxemburgo
- Francos de Luxemburgo
-
-
- Franco financeiro de Luxemburgo
- Franco financeiro de Luxemburgo
- Francos financeiros de Luxemburgo
-
-
- Lats letĂ£o
- Lats da LetĂ´nia
- Latses da LetĂ´nia
-
-
- Rublo letĂ£o
- Rublo da LetĂ´nia
- Rublos da LetĂ´nia
-
-
- Dinar lĂbio
- Dinar lĂbio
- Dinares lĂbios
-
-
- Dirém marroquino
- DirrĂ£ marroquino
- DirrĂ£s marroquinos
-
-
- Franco marroquino
- Franco marroquino
- Francos marroquinos
-
-
- Leu moldĂ¡vio
- Leu da MoldĂ¡via
- Leus da MoldĂ¡via
-
-
- Ariary de Madagascar
- Ariari de Madagascar
- Ariaries de Madagascar
-
-
- Franco de Madagascar
- Franco de Madagascar
- Francos de Madagascar
-
-
- Dinar macedĂ´nio
- Dinar da MacedĂ´nia
- Dinares da MacedĂ´nia
-
-
- Franco de Mali
- Franco de Mali
- Francos de Mali
-
-
- Kyat de Mianmar
- Kyat de Mianmar
- Kyats de Mianmar
-
-
- Tugrik mongol
- Tugrik da MongĂ³lia
- Tugriks da MongĂ³lia
-
-
- Pataca macaense
- Pataca de Macau
- Patacas de Macau
-
-
- Ouguiya da MauritĂ¢nia
- Ouguiya da MauritĂ¢nia
- Ouguiyas da MauritĂ¢nia
-
-
- Lira maltesa
- Lira Maltesa
- Liras maltesas
-
-
- Libra maltesa
- Libra maltesa
- Libras maltesas
-
-
- Rupia de MaurĂcio
- RĂºpia mauriciana
- RĂºpias mauricianas
-
-
- Rupias das Ilhas Maldivas
- Rufiyaa das Ilhas Maldivas
- Rufiyaas das Ilhas Maldivas
-
-
- Cuacha do MalĂ¡ui
- Kwacha do Malawi
- Kwachas do Malawi
-
-
- Peso mexicano
- Peso mexicano
- Pesos mexicanos
-
-
- Peso Prata mexicano (1861-1992)
- Peso de prata mexicano (MXP)
- Pesos de prata mexicanos (MXP)
-
-
- Unidade Mexicana de Investimento (UDI)
- Unidade de investimento mexicana (UDI)
- Unidades de investimento mexicanas (UDI)
-
-
- Ringgit malaio
- Ringgit malaio
- Ringgits malaios
-
-
- Escudo de Moçambique
- Escudo de Moçambique
- Escudos de Moçambique
-
-
- Metical antigo de Moçambique
- Metical antigo de Moçambique
- Meticales antigos de Moçambique
-
-
- Metical do Moçambique
- Metical de Moçambique
- Meticales de Moçambique
-
-
- DĂ³lar da NamĂbia
- DĂ³lar da NamĂbia
- DĂ³lares da NamĂbia
-
-
- Naira nigeriana
- Naira da Nigéria
- Nairas da Nigéria
-
-
- CĂ³rdoba nicaraguense
- CĂ³rdoba nicaraguense
- CĂ³rdobas da NicarĂ¡gua
-
-
- CĂ³rdoba Ouro nicaraguense
- CĂ³rdoba de ouro da NicarĂ¡gua
- CĂ³rdobas de ouro da NicarĂ¡gua
-
-
- Florim holandĂªs
- Florim holandĂªs
- Florins holandeses
-
-
- Coroa norueguesa
- Coroa norueguesa
- Coroas norueguesas
-
-
- Rupia nepalesa
- RĂºpia nepalesa
- RĂºpias nepalesas
-
-
- DĂ³lar da Nova ZelĂ¢ndia
- DĂ³lar da Nova ZelĂ¢ndia
- DĂ³lares da Nova ZelĂ¢ndia
-
-
- Rial de OmĂ£
- Rial de OmĂ£
- Riales de OmĂ£
-
-
- Balboa panamenho
- Balboa do PanamĂ¡
- Balboas do PanamĂ¡
-
-
- Inti peruano
- Inti peruano
- Intis peruanos
-
-
- Sol Novo peruano
- Novo sol peruano
- Novos soles peruanos
-
-
- Sol peruano
- Sol peruano
- Soles peruanos
-
-
- Kina da Papua-Nova Guiné
- Kina de Papua Nova Guiné
- Kinas de Papua Nova Guiné
-
-
- Peso filipino
- Peso filipino
- Pesos filipinos
-
-
- Rupia paquistanesa
- RĂºpia paquistanesa
- RĂºpias paquistanesas
-
-
- Zloti polonĂªs
- Zloti polonĂªs
- Zlotis poloneses
-
-
- Zloti polonĂªs (1950-1995)
- Zloti polonĂªs (PLZ)
- Zlotis poloneses (PLZ)
-
-
- Escudo portuguĂªs
- Escudo portuguĂªs
- Escudos portugueses
- Esc.
-
-
- Guarani paraguaio
- Guarani paraguaio
- Guaranis paraguaios
-
-
- Rial catariano
- Rial do Qatar
- Riales do Qatar
-
-
- DĂ³lar rodesiano
- DĂ³lar da RodĂ©sia
- DĂ³lares da RodĂ©sia
-
-
- Leu romeno antigo
- Leu antigo da RomĂªnia
- Leus antigos da RomĂªnia
-
-
- Leu romeno
- Leu da RomĂªnia
- Leus da RomĂªnia
-
-
- Dinar sérvio
- Dinar sérvio
- Dinares sérvios
-
-
- Rublo russo
- Rublo russo
- Rublos russos
-
-
- Rublo russo (1991-1998)
- Rublo russo (RUR)
- Rublos russos (RUR)
-
-
- Franco ruandĂªs
- Franco de Ruanda
- Francos de Ruanda
-
-
- Rial saudita
- Riyal saudita
- Riyales sauditas
-
-
- DĂ³lar das Ilhas SalomĂ£o
- DĂ³lar das Ilhas SalomĂ£o
- DĂ³lares das Ilhas SalomĂ£o
-
-
- Rupia das Seychelles
- RĂºpia das Ilhas Seychelles
- RĂºpias das Ilhas Seychelles
-
-
- Dinar sudanĂªs
- Dinar antigo do SudĂ£o
- Dinares antigos do SudĂ£o
-
-
- Libra sudanesa
- Libra sudanesa
- Libras sudanesas
-
-
- Libra sudanesa antiga
- Libra antiga sudanesa
- Libras antigas sudanesas
-
-
- Coroa sueca
- Coroa sueca
- Coroas suecas
-
-
- DĂ³lar de Cingapura
- DĂ³lar de Singapura
- DĂ³lares de Singapura
-
-
- Libra de Santa Helena
- Libra de Santa Helena
- Libras de Santa Helena
-
-
- Tolar Bons esloveno
- Tolar da EslovĂªnia
- Tolares da EslovĂªnia
-
-
- Coroa eslovaca
- Coroa eslovaca
- Coroas eslovacas
-
-
- Leone de Serra Leoa
- Leone de Serra Leoa
- Leones de Serra Leoa
-
-
- Xelim somali
- Shilling da SomĂ¡lia
- Shillings da SomĂ¡lia
-
-
- DĂ³lar do Suriname
- DĂ³lar do Suriname
- DĂ³lares do Suriname
-
-
- Florim do Suriname
- Florim do Suriname
- Florins do Suriname
-
-
- Dobra de SĂ£o TomĂ© e PrĂncipe
- Dobra de SĂ£o TomĂ© e PrĂncipe
- Dobras de SĂ£o TomĂ© e PrĂncipe
-
-
- Rublo soviético
- Rublo soviético
- Rublos soviéticos
-
-
- Colom salvadorenho
- Colon de El Salvador
- Colons de El Salvador
-
-
- Libra sĂria
- Libra sĂria
- Libras sĂrias
-
-
- Lilangeni da SuazilĂ¢ndia
- Lilangeni da SuazilĂ¢ndia
- Lilangenis da SuazilĂ¢ndia
-
-
- Baht tailandĂªs
- Baht da TailĂ¢ndia
- Bahts da TailĂ¢ndia
-
-
- Rublo do TadjiquistĂ£o
- Rublo do TajaquistĂ£o
- Rublos do TajaquistĂ£o
-
-
- Somoni tadjique
- Somoni do TajaquistĂ£o
- Somonis do TajaquistĂ£o
-
-
- Manat do TurcomenistĂ£o
- Manat do TurcomenistĂ£o
- Manats do TurcomenistĂ£o
-
-
- Dinar tunisiano
- Dinar da TunĂsia
- Dinares da TunĂsia
-
-
- Paʻanga de Tonga
- Paʻanga de Tonga
- Paʻangas de Tonga
-
-
- Escudo timorense
- Escudo do Timor
- Escudos do Timor
-
-
- Lira turca antiga
- Lira turca antiga
- Liras turcas antigas
-
-
- Lira turca
- Lira turca
- Liras turcas
-
-
- DĂ³lar de Trinidad e Tobago
- DĂ³lar de Trinidad e Tobago
- DĂ³lares de Trinidad e Tobago
-
-
- DĂ³lar Novo de Taiwan
- DĂ³lar de Taiwan
- DĂ³lares de Taiwan
-
-
- Xelim da TanzĂ¢nia
- Shilling da TanzĂ¢nia
- Shillings da TanzĂ¢nia
-
-
- Hryvnia ucraniano
- Hryvnia da UcrĂ¢nia
- Hryvnias da UcrĂ¢nia
-
-
- Karbovanetz ucraniano
- Karbovanetz da UcrĂ¢nia
- Karbovanetzs da UcrĂ¢nia
-
-
- Xelim ugandense (1966-1987)
- Shilling de Uganda (UGS)
- Shillings de Uganda (UGS)
-
-
- Xelim ugandense
- Shilling de Uganda
- Shillings de Uganda
-
-
- DĂ³lar norte-americano
- DĂ³lar americano
- DĂ³lares americanos
-
-
- DĂ³lar norte-americano (Dia seguinte)
- DĂ³lar americano (dia seguinte)
- DĂ³lares americanos (dia seguinte)
-
-
- DĂ³lar norte-americano (Mesmo dia)
- DĂ³lar americano (mesmo dia)
- DĂ³lares americanos (mesmo dia)
-
-
- Peso uruguaio en unidades indexadas
- Peso uruguaio em unidades indexadas
- Pesos uruguaios em unidades indexadas
-
-
- Peso uruguaio (1975-1993)
- Peso uruguaio (UYP)
- Pesos uruguaios (UYP)
-
-
- Peso uruguaio
- Peso uruguaio
- Pesos uruguaios
-
-
- Sum do UsbequistĂ£o
- Som do UzbequistĂ£o
- Somes do UzbequistĂ£o
-
-
- BolĂvar venezuelano
- BolĂvar venezuelano
- BolĂvares venezuelanos
-
-
- BolĂvar v enezuelano forte
- BolĂvar forte da Venezuela
- BolĂvares fortes da Venezuela
-
-
- Dong vietnamita
- Dong vietnamĂªs
- Dongs vietnameses
-
-
- Vatu de Vanuatu
- Vatu de Vanuatu
- Vatus de Vanuatu
-
-
- Tala samoano
- Tala samoano
- Talas samoanos
-
-
- Franco CFA BEAC
- Franco CFA de BEAC
- Francos CFA de BEAC
-
-
- Prata
- Prata
- Pratas
-
-
- Ouro
- Ouro
- Ouros
-
-
- Unidade Composta Europeia
- Unidade de composiĂ§Ă£o europeia
- Unidades de composiĂ§Ă£o europeias
-
-
- Unidade MonetĂ¡ria Europeia
- Unidade monetĂ¡ria europeia
- Unidades monetĂ¡rias europeias
-
-
- Unidade de Conta Europeia (XBC)
- Unidade europeia de conta (XBC)
- Unidades europeias de conta (XBC)
-
-
- Unidade de Conta Europeia (XBD)
- Unidade europeia de conta (XBD)
- Unidades europeias de conta (XBD)
-
-
- DĂ³lar do Caribe Oriental
- DĂ³lar do Caribe Oriental
- DĂ³lares do Caribe Oriental
-
-
- Direitos Especiais de Giro
- direitos de desenho especiais
- direitos de desenho especiais
-
-
- Unidade de Moeda Europeia
- Unidade de moeda europeia
- Unidades de moedas europeias
-
-
- Franco-ouro francĂªs
- Franco de ouro francĂªs
- Francos de ouro franceses
-
-
- Franco UIC francĂªs
- Franco UIC francĂªs
- Francos UIC franceses
-
-
- Franco CFA BCEAO
- Franco CFA de BCEAO
- Francos CFA de BCEAO
-
-
- PalĂ¡dio
- PalĂ¡dio
- PalĂ¡dios
-
-
- Franco CFP
- Franco CFP
- Francos CFP
-
-
- Platina
- Platina
- Platinas
-
-
- Fundos RINET
- Fundos RINET
- Fundos RINET
-
-
- CĂ³digo de Moeda de Teste
- CĂ³digo de moeda de teste
- CĂ³digos de moeda de teste
-
-
- Moeda Desconhecida ou InvĂ¡lida
- moeda desconhecida ou invĂ¡lida
- Moedas invĂ¡lidas ou desconhecidas
-
-
- Dinar iemenita
- Dinar do IĂªmen
- Dinares do IĂªmen
-
-
- Rial iemenita
- Rial do IĂªmen
- Riales do IĂªmen
-
-
- Dinar forte iugoslavo
- Dinar forte iugoslavo
- Dinares fortes iugoslavos
-
-
- Dinar noviy iugoslavo
- Dinar noviy da IugoslĂ¡via
- Dinares noviy da IugoslĂ¡via
-
-
- Dinar conversĂvel iugoslavo
- Dinar conversĂvel da IugoslĂ¡via
- Dinares conversĂveis da IugoslĂ¡via
-
-
- Rand sul-africano (financeiro)
- Rand da Ăfrica do Sul (financeiro)
- Rands da Ăfrica do Sul (financeiro)
-
-
- Rand sul-africano
- Rand da Ăfrica do Sul
- Rands da Ăfrica do Sul
-
-
- Cuacha zambiano
- Kwacha da ZĂ¢mbia
- Kwachas da ZĂ¢mbia
-
-
- Zaire Novo zairense
- Novo zaire do Zaire
- Novos zaires do Zaire
-
-
- Zaire zairense
- Zaire do Zaire
- Zaires do Zaire
-
-
- DĂ³lar do ZimbĂ¡bue
- DĂ³lar do ZimbĂ¡bue
- DĂ³lares do ZimbĂ¡bue
-
-
-
-
-
- {0} dia
- {0} dias
-
-
- {0} hora
- {0} horas
-
-
- {0} minuto
- {0} minutos
-
-
- {0} mĂªs
- {0} meses
-
-
- {0} segundo
- {0} segundos
-
-
- {0} semana
- {0} semanas
-
-
- {0} ano
- {0} anos
-
-
-
-
- sim:s
- nĂ£o:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pt_BR.xml b/airtime_mvc/library/Zend/Locale/Data/pt_BR.xml
deleted file mode 100644
index b56997fa1..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pt_BR.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/pt_PT.xml b/airtime_mvc/library/Zend/Locale/Data/pt_PT.xml
deleted file mode 100644
index d69fee586..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/pt_PT.xml
+++ /dev/null
@@ -1,1865 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- afrikaans
- idioma artifical
- Awadhi
- bamileke Languages
- Buginese
- chechene
- idioma céltico
- jargĂ£o chinook
- crioulo ou pidgin do inglĂªs
- crioulo ou pidgin do francĂªs
- crioulo ou pidgin do portuguĂªs
- checo
- idioma cuchita
- alemĂ£o alto (SuĂça)
- idioma dravĂtico
- diula
- egĂpcio clĂ¡ssico
- InglĂªs
- inglĂªs medieval
- estĂ³nio
- idioma ugro-finĂªs
- francĂªs medieval
- frĂsio oriental
- alemĂ£o medieval alto
- grego clĂ¡ssico
- alemĂ£o da SuĂça
- sorbiano superior
- arménio
- Iban
- igbo
- Inupiaq
- jv
- khoisan
- lezghiano
- irlandĂªs, medieval (900-1200)
- macedĂ³nio
- Nauatle
- baixo alemĂ£o
- nigeriano - cordofano
- flamengo (Bélgica)
- norse, old
- provençal
- ossético
- persa arcaico (aprox. 600-400 a.C.)
- polaco
- idioma prĂ¡cito
- provençal, arcaico (até 1500)
- portuguĂªs europeu
- reto-romance
- romanĂªs
- idioma indĂgeno sul-americano
- salishan languages
- linguages de sinais
- idioma nilo-sariano
- tamil
- idioma tailĂ¢ndes
- tetum
- tajique
- tagalogue
- tonga
- toganĂªs
- tuviniano
- idioma sĂ³rbio
- zazaki
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- OceĂ¢nia
- Norte de Ăfrica
- Ăfrica Interior
- Ăfrica Meridional
- Sudeste AsiĂ¡tico
- Micronésia
- Ăsia Sul-Central
- Europa de Leste
- Europa do Norte
- 172
- Emiratos Ărabes Unidos
- Anguilha
- Arménia
- AntĂ¡rctica
- Ilhas Alanda
- AzerbeijĂ£o
- Bangladeche
- Burkina-Faso
- Bahrein
- Benim
- Baamas
- Botswana
- BielorrĂºssia
- Ilhas Cocos
- RepĂºblica DemocrĂ¡tica do Congo
- Congo-Brazzaville
- Ilha do Natal
- RepĂºblica Checa
- EstĂ³nia
- Egipto
- Sara Ocidental
- Ilhas Falkland ou Malvinas
- Estados Federados da Micronésia
- Ilhas Faroé
- GronelĂ¢ndia
- Guiné-Bissau
- Hong Kong - RegiĂ£o Administrativa Especial da China
- IrĂ£o
- Quénia
- QuirguizistĂ£o
- Saint Kitts e Nevis
- Cuaite
- Ilhas CaimĂ£o
- CazaquistĂ£o
- Laos, RepĂºblica Popular DemocrĂ¡tica do
- LetĂ³nia
- MĂ³naco
- MoldĂ¡via, RepĂºblica da
- MadagĂ¡scar
- MacedĂ³nia, RepĂºblica da
- Macau - RegiĂ£o Administrativa Especial da China
- Ilhas Mariana do Norte
- Monserrate
- MaurĂcias
- Malaui
- Nova CaledĂ³nia
- Ilha Norfolque
- PaĂses Baixos
- Papua Nova Guiné
- PolĂ³nia
- TerritĂ³rio Palestiniano
- Qatar
- OceĂ¢nia Insular
- Roménia
- Seicheles
- Singapura
- Eslovénia
- Esvalbarda e Jan Mayen
- SĂ£o Marino
- Ilhas Turcas e Caicos
- TajiquistĂ£o
- Toquelau
- TurquemenistĂ£o
- Trindade e Tobago
- Ilhas Minor Outlying (E.U.A)
- UsbequistĂ£o
- Ilhas Virgin E.U.A.
- Vietname
- Iémen
- Zimbabwe
-
-
- AlemĂ£o Tradicional
- AlemĂ£o Moderno
- arménio oriental
- arménio ocidental
- dialecto san giorgio/bila
- buntlingue
- Alfabeto Fonético Internacional
- Alfabeto FonĂ©tico UrĂ¡lico
- dialecto lipovaz de Resian
- monotĂ³nico
- dialecto natisone
- dialecto gniva/njiva
- dialecto oseacco/osojane
- politĂ³nico
- Computador
- RevisĂ£o OrtogrĂ¡fica
- Saho
- Scouse
- dialecto stolvizza/solbica
-
-
- Ordem
-
-
- Ordem de ChinĂªs Tradicional - Big5
- Ordem Directa
- Ordem de ChinĂªs Simplificado - GB2312
- Ordem da Lista TelefĂ³nica
-
-
- Métrico
-
-
-
- [ª ă Ă¥ ä Ä Ă¦ è Ä• Ă« Ä“ ì Ä Ă® Ă¯ Ä« ñ º Å Ă¶ ø Å Å“ ĂŸ Ă¹ Å Ă» Ă¼ Å« Ă¿]
-
-
-
-
-
-
-
- EEEE, MMMM d, y G
-
-
-
-
- MMMM d, y G
-
-
-
-
- MMM d, y G
-
-
-
-
- M/d/yyyy
-
-
-
-
-
- d-M
- d de MMMM
-
-
-
-
-
-
-
- Jan
- Fev
- Mar
- Abr
- Mai
- Jun
- Jul
- Ago
- Set
- Out
- Nov
- Dez
-
-
- Janeiro
- Fevereiro
- Março
- Abril
- Maio
- Junho
- Julho
- Agosto
- Setembro
- Outubro
- Novembro
- Dezembro
-
-
-
-
-
-
- 1.º trimestre
- 2.º trimestre
- 3.º trimestre
- 4.º trimestre
-
-
-
- Antes do meio-dia
- Depois do meio-dia
-
-
-
- d 'de' MMM 'de' yyyy
-
-
-
-
-
- QQQ 'de' yyyy
- QQQ 'de' y
- QQQ 'de' yy
-
-
-
- H'h' - H'h'
-
-
- MMM-MMM
-
-
- y-y
-
-
- MM-MM 'de' yyyy
-
-
-
-
-
-
-
-
- EEEE, MMMM d, y G
-
-
-
-
- MMMM d, y G
-
-
-
-
- MMM d, y G
-
-
-
-
- M/d/yy
-
-
-
-
-
-
-
- TucumĂ¡n
-
-
- CuibĂ¡
-
-
- Araguaina
-
-
- BaĂa
-
-
- St.John's
-
-
- PĂ¡scoa
-
-
- Madrid
-
-
- Marrocos
-
-
- Ulan Bator
-
-
- Cancun
-
-
- Kaliningrado
-
-
- Moscovo
-
-
- Sacalina
-
-
- Center
-
-
- Petersburgo
-
-
-
- Hora do Acre
- Hora de VerĂ£o do Acre
-
- false
-
-
-
- Hora do AfeganistĂ£o
-
- true
-
-
-
- Hora da Ăfrica Central
-
- true
-
-
-
- Hora da Ăfrica Oriental
-
- true
-
-
-
- Hora do Sara Ocidental
-
-
- Hora do Sara Ocidental
-
- true
-
-
-
- Hora da Ăfrica do Sul
- Hora PadrĂ£o da Ăfrica do Sul
-
- true
-
-
-
- Hora da Nigéria
- Hora da Ăfrica Ocidental
- Hora de VerĂ£o da Ăfrica Ocidental
-
-
- Hora da Nigéria
-
- true
-
-
-
- Hora de Aktyubinsk
- Hora de VerĂ£o de Aktyubinsk
-
- true
-
-
-
- Hora do Alaska
- Hora PadrĂ£o do Alaska
- Hora de VerĂ£o do Alaska
-
-
-
-
- Hora do Alaska- Havai
- Hora PadrĂ£o do Alaska-Havai
- Hora de VerĂ£o do Alaska-Havai
-
- true
-
-
-
- Hora de Almaty
- Hora de VerĂ£o de Almaty
-
- true
-
-
-
- Hora do Amazonas
- Hora de VerĂ£o do Amazonas
-
- false
-
-
-
- Hora Central
- Hora PadrĂ£o Central
- Hora de VerĂ£o Central
-
-
-
-
- Hora Oriental
- Hora PadrĂ£o Oriental
- Hora de VerĂ£o Oriental
-
- true
-
-
-
- Hora da Montanha
- Hora PadrĂ£o da Montanha
- Hora de VerĂ£o da Montanha
-
- true
-
-
-
- Hora do PacĂfico
- Hora PadrĂ£o do PacĂfico
- Hora de VerĂ£o do PacĂfico
-
- true
-
-
-
- Hora de Anadyr
- Hora de VerĂ£o de Anadyr
-
- true
-
-
-
- Hora de Aqtau
- Hora de VerĂ£o de Aqtau
-
- true
-
-
-
- Hora de Aqtobe
- Hora de VerĂ£o de Aqtobe
-
- true
-
-
-
- Hora da ArĂ¡bia
- Hora PadrĂ£o da ArĂ¡bia
- Hora de VerĂ£o da ArĂ¡bia
-
-
-
-
- Hora da Argentina
- Hora de VerĂ£o da Argentina
-
- true
-
-
-
- Hora da Argentina Ocidental
-
- true
-
-
-
- Hora da Arménia
- Hora da Arménia
- Hora de VerĂ£o da ArmĂ©nia
-
-
- Hora da Arménia
- AMT (Arménia)
- AMST (Arménia)
-
- true
-
-
-
- Hora do TurquemenistĂ£o
- Hora de Ashkhabad
- Hora de VerĂ£o de Ashkhabad
-
-
- Hora do TurquemenistĂ£o
-
- true
-
-
-
- Hora do AtlĂ¢ntico
- Hora PadrĂ£o do AtlĂ¢ntico
- Hora de VerĂ£o do AtlĂ¢ntico
-
- true
-
-
-
- Hora da AustrĂ¡lia Central
- Hora PadrĂ£o da AustrĂ¡lia Central
- Hora de VerĂ£o da AustrĂ¡lia Central
-
- true
-
-
-
- Hora da AustrĂ¡lia Central Ocidental
- Hora PadrĂ£o da AustrĂ¡lia Central Ocidental
- Hora de VerĂ£o da AustrĂ¡lia Central Ocidental
-
- true
-
-
-
- Hora da AustrĂ¡lia Oriental
- Hora PadrĂ£o da AustrĂ¡lia Oriental
- Hora de VerĂ£o da AustrĂ¡lia Oriental
-
- true
-
-
-
- Hora da AustrĂ¡lia Ocidental
- Hora PadrĂ£o da AustrĂ¡lia Ocidental
- Hora de VerĂ£o da AustrĂ¡lia Ocidental
-
-
-
-
- Hora do AzerbeijĂ£o
- Hora do AzerbeijĂ£o
- Hora de VerĂ£o do AzerbeijĂ£o
-
-
- Hora do AzerbeijĂ£o
-
- true
-
-
-
- Hora dos Açores
- Hora de VerĂ£o dos Açores
-
- true
-
-
-
- Hora do AzerbeijĂ£o
- Hora de Baku
- Hora de VerĂ£o de Baku
-
-
- Hora do AzerbeijĂ£o
-
- true
-
-
-
- Hora do Bangladesh
- Hora do Bangladesh
-
-
- Hora do Bangladesh
-
- true
-
-
-
- Hora de Bering
- Hora PadrĂ£o de Bering
- Hora de VerĂ£o de Bring
-
- true
-
-
-
- Hora do BotĂ£o
- Hora do BotĂ£o
-
-
- Hora do BotĂ£o
-
- true
-
-
-
- Hora da BolĂvia
-
- true
-
-
-
- Hora do Bornéu
- Hora de VerĂ£o do BornĂ©u
-
- true
-
-
-
- Hora de BrasĂlia
- Hora de VerĂ£o de BrasĂlia
-
- false
-
-
- true
-
-
-
- Hora do Brunei
- Hora do Brunei Darussalam
-
-
- Hora do Brunei
-
- true
-
-
-
- Hora de Cabo Verde
- Hora de VerĂ£o de Cabo Verde
-
- true
-
-
-
- Hora de Chamarro
- Hora PadrĂ£o de Chamarro
-
- true
-
-
-
- Hora de Changbai
-
- true
-
-
-
- Hora PadrĂ£o de Chatham
- Hora de VerĂ£o de Chatham
-
- true
-
-
-
- Hora do Chile
- Hora de VerĂ£o do Chile
-
- true
-
-
-
- Hora da China
- Hora PadrĂ£o da China
- Hora de VerĂ£o da China
-
- true
-
-
-
- Hora de Choibalsan
- Hora de VerĂ£o de Choibalsan
-
- true
-
-
-
- Hora da Ilha de Natal
-
- true
-
-
-
- Hora das Ilhas Cocos
-
- true
-
-
-
- Hora da ColĂ´mbia
- Hora de VerĂ£o da ColĂ´mbia
-
- true
-
-
-
- Hora das Ilhas Cook
- Hora das Ilhas Cook
- Hora IntermĂ©dia de VerĂ£o das Ilhas Cook
-
-
- Hora das Ilhas Cook
-
- true
-
-
-
- Hora de Cuba
- Hora PadrĂ£o de Cuba
- Hora de VerĂ£o de Cuba
-
- true
-
-
-
- Hora do Bangladesh
- Hora de Dacca
-
-
- Hora do Bangladesh
-
- true
-
-
-
- Hora de Davis
-
-
-
- true
-
-
-
- Hora de Dumont-d'Urville
-
-
-
-
- Hora do TajiquistĂ£o
- Hora de Dushanbe
- Hora de VerĂ£o de Dushanbe
-
-
- Hora do TajiquistĂ£o
-
- true
-
-
-
- Hora da Guiana Holandesa
-
- true
-
-
-
- Hora de Timor Leste
- Hora de Timor Leste
-
-
- Hora de Timor Leste
-
- true
-
-
-
- Hora da Ilha de PĂ¡scoa
- Hora de VerĂ£o da Ilha de PĂ¡scoa
-
- true
-
-
-
- Hora do Equador
-
- true
-
-
-
- HorĂ¡rio PadrĂ£o da Europa Central
- Hora de VerĂ£o da Europa Central
-
- true
-
-
-
- Hora da Europa Oriental
- Hora de VerĂ£o da Europa Oriental
-
- true
-
-
-
- Hora da Europa Ocidental
- Hora de VerĂ£o da Europa Ocidental
-
- true
-
-
-
- Hora das Ilhas Malvinas
- Hora de VerĂ£o das Ilhas Malvinas
-
- true
-
-
-
- Hora das Ilhas Fiji
- Hora das Ilhas Fiji
- Hora de VerĂ£o das Ilhas Fiji
-
-
- Hora das Ilhas Fiji
-
- true
-
-
-
- Hora da Guiana Francesa
-
- true
-
-
-
- Hora da AntĂ¡rtida e dos TerritĂ³rios Franceses do Sul
-
- true
-
-
-
- Hora do QuirguizistĂ£o
- Hora de Frunze
- Hora de VerĂ£o de Frunze
-
-
- Hora do QuirguizistĂ£o
-
- true
-
-
-
- Hora de GalĂ¡pagos
-
-
-
-
- Hora de Gambier
-
-
-
-
- Hora da GeĂ³rgia
- Hora da Georgia
- Hora de VerĂ£o da Georgia
-
-
- Hora da GeĂ³rgia
-
- true
-
-
-
- Hora das Ilhas Gilbert
-
-
-
-
- Hora do Meridiano de Greenwich
-
-
-
- true
-
-
-
- Hora da GronelĂ¢ndia Central
- Hora de VerĂ£o da GronelĂ¢ndia Central
-
- true
-
-
-
- Hora PadrĂ£o de Guam
-
-
-
-
- Hora PadrĂ£o do Golfo
-
- true
-
-
-
- Hora PadrĂ£o do Havai
-
-
-
-
- Hora de Hong Kong - RegiĂ£o Administrativa Especial da China
- Hora de Hong Kong
- Hora de VerĂ£o de Hong Kong
-
-
- Hora de Hong Kong - RegiĂ£o Administrativa Especial da China
-
- true
-
-
-
- Hora de Hovd
- Hora de VerĂ£o de Hovd
-
- true
-
-
-
- Hora da Ăndia
- Hora PadrĂ£o da Ăndia
-
-
- Hora da Ăndia
-
- true
-
-
-
- Hora do Oceano Ăndico
-
-
-
-
- Hora do Vietname
-
-
- Hora do Vietname
-
- true
-
-
-
- Hora da Indonésia Central
-
- true
-
-
-
- Hora da Indonésia Oriental
-
- true
-
-
-
- Hora da Indonésia Ocidental
-
- true
-
-
-
- Hora do IrĂ£o
- Hora PadrĂ£o do IrĂ£o
- Hora de VerĂ£o do IrĂ£o
-
-
- Hora do IrĂ£o
-
- true
-
-
- true
-
-
-
- Hora de Irkutsk
- Hora de VerĂ£o de Irkutsk
-
- true
-
-
-
- Hora de Israel
- Hora PadrĂ£o de Israel
- Hora de VerĂ£o de Israel
-
-
- Hora de Israel
-
- true
-
-
-
- Hora do JapĂ£o
- Hora PadrĂ£o do JapĂ£o
- Hora de VerĂ£o do JapĂ£o
-
- true
-
-
-
- Hora de Petropavlovsk-Kamchatski
- Hora de VerĂ£o de Petropavlovsk-Kamchatski
-
- true
-
-
-
- Hora do PaquistĂ£o
- Hora de Carachi
-
-
- Hora do PaquistĂ£o
-
- true
-
-
-
- Hora de Kashgar
-
- true
-
-
-
- Hora do CasaquistĂ£o do Leste
- Hora PadrĂ£o do CazaquistĂ£o do Leste
-
- true
-
-
-
- Hora do CasaquistĂ£o do Oeste
- Hora PadrĂ£o do CasaquistĂ£o do Oeste
-
- true
-
-
-
- Hora de Kizilorda
- Hora de VerĂ£o de Kizilorda
-
- true
-
-
-
- Hora da Coreia
- Hora PadrĂ£o da Coreia
- Hora de VerĂ£o da Coreia
-
- true
-
-
-
- Hora de Kosrae
-
-
-
-
- Hora de Krasnoyarsk
- Hora de VerĂ£o de Krasnoyarsk
-
- true
-
-
-
- Hora de Kuybyshev
- Hora de VerĂ£o de Kuybyshev
-
- true
-
-
-
- Hora de Kwajalein
-
-
-
-
- Hora do QuirguizistĂ£o
- Hora do QuirguizistĂ£o
-
-
- Hora do QuirguizistĂ£o
-
- true
-
-
-
- Hora do Sri Lanka
- Hora do Sri Lanka
-
-
- Hora do Sri Lanka
-
- true
-
-
-
- Hora da Libéria
-
-
- Hora da Libéria
-
- true
-
-
-
- Hora das Ilhas Line
-
- true
-
-
-
- Hora de Long-Shu
-
- true
-
-
-
- Hora de Lord Howe
- Hora PadrĂ£o de Lord Howe
- Hora de VerĂ£o de Lord Howe
-
-
-
-
- Hora de Macau - RegiĂ£o Administrativa Especial da China
- Hora de Macau
- Hora de VerĂ£o de Macau
-
-
- Hora de Macau - RegiĂ£o Administrativa Especial da China
-
- true
-
-
-
- Hora de Magadan
- Hora de VerĂ£o de Magadan
-
- true
-
-
-
- Hora da MalĂ¡sia
- Hora de Malaia
-
-
- Hora da MalĂ¡sia
-
- true
-
-
-
- Hora da MalĂ¡sia
-
- true
-
-
-
- Hora das Ilhas Maldivas
-
-
-
-
- Hora das Marquesas
-
- true
-
-
-
- Hora das Ilhas Marshall
-
- true
-
-
-
- Hora das Ilhas MaurĂcias
-
-
-
-
- Hora de Mawson
-
-
-
-
- Hora de Ulan Bator
- Hora de VerĂ£o de Ulan Bator
-
- true
-
-
-
- Hora de Moscovo
- Hora PadrĂ£o de Moscovo
- Hora de VerĂ£o de Moscovo
-
- true
-
-
-
- Hora de Mianmar
-
-
- Hora de Mianmar
-
- true
-
-
-
- Hora de Nauru
-
- true
-
-
-
- Hora do Nepal
- Hora do Nepal
-
-
- Hora do Nepal
-
- true
-
-
-
- Hora da Nova CaledĂ³nia
- Hora da Nova CaledĂ³nia
- Hora de VerĂ£o da Nova CaledĂ³nia
-
-
- Hora da Nova CaledĂ³nia
-
- true
-
-
-
- Hora da Nova ZelĂ¢ndia
- Hora PadrĂ£o da Nova ZelĂ¢ndia
- Hora de VerĂ£o da Nova ZelĂ¢ndia
-
- true
-
-
-
- HorĂ¡rio PadrĂ£o da Terra Nova
- HorĂ¡rio de VerĂ£o da Terra Nova
-
-
-
-
- Hora de Niue
- Hora de Niue
-
-
- Hora de Niue
-
- true
-
-
-
- Hora da Ilha Norfolque
-
-
- Hora da Ilha Norfolque
-
- true
-
-
-
- Hora das Ilhas Mariana do Norte
- Hora das Ilhas Mariana do Norte
-
-
- Hora das Ilhas Mariana do Norte
-
- true
-
-
-
- Hora de Novosibirsk
- Hora de VerĂ£o de Novosibirsk
-
- true
-
-
-
- Hora de Omsk
- Hora de VerĂ£o de Omsk
-
- true
-
-
- true
-
-
-
- Hora do PaquistĂ£o
- Hora de VerĂ£o do PaquistĂ£o
-
-
- Hora do PaquistĂ£o
-
- true
-
-
-
- Hora de Palau
- Hora de Palau
-
-
- Hora de Palau
-
- true
-
-
-
- Hora da Papua Nova Guiné
- Hora da Papua Nova Guiné
-
-
- Hora da Papua Nova Guiné
-
- true
-
-
-
- Hora das Filipinas
- Hora das Filipinas
- Hora de VerĂ£o das Filipinas
-
-
- Hora das Filipinas
-
- true
-
-
-
- Hora das Ilhas Fénix
-
- true
-
-
-
- Hora de Pitcairn
- Hora de Pitcairn
-
-
- Hora de Pitcairn
-
- true
-
-
-
- Hora de Ponape
-
- true
-
-
-
- Hora de Qyzylorda
- Hora de VerĂ£o de Qyzylorda
-
- true
-
-
-
- Hora das Ilhas de ReuniĂ£o
-
-
-
-
- Hora de Rothera
-
-
-
-
- Hora de Sakhalin
- Hora de VerĂ£o de Sakhalin
-
- true
-
-
-
- Hora de Samara
- Hora de VerĂ£o de Samara
-
- true
-
-
-
- Hora de Samarkand
- Hora de VerĂ£o de Samarkand
-
- true
-
-
-
- Hora da Samoa
- Hora PadrĂ£o da Samoa
-
-
- Hora da Samoa
-
- true
-
-
-
- Hora das Ilhas Seicheles
-
-
-
-
- Hora de Shevchenko
- Hora de VerĂ£o de Shevchenko
-
- true
-
-
-
- Hora de Singapura
- Hora PadrĂ£o de Singapura
-
-
- Hora de Singapura
-
- true
-
-
-
- Hora das Ilhas SalomĂ£o
-
-
- Hora das Ilhas SalomĂ£o
-
- true
-
-
-
- Hora da Georgia do Sul
-
- true
-
-
-
- Hora de Sverdlovsk
- Hora de VerĂ£o de Sverdlovsk
-
- true
-
-
-
- Hora de Syowa
-
-
-
-
- Hora da Polinésia Francesa
- Hora do Tahiti
-
-
- Hora da Polinésia Francesa
-
- true
-
-
-
- Hora do TajiquistĂ£o
- Hora do TajiquistĂ£o
-
-
- Hora do TajiquistĂ£o
-
- true
-
-
-
- Hora de Tashkent
- Hora de Tashkent
- Hora de VerĂ£o de Tashkent
-
-
- Hora do UzbequistĂ£o
-
- true
-
-
-
- Hora da GeĂ³rgia
- Hora de Tbilisi
- Hora de VerĂ£o de Tbilisi
-
-
- Hora de GeĂ³rgia
-
- true
-
-
-
- Hora de Toquelau
- Hora de Toquelau
-
-
- Hora de Toquelau
-
- true
-
-
-
- Hora de Tonga
- Hora de VerĂ£o de Tonga
-
-
- Hora de Tonga
-
- true
-
-
-
- Hora de Truk
-
- true
-
-
-
- Hora da Turquia
- Hora de VerĂ£o da Turquia
-
- true
-
-
-
- Hora do TurquemenistĂ£o
- Hora do TurquemenistĂ£o
- Hora de VerĂ£o do TurquemenistĂ£o
-
-
- Hora do TurquemenistĂ£o
-
- true
-
-
-
- Hora de Tuvalu
-
-
- Hora de Tuvalu
-
- true
-
-
-
- Hora de Ural'sk
- Hora de VerĂ£o de Ural'sk
-
- true
-
-
-
- Hora de Urumqi
-
- true
-
-
-
- Hora do UzbequistĂ£o
- Hora do UzbequistĂ£o
- Hora de VerĂ£o do UzbequistĂ£o
-
-
- Hora do UzbequistĂ£o
-
- true
-
-
-
- Hora de Vanuatu
- Hora de Vanuatu
-
-
- Hora de Vanuatu
-
- true
-
-
-
- Hora de Vladivostok
- Hora de VerĂ£o de Vladivostok
-
- true
-
-
-
- Hora de Volvograd
- Hora de VerĂ£o de Volgograd
-
- true
-
-
-
- Hora de Vostok
-
-
-
-
- Hora das Ilhas Wake
-
-
-
-
- Hora de Wallis e Futuna
- Hora de Wallis e Futuna
-
-
- Hora de Wallis e Futuna
-
- true
-
-
-
- Hora de Yakutsk
- Hora de VerĂ£o de Yakutsk
-
- true
-
-
-
- Hora de Yekaterinburg
- Hora de VerĂ£o de Yekaterinburg
-
- true
-
-
-
- Hora da Arménia
- Hora de Yerevan
- Hora de VerĂ£o de Yerevan
-
-
- Hora da Arménia
-
- true
-
-
-
-
-
- Â
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- Dirham dos Emirados Ărabes Unidos
-
-
- Afeghani (1927-2002)
-
-
- Afeghani
-
-
- Florim das Antilhas Holandesa
-
-
- Florim de Aruba
-
-
- Dinar da BĂ³snia-HerzegĂ³vina
-
-
- Marco bĂ³snio-herzegĂ³vino conversĂvel
-
-
- Franco belga (convertĂvel)
-
-
- Rublo novo bielorusso (1994-1999)
-
-
- Libra de Chipre
-
-
- Coroa da RepĂºblica Checa
-
-
- Unidad de Valor Constante (UVC) do Equador
-
-
- DĂ³lar das Fiji
-
-
- Cedi do Gana
-
-
- Dalasi da GĂ¢mbia
-
-
- Franco da Guiné
-
-
- Quetzal da Guatemala
-
-
- Lempira das Honduras
-
-
- Dinar koweitiano
-
-
- DĂ³lar das Ilhas CaimĂ£o
-
-
- Dinar macedĂ³nio
-
-
- Franco do Mali
-
-
- Cuacha do Malawi
-
-
- Peso Plata mexicano (1861-1992)
-
-
- Unidad de Inversion (UDI) mexicana
-
-
- CĂ³rdoba nicaraguano
-
-
- CĂ³rdoba Ouro nicaraguano
-
-
- Zloti polaco
-
-
- Zloti polaco (1950-1995)
-
-
- #,##0.00 ¤;-#,##0.00 ¤
- $
- ,
-
-
- Rial do Qatar
-
-
- DĂ³lar de Singapura
-
-
- Xelim de TanzĂ¢nia
-
-
- Tala de Samoa Ocidental
-
-
- Unidade da Moeda Europeia
-
-
- Moeda invĂ¡lida ou desconhecida
-
-
- Dinar forte jugoslavo
-
-
- Super Dinar jugoslavo
-
-
- Dinar conversĂvel jugoslavo
-
-
- DĂ³lar do Zimbabwe
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ro.xml b/airtime_mvc/library/Zend/Locale/Data/ro.xml
deleted file mode 100644
index b107d16cc..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ro.xml
+++ /dev/null
@@ -1,2478 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- abhază
- afrikaans
- limbă afro-asiatică
- ainu
- akkadiană
- aleută
- altaică meridională
- amharică
- aragoneză
- engleză veche
- limbă apașă
- arabă
- aramaică
- limbă artificială
- asameză
- asturiană
- limbă australiană
- avară
- aymara
- azeră
- bașkiră
- limbă baltică
- bielorusă
- berberă
- bulgară
- bihari
- bengaleză
- bantu
- tibetană
- bretonă
- bosniacă
- catalană
- limbă central-amerindiană
- limbă caucaziană
- cecenă
- limbă celtică
- corsicană
- coptă
- cehă
- slavonă
- ciuvașă
- velșă
- daneză
- germană
- germană austriacă
- germană standard elvețiană
- limbă dravidiană
- egipteană veche
- greacă
- elamită
- engleză
- engleză australiană
- engleză canadiană
- engleză britanică
- engleză americană
- esperanto
- spaniolă
- spaniolă latino-americană
- spaniolă iberică
- estoniană
- bască
- persană
- finlandeză
- filipineză
- limbă fino-ugrică
- fijiană
- faroeză
- franceză
- franceză canadiană
- franceză elvețiană
- franceză veche
- frizonă orientală
- frizonă occidentală
- irlandeză
- gaelică scoțiană
- limbă germanică
- galiciană
- guarani
- gotică
- greacă veche
- germană elvețiană
- gujarati
- hawaiană
- ebraică
- hindi
- hitită
- croată
- haitiană
- maghiară
- armeană
- interlingua
- indoneziană
- interlingue
- inupiak
- limbă indiană
- limbă indo-europeană
- limbă iraniană
- islandeză
- italiană
- japoneză
- iudeo-persană
- iudeo-arabă
- javaneză
- georgiană
- congoleză
- kazahă
- kalaallisut
- khmeră
- kannada
- coreeană
- cașmireză
- kurdă
- kĂ®rgĂ®ză
- latină
- luxemburgheză
- lingala
- laoțiană
- lituaniană
- letonă
- austroneziană
- malgașă
- maori
- limbi diverse
- macedoneană
- malayalam
- mongolă
- manciuriană
- moldovenească
- marathi
- malay
- malteză
- limbi multiple
- limbă munda
- mirandeză
- birmaneză
- limbă mayașă
- limbă nord-amerindiană
- napolitană
- nepaleză
- olandeză
- flamandă
- norvegiană nynorsk
- norvegiană
- limbă nubiană
- navajo
- occitană
- oromo
- oriya
- turcă otomană
- limbă otomi
- punjabi
- limbă papuașă
- persană veche
- limbă filipineză
- feniciană
- pali
- poloneză
- provensală veche
- pașto
- portugheză
- portugheză braziliană
- portugheză iberică
- quechua
- retoromană
- romĂ¢nă
- limbă romanică
- rusă
- aromĂ¢nă
- sanscrită
- limbă sud-amerindiană
- aramaică samariteană
- sardiniană
- siciliană
- scots
- sindhi
- limbă semitică
- irlandeză veche
- limbaj mimico-gestual
- sĂ¢rbo-croată
- singaleză
- limbă sino-tibetană
- slovacă
- slovenă
- limbă slavă
- samoană
- somaleză
- albaneză
- sĂ¢rbă
- sesotho
- sundaneză
- sumeriană
- suedeză
- swahili
- siriacă
- tamilă
- limbă thai
- telugu
- tadjică
- thailandeză
- tigrinya
- turkmenă
- tagalog
- klingoniană
- setswana
- turcă
- tătară
- limbă altaică
- twi
- tahitiană
- uigură
- ucraineană
- limbă necunoscută sau nevalidă
- urdu
- uzbecă
- vietnameză
- volapuk
- valonă
- wolof
- calmucă
- xhosa
- idiÈ™
- yoruba
- zapotecă
- chineză
- chineză simplificată
- chineză tradițională
- zulu
- fară conținut lingvistic
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Lume
- Africa
- America de Nord
- America de Sud
- Oceania
- Africa Occidentală
- America Centrală
- Africa Orientală
- Africa Septentrională
- Africa Centrală
- Africa Meridională
- Americi
- America Septentrională
- Caraibe
- Asia Orientală
- Asia Meridională
- Asia de Sud-Est
- Europa Meridională
- Australia și Noua Zeelandă
- Melanezia
- Regiunea Micronezia
- Polinezia
- Asia Centrală de Sud
- Asia
- Asia Centrală
- Asia Occidentală
- Europa
- Europa Orientală
- Europa Septentrională
- Europa Occidentală
- Comunitatea Statelor Independente
- America Latină și Caraibe
- Insulele Anglo-Normande
- Andorra
- Emiratele Arabe Unite
- Afganistan
- Antigua și Barbuda
- Anguilla
- Albania
- Armenia
- Antilele Olandeze
- Angola
- Antarctica
- Argentina
- Samoa Americană
- Austria
- Australia
- Aruba
- Insulele Aland
- Azerbaidjan
- Bosnia și Herțegovina
- Barbados
- Bangladesh
- Belgia
- Burkina Faso
- Bulgaria
- Bahrain
- Burundi
- Benin
- SfĂ¢ntul Bartolomeu
- Bermuda
- Brunei
- Bolivia
- Brazilia
- Bahamas
- Bhutan
- Insula Bouvet
- Botswana
- Bielorusia
- Belize
- Canada
- Insulele Cocos
- Republica Democrată Congo
- Republica Centrafricană
- Congo
- Eleveția
- Coasta de FildeÈ™
- Insulele Cook
- Chile
- Camerun
- China
- Columbia
- Costa Rica
- Serbia și Muntenegru
- Cuba
- Capul Verde
- Insula Christmas
- Cipru
- Republica Cehă
- Germania
- Djibouti
- Danemarca
- Dominica
- Republica Dominicană
- Algeria
- Ecuador
- Estonia
- Egipt
- Sahara Occidentală
- Eritreea
- Spania
- Etiopia
- Finlanda
- Fiji
- Insulele Falkland
- Micronezia
- Insulele Feroe
- Franța
- Gabon
- Marea Britanie
- Grenada
- Georgia
- Guyana Franceză
- Guernsey
- Ghana
- Gibraltar
- Groenlanda
- Gambia
- Guineea
- Guadelupa
- Guineea Ecuatorială
- Grecia
- Insulele Georgia de Sud și Sandwich de Sud
- Guatemala
- Guam
- Guineea-Bissau
- Guyana
- R.A.S. Hong Kong a Chinei
- Insula Heard și Insulele McDonald
- Honduras
- Croația
- Haiti
- Ungaria
- Indonezia
- Irlanda
- Israel
- Insula Man
- India
- Teritoriul Britanic din Oceanul Indian
- Irak
- Iran
- Islanda
- Italia
- Jersey
- Jamaica
- Iordania
- Japonia
- Kenya
- KĂ¢rgĂ¢zstan
- Cambodgia
- Kiribati
- Comore
- SfĂ¢ntul Kitts È™i Nevis
- Coreea de Nord
- Coreea de Sud
- Kuweit
- Insulele Cayman
- Kazahstan
- Laos
- Liban
- SfĂ¢nta Lucia
- Liechtenstein
- Sri Lanka
- Liberia
- Lesotho
- Lituania
- Luxemburg
- Letonia
- Libia
- Maroc
- Monaco
- Republica Moldova
- Muntenegru
- SfĂ¢ntul Martin
- Madagascar
- Insulele Marshall
- Macedonia
- Mali
- Myanmar
- Mongolia
- R.A.S. Macao a Chinei
- Insulele Mariane de Nord
- Martinica
- Mauritania
- Montserrat
- Malta
- Mauritius
- Maldive
- Malawi
- Mexic
- Malaezia
- Mozambic
- Namibia
- Noua Caledonie
- Niger
- Insulele Norfolk
- Nigeria
- Nicaragua
- Olanda
- Norvegia
- Nepal
- Nauru
- Niue
- Noua Zeelandă
- Oman
- Panama
- Peru
- Polinezia Franceză
- Papua Noua Guinee
- Filipine
- Pakistan
- Polonia
- SfĂ¢ntul Pierre È™i Miquelon
- Pitcairn
- Porto Rico
- Teritoriul Palestinian
- Portugalia
- Palau
- Paraguay
- Qatar
- Oceania Periferică
- Uniunea Europeană
- Reunion
- RomĂ¢nia
- Serbia
- Rusia
- Rwanda
- Arabia Saudită
- Insulele Solomon
- Seychelles
- Sudan
- Suedia
- Singapore
- SfĂ¢nta Elena
- Slovenia
- Svalbard și Jan Mayen
- Slovacia
- Sierra Leone
- San Marino
- Senegal
- Somalia
- Surinam
- Sao Tome și Principe
- El Salvador
- Siria
- Swaziland
- Insulele Turks și Caicos
- Ciad
- Teritoriile Australe și Antarctice Franceze
- Togo
- Thailanda
- Tadjikistan
- Tokelau
- Timorul de Est
- Turkmenistan
- Tunisia
- Tonga
- Turcia
- Trinidad-Tobago
- Tuvalu
- Taiwan
- Tanzania
- Ucraina
- Uganda
- Insulele mici Ă®ndepărtate ale Statelor Unite ale Americii
- Statele Unite ale Americii
- Uruguay
- Uzbekistan
- Vatican
- SfĂ¢ntul Vincent È™i Grenadine
- Venezuela
- Insulele Virgine Britanice
- Insulele Virgine S.U.A.
- Vietnam
- Vanuatu
- Wallis și Futuna
- Samoa
- Yemen
- Mayotte
- Africa de Sud
- Zambia
- Zimbabwe
- Regiune necunoscută sau nevalidă
-
-
- ordine de sortare
- monedă
-
-
- sortare pentru chineza tradițională - Big5
- calendar budist
- calendar chinezesc
- sortare directă
- sortare pentru chineza simplificată - GB2312
- calendar gregorian
- calendar ebraic
- calendar național indian
- calendar islamic
- calendar islamic civil
- calendar japonez
- sortare după cartea de telefon
- sortare pinyin
- calendar al Republicii Chineze
- ordine de sortare după trasare
- sortare tradițională
-
-
- metric
- american
-
-
- Limbă: {0}
- Scriere: {0}
- Regiune: {0}
-
-
-
- titlecase-firstword
- lowercase-words
- lowercase-words
- lowercase-words
- titlecase-firstword
-
-
- [a ă Ă¢ b-i Ă® j-p r s È™ t È› u v x z]
- [Ă¡ Ă Ă¥ ä ç Ă© è Ăª Ă« ñ ö q ÅŸ Å£ Ă¼ w y]
- [a ă Ă¢ b-i Ă® j-s È™ t È› u-z]
-
-
- â€
- â€
- «
- »
-
-
- {0} – {1}
-
-
-
-
- era budistă
-
-
- e.b.
-
-
-
-
-
- EEEE, d MMMM, y G
-
-
-
-
- d MMMM y G
-
-
-
-
- d MMM y G
-
-
-
-
- d/M/yyyy
-
-
-
-
-
- d MMM
- E d MMM
- d MMMM
- E d MMMM
- EEE, d/M/y
- EEE, d MMM Y
- 'T'Q y
- QQQ y
-
-
-
-
-
-
-
- ian.
- feb.
- mar.
- apr.
- mai
- iun.
- iul.
- aug.
- sept.
- oct.
- nov.
- dec.
-
-
- ianuarie
- februarie
- martie
- aprilie
- mai
- iunie
- iulie
- august
- septembrie
- octombrie
- noiembrie
- decembrie
-
-
-
-
- I
- F
- M
- A
- M
- I
- I
- A
- S
- O
- N
- D
-
-
-
-
-
-
- Du
- Lu
- Ma
- Mi
- Jo
- Vi
- SĂ¢
-
-
- duminică
- luni
- marți
- miercuri
- joi
- vineri
- sĂ¢mbătă
-
-
-
-
- Du
- Lu
-
-
- D
- L
- M
- M
- J
- V
- S
-
-
- sĂ¢mbătă
-
-
-
-
-
-
- trim. I
- trim. II
- trim. III
- trim. IV
-
-
- T1
- T2
- T3
- T4
-
-
- trimestrul I
- trimestrul al II-lea
- trimestrul al III-lea
- trimestrul al IV-lea
-
-
-
-
- T1
- T2
- T3
- T4
-
-
- trimestrul I
- trimestrul al II-lea
- trimestrul al III-lea
- trimestrul al IV-lea
-
-
-
- AM
- PM
-
-
- înainte de Hristos
- după Hristos
-
-
- Ă®.Hr.
- d.Hr.
-
-
-
-
-
- EEEE, d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- dd.MM.yyyy
-
-
-
-
- dd.MM.yyyy
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
- d
- EEE d
- H:mm
- L
- d.M
- E, d MMM
- dd.MM
- LLL
- d MMM
- E, d MMM
- EEE, d MMM
- d MMMM
- E, d MMMM
- mm:ss
- y
- M.yyyy
- EEE, d/M/yyyy
- MMM y
- EEE, d MMM y
- MMMM y
- 'trimestrul' Q y
- QQQ y
- MM.yy
- MMM yy
- Q yy
- MM.yyyy
- MMMM y
-
-
- {0} - {1}
-
- d-d
-
-
- HH-HH
- HH-HH
-
-
- HH:mm-HH:mm
- HH:mm-HH:mm
- HH:mm-HH:mm
-
-
- HH:mm-HH:mm v
- HH:mm-HH:mm v
- HH:mm-HH:mm v
-
-
- HH-HH v
- HH-HH v
-
-
- M-M
-
-
- dd.MM - dd.MM
- dd.MM - dd.MM
-
-
- E, dd.MM - E, dd.MM
- E, dd.MM - E, dd.MM
-
-
- MMM-MMM
-
-
- d-d MMM
- d MMM - d MMM
-
-
- E, d MMM - E, d MMM
- E, d MMM - E, d MMM
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- MM.yyyy - MM.yyyy
- MM.yyyy - MM.yyyy
-
-
- dd.MM.yyyy - dd.MM.yyyy
- dd.MM.yyyy - dd.MM.yyyy
- dd.MM.yyyy - dd.MM.yyyy
-
-
- E, dd.MM.yyyy - E, dd.MM.yyyy
- E, dd.MM.yyyy - E, dd.MM.yyyy
- E, dd.MM.yyyy - E, dd.MM.yyyy
-
-
- MMM-MMM y
- MMM y - MMM y
-
-
- d-d MMM y
- d MMM - d MMM y
- d MMM y - d MMM y
-
-
- E, d MMM - E, d MMM y
- E, d MMM - E, d MMM y
- E, d MMM y - E, d MMM y
-
-
- MMMM-MMMM y
- MMMM y – MMMM y
-
-
-
-
-
- eră
-
-
- an
-
-
- lună
-
-
- săptămĂ¢nă
-
-
- zi
- răsalaltăieri
- alaltăieri
- ieri
- azi
- mĂ¢ine
- poimĂ¢ine
- răspoimĂ¢ine
-
-
- zi a săptămĂ¢nii
-
-
- perioada zilei
-
-
- oră
-
-
- minut
-
-
- secundă
-
-
- zonă
-
-
-
-
-
- +HH:mm;−HH:mm
- GMT{0}
- {0}
- {1} ({0})
-
- Necunoscut
-
-
- Tirana
-
-
- Erevan
-
-
- Polul Sud
-
-
- Dumont D'Urville
-
-
- Viena
-
-
- Bruxelles
-
-
- Insula Paștelui
-
-
- Capul Verde
-
-
- Copenhaga
-
-
- Alger
-
-
- Insulele Canare
-
-
- Addis Abeba
-
-
- Londra
-
-
- Guadalupe
-
-
- Atena
-
-
- Georgia de Sud
-
-
- Budapesta
-
-
- Ierusalim
-
-
- Bagdad
-
-
- Teheran
-
-
- Roma
-
-
- St. Kitts
-
-
- Seul
-
-
- Kuweit
-
-
- Kyzylorda
-
-
- St. Lucia
-
-
- Luxemburg
-
-
- Chișinău
-
-
- Ulan Bator
-
-
- Martinica
-
-
- Maldive
-
-
- Marchize
-
-
- Varșovia
-
-
- Azore
-
-
- Lisabona
-
-
- Quatar
-
-
- București
-
-
- Moscova
-
-
- Ekaterinburg
-
-
- Krasnoiarsk
-
-
- Irkuțk
-
-
- Yakuțk
-
-
- Sahalin
-
-
- Kamciatka
-
-
- Riyad
-
-
- Sf. Elena
-
-
- Salvador
-
-
- Damasc
-
-
- Zaporoje
-
-
- New Salem, Dakota de Nord
-
-
- Centru, Dakota de Nord
-
-
- Saint Vincent și Grenadines
-
-
- St. Thomas
-
-
-
- Ora Acre
- Ora de vară Acre
-
-
-
-
- Ora Africii Centrale
-
-
-
-
- Ora Africii Orientale
-
-
-
-
- Ora Africii Meridionale
- Ora Standard a Africii Meridionale
-
-
-
-
- Ora Africii Occidentale
- Ora de vară a Africii Occidentale
-
-
-
-
- Ora zonei Alaska
- Ora standard în zona Alaska
- Ora de vară Ă®n zona Alaska
-
-
-
-
- Ora zonei Alaska-Hawaii
- Ora standard în zona Alaska-Hawaii
- Ora de vară Ă®n zona Alaska-Hawaii
-
-
-
-
- Ora Amazon
- Ora de vară Amazon
-
-
-
-
- Ora Centrală
- Ora standard centrală
- Ora de vară centrală
-
-
-
-
- Ora orientală
- Ora standard orientală
- Ora de vară orientală
-
-
-
-
- Ora zonei montane
- Ora standard Ă®n zona montană
- Ora de vară Ă®n zona montană
-
-
-
-
- Ora zonei Pacific
- Ora standard în zona Pacific
- Ora de vară Ă®n zona Pacific
-
-
-
-
- Ora Argentinei
- Ora de vară a Argentinei
-
-
-
-
- Ora Argentinei Occidentale
-
-
-
-
- Ora zonei Atlantic
- Ora standard în zona Atlantic
- Ora de vară Ă®n zona Atlantic
-
-
-
-
- Ora Australiei Centrale
- Ora de vară a Australiei Centrale
-
-
-
-
- Ora Australiei Central Occidentale
- Ora standard a Australiei Central Occidentale
- Ora de vară a Australiei Central Occidentale
-
-
-
-
- Ora Australiei Orientale
- Ora standard a Australiei Orientale
- Ora de vară a Australiei Orientale
-
-
-
-
- Ora Australiei Occidentale
- Ora de vară a Australiei Occidentale
-
-
-
-
- Ora Bering
- Ora standard Bering
- Ora de vară Bering
-
-
-
-
- Ora Boliviei
-
-
-
-
- Ora Davis
-
-
-
-
- Ora Dumont-d'Urville
-
-
-
-
- Ora Europei Centrale
- Ora de vară a Europei Centrale
-
-
-
-
- Ora Europei de Est
- Ora de vară a Europei de Est
-
-
-
-
- Ora Europei Occidentale
- Ora de vară a Europei Occidentale
-
-
- WET
- WEST
-
-
-
-
- Greenwich Mean Time
-
-
- GMT
-
- true
-
-
-
- Ora Lord Howe
- Ora standard Lord Howe
- Ora de vară Lord Howe
-
-
-
-
- Ora Mawson
-
-
-
-
- Ora Rothera
-
-
-
-
- Ora Syowa
-
-
-
-
- Ora Vostok
-
-
-
-
-
-
- ,
- .
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
- {0} {1}
- {0} {1}
-
-
-
- pesetă andorrană
- pesete andorrane
- pesete andorrane
-
-
- dirham Emiratele Arabe Unite
- dirhami Emiratele Arabe Unite
- dirhami Emiratele Arabe Unite
-
-
- leka albanez
- leka albanezi
- leka albanez
- leka albanezi
-
-
- dram armenesc
- drami armenești
- dram armenesc
- drami armenești
-
-
- gulden Antilele Olandeze
- guldeni Antilele Olandeze
- guldeni Antilele Olandeze
-
-
- peso argentinian (1983–1985)
- pesos argentinieni (ARP)
- peso argentinian (ARP)
- pesos argentinieni (ARP)
-
-
- peso argentinian
- pesos argentinieni
- pesos argentinieni
-
-
- șiling austriac
- șilingi austrieci
- șilingi austrieci
-
-
- dolar australian
- dolari australieni
- dolari australieni
-
-
- manat Azerbaidjan
- manați Azerbaidjan
- manați Azerbaidjan
-
-
- dinar Bosnia-Herțegovina
- dinari Bosnia-Herțegovina
- dinari Bosnia-Herțegovina
-
-
- marcă convertibilă bosniacă
- mărci convertibile bosniace
- mărci convertibile bosniace
-
-
- dolar Barbados
- dolari Barbados
- dolari Barbados
-
-
- taka BangladeÈ™
-
-
- franc belgian (convertibil)
- franci belgieni (convertibili)
- franci belgieni (convertibili)
-
-
- franc belgian
- franci belgieni
- franci belgieni
-
-
- franc belgian (financiar)
- franci belgieni (financiari)
- franci belgieni (financiari)
-
-
- leva bulgărească nouă
- leva bulgărești noi
- leva bulgărești noi
-
-
- franc Burundi
- franci Burundi
- franci Burundi
-
-
- dolar Bermude
- dolari Bermude
- dolari Bermude
-
-
- dolar Brunei
- dolari Brunei
- dolari Brunei
-
-
- bolivian bolivian
- bolivieni bolivieni
- bolivieni bolivieni
-
-
- peso bolivian
- pesos bolivieni
- pesos bolivieni
-
-
- mvdol bolivian
-
-
- cruzeiro brazilian (1990–1993)
-
-
- real brazilian
- reali brazilieni
- reali brazilieni
-
-
- cruzeiro brazilian
-
-
- dolar Bahamas
- dolari Bahamas
- dolari Bahamas
-
-
- ngultrum Bhutan
-
-
- kyat birman
-
-
- rublă bielorusă
- ruble bieloruse
- ruble bieloruse
-
-
- dolar Belize
- dolari Belize
- dolari Belize
-
-
- dolar canadian
- dolari canadieni
- dolari canadieni
-
-
- franc congolez
- franci congolezi
- franci congolezi
-
-
- franc elvețian
- franci elvețieni
- franci elvețieni
-
-
- peso chilian
- pesos chilieni
- pesos chilieni
-
-
- yuan renminbi chinezesc
- yuani renminbi chinezești
- yuani renminbi chinezești
-
-
- peso columbian
- pesos columbieni
- pesos columbieni
-
-
- colon costarican
- coloni costaricani
- coloni costaricani
-
-
- dinar vechi Serbia și Muntenegru
- dinari vechi Serbia și Muntenegru
- dinari vechi Serbia și Muntenegru
-
-
- peso cubanez
- pesos cubanezi
- pesos cubanezi
-
-
- escudo Capul Verde
- escudo Capul Verde
- escudo Capul Verde
- escudo Capul Verde
-
-
- liră cipriotă
- lire cipriote
- lire cipriote
-
-
- coroană cehă
- coroane cehe
- coroane cehe
-
-
- marcă est-germană
- mărci est-germane
- mărci est-germane
-
-
- marcă germană
- mărci germane
- mărci germane
-
-
- franc Djibouti
- franci Djibouti
- franci Djibouti
-
-
- coroană daneză
- coroane daneze
- coroane daneze
-
-
- peso dominican
- pesos dominicani
- pesos dominicani
-
-
- dinar algerian
- dinari algerieni
- dinari algerieni
-
-
- sucre Ecuador
-
-
- coroană estoniană
- coroane estoniene
- coroane estoniene
-
-
- liră egipteană
- lire egiptene
- lire egiptene
-
-
- peseta spaniolă (cont A)
-
-
- peseta spaniolă (cont convertibil)
-
-
- pesetă spaniolă
- pesete spaniole
- pesete spaniole
-
-
- birr Etiopia
- birr Etiopia
- birr Etiopia
- birr Etiopia
-
-
- euro
-
-
- marcă finlandeză
- mărci finlandeze
- mărci finlandeze
- mărci finlandeze
-
-
- dolar Fiji
- dolari Fiji
- dolari Fiji
-
-
- liră Insulele Falkland
- lire Insulele Falkland
- lire Insulele Falkland
-
-
- franc francez
- franci francezi
- franci francezi
-
-
- liră sterlină
- lire sterline
- lire sterline
-
-
- lari Georgia
- lari Georgia
- lari Georgia
- lari Georgia
-
-
- cedi Ghana
-
-
- liră Gibraltar
- lire Gibraltar
- lire Gibraltar
-
-
- dalasi Gambia
-
-
- franc Guineea
- franci Guineea
- franci Guineea
-
-
- drahmă grecească
- drahme grecești
- drahme grecești
-
-
- quetzal Guatemala
-
-
- peso Guineea-Bissau
- pesos Guineea-Bissau
- pesos Guineea-Bissau
-
-
- dolar Guyana
- dolari Guyana
- dolari Guyana
-
-
- dolar Hong Kong
- dolari Hong Kong
- dolari Hong Kong
-
-
- lempira Honduras
-
-
- dinar croat
- dinari croați
- dinari croați
-
-
- kuna croată
- kune croate
- kune croate
-
-
- gourde Haiti
-
-
- forint maghiar
- forinți maghiari
- forinți maghiari
-
-
- rupie indoneziană
- rupii indoneziene
- rupii indoneziene
-
-
- liră irlandeză
- lire irlandeze
- lire irlandeze
-
-
- liră israeliană
- lire israeliene
- lire israeliene
-
-
- șechel israelian nou
- șecheli israelieni noi
- șecheli israelieni noi
-
-
- rupie indiană
- rupii indiene
- rupii indiene
-
-
- dinar irakian
- dinari irakieni
- dinari irakieni
-
-
- rial iranian
- riali iranieni
- riali iranieni
-
-
- coroană islandeză
- coroane islandeze
- coroane islandeze
-
-
- liră italiană
- lire italiene
- lire italiene
-
-
- dolar jamaican
- dolari jamaicani
- dolari jamaicani
-
-
- dinar iordanian
- dinari iordanieni
- dinari iordanieni
-
-
- yen japonez
- yeni japonezi
- yeni japonezi
-
-
- șiling kenyan
- șilingi kenyeni
- șilingi kenyeni
-
-
- som Kirghizstan
-
-
- riel cambodgian
- rieli cambodgieni
- rieli cambodgieni
-
-
- franc comorian
- franci comorieni
- franci comorieni
-
-
- won nord-coreean
- woni nord-coreeni
- woni nord-coreeni
-
-
- won sud-coreean
- woni sud-coreeni
- woni sud-coreeni
-
-
- dinar kuweitian
- dinari kuweitieni
- dinari kuweitieni
-
-
- dolar Insulele Cayman
- dolari Insulele Cayman
- dolari Insulele Cayman
-
-
- kip Laos
-
-
- liră libaneză
- lire libaneze
- lire libaneze
-
-
- rupie Sri Lanka
- rupii Sri Lanka
- rupii Sri Lanka
-
-
- dolar liberian
- dolari liberieni
- dolari liberieni
-
-
- litu lituanian
- lite lituaniene
- lite lituaniene
-
-
- franc convertibil luxemburghez
- franci convertibili luxemburghezi
- franci convertibili luxemburghezi
-
-
- franc luxemburghez
- franci luxemburghezi
- franci luxemburghezi
-
-
- franc financiar luxemburghez
- franci financiari luxemburghezi
- franci financiari luxemburghezi
-
-
- lats Letonia
-
-
- rublă Letonia
- ruble Letonia
- ruble Letonia
-
-
- dinar libian
- dinari libieni
- dinari libieni
-
-
- dirham marocan
- dirhami marocani
- dirhami marocani
-
-
- franc marocan
- franci marocani
- franci marocani
-
-
- leu moldovenesc
- lei moldovenești
- lei moldovenești
-
-
- franc Madagascar
- franci Madagascar
- franci Madagascar
-
-
- dinar macedonean
- dinari macedoneni
- dinari macedoneni
-
-
- franc Mali
- franci Mali
- franci Mali
-
-
- kyat Myanmar
-
-
- tugrik mongol
-
-
- liră malteză
- lire malteze
- lire malteze
-
-
- peso mexican
- pesos mexicani
- pesos mexicani
-
-
- peso mexican de argint (1861–1992)
- pesos mexicani de argint (1861–1992
- pesos mexicani de argint (1861–1992
-
-
- ringgit malaiezian
-
-
- escudo Mozambic
-
-
- metical Mozambic vechi
-
-
- metical Mozambic
-
-
- dolar namibian
- dolari namibieni
- dolari namibieni
-
-
- cordoba Nicaragua
-
-
- gulden olandez
- guldeni olandezi
- guldeni olandezi
-
-
- coroană norvegiană
- coroane norvegiene
- coroane norvegiene
-
-
- rupie nepaleză
- rupii nepaleze
- rupii nepaleze
-
-
- dolar neozeelandez
- dolari neozeelandezi
- dolari neozeelandezi
-
-
- riyal Oman
- riyali Oman
- riyali Oman
-
-
- balboa panameză
- balboa panameze
- balboa panameze
-
-
- inti peruvian
-
-
- sol nou peruvian
- soli noi Peru
- soli noi Peru
-
-
- sol peruvian
- soli Peru
- soli Peru
-
-
- kina Papua-Noua Guinee
-
-
- peso filipinez
- pesos filipinezi
- pesos filipinezi
-
-
- rupie pakistaneză
- rupii pakistaneze
- rupii pakistaneze
-
-
- zlot nou polonez
- zloți noi polonezi
- zloți noi polonezi
-
-
- zlot polonez (1950–1995)
- zloți polonezi (1950–1995)
- zloți polonezi (1950–1995)
-
-
- guarani Paraguay
-
-
- riyal Qatar
- riyali Qatar
- riyali Qatar
-
-
- dolar rhodesian
- dolari rhodesieni
- dolari rhodesieni
-
-
- leu vechi
- lei vechi
- lei vechi
-
-
- leu
- lei
- lei
-
-
- dinar sĂ¢rbesc
- dinari sĂ¢rbeÈ™ti
- dinari sĂ¢rbeÈ™ti
-
-
- rublă rusească
- ruble rusești
- ruble rusești
-
-
- franc Rwanda
- franci Rwanda
- franci Rwanda
-
-
- riyal Arabia Saudită
- riyali Arabia Saudită
- riyali Arabia Saudită
-
-
- dolar Insulele Solomon
- dolari Insulele Solomon
- dolari Insulele Solomon
-
-
- rupie Seychelles
- rupii Seychelles
- rupii Seychelles
-
-
- dinar sudanez
- dinari sudanezi
- dinari sudanezi
-
-
- liră sudaneză
- lire sudaneze
- lire sudaneze
-
-
- coroană suedeză
- coroane suedeze
- coroane suedeze
-
-
- dolar Singapore
- dolari Singapore
- dolari Singapore
-
-
- liră Insula Sf. Elena
- lire Insula Sf. Elena
- lire Insula Sf. Elena
-
-
- tolar sloven
- tolari sloveni
- tolari sloveni
-
-
- coroană slovacă
- coroane slovace
- coroane slovace
-
-
- leu Sierra Leone
- lei Sierra Leone
- lei Sierra Leone
-
-
- șiling somalez
- șilingi somalezi
- șilingi somalezi
-
-
- dolar Surinam
- dolari Surinam
- dolari Surinam
-
-
- gulden Surinam
- guldeni Surinam
- guldeni Surinam
-
-
- dobra Sao Tome și Principe
-
-
- rublă sovietică
- ruble sovietice
- ruble sovietice
-
-
- colon El Salvador
- coloni El Salvador
- coloni El Salvador
-
-
- liră siriană
- lire siriene
- lire siriene
-
-
- baht thailandez
-
-
- rublă Tadjikistan
- ruble Tadjikistan
- ruble Tadjikistan
-
-
- dinar tunisian
- dinari tunisieni
- dinari tunisieni
-
-
- liră turcească
- lire turcești
-
-
- liră turcească nouă
- lire turcești noi
-
-
- dolar Trinidad-Tobago
- dolari Trinidad-Tobago
- dolari Trinidad-Tobago
-
-
- dolar nou Taiwan
- dolari noi Taiwan
- dolari noi Taiwan
-
-
- șiling tanzanian
- șilingi tanzanieni
- șilingi tanzanieni
-
-
- hryvna ucraineană
- hryvna ucrainiene
- hryvna ucrainiene
-
-
- carboavă ucraineană
- carboave ucrainiene
- carboave ucrainiene
-
-
- șiling ugandez (1966–1987)
- șilingi ugandezi (1966–1987)
- șilingi ugandezi (1966–1987)
-
-
- șiling ugandez
- șilingi ugandezi
- șilingi ugandezi
-
-
- dolar american
- dolari americani
- dolari americani
-
-
- dolar american (ziua următoare)
- dolari americani (ziua următoare)
- dolari americani (ziua următoare)
-
-
- dolar american (aceeași zi)
- dolari americani (aceeași zi)
- dolari americani (aceeași zi)
-
-
- peso Uruguay (1975–1993)
- pesos Uruguay (1975–1993)
- pesos Uruguay (1975–1993)
-
-
- peso nou Uruguay
- pesos noi Uruguay
- pesos noi Uruguay
-
-
- sum Uzbekistan
-
-
- bolivar Venezuela
- bolivari Venezuela
- bolivari Venezuela
-
-
- dong vietnamez
-
-
- franc Comunitatea Financiară
- franci Comunitatea Financiară
- franci Comunitatea Financiară
-
-
- argint
-
-
- aur
-
-
- unitate compusă europeană
-
-
- unitate monetară europeană
-
-
- unitate de cont europeană (XBC)
-
-
- unitate de cont europeană (XBD)
-
-
- dolar Caraibele de Est
- dolari Caraibele de Est
- dolari Caraibele de Est
-
-
- drepturi speciale de tragere
-
-
- unitate de monedă europeană
-
-
- franc francez de aur
- franci francezi de aur
- franci francezi de aur
-
-
- franc UIC francez
-
-
- paladiu
-
-
- platină
-
-
- cod monetar de test
-
-
- monedă necunoscută sau nevalidă
- monede necunoscute sau nevalide
- monede necunoscute sau nevalide
-
-
- dinar Yemen
- dinari Yemen
- dinari Yemen
-
-
- riyal Yemen
- riyali Yemen
- riyali Yemen
-
-
- dinar iugoslav greu
- dinari iugoslavi grei
- dinari iugoslavi grei
-
-
- dinar iugoslav nou
- dinari iugoslavi noi
- dinari iugoslavi noi
-
-
- dinar iugoslav convertibil
- dinari iugoslavi convertibili
- dinari iugoslavi convertibili
-
-
- rand sud-african (financiar)
-
-
- rand sud-african
-
-
- zair nou
- zairi noi
- zairi noi
-
-
- dolar Zimbabwe
- dolari Zimbabwe
- dolari Zimbabwe
-
-
-
-
-
- {0} zile
- {0} zi
- {0} de zile
-
-
- {0} ore
- {0} oră
- {0} de ore
-
-
- {0} minute
- {0} minut
- {0} de minute
-
-
- {0} luni
- {0} lună
- {0} de luni
-
-
- {0} secunde
- {0} secundă
- {0} de secunde
-
-
- {0} săptămĂ¢ni
- {0} săptămĂ¢nă
- {0} de săptămĂ¢ni
-
-
- {0} ani
- {0} an
- {0} de ani
-
-
-
-
- da:d
- nu:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ro_MD.xml b/airtime_mvc/library/Zend/Locale/Data/ro_MD.xml
deleted file mode 100644
index f5a51d37a..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ro_MD.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ro_RO.xml b/airtime_mvc/library/Zend/Locale/Data/ro_RO.xml
deleted file mode 100644
index 66d3612e9..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ro_RO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/root.xml b/airtime_mvc/library/Zend/Locale/Data/root.xml
deleted file mode 100644
index 3493972fd..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/root.xml
+++ /dev/null
@@ -1,3178 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- Metric
- US
-
-
- {0}
- {0}
- {0}
-
-
-
-
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
- mixed
-
-
- []
- []
- [a-c Ä d-l Å‚ m-o º p-z]
-
-
- “
- â€
- ‘
- ’
-
-
- {0} - {1}
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- BE
-
-
-
-
-
-
-
-
-
- EEEE, MMMM d, y G
-
-
-
-
- MMMM d, y G
-
-
-
-
- MMM d, y G
-
-
-
-
- M/d/yyyy
-
-
-
-
-
-
-
-
-
-
-
- d
- EEE d
- h:mm a
- H:mm
- h:mm:ss a
- H:mm:ss
- L
- M-d
- E, M-d
- LLL
- MMM d
- E MMM d
- MMMM d
- E MMMM d
- mm:ss
- y
- M/y
- EEE, M/d/y
- MMM, y
- EEE, MMM d, y
- MMMM, y
- y Q
- y QQQ
-
-
- {0} ({2}: {1})
- {0} {1}
- {0} {1}
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} {1}
- {0} ({2}: {1})
- {0} {1}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
- EEEE y'x'G-Ml-d
-
-
-
-
- y'x'G-Ml-d
-
-
-
-
- y'x'G-Ml-d
-
-
-
-
- y'x'G-Ml-d
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tout
- Baba
- Hator
- Kiahk
- Toba
- Amshir
- Baramhat
- Baramouda
- Bashans
- Paona
- Epep
- Mesra
- Nasie
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- ERA0
- ERA1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Meskerem
- Tekemt
- Hedar
- Tahsas
- Ter
- Yekatit
- Megabit
- Miazia
- Genbot
- Sene
- Hamle
- Nehasse
- Pagumen
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- ERA0
- ERA1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- ERA0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- BCE
- CE
-
-
-
-
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yyyy-MM-dd
-
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
- d
- d EEE
- h:mm a
- H:mm
- h:mm:ss a
- H:mm:ss
- L
- M-d
- E, M-d
- LLL
- MMM d
- E MMM d
- MMMM d
- E MMMM d
- mm:ss
- y
- y-M
- EEE, y-M-d
- y MMM
- EEE, y MMM d
- y MMMM
- y Q
- y QQQ
-
-
- {0} ({2}: {1})
- {0} {1}
- {0} {1}
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} {1}
- {0} ({2}: {1})
- {0} {1}
-
-
- {0} – {1}
-
- d-d
-
-
- HH-HH
- HH-HH
-
-
- HH:mm-HH:mm
- HH:mm-HH:mm
- HH:mm-HH:mm
-
-
- HH:mm-HH:mm v
- HH:mm-HH:mm v
- HH:mm-HH:mm v
-
-
- HH-HH v
- HH-HH v
-
-
- M-M
-
-
- MM-dd – dd
- MM-dd – MM-dd
-
-
- E, MM-dd – E, MM-dd
- E, MM-dd – E, MM-dd
-
-
- LLL-LLL
-
-
- MM-d – d
- MM-d – MM-d
-
-
- E, MM-d – E, MM-d
- E, MM-d – E, MM-d
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- yyyy-MM – MM
- yyyy-MM – yyyy-MM
-
-
- yyyy-MM-dd – dd
- yyyy-MM-dd – MM-dd
- yyyy-MM-dd – yyyy-MM-dd
-
-
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
-
-
- yyyy-MM – MM
- yyyy-MM – yyyy-MM
-
-
- yyyy-MM-d – d
- yyyy-MM-dd – MM-d
- yyyy-MM-dd – yyyy-MM-dd
-
-
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
-
-
- yyyy-MM – MM
- yyyy-MM – yyyy-MM
-
-
-
-
-
- Era
-
-
- Year
-
-
- Month
-
-
- Week
-
-
- Day
- Yesterday
- Today
- Tomorrow
-
-
- Day of the Week
-
-
- Dayperiod
-
-
- Hour
-
-
- Minute
-
-
- Second
-
-
- Zone
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tishri
- Heshvan
- Kislev
- Tevet
- Shevat
- Adar I
- Adar
- Nisan
- Iyar
- Sivan
- Tamuz
- Av
- Elul
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- AM
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chaitra
- Vaisakha
- Jyaistha
- Asadha
- Sravana
- Bhadra
- Asvina
- Kartika
- Agrahayana
- Pausa
- Magha
- Phalguna
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- SAKA
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Muharram
- Safar
- RabiÊ» I
- RabiÊ» II
- Jumada I
- Jumada II
- Rajab
- Shaʻban
- Ramadan
- Shawwal
- Dhuʻl-Qiʻdah
- Dhuʻl-Hijjah
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- AH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- Taika
- Hakuchi
- HakuhÅ
- ShuchÅ
- TaihÅ
- Keiun
- WadÅ
- Reiki
- YÅrÅ
- Jinki
- TempyÅ
- TempyÅ-kampÅ
- TempyÅ-shÅhÅ
- TempyÅ-hÅji
- TemphÅ-jingo
- Jingo-keiun
- HÅki
- Ten-Å
- Enryaku
- DaidÅ
- KÅnin
- TenchÅ
- ShÅwa
- KajÅ
- Ninju
- Saiko
- Tennan
- JÅgan
- Genkei
- Ninna
- KampyÅ
- ShÅtai
- Engi
- EnchÅ
- ShÅhei
- TengyÅ
- Tenryaku
- Tentoku
- ÅŒwa
- KÅhÅ
- Anna
- Tenroku
- Ten-en
- JÅgen
- Tengen
- Eikan
- Kanna
- Ei-en
- Eiso
- ShÅryaku
- ChÅtoku
- ChÅhÅ
- KankÅ
- ChÅwa
- Kannin
- Jian
- Manju
- ChÅgen
- ChÅryaku
- ChÅkyÅ«
- Kantoku
- EishÅ
- Tengi
- KÅhei
- Jiryaku
- Enkyū
- ShÅho
- ShÅryaku
- Eiho
- ÅŒtoku
- Kanji
- Kaho
- EichÅ
- ShÅtoku
- KÅwa
- ChÅji
- KashÅ
- Tennin
- Ten-ei
- Eikyū
- Gen-ei
- Hoan
- Tenji
- Daiji
- TenshÅ
- ChÅshÅ
- Hoen
- Eiji
- KÅji
- TenyÅ
- Kyūan
- Ninpei
- Kyūju
- Hogen
- Heiji
- Eiryaku
- ÅŒho
- ChÅkan
- Eiman
- Nin-an
- KaÅ
- ShÅan
- Angen
- JishÅ
- YÅwa
- Juei
- Genryuku
- Bunji
- Kenkyū
- ShÅji
- Kennin
- Genkyū
- Ken-ei
- ShÅgen
- Kenryaku
- KenpÅ
- ShÅkyÅ«
- JÅÅ
- Gennin
- Karoku
- Antei
- Kanki
- JÅei
- Tempuku
- Bunryaku
- Katei
- Ryakunin
- En-Å
- Ninji
- Kangen
- HÅji
- KenchÅ
- KÅgen
- ShÅka
- ShÅgen
- Bun-Å
- KÅchÅ
- Bun-ei
- Kenji
- KÅan
- ShÅÅ
- Einin
- ShÅan
- Kengen
- Kagen
- Tokuji
- Enkei
- ÅŒchÅ
- ShÅwa
- BunpÅ
- GenÅ
- GenkyÅ
- ShÅchÅ«
- Kareki
- Gentoku
- GenkÅ
- Kemmu
- Engen
- KÅkoku
- ShÅhei
- Kentoku
- Bunchũ
- Tenju
- KÅryaku
- KÅwa
- Genchũ
- Meitoku
- Kakei
- KÅÅ
- Meitoku
- ÅŒei
- ShÅchÅ
- EikyÅ
- Kakitsu
- Bun-an
- HÅtoku
- KyÅtoku
- KÅshÅ
- ChÅroku
- KanshÅ
- BunshÅ
- ÅŒnin
- Bunmei
- ChÅkyÅ
- Entoku
- MeiÅ
- Bunki
- EishÅ
- Taiei
- KyÅroku
- Tenmon
- KÅji
- Eiroku
- Genki
- TenshÅ
- Bunroku
- KeichÅ
- Genwa
- Kan-ei
- ShÅho
- Keian
- ShÅÅ
- Meiryaku
- Manji
- Kanbun
- EnpÅ
- Tenwa
- JÅkyÅ
- Genroku
- HÅei
- ShÅtoku
- KyÅhÅ
- Genbun
- KanpÅ
- EnkyÅ
- Kan-en
- HÅryaku
- Meiwa
- An-ei
- Tenmei
- Kansei
- KyÅwa
- Bunka
- Bunsei
- TenpÅ
- KÅka
- Kaei
- Ansei
- Man-en
- Bunkyū
- Genji
- KeiÅ
- Meiji
- TaishÅ
- ShÅwa
- Heisei
-
-
- M
- T
- S
- H
-
-
-
-
-
-
- EEEE, G y MMMM dd
-
-
-
-
- G y MMMM d
-
-
-
-
- G y MMM d
-
-
-
-
- G yy-MM-dd
-
-
-
-
-
-
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
- E d
- H
- hh:mm a
- HH:mm
- hh:mm:ss a
- HH:mm:ss
- M-d
- E MMM d
- MMMM d
- mm:ss
- yy GGG
- GGGGG yy-MM
- GGGGG yy-MM-dd
- GGGGG yy MMM
- GGGGG yy MMM d
- GGGGG yy Q
-
-
- {0} ({2}: {1})
- {0} {1}
- {0} {1}
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} {1}
- {0} ({2}: {1})
- {0} {1}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Farvardin
- Ordibehesht
- Khordad
- Tir
- Mordad
- Shahrivar
- Mehr
- Aban
- Azar
- Dey
- Bahman
- Esfand
-
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- AP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- AM
- PM
-
-
-
-
-
- Before R.O.C.
- R.O.C.
-
-
-
-
-
-
-
-
-
- EEEE, MMMM d, G y
-
-
-
-
- MMMM d, G y
-
-
-
-
- MMM d, G y
-
-
-
-
- G y/M/d
-
-
-
-
-
-
-
-
-
-
-
- h:mm a
- H:mm
- h:mm:ss a
- H:mm:ss
- M/d
- E, M/d
- MMM d
- E, MMM d
- mm:ss
- G y
- G y/M
- EEE, G y/M/d
- MMM, G y
- EEE, MMM d, G y
- Q G y
- QQQ G y
-
-
- {0} ({2}: {1})
- {0} {1}
- {0} {1}
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} ({2}: {1})
- {0} {1}
- {0} ({2}: {1})
- {0} {1}
-
-
-
-
-
-
-
-
- +HH:mm;-HH:mm
- {0}/{1}
- GMT{0}
- GMT
- {0}
- {1} ({0})
-
-
-
-
- Unknown
-
-
- Dumont d'Urville
-
-
- St. John's
-
-
- New Salem, North Dakota
-
-
- Center, North Dakota
-
-
- Vincennes, Indiana
-
-
- Petersburg, Indiana
-
-
- Tell City, Indiana
-
-
- Knox, Indiana
-
-
- Winamac, Indiana
-
-
- Marengo, Indiana
-
-
- Vevay, Indiana
-
-
- Monticello, Kentucky
-
-
-
- ACT (Acre)
- ACST (Acre)
-
-
-
-
- AFT
-
-
-
-
- CAT
-
-
-
-
- EAT
-
-
-
-
- SAST
-
-
-
-
- WAT
- WAST
-
-
-
-
- AKTT
- AKTST
-
-
-
-
- AKST
- AKDT
-
-
-
-
- AHST
- AHDT
-
-
-
-
- ALMT
- ALMST
-
-
-
-
- AMT
- AMST
-
-
-
-
- CST
- CDT
-
-
-
-
- EST
- EDT
-
-
-
-
- MST
- MDT
-
-
-
-
- PST
- PDT
-
-
-
-
- ANAT
- ANAST
-
-
-
-
- AQTT (Aqtau)
- AQTST (Aqtau)
-
-
-
-
- AQTT (Aqtobe)
- AQTST (Aqtobe)
-
-
-
-
- AST (SA)
- ADT (SA)
-
-
-
-
- ART
- ARST
-
-
-
-
- WART
-
-
-
-
- AMT (AM)
- AMST (AM)
-
-
-
-
- ASHT
- ASHST
-
-
-
-
- AST
- ADT
-
-
-
-
- ACST
- ACDT
-
-
-
-
- ACWST
- ACWDT
-
-
-
-
- AEST
- AEDT
-
-
-
-
- AWST
- AWDT
-
-
-
-
- AZT
- AZST
-
-
-
-
- AZOT
- AZOST
-
-
-
-
- BAKT
- BAKST
-
-
-
-
- BDT
- BDST
-
-
-
-
- BST (Bering)
- BDT (Bering)
-
-
-
-
- BTT
-
-
-
-
- BOT
-
-
-
-
- BORT
- BORST
-
-
-
-
- BRT
- BRST
-
-
-
-
- BNT
-
-
-
-
- CVT
- CVST
-
-
-
-
- ChST
-
-
-
-
- CHAT
-
-
-
-
- CHAST
- CHADT
-
-
-
-
- CLT
- CLST
-
-
-
-
- CST (CN)
- CDT (CN)
-
-
-
-
- CHOT
- CHOST
-
-
-
-
- CXT
-
-
-
-
- CCT
-
-
-
-
- COT
- COST
-
-
-
-
- CKT
- CKHST
-
-
-
-
- CST (CU)
- CDT (CU)
-
-
-
-
- DACT
-
-
-
-
- DAVT
-
-
-
-
- DDUT
-
-
-
-
- DUST
- DUSST
-
-
-
-
- NEGT
-
-
-
-
- TLT
-
-
-
-
- EAST
- EASST
-
-
-
-
- ECT
-
-
-
-
- CET
- CEST
-
-
-
-
- EET
- EEST
-
-
-
-
- WET
- WEST
-
-
-
-
- FKT
- FKST
-
-
-
-
- FJT
- FJST
-
-
-
-
- GFT
-
-
-
-
- TFT
-
-
-
-
- FRUT
- FRUST
-
-
-
-
- GALT
-
-
-
-
- GAMT
-
-
-
-
- GET
- GEST
-
-
-
-
- GILT
-
-
-
-
- GMT
-
-
-
-
- CGT
- CGST
-
-
-
-
- EGT
- EGST
-
-
-
-
- WGT
- WGST
-
-
-
-
- GST (GU)
-
-
-
-
- GST
-
-
-
-
- GYT
-
-
-
-
- HST
-
-
-
-
- HKT
- HKST
-
-
-
-
- HOVT
- HOVST
-
-
-
-
- IST
-
-
-
-
- IOT
-
-
-
-
- ICT
-
-
-
-
- CIT
-
-
-
-
- EIT
-
-
-
-
- WIT
-
-
-
-
- IRST
- IRDT
-
-
-
-
- IRKT
- IRKST
-
-
-
-
- IST (IL)
- IDT
-
-
-
-
- JST
- JDT
-
-
-
-
- PETT
- PETST
-
-
-
-
- KART
-
-
-
-
- KAST
-
-
-
-
- EKST
-
-
-
-
- WKST
-
-
-
-
- KIZT
- KIZST
-
-
-
-
- KST
- KDT
-
-
-
-
- KOST
-
-
-
-
- KRAT
- KRAST
-
-
-
-
- KUYT
- KUYST
-
-
-
-
- KWAT
-
-
-
-
- KGT
-
-
-
-
- LKT
-
-
-
-
- LINT
-
-
-
-
- LONT
-
-
-
-
- LHST
- LHDT
-
-
-
-
- MOT
- MOST
-
-
-
-
- MAGT
- MAGST
-
-
-
-
- MALT
-
-
-
-
- MYT
-
-
-
-
- MVT
-
-
-
-
- MART
-
-
-
-
- MHT
-
-
-
-
- MUT
- MUST
-
-
-
-
- MAWT
-
-
-
-
- ULAT
- ULAST
-
-
-
-
- MSK
- MSKS
-
-
-
-
- MMT
-
-
-
-
- NRT
-
-
-
-
- NPT
-
-
-
-
- NCT
- NCST
-
-
-
-
- NZST
- NZDT
-
-
-
-
- NST
- NDT
-
-
-
-
- NUT
-
-
-
-
- NFT
-
-
-
-
- FNT
- FNST
-
-
-
-
- MPT
-
-
-
-
- NOVT
- NOVST
-
-
-
-
- OMST
- OMSST
-
-
-
-
- PKT
- PKST
-
-
-
-
- PWT
-
-
-
-
- PGT
-
-
-
-
- PYT
- PYST
-
-
-
-
- PET
- PEST
-
-
-
-
- PHT
- PHST
-
-
-
-
- PHOT
-
-
-
-
- PMST
- PMDT
-
-
-
-
- PNT
-
-
-
-
- PONT
-
-
-
-
- QYZT
- QYZST
-
-
-
-
- RET
-
-
-
-
- ROTT
-
-
-
-
- SAKT
- SAKST
-
-
-
-
- SAMT
- SAMST
-
-
-
-
- SAMT (Samarkand)
- SAMST (Samarkand)
-
-
-
-
- SST
-
-
-
-
- SCT
-
-
-
-
- SHET
- SHEST
-
-
-
-
- SGT
-
-
-
-
- SBT
-
-
-
-
- GST (GS)
-
-
-
-
- SRT
-
-
-
-
- SVET
- SVEST
-
-
-
-
- SYOT
-
-
-
-
- TAHT
-
-
-
-
- CST (TW)
- CDT (TW)
-
-
-
-
- TJT
-
-
-
-
- TAST
- TASST
-
-
-
-
- TBIT
- TBIST
-
-
-
-
- TKT
-
-
-
-
- TOT
- TOST
-
-
-
-
- TRUT
-
-
-
-
- TRT
- TRST
-
-
-
-
- TMT
- TMST
-
-
-
-
- TVT
-
-
-
-
- URAT
- URAST
-
-
-
-
- UYT
- UYST
-
-
-
-
- URUT
-
-
-
-
- UZT
- UZST
-
-
-
-
- VUT
- VUST
-
-
-
-
- VET
-
-
-
-
- VLAT
- VLAST
-
-
-
-
- VOLT
- VOLST
-
-
-
-
- VOST
-
-
-
-
- WAKT
-
-
-
-
- WFT
-
-
-
-
- YAKT
- YAKST
-
-
-
-
- YEKT
- YEKST
-
-
-
-
- YERT
- YERST
-
-
-
-
- YST
- YDT
-
-
-
-
-
- latn
-
- .
- ,
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- [:letter:]
- [:digit:]
- Â
-
-
- [:letter:]
- [:digit:]
- Â
-
-
-
-
- ¤ #,##0.00
-
-
- {0} {1}
-
-
-
- Af
-
-
- NAf.
-
-
- Kz
-
-
- ₳
-
-
- $L
-
-
- m$n
-
-
- AR$
-
-
- AU$
-
-
- Afl.
-
-
- man.
-
-
- KM
-
-
- Bds$
-
-
- Tk
-
-
- BF
-
-
- BD
-
-
- FBu
-
-
- BD$
-
-
- BN$
-
-
- Bs
-
-
- $b.
-
-
- R$
-
-
- BS$
-
-
- Nu.
-
-
- BWP
-
-
- BZ$
-
-
- CA$
-
-
- CDF
-
-
- Fr.
-
-
- Eº
-
-
- CL$
-
-
- CNÂ¥
-
-
- CO$
-
-
- â‚¡
-
-
- CUC$
-
-
- CU$
-
-
- CV$
-
-
- CY£
-
-
- KÄ
-
-
- DM
-
-
- Fdj
-
-
- Dkr
-
-
- RD$
-
-
- DA
-
-
- Ekr
-
-
- EG£
-
-
- Nfk
-
-
- Pts
-
-
- Br
-
-
- €
-
-
- mk
-
-
- FJ$
-
-
- FK£
-
-
- â‚£
-
-
- £
-
-
- ₵
-
-
- GH₵
-
-
- GI£
-
-
- GMD
-
-
- FG
-
-
- ₯
-
-
- GTQ
-
-
- GY$
-
-
- HK$
-
-
- HNL
-
-
- kn
-
-
- HTG
-
-
- Ft
-
-
- Rp
-
-
- IR£
-
-
- I£
-
-
- ₪
-
-
- Rs
-
-
- Ikr
-
-
- IT₤
-
-
- J$
-
-
- JD
-
-
- JPÂ¥
-
-
- Ksh
-
-
- CF
-
-
- â‚©
-
-
- KD
-
-
- KY$
-
-
- â‚
-
-
- LB£
-
-
- SLRs
-
-
- L$
-
-
- LSL
-
-
- Lt
-
-
- Ls
-
-
- LD
-
-
- MMK
-
-
- â‚®
-
-
- MOP$
-
-
- UM
-
-
- Lm
-
-
- MT£
-
-
- MURs
-
-
- MX$
-
-
- RM
-
-
- Mt
-
-
- MTn
-
-
- N$
-
-
- ₦
-
-
- C$
-
-
- fl
-
-
- Nkr
-
-
- NPRs
-
-
- NZ$
-
-
- B/.
-
-
- I/.
-
-
- S/.
-
-
- PGK
-
-
- ₱
-
-
- PKRs
-
-
- zł
-
-
- Esc
-
-
- ₲
-
-
- QR
-
-
- RH$
-
-
- RON
-
-
- din.
-
-
- SR
-
-
- SI$
-
-
- SRe
-
-
- LSd
-
-
- Skr
-
-
- S$
-
-
- SH£
-
-
- Sk
-
-
- Le
-
-
- Ssh
-
-
- SR$
-
-
- Sf
-
-
- Db
-
-
- SVâ‚¡
-
-
- SY£
-
-
- SZL
-
-
- ฿
-
-
- TMM
-
-
- DT
-
-
- T$
-
-
- TRL
-
-
- TL
-
-
- TT$
-
-
- NT$
-
-
- TSh
-
-
- â‚´
-
-
- USh
-
-
- US$
-
-
- $U
-
-
- Bs.F.
-
-
- â‚«
-
-
- VT
-
-
- WS$
-
-
- FCFA
-
-
- EC$
-
-
- CFA
-
-
- CFPF
-
-
- YR
-
-
- R
-
-
- ZK
-
-
- NZ
-
-
- ZRZ
-
-
- Z$
-
-
-
-
-
- {0} d
-
-
- {0} h
-
-
- {0} min
-
-
- {0} m
-
-
- {0} s
-
-
- {0} w
-
-
- {0} y
-
-
-
-
- yes:y
- no:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ru.xml b/airtime_mvc/library/Zend/Locale/Data/ru.xml
deleted file mode 100644
index 0cdba4886..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ru.xml
+++ /dev/null
@@ -1,3949 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- Đ°Ñ„Đ°Ñ€
- Đ°Đ±Ñ…Đ°Đ·ÑĐºĐ¸Đ¹
- Đ°Ñ‡ĐµÑ…ÑĐºĐ¸Đ¹
- Đ°Ñ‡Đ¾Đ»Đ¸
- Đ°Đ´Đ°Đ½Đ³Đ¼Đµ
- Đ°Đ´Ñ‹Đ³ĐµĐ¹ÑĐºĐ¸Đ¹
- Đ°Đ²ĐµÑÑ‚Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ°Đ½Ñ
- Đ°Ñ„Ñ€Đ°Đ·Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ°Ñ„Ñ€Đ¸Ñ…Đ¸Đ»Đ¸
- Đ°Đ¹Đ½Ñƒ
- Đ°ĐºĐ°Đ½
- Đ°ĐºĐºĐ°Đ´ÑĐºĐ¸Đ¹
- Đ°Đ»ĐµÑƒÑ‚ÑĐºĐ¸Đ¹
- Đ°Đ»Đ³Đ¾Đ½ĐºĐ¸Đ½ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- ÑĐ¶Đ½Đ¾Đ°Đ»Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹
- Đ°Đ¼Ñ…Đ°Ñ€ÑĐºĐ¸Đ¹
- Đ°Ñ€Đ°Đ³Đ¾Đ½ÑĐºĐ¸Đ¹
- ÑÑ‚Đ°Ñ€Đ¾Đ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ°Đ½Đ³Đ¸ĐºĐ°
- Đ°Đ¿Đ°Ñ‡ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ°Ñ€Đ°Đ±ÑĐºĐ¸Đ¹
- Đ°Ñ€Đ°Đ¼ĐµĐ¹ÑĐºĐ¸Đ¹
- Đ°Ñ€Đ°ÑƒĐºĐ°Đ½ÑĐºĐ¸Đ¹
- Đ°Ñ€Đ°Đ¿Đ°Ñ…Đ¾
- иÑĐºÑƒÑÑÑ‚Đ²ĐµĐ½Đ½Ñ‹Đ¹ ÑĐ·Ñ‹Đº
- Đ°Ñ€Đ°Đ²Đ°ĐºÑĐºĐ¸Đ¹
- аÑÑĐ°Đ¼ÑĐºĐ¸Đ¹
- аÑÑ‚ÑƒÑ€Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ°Ñ‚Đ°Đ¿Đ°Ñ‡ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ°Đ²ÑÑ‚Ñ€Đ°Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ°Đ²Đ°Ñ€ÑĐºĐ¸Đ¹
- Đ°Đ²Đ°Đ´Ñ…Đ¸
- Đ°Đ¹Đ¼Đ°Ñ€Đ°
- Đ°Đ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½ÑĐºĐ¸Đ¹
- Đ±Đ°ÑˆĐºĐ¸Ñ€ÑĐºĐ¸Đ¹
- Đ±Đ°Đ½Đ´Đ°
- Đ±Đ°Đ¼Đ¸Đ»ĐµĐºĐµ ÑĐ·Ñ‹ĐºĐ¸
- Đ±ĐµĐ»ÑƒĐ´Đ¶ÑĐºĐ¸Đ¹
- Đ±Đ°Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- баÑа
- Đ±Đ°Đ»Ñ‚Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑÑĐºĐ¸Đ¹
- беджа
- Đ±ĐµĐ¼Đ±Đ°
- Đ±ĐµÑ€Đ±ĐµÑ€ÑĐºĐ¸Đ¹
- Đ±Đ¾Đ»Đ³Đ°Ñ€ÑĐºĐ¸Đ¹
- Đ±Đ¸Ñ…Đ°Ñ€Đ¸
- Đ±Ñ…Đ¾Đ´Đ¶Đ¿ÑƒÑ€Đ¸
- биÑĐ»Đ°Đ¼Đ°
- Đ±Đ¸ĐºĐ¾Đ»ÑŒÑĐºĐ¸Đ¹
- Đ±Đ¸Đ½Đ¸
- ÑĐ¸ĐºÑĐ¸ĐºĐ°
- Đ±Đ°Đ¼Đ±Đ°Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ±ĐµĐ½Đ³Đ°Đ»ÑŒÑĐºĐ¸Đ¹
- Đ±Đ°Đ½Ñ‚Ñƒ
- Ñ‚Đ¸Đ±ĐµÑ‚ÑĐºĐ¸Đ¹
- Đ±Ñ€ĐµÑ‚Đ¾Đ½ÑĐºĐ¸Đ¹
- Đ±Ñ€Đ°ÑƒĐ¸
- Đ±Đ¾ÑĐ½Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ±Đ°Ñ‚Đ°ĐºÑĐºĐ¸Đ¹
- Đ±ÑƒÑ€ÑÑ‚ÑĐºĐ¸Đ¹
- Đ±ÑƒĐ³Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ±Đ¸Đ»Đ¸Đ½ (Đ±Đ»Đ¸Đ½)
- ĐºĐ°Ñ‚Đ°Đ»Đ°Đ½ÑĐºĐ¸Đ¹
- ĐºĐ°Đ´Đ´Đ¾
- ÑĐ·Ñ‹Đº Đ¸Đ½Đ´ĐµĐ¹Ñ†ĐµĐ² Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Đ¹ ĐĐ¼ĐµÑ€Đ¸ĐºĐ¸
- ĐºĐ°Ñ€Đ¸Đ±
- ĐºĐ°Đ²ĐºĐ°Đ·ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ°Ñ‚ÑĐ°Đ¼
- Ñ‡ĐµÑ‡ĐµĐ½ÑĐºĐ¸Đ¹
- ĐºĐµĐ±ÑƒĐ°Đ½Đ¾
- ĐºĐµĐ»ÑŒÑ‚ÑĐºĐ¸Đµ Đ´Ñ€ÑƒĐ³Đ¸Đµ
- Ñ‡Đ°Đ¼Đ¾Ñ€Ñ€Đ¾
- Ñ‡Đ¸Đ±Ñ‡Đ°
- Ñ‡Đ°Đ³Đ°Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹
- Ñ‡ÑƒĐºĐ¾Ñ‚ÑĐºĐ¸Đ¹
- Đ¼Đ°Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹ (Ñ‡ĐµÑ€ĐµĐ¼Đ¸ÑÑĐºĐ¸Đ¹)
- Ñ‡Đ¸Đ½ÑƒĐº Đ¶Đ°Ñ€Đ³Đ¾Đ½
- Ñ‡Đ¾ĐºÑ‚Đ°Đ²
- Ñ‡Đ¸Đ¿ĐµĐ²Đ°Đ¹ÑĐ½
- Ñ‡ĐµÑ€Đ¾ĐºĐ¸
- Ñ‡ĐµĐ¹ĐµĐ½Đ½
- Ñ‡Đ°Đ¼ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- ĐºĐ¾Ñ€ÑĐ¸ĐºĐ°Đ½ÑĐºĐ¸Đ¹
- ĐºĐ¾Đ¿Ñ‚ÑĐºĐ¸Đ¹
- Đ°Đ½Đ³Đ»Đ¾-ĐºÑ€ĐµĐ¾Đ»ÑŒÑĐºĐ¸Đµ и Đ¿Đ¸Đ´Đ¶Đ¸Đ½
- Ñ„Ñ€Đ°Đ½ĐºĐ¾-ĐºÑ€ĐµĐ¾Đ»ÑŒÑĐºĐ¸Đµ и Đ¿Đ¸Đ´Đ¶Đ¸Đ½Ñ‹
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»Đ¾-ĐºÑ€ĐµĐ¾Đ»ÑŒÑĐºĐ¸Đµ и Đ¿Đ¸Đ´Đ¶Đ¸Đ½Ñ‹
- ĐºÑ€Đ¸Đ¸Đ¹ÑĐºĐ¸Đ¹
- ĐºÑ€Ñ‹Đ¼ÑĐºĐ¾-Ñ‚Đ°Ñ‚Đ°Ñ€ÑĐºĐ¸Đ¹
- ĐºÑ€ĐµĐ¾Đ»ÑŒÑĐºĐ¸Đµ и Đ¿Đ¸Đ´Đ¶Đ¸Đ½Ñ‹
- Ñ‡ĐµÑˆÑĐºĐ¸Đ¹
- ĐºĐ°ÑˆÑƒĐ±Đ¸Đ°Đ½ÑĐºĐ¸Đ¹
- Ñ†ĐµÑ€ĐºĐ¾Đ²Đ½Đ¾ÑĐ»Đ°Đ²ÑĐ½ÑĐºĐ¸Đ¹
- ĐºÑƒÑˆĐ¸Ñ‚ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ‡ÑƒĐ²Đ°ÑˆÑĐºĐ¸Đ¹
- Đ²Đ°Đ»Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ´Đ°Ñ‚ÑĐºĐ¸Đ¹
- Đ´Đ°ĐºĐ¾Ñ‚Đ°
- Đ´Đ°Ñ€Đ³Đ²Đ°
- даÑĐº
- Đ½ĐµĐ¼ĐµÑ†ĐºĐ¸Đ¹
- Đ°Đ²ÑÑ‚Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ½ĐµĐ¼ĐµÑ†ĐºĐ¸Đ¹
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€ÑĐºĐ¸Đ¹ Đ²ĐµÑ€Ñ…Đ½ĐµĐ½ĐµĐ¼ĐµÑ†ĐºĐ¸Đ¹
- Đ´ĐµĐ»Đ°Đ²Đ°Ñ€ÑĐºĐ¸Đ¹
- ÑĐ»Đ°Đ²ÑĐ½ÑĐºĐ¸Đ¹
- Đ´Đ¾Đ³Ñ€Đ¸Đ±
- Đ´Đ¸Đ½ĐºĐ°
- Đ´Đ¾Đ³Ñ€Đ¸
- Đ´Ñ€Đ°Đ²Đ¸Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ½Đ¸Đ¶Đ½ĐµĐ»ÑƒĐ¶Đ¸Ñ†ĐºĐ¸Đ¹
- Đ´ÑƒĐ°Đ»Đ°
- ÑÑ€ĐµĐ´Đ½ĐµĐ½Đ¸Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ»ÑŒĐ´Đ¸Đ²ÑĐºĐ¸Đ¹
- Đ´Đ¸ÑƒĐ»Đ° (Đ´ÑŒÑла)
- Đ´Đ·Đ¾Đ½Đ³-ĐºÑ
- ÑĐ²Đµ
- ÑÑ„Đ¸Đº
- Đ´Ñ€ĐµĐ²Đ½ĐµĐµĐ³Đ¸Đ¿ĐµÑ‚ÑĐºĐ¸Đ¹
- ÑĐºĐ°Đ´Đ¶ÑƒĐº
- Đ³Ñ€ĐµÑ‡ĐµÑĐºĐ¸Đ¹
- ÑĐ»Đ°Đ¼ÑĐºĐ¸Đ¹
- Đ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ°Đ²ÑÑ‚Ñ€Đ°Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- ĐĐ°Đ½Đ°Đ´ÑĐºĐ¸Đ¹ Đ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ±Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ¸Đ¹ Đ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Đ¹ Đ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- ÑÑ€ĐµĐ´Đ½ĐµĐ°Đ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- ÑÑĐ¿ĐµÑ€Đ°Đ½Ñ‚Đ¾
- иÑĐ¿Đ°Đ½ÑĐºĐ¸Đ¹
- Đ›Đ°Ñ‚Đ¸Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Đ¹ иÑĐ¿Đ°Đ½ÑĐºĐ¸Đ¹
- Đ˜ÑĐ¿Đ°Đ½ÑĐºĐ¸Đ¹ Đ¸Đ±ĐµÑ€Đ¸Đ¹ÑĐºĐ¸Đ¹
- ÑÑÑ‚Đ¾Đ½ÑĐºĐ¸Đ¹
- баÑĐºÑĐºĐ¸Đ¹
- ÑĐ²Đ¾Đ½Đ´Đ¾
- Đ¿ĐµÑ€ÑидÑĐºĐ¸Đ¹
- Ñ„Đ°Đ½Đ³
- Ñ„Đ°Đ½Ñ‚Đ¸
- Ñ„ÑƒĐ»Đ°Ñ…
- Ñ„Đ¸Đ½ÑĐºĐ¸Đ¹
- Ñ„Đ¸Đ»Đ¸Đ¿Đ¿Đ¸Đ½ÑĐºĐ¸Đ¹
- Ñ„Đ¸Đ½Đ½Đ¾-ÑƒĐ³Đ¾Ñ€ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ„Đ¸Đ´Đ¶Đ¸
- Ñ„Đ°Ñ€ĐµÑ€ÑĐºĐ¸Đ¹
- Ñ„Đ¾Đ½
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹
- ĐĐ°Đ½Đ°Đ´ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹
- ÑÑ€ĐµĐ´Đ½ĐµÑ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹
- ÑÑ‚Đ°Ñ€Đ¾Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹
- Ñ„Ñ€Đ¸Đ·ÑĐºĐ¸Đ¹ ÑĐµĐ²ĐµÑ€Đ½Ñ‹Đ¹
- Đ²Đ¾ÑÑ‚Đ¾Ñ‡Đ½Ñ‹Đ¹ Ñ„Ñ€Đ¸Đ·ÑĐºĐ¸Đ¹
- Ñ„Ñ€Đ¸ÑƒĐ»ÑŒÑĐºĐ¸Đ¹
- Ñ„Ñ€Đ¸Đ·ÑĐºĐ¸Đ¹
- Đ¸Ñ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ³Đ°
- Đ³Đ°Đ¹Đ¾
- Đ³Đ±Đ°Ñ
- Đ³ÑĐ»ÑŒÑĐºĐ¸Đ¹
- Đ³ĐµÑ€Đ¼Đ°Đ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ³ĐµÑĐ·
- Đ³Đ¸Đ»ÑŒĐ±ĐµÑ€Ñ‚ÑĐºĐ¸Đ¹
- Đ³Đ°Đ»Đ¸ÑĐ¸Đ¹ÑĐºĐ¸Đ¹
- ÑÑ€ĐµĐ´Đ½ĐµĐ²ĐµÑ€Ñ…Đ½ĐµĐ½ĐµĐ¼ĐµÑ†ĐºĐ¸Đ¹
- Đ³ÑƒĐ°Ñ€Đ°Đ½Đ¸
- Đ´Ñ€ĐµĐ²Đ½ĐµĐ²ĐµÑ€Ñ…Đ½ĐµĐ½ĐµĐ¼ĐµÑ†ĐºĐ¸Đ¹
- Đ³Đ¾Đ½Đ´Đ¸
- Đ³Đ¾Ñ€Đ¾Đ½Ñ‚Đ°Đ»Đ¾
- Đ³Đ¾Ñ‚ÑĐºĐ¸Đ¹
- Đ³Ñ€ĐµĐ±Đ¾
- Đ´Ñ€ĐµĐ²Đ½ĐµĐ³Ñ€ĐµÑ‡ĐµÑĐºĐ¸Đ¹
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€ÑĐºĐ¸Đ¹ Đ½ĐµĐ¼ĐµÑ†ĐºĐ¸Đ¹
- Đ³ÑƒĐ´Đ¶Đ°Ñ€Đ°Ñ‚Đ¸
- Đ¼ÑĐ½ÑĐºĐ¸Đ¹
- Đ³Đ²Đ¸Ñ‡Đ¸Đ½
- Ñ…Đ°ÑƒÑа
- Ñ…Đ°Đ¹Đ´Đ°
- Đ³Đ°Đ²Đ°Đ¹ÑĐºĐ¸Đ¹
- Đ¸Đ²Ñ€Đ¸Ñ‚
- Ñ…Đ¸Đ½Đ´Đ¸
- Ñ…Đ¸Đ»Đ¸Đ³Đ°Đ¹Đ½Đ¾Đ½
- Ñ…Đ¸Đ¼Đ°Ñ‡Đ°Đ»Đ¸
- Ñ…ĐµÑ‚Ñ‚ÑĐºĐ¸Đ¹
- Ñ…Đ¼Đ¾Đ½Đ³
- Ñ…Đ¸Ñ€Đ¸Đ¼Đ¾Ñ‚Ñƒ
- Ñ…Đ¾Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Đ¹
- Đ²ĐµÑ€Ñ…Đ½ĐµĐ»ÑƒĐ¶Đ¸Ñ†ĐºĐ¸Đ¹
- Đ³Đ°Đ¸Ñ‚ÑĐ½ÑĐºĐ¸Đ¹
- Đ²ĐµĐ½Đ³ĐµÑ€ÑĐºĐ¸Đ¹
- Ñ…ÑƒĐ¿Đ°
- Đ°Ñ€Đ¼ÑĐ½ÑĐºĐ¸Đ¹
- Đ³ĐµÑ€ĐµÑ€Đ¾
- Đ¸Đ½Ñ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ²Đ°
- Đ¸Đ±Đ°Đ½ÑĐºĐ¸Đ¹
- Đ¸Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ¸Đ½Ñ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ²Đµ
- Đ¸Đ³Đ±Đ¾
- ÑÑ‹Ñ‡ÑƒĐ°Đ½ÑŒ
- Đ¸Đ´Đ¶Đ¾
- Đ¸Đ½ÑƒĐ¿Đ¸Đ°Đº
- Đ¸Đ»Đ¾ĐºĐ¾
- Đ¸Đ½Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ¸Đ½Đ´Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ¸Đ½Đ³ÑƒÑˆÑĐºĐ¸Đ¹
- Đ¸Đ´Đ¾
- Đ¸Ñ€Đ°Đ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ¸Ñ€Đ¾ĐºĐµĐ·ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- иÑĐ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ¸Ñ‚Đ°Đ»ÑŒÑĐ½ÑĐºĐ¸Đ¹
- Đ¸Đ½ÑƒĐºÑ‚Đ¸Ñ‚ÑƒÑ‚
- ÑĐ¿Đ¾Đ½ÑĐºĐ¸Đ¹
- Đ»Đ¾Đ¶Đ±Đ°Đ½
- ĐµĐ²Ñ€ĐµĐ¹ÑĐºĐ¾-Đ¿ĐµÑ€ÑидÑĐºĐ¸Đ¹
- ĐµĐ²Ñ€ĐµĐ¹ÑĐºĐ¾-Đ°Ñ€Đ°Đ±ÑĐºĐ¸Đ¹
- ÑĐ²Đ°Đ½ÑĐºĐ¸Đ¹
- Đ³Ñ€ÑƒĐ·Đ¸Đ½ÑĐºĐ¸Đ¹
- ĐºĐ°Ñ€Đ°ĐºĐ°Đ»Đ¿Đ°ĐºÑĐºĐ¸Đ¹
- ĐºĐ°Đ±Đ¸Đ»ÑŒÑĐºĐ¸Đ¹
- ĐºĐ°Ñ‡Đ¸Đ½ÑĐºĐ¸Đ¹
- ĐºĐ°Đ´Đ¶Đ¸
- ĐºĐ°Đ¼Đ±Đ°
- ĐºĐ°Ñ€ĐµĐ½ÑĐºĐ¸Đ¹
- ĐºĐ°Đ²Đ¸
- ĐºĐ°Đ±Đ°Ñ€Đ´Đ¸Đ½ÑĐºĐ¸Đ¹
- тьÑĐ¿
- ĐºĐ¾Ñ€Đ¾
- ĐºĐ¾Đ½Đ³Đ¾
- ĐºÑ…Đ°Ñи
- ĐºĐ¾Đ¹ÑĐ°Đ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ…Đ¾Ñ‚Đ°Đ½ÑĐºĐ¸Đ¹
- ĐºĐ¸ĐºÑƒĐ¹Ñ
- ĐºÑƒĐ½Đ°Đ¼Đ°
- ĐºĐ°Đ·Đ°Ñ…ÑĐºĐ¸Đ¹
- ÑÑĐºĐ¸Đ¼Đ¾ÑÑĐºĐ¸Đ¹ (Đ³Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹)
- ĐºÑ…Đ¼ĐµÑ€ÑĐºĐ¸Đ¹
- ĐºĐ¸Đ¼Đ±ÑƒĐ½Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹
- ĐºĐ°Đ½Đ½Đ°Đ´Đ°
- ĐºĐ¾Ñ€ĐµĐ¹ÑĐºĐ¸Đ¹
- ĐºĐ¾Đ½ĐºĐ°Đ½Đ¸
- ĐºĐ¾ÑÑ€Đ°ĐµĐ½ÑĐºĐ¸Đ¹
- ĐºĐ¿ĐµĐ»Đ»Đµ
- ĐºĐ°Đ½ÑƒÑ€Đ¸
- ĐºĐ°Ñ€Đ°Ñ‡Đ°ĐµĐ²Đ¾-Đ±Đ°Đ»ĐºĐ°Ñ€ÑĐºĐ¸Đ¹
- ĐºĐ°Ñ€ĐµĐ»ÑŒÑĐºĐ¸Đ¹
- ĐºÑ€Ñƒ
- ĐºÑƒÑ€ÑƒÑ…
- ĐºĐ°ÑˆĐ¼Đ¸Ñ€Đ¸
- ĐºÑƒÑ€Đ´ÑĐºĐ¸Đ¹
- ĐºÑƒĐ¼Ñ‹ĐºÑĐºĐ¸Đ¹
- ĐºÑƒÑ‚ĐµĐ½Đ°Đ¸
- ĐºĐ¾Đ¼Đ¸
- ĐºĐ¾Ñ€Đ½Đ¸Đ¹ÑĐºĐ¸Đ¹
- ĐºĐ¸Ñ€Đ³Đ¸Đ·ÑĐºĐ¸Đ¹
- Đ»Đ°Ñ‚Đ¸Đ½ÑĐºĐ¸Đ¹
- Đ»Đ°Đ´Đ¸Đ½Đ¾
- Đ»Đ°Ñ…Đ½Đ´Đ°
- Đ»Đ°Đ¼Đ±Đ°
- Đ»ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³ÑĐºĐ¸Đ¹
- Đ»ĐµĐ·Đ³Đ¸Đ½ÑĐºĐ¸Đ¹
- Đ³Đ°Đ½Đ´Đ°
- Đ»Đ¸Đ¼Đ±ÑƒÑ€Đ³ÑĐºĐ¸Đ¹
- Đ»Đ¸Đ½Đ³Đ°Đ»Đ°
- Đ»Đ°Đ¾ÑÑĐºĐ¸Đ¹
- Đ¼Đ¾Đ½Đ³Đ¾
- Đ»Đ¾Đ·Đ¸
- Đ»Đ¸Ñ‚Đ¾Đ²ÑĐºĐ¸Đ¹
- Đ»ÑƒĐ±Đ°-ĐºĐ°Ñ‚Đ°Đ½Đ³Đ°
- Đ»ÑƒĐ±Đ°-Đ»ÑƒĐ»ÑƒĐ°
- Đ»ÑƒĐ¸ÑĐµĐ½ÑŒĐ¾
- Đ»ÑƒĐ½Đ´Đ°
- Đ»ÑƒĐ¾ (ĐĐµĐ½Đ¸Ñ Đ¸ Đ¢Đ°Đ½Đ·Đ°Đ½Đ¸Ñ)
- Đ»ÑƒÑˆĐ°Đ¹
- Đ»Đ°Ñ‚Ñ‹ÑˆÑĐºĐ¸Đ¹
- Đ¼Đ°Đ´ÑƒÑ€ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ³Đ°Ñ…Đ¸
- Đ¼Đ°Đ¹Ñ‚Ñ…Đ¸Đ»Đ¸
- Đ¼Đ°ĐºĐ°ÑÑĐ°Ñ€ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ½Đ´Đ¸Đ½Đ³Đ¾
- Đ°Đ²ÑÑ‚Ñ€Đ¾Đ½ĐµĐ·Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ¼Đ°Ñаи
- Đ¼Đ¾ĐºÑˆĐ°Đ½ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ½Đ´Đ°Ñ€ÑĐºĐ¸Đ¹
- Đ¼ĐµĐ½Đ´Đµ
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑĐ¸Đ¹ÑĐºĐ¸Đ¹
- ÑÑ€ĐµĐ´Đ½ĐµĐ¸Ñ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ¼Đ°Ñ€ÑˆĐ°Đ»Đ»ÑŒÑĐºĐ¸Đ¹
- Đ¼Đ°Đ¾Ñ€Đ¸
- Đ¼Đ¸ĐºĐ¼Đ°Đº
- Đ¼Đ¸Đ½Đ°Đ½Đ³ĐºĐ°Đ±Đ°Ñƒ
- ÑĐ¼ĐµÑˆĐ°Đ½Đ½Ñ‹Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ¼Đ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸Đ¹
- Đ¼Đ¾Đ½ĐºÑ…Đ¼ĐµÑ€ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ¼Đ°Đ»Đ°ÑĐ»Đ°Đ¼
- Đ¼Đ¾Đ½Đ³Đ¾Đ»ÑŒÑĐºĐ¸Đ¹
- Đ¼Đ°Đ½ÑŒÑ‡Đ¶ÑƒÑ€ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ½Đ¸Đ¿ÑƒÑ€ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ½Đ¾Đ±Đ¾ ÑĐ·Ñ‹ĐºĐ¸
- Đ¼Đ¾Đ»Đ´Đ°Đ²ÑĐºĐ¸Đ¹
- Đ¼Đ¾Ñ…Đ°ÑƒĐº
- Đ¼Đ¾Ñи
- Đ¼Đ°Ñ€Đ°Ñ‚Ñ…Đ¸
- Đ¼Đ°Đ»Đ°Đ¹ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ»ÑŒÑ‚Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ½ĐµÑĐºĐ¾Đ»ÑŒĐºĐ¾ ÑĐ·Ñ‹ĐºĐ¾Đ²
- Đ¼ÑƒĐ½Đ´Đ° ÑĐ·Ñ‹ĐºĐ¸
- ĐºÑ€Đ¸Đº
- Đ¼Đ¸Ñ€Đ°Đ½Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ¼Đ°Ñ€Đ²Đ°Ñ€Đ¸
- Đ±Đ¸Ñ€Đ¼Đ°Đ½ÑĐºĐ¸Đ¹
- Đ¼Đ°Đ¹Ñ ÑĐ·Ñ‹ĐºĐ¸
- ÑÑ€Đ·Ñ
- Đ½Đ°ÑƒÑ€Ñƒ
- Đ°Ñ†Ñ‚ĐµĐºÑĐºĐ¸Đ¹
- ÑĐ·Ñ‹Đº Đ¸Đ½Đ´ĐµĐ¹Ñ†ĐµĐ² Đ¡ĐµĐ²ĐµÑ€Đ½Đ¾Đ¹ ĐĐ¼ĐµÑ€Đ¸ĐºĐ¸
- Đ½ĐµĐ°Đ¿Đ¾Đ»Đ¸Ñ‚Đ°Đ½ÑĐºĐ¸Đ¹
- Đ½Đ¾Ñ€Đ²ĐµĐ¶ÑĐºĐ¸Đ¹ Đ±ÑƒĐºĐ¼Đ¾Đ»
- Đ½Đ´ĐµĐ±ĐµĐ»Đ¸ (ÑĐµĐ²ĐµÑ€Đ½Ñ‹Đ¹)
- Đ½Đ¸Đ¶Đ½ĐµĐ³ĐµÑ€Đ¼Đ°Đ½ÑĐºĐ¸Đ¹
- Đ½ĐµĐ¿Đ°Đ»ÑŒÑĐºĐ¸Đ¹
- Đ½ĐµĐ²Đ°Ñ€ÑĐºĐ¸Đ¹
- Đ½Đ´Đ¾Đ½Đ³Đ°
- Đ½Đ¸Đ°Ñ
- Đ½Đ¸Đ³ĐµÑ€-ĐºĐ¾Ñ€Đ´Đ¾Ñ„Đ°Đ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ½Đ¸ÑƒÑ
- Đ³Đ¾Đ»Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ‘ĐµĐ»ÑŒĐ³Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Đ»Đ°Đ¼Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ½Đ¾Ñ€Đ²ĐµĐ¶ÑĐºĐ¸Đ¹ Đ½ÑĐ½Đ¾Ñ€ÑĐº
- Đ½Đ¾Ñ€Đ²ĐµĐ¶ÑĐºĐ¸Đ¹
- Đ½Đ¾Đ³Đ°Đ¹ÑĐºĐ¸Đ¹
- ÑÑ‚Đ°Ñ€Đ¾Đ½Đ¾Ñ€Đ²ĐµĐ¶ÑĐºĐ¸Đ¹
- Đ½ĐºĐ¾
- Đ½Đ´ĐµĐ±ĐµĐ»Đ¸ ÑĐ¶Đ½Ñ‹Đ¹
- ÑĐ¾Ñ‚Đ¾ ÑĐµĐ²ĐµÑ€Đ½Ñ‹Đ¹
- Đ½ÑƒĐ±Đ¸Đ¹ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ½Đ°Đ²Đ°Ñ…Đ¾
- Đ½ĐµĐ²Đ°Ñ€Đ¸ (ĐºĐ»Đ°ÑÑĐ¸Ñ‡ĐµÑĐºĐ¸Đ¹)
- Đ½ÑŒÑĐ½Đ´Đ¶Đ°
- Đ½ÑŒÑĐ¼Đ²ĐµĐ·Đ¸
- Đ½ÑŒÑĐ½ĐºĐ¾Đ»Đµ
- Đ½ÑŒĐ¾Ñ€Đ¾
- Đ½Đ·Đ¸Đ¼Đ°
- Đ¾ĐºÑĐ¸Ñ‚Đ°Đ½ÑĐºĐ¸Đ¹
- Đ¾Đ´Đ¶Đ¸Đ±Đ²Đ°
- Đ¾Ñ€Đ¾Đ¼Đ¾
- Đ¾Ñ€Đ¸Ñ
- Đ¾ÑĐµÑ‚Đ¸Đ½ÑĐºĐ¸Đ¹
- Đ¾Ñеджи
- ÑÑ‚Đ°Ñ€Đ¾Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Đ¹
- Đ¾Ñ‚Đ¾Đ¼Đ°Đ½Đ³ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ¿Đ°Đ½Đ´Đ¶Đ°Đ±Đ¸ (Đ¿ĐµĐ½Đ´Đ¶Đ°Đ±Đ¸)
- Đ¿Đ°Đ¿ÑƒĐ°ÑÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Đ¿Đ°Đ½Đ³Đ°ÑĐ¸Đ½Đ°Đ½
- Đ¿ĐµÑ…Đ»ĐµĐ²Đ¸Đ¹ÑĐºĐ¸Đ¹
- Đ¿Đ°Đ¼Đ¿Đ°Đ½Đ³Đ°
- Đ¿Đ°Đ¿ÑŒÑĐ¼ĐµĐ½Ñ‚Đ¾
- Đ¿Đ°Đ»Đ°Ñƒ
- ÑÑ‚Đ°Ñ€Đ¾Đ¿ĐµÑ€ÑидÑĐºĐ¸Đ¹
- Ñ„Đ¸Đ»Đ¸Đ¿Đ¿Đ¸Đ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ„Đ¸Đ½Đ¸ĐºĐ¸Đ¹ÑĐºĐ¸Đ¹
- Đ¿Đ°Đ»Đ¸
- Đ¿Đ¾Đ»ÑŒÑĐºĐ¸Đ¹
- Đ¿Đ¾Đ½Đ°Đ¿Đµ
- Đ¿Ñ€Đ°ĐºÑ€Đ¸Ñ‚Ñ‹ ÑĐ·Ñ‹ĐºĐ¸
- ÑÑ‚Đ°Ñ€Đ¾Đ¿Ñ€Đ¾Đ²Đ°Đ½ÑĐ°Đ»ÑŒÑĐºĐ¸Đ¹
- Đ¿Đ°ÑˆÑ‚Đ¾ (Đ¿ÑƒÑˆÑ‚Ñƒ)
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑĐºĐ¸Đ¹
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑĐºĐ¸Đ¹
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑĐºĐ¸Đ¹ Đ¸Đ±ĐµÑ€Đ¸Đ¹ÑĐºĐ¸Đ¹
- ĐºĐµÑ‡ÑƒĐ°
- Ñ€Đ°Đ´Đ¶Đ°ÑÑ‚Ñ…Đ°Đ½Đ¸
- Ñ€Đ°Đ¿Đ°Đ½ÑƒĐ¸
- Ñ€Đ°Ñ€Đ¾Ñ‚Đ¾Đ½Đ³Đ°Đ½ÑĐºĐ¸Đ¹
- Ñ€ĐµÑ‚Đ¾Ñ€Đ¾Đ¼Đ°Đ½ÑĐºĐ¸Đ¹
- Ñ€ÑƒĐ½Đ´Đ¸
- Ñ€ÑƒĐ¼Ñ‹Đ½ÑĐºĐ¸Đ¹
- Ñ€Đ¾Đ¼Đ°Đ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ†Ñ‹Đ³Đ°Đ½ÑĐºĐ¸Đ¹
- ĐºĐ¾Ñ€Đ½ĐµĐ²Đ¾Đ¹ ÑĐ·Ñ‹Đº
- руÑÑĐºĐ¸Đ¹
- Đ°Ñ€ÑƒĐ¼Ñ‹Đ½ÑĐºĐ¸Đ¹
- ĐºĐ¸Đ½ÑŒÑÑ€ÑƒĐ°Đ½Đ´Đ°
- ÑĐ°Đ½ÑĐºÑ€Đ¸Ñ‚
- ÑĐ°Đ½Đ´Đ°Đ²Đµ
- ÑĐºÑƒÑ‚ÑĐºĐ¸Đ¹
- ÑĐ·Ñ‹Đº Đ¸Đ½Đ´ĐµĐ¹Ñ†ĐµĐ² Đ®Đ¶Đ½Đ¾Đ¹ ĐĐ¼ĐµÑ€Đ¸ĐºĐ¸
- ÑĐ°Đ»Đ¸ÑˆÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- ÑĐ°Đ¼Đ°Ñ€Đ¸Ñ‚ÑĐ½ÑĐºĐ¸Đ¹ Đ°Ñ€Đ°Đ¼ĐµĐ¹ÑĐºĐ¸Đ¹
- ÑаÑĐ°ĐºĐ¸
- ÑĐ°Đ½Ñ‚Đ°Đ»Đ¸
- ÑĐ°Ñ€Đ´Đ¸Đ½ÑĐºĐ¸Đ¹
- ÑĐ¸Ñ†Đ¸Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹
- ÑˆĐ¾Ñ‚Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- ÑĐ¸Đ½Đ´Ñ…Đ¸
- ÑĐ°Đ°Đ¼ÑĐºĐ¸Đ¹ (ÑĐµĐ²ĐµÑ€Đ½Ñ‹Đ¹)
- ÑĐµĐ»ÑŒĐºÑƒĐ¿ÑĐºĐ¸Đ¹
- ÑĐµĐ¼Đ¸Ñ‚ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- ÑĐ°Đ½Đ³Đ¾
- ÑÑ‚Đ°Ñ€Đ¾Đ¸Ñ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- ÑĐ·Ñ‹Đº Đ³Đ»ÑƒÑ…Đ¾Đ½ĐµĐ¼Ñ‹Ñ…
- ÑĐµÑ€Đ±ÑĐºĐ¾Ñ…Đ¾Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Đ¹
- ÑˆĐ°Đ½ÑĐºĐ¸Đ¹
- ÑĐ¸Đ½Đ³Đ°Đ»ÑŒÑĐºĐ¸Đ¹
- ÑĐ¸Đ´Đ°Đ¼Đ°
- ÑĐ¸Ñƒ ÑĐ·Ñ‹ĐºĐ¸
- ÑĐ¸Đ½Đ¾Ñ‚Đ¸Đ±ĐµÑ‚ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- ÑĐ»Đ¾Đ²Đ°Ñ†ĐºĐ¸Đ¹
- ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Đ¹
- ÑĐ»Đ°Đ²ÑĐ½ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- ÑĐ°Đ¼Đ¾Đ°Đ½ÑĐºĐ¸Đ¹
- ÑĐ°Đ°Đ¼ÑĐºĐ¸Đ¹ (ÑĐ¶Đ½Ñ‹Đ¹)
- ÑĐ°Đ°Đ¼ÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ»ÑƒĐ»Đµ-ÑĐ°Đ°Đ¼ÑĐºĐ¸Đ¹
- Đ¸Đ½Đ°Ñ€Đ¸-ÑĐ°Đ°Đ¼ÑĐºĐ¸Đ¹
- ÑĐºĐ¾Đ»ÑŒÑ‚-ÑĐ°Đ°Đ¼ÑĐºĐ¸Đ¹
- ÑˆĐ¾Đ½Đ°
- ÑĐ¾Đ½Đ¸Đ½ĐºĐµ
- ÑĐ¾Đ¼Đ°Đ»Đ¸
- ÑĐ¾Đ³Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹
- cĐ¾Đ½Đ³Đ°Đ¸
- Đ°Đ»Đ±Đ°Đ½ÑĐºĐ¸Đ¹
- ÑĐµÑ€Đ±ÑĐºĐ¸Đ¹
- ÑÑ€Đ°Đ½Đ°Đ½ Ñ‚Đ¾Đ½Đ³Đ¾
- ÑĐµÑ€ĐµÑ€
- ÑĐ²Đ°Đ·Đ¸
- Đ½Đ¸Đ»Đ¾-ÑĐ°Ñ…Đ°Ñ€ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- ÑĐ¾Ñ‚Đ¾ ÑĐ¶Đ½Ñ‹Đ¹
- ÑÑƒĐ½Đ´Đ°Đ½ÑĐºĐ¸Đ¹
- ÑÑƒĐºÑƒĐ¼Đ°
- ÑуÑу
- ÑˆÑƒĐ¼ĐµÑ€ÑĐºĐ¸Đ¹
- ÑˆĐ²ĐµĐ´ÑĐºĐ¸Đ¹
- ÑÑƒĐ°Ñ…Đ¸Đ»Đ¸
- ĐºĐ»Đ°ÑÑĐ¸Ñ‡ĐµÑĐºĐ¸Đ¹ ÑĐ¸Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹
- ÑĐ¸Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹
- Ñ‚Đ°Đ¼Đ¸Đ»ÑŒÑĐºĐ¸Đ¹
- Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ‚ĐµĐ»ÑƒĐ³Ñƒ
- Ñ‚ĐµĐ¼Đ½Đµ
- Ñ‚ĐµÑ€ĐµĐ½Đ¾
- Ñ‚ĐµÑ‚ÑƒĐ¼
- Ñ‚Đ°Đ´Đ¶Đ¸ĐºÑĐºĐ¸Đ¹
- Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹
- Ñ‚Đ¸Đ³Ñ€Đ¸Đ½ÑŒÑ
- Ñ‚Đ¸Đ³Ñ€Đµ
- Ñ‚Đ¸Đ²Đ¸
- Ñ‚ÑƒÑ€ĐºĐ¼ĐµĐ½ÑĐºĐ¸Đ¹
- Ñ‚Đ¾ĐºĐµĐ»Đ°Đ¹ÑĐºĐ¸Đ¹
- Ñ‚Đ°Đ³Đ°Đ»Đ¾Đ³
- ĐºĐ»Đ¸Đ½Đ³Đ¾Đ½ÑĐºĐ¸Đ¹
- Ñ‚Đ»Đ¸Đ½Đ³Đ¸Ñ‚
- Ñ‚Đ°Đ¼Đ°ÑˆĐµĐº
- Ñ‚ÑĐ²Đ°Đ½Đ°
- Ñ‚Đ¾Đ½Đ³Đ°
- Đ½ÑŒÑÑа (Ñ‚Đ¾Đ½Đ³Đ°)
- Ñ‚Đ¾Đº-Đ¿Đ¸ÑĐ¸Đ½
- Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Đ¹
- Ñ‚ÑĐ¾Đ½Đ³Đ°
- Ñ†Đ¸Đ¼ÑˆĐ¸Đ°Đ½
- Ñ‚Đ°Ñ‚Đ°Ñ€ÑĐºĐ¸Đ¹
- Ñ‚ÑƒĐ¼Đ±ÑƒĐºĐ°
- Ñ‚ÑƒĐ¿Đ¸
- Đ°Đ»Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ‚ÑƒĐ²Đ°Đ»Ñƒ
- Ñ‚Đ²Đ¸
- Ñ‚Đ°Đ¸Ñ‚ÑĐ½ÑĐºĐ¸Đ¹
- Ñ‚ÑƒĐ²Đ¸Đ½ÑĐºĐ¸Đ¹
- ÑƒĐ´Đ¼ÑƒÑ€Ñ‚ÑĐºĐ¸Đ¹
- ÑƒĐ¹Đ³ÑƒÑ€ÑĐºĐ¸Đ¹
- ÑƒĐ³Đ°Ñ€Đ¸Ñ‚ÑĐºĐ¸Đ¹
- ÑƒĐºÑ€Đ°Đ¸Đ½ÑĐºĐ¸Đ¹
- ÑƒĐ¼Đ±ÑƒĐ½Đ´Ñƒ
- Đ½ĐµĐ¸Đ·Đ²ĐµÑÑ‚Đ½Ñ‹Đ¹ или Đ½ĐµĐ´ĐµĐ¹ÑÑ‚Đ²Đ¸Ñ‚ĐµĐ»ÑŒĐ½Ñ‹Đ¹ ÑĐ·Ñ‹Đº
- ÑƒÑ€Đ´Ñƒ
- ÑƒĐ·Đ±ĐµĐºÑĐºĐ¸Đ¹
- Đ²Đ°Đ¸
- Đ²ĐµĐ½Đ´Đ°
- Đ²ÑŒĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸Đ¹
- Đ²Đ¾Đ»Đ°Đ¿ÑĐº
- Đ²Đ¾Đ´ÑĐºĐ¸Đ¹
- Đ²Đ°Đ»Đ»Đ¾Đ½ÑĐºĐ¸Đ¹
- Đ²Đ°ĐºĐ°ÑˆÑĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ²Đ¾Đ»Đ°Đ¼Đ¾
- Đ²Đ°Ñ€Đ°Đ¹
- Đ²Đ°ÑˆĐ¾
- Đ»ÑƒĐ¶Đ¸Ñ†ĐºĐ¸Đµ ÑĐ·Ñ‹ĐºĐ¸
- Đ²Đ¾Đ»Đ¾Ñ„
- ĐºĐ°Đ»Đ¼Ñ‹Ñ†ĐºĐ¸Đ¹
- ĐºÑĐ¾Đ·Đ°
- ÑĐ¾
- ÑĐ¿
- Đ¸Đ´Đ¸Ñˆ
- Đ¹Đ¾Ñ€ÑƒĐ±Đ°
- ÑĐ¿Đ¸ĐºÑĐºĐ¸Đ¹ ÑĐ·Ñ‹Đº
- Ñ‡Đ¶ÑƒĐ°Đ½ÑŒ
- ÑĐ°Đ¿Đ¾Ñ‚ĐµĐºÑĐºĐ¸Đ¹
- блиÑÑĐ¸Đ¼Đ²Đ¾Đ»Đ¸ĐºĐ°
- Đ·ĐµĐ½Đ°Đ³ÑĐºĐ¸Đ¹
- ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹
- ÑƒĐ¿Ñ€Đ¾Ñ‰ĐµĐ½Đ½Ñ‹Đ¹ ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ½Ñ‹Đ¹ ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹
- Đ·Đ°Đ½Đ´Đµ
- Đ·ÑƒĐ»Ñƒ
- Đ·ÑƒĐ½ÑŒĐ¸
- без ÑĐ·Ñ‹ĐºĐ¾Đ²Đ¾Đ³Đ¾ ÑĐ¾Đ´ĐµÑ€Đ¶Đ°Đ½Đ¸Ñ
- заза
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ĐœĐ¸Ñ€
- ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ°Ñ ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- Đ®Đ¶Đ½Đ°Ñ ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- ĐĐºĐµĐ°Đ½Đ¸Ñ
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ°Ñ ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ°Ñ ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ°Ñ ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ°Ñ ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ°Ñ ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ®Đ¶Đ½Đ°Ñ ĐÑ„Ñ€Đ¸ĐºĐ° [018]
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ°Ñ Đ¸ Đ®Đ¶Đ½Đ°Ñ ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ°Ñ ĐĐ¼ĐµÑ€Đ¸ĐºĐ° (021)
- ĐĐ°Ñ€Đ¸Đ±Ñ‹
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ°Ñ ĐзиÑ
- Đ®Đ¶Đ½Đ°Ñ ĐзиÑ
- Đ®Đ³Đ¾-Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ°Ñ ĐзиÑ
- Đ®Đ¶Đ½Đ°Ñ Đ•Đ²Ñ€Đ¾Đ¿Đ°
- ĐĐ²ÑÑ‚Ñ€Đ°Đ»Đ¸Ñ Đ¸ ĐĐ¾Đ²Đ°Ñ Đ—ĐµĐ»Đ°Đ½Đ´Đ¸Ñ
- ĐœĐµĐ»Đ°Đ½ĐµĐ·Đ¸Ñ
- ĐœĐ¸ĐºÑ€Đ¾Đ½ĐµĐ·Đ¸Ñ
- ĐŸĐ¾Đ»Đ¸Đ½ĐµĐ·Đ¸Ñ
- Đ®Đ³ Đ¡Ñ€ĐµĐ´Đ½ĐµĐ¹ Đзии
- ĐзиÑ
- Đ¡Ñ€ĐµĐ´Đ½ÑÑ ĐзиÑ
- Đ‘Đ»Đ¸Đ¶Đ½Đ¸Đ¹ и Đ¡Ñ€ĐµĐ´Đ½Đ¸Đ¹ Đ’Đ¾ÑÑ‚Đ¾Đº
- Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ°Ñ Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ°Ñ Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ°Ñ Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ¡ĐĐ“
- Đ›Đ°Ñ‚Đ¸Đ½ÑĐºĐ°Ñ ĐĐ¼ĐµÑ€Đ¸ĐºĐ° и ĐĐ°Ñ€Đ¸Đ±ÑĐºĐ¸Đµ Đ¾-Đ²Đ°
- ĐĐ¾Ñ€Đ¼Đ°Đ½Đ´ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐĐ½Đ´Đ¾Ñ€Ñ€Đ°
- ĐбÑĐµĐ´Đ¸Đ½ĐµĐ½Đ½Ñ‹Đµ ĐÑ€Đ°Đ±ÑĐºĐ¸Đµ ĐĐ¼Đ¸Ñ€Đ°Ñ‚Ñ‹
- ĐÑ„Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½
- ĐĐ½Ñ‚Đ¸Đ³ÑƒĐ° и Đ‘Đ°Ñ€Đ±ÑƒĐ´Đ°
- ĐĐ½Đ³ÑƒĐ¸Đ»Đ»Đ°
- ĐĐ»Đ±Đ°Đ½Đ¸Ñ
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ
- ĐĐ¸Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đµ ĐĐ½Ñ‚Đ¸Đ»ÑŒÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐĐ½Đ³Đ¾Đ»Đ°
- ĐĐ½Ñ‚Đ°Ñ€ĐºÑ‚Đ¸ĐºĐ°
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ°
- ĐĐ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ¡Đ°Đ¼Đ¾Đ°
- ĐĐ²ÑÑ‚Ñ€Đ¸Ñ
- ĐĐ²ÑÑ‚Ñ€Đ°Đ»Đ¸Ñ
- ĐÑ€ÑƒĐ±Đ°
- ĐĐ»Đ°Đ½Đ´ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐĐ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½
- Đ‘Đ¾ÑĐ½Đ¸Ñ Đ¸ Đ“ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ¸Đ½Đ°
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾Ñ
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆ
- Đ‘ĐµĐ»ÑŒĐ³Đ¸Ñ
- Đ‘ÑƒÑ€ĐºĐ¸Đ½Đ° ФаÑĐ¾
- Đ‘Đ¾Đ»Đ³Đ°Ñ€Đ¸Ñ
- Đ‘Đ°Ñ…Ñ€ĐµĐ¹Đ½
- Đ‘ÑƒÑ€ÑƒĐ½Đ´Đ¸
- Đ‘ĐµĐ½Đ¸Đ½
- ĐÑÑ‚Ñ€Đ¾Đ² Đ¡Đ²ÑÑ‚Đ¾Đ³Đ¾ Đ‘Đ°Ñ€Ñ‚Đ¾Đ»Đ¾Đ¼ĐµÑ
- Đ‘ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ¸Đµ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ‘Ñ€ÑƒĐ½ĐµĐ¹ Đ”Đ°Ñ€ÑƒÑÑĐ°Đ»Đ°Đ¼
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Ñ
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ
- Đ‘Đ°Đ³Đ°Đ¼ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ‘ÑƒÑ‚Đ°Đ½
- ĐÑÑ‚Ñ€Đ¾Đ² Đ‘ÑƒĐ²Đµ
- Đ‘Đ¾Ñ‚ÑĐ²Đ°Đ½Đ°
- Đ‘ĐµĐ»Đ°Ñ€ÑƒÑÑŒ
- Белиз
- ĐĐ°Đ½Đ°Đ´Đ°
- ĐĐ¾ĐºĐ¾ÑĐ¾Đ²Ñ‹Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ”ĐµĐ¼Đ¾ĐºÑ€Đ°Ñ‚Đ¸Ñ‡ĐµÑĐºĐ°Ñ Đ ĐµÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ° ĐĐ¾Đ½Đ³Đ¾
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾-ĐÑ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ°Ñ Đ ĐµÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- ĐĐ¾Đ½Đ³Đ¾
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€Đ¸Ñ
- ĐĐ¾Ñ‚ Đ´â€™Đ˜Đ²ÑƒĐ°Ñ€
- ĐÑÑ‚Ñ€Đ¾Đ²Đ° ĐÑƒĐºĐ°
- Чили
- ĐĐ°Đ¼ĐµÑ€ÑƒĐ½
- ĐĐ¸Ñ‚Đ°Đ¹
- ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ
- ĐĐ¾ÑÑ‚Đ°-Đ Đ¸ĐºĐ°
- Đ¡ĐµÑ€Đ±Đ¸Ñ Đ¸ Đ§ĐµÑ€Đ½Đ¾Đ³Đ¾Ñ€Đ¸Ñ
- ĐÑƒĐ±Đ°
- ĐÑÑ‚Ñ€Đ¾Đ²Đ° Đ—ĐµĐ»ĐµĐ½Đ¾Đ³Đ¾ ĐœÑ‹Ñа
- ĐÑÑ‚Ñ€Đ¾Đ² Đ Đ¾Đ¶Đ´ĐµÑÑ‚Đ²Đ°
- ĐĐ¸Đ¿Ñ€
- Đ§ĐµÑˆÑĐºĐ°Ñ Ñ€ĐµÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- Đ“ĐµÑ€Đ¼Đ°Đ½Đ¸Ñ
- Đ”Đ¶Đ¸Đ±ÑƒÑ‚Đ¸
- Đ”Đ°Đ½Đ¸Ñ
- ĐÑÑ‚Ñ€Đ¾Đ² Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ°Ñ Đ ĐµÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- ĐĐ»Đ¶Đ¸Ñ€
- ĐĐºĐ²Đ°Đ´Đ¾Ñ€
- ĐÑÑ‚Đ¾Đ½Đ¸Ñ
- Đ•Đ³Đ¸Đ¿ĐµÑ‚
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ°Ñ Đ¡Đ°Ñ…Đ°Ñ€Đ°
- ĐÑ€Đ¸Ñ‚Ñ€ĐµÑ
- Đ˜ÑĐ¿Đ°Đ½Đ¸Ñ
- ĐÑ„Đ¸Đ¾Đ¿Đ¸Ñ
- Đ¤Đ¸Đ½Đ»ÑĐ½Đ´Đ¸Ñ
- Фиджи
- Đ¤Đ¾Đ»ĐºĐ»ĐµĐ½Đ´ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ¤ĐµĐ´ĐµÑ€Đ°Ñ‚Đ¸Đ²Đ½Ñ‹Đµ Đ¨Ñ‚Đ°Ñ‚Ñ‹ ĐœĐ¸ĐºÑ€Đ¾Đ½ĐµĐ·Đ¸Đ¸
- Đ¤Đ°Ñ€ĐµÑ€ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ¤Ñ€Đ°Đ½Ñ†Đ¸Ñ
- Đ“Đ°Đ±Đ¾Đ½
- Đ’ĐµĐ»Đ¸ĐºĐ¾Đ±Ñ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ
- Đ“Ñ€ĐµĐ½Đ°Đ´Đ°
- Đ“Ñ€ÑƒĐ·Đ¸Ñ
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ°Ñ Đ“Đ²Đ¸Đ°Đ½Đ°
- Đ“ĐµÑ€Đ½Ñи
- Đ“Đ°Đ½Đ°
- Đ“Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€
- Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´Đ¸Ñ
- Đ“Đ°Đ¼Đ±Đ¸Ñ
- Đ“Đ²Đ¸Đ½ĐµÑ
- Đ“Đ²Đ°Đ´ĐµĐ»ÑƒĐ¿Đ°
- ĐĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Đ°Đ»ÑŒĐ½Đ°Ñ Đ“Đ²Đ¸Đ½ĐµÑ
- Đ“Ñ€ĐµÑ†Đ¸Ñ
- Đ®Đ¶Đ½Đ°Ñ Đ”Đ¶Đ¾Ñ€Đ´Đ¶Đ¸Ñ Đ¸ Đ®Đ¶Đ½Ñ‹Đµ Đ¡Đ°Đ½Đ´Đ²Đ¸Ñ‡ĐµĐ²Ñ‹ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»Đ°
- Đ“ÑƒĐ°Đ¼
- Đ“Đ²Đ¸Đ½ĐµÑ-БиÑÑĐ°Ñƒ
- Đ“Đ°Đ¹Đ°Đ½Đ°
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³, ĐÑĐ¾Đ±Ñ‹Đ¹ ĐĐ´Đ¼Đ¸Đ½Đ¸ÑÑ‚Ñ€Đ°Ñ‚Đ¸Đ²Đ½Ñ‹Đ¹ Đ Đ°Đ¹Đ¾Đ½ ĐĐ¸Ñ‚Đ°Ñ
- ĐÑÑ‚Ñ€Đ¾Đ²Đ° Đ¥ĐµÑ€Đ´ и ĐœĐ°ĐºĐ´Đ¾Đ½Đ°Đ»ÑŒĐ´
- Đ“Đ¾Đ½Đ´ÑƒÑ€Đ°Ñ
- Đ¥Đ¾Ñ€Đ²Đ°Ñ‚Đ¸Ñ
- Đ“Đ°Đ¸Ñ‚Đ¸
- Đ’ĐµĐ½Đ³Ñ€Đ¸Ñ
- Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ
- Đ˜Ñ€Đ»Đ°Đ½Đ´Đ¸Ñ
- Đ˜Đ·Ñ€Đ°Đ¸Đ»ÑŒ
- ĐÑÑ‚Ñ€Đ¾Đ² ĐœÑĐ½
- Đ˜Đ½Đ´Đ¸Ñ
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ°Ñ Ñ‚ĐµÑ€Ñ€Đ¸Ñ‚Đ¾Ñ€Đ¸Ñ Đ² Đ˜Đ½Đ´Đ¸Đ¹ÑĐºĐ¾Đ¼ Đ¾ĐºĐµĐ°Đ½Đµ
- Đ˜Ñ€Đ°Đº
- Đ˜Ñ€Đ°Đ½
- Đ˜ÑĐ»Đ°Đ½Đ´Đ¸Ñ
- Đ˜Ñ‚Đ°Đ»Đ¸Ñ
- Đ”Đ¶ĐµÑ€Ñи
- Đ¯Đ¼Đ°Đ¹ĐºĐ°
- Đ˜Đ¾Ñ€Đ´Đ°Đ½Đ¸Ñ
- Đ¯Đ¿Đ¾Đ½Đ¸Ñ
- ĐĐµĐ½Đ¸Ñ
- ĐÑ‹Ñ€Đ³Ñ‹Đ·ÑÑ‚Đ°Đ½
- ĐĐ°Đ¼Đ±Đ¾Đ´Đ¶Đ°
- ĐĐ¸Ñ€Đ¸Đ±Đ°Ñ‚Đ¸
- ĐĐ¾Đ¼Đ¾Ñ€ÑĐºĐ¸Đµ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ¡ĐµĐ½Ñ‚-ĐĐ¸Ñ‚Ñ‚Ñ Đ¸ ĐĐµĐ²Đ¸Ñ
- ĐĐ¾Ñ€ĐµĐ¹ÑĐºĐ°Ñ ĐĐ°Ñ€Đ¾Đ´Đ½Đ¾-Đ”ĐµĐ¼Đ¾ĐºÑ€Đ°Ñ‚Đ¸Ñ‡ĐµÑĐºĐ°Ñ Đ ĐµÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- РеÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ° ĐĐ¾Ñ€ĐµÑ
- ĐÑƒĐ²ĐµĐ¹Ñ‚
- ĐĐ°Đ¹Đ¼Đ°Đ½Đ¾Đ²Ñ‹ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½
- Đ›Đ°Đ¾Ñ
- Đ›Đ¸Đ²Đ°Đ½
- Đ¡ĐµĐ½Ñ‚-Đ›ÑÑиÑ
- Đ›Đ¸Ñ…Ñ‚ĐµĐ½ÑˆÑ‚ĐµĐ¹Đ½
- Đ¨Ñ€Đ¸-Đ›Đ°Đ½ĐºĐ°
- Đ›Đ¸Đ±ĐµÑ€Đ¸Ñ
- ЛеÑĐ¾Ñ‚Đ¾
- Đ›Đ¸Ñ‚Đ²Đ°
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³
- Đ›Đ°Ñ‚Đ²Đ¸Ñ
- Đ›Đ¸Đ²Đ¸Ñ
- ĐœĐ°Ñ€Đ¾ĐºĐºĐ¾
- ĐœĐ¾Đ½Đ°ĐºĐ¾
- ĐœĐ¾Đ»Đ´Đ¾Đ²Đ°
- Đ§ĐµÑ€Đ½Đ¾Đ³Đ¾Ñ€Đ¸Ñ
- ĐÑÑ‚Ñ€Đ¾Đ² Đ¡Đ²ÑÑ‚Đ¾Đ³Đ¾ ĐœĐ°Ñ€Ñ‚Đ¸Đ½Đ°
- ĐœĐ°Đ´Đ°Đ³Đ°ÑĐºĐ°Ñ€
- ĐœĐ°Ñ€ÑˆĐ°Đ»Đ»Đ¾Đ²Ñ‹ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½Đ¸Ñ
- ĐœĐ°Đ»Đ¸
- ĐœÑŒÑĐ½Đ¼Đ°
- ĐœĐ¾Đ½Đ³Đ¾Đ»Đ¸Ñ
- ĐœĐ°ĐºĐ°Đ¾ (Đ¾ÑĐ¾Đ±Ñ‹Đ¹ Đ°Đ´Đ¼Đ¸Đ½Đ¸ÑÑ‚Ñ€Đ°Ñ‚Đ¸Đ²Đ½Ñ‹Đ¹ Ñ€Đ°Đ¹Đ¾Đ½ ĐĐĐ )
- Đ¡ĐµĐ²ĐµÑ€Đ½Ñ‹Đµ ĐœĐ°Ñ€Đ¸Đ°Đ½ÑĐºĐ¸Đµ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐœĐ°Ñ€Ñ‚Đ¸Đ½Đ¸Đº
- ĐœĐ°Đ²Ñ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ
- ĐœĐ¾Đ½ÑĐµÑ€Ñ€Đ°Ñ‚
- ĐœĐ°Đ»ÑŒÑ‚Đ°
- ĐœĐ°Đ²Ñ€Đ¸ĐºĐ¸Đ¹
- ĐœĐ°Đ»ÑŒĐ´Đ¸Đ²Ñ‹
- ĐœĐ°Đ»Đ°Đ²Đ¸
- ĐœĐµĐºÑĐ¸ĐºĐ°
- ĐœĐ°Đ»Đ°Đ¹Đ·Đ¸Ñ
- ĐœĐ¾Đ·Đ°Đ¼Đ±Đ¸Đº
- ĐĐ°Đ¼Đ¸Đ±Đ¸Ñ
- ĐĐ¾Đ²Đ°Ñ ĐĐ°Đ»ĐµĐ´Đ¾Đ½Đ¸Ñ
- ĐĐ¸Đ³ĐµÑ€
- ĐÑÑ‚Ñ€Đ¾Đ² ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº
- ĐĐ¸Đ³ĐµÑ€Đ¸Ñ
- ĐĐ¸ĐºĐ°Ñ€Đ°Đ³ÑƒĐ°
- ĐĐ¸Đ´ĐµÑ€Đ»Đ°Đ½Đ´Ñ‹
- ĐĐ¾Ñ€Đ²ĐµĐ³Đ¸Ñ
- ĐĐµĐ¿Đ°Đ»
- ĐĐ°ÑƒÑ€Ñƒ
- ĐĐ¸ÑƒĐµ
- ĐĐ¾Đ²Đ°Ñ Đ—ĐµĐ»Đ°Đ½Đ´Đ¸Ñ
- ĐĐ¼Đ°Đ½
- ĐŸĐ°Đ½Đ°Đ¼Đ°
- ĐŸĐµÑ€Ñƒ
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ°Ñ ĐŸĐ¾Đ»Đ¸Đ½ĐµĐ·Đ¸Ñ
- ĐŸĐ°Đ¿ÑƒĐ°-ĐĐ¾Đ²Đ°Ñ Đ“Đ²Đ¸Đ½ĐµÑ
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¿Đ¸Đ½Ñ‹
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½
- ĐŸĐ¾Đ»ÑŒÑˆĐ°
- Đ¡ĐµĐ½-ĐŸÑŒĐµÑ€ и ĐœĐ¸ĐºĐµĐ»Đ¾Đ½
- ĐŸĐ¸Ñ‚ĐºĐµÑ€Đ½
- ĐŸÑƒÑÑ€Ñ‚Đ¾-Đ Đ¸ĐºĐ¾
- ĐŸĐ°Đ»ĐµÑÑ‚Đ¸Đ½ÑĐºĐ°Ñ Đ°Đ²Ñ‚Đ¾Đ½Đ¾Đ¼Đ¸Ñ
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»Đ¸Ñ
- ĐŸĐ°Đ»Đ°Ñƒ
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Đ¹
- ĐĐ°Ñ‚Đ°Ñ€
- Đ’Đ½ĐµÑˆĐ½ÑÑ ĐĐºĐµĐ°Đ½Đ¸Ñ
- Đ•Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¸Đ¹ ÑĐ¾ÑĐ·
- РеÑĐ½ÑŒĐ¾Đ½
- Đ ÑƒĐ¼Ñ‹Đ½Đ¸Ñ
- Đ¡ĐµÑ€Đ±Đ¸Ñ
- Đ Đ¾ÑÑиÑ
- Đ ÑƒĐ°Đ½Đ´Đ°
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ
- Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½Đ¾Đ²Ñ‹ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ¡ĐµĐ¹ÑˆĐµĐ»ÑŒÑĐºĐ¸Đµ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ¡ÑƒĐ´Đ°Đ½
- Đ¨Đ²ĐµÑ†Đ¸Ñ
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€
- ĐÑÑ‚Ñ€Đ¾Đ² Đ¡Đ²ÑÑ‚Đ¾Đ¹ Đ•Đ»ĐµĐ½Ñ‹
- Đ¡Đ»Đ¾Đ²ĐµĐ½Đ¸Ñ
- Đ¡Đ²Đ°Đ»ÑŒĐ±Đ°Ñ€Đ´ и Đ¯Đ½-ĐœĐ°Đ¹ĐµĐ½
- Đ¡Đ»Đ¾Đ²Đ°ĐºĐ¸Ñ
- Đ¡ÑŒĐµÑ€Ñ€Đ°-Đ›ĐµĐ¾Đ½Đµ
- Đ¡Đ°Đ½-ĐœĐ°Ñ€Đ¸Đ½Đ¾
- Đ¡ĐµĐ½ĐµĐ³Đ°Đ»
- Đ¡Đ¾Đ¼Đ°Đ»Đ¸
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼
- Đ¡Đ°Đ½-Đ¢Đ¾Đ¼Đµ и ĐŸÑ€Đ¸Đ½ÑĐ¸Đ¿Đ¸
- Đ¡Đ°Đ»ÑŒĐ²Đ°Đ´Đ¾Ñ€
- Đ¡Đ¸Ñ€Đ¸Đ¹ÑĐºĐ°Ñ ĐÑ€Đ°Đ±ÑĐºĐ°Ñ Đ ĐµÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- Đ¡Đ²Đ°Đ·Đ¸Đ»ĐµĐ½Đ´
- ĐÑÑ‚Ñ€Đ¾Đ²Đ° Đ¢Ñ‘Ñ€ĐºÑ Đ¸ ĐĐ°Đ¹ĐºĐ¾Ñ
- Чад
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đµ Đ®Đ¶Đ½Ñ‹Đµ Đ¢ĐµÑ€Ñ€Đ¸Ñ‚Đ¾Ñ€Đ¸Đ¸
- Đ¢Đ¾Đ³Đ¾
- Đ¢Đ°Đ¸Đ»Đ°Đ½Đ´
- Đ¢Đ°Đ´Đ¶Đ¸ĐºĐ¸ÑÑ‚Đ°Đ½
- Đ¢Đ¾ĐºĐµĐ»Đ°Ñƒ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Ñ‹Đ¹ Đ¢Đ¸Đ¼Đ¾Ñ€
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½
- Đ¢ÑƒĐ½Đ¸Ñ
- Đ¢Đ¾Đ½Đ³Đ°
- Đ¢ÑƒÑ€Ñ†Đ¸Ñ
- Đ¢Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´ и Đ¢Đ¾Đ±Đ°Đ³Đ¾
- Đ¢ÑƒĐ²Đ°Đ»Ñƒ
- Đ¢Đ°Đ¹Đ²Đ°Đ½ÑŒ
- Đ¢Đ°Đ½Đ·Đ°Đ½Đ¸Ñ
- Đ£ĐºÑ€Đ°Đ¸Đ½Đ°
- Đ£Đ³Đ°Đ½Đ´Đ°
- Đ’Đ½ĐµÑˆĐ½Đ¸Đµ Đ¼Đ°Đ»Ñ‹Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ° (Đ¡Đ¨Đ)
- Đ¡Đ¨Đ
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹
- Đ£Đ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½
- Đ’Đ°Ñ‚Đ¸ĐºĐ°Đ½
- Đ¡ĐµĐ½Ñ‚-Đ’Đ¸Đ½ÑĐµĐ½Ñ‚ и Đ“Ñ€ĐµĐ½Đ°Đ´Đ¸Đ½Ñ‹
- Đ’ĐµĐ½ĐµÑуÑла
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ¸Đµ Đ’Đ¸Ñ€Đ³Đ¸Đ½ÑĐºĐ¸Đµ ĐÑÑ‚Ñ€Đ¾Đ²Đ°
- ĐĐ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Đµ Đ’Đ¸Ñ€Đ³Đ¸Đ½ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
- Đ’ÑŒĐµÑ‚Đ½Đ°Đ¼
- Đ’Đ°Đ½ÑƒĐ°Ñ‚Ñƒ
- Đ£Đ¾Đ»Đ»Đ¸Ñ Đ¸ Đ¤ÑƒÑ‚ÑƒĐ½Đ°
- Đ¡Đ°Đ¼Đ¾Đ°
- Đ™ĐµĐ¼ĐµĐ½
- ĐœĐ°Đ¹Đ¾Ñ‚Ñ‚Đ°
- Đ®Đ¶Đ½Đ°Ñ ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ—Đ°Đ¼Đ±Đ¸Ñ
- Đ—Đ¸Đ¼Đ±Đ°Đ±Đ²Đµ
- ĐĐµĐ¸Đ·Đ²ĐµÑÑ‚Đ½Ñ‹Đ¹ или Đ½ĐµĐ´ĐµĐ¹ÑÑ‚Đ²Đ¸Ñ‚ĐµĐ»ÑŒĐ½Ñ‹Đ¹ Ñ€ĐµĐ³Đ¸Đ¾Đ½
-
-
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ½Đ°Ñ Đ½ĐµĐ¼ĐµÑ†ĐºĐ°Ñ Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ
- Đ¡Ñ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ¸Đ·Đ¸Ñ€Đ¾Đ²Đ°Đ½Đ½Đ°Ñ Ñ€ĐµĐ·ÑŒÑĐ½ÑĐºĐ°Ñ Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ
- ĐŸÑ€Đ°Đ²Đ¸Đ»Đ° Đ½ĐµĐ¼ĐµÑ†ĐºĐ¾Đ¹ Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Đ¸Đ¸ уÑÑ‚Đ°Đ½Đ¾Đ²Đ»ĐµĐ½Đ½Ñ‹Đµ Ñ 1996 Đ³Đ¾Đ´Đ°
- ĐŸĐ¾Đ·Đ´Đ½Đµ-ÑÑ€ĐµĐ´Đ½ĐµĐ²ĐµĐºĐ¾Đ²Ñ‹Đ¹ Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹ Đ´Đ¾ 1606 Đ³.
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Ñ€Đ¼ÑĐ½ÑĐºĐ¸Đ¹
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾-Đ°Ñ€Đ¼ÑĐ½ÑĐºĐ¸Đ¹
- Đ£Đ½Đ¸Ñ„Đ¸Ñ†Đ¸Ñ€Đ¾Đ²Đ°Đ½Đ½Ñ‹Đ¹ Ñ‚ÑÑ€ÑĐºĐ¾-Đ»Đ°Ñ‚Đ¸Đ½ÑĐºĐ¸Đ¹ Đ°Đ»Ñ„Đ°Đ²Đ¸Ñ‚
- ĐœĐµĐ¶Đ´ÑƒĐ½Đ°Ñ€Đ¾Đ´Đ½Ñ‹Đ¹ Ñ„Đ¾Đ½ĐµÑ‚Đ¸Ñ‡ĐµÑĐºĐ¸Đ¹ Đ°Đ»Ñ„Đ°Đ²Đ¸Ñ‚
- ĐœĐ¾Đ½Đ¾Ñ‚Đ¾Đ½Đ½Ñ‹Đ¹
- ĐœĐ½Đ¾Đ³Đ¾Ñ‚Đ¾Đ½Đ°Đ»ÑŒĐ½Ñ‹Đ¹
- ĐĐ¾Đ¼Đ¿ÑŒÑÑ‚ĐµÑ€Đ½Ñ‹Đ¹
- Đ ĐµĐ·ÑŒÑĐ½ÑĐºĐ¸Đ¹
- Đ¡Đ°Ñ…Đ¾
- ĐĐ½Đ³Đ»Đ¾-ÑˆĐ¾Ñ‚Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹
- Đ¢Đ°Ñ€Đ°ÑˆĐºĐµĐ²Đ¸Ñ†Đ°
- Đ’Đ°Đ»ĐµĐ½ÑĐ¸Đ¹ÑĐºĐ¸Đ¹
-
-
- ĐĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ¡Đ¾Đ¿Đ¾ÑÑ‚Đ°Đ²Đ»ĐµĐ½Đ¸Đµ
- ВалÑÑ‚Đ°
-
-
- Ñ‚Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ½Ñ‹Đ¹ ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹ - Big5
- Đ‘ÑƒĐ´Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- ĐĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ¿Ñ€ÑĐ¼Đ¾Đ¹ Đ¿Đ¾Ñ€ÑĐ´Đ¾Đº
- ÑƒĐ¿Ñ€Đ¾Ñ‰ĐµĐ½Đ½Ñ‹Đ¹ ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹ - GB2312
- Đ“Ñ€Đ¸Đ³Đ¾Ñ€Đ¸Đ°Đ½ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ•Đ²Ñ€ĐµĐ¹ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- ĐĐ°Ñ†Đ¸Đ¾Đ½Đ°Đ»ÑŒĐ½Ñ‹Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ Đ˜Đ½Đ´Đ¸Đ¸
- Đ˜ÑĐ»Đ°Đ¼ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ˜ÑĐ»Đ°Đ¼ÑĐºĐ¸Đ¹ Đ³Ñ€Đ°Đ¶Đ´Đ°Đ½ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ¯Đ¿Đ¾Đ½ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ¿Đ¾Ñ€ÑĐ´Đ¾Đº Ñ‚ĐµĐ»ĐµÑ„Đ¾Đ½Đ½Đ¾Đ¹ ĐºĐ½Đ¸Đ³Đ¸
- Đ¿Đ¸Đ½ÑŒĐ¸Đ½ÑŒ
- ĐĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ÑŒ
- Đ¿Đ¾ Ñ‡ĐµÑ€Ñ‚Đ°Đ¼
- Ñ‚Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ½Ñ‹Đ¹ Đ¿Đ¾Ñ€ÑĐ´Đ¾Đº
-
-
- ĐœĐµÑ‚Ñ€Đ¸Ñ‡ĐµÑĐºĐ°Ñ
- ĐĐ½Đ³Đ»Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ°Ñ
-
-
- Đ¯Đ·Ñ‹Đº: {0}
- ĐĐ°Đ¿Đ¸ÑĐ°Đ½Đ¸Đµ: {0}
- Đ ĐµĐ³Đ¸Đ¾Đ½: {0}
-
-
-
- titlecase-firstword
-
-
- [а-е Ñ‘ ж-Ñ]
- [a-e g i m n p r t-x]
- [a-z]
-
-
- «
- »
- â€
- “
-
-
-
-
-
-
-
- ÑĐ½Đ².
- Ñ„ĐµĐ²Ñ€.
- Đ¼Đ°Ñ€Ñ‚Đ°
- Đ°Đ¿Ñ€.
- Đ¼Đ°Ñ
- иÑĐ½Ñ
- иÑĐ»Ñ
- Đ°Đ²Đ³.
- ÑĐµĐ½Ñ‚.
- Đ¾ĐºÑ‚.
- Đ½Đ¾Ñб.
- Đ´ĐµĐº.
-
-
- ÑĐ½Đ²Đ°Ñ€Ñ
- Ñ„ĐµĐ²Ñ€Đ°Đ»Ñ
- Đ¼Đ°Ñ€Ñ‚Đ°
- Đ°Đ¿Ñ€ĐµĐ»Ñ
- Đ¼Đ°Ñ
- иÑĐ½Ñ
- иÑĐ»Ñ
- Đ°Đ²Đ³ÑƒÑÑ‚Đ°
- ÑĐµĐ½Ñ‚ÑĐ±Ñ€Ñ
- Đ¾ĐºÑ‚ÑĐ±Ñ€Ñ
- Đ½Đ¾ÑĐ±Ñ€Ñ
- Đ´ĐµĐºĐ°Đ±Ñ€Ñ
-
-
-
-
- ÑĐ½Đ².
- Ñ„ĐµĐ²Ñ€.
- Đ¼Đ°Ñ€Ñ‚
- Đ°Đ¿Ñ€.
- Đ¼Đ°Đ¹
- иÑĐ½ÑŒ
- иÑĐ»ÑŒ
- Đ°Đ²Đ³.
- ÑĐµĐ½Ñ‚.
- Đ¾ĐºÑ‚.
- Đ½Đ¾Ñб.
- Đ´ĐµĐº.
-
-
- Đ¯
- Ф
- Đœ
- Đ
- Đœ
- Đ˜
- Đ˜
- Đ
- Đ¡
- Đ
- Đ
- Đ”
-
-
- Đ¯Đ½Đ²Đ°Ñ€ÑŒ
- Đ¤ĐµĐ²Ñ€Đ°Đ»ÑŒ
- ĐœĐ°Ñ€Ñ‚
- ĐĐ¿Ñ€ĐµĐ»ÑŒ
- ĐœĐ°Đ¹
- Đ˜ÑĐ½ÑŒ
- Đ˜ÑĐ»ÑŒ
- ĐĐ²Đ³ÑƒÑÑ‚
- Đ¡ĐµĐ½Ñ‚ÑĐ±Ñ€ÑŒ
- ĐĐºÑ‚ÑĐ±Ñ€ÑŒ
- ĐĐ¾ÑĐ±Ñ€ÑŒ
- Đ”ĐµĐºĐ°Đ±Ñ€ÑŒ
-
-
-
-
-
-
- Đ’Ñ
- ĐŸĐ½
- Đ’Ñ‚
- Đ¡Ñ€
- Đ§Ñ‚
- ĐŸÑ‚
- Đ¡Đ±
-
-
- Đ²Đ¾ÑĐºÑ€ĐµÑĐµĐ½ÑŒĐµ
- Đ¿Đ¾Đ½ĐµĐ´ĐµĐ»ÑŒĐ½Đ¸Đº
- Đ²Ñ‚Đ¾Ñ€Đ½Đ¸Đº
- ÑÑ€ĐµĐ´Đ°
- Ñ‡ĐµÑ‚Đ²ĐµÑ€Đ³
- Đ¿ÑÑ‚Đ½Đ¸Ñ†Đ°
- ÑÑƒĐ±Đ±Đ¾Ñ‚Đ°
-
-
-
-
- Đ’
- ĐŸ
- Đ’
- Đ¡
- Ч
- ĐŸ
- Đ¡
-
-
- Đ’Đ¾ÑĐºÑ€ĐµÑĐµĐ½ÑŒĐµ
- ĐŸĐ¾Đ½ĐµĐ´ĐµĐ»ÑŒĐ½Đ¸Đº
- Đ’Ñ‚Đ¾Ñ€Đ½Đ¸Đº
- Đ¡Ñ€ĐµĐ´Đ°
- Đ§ĐµÑ‚Đ²ĐµÑ€Đ³
- ĐŸÑÑ‚Đ½Đ¸Ñ†Đ°
- Đ¡ÑƒĐ±Đ±Đ¾Ñ‚Đ°
-
-
-
-
-
-
- 1-Đ¹ ĐºĐ².
- 2-Đ¹ ĐºĐ².
- 3-Đ¹ ĐºĐ².
- 4-Đ¹ ĐºĐ².
-
-
- 1-Đ¹ ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
- 2-Đ¹ ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
- 3-Đ¹ ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
- 4-Đ¹ ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- AM
- PM
-
-
- Đ´Đ¾ Đ½.Ñ.
- Đ½.Ñ.
-
-
- Đ´Đ¾ Đ½.Ñ.
- Đ½.Ñ.
-
-
-
-
-
- EEEE, d MMMM y 'Đ³'.
-
-
-
-
- d MMMM y 'Đ³'.
-
-
-
-
- dd.MM.yyyy
-
-
-
-
- dd.MM.yy
-
-
-
-
-
-
- H:mm:ss zzzz
-
-
-
-
- H:mm:ss z
-
-
-
-
- H:mm:ss
-
-
-
-
- H:mm
-
-
-
-
-
- d
- E d
- H
- HH:mm
- HH:mm:ss
- H:mm
- L
- d.M
- E, M-d
- dd.MM
- LLL
- d MMM
- E MMM d
- d MMMM
- E MMMM d
- mm:ss
- mm:ss
- y
- yyyy-M
- EEE, yyyy-M-d
- MMM y
- E, d MMM y
- MMMM y
- Q y
- y QQQ
- MM.yy
- MMM yy
- EEE, d MMM yy
- Q yy
- y
- LLLL y
- MM.yyyy
- MMMM y
- QQQQ y 'Đ³'.
-
-
- {0} - {1}
-
- d-d
-
-
- HH-HH
- HH-HH
-
-
- HH:mm-HH:mm
- HH:mm-HH:mm
- HH:mm-HH:mm
-
-
- HH:mm-HH:mm v
- HH:mm-HH:mm v
- HH:mm-HH:mm v
-
-
- HH-HH v
- HH-HH v
-
-
- M-M
-
-
- dd.MM - dd.MM
- dd.MM - dd.MM
-
-
- E, MM-dd – E, MM-dd
- E, MM-dd – E, MM-dd
-
-
- MMM-MMM
-
-
- d-d MMM
- d MMM - d MMM
-
-
- d-d MMM
- d MMM - d MMM
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- MM.yy - MM.yy
- MM.yy - MM.yy
-
-
- dd.MM.yy - dd.MM.yy
- dd.MM.yy - dd.MM.yy
- dd.MM.yy - dd.MM.yy
-
-
- dd.MM.yy - dd.MM.yy
- dd.MM.yy - dd.MM.yy
- dd.MM.yy - dd.MM.yy
-
-
- MMM-MMM y 'Đ³'.
- MMM y - MMM y 'Đ³'.
-
-
- d-d MMM y 'Đ³'.
- d MMM - d MMM y 'Đ³'.
- d MMM y - d MMM y 'Đ³'.
-
-
- d-d MMM y 'Đ³'.
- d MMM - d MMM y 'Đ³'.
- d MMM y - d MMM y 'Đ³'.
-
-
- LLLL-LLLL y 'Đ³'.
- LLLL y - LLLL y 'Đ³'.
-
-
-
-
-
- ĐÑ€Đ°
-
-
- Đ“Đ¾Đ´
-
-
- ĐœĐµÑÑц
-
-
- ĐеделÑ
-
-
- Đ”ĐµĐ½ÑŒ
- ĐŸĐ¾Đ·Đ°Đ²Ñ‡ĐµÑ€Đ°
- Đ’Ñ‡ĐµÑ€Đ°
- Đ¡ĐµĐ³Đ¾Đ´Đ½Ñ
- Đ—Đ°Đ²Ñ‚Ñ€Đ°
- ĐŸĐ¾ÑĐ»ĐµĐ·Đ°Đ²Ñ‚Ñ€Đ°
-
-
- Đ”ĐµĐ½ÑŒ Đ½ĐµĐ´ĐµĐ»Đ¸
-
-
- AM/PM
-
-
- ЧаÑ
-
-
- ĐœĐ¸Đ½ÑƒÑ‚Đ°
-
-
- Đ¡ĐµĐºÑƒĐ½Đ´Đ°
-
-
- ЧаÑĐ¾Đ²Đ¾Đ¹ Đ¿Đ¾ÑÑ
-
-
-
-
-
-
-
- Đ¢Đ¸ÑˆÑ€ĐµĐ¹
- Đ¥ĐµÑˆĐ²Đ°Đ½
- ĐиÑĐ»ĐµĐ²
- Đ¢ĐµĐ²ĐµÑ‚
- Đ¨ĐµĐ²Đ°Ñ‚
- ĐĐ´Đ°Ñ€
- ĐиÑĐ°Đ½
- Đ˜ÑÑ€
- Đ¡Đ¸Đ²Đ°Đ½
- Đ¢Đ°Đ¼Đ¼ÑƒĐ·
- ĐĐ²
- ĐĐ»ÑƒĐ»
-
-
-
-
-
-
-
-
- ĐœÑƒÑ…Đ°Ñ€Ñ€Đ°Đ¼
- Đ¡Đ°Ñ„Đ°Ñ€
- Раби-ÑƒĐ»ÑŒ-Đ°Đ²Đ²Đ°Đ»ÑŒ
- Раби-ÑƒĐ»ÑŒ-Đ°Ñ…Đ¸Ñ€
- Đ”Đ¶ÑƒĐ¼Đ°Đ´-ÑƒĐ»ÑŒ-Đ°Đ²Đ²Đ°Đ»ÑŒ
- Đ”Đ¶ÑƒĐ¼Đ°Đ´-ÑƒĐ»ÑŒ-Đ°Ñ…Đ¸Ñ€
- Раджаб
- Đ¨Đ°Đ°Đ±Đ°Đ½
- Đ Đ°Đ¼Đ°Đ´Đ°Đ½
- Đ¨Đ°Đ²Đ²Đ°Đ»ÑŒ
- Đ—ÑƒĐ»ÑŒ-Đаада
- Đ—ÑƒĐ»ÑŒ-Đ¥Đ¸Đ´Đ¶Đ¶Đ°
-
-
-
-
-
-
-
-
- Đ¤Đ°Ñ€Đ²Đ°Ñ€Đ´Đ¸Đ½
- ĐÑ€Đ´Đ¸Đ±ĐµÑ…ĐµÑˆÑ‚
- Đ¥Đ¾Ñ€Đ´Đ°Đ´
- Đ¢Đ¸Ñ€
- ĐœĐ¾Ñ€Đ´Đ°Đ´
- Đ¨Đ°Ñ…Ñ€Đ¸Đ²ĐµÑ€
- ĐœĐµÑ…Ñ€
- ĐĐ±Đ°Đ½
- ĐĐ·ĐµÑ€
- Đ”ĐµĐ¹
- Đ‘Đ°Ñ…Đ¼Đ°Đ½
- ĐÑÑ„Đ°Đ½Đ´
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
- {1} ({0})
-
- ĐĐµĐ¸Đ·Đ²ĐµÑÑ‚Đ½Ñ‹Đ¹
-
-
- ĐĐ½Đ´Đ¾Ñ€Ñ€Đ°
-
-
- Đ”ÑƒĐ±Đ°Đ¹
-
-
- ĐĐ°Đ±ÑƒĐ»
-
-
- ĐĐ½Ñ‚Đ¸Đ³ÑƒĐ°
-
-
- ĐĐ½Đ³Đ¸Đ»ÑŒÑ
-
-
- Đ¢Đ¸Ñ€Đ°Đ½Đ°
-
-
- Đ•Ñ€ĐµĐ²Đ°Đ½
-
-
- ĐÑÑ€Đ°ÑĐ°Đ¾
-
-
- Đ›ÑƒĐ°Đ½Đ´Đ°
-
-
- Đ Đ¾Ñ‚ĐµÑ€Đ°
-
-
- ĐŸĐ°Đ»Đ¼ĐµÑ€
-
-
- Đ®Đ¶Đ½Ñ‹Đ¹ Đ¿Đ¾Đ»ÑÑ
-
-
- Đ¡ĐµĐ²Đ°
-
-
- ĐœĐ¾ÑƒÑĐ¾Đ½
-
-
- Đ”ĐµĐ¹Đ²Đ¸Ñ
-
-
- Đ’Đ¾ÑÑ‚Đ¾Đº
-
-
- ĐĐµĐ¹Ñи
-
-
- Đ”ÑĐ¼Đ¾Đ½-Đ´'Đ®Ñ€Đ²Đ¸Đ»ÑŒ
-
-
- ĐœĐ°Đº-ĐœĐµÑ€Đ´Đ¾
-
-
- Đ Đ¸Đ¾-Đ“Đ°Đ»ÑŒĐµĐ³Đ¾Ñ
-
-
- ĐœĐµĐ½Đ´Đ¾Ñа
-
-
- Đ¡Đ°Đ½-Đ¥ÑƒĐ°Đ½
-
-
- Đ£ÑˆÑƒĐ°Ñ
-
-
- Ла-Đ Đ¸Đ¾Ñ…Đ°
-
-
- Đ¡Đ°Đ½-Đ›ÑƒĐ¸Ñ
-
-
- ĐĐ°Ñ‚Đ°Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ–ÑƒĐ¶ÑƒĐ¹
-
-
- Đ¢ÑƒĐºÑƒĐ¼Đ°Đ½
-
-
- ĐĐ¾Ñ€Đ´Đ¾Đ²Đ°
-
-
- Đ‘ÑƒÑĐ½Đ¾Ñ-ĐĐ¹Ñ€ĐµÑ
-
-
- ĐŸĐ°Đ³Đ¾-ĐŸĐ°Đ³Đ¾
-
-
- Đ’ĐµĐ½Đ°
-
-
- ĐŸĐµÑ€Ñ‚
-
-
- Đ®ĐºĐ»Đ°
-
-
- Đ”Đ°Ñ€Đ²Đ¸Đ½
-
-
- Đделаида
-
-
- Đ‘Ñ€Đ¾ĐºĐµĐ½-Đ¥Đ¸Đ»Đ»
-
-
- ĐĐµÑ€Ñ€Đ¸
-
-
- ĐœĐµĐ»ÑŒĐ±ÑƒÑ€Đ½
-
-
- Đ¥Đ¾Đ±Đ°Ñ€Ñ‚
-
-
- Đ›Đ¸Đ½Đ´ĐµĐ¼Đ°Đ½
-
-
- Đ¡Đ¸Đ´Đ½ĐµĐ¹
-
-
- Đ‘Ñ€Đ¸ÑĐ±ĐµĐ½
-
-
- Đ›Đ¾Ñ€Đ´-Đ¥Đ°Ñƒ, Đ¾-Đ²
-
-
- ĐÑ€ÑƒĐ±Đ°
-
-
- ĐœĐ°Ñ€Đ¸ĐµÑ…Đ°Đ¼Đ½
-
-
- Đ‘Đ°ĐºÑƒ
-
-
- Đ¡Đ°Ñ€Đ°ĐµĐ²Đ¾
-
-
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾Ñ
-
-
- Đ”Đ°ĐºĐºĐ°
-
-
- Đ‘Ñ€ÑÑÑĐµĐ»ÑŒ
-
-
- Đ£Đ°Đ³Đ°Đ´ÑƒĐ³Ñƒ
-
-
- Đ¡Đ¾Ñ„Đ¸Ñ
-
-
- Đ‘Đ°Ñ…Ñ€ĐµĐ¹Đ½
-
-
- Đ‘ÑƒĐ¶ÑƒĐ¼Đ±ÑƒÑ€Đ°
-
-
- ĐŸĐ¾Ñ€Ñ‚Đ¾-ĐĐ¾Đ²Đ¾
-
-
- Đ‘ĐµÑ€Đ¼ÑƒĐ´Ñ‹
-
-
- Đ‘Ñ€ÑƒĐ½ĐµĐ¹
-
-
- Ла-ĐŸĐ°Ñ
-
-
- ĐĐ¹Ñ€ÑƒĐ½ĐµĐ¿Đµ
-
-
- Đ Đ¸Ñƒ-Đ‘Ñ€Đ°Đ½ĐºÑƒ
-
-
- ĐŸĐ¾Ñ€Ñ‚Ñƒ-Đ’ĐµĐ»ÑŒÑ
-
-
- Đ‘Đ¾Đ°-ВиÑÑ‚Đ°
-
-
- ĐœĐ°Đ½Đ°ÑƒÑ
-
-
- ĐуÑба
-
-
- ĐĐ°Đ¼Đ¿Ñƒ-Đ“Ñ€Đ°Đ½Đ´Đ¸
-
-
- Đ‘ĐµĐ»ĐµĐ½
-
-
- ĐÑ€Đ°Đ³ÑƒĐ°Đ¸Đ½Đ°
-
-
- Đ¡Đ°Đ½-ĐŸĐ°ÑƒĐ»Ñƒ
-
-
- БаиÑ
-
-
- Đ¤Đ¾Ñ€Ñ‚Đ°Đ»ĐµĐ·Đ°
-
-
- ĐœĐ°ÑĐµĐ¹Đ¾
-
-
- РеÑĐ¸Ñ„Đ¸
-
-
- ĐĐ¾Ñ€Đ¾Đ½Ñ…Đ°
-
-
- ĐаÑÑĐ°Ñƒ
-
-
- Đ¢Đ¸Đ¼Đ¿Ñƒ
-
-
- Đ“Đ°Đ±Đ¾Ñ€Đ¾Đ½Đµ
-
-
- ĐœĐ¸Đ½ÑĐº
-
-
- Белиз
-
-
- Đ”Đ¾ÑƒÑĐ¾Đ½
-
-
- Đ£Đ°Đ¹Ñ‚Ñ…Đ¾Ñ€Ñ
-
-
- Đ˜Đ½ÑƒĐ²Đ¸Đº
-
-
- Đ’Đ°Đ½ĐºÑƒĐ²ĐµÑ€
-
-
- Đ”Đ¾ÑĐ¾Đ½-ĐÑ€Đ¸Đº
-
-
- Đ™ĐµĐ»Đ»Đ¾ÑƒĐ½Đ°Đ¹Ñ„
-
-
- ĐĐ´Đ¼Đ¾Đ½Ñ‚Đ¾Đ½
-
-
- Đ¡Đ²Đ¸Ñ„Ñ‚-ĐĐ°Ñ€ĐµĐ½Ñ‚
-
-
- ĐĐµĐ¹Đ¼Đ±Ñ€Đ¸Đ´Đ¶-Đ‘ĐµĐ¹
-
-
- Đ ĐµĐ´Đ¶Đ°Đ¹Đ½Đ°
-
-
- Đ’Đ¸Đ½Đ½Đ¸Đ¿ĐµĐ³
-
-
- Đ ĐµĐ·Đ¾Đ»ÑÑ‚
-
-
- Đ ĐµĐ¹Đ½Đ¸-Đ Đ¸Đ²ĐµÑ€
-
-
- Đ Đ°Đ½ĐºĐ¸Đ½-Đ˜Đ½Đ»ĐµÑ‚
-
-
- ĐĐ¾Ñ€Đ°Đ»-Đ¥Đ°Ñ€Đ±Đ¾Ñ€
-
-
- Đ¢Đ°Đ½Đ´ĐµÑ€-Đ‘ĐµĐ¹
-
-
- ĐĐ¸Đ¿Đ¸Đ³Đ¾Đ½
-
-
- Đ¢Đ¾Ñ€Đ¾Đ½Ñ‚Đ¾
-
-
- ĐœĐ¾Đ½Ñ€ĐµĐ°Đ»ÑŒ
-
-
- Đ˜ĐºĐ°Đ»ÑƒĐ¸Ñ‚
-
-
- ĐŸĐ°Đ½Đ³Đ½Đ¸Ñ€Ñ‚Đ°Đ½Đ³
-
-
- ĐœĐ¾Đ½ĐºÑ‚Đ¾Đ½
-
-
- Đ“Đ°Đ»Đ¸Ñ„Đ°ĐºÑ
-
-
- Đ“ÑƒÑ-Đ‘ĐµĐ¹
-
-
- Đ“Đ»ĐµĐ¹Ñ-Đ‘ĐµĐ¹
-
-
- Đ‘Đ»Đ°Đ½Đº-Đ¡Đ°Đ±Đ»Đ¾Đ½
-
-
- Đ¡ĐµĐ½Ñ‚-Đ”Đ¶Đ¾Đ½Ñ
-
-
- ĐĐ¾ĐºĐ¾ÑĐ¾Đ²Ñ‹Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
-
-
- ĐĐ¸Đ½ÑˆĐ°Ñа
-
-
- Đ›ÑƒĐ±ÑƒĐ¼Đ±Đ°ÑˆĐ¸
-
-
- Đ‘Đ°Đ½Đ³Đ¸
-
-
- Đ‘Ñ€Đ°Đ·Đ·Đ°Đ²Đ¸Đ»ÑŒ
-
-
- ЦÑÑ€Đ¸Ñ…
-
-
- ĐĐ±Đ¸Đ´Đ¶Đ°Đ½
-
-
- Đ Đ°Ñ€Đ¾Ñ‚Đ¾Đ½Đ³Đ°
-
-
- ĐŸĐ°ÑÑ…Đ¸, Đ¾-Đ²
-
-
- Đ¡Đ°Đ½Ñ‚ÑŒÑĐ³Đ¾
-
-
- Đ”ÑƒĐ°Đ»Đ°
-
-
- ĐĐ°ÑˆĐ³Đ°Ñ€
-
-
- Đ£Ñ€ÑƒĐ¼Ñ‡Đ¸
-
-
- Đ§ÑƒĐ½Ñ†Đ¸Đ½
-
-
- Đ¨Đ°Đ½Ñ…Đ°Đ¹
-
-
- Đ¥Đ°Ñ€Đ±Đ¸Đ½
-
-
- Đ‘Đ¾Đ³Đ¾Ñ‚Đ°
-
-
- ĐĐ¾ÑÑ‚Đ°-Đ Đ¸ĐºĐ°
-
-
- Đ“Đ°Đ²Đ°Đ½Đ°
-
-
- ĐÑÑ‚Ñ€Đ¾Đ²Đ° Đ—ĐµĐ»ĐµĐ½Đ¾Đ³Đ¾ ĐœÑ‹Ñа
-
-
- Đ Đ¾Đ¶Đ´ĐµÑÑ‚Đ²Đ°, Đ¾-Đ²
-
-
- ĐĐ¸ĐºĐ¾ÑиÑ
-
-
- ĐŸÑ€Đ°Đ³Đ°
-
-
- Đ‘ĐµÑ€Đ»Đ¸Đ½
-
-
- Đ”Đ¶Đ¸Đ±ÑƒÑ‚Đ¸
-
-
- ĐĐ¾Đ¿ĐµĐ½Đ³Đ°Đ³ĐµĐ½
-
-
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°
-
-
- Đ¡Đ°Đ½Ñ‚Đ¾-Đ”Đ¾Đ¼Đ¸Đ½Đ³Đ¾
-
-
- ĐĐ»Đ¶Đ¸Ñ€
-
-
- Đ“Đ°Đ»Đ°Đ¿Đ°Đ³Đ¾Ñ, Đ¾-Đ²Đ°
-
-
- Đ“ÑƒĐ°ÑĐºĐ¸Đ»ÑŒ
-
-
- Đ¢Đ°Đ»Đ»Đ¸Đ½
-
-
- ĐĐ°Đ¸Ñ€
-
-
- ĐĐ»ÑŒ-ĐÑĐ½
-
-
- ĐÑĐ¼ĐµÑ€Đ°
-
-
- ĐĐ°Đ½Đ°Ñ€ÑĐºĐ¸Đµ Đ¾-Đ²Đ°
-
-
- Đ¡ĐµÑƒÑ‚Đ°
-
-
- ĐœĐ°Đ´Ñ€Đ¸Đ´
-
-
- ĐддиÑ-Đбеба
-
-
- Đ¥ĐµĐ»ÑŒÑĐ¸Đ½ĐºĐ¸
-
-
- Фиджи
-
-
- Đ¡Ñ‚ÑĐ½Đ»Đ¸
-
-
- Đ¢Ñ€ÑƒĐº, Đ¾-Đ²Đ°
-
-
- ĐŸĐ¾Đ½Đ°Đ¿Đµ, Đ¾-Đ²
-
-
- ĐĐ¾ÑÑ€Đ°Đµ
-
-
- Đ¤Đ°Ñ€ĐµÑ€ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
-
-
- ĐŸĐ°Ñ€Đ¸Đ¶
-
-
- Đ›Đ¸Đ±Ñ€ĐµĐ²Đ¸Đ»ÑŒ
-
-
- Đ›Đ¾Đ½Đ´Đ¾Đ½
-
-
- Đ“Ñ€ĐµĐ½Đ°Đ´Đ°
-
-
- Đ¢Đ±Đ¸Đ»Đ¸Ñи
-
-
- ĐĐ°Đ¹ĐµĐ½Đ½Đ°
-
-
- Đ“ĐµÑ€Đ½Ñи
-
-
- ĐĐºĐºÑ€Đ°
-
-
- Đ“Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€
-
-
- Đ¢ÑƒĐ»Đµ
-
-
- Đ“Đ¾Ñ‚Ñ…Đ¾Đ±
-
-
- Đ¡ĐºĐ¾Ñ€ÑбиÑÑƒĐ½Đ½
-
-
- Đ”ĐµĐ½Đ¼Đ°Ñ€ĐºÑÑ…Đ°Đ²Đ½
-
-
- Đ‘Đ°Đ½Đ¶ÑƒĐ»
-
-
- ĐĐ¾Đ½Đ°ĐºÑ€Đ¸
-
-
- Đ“Đ²Đ°Đ´ĐµĐ»ÑƒĐ¿Đ°
-
-
- ĐœĐ°Đ»Đ°Đ±Đ¾
-
-
- ĐÑ„Đ¸Đ½Ñ‹
-
-
- Đ®.Đ”Đ¶Đ¾Ñ€Đ´Đ¶Đ¸Ñ Đ¸ Đ®.Đ¡ÑĐ½Đ´Đ²Đ¸Đ½Ñ‡ĐµĐ²Ñ‹ Đ¾-Đ²Đ°
-
-
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»Đ°
-
-
- Đ“ÑƒĐ°Đ¼
-
-
- БиÑĐ°Ñƒ
-
-
- Đ“Đ°Đ¹Đ°Đ½Đ°
-
-
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³
-
-
- Đ¢ĐµĐ³ÑƒÑĐ¸Đ³Đ°Đ»ÑŒĐ¿Đ°
-
-
- Đ—Đ°Đ³Ñ€ĐµĐ±
-
-
- ĐŸĐ¾Ñ€Ñ‚-Đ¾-ĐŸÑ€ĐµĐ½Ñ
-
-
- Đ‘ÑƒĐ´Đ°Đ¿ĐµÑˆÑ‚
-
-
- Đ”Đ¶Đ°ĐºĐ°Ñ€Ñ‚Đ°
-
-
- ĐŸĐ¾Đ½Ñ‚Đ¸Đ°Đ½Đ°Đº
-
-
- ĐœĐ°ĐºĐ°ÑĐ°Ñ€
-
-
- Đ”Đ¶Đ°Đ¹Đ¿ÑƒÑ€
-
-
- Đ”ÑƒĐ±Đ»Đ¸Đ½
-
-
- Đ˜ĐµÑ€ÑƒÑĐ°Đ»Đ¸Đ¼
-
-
- ĐœÑĐ½, Đ¾-Đ²
-
-
- ĐĐ°Đ»ÑŒĐºÑƒÑ‚Ñ‚Đ°
-
-
- Đ§Đ°Đ³Đ¾Ñ
-
-
- Đ‘Đ°Đ³Đ´Đ°Đ´
-
-
- Đ¢ĐµĐ³ĐµÑ€Đ°Đ½
-
-
- Đ ĐµĐ¹ĐºÑŒÑĐ²Đ¸Đº
-
-
- Đ Đ¸Đ¼
-
-
- Đ”Đ¶ĐµÑ€Ñи
-
-
- Đ¯Đ¼Đ°Đ¹ĐºĐ°
-
-
- ĐĐ¼Đ¼Đ°Đ½
-
-
- Đ¢Đ¾ĐºĐ¸Đ¾
-
-
- ĐĐ°Đ¹Ñ€Đ¾Đ±Đ¸
-
-
- Đ‘Đ¸ÑˆĐºĐµĐº
-
-
- ĐŸĐ½Đ¾Đ¼Đ¿ĐµĐ½ÑŒ
-
-
- ĐĐ½Đ´ĐµÑ€Đ±ĐµÑ€Đ¸, Đ¾-Đ²
-
-
- ĐĐ¸Ñ€Đ¸Ñ‚Đ¸Đ¼Đ°Ñ‚Đ¸
-
-
- Đ¢Đ°Ñ€Đ°Đ²Đ°
-
-
- ĐĐ¾Đ¼Đ¾Ñ€ÑĐºĐ¸Đµ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
-
-
- Đ¡ĐµĐ½Ñ‚-ĐĐ¸Ñ‚Ñ
-
-
- ĐŸÑ…ĐµĐ½ÑŒÑĐ½
-
-
- Đ¡ĐµÑƒĐ»
-
-
- ĐÑƒĐ²ĐµĐ¹Ñ‚
-
-
- ĐĐ°Đ¹Đ¼Đ°Đ½Đ¾Đ²Ñ‹ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ°
-
-
- ĐĐºÑ‚Đ°Ñƒ
-
-
- ĐÑ€Đ°Đ» (Đ£Ñ€Đ°Đ»ÑŒÑĐº)
-
-
- ĐĐºÑ‚Đ¾Đ±Đµ (ĐĐºÑ‚ÑĐ±Đ¸Đ½ÑĐº)
-
-
- ĐÑ‹Đ·Ñ‹Đ»Đ¾Ñ€Đ´Đ°
-
-
- ĐĐ»Đ¼Đ°Ñ‚Ñ‹
-
-
- Đ’ÑŒĐµĐ½Ñ‚ÑŒÑĐ½
-
-
- Đ‘ĐµĐ¹Ñ€ÑƒÑ‚
-
-
- Đ¡ĐµĐ½Ñ‚-Đ›ÑÑиÑ
-
-
- Đ’Đ°Đ´ÑƒÑ†
-
-
- ĐĐ¾Đ»Đ¾Đ¼Đ±Đ¾
-
-
- ĐœĐ¾Đ½Ñ€Đ¾Đ²Đ¸Ñ
-
-
- ĐœĐ°ÑĐµÑ€Ñƒ
-
-
- Đ’Đ¸Đ»ÑŒĐ½ÑÑ
-
-
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³
-
-
- Đ Đ¸Đ³Đ°
-
-
- Đ¢Ñ€Đ¸Đ¿Đ¾Đ»Đ¸
-
-
- ĐаÑĐ°Đ±Đ»Đ°Đ½ĐºĐ°
-
-
- ĐœĐ¾Đ½Đ°ĐºĐ¾
-
-
- ĐĐ¸ÑˆĐ¸Đ½ĐµĐ²
-
-
- ĐŸĐ¾Đ´Đ³Đ¾Ñ€Đ¸Ñ†Đ°
-
-
- ĐĐ½Ñ‚Đ°Đ½Đ°Đ½Đ°Ñ€Đ¸Đ²Ñƒ
-
-
- ĐĐ²Đ°Đ´Đ¶Đ°Đ»ĐµĐ¹Đ½
-
-
- ĐœĐ°Đ´Đ¶ÑƒÑ€Đ¾
-
-
- Đ¡ĐºĐ¾Đ¿ÑŒĐµ
-
-
- Đ‘Đ°Đ¼Đ°ĐºĐ¾
-
-
- Đ Đ°Đ½Đ³ÑƒĐ½
-
-
- Đ¥Đ¾Đ²Đ´
-
-
- Đ£Đ»Đ°Đ½-Đ‘Đ°Ñ‚Đ¾Ñ€
-
-
- Đ§Đ¾Đ¹Đ±Đ°Đ»ÑĐ°Đ½
-
-
- ĐœĐ°ĐºĐ°Đ¾
-
-
- Đ¡Đ°Đ¹Đ¿Đ°Đ½
-
-
- ĐœĐ°Ñ€Ñ‚Đ¸Đ½Đ¸ĐºĐ°
-
-
- ĐÑƒĐ°ĐºÑˆĐ¾Ñ‚
-
-
- ĐœĐ¾Đ½ÑĐµÑ€Ñ€Đ°Ñ‚
-
-
- ĐœĐ°Đ»ÑŒÑ‚Đ°
-
-
- ĐœĐ°Đ²Ñ€Đ¸ĐºĐ¸Đ¹
-
-
- ĐœĐ°Đ»ÑŒĐ´Đ¸Đ²Ñ‹
-
-
- Đ‘Đ»Đ°Đ½Ñ‚Đ°Đ¹Ñ€
-
-
- Đ¢Đ¸Ñ…ÑƒĐ°Đ½Đ°
-
-
- ĐÑ€Đ¼Đ¾ÑĐ¸Đ»ÑŒĐ¾
-
-
- ĐœĐ°ÑĐ°Ñ‚Đ»Đ°Đ½
-
-
- Đ§Đ¸ÑƒĐ°ÑƒĐ°
-
-
- ĐœĐ¾Đ½Ñ‚ĐµÑ€Ñ€ĐµĐ¹
-
-
- ĐœĐµÑ…Đ¸ĐºĐ¾
-
-
- ĐœĐµÑ€Đ¸Đ´Đ°
-
-
- ĐĐ°Đ½ĐºÑƒĐ½
-
-
- ĐÑƒĐ°Đ»Đ°-Đ›ÑƒĐ¼Đ¿ÑƒÑ€
-
-
- ĐÑƒÑ‡Đ¸Đ½Đ³
-
-
- ĐœĐ°Đ¿ÑƒÑ‚Ñƒ
-
-
- Đ’Đ¸Đ½Đ´Ñ…ÑƒĐº
-
-
- ĐÑƒĐ¼ĐµĐ°
-
-
- ĐĐ¸Đ°Đ¼ĐµĐ¹
-
-
- ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº
-
-
- Đ›Đ°Đ³Đ¾Ñ
-
-
- ĐœĐ°Đ½Đ°Đ³ÑƒĐ°
-
-
- ĐĐ¼ÑÑ‚ĐµÑ€Đ´Đ°Đ¼
-
-
- ĐÑĐ»Đ¾
-
-
- ĐĐ°Ñ‚Đ¼Đ°Đ½Đ´Ñƒ
-
-
- ĐĐ°ÑƒÑ€Ñƒ
-
-
- ĐĐ¸ÑƒÑ
-
-
- Đ§Đ°Ñ‚ĐµĐ¼, Đ¾-Đ²
-
-
- ĐĐºĐ»ĐµĐ½Đ´
-
-
- ĐœĐ°ÑĐºĐ°Ñ‚
-
-
- ĐŸĐ°Đ½Đ°Đ¼Đ°
-
-
- Đ›Đ¸Đ¼Đ°
-
-
- Đ¢Đ°Đ¸Ñ‚Đ¸, Đ¾-Đ²
-
-
- ĐœĐ°Ñ€ĐºĐ¸Đ·ÑĐºĐ¸Đµ Đ¾-Đ²Đ°
-
-
- Đ“Đ°Đ¼Đ±ÑŒĐµ, Đ¾-Đ²Đ°
-
-
- ĐŸĐ¾Ñ€Ñ‚-ĐœĐ¾Ñ€Ñби
-
-
- ĐœĐ°Đ½Đ¸Đ»Đ°
-
-
- ĐĐ°Ñ€Đ°Ñ‡Đ¸
-
-
- Đ’Đ°Ñ€ÑˆĐ°Đ²Đ°
-
-
- ĐœĐ¸ĐºĐµĐ»Đ¾Đ½
-
-
- ĐŸĐ¸Ñ‚ĐºĐµÑ€Đ½
-
-
- ĐŸÑƒÑÑ€Ñ‚Đ¾-Đ Đ¸ĐºĐ¾
-
-
- Газа
-
-
- ĐĐ·Đ¾Ñ€ÑĐºĐ¸Đµ Đ¾-Đ²Đ°
-
-
- ĐœĐ°Đ´ĐµĐ¹Ñ€Đ°, Đ¾-Đ²
-
-
- ЛиÑÑĐ°Đ±Đ¾Đ½
-
-
- ĐŸĐ°Đ»Đ°Ñƒ
-
-
- ĐÑÑƒĐ½ÑÑŒĐ¾Đ½
-
-
- ĐĐ°Ñ‚Đ°Ñ€
-
-
- РеÑĐ½ÑŒĐ¾Đ½
-
-
- Đ‘ÑƒÑ…Đ°Ñ€ĐµÑÑ‚
-
-
- Đ‘ĐµĐ»Đ³Ñ€Đ°Đ´
-
-
- ĐĐ°Đ»Đ¸Đ½Đ¸Đ½Đ³Ñ€Đ°Đ´
-
-
- ĐœĐ¾ÑĐºĐ²Đ°
-
-
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´
-
-
- Đ¡Đ°Đ¼Đ°Ñ€Đ°
-
-
- Đ•ĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ³
-
-
- ĐĐ¼ÑĐº
-
-
- ĐĐ¾Đ²Đ¾ÑĐ¸Đ±Đ¸Ñ€ÑĐº
-
-
- ĐÑ€Đ°ÑĐ½Đ¾ÑÑ€ÑĐº
-
-
- Đ˜Ñ€ĐºÑƒÑ‚ÑĐº
-
-
- Đ¯ĐºÑƒÑ‚ÑĐº
-
-
- Đ’Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Đº
-
-
- Đ¡Đ°Ñ…Đ°Đ»Đ¸Đ½, Đ¾-Đ²
-
-
- ĐœĐ°Đ³Đ°Đ´Đ°Đ½
-
-
- ĐŸĐµÑ‚Ñ€Đ¾Đ¿Đ°Đ²Đ»Đ¾Đ²ÑĐº-ĐĐ°Đ¼Ñ‡Đ°Ñ‚ÑĐºĐ¸Đ¹
-
-
- ĐĐ½Đ°Đ´Ñ‹Ñ€ÑŒ
-
-
- ĐĐ¸Đ³Đ°Đ»Đ¸
-
-
- ĐÑ€-РиÑĐ´
-
-
- Đ“Đ²Đ°Đ´Đ°Đ»ĐºĐ°Đ½Đ°Đ»
-
-
- ĐœĐ°Ñ
-
-
- Đ¥Đ°Ñ€Ñ‚ÑƒĐ¼
-
-
- Đ¡Ñ‚Đ¾ĐºĐ³Đ¾Đ»ÑŒĐ¼
-
-
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€
-
-
- Đ¡Đ². Đ•Đ»ĐµĐ½Ñ‹, Đ¾-Đ²
-
-
- Đ›ÑблÑĐ½Đ°
-
-
- Đ›Đ¾Đ½Đ³Đ¹Đ¸Ñ€
-
-
- Đ‘Ñ€Đ°Ñ‚Đ¸ÑĐ»Đ°Đ²Đ°
-
-
- Đ¤Ñ€Đ¸Ñ‚Đ°ÑƒĐ½
-
-
- Đ¡Đ°Đ½-ĐœĐ°Ñ€Đ¸Đ½Đ¾
-
-
- Đ”Đ°ĐºĐ°Ñ€
-
-
- ĐœĐ¾Đ³Đ°Đ´Đ¸ÑˆĐ¾
-
-
- ĐŸĐ°Ñ€Đ°Đ¼Đ°Ñ€Đ¸Đ±Đ¾
-
-
- Đ¡Đ°Đ½-Đ¢Đ¾Đ¼Đµ
-
-
- Đ¡Đ°Đ»ÑŒĐ²Đ°Đ´Đ¾Ñ€
-
-
- Đ”Đ°Đ¼Đ°ÑĐº
-
-
- ĐœĐ±Đ°Đ±Đ°Đ½Đµ
-
-
- Đ“Ñ€Đ°Đ½Đ´ Đ¢ÑƒÑ€Đº
-
-
- ĐĐ´Đ¶Đ°Đ¼ĐµĐ½Đ°
-
-
- ĐĐµÑ€Đ³ĐµĐ»ĐµĐ½
-
-
- Đ›Đ¾Đ¼Đµ
-
-
- Đ‘Đ°Đ½Đ³ĐºĐ¾Đº
-
-
- Đ”ÑƒÑˆĐ°Đ½Đ±Đµ
-
-
- Đ¤Đ°ĐºĐ°Đ¾Ñ„Đ¾
-
-
- Дили
-
-
- ĐÑˆĐ³Đ°Đ±Đ°Ñ‚
-
-
- Đ¢ÑƒĐ½Đ¸Ñ
-
-
- Đ¢Đ¾Đ½Đ³Đ°Ñ‚Đ°Đ¿Ñƒ
-
-
- Đ¡Ñ‚Đ°Đ¼Đ±ÑƒĐ»
-
-
- ĐŸĐ¾Ñ€Ñ‚-Đ¾Ñ„-Đ¡Đ¿ĐµĐ¹Đ½
-
-
- Đ¤ÑƒĐ½Đ°Ñ„ÑƒÑ‚Đ¸
-
-
- Đ¢Đ°Đ¹Đ±ÑĐ¹
-
-
- Đ”Đ°Ñ€-ÑÑ-Đ¡Đ°Đ»Đ°Đ¼
-
-
- Đ£Đ¶Đ³Đ¾Ñ€Đ¾Đ´
-
-
- ĐĐ¸ĐµĐ²
-
-
- Đ¡Đ¸Đ¼Ñ„ĐµÑ€Đ¾Đ¿Đ¾Đ»ÑŒ
-
-
- Đ—Đ°Đ¿Đ¾Ñ€Đ¾Đ¶ÑŒĐµ
-
-
- ĐĐ°Đ¼Đ¿Đ°Đ»Đ°
-
-
- ĐœĐ¸Đ´ÑƒÑĐ¹, Đ¾-Đ²Đ°
-
-
- Đ”Đ¶Đ¾Đ½ÑÑ‚Đ¾Đ½, Đ°Ñ‚.
-
-
- Đ£ÑĐ¹Đº, Đ¾-Đ²
-
-
- ĐĐ´Đ°Đº, Đ¾-Đ²
-
-
- ĐĐ¾Đ¼
-
-
- Đ“Đ¾Đ½Đ¾Đ»ÑƒĐ»Ñƒ
-
-
- ĐĐ½ĐºĐ¾Ñ€Đ¸Đ´Đ¶
-
-
- Đ¯ĐºÑƒÑ‚Đ°Ñ‚
-
-
- Đ”Đ¶ÑƒĐ½Đ¾
-
-
- Đ›Đ¾Ñ-ĐĐ½Đ´Đ¶ĐµĐ»ĐµÑ
-
-
- Đ‘Đ¾Đ¹Ñе
-
-
- Đ¤Đ¸Đ½Đ¸ĐºÑ
-
-
- Đ¨Đ¸Đ¿Ñ€Đ¾Đº
-
-
- Đ”ĐµĐ½Đ²ĐµÑ€
-
-
- ĐÑŒÑ-Đ¡Đ°Đ»ĐµĐ¼
-
-
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ°Ñ Đ”Đ°ĐºĐ¾Ñ‚Đ° - Đ¦ĐµĐ½Ñ‚Ñ€
-
-
- Đ§Đ¸ĐºĐ°Đ³Đ¾
-
-
- ĐœĐµĐ½Đ¾Đ¼Đ¸Đ½Đ¸
-
-
- Đ’Đ¸Đ½ÑĐµĐ½Ñ
-
-
- ĐŸĐµÑ‚ĐµÑ€ÑĐ±ÑƒÑ€Đ³
-
-
- Đ¢ĐµĐ»Đ»-Đ¡Đ¸Ñ‚Đ¸
-
-
- ĐĐ¾ĐºÑ
-
-
- Đ’Đ¸Đ½Đ°Đ¼Đ°Đº
-
-
- ĐœĐ°Ñ€ĐµĐ½Đ³Đ¾
-
-
- Đ˜Đ½Đ´Đ¸Đ°Đ½Đ°Đ¿Đ¾Đ»Đ¸Ñ
-
-
- Đ›ÑƒĐ¸ÑĐ²Đ¸Đ»Đ»
-
-
- Đ’Đ¸Đ²ÑĐ¹
-
-
- ĐœĐ¾Đ½Ñ‚Đ¸ÑĐµĐ»Đ»Đ¾
-
-
- Đ”ĐµÑ‚Ñ€Đ¾Đ¹Ñ‚
-
-
- ĐÑŒÑ-Đ™Đ¾Ñ€Đº
-
-
- ĐœĐ¾Đ½Ñ‚ĐµĐ²Đ¸Đ´ĐµĐ¾
-
-
- Đ¡Đ°Đ¼Đ°Ñ€ĐºĐ°Đ½Đ´
-
-
- Đ¢Đ°ÑˆĐºĐµĐ½Ñ‚
-
-
- Đ’Đ°Ñ‚Đ¸ĐºĐ°Đ½
-
-
- Đ¡ĐµĐ½Ñ‚-Đ’Đ¸Đ½ÑĐµĐ½Ñ‚
-
-
- ĐĐ°Ñ€Đ°ĐºĐ°Ñ
-
-
- Đ¢Đ¾Ñ€Ñ‚Đ¾Đ»Đ°
-
-
- Đ¡ĐµĐ½Ñ‚-Đ¢Đ¾Đ¼Đ°Ñ
-
-
- Đ¡Đ°Đ¹Đ³Đ¾Đ½
-
-
- ĐÑ„Đ°Ñ‚Đµ
-
-
- Đ£Đ¾Đ»Đ»Đ¸Ñ
-
-
- ĐĐ¿Đ¸Ñ
-
-
- ĐĐ´ĐµĐ½
-
-
- ĐœĐ°Đ¹Đ¾Ñ€ĐºĐ°
-
-
- Đ™Đ¾Ñ…Đ°Đ½Đ½ĐµÑĐ±ÑƒÑ€Đ³
-
-
- Đ›ÑƒÑĐ°ĐºĐ°
-
-
- Đ¥Đ°Ñ€Đ°Ñ€Đµ
-
-
-
- ĐĐºÑ€Đ¸ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ€Đ¸ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ€Đ¸ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐºÑ€Đ¸ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ€Đ¸ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ€Đ¸ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- ĐÑ„Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐÑ„Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ®Đ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- ĐĐºÑ‚ÑĐ±Đ¸Đ½ÑĐº ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ‚ÑĐ±Đ¸Đ½ÑĐº Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐºÑ‚ÑĐ±Đ¸Đ½ÑĐº ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ‚ÑĐ±Đ¸Đ½ÑĐº Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐĐ»ÑÑĐºĐ° Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ»ÑÑĐºĐ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ»ÑÑĐºĐ° Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐ»ÑÑĐºĐ° Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ»ÑÑĐºĐ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ»ÑÑĐºĐ° Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
- true
-
-
-
- ĐĐ»Đ¼Đ°-ĐÑ‚Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ»Đ¼Đ°-ĐÑ‚Đ° Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐ»Đ¼Đ°-ĐÑ‚Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ»Đ¼Đ°-ĐÑ‚Đ° Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ¡Ñ€ĐµĐ´Đ½Đµ-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Ñ€ĐµĐ´Đ½Đµ-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Ñ€ĐµĐ´Đ½Đµ-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¡Ñ€ĐµĐ´Đ½Đµ-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Ñ€ĐµĐ´Đ½Đµ-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Ñ€ĐµĐ´Đ½Đµ-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ“Đ¾Ñ€Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ (Đ¡Đ¨Đ)
- Đ“Đ¾Ñ€Đ½Đ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ (Đ¡Đ¨Đ)
- Đ“Đ¾Ñ€Đ½Đ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ (Đ¡Đ¨Đ)
-
-
- Đ“Đ¾Ñ€Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ (Đ¡Đ¨Đ)
- Đ“Đ¾Ñ€Đ½Đ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ (Đ¡Đ¨Đ)
- Đ“Đ¾Ñ€Đ½Đ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ (Đ¡Đ¨Đ)
-
- true
-
-
-
- Đ¢Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¢Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐĐ½Đ°Đ´Ñ‹Ñ€ÑŒ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ½Đ°Đ´Ñ‹Ñ€ÑŒ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐ½Đ°Đ´Ñ‹Ñ€ÑŒ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐ½Đ°Đ´Ñ‹Ñ€ÑŒ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐĐºÑ‚Đ°Ñƒ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ‚Đ°Ñƒ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐºÑ‚Đ°Ñƒ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ‚Đ°Ñƒ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐĐºÑ‚Đ¾Đ±Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ‚Đ¾Đ±Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐºÑ‚Đ¾Đ±Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐĐºÑ‚Đ¾Đ±Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ°Ñ ĐÑ€Đ°Đ²Đ¸Ñ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° (Đ·Đ°Đ¿Đ°Đ´) ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° (Đ·Đ°Đ¿Đ°Đ´) ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐÑ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐÑ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ Đ´Đ½ĐµĐ²Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ Đ´Đ½ĐµĐ²Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- ĐĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ˜Đ½Đ´Đ¸Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ˜Đ½Đ´Đ¸Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ˜Đ½Đ´Đ¾ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ˜Đ½Đ´Đ¾ĐºĐ¸Ñ‚Đ°Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ°Ñ Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ°Ñ Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ°Ñ Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ°Ñ Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ°Ñ Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ°Ñ Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ˜Đ·Ñ€Đ°Đ¸Đ»ÑŒ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ˜Đ·Ñ€Đ°Đ¸Đ»ÑŒ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ˜Đ·Ñ€Đ°Đ¸Đ»ÑŒ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ˜Đ·Ñ€Đ°Đ¸Đ»ÑŒ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- Đ¯Đ¿Đ¾Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¯Đ¿Đ¾Đ½ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- ĐĐ¾Ñ€ĐµĐ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐĐ¾Ñ€ĐµĐ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
-
-
-
-
- ĐÑƒĐ¹Đ±Ñ‹ÑˆĐµĐ²ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑƒĐ¹Đ±Ñ‹ÑˆĐµĐ²ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐÑƒĐ¹Đ±Ñ‹ÑˆĐµĐ²ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐÑƒĐ¹Đ±Ñ‹ÑˆĐµĐ²ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- ĐœĐ¾ÑĐºĐ¾Đ²ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐœĐ¾ÑĐºĐ¾Đ²ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐœĐ¾ÑĐºĐ¾Đ²ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- ĐœĐ¾ÑĐºĐ¾Đ²ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐœĐ¾ÑĐºĐ¾Đ²ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- ĐœĐ¾ÑĐºĐ¾Đ²ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ¡Đ°Đ¼Đ°Ñ€ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Đ°Đ¼Đ°Ñ€ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¡Đ°Đ¼Đ°Ñ€ÑĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¡Đ°Đ¼Đ°Ñ€ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ¾Đµ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
-
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ÑĐºĐ¾Đµ Đ²Ñ€ĐµĐ¼Ñ
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ÑĐºĐ¾Đµ Đ»ĐµÑ‚Đ½ĐµĐµ Đ²Ñ€ĐµĐ¼Ñ
-
- true
-
-
-
-
-
- ,
- Â
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0Â %
-
-
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- ĐĐ½Đ´Đ¾Ñ€Ñ€ÑĐºĐ°Ñ Đ¿ĐµÑĐµÑ‚Đ°
- Đ°Đ½Đ´Đ¾Ñ€Ñ€ÑĐºĐ¸Đµ Đ¿ĐµÑĐµÑ‚Ñ‹
- Đ°Đ½Đ´Đ¾Ñ€Ñ€ÑĐºĐ¸Ñ… Đ¿ĐµÑĐµÑ‚
-
-
- Đ”Đ¸Ñ€Ñ…Đ°Đ¼ (ĐĐĐ)
-
-
- ĐÑ„Đ³Đ°Đ½Đ¸ (1927-2002)
-
-
- ĐÑ„Đ³Đ°Đ½Đ¸
-
-
- ĐĐ»Đ±Đ°Đ½ÑĐºĐ¸Đ¹ Đ»ĐµĐº
- Đ°Đ»Đ±Đ°Đ½ÑĐºĐ¸Ñ… Đ»ĐµĐºĐ°
- Đ°Đ»Đ±Đ°Đ½ÑĐºĐ¸Ñ… Đ»ĐµĐºĐ¾Đ²
-
-
- ĐÑ€Đ¼ÑĐ½ÑĐºĐ¸Đ¹ Đ´Ñ€Đ°Đ¼
- Đ°Ñ€Đ¼ÑĐ½ÑĐºĐ¸Ñ… Đ´Ñ€Đ°Đ¼Đ°
- Đ°Ñ€Đ¼ÑĐ½ÑĐºĐ¸Ñ… Đ´Ñ€Đ°Đ¼Đ¾Đ²
-
-
- ĐĐ¸Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹ Đ°Đ½Ñ‚Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑĐºĐ°Ñ ĐºĐ²Đ°Đ½Đ·Đ°
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑĐºĐ°Ñ ĐºĐ²Đ°Đ½Đ·Đ° (1977-1990)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑĐºĐ¸Đµ ĐºĐ²Đ°Đ½Đ·Ñ‹
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑĐºĐ°Ñ Đ½Đ¾Đ²Đ°Ñ ĐºĐ²Đ°Đ½Đ·Đ° (1990-2000)
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑĐºĐ°Ñ ĐºĐ²Đ°Đ½Đ·Đ° Ñ€ĐµÑÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑĐºĐ¸Đµ ĐºĐ²Đ°Đ½Đ·Ñ‹ Ñ€ĐµÑÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ· Ñ€ĐµÑÑÑ‚Đ°Đ´Đ¾ (1995-1999)
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Đ¹ Đ°ÑƒÑÑ‚Ñ€Đ°Đ»
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾ (1983-1985)
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- ĐĐ²ÑÑ‚Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑˆĐ¸Đ»Đ»Đ¸Đ½Đ³
-
-
- ĐĐ²ÑÑ‚Ñ€Đ°Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- ĐÑ€ÑƒĐ±Đ°Đ½ÑĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- Đ¡Ñ‚Đ°Ñ€Ñ‹Đ¹ Đ°Đ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½ÑĐºĐ¸Đ¹ Đ¼Đ°Đ½Đ°Ñ‚
-
-
- ĐĐ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½ÑĐºĐ¸Đ¹ Đ¼Đ°Đ½Đ°Ñ‚
-
-
- Đ”Đ¸Đ½Đ°Ñ€ Đ‘Đ¾ÑĐ½Đ¸Đ¸ и Đ“ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ¸Đ½Ñ‹
-
-
- ĐĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Ñ€ÑƒĐµĐ¼Đ°Ñ Đ¼Đ°Ñ€ĐºĐ° Đ‘Đ¾ÑĐ½Đ¸Đ¸ и Đ“ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ¸Đ½Ñ‹
-
-
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾ÑÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆÑĐºĐ°Ñ Ñ‚Đ°ĐºĐ°
-
-
- Đ‘ĐµĐ»ÑŒĐ³Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Ñ€ÑƒĐµĐ¼Ñ‹Đ¹)
-
-
- Đ‘ĐµĐ»ÑŒĐ³Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ‘ĐµĐ»ÑŒĐ³Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¾Đ²Ñ‹Đ¹)
-
-
- Đ›ĐµĐ²
-
-
- Đ‘Đ¾Đ»Đ³Đ°Ñ€ÑĐºĐ¸Đ¹ Đ»ĐµĐ²
-
-
- Đ‘Đ°Ñ…Ñ€ĐµĐ¹Đ½ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ‘ÑƒÑ€ÑƒĐ½Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ‘ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ‘Ñ€ÑƒĐ½ĐµĐ¹ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Đ°Đ½Đ¾
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Đ¹ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ¼Đ²Đ´Đ¾Đ»
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ Đ½Đ¾Đ²Ñ‹Đ¹ ĐºÑ€ÑƒĐ·ĐµĐ¹Ñ€Đ¾ (1967-1986)
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¾Đµ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ ĐºÑ€ÑƒĐ·ĐµĐ¹Ñ€Đ¾ (1990-1993)
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ Ñ€ĐµĐ°Đ»
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¾Đµ Đ½Đ¾Đ²Đ¾Đµ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ ĐºÑ€ÑƒĐ·ĐµĐ¹Ñ€Đ¾
-
-
- Đ‘Đ°Đ³Đ°Đ¼ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- ĐĐ³ÑƒĐ»Ñ‚Ñ€ÑƒĐ¼
-
-
- Джа
-
-
- Đ‘Đ¾Ñ‚ÑĐ²Đ°Đ½ÑĐºĐ°Ñ Đ¿ÑƒĐ»Đ°
-
-
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ (1994-1999)
-
-
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
-
-
- БелизÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- ĐĐ°Đ½Đ°Đ´ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- ĐĐ¾Đ½Đ³Đ¾Đ»ĐµĐ·ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- WIR ĐµĐ²Ñ€Đ¾
-
-
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- WIR Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ£ÑĐ»Đ¾Đ²Đ½Đ°Ñ Ñ€Đ°ÑÑ‡ĐµÑ‚Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Чили
-
-
- Đ§Đ¸Đ»Đ¸Đ¹ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- Đ®Đ°Đ½ÑŒ Đ ĐµĐ½Đ¼Đ¸Đ½Đ±Đ¸
-
-
- ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Đ¹ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- Đ•Đ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€ĐµĐ°Đ»ÑŒĐ½Đ¾Đ¹ ÑÑ‚Đ¾Đ¸Đ¼Đ¾ÑÑ‚Đ¸ ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Đ¸
-
-
- ĐĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Đ¹ ĐºĐ¾Đ»Đ¾Đ½
-
-
- Đ¡Ñ‚Đ°Ñ€Ñ‹Đ¹ Đ¡ĐµÑ€Đ±ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ§ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ†ĐºĐ°Ñ Ñ‚Đ²ĐµÑ€Đ´Đ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- ĐÑƒĐ±Đ¸Đ½ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- ĐÑĐºÑƒĐ´Đ¾ ĐĐ°Đ±Đ¾-Đ’ĐµÑ€Đ´Đµ
-
-
- ĐĐ¸Đ¿Ñ€ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ§ĐµÑˆÑĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾Đ³ĐµÑ€Đ¼Đ°Đ½ÑĐºĐ°Ñ Đ¼Đ°Ñ€ĐºĐ°
-
-
- ĐĐµĐ¼ĐµÑ†ĐºĐ°Ñ Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ¤Ñ€Đ°Đ½Đº Đ”Đ¶Đ¸Đ±ÑƒÑ‚Đ¸
-
-
- Đ”Đ°Ñ‚ÑĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- ĐĐ»Đ¶Đ¸Ñ€ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Đ¹ ÑÑƒĐºÑ€Đµ
-
-
- ĐŸĐ¾ÑÑ‚Đ¾ÑĐ½Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° ÑÑ‚Đ¾Đ¸Đ¼Đ¾ÑÑ‚Đ¸ ĐĐºĐ²Đ°Đ´Đ¾Ñ€Đ°
-
-
- ĐÑÑ‚Đ¾Đ½ÑĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ•Đ³Đ¸Đ¿ĐµÑ‚ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- ĐĐ°ĐºÑ„Đ°
-
-
- Đ˜ÑĐ¿Đ°Đ½ÑĐºĐ°Ñ Đ¿ĐµÑĐµÑ‚Đ° (Đ)
-
-
- Đ˜ÑĐ¿Đ°Đ½ÑĐºĐ°Ñ Đ¿ĐµÑĐµÑ‚Đ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Ñ€ÑƒĐµĐ¼Đ°Ñ)
-
-
- Đ˜ÑĐ¿Đ°Đ½ÑĐºĐ°Ñ Đ¿ĐµÑĐµÑ‚Đ°
-
-
- ĐÑ„Đ¸Đ¾Đ¿ÑĐºĐ¸Đ¹ Đ±Ñ‹Ñ€
-
-
- Đ•Đ²Ñ€Đ¾
-
-
- Đ¤Đ¸Đ½ÑĐºĐ°Ñ Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Фиджи
-
-
- Đ¤ÑƒĐ½Ñ‚ Đ¤Đ¾Đ»ĐºĐ»ĐµĐ½Đ´ÑĐºĐ¸Ñ… Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¾Đ²
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐĐ½Đ³Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚ ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ¾Đ²
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Đ½ÑĐºĐ¸Đ¹ ĐºÑƒĐ¿Đ¾Đ½
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Đ½ÑĐºĐ¸Đ¹ Đ»Đ°Ñ€Đ¸
-
-
- Đ“Đ°Đ½ÑĐºĐ¸Đ¹ Ñеди
-
-
- Đ¡ĐµĐ´Đ¸ Đ“Đ°Đ½Ñ‹
-
-
- Đ“Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ“Đ°Đ¼Đ±Đ¸Đ¹ÑĐºĐ¸Đ¹ далаÑи
-
-
- Đ“Đ²Đ¸Đ½ĐµĐ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ“Đ²Đ¸Đ½ĐµĐ¹ÑĐºĐ°Ñ Ñили
-
-
- ĐĐºĐ²ĐµĐ»Đµ ÑĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Đ°Đ»ÑŒĐ½Đ¾Đ¹ Đ“Đ²Đ¸Đ½ĐµĐ¸
-
-
- Đ“Ñ€ĐµÑ‡ĐµÑĐºĐ°Ñ Đ´Ñ€Đ°Ñ…Đ¼Đ°
-
-
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑŒÑĐºĐ¸Đ¹ ĐºĐµÑ‚ÑĐ°Đ»ÑŒ
-
-
- ĐÑĐºÑƒĐ´Đ¾ ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑĐºĐ¾Đ¹ Đ“Đ²Đ¸Đ½ĐµĐ¸
-
-
- ĐŸĐµÑĐ¾ Đ“Đ²Đ¸Đ½ĐµĐ¸-БиÑĐ°Ñƒ
-
-
- Đ“Đ°Đ¹Đ°Đ½ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ“Đ¾Đ½Đ´ÑƒÑ€Đ°ÑÑĐºĐ°Ñ Đ»ĐµĐ¼Đ¿Đ¸Ñ€Đ°
-
-
- Đ¥Đ¾Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ¥Đ¾Ñ€Đ²Đ°Ñ‚ÑĐºĐ°Ñ ĐºÑƒĐ½Đ°
-
-
- Đ“Đ°Đ¸Ñ‚ÑĐ½ÑĐºĐ¸Đ¹ Đ³ÑƒÑ€Đ´
-
-
- Đ’ĐµĐ½Đ³ĐµÑ€ÑĐºĐ¸Đ¹ Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚
-
-
- Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Đ¹ÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- Đ˜Ñ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ˜Đ·Ñ€Đ°Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- ĐĐ¾Đ²Ñ‹Đ¹ Đ¸Đ·Ñ€Đ°Đ¸Đ»ÑŒÑĐºĐ¸Đ¹ ÑˆĐµĐºĐµĐ»ÑŒ
-
-
- Đ˜Đ½Đ´Đ¸Đ¹ÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- Đ˜Ñ€Đ°ĐºÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ˜Ñ€Đ°Đ½ÑĐºĐ¸Đ¹ Ñ€Đ¸Đ°Đ»
-
-
- Đ˜ÑĐ»Đ°Đ½Đ´ÑĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ˜Ñ‚Đ°Đ»ÑŒÑĐ½ÑĐºĐ°Ñ Đ»Đ¸Ñ€Đ°
-
-
- Đ¯Đ¼Đ°Đ¹ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ˜Đ¾Ñ€Đ´Đ°Đ½ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ¯Đ¿Đ¾Đ½ÑĐºĐ°Ñ Đ¸ĐµĐ½Đ°
-
-
- ĐĐµĐ½Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑˆĐ¸Đ»Đ»Đ¸Đ½Đ³
-
-
- ĐĐ¸Ñ€Đ³Đ¸Đ·ÑĐºĐ¸Đ¹ ÑĐ¾Đ¼
-
-
- ĐĐ°Đ¼Đ±Đ¾Đ´Đ¶Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ€Đ¸ĐµĐ»ÑŒ
-
-
- Đ¤Ñ€Đ°Đ½Đº ĐĐ¾Đ¼Đ¾Ñ€ÑĐºĐ¸Ñ… Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¾Đ²
-
-
- Đ¡ĐµĐ²ĐµÑ€Đ¾-ĐºĐ¾Ñ€ĐµĐ¹ÑĐºĐ°Ñ Đ²Đ¾Đ½Đ°
-
-
- Đ’Đ¾Đ½Đ° РеÑĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ¸ ĐĐ¾Ñ€ĐµĐ¸
-
-
- ĐÑƒĐ²ĐµĐ¹Ñ‚ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ ĐĐ°Đ¹Đ¼Đ°Đ½Đ¾Đ²Ñ‹Ñ… Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¾Đ²
-
-
- ĐĐ°Đ·Đ°Ñ…ÑĐºĐ¸Đ¹ Ñ‚ĐµĐ½Đ³Đµ
-
-
- ĐĐ¸Đ¿ Đ›ĐĐ”Đ
-
-
- Đ›Đ¸Đ²Đ°Đ½ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¨Ñ€Đ¸-Đ›Đ°Đ½ĐºĐ¸Đ¹ÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- Đ›Đ¸Đ±ĐµÑ€Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ›Đ¾Ñ‚Đ¸
-
-
- Đ›Đ¸Ñ‚Đ¾Đ²ÑĐºĐ¸Đ¹ Đ»Đ¸Ñ‚
-
-
- Đ›Đ¸Ñ‚Đ¾Đ²ÑĐºĐ¸Đ¹ Ñ‚Đ°Đ»Đ¾Đ½
-
-
- ĐĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Ñ€ÑƒĐµĐ¼Ñ‹Đ¹ Ñ„Ñ€Đ°Đ½Đº Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³Đ°
-
-
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ¤Đ¸Đ½Đ°Đ½ÑĐ¾Đ²Ñ‹Đ¹ Ñ„Ñ€Đ°Đ½Đº Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³Đ°
-
-
- Đ›Đ°Ñ‚Đ²Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ»Đ°Ñ‚
-
-
- Đ›Đ°Ñ‚Đ²Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
-
-
- Đ›Đ¸Đ²Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐœĐ°Ñ€Đ¾ĐºĐºĐ°Đ½ÑĐºĐ¸Đ¹ Đ´Đ¸Ñ€Ñ…Đ°Đ¼
-
-
- ĐœĐ°Ñ€Đ¾ĐºĐºĐ°Đ½ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐœĐ¾Đ»Đ´Đ°Đ²ÑĐºĐ¸Đ¹ Đ»ĐµĐ¹
-
-
- ĐÑ€Đ¸Đ°Ñ€Đ¸
-
-
- ĐœĐ°Đ»Đ°Đ³Đ°ÑĐ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐœĐ°Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐÑŒÑÑ‚
-
-
- ĐœĐ¾Đ½Đ³Đ¾Đ»ÑŒÑĐºĐ¸Đ¹ Ñ‚ÑƒĐ³Ñ€Đ¸Đº
-
-
- ĐŸĐ°Ñ‚Đ°ĐºĐ°
-
-
- ĐœĐ°Đ²Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ°Ñ ÑƒĐ³Đ¸Ñ
-
-
- ĐœĐ°Đ»ÑŒÑ‚Đ¸Đ¹ÑĐºĐ°Ñ Đ»Đ¸Ñ€Đ°
-
-
- ĐœĐ°Đ»ÑŒÑ‚Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- ĐœĐ°Đ²Ñ€Đ¸ĐºĐ¸Đ¹ÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- ĐœĐ°Đ»ÑŒĐ´Đ¸Đ²ÑĐºĐ°Ñ Ñ€ÑƒÑ„Đ¸Ñ
-
-
- ĐœĐ°Đ»Đ°Đ²Đ¸Đ¹ÑĐºĐ°Ñ ĐºĐ²Đ°Ñ‡Đ°
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ Đ½Đ¾Đ²Đ¾Đµ Đ¿ĐµÑĐ¾
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ°Đ½ÑĐºĐ¾Đµ ÑĐµÑ€ĐµĐ±Ñ€ÑĐ½Đ¾Đµ Đ¿ĐµÑĐ¾ (1861-1992)
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ°Đ½ÑĐºĐ°Ñ Đ¿ĐµÑ€ĐµÑÑ‡ĐµÑ‚Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° (UDI)
-
-
- ĐœĐ°Đ»Đ°Đ¹Đ·Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ€Đ¸Đ½Đ³Đ³Đ¸Ñ‚
-
-
- ĐœĐ¾Đ·Đ°Đ¼Đ±Đ¸ĐºÑĐºĐ¾Đµ ÑÑĐºÑƒĐ´Đ¾
-
-
- Đ¡Ñ‚Đ°Ñ€Ñ‹Đ¹ Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸ĐºÑĐºĐ¸Đ¹ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
-
-
- ĐœĐµÑ‚Đ¸ĐºĐ°Đ»
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ ĐĐ°Đ¼Đ¸Đ±Đ¸Đ¸
-
-
- ĐĐ¸Đ³ĐµÑ€Đ¸Đ¹ÑĐºĐ°Ñ Đ½Đ°Đ¹Ñ€Đ°
-
-
- ĐĐ¸ĐºĐ°Ñ€Đ°Đ³ÑƒĐ°Đ½ÑĐºĐ°Ñ ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- Đ—Đ¾Đ»Đ¾Ñ‚Đ°Ñ ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- ĐĐ¸Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- ĐĐ¾Ñ€Đ²ĐµĐ¶ÑĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- ĐĐµĐ¿Đ°Đ»ÑŒÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- ĐĐ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- ĐĐ¼Đ°Đ½ÑĐºĐ¸Đ¹ Ñ€Đ¸Đ°Đ»
-
-
- ĐŸĐ°Đ½Đ°Đ¼ÑĐºĐ¾Đµ Đ±Đ°Đ»ÑŒĐ±Đ¾Đ°
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¾Đµ Đ¸Đ½Ñ‚Đ¸
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸Đ¹ Đ½Đ¾Đ²Ñ‹Đ¹ ÑĐ¾Đ»ÑŒ
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸Đ¹ ÑĐ¾Đ»ÑŒ
-
-
- ĐĐ¸Đ½Đ°
-
-
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¿Đ¸Đ½ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- ĐŸĐ¾Đ»ÑŒÑĐºĐ¸Đ¹ Đ·Đ»Đ¾Ñ‚Ñ‹Đ¹
-
-
- Đ—Đ»Đ¾Ñ‚Ñ‹Đ¹
-
-
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑĐºĐ¾Đµ ÑÑĐºÑƒĐ´Đ¾
-
-
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Đ¹ÑĐºĐ¸Đ¹ Đ³ÑƒĐ°Ñ€Đ°Đ½Đ¸
-
-
- ĐĐ°Ñ‚Đ°Ñ€ÑĐºĐ¸Đ¹ Ñ€Đ¸Đ°Đ»
-
-
- Đ Đ¾Đ´ĐµĐ·Đ¸Đ¹ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ¡Ñ‚Đ°Ñ€Ñ‹Đ¹ Đ ÑƒĐ¼Ñ‹Đ½ÑĐºĐ¸Đ¹ Đ»ĐµĐ¹
-
-
- Đ ÑƒĐ¼Ñ‹Đ½ÑĐºĐ¸Đ¹ Đ»ĐµĐ¹
-
-
- Đ¡ĐµÑ€Đ±ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ Đ¾ÑÑĐ¸Đ¹ÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
- Đ Đ¾ÑÑĐ¸Đ¹ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Đ»Ñ
- Đ Đ¾ÑÑĐ¸Đ¹ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Đ»ĐµĐ¹
- Đ Đ¾ÑÑĐ¸Đ¹ÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
- Đ Đ¾ÑÑĐ¸Đ¹ÑĐºĐ¾Đ³Đ¾ Ñ€ÑƒĐ±Đ»Ñ
- Ñ€ÑƒĐ±.
-
-
- Đ Đ¾ÑÑĐ¸Đ¹ÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ (1991-1998)
- р.
-
-
- Đ¤Ñ€Đ°Đ½Đº Đ ÑƒĐ°Đ½Đ´Ñ‹
-
-
- Đ¡Đ°ÑƒĐ´Đ¾Đ²ÑĐºĐ¸Đ¹ Ñ€Đ¸Đ°Đ»
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½Đ¾Đ²Ñ‹Ñ… Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¾Đ²
-
-
- Đ¡ĐµĐ¹ÑˆĐµĐ»ÑŒÑĐºĐ°Ñ Ñ€ÑƒĐ¿Đ¸Ñ
-
-
- Đ¡ÑƒĐ´Đ°Đ½ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ¡ÑƒĐ´Đ°Đ½ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¡Ñ‚Đ°Ñ€Ñ‹Đ¹ ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¨Đ²ĐµĐ´ÑĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ¤ÑƒĐ½Ñ‚ Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ° Đ¡Đ²ÑÑ‚Đ¾Đ¹ Đ•Đ»ĐµĐ½Ñ‹
-
-
- Đ¡Đ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Đ¹ Ñ‚Đ¾Đ»Đ°Ñ€
-
-
- Đ¡Đ»Đ¾Đ²Đ°Ñ†ĐºĐ°Ñ ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ›ĐµĐ¾Đ½Đµ
-
-
- Đ¡Đ¾Đ¼Đ°Đ»Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑˆĐ¸Đ»Đ»Đ¸Đ½Đ³
-
-
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- Đ”Đ¾Đ±Ñ€Đ°
-
-
- Đ ÑƒĐ±Đ»ÑŒ Đ¡Đ¡Đ¡Đ
-
-
- Đ¡Đ°Đ»ÑŒĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Đ¹ ĐºĐ¾Đ»Đ¾Đ½
-
-
- Đ¡Đ¸Ñ€Đ¸Đ¹ÑĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¡Đ²Đ°Đ·Đ¸Đ»ĐµĐ½Đ´ÑĐºĐ¸Đ¹ Đ»Đ¸Đ»Đ°Đ½Đ³ĐµĐ½Đ¸
-
-
- Đ¢Đ°Đ¸Đ»Đ°Đ½Đ´ÑĐºĐ¸Đ¹ Đ±Đ°Ñ‚
-
-
- Đ¢Đ°Đ´Đ¶Đ¸ĐºÑĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
-
-
- Đ¢Đ°Đ´Đ¶Đ¸ĐºÑĐºĐ¸Đ¹ ÑĐ¾Đ¼Đ¾Đ½Đ¸
-
-
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½ÑĐºĐ¸Đ¹ Đ¼Đ°Đ½Đ°Ñ‚
-
-
- Đ¢ÑƒĐ½Đ¸ÑÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐŸĐ°Đ°Đ½Đ³Đ°
-
-
- Đ¢Đ¸Đ¼Đ¾Ñ€ÑĐºĐ¾Đµ ÑÑĐºÑƒĐ´Đ¾
-
-
- Đ¢ÑƒÑ€ĐµÑ†ĐºĐ°Ñ Đ»Đ¸Ñ€Đ°
- Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Đµ Đ»Đ¸Ñ€Ñ‹
- Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Ñ… Đ»Đ¸Ñ€
- Ñ‚ÑƒÑ€ĐºÑ†ĐºĐ°Ñ Đ»Đ¸Ñ€Đ°
- Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Ñ… Đ»Đ¸Ñ€
-
-
- ĐĐ¾Đ²Đ°Ñ Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ°Ñ Đ»Đ¸Ñ€Đ°
- Đ½Đ¾Đ²Ñ‹Đµ Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Đµ Đ»Đ¸Ñ€Ñ‹
- ĐĐ¾Đ²Ñ‹Ñ… Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Ñ… Đ»Đ¸Ñ€
- ĐĐ¾Đ²Đ°Ñ Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ°Ñ Đ»Đ¸Ñ€Đ°
- Đ½Đ¾Đ²Ñ‹Ñ… Ñ‚ÑƒÑ€ĐµÑ†ĐºĐ¸Ñ… Đ»Đ¸Ñ€
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Đ¢Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´Đ° и Đ¢Đ¾Đ±Đ°Đ³Đ¾
-
-
- ĐĐ¾Đ²Ñ‹Đ¹ Ñ‚Đ°Đ¹Đ²Đ°Đ½ÑŒÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ¢Đ°Đ½Đ·Đ°Đ½Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑˆĐ¸Đ»Đ»Đ¸Đ½Đ³
-
-
- Đ£ĐºÑ€Đ°Đ¸Đ½ÑĐºĐ°Ñ Đ³Ñ€Đ¸Đ²Đ½Đ°
-
-
- ĐĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½ĐµÑ† (ÑƒĐºÑ€Đ°Đ¸Đ½ÑĐºĐ¸Đ¹)
-
-
- Đ¡Ñ‚Đ°Ñ€Ñ‹Đ¹ ÑƒĐ³Đ°Đ½Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑˆĐ¸Đ»Đ»Đ¸Đ½Đ³
-
-
- Đ£Đ³Đ°Đ½Đ´Đ¸Đ¹ÑĐºĐ¸Đ¹ ÑˆĐ¸Đ»Đ»Đ¸Đ½Đ³
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Đ¡Đ¨Đ
- $
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Đ¡Đ¨Đ ÑĐ»ĐµĐ´ÑƒÑÑ‰ĐµĐ³Đ¾ Đ´Đ½Ñ
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Đ¡Đ¨Đ Ñ‚ĐµĐºÑƒÑ‰ĐµĐ³Đ¾ Đ´Đ½Ñ
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹ÑĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾ (Đ¸Đ½Đ´ĐµĐºÑ Đ¸Đ½Ñ„Đ»ÑÑ†Đ¸Đ¸)
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹ÑĐºĐ¾Đµ ÑÑ‚Đ°Ñ€Đ¾Đµ Đ¿ĐµÑĐ¾ (1975-1993)
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹ÑĐºĐ¾Đµ Đ¿ĐµÑĐ¾
-
-
- Đ£Đ·Đ±ĐµĐºÑĐºĐ¸Đ¹ ÑÑƒĐ¼
-
-
- Đ’ĐµĐ½ĐµÑуÑĐ»ÑŒÑĐºĐ¸Đ¹ Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€
-
-
- Đ’ĐµĐ½ĐµÑуÑĐ»ÑŒÑĐºĐ¸Đ¹ Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€ фуÑÑ€Ñ‚Đµ
-
-
- Đ’ÑŒĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸Đ¹ Đ´Đ¾Đ½Đ³
-
-
- Đ’Đ°Ñ‚Ñƒ
-
-
- Đ¢Đ°Đ»Đ°
-
-
- Đ¤Ñ€Đ°Đ½Đº ĐФРВЕĐĐ¡
-
-
- Đ¡ĐµÑ€ĐµĐ±Ñ€Đ¾
-
-
- Đ—Đ¾Đ»Đ¾Ñ‚Đ¾
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ°Ñ ÑĐ¾ÑÑ‚Đ°Đ²Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ°Ñ Đ´ĐµĐ½ĐµĐ¶Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
-
-
- Ñ€Đ°ÑÑ‡ĐµÑ‚Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đ³Đ¾ Đ²Đ°Đ»ÑÑ‚Đ½Đ¾Đ³Đ¾ ÑĐ¾Đ³Đ»Đ°ÑˆĐµĐ½Đ¸Ñ (XBC)
-
-
- Ñ€Đ°ÑÑ‡ĐµÑ‚Đ½Đ°Ñ ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đ³Đ¾ Đ²Đ°Đ»ÑÑ‚Đ½Đ¾Đ³Đ¾ ÑĐ¾Đ³Đ»Đ°ÑˆĐµĐ½Đ¸Ñ (XBD)
-
-
- Đ’Đ¾ÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Ñ€Đ¸Đ±ÑĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ»Đ°Ñ€
-
-
- Đ¡Đ”Đ (ÑĐ¿ĐµÑ†Đ¸Đ°Đ»ÑŒĐ½Ñ‹Đµ Đ¿Ñ€Đ°Đ²Đ° Đ·Đ°Đ¸Đ¼ÑÑ‚Đ²Đ¾Đ²Đ°Đ½Đ¸Ñ)
-
-
- ĐĐĐ® (ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° ĐµĐ²Ñ€Đ¾Đ¿ĐµĐ¹ÑĐºĐ¾Đ¹ Đ²Đ°Đ»Ñты)
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹ Đ·Đ¾Đ»Đ¾Ñ‚Đ¾Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑĐºĐ¸Đ¹ UIC-Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ¤Ñ€Đ°Đ½Đº ĐĐ¤Đ Đ’Đ¡Đ•ĐĐ
-
-
- ĐŸĐ°Đ»Đ»Đ°Đ´Đ¸Đ¹
-
-
- Đ¤Ñ€Đ°Đ½Đº ĐĐ¤ĐŸ
-
-
- ĐŸĐ»Đ°Ñ‚Đ¸Đ½Đ°
-
-
- ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° RINET-Ñ„Đ¾Đ½Đ´Đ¾Đ²
-
-
- Ñ‚ĐµÑÑ‚Đ¾Đ²Ñ‹Đ¹ Đ²Đ°Đ»ÑÑ‚Đ½Ñ‹Đ¹ ĐºĐ¾Đ´
-
-
- ĐĐµĐ¸Đ·Đ²ĐµÑÑ‚Đ½Đ°Ñ Đ¸Đ»Đ¸ Đ½ĐµĐ´ĐµĐ¹ÑÑ‚Đ²Đ¸Ñ‚ĐµĐ»ÑŒĐ½Đ°Ñ Đ²Đ°Đ»ÑÑ‚Đ°
-
-
- Đ™ĐµĐ¼ĐµĐ½ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ™ĐµĐ¼ĐµĐ½ÑĐºĐ¸Đ¹ Ñ€Đ¸Đ°Đ»
-
-
- Đ®Đ³Đ¾ÑĐ»Đ°Đ²ÑĐºĐ¸Đ¹ Ñ‚Đ²ĐµÑ€Đ´Ñ‹Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ®Đ³Đ¾ÑĐ»Đ°Đ²ÑĐºĐ¸Đ¹ Đ½Đ¾Đ²Ñ‹Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ®Đ³Đ¾ÑĐ»Đ°Đ²ÑĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ®Đ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Đ¹ Ñ€ÑĐ½Đ´ (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¾Đ²Ñ‹Đ¹)
-
-
- Đ®Đ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Đ¹ Ñ€ÑĐ½Đ´
-
-
- ĐĐ²Đ°Ñ‡Đ° (Đ·Đ°Đ¼Đ±Đ¸Đ¹ÑĐºĐ°Ñ)
-
-
- ĐĐ¾Đ²Ñ‹Đ¹ Đ·Đ°Đ¸Ñ€
-
-
- Đ—Đ°Đ¸Ñ€
-
-
- Đ”Đ¾Đ»Đ»Đ°Ñ€ Đ—Đ¸Đ¼Đ±Đ°Đ±Đ²Đµ
-
-
-
-
-
- {0} Đ´Đ½Ñ
- {0} Đ´Đ½ĐµĐ¹
- {0} Đ´ĐµĐ½ÑŒ
- {0} Đ´Đ½Ñ
-
-
- {0} Ñ‡Đ°Ñа
- {0} Ñ‡Đ°ÑĐ¾Đ²
- {0} Ñ‡Đ°Ñ
- {0} Ñ‡Đ°Ñа
-
-
- {0} Đ¼Đ¸Đ½ÑƒÑ‚Ñ‹
- {0} Đ¼Đ¸Đ½ÑƒÑ‚
- {0} Đ¼Đ¸Đ½ÑƒÑ‚Đ°
- {0} Đ¼Đ¸Đ½ÑƒÑ‚Ñ‹
-
-
- {0} Đ¼ĐµÑÑÑ†Đ°
- {0} Đ¼ĐµÑÑÑ†ĐµĐ²
- {0} Đ¼ĐµÑÑц
- {0} Đ¼ĐµÑÑÑ†Đ°
-
-
- {0} ÑĐµĐºÑƒĐ½Đ´Ñ‹
- {0} ÑĐµĐºÑƒĐ½Đ´
- {0} ÑĐµĐºÑƒĐ½Đ´Đ°
- {0} ÑĐµĐºÑƒĐ½Đ´Ñ‹
-
-
- {0} Đ½ĐµĐ´ĐµĐ»Đ¸
- {0} Đ½ĐµĐ´ĐµĐ»ÑŒ
- {0} Đ½ĐµĐ´ĐµĐ»Ñ
- {0} Đ½ĐµĐ´ĐµĐ»Đ¸
-
-
- {0} Đ³Đ¾Đ´Đ°
- {0} Đ»ĐµÑ‚
- {0} Đ³Đ¾Đ´
- {0} Đ³Đ¾Đ´Đ°
-
-
-
-
- да:д
- Đ½ĐµÑ‚:Đ½
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ru_RU.xml b/airtime_mvc/library/Zend/Locale/Data/ru_RU.xml
deleted file mode 100644
index 1e31dcb84..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ru_RU.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ru_UA.xml b/airtime_mvc/library/Zend/Locale/Data/ru_UA.xml
deleted file mode 100644
index 14fe430f8..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ru_UA.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- Đ°Đ¿Đ°Ñ‡ÑĐºĐ¸Đ¹
- ÑĐ»ÑĐ¹Đ²Đ¸
- Đ¼Đ°Ñ€ÑˆĐ°Đ»ÑŒÑĐºĐ¸Đ¹
- ĐºĐ»Đ¸Đ½Đ³Đ¾Đ½
-
-
- Metric
- US
-
-
-
-
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
-
- HH-HH 'ч.'
-
-
- HH-HH 'ч.', v
-
-
- E, dd.MM - E, dd.MM
- E, dd.MM - E, dd.MM
-
-
- E, d - E, d MMM
- E, d MMM - E, d MMM
-
-
- E, dd.MM.yy - E, dd.MM.yy
- E, dd.MM.yy - E, dd.MM.yy
- E, dd.MM.yy - E, dd.MM.yy
-
-
- MMM-MMM y
- MMM y - MMM y
-
-
- d-d MMM y
- d MMM - d MMM y
- d MMM y - d MMM y
-
-
- E, d - E, d MMM y 'Đ³'.
- E, d MMM - E, d MMM y 'Đ³'.
- E, d MMM y - E, d MMM y 'Đ³'.
-
-
- LLLL-LLLL y
- LLLL y - LLLL y
-
-
-
-
-
-
-
-
-
- ESB
-
-
- RHD
-
-
- YUM
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/rw.xml b/airtime_mvc/library/Zend/Locale/Data/rw.xml
deleted file mode 100644
index 42999000e..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/rw.xml
+++ /dev/null
@@ -1,305 +0,0 @@
-
-
-
-
-
-
-
-
-
- Ikinyafurikaneri
- Inyamuhariki
- Icyarabu
- Icyasamizi
- Inyazeribayijani
- Ikibelarusiya
- Urunyabuligariya
- Inyebihari
- Ikibengali
- Inyebiritoni
- Inyebosiniya
- Igikatalani
- Igiceke
- Ikigaluwa
- Ikidaninwa
- Ikidage
- Ikigereki
- Icyongereza
- Icyesiperanto
- Icyesipanyolo
- Icyesitoniya
- Ikibasiki
- Inyeperisi
- Igifinilande
- Ikinyafilipine
- Inyefaroyizi
- Igifaransa
- Igifiriziyani
- Ikirilandi
- Ikigaluwa cy'Igisweduwa
- Ikigalisiya
- Inyaguwarani
- Inyegujarati
- Igiheburayo
- Igihindi
- Igikorowasiya
- Igihongiriya
- Ikinyarumeniya
- Ururimi Gahuzamiryango
- Ikinyendoziya
- Uruhuzandimi
- Igisilande
- Igitaliyani
- Ikiyapani
- Inyejava
- Inyejeworujiya
- Igikambodiya
- Igikanada
- Igikoreya
- Inyekuridishi
- Inkerigizi
- Ikilatini
- Ilingala
- Ikilawotiyani
- Ikilituwaniya
- Ikinyaletoviyani
- Ikimasedoniyani
- Ikimalayalami
- Ikimongoli
- Ikimarati
- Ikimalayi
- Ikimaliteze
- Ikinepali
- Ikinerilande
- Inyenoruveji (Nyonorusiki)
- Ikinoruveji
- Inyogusitani
- Inyoriya
- Igipunjabi
- Igipolone
- Impashito
- Igiporutugali
- Inyeporutigali (Brezili)
- Inyeporutigali (Igiporutigali)
- Ikinyarumaniya
- Ikirusiya
- Igisansikiri
- Igisindi
- Inyeseribiya na Korowasiya
- Inyesimpaleze
- Igisilovaki
- Ikinyasiloveniya
- Igisomali
- Icyalubaniya
- Igiseribe
- Inyesesoto
- Inyesudani
- Igisuweduwa
- Igiswahili
- Igitamili
- Igitelugu
- Igitayi
- Inyatigirinya
- Inyeturukimeni
- Inyekilingoni
- Igiturukiya
- Inyetuwi
- Ikiwiguri
- Ikinyayukereni
- Inyeyurudu
- Inyeyuzubeki
- Ikinyaviyetinamu
- Inyehawusa
- Inyeyidishi
- Inyezulu
-
-
- Igitonga
-
-
-
- [a-z]
-
-
- ‘
- ’
- «
- »
-
-
-
-
-
-
-
- mut.
- gas.
- wer.
- mat.
- gic.
- kam.
- nya.
- kan.
- nze.
- ukw.
- ugu.
- uku.
-
-
- Mutarama
- Gashyantare
- Werurwe
- Mata
- Gicuransi
- Kamena
- Nyakanga
- Kanama
- Nzeli
- Ukwakira
- Ugushyingo
- Ukuboza
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- cyu.
- mbe.
- kab.
- gtu.
- kan.
- gnu.
- gnd.
-
-
- Ku cyumweru
- Kuwa mbere
- Kuwa kabiri
- Kuwa gatatu
- Kuwa kane
- Kuwa gatanu
- Kuwa gatandatu
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
- I1
- I2
- I3
- I4
-
-
- igihembwe cya mbere
- igihembwe cya kabiri
- igihembwe cya gatatu
- igihembwe cya kane
-
-
-
- AM
- PM
-
-
- BCE
- CE
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- .
-
-
-
- RF
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/rw_RW.xml b/airtime_mvc/library/Zend/Locale/Data/rw_RW.xml
deleted file mode 100644
index 10389360d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/rw_RW.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sa.xml b/airtime_mvc/library/Zend/Locale/Data/sa.xml
deleted file mode 100644
index c9817742f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sa.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-
-
-
-
-
-
-
-
-
- अफर
- अबà¥à¤–ासियनà¥
- अà¤à¤¿à¤¨à¥€à¤¸à¥
- अà¤à¥‹à¤²à¤¿
- अडङà¥à¤—मे
- अफà¥à¤°à¤¿à¤•à¥à¤•ानà¥à¤¸à¥
- आफà¥à¤°à¥‹ à¤à¤·à¥à¤¯à¤¨à¥ à¤à¤¾à¤·à¤¾
- अफà¥à¤°à¤¿à¤¹à¤¿à¤²à¤¿
- अयिनà¥
- अकनà¥
- अकà¥à¤•ाटियानà¥
- अलियà¥à¤Ÿà¥
- अलà¥à¤—ोणà¥à¤•à¥à¤¯à¤¨à¥ à¤à¤¾à¤·à¤¾
- अंहाऱिकà¥
- अङà¥à¤—िक
- अपाà¤à¥‡ à¤à¤¾à¤·à¤¾
- अऱबिकà¥
- पà¥à¤°à¤¾à¤à¥€à¤¨ ईजिपà¥à¤¤à¥à¤¯à¤¨à¥
- पà¥à¤°à¤¾à¤¤à¤¨ यवन à¤à¤¾à¤·à¤¾
- नोरà¥à¤µà¥€à¤œà¤¿à¤¯à¤¨à¥ बà¥à¤•ामलà¥
- संसà¥à¤•ृत à¤à¤¾à¤·à¤¾
- अलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¨à¥
- आळटिकॠà¤à¤¾à¤·à¤¾
- अजà¥à¤à¤¾à¤¤ à¤à¤¾à¤·à¤¾
-
-
-
-
-
-
-
-
-
-
-
- à¤à¤¾à¤°à¤¤à¤®à¥
-
-
-
- [़ à¤-ः ॑-॔ ॠअ-ऋ ॠऌ ॡ ठठओ-न र ल ळ व-ह ऽ-ॄ ॢ ॣ े ै ो-à¥]
- [\u200C \u200D ०-९ ठऑ ॅ ॉ]
- [a-z]
-
-
-
-
-
-
-
- EEEE d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- dd-MM-yyyy
-
-
-
-
- d-MM-yy
-
-
-
-
-
-
- hh:mm:ss a zzzz
-
-
-
-
- hh:mm:ss a z
-
-
-
-
- hh:mm:ss a
-
-
-
-
- hh:mm a
-
-
-
-
-
- dd-MM
- d MMMM
- Q yy
- MM-yyyy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
- deva
-
- 0
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤#,##,##0.00
-
-
-
-
-
- रà¥
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sa_IN.xml b/airtime_mvc/library/Zend/Locale/Data/sa_IN.xml
deleted file mode 100644
index 6dcb92fb7..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sa_IN.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/se.xml b/airtime_mvc/library/Zend/Locale/Data/se.xml
deleted file mode 100644
index 1fd67386e..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/se.xml
+++ /dev/null
@@ -1,740 +0,0 @@
-
-
-
-
-
-
-
- nb sv en
-
-
- acehgiella
- afrikĂ¡nsagiella
- aragoniagiella
- boares eaŋgalasgiella
- apacheš giella
- arĂ¡bagiella
- asturiagiella
- vilges-ruoššagiella
- bulgĂ¡riagiella
- bengalgiella
- bretonagiella
- bosniagiella
- katalĂ¡nagiella
- kelttalaš gielat
- marigiella
- corsicagiella
- Äeahkagiella
- dĂ¡nskkagiella
- duiskkagiella
- greikkagiella
- eaŋgalsgiella
- spĂ¡nskkagiella
- esttegiella
- persijagiella
- suomagiella
- fenno-ugrĂ¡laÅ¡ giella
- fearagiella
- frĂ¡nskkagiella
- oarjifriisagiella
- iirragiella
- germĂ¡nalaÅ¡ gielat
- gujaratagiella
- manksgiella
- hindigiella
- kroĂ¡tiagiella
- armeenagiella
- islĂ¡nddagiella
- itĂ¡liagiella
- japĂ¡nagiella
- gĂ¡rjilgiella
- komigiella
- kornagiella
- lĂ¡htengiella
- luxemburggagiella
- liettuvagiella
- lĂ¡tviagiella
- mokšagiella
- makedoniagiella
- ersagiella
- girjedĂ¡rogiella
- hollĂ¡nddagiella
- ođđadĂ¡rogiella
- dĂ¡rogiella
- oksitĂ¡nagiella
- polskkagiella
- portugĂ¡lagiella
- retoromĂ¡nagiella
- romĂ¡niagiella
- romĂ¡nalaÅ¡ gielat
- ruoššagiella
- sardigiella
- sisiliagiella
- davvisĂ¡megiella
- selkupagiella
- slovĂ¡kiagiella
- slovenagiella
- lullisĂ¡megiella
- sĂ¡megielat
- julevsĂ¡megiella
- anĂ¡raÅ¡giella
- nuortalašgiella
- albĂ¡nagiella
- serbiagiella
- ruoŧagiella
- udmurtagiella
- ukrainagiella
- vallonagiella
- sorbigiella
- kiinnĂ¡giella
-
-
-
-
-
-
-
-
- mĂ¡ilbmi
- AfrihkkĂ¡
- dĂ¡vvi-AmerihkkĂ¡ ja gaska-AmerihkkĂ¡
- mĂ¡tta-AmerihkkĂ¡
- Oseania
- oarji-AfrihkkĂ¡
- gaska-AmerihkkĂ¡
- nuorta-AfrihkkĂ¡
- davvi-AfrihkkĂ¡
- gaska-AfrihkkĂ¡
- mĂ¡tta-AfrihkkĂ¡
- AmerihkkĂ¡
- dĂ¡vvi-AmerihkkĂ¡
- Karibia
- nuorta-Ăsia
- mĂ¡tta-Ăsia
- mĂ¡tta-nuorta-Ăsia
- mĂ¡tta-EurohpĂ¡
- AustrĂ¡lia ja Ođđa-SelĂ¡nda
- Melanesia
- Polynesia
- mĂ¡tta-gaska-Ăsia
- Ăsia
- gaska-Ăsia
- oarji-Ăsia
- EurohpĂ¡
- nuorta-EurohpĂ¡
- davvi-EurohpĂ¡
- oarji-EurohpĂ¡
- Lulli-AmerihkkĂ¡ ja Karibia
- Andorra
- Ovttastuvvan ArĂ¡baemirĂ¡htat
- Afghanistan
- Antigua ja Barbuda
- Anguilla
- AlbĂ¡nia
- Armenia
- Angola
- AntĂ¡rktis
- Argentina
- AmerihkĂ¡ Samoa
- Nuortariika
- AustrĂ¡lia
- Aruba
- Ă…lĂ¡nda
- Aserbaižan
- Bosnia-Hercegovina
- Barbados
- Bangladesh
- Belgia
- Burkina Faso
- BulgĂ¡ria
- Bahrain
- Burundi
- Benin
- Saint Barthélemy
- Bermuda
- Brunei
- Bolivia
- Brasil
- Bahamas
- Bhutan
- Bouvet-sullot
- Botswana
- Vilges-Ruošša
- Belize
- KanĂ¡da
- Cocos-sullot
- Kongo-Kinshasa
- Kongo-Brazzaville
- Å veica
- Cook-sullot
- ÄŒiile
- Kamerun
- KiinnĂ¡
- Kolombia
- Costa Rica
- Kuba
- Kap Verde
- Kypros
- ÄŒeahkka
- Duiska
- Djibouti
- DĂ¡nmĂ¡rku
- Dominica
- Algeria
- Ecuador
- EstlĂ¡nda
- Egypta
- Oarje-SahĂ¡ra
- Eritrea
- SpĂ¡nia
- Etiopia
- Suopma
- Fijisullot
- Falklandsullot
- Mikronesia
- Fearsullot
- Frankriika
- Gabon
- Stuorra-BritĂ¡nnia
- Grenada
- Georgia
- Frankriikka Guayana
- Guernsey
- Ghana
- Gibraltar
- Kalaallit Nunaat
- GĂ¡mbia
- Guinea
- Guadeloupe
- EkvatoriĂ¡la Guinea
- Greika
- Lulli Georgia ja Lulli Sandwich-sullot
- Guatemala
- Guam
- Guinea-Bissau
- Guyana
- Hongkong
- Honduras
- KroĂ¡tia
- Haiti
- UngĂ¡r
- Indonesia
- IrlĂ¡nda
- Israel
- Mann
- India
- Irak
- Iran
- IslĂ¡nda
- ItĂ¡lia
- Jersey
- Jamaica
- JordĂ¡nia
- JapĂ¡na
- Kenia
- Kirgisistan
- Kambodža
- Kiribati
- Komorosullot
- Saint Kitts ja Nevis
- Davvi-Korea
- MĂ¡tta-Korea
- Kuwait
- Cayman-sullot
- Kasakstan
- Laos
- Libanon
- Saint Lucia
- Liechtenstein
- Sri Lanka
- Liberia
- Lesotho
- Lietuva
- Luxembourg
- LĂ¡tvia
- Libya
- Marokko
- Monaco
- MoldĂ¡via
- Montenegro
- Saint Martin
- Madagaskar
- Marshallsullot
- Makedonia
- Mali
- Burma
- Mongolia
- MakĂ¡o
- Davvi-MariĂ¡nat
- Martinique
- MauretĂ¡nia
- Montserrat
- MĂ¡lta
- Mauritius
- Malediivvat
- Malawi
- Meksiko
- Malesia
- Mosambik
- Namibia
- Ođđa-Kaledonia
- Niger
- Norfolksullot
- Nigeria
- Nicaragua
- Vuolleeatnamat
- Norga
- Nepal
- Nauru
- Niue
- Ođđa-SelĂ¡nda
- Oman
- Panama
- Peru
- Papua-Ođđa-Guinea
- Filippiinnat
- Pakistan
- Polen
- Saint Pierre ja Miquelon
- Pitcairn
- Puerto Rico
- Palestina
- PortugĂ¡la
- Palau
- Paraguay
- Qatar
- Eurohpa Uniovdna
- Reunion
- RomĂ¡nia
- Serbia
- Ruošša
- Rwanda
- Saudi-ArĂ¡bia
- Salomon-sullot
- Seychellsullot
- Sudan
- Ruoŧŧa
- Singapore
- Saint Helena
- Slovenia
- SvalbĂ¡rda ja Jan Mayen
- SlovĂ¡kia
- Sierra Leone
- San Marino
- Senegal
- SomĂ¡lia
- Surinam
- SĂ£o TomĂ© ja PrĂncipe
- El Salvador
- Syria
- Svazieana
- Turks ja Caicos-sullot
- TÄad
- Togo
- Thaieana
- Tažikistan
- Tokelau
- Nuorta-Timor
- Turkmenistan
- Tunisia
- Tonga
- Durka
- Trinidad ja Tobago
- Tuvalu
- Taiwan
- TanzĂ¡nia
- Ukraina
- Uganda
- AmerihkĂ¡ ovttastuvvan stĂ¡htat
- Uruguay
- Usbekistan
- VatikĂ¡na
- Saint Vincent ja Grenadine
- Venezuela
- Vietnam
- Vanuatu
- Wallis ja Futuna
- Samoa
- Jemen
- Mayotte
- MĂ¡tta-AfrihkĂ¡
- Zambia
- Zimbabwe
-
-
- kaleandar
- valuhtta
-
-
- SI
- US
-
-
- giella: {0}
-
-
-
- [a Ă¡ b c Ä d Ä‘ e-n Å‹ o p r s Å¡ t ŧ u v z ž]
- [Ă Ă¥ ä Ă£ æ ç Ă© è Ă Å„ ñ Ă³ Ă² ö ø q Ăº Ă¼ w-y]
- [a Ă¡ Ă Ă¥ ä æ b c Ä d Ä‘ e Ă© è f-n Å„ Å‹ o Ă³ Ă² ö ø p-s Å¡ t ŧ u Ăº v x-z ž]
-
-
- â€
- â€
- ’
- ’
-
-
- {0}–{1}
-
-
-
-
-
- ođđj
- guov
- njuk
- cuo
- mies
- geas
- suoi
- borg
- ÄakÄ
- golg
- skĂ¡b
- juov
-
-
- ođđajagemĂ¡nnu
- guovvamĂ¡nnu
- njukÄamĂ¡nnu
- cuoÅ‹omĂ¡nnu
- miessemĂ¡nnu
- geassemĂ¡nnu
- suoidnemĂ¡nnu
- borgemĂ¡nnu
- ÄakÄamĂ¡nnu
- golggotmĂ¡nnu
- skĂ¡bmamĂ¡nnu
- juovlamĂ¡nnu
-
-
-
-
- O
- G
- N
- C
- M
- G
- S
- B
- Č
- G
- S
- J
-
-
-
-
-
-
- sotn
- vuos
- maŋ
- gask
- duor
- bear
- lĂ¡v
-
-
- sotnabeaivi
- vuossĂ¡rga
- maŋŋebĂ¡rga
- gaskavahkku
- duorasdat
- bearjadat
- lĂ¡vvardat
-
-
-
-
- s
- v
- m
- g
- d
- b
- L
-
-
-
-
-
-
- Q1
- K2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- AM
- PM
-
-
- ovdal Kristtusa
- maŋŋel Kristtusa
-
-
- o.Kr.
- m.Kr.
-
-
- o.Kr.
- m.Kr.
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
- éra
-
-
- jĂ¡hki
-
-
- mĂ¡nnu
-
-
- vĂ¡hkku
-
-
- beaivi
- ikte
- odne
- ihttin
-
-
- vĂ¡hkkubeaivi
-
-
- diibmu
-
-
- minuhtta
-
-
- sekunda
-
-
- Ă¡igeavĂ¡dat
-
-
-
-
-
- +HH:mm;−HH:mm
- UTC{0}
- UTC
- {0}
- {0} ({1})
-
- SĂ£o Paulo
-
-
- Mérida
-
-
-
- CET
- CEST
-
-
-
-
- EET
- EEST
-
-
-
-
- WET
- WEST
-
-
-
-
- GMT
-
-
-
-
-
-
- ,
- Â
- ;
- %
- 0
- #
- +
- −
- Ă—10^
- ‰
- âˆ
- ¤¤¤
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0Â %
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
- {0} {1}
- {0} {1}
-
-
-
- euro
- euro
- euro
- euro
-
-
- suoma mĂ¡rkki
-
-
- norgga kruvdno
-
-
- ruoŧŧa kruvdno
-
-
- uns silba
-
-
- golli
-
-
-
-
-
- {0} beaivi
- {0} beaivi
- {0} beaivi
-
-
- {0} tiibmu
- {0} tiibmu
-
-
- {0} minuhtta
- {0} minuhtta
- {0} minuhtta
-
-
- {0} mĂ¡nnu
- {0} mĂ¡nnu
- {0} mĂ¡nnu
-
-
- {0} sekunda
- {0} sekunda
- {0} sekunda
-
-
- {0} vĂ¡hkku
- {0} vĂ¡hkku
- {0} vĂ¡hkku
-
-
- {0} jĂ¡hki
- {0} jĂ¡hki
- {0} jĂ¡hki
-
-
-
-
- jo
- ii
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/se_FI.xml b/airtime_mvc/library/Zend/Locale/Data/se_FI.xml
deleted file mode 100644
index 4523b4c17..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/se_FI.xml
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-
-
-
-
-
-
- fi_FI
-
-
- ang
- apa
- be
- cs
- da
- de
- el
- en
- es
- et
- fi
- fiu
- fo
- fr
- gem
- is
- nb
- nn
- no
- ru
- se
- sma
- smi
- smj
- smn
- sms
- sv
-
-
- AfrihkĂ¡
- MĂ¡tta-AmerihkĂ¡
- Oarji-AfrihkĂ¡
- 014
- Davvi-AfrihkĂ¡
- Gaska-AfrihkĂ¡
- Davvi-AmerihkĂ¡
- Nuorta-Ăsia
- MĂ¡tta-Ăsia
- MĂ¡tta-Eurohpa
- Gaska-Ăsia
- Oarji-Ăsia
- Eurohpa
- Nuorta-EurohpĂ¡
- Davvi-Eurohpa
- Oarji-Eurohpa
- AT
- AU
- AX
- BE
- BG
- BR
- BY
- CH
- CM
- CN
- CZ
- DE
- DK
- EE
- ES
- FI
- FO
- FR
- GL
- GR
- HR
- HU
- IE
- IQ
- IR
- IS
- IT
- JP
- KP
- KR
- LB
- LT
- LV
- MA
- MG
- MH
- MK
- MP
- MR
- MV
- MY
- NL
- NO
- NZ
- PH
- PL
- PS
- RU
- SE
- SI
- SJ
- SK
- SR
- TD
- TL
- TR
- US
- ZA
-
-
- calendar
- currency
-
-
- Metric
-
-
-
-
-
-
-
-
- ođđajage
- guovva
- njukÄa
- cuoŋo
- miesse
- geasse
- suoidne
- borge
- ÄakÄa
- golggot
- skĂ¡bma
- juovla
-
-
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
- aejlege
- mĂ¥anta
- däjsta
- gaskevahkoe
- dĂ¥arsta
- bearjadahke
- laavadahke
-
-
-
-
- S
- M
- D
- G
- D
- B
-
-
-
-
-
- BCE
-
-
- BCE
-
-
-
-
- Year
-
-
- Month
-
-
- Week
-
-
- Day
-
-
- Day of the Week
-
-
- Hour
-
-
- Minute
-
-
- Second
-
-
- Zone
-
-
-
-
-
- GMT
-
-
-
-
-
- FIM
-
-
- NOK
-
-
- SEK
-
-
- XAG
-
-
- XAU
-
-
-
-
-
- yes:y
- no:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/se_NO.xml b/airtime_mvc/library/Zend/Locale/Data/se_NO.xml
deleted file mode 100644
index 2edf42f72..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/se_NO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sh.xml b/airtime_mvc/library/Zend/Locale/Data/sh.xml
deleted file mode 100644
index b3778d1a0..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sh.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sh_BA.xml b/airtime_mvc/library/Zend/Locale/Data/sh_BA.xml
deleted file mode 100644
index 4be524930..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sh_BA.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sh_CS.xml b/airtime_mvc/library/Zend/Locale/Data/sh_CS.xml
deleted file mode 100644
index 3fd7faee5..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sh_CS.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sh_YU.xml b/airtime_mvc/library/Zend/Locale/Data/sh_YU.xml
deleted file mode 100644
index 8b4ec0808..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sh_YU.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/si.xml b/airtime_mvc/library/Zend/Locale/Data/si.xml
deleted file mode 100644
index e6f031a61..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/si.xml
+++ /dev/null
@@ -1,241 +0,0 @@
-
-
-
-
-
-
-
-
-
- සිංහල
-
-
-
-
-
- à·à·â€à¶»à·“ ලංà¶à·à·€
-
-
- දිනදසුන
- මුදලà·
-
-
- බුදà·â€à¶° දිනදසුන
- දිනදසුන
-
-
-
- [à¶…-à¶ à¶‘-à¶– à¶‚ ඃ à¶-à¶£ à¶¥ ඤ à¶§-à¶± à¶³-à¶» à¶½ à·€-à·† à·-\u0DD4 \u0DD6 à·˜ à·² à·Ÿ à·™-à· \u0DCA]
- [\u200B-\u200D à¶-චඦ à·³]
- [a-z]
-
-
-
-
-
-
-
- ජන
- පෙබ
- මà·à¶»à·à¶
- à¶…à¶´à·â€à¶»à·à¶½
- මà·à¶º
- ජූන
- ජූල
- à¶…à¶œà·
- à·ƒà·à¶´
- à¶”à¶
- නොවà·
- දෙසà·
-
-
- ජනවà·à¶»
- පෙබරවà·à¶»
- මà·à¶»à·à¶
- à¶…à¶´à·â€à¶»à·à¶½à·
- මà·à¶ºà·’
- ජූන
- ජූලි
- à¶…à¶œà·à·ƒà·à¶à·”
- à·ƒà·à¶´à·à¶à·à¶¸à·à¶¶à¶»à·
- à¶”à¶à·à¶à·à¶¶à¶»à·
- නොවà·à¶¸à·à¶¶à¶»à·
- දෙසà·à¶¸à·à¶¶à¶»à·
-
-
-
-
- à¶¢
- à¶´à·™
- මà·
- à¶…
- මà·
- ජූ
- ජූ
- à¶…
- à·ƒà·
- à¶”
- නො
- දෙ
-
-
-
-
-
-
- ඉරි
- සඳු
- à¶…à¶Ÿ
- බදà·
- à¶¶à·â€à¶»à·„
- සිà¶à·”
- සෙන
-
-
- ඉරිදà·
- සඳුදà·
- අඟහරුවà·à¶¯à·
- බදà·à¶¯à·
- à¶¶à·â€à¶»à·„à·ƒà·à¶´à¶à·’à¶±à·à¶¯à·
- සිà¶à·”à¶»à·à¶¯à·
- සෙනසුරà·à¶¯à·
-
-
-
-
- ඉ
- à·ƒ
- à¶…
- à¶¶
- à¶¶à·â€à¶»
- සි
- සෙ
-
-
-
-
-
-
- à¶à·à¶»à·:1
- à¶à·à¶»à·:2
- à¶à·à¶»à·:3
- à¶à·à¶»à·:4
-
-
- 1 වන à¶à·à¶»à·à¶à·”à·€
- 2 වන à¶à·à¶»à·à¶à·”à·€
- 3 වන à¶à·à¶»à·à¶à·”à·€
- 4 වන à¶à·à¶»à·à¶à·”à·€
-
-
-
- à¶´à·™.à·€.
- à¶´.à·€.
-
-
- à¶à·â€à¶»à·’à·ƒà·à¶à·” à¶´à·–à¶»à·â€à·€
- à¶à·â€à¶»à·’à·ƒà·à¶à·” වරà·â€à·‚
-
-
- à¶à·â€à¶»à·’.à¶´à·–.
- à¶à·â€à¶»à·’.à·€.
-
-
-
-
-
- EEEE, y MMMM d
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yyyy/MM/dd
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- à¶à¶ºà·™
- අද
- හෙට
-
-
-
-
-
-
-
- à·à·â€à¶»à·“ ලංà¶à· à·€à·à¶½à·à·€
-
-
-
-
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤#,##,##0.00;(¤#,##,##0.00)
-
-
-
-
-
- ලංà¶à· රුපියලà·
- SL Re
-
-
-
-
-
- ඔවà·:à¶”
- à¶±à·à¶:à¶±à·
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/si_LK.xml b/airtime_mvc/library/Zend/Locale/Data/si_LK.xml
deleted file mode 100644
index 4f0bbd446..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/si_LK.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sid.xml b/airtime_mvc/library/Zend/Locale/Data/sid.xml
deleted file mode 100644
index 9f85591e4..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sid.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-
-
-
-
-
-
-
-
-
- Arabic
- German
- English
- Spanish
- French
- Hindi
- Italian
- Japanese
- Portuguese
- Russian
- Sidaamu Afo
- Chinese
-
-
-
-
-
- Brazil
- China
- Germany
- Itiyoophiya
- France
- United Kingdom
- India
- Italy
- Japan
- Russia
- United States
-
-
-
- [a-z]
-
-
-
-
-
-
-
- Jan
- Feb
- Mar
- Apr
- May
- Jun
- Jul
- Aug
- Sep
- Oct
- Nov
- Dec
-
-
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
-
-
-
-
- J
- F
- M
- A
- M
- J
- J
- A
- S
- O
- N
- D
-
-
-
-
-
-
- Sam
- San
- Mak
- Row
- Ham
- Arb
- Qid
-
-
- Sambata
- Sanyo
- Maakisanyo
- Roowe
- Hamuse
- Arbe
- Qidaame
-
-
-
-
- S
- S
- M
- R
- H
- A
- Q
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- soodo
- hawwaro
-
-
- YIA
- YIG
-
-
-
-
-
- EEEE, MMMM dd, y
-
-
-
-
- dd MMMM y
-
-
-
-
- dd-MMM-y
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd/MM
- dd MMMM
- MM/yy
- Q yy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- Brazilian Real
-
-
- Chinese Yuan Renminbi
-
-
- Euro
-
-
- British Pound Sterling
-
-
- Indian Rupee
-
-
- Japanese Yen
-
-
- Russian Ruble
-
-
- US Dollar
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sid_ET.xml b/airtime_mvc/library/Zend/Locale/Data/sid_ET.xml
deleted file mode 100644
index 479c972dc..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sid_ET.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sk.xml b/airtime_mvc/library/Zend/Locale/Data/sk.xml
deleted file mode 100644
index 76757fa58..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sk.xml
+++ /dev/null
@@ -1,1899 +0,0 @@
-
-
-
-
-
-
-
-
-
- afarÄina
- abchĂ¡zÅ¡tina
- aÄoli
- adangme
- adygÄina
- avestÄina
- afrikĂ¡nÄina
- afroĂ¡zijskĂ© jazyky
- afrihili
- ainÄina
- akanÄina
- akkadÄina
- aleutÄina
- algonkinské jazyky
- amharÄina
- aragĂ³nÄina
- angika
- apaÄskĂ© jazyky
- arabÄina
- araukĂ¡nÄina
- arapaho
- umelĂ½ jazyk
- arawaÄtina
- Ă¡sĂ¡mÄina
- astĂºrÄina
- athabaské jazyky
- austrĂ¡lske jazyky
- avarÄina
- avadhÄina
- aymarÄina
- azerbajdžanÄina
- baskirÄina
- bamileke
- balĂºÄtina
- balijÄina
- basa
- baltské jazyky
- bieloruština
- bedža
- bemba
- berberské jazyky
- bulharÄina
- bihĂ¡rske jazyky
- bhĂ³džpurÄina
- bislama
- bikol
- bini
- bambarÄina
- bengĂ¡lÄina
- bantuské jazyky
- tibetÄina
- bretĂ³nÄina
- bradžÄina
- bosniaÄtina
- batacké jazyky
- buriatÄina
- bugiština
- blin
- katalĂ¡nÄina
- jazyk stredoamerickĂ½ch indiĂ¡nov
- karibskĂ½
- kaukazské jazyky
- ÄeÄenÄina
- cebuĂ¡nÄina
- keltské jazyky
- ÄamorÄina
- ÄibÄa
- ÄagatajÄina
- ÄinuckĂ½ žargĂ³n
- ÄoktavÄina
- ÄipevajÄina
- ÄerokĂ
- ÄejenÄina
- ÄamaskĂ© jazyky
- korziÄtina
- krĂ
- ÄeÅ¡tina
- cirkevnĂ¡ slovanÄina
- ÄuvaÅ¡tina
- waleština
- dĂ¡nÄina
- dakotÄina
- darginÄina
- nemÄina
- delawarÄina
- slovanÄina
- dogribÄina
- dinka
- dĂ³grĂ
- drĂ¡vidskĂ© jazyky
- duala
- divehi
- Äula
- dzongkä
- eweština
- efik
- staroegyptskĂ½
- ekadžuk
- grĂ©Ätina
- elamÄina
- angliÄtina
- austrĂ¡lska angliÄtina
- britskĂ¡ angliÄtina
- americkĂ¡ angliÄtina
- esperanto
- Å¡panielÄina
- estĂ³nÄina
- baskiÄtina
- ewondo
- perzština
- fangÄina
- fanti
- fulbÄina
- fĂnÄina
- filipĂnÄina
- ugrofĂnske jazyky
- fidžijÄina
- faerÄina
- fonÄina
- francĂºzÅ¡tina
- vĂ½chodnĂ¡ frĂzÅ¡tina
- friulÄina
- zĂ¡padnĂ¡ frĂzÅ¡tina
- ĂrÄina
- ga
- gayo
- gbaja
- Å¡kĂ³tÄina
- germĂ¡nske jazyky
- galĂcijÄina
- guaranĂ
- gĂ³tÄina
- starogrĂ©Ätina
- Å¡vajÄiarska nemÄina
- gudžarĂ¡tÄina
- manÄina
- hauština
- havajÄina
- hebrejÄina
- hindÄina
- hiri motu
- chorvĂ¡tÄina
- haitskĂ½
- maÄarÄina
- armĂ©nÄina
- herero
- interlingua
- indonĂ©zÅ¡tina
- interlingue
- igboština
- indoeurĂ³pske jazyky
- irĂ¡nske jazyky
- islandÄina
- talianÄina
- japonÄina
- jĂ¡vÄina
- gruzĂnÄina
- konžština
- kuaňama
- kazaština
- grĂ³nska eskimĂ¡Ätina
- kambodžskĂ¡ khmĂ©rÄina
- kannadÄina
- kĂ³rejÄina
- kanurijÄina
- kaÅ¡mĂrÄina
- kurdÄina
- komijÄina
- kornÄina
- kirgizština
- latinÄina
- luxemburÄina
- gandÄina
- lingalÄina
- laoština
- mongo
- litovÄina
- luba-katanga
- lotyština
- austronézske jazyky
- malgaština
- kajin-majol
- maorijÄina
- macedĂ³nÄina
- malajĂ¡lamÄina
- mongolÄina
- moldavÄina
- marĂ¡thÄina
- malajÄina
- maltÄina
- barmÄina
- mayské jazyky
- erzjanÄina
- nauru
- jazyk severoamerickĂ½ch indiĂ¡nov
- bokmĂ¥l
- nepĂ¡lÄina
- ndonga
- holandÄina
- nĂ³rsky nynorsk
- nĂ³rÄina
- navajo
- Äewa
- okcitĂ¡nÄina
- odžibva
- oromÄina
- urĂjÄina
- osetÄina
- pandÅ¾Ă¡bÄina
- papuĂ¡nsky
- pĂ¡lĂ
- poľština
- paÅ¡tĂºnÄina
- portugalÄina
- brazĂlska portugalÄina
- keÄuĂ¡nÄina
- rĂ©toromĂ¡nÄina
- rundÄina
- rumunÄina
- ruština
- rwandÄina
- sanskrit
- jazyk juhoamerickĂ½ch indiĂ¡nov
- sardĂnÄina
- sicĂlÄina
- sindhÄina
- sango
- znakovĂ¡ reÄ
- srbochorvĂ¡tÄina
- sinhalÄina
- slovenÄina
- slovinÄina
- slovenskĂ½ jazyk
- samojÄina
- Å¡onÄina
- somĂ¡lÄina
- albĂ¡nÄina
- srbÄina
- svazijÄina
- južnĂ¡ sothÄina
- sundÄina
- sumerÄina
- Å¡vĂ©dÄina
- swahilÄina
- sĂ½rÄina
- tamilÄina
- telugÄina
- tadžiÄtina
- thajÄina
- tigrejÄina
- turkmĂ©nÄina
- tagalÄina
- klingĂ³nÄina
- tswanÄina
- tonžtina
- tureÄtina
- tsonga
- tatĂ¡rÄina
- altajské jazyky
- twi
- tahitÄina
- ujgurÄina
- ukrajinÄina
- neznĂ¡my alebo neplatnĂ½ jazyk
- urdÄina
- uzbeÄtina
- vendÄina
- vietnamÄina
- volapĂ¼k
- valĂ³nÄina
- wolof
- xhosa
- jidiš
- jorubÄina
- ÄuangÄina
- ÄĂnÅ¡tina
- zjednoduÅ¡enĂ¡ ÄĂnÅ¡tina
- tradiÄnĂ¡ ÄĂnÅ¡tina
- zuluština
- bez jazykového obsahu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Svet
- Afrika
- SevernĂ¡ Amerika (003)
- JužnĂ¡ Amerika
- OceĂ¡nia
- ZĂ¡padnĂ¡ Afrika
- StrednĂ¡ Amerika
- VĂ½chodnĂ¡ Afrika
- SevernĂ¡ Afrika
- StrednĂ¡ Afrika
- JužnĂ¡ Afrika [018]
- AmerickĂ½ kontinent
- SevernĂ¡ Amerika
- Karibik
- VĂ½chodnĂ¡ Ăzia
- JužnĂ¡ Ăzia
- JuhovĂ½chodnĂ¡ Ăzia
- JužnĂ¡ EurĂ³pa
- AustrĂ¡lia a NovĂ½ ZĂ©land
- Melanézia
- Mikronésia
- Polynézia
- StrednĂ¡ a južnĂ¡ Ăzia
- Ăzia
- StrednĂ¡ Ăzia
- ZĂ¡padnĂ¡ Ăzia
- EurĂ³pa
- VĂ½chodnĂ¡ EurĂ³pa
- SevernĂ¡ EurĂ³pa
- ZĂ¡padnĂ¡ EurĂ³pa
- SpoloÄenstvo nezĂ¡vislĂ½ch Å¡tĂ¡tov
- ÄŒeskoslovensko
- LatinskĂ¡ Amerika a Karibik
- KanĂ¡l La Manche
- Andorra
- SpojenĂ© arabskĂ© emirĂ¡ty
- Afganistan
- Antigua a Barbados
- Anguilla
- AlbĂ¡nsko
- Arménsko
- Holandské Antily
- Angola
- Antarctica
- ArgentĂna
- AmerickĂ¡ Samoa
- RakĂºsko
- AustrĂ¡lia
- Aruba
- Alandské ostrovy
- Azerbajdžan
- Bosna a Hercegovina
- Barbados
- BangladĂ©Å¡
- Belgicko
- Burkina Faso
- Bulharsko
- Bahrajn
- Burundi
- Benin
- SvätĂ½ Bartolomej
- Bermudy
- Brunej
- BolĂvia
- BrazĂlia
- Bahamy
- ButĂ¡n
- Bouvetov ostrov
- Botswana
- Bielorusko
- Belize
- Kanada
- Kokosové ostrovy
- KonžskĂ¡ demokratickĂ¡ republika
- StredoafrickĂ¡ republika
- Kongo
- Å vajÄiarsko
- Pobrežie Slonoviny
- Cookove ostrovy
- ÄŒile
- Kamerun
- ÄŒĂna
- Kolumbia
- Kostarika
- Srbsko a ÄŒierna Hora
- Kuba
- Kapverdy
- VianoÄnĂ½ ostrov
- Cyprus
- ÄŒeskĂ¡ republika
- Nemecko
- Džibuti
- DĂ¡nsko
- Dominika
- DominikĂ¡nska republika
- AlžĂrsko
- EkvĂ¡dor
- EstĂ³nsko
- Egypt
- ZĂ¡padnĂ¡ Sahara
- Eritrea
- Å panielsko
- EtiĂ³pia
- FĂnsko
- Fidži
- Falklandské ostrovy
- Mikronézia
- Faerské ostrovy
- FrancĂºzsko
- Gabon
- SpojenĂ© krĂ¡Ä¾ovstvo
- Grenada
- GruzĂnsko
- FrancĂºzska Guayana
- Guernsey
- Ghana
- GibraltĂ¡r
- GrĂ³nsko
- Gambia
- Guinea
- Guadeloupe
- RovnĂkovĂ¡ Guinea
- Grécko
- JužnĂ¡ Georgia a JužnĂ© Sandwichove ostrovy
- Guatemala
- Guam
- Guinea-Bissau
- Guayana
- Hong Kong S.A.R. ÄŒĂny
- Heardove ostrovy a McDonaldove ostrovy
- Honduras
- ChorvĂ¡tsko
- Haiti
- MaÄarsko
- Indonézia
- Ărsko
- Izrael
- Ostrov Man
- India
- BritskĂ© Ăºzemie v Indickom oceĂ¡ne
- Irak
- IrĂ¡n
- Island
- Taliansko
- Jersey
- Jamajka
- JordĂ¡nsko
- Japonsko
- Keňa
- Kirgizsko
- Kambodža
- Kiribati
- Komory
- Saint Kitts a Nevis
- KĂ³rejskĂ¡ ľudovodemokratickĂ¡ republika
- KĂ³rejskĂ¡ republika
- Kuvajt
- Kajmanské ostrovy
- Kazachstan
- LaoskĂ¡ ľudovodemokratickĂ¡ republika
- Libanon
- SvätĂ¡ Lucia
- Lichtenštajnsko
- SrĂ Lanka
- Libéria
- Lesotho
- Litva
- Luxembursko
- Lotyšsko
- LĂ½bijskĂ¡ arabskĂ¡ džamahĂrija
- Maroko
- Monako
- Moldavsko
- ÄŒierna Hora
- SvätĂ½ Martin
- Madagaskar
- Marshallove ostrovy
- MacedĂ³nsko
- Mali
- Mjanmarsko
- Mongolsko
- Makao S.A.R. ÄŒĂny
- SevernĂ© MariĂ¡ny
- Martinik
- MauritĂ¡nia
- Montserrat
- Malta
- MaurĂcius
- Maldivy
- Malawi
- Mexiko
- Malajzia
- Mozambik
- NamĂbia
- NovĂ¡ KaledĂ³nia
- Niger
- Norfolkov ostrov
- Nigéria
- Nikaragua
- Holandsko
- NĂ³rsko
- NepĂ¡l
- Nauru
- Niue
- NovĂ½ ZĂ©land
- OmĂ¡n
- Panama
- Peru
- FrancĂºzska PolynĂ©zia
- Papua NovĂ¡ Guinea
- FilipĂny
- Pakistan
- Poľsko
- Saint Pierre a Miquelon
- Pitcairnove ostrovy
- Portoriko
- PalestĂnske Ăºzemie
- Portugalsko
- Palau
- Paraguaj
- Katar
- Tichomorie - ostatné
- EurĂ³pska Ăºnia
- Reunion
- Rumunsko
- Srbsko
- RuskĂ¡ federĂ¡cia
- Rwanda
- SaudskĂ¡ ArĂ¡bia
- Å alamĂºnove ostrovy
- Seychelské ostrovy
- SudĂ¡n
- Å vĂ©dsko
- Singapur
- SvätĂ¡ Helena
- Slovinsko
- Å picbergy a Jan Mayen
- SlovenskĂ¡ republika
- Sierra Leone
- San MarĂno
- Senegal
- SomĂ¡lsko
- Surinam
- SvätĂ½ TomĂ¡Å¡ a Princove ostrovy
- Salvador
- SĂ½rska arabskĂ¡ republika
- Svazijsko
- Turks a Caicos
- ÄŒad
- FrancĂºzske južnĂ© Ăºzemia
- Togo
- Thajsko
- Tadžikistan
- Tokelau
- VĂ½chodnĂ½ Timor
- Turkménsko
- Tunisko
- Tonga
- Turecko
- Trinidad a Tobago
- Tuvalu
- Tajwan
- TanzĂ¡nia
- Ukrajina
- Uganda
- MenÅ¡ie odľahlĂ© ostrovy USA
- SpojenĂ© Å¡tĂ¡ty
- Uruguaj
- Uzbekistan
- VatikĂ¡n
- SvätĂ½ Vincent a GrenadĂny
- Venezuela
- Britské panenské ostrovy
- Panenské ostrovy - USA
- Vietnam
- Vanuatu
- Wallis a Futuna
- Samoa
- Jemen
- Mayotte
- JužnĂ¡ Afrika
- Zambia
- Zimbabwe
- NeznĂ¡my alebo neplatnĂ½ regiĂ³n
-
-
- KalendĂ¡r
- Triedenie
- Mena
-
-
- TradiÄnĂ½ ÄĂnsky Big5
- BuddhistickĂ½ kalendĂ¡r
- ÄŒĂnsky kalendĂ¡r
- Priame triedenie
- ZjednoduÅ¡enĂ½ ÄĂnsky GB2312
- GregoriĂ¡nsky kalendĂ¡r
- ŽidovskĂ½ kalendĂ¡r
- IndickĂ½ nĂ¡rodnĂ½ kalendĂ¡r
- IslamskĂ½ kalendĂ¡r
- IslamskĂ½ obÄiansky kalendĂ¡r
- JaponskĂ½ kalendĂ¡r
- Lexikografické triedenie
- Triedenie pinyin
- KalendĂ¡r ÄŒĂnskej republiky
- Tiedenie podľa ťahov
- TradiÄnĂ©
-
-
- MetrickĂ½
- AmerickĂ½
-
-
- Jazyk: {0}
- Skript: {0}
- RegiĂ³n: {0}
-
-
-
- titlecase-firstword
-
-
- [a Ă¡ ä b c Ä d Ä e Ă© f-h {ch} i Ă j-l ĺ ľ m n ň o Ă³ Ă´ p-r Å• s Å¡ t Å¥ u Ăº v-y Ă½ z ž]
- [Ă Äƒ Ă¢ Ă¥ Ä Ă¦ ç è Ä• Ăª Ă« Ä“ ì Ä Ă® Ă¯ Ä« ñ Ă² Å Ă¶ ø Å Å“ ĂŸ Ă¹ Å Ă» Ă¼ Å« Ă¿]
-
-
- â€
- ‘
- â€
- “
-
-
-
-
-
-
-
- jan
- feb
- mar
- apr
- mĂ¡j
- jĂºn
- jĂºl
- aug
- sep
- okt
- nov
- dec
-
-
- januĂ¡ra
- februĂ¡ra
- marca
- aprĂla
- mĂ¡ja
- jĂºna
- jĂºla
- augusta
- septembra
- oktĂ³bra
- novembra
- decembra
-
-
-
-
- j
- f
- m
- a
- m
- j
- j
- a
- s
- o
- n
- d
-
-
- januĂ¡r
- februĂ¡r
- marec
- aprĂl
- mĂ¡j
- jĂºn
- jĂºl
- august
- september
- oktĂ³ber
- november
- december
-
-
-
-
-
-
- ne
- po
- ut
- st
- št
- pi
- so
-
-
- nedeľa
- pondelok
- utorok
- streda
- štvrtok
- piatok
- sobota
-
-
-
-
- N
- P
- U
- S
- Å
- P
- S
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- 1. štvrťrok
- 2. štvrťrok
- 3. štvrťrok
- 4. štvrťrok
-
-
-
- dopoludnia
- popoludnĂ
-
-
- pred n.l.
- n.l.
-
-
-
-
-
- EEEE, d. MMMM y
-
-
-
-
- d. MMMM y
-
-
-
-
- d.M.yyyy
-
-
-
-
- d.M.yyyy
-
-
-
-
-
-
- H:mm:ss zzzz
-
-
-
-
- H:mm:ss z
-
-
-
-
- H:mm:ss
-
-
-
-
- H:mm
-
-
-
-
-
- d.
- EEE, d.
- HH:mm
- d.M.
- E, d.M.
- d. MMM
- E, d. MMM
- d. MMMM
- E, d. MMMM
- mm:ss
- mm:ss
- EEE, d.M.yyyy
- MMM y
- EEE, d. MMM y
- MMMM y
- Q yyyy
- QQQ y
- Q yy
- QQQQ yy
- M.yyyy
- MMMM y
-
-
- {0} - {1}
-
- d. - d.
-
-
- HH-HH
- H-H
-
-
- HH:mm - HH:mm
- HH:mm - HH:mm
- HH:mm - HH:mm
-
-
- HH:mm - HH:mm v
- HH:mm - HH:mm v
- HH:mm - HH:mm v
-
-
- HH-HH v
- H-H v
-
-
- M.-M.
-
-
- d.M. - d.M.
- d.M. - d.M.
-
-
- E, d.M. - E, d.M.
- E, d.M. - E, d.M.
-
-
- MMM-MMM
-
-
- d. - d. MMM
- d. MMM - d. MMM
-
-
- E, d. - E, d. MMM
- E, d. MMM - E, d. MMM
-
-
- LLLL-LLLL
-
-
- y - y
-
-
- M.yyyy - M.yyyy
- M.yyyy - M.yyyy
-
-
- d.M.yy - d.M.yy
- d.M.yy - d.M.yy
- d.M.yy - d.M.yy
-
-
- E, d.M.yy - E, d.M.yy
- E, d.M.yy - E, d.M.yy
- E, d.M.yy - E, d.M.yy
-
-
- MMM - MMM y
- MMM y - MMM y
-
-
- d. - d. MMM y
- d. MMM - d. MMM y
- d. MMM y - d. MMM y
-
-
- E, d. - E, d. MMM y
- E, d. MMM - E, d. MMM y
- E, d. MMM y - E, d. MMM y
-
-
- MM-yyyy – MM-yyyy
-
-
-
-
-
- Éra
-
-
- Rok
-
-
- Mesiac
-
-
- TĂ½Å¾deň
-
-
- Deň
- Pred tromi dňami
- PredvÄerom
- VÄera
- Dnes
- Zajtra
- Pozajtra
- O tri dni
-
-
- Deň v tĂ½Å¾dni
-
-
- Časť dňa
-
-
- Hodina
-
-
- MinĂºta
-
-
- Sekunda
-
-
- PĂ¡smo
-
-
-
-
-
- +HHmm;-HHmm
- GMT{0}
- {0}
-
- NeznĂ¡me ÄasovĂ© pĂ¡smo
-
-
- JužnĂ½ pĂ³l
-
-
- Dumont D'Urville
-
-
- Bermudy
-
-
- VeľkonoÄnĂ© ostrovy
-
-
- Å anghaj
-
-
- Kostarika
-
-
- Kapverdy
-
-
- Džibutsko
-
-
- Dominika
-
-
- GalapĂ¡gy
-
-
- KanĂ¡rske ostrovy
-
-
- Fidži
-
-
- LondĂ½n
-
-
- GibraltĂ¡r
-
-
- Hongkong
-
-
- Jamajka
-
-
- St. Kitts
-
-
- Kuvajt
-
-
- St. Lucia
-
-
- Luxembursko
-
-
- Monako
-
-
- UlanbĂ¡tar
-
-
- Macao
-
-
- Martinik
-
-
- MaurĂcius
-
-
- Maledivy
-
-
- Pitcairnove ostrovy
-
-
- Portoriko
-
-
- Azorské ostrovy
-
-
- Lisabon
-
-
- Katar
-
-
- Moskva
-
-
- Jekaterinburg
-
-
- Krasnojarsko
-
-
- Irkutsko
-
-
- Jakutsko
-
-
- Sachalin
-
-
- KamÄatka
-
-
- Singapur
-
-
- SalvĂ¡dor
-
-
- Užhorod
-
-
- Kyjev
-
-
- ZĂ¡porožie
-
-
- Aljaška
-
-
- New Salem, SevernĂ¡ Dakota
-
-
- Taškent
-
-
- St. Vincent
-
-
- St. Thomas
-
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- AndorskĂ¡ peseta
-
-
- UAE dirham
-
-
- AlbĂ¡nsky lek
-
-
- ArmenskĂ½ dram
-
-
- NizozemskĂ½ AntilskĂ½ guilder
-
-
- AngolskĂ¡ kwanza
-
-
- AngolskĂ¡ kwanza (1977-1990)
-
-
- AngolskĂ¡ novĂ¡ kwanza (1990-2000)
-
-
- AngolskĂ¡ kwanza Reajustado (1995-1999)
-
-
- ArgentinskĂ½ austral
-
-
- Argentinské peso (1983-1985)
-
-
- Argentinské peso
-
-
- RakĂºsky Å¡iling
-
-
- AustrĂ¡lsky dolĂ¡r
-
-
- ArubskĂ½ guilder
-
-
- AzerbaidžanskĂ½ manat
-
-
- BosnianskĂ½ dinĂ¡r
-
-
- BosnianskĂ½ konvertibilnĂ¡ marka
-
-
- BarbadoskĂ½ dolĂ¡r
-
-
- BangladĂ©Å¡ska taka
-
-
- BelgickĂ½ frank (konvertibilnĂ½)
-
-
- BelgickĂ½ frank
-
-
- BelgickĂ½ frank (finanÄnĂ½)
-
-
- BulharskĂ½ leva
-
-
- BulharskĂ½ leva novĂ½
-
-
- BahraiskĂ½ dinĂ¡r
-
-
- BurundskĂ½ frank
-
-
- BermudskĂ½ dolĂ¡r
-
-
- BruneiskĂ½ dolĂ¡r
-
-
- BolĂvijskĂ© Boliviano
-
-
- BolivĂjske peso
-
-
- BolivĂjske mvdol
-
-
- BolivĂjske Cruzeiro Novo (1967-1986)
-
-
- BolivĂjske cruzado
-
-
- BolivĂjske cruzeiro (1990-1993)
-
-
- BolivĂjsky real
-
-
- BrazĂlske Cruzado Novo
-
-
- BrazĂlske cruzeiro
-
-
- BahamskĂ½ dolĂ¡r
-
-
- Bhutansky ngultrum
-
-
- Burmese Kyat
-
-
- Botswanan Pula
-
-
- Belarussian novĂ½ rubeľ (1994-1999)
-
-
- Belarussian rubeľ
-
-
- Belize dolĂ¡r
-
-
- KanadskĂ½ dolĂ¡r
-
-
- KonžskĂ½ frank Congolais
-
-
- Å vajÄiarskĂ½ frank
-
-
- ÄŒĂlske Unidades de Fomento
-
-
- ÄŒĂlske peso
-
-
- ÄŒĂnsky Yuan Renminbi
-
-
- Colombijské peso
-
-
- KostarikskĂ½ colon
-
-
- ÄŒeskoslovenskĂ¡ koruna
-
-
- KubĂ¡nske peso
-
-
- Cape Verde eskudo
-
-
- CypruskĂ¡ libra
-
-
- ÄŒeskĂ¡ koruna
-
-
- VĂ½chodonemeckĂ¡ marka
-
-
- NemeckĂ¡ marka
-
-
- DžibutskĂ½ frank
-
-
- DĂ¡nska krone
-
-
- DominikĂ¡nske peso
-
-
- AlžĂrsky dinĂ¡r
-
-
- EkuadorskĂ½ sucre
-
-
- EkuadorskĂ½ Unidad de Valor Constante (UVC)
-
-
- EstĂ³nska kroon
-
-
- EgyptskĂ¡ libra
-
-
- EritrejskĂ¡ nakfa
-
-
- Å panielskĂ¡ peseta
-
-
- EthiopskĂ½ birr
-
-
- Euro
-
-
- FinskĂ¡ marka
-
-
- Fiji dolĂ¡r
-
-
- FalklandskĂ¡ libra
-
-
- FrancĂºzsky frank
-
-
- BritskĂ¡ libra
-
-
- GruzĂnsky Kupon Larit
-
-
- GruzĂnsky lari
-
-
- GhanskĂ½ cedi
-
-
- GibraltarskĂ¡ libra
-
-
- GambskĂ½ dalasi
-
-
- GuinejskĂ½ frank
-
-
- GuinejskĂ½ syli
-
-
- RovnĂkovĂ¡ Guinea Ekwele Guineana
-
-
- Grécka drachma
-
-
- GuatemalskĂ½ quetzal
-
-
- PortugalskĂ¡ Guinea eskudo
-
-
- Guinea-Bissau peso
-
-
- GuyanskĂ½ dolĂ¡r
-
-
- Hong KongskĂ½ dolĂ¡r
-
-
- HoduraskĂ¡ lempira
-
-
- ChorvĂ¡tsky dinĂ¡r
-
-
- ChorvĂ¡tska kuna
-
-
- Haitské gourde
-
-
- MaÄarskĂ½ forint
-
-
- Indonézska rupia
-
-
- Ărska libra
-
-
- IzraelskĂ¡ libra
-
-
- IzraelskĂ½ Å¡ekel
-
-
- IndijskĂ¡ rupia
-
-
- IrackĂ½ dinĂ¡r
-
-
- IrĂ¡nsky rial
-
-
- IslandskĂ¡ krona
-
-
- TalianskĂ¡ lira
-
-
- JamajskĂ½ dolĂ¡r
-
-
- JordĂ¡nsky dinĂ¡r
-
-
- JaponskĂ½ yen
-
-
- KeňskĂ½ Å¡iling
-
-
- KyrgyskĂ½ som
-
-
- KambodžskĂ½ riel
-
-
- Comoro frank
-
-
- SeverokĂ³rejskĂ½ won
-
-
- JuhokĂ³rejskĂ½ won
-
-
- KuvaitskĂ½ dinĂ¡r
-
-
- KajmanskĂ½ dolĂ¡r
-
-
- KazažskĂ½ tenge
-
-
- LaoskĂ½ kip
-
-
- LibanonskĂ¡ libra
-
-
- Å rilanskĂ¡ rupia
-
-
- LibĂ©rskĂ½ dolĂ¡r
-
-
- LesothskĂ½ loti
-
-
- LitevskĂ¡ lita
-
-
- LitevskĂ½ talonas
-
-
- LuxemburskĂ½ frank
-
-
- LotyÅ¡skĂ½ lats
-
-
- LotyÅ¡skĂ½ rubeľ
-
-
- LibyjskĂ½ dinĂ¡r
-
-
- MarockĂ½ dirham
-
-
- MarockĂ½ frank
-
-
- MoldavskĂ½ leu
-
-
- MadagaskarskĂ½ ariary
-
-
- MadagaskarskĂ½ frank
-
-
- MacedĂ³nsky denĂ¡r
-
-
- MalskĂ½ frank
-
-
- MyanmarskĂ½ kyat
-
-
- MongolskĂ½ tugrik
-
-
- Macao Pataca
-
-
- Mauritania Ouguiya
-
-
- MaltskĂ¡ lira
-
-
- MaltskĂ¡ libra
-
-
- MauritskĂ¡ rupia
-
-
- MaldivskĂ¡ rufiyaa
-
-
- MalavskĂ¡ kwacha
-
-
- Mexické peso
-
-
- Mexické striborné peso (1861-1992)
-
-
- Mexické Unidad de Inversion (UDI)
-
-
- MalajskĂ½ ringgit
-
-
- Mozambijské eskudo
-
-
- Mozambijské metical
-
-
- NamibskĂ½ dolĂ¡r
-
-
- NigerskĂ¡ naira
-
-
- NikaragujskĂ¡ cordoba
-
-
- NikaragujskĂ¡ Cordoba Oro
-
-
- NizozemskĂ½ guilder
-
-
- NĂ³rksy krone
-
-
- NepĂ¡lska rupia
-
-
- NovozĂ©landskĂ½ dolĂ¡r
-
-
- OmĂ¡nskĂ½ rial
-
-
- PanamskĂ¡ balboa
-
-
- PeruvskĂ½ inti
-
-
- PeruvskĂ½ sol Nuevo
-
-
- PeruvskĂ½ sol
-
-
- Papua NovĂ¡ Guinea kina
-
-
- FilipĂnske peso
-
-
- PakistanskĂ¡ rupia
-
-
- PolskĂ½ zloty
-
-
- PolskĂ½ zloty (1950-1995)
-
-
- Portugalské eskudo
-
-
- Paraguayské guarani
-
-
- QatarskĂ½ rial
-
-
- RumunskĂ½ leu
-
-
- RumunskĂ½ Lei
-
-
- SrbskĂ½ dinĂ¡r
-
-
- RuskĂ½ rubeľ
-
-
- RuskĂ½ rubeľ (1991-1998)
-
-
- RwandskĂ½ frank
-
-
- SaudskĂ½ riyal
-
-
- Solomon Islands dolĂ¡r
-
-
- SejÅ¡elskĂ¡ rupia
-
-
- SudĂ¡nsky dinĂ¡r
-
-
- SudĂ¡nska libra
-
-
- Å vĂ©dska krona
-
-
- SingapĂºrsky dolĂ¡r
-
-
- Libra
-
-
- SlovinskĂ½ Tolar
-
-
- SlovenskĂ¡ koruna
-
-
- Sierra Leone Leone
-
-
- SomĂ¡lsky Å¡iling
-
-
- SurinamskĂ½ guilder
-
-
- Sao Tome a Principe dobra
-
-
- SovietskĂ½ rubeľ
-
-
- El SalvadorskĂ½ colon
-
-
- SyrskĂ¡ libra
-
-
- Swaziland lilangeni
-
-
- ThajskĂ½ bĂ¡t
-
-
- TadžikistanskĂ½ rubeľ
-
-
- TadžikistanskĂ½ somoni
-
-
- Turkménsky manat
-
-
- TuniskĂ½ dinĂ¡r
-
-
- Tonga Paʻanga
-
-
- Timorské eskudo
-
-
- TureckĂ¡ lira
-
-
- NovĂ¡ tureckĂ¡ lĂra
-
-
- Trinidad a Tobago dolĂ¡r
-
-
- TaiwanskĂ½ novĂ½ dolĂ¡r
-
-
- TanzanskĂ½ Å¡iling
-
-
- UkrainskĂ¡ hrivna
-
-
- UkrainskĂ½ karbovanetz
-
-
- Ugandan šiling (1966-1987)
-
-
- UgandskĂ½ Å¡iling
-
-
- US dolĂ¡r
-
-
- US dolĂ¡r (Next day)
-
-
- US dolĂ¡r (Same day)
-
-
- Uruguajské peso (1975-1993)
-
-
- Uruguajské peso Uruguayo
-
-
- UzbekistanskĂ½ sum
-
-
- VenezuelskĂ½ bolivar
-
-
- VietnamskĂ½ dong
-
-
- Vanuatu vatu
-
-
- ZĂ¡padnĂ¡ Samoa tala
-
-
- CFA frank BEAC
-
-
- Zlato
-
-
- East Caribbean dolĂ¡r
-
-
- Å peciĂ¡lne prĂ¡va Äerpania
-
-
- FrancĂºzsky zlatĂ½ frank
-
-
- FrancĂºzsky UIC-frank
-
-
- CFA frank BCEAO
-
-
- CFP frank
-
-
- JemenskĂ½ dinĂ¡r
-
-
- JemenskĂ½ rial
-
-
- JuhoslĂ¡vsky dinĂ¡r [YUD]
-
-
- JuhoslĂ¡vsky Noviy dinĂ¡r
-
-
- JuhoslĂ¡vsky dinĂ¡r
-
-
- JuhoafrickĂ½ rand (financial)
-
-
- JuhoafrickĂ½ rand
-
-
- ZambskĂ¡ kwacha
-
-
- ZairskĂ½ novĂ½ zaire
-
-
- ZairskĂ½ Zaire
-
-
- ZimbabskĂ½ dolĂ¡r
-
-
-
-
-
- {0} dni
- {0} deň
- {0} dnĂ
-
-
- {0} hodiny
- {0} hodina
- {0} hodĂn
-
-
- {0} minĂºty
- {0} minĂºta
- {0} minĂºt
-
-
- {0} mesiace
- {0} mesiac
- {0} mesiacov
-
-
- {0} sekundy
- {0} sekunda
- {0} sekĂºnd
-
-
- {0} tĂ½Å¾dne
- {0} tĂ½Å¾deň
- {0} tĂ½Å¾dňov
-
-
- {0} roky
- {0} rok
- {0} rokov
-
-
-
-
- ano:a
- nie:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sk_SK.xml b/airtime_mvc/library/Zend/Locale/Data/sk_SK.xml
deleted file mode 100644
index 3379959d0..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sk_SK.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sl.xml b/airtime_mvc/library/Zend/Locale/Data/sl.xml
deleted file mode 100644
index 615ac7b62..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sl.xml
+++ /dev/null
@@ -1,2543 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- afarÅ¡Äina
- abhaÅ¡Äina
- aÄejÅ¡Äina
- aÄolijÅ¡Äina
- adangmejÅ¡Äina
- adigejÅ¡Äina
- avestijÅ¡Äina
- afrikanÅ¡Äina
- afroazijski jezik
- afrihili
- ainujÅ¡Äina
- akanÅ¡Äina
- akadÅ¡Äina
- aleutÅ¡Äina
- algonkinski jezik
- južna altajÅ¡Äina
- amharÅ¡Äina
- aragonÅ¡Äina
- stara angleÅ¡Äina
- angikaÅ¡Äina
- apaški jezik
- arabÅ¡Äina
- aramejÅ¡Äina
- aravkanÅ¡Äina
- arapaÅ¡Äina
- umetni jezik
- aravaÅ¡Äina
- asamÅ¡Äina
- asturijÅ¡Äina
- atabaški jezik
- avstralski jezik
- avarÅ¡Äina
- avadÅ¡Äina
- ajmarÅ¡Äina
- azerbajdžanÅ¡Äina
- baÅ¡kirÅ¡Äina
- bandaški jezik
- bamilekejski jezik
- beludžijÅ¡Äina
- balijÅ¡Äina
- basa
- baltski jezik
- beloruÅ¡Äina
- bedža
- bemba
- berberÅ¡Äina
- bolgarÅ¡Äina
- biharÅ¡Äina
- bodžpuri
- bislamÅ¡Äina
- bikolski jezik
- edo
- siksika
- bambarÅ¡Äina
- bengalÅ¡Äina
- bantujÅ¡Äina
- tibetanÅ¡Äina
- bretonÅ¡Äina
- bradžbakanÅ¡Äina
- bosanÅ¡Äina
- bataški jezik
- burjatÅ¡Äina
- buginÅ¡Äina
- blinÅ¡Äina
- katalonÅ¡Äina
- kadoÅ¡Äina
- srednjeameriški indijanski jezik
- karibski jezik
- kavkaški jezik
- ÄeÄenÅ¡Äina
- sebuanÅ¡Äina
- keltski jezik
- ÄamorÅ¡Äina
- ÄibÄevÅ¡Äina
- ÄagatajÅ¡Äina
- trukeÅ¡Äina
- marijÅ¡Äina
- ÄinuÅ¡ki žargon
- ÄoktavÅ¡Äina
- ÄipevÅ¡Äina
- ÄerokeÅ¡Äina
- ÄejenÅ¡Äina
- camski jezik
- korziÅ¡Äina
- koptÅ¡Äina
- angleÅ¡ka kreolÅ¡Äina ali pidžinÅ¡Äina
- francoska kreolÅ¡Äina ali pidžinÅ¡Äina
- portugalska kreolÅ¡Äina ali pidžinÅ¡Äina
- krijÅ¡Äina
- krimska tatarÅ¡Äina
- kreolÅ¡Äina ali pidžinÅ¡Äina
- ÄeÅ¡Äina
- kaÅ¡ubÅ¡Äina
- stara cerkvena slovanÅ¡Äina
- kuÅ¡itÅ¡Äina
- ÄuvaÅ¡Äina
- valižanÅ¡Äina
- danÅ¡Äina
- dakotÅ¡Äina
- darginÅ¡Äina
- dajaÅ¡Äina
- nemÅ¡Äina
- visoka nemÅ¡Äina (Å vica)
- delavarÅ¡Äina
- slavejÅ¡Äina
- dogrib
- dinka
- dogri
- dravidski jezik
- dolnja lužiÅ¡ka srbÅ¡Äina
- duala
- srednja nizozemÅ¡Äina
- diveÅ¡Äina
- diula
- dzonka
- evenÅ¡Äina
- efiÅ¡Äina
- stara egipÄanÅ¡Äina
- ekajuk
- grÅ¡Äina
- elamÅ¡Äina
- angleÅ¡Äina
- angleÅ¡Äina (VB)
- angleÅ¡Äina (ZDA)
- srednja angleÅ¡Äina
- esperanto
- Å¡panÅ¡Äina
- latinskoameriÅ¡ka Å¡panÅ¡Äina
- iberska Å¡panÅ¡Äina
- estonÅ¡Äina
- baskovÅ¡Äina
- evondovÅ¡Äina
- perzijÅ¡Äina
- fangijÅ¡Äina
- fantijÅ¡Äina
- fulÅ¡Äina
- finÅ¡Äina
- filipinÅ¡Äina
- ugrofinski jezik
- fidžijÅ¡Äina
- ferÅ¡Äina
- fonÅ¡Äina
- francoÅ¡Äina
- srednja francoÅ¡Äina
- stara francoÅ¡Äina
- severna frizijÅ¡Äina
- vzhodna frizijÅ¡Äina
- furlanÅ¡Äina
- frizijÅ¡Äina
- irÅ¡Äina
- ga
- gajÅ¡Äina
- gbajÅ¡Äina
- Å¡kotska gelÅ¡Äina
- germanski jezik
- etiopÅ¡Äina
- kiribatÅ¡Äina
- galicijÅ¡Äina
- srednja visoka nemÅ¡Äina
- gvaranijÅ¡Äina
- stara visoka nemÅ¡Äina
- gondi
- gorontalÅ¡Äina
- gotÅ¡Äina
- grebÅ¡Äina
- stara grÅ¡Äina
- nemÅ¡Äina (Å vica)
- gudžaratÅ¡Äina
- manÅ¡Äina
- gwi
- havÅ¡Äina
- haidÅ¡Äina
- havajÅ¡Äina
- hebrejÅ¡Äina
- hindujÅ¡Äina
- hiligajnonÅ¡Äina
- himaÄalÅ¡Äina
- hetitÅ¡Äina
- hmonÅ¡Äina
- hiri motu
- hrvaÅ¡Äina
- gornja lužiÅ¡ka srbÅ¡Äina
- haitijska kreolÅ¡Äina
- madžarÅ¡Äina
- hupa
- armenÅ¡Äina
- herero
- interlingva
- ibanÅ¡Äina
- indonezijÅ¡Äina
- interlingve
- igboÅ¡Äina
- ii
- ijo
- inupiaÅ¡Äina
- ilokanÅ¡Äina
- indijski jezik
- indoevropski jezik
- inguÅ¡Äina
- ido
- iranski jezik
- irokeški jezik
- islandÅ¡Äina
- italijanÅ¡Äina
- inuktitutÅ¡Äina
- japonÅ¡Äina
- lojban
- judovska perzijÅ¡Äina
- judovska arabÅ¡Äina
- javanÅ¡Äina
- gruzinÅ¡Äina
- karakalpaÅ¡Äina
- kabilÅ¡Äina
- kaÄinÅ¡Äina
- kaj
- kamba
- karenÅ¡Äina
- kavi
- kabardinÅ¡Äina
- tjapska nigerijÅ¡Äina
- kfo
- kongovÅ¡Äina
- kasi
- koisanski jezik
- kotanÅ¡Äina
- kikujÅ¡Äina
- kvanjama
- kazaÅ¡Äina
- grenlandÅ¡Äina
- kmerÅ¡Äina
- kimbundu
- kanada
- korejÅ¡Äina
- konkanÅ¡Äina
- kosrajÅ¡Äina
- kpelejÅ¡Äina
- kanurÅ¡Äina
- karaÄaj-balkarÅ¡Äina
- karelÅ¡Äina
- jezik kru
- kuruk
- kaÅ¡mirÅ¡Äina
- kurdÅ¡Äina
- kumiÅ¡Äina
- kutenajÅ¡Äina
- komijÅ¡Äina
- kornijÅ¡Äina
- kirgiÅ¡Äina
- latinÅ¡Äina
- ladinÅ¡Äina
- landa
- lamba
- luksemburÅ¡Äina
- lezginÅ¡Äina
- ganda
- limburÅ¡Äina
- lingala
- laoÅ¡Äina
- mongo
- lozi
- litovÅ¡Äina
- luba-katanga
- luba-lulua
- luisenÅ¡Äina
- lunda
- luo
- lushai
- latvijÅ¡Äina
- madurÅ¡Äina
- magadÅ¡Äina
- maitili
- makasarÅ¡Äina
- mandingo
- avstronezijski jezik
- masajÅ¡Äina
- mokÅ¡avÅ¡Äina
- mandarÅ¡Äina
- mende
- malagaÅ¡Äina
- srednja irÅ¡Äina
- marshallovÅ¡Äina
- maorÅ¡Äina
- mikmaÅ¡Äina
- minangkabau
- drugi jeziki
- makedonÅ¡Äina
- monsko-kmerski jezik
- malajalamÅ¡Äina
- mongolÅ¡Äina
- mandžurÅ¡Äina
- manipurÅ¡Äina
- kotabatski manobo
- moldavÅ¡Äina
- mohoÅ¡Äina
- mosijÅ¡Äina
- maratÅ¡Äina
- malajÅ¡Äina
- malteÅ¡Äina
- veÄ jezikov
- mundski jezik
- mus
- mirandeÅ¡Äina
- marvarÅ¡Äina
- burmanÅ¡Äina
- majevski jezik
- erzjanÅ¡Äina
- naurujÅ¡Äina
- nahuatl
- severnoameriški indijanski jezik
- napolitanÅ¡Äina
- knjižna norveÅ¡Äina
- severna ndebelÅ¡Äina
- nizka nemÅ¡Äina
- nepalÅ¡Äina
- nevarÅ¡Äina
- ng
- niaÅ¡Äina
- nigrsko-kordofanski jezik
- niuejÅ¡Äina
- nizozemÅ¡Äina
- flamÅ¡Äina
- novonorveÅ¡Äina
- norveÅ¡Äina
- nogajÅ¡Äina
- stara nordijÅ¡Äina
- nqo
- južna ndebelÅ¡Äina
- severna sotÅ¡Äina
- nubijski jezik
- navajÅ¡Äina
- klasiÄna nevarÅ¡Äina
- njanÅ¡Äina
- njamveÅ¡Äina
- njankole
- njoro
- nzima
- okcitanÅ¡Äina
- anaÅ¡inabÅ¡Äina
- oromo
- orijÅ¡Äina
- osetinÅ¡Äina
- osage
- otomanska turÅ¡Äina
- otomijski jezik
- pandžabÅ¡Äina
- papuanski jezik
- pangasinanÅ¡Äina
- pal
- pampanÅ¡Äina
- papiamentu
- palavanÅ¡Äina
- stara perzijÅ¡Äina
- filipinski jezik
- feniÄanÅ¡Äina
- palijÅ¡Äina
- poljÅ¡Äina
- ponpejÅ¡Äina
- prakritski jezik
- stara provansalÅ¡Äina
- paštu
- portugalÅ¡Äina
- brazilska portugalÅ¡Äina
- iberska portugalÅ¡Äina
- keÄuanÅ¡Äina
- radžastanÅ¡Äina
- rapanujÅ¡Äina
- rarotongÅ¡Äina
- retoromanÅ¡Äina
- rundÅ¡Äina
- romunÅ¡Äina
- romanski jezik
- romÅ¡Äina
- root
- ruÅ¡Äina
- aromunÅ¡Äina
- ruandÅ¡Äina
- sanskrt
- sad
- jakutÅ¡Äina
- sai
- sal
- samaritanska aramejÅ¡Äina
- sasaÅ¡Äina
- santalÅ¡Äina
- sardinÅ¡Äina
- sicilijanÅ¡Äina
- Å¡kotÅ¡Äina
- sindÅ¡Äina
- severna samijÅ¡Äina
- selkupÅ¡Äina
- semitski jezik
- sango
- stara irÅ¡Äina
- znakovni jezik
- srbohrvaÅ¡Äina
- Å¡anÅ¡Äina
- singalÅ¡Äina
- sidamÅ¡Äina
- sijuÅ¡Äina
- kitajsko-tibetanski jezik
- slovaÅ¡Äina
- slovenÅ¡Äina
- slovanski jezik
- samoanÅ¡Äina
- južna samijÅ¡Äina
- samijski jezik
- luleÅ¡ka samijÅ¡Äina
- inarska samijÅ¡Äina
- samijÅ¡Äina Skolt
- Å¡onÅ¡Äina
- snk
- somalÅ¡Äina
- sog
- songajÅ¡Äina
- albanÅ¡Äina
- srbÅ¡Äina
- surinamska kreolÅ¡Äina
- sererÅ¡Äina
- svazijÅ¡Äina
- nilsko-saharski jezik
- sesoto
- sundanÅ¡Äina
- sukuma
- susujÅ¡Äina
- sumerÅ¡Äina
- Å¡vedÅ¡Äina
- svahili
- klasiÄna sirÅ¡Äina
- sirÅ¡Äina
- tamilÅ¡Äina
- tajski jezik
- telugijÅ¡Äina
- temnejÅ¡Äina
- ter
- tetumÅ¡Äina
- tadžiÅ¡Äina
- tajÅ¡Äina
- tigrajÅ¡Äina
- tigrejÅ¡Äina
- tivÅ¡Äina
- turkmenÅ¡Äina
- tokelavÅ¡Äina
- tagalogÅ¡Äina
- klingonÅ¡Äina
- tlingitÅ¡Äina
- tamajaÅ¡Äina
- cvanÅ¡Äina
- tongÅ¡Äina
- malavijska tongÅ¡Äina
- tok pisin
- turÅ¡Äina
- tsonga
- tsimÅ¡Äina
- tatarÅ¡Äina
- tumbukÅ¡Äina
- tupijski jezik
- altajski jezik
- tuvalujÅ¡Äina
- tvi
- tahitÅ¡Äina
- tuvinÅ¡Äina
- udmurtÅ¡Äina
- ujgurÅ¡Äina
- ugaritski jezik
- ukrajinÅ¡Äina
- umbundÅ¡Äina
- neznan ali neveljaven jezik
- urdujÅ¡Äina
- uzbeÅ¡Äina
- vajÅ¡Äina
- venda
- vietnamÅ¡Äina
- volapuk
- votjaÅ¡Äina
- valonÅ¡Äina
- vakaški jezik
- valamÅ¡Äina
- varajÅ¡Äina
- vaÅ¡ajÅ¡Äina
- lužiško srbski jezik
- volofÅ¡Äina
- kalmiÅ¡Äina
- xhosa
- jaojÅ¡Äina
- japÅ¡Äina
- jidiš
- jorubÅ¡Äina
- jupiški jezik
- za
- zapoteÅ¡Äina
- znakovni jezik Bliss
- zenaÅ¡Äina
- kitajÅ¡Äina
- poenostavljena kitajÅ¡Äina
- tradicionalna kitajÅ¡Äina
- zandejÅ¡Äina
- zulujÅ¡Äina
- zunijÅ¡Äina
- brez jezikoslovne vsebine
- zazajÅ¡Äina
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Svet
- Afrika
- Severna Amerika
- Južna Amerika
- Oceanija
- Zahodna Afrika
- Srednja Amerika
- Vzhodna Afrika
- Severna Afrika
- Srednja Afrika
- Južna Afrika
- Amerike
- severnoameriška celina
- Karibi
- Vzhodna Azija
- Južna Azija
- Jugovzhodna Azija
- Južna Evropa
- Avstralija in Nova Zelandija
- Melanezija
- mikronezijska regija
- Polinezija
- Južna osrednja Azija
- Azija
- Osrednja Azija
- Zahodna Azija
- Evropa
- Vzhodna Evropa
- Severna Evropa
- Zahodna Evropa
- Skupnost neodvisnih držav
- Latinska Amerika in Karibi
- Kanalski otoki
- Andora
- Združeni arabski emirati
- Afganistan
- Antigva in Barbuda
- Angvila
- Albanija
- Armenija
- Nizozemski Antili
- Angola
- Antarktika
- Argentina
- Ameriška Samoa
- Avstrija
- Avstralija
- Aruba
- Alandsko otoÄje
- Azerbajdžan
- Bosna in Hercegovina
- Barbados
- Bangladeš
- Belgija
- Burkina Faso
- Bolgarija
- Bahrajn
- Burundi
- Benin
- Saint Barthelemy
- Bermudi
- Brunej
- Bolivija
- Brazilija
- Bahami
- Butan
- Bouvetov otok
- Bocvana
- Belorusija
- Belize
- Kanada
- Kokosovi otoki
- DemokratiÄna republika Kongo
- Centralnoafriška republika
- Kongo
- Å vica
- SlonokoÅ¡Äena obala
- Cookovo otoÄje
- ÄŒile
- Kamerun
- Kitajska
- Kolumbija
- Kostarika
- Srbija in ÄŒrna gora
- Kuba
- Zelenortski otoki
- BožiÄni otok
- Ciper
- Češka
- NemÄija
- Džibuti
- Danska
- Dominika
- Dominikanska republika
- Alžirija
- Ekvador
- Estonija
- Egipt
- Zahodna Sahara
- Eritreja
- Å panija
- Etiopija
- Finska
- Fidži
- Falklandski otoki
- Mikronezija
- Ferski otoki
- Francija
- Gabon
- Velika Britanija
- Grenada
- Gruzija
- Francoska Gvajana
- Guernsey
- Gana
- Gibraltar
- Grenlandija
- Gambija
- Gvineja
- Gvadalupe
- Ekvatorialna Gvineja
- GrÄija
- Južna Georgia in Južni Sandwichevi otoki
- Gvatemala
- Guam
- Gvineja Bissau
- Gvajana
- Posebno administrativno obmoÄje LR Kitajske Hong Kong
- Otok Heard in otoÄje McDonald
- Honduras
- Hrvaška
- Haiti
- Madžarska
- Indonezija
- Irska
- Izrael
- Otok Man
- Indija
- Britansko ozemlje v Indijskem oceanu
- Irak
- Iran
- Islandija
- Italija
- Jersey
- Jamajka
- Jordanija
- Japonska
- Kenija
- Kirgizistan
- Kambodža
- Kiribati
- Komori
- Saint Kitts in Nevis
- Severna Koreja
- Južna Koreja
- Kuvajt
- Kajmanski otoki
- Kazahstan
- Laos
- Libanon
- Saint Lucia
- Lihtenštajn
- Å rilanka
- Liberija
- Lesoto
- Litva
- Luksemburg
- Latvija
- Libija
- Maroko
- Monako
- Moldavija
- ÄŒrna gora
- Saint Martin
- Madagaskar
- Marshallovi otoki
- Makedonija
- Mali
- Mjanmar
- Mongolija
- Posebno administrativno obmoÄje LR Kitajske Macao
- Severni Marianski otoki
- Martinik
- Mavretanija
- Montserrat
- Malta
- Mauritius
- Maldivi
- Malavi
- Mehika
- Malezija
- Mozambik
- Namibija
- Nova Kaledonija
- Niger
- Norfolški otok
- Nigerija
- Nikaragva
- Nizozemska
- Norveška
- Nepal
- Nauru
- Niue
- Nova Zelandija
- Oman
- Panama
- Peru
- Francoska Polinezija
- Papua Nova Gvineja
- Filipini
- Pakistan
- Poljska
- Saint Pierre in Miquelon
- Pitcairn
- Portoriko
- Palestinsko ozemlje
- Portugalska
- Palau
- Paragvaj
- Katar
- Ostala oceanija
- Evropska unija
- Reunion
- Romunija
- Srbija
- Rusija
- Ruanda
- Saudova Arabija
- Salomonovi otoki
- Sejšeli
- Sudan
- Å vedska
- Singapur
- Sveta Helena
- Slovenija
- Svalbard in Jan Mayen
- Slovaška
- Sierra Leone
- San Marino
- Senegal
- Somalija
- Surinam
- Sao Tome in Principe
- Salvador
- Sirija
- Svazi
- OtoÄji Turks in Caicos
- ÄŒad
- Francosko južno ozemlje
- Togo
- Tajska
- Tadžikistan
- Tokelau
- Vzhodni Timor
- Turkmenistan
- Tunizija
- Tonga
- TurÄija
- Trinidad in Tobago
- Tuvalu
- Tajvan
- Tanzanija
- Ukrajina
- Uganda
- Druga ameriška ozemlja v Tihem oceanu
- Združene države Amerike
- Urugvaj
- Uzbekistan
- Vatikan
- Saint Vincent in Grenadine
- Venezuela
- Britanski Deviški otoki
- Ameriški Deviški otoki
- Vietnam
- Vanuatu
- Wallis in Futuna
- Samoa
- Jemen
- Mayotte
- Južnoafriška republika
- Zambija
- Zimbabve
- Neznano ali neveljavno obmoÄje
-
-
- tradicionalni nemški pravopis
- standardizirani rezijanski pravopis (1994)
- novi nemški pravopis (1996)
- pozna srednja francoÅ¡Äina (do 1606)
- zgodnja sodobna francoÅ¡Äina
- vzhodna armenÅ¡Äina
- zahodna armenÅ¡Äina
- modernizirana turška latinica
- rezijansko nareÄje Bila (San Giorgio)
- boonvilski jezik
- mednarodna fonetiÄna pisava IPA
- uralska fonetska pisava UPA
- rezijansko nareÄje iz Lipovca (Lipovaz)
- monotonalni pravopis
- nadiÅ¡ko nareÄje
- rezijansko nareÄje Njiva (Gniva)
- rezijansko nareÄje iz Osojan (Oseacco)
- politonalni pravopis
- standard prenosljivosti programske opreme
- revidiran pravopis
- rezijanÅ¡Äina
- standardna Å¡kotska angleÅ¡Äina
- liverpoolsko angleÅ¡ko nareÄje scouse
- rezijansko nareÄje iz Solbice (Stolvizza)
- TaraÅ¡kieviÄeva beloruska slovnica
- valencijski pravopis
-
-
- koledar
- razvrÅ¡Äanje
- valuta
-
-
- razvrÅ¡Äanje po sistemu tradicionalne kitajÅ¡Äine - Big5
- budistiÄni koledar
- kitajski koledar
- neposredno razvrÅ¡Äanje
- razvrÅ¡Äanje po sistemu poenostavljene kitajÅ¡Äine - GB2312
- gregorijanski koledar
- hebrejski koledar
- indijanski koledar
- islamski koledar
- islamski civilni koledar
- japonski koledar
- razvrÅ¡Äanje po abecedi
- razvrÅ¡Äanje po sistemu pinjin
- kitajski državni koledar
- razvrÅ¡Äanje po zaporedju pisanja pismenk
- razvrÅ¡Äanje po tradicionalnem sistemu
-
-
- metriÄni
- imperialni
-
-
- Jezik: {0}
- Regija: {0}
-
-
-
- titlecase-firstword
- titlecase-firstword
-
-
- [a-c Ä d-p r s Å¡ t-v z ž]
- [Ă¡ Ă Äƒ Ă¢ Ă¥ ä Ä Ă¦ ç Ă© è Ä• Ăª Ă« Ä“ à ì Ä Ă® Ă¯ Ä« ñ Ă³ Ă² Å Ă´ ö ø Å Å“ q ĂŸ Ăº Ă¹ Å Ă» Ă¼ Å« w-y Ă¿]
- [a-z]
-
-
- »
- «
- â€
- “
-
-
- {0} – {1}
-
-
-
-
-
- jan
- feb
- mar
- apr
- maj
- jun
- jul
- avg
- sep
- okt
- nov
- dec
-
-
- januar
- februar
- marec
- april
- maj
- junij
- julij
- avgust
- september
- oktober
- november
- december
-
-
-
-
- j
- f
- m
- a
- m
- j
- j
- a
- s
- o
- n
- d
-
-
-
-
-
-
- ned
- pon
- tor
- sre
- Äet
- pet
- sob
-
-
- nedelja
- ponedeljek
- torek
- sreda
- Äetrtek
- petek
- sobota
-
-
-
-
- n
- p
- t
- s
- Ä
- p
- s
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- 1. Äetrtletje
- 2. Äetrtletje
- 3. Äetrtletje
- 4. Äetrtletje
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- dop.
- pop.
-
-
- pred našim štetjem
- naše štetje
-
-
- pr. n. št.
- po Kr.
-
-
-
-
-
- EEEE, dd. MMMM y
-
-
-
-
- dd. MMMM y
-
-
-
-
- d. MMM. yyyy
-
-
-
-
- d. MM. yy
-
-
-
-
-
-
- H:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- HH:mm
- HH:mm:ss
- d. M.
- d. MMMM
- dd. MMMM
- mm:ss
- mm:ss
- y
- Q/yy
- M/yyyy
- MMMM y
-
-
- {0} – {1}
-
- d.–d.
-
-
- HH–HH
- HH–HH
-
-
- HH:mm–HH:mm
- HH:mm–HH:mm
- HH:mm–HH:mm
-
-
- HH:mm–HH:mm v
- HH:mm–HH:mm v
- HH:mm–HH:mm v
-
-
- HH–HH v
- HH–HH v
-
-
- M.–M.
-
-
- d. – d. M.
- d. M. – d. M.
-
-
- E., d. – E., d. M.
- E., d. M. – E., d. M.
-
-
- MMM–MMM
-
-
- d.–d. MMM.
- d. MMM. – d. MMM.
-
-
- E., d. – E., d. MMM.
- E., d. MMM. – E., d. MMM.
-
-
- LLLL–LLLL
-
-
- y–y
-
-
- M – M/yy
- M/yy – M/yy
-
-
- d. M. yy – d. M. yy
- d. M. – d. M. yy
- d. M. yy – d. M. yy
-
-
- E., d. – E., d. M. yy
- E., d. M. – E., d. M. yy
- E., d. M. yy – E., d. M. yy
-
-
- MMM. – MMM. y
- MMM. y – MMM. y
-
-
- d.–d. MMM. y
- d. MMM. – d. MMM. y
- d. MMM. y – d. MMM. y
-
-
- E., d. MMM. – E., d. MMM. y
- E., d. MMM. – E., d. MMM. y
- E., d. MMM. y – E., d. MMM. y
-
-
- MM–MM yyyy
- MM/yyyy – MM/yyyy
-
-
-
-
-
- Doba
-
-
- Leto
-
-
- Mesec
-
-
- Teden
-
-
- Dan
- Pred tremi dnevi
- PredvÄerajÅ¡njim
- VÄeraj
- Danes
- Jutri
- Pojutrišnjem
- ÄŒez tri dni
-
-
- Dan v tednu
-
-
- ÄŒas dneva
-
-
- Ura
-
-
- Minuta
-
-
- Sekunda
-
-
- ObmoÄje
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
- {1} ({0})
-
- neznano
-
-
- Andora
-
-
- Dubaj
-
-
- Tirana
-
-
- Erevan
-
-
- Južni teÄaj
-
-
- Kordova
-
-
- Dunaj
-
-
- Daka
-
-
- Bruselj
-
-
- Sofija
-
-
- Bahrajn
-
-
- Bermudi
-
-
- Brunej
-
-
- Kokosovi
-
-
- Kinšasa
-
-
- Lubumbaši
-
-
- Abidžan
-
-
- VelikonoÄni otok
-
-
- Kašgar
-
-
- Å angaj
-
-
- Kostarika
-
-
- Zelenortski otoki
-
-
- BožiÄni
-
-
- Nikozija
-
-
- Džibuti
-
-
- Kopenhagen
-
-
- Dominika
-
-
- Alžir
-
-
- Talin
-
-
- Kairo
-
-
- Kanarski otoki
-
-
- Adis Abeba
-
-
- Fidži
-
-
- Ferski otoki
-
-
- Pariz
-
-
- Akra
-
-
- Gvadelupe
-
-
- Atene
-
-
- Gvatemala
-
-
- Bisau
-
-
- Gvajana
-
-
- Hongkong
-
-
- Budimpešta
-
-
- Džakarta
-
-
- Makasar
-
-
- Bagdad
-
-
- Teheran
-
-
- Rim
-
-
- Jamajka
-
-
- Aman
-
-
- Tokio
-
-
- Biškek
-
-
- St. Kitts
-
-
- Pjongjang
-
-
- Seul
-
-
- Kuvajt
-
-
- Kajman
-
-
- Aktau
-
-
- Uralsk
-
-
- Aktobe
-
-
- Almati
-
-
- Bejrut
-
-
- St. Lucia
-
-
- Vilna
-
-
- Luksemburg
-
-
- Monako
-
-
- Ulan Bator
-
-
- Macao
-
-
- Martinik
-
-
- Maldivi
-
-
- KaraÄi
-
-
- Varšava
-
-
- Portoriko
-
-
- Azori
-
-
- Lizbona
-
-
- Katar
-
-
- Bukarešta
-
-
- Moskva
-
-
- Jekaterinburg
-
-
- Krasnojarsk
-
-
- Jakutsk
-
-
- Sahalin
-
-
- KamÄatka
-
-
- Anadir
-
-
- Rijad
-
-
- Kartum
-
-
- Singapur
-
-
- St. Helena
-
-
- Mogadiš
-
-
- Salvador
-
-
- Damask
-
-
- Ašgabat
-
-
- Darussalam
-
-
- Užgorod
-
-
- Kijev
-
-
- Zaporožje
-
-
- New Salem, Severna Dakota
-
-
- Center, Severna Dakota
-
-
- Taškent
-
-
- St. Vincent
-
-
- St. Thomas
-
-
- Sajgon
-
-
-
- Srednjeevropski Äas
- Srednjeevropski poletni Äas
-
-
-
-
- Vzhodnoevropski Äas
- Vzhodnoevropski poletni Äas
-
-
-
-
-
-
- ,
- .
- ;
- %
- 0
- #
- +
- -
- e
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- andorska peseta
-
-
- dirham Združenih arabskih emiratov
-
-
- stari afganistanski afgani (1927–2002)
-
-
- afgani
-
-
- albanski lek
-
-
- armenski dram
-
-
- nizozemsko-antilski gulden
-
-
- angolska kvanza
-
-
- stara angolska kvanza (1977–1990)
-
-
- angolska nova kvanza (1990–2000)
-
-
- konvertibilna angolska kvanza (1995–1999)
-
-
- argentinski avstral
-
-
- argentinski peso (1983–1985)
-
-
- argentinski peso
-
-
- avstrijski šiling
-
-
- avstralski dolar
-
-
- arubski florin
-
-
- stari azerbajdžanski manat (1993–2006)
-
-
- azerbajdžanski manat
-
-
- bosansko-hercegovski dinar
-
-
- bosansko-hercegovska konvertibilna marka
-
-
- barbadoški dolar
-
-
- bangladeška taka
-
-
- belgijski konvertibilni frank
-
-
- belgijski frank
-
-
- belgijski finanÄni frank
-
-
- stari bolgarski lev
-
-
- bolgarski lev
-
-
- bahranski dinar
-
-
- burundski frank
-
-
- bermudski dolar
-
-
- brunejski dolar
-
-
- bolivijski boliviano
-
-
- bolivijski peso
-
-
- bolivijski mvdol
-
-
- brazilski novi kruzeiro (1967–1986)
-
-
- brazilski kruzado
-
-
- stari brazilski kruzeiro (1990–1993)
-
-
- brazilski real
-
-
- novi brazilski kruzado
-
-
- brazilski kruzeiro
-
-
- bahamski dolar
-
-
- butanski ngultrum
-
-
- burmanski kjat
-
-
- bocvanska pula
-
-
- beloruski novi rubelj (1994–1999)
-
-
- beloruski rubelj
-
-
- belizejski dolar
-
-
- kanadski dolar
-
-
- kongoški frank
-
-
- evro WIR
-
-
- švicarski frank
-
-
- frank WIR
-
-
- Äilski unidades de fomento
-
-
- Äilski peso
-
-
- kitajski juan renminbi
-
-
- kolumbijski peso
-
-
- kolumbijska enota realne vrednosti
-
-
- kostariški kolon
-
-
- stari srbski dinar
-
-
- ÄeÅ¡koslovaÅ¡ka krona
-
-
- kubanski peso
-
-
- zelenortski eskudo
-
-
- ciprski funt
-
-
- ÄeÅ¡ka krona
-
-
- vzhodnonemška marka
-
-
- nemška marka
-
-
- džibutski frank
-
-
- danska krona
-
-
- dominikanski peso
-
-
- alžirski dinar
-
-
- ekvadorski sukre
-
-
- ekvadorska enota realne vrednosti (UVC)
-
-
- estonska krona
-
-
- egiptovski funt
-
-
- eritrejska nakfa
-
-
- Å¡panska pezeta (raÄun A)
-
-
- Å¡panska pezeta (raÄun B)
-
-
- španska pezeta
-
-
- etiopski bir
-
-
- evro
-
-
- finska marka
-
-
- fidžijski dolar
-
-
- falklandski funt
-
-
- francoski frank
-
-
- britanski funt
-
-
- gruzijski bon lari
-
-
- gruzijski lari
-
-
- stari ganski cedi (1979–2007)
-
-
- ganski cedi
-
-
- gibraltarski funt
-
-
- gambijski dalasi
-
-
- gvinejski sili
-
-
- ekwele Ekvatorialne Gvineje
-
-
- grška drahma
-
-
- gvatemalski kecal
-
-
- eskudo Portugalske Gvineje
-
-
- peso Gvineje Bissau
-
-
- gvajanski dolar
-
-
- hongkonški dolar
-
-
- honduraška lempira
-
-
- hrvaški dinar
-
-
- hrvaška kuna
-
-
- haitski gurd
-
-
- madžarski forint
-
-
- indonezijska rupija
-
-
- irski funt
-
-
- izraelski funt
-
-
- izraelski šekel
-
-
- indijska rupija
-
-
- iraški dinar
-
-
- iranski rial
-
-
- islandska krona
-
-
- italijanska lira
-
-
- jamajški dolar
-
-
- jordanski dinar
-
-
- japonski jen
- ¥
-
-
- kenijski šiling
-
-
- kirgiški som
-
-
- kamboški riel
-
-
- komorski frank
-
-
- severnokorejski von
-
-
- južnokorejski von
-
-
- kuvajtski dinar
-
-
- kajmanski dolar
-
-
- kazahstanski tenge
-
-
- laoški kip
-
-
- libanonski funt
-
-
- šrilanška rupija
-
-
- liberijski dolar
-
-
- lesoški loti
-
-
- litovski litas
-
-
- litvanski litas
-
-
- luksemburški konvertibilni frank
-
-
- luksemburški frank
-
-
- luksemburÅ¡ki finanÄni frank
-
-
- latvijski lats
-
-
- latvijski rubelj
-
-
- libijski dinar
-
-
- maroški dirham
-
-
- maroški frank
-
-
- moldavijski leu
-
-
- malgaški ariarij
-
-
- malgaški frank
-
-
- makedonski denar
-
-
- malijski frank
-
-
- mjanmarski kjat
-
-
- mongolski tugrik
-
-
- makavska pataka
-
-
- mavretanska uguija
-
-
- malteška lira
-
-
- malteški funt
-
-
- mavricijska rupija
-
-
- maldivska rufija
-
-
- malavijska kvaÄa
-
-
- mehiški peso
-
-
- mehiški srebrni peso (1861-1992)
-
-
- mehiška inverzna enota (UDI)
-
-
- malezijski ringit
-
-
- mozambiški eskudo
-
-
- stari mozambiški metikal
-
-
- mozambiški metikal
-
-
- namibijski dolar
-
-
- nigerijska naira
-
-
- nikaraška kordova
-
-
- nikaraška zlata kordova
-
-
- nizozemski gulden
-
-
- norveška krona
-
-
- nepalska rupija
-
-
- novozelandski dolar
-
-
- omanski rial
-
-
- panamska balboa
-
-
- perujski inti
-
-
- perujski novi sol
-
-
- perujski sol
-
-
- kina Papue Nove Gvineje
-
-
- filipinski peso
-
-
- pakistanska rupija
-
-
- poljski novi zlot
-
-
- stari poljski zlot (1950–1995)
-
-
- portugalski eskudo
-
-
- paragvajski gvarani
-
-
- katarski rial
-
-
- rodezijski dolar
-
-
- stari romunski leu
-
-
- romunski leu
-
-
- srbski dinar
-
-
- ruski rubelj
-
-
- ruski rubelj (1991–1998)
-
-
- ruandski frank
-
-
- saudski rial
-
-
- solomonski dolar
-
-
- sejšelska rupija
-
-
- stari sudanski dinar
-
-
- sudanski funt
-
-
- stari sudanski funt
-
-
- švedska krona
-
-
- singapurski dolar
-
-
- funt Sv. Helene
-
-
- slovenski tolar
-
-
- slovaška krona
-
-
- sieraleonski leone
-
-
- somalski šiling
-
-
- surinamski dolar
-
-
- surinamski gulden
-
-
- saotomejska dobra
-
-
- sovjetski rubelj
-
-
- salvadorski kolon
-
-
- sirijski funt
-
-
- svazijski lilangeni
-
-
- tajski baht
-
-
- tadžikistanski rubelj
-
-
- tadžikistanski somoni
-
-
- turkmenski manat
-
-
- tunizijski dinar
-
-
- tongovska paanga
-
-
- timorski eskudo
-
-
- stara turška lira
-
-
- nova turška lira
-
-
- dolar Trinidada in Tobaga
-
-
- novi tajvanski dolar
-
-
- tanzanijski šiling
-
-
- ukrajinska grivna
-
-
- ukrajinski karbovanci
-
-
- stari ugandski šiling (1966–1987)
-
-
- ugandski šiling
-
-
- ameriški dolar
- $
-
-
- ameriški dolar, naslednji dan
-
-
- ameriški dolar, isti dan
-
-
- stari urugvajski peso (1975–1993)
-
-
- urugvajski peso
-
-
- uzbeški sum
-
-
- venezuelski bolivar
-
-
- venezuelski bolivar fuerte
-
-
- vientnamski dong
-
-
- vanuatujski vatu
-
-
- samoanska tala
-
-
- CFA frank BEAC
-
-
- srebro
-
-
- zlato
-
-
- evropska sestavljena enota
-
-
- evropska monetarna enota
-
-
- evropska obraÄunska enota (XBC)
-
-
- evropska obraÄunska enota (XBD)
-
-
- vzhodnokaribski dolar
-
-
- posebne pravice Ärpanja
-
-
- evropska denarna enota
-
-
- zlati frank
-
-
- frank UIC
-
-
- CFA frank BCEAO
-
-
- paladij
-
-
- CFP frank
-
-
- platina
-
-
- XRE
-
-
- koda za potrebe testiranja
-
-
- neznana ali neveljavna valuta
-
-
- jemenski dinar
-
-
- jemenski rial
-
-
- stari jugoslovanski dinar
-
-
- novi jugoslovanski dinar
-
-
- jugoslovanski konvertibilni dinar
-
-
- južnoafriÅ¡ki finanÄni rand
-
-
- južnoafriški rand
-
-
- zambijska kvaÄa
-
-
- zairski novi zaire
-
-
- zairski zaire
-
-
- zimbabvejski dolar
-
-
-
-
-
- {0} dnevi
- {0} dan
- {0} dni
- {0} dni
-
-
- {0} ure
- {0} ura
- {0} ur
- {0} uri
-
-
- {0} minute
- {0} minuta
- {0} minut
- {0} minuti
-
-
- {0} meseci
- {0} mesec
- {0} mesecev
- {0} meseca
-
-
- {0} sekunde
- {0} sekunda
- {0} sekund
- {0} sekundi
-
-
- {0} tedni
- {0} teden
- {0} tednov
- {0} tedna
-
-
- {0} leta
- {0} leto
- {0} let
- {0} leti
-
-
-
-
- da:d
- ne:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sl_SI.xml b/airtime_mvc/library/Zend/Locale/Data/sl_SI.xml
deleted file mode 100644
index 2c7942071..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sl_SI.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/so.xml b/airtime_mvc/library/Zend/Locale/Data/so.xml
deleted file mode 100644
index 23d91e61a..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/so.xml
+++ /dev/null
@@ -1,559 +0,0 @@
-
-
-
-
-
-
-
-
-
- Afrikaanays
- Amhari
- Carabi
- Asaamiis
- Azerbaijan
- Beleruusiyaan
- Bulgeeriyaan
- Bixaari
- Bangaali
- Bereton
- Boosniya
- Katalaan
- Jeeg
- Welsh
- Danmarkays
- Jarmal
- Jarmal (Iswiiserlaand)
- Giriik
- Ingiriisi
- Ingiriisi (Boqortooyada Midowday)
- Ingiriisi (Maraykan)
- Isberento
- Isbaanish
- Isbaanishka Laatiin Ameerika
- Isbaanish (Isbayn)
- Istooniyaan
- Basquu
- Faarisi
- Fiinlaandees
- Tagalog
- Farowsi
- Faransiis
- Faransiis (Iswiiserlaand)
- Firiisiyan Galbeed
- Ayrish
- Iskot Giilik
- Galiisiyaan
- Guraani
- Gujaraati
- Cibri
- Hindi
- Koro'eeshiyaan
- Hangariyaan
- Armeeniyaan
- Interlinguwa
- Indunuusiyaan
- Interlingue
- Ayslandays
- Talyaani
- Jabbaaniis
- Jafaaniis
- Joorijiyaan
- Kamboodhian
- Kannadays
- Kuuriyaan
- Kurdishka
- Kirgiis
- Laatiin
- Lingala
- Laothian
- Lituwaanays
- Laatfiyaan
- Masadooniyaan
- Malayalam
- Mangooli
- Maarati
- Malaay
- Maltiis
- Nebaali
- Holandays
- Nowrwejiyan (naynoroski)
- Af Noorwiijiyaan
- Okitaan
- Oriya
- Bunjaabi
- Boolish
- Bashtuu
- Boortaqiis
- Boortaqiiska Baraasiil
- Boortaqiis (Boortuqaal)
- Romanka
- Ruush
- Sanskrit
- SINDHI
- Serbiyaan
- Sinhaleys
- Isloofaak
- Islofeeniyaan
- Soomaali
- Albaaniyaan
- Seerbiyaan
- Sesooto
- Suudaaniis
- Swiidhis
- Sawaaxili
- Tamiil
- Teluugu
- Taaylandays
- Tigrinya
- Turkumaanish
- Kiligoon
- Turkish
- Tiwiyan
- UIGHUR
- Yukreeniyaan
- Af aan la aqoon ama aan sax ahayn
- Urduu
- Usbakis
- Fiitnaamays
- Hoosta
- Yadhish
- Jayniis
- Zuulu
-
-
-
-
-
-
-
- Afrikada Bari
- Aasiyada Bari
- Yurubta Bari
- Imaaraadka Carabta ee Midoobay
- Afgaanistaan
- Armeeniya
- Angoola
- Osteeriya
- Awstraaliya
- Boosniya Heersigoviina
- Baarbadoos
- Bangaala-Deesh
- Beljiyam
- Baxrayn
- Beniin
- Braasiil
- Kanada
- Swiiserlaand
- Jili
- Kameruun
- Shiinaha
- Kuuba
- Jekoslafaakiya
- Jarmal
- Jabuuti
- Danmaark
- Ikwadoor
- Masar
- Isbeyn
- Itoobiya
- Fiinlaand
- Faransiis
- United Kingdom
- Giriinaada
- Gini
- Giriigga
- Korweeshiya
- Hangeri
- Indoneesiya
- Ayrlaanda
- Israaʼiil
- Hindiya
- Ciraaq
- Iiraan
- Iislaand
- Talyaani
- Jameyka
- Urdun
- Jabbaan
- Kiiniya
- Kamboodiya
- Kuuriyada Waqooyi
- Kuuriyada Koonfureed
- Kuwayt
- Kasaakhistaan
- Lubnaan
- Siirilaanka
- Laybeeriya
- Losooto
- Luksemboorg
- Laatfiya
- Liibiya
- Marooko
- Moonako
- Makadooniya
- Maali
- Muritaaniya
- Maalda
- Maaldiqeen
- Malaawi
- Meksiko
- Musambiig
- Namiibiya
- Nayjeeriya
- Nikaraaguwa
- Noorweey
- Neyuusilaand
- Cumaan
- Filibiin
- Bakistaan
- Booland
- Bortuqaal
- Qadar
- Rumaaniya
- Ruush
- Sacuudi Carabiya
- Sudaan
- Iswidhan
- Siraaliyoon
- Soomaaliya
- Suuriya
- Jaad
- Toogo
- Taylaand
- Tuniisiya
- Tonga
- Turki
- Tansaaniya
- Ugaanda
- Qaramada Midoobey ee Maraykanka
- Faatikaan
- Fenisuweela
- Fiyetnaam
- Yaman
- Koonfur Afrika
- Saambiya
- Simbaabwe
- Far aan la aqoon amase aan saxnayn
-
-
- Habeentiris
- Lacag
-
-
- Habeentiriska yuhuudda
- Habeentiriska islaamka
- Habeentiriska jabbaanka
-
-
-
- [a-z]
-
-
-
-
-
-
-
- Kob
- Lab
- Sad
- Afr
- Sha
- Lix
- Tod
- Sid
- Sag
- Tob
- KIT
- LIT
-
-
- Bisha Koobaad
- Bisha Labaad
- Bisha Saddexaad
- Bisha Afraad
- Bisha Shanaad
- Bisha Lixaad
- Bisha Todobaad
- Bisha Sideedaad
- Bisha Sagaalaad
- Bisha Tobnaad
- Bisha Kow iyo Tobnaad
- Bisha Laba iyo Tobnaad
-
-
-
-
- K
- L
- S
- A
- S
- L
- T
- S
- S
- T
- K
- L
-
-
-
-
-
-
- Axa
- Isn
- Sal
- Arb
- Kha
- Jim
- Sab
-
-
- Axad
- Isniin
- Salaaso
- Arbaco
- Khamiis
- Jimco
- Sabti
-
-
-
-
- A
- I
- S
- A
- K
- J
- S
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- sn
- gn
-
-
- Ciise ka hor
- Ciise ka dib
-
-
-
-
-
- EEEE, MMMM dd, y
-
-
-
-
- dd MMMM y
-
-
-
-
- dd-MMM-y
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd/MM
- dd MMMM
- MM/yy
- Q yy
- MMMM y
-
-
- {0} - {1}
-
- d-d
-
-
- h a - h a
- h-h a
-
-
- h:mm a - h:mm a
- h:mm-h:mm a
- h:mm-h:mm a
-
-
- h:mm a - h:mm a v
- h:mm-h:mm a v
- h:mm-h:mm a v
-
-
- h a - h a v
- h-h a v
-
-
- M-M
-
-
- dd/MM - dd/MM
- dd/MM - dd/MM
-
-
- E, dd/MM - E, dd/MM
- E, dd/MM - E, dd/MM
-
-
- MMM-MMM
-
-
- dd-dd MMM
- dd MMM - dd MMM
-
-
- E, dd - E, dd MMM
- E, dd MMM - E, dd MMM
-
-
- y-y
-
-
- MM/yy - MM/yy
- MM/yy - MM/yy
-
-
- dd/MM/yy - dd/MM/yy
- dd/MM/yy - dd/MM/yy
- dd/MM/yy - dd/MM/yy
-
-
- E, dd/MM/yy - E, dd/MM/yy
- E, dd/MM/yy - E, dd/MM/yy
- E, dd/MM/yy - E, dd/MM/yy
-
-
- MMM-MMM y
- MMM y - MMM y
-
-
- dd-dd MMM y
- dd MMM - dd MMM y
- dd MMM y - dd MMM y
-
-
- E, MMM dd - E, MMM dd, y
- E, MMM dd - E, MMM dd, y
- E, MMM dd, y - E, MMM dd, y
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
- Far aan la aqoon amase aan saxnayn
-
-
-
-
-
- .
- ,
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- Brazilian Real
-
-
- Chinese Yuan Renminbi
-
-
- Faran Jabbuuti
-
-
- Birta Itoobbiya
-
-
- Yuuroo
-
-
- British Pound Sterling
-
-
- Indian Rupee
-
-
- Japanese Yen
-
-
- Russian Ruble
-
-
- Shilin soomaali
-
-
- Doollar maraykan
-
-
- Lacag aan la qoon ama aan saxnayn
-
-
-
-
-
- haa:h
- maya:m
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/so_DJ.xml b/airtime_mvc/library/Zend/Locale/Data/so_DJ.xml
deleted file mode 100644
index b37a402ba..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/so_DJ.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/so_ET.xml b/airtime_mvc/library/Zend/Locale/Data/so_ET.xml
deleted file mode 100644
index d009f467c..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/so_ET.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/so_KE.xml b/airtime_mvc/library/Zend/Locale/Data/so_KE.xml
deleted file mode 100644
index 2f3b39705..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/so_KE.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/so_SO.xml b/airtime_mvc/library/Zend/Locale/Data/so_SO.xml
deleted file mode 100644
index 6df94e1ea..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/so_SO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sq.xml b/airtime_mvc/library/Zend/Locale/Data/sq.xml
deleted file mode 100644
index 684658399..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sq.xml
+++ /dev/null
@@ -1,656 +0,0 @@
-
-
-
-
-
-
-
-
-
- Afrikanisht
- Amharike
- Arabisht
- Asamezisht
- Azerbajxhanisht
- Bjellorusisht
- Bullgarisht
- Bihari
- Bengalisht
- Breton
- Boshnjakisht
- Katalonisht
- Çekisht
- Uellsisht
- Danisht
- Gjermanisht
- Greqisht
- Anglisht
- Esperanto
- Spanjisht
- Estonisht
- Baskisht
- Persisht
- Finlandisht
- Tagalogisht
- Faroisht
- Frengjisht
- Frizianisht
- Irlandisht
- Galisht
- Galicianisht
- Guarani
- Guxharati
- Hebraisht
- Hindi
- Kroatisht
- Hungarisht
- Armen
- Interlingua
- Indonezisht
- Gjuha nderkombtare
- Islandisht
- Italisht
- Japanisht
- Javanisht
- Gjeorgjisht
- Kamboxhiane
- Kanada
- Koreançe
- Kurd
- Kyrgyz
- Latinisht
- Lingala
- Laosisht
- Lituanisht
- Letonisht
- Maqedonisht
- Malajalam
- Mongolisht
- Marati
- Malajzisht
- Maltisht
- Nepalisht
- Holandisht
- Norvegjisht (Nynorsk)
- Norvegjisht
- Oksitanisht
- Orija
- Punxhabi
- Polonisht
- Pashto
- Portugeze
- Portugalisht (Brazil)
- Portugalisht (Portugali)
- Rumanisht
- Rusisht
- Sanskritisht
- Si'ndi
- Serbo-Kroatisht
- Sinhalezisht
- Sllovakisht
- Sllovenisht
- Somalisht
- shqipe
- Serbisht
- Sesotho
- Sundanisht
- Suedisht
- Suahilisht
- Tamil
- Telugu
- Tajlandisht
- Tigrinja
- Turk
- Klingon
- Turqisht
- Twi
- Ujgur
- Ukrainisht
- Unknown or Invalid Language
- Urdu
- Uzbekistanisht
- Vietnamisht
- Xhosa
- Jiden
- Kineze
- Zulu
-
-
-
-
-
-
-
- Andorrë
- Emiratet Arabe te Bashkuara
- Afganistan
- Antigua e Barbuda
- Shqipëria
- Armeni
- Angolë
- Argjentinë
- Austri
- Australi
- Ishujt Aland
- Azerbajxhan
- Bosnja dhe Hercegovina
- Belgjikë
- Bullgari
- Bahrein
- Brunej
- Bolivi
- Brazili
- Butan
- Botsvana
- Bjellorusi
- Kanada
- Republika Qendrore e Afrikës
- Kongo
- Zvicër
- Bregu i Fildishtë
- Kili
- Kamerun
- Kinë
- Kolumbi
- Kosta Rika
- Serbië en Montenegro
- Kubë
- Kap Verde
- Qipro
- Republika e Çekisë
- Gjermani
- Xhibuti
- Danimarkë
- Dominikë
- Republika Dominikanë
- Algjeri
- Ekuator
- Estoni
- Egjipt
- Saharaja Perëndimore
- Eritre
- Spanjë
- Etiopi
- Finlandë
- Fixhi
- Mikronezi
- Francë
- Gjabon
- Mbretëria e Bashkuar
- Gjeorgji
- Ganë
- Gambi
- Guine
- Guineja Ekuatoriale
- Greqi
- Guatemalë
- Guine Bisau
- Guajana
- Kroaci
- Hungari
- Indonezi
- Irlandë
- Izrael
- Indi
- Irak
- Islandë
- Itali
- Xhamajkë
- Jordani
- Japoni
- Kenia
- Kirgistan
- Kamboxhi
- Qiribati
- Komore
- Saint Kitts e Nevis
- Koreja e Veriut
- Koreja e Jugut
- Kuvajt
- Kazakistan
- Liban
- Lihtënshtajn
- Liberi
- Lesoto
- Lituani
- Luksemburg
- Letoni
- Libi
- Maroko
- Monako
- Moldavi
- Madagaskar
- Ishujt Marshall
- Maqedoni
- Mongoli
- Mauritani
- Maltë
- Maldivit
- Malavi
- Meksikë
- Malajzi
- Mozambik
- Namibi
- Nigeri
- Nikaragua
- Vendet e Ulëta
- Norvegji
- Zelanda e Re
- Papua Guineja e Re
- Filipine
- Poloni
- Portugali
- Paraguaj
- Katar
- Rumani
- Rusi
- Ruanda
- Arabia Saudite
- Ishujt Solomon
- Sishel
- Suedi
- Singapor
- Slloveni
- Sllovaki
- Siera Leone
- Somali
- Sao Tome e Prinsipe
- Siri
- Svazilandë
- Çad
- Togo
- Tajlandë
- Taxhikistan
- Tunisi
- Tonga
- Turqi
- Trinidad e Tobago
- Tajvan
- Tanzani
- Ukrainë
- Shtetet e Bashkuara të Amerikës
- Uruguaj
- Vatikan
- Saint Vincent e Grenadinet
- Venezuelë
- Jemen
- Afrika e Jugut
- Zambi
- Zimbabve
- Rajon i panjohur ose i pavlefshëm
-
-
-
- [a-c ç d {dh} e ë f g {gj} h-l {ll} m n {nj} o-r {rr} s {sh} t {th} u v x {xh} y z {zh}]
- [w]
-
-
-
-
-
-
-
- Jan
- Shk
- Mar
- Pri
- Maj
- Qer
- Kor
- Gsh
- Sht
- Tet
- Nën
- Dhj
-
-
- janar
- shkurt
- mars
- prill
- maj
- qershor
- korrik
- gusht
- shtator
- tetor
- nëntor
- dhjetor
-
-
-
-
- J
- S
- M
- P
- M
- Q
- K
- G
- S
- T
- N
- D
-
-
-
-
-
-
- Die
- Hën
- Mar
- Mër
- Enj
- Pre
- Sht
-
-
- e diel
- e hënë
- e martë
- e mërkurë
- e enjte
- e premte
- e shtunë
-
-
-
-
- D
- H
- M
- M
- E
- P
- S
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- PD
- MD
-
-
- p.e.r.
- n.e.r.
-
-
-
-
-
- EEEE, dd MMMM y
-
-
-
-
- dd MMMM y
-
-
-
-
- yyyy-MM-dd
-
-
-
-
- yy-MM-dd
-
-
-
-
-
-
- h.mm.ss.a zzzz
-
-
-
-
- h.mm.ss.a z
-
-
-
-
- h.mm.ss.a
-
-
-
-
- h.mm.a
-
-
-
-
-
- d
- H.mm
- H.mm.ss
- L
- M-d
- E, d.M
- MM-dd
- LLL
- d MMM
- E d MMM
- d MMMM
- dd MMMM
- E d MMMM
- mm:ss
- y
- M.yyyy
- EEE, d.M.yyyy
- MMM y
- d MMM y
- MMMM y
- Q yy
- yyyy-MM
- MMMM y
-
-
- {0} - {1}
-
- d-d
-
-
- h.a - h.a
- h.-h.a
-
-
- h.mm.a - h.mm.a
- h.mm.-h.mm.a
- h.mm.-h.mm.a
-
-
- h.mm.a - h.mm.a v
- h.mm.-h.mm.a v
- h.mm.-h.mm.a v
-
-
- h.a - h.a v
- h.-h.a v
-
-
- M-M
-
-
- MM-dd - MM-dd
- MM-dd - MM-dd
-
-
- E, MM-dd - E, MM-dd
- E, MM-dd - E, MM-dd
-
-
- MMM-MMM
-
-
- dd-dd MMM
- dd MMM - dd MMM
-
-
- E, dd - E, dd MMM
- E, dd MMM - E, dd MMM
-
-
- y-y
-
-
- yy-MM - yy-MM
- yy-MM - yy-MM
-
-
- yy-MM-dd - yy-MM-dd
- yy-MM-dd - yy-MM-dd
- yy-MM-dd - yy-MM-dd
-
-
- E, yy-MM-dd - E, yy-MM-dd
- E, yy-MM-dd - E, yy-MM-dd
- E, yy-MM-dd - E, yy-MM-dd
-
-
- yyyy-MM – MM
- MMM y - MMM y
-
-
- dd-dd MMM y
- dd MMM - dd MMM y
- dd MMM y - dd MMM y
-
-
- E, dd - E, dd MMM y
- E, dd MMM - E, dd MMM y
- E, dd MMM y - E, dd MMM y
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
- Unknown
-
-
-
- Ora qendrore evropiane
-
-
-
-
- Ora lindore evropiane
-
-
-
-
- Ora standarde e Moskës
-
-
-
-
-
-
- ,
- .
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- Lek
-
-
- Real Brazilian
-
-
- Renminbi(Yuan) Kinez
-
-
- Euro
-
-
- Paund Sterlina Britanike
-
-
- Rupee indiane
-
-
- Jeni Japonez
-
-
- Rubla ruse
-
-
- Dollar amerikan
-
-
- Unknown or Invalid Currency
-
-
-
-
-
- {0} ditë
- {0} ditë
-
-
- {0} orë
-
-
- {0} minutë
- {0} minuta
-
-
- {0} muaj
-
-
- {0} sekondë
- {0} sekonda
-
-
- {0} javë
-
-
- {0} vit
- {0} vjet
-
-
-
-
- po:p
- jo:j
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sq_AL.xml b/airtime_mvc/library/Zend/Locale/Data/sq_AL.xml
deleted file mode 100644
index d696e2240..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sq_AL.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr.xml b/airtime_mvc/library/Zend/Locale/Data/sr.xml
deleted file mode 100644
index 5b70fd8e1..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr.xml
+++ /dev/null
@@ -1,5948 +0,0 @@
-
-
-
-
-
-
-
-
-
- ,
-
-
- AÑ„aÑ€ÑĐºĐ¸
- ĐĐ±ĐºĐ°Đ·Đ¸Ñ˜ÑĐºĐ¸
- AÑ‡Đ¸Đ½ĐµÑĐºĐ¸
- AĐºĐ¾Đ»Đ¸
- AĐ´aĐ½Đ³Đ¼ĐµÑ˜ÑĐºĐ¸
- AĐ´Đ¸Đ³ĐµÑ˜ÑĐºĐ¸
- AĐ²ĐµÑÑ‚aĐ½ÑĐºĐ¸
- ĐÑ„Ñ€Đ¸ĐºĐ°Đ½ĐµÑ€ÑĐºĐ¸
- AÑ„Ñ€Đ¾-aĐ·Đ¸Ñ˜aÑ‚ÑĐºĐ¸
- AÑ„Ñ€Đ¸Ñ…Đ¸Đ»Đ¸
- AĐ¸Đ½Ñƒ
- AĐºaĐ½
- ĐĐºĐ°Đ´Đ¸Ñ˜ÑĐºĐ¸
- Aљут
- AĐ»Đ³Đ¾Đ½ĐºĐ²Đ¸Ñ˜aĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐˆÑƒĐ¶Đ½Đ¸ aĐ»Ñ‚aи
- ĐĐ¼Ñ…Đ°Ñ€ÑĐºĐ¸
- AÑ€aĐ³Đ¾Đ½ĐµĐ¶aĐ½ÑĐºĐ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾ĐµĐ½Đ³Đ»ĐµÑĐºĐ¸
- AĐ½Đ³Đ¸Đºa
- ĐĐ¿Đ°Ñ‡ĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐÑ€Đ°Đ¿ÑĐºĐ¸
- AÑ€Đ¼aјÑĐºĐ¸
- AÑ€Đ¾ĐºaĐ½Đ¸Ñ˜ÑĐºĐ¸
- AÑ€aĐ¿aÑ…Đ¾
- Đ’ĐµÑˆÑ‚aÑ‡ĐºĐ¸
- AÑ€aĐ²aĐº
- ĐÑĐµĐ¼Đ¸Ñ˜ÑĐºĐ¸
- AÑÑ‚ÑƒÑ€Đ¸Ñ˜ÑĐºĐ¸
- AÑ‚aĐ¿aÑĐºaĐ½
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐĐ²Đ°Ñ€ÑĐºĐ¸
- AĐ²aĐ´Ñ…Đ¸
- AÑ˜Đ¼aÑ€a
- ĐĐ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸
- Đ‘Đ°ÑˆĐºĐ¸Ñ€
- Đ‘aĐ½Đ´a
- Đ‘aĐ¼Đ¸Đ»ĐµĐºĐµ
- Đ‘aĐ»ÑƒÑ‡Đ¸
- Đ‘aĐ»Đ¸Đ½ĐµĐ·Đ¸Ñ˜ÑĐºĐ¸
- Đ‘aÑa
- Đ‘Đ°Đ»Ñ‚Đ¸Ñ‡ĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ¸
- Đ‘ĐµÑ˜Đ°
- Đ‘ĐµĐ¼Đ±a
- Đ‘ĐµÑ€Đ±ĐµÑ€
- Đ‘ÑƒĐ³Đ°Ñ€ÑĐºĐ¸
- Đ‘Đ¸Ñ…Đ°Ñ€ÑĐºĐ¸
- Đ‘Đ¾Ñ˜Đ¿ÑƒÑ€Đ¸
- БиÑĐ»Đ°Đ¼Đ°
- Đ‘Đ¸ĐºĐ¾Đ»
- Đ‘Đ¸Đ½Đ¸
- Đ¡Đ¸ÑĐ¸ĐºĐ°
- Đ‘aĐ¼Đ±aÑ€a
- Đ‘ĐµĐ½Đ³Đ»Đ°ÑĐºĐ¸
- Đ‘Đ°Đ½Ñ‚Ñƒ
- Đ¢Đ¸Đ±ĐµÑ‚Đ°Đ½ÑĐºĐ¸
- Đ‘Ñ€ĐµÑ‚Đ¾Đ½ÑĐºĐ¸
- Đ‘Ñ€aј
- Đ‘Đ¾ÑĐ°Đ½ÑĐºĐ¸
- Đ‘aÑ‚aĐº
- Đ‘ÑƒÑ€Đ¸aÑ‚
- Đ‘ÑƒĐ³Đ¸Đ½ĐµĐ¶aĐ½ÑĐºĐ¸
- Đ‘Đ»Đ¸Đ½
- ĐĐ°Ñ‚Đ°Đ»Đ¾Đ½ÑĐºĐ¸
- ĐaĐ´Đ¾
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸ Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐaÑ€Đ¸Đ¿ÑĐºĐ¸
- ĐaĐ²ĐºaÑĐºĐ¸
- ĐÑ‚ÑĐ°Đ¼ÑĐºĐ¸
- Đ§ĐµÑ‡ĐµĐ½ÑĐºĐ¸
- Đ¦ĐµĐ±ÑƒaĐ½Đ¾
- ĐĐµĐ»Ñ‚ÑĐºĐ¸
- ЧaĐ¼Đ¾Ñ€Đ¾
- Đ§Đ¸Đ±Ñ‡a
- ЧaĐ³aÑ‚aи
- Đ§ÑƒĐºĐµÑĐºĐ¸
- ĐœaÑ€Đ¸
- Đ§Đ¸Đ½ÑƒĐºÑĐºĐ¸
- Đ§Đ¾ĐºÑ‚aĐ²ÑĐºĐ¸
- Đ§Đ¸Đ¿Đ²Đ¸Ñ˜aĐ½ÑĐºĐ¸
- Đ§ĐµÑ€Đ¾ĐºĐ¸
- Đ§ĐµÑ˜ĐµĐ½ÑĐºĐ¸
- ЧaĐ¼ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐĐ¾Ñ€Đ·Đ¸ĐºĐ°Đ½ÑĐºĐ¸
- ĐĐ¾Đ¿Ñ‚ÑĐºĐ¸
- ĐÑ€ĐµĐ¾Đ»ÑĐºĐ¸ или Đ¿Đ¸ÑŸĐ¸Đ½ Đ·aÑĐ½Đ¾Đ²aĐ½ Đ½a ĐµĐ½Đ³Đ»ĐµÑĐºĐ¾Đ¼
- ĐÑ€ĐµĐ¾Đ»ÑĐºĐ¸ или Đ¿Đ¸ÑŸĐ¸Đ½ Đ·aÑĐ½Đ¾Đ²aĐ½ Đ½a фрaĐ½Ñ†ÑƒÑĐºĐ¾Đ¼
- ĐÑ€ĐµĐ¾Đ»ÑĐºĐ¸ или Đ¿Đ¸ÑŸĐ¸Đ½ бaĐ·Đ¸Ñ€aĐ½ Đ½a Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³aĐ»ÑĐºĐ¾Đ¼
- ĐÑ€Đ¸
- ĐÑ€Đ¸Đ¼ĐµaĐ½ÑĐºĐ¸ турÑĐºĐ¸
- ĐºÑ€ĐµĐ¾Đ»ÑĐºĐ¸ или Đ¿Đ¸ÑŸĐ¸Đ½
- Đ§ĐµÑˆĐºĐ¸
- ĐaÑˆÑƒĐ±Đ¸Ñ˜aĐ½ÑĐºĐ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸
- ĐÑƒÑˆĐ¸Ñ‚Đ¸Ñ‡ĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ§ÑƒĐ²aÑˆĐºĐ¸
- Đ’ĐµĐ»ÑˆĐºĐ¸
- Đ”Đ°Đ½ÑĐºĐ¸
- Đ”Đ°ĐºĐ¾Ñ‚Đ°
- Đ”aÑ€Đ³Đ²a
- Đ”aјaÑˆĐºĐ¸
- ĐĐµĐ¼Đ°Ñ‡ĐºĐ¸
- ĐуÑÑ‚Ñ€Đ¸Ñ˜ÑĐºĐ¸ Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸
- Đ¨Đ²aјцaÑ€ÑĐºĐ¸ Đ²Đ¸ÑĐ¾ĐºĐ¸ Đ½ĐµĐ¼aÑ‡ĐºĐ¸
- Đ”ĐµĐ»Đ°Đ²ĐµÑ€
- Đ¡Đ»aĐ²ÑĐºĐ¸
- Đ”Đ¾Đ³Ñ€Đ¸Đ±
- Đ”Đ¸Đ½Đºa
- Đ”Đ¾Đ³Ñ€Đ¸
- Đ”Đ°Ñ€Đ²Đ¸Đ´Đ¸Ñ˜ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐиÑĐºĐ¸ ÑĐ¾Ñ€Đ±Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸
- Đ”ÑƒaĐ»a
- Đ¡Ñ€ĐµĐ´Ñи Ñ…Đ¾Đ»aĐ½Đ´ÑĐºĐ¸
- Đ”Đ¸Đ²ĐµÑ…Đ¸Ñ˜ÑĐºĐ¸
- Đ‚ÑƒĐ»a
- ĐĐ¾Đ½Đ³Đ°
- Đ•Đ²Đµ
- Đ•Ñ„Đ¸ĐºÑĐºĐ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾ĐµĐ³Đ¸Đ¿Đ°Ñ‚ÑĐºĐ¸
- Đ•ĐºaÑ˜ÑƒĐº
- Đ“Ñ€Ñ‡ĐºĐ¸
- ЕлaĐ¼Đ¸Ñ‚ÑĐºĐ¸
- Đ•Đ½Đ³Đ»ĐµÑĐºĐ¸
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ ĐµĐ½Đ³Đ»ĐµÑĐºĐ¸
- ĐĐ°Đ½Đ°Đ´ÑĐºĐ¸ ĐµĐ½Đ³Đ»ĐµÑĐºĐ¸
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ¸ ĐµĐ½Đ³Đ»ĐµÑĐºĐ¸
- Đ¡ĐĐ” ĐµĐ½Đ³Đ»ĐµÑĐºĐ¸
- Đ¡Ñ€ĐµĐ´Ñи ĐµĐ½Đ³Đ»ĐµÑĐºĐ¸
- Đ•ÑĐ¿ĐµÑ€Đ°Đ½Ñ‚Đ¾
- Đ¨Đ¿Đ°Đ½ÑĐºĐ¸
- Đ›Đ°Ñ‚Đ¸Đ½Đ¾-Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸ ÑˆĐ¿Đ°Đ½ÑĐºĐ¸
- Đ˜Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¿Đ°Đ½ÑĐºĐ¸
- Đ•ÑÑ‚Đ¾Đ½ÑĐºĐ¸
- БаÑĐºĐ¸Ñ˜ÑĐºĐ¸
- Đ•Đ²Đ¾Đ½Đ´Đ¾
- ĐŸĐµÑ€ÑĐ¸Ñ˜ÑĐºĐ¸
- ФaĐ½Đ³
- ФaĐ½Ñ‚Đ¸
- Đ¤ÑƒĐ»aÑ…
- Đ¤Đ¸Đ½ÑĐºĐ¸
- Đ¢Đ°Đ³Đ°Đ»Đ¾Đ³
- Đ£Đ³Ñ€Đ¾-Ñ„Đ¸Đ½ÑĐºĐ¸
- Đ¤Đ¸Đ´Đ¶Đ¸Ñ˜ÑĐºĐ¸
- Đ¤Đ°Ñ€ÑĐºĐ¸
- Đ¤Đ¾Đ½
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸
- ĐaĐ½aĐ´ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸
- Đ¨Đ²aјцaÑ€ÑĐºĐ¸ фрaĐ½Ñ†ÑƒÑĐºĐ¸
- Đ¡Ñ€ĐµĐ´Ñи фрaĐ½Ñ†ÑƒÑĐºĐ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ¾-Ñ„Ñ€Đ¸Đ·Đ¸Ñ˜ÑĐºĐ¸
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¸ Ñ„Ñ€Đ¸Đ·Đ¸Ñ˜ÑĐºĐ¸
- Đ¤Ñ€Đ¸ÑƒĐ»Đ¸Ñ˜ÑĐºĐ¸
- Đ¤Ñ€Đ¸Đ·Đ¸Ñ˜ÑĐºĐ¸
- Đ˜Ñ€ÑĐºĐ¸
- Гa
- Đ“aÑ˜Đ¾
- Гбaјa
- Đ¨ĐºĐ¾Ñ‚ÑĐºĐ¸ ГалÑĐºĐ¸
- Đ“ĐµÑ€Đ¼Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đиз
- Đ“Đ¸Đ»Đ±ĐµÑ€Ñ‚ÑˆĐºĐ¸
- ГалÑĐºĐ¸
- Đ¡Ñ€ĐµĐ´Ñи Đ²Đ¸ÑĐ¾ĐºĐ¸ Đ½ĐµĐ¼aÑ‡ĐºĐ¸
- Đ“Đ²Đ°Ñ€Đ°Đ½Đ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸
- Đ“Đ¾Đ½Đ´Đ¸
- Đ“Đ¾Ñ€Đ¾Đ½Ñ‚aĐ»Đ¾
- Đ“Đ¾Ñ‚ÑĐºĐ¸
- Đ“Ñ€ĐµĐ±Đ¾
- Đ¡Ñ‚Đ°Ñ€Đ¾Đ³Ñ€Ñ‡ĐºĐ¸
- Đ¨Đ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ¸ Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸
- Đ“ÑƒÑŸĐ°Ñ€Đ°Ñ‚Đ¸
- ĐœaĐ½ĐºÑ
- Đ“Đ²Đ¸Ñ‡'Đ¸Đ½
- Đ¥Đ°ÑƒÑа
- Đ¥aидa
- Đ¥Đ°Đ²Đ°Ñ˜ÑĐºĐ¸
- Đ¥ĐµĐ±Ñ€ĐµÑ˜ÑĐºĐ¸
- Đ¥Đ¸Đ½Đ´Đ¸
- Đ¥Đ¸Đ»Đ¸Đ³aÑ˜Đ½Đ¾Đ½
- Đ¥Đ¸Đ¼aчaли
- Đ¥Đ¸Ñ‚Đ¸Ñ‚Đµ
- Đ¥Đ¼Đ¾Đ½Đ³
- Đ¥Đ¸Ñ€Đ¸ ĐœĐ¾Ñ‚Ñƒ
- Đ¥Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸
- Đ“Đ¾Ñ€Ñи ÑĐ¾Ñ€Đ±Đ¸Ñ˜ÑĐºĐ¸
- Đ¥Đ°Đ¸Ñ‚ÑĐºĐ¸
- ĐœĐ°Ñ’Đ°Ñ€ÑĐºĐ¸
- Đ¥ÑƒĐ¿Đ°
- ĐˆĐµÑ€Đ¼ĐµĐ½ÑĐºĐ¸
- Đ¥ĐµÑ€ĐµÑ€Đ¾
- Đ˜Đ½Ñ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ²Đ°
- Đ˜Đ±aĐ½
- Đ˜Đ½Đ´Đ¾Đ½ĐµĐ¶Đ°Đ½ÑĐºĐ¸
- ĐœĐµÑ’ÑƒÑ˜ĐµĐ·Đ¸Ñ‡ĐºĐ¸
- Đ˜Đ³Đ±Đ¾
- Đ¡Đ¸Ñ‡ÑƒaĐ½ Ñ˜Đ¸
- Đ˜Ñ˜Đ¾
- Đ£Đ½ÑƒĐ¿Đ¸Đ°Đº
- Đ˜Đ»Đ¾ĐºĐ¾
- Đ˜Đ½Đ´Đ¸Đº
- Đ˜Đ½Đ´Đ¾-ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ˜Đ½Đ³Đ²Đ¸ÑˆĐºĐ¸
- Đ˜Đ´Đ¾
- Đ˜Ñ€Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ˜Ñ€Đ¾ĐºĐ²Đ¾Ñ˜aĐ½ÑĐºĐ¸
- Đ˜ÑĐ»Đ°Đ½Đ´ÑĐºĐ¸
- Đ˜Ñ‚Đ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸
- Đ˜Đ½ÑƒĐºÑ‚Đ¸Ñ‚ÑƒÑ‚
- ĐˆĐ°Đ¿Đ°Đ½ÑĐºĐ¸
- Đ›Đ¾Ñ˜Đ±aĐ½
- ĐˆÑƒĐ´ĐµĐ¾-Đ¿ĐµÑ€ÑĐ¸Ñ˜ÑĐºĐ¸
- ĐˆÑƒĐ´ĐµĐ¾-Đ°Ñ€Đ°Đ¿ÑĐºĐ¸
- ĐˆĐ°Đ²Đ°Đ½ÑĐºĐ¸
- Đ“Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸
- ĐaÑ€a-ĐºaĐ»Đ¿aÑˆĐºĐ¸
- Đaбиле
- ĐaÑ‡Đ¸Đ½
- Đ‚Ñƒ
- ĐaĐ¼Đ±a
- ĐaÑ€ĐµĐ½ÑĐºĐ¸
- ĐaĐ²Đ¸
- ĐaбaÑ€Đ´Đ¸Ñ˜ÑĐºĐ¸
- Đ¢Ñ˜aĐ¿
- ĐĐ¾Ñ€Đ¾
- ĐĐ¾Đ½Đ³Đ¾
- ĐaÑи
- ĐĐ¾Đ¸ÑaĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐĐ¾Ñ‚Đ°Đ½ĐµÑˆĐºĐ¸
- ĐĐ¸ĐºÑƒÑ˜Ñƒ
- ĐуaÑaĐ¼a
- ĐĐ¾Đ·Đ°Ñ‡ĐºĐ¸
- ĐалалиÑут
- ĐĐ¼ĐµÑ€ÑĐºĐ¸
- ĐĐ¸Đ¼Đ±ÑƒĐ½Đ´Ñƒ
- ĐĐ°Đ½Đ°Đ´Đ°
- ĐĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸
- ĐĐ¾Đ½ĐºaĐ½Đ¸
- ĐĐ¾ÑÑ€ĐµaĐ½ÑĐºĐ¸
- ĐĐ¿ĐµĐ»Đµ
- ĐaĐ½ÑƒÑ€Đ¸
- ĐaÑ€aчaј-бaĐ»ĐºaÑ€
- ĐaÑ€ĐµĐ»Đ¸Ñ˜ÑĐºĐ¸
- Đру
- ĐÑƒÑ€ÑƒĐºÑ…
- ĐĐ°ÑˆĐ¼Đ¸Ñ€ÑĐºĐ¸
- ĐÑƒÑ€Đ´ÑĐºĐ¸
- ĐÑƒĐ¼Đ¸Đº
- ĐÑƒÑ‚ĐµĐ½aи
- ĐĐ¾Đ¼Đ¸
- ĐĐ¾Ñ€Đ½Đ¸ÑˆĐºĐ¸
- ĐĐ¸Ñ€Đ³Đ¸ÑĐºĐ¸
- Đ›Đ°Ñ‚Đ¸Đ½ÑĐºĐ¸
- Đ›aĐ´Đ¸Đ½Đ¾
- Đ›aĐ½Đ´a
- Đ›aĐ¼Đ±a
- Đ›ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸
- Đ›ĐµĐ·Đ³Đ¸aĐ½
- Đ“aĐ½Đ´a
- Đ›Đ¸Đ¼Đ±ÑƒÑ€Đ³Đ¸Ñˆ
- Đ›Đ¸Đ½Đ³Đ°Đ»Đ°
- Đ›Đ°Đ¾ÑĐºĐ¸
- ĐœĐ¾Đ½Đ³Đ¾
- Đ›Đ¾Đ·Đ¸
- Đ›Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸
- Đ›ÑƒĐ±a-ĐºaÑ‚aĐ½Đ³a
- Đ›ÑƒĐ±a-Đ»ÑƒĐ»Ñƒa
- Đ›ÑƒĐ¸ÑĐµĐ½Đ¾
- Đ›ÑƒĐ½Đ´a
- Đ›ÑƒĐ¾
- Đ›ÑƒÑˆaи
- Đ›ĐµÑ‚Đ¾Đ½ÑĐºĐ¸
- ĐœaĐ´ÑƒÑ€ĐµÑˆĐºĐ¸
- ĐœaĐ³aÑ…Đ¸
- ĐœaĐ¸Ñ‚Đ¸Đ»Đ¸
- ĐœaĐºaÑaÑ€
- ĐœaĐ½Đ´Đ¸Đ½Đ³Đ¾
- AуÑÑ‚Ñ€Đ¾Đ½ĐµĐ¶aĐ½ÑĐºĐ¸
- ĐœĐ°Ñаи
- ĐœĐ¾ĐºÑˆa
- ĐœaĐ½Đ´aÑ€
- ĐœĐµĐ½Đ´Đµ
- ĐœĐ°Đ»Đ°Đ³Đ°ÑĐ¸Ñ˜ÑĐºĐ¸
- Đ¡Ñ€ĐµĐ´Ñи Đ¸Ñ€ÑĐºĐ¸
- ĐœaршaĐ»ÑĐºĐ¸
- ĐœĐ°Đ¾Ñ€ÑĐºĐ¸
- ĐœĐ¸ĐºĐ¼aĐº
- ĐœĐ¸Đ½aĐ½Đ³Đºaбaу
- Đ aĐ·Đ½Đ¸ Ñ˜ĐµĐ·Đ¸Ñ†Đ¸
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸
- ĐœĐ¾Đ½-ĐºĐ¼ĐµÑ€ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐœĐ°Đ»Đ°Ñ˜Đ°Đ»Đ°Đ¼
- ĐœĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ¸
- ĐœaĐ½Ñ‡Ñƒ
- ĐœaĐ½Đ¸Đ¿ÑƒÑ€Đ¸
- ĐœaĐ½Đ¾Đ±Đ¾ Ñ˜ĐµĐ·Đ¸Đº
- ĐœĐ¾Đ»Đ´Đ°Đ²ÑĐºĐ¸
- ĐœaÑ…aĐ²ÑĐºĐ¸
- ĐœĐ¾Ñи
- ĐœĐ°Ñ€Đ°Ñ‚Đ¸
- ĐœĐ°Đ»Đ°Ñ˜ÑĐºĐ¸
- ĐœĐµĐ»Ñ‚ĐµÑˆĐºĐ¸
- Đ’Đ¸ÑˆĐµ Ñ˜ĐµĐ·Đ¸Đºa
- ĐœÑƒĐ½Đ´a Ñ˜ĐµĐ·Đ¸Đº
- ĐÑ€Đ¸ÑˆĐºĐ¸
- ĐœĐ¸Ñ€aĐ½Đ´ĐµÑˆĐºĐ¸
- ĐœaÑ€Đ²aÑ€Đ¸
- Đ‘ÑƒÑ€Đ¼Đ°Đ½ÑĐºĐ¸
- ĐœaјaĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ•Ñ€Đ·Đ¸Ñ˜a
- ĐĐ°ÑƒÑ€Ñƒ
- ĐaхуaÑ‚Đ»
- ĐˆĐµĐ·Đ¸Đº ÑĐµĐ²ĐµÑ€Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸Ñ… Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°Ñ†Đ°
- ĐеaĐ¿Đ¾Đ»Đ¸Ñ‚aĐ½ÑĐºĐ¸
- ĐĐ¾Ñ€Đ²ĐµÑˆĐºĐ¸ Đ±Đ¾ĐºĐ¼Đ°Đ»
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ¸ Đ½Đ´ĐµĐ±ĐµĐ»Đµ
- ĐиÑĐºĐ¸ Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸
- ĐĐµĐ¿Đ°Đ»ÑĐºĐ¸
- ĐĐµĐ²aÑ€Đ¸
- ĐĐ´Đ¾Đ½Đ³a
- ĐиaÑ
- ĐĐ¸Đ³ĐµÑ€-ĐºĐ¾Ñ€Đ´Đ¾Ñ„aĐ½Đ¸Ñ˜ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐĐ¸ÑƒĐµaĐ½
- Đ¥Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸
- Đ¤Đ»Đ°Đ¼Đ°Đ½ÑĐºĐ¸
- ĐĐ¾Ñ€Đ²ĐµÑˆĐºĐ¸ ÑĐ¾Ñ€ÑĐº
- ĐĐ¾Ñ€Đ²ĐµÑˆĐºĐ¸
- ĐĐ¾Đ³aи
- Đ¡Ñ‚aÑ€Đ¸ Đ½Đ¾Ñ€ÑĐºĐ¸
- Đâ€™ĐºĐ¾
- ĐˆÑƒĐ¶Đ½Đ¸ Đ½Đ´ĐµĐ±ĐµĐ»Đµ
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ¸ ÑĐ¾Ñ‚Đ¾
- ĐÑƒĐ±Đ¸Ñ˜ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐĐ°Đ²Đ°Ñ…Đ¾
- ĐĐ»aÑĐ¸Ñ‡Đ½Đ¸ Đ½ĐµĐ²aÑ€Đ¸
- ĐаÑа
- ĐaĐ¼Đ²ĐµĐ·Đ¸
- ĐaĐ½ĐºĐ¾Đ»Đµ
- ĐĐ¾Ñ€Đ¾
- ĐĐ·Đ¸Đ¼a
- ĐŸÑ€Đ¾Đ²Đ°Đ½ÑалÑĐºĐ¸
- ĐÑ˜Đ¸Đ±Đ²a
- ĐÑ€Đ¾Đ¼Đ¾
- ĐÑ€Đ¸Ñ˜ÑĐºĐ¸
- ĐÑĐµÑ‚ÑĐºĐ¸
- ĐÑaĐ³Đµ
- ĐÑ‚Đ¾Đ¼aĐ½ÑĐºĐ¸ турÑĐºĐ¸
- ĐÑ‚Đ¾Đ¼aĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐŸĐ°Đ½ÑŸĐ°Đ±ÑĐºĐ¸
- ĐŸĐ°Đ¿ÑƒĐ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- ĐŸaĐ½Đ³aÑĐ¸Đ½ÑĐºĐ¸
- ĐŸaÑ…Đ»aĐ²Đ¸
- ĐŸaĐ¼Đ¿aĐ½Đ³a
- ĐŸaĐ¿Đ¸aĐ¼ĐµĐ½Ñ‚Đ¾
- ĐŸaĐ»aуaĐ½ÑĐºĐ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾Đ¿ĐµÑ€ÑĐ¸Ñ˜ÑĐºĐ¸
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¸Đ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¤ĐµĐ½Đ¸Ñ‡aĐ½ÑĐºĐ¸
- ĐŸaли
- ĐŸĐ¾Ñ™ÑĐºĐ¸
- ĐŸĐ¾Đ½Đ¿ĐµÑ˜ÑĐºĐ¸
- ĐŸÑ€Đ°ĐºÑ€Đ¸Ñ‚ÑĐºĐ¸
- Đ¡Ñ‚Đ°Ñ€Đ¾Đ¿Ñ€Đ¾Đ²Đ°Đ½ÑалÑĐºĐ¸
- ĐŸĐ°ÑˆÑ‚ÑƒĐ½ÑĐºĐ¸
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸
- Đ˜Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸ Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸
- ĐĐ²ĐµĐ½Ñ‡a
- Đ aÑ’aÑÑ‚aĐ½Đ¸
- Đ aĐ¿aĐ½ÑƒĐ¸
- Đ aÑ€Đ¾Ñ‚Đ¾Đ½Đ³aĐ½
- Đ ĐµÑ‚Đ¾-Đ Đ¾Đ¼Đ°Đ½ÑĐºĐ¸
- Đ ÑƒĐ½Đ´Đ¸
- Đ ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸
- Đ Đ¾Đ¼aĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ Đ¾Đ¼aĐ½Đ¸
- Đ ÑƒÑ‚
- Đ ÑƒÑĐºĐ¸
- AÑ€Đ¾Đ¼aĐ½Đ¸Ñ˜ÑĐºĐ¸
- ĐĐ¸Đ½Ñ˜Đ°Ñ€ÑƒĐ°Đ½Đ´Đ°
- Đ¡Đ°Đ½ÑĐºÑ€Đ¸Ñ‚
- Đ¡aĐ½Đ´aĐ²Đµ
- ĐˆaĐºÑƒÑ‚
- ĐˆĐµĐ·Đ¸Đº Ñ˜ÑƒĐ¶Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸Ñ… Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°Ñ†Đ°
- Đ¡aĐ»Đ¸ÑˆaĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡aĐ¼aÑ€Đ¸Ñ‚aĐ½ÑĐºĐ¸ aÑ€aĐ¼ĐµÑ˜ÑĐºĐ¸
- Đ¡aÑaĐº
- Đ¡aĐ½Ñ‚aли
- Đ¡Đ°Ñ€Đ´Đ¸ÑаÑĐºĐ¸
- Đ¡Đ¸Ñ†Đ¸Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸
- Đ¨ĐºĐ¾Ñ‚ÑĐºĐ¸
- Đ¡Đ¸Đ½Đ´Đ¸
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ¸ ÑaĐ¼Đ¸
- Đ¡ĐµĐ»ĐºaĐ¿
- Đ¡ĐµĐ¼Đ¸Ñ‚ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡Đ°Đ½Đ³Đ¾
- Đ¡Ñ‚Đ°Ñ€Đ¾Đ¸Ñ€ÑĐºĐ¸
- Đ—Đ½Đ°ĐºĐ¾Đ²Đ½Đ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡Ñ€Đ¿ÑĐºĐ¾Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸
- ШaĐ½
- Đ¡Đ¸Đ½Đ³Đ°Đ»ĐµÑĐºĐ¸
- Đ¡Đ¸Đ´Đ°Đ¼Đ¾
- Đ¡Đ¸ÑƒaĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡Đ¸Đ½Đ¾-Ñ‚Đ¸Đ±ĐµÑ‚Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡Đ»Đ¾Đ²Đ°Ñ‡ĐºĐ¸
- Đ¡Đ»Đ¾Đ²ĐµĐ½Đ°Ñ‡ĐºĐ¸
- Đ¡Đ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡Đ°Đ¼Đ¾Đ°Đ½ÑĐºĐ¸
- ĐˆÑƒĐ¶Đ½Đ¸ ÑaĐ¼Đ¸
- Đ¡aĐ¼Đ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ›ÑƒĐ»Đµ ÑaĐ¼Đ¸
- Đ˜Đ½aÑ€Đ¸ ÑaĐ¼Đ¸
- Đ¡ĐºĐ¾Đ»Ñ‚ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¨Đ¾Đ½a
- Đ¡Đ¾Đ½Đ¸Đ½ĐºĐµ
- Đ¡Đ¾Đ¼Đ°Đ»ÑĐºĐ¸
- Đ¡Đ¾ÑŸĐ¸Ñ˜ĐµĐ½ÑĐºĐ¸
- Đ¡Đ¾Đ½Đ³aи
- ĐĐ»Đ±Đ°Đ½ÑĐºĐ¸
- Đ¡Ñ€Đ¿ÑĐºĐ¸
- Đ¡Ñ€aĐ½aĐ½ÑĐºĐ¸ Ñ‚Đ¾Đ½Đ³Đ¾
- Đ¡ĐµÑ€ĐµÑ€
- Đ¡Đ²aÑ‚Đ¸
- ĐĐ¸Đ»Đ¾-ÑaÑ…aÑ€ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¡ĐµÑĐ¾Ñ‚Đ¾
- Đ¡ÑƒĐ´Đ°Đ½ÑĐºĐ¸
- Đ¡ÑƒĐºÑƒĐ¼a
- Đ¡ÑƒÑу
- Đ¡ÑƒĐ¼ĐµÑ€ÑĐºĐ¸
- Đ¨Đ²ĐµĐ´ÑĐºĐ¸
- Đ¡Đ²Đ°Ñ…Đ¸Đ»Đ¸
- ĐлаÑĐ¸Ñ‡Đ½Đ¸ ÑĐ¸Ñ€Đ¸Ñ˜ÑĐºĐ¸
- Đ¡Đ¸Ñ€Đ¸Ñ˜ÑĐºĐ¸
- Đ¢Đ°Đ¼Đ¸Đ»ÑĐºĐ¸
- Đ¢aи Ñ˜ĐµĐ·Đ¸Đº
- Đ¢ĐµĐ»ÑƒĐ³Ñƒ
- Đ¢Đ¸Đ¼Đ½Đµ
- Đ¢ĐµÑ€ĐµĐ½Đ¾
- Đ¢ĐµÑ‚ÑƒĐ¼
- Đ¢Đ°Ñ’Đ¸Đº
- Đ¢Đ°Ñ˜Đ»Đ°Đ½Đ´ÑĐºĐ¸
- Đ¢Đ¸Đ³Ñ€Đ¸Ñа
- Đ¢Đ¸Đ³Ñ€Đµ
- Đ¢Đ¸Đ²
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½ÑĐºĐ¸
- Đ¢Đ¾ĐºĐµĐ»aу
- Đ¢Đ°Đ³Đ°Đ»ÑĐºĐ¸
- ĐĐ»Đ¸Đ½Đ³Đ¾Đ½ÑĐºĐ¸
- Đ¢Đ»Đ¸Đ½Đ³Đ¸Ñ‚
- Đ¢aĐ¼aÑˆĐµĐº
- Đ¢ÑĐ²aĐ½a
- Đ¢Đ¾Đ½Đ³a
- ĐaÑa Ñ‚Đ¾Đ½Đ³a
- Đ¢Đ¾Đº ĐŸĐ¸ÑĐ¸Đ½
- Đ¢ÑƒÑ€ÑĐºĐ¸
- Đ¢ÑĐ¾Đ½Đ³a
- Đ¢ÑĐ¸Đ¼ÑˆĐ¸aĐ½
- Đ¢Đ°Ñ‚Đ°Ñ€ÑĐºĐ¸
- Đ¢ÑƒĐ¼Đ±ÑƒĐºa
- Đ¢ÑƒĐ¿Đ¸ Ñ˜ĐµĐ·Đ¸Đº
- AĐ»Ñ‚aĐ¸Ñ‡ĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ¢ÑƒĐ²aĐ»Ñƒ
- Đ¢Đ²Đ¸
- Đ¢Đ°Ñ…Đ¸Ñ›Đ°Đ½ÑĐºĐ¸
- Đ¢ÑƒĐ²Đ¸Đ½Đ¸Ñ˜ÑĐºĐ¸
- Đ£Đ´Đ¼ÑƒÑ€Ñ‚
- Đ£Ñ˜Đ³ÑƒÑ€ÑĐºĐ¸
- Đ£Đ³aÑ€Đ¸Ñ‚ÑĐºĐ¸
- Đ£ĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸
- Đ£Đ¼Đ±ÑƒĐ½Đ´Ñƒ
- ĐĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚ или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ£Ñ€Đ´Ñƒ
- Đ£Đ·Đ±ĐµÑ‡ĐºĐ¸
- Вaи
- Đ’ĐµĐ½Đ´a
- Đ’Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸
- Đ’Đ¾Đ»Đ°Đ¿ÑƒĐº
- Đ’Đ¾Ñ‚ÑĐºĐ¸
- Đ’aĐ»ÑƒĐ½
- Đ’aĐºaшaĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ’aĐ»aĐ¼Đ¾
- Đ’Đ°Ñ€Đ°Ñ˜
- Đ’Đ°ÑˆĐ¾
- Đ¡Đ¾Ñ€Đ±Đ¸Ñ˜aĐ½ÑĐºĐ¸ Ñ˜ĐµĐ·Đ¸Đº
- Đ’Đ¾Đ»Đ¾Ñ„
- ĐaĐ»Đ¼Đ¸Đº
- ĐÑÑ…Đ¾Ñа
- ĐˆaĐ¾
- ĐˆaĐ¿ĐµÑˆĐºĐ¸
- ĐˆĐ¸Đ´Đ¸Ñˆ
- ĐˆĐ¾Ñ€ÑƒĐ±Đ°
- ĐˆÑƒĐ¿Đ¸Đº
- Đ–ÑƒĐ°Đ½Đ³
- Đ—aĐ¿Đ¾Ñ‚ĐµÑ‡ĐºĐ¸
- БлиÑĐ¸Đ¼Đ±Đ¾Đ»Đ¸
- Đ—ĐµĐ½aĐ³a
- ĐĐ¸Đ½ĐµÑĐºĐ¸
- ĐĐ¸Đ½ĐµÑĐºĐ¸ (Đ¿Đ¾Ñ˜ĐµĐ´Đ½Đ¾ÑÑ‚Đ°Đ²Ñ™ĐµĐ½)
- ĐĐ¸Đ½ĐµÑĐºĐ¸ (Ñ‚Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ°Đ»Đ½Đ¸)
- Đ—aĐ½Đ´Đµ
- Đ—ÑƒĐ»Ñƒ
- Đ—ÑƒĐ½Đ¸
- Без Đ»Đ¸Đ½Đ³Đ²Đ¸ÑÑ‚Đ¸Ñ‡ĐºĐ¾Đ³ ÑĐ°Đ´Ñ€Đ¶Đ°Ñ˜Đ°
- Đ—aĐ·a
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Đ¡Đ²ĐµÑ‚
- ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸ ĐºĐ¾Đ½Ñ‚Đ¸Đ½ĐµĐ½Ñ‚
- ĐˆÑƒĐ¶Đ½Đ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- ĐĐºĐµĐ°Đ½Đ¸Ñ˜Đ°
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- ĐˆÑƒĐ¶Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- ĐĐ¼ĐµÑ€Đ¸ĐºĐµ
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- ĐĐ°Ñ€Đ¸Đ±Đ¸
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ° ĐĐ·Đ¸Ñ˜Đ°
- ĐˆÑƒĐ¶Đ½Đ° ĐĐ·Đ¸Ñ˜Đ°
- ĐˆÑƒĐ³Đ¾Đ¸ÑÑ‚Đ¾Ñ‡Đ½Đ° ĐĐ·Đ¸Ñ˜Đ°
- ĐˆÑƒĐ¶Đ½Đ° Đ•Đ²Ñ€Đ¾Đ¿Đ°
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜Đ° и ĐĐ¾Đ²Đ¸ Đ—ĐµĐ»Đ°Đ½Đ´
- ĐœĐµĐ»Đ°Đ½ĐµĐ·Đ¸Ñ˜Đ°
- ĐœĐ¸ĐºÑ€Đ¾Đ½ĐµĐ·Đ¸Ñ˜ÑĐºĐ¸ Ñ€ĐµĐ³Đ¸Đ¾Đ½
- ĐŸĐ¾Đ»Đ¸Đ½ĐµĐ·Đ¸Ñ˜Đ°
- ĐˆÑƒĐ¶Đ½Đ¾-Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ° ĐĐ·Đ¸Ñ˜Đ°
- ĐĐ·Đ¸Ñ˜Đ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ° ĐĐ·Đ¸Ñ˜Đ°
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ° ĐĐ·Đ¸Ñ˜Đ°
- Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ° Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ° Đ•Đ²Ñ€Đ¾Đ¿Đ°
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ° Đ•Đ²Ñ€Đ¾Đ¿Đ°
- ĐĐ¾Đ¼Đ¾Đ½Đ²ĐµĐ»Ñ‚ Đ½ĐµĐ·Đ°Đ²Đ¸ÑĐ½Đ¸Ñ… Đ´Ñ€Đ¶Đ°Đ²Đ°
- Đ›Đ°Ñ‚Đ¸Đ½ÑĐºĐ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ° и ĐĐ°Ñ€Đ¸Đ±Đ¸
- ĐĐ°Đ½Đ°Đ»ÑĐºĐ° Đ¾ÑÑ‚Ñ€Đ²Đ°
- ĐĐ½Đ´Đ¾Ñ€Đ°
- Đ£Ñ˜ĐµĐ´Đ¸ÑĐµĐ½Đ¸ ĐÑ€Đ°Đ¿ÑĐºĐ¸ Đ•Đ¼Đ¸Ñ€Đ°Ñ‚Đ¸
- ĐĐ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½
- ĐĐ½Ñ‚Đ¸Đ³Đ²Đµ и Đ‘Đ°Ñ€Đ±ÑƒĐ´Đ°
- ĐĐ½Đ³Đ²Đ¸Đ»Đ°
- ĐĐ»Đ±Đ°Đ½Đ¸Ñ˜Đ°
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ˜Đ°
- Đ¥Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸ ĐĐ½Ñ‚Đ¸Đ»Đ¸
- ĐĐ½Đ³Đ¾Đ»Đ°
- ĐĐ½Ñ‚Đ°Ñ€ĐºÑ‚Đ¸Đº
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ°
- ĐĐ¼ĐµÑ€Đ¸Ñ‡ĐºĐ° Đ¡Đ°Đ¼Đ¾Đ°
- ĐуÑÑ‚Ñ€Đ¸Ñ˜Đ°
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜Đ°
- ĐÑ€ÑƒĐ±Đ°
- ĐĐ»Đ°Đ½Đ´ÑĐºĐ° Đ¾ÑÑ‚Ñ€Đ²Đ°
- ĐĐ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½
- Đ‘Đ¾ÑĐ½Đ° и Đ¥ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ¸Đ½Đ°
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾Ñ
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆ
- Đ‘ĐµĐ»Đ³Đ¸Ñ˜Đ°
- Đ‘ÑƒÑ€ĐºĐ¸Đ½Đ° ФаÑĐ¾
- Đ‘ÑƒĐ³Đ°Ñ€ÑĐºĐ°
- Đ‘Đ°Ñ…Ñ€ĐµĐ¸Đ½
- Đ‘ÑƒÑ€ÑƒĐ½Đ´Đ¸
- Đ‘ĐµĐ½Đ¸Đ½
- Đ¡Đ²ĐµÑ‚Đ¸ Đ‘Đ°Ñ€Ñ‚Đ¾Đ»Đ¾Đ¼ĐµÑ˜
- Đ‘ĐµÑ€Đ¼ÑƒĐ´Đ°
- Đ‘Ñ€ÑƒĐ½ĐµÑ˜
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Ñ˜Đ°
- Đ‘Ñ€Đ°Đ·Đ¸Đ»
- Đ‘Đ°Ñ…Đ°Đ¼Đ¸
- Đ‘ÑƒÑ‚Đ°Đ½
- Đ‘ÑƒĐ²Đµ ĐÑÑ‚Ñ€Đ²Đ°
- Đ‘Đ¾Ñ†Đ²Đ°Đ½Đ°
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑĐ¸Ñ˜Đ°
- Белизе
- ĐĐ°Đ½Đ°Đ´Đ°
- ĐĐ¾ĐºĐ¾Ñ (ĐĐµĐ»Đ¸Đ½Đ³) ĐÑÑ‚Ñ€Đ²Đ°
- Đ”ĐµĐ¼Đ¾ĐºÑ€Đ°Ñ‚ÑĐºĐ° Ñ€ĐµĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ° ĐĐ¾Đ½Đ³Đ¾
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ ĐÑ„Ñ€Đ¸Ñ‡ĐºĐ° Đ ĐµĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- ĐĐ¾Đ½Đ³Đ¾
- Đ¨Đ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ°
- Đбала Đ¡Đ»Đ¾Đ½Đ¾Đ²Đ°Ñ‡Đµ
- ĐÑƒĐºĐ¾Đ²Đ° ĐÑÑ‚Ñ€Đ²Đ°
- Чиле
- ĐĐ°Đ¼ĐµÑ€ÑƒĐ½
- ĐĐ¸Đ½Đ°
- ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜Đ°
- ĐĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°
- Đ¡Ñ€Đ±Đ¸Ñ˜Đ° и Đ¦Ñ€Đ½Đ° Đ“Đ¾Ñ€Đ°
- ĐÑƒĐ±Đ°
- ĐĐ°Đ¿Đµ Đ’ĐµÑ€Đ´Đµ
- Đ‘Đ¾Đ¶Đ¸Ñ›Đ½Đ° Đ¾ÑÑ‚Ñ€Đ²Đ°
- ĐĐ¸Đ¿Đ°Ñ€
- Đ§ĐµÑˆĐºĐ°
- ĐĐµĐ¼Đ°Ñ‡ĐºĐ°
- ĐĐ¸Đ±ÑƒÑ‚Đ¸
- Đ”Đ°Đ½ÑĐºĐ°
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ° Đ ĐµĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- ĐĐ»Đ¶Đ¸Ñ€
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€
- Đ•ÑÑ‚Đ¾Đ½Đ¸Ñ˜Đ°
- Đ•Đ³Đ¸Đ¿Đ°Ñ‚
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ° Đ¡Đ°Ñ…Đ°Ñ€Đ°
- Đ•Ñ€Đ¸Ñ‚Ñ€ĐµÑ˜Đ°
- Đ¨Đ¿Đ°Đ½Đ¸Ñ˜Đ°
- Đ•Ñ‚Đ¸Đ¾Đ¿Đ¸Ñ˜Đ°
- Đ¤Đ¸Đ½ÑĐºĐ°
- Đ¤Đ¸ÑŸĐ¸
- Đ¤Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- ĐœĐ¸ĐºÑ€Đ¾Đ½ĐµĐ·Đ¸Ñ˜Đ°
- Đ¤Đ°Ñ€ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ°
- Đ“Đ°Đ±Đ¾Đ½
- Đ’ĐµĐ»Đ¸ĐºĐ° Đ‘Ñ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜Đ°
- Đ“Ñ€ĐµĐ½Đ°Đ´Đ°
- Đ“Ñ€ÑƒĐ·Đ¸Ñ˜Đ°
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ° Đ“Đ²Đ°Ñ˜Đ°Đ½Đ°
- Đ“ÑƒÑ€Đ½Ñи
- Đ“Đ°Đ½Đ°
- Đ“Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€
- Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´
- Đ“Đ°Đ¼Đ±Đ¸Ñ˜Đ°
- Đ“Đ²Đ¸Đ½ĐµÑ˜Đ°
- Đ“Đ²Đ°Đ´ĐµĐ»ÑƒĐ¿Đµ
- Đ•ĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°Đ»Đ½Đ° Đ“Đ²Đ¸Đ½ĐµÑ˜Đ°
- Đ“Ñ€Ñ‡ĐºĐ°
- ĐˆÑƒĐ¶Đ½Đ° ĐĐ¾Ñ€ÑŸĐ¸Ñ˜Đ° и ĐˆÑƒĐ¶Đ½Đ° Đ¡ĐµĐ½Đ´Đ²Đ¸Ñ‡ ĐÑÑ‚Ñ€Đ²Đ°
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»Đ°
- Đ“ÑƒĐ°Đ¼
- Đ“Đ²Đ¸Đ½ĐµÑ˜Đ°-БиÑĐ°Đ¾
- Đ“Đ²Đ°Ñ˜Đ°Đ½Đ°
- Đ¥Đ¾Đ½Đ³ ĐĐ¾Đ½Đ³ Đ¡. Đ. Đ . ĐĐ¸Đ½Đ°
- Đ¥ĐµÑ€Đ´ и ĐœĐµĐºĐ´Đ¾Đ½Đ°Đ»Đ´ ĐÑÑ‚Ñ€Đ²Đ°
- Đ¥Đ¾Đ½Đ´ÑƒÑ€Đ°Ñ
- Đ¥Ñ€Đ²Đ°Ñ‚ÑĐºĐ°
- Đ¥Đ°Đ¸Ñ‚Đ¸
- ĐœĐ°Ñ’Đ°Ñ€ÑĐºĐ°
- Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ˜Đ°
- Đ˜Ñ€ÑĐºĐ°
- Đ˜Đ·Ñ€Đ°ĐµĐ»
- ĐÑÑ‚Ñ€Đ²Đ¾ ĐœĐ°Đ½
- Đ˜Đ½Đ´Đ¸Ñ˜Đ°
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ° Ñ‚ĐµÑ€Đ¸Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ° у Đ˜Đ½Đ´Đ¸Ñ˜ÑĐºĐ¾Đ¼ Đ¾ĐºĐµĐ°Đ½Ñƒ
- Đ˜Ñ€Đ°Đº
- Đ˜Ñ€Đ°Đ½
- Đ˜ÑĐ»Đ°Đ½Đ´
- Đ˜Ñ‚Đ°Đ»Đ¸Ñ˜Đ°
- ĐĐµÑ€Ñи
- ĐˆĐ°Đ¼Đ°Ñ˜ĐºĐ°
- ĐˆĐ¾Ñ€Đ´Đ°Đ½
- ĐˆĐ°Đ¿Đ°Đ½
- ĐĐµĐ½Đ¸Ñ˜Đ°
- ĐĐ¸Ñ€Đ³Đ¸Đ·ÑÑ‚Đ°Đ½
- ĐĐ°Đ¼Đ±Đ¾ÑŸĐ°
- ĐĐ¸Ñ€Đ¸Đ±Đ°Ñ‚Đ¸
- ĐĐ¾Đ¼Đ¾Ñ€ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- Đ¡ĐµĐ½Ñ‚ ĐĐ¸Ñ‚Ñ Đ¸ ĐĐµĐ²Đ¸Ñ
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ° ĐĐ¾Ñ€ĐµÑ˜Đ°
- ĐˆÑƒĐ¶Đ½Đ° ĐĐ¾Ñ€ĐµÑ˜Đ°
- ĐÑƒĐ²Đ°Ñ˜Ñ‚
- ĐĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- ĐĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½
- Đ›Đ°Đ¾Ñ
- Đ›Đ¸Đ±Đ°Đ½
- Đ¡ĐµĐ½Ñ‚ Đ›ÑƒÑ†Đ¸Ñ˜Đ°
- Đ›Đ¸Ñ…Ñ‚ĐµĐ½ÑˆÑ‚Đ°Ñ˜Đ½
- Đ¨Ñ€Đ¸ Đ›Đ°Đ½ĐºĐ°
- Đ›Đ¸Đ±ĐµÑ€Đ¸Ñ˜Đ°
- ЛеÑĐ¾Ñ‚Đ¾
- Đ›Đ¸Ñ‚Đ²Đ°Đ½Đ¸Ñ˜Đ°
- Đ›ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³
- Đ›ĐµÑ‚Đ¾Đ½Đ¸Ñ˜Đ°
- Đ›Đ¸Đ±Đ¸Ñ˜Đ°
- ĐœĐ°Ñ€Đ¾ĐºĐ¾
- ĐœĐ¾Đ½Đ°ĐºĐ¾
- ĐœĐ¾Đ»Đ´Đ°Đ²Đ¸Ñ˜Đ°
- Đ¦Ñ€Đ½Đ° Đ“Đ¾Ñ€Đ°
- Đ¡ĐµĐ½Ñ‚ ĐœĐ°Ñ€Ñ‚Đ¸Đ½
- ĐœĐ°Đ´Đ°Đ³Đ°ÑĐºĐ°Ñ€
- ĐœĐ°Ñ€ÑˆĐ°Đ»ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½Đ¸Ñ˜Đ°
- ĐœĐ°Đ»Đ¸
- ĐœĐ¸Ñ˜Đ°Đ½Đ¼Đ°Ñ€
- ĐœĐ¾Đ½Đ³Đ¾Đ»Đ¸Ñ˜Đ°
- ĐœĐ°ĐºĐ°Đ¾ Đ¡. Đ. Đ . ĐĐ¸Đ½Đ°
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ° ĐœĐ°Ñ€Đ¸Ñ˜Đ°Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- ĐœĐ°Ñ€Ñ‚Đ¸Đ½Đ¸Đº
- ĐœĐ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜Đ°
- ĐœĐ¾Đ½ÑĐµÑ€Đ°Ñ‚
- ĐœĐ°Đ»Ñ‚Đ°
- ĐœĐ°ÑƒÑ€Đ¸Ñ†Đ¸Ñ˜ÑƒÑ
- ĐœĐ°Đ»Đ´Đ¸Đ²Đ¸
- ĐœĐ°Đ»Đ°Đ²Đ¸
- ĐœĐµĐºÑĐ¸ĐºĐ¾
- ĐœĐ°Đ»ĐµĐ·Đ¸Ñ˜Đ°
- ĐœĐ¾Đ·Đ°Đ¼Đ±Đ¸Đº
- ĐĐ°Đ¼Đ¸Đ±Đ¸Ñ˜Đ°
- ĐĐ¾Đ²Đ° ĐĐ°Đ»ĐµĐ´Đ¾Đ½Đ¸Ñ˜Đ°
- ĐĐ¸Đ³ĐµÑ€
- ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº ĐÑÑ‚Ñ€Đ²Đ¾
- ĐĐ¸Đ³ĐµÑ€Đ¸Ñ˜Đ°
- ĐĐ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°
- Đ¥Đ¾Đ»Đ°Đ½Đ´Đ¸Ñ˜Đ°
- ĐĐ¾Ñ€Đ²ĐµÑˆĐºĐ°
- ĐĐµĐ¿Đ°Đ»
- ĐĐ°ÑƒÑ€Ñƒ
- ĐĐ¸ÑƒĐµ
- ĐĐ¾Đ²Đ¸ Đ—ĐµĐ»Đ°Đ½Đ´
- ĐĐ¼Đ°Đ½
- ĐŸĐ°Đ½Đ°Đ¼Đ°
- ĐŸĐµÑ€Ñƒ
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ° ĐŸĐ¾Đ»Đ¸Đ½ĐµĐ·Đ¸Ñ˜Đ°
- ĐŸĐ°Đ¿ÑƒĐ° ĐĐ¾Đ²Đ° Đ“Đ²Đ¸Đ½ĐµÑ˜Đ°
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¸Đ½Đ¸
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½
- ĐŸĐ¾Ñ™ÑĐºĐ°
- Đ¡ĐµĐ½ ĐŸÑ˜ĐµÑ€ и ĐœĐ¸ĐºĐµĐ»Đ¾Đ½
- ĐŸĐ¸Ñ‚ĐºĐµÑ€Đ½
- ĐŸĐ¾Ñ€Ñ‚Đ¾ Đ Đ¸ĐºĐ¾
- ĐŸĐ°Đ»ĐµÑÑ‚Đ¸Đ½ÑĐºĐ° Ñ‚ĐµÑ€Đ¸Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»
- ĐŸĐ°Đ»Đ°Ñƒ
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Ñ˜
- ĐĐ°Ñ‚Đ°Ñ€
- ĐÑÑ‚Đ°Đ»Đ° Đ¾ĐºĐµĐ°Đ½Đ¸Ñ˜Đ°
- Đ•Đ²Ñ€Đ¾Đ¿ÑĐºĐ° Đ£Đ½Đ¸Ñ˜Đ°
- Đ ĐµĐ¸Đ½Đ¸Đ¾Đ½
- Đ ÑƒĐ¼ÑƒĐ½Đ¸Ñ˜Đ°
- Đ¡Ñ€Đ±Đ¸Ñ˜Đ°
- Đ ÑƒÑĐ¸Ñ˜Đ°
- Đ ÑƒĐ°Đ½Đ´Đ°
- Đ¡Đ°ÑƒĐ´Đ¸Ñ˜ÑĐºĐ° ĐÑ€Đ°Đ±Đ¸Ñ˜Đ°
- Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- Đ¡ĐµÑ˜ÑˆĐµĐ»Đ¸
- Đ¡ÑƒĐ´Đ°Đ½
- Đ¨Đ²ĐµĐ´ÑĐºĐ°
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€
- Đ¡Đ²ĐµÑ‚Đ° ĐˆĐµĐ»ĐµĐ½Đ°
- Đ¡Đ»Đ¾Đ²ĐµĐ½Đ¸Ñ˜Đ°
- Đ¡Đ²Đ°Đ»Đ±Đ°Ñ€Đ´ и ĐˆĐ°Đ½Đ¼Đ°Ñ˜ĐµĐ½ ĐÑÑ‚Ñ€Đ²Đ°
- Đ¡Đ»Đ¾Đ²Đ°Ñ‡ĐºĐ°
- Đ¡Đ¸Ñ˜ĐµÑ€Đ° Đ›ĐµĐ¾Đ½Đµ
- Đ¡Đ°Đ½ ĐœĐ°Ñ€Đ¸Đ½Đ¾
- Đ¡ĐµĐ½ĐµĐ³Đ°Đ»
- Đ¡Đ¾Đ¼Đ°Đ»Đ¸Ñ˜Đ°
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼
- Đ¡Đ°Đ¾ Đ¢Đ¾Đ¼Đµ и ĐŸÑ€Đ¸Đ½Ñ†Đ¸Đ¿Đµ
- Đ¡Đ°Đ»Đ²Đ°Đ´Đ¾Ñ€
- Đ¡Đ¸Ñ€Đ¸Ñ˜Đ°
- Đ¡Đ²Đ°Đ·Đ¸Đ»ĐµĐ½Đ´
- Đ¢ÑƒÑ€ĐºÑ Đ¸ ĐĐ°Ñ˜ĐºĐ¾Ñ ĐÑÑ‚Ñ€Đ²Đ°
- Чад
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐµ ĐˆÑƒĐ¶Đ½Đµ Đ¢ĐµÑ€Đ¸Ñ‚Đ¾Ñ€Đ¸Ñ˜Đµ
- Đ¢Đ¾Đ³Đ¾
- Đ¢Đ°Ñ˜Đ»Đ°Đ½Đ´
- Đ¢Đ°ÑŸĐ¸ĐºĐ¸ÑÑ‚Đ°Đ½
- Đ¢Đ¾ĐºĐµĐ»Đ°Ñƒ
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¸ Đ¢Đ¸Đ¼Đ¾Ñ€
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½
- Đ¢ÑƒĐ½Đ¸Ñ
- Đ¢Đ¾Đ½Đ³Đ°
- Đ¢ÑƒÑ€ÑĐºĐ°
- Đ¢Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´ и Đ¢Đ¾Đ±Đ°Đ³Đ¾
- Đ¢ÑƒĐ²Đ°Đ»Ñƒ
- Đ¢Đ°Ñ˜Đ²Đ°Đ½
- Đ¢Đ°Đ½Đ·Đ°Đ½Đ¸Ñ˜Đ°
- Đ£ĐºÑ€Đ°Ñ˜Đ¸Đ½Đ°
- Đ£Đ³Đ°Đ½Đ´Đ°
- ĐœĐ°Ñа ÑƒĐ´Đ°Ñ™ĐµĐ½Đ° Đ¾ÑÑ‚Ñ€Đ²Đ° Đ¡ĐĐ”
- Đ¡Ñ˜ĐµĐ´Đ¸ÑĐµĐ½Đµ ĐĐ¼ĐµÑ€Đ¸Ñ‡ĐºĐµ Đ”Ñ€Đ¶Đ°Đ²Đµ
- Đ£Ñ€ÑƒĐ³Đ²Đ°Ñ˜
- Đ£Đ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½
- Đ’Đ°Ñ‚Đ¸ĐºĐ°Đ½
- Đ¡ĐµĐ½Ñ‚ Đ’Đ¸Đ½ÑĐµĐ½Ñ‚ и Đ“Ñ€ĐµĐ½Đ°Đ´Đ¸Đ½Đ¸
- Đ’ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ° Đ”ĐµĐ²Đ¸Ñ‡Đ°Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- Đ¡.Đ.Đ”. Đ”ĐµĐ²Đ¸Ñ‡Đ°Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
- Đ’Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼
- Đ’Đ°Đ½ÑƒĐ°Ñ‚Ñƒ
- Đ’Đ°Đ»Đ¸Ñ Đ¸ Đ¤ÑƒÑ‚ÑƒĐ½Đ° ĐÑÑ‚Ñ€Đ²Đ°
- Đ¡Đ°Đ¼Đ¾Đ°
- ĐˆĐµĐ¼ĐµĐ½
- ĐœĐ°Ñ˜Đ¾Ñ‚Đµ
- ĐˆÑƒĐ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ° Đ ĐµĐ¿ÑƒĐ±Đ»Đ¸ĐºĐ°
- Đ—Đ°Đ¼Đ±Đ¸Ñ˜Đ°
- Đ—Đ¸Đ¼Đ±Đ°Đ±Đ²Đµ
- ĐĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚Đ° или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ° Đ¾Đ±Đ»Đ°ÑÑ‚
-
-
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ°Đ»Đ½Đ° Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ° Đ¾Ñ€Ñ‚Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ˜Đ°
- Đ¡Ñ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¸Đ·Đ¾Đ²Đ°Đ½Đ° Ñ€ĐµÑĐ¸Ñ˜Đ°Đ½ÑĐºĐ° Đ¾Ñ€Ñ‚Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ˜Đ°
- ĐĐµĐ¼Đ°Ñ‡ĐºĐ° Đ¾Ñ€Ñ‚Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ˜Đ° из 1996
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ из ĐºĐ°ÑĐ½Đ¾Đ³ ÑÑ€ĐµĐ´ÑĐµĐ³ Đ²ĐµĐºĐ° Đ´Đ¾ 1606.
- Đ Đ°Đ½Đ¸ Đ¼Đ¾Đ´ĐµÑ€Đ½Đ¸ Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¸ Đ°Ñ€Đ¼ĐµĐ½Đ¸Ñ˜ÑĐºĐ¸
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾ Ñ˜ĐµÑ€Đ¼ĐµĐ½ÑĐºĐ°
- Đ£Ñ˜ĐµĐ´Đ¸ÑĐµĐ½ турÑĐºĐ¸ Đ»Đ°Ñ‚Đ¸Đ½Đ¸Ñ‡Đ½Đ¸ Đ°Đ»Ñ„Đ°Đ±ĐµÑ‚
- Đ¡Đ°Đ½ Đ‚Đ¾Ñ€Ñ’Đ¸Đ¾/Била Đ´Đ¸Ñ˜Đ°Đ»ĐµĐºÑ‚
- Đ‘ÑƒĐ½Ñ‚Đ»Đ¸Đ½Đ³
- Đ˜ĐŸĐ Ñ„Đ¾Đ½ĐµÑ‚Đ¸ĐºĐ°
- Đ£ĐŸĐ Ñ„Đ¾Đ½ĐµÑ‚Đ¸ĐºĐ°
- Đ›Đ¸Đ¿Đ¾Đ²Đ¸Ñ‡ĐºĐ¸ Đ´Đ¸Ñ˜Đ°Đ»ĐµĐºÑ‚ Ñ€ĐµÑĐ¸Ñ˜Đ°Đ½ÑĐºĐ¸
- ĐœĐ¾Đ½Đ¾Ñ‚Đ¾Đ½Đ¸Đº
- ĐĐ°Ñ‚Đ¸ÑĐ¾Đ½Đµ Đ´Đ¸Ñ˜Đ°Đ»ĐµĐºÑ‚
- Đ“ÑĐ¸Đ²Đ°/ĐĐ¸Đ²Đ° Đ´Đ¸Ñ˜Đ°Đ»ĐºĐµĐºÑ‚
- ĐÑĐµĐ°ĐºĐ¾/ĐÑĐ¾Ñ˜Đ°Đ½Đµ Đ´Đ¸Ñ˜Đ°Đ»ĐµĐºÑ‚
- ĐŸĐ¾Đ»Đ¸Ñ‚Đ¾Đ½Đ¸Đº
- ĐĐ¾Đ¼Đ¿Ñ˜ÑƒÑ‚ĐµÑ€
- Đ ĐµĐ²Đ¸Đ´Đ¸Ñ€Đ°Đ½Đ° Đ¾Ñ€Ñ‚Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ˜Đ°
- РеÑĐ¸Ñ˜Đ°Đ½
- Đ¡Đ°Ñ…Đ¾
- Đ¨ĐºĐ¾Ñ‚ÑĐºĐ¸ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¸ Đ•Đ½Đ³Đ»ĐµÑĐºĐ¸
- Đ¡ĐºĐ°ÑƒĐ·
- Đ¡Ñ‚Đ¾Đ»Đ²Đ¸Ñ†Đ°/Đ¡Đ¾Đ»Đ±Đ¸Ñ†Đ° Đ´Đ¸Ñ˜Đ°Đ»ĐµĐºÑ‚
- Đ¢Đ°Ñ€Đ°ÑĐºĐ¸Ñ˜ĐµĐ²Đ¸Ñ‡ĐºĐ° Đ¾Ñ€Ñ‚Đ¾Đ³Ñ€Đ°Ñ„Đ¸Ñ˜Đ°
- Đ’Đ°Đ»ĐµĐ½Ñ†Đ¸Ñ˜ÑĐºĐ°
-
-
- ĐĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ¡Đ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе
- Đ’Đ°Đ»ÑƒÑ‚Đ°
-
-
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ°Đ»Đ½Đ¾ ĐºĐ¸Đ½ĐµÑĐºĐ¾ ÑĐ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе
- Đ‘ÑƒĐ´Đ¸ÑÑ‚Đ¸Ñ‡ĐºĐ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- ĐĐ¸Đ½ĐµÑĐºĐ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ”Đ¸Ñ€ĐµĐºÑ‚Đ½Đ¾ ÑĐ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе
- ĐŸĐ¾Ñ˜ĐµĐ´Đ½Đ¾ÑÑ‚Đ°Đ²Ñ™ĐµĐ½Đ¾ ĐºĐ¸Đ½ĐµÑĐºĐ¾ ÑĐ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе
- Đ“Ñ€ĐµĐ³Đ¾Ñ€Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ¥ĐµĐ±Ñ€ĐµÑ˜ÑĐºĐ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ˜Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸ Đ½Đ°Ñ†Đ¸Đ¾Đ½Đ°Đ»Đ½Đ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ˜ÑĐ»Đ°Đ¼ÑĐºĐ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ˜ÑĐ»Đ°Đ¼ÑĐºĐ¸ Ñ†Đ¸Đ²Đ¸Đ»Đ½Đ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- ĐˆĐ°Đ¿Đ°Đ½ÑĐºĐ¸ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ¡Đ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе ĐºĐ°Đ¾ Ñ‚ĐµĐ»ĐµÑ„Đ¾Đ½ÑĐºĐ¸ Đ¸Đ¼ĐµĐ½Đ¸Đº
- ĐŸĐ¸ÑĐ¸Đ½ ÑĐ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе
- ĐĐ°Đ»ĐµĐ½Đ´Đ°Ñ€ Đ ĐµĐ¿ÑƒĐ±Đ»Đ¸ĐºĐµ ĐĐ¸Đ½Đµ
- Đ¡Đ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе Đ¿Đ¾ Đ±Ñ€Đ¾Ñ˜Ñƒ Ñ†Ñ€Ñ‚Đ°
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Đ¸Đ¾Đ½Đ°Đ»Đ½Đ¾ ÑĐ¾Ñ€Ñ‚Đ¸Ñ€Đ°Ñе
-
-
- ĐœĐµÑ‚Ñ€Đ¸Ñ‡ĐºĐ¸
- Đ¡ĐĐ”
-
-
- {0}
- {0}
- {0}
-
-
-
- [а-Đ´ Ñ’ е-и ј Đº Đ» Ñ™ Đ¼ Đ½ Ñ Đ¾-Ñ‚ Ñ› у-ч ÑŸ ш]
- [a Ă¡ Ă Äƒ Ă¢ Ă¥ ä Ä Ă¦ b c ç d e Ă© è Ä• Ăª Ă« Ä“ f-i à ì Ä Ă® Ă¯ Ä« j-n ñ o Ă³ Ă² Å Ă´ ö ø Å Å“ p-s ĂŸ t u Ăº Ă¹ Å Ă» Ă¼ Å« v-y Ă¿ z]
- [a-c Ä d-l Å‚ m-o º p-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- БЕ
-
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
-
-
-
- Đ¢Đ°ÑƒÑ‚
- Баба
- Đ¥Đ°Ñ‚Đ¾Ñ€
- ĐĐ¸Đ°Ñ…Đº
- Đ¢Đ¾Đ±Đ°
- ĐĐ¼ÑˆĐ¸Ñ€
- Đ‘Đ°Ñ€Đ°Đ¼Ñ…Đ°Ñ‚
- Đ‘Đ°Ñ€Đ°Đ¼ÑƒĐ´Đ°
- Đ‘Đ°ÑˆĐ°Đ½Ñ
- ĐŸĐ°Đ¾Đ½Đ°
- Đ•Đ¿ĐµĐ¿
- ĐœĐµÑÑ€Đ°
- ĐаÑи
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
-
-
-
- ĐœĐµÑĐºĐµÑ€ĐµĐ¼
- Đ¢ĐµĐºĐµĐ¼Ñ‚
- Đ¥ĐµĐ´Đ°Ñ€
- Đ¢Đ°Ñ…ÑаÑ
- Đ¢ĐµÑ€
- ĐˆĐµĐºĐ°Ñ‚Đ¸Ñ‚
- ĐœĐµĐ³Đ°Đ±Đ¸Ñ‚
- ĐœĐ¸Đ°Đ·Đ¸Đ°
- Đ“ĐµĐ½Đ±Đ¾Ñ‚
- Đ¡ĐµĐ½Đµ
- Đ¥Đ°Đ¼Đ»Đµ
- ĐĐµÑ…Đ°Ñе
- ĐŸĐ°Đ³ÑƒĐ¼ĐµĐ½
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
-
-
-
- Ñ˜Đ°Đ½
- Ñ„ĐµĐ±
- Đ¼Đ°Ñ€
- Đ°Đ¿Ñ€
- Đ¼Đ°Ñ˜
- Ñ˜ÑƒĐ½
- Ñ˜ÑƒĐ»
- Đ°Đ²Đ³
- ÑĐµĐ¿
- Đ¾ĐºÑ‚
- Đ½Đ¾Đ²
- Đ´ĐµÑ†
-
-
- Ñ˜Đ°Đ½ÑƒĐ°Ñ€
- Ñ„ĐµĐ±Ñ€ÑƒĐ°Ñ€
- Đ¼Đ°Ñ€Ñ‚
- Đ°Đ¿Ñ€Đ¸Đ»
- Đ¼Đ°Ñ˜
- Ñ˜ÑƒĐ½
- Ñ˜ÑƒĐ»
- Đ°Đ²Đ³ÑƒÑÑ‚
- ÑĐµĐ¿Ñ‚ĐµĐ¼Đ±Đ°Ñ€
- Đ¾ĐºÑ‚Đ¾Đ±Đ°Ñ€
- Đ½Đ¾Đ²ĐµĐ¼Đ±Đ°Ñ€
- Đ´ĐµÑ†ĐµĐ¼Đ±Đ°Ñ€
-
-
-
-
- ј
- Ñ„
- Đ¼
- а
- Đ¼
- ј
- ј
- а
- Ñ
- Đ¾
- Đ½
- Đ´
-
-
-
-
-
-
- Đ½ĐµĐ´
- Đ¿Đ¾Đ½
- ÑƒÑ‚Đ¾
- ÑÑ€Đµ
- Ñ‡ĐµÑ‚
- Đ¿ĐµÑ‚
- ÑÑƒĐ±
-
-
- Đ½ĐµĐ´ĐµÑ™Đ°
- Đ¿Đ¾Đ½ĐµĐ´ĐµÑ™Đ°Đº
- ÑƒÑ‚Đ¾Ñ€Đ°Đº
- ÑÑ€ĐµĐ´Đ°
- Ñ‡ĐµÑ‚Đ²Ñ€Ñ‚Đ°Đº
- Đ¿ĐµÑ‚Đ°Đº
- ÑÑƒĐ±Đ¾Ñ‚Đ°
-
-
-
-
- Đ½
- Đ¿
- у
- Ñ
- ч
- Đ¿
- Ñ
-
-
-
-
-
-
- Đ1
- Đ2
- Đ3
- Đ4
-
-
- ĐŸÑ€Đ²Đ¾ Ñ‚Ñ€Đ¾Đ¼ĐµÑĐµÑ‡Ñ˜Đµ
- Đ”Ñ€ÑƒĐ³Đ¾ Ñ‚Ñ€Đ¾Đ¼ĐµÑĐµÑ‡Ñ˜Đµ
- Đ¢Ñ€ĐµÑ›Đµ Ñ‚Ñ€Đ¾Đ¼ĐµÑĐµÑ‡Ñ˜Đµ
- Đ§ĐµÑ‚Đ²Ñ€Ñ‚Đ¾ Ñ‚Ñ€Đ¾Đ¼ĐµÑĐµÑ‡Ñ˜Đµ
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- ĐŸÑ€Đµ Đ½Đ¾Đ²Đµ ĐµÑ€Đµ
- ĐĐ¾Đ²Đµ ĐµÑ€Đµ
-
-
- Đ¿. Đ½. е.
- Đ½. е
-
-
- Đ¿.Đ½.е.
- Đ½.е.
-
-
-
-
-
- EEEE, dd. MMMM y.
-
-
-
-
- dd. MMMM y.
-
-
-
-
- dd.MM.y.
-
-
-
-
- d.M.yy.
-
-
-
-
-
-
- HH.mm.ss zzzz
-
-
-
-
- HH.mm.ss z
-
-
-
-
- HH.mm.ss
-
-
-
-
- HH.mm
-
-
-
-
-
- d
- E d.
- d. EEE
- hh.mm a
- hh.mm.ss a
- HH.mm
- L
- d/M
- E, M-d
- MM-dd
- LLL
- MMM d.
- dd.MMM
- E d. MMM
- MMMM d.
- dd. MMMM
- E MMMM d
- mm:ss
- y.
- y-M
- EEE, d. M. yyyy.
- MMM. y
- EEE, d. MMM y.
- y MMMM
- y Q
- QQQ. y
- MM.yy
- dd.MM.yy
- d. MMM yy.
- Q yy
- QQQQ yy
- y.
- yyyy-MM
- MMMM y.
-
-
- {0} - {1}
-
- d-d
-
-
- HH-HH
- HH-HH
-
-
- HH.mm-HH.mm
- HH.mm-HH.mm
- HH.mm-HH.mm
-
-
- HH.mm-HH.mm v
- HH.mm-HH.mm v
- HH.mm-HH.mm v
-
-
- HH-HH v
- HH-HH v
-
-
- M-M
-
-
- d.M - d.M
- d.M - d.M
-
-
- E, d.M - E, d.M
- E, d.M - E, d.M
-
-
- MMM-MMM
-
-
- dd.-dd. MMM
- dd. MMM - dd. MMM
-
-
- E, dd. - E, dd. MMM
- E, dd. MMM - E, dd. MMM
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- yyyy M - M
- yyyy M - M
-
-
- d.M.yy. - d.M.yy.
- d.M.yy. - d.M.yy.
- d.M.yy. - d.M.yy.
-
-
- E, d.M.yy. - E, d.M.yy.
- E, d.M.yy. - E, d.M.yy.
- E, d.M.yy. - E, d.M.yy.
-
-
- MMM-MMM y.
- MMM y. - MMM y.
-
-
- dd.-dd. MMM y.
- dd. MMM - dd. MMM y.
- dd. MMM y. - dd. MMM y.
-
-
- E, dd. - E, dd. MMM y.
- E, dd. MMM - E, dd. MMM y.
- E, dd. MMM y. - E, dd. MMM y.
-
-
- yyyy-MM – MM
- yyyy-MM – yyyy-MM
-
-
-
-
-
- ĐµÑ€Đ°
-
-
- Đ³Đ¾Đ´Đ¸Đ½Đ°
-
-
- Đ¼ĐµÑĐµÑ†
-
-
- Đ½ĐµĐ´ĐµÑ™Đ°
-
-
- Đ´Đ°Đ½
- Đ¿Ñ€Đµ Ñ‚Ñ€Đ¸ Đ´Đ°Đ½Đ°
- Đ¿Ñ€ĐµĐºÑ˜ÑƒÑ‡Đµ
- Ñ˜ÑƒÑ‡Đµ
- Đ´Đ°Đ½Đ°Ñ
- ÑÑƒÑ‚Ñ€Đ°
- Đ¿Ñ€ĐµĐºĐ¾ÑÑƒÑ‚Ñ€Đ°
- за Ñ‚Ñ€Đ¸ Đ´Đ°Đ½Đ°
-
-
- Đ´Đ°Đ½ у Đ½ĐµĐ´ĐµÑ™Đ¸
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ/Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- Ñ‡Đ°Ñ
-
-
- Đ¼Đ¸Đ½ÑƒÑ‚
-
-
- ÑĐµĐºÑƒĐ½Đ´
-
-
- Đ·Đ¾Đ½Đ°
-
-
-
-
-
-
-
- Đ¢Đ¸ÑˆÑ€Đ¸
- Đ¥ĐµÑˆĐ²Đ°Đ½
- ĐиÑĐ»ĐµĐ²
- Đ¢ĐµĐ²ĐµÑ‚
- Đ¨ĐµĐ²Đ°Ñ‚
- ĐĐ´Đ°Ñ€ I
- ĐĐ´Đ°Ñ€
- ĐиÑĐ°Đ½
- Đ˜Ñ˜Đ°Ñ€
- Đ¡Đ¸Đ²Đ°Đ½
- Đ¢Đ°Đ¼ÑƒĐ·
- ĐĐ²
- Đ•Đ»ÑƒĐ»
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
-
-
-
- Đ§Đ°Đ¸Ñ‚Ñ€Đ°
- ВаиÑĐ°ĐºĐ°
- ĐˆĐ¸Đ°Đ¸ÑÑ‚Đ°
- ĐÑада
- Đ¡Ñ€Đ°Đ²Đ°Đ½Đ°
- Đ‘Đ°Đ´Ñ€Đ°
- ĐÑĐ²Đ¸Đ½Đ°
- ĐĐ°Ñ€Ñ‚Đ¸ĐºĐ°
- ĐÑ€Đ³Đ°Ñ˜Đ°Đ½Đ°
- ĐŸĐ°ÑƒĐ·Đ°
- ĐœĐ°Đ³Đ°
- Đ¤Đ°Đ»Đ³ÑƒĐ½Đ°
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- Đ¡ĐĐĐ
-
-
-
-
-
-
-
- ĐœÑƒÑ€Đ°Ñ…Đ°Đ¼
- Đ¡Đ°Ñ„Đ°Ñ€
- Đ Đ°Đ±Đ¸Ê» I
- Đ Đ°Đ±Đ¸Ê» II
- ĐˆÑƒĐ¼Đ°Đ´Đ° I
- ĐˆÑƒĐ¼Đ°Đ´Đ° II
- Đ Đ°Ñ’Đ°Đ±
- Đ¨Đ°Ê»Đ±Đ°Đ½
- Đ Đ°Đ¼Đ°Đ´Đ°Đ½
- Đ¨Đ°Đ²Đ°Đ»
- Đ”ÑƒÊ»Đ»-ĐĐ¸Ê»Đ´Đ°
- Đ”ÑƒÊ»Đ»-Ñ…Đ¸Ñ’Đ°
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- ĐĐ¥
-
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- Đ¢Đ°Đ¸ĐºĐ°
- Đ¥Đ°ĐºÑƒÑ‡Đ¸
- Đ¥Đ°ĐºÑƒÑ…Đ¾
- Đ¨ÑƒÑ‡Đ¾
- Đ¢Đ°Đ¸Ñ…Đ¾
- ĐĐµĐ¸ÑƒĐ½
- Đ’Đ°Đ´Đ¾
- Đ ĐµĐ¸ĐºĐ¸
- ĐˆĐ¾Ñ€Đ¾
- ĐˆĐ¸Đ½ĐºĐ¸
- Đ¢ĐµĐ¼Đ¿Đ¸Đ¾
- Đ¢ĐµĐ¼Đ¿Đ¸Đ¾-ĐºĐ°Đ¼Đ¿Đ¾
- Đ¢ĐµĐ¼Đ¿Đ¸Đ¾-ÑˆĐ¾Ñ…Đ¾
- Đ¢ĐµĐ¼Đ¿Đ¸Đ¾-Ñ…Đ¾Ñ’Đ¸
- Đ¢ĐµĐ¼Đ¿Đ¾-Ñ’Đ¸Đ½Đ³Đ¾
- Đ‚Đ¸Đ½Đ³Đ¾-ĐºĐµĐ¸ÑƒĐ½
- Đ¥Đ¾ĐºĐ¸
- Đ¢ĐµĐ½-Đ¾
- Đ•Đ½Ñ€Ñ˜Đ°ĐºÑƒ
- Đ”Đ°Đ¸Đ´Đ¾
- ĐĐ¾Đ½Đ¸Đ½
- Đ¢ĐµĐ½Ñ‡Đ¾
- Đ¨Đ¾Đ²Đ°
- ĐĐ°Ñ˜Đ¾
- ĐиÑу
- Đ¡Đ°Đ¸ĐºĐ¾
- Đ¢ĐµĐ½Đ°Đ½
- ĐˆĐ¾Đ³Đ°Đ½
- Đ“ĐµĐ½ĐºĐµĐ¸
- ĐиÑа
- ĐĐ°Đ¼Đ¿Ñ˜Đ¾
- Đ¨Đ¾Ñ‚Đ°Đ¸
- Đ•Đ½Ñ’Đ¸
- Đ•Đ½Ñ‡Đ¾
- Đ¨Đ¾Ñ…ĐµĐ¸
- Đ¢ĐµĐ½Đ³Ñ˜Đ¾
- Đ¢ĐµĐ½Ñ€Đ¸Đ°ĐºÑƒ
- Đ¢ĐµĐ½Ñ‚Đ¾ĐºÑƒ
- ĐĐ²Đ°
- ĐĐ¾Ñ…Đ¾
- ĐĐ½Đ°
- Đ¢ĐµĐ½Ñ€Đ¾ĐºÑƒ
- Đ¢ĐµĐ½-ĐµĐ½
- ĐˆĐ¾Đ³ĐµĐ½
- Đ¢ĐµĐ½Đ³ĐµĐ½
- Đ•Đ¸ĐºĐ°Đ½
- ĐĐ°Đ½Đ°
- Еи-ĐµĐ½
- ЕиÑĐ¾
- Đ¨Đ¾Ñ€Ñ˜Đ°ĐºÑƒ
- Đ§Đ¾Ñ‚Đ¾ĐºÑƒ
- Đ§Đ¾Ñ…Đ¾
- ĐĐ°Đ½ĐºĐ¾
- Đ§Đ¾Đ²Đ°
- ĐĐ°Đ½Đ¸Đ½
- Đ‚Đ¸Đ°Đ½
- ĐœĐ°Ñу
- Đ§Đ¾Đ³ĐµĐ½
- Đ§Đ¾Ñ€Ñ˜Đ°ĐºÑƒ
- Đ§Đ¾ĐºÑ˜Ñƒ
- ĐĐ°Đ½Ñ‚Đ¾ĐºÑƒ
- Đ•Đ¸ÑˆĐ¾
- Đ¢ĐµĐ½Ñ’Đ¸
- ĐĐ¾Ñ…ĐµĐ¸
- Đ‚Đ¸Ñ€Ñ˜Đ°ĐºÑƒ
- Đ•Đ½ĐºÑ˜Ñƒ
- Đ¨Đ¾Ñ…Đ¾
- Đ¨Đ¾Ñ€Ñ˜Đ°ĐºÑƒ
- Đ•Đ¸ÑˆĐ¾
- ĐÑ‚Đ¾ĐºÑƒ
- ĐĐ°Đ½Ñ’Đ¸
- ĐĐ°Ñ…Đ¾
- Đ•Đ¸Ñ‡Đ¾
- Đ¨Đ¾Ñ‚Đ¾ĐºÑƒ
- ĐĐ¾Đ²Đ°
- Đ§Đ¾Ñ’Đ¸
- ĐĐ°ÑˆĐ¾
- Đ¢ĐµĐ½Đ¸Đ½
- Đ¢ĐµĐ½-еи
- Đ•Đ¸ĐºÑ˜Ñƒ
- Đ‚ĐµĐ½-еи
- Đ¥Đ¾Đ°Đ½
- Đ¢ĐµĐ½Ñ’Đ¸
- Đ”Đ°Đ¸Ñ’Đ¸
- Đ¢ĐµĐ½ÑˆĐ¾
- Đ§Đ¾ÑˆĐ°Đ¾
- Đ¥Đ¾ĐµĐ½
- Đ•Đ¸Ñ’Đ¸
- ĐĐ¾Ñ’Đ¸
- Đ¢ĐµÑĐ¾
- ĐÑ˜ÑƒĐ°Đ½
- ĐĐ¸Đ½Đ¿ĐµĐ¸
- Đјују
- Đ¥Đ¾Đ³ĐµĐ½
- Đ¥ĐµĐ¸Ñ’Đ¸
- Đ•Đ¸Ñ€Ñ˜Đ°ĐºÑƒ
- ĐÑ…Đ¾
- Đ§Đ¾ĐºĐ°Đ½
- Đ•Đ¸Đ¼Đ°Đ½
- ĐĐ¸Đ½-Đ°Đ½
- ĐĐ°Đ¾
- Đ¨Đ¾Đ°Đ½
- ĐĐ½Đ³ĐµĐ½
- Đ‚Đ¸ÑˆĐ¾
- ĐˆĐ¾Đ²Đ°
- Đ‚ÑƒĐµĐ¸
- Đ“ĐµĐ½Ñ€Ñ˜ÑƒĐºÑƒ
- Đ‘ÑƒĐ½Ñ’Đ¸
- ĐĐµĐ½ĐºÑ˜Ñƒ
- Đ¨Đ¾Ñ’Đ¸
- ĐĐµĐ½Đ¸Đ½
- Đ“ĐµĐ½ĐºÑ˜Ñƒ
- ĐĐµĐ½-еи
- Đ¨Đ¾Đ³ĐµĐ½
- ĐĐµĐ½Ñ€Ñ˜Đ°ĐºÑƒ
- ĐĐµĐ½Đ¿Đ¾
- Đ¨Đ¾ĐºÑ˜Ñƒ
- Đ‚Ñƒ
- Đ‚ĐµĐ½Đ¸Đ½
- ĐĐ°Ñ€Đ¾ĐºÑƒ
- ĐĐ½Ñ‚ĐµĐ¸
- ĐĐ°Đ½ĐºĐ¸
- Đ‚Đ¾ĐµĐ¸
- Đ¢ĐµĐ¼Đ¿ÑƒĐºÑƒ
- Đ‘ÑƒĐ½Ñ€Ñ˜Đ°ĐºÑƒ
- ĐĐ°Ñ‚ĐµĐ¸
- Đ Ñ˜Đ°ĐºÑƒĐ½Đ¸Đ½
- Đ•Đ½-Đ¾
- ĐиÑи
- ĐĐ°Đ½Đ³ĐµĐ½
- Đ¥Đ¾Ñ’Đ¸
- ĐĐµĐ½Ñ‡Đ¾
- ĐĐ¾Đ³ĐµĐ½
- Đ¨Đ¾ĐºĐ°
- Đ¨Đ¾Đ³ĐµĐ½
- Đ‘ÑƒĐ½-Đ¾
- ĐĐ¾Ñ‡Đ¾
- Đ‘ÑƒĐ½-еи
- ĐĐµĐ½Ñ’Đ¸
- ĐĐ¾Đ°Đ½
- Đ¨Ñƒ
- Đ•Đ¸Đ½Đ¸Đ½
- Đ¨Đ¾Đ°Đ½
- ĐĐµĐ½Đ³ĐµĐ½
- ĐĐ°Đ³ĐµĐ½
- Đ¢Đ¾ĐºÑƒÑ’Đ¸
- Đ•Đ½ĐºĐµĐ¸
- ĐÑ‡Đ¾
- Đ¨Đ¾Đ²Đ°
- Đ‘ÑƒĐ½Đ¿Đ¾
- Đ‚ĐµĐ½Đ¾
- Đ‚ĐµĐ½ĐºÑ˜Đ¾
- Đ¨Đ¾Ñ‡Ñƒ
- ĐĐ°Ñ€ĐµĐºĐ¸
- Đ“ĐµĐ½Ñ‚Đ¾ĐºÑƒ
- Đ“ĐµĐ½ĐºĐ¾
- ĐĐµĐ¼Ñƒ
- Đ•Đ½Đ³ĐµĐ½
- ĐĐ¾ĐºĐ¾ĐºÑƒ
- Đ¨Đ¾Ñ…ĐµĐ¸
- ĐĐµĐ½Ñ‚Đ¾ĐºÑƒ
- Đ‘ÑƒÑ‡Ñƒ
- Đ¢ĐµÑу
- ĐĐ¾Ñ€Ñ˜Đ°ĐºÑƒ
- ĐĐ¾Đ²Đ°
- Đ“ĐµĐ½Ñ‡Ñƒ
- ĐœĐµĐ¸Ñ‚Đ¾ĐºÑƒ
- ĐĐ°ĐºĐµĐ¸
- Đу
- ĐœĐµĐ¸Ñ‚Đ¾ĐºÑƒ
- Đеи
- Đ¨Đ¾Ñ‡Đ¾
- Đ•Đ¸ĐºÑ˜Đ¾
- ĐĐ°ĐºĐ¸Ñ‚Ñу
- Đ‘ÑƒĐ½-Đ°Đ½
- Đ¥Đ¾Ñ‚Đ¾ĐºÑƒ
- ĐÑ˜Đ¾Ñ‚Đ¾ĐºÑƒ
- ĐĐ¾ÑˆĐ¾
- Đ§Đ¾Ñ€Đ¾ĐºÑƒ
- ĐĐ°Đ½ÑˆĐ¾
- Đ‘ÑƒĐ½ÑˆĐ¾
- ĐĐ½Đ¸Đ½
- Đ‘ÑƒĐ½Đ¼ĐµĐ¸
- Đ§Đ¾ĐºÑ˜Đ¾
- Đ•Đ½Ñ‚Đ¾ĐºÑƒ
- ĐœĐµĐ¸Đ¾
- Đ‘ÑƒĐ½ĐºĐ¸
- Đ•Đ¸ÑˆĐ¾
- Đ¢Đ°Đ¸ĐµĐ¸
- ĐÑ˜Đ¾Ñ€Đ¾ĐºÑƒ
- Đ¢ĐµĐ½Đ¼Đ¾Đ½
- ĐĐ¾Ñ’Đ¸
- Đ•Đ¸Ñ€Đ¾ĐºÑƒ
- Đ“ĐµĐ½ĐºĐ¸
- Đ¢ĐµĐ½ÑˆĐ¾
- Đ‘ÑƒĐ½Ñ€Đ¾ĐºÑƒ
- ĐĐµĐ¸Ñ‡Đ¾
- Đ“ĐµĐ½Đ²Đ°
- ĐĐ°Đ½-еи
- Đ¨Đ¾Ñ…Đ¾
- ĐĐµĐ¸Đ°Đ½
- Đ¨Ñƒ
- ĐœĐµĐ¸Ñ€Ñ˜Đ°ĐºÑƒ
- ĐœĐ°Ñи
- ĐĐ°Đ½Đ±ÑƒĐ½
- Đ•Đ½Đ¿Đ¾
- Đ¢ĐµĐ½Đ²Đ°
- ĐˆĐ¾ĐºÑ˜Đ¾
- Đ“ĐµĐ½Ñ€Đ¾ĐºÑƒ
- Đ¥Đ¾ĐµĐ¸
- Đ¨Đ¾Ñ‚Đ¾ĐºÑƒ
- ĐÑ˜Đ¾Ñ…Đ¾
- Đ“ĐµĐ½Đ±ÑƒĐ½
- ĐĐ°Đ½Đ¿Đ¾
- Đ•Đ½ĐºÑ˜Đ¾
- ĐĐ°Đ½-ĐµĐ½
- Đ¥Đ¾Ñ€Ñ˜Đ°ĐºÑƒ
- ĐœĐµĐ¸Đ²Đ°
- ĐĐ½-еи
- Đ¢ĐµĐ½Đ¼ĐµĐ¸
- ĐĐ°Đ½Ñеи
- ĐÑ˜Đ¾Đ²Đ°
- Đ‘ÑƒĐ½ĐºĐ°
- Đ‘ÑƒĐ½Ñеи
- Đ¢ĐµĐ½Đ¿Đ¾
- ĐĐ¾ĐºĐ°
- Đаеи
- ĐĐ½Ñеи
- ĐœĐ°Đ½-ĐµĐ½
- Đ‘ÑƒĐ½ĐºÑ˜Ñƒ
- Đ“ĐµĐ½Ñ’Đ¸
- ĐĐµĐ¸ĐºĐ¾
- ĐœĐµĐ¸Ñ’Đ¸
- Đ¢Đ°Đ¸ÑˆĐ¾
- Đ¨Đ¾Đ²Đ°
- Đ¥Đ°Đ¸Ñеи
-
-
-
-
-
- EEEE, MMMM d, y G
-
-
-
-
- MMMM d, y G
-
-
-
-
- MMM d, y G
-
-
-
-
- M/d/yy G
-
-
-
-
-
-
-
-
- Đ¤Đ°Ñ€Đ°Đ²Đ°Đ´Đ¸Đ½
- ĐÑ€Đ´Đ¸Đ±ĐµÑ…ĐµÑˆÑ‚
- ĐĐ¾Ñ€Đ´Đ°Đ´
- Đ¢Đ¸Ñ€
- ĐœĐ¾Ñ€Đ´Đ°Đ´
- Đ¨Đ°Ñ…Ñ€Đ¸Đ²Đ°Ñ€
- ĐœĐµÑ…Ñ€
- ĐĐ±Đ°Đ½
- ĐĐ·Đ°Ñ€
- Đ”ĐµÑ˜
- Đ‘Đ°Ñ…Đ¼Đ°Đ½
- Đ•ÑÑ„Đ°Đ½Đ´
-
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- Đ¿Ñ€Đµ Đ¿Đ¾Đ´Đ½Đµ
- Đ¿Đ¾Đ¿Đ¾Đ´Đ½Đµ
-
-
- ĐŸÑ€Đµ Đ Đ
- Đ Đ
-
-
-
-
-
- +HHmm;-HHmm
- GMT{0}
- {0}
- {1} ({0})
-
- ĐĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚ или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ¸ Đ³Ñ€Đ°Đ´
-
-
- ĐĐ½Đ´Đ¾Ñ€Đ°
-
-
- Đ”ÑƒĐ±Đ°Đ¸
-
-
- ĐĐ°Đ±ÑƒĐ»
-
-
- ĐĐ½Ñ‚Đ¸Đ³Đ²Đ°
-
-
- ĐĐ½Đ³Đ²Đ¸Đ»Đ°
-
-
- Đ¢Đ¸Ñ€Đ°Đ½Đ°
-
-
- ĐˆĐµÑ€ĐµĐ²Đ°Đ½
-
-
- ĐĐ¸Ñ€Đ°ÑĐ¾
-
-
- Đ›ÑƒĐ°Đ½Đ´Đ°
-
-
- Đ Đ¾Ñ‚ĐµÑ€Đ°
-
-
- ĐŸĐ°Đ»Đ¼ĐµÑ€
-
-
- ĐˆÑƒĐ¶Đ½Đ¸ Đ¿Đ¾Đ»
-
-
- Đ¨Đ¾Đ²Đ°
-
-
- ĐœĐ¾ÑĐ¾Đ½
-
-
- Đ”ĐµÑ˜Đ²Đ¸Ñ
-
-
- Đ’Đ¾ÑÑ‚Đ¾Đº
-
-
- ĐаÑĐµÑ˜
-
-
- Đ”Đ¸Đ¼Đ¾Đ½ Đ´â€™Đ£Ñ€Đ²Đ¸Đ»
-
-
- ĐœĐ°ĐºĐ¼ÑƒÑ€Đ´Đ¾
-
-
- Đ Đ¸Đ¾ Đ“ĐµĐ»ĐµĐ³Đ¾Ñ
-
-
- ĐœĐµĐ½Đ´Đ¾Đ·Đ°
-
-
- Đ¡Đ°Đ½ Đ¥ÑƒĐ°Đ½
-
-
- Đ£ÑˆÑƒĐ°Đ¸Ñ˜Đ°
-
-
- Ла Đ Đ¸Đ¾Ñ˜Đ°
-
-
- Đ¡Đ°Đ½ Đ›ÑƒĐ¸
-
-
- ĐĐ°Ñ‚Đ°Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ¡Đ°Đ»Ñ‚Đ°
-
-
- Đ–ÑƒĐ¶ÑƒĐ¸
-
-
- Đ¢ÑƒĐºÑƒĐ¼Đ°Đ½
-
-
- ĐĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- Đ‘ÑƒĐµĐ½Đ¾Ñ ĐĐ¸Ñ€ĐµÑ
-
-
- ĐŸĐ°Đ³Đ¾ ĐŸĐ°Đ³Đ¾
-
-
- Đ‘ĐµÑ‡
-
-
- ĐŸĐµÑ€Ñ‚
-
-
- Đ˜ÑƒĐºĐ»Đ°
-
-
- Đ”Đ°Ñ€Đ²Đ¸Đ½
-
-
- Đделаида
-
-
- Đ‘Ñ€Đ¾ĐºĐµĐ½ Đ¥Đ¸Đ»
-
-
- ĐÑƒÑ€Đ¸Đµ
-
-
- ĐœĐµĐ»Đ±ÑƒÑ€Đ½
-
-
- Đ¥Đ¾Đ±Đ°Ñ€Ñ‚
-
-
- Đ›Đ¸Đ½Đ´ĐµĐ¼Đ°Đ½
-
-
- Đ¡Đ¸Đ´Đ½ĐµÑ˜
-
-
- Đ‘Ñ€Đ¸Đ·Đ±ĐµÑ˜Đ½
-
-
- Đ›Đ¾Ñ€Đ´ Đ¥Đ¾Đ²
-
-
- ĐÑ€ÑƒĐ±Đ°
-
-
- Đ‘Đ°ĐºÑƒ
-
-
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾Ñ
-
-
- Đ”Đ°ĐºĐ°
-
-
- Đ‘Ñ€Đ¸Ñел
-
-
- Đ£Đ°Đ³Đ°Đ´ÑƒĐ³Ñƒ
-
-
- Đ¡Đ¾Ñ„Đ¸Ñ˜Đ°
-
-
- Đ‘Đ°Ñ…Ñ€ĐµĐ¸Đ½
-
-
- Đ‘ÑƒÑŸÑƒĐ¼Đ±ÑƒÑ€Đ°
-
-
- ĐŸĐ¾Ñ€Ñ‚Đ¾ ĐĐ¾Đ²Đ¾
-
-
- Đ‘ĐµÑ€Đ¼ÑƒĐ´Đ¸
-
-
- Đ‘Ñ€ÑƒĐ½ĐµÑ˜Đ¸
-
-
- Ла ĐŸĐ°Đ·
-
-
- Đ•Đ¸Ñ€ÑƒĐ½ĐµĐ¿Đµ
-
-
- Đ Đ¸Đ¾ Đ‘Ñ€Đ°Đ½ĐºĐ¾
-
-
- ĐŸĐ¾Ñ€Ñ‚Đ¾ Đ’ĐµÑ™Đ¾
-
-
- Đ‘Đ¾Đ° ВиÑÑ‚Đ°
-
-
- ĐœĐ°Đ½Đ°ÑƒÑ
-
-
- ĐÑƒĐ¸Đ°Đ±Đ°
-
-
- Đ¡Đ°Đ½Ñ‚Đ°Ñ€ĐµĐ¼
-
-
- ĐĐ°Đ¼Đ¿Đ¾ Đ“Ñ€Đ°Đ½Đ´Đµ
-
-
- Đ‘ĐµĐ»ĐµĐ¼
-
-
- ĐÑ€Đ°Đ³Đ²Đ°Ñ˜Đ°Đ½Đ°
-
-
- Đ¡Đ°Đ¾ ĐŸĐ°Đ¾Đ»Đ¾
-
-
- Đ‘Đ°Ñ…Đ¸Đ°
-
-
- Đ¤Đ¾Ñ€Ñ‚Đ°Đ»ĐµĐ·Đ°
-
-
- ĐœĐ°ÑĐµÑ˜Đ¾
-
-
- РеÑĐ¸Ñ„Đµ
-
-
- ĐĐ¾Ñ€Đ¾Ñа
-
-
- ĐаÑĐ°Ñƒ
-
-
- Đ¢Ñ…Đ¸Đ¼Đ¿Ñ…Ñƒ
-
-
- Đ“Đ°Đ±Đ¾Ñ€Đ¾Đ½
-
-
- ĐœĐ¸Đ½ÑĐº
-
-
- Белизе
-
-
- Đ”Đ¾ÑĐ¾Đ½
-
-
- Đ’Đ°Ñ˜Ñ‚Ñ…Đ¾Ñ€Ñ
-
-
- Đ˜Đ½ÑƒĐ²Đ¸Đº
-
-
- Đ’Đ°Đ½ĐºÑƒĐ²ĐµÑ€
-
-
- Đ”Đ¾ÑĐ¾Đ½ ĐÑ€Đ¸Đº
-
-
- Đ•Đ´Đ¼Đ¾Đ½Ñ‚Đ¾Đ½
-
-
- Đ¡Đ²Đ¸Ñ„Ñ‚ ĐÑƒÑ€ĐµĐ½Ñ‚
-
-
- ĐĐµĐ¼Đ±Ñ€Đ¸ÑŸ Đ‘ĐµÑ˜
-
-
- Đ ĐµĐ³Đ¸Đ½Đ°
-
-
- Đ’Đ¸Đ½Đ¸Đ¿ĐµĐ³
-
-
- РеÑĐ¾Đ»ÑƒÑ‚
-
-
- Đ ĐµÑ˜Đ½Đ¸ Đ Đ¸Đ²ĐµÑ€
-
-
- Đ Đ°Đ½ĐºĐ¸Đ½ Đ˜Đ½Đ»ĐµÑ‚
-
-
- ĐĐ¾Ñ€Đ°Đ» Đ¥Đ°Ñ€Đ±ÑƒÑ€
-
-
- Đ¢Đ°Đ½Đ´ĐµÑ€ Đ‘ĐµÑ˜
-
-
- ĐĐ¸Đ¿Đ¸Đ³Đ¾Đ½
-
-
- Đ¢Đ¾Ñ€Đ¾Đ½Ñ‚Đ¾
-
-
- ĐœĐ¾Đ½Ñ‚Ñ€ĐµĐ°Đ»
-
-
- Đ˜ĐºĐ²Đ°Đ»ÑƒĐ¸Ñ‚
-
-
- ĐŸĐ°Đ½Đ³Đ½Đ¸Ñ€Ñ‚ÑƒĐ½Đ³
-
-
- ĐœĐ¾Đ½ĐºÑ‚Đ¾Đ½
-
-
- Đ¥Đ°Đ»Đ¸Ñ„Đ°ĐºÑ
-
-
- Đ“ÑƒÑ Đ‘ĐµÑ˜
-
-
- Đ“Đ»ĐµÑ˜Ñ Đ‘ĐµÑ˜
-
-
- Đ‘Đ»Đ°Đ½Đº-Đ¡ĐµÑ˜Đ±Đ»Đ¾Đ½
-
-
- Đ¡Đ². ĐĐ¾Đ½
-
-
- ĐĐ¾ĐºĐ¾ÑĐ¾Đ²Đ° Đ¾ÑÑ‚Ñ€Đ²Đ°
-
-
- ĐĐ¸Đ½ÑˆĐ°Ñа
-
-
- Đ›ÑƒĐ¼ÑƒĐ¼Đ±Đ°ÑˆĐ¸
-
-
- Đ‘Đ°Đ½Đ³ÑƒĐ¸
-
-
- Đ‘Ñ€Đ°Đ·Đ°Đ²Đ¸Đ»
-
-
- Đ¦Đ¸Ñ€Đ¸Ñ…
-
-
- ĐĐ±Đ¸ÑŸĐ°Đ½
-
-
- Đ Đ°Ñ€Đ¾Ñ‚Đ¾Đ½Đ³Đ°
-
-
- Đ£ÑĐºÑ€ÑˆÑе Đ¾ÑÑ‚Ñ€Đ²Đ¾
-
-
- Đ¡Đ°Đ½Ñ‚Đ¸Ñ˜Đ°Đ³Đ¾
-
-
- Đ”ÑƒĐ°Đ»Đ°
-
-
- ĐĐ°ÑˆĐ³Đ°Ñ€
-
-
- Đ£Ñ€ÑƒĐ¼ĐºĐ²Đ¸
-
-
- Đ§Đ¾Đ½Đ³ĐºĐ¸Đ½Đ³
-
-
- Đ¨Đ°Đ½Đ³Đ°Ñ˜
-
-
- Đ¥Đ°Ñ€Đ±Đ¸Đ½
-
-
- Đ‘Đ¾Đ³Đ¾Ñ‚Đ°
-
-
- ĐĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°
-
-
- Đ¥Đ°Đ²Đ°Đ½Đ°
-
-
- ĐĐ°Đ¿Đµ Đ’ĐµÑ€Đ´Đµ
-
-
- Đ‘Đ¾Đ¶Đ¸Ñ›Đ½Đ¾ Đ¾ÑÑ‚Ñ€Đ²Đ¾
-
-
- ĐĐ¸ĐºĐ¾Đ·Đ¸Ñ˜Đ°
-
-
- Đ‘ĐµÑ€Đ»Đ¸Đ½
-
-
- ĐĐ¸Đ±ÑƒÑ‚Đ¸
-
-
- ĐĐ¾Đ¿ĐµĐ½Ñ…Đ°Đ³ĐµĐ½
-
-
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°
-
-
- Đ¡Đ°Đ½Ñ‚Đ¾ Đ”Đ¾Đ¼Đ¸Đ½Đ³Đ¾
-
-
- ĐĐ»Đ¶Đ¸Ñ€
-
-
- Đ“Đ°Đ»Đ°Đ¿Đ°Đ³Đ¾Ñ
-
-
- Đ“Đ²Đ°Ñ˜Đ°ĐºĐ¸Đ»
-
-
- Đ¢Đ°Đ»Đ¸Đ½
-
-
- ĐĐ°Đ¸Ñ€Đ¾
-
-
- Ел ĐÑ˜ÑƒĐ½
-
-
- ĐÑĐ¼ĐµÑ€Đ°
-
-
- ĐĐ°Đ½Đ°Ñ€ÑĐºĐ° Đ¾ÑÑ‚Ñ€Đ²Đ°
-
-
- Đ¡ĐµÑƒÑ‚Đ°
-
-
- ĐœĐ°Đ´Ñ€Đ¸Đ´
-
-
- ĐĐ´Đ¸Ñ Đбеба
-
-
- Đ¥ĐµĐ»ÑĐ¸Đ½ĐºĐ¸
-
-
- Đ¤Đ¸ÑŸĐ¸
-
-
- Đ¡Ñ‚ĐµĐ½Đ»Đ¸
-
-
- Đ¢Ñ€ÑƒĐº
-
-
- ĐŸĐ¾Đ½Đ°Đ¿Đµ
-
-
- ĐĐ¾ÑˆÑ€Đµ
-
-
- Đ¤Đ°Ñ€ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ°
-
-
- ĐŸĐ°Ñ€Đ¸Đ·
-
-
- Đ›Đ¸Đ±Ñ€ĐµĐ²Đ¸Đ»
-
-
- Đ›Đ¾Đ½Đ´Đ¾Đ½
-
-
- Đ“Ñ€ĐµĐ½Đ°Đ´Đ°
-
-
- Đ¢Đ±Đ¸Đ»Đ¸Ñи
-
-
- ĐĐ°Ñ˜ĐµĐ½
-
-
- ĐĐºÑ€Đ°
-
-
- Đ“Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€
-
-
- Đ¢ÑƒĐ»Đµ
-
-
- ĐÑƒĐº
-
-
- Đ¡ĐºĐ¾Ñ€ĐµĐ·Đ±Đ¸ÑÑƒĐ½Đ´
-
-
- Đ”Đ°Đ½Đ¼Đ°Ñ€ĐºÑÑ…Đ°Đ³ĐµĐ½
-
-
- Đ‘Đ°Đ½Đ¶ÑƒĐ»
-
-
- ĐĐ¾Đ½Đ°ĐºÑ€Đ¸
-
-
- Đ“Đ²Đ°Đ´Đ°Đ»ÑƒĐ¿Đµ
-
-
- ĐœĐ°Đ»Đ°Đ±Đ¾
-
-
- ĐÑ‚Đ¸Đ½Đ°
-
-
- ĐˆÑƒĐ¶Đ½Đ° ĐĐ¾Ñ€ÑŸĐ¸Ñ˜Đ°
-
-
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»Đ°
-
-
- Đ“ÑƒĐ°Đ¼
-
-
- БиÑĐ°Đ¾
-
-
- Đ“ÑƒĐ°Đ½Đ°
-
-
- Đ¥Đ¾Đ½Đ³ ĐĐ¾Đ½Đ³
-
-
- ĐŸĐ¾Ñ€Ñ‚-Đ¾-ĐŸÑ€ĐµĐ½Ñ
-
-
- Đ‘ÑƒĐ´Đ¸Đ¼Đ¿ĐµÑˆÑ‚Đ°
-
-
- ĐĐ°ĐºĐ°Ñ€Ñ‚Đ°
-
-
- ĐŸĐ¾Đ½Ñ‚Đ¸Đ°Đ½Đ°Đº
-
-
- ĐœĐ°ĐºĐ°ÑĐ°Ñ€
-
-
- ĐĐ°Ñ˜Đ°Đ¿ÑƒÑ€Đ°
-
-
- Đ”Đ°Đ±Đ»Đ¸Đ½
-
-
- Đ§Đ°Đ³Đ¾Ñ
-
-
- Đ‘Đ°Đ³Đ´Đ°Đ´
-
-
- Đ¢ĐµÑ…ĐµÑ€Đ°Đ½
-
-
- Đ ĐµÑ˜ĐºÑ˜Đ°Đ²Đ¸Đº
-
-
- Đ Đ¸Đ¼
-
-
- ĐˆĐ°Đ¼Đ°Ñ˜ĐºĐ°
-
-
- ĐĐ¼Đ°Đ½
-
-
- Đ¢Đ¾ĐºĐ¸Đ¾
-
-
- ĐĐ°Ñ˜Ñ€Đ¾Đ±Đ¸
-
-
- Đ‘Đ¸ÑˆĐºĐµĐº
-
-
- ĐŸĐ½Đ¾Đ¼ ĐŸĐµĐ½
-
-
- Đ•Đ½Đ´ĐµÑ€Đ±ĐµÑ€Đ¸
-
-
- ĐĐ¸Ñ€Đ¸Ñ‚Đ¸Đ¼Đ°Ñ‚Đ¸
-
-
- Đ¢Đ°Ñ€Đ°Đ²Đ°
-
-
- ĐĐ¾Đ¼Đ¾Ñ€Đ¾
-
-
- Đ¡ĐµĐ½Ñ‚ ĐĐ¸Ñ‚Ñ
-
-
- ĐŸÑ˜Đ¾Đ½Đ³Ñ˜Đ°Đ½Đ³
-
-
- Đ¡ĐµÑƒĐ»
-
-
- ĐÑƒĐ²Đ°Ñ˜Ñ‚
-
-
- ĐĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ° Đ¾ÑÑ‚Ñ€Đ²Đ°
-
-
- ĐĐºÑ‚Đ°Ñƒ
-
-
- ĐÑ€Đ°Đ»
-
-
- ĐĐºÑƒÑ‚Đ¾Đ±Đµ
-
-
- ĐĐ¸Đ·Đ¸Đ»Đ¾Ñ€Đ´Đ°
-
-
- ĐĐ»Đ¼Đ°Ñ‚Đ¸
-
-
- Đ’Đ¸Ñ˜ĐµÑ‚Đ¸Ñ˜Đ°Đ½
-
-
- Đ‘ĐµÑ˜Ñ€ÑƒÑ‚
-
-
- Đ¡Đ². Đ›ÑƒÑ†Đ¸Ñ˜Đ°
-
-
- Đ’Đ°Đ´ÑƒÑ†
-
-
- ĐĐ¾Đ»Đ¾Đ¼Đ±Đ¾
-
-
- ĐœĐ¾Đ½Ñ€Đ¾Đ²Đ¸Ñ˜Đ°
-
-
- ĐœĐ°ÑĐµÑ€Ñƒ
-
-
- Đ’Đ¸Ñ™Đ½ÑƒÑ
-
-
- Đ›ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³
-
-
- Đ Đ¸Đ³Đ°
-
-
- Đ¢Ñ€Đ¸Đ¿Đ¾Đ»Đ¸
-
-
- ĐĐ°Đ·Đ°Đ±Đ»Đ°Đ½ĐºĐ°
-
-
- ĐœĐ¾Đ½Đ°ĐºĐ¾
-
-
- ĐĐ¸ÑˆÑĐµĐ²
-
-
- ĐĐ½Ñ‚Đ°Đ½Đ°Đ½Đ°Ñ€Đ¸Đ²Đ¾
-
-
- ĐĐ²Đ°ÑŸĐ°Đ»ĐµÑ˜Đ¸Đ½
-
-
- ĐœĐ°Ñ˜ÑƒÑ€Đ¾
-
-
- Đ‘Đ°Đ¼Đ°ĐºĐ¾
-
-
- Đ Đ°Đ½Đ³ÑƒĐ½
-
-
- Đ¥Đ¾Đ²Đ´
-
-
- Đ£Đ»Đ°Đ½ Đ‘Đ°Ñ‚Đ¾Ñ€
-
-
- Đ§Đ¾Ñ˜Đ±Đ°Đ»ÑĐ°Đ½
-
-
- ĐœĐ°ĐºĐ°Ñƒ
-
-
- Đ¡Đ°Ñ˜Đ¿Đ°Đ½
-
-
- ĐœĐ°Ñ€Ñ‚Đ¸Đ½Đ¸Đº
-
-
- ĐĐ°Đ²Đ°ĐºÑˆÑƒÑ‚
-
-
- ĐœĐ¾Đ½Ñ‚ÑĐµÑ€Đ°Ñ‚
-
-
- ĐœĐ°Đ»Ñ‚Đ°
-
-
- ĐœĐ°ÑƒÑ€Đ¸Ñ†Đ¸Ñ˜ÑƒÑ
-
-
- ĐœĐ°Đ»Đ´Đ¸Đ²Đ¸
-
-
- Đ‘Đ»Đ°Đ½Ñ‚Đ¸Ñ€
-
-
- Đ¢Đ¸Ñ…ÑƒĐ°Đ½Đ°
-
-
- Đ¥ĐµÑ€Đ¼Đ¾ÑĐ¸Ñ™Đ¾
-
-
- ĐœĐ°Đ·Đ°Ñ‚Đ»Đ°Đ½
-
-
- Đ§Đ¸Ñ…ÑƒĐ°Ñ…ÑƒĐ°
-
-
- ĐœĐ¾Đ½Ñ‚ĐµÑ€ĐµÑ˜
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ¾ Đ¡Đ¸Ñ‚Đ¸
-
-
- ĐœĐµÑ€Đ¸Đ´Đ°
-
-
- ĐĐ°Đ½ĐºÑƒĐ½
-
-
- ĐÑƒĐ°Đ»Đ° Đ›ÑƒĐ¼Đ¿ÑƒÑ€
-
-
- ĐÑƒÑ‡Đ¸Đ½Đ³
-
-
- ĐœĐ°Đ¿ÑƒÑ‚Đ¾
-
-
- Đ’Đ¸Đ½Đ´Ñ…ÑƒĐº
-
-
- ĐÑƒĐ¼ĐµĐ°
-
-
- ĐĐ¸Ñ˜Đ°Đ¼ĐµÑ˜
-
-
- ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº
-
-
- Đ›Đ°Đ³Đ¾Ñ
-
-
- ĐœĐ°Đ½Đ°Đ³Đ²Đ°
-
-
- ĐĐ¼ÑÑ‚ĐµÑ€Đ´Đ°Đ¼
-
-
- ĐÑĐ»Đ¾
-
-
- ĐĐ°Ñ‚Đ¼Đ°Đ½Đ´Ñƒ
-
-
- ĐĐ°ÑƒÑ€Ñƒ
-
-
- ĐĐ¸ÑƒĐµ
-
-
- ĐĐ°Ñ‚Ñ…Đ°Đ¼
-
-
- ĐĐºĐ»Đ°Đ½Đ´
-
-
- ĐœÑƒÑĐºĐ°Ñ‚
-
-
- ĐŸĐ°Đ½Đ°Đ¼Đ°
-
-
- Đ›Đ¸Đ¼Đ°
-
-
- Đ¢Đ°Ñ…Đ¸Ñ‚Đ¸
-
-
- ĐœĐ°Ñ€ĐºĐ¸Đ·
-
-
- Đ“Đ°Đ¼Đ±Đ¸Ñ˜Đµ
-
-
- ĐŸĐ¾Ñ€Ñ‚ ĐœĐ¾Ñ€Đ·Đ±Đ¸
-
-
- ĐœĐ°Đ½Đ¸Đ»Đ°
-
-
- ĐĐ°Ñ€Đ°Ñ‡Đ¸
-
-
- Đ’Đ°Ñ€ÑˆĐ°Đ²Đ°
-
-
- ĐœĐ¸ĐºĐµĐ»Đ¾Đ½
-
-
- ĐŸĐ¸Ñ‚ĐºĐ°Đ¸Ñ€Đ½
-
-
- ĐŸĐ¾Ñ€Ñ‚Đ¾ Đ Đ¸ĐºĐ¾
-
-
- Газа
-
-
- ĐĐ·Đ¾Ñ€Đ¸
-
-
- ЛиÑĐ°Đ±Đ¾Đ½
-
-
- ĐŸĐ°Đ»Đ°Ñƒ
-
-
- ĐÑÑƒĐ½ÑĐ¸Đ¾Đ½
-
-
- ĐĐ°Ñ‚Đ°Ñ€
-
-
- Đ£Ñ˜ĐµĐ´Đ¸ÑеÑе
-
-
- Đ‘ÑƒĐºÑƒÑ€ĐµÑˆÑ‚
-
-
- ĐĐ°Đ»Đ¸Đ½Đ¸Đ½Đ³Ñ€Đ°Đ´
-
-
- ĐœĐ¾ÑĐºĐ²Đ°
-
-
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´
-
-
- Đ¡Đ°Đ¼Đ°Ñ€Đ°
-
-
- ĐˆĐµĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ³
-
-
- ĐĐ¼ÑĐº
-
-
- ĐĐ¾Đ²Đ¾ÑĐ¸Đ±Đ¸Ñ€ÑĐº
-
-
- ĐÑ€Đ°ÑĐ½Đ¾Ñ˜Đ°Ñ€ÑĐº
-
-
- Đ˜Ñ€ĐºÑƒÑ†Đº
-
-
- ĐˆĐ°ĐºÑƒÑ‚ÑĐº
-
-
- Đ’Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Đº
-
-
- Đ¡Đ°Ñ…Đ°Đ»Đ¸Đ½
-
-
- ĐœĐ°Đ³Đ°Đ´Đ°Đ½
-
-
- ĐĐ°Đ¼Ñ‡Đ°Ñ‚ĐºĐ°
-
-
- ĐĐ½Đ°Đ´Đ¸Ñ€
-
-
- ĐĐ¸Đ³Đ°Đ»Đ¸
-
-
- Đ Đ¸Ñ˜Đ°Đ´
-
-
- Đ“Đ²Đ°Đ´Đ°Đ»ĐºĐ°Đ½Đ°Đ»
-
-
- ĐœĐ°Ñ…Đµ
-
-
- ĐĐ°Ñ€Ñ‚ÑƒĐ¼
-
-
- Đ¡Ñ‚Đ¾ĐºÑ…Đ¾Đ»Đ¼
-
-
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€
-
-
- Đ¡Đ²ĐµÑ‚Đ° ĐˆĐµĐ»ĐµĐ½Đ°
-
-
- Đ¤Ñ€Đ¸Ñ‚Đ°ÑƒĐ½
-
-
- Đ”Đ°ĐºĐ°Ñ€
-
-
- ĐœĐ¾Đ³Đ°Đ´Đ¸Ñˆ
-
-
- ĐŸĐ°Ñ€Đ°Đ¼Đ¸Ñ€Đ±Đ¾
-
-
- Đ¡Đ°Đ¾ Đ¢Đ¾Đ¼Đµ
-
-
- Đ¡Đ°Đ»Đ²Đ°Đ´Đ¾Ñ€
-
-
- Đ”Đ°Đ¼Đ°ÑĐº
-
-
- ĐœĐ±Đ°Đ±Đ°Đ½Đµ
-
-
- Đ“Ñ€Đ°Đ½Đ´ Đ¢ÑƒÑ€Đº
-
-
- ĐÑŸĐ°Đ¼ĐµĐ½Đ°
-
-
- ĐĐµÑ€Đ³ĐµĐ»ĐµĐ½
-
-
- Đ›Đ¾Đ¼Đµ
-
-
- Đ‘Đ°Đ½ĐºĐ¾Đº
-
-
- Đ”ÑƒÑˆĐ°Đ½Đ±Đµ
-
-
- Đ¤Đ°ĐºĐ°Đ¾Ñ„Đ¾
-
-
- Дили
-
-
- ĐÑˆÑ…Đ°Đ±Đ°Đ´
-
-
- Đ¢ÑƒĐ½Đ¸Ñ
-
-
- Đ¢Đ¾Đ½Đ³Đ°Ñ‚Đ°Đ¿Ñƒ
-
-
- Đ˜ÑÑ‚Đ°Đ½Đ±ÑƒĐ»
-
-
- ĐŸĐ¾Ñ€Ñ‚ Đ¾Ñ„ Đ¡Đ¿ĐµÑ˜Đ½
-
-
- Đ¤Đ°Đ½Đ°Ñ„ÑƒÑ‚Đ¸
-
-
- Đ¢Đ°Ñ˜Đ¿ĐµÑ˜
-
-
- Đ”Đ°Ñ€-еÑ-Đ¡Đ°Đ»Đ°Đ¼
-
-
- Đ£Đ¶Đ³Đ¾Ñ€Đ¾Đ´
-
-
- ĐĐ¸Ñ˜ĐµĐ²
-
-
- Đ¡Đ¸Đ¼Ñ„ĐµÑ€Đ¾Đ¿Đ¾Đ»
-
-
- Đ—Đ°Đ¿Đ¾Ñ€Đ¾Đ¶Ñ˜Đµ
-
-
- ĐĐ°Đ¼Đ¿Đ°Đ»Đ°
-
-
- ĐœĐ¸Đ´Đ²ĐµÑ˜
-
-
- ĐĐ¾Đ½ÑÑ‚Đ¾Đ½
-
-
- Đ’ĐµÑ˜Đº
-
-
- ĐĐ´Đ°Đº
-
-
- ĐĐ¾Đ¼
-
-
- Đ¥Đ¾Đ½Đ¾Đ»ÑƒĐ»Ñƒ
-
-
- Đ•Đ½ĐºĐ¾Ñ€Đ¸ÑŸ
-
-
- Đ–ÑƒĐ½Đ¾
-
-
- Đ›Đ¾Ñ ĐĐ½Ñ’ĐµĐ»ĐµÑ
-
-
- Đ‘Đ¾Ñ˜Đ·Đ¸
-
-
- Đ¤ĐµĐ½Đ¸ĐºÑ
-
-
- Đ¨Đ¸Đ¿Ñ€Đ¾Đº
-
-
- Đ”ĐµĐ½Đ²ĐµÑ€
-
-
- ĐĐ¾Đ²Đ¸ Đ¡Đ°Đ»ĐµĐ¼, Đ¡ĐµĐ²ĐµÑ€Đ½Đ° Đ”Đ°Ñ‚ĐºĐ¾Đ°
-
-
- Đ¦ĐµĐ½Ñ‚Đ°Ñ€, Đ¡ĐµĐ²ĐµÑ€Đ½Đ° Đ”Đ°ĐºĐ¾Ñ‚Đ°
-
-
- Đ§Đ¸ĐºĐ°Đ³Đ¾
-
-
- ĐœĐµĐ½Đ¾Đ¼Đ¸Đ½Đ¸
-
-
- Đ’Đ¸Đ½Ñ†ĐµĐ½ĐµÑ, Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°
-
-
- ĐŸĐµÑ‚ĐµÑ€ÑĐ±ÑƒÑ€Đ³, Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°
-
-
- Đ¢ĐµĐ» Đ¡Đ¸Ñ‚Đ¸
-
-
- ĐĐ½Đ¾ĐºÑ, Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°
-
-
- Đ’Đ¸Đ½Đ°Đ¼Đ°Đº, Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°
-
-
- ĐœĐ°Ñ€ĐµĐ½Đ³Đ¾, Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°
-
-
- Đ˜Đ½Đ´Đ¸Đ°Đ½Đ°Đ¿Đ¾Đ»Đ¸Ñ
-
-
- Đ›ÑƒĐ¸Đ²Đ¸Đ»Đµ
-
-
- Đ’ĐµĐ²Đ°Ñ˜, Đ˜Đ½Đ´Đ¸Ñ˜Đ°Đ½Đ°
-
-
- ĐœĐ¾Đ½Ñ‚Đ¸Ñ‡ĐµĐ»Đ¾, ĐĐµĐ½Ñ‚Đ°ĐºĐ¸
-
-
- Đ”ĐµÑ‚Ñ€Đ¾Đ¸Ñ‚
-
-
- ĐÑƒÑ˜Đ¾Ñ€Đº
-
-
- ĐœĐ¾Đ½Ñ‚ĐµĐ²Đ¸Đ´ĐµĐ¾
-
-
- Đ¡Đ°Đ¼Đ°Ñ€ĐºĐ°Đ½Đ´
-
-
- Đ¢Đ°ÑˆĐºĐµĐ½Ñ‚
-
-
- Đ¡ĐµĐ½Ñ‚ Đ’Đ¸Đ½ÑĐµĐ½Ñ‚
-
-
- ĐĐ°Ñ€Đ°ĐºĐ°Ñ
-
-
- Đ¢Đ¾Ñ€Ñ‚Đ¾Đ»Đ°
-
-
- Đ¡Đ². Đ¢Đ¾Đ¼Đ°
-
-
- Đ•Ñ„Đ°Ñ‚Đµ
-
-
- ВалиÑ
-
-
- ĐĐ¿Đ¸Ñ˜Đ°
-
-
- ĐĐ´ĐµĐ½
-
-
- ĐœĐ°Ñ˜Đ¾Ñ‚Đµ
-
-
- ĐˆĐ¾Ñ…Đ°Đ½ĐµÑĐ±ÑƒÑ€Đ³
-
-
- Đ›ÑƒÑĐ°ĐºĐ°
-
-
- Đ¥Đ°Ñ€Đ°Ñ€Đµ
-
-
-
- ĐĐºÑ€Đµ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐºÑ€Đµ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- ACT (AĐºÑ€Đµ)
- ACST (AĐºÑ€Đµ)
-
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐˆÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐˆÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐºÑ‚Ñ˜ÑƒĐ±Đ¸Đ½ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- ĐĐºÑ‚Ñ˜ÑƒĐ±Đ¸Đ½ÑĐº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ»Đ¼Đ°Ñ‚Đ¸ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ»Đ¼Đ°Ñ‚Đ¸ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¼Đ°Đ·Đ¾Đ½ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¼Đ°Đ·Đ¾Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐ»Đ°Đ½Đ¸Đ½ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐ»Đ°Đ½Đ¸Đ½ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐ»Đ°Đ½Đ¸Đ½ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐ°Ñ†Đ¸Ñ„Đ¸Ñ‡ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐ°Ñ†Đ¸Ñ„Đ¸Ñ‡ĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐ°Ñ†Đ¸Ñ„Đ¸Ñ‡ĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ½Đ°Đ´Đ¸Ñ€ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ½Đ°Đ´Đ¸Ñ€ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐºĐ²Đ°Ñ‚Đ°Ñƒ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐºĐ²Đ°Ñ‚Đ°Ñƒ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- AQTT (AĐºĐ²Đ°Ñ‚Đ°Ñƒ)
- AQTST (AĐºĐ²Đ°Ñ‚Đ°Ñƒ)
-
-
-
-
- ĐĐºÑƒÑ‚Đ¾Đ±Đµ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐºÑƒÑ‚Đ¾Đ±Đµ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- AQTT (AĐºÑ‚Đ¾Đ±Đµ)
- AQTST (AĐºÑ‚Đ¾Đ±Đµ)
-
-
-
-
- ĐÑ€Đ°Đ±Đ¸Ñ˜ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ€Đ°Đ±Đ¸Ñ˜ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ€Đ°Đ±Đ¸Ñ˜ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- AT (ĐÑ€Đ°Đ±Đ¸Ñ˜ÑĐºĐ¾)
- AST (ĐÑ€Đ°Đ±Đ¸Ñ˜ÑĐºĐ¾)
- ADT (ĐÑ€Đ°Đ±Đ¸Ñ˜ÑĐºĐ¾)
-
-
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ° ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ€Đ¼ĐµĐ½Đ¸Ñ˜Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- AMT (AÑ€Đ¼ĐµĐ½Đ¸Ñ˜Đ°)
- AMST (AÑ€Đ¼ĐµĐ½Đ¸Ñ˜Đ°)
-
-
-
-
- ĐÑˆĐºĐ°Đ±Đ°Đ´ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑˆĐºĐ°Đ±Đ°Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐÑ‚Đ»Đ°Đ½ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ‚Đ»Đ°Đ½ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ‚Đ»Đ°Đ½ÑĐºĐ¾ Đ»Ñ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ·Đ°Đ¿Đ°Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ·Đ°Đ¿Đ°Đ´Đ½Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾ Đ·Đ°Đ¿Đ°Đ´Đ½Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ иÑÑ‚Đ¾Ñ‡Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ иÑÑ‚Đ¾Ñ‡Đ½Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ иÑÑ‚Đ¾Ñ‡Đ½Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Đ·Đ°Đ¿Đ°Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Đ·Đ°Đ¿Đ°Đ´Đ½Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¾ Đ·Đ°Đ¿Đ°Đ´Đ½Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ·Đ¾Ñ€Đ¸ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ·Đ¾Ñ€Đ¸ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ‘Đ°ĐºÑƒ Đ²Ñ€ĐµĐ¼Đµ
- Đ‘Đ°ĐºÑƒ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ‘ĐµÑ€Đ¸Đ½Đ³ Đ²Ñ€ĐµĐ¼Đµ
- Đ‘ĐµÑ€Đ¸Đ½Đ³ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ‘ĐµÑ€Đ¸Đ½Đ³ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- BT (Đ‘ĐµÑ€Đ¸Đ½Đ³)
- BST (Đ‘ĐµÑ€Đ¸Đ½Đ³)
- BDT (Đ‘ĐµÑ€Đ¸Đ½Đ³)
-
-
-
-
- Đ‘ÑƒÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ‘Đ¾Ñ€Đ½ĐµĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ‘Đ¾Ñ€Đ½ĐµĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ˜Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ‘Ñ€ÑƒĐ½ĐµÑ˜ Đ”Đ°Ñ€ÑƒÑĐ°Đ»ÑƒĐ¼ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ—ĐµĐ»ĐµĐ½Đ¸Ñ€Ñ‚ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ—ĐµĐ»ĐµĐ½Đ¾Ñ€Ñ‚ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ§Đ°Đ¼Đ¾Ñ€Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ§Đ°Đ¼Đ¾Ñ€Đ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ§Đ°Đ½Đ³Đ±Đ°Đ¸ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ§Đ°Ñ‚Đ°Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ§Đ°Ñ‚Đ°Đ¼ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Чиле Đ²Ñ€ĐµĐ¼Đµ
- Чиле Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¸Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¸Đ½ĐµÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¸Đ½Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
- CT (ĐĐ¸Đ½Đ°)
- CST (ĐĐ¸Đ½Đ°)
- CDT (ĐĐ¸Đ½Đ°)
-
-
-
-
- Đ§Đ¾Ñ˜Đ±Đ°Đ»ÑĐ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
- Đ§Đ¾Ñ˜Đ±Đ°Đ»ÑĐ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ‘Đ¾Đ¶Đ¸Ñ›Đ½Đ° Đ¾ÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¾ĐºĐ¾Ñ (ĐĐµĐ»Đ¸Đ½Đ³) ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐÑƒĐºĐ¾Đ²Đ° Đ¾ÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐÑƒĐºĐ¾Đ²Đ° Đ¾ÑÑ‚Ñ€Đ²Đ° Đ¿Đ¾Đ»Ñƒ-Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐÑƒĐ±Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐÑƒĐ±Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑƒĐ±Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ”Đ°Ñ‡Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ”ĐµÑ˜Đ²Đ¸Ñ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ”Đ¸Đ¼Đ¾Đ½ Đ´â€™Đ£Ñ€Đ²Đ¸Đ» Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ”ÑƒÑˆĐ°Đ½Đ±Đµ Đ²Ñ€ĐµĐ¼Đµ
- Đ”ÑƒÑˆĐ°Đ½Đ±Đµ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¥Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ° Đ“Đ²Đ°Ñ˜Đ°Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¸ Ñ‚Đ¸Đ¼Đ¾Ñ€ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ£ÑĐºÑ€ÑˆÑа Đ¾ÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
- Đ£ÑĐºÑ€ÑˆÑа Đ¾ÑÑ‚Ñ€Đ²Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¡Ñ€ĐµĐ´ÑĐµĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ¡Ñ€ĐµĐ´ÑĐµĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¤Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
- Đ¤Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¤Đ¸ÑŸĐ¸ Đ²Ñ€ĐµĐ¼Đµ
- Đ¤Đ¸ÑŸĐ¸ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ° Đ“Đ²Đ°Ñ˜Đ°Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¾ Ñ˜ÑƒĐ¶Đ½Đ¾ и Đ°Đ½Ñ‚Đ°Ñ€ĐºÑ‚Đ¸Ñ‡ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¤Ñ€ÑƒĐ½Đ·Đµ Đ²Ñ€ĐµĐ¼Đµ
- Đ¤Ñ€ÑƒĐ½Đ·Đµ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ“Đ°Đ»Đ°Đ¿Đ°Đ³Đ¾Ñ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ“Đ°Đ¼Đ±Đ¸Ñ˜ĐµÑ€ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
- Đ“Ñ€ÑƒĐ·Đ¸Ñ˜Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ“Đ¸Đ»Đ±ĐµÑ€Ñ‚ Đ¾ÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ“Ñ€Đ¸Đ½Đ²Đ¸Ñ‡ ÑÑ€ĐµĐ´Ñе Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¸ Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ Đ²Ñ€ĐµĐ¼Đµ
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¸ Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¸ Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¸ Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¸ Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ Đ²Ñ€ĐµĐ¼Đµ
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¸ Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ“ÑƒĐ°Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
- GST (Đ“ÑƒĐ°Đ¼)
-
-
-
-
- Đ—Đ°Đ»Đ¸Đ² Đ²Ñ€ĐµĐ¼Đµ
- Đ—Đ°Đ»Đ¸Đ² ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ“Đ²Đ°Ñ˜Đ°Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¥Đ°Đ²Đ°Ñ˜ÑĐºĐ¾-Đ°Đ»ĐµÑƒÑ›Đ°Đ½ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¥Đ¾Đ½Đ³ ĐĐ¾Đ½Đ³ Đ²Ñ€ĐµĐ¼Đµ
- Đ¥Đ¾Đ½Đ³ĐºĐ¾Đ½ÑˆĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¥Đ¾Đ²Đ´ Đ²Ñ€ĐµĐ¼Đµ
- Đ¥Đ¾Đ²Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ˜Đ½Đ´Đ¸Ñ˜ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜Đ½Đ´Đ¸Ñ˜ÑĐºĐ¾ Đ¾ĐºĐµĐ°Đ½ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜Đ½Đ´Đ¾ĐºĐ¸Đ½Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»Đ½Đ¾-Đ¸Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ˜ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ¸Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ˜ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾-Đ¸Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ˜ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜Ñ€Đ°Đ½ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜Ñ€Đ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ˜Ñ€ĐºÑƒÑ†Đº Đ²Ñ€ĐµĐ¼Đµ
- Đ˜Ñ€ĐºÑƒÑ†Đº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ˜Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐˆĐ°Đ¿Đ°Đ½ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐˆĐ°Đ¿Đ°Đ½ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐµÑ‚Ñ€Đ¾Đ¿Đ°Đ²Đ»Đ¾Đ²ÑĐºĐ¾-ĐºĐ°Đ¼Ñ‡Đ°Ñ‚ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐµÑ‚Ñ€Đ¾Đ¿Đ°Đ²Đ»Đ¾Đ²ÑĐºĐ¾-ĐºĐ°Đ¼Ñ‡Đ°Ñ‚ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ°Ñ€Đ°Ñ‡Đ¸ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ°ÑˆĐ³Đ°Ñ€ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾-ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ—Đ°Đ¿Đ°Đ´Đ½Đ¾-ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¸Đ·Đ¸Đ»Đ¾Ñ€Đ´Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¸Đ·Đ¸Đ»Đ¾Ñ€Đ´Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¾Ñ€ĐµÑ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Ñ€ĐµÑ˜ÑĐºĐ¾ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Ñ€ĐµÑ˜ÑĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¾ÑˆÑ€Đµ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐÑ€Đ°ÑĐ½Đ¾Ñ˜Đ°Ñ€ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- ĐÑ€Đ°ÑĐ½Đ¾Ñ˜Đ°Ñ€ÑĐºĐ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐÑƒÑ˜Đ±Đ¸ÑˆĐµĐ² Đ²Ñ€ĐµĐ¼Đµ
- ĐÑƒÑ˜Đ±Đ¸ÑˆĐµĐ² Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ²Đ°ÑŸĐ°Đ»ĐµÑ˜Đ¸Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¸Ñ€Đ³Đ¸Đ·ÑÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¨Ñ€Đ¸ Đ›Đ°Đ½ĐºĐ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ›Đ¸Đ½Đµ ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ›Đ¾Đ½Đ³ Đ¨Ñƒ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ›Đ¾Ñ€Đ´ Đ¥Đ¾Đ² Đ²Ñ€ĐµĐ¼Đµ
- Đ›Đ¾Ñ€Đ´ Đ¥Đ¾Đ² ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ›Đ¾Ñ€Đ´ Đ¥Đ¾Đ² Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐœĐ°ĐºĐ°Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐœĐ°ĐºĐ°Đ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐœĐ°Đ³Đ°Đ´Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐœĐ°Đ»Đ°Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐœĐ°Đ»ĐµĐ·Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐœĐ°Đ»Đ´Đ¸Đ²Đ¸ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐœĐ°Ñ€ĐºĐ¸Đ· Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐœĐ°Ñ€ÑˆĐ°Đ»ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐœĐ°ÑƒÑ€Đ¸Ñ†Đ¸Ñ˜ÑƒÑ Đ²Ñ€ĐµĐ¼Đµ
- ĐœĐ°ÑƒÑ€Đ¸Ñ†Đ¸Ñ˜ÑƒÑ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐœĐ¾ÑĐ¾Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ£Đ»Đ°Đ½ Đ‘Đ°Ñ‚Đ¾Ñ€ Đ²Ñ€ĐµĐ¼Đµ
- Đ£Đ»Đ°Đ½ Đ‘Đ°Ñ‚Đ¾Ñ€ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐœĐ¾ÑĐºĐ²Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐœĐ¾ÑĐºĐ²Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐœĐ¾ÑĐºĐ²Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐœĐ¸Ñ˜Đ°Đ½Đ¼Đ°Ñ€ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ°ÑƒÑ€Ñƒ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐµĐ¿Đ°Đ» Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¾Đ²Đ° ĐĐ°Đ»ĐµĐ´Đ¾Đ½Đ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Đ²Đ° ĐĐ°Đ»ĐµĐ´Đ¾Đ½Đ¸Ñ˜Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¾Đ²Đ¸ Đ—ĐµĐ»Đ°Đ½Đ´ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Đ²Đ¸ Đ—ĐµĐ»Đ°Đ½Đ´ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Đ²Đ¸ Đ—ĐµĐ»Đ°Đ½Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐÑƒÑ„Đ°ÑƒĐ½Đ´Đ»ĐµĐ½Đ´ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑƒÑ„Đ°ÑƒĐ½Đ´Đ»ĐµĐ½Đ´ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐÑƒÑ„Đ°ÑƒĐ½Đ´Đ»ĐµĐ½Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¸ÑƒĐµ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº ĐÑÑ‚Ñ€Đ²Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¤ĐµÑ€Đ½Đ°Đ½Đ´Đ¾ де ĐĐ¾Ñ€Đ¾Ñа Đ²Ñ€ĐµĐ¼Đµ
- Đ¤ĐµÑ€Đ½Đ°Đ½Đ´Đ¾ де ĐĐ¾Ñ€Đ¾Ñа Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ° ĐœĐ°Ñ€Đ¸Ñ˜Đ°Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¾Đ²Đ¾ÑĐ¸Đ±Đ¸Ñ€ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¾Đ²Đ¾ÑĐ¸Đ±Đ¸Ñ€ÑĐº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐĐ¼ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¼ÑĐº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐ°Đ¿ÑƒĐ° ĐĐ¾Đ²Đ° Đ“Đ²Đ¸Đ½ĐµÑ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐµÑ€Ñƒ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸĐµÑ€Ñƒ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¸Đ½Đ¸ Đ²Ñ€ĐµĐ¼Đµ
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¸Đ½Đ¸ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¤ĐµĐ½Đ¸ĐºÑ Đ¾ÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐŸÑ˜ĐµÑ€ и ĐœĐ¸ĐºĐµĐ»Đ¾Đ½ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸÑ˜ĐµÑ€ и ĐœĐ¸ĐºĐµĐ»Đ¾Đ½ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐŸÑ˜ĐµÑ€ и ĐœĐ¸ĐºĐµĐ»Đ¾Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐŸĐ¸Ñ‚ĐºĐµÑ€Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐŸĐ¾Đ½Đ°Đ¿Đµ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐĐ¸Đ·Đ¸Đ»Đ¾Ñ€Đ´Đ° Đ²Ñ€ĐµĐ¼Đµ
- ĐĐ¸Đ·Đ¸Đ»Đ¾Ñ€Đ´Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ ĐµĐ¸Đ½Đ¸Đ¾Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ Đ¾Ñ‚ĐµÑ€Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¡Đ°Ñ…Đ°Đ»Đ¸Đ½ Đ²Ñ€ĐµĐ¼Đµ
- Đ¡Đ°Ñ…Đ°Đ»Đ¸Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¡Đ°Đ¼Đ°Ñ€Đ° Đ²Ñ€ĐµĐ¼Đµ
- Đ¡Đ°Đ¼Đ°Ñ€Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ¡Đ°Đ¼Đ°Ñ€Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¡Đ°Đ¼Đ°Ñ€ĐºĐ°Đ½Đ´ Đ²Ñ€ĐµĐ¼Đµ
- Đ¡Đ°Đ¼Đ°Ñ€ĐºĐ°Đ½Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¡Đ°Đ¼Đ¾Đ° ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¡ĐµÑ˜ÑˆĐµĐ»Đ¸ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¨ĐµĐ²Ñ‡ĐµĐ½ĐºĐ¾ Đ²Ñ€ĐµĐ¼Đµ
- Đ¨ĐµĐ²Ñ‡ĐµĐ½ĐºĐ¾ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ° ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐˆÑƒĐ¶Đ½Đ° ĐĐ¾Ñ€ÑŸĐ¸Ñ˜Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¡Đ²ĐµÑ€Đ´Đ»Đ¾Đ²ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- Đ¡Đ²ĐµÑ€Đ´Đ»Đ¾Đ²ÑĐº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¨Đ¾Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¢Đ°Ñ…Đ¸Ñ‚Đ¸ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¢Đ°ÑŸĐ¸ĐºĐ¸ÑÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¢Đ°ÑˆĐºĐµĐ½Ñ‚ Đ²Ñ€ĐµĐ¼Đµ
- Đ¢Đ°ÑˆĐºĐµĐ½Ñ‚ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¢Đ±Đ¸Đ»Đ¸Ñи Đ²Ñ€ĐµĐ¼Đµ
- Đ¢Đ±Đ¸Đ»Đ¸Ñи Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¢Đ¾ĐºĐµĐ»Đ°Ñƒ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¢Đ¾Đ½Đ³Đ° Đ²Ñ€ĐµĐ¼Đµ
- Đ¢Đ¾Đ½Đ³Đ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¢Ñ€ÑƒĐº Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ¢ÑƒÑ€ÑĐºĐ° Đ²Ñ€ĐµĐ¼Đµ
- Đ¢ÑƒÑ€ÑĐºĐ° Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ¢ÑƒĐ²Đ°Đ»Ñƒ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ£Ñ€Đ°Đ»ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- Đ£Ñ€Đ°Đ»ÑĐº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Ñ˜ Đ²Ñ€ĐµĐ¼Đµ
- Đ£Ñ€ÑƒĐ³Đ²Đ°Ñ˜ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ£Ñ€ÑƒĐ¼ĐºĐ¸ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ£Đ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
- Đ£Đ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ’Đ°Đ½ÑƒĐ°Ñ‚Ñƒ Đ²Ñ€ĐµĐ¼Đµ
- Đ’Đ°Đ½ÑƒĐ°Ñ‚Ñƒ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ’ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ’Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Đº Đ²Ñ€ĐµĐ¼Đµ
- Đ’Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Đº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ Đ²Ñ€ĐµĐ¼Đµ
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- Đ’Đ¾ÑÑ‚Đ¾Đº Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ’ĐµÑ˜Đº Đ¾ÑÑ‚Ñ€Đ²Đ¾ Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- Đ’Đ°Đ»Đ¸Ñ Đ¸ Đ¤ÑƒÑ‚ÑƒĐ½Đ° ĐÑÑ‚Ñ€Đ²Đ° Đ²Ñ€ĐµĐ¼Đµ
-
-
-
-
- ĐˆĐ°ĐºÑƒÑ‚ÑĐº Đ²Ñ€ĐµĐ¼Đµ
- ĐˆĐ°ĐºÑƒÑ‚ÑĐº Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐˆĐµĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ³ Đ²Ñ€ĐµĐ¼Đµ
- ĐˆĐµĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ³ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐˆĐµÑ€ĐµĐ²Đ°Đ½ Đ²Ñ€ĐµĐ¼Đµ
- ĐˆĐµÑ€ĐµĐ²Đ°Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
- ĐˆÑƒĐºĐ¾Đ½ Đ²Ñ€ĐµĐ¼Đµ
- ĐˆÑƒĐºĐ¾Đ½ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Đ´Đ½Đ¾ Đ²Ñ€ĐµĐ¼Đµ
- ĐˆÑƒĐºĐ¾Đ½ Đ»ĐµÑ‚Ñе Ñ€Đ°Ñ‡ÑƒĐ½Đ°Ñе Đ²Ñ€ĐµĐ¼ĐµĐ½Đ°
-
-
-
-
-
-
- .
- ,
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
- {0} {1}
- {0} {1}
- {0} {1}
-
-
-
- ĐĐ½Đ´Đ¾Ñ€ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ°
- Đ°Đ½Đ´Đ¾Ñ€ÑĐºĐµ Đ¿ĐµĐ·ĐµÑ‚Đµ
- Đ°Đ½Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… Đ¿ĐµĐ·ĐµÑ‚Đ°
- Đ°Đ½Đ´Đ¾Ñ€ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ°
- Đ°Đ½Đ´Đ¾Ñ€ÑĐºĐµ Đ¿ĐµĐ·ĐµÑ‚Đµ
-
-
- Đ£Ñ˜ĐµĐ´Đ¸ÑĐµĐ½Đ¸ Đ°Ñ€Đ°Đ¿ÑĐºĐ¸ ĐµĐ¼Đ¸Ñ€Đ°Ñ‚Đ¸ Đ´Đ¸Ñ€Ñ…Đ°Đ¼
- Đ£ĐĐ• Đ´Đ¸Ñ€Đ°Đ¼Đ°
- Đ£ĐĐ• Đ´Đ¸Ñ€Đ°Đ¼Đ°
- Đ£ĐĐ• Đ´Đ¸Ñ€Đ°Đ¼
- Đ£ĐĐ• Đ´Đ¸Ñ€Đ°Đ¼Đ°
-
-
- ĐĐ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ°Đ²Đ³Đ°Đ½ (1927-2002)
- aĐ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° Đ°Đ²Đ³Đ°Đ½Đ° (AFA)
- aĐ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Đ°Đ²Đ³Đ°Đ½Đ° (AFA)
- Đ°Đ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ°Đ²Đ³Đ°Đ½ (AFA)
- Đ°Đ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Đ°Đ²Đ³Đ°Đ½Đ° (AFA)
-
-
- ĐĐ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ°Đ²Đ³Đ°Đ½
- Đ°Đ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° Đ°Đ²Đ³Đ°Đ½Đ°
- Đ°Đ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Đ°Đ²Đ³Đ°Đ½Đ° (AFN)
- Đ°Đ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ°Đ²Đ³Đ°Đ½
- Đ°Đ²Đ³Đ°Đ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ°Đ²Đ³Đ°Đ½Đ¸
-
-
- ĐĐ»Đ±Đ°Đ½ÑĐºĐ¸ Đ»ĐµĐº
- ĐĐ»Đ±Đ°Đ½ÑĐºĐµ Đ»ĐµĐºĐµ
- ĐĐ»Đ±Đ°Đ½ÑĐºĐ¸Ñ… Đ»ĐµĐºĐ°
- Đ°Đ»Đ±Đ°Đ½ÑĐºĐ¸ Đ»ĐµĐº
-
-
- ĐˆĐµÑ€Đ¼ĐµĐ½ÑĐºĐ¸ Đ´Ñ€Đ°Đ¼
- ĐˆĐµÑ€Đ¼ĐµĐ½ÑĐºĐ° Đ´Ñ€Đ°Đ¼Đ°
- ĐˆĐµÑ€Đ¼ĐµĐ½ÑĐºĐ¸Ñ… Đ´Ñ€Đ°Đ¼Đ°
- Ñ˜ĐµÑ€Đ¼ĐµĐ½ÑĐºĐ¸ Đ´Ñ€Đ°Đ¼
-
-
- Đ¥Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸ Đ°Đ½Ñ‚Đ¸Đ»Đ¸ Đ³Đ¸Đ»Đ´ĐµÑ€
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ° Đ°Đ½Ñ‚Đ¸Đ»Đ°
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¾-Đ°Đ½Ñ‚Đ¸Đ»ÑĐºĐ¸Ñ… Đ³Đ¸Đ»Đ´ĐµÑ€Đ°
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¾-Đ°Đ½Ñ‚Đ¸Đ»ÑĐºĐ¸ Đ³Đ¸Đ»Đ´ĐµÑ€
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¾-Đ°Đ½Ñ‚Đ¸Đ»ÑĐºĐ¸Ñ… Đ³Đ¸Đ»Đ´ĐµÑ€Đ°
-
-
- aĐ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ°
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐµ ĐºĐ²Đ°Đ½Đ·Đµ
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ°
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸
-
-
- aĐ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° (1977-1990)
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐµ ĐºĐ²Đ°Đ½Đ·Đµ (AOK)
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸ (AOK)
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° (AOK)
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸ (AOK)
-
-
- ĐĐ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° Đ½Đ¾Đ²Đ° ĐºĐ²Đ°Đ½Đ·Đ° (1990-2000)
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐµ Đ½Đ¾Đ²Đµ ĐºĐ²Đ°Đ½Đ·Đµ
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° Đ½Đ¾Đ²Đ° ĐºĐ²Đ°Đ½Đ·Đ°
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸
-
-
- ĐĐ½Đ³Đ¾Đ»ÑĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° Ñ€ĐµĐ°Ñ’ÑƒÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐµ ĐºĐ²Đ°Đ½Đ·Đµ Ñ€ĐµĐ°Ñ’ÑƒÑÑ‚Đ°Đ´Đ¾
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸ Ñ€ĐµĐ°Ñ’ÑƒÑÑ‚Đ°Đ´Đ¾
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° Ñ€ĐµĐ°Ñ’ÑƒÑÑ‚Đ°Đ´Đ¾
- Đ°Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·Đ¸ Ñ€ĐµĐ°Ñ’ÑƒÑÑ‚Đ°Đ´Đ¾
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸ Đ°ÑƒÑÑ‚Ñ€Đ°Đ»
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ° Đ°ÑƒÑÑ‚Ñ€Đ°Đ»Đ°
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Ñ… Đ°ÑƒÑÑ‚Ñ€Đ°Đ»Đ°
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸ Đ°ÑƒÑÑ‚Ñ€Đ°Đ»
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Ñ… Đ°ÑƒÑÑ‚Ñ€Đ°Đ»Đ°
-
-
- aÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾ (1983-1985)
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа (ARP)
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа (ARP)
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа (ARP)
-
-
- aÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾Ñ
- Đ°Ñ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- ĐуÑÑ‚Ñ€Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- Đ°ÑƒÑÑ‚Ñ€Đ¸Ñ˜ÑĐºĐ° ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- Đ°ÑƒÑÑ‚Ñ€Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- Đ°ÑƒÑÑ‚Ñ€Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- Đ°ÑƒÑÑ‚Ñ€Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
-
-
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- ĐуÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ°ÑƒÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ°ÑƒÑÑ‚Ñ€Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐÑ€ÑƒĐ±Đ°Đ½ÑĐºĐ¸ Ñ„Đ»Đ¾Ñ€Đ¸Đ½
- Đ°Ñ€ÑƒĐ±Đ°Đ½ÑĐºĐ° Ñ„Đ»Đ¾Ñ€Đ¸Đ½Đ°
- Đ°Ñ€ÑƒĐ±Đ°Đ½ÑĐºĐ¸Ñ… Ñ„Đ»Đ¾Ñ€Đ¸Đ½Đ°
- Đ°Ñ€ÑƒĐ±Đ°Đ½ÑĐºĐ¸ Ñ„Đ»Đ¾Ñ€Đ¸Đ½
- Đ°Ñ€ÑƒĐ±Đ°Đ½ÑĐºĐ¸Ñ… Ñ„Đ»Đ¾Ñ€Đ¸Đ½Đ°
-
-
- ĐĐ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚ (1993-2006)
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ° Đ¼Đ°Đ½Đ°Ñ‚Đ° (AZM)
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Đ½Đ°Ñ‚Đ° (AZM)
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚ (AZM)
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Đ½Đ°Ñ‚Đ° (AZM)
-
-
- ĐĐ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ° Đ¼Đ°Đ½Đ°Ñ‚Đ°
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Đ½Đ°Ñ‚Đ°
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚ (AZN)
- Đ°Đ·ĐµÑ€Đ±ĐµÑ˜ÑŸĐ°Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Đ½Đ°Ñ‚Đ°
-
-
- Đ‘Đ¾ÑĐ°Đ½ÑĐºĐ¾-Đ¥ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ° Đ¼Đ°Ñ€ĐºĐ°
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐµ ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đµ Đ¼Đ°Ñ€Đº
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ°Đ±Đ¸Đ»Đ½Đ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ° ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ° Đ¼Đ°Ñ€ĐºĐ°
- Đ±Đ¾ÑĐ°Đ½ÑĐºĐ¾-Ñ…ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
-
-
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾ÑˆĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±Đ°Ñ€Đ±Đ°Đ´Đ¾ÑˆĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±Đ°Ñ€Đ±Đ°Đ´Đ¾ÑˆĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±Đ°Ñ€Đ±Đ°Đ´Đ¾ÑˆĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±Đ°Ñ€Đ±Đ°Đ´Đ¾ÑˆĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆĐºĐ° Ñ‚Đ°ĐºĐ°
- Đ±Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆĐºĐµ Ñ‚Đ°ĐºĐµ
- Đ±Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆĐºĐ¸Ñ… Ñ‚Đ°ĐºĐ°
- Đ±Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆĐºĐ° Ñ‚Đ°ĐºĐ°
- Đ±Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆĐºĐ¸Ñ… Ñ‚Đ°ĐºĐ°
-
-
- Đ‘ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ°)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ…)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ…)
-
-
- Đ‘ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- Đ‘ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ° (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ°)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ° (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸Ñ…)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸)
- Đ±ĐµĐ»Đ³Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ° (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸Ñ…)
-
-
- Đ‘ÑƒĐ³Đ°Ñ€ÑĐºĐ¸ Ñ‚Đ²Ñ€Đ´Đ¸ Đ»ĐµĐ²
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ° Ñ‚Đ²Ñ€Đ´Đ° Đ»ĐµĐ²Đ°
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ¸Ñ… Ñ‚Đ²Ñ€Đ´Đ¸Ñ… Đ»ĐµĐ²Đ°
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ¸ Ñ‚Đ²Ñ€Đ´Đ¸ Đ»ĐµĐ²
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ¸Ñ… Ñ‚Đ²Ñ€Đ´Đ¸Ñ… Đ»ĐµĐ²Đ°
-
-
- Đ‘ÑƒĐ³Đ°Ñ€ÑĐºĐ¸ Đ»ĐµĐ²
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ° Đ»ĐµĐ²Đ°
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ¸Ñ… Đ»ĐµĐ²Đ°
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ¸ Đ»ĐµĐ²
- Đ±ÑƒĐ³Đ°Ñ€ÑĐºĐ¸Ñ… Đ»ĐµĐ²Đ°
-
-
- Đ‘Đ°Ñ…Ñ€ĐµĐ¸Đ½ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ±Đ°Ñ…Ñ€ĐµĐ¸Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ±Đ°Ñ…Ñ€ĐµĐ¸Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ±Đ°Ñ…Ñ€ĐµĐ¸Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- Đ‘ÑƒÑ€ÑƒĐ½Đ´ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ±ÑƒÑ€ÑƒĐ½Đ´ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ±ÑƒÑ€ÑƒĐ½Đ´ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ±ÑƒÑ€ÑƒĐ½Đ´ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ±ÑƒÑ€ÑƒĐ½Đ´ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- Đ‘ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±ĐµÑ€Đ¼ÑƒĐ´ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ‘Ñ€ÑƒĐ½ĐµÑ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±Ñ€ÑƒĐ½ĐµÑ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±Ñ€ÑƒĐ½ĐµÑ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±Ñ€ÑƒĐ½ĐµÑ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±Ñ€ÑƒĐ½ĐµÑ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ‘Đ¾Đ»Đ¸Đ²Đ¸Đ°Đ½Đ¾
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ° Đ±Đ¾Đ»Đ¸Đ²Đ¸Đ°Đ½Đ°
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ±Đ¾Đ»Đ¸Đ²Đ¸Đ°Đ½Đ°
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ±Đ¾Đ»Đ¸Đ²Đ¸Đ°Đ½Đ¾
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ±Đ¾Đ»Đ¸Đ²Đ¸Đ°Đ½Đ°
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- Đ‘Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ¼Đ²Đ´Đ¾Đ»
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ° Đ¼Đ²Đ´Đ¾Đ»Đ°
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¼Đ²Đ´Đ¾Đ»Đ°
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ¼Đ²Đ´Đ¾Đ»
- Đ±Đ¾Đ»Đ¸Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¼Đ²Đ´Đ¾Đ»Đ°
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ¾ (1967-1986)
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ° Đ½Đ¾Đ²Đ° ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ¾
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ°
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ˜ÑĐºĐ¸ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ° ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾Ñа
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾Ñа
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾Ñ
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾Ñа
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ¾ (1990-1993)
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ° ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ° (BRE)
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ° (BRE)
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ¾ (BRE)
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ° (BRE)
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ Реал
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ° Ñ€ĐµĐ°Đ»Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… Ñ€ĐµĐ°Đ»Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ Ñ€ĐµĐ°Đ»
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… Ñ€ĐµĐ°Đ»Đ°
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ˜ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ° Đ½Đ¾Đ²Đ° ĐºÑ€ÑƒĐ·Đ°Đ´Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºÑ€ÑƒĐ·Đ°Đ´Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºÑ€ÑƒĐ·Đ°Đ´Đ°
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ¾
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ° ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ°
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸ ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ¾
- Đ±Ñ€Đ°Đ·Đ¸Đ»ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ·ĐµĐ¸Ñ€Đ°
-
-
- Đ‘Đ°Ñ…Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±Đ°Ñ…Đ°Đ¼ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±Đ°Ñ…Đ°Đ¼ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±Đ°Ñ…Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±Đ°Ñ…Đ°Đ¼ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ‘ÑƒÑ‚Đ°Đ½ÑĐºĐ¸ Đ½Đ³ÑƒĐ»Ñ‚Ñ€ÑƒĐ¼
- Đ±ÑƒÑ‚Đ°Đ½ÑĐºĐ° Đ½Đ³ÑƒĐ»Ñ‚Ñ€ÑƒĐ¼a
- Đ±ÑƒÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Đ½Đ³ÑƒĐ»Ñ‚Ñ€ÑƒĐ¼a
- Đ±ÑƒÑ‚Đ°Đ½ÑĐºĐ¸ Đ½Đ³ÑƒĐ»Ñ‚Ñ€ÑƒĐ¼
- Đ±ÑƒÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Đ½Đ³ÑƒĐ»Ñ‚Ñ€Đ°
-
-
- Đ‘ÑƒÑ€Đ¼Đ°Đ½ÑĐºĐ¸ ĐºÑ˜Đ°Ñ‚
- Đ±ÑƒÑ€Đ¼Đ°Đ½ÑĐºĐ° ĐºÑ˜Đ°Ñ‚Đ°
- Đ±ÑƒÑ€Đ¼Đ°Đ½ÑĐºĐ¸Ñ… ĐºÑ˜Đ°Ñ‚Đ°
- Đ±ÑƒÑ€Đ¼Đ°Đ½ÑĐºĐ¸ ĐºÑ˜Đ°Ñ‚
- Đ±ÑƒÑ€Đ¼Đ°Đ½ÑĐºĐ¸Ñ… ĐºÑ˜Đ°Ñ‚Đ°
-
-
- Đ‘Đ¾Ñ†Đ²Đ°Đ½ÑĐºĐ° Đ¿ÑƒĐ»Đ°
- Đ±Đ¾Ñ†Đ²Đ°Đ½ÑĐºĐµ Đ¿ÑƒĐ»Đµ
- Đ±Đ¾Ñ†Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ÑƒĐ»Đ°
- Đ±Đ¾Ñ†Đ²Đ°Đ½ÑĐºĐ° Đ¿ÑƒĐ»Đ°
- Đ±Đ¾Ñ†Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ÑƒĐ»Đ°
-
-
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ° Đ½Đ¾Đ²Đ° Ñ€ÑƒĐ±Ñ™Đ° (1994-1999)
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐµ Đ½Đ¾Đ²Đµ Ñ€ÑƒĐ±Ñ™Đ°
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ° Đ½Đ¾Đ²Đ° Ñ€ÑƒĐ±Ñ™Đ°
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
-
-
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- Đ±ĐµĐ»Đ¾Ñ€ÑƒÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ
-
-
- Белизе Đ´Đ¾Đ»Đ°Ñ€
- Đ±ĐµĐ»Đ¸Đ·ĐµĐ°Đ½ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±ĐµĐ»Đ¸Đ·ĐµĐ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ±ĐµĐ»Đ¸Đ·ĐµĐ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ±ĐµĐ»Đ¸Đ·ĐµĐ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐĐ°Đ½Đ°Đ´ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ĐºĐ°Đ½Đ°Đ´ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- ĐĐ°Đ½Đ°Đ´ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- ĐºĐ°Đ½Đ°Đ´ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ĐºĐ°Đ½Đ°Đ´ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ĐºĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- ĐºĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- ĐºĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ĐºĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- WIR ĐµĐ²Ñ€Đ¾
- WIR ĐµĐ²Ñ€Đ°
- WIR ĐµĐ²Ñ€Đ°
- WIR ĐµĐ²Ñ€Đ¾
- WIR ĐµĐ²Ñ€Đ°
-
-
- Đ¨Đ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ÑˆĐ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- ÑˆĐ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- ÑˆĐ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ÑˆĐ²Đ°Ñ˜Ñ†Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- WIR Ñ„Ñ€Đ°Đ½Đ°Đº
- WIR Ñ„Ñ€Đ°Đ½ĐºĐ°
- WIR Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- WIR Ñ„Ñ€Đ°Đ½Đ°Đº
- WIR Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- Đ§Đ¸Đ»ĐµĐ¾Đ²ÑĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Ñе Ñ„Đ¾Đ¼ĐµĐ½Ñ‚Đ¾
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ° ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ´Đµ Ñ„Đ¾Đ¼ĐµĐ½Ñ‚Đ°
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸Ñ… ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ´Đµ Ñ„Đ¾Đ¼ĐµĐ½Ñ‚Đ°
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ´Đµ Ñ„Đ¾Đ¼ĐµĐ½Ñ‚Đ¾
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑи де Ñ„Đ¾Đ¼ĐµĐ½Ñ‚Đ¾
-
-
- Đ§Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Ñ‡Đ¸Đ»ĐµĐ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾Ñи
-
-
- ĐĐ¸Đ½ĐµÑĐºĐ¸ Ñ˜ÑƒĐ°Đ½ Ñ€ĐµĐ½Đ¼Đ¸Đ½Đ±Đ¸
- ĐºĐ¸Đ½ĐµÑĐºĐ° Ñ˜ÑƒĐ°Đ½
- ĐºĐ¸Đ½ĐµÑĐºĐ¸Ñ… Ñ˜ÑƒĐ°Đ½a
- ĐºĐ¸Đ½ĐµÑĐºĐ¸ Ñ˜ÑƒĐ°Đ½
- ĐºĐ¸Đ½ĐµÑĐºĐ¸Ñ… Ñ˜ÑƒĐ°Đ½a
-
-
- ĐĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- ĐºĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- ĐºĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- ĐºĐ¾Đ»ÑƒĐ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
-
-
- Đ£Đ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ÑˆĐºĐ¸ Ñ€ĐµĐ°Đ»
- Đ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ Ñ€ĐµĐ°Đ»Đ°
- ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ÑˆĐºĐ¸Ñ… Ñ€ĐµĐ°Đ»Đ°
- ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ÑˆĐºĐ¸ Ñ€ĐµĐ°Đ»
- ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ÑˆĐºĐ¸Ñ… Ñ€ĐµĐ°Đ»Đ°
-
-
- ĐĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸ ĐºĐ¾Đ»Đ¾Đ½
- ĐºĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ° ĐºĐ¾Đ»Đ¾Đ½Đ°
- ĐºĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸Ñ… ĐºĐ¾Đ»Đ¾Đ½Đ°
- ĐºĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸ ĐºĐ¾Đ»Đ¾Đ½
- ĐºĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑĐºĐ¸ ĐºĐ¾Đ»Đ¾Đ½Đ¸
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸ ÑÑ€Đ¿ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ÑÑ‚Đ°Ñ€Đ° ÑÑ€Đ¿ÑĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đ¸Ñ… ÑÑ€Đ¿ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đ¸ ÑÑ€Đ¿ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ÑÑ‚Đ°Ñ€Đ¸Ñ… ÑÑ€Đ¿ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- Đ§ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ° Ñ‚Đ²Ñ€Đ´Đ° ĐºÑ€ÑƒĐ½Đ°
- Ñ‡ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐµ Ñ‚Đ²Ñ€Đ´Đµ ĐºÑ€ÑƒĐ½Đµ
- Ñ‡ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… Ñ‚Đ²Ñ€Đ´Đ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- Ñ‡ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ° Ñ‚Đ²Ñ€Đ´Đ° ĐºÑ€ÑƒĐ½Đ°
- Ñ‡ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… Ñ‚Đ²Ñ€Đ´Đ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
-
-
- ĐÑƒĐ±Đ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- ĐºÑƒĐ±Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- ĐºÑƒĐ±Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- ĐºÑƒĐ±Đ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾Ñ
- ĐºÑƒĐ±Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- Đ—ĐµĐ»ĐµĐ½Đ¾Ñ€Ñ‚ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ·ĐµĐ»ĐµĐ½Đ¾Ñ€Ñ‚ÑĐºĐ° еÑĐºÑƒĐ´Đ°
- Đ·ĐµĐ»ĐµĐ½Đ¾Ñ€Ñ‚ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
- Đ·ĐµĐ»ĐµĐ½Đ¾Ñ€Ñ‚ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ·ĐµĐ»ĐµĐ½Đ¾Ñ€Ñ‚ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
-
-
- ĐĐ¸Đ¿Đ°Ñ€ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ĐºĐ¸Đ¿Đ°Ñ€ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- ĐºĐ¸Đ¿Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- ĐºĐ¸Đ¿Đ°Ñ€ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ĐºĐ¸Đ¿Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ§ĐµÑˆĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- Ñ‡ĐµÑˆĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- Ñ‡ĐµÑˆĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½a
- Ñ‡ĐµÑˆĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- Ñ‡ĐµÑˆĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đµ
- Đч
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ½ĐµĐ¼Đ°Ñ‡ĐºĐµ Đ¼Đ°Ñ€ĐºĐµ
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
-
-
- ĐĐµĐ¼Đ°Ñ‡ĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
- Đ½ĐµĐ¼Đ°Ñ‡ĐºĐµ Đ¼Đ°Ñ€ĐºĐµ
- Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
- Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
- Đ½ĐµĐ¼Đ°Ñ‡ĐºĐ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
-
-
- ĐĐ¸Đ±ÑƒÑ‚Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ÑŸĐ¸Đ±ÑƒÑ‚ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- ÑŸĐ¸Đ±ÑƒÑ‚ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- ÑŸĐ¸Đ±ÑƒÑ‚ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ÑŸĐ¸Đ±ÑƒÑ‚ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- Đ”Đ°Đ½ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- Đ´Đ°Đ½ÑĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- Đ´Đ°Đ½ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- Đ´Đ°Đ½ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- Đ´Đ°Đ½ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
-
-
- Đ”Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ´Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Đ´Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Đ´Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ´Đ¾Đ¼Đ¸Đ½Đ¸ĐºĐ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- ĐĐ»Đ¶Đ¸Ñ€ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ°Đ»Đ¶Đ¸Ñ€ÑĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ°Đ»Đ¶Đ¸Ñ€ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ°Đ»Đ¶Đ¸Ñ€ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ°Đ»Đ¶Đ¸Ñ€ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸ ÑĐ°ĐºÑ€
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ° ÑĐ°ĐºÑ€Đ°
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… ÑĐ°ĐºÑ€Đ°
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸ ÑĐ°ĐºÑ€
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… ÑĐ°ĐºÑ€Đ°
-
-
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ ĐºĐ¾Đ½ÑÑ‚Đ°Đ½Ñ‚Đµ
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ° ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ ĐºĐ¾Đ½ÑÑ‚Đ°Đ½Ñ‚Đ°
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ ĐºĐ¾Đ½ÑÑ‚Đ°Đ½Ñ‚Đ°
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ ĐºĐ¾Đ½ÑÑ‚Đ°Đ½Ñ‚Đµ
- ĐµĐºĐ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ ĐºĐ¾Đ½ÑÑ‚Đ°Đ½Ñ‚Đ°
-
-
- Đ•ÑÑ‚Đ¾Đ½ÑĐºĐ° ĐºÑ€Đ¾Đ¾Đ½
- еÑÑ‚Đ¾Đ½ÑĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- еÑÑ‚Đ¾Đ½ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- еÑÑ‚Đ¾Đ½ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- еÑÑ‚Đ¾Đ½ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
-
-
- Đ•Đ³Đ¸Đ¿Đ°Ñ‚ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ĐµĐ³Đ¸Đ¿Đ°Ñ‚ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- ĐµĐ³Đ¸Đ¿Đ°Ñ‚ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- ĐµĐ³Đ¸Đ¿Đ°Ñ‚ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ĐµĐ³Đ¸Đ¿Đ°Ñ‚ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ•Ñ€Đ¸Ñ‚Ñ€ĐµĐ°Đ½ÑĐºĐ° Đ½Đ°ĐºÑ„Đ°
- ĐµÑ€Đ¸Ñ‚Ñ€ĐµÑ˜ÑĐºĐµ Đ½Đ°ĐºÑ„Đµ
- ĐµÑ€Đ¸Ñ‚Ñ€ĐµÑ˜ÑĐºĐ¸Ñ… Đ½Đ°ĐºÑ„Đ¸
- ĐµÑ€Đ¸Ñ‚Ñ€ĐµÑ˜ÑĐºĐ° Đ½Đ°ĐºÑ„Đ°
- ĐµÑ€Đ¸Ñ‚Ñ€ĐµĐ°Đ½ÑĐºĐ¸Ñ… Đ½Đ°ĐºÑ„ĐºĐ¸
-
-
- Đ¨Đ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ° (Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐµ Đ¿ĐµĐ·ĐµÑ‚Đµ (Đ Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·ĐµÑ‚Đ° (Đ Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ° (Đ Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·ĐµÑ‚Đ° (Đ Ñ€Đ°Ñ‡ÑƒĐ½)
-
-
- Đ¨Đ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐµ Đ¿ĐµĐ·ĐµÑ‚Đµ (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ°Đ½ Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·ĐµÑ‚Đ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ°Đ½ Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ°Đ½ Ñ€Đ°Ñ‡ÑƒĐ½)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·ĐµÑ‚Đ°
-
-
- Đ¨Đ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ°
- ÑˆĐ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ°
- ÑˆĐ¿Đ°Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·ĐµÑ‚Đ° (ESP)
- ÑˆĐ¿Đ°Đ½ÑĐºĐ° Đ¿ĐµĐ·ĐµÑ‚Đ°
- ÑˆĐ¿Đ°Đ½ÑĐºĐµ Đ¿ĐµĐ·ĐµÑ‚Đµ
-
-
- ĐµÑ‚Đ¸Đ¾Đ¿Đ¸Ñ˜ÑĐºĐ¸ Đ±Đ¸Ñ€
- ĐµÑ‚Đ¸Đ¾Đ¿Đ¸Ñ˜ÑĐºĐ° Đ±Đ¸Ñ€Đ°
- ĐµÑ‚Đ¸Đ¾Đ¿Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ±Đ¸Ñ€Đ°
- ĐµÑ‚Đ¸Đ¾Đ¿Đ¸Ñ˜ÑĐºĐ¸ Đ±Đ¸Ñ€
- ĐµÑ‚Đ¸Đ¾Đ¿Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ±Đ¸Ñ€Đ°
-
-
- Đ•Đ²Ñ€Đ¾
- ĐµĐ²Ñ€Đ°
- ĐµĐ²Ñ€Đ°
- ĐµĐ²Ñ€Đ¾
- ĐµĐ²Ñ€Đ°
-
-
- Đ¤Đ¸Đ½ÑĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
- Ñ„Đ¸Đ½ÑĐºĐµ Đ¼Đ°Ñ€ĐºĐµ
- Ñ„Đ¸Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
- Ñ„Đ¸Đ½ÑĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
- Ñ„Đ¸Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Ñ€Đ°ĐºĐ°
-
-
- Đ¤Đ¸ÑŸĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ„Đ¸ÑŸÂŸĐ¸ Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ„Đ¸ÑŸĐ¸ Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ„Đ¸ÑŸĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ„Đ¸ÑŸĐ¸ Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¤Đ¾ĐºĐ»Đ°Đ½Đ´ÑĐºĐ° Đ¾ÑÑ‚Ñ€Đ²Đ° Ñ„ÑƒĐ½Ñ‚Đ°
- Ñ„Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- Ñ„Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- Ñ„Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Ñ„Đ¾Đ»ĐºĐ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ° ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ°
- Đ±Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ°
- Đ±Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸ ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ°
- Đ±Ñ€Đ¸Ñ‚Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ° ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ°
- Đ±Ñ€Đ¸Ñ‚Đ°Đ½ÑÂĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸ ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ°
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸ ĐºÑƒĐ¿Đ¾Đ½ Đ»Đ°Ñ€Đ¸Ñ‚
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ° ĐºÑƒĐ¿Đ¾Đ½ Đ»Đ°Ñ€Đ¸Ñ‚Đ°
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºÑƒĐ¿Đ¾Đ½ Đ»Đ°Ñ€Đ¸Ñ‚Đ°
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸ ĐºÑƒĐ¿Đ¾Đ½ Đ»Đ°Ñ€Đ¸Ñ‚
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºÑƒĐ¿Đ¾Đ½ Đ»Đ°Ñ€Đ¸Ñ‚Đ°
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸ Đ»Đ°Ñ€Đ¸
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ° Đ»Đ°Ñ€Đ¸Ñа
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ»Đ°Ñ€Đ¸Ñа
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸ Đ»Đ°Ñ€Đ¸Ñ
- Đ³Ñ€ÑƒĐ·Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ»Đ°Ñ€Đ¸Ñа
-
-
- Đ³Đ°Đ½ÑĐºĐ¸ Ñ†ĐµĐ´Đ¸ (1979-2007)
- Đ³Đ°Đ½ÑĐºĐ° Ñ†ĐµĐ´Đ° (GHC)
- Đ³Đ°Đ½ÑĐºĐ¸Ñ… Ñ†ĐµĐ´Đ° (GHC)
- Đ³Đ°Đ½ÑĐºĐ¸ Ñ†ĐµĐ´ (GHC)
- Đ³Đ°Đ½ÑĐºĐ¸Ñ… Ñ†ĐµĐ´Đ° (GHC)
-
-
- Đ“Đ°Đ½ÑĐºĐ¸ Ñ†ĐµĐ´Đ¸
- Đ³Đ°Đ½ÑĐºĐ° Ñ†ĐµĐ´Đ°
- Đ³Đ°Đ½ÑĐºĐ¸Ñ… Ñ†ĐµĐ´Đ°
- Đ³Đ°Đ½ÑĐºĐ¸ Ñ†ĐµĐ´
- Đ³Đ°Đ½ÑĐºĐ¸Ñ… Ñ†ĐµĐ´Đ°
-
-
- Đ“Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°ÑˆĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ³Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- Đ³Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- Đ³Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ³Đ¸Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ“Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ далаÑи
- Đ³Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ° далаÑа
- Đ³Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… далаÑа
- Đ³Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ далаÑ
- Đ³Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… далаÑа
-
-
- Đ“Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- Đ“Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ Ñили
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ° Ñила
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… Ñила
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ Ñили
- Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… Ñила
-
-
- Đ•ĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°Đ»Đ½Đ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ ĐµĐºĐ²ĐµĐ»Đµ
- ĐµĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°Đ»Đ½Đ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ° ĐµĐºĐ²ĐµĐ»Đ°
- ĐµĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°Đ»Đ½Đ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… ĐµĐºĐ²ĐµĐ»Đ°
- ĐµĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°Đ»Đ½Đ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ ĐµĐºĐ²ĐµĐ»Đµ
- ĐµĐºĐ²Đ°Ñ‚Đ¾Ñ€Đ¸Ñ˜Đ°Đ»Đ½Đ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… ĐµĐºĐ²ĐµĐ»Đ°
-
-
- Đ“Ñ€Ñ‡ĐºĐ° Đ´Ñ€Đ°Ñ…Đ¼Đ°
- Đ³Ñ€Ñ‡ĐºĐµ Đ´Ñ€Đ°Ñ…Đ¼Đµ
- Đ´Ñ€Đ°Ñ…Đ¼Đ¸
- Đ³Ñ€Ñ‡ĐºĐ° Đ´Ñ€Đ°Ñ…Đ¼Đ°
- Đ³Ñ€Ñ‡ĐºĐ¸Ñ… Đ´Ñ€Đ°Ñ…Đ¼Đ¸
-
-
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑĐºĐ¸ ĐºĐ²ĐµÑ†Đ°Đ»
- Đ³Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑĐºĐ° ĐºĐ²ĐµÑ†Đ°Đ»Đ°
- Đ³Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑĐºĐ¸Ñ… ĐºĐ²ĐµÑ†Đ°Đ»Đ°
- Đ³Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑĐºĐ¸ ĐºĐ²ĐµÑ†Đ°Đ»
- Đ³Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑĐºĐ¸Ñ… ĐºĐ²ĐµÑ†Đ°Đ»Đ°
-
-
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ° Đ³Đ²Đ¸Đ½ĐµÑ˜Đ° еÑĐºÑƒĐ´Đ¾
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ° еÑĐºÑƒĐ´Đ°
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸Ñ… Đ³Đ²Đ¸Đ½ĐµÑ˜Đ° еÑĐºÑƒĐ´Đ¾
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
-
-
- Đ“Đ²Đ¸Đ½ĐµÑ˜Đ° БиÑĐ°Đ¾ ĐŸĐµĐ·Đ¾
- Đ³Đ²Đ¸Đ½ĐµÑ˜Đ°-биÑĐ°Đ¾ÑˆĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Đ³Đ²Đ¸Đ½ĐµÑ˜Đ°-биÑĐ°Đ¾ÑˆĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Đ³Đ²Đ¸Đ½ĐµÑ˜Đ°-биÑĐ°Đ¾ÑˆĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ³Đ²Đ¸Đ½ĐµÑ˜Đ°-биÑĐ°Đ¾ÑˆĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- Đ“ÑƒÑ˜Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ³Đ²Đ°Ñ˜Đ°Đ½ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ³Đ²Đ°Ñ˜Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ³Đ²Đ°Ñ˜Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- GYD
-
-
- Đ¥Đ¾Đ½Đ³ĐºĐ¾Đ½ÑˆĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ…Đ¾Đ½Đ³ĐºĐ¾Đ½ÑˆĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ…Đ¾Đ½Đ³ĐºĐ¾Đ½ÑˆĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ…Đ¾Đ½Đ³ĐºĐ¾Đ½ÑˆĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ…Đ¾Đ½Đ³ĐºĐ¾Đ½ÑˆĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¥Đ¾Đ½Đ´ÑƒÑ€Đ°ÑˆĐºĐ° Đ»ĐµĐ¼Đ¿Đ¸Ñ€Đ°
- Ñ…Đ¾Đ½Đ´ÑƒÑ€Đ°ÑˆĐºĐ° Đ»ĐµĐ¼Đ¿Đ¸Ñ€Đ°
- Ñ…Đ¾Đ½Đ´ÑƒÑ€Đ°ÑˆĐºĐ¸Ñ… Đ»ĐµĐ¼Đ¿Đ¸Ñ€Đ°
- Ñ…Đ¾Đ½Đ´ÑƒÑ€Đ°ÑˆĐºĐ¸ Đ»ĐµĐ¼Đ¿Đ¸Ñ€
- Ñ…Đ¾Đ½Đ´ÑƒÑ€Đ°ÑˆĐºĐ¸Ñ… Đ»ĐµĐ¼Đ¿Đ¸Ñ€Đ°
-
-
- Đ¥Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- Đ¥Ñ€Đ²Đ°Ñ‚ÑĐºĐ° ĐºÑƒĐ½Đ°
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐµ ĐºÑƒĐ½Đµ
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Ñ… ĐºÑƒĐ½Đ°
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ° ĐºÑƒĐ½Đ°
- Ñ…Ñ€Đ²Đ°Ñ‚ÑĐºĐ¸Ñ… ĐºÑƒĐ½Đ°
-
-
- Đ¥Đ°Đ¸Ñ›Đ°Đ½ÑĐºĐ¸ Đ³ÑƒÑ€Đ´
- Ñ…Đ°Đ¸Ñ›Đ°Đ½ÑĐºĐ° Đ³ÑƒÑ€Đ´Đ°
- Ñ…Đ°Đ¸Ñ›Đ°Đ½ÑĐºĐ¸Ñ… Đ³ÑƒÑ€Đ´Đ°
- Ñ…Đ°Đ¸Ñ›Đ°Đ½ÑĐºĐ¸ Đ³ÑƒÑ€Đ´
- Ñ…Đ°Đ¸Ñ›Đ°Đ½ÑĐºĐ¸Ñ… Đ³ÑƒÑ€Đ´Đ°
-
-
- ĐœĐ°Ñ’Đ°Ñ€ÑĐºĐ° Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚Đ°
- Đ¼Đ°Ñ’Đ°Ñ€ÑĐºĐµ Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚Đµ
- Đ¼Đ°Ñ’Đ°Ñ€ÑĐºĐ¸Ñ… Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚Đ¸
- Đ¼Đ°Ñ’Đ°Ñ€ÑĐºĐ° Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚Đ°
- Đ¼Đ°Ñ’Đ°Ñ€ÑĐºĐµ Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚Đµ
-
-
- Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Đ¸Ñ˜ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Đ°
- Đ¸Đ½Đ´Đ¾Đ½ĐµĐ¶Đ°Đ½ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
- Đ¸Đ½Đ´Đ¾Đ½ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¸Đ½Đ´Đ¾Đ½ĐµĐ¶Đ°Đ½ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¸Đ½Đ´Đ¾Đ½ĐµĐ¶Đ°Đ½ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
-
-
- Đ˜Ñ€ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ¸Ñ€ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- Đ¸Ñ€ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- Đ¸Ñ€ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ¸Ñ€ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ˜Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- ÑÑ‚Đ°Ñ€Đ¸ Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ ÑˆĐµĐºĐµĐ»Đ¸
- ÑÑ‚Đ°Ñ€Đ¸ Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ ÑˆĐµĐºĐµĐ»Đ¸
- ÑÑ‚Đ°Ñ€Đ¸ Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ ÑˆĐµĐºĐµĐ»Đ¸
- ÑÑ‚Đ°Ñ€Đ¸ Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ ÑˆĐµĐºĐµĐ»Đ¸
- ÑÑ‚Đ°Ñ€Đ¸ Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ ÑˆĐµĐºĐµĐ»Đ¸
-
-
- Đ˜Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ ÑˆĐµĐºĐµĐ»
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ° Đ½Đ¾Đ²Đ° ÑˆĐµĐºĐµĐ»Đ°
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ÑˆĐµĐºĐµĐ»Đ°
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ ÑˆĐµĐºĐµĐ»
- Đ¸Đ·Ñ€Đ°ĐµĐ»ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ÑˆĐµĐºĐµĐ»Đ°
-
-
- Đ˜Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸ Đ ÑƒĐ¿Đ¸
- Đ¸Đ½Đ´Đ¸Ñ˜ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
- Đ¸Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¸Đ½Đ´Đ¸Ñ˜ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¸Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
-
-
- Đ˜Ñ€Đ°Ñ‡ĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ¸Ñ€Đ°Ñ‡ĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ¸Ñ€Đ°Ñ‡ĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ¸Ñ€Đ°Ñ‡ĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ¸Ñ€Đ°Ñ‡ĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€Đ¸
-
-
- Đ˜Ñ€Đ°Đ½ÑĐºĐ¸ Ñ€Đ¸Đ°Đ»
- Đ¸Ñ€Đ°Đ½ÑĐºĐ° Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Đ¸Ñ€Đ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Đ¸Ñ€Đ°Đ½ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- Đ¸Ñ€Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»Đ¸
-
-
- ÑÑ‚Đ°Ñ€Đ° иÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑÑ‚Đ°Ñ€Đ° иÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑÑ‚Đ°Ñ€Đ° иÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑÑ‚Đ°Ñ€Đ° иÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑÑ‚Đ°Ñ€Đ° иÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
-
-
- Đ˜ÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- иÑĐ»Đ°Đ½Đ´ÑĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- иÑĐ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- иÑĐ»Đ°Đ½Đ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- иÑĐ»Đ°Đ½Đ´ÑĐºĐµ ĐºÑ€ÑƒĐ½Đµ
-
-
- Đ˜Ñ‚Đ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐ° Đ»Đ¸Ñ€Đ°
- Đ¸Ñ‚Đ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐµ Đ»Đ¸Ñ€Đµ
- Đ¸Ñ‚Đ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸Ñ… Đ»Đ¸Ñ€Đ°
- Đ¸Ñ‚Đ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐ° Đ»Đ¸Ñ€Đ°
- Đ¸Ñ‚Đ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐµ Đ»Đ¸Ñ€Đµ
-
-
- ĐˆĐ°Đ¼Đ°Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ˜Đ°Đ¼Đ°Ñ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ˜Đ°Đ¼Đ°Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ˜Đ°Đ¼Đ°Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ˜Đ°Đ¼Đ°Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐˆĐ¾Ñ€Đ´Đ°Đ½ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜Đ¾Ñ€Đ´Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜Đ¾Ñ€Đ´Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜Đ¾Ñ€Đ´Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜Đ¾Ñ€Đ´Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐˆĐ°Đ¿Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ½
- Ñ˜Đ°Đ¿Đ°Đ½ÑĐºĐ° Ñ˜ĐµĐ½Đ°
- Ñ˜Đ°Đ¿Đ°Đ½ÑĐºĐ¸Ñ… Ñ˜ĐµĐ½Đ°
- Ñ˜Đ°Đ¿Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ½
- Ñ˜Đ°Đ¿Đ°Đ½ÑĐºĐ¸ Ñ˜ĐµĐ½
- ¥
-
-
- ĐĐµĐ½Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- ĐºĐµĐ½Đ¸Ñ˜ÑĐºĐ° ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- ĐºĐµĐ½Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- ĐºĐµĐ½Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- ĐºĐµĐ½Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
-
-
- ĐĐ¸Ñ€Đ³Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼
- ĐºĐ¸Ñ€Đ³Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° ÑĐ¾Đ¼Đ°
- ĐºĐ¸Ñ€Đ³Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ¼Đ°
- ĐºĐ¸Ñ€Đ³Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼
- ĐºĐ¸Ñ€Đ³Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ¼Đ°
-
-
- ĐĐ°Đ¼Đ±Đ¾ÑŸĐ¸Ñ˜ÑĐºĐ¸ Ñ€Đ¸ĐµĐ»
- ĐºĐ°Đ¼Đ±Đ¾ÑŸĐ°Đ½ÑĐºĐ° Ñ€Đ¸Ñ˜ĐµĐ»Đ°
- ĐºĐ°Đ¼Đ±Đ¾ÑŸĐ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜ĐµĐ»Đ°
- ĐºĐ°Đ¼Đ±Đ¾ÑŸĐ°Đ½ÑĐºĐ¸ Ñ€Đ¸Ñ˜ĐµĐ»
- ĐºĐ°Đ¼Đ±Đ¾ÑŸĐ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜ĐµĐ»Đ°
-
-
- ĐĐ¾Đ¼Đ¾Ñ€ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ĐºĐ¾Đ¼Đ¾Ñ€Đ°Đ½ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- ĐºĐ¾Đ¼Đ¾Ñ€Đ°Đ½ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- ĐºĐ¾Đ¼Đ¾Ñ€Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- ĐºĐ¾Đ¼Đ¾Ñ€Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- Đ¡ĐµĐ²ĐµÑ€Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸ Đ²Đ¾Đ½
- ÑĐµĐ²ĐµÑ€Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ° Đ²Đ¾Đ½Đ°
- ÑĐµĐ²ĐµÑ€Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸Ñ… Đ²Đ¾Đ½Đ°
- ÑĐµĐ²ĐµÑ€Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸ Đ²Đ¾Đ½
- ÑĐµĐ²ĐµÑ€Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸ Đ²Đ¾Đ½
-
-
- ĐˆÑƒĐ¶Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸ Đ’Đ¾Đ½
- Ñ˜ÑƒĐ¶Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ° Đ²Đ¾Đ½Đ°
- Ñ˜ÑƒĐ¶Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸Ñ… Đ²Đ¾Đ½Đ°
- Ñ˜ÑƒĐ¶Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸ Đ²Đ¾Đ½
- Ñ˜ÑƒĐ¶Đ½Đ¾ĐºĐ¾Ñ€ĐµÑ˜ÑĐºĐ¸ Đ²Đ¾Đ½
-
-
- ĐÑƒĐ²Đ°Ñ˜Ñ‚ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ĐºÑƒĐ²Đ°Ñ˜Ñ‚ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- ĐºÑƒĐ²Đ°Ñ˜Ñ‚ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- ĐºÑƒĐ²Đ°Ñ˜Ñ‚ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- ĐºÑƒĐ²Đ°Ñ˜Ñ‚ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ° Đ¾ÑÑ‚Ñ€Đ²Đ° Đ´Đ¾Đ»Đ°Ñ€
- ĐºĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- ĐºĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- ĐºĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ĐºĐ°Ñ˜Đ¼Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¸ Ñ‚ĐµĐ½ÑŸ
- ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐµ Ñ‚ĐµĐ½ÑŸĐµ
- ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Ñ‚ĐµĐ½ÑŸĐ¸
- ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ° Ñ‚ĐµĐ½ÑŸĐ°
- ĐºĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Ñ‚ĐµĐ½ÑŸĐ¸
-
-
- Đ›Đ°Đ¾ÑˆĐºĐ¸ ĐºĐ¸Đ¿
- Đ»Đ°Đ¾ÑˆĐºĐ° ĐºĐ¸Đ¿Đ°
- Đ»Đ°Đ¾ÑˆĐºĐ¸Ñ… ĐºĐ¸Đ¿Đ°
- Đ»Đ°Đ¾ÑˆĐºĐ¸ ĐºĐ¸Đ¿
- Đ»Đ°Đ¾ÑˆĐºĐ¸ ĐºĐ¸Đ¿Đ¸
-
-
- Đ›ĐµĐ±Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ»ĐµĐ±Đ°Đ½ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- Đ»ĐµĐ±Đ°Đ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- Đ»ĐµĐ±Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ»ĐµĐ±Đ°Đ½ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
-
-
- Đ¨Ñ€Đ¸Đ»Đ°Đ½ĐºĐ°Đ½ÑĐºĐ¸ Ñ€ÑƒĐ¿Đ¸
- ÑˆÑ€Đ¸Đ»Đ°Đ½ĐºĐ°Đ½ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- ÑˆÑ€Đ¸Đ»Đ°Đ½ĐºĐ°Đ½ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- ÑˆÑ€Đ¸Đ»Đ°Đ½ĐºĐ°Đ½ÑĐºĐ¸ Ñ€ÑƒĐ¿Đ¸Ñ˜
- ÑˆÑ€Đ¸Đ»Đ°Đ½ĐºĐ°Đ½ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
-
-
- Đ›Đ¸Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ»Đ¸Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ»Đ¸Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ»Đ¸Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ»Đ¸Đ±ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ЛеÑĐ¾Ñ‚Đ¾ Đ»Đ¾Ñ‚Đ¸
- леÑĐ¾Ñ‚ÑĐºĐ° Đ»Đ¾Ñ‚Đ¸Ñа
- леÑĐ¾Ñ‚ÑĐºĐ¸Ñ… Đ»Đ¾Ñ‚Đ¸Ñа
- леÑĐ¾Ñ‚ÑĐºĐ¸ Đ»Đ¾Ñ‚Đ¸Ñ
- леÑĐ¾Ñ‚ÑĐºĐ¸Ñ… Đ»Đ¾Ñ‚Đ¸Ñа
-
-
- Đ›Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸ Đ»Đ¸Ñ‚Đ°Ñ
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ° Đ»Đ¸Ñ‚Đ°Ñа
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ»Đ¸Ñ‚Đ°Ñа
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸ Đ»Đ¸Ñ‚Đ°Ñ
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ»Đ¸Ñ‚Đ°Ñа
-
-
- Đ›Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸ Ñ‚Đ°Đ»Đ¾Đ½Đ°Ñ
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ° Ñ‚Đ°Đ»Đ¾Đ½Đ°Ñа
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸Ñ… Ñ‚Đ°Đ»Đ¾Đ½Đ°Ñа
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸ Ñ‚Đ°Đ»Đ¾Đ½Đ°Ñ
- Đ»Đ¸Ñ‚Đ²Đ°Đ½ÑĐºĐ¸Ñ… Ñ‚Đ°Đ»Đ¾Đ½Đ°Ñа
-
-
- Đ›ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ° ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸Ñ… ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸Ñ… ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- Đ›ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- Đ›ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ° Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸Ñ… Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸ Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ»ÑƒĐºÑĐµĐ¼Đ±ÑƒÑ€ÑˆĐºĐ¸Ñ… Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- Đ›Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ»Đ°Ñ‚Đ¸
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ° Đ»Đ°Ñ‚Đ°
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ»Đ°Ñ‚Đ°
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ¸ Đ»Đ°Ñ‚
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ»Đ°Ñ‚Đ°
-
-
- Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- Đ»Đ°Ñ‚Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
-
-
- Đ›Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Đ»Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ»Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ»Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Đ»Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐœĐ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸ Đ´Đ¸Ñ€Ñ…Đ°Đ¼
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐµ Đ´Đ¸Ñ€Ñ…Đ°Đ¼Đµ
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Ñ€Ñ…Đ°Đ¼Đ°
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ° Đ´Đ¸Ñ€Ñ…Đ°Đ¼Đ°
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Ñ€Ñ…Đ°Đ¼Đ°
-
-
- ĐœĐ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ¼Đ°Ñ€Đ¾ĐºĐ°Đ½ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- ĐœĐ¾Đ»Đ´Đ¾Đ²ÑĐºĐ¸ љу
- Đ¼Đ¾Đ»Đ´Đ¾Đ²ÑĐºĐ° Đ»ĐµĐ¸Ñ˜Đ°
- Đ¼Đ¾Đ»Đ´Đ¾Đ²ÑĐºĐ¸Ñ… Đ»ĐµĐ¸Ñ˜Đ°
- Đ¼Đ¾Đ»Đ´Đ¾Đ²ÑĐºĐ¸ леи
- Đ¼Đ¾Đ»Đ´Đ¾Đ²ÑĐºĐ¸Ñ… Đ»ĐµĐ¸Ñ˜Đ°
-
-
- ĐœĐ°Đ»Đ°Đ³Đ°ÑĐ¸Ñ˜ÑĐºĐ¸ Đ°Ñ€Đ¸Đ°Ñ€Đ¸
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ° Đ°Ñ€Đ¸Đ°Ñ€Đ¸Ñ˜Đ°
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ¸Ñ… Đ°Ñ€Đ¸Đ°Ñ€Đ¸Ñ˜Đ°
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ¸ Đ°Ñ€Đ¸Đ°Ñ€Đ¸Ñ˜
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ¸ Đ°Ñ€Đ¸Đ°Ñ€Đ¸Ñ˜Đ¸
-
-
- ĐœĐ°Đ»Đ°Đ³Đ°ÑĐ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑˆĐ°Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸ Đ´ĐµĐ½Đ°Ñ€
- Đ¼Đ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ° Đ´ĐµĐ½Đ°Ñ€Đ°
- Đ¼Đ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸Ñ… Đ´ĐµĐ½Đ°Ñ€Đ°
- Đ¼Đ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸ Đ´ĐµĐ½Đ°Ñ€
- Đ¼Đ°ĐºĐµĐ´Đ¾Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐœĐ°Đ»Đ¸Ñ˜Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- ĐœÑ˜Đ°Đ½Đ¼Đ°ÑˆĐºĐ¸ ĐºÑ˜Đ°Ñ‚
- Đ¼Đ¸Ñ˜Đ°Đ½Đ¼Đ°ÑˆĐºĐ° ĐºÑ˜Đ°Ñ‚Đ°
- Đ¼Đ¸Ñ˜Đ°Đ½Đ¼Đ°ÑˆĐºĐ¸Ñ… ĐºÑ˜Đ°Ñ‚Đ°
- Đ¼Đ¸Ñ˜Đ°Đ½Đ¼Đ°ÑˆĐºĐ¸ ĐºÑ˜Đ°Ñ‚
- Đ¼Đ¸Ñ˜Đ°Đ½Đ¼Đ°ÑˆĐºĐ¸ ĐºÑ˜Đ°Ñ‚Đ¸
-
-
- ĐœĐ¾Đ½Đ³Đ¾Đ»ÑĐºĐ¸ Ñ‚ÑƒĐ³Ñ€Đ¸Đº
- Đ¼Đ¾Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ° Ñ‚ÑƒĐ³Ñ€Đ¸ĐºĐ°
- Đ¼Đ¾Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ‚ÑƒĐ³Ñ€Đ¸ĐºĐ°
- Đ¼Đ¾Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸ Ñ‚ÑƒĐ³Ñ€Đ¸Đº
- Đ¼Đ¾Đ½Đ³Đ¾Đ»Đ¸Ñ˜ÑĐºĐ¸ Ñ‚ÑƒĐ³Ñ€Đ¸Ñ†Đ¸
-
-
- ĐœĐ°ĐºĐ°Đ½Đ¸ÑˆĐºĐ° Đ¿Đ°Ñ‚Đ°ĐºĐ°
- Đ¼Đ°ĐºĐ°Đ½ĐµÑˆĐºĐµ Đ¿Đ°Ñ‚Đ°ĐºĐµ
- Đ¼Đ°ĐºĐ°Đ½ĐµÑˆĐºĐ¸Ñ… Đ¿Đ°Ñ‚Đ°ĐºĐ°
- Đ¼Đ°ĐºĐ°Đ½ĐµÑˆĐºĐ° Đ¿Đ°Ñ‚Đ°ĐºĐ°
- Đ¼Đ°ĐºĐ°Đ½ĐµÑˆĐºĐ¸Ñ… Đ¿Đ°Ñ‚Đ°ĐºĐ°
-
-
- ĐœĐ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐ° ÑƒĐ³Đ²Đ¸Ñ˜Đ°
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐµ ÑƒĐ³Đ²Đ¸Ñ™Đµ
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑƒĐ³Đ²Đ¸Ñ™Đ°
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐ° ÑƒĐ³Đ²Đ¸Ñ™Đ°
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐµ ÑƒĐ³Đ²Đ¸Ñ™Đµ
-
-
- ĐœĐ°Đ»Ñ‚ĐµÑˆĐºĐ° Đ»Đ¸Ñ€Đ°
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐµ Đ»Đ¸Ñ€Đµ
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐ¸Ñ… Đ»Đ¸Ñ€Đ°
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐ° Đ»Đ¸Ñ€Đ°
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐ¸Ñ… Đ»Đ¸Ñ€Đ°
-
-
- ĐœĐ°Đ»Ñ‚ĐµÑˆĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- Đ¼Đ°Đ»Ñ‚ĐµÑˆĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- ĐœĐ°ÑƒÑ€Đ¸Ñ†Đ¸Ñ˜ÑĐºĐ¸ Ñ€ÑƒĐ¿Đ¸
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¼Đ°ÑƒÑ€Đ¸Ñ‚Đ°Đ½Đ¸Ñ˜ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
-
-
- ĐœĐ°Đ»Đ´Đ¸Đ²Đ¸Ñ˜ÑĐºĐ° Ñ€ÑƒÑ„Đ¸Ñ˜Đ°
- Đ¼Đ°Đ»Đ´Đ¸Đ²ÑĐºĐ° Ñ€ÑƒÑ„Đ¸Ñ˜Đ°Ñа
- Đ¼Đ°Đ»Đ´Đ¸Đ²ÑĐºĐ¸Ñ… Ñ€ÑƒÑ„Đ¸Ñ˜Đ°Ñа
- Đ¼Đ°Đ»Đ´Đ¸Đ²ÑĐºĐ¸ Ñ€ÑƒÑ„Đ¸Ñ˜Đ°Ñ
- Đ¼Đ°Đ»Đ´Đ¸Đ²ÑĐºĐ¸Ñ… Ñ€ÑƒÑ„Đ¸Ñ˜Đ°Ñа
-
-
- ĐœĐ°Đ»Đ°Đ²Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Ñ‡Đ°
- Đ¼Đ°Đ»Đ°Đ²Đ¸Ñ˜ÑĐºĐµ ĐºĐ²Đ°Ñ‡Đµ
- Đ¼Đ°Đ»Đ°Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Ñ‡Đ°
- Đ¼Đ°Đ»Đ°Đ²Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Ñ‡Đ°
- Đ¼Đ°Đ»Đ°Đ²Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Ñ‡Đ°
-
-
- ĐœĐµĐºÑĐ¸Ñ‡ĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- ĐœĐµĐºÑĐ¸Ñ‡ĐºĐ¸ ÑÑ€ĐµĐ±Ñ€Đ½Đ¸ Đ¿ĐµĐ·Đ¾ (1861-1992)
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ° ÑÑ€ĐµĐ±Ñ€Đ½Đ° Đ¿ĐµĐ·Đ¾Ñа
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸Ñ… ÑÑ€ĐµĐ±Ñ€Đ½Đ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸ ÑÑ€ĐµĐ±Ñ€Đ½Đ¸ Đ¿ĐµĐ·Đ¾
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸Ñ… ÑÑ€ĐµĐ±Ñ€Đ½Đ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- ĐœĐµĐºÑĐ¸Ñ‡ĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´ де Đ¸Đ½Đ²ĐµÑ€ÑĐ¸Đ¾Đ½ (UDI)
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ° ÑƒĐ½Đ¸Đ´Đ°Đ´Ñ Đ´Đµ Đ¸Đ½Đ²ĐµÑ€Đ·Đ¸Đ¾Đ½Đ°
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸Ñ… ÑƒĐ½Đ¸Đ´Đ°Đ´Ñ Đ´Đµ Đ¸Đ½Đ²ĐµÑ€Đ·Đ¸Đ¾Đ½Đ°
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸ ÑƒĐ½Đ¸Đ´Đ°Đ´Ñ Đ´Đµ Đ¸Đ½Đ²ĐµÑ€Đ·Đ¸Đ¾Đ½
- Đ¼ĐµĐºÑĐ¸Ñ‡ĐºĐ¸Ñ… ÑƒĐ½Đ¸Đ´Đ°Đ´Ñ Đ´Đµ Đ¸Đ½Đ²ĐµÑ€Đ·Đ¸Đ¾Đ½Đ°
-
-
- ĐœĐ°Đ»ĐµĐ·Đ¸Ñ˜ÑĐºĐ¸ Ñ€Đ¸Đ½Đ³Đ³Đ¸Ñ‚
- Đ¼Đ°Đ»ĐµĐ·Đ¸Ñ˜ÑĐºĐ° Ñ€Đ¸Đ½Đ³Đ³Đ¸Ñ‚Đ°
- Đ¼Đ°Đ»ĐµĐ·Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€Đ¸Đ½Đ³Đ³Đ¸Ñ‚Đ°
- Đ¼Đ°Đ»ĐµĐ·Đ¸Ñ˜ÑĐºĐ¸ Ñ€Đ¸Đ½Đ³Đ³Đ¸Ñ‚
- Đ¼Đ°Đ»ĐµĐ·Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€Đ¸Đ½Đ³Đ³Đ¸Ñ‚Đ°
-
-
- ĐœĐ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ° еÑĐºÑƒĐ´Đ°
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸ Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
- ÑÑ‚Đ°Ñ€Đ° Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ° Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»Đ°
- ÑÑ‚Đ°Ñ€Đ¸Ñ… Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»Đ°
- ÑÑ‚Đ°Ñ€Đ¸ Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
- ÑÑ‚Đ°Ñ€Đ¸Ñ… Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»Đ°
-
-
- ĐœĐ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ° Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»Đ°
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»Đ°
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
- Đ¼Đ¾Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»Đ°
-
-
- Đ½Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ½Đ°Đ¼Đ¸Đ±Đ¸Ñ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ½Đ°Đ¼Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ½Đ°Đ¼Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ½Đ°Đ¼Đ¸Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐĐ¸Đ³ĐµÑ€Đ¸Ñ˜ÑĐºĐ° Đ½Đ°Đ¸Ñ€Đ°
- Đ½Đ¸Đ³ĐµÑ€Đ¸Ñ˜ÑĐºĐµ Đ½Đ°Đ¸Ñ€Đµ
- Đ½Đ¸Đ³ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ½Đ°Đ¸Ñ€Đ°
- Đ½Đ¸Đ³ĐµÑ€Đ¸Ñ˜ÑĐºĐ° Đ½Đ°Đ¸Ñ€Đ°
- Đ½Đ¸Đ³ĐµÑ€Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ½Đ°Đ¸Ñ€Đ°
-
-
- ĐĐ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ° ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐµ ĐºĐ¾Ñ€Đ´Đ¾Đ±Đµ
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ¸Ñ… ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ° ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ¸Ñ… ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- ĐĐ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ° Đ·Đ»Đ°Ñ‚Đ½Đ° ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐµ Đ·Đ»Đ°Ñ‚Đ½Đµ ĐºĐ¾Ñ€Đ´Đ¾Đ±Đµ
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ·Đ»Đ°Ñ‚Đ½Đ¸Ñ… ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ° Đ·Đ»Đ°Ñ‚Đ½Đ° ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
- Đ½Đ¸ĐºĐ°Ñ€Đ°Đ³Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ·Đ»Đ°Ñ‚Đ½Đ¸Ñ… ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- Đ¥Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸ Đ³ÑƒĐ»Đ´ĐµĐ½
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ° Đ³ÑƒĐ»Đ´ĐµĐ½Đ°
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… Đ³ÑƒĐ»Đ´ĐµĐ½Đ°
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸ Đ³ÑƒĐ»Đ´ĐµĐ½
- Ñ…Đ¾Đ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… Đ³ÑƒĐ»Đ´ĐµĐ½Đ°
-
-
- ĐĐ¾Ñ€Đ²ĐµÑˆĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- Đ½Đ¾Ñ€Đ²ĐµÑˆĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- Đ½Đ¾Ñ€Đ²ĐµÑˆĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- Đ½Đ¾Ñ€Đ²ĐµÑˆĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- Đ½Đ¾Ñ€Đ²ĐµÑˆĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
-
-
- ĐĐµĐ¿Đ°Đ»ÑĐºĐ¸ Ñ€ÑƒĐ¿Đ¸
- Đ½ĐµĐ¿Đ°Đ»ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
- Đ½ĐµĐ¿Đ°Đ»ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ½ĐµĐ¿Đ°Đ»ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ½ĐµĐ¿Đ°Đ»ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
-
-
- ĐĐ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ½Đ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ½Đ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ½Đ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ½Đ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐĐ¼Đ°Đ½ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- Đ¾Đ¼Đ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Đ¾Đ¼Đ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Đ¾Đ¼Đ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Đ¾Đ¼Đ°Đ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
-
-
- ĐŸĐ°Đ½Đ°Đ¼ÑĐºĐ° Đ±Đ°Đ»Đ±Đ¾Đ°
- Đ¿Đ°Đ½Đ°Đ¼ÑĐºĐµ Đ±Đ°Đ»Đ±Đ¾Đµ
- Đ¿Đ°Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ±Đ°Đ»Đ±Đ¾Đ°
- Đ¿Đ°Đ½Đ°Đ¼ÑĐºĐ° Đ±Đ°Đ»Đ±Đ¾Đ°
- Đ¿Đ°Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ±Đ°Đ»Đ±Đ¾Đ°
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸ Đ¸Đ½Ñ‚Đ¸
- Đ¿ĐµÑ€ÑƒĐ²Đ¸Ñ˜ÑĐºĐ° Đ¸Đ½Ñ‚Đ¸Ñ˜Đ°
- Đ¿ĐµÑ€ÑƒĐ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¸Đ½Ñ‚Đ¸Ñ˜Đ°
- Đ¿ĐµÑ€ÑƒĐ²Đ¸Ñ˜ÑĐºĐ¸ Đ¸Đ½Ñ‚Đ¸
- Đ¿ĐµÑ€ÑƒĐ²Đ¸Ñ˜ÑĐºĐ¸Ñ… Đ¸Đ½Ñ‚Đ¸Ñ˜Đ°
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸ Đ½ÑƒĐµĐ²Đ¾ ÑĐ¾Đ»
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ° Đ½ÑƒĐµĐ²Đ¾ ÑĐ¾Đ»Đ°
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸Ñ… Đ½ÑƒĐµĐ²Đ¾ ÑĐ¾Đ»Đ°
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸ Đ½ÑƒĐµĐ²Đ¾ ÑĐ¾Đ»
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸Ñ… Đ½ÑƒĐµĐ²Đ¾ ÑĐ¾Đ»Đ°
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸ ÑĐ¾Đ»
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ° ÑĐ¾Đ»Đ°
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ»Đ°
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸ ÑĐ¾Đ»
- Đ¿ĐµÑ€ÑƒĐ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ»Đ°
-
-
- ĐŸĐ°Đ¿ÑƒĐ° Đ½Đ¾Đ²Đ¾-Đ³Đ²Đ¸Đ½ĐµÑ˜ÑˆĐºĐ° ĐºĐ¸Đ½Đ°
- Đ¿Đ°Đ¿ÑƒĐ° Đ½Đ¾Đ²Đ¾ Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ¿Đ°Đ¿ÑƒĐ° Đ½Đ¾Đ²Đ¾ Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ¿Đ°Đ¿ÑƒĐ° Đ½Đ¾Đ²Đ¾ Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ¿Đ°Đ¿ÑƒĐ° Đ½Đ¾Đ²Đ¾ Đ³Đ²Đ¸Đ½ĐµÑ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¸Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Ñ„Đ¸Đ»Đ¸Đ¿Đ¸Đ½ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- Ñ„Đ¸Đ»Đ¸Đ¿Đ¸Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- Ñ„Đ¸Đ»Đ¸Đ¿Đ¸Đ½ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- Ñ„Đ¸Đ»Đ¸Đ¿Đ¸Đ½ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Ñ€ÑƒĐ¿Đ¸
- Đ¿Đ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
- Đ¿Đ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¿Đ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- Đ¿Đ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
-
-
- ĐŸĐ¾Ñ™ÑĐºĐ¸ Đ·Đ»Đ¾Ñ‚
- Đ¿Đ¾Ñ™ÑĐºĐ° Đ·Đ»Đ¾Ñ‚Đ°
- Đ¿Đ¾Ñ™ÑĐºĐ¸Ñ… Đ·Đ»Đ¾Ñ‚Đ°
- Đ¿Đ¾Ñ™ÑĐºĐ¸ Đ·Đ»Đ¾Ñ‚
- Đ¿Đ¾Ñ™ÑĐºĐ¸Ñ… Đ·Đ»Đ¾Ñ‚Đ°
- Đ·Đ»
-
-
- ĐŸĐ¾Ñ™ÑĐºĐ¸ Đ·Đ»Đ¾Ñ‚Đ¸ (1950-1995)
- Đ¿Đ¾Ñ™ÑĐºĐ° Đ·Đ»Đ¾Ñ‚Đ° (PLZ)
- Đ¿Đ¾Ñ™ÑĐºĐ¸Ñ… Đ·Đ»Đ¾Ñ‚Đ° (PLZ)
- Đ¿Đ¾Ñ™ÑĐºĐ¸ Đ·Đ»Đ¾Ñ‚ (PLZ)
- Đ¿Đ¾Ñ™ÑĐºĐ¸Ñ… Đ·Đ»Đ¾Ñ‚Đ° (PLZ)
-
-
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ° еÑĐºÑƒĐ´Đ°
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
-
-
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ³ÑƒĐ°Ñ€Đ½Đ¸
- Đ¿Đ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ÑĐºĐ° Đ³Đ²Đ°Ñ€Đ°Đ½Đ¸Ñ˜Đ°
- Đ¿Đ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ³Đ²Đ°Ñ€Đ°Đ½Đ¸Ñ˜Đ°
- Đ¿Đ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ³Đ²Đ°Ñ€Đ°Đ½Đ¸Ñ˜
- Đ¿Đ°Ñ€Đ°Đ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ³Đ²Đ°Ñ€Đ°Đ½Đ¸Ñ˜Đ¸
-
-
- ĐĐ°Ñ‚Đ°Ñ€ÑˆĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- ĐºĐ°Ñ‚Đ°Ñ€ÑĐºĐ° Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- ĐºĐ°Ñ‚Đ°Ñ€ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- ĐºĐ°Ñ‚Đ°Ñ€ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- ĐºĐ°Ñ‚Đ°Ñ€ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
-
-
- Đ Đ¾Đ´ĐµÑ˜ÑĐºĐ¸Đ´Đ¾Đ»Đ°Ñ€
- Ñ€Đ¾Đ´ĐµĐ¶Đ°Đ½ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ€Đ¾Đ´ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ€Đ¾Đ´ĐµĐ¶Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ€Đ¾Đ´ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸ Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸ љу
- ÑÑ‚Đ°Ñ€Đ° Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ° Đ»ĐµĐ¸Ñ˜Đ°
- ÑÑ‚Đ°Ñ€Đ¸Ñ… Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸Ñ… Đ»ĐµĐ¸Ñ˜Đ°
- ÑÑ‚Đ°Ñ€Đ¸ Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸ Đ»ĐµĐ¸Ñ˜
- ÑÑ‚Đ°Ñ€Đ¸Ñ… Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸Ñ… Đ»ĐµĐ¸Ñ˜Đ°
-
-
- Đ ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸ Đ»ĐµÑƒ
- Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ° Đ»ĐµĐ¸Ñ˜Đ°
- Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸Ñ… Đ»ĐµĐ¸Ñ˜Đ°
- Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸ леи
- Ñ€ÑƒĐ¼ÑƒĐ½ÑĐºĐ¸Ñ… Đ»ĐµĐ¸Ñ˜Đ°
-
-
- Đ¡Ñ€Đ¿ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ÑÑ€Đ¿ÑĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- ÑÑ€Đ¿ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- ÑÑ€Đ¿ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ÑÑ€Đ¿ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€Đ¸
- Đ´Đ¸Đ½.
-
-
- Đ ÑƒÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- руÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ
- руÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
- руÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- руÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
-
-
- Đ ÑƒÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ° (1991-1998)
- руÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ (1991-1998)
- руÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸ (RUR)
- руÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ° (1991-1998)
- руÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸ (RUR)
-
-
- Đ ÑƒĐ°Đ½Đ´Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ€ÑƒĐ°Đ½Đ´Đ°Đ½ÑĐºĐ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Ñ€ÑƒĐ°Đ½Đ´Đ°Đ½ÑĐºĐ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Ñ€ÑƒĐ°Đ½Đ´Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ€ÑƒĐ°Đ½Đ´Đ°Đ½ÑĐºĐ¸ Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- Đ¡Đ°ÑƒĐ´Đ¸Ñ˜ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- ÑĐ°ÑƒĐ´Đ¸Ñ˜ÑĐºĐ° Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- ÑĐ°ÑƒĐ´Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- ÑĐ°ÑƒĐ´Đ¸Ñ˜ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- ÑĐ°ÑƒĐ´Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
-
-
- Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ¾-Đ¾ÑÑ‚Ñ€Đ²ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ÑĐ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ¾-Đ¾ÑÑ‚Ñ€Đ²ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- ÑĐ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ¾-Đ¾ÑÑ‚Ñ€Đ²ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- ÑĐ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ¾-Đ¾ÑÑ‚Ñ€Đ²ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ÑĐ¾Đ»Đ¾Đ¼Đ¾Đ½ÑĐºĐ¾-Đ¾ÑÑ‚Ñ€Đ²ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¡ĐµÑ˜ÑˆĐµĐ»ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- ÑĐµÑ˜ÑˆĐµĐ»ÑĐºĐµ Ñ€ÑƒĐ¿Đ¸Ñ˜Đµ
- ÑĐµÑ˜ÑˆĐµĐ»ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- ÑĐµÑ˜ÑˆĐµĐ»ÑĐºĐ° Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
- ÑĐµÑ˜ÑˆĐµĐ»ÑĐºĐ¸Ñ… Ñ€ÑƒĐ¿Đ¸Ñ˜Đ°
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸ ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ÑÑ‚Đ°Ñ€Đ° ÑÑƒĐ´Đ°Đ½ÑĐºĐ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đ¸Ñ… ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đ¸ ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- ÑÑ‚Đ°Ñ€Đ¸Ñ… ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- Đ¡ÑƒĐ´Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑÑƒĐ´Đ°Đ½ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- ÑÑƒĐ´Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ¡Ñ‚Đ°Ñ€Đ° ÑÑƒĐ´Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑÑ‚Đ°Ñ€Đµ ÑÑƒĐ´Đ°Đ½ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- ÑÑ‚Đ°Ñ€Đ¸Ñ… ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- ÑÑ‚Đ°Ñ€Đ° ÑÑƒĐ´Đ°Đ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑÑ‚Đ°Ñ€Đ¸Ñ… ÑÑƒĐ´Đ°Đ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ¨Đ²ĐµĐ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑˆĐ²ĐµĐ´ÑĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- ÑˆĐ²ĐµĐ´ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- ÑˆĐ²ĐµĐ´ÑĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑˆĐ²ĐµĐ´ÑĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
-
-
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ÑĐ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- ÑĐ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- ÑĐ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ÑĐ¸Đ½Đ³Đ°Đ¿ÑƒÑ€ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¡Đ². Ñ˜ĐµĐ»ĐµĐ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑĐ². Ñ˜ĐµĐ»ĐµĐ½ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- ÑĐ². Ñ˜ĐµĐ»ĐµĐ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- ÑĐ². Ñ˜ĐµĐ»ĐµĐ½ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑĐ². Ñ˜ĐµĐ»ĐµĐ½ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
-
-
- Đ¡Đ»Đ¾Đ²ĐµĐ½Đ°Ñ‡ĐºĐ¸ Ñ‚Đ¾Đ»Đ°Ñ€
- ÑĐ»Đ¾Đ²ĐµĐ½Đ°Ñ‡ĐºĐ° Ñ‚Đ¾Đ»Đ°Ñ€Đ°
- ÑĐ»Đ¾Đ²ĐµĐ½Đ°Ñ‡ĐºĐ¸Ñ… Ñ‚Đ¾Đ»Đ°Ñ€Đ°
- ÑĐ»Đ¾Đ²ĐµĐ½Đ°Ñ‡ĐºĐ¸ Ñ‚Đ¾Đ»Đ°Ñ€
- ÑĐ»Đ¾Đ²ĐµĐ½Đ°Ñ‡ĐºĐ¸Ñ… Ñ‚Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¡Đ»Đ¾Đ²Đ°Ñ‡ĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐµ ĐºÑ€ÑƒĐ½Đµ
- ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
- ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ° ĐºÑ€ÑƒĐ½Đ°
- ÑĐ»Đ¾Đ²Đ°Ñ‡ĐºĐ¸Ñ… ĐºÑ€ÑƒĐ½Đ°
-
-
- Đ¡Đ¸Ñ˜ĐµÑ€Đ°-Đ»ĐµĐ¾Đ½ÑˆĐºĐ¸ Đ»ĐµĐ¾Đ½Đµ
- ÑĐ¸Ñ˜ĐµÑ€Đ°Đ»ĐµĐ¾Đ½ÑĐºĐ° Đ»ĐµĐ¾Đ½Đ°
- ÑĐ¸Ñ˜ĐµÑ€Đ°Đ»ĐµĐ¾Đ½ÑĐºĐ¸Ñ… Đ»ĐµĐ¾Đ½Đ°
- ÑĐ¸Ñ˜ĐµÑ€Đ°Đ»ĐµĐ¾Đ½ÑĐºĐ¸ Đ»ĐµĐ¾Đ½Đµ
- ÑĐ¸Ñ˜ĐµÑ€Đ°Đ»ĐµĐ¾Đ½ÑĐºĐ¸ Đ»ĐµĐ¾Đ½Đ¸
-
-
- Đ¡ĐĐ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- ÑĐ¾Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ° ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- ÑĐ¾Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- ÑĐ¾Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- ÑĐ¾Đ¼Đ°Đ»Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ·Đ¸
-
-
- Đ¡Đ£Ñ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸ Đ³Đ¸Đ»Đ´ĐµÑ€
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ° Đ³Đ¸Đ»Đ´ĐµÑ€Đ°
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ³Đ¸Đ»Đ´ĐµÑ€Đ°
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸ Đ³Đ¸Đ»Đ´ĐµÑ€
- ÑÑƒÑ€Đ¸Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ³Đ¸Đ»Đ´ĐµÑ€Đ°
-
-
- Đ¡Đ°Đ¾ Đ¢Đ¾Đ¼Đµ и ĐŸÑ€Đ¸Đ½Ñ†Đ¸Đ¿Đµ Đ´Đ¾Đ±Ñ€Đ°
- ÑĐ°Đ¾ Ñ‚Đ¾Đ¼Đµ и Đ¿Ñ€Đ¸Đ½Ñ†Đ¸Đ¿Đµ Đ´Đ¾Đ±Ñ€Đ°
- ÑĐ°Đ¾ Ñ‚Đ¾Đ¼Đµ и Đ¿Ñ€Đ¸Đ½Ñ†Đ¸Đ¿Đµ Đ´Đ¾Đ±Ñ€Đ°
- ÑĐ°Đ¾ Ñ‚Đ¾Đ¼Đµ и Đ¿Ñ€Đ¸Đ½Ñ†Đ¸Đ¿Đµ Đ´Đ¾Đ±Đ°Ñ€
- ÑĐ°Đ¾ Ñ‚Đ¾Đ¼Đµ и Đ¿Ñ€Đ¸Đ½Ñ†Đ¸Đ¿Đµ Đ´Đ¾Đ±Ñ€Đ¸
-
-
- Đ¡Đ¾Đ²Ñ˜ĐµÑ‚ÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- ÑĐ¾Đ²Ñ˜ĐµÑ‚ÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ
- ÑĐ¾Đ²Ñ˜ĐµÑ‚ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
- ÑĐ¾Đ²Ñ˜ĐµÑ‚ÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- ÑĐ¾Đ²Ñ˜ĐµÑ‚ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
-
-
- Đ¡Đ°Đ»Đ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸ ĐºĐ¾Đ»Đ¾Đ½
- ÑĐ°Đ»Đ²Đ°Đ´Đ¾Ñ€ÑĐºĐ° ĐºĐ¾Đ»Đ¾Đ½Đ°
- ÑĐ°Đ»Đ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… ĐºĐ¾Đ»Đ¾Đ½Đ°
- ÑĐ°Đ»Đ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸ ĐºĐ¾Đ»Đ¾Đ½
- ÑĐ°Đ»Đ²Đ°Đ´Đ¾Ñ€ÑĐºĐ¸Ñ… ĐºĐ¾Đ»Đ¾Đ½Đ°
-
-
- Đ¡Đ¸Ñ€Đ¸Ñ˜ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑĐ¸Ñ€Đ¸Ñ˜ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
- ÑĐ¸Ñ€Đ¸Ñ˜ÑĐºĐ¸Ñ… Ñ„ÑƒĐ½Ñ‚Đ¸
- ÑĐ¸Ñ€Đ¸Ñ˜ÑĐºĐ° Ñ„ÑƒĐ½Ñ‚Đ°
- ÑĐ¸Ñ€Đ¸Ñ˜ÑĐºĐµ Ñ„ÑƒĐ½Ñ‚Đµ
-
-
- Đ¡Đ²Đ°Đ·Đ¸ Đ»Đ¸Đ»Đ°Đ½Đ³ĐµĐ½Đ¸
- ÑĐ²Đ°Đ·Đ¸ ĐµĐ¼Đ°Đ»Đ°Đ½Đ³ĐµĐ½Đ°
- ÑĐ²Đ°Đ·Đ¸ ĐµĐ¼Đ°Đ»Đ°Đ½Đ³ĐµĐ½Đ°
- ÑĐ²Đ°Đ·Đ¸ ĐµĐ¼Đ°Đ»Đ°Đ½Đ³ĐµĐ½
- ÑĐ²Đ°Đ·Đ¸ ĐµĐ¼Đ°Đ»Đ°Đ½Đ³ĐµĐ½Đ°
-
-
- Đ¢Đ°Đ¸ Đ±Đ°Ñ…Ñ‚
- Ñ‚Đ°Đ¸ Đ±Đ°Ñ…Ñ‚Đ°
- Ñ‚Đ°Đ¸ Đ±Đ°Ñ…Ñ‚Đ°
- Ñ‚Đ°Đ¸ Đ±Đ°Ñ…Ñ‚
- Ñ‚Đ°Đ¸ Đ±Đ°Ñ…Ñ‚Đ°
-
-
- Đ¢Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐµ Ñ€ÑƒĐ±Ñ™Đµ
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° Ñ€ÑƒĐ±Ñ™Đ°
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Ñ€ÑƒĐ±Ñ™Đ¸
-
-
- Đ¢Đ°Ñ™Đ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼Đ¾Đ½Đ¸
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° ÑĐ¾Đ¼Đ¾Đ½Đ°
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ¼Đ¾Đ½Đ°
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼Đ¾Đ½
- Ñ‚Đ°ÑŸĐ¸Ñ…Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ¼Đ¾Đ½Đ°
-
-
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚
- Ñ‚ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ° Đ¼Đ°Đ½Đ°Ñ‚Đ°
- Ñ‚ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… Đ¼Đ°Đ½Đ°Ñ‚Đ°
- Ñ‚ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚
- Ñ‚ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ Đ¼Đ°Đ½Đ°Ñ‚
-
-
- Đ¢ÑƒĐ½Đ¸Đ·Đ¸Ñ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ‚ÑƒĐ½ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ‚ÑƒĐ½ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ‚ÑƒĐ½ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ‚ÑƒĐ½ĐµĐ¶Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- Đ¢Đ¾Đ½Đ³Đ¾Đ½ÑˆĐºĐ° ĐŸĐ°Đ½Đ³Đ°
- Ñ‚Đ¾Đ½Đ³Đ°ÑˆĐºĐµ Đ¿Đ°Đ½Đ³Đµ
- Ñ‚Đ¾Đ½Đ³Đ°ÑˆĐºĐ¸Ñ… Đ¿Đ°Đ½Đ³Đ°
- Ñ‚Đ¾Đ½Đ³Đ°ÑˆĐºĐ° Đ¿Đ°Đ½Đ³Đ°
- Ñ‚Đ¾Đ½Đ³Đ°ÑˆĐºĐ¸Ñ… Đ¿Đ°Đ½Đ³Đ°
-
-
- Đ¢Đ¸Đ¼Đ¾Ñ€ÑˆĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Ñ‚Đ¸Đ¼Đ¾Ñ€ÑˆĐºĐ° еÑĐºÑƒĐ´Đ°
- Ñ‚Đ¸Đ¼Đ¾Ñ€ÑˆĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
- Ñ‚Đ¸Đ¼Đ¾Ñ€ÑˆĐºĐ¸ еÑĐºÑƒĐ´Đ¾
- Ñ‚Đ¸Đ¼Đ¾Ñ€ÑˆĐºĐ¸Ñ… еÑĐºÑƒĐ´Đ°
-
-
- Đ¡Ñ‚Đ°Ñ€Đ° турÑĐºĐ° Đ»Đ¸Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đµ турÑĐºĐµ Đ»Đ¸Ñ€Đµ
- ÑÑ‚Đ°Ñ€Đ¸Ñ… турÑĐºĐ¸Ñ… Đ»Đ¸Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đ° турÑĐºĐ° Đ»Đ¸Ñ€Đ°
- ÑÑ‚Đ°Ñ€Đ° турÑĐºĐ° Đ»Đ¸Ñ€Đ°
-
-
- Đ¢ÑƒÑ€ÑĐºĐ° Đ»Đ¸Ñ€Đ°
- турÑĐºĐµ Đ»Đ¸Ñ€Đµ
- турÑĐºĐ¸Ñ… Đ»Đ¸Ñ€Đ°
- турÑĐºĐ° Đ»Đ¸Ñ€Đ°
- турÑĐºĐ¸Ñ… Đ»Đ¸Ñ€Đ°
- Đ¢Đ»
-
-
- Đ¢Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´ Ñ‚Đ¾Đ±Đ°Đ³Đ¾ÑˆĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ‚Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´-Ñ‚Đ¾Đ±Đ°Đ³Đ¾ÑˆĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ‚Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´-Ñ‚Đ¾Đ±Đ°Đ³Đ¾ÑˆĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ‚Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´-Ñ‚Đ¾Đ±Đ°Đ³Đ¾ÑˆĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ‚Ñ€Đ¸Đ½Đ¸Đ´Đ°Đ´-Ñ‚Đ¾Đ±Đ°Đ³Đ¾ÑˆĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐĐ¾Đ²Đ¸ Ñ‚Đ°Ñ˜Đ²Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ½Đ¾Đ²Đ° Ñ‚Đ°Ñ˜Đ²Đ°Đ½ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ½Đ¾Đ²Đ¸Ñ… Ñ‚Đ°Ñ˜Đ²Đ°Đ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ½Đ¾Đ²Đ¸ Ñ‚Đ°Ñ˜Đ²Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ½Đ¾Đ²Đ¸ Ñ‚Đ°Ñ˜Đ²Đ°Đ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€Đ¸
-
-
- Đ¢Đ°Đ½Đ·Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- Ñ‚Đ°Đ½Đ·Đ°Đ½Đ¸Ñ˜ÑĐºĐ° ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- Ñ‚Đ°Đ½Đ·Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- Ñ‚Đ°Đ½Đ·Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- Ñ‚Đ°Đ½Đ·Đ°Đ½Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ·Đ¸
-
-
- Đ£ĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ° Ñ…Ñ€Đ¸Đ²Ñа
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐµ ĐºÑ€Đ¸Đ²Ñе
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸Ñ… ĐºÑ€Đ¸Đ²Ñи
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ° ĐºÑ€Đ¸Đ²Ñа
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸Ñ… ĐºÑ€Đ¸Đ²Ñи
-
-
- Đ£ĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸ ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½ĐµÑ‚Đ¸
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ° ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½Ñ†Đ¸Đ²Đ°
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸Ñ… ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½Ñ†Đ¸Đ²Đ°
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸ ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½ĐµÑ†
- ÑƒĐºÑ€Đ°Ñ˜Đ¸Đ½ÑĐºĐ¸Ñ… ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½Ñ†Đ¸Đ²Đ°
-
-
- Đ£Đ³Đ°Đ½Đ´ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³ (1966-1987)
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ° ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ° (UGS)
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ° (UGS)
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³ (UGS)
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ° (UGS)
-
-
- Đ£Đ³Đ°Đ½Đ´ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ° ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸Ñ… ÑˆĐ¸Đ»Đ¸Đ½Đ³Đ°
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ³
- ÑƒĐ³Đ°Đ½Đ´Đ¸Ñ˜ÑĐºĐ¸ ÑˆĐ¸Đ»Đ¸Đ½Đ·Đ¸
-
-
- ĐĐ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ°Đ¼ĐµÑ€Đ¸Ñ‡ĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€ (ÑĐ»ĐµĐ´ĐµÑ›Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€Đ° (ÑĐ»ĐµĐ´ĐµÑ›Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€Đ° (ÑĐ»ĐµĐ´ĐµÑ›Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€ (ÑĐ»ĐµĐ´ĐµÑ›Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€Đ° (ÑĐ»ĐµĐ´ĐµÑ›Đ¸ Đ´Đ°Đ½)
-
-
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€ (иÑÑ‚Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€Đ° (иÑÑ‚Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€Đ° (иÑÑ‚Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€ (иÑÑ‚Đ¸ Đ´Đ°Đ½)
- Đ¡ĐĐ” Đ´Đ¾Đ»Đ°Ñ€Đ° (иÑÑ‚Đ¸ Đ´Đ°Đ½)
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾ ĐµĐ½ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ¸Đ½Đ´ĐµĐºÑадаÑ
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа ĐµĐ½ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ¸Đ½Đ´ĐµĐºÑадеÑа
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа ĐµĐ½ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ¸Đ½Đ´ĐµĐºÑадеÑа
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾ ĐµĐ½ ÑƒĐ½Đ¸Đ´Đ°Î€Â´ĐµÑ Đ¸Đ½Đ´ĐµĐºÑадеÑ
- ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа ĐµĐ½ ÑƒĐ½Đ¸Đ´Đ°Đ´ĐµÑ Đ¸Đ½Đ´ĐµĐºÑадеÑа
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾ (1975-1993)
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа (UYP)
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа (UYP)
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾ (UYP)
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа (UYP)
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ° Đ¿ĐµĐ·Đ¾Ñа
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸ Đ¿ĐµĐ·Đ¾
- ÑƒÑ€ÑƒĐ³Đ²Đ°Ñ˜ÑĐºĐ¸Ñ… Đ¿ĐµĐ·Đ¾Ñа
-
-
- Đ£Đ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼
- ÑƒĐ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ° ÑĐ¾Đ¼Đ°
- ÑƒĐ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸Ñ… ÑĐ¾Đ¼Đ°
- ÑƒĐ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼
- ÑƒĐ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½ÑĐºĐ¸ ÑĐ¾Đ¼
-
-
- Đ’ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸ Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Î€Â°Đ½ÑĐºĐ° Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€Đ°
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸Ñ… Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€Đ°
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸ Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸Ñ… Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€Đ°
-
-
- Đ’ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸ Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€ Ñ„ÑƒĐµÑ€Ñ‚Đµ
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ° Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€Đ° Ñ„ÑƒĐµÑ€Ñ‚ĐµÑ
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸Ñ… Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€Đ° Ñ„ÑƒĐµÑ€Ñ‚ĐµÑ
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸ Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€ Ñ„ÑƒĐµÑ€Ñ‚ĐµÑ
- Đ²ĐµĐ½ĐµÑ†ÑƒĐµĐ»Đ°Đ½ÑĐºĐ¸Ñ… Đ±Đ¾Đ»Đ¸Đ²Đ°Ñ€Đ° Ñ„ÑƒĐµÑ€Ñ‚ĐµÑ
-
-
- Đ’Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ½Đ³
- Đ²Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ° Đ´Đ¾Đ½Đ³Đ°
- Đ²Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸Ñ… Đ´Đ¾Đ½Đ³Đ°
- Đ²Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ½Đ³
- Đ²Đ¸Ñ˜ĐµÑ‚Đ½Đ°Đ¼ÑĐºĐ¸ Đ´Đ¾Đ½Đ³
-
-
- Đ’Đ°Đ½ÑƒĐ°Ñ‚ÑĐºĐ¸ Đ²Đ°Ñ‚Ñƒ
- Đ²Đ°Đ½ÑƒĐ°Ñ‚Ñƒ Đ²Đ°Ñ‚ÑƒĐ°
- Đ²Đ°Đ½ÑƒĐ°Ñ‚Ñƒ Đ²Đ°Ñ‚ÑƒĐ°
- Đ²Đ°Đ½ÑƒĐ°Ñ‚Ñƒ Đ²Đ°Ñ‚Ñƒ
- Đ²Đ°Đ½ÑƒĐ°Ñ‚Ñƒ Đ²Đ°Ñ‚ÑƒĐ¸
-
-
- Đ¡Đ°Đ¼Đ¾Đ°Đ½ÑĐºĐ° Ñ‚Đ°Đ»Đ°
- ÑĐ°Đ¼Đ¾Đ°Đ½ÑĐºĐµ Ñ‚Đ°Đ»Đµ
- ÑĐ°Đ¼Đ¾Đ°Đ½ÑĐºĐ¸Ñ… Ñ‚Đ°Đ»Đ°
- ÑĐ°Đ¼Đ¾Đ°Đ½ÑĐºĐ° Ñ‚Đ°Đ»Đ°
- ÑĐ°Đ¼Đ¾Đ°Đ½ÑĐºĐ¸Ñ… Ñ‚Đ°Đ»Đ°
-
-
- CFA Ñ„Ñ€Đ°Đ½Đ°Đº BEAC
- CFA Ñ„Ñ€Đ°Đ½ĐºĐ° BEAC
- CFA Ñ„Ñ€Đ°Đ½Đ°ĐºĐ° BEAC
- CFA Ñ„Ñ€Đ°Đ½Đ°Đº BEAC
- CFA Ñ„Ñ€Đ°Đ½Ñ†Đ¸ BEAC
-
-
- Đ¡Ñ€ĐµĐ±Ñ€Đ¾
- ÑÑ€ĐµĐ±Ñ€Đ°
- ÑÑ€ĐµĐ±Ñ€Đ°
- ÑÑ€ĐµĐ±Ñ€Đ¾
- ÑÑ€ĐµĐ±Ñ€Đ°
-
-
- Đ—Đ»Đ°Ñ‚Đ¾
- Đ·Đ»Đ°Ñ‚Đ°
- Đ·Đ»Đ°Ñ‚Đ°
- Đ·Đ»Đ°Ñ‚Đ¾
- Đ·Đ»Đ°Ñ‚Đ°
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ÑĐºĐ° ĐºĐ¾Đ¼Đ¿Đ¾Đ·Đ¸Ñ‚Đ½Đ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐµ ĐºĐ¾Đ¼Đ¿Đ¾Đ·Đ¸Ñ‚Đ½Đµ Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đµ
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… ĐºĐ¾Đ¼Đ¿Đ¾Đ·Đ¸Ñ‚Đ½Đ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ° ĐºĐ¾Đ¼Đ¿Đ¾Đ·Đ¸Ñ‚Đ½Đ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… ĐºĐ¾Đ¼Đ¿Đ¾Đ·Đ¸Ñ‚Đ½Đ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ÑĐºĐ° Đ½Đ¾Đ²Ñ‡Đ°Đ½Đ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐµ Đ½Đ¾Đ²Ñ‡Đ°Đ½Đµ Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đµ (XBB)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Ñ‡Đ°Đ½Đ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° (XBB)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ° Đ½Đ¾Đ²Ñ‡Đ°Đ½Đ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° (XBB)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐµ Đ½Đ¾Đ²Ñ‡Đ°Đ½Đµ Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đµ (XBB)
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ÑĐºĐ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBC)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐµ Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đµ Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBC)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBC)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBC)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBC)
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ÑĐºĐ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBD)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐµ Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đµ Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBD)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBD)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBD)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° Ñ€Đ°Ñ‡ÑƒĐ½Đ° (XBD)
-
-
- Đ˜ÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Ñ€Đ¸Đ±ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Ñ€Đ¸Đ±ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Ñ€Đ¸Đ±ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Ñ€Đ¸Đ±ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- иÑÑ‚Đ¾Ñ‡Đ½Đ¾-ĐºĐ°Ñ€Đ¸Đ±ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐŸĐ¾ÑĐµĐ±Đ½Đ° Ñ†Ñ€Ñ‚Đ°Ñ›Đ° Đ¿Ñ€Đ°Đ²Đ°
- Đ¿Đ¾ÑĐµĐ±Đ½Đ° Ñ†Ñ€Ñ‚Đ°Ñ›Đ° Đ¿Ñ€Đ°Đ²Đ°
- Đ¿Đ¾ÑĐµĐ±Đ½Đ¸Ñ… Ñ†Ñ€Ñ‚Đ°Ñ›Đ¸Ñ… Đ¿Ñ€Đ°Đ²Đ°
- Đ¿Đ¾ÑĐµĐ±Đ½Đ¾ Ñ†Ñ€Ñ‚Đ°Ñ›Đµ Đ¿Ñ€Đ°Đ²Đ¾
- Đ¿Đ¾ÑĐµĐ±Đ½Đ¸Ñ… Ñ†Ñ€Ñ‚Đ°Ñ›Đ¸Ñ… Đ¿Ñ€Đ°Đ²Đ°
-
-
- Đ•Đ²Ñ€Đ¾Đ¿ÑĐºĐ° Đ²Đ°Đ»ÑƒÑ‚Đ½Đ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐµ Đ½Đ¾Đ²Ñ‡Đ°Đ½Đµ Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đµ (XEU)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Ñ‡Đ°Đ½Đ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° (XEU)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ° Đ½Đ¾Đ²Ñ‡Đ°Đ½Đ° Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ° (XEU)
- ĐµĐ²Ñ€Đ¾Đ¿ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Ñ‡Đ°Đ½Đ¸Ñ… Ñ˜ĐµĐ´Đ¸Đ½Đ¸Ñ†Đ°
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ Đ·Đ»Đ°Ñ‚Đ½Đ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ° Đ·Đ»Đ°Ñ‚Đ½Đ° Ñ„Ñ€Đ°Đ½ĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸Ñ… Đ·Đ»Đ°Ñ‚Đ½Đ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ Đ·Đ»Đ°Ñ‚Đ½Đ¸ Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸Ñ… Đ·Đ»Đ°Ñ‚Đ½Đ¸Ñ… Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ UIC-Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ° UIC-Ñ„Ñ€Đ°Đ½ĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸Ñ… UIC-Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸ UIC-Ñ„Ñ€Đ°Đ½Đ°Đº
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒÑĐºĐ¸Ñ… UIC-Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
-
-
- CFA Ñ„Ñ€Đ°Đ½Đ°Đº BCEAO
- CFA Ñ„Ñ€Đ°Đ½ĐºĐ° BCEAO
- CFA Ñ„Ñ€Đ°Đ½Đ°ĐºĐ° BCEAO
- CFA Ñ„Ñ€Đ°Đ½Đ°Đº BCEAO
- CFA Ñ„Ñ€Đ°Đ½Ñ†Đ¸ BCEAO
-
-
- ĐŸĐ°Đ»Đ°Đ´Đ¸Ñ˜ÑƒĐ¼
- Đ¿Đ°Đ»Đ°Đ´Đ¸Ñ˜ÑƒĐ¼Đ°
- Đ¿Đ°Đ»Đ°Đ´Đ¸Ñ˜ÑƒĐ¼Đ°
- Đ¿Đ°Đ»Đ°Đ´Đ¸Ñ˜ÑƒĐ¼
- Đ¿Đ°Đ»Đ°Đ´Đ¸Ñ˜ÑƒĐ¼Đ°
-
-
- CFP Ñ„Ñ€Đ°Đ½Đ°Đº
- CFP Ñ„Ñ€Đ°Đ½ĐºĐ°
- CFP Ñ„Ñ€Đ°Đ½Đ°ĐºĐ°
- CFP Ñ„Ñ€Đ°Đ½Đ°Đº
- CFP Ñ„Ñ€Đ°Đ½Ñ†Đ¸
-
-
- ĐŸĐ»Đ°Ñ‚Đ¸Đ½Đ°
- Đ¿Đ»Đ°Ñ‚Đ¸Đ½Đµ
- Đ¿Đ»Đ°Ñ‚Đ¸Đ½Đ°
- Đ¿Đ»Đ°Ñ‚Đ¸Đ½Đ°
- Đ¿Đ»Đ°Ñ‚Đ¸Đ½Đ°
-
-
- RINET Ñ„Đ¾Đ½Đ´
- RINET Ñ„Đ¾Đ½Đ´Đ°
- RINET Ñ„Đ¾Đ½Đ´Đ¾Đ²Đ°
- RINET Ñ„Đ¾Đ½Đ´
- RINET Ñ„Đ¾Đ½Đ´Đ¾Đ²Đ°
-
-
- ĐĐ¾Đ´ Ñ‚ĐµÑÑ‚Đ¸Ñ€Đ°Đ½Đµ Đ²Đ°Đ»ÑƒÑ‚Đµ
- ĐºĐ¾Đ´Đ° Ñ‚ĐµÑÑ‚Đ¸Ñ€Đ°Đ½Đµ Đ²Đ°Đ»ÑƒÑ‚Đµ
- ĐºĐ¾Đ´Đ¾Đ²Đ° Ñ‚ĐµÑÑ‚Đ¸Ñ€Đ°Đ½Đµ Đ²Đ°Đ»ÑƒÑ‚Đµ
- ĐºĐ¾Đ´ Ñ‚ĐµÑÑ‚Đ¸Ñ€Đ°Đ½Đµ Đ²Đ°Đ»ÑƒÑ‚Đµ
- ĐºĐ¾Đ´Đ¾Đ²Đ° Ñ‚ĐµÑÑ‚Đ¸Ñ€Đ°Đ½Đµ Đ²Đ°Đ»ÑƒÑ‚Đµ
-
-
- ĐĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚Đ° или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ° Đ²Đ°Đ»ÑƒÑ‚Đ°
- Đ½ĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚Đµ или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đµ Đ²Đ°Đ»ÑƒÑ‚Đµ
- Đ½ĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚Đ¸Ñ… или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ¸Ñ… Đ²Đ°Đ»ÑƒÑ‚Đ°
- Đ½ĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚Đ° или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ° Đ²Đ°Đ»ÑƒÑ‚Đ°
- Đ½ĐµĐ¿Đ¾Đ·Đ½Đ°Ñ‚Đ¸Ñ… или Đ½ĐµĐ²Đ°Đ¶ĐµÑ›Đ¸Ñ… Đ²Đ°Đ»ÑƒÑ‚Đ°
-
-
- ĐˆĐµĐ¼ĐµĐ½ÑĐºĐ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
-
-
- ĐˆĐµĐ¼ĐµĐ½ÑĐºĐ¸ Ñ€Đ¸Đ°Đ»
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ° Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ¸Ñ… Ñ€Đ¸Ñ˜Đ°Đ»Đ°
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»
- Ñ˜ĐµĐ¼ĐµĐ½ÑĐºĐ¸ Ñ€Đ¸Ñ˜Đ°Đ»Đ¸
-
-
- ĐˆÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ Ñ‚Đ²Ñ€Đ´Đ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ° Ñ‚Đ²Ñ€Đ´Đ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Ñ… Ñ‚Đ²Ñ€Đ´Đ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ Ñ‚Đ²Ñ€Đ´Đ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Ñ… Ñ‚Đ²Ñ€Đ´Đ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐˆÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ° Đ½Đ¾Đ²Đ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐˆÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ° ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ° Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Ñ… ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸ ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸ Đ´Đ¸Đ½Đ°Ñ€
- Ñ˜ÑƒĐ³Đ¾ÑĐ»Đ¾Đ²ĐµĐ½ÑĐºĐ¸Ñ… ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ¸Ñ… Đ´Đ¸Đ½Đ°Ñ€Đ°
-
-
- ĐˆÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸ Ñ€Đ°Đ½Đ´ (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸)
- Ñ˜ÑƒĐ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ° Ñ€Đ°Đ½Đ´Đ° (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ°)
- Ñ˜ÑƒĐ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸Ñ… Ñ€Đ°Đ½Đ´Đ° (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸Ñ…)
- Ñ˜ÑƒĐ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸ Ñ€Đ°Đ½Đ´ (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸)
- Ñ˜ÑƒĐ¶Đ½Đ¾Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸Ñ… Ñ€Đ°Đ½Đ´Đ° (Ñ„Đ¸Đ½Đ°Đ½ÑĐ¸Ñ˜ÑĐºĐ¸Ñ…)
-
-
- ĐˆÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸ Ñ€Đ°Đ½Đ´
- Ñ˜ÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ° Ñ€Đ°Đ½Đ´Đ°
- Ñ˜ÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸Ñ… Ñ€Đ°Đ½Đ´Đ°
- Ñ˜ÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸ Ñ€Đ°Đ½Đ´
- Ñ˜ÑƒĐ¶Đ½Đ¾-Đ°Ñ„Ñ€Đ¸Ñ‡ĐºĐ¸Ñ… Ñ€Đ°Đ½Đ´Đ°
-
-
- Đ—Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Ñ‡Đ°
- Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐµ ĐºĐ²Đ°Ñ‡Đµ
- Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ¸Ñ… ĐºĐ²Đ°Ñ‡Đ°
- Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐ° ĐºĐ²Đ°Ñ‡Đ°
- Đ·Đ°Đ¼Đ±Đ¸Ñ˜ÑĐºĐµ ĐºĐ²Đ°Ñ‡Đµ
-
-
- Đ—Đ°Đ¸Ñ€ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ Đ·Đ°Đ¸Ñ€
- Đ·Đ°Đ¸Ñ€ÑĐºĐ° Đ½Đ¾Đ²Đ° Đ·Đ°Đ¸Ñ€Đ°
- Đ·Đ°Đ¸Ñ€ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Đ·Đ°Đ¸Ñ€Đ°
- Đ·Đ°Đ¸Ñ€ÑĐºĐ¸ Đ½Đ¾Đ²Đ¸ Đ·Đ°Đ¸Ñ€
- Đ·Đ°Đ¸Ñ€ÑĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Đ·Đ°Đ¸Ñ€Đ°
-
-
- Đ—Đ°Đ¸Ñ€ÑĐºĐ¸ Đ·Đ°Đ¸Ñ€
- Đ·Đ°Đ¸Ñ€ÑĐºĐ° Đ·Đ°Đ¸Ñ€Đ°
- Đ·Đ°Đ¸Ñ€ÑĐºĐ¸Ñ… Đ·Đ°Đ¸Ñ€Đ°
- Đ·Đ°Đ¸Ñ€ÑĐºĐ¸ Đ·Đ°Đ¸Ñ€
- Đ·Đ°Đ¸Ñ€ÑĐºĐ¸Ñ… Đ·Đ°Đ¸Ñ€Đ°
-
-
- Đ—Đ¸Đ¼Đ±Đ°Đ±Đ²ĐµÑ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ·Đ¸Đ¼Đ±Đ°Đ±Đ²ĐµÑ˜ÑĐºĐ° Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ·Đ¸Đ¼Đ±Đ°Đ±Đ²ĐµÑ˜ÑĐºĐ¸Ñ… Đ´Đ¾Đ»Đ°Ñ€Đ°
- Đ·Đ¸Đ¼Đ±Đ°Đ±Đ²ĐµÑ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€
- Đ·Đ¸Đ¼Đ±Đ°Đ±Đ²ĐµÑ˜ÑĐºĐ¸ Đ´Đ¾Đ»Đ°Ñ€Đ¸
-
-
-
-
-
- {0} Đ´Đ°Đ½Đ°
- {0} Đ´Đ°Đ½Đ°
- {0} Đ´Đ°Đ½
- {0} Đ´Đ°Đ½
-
-
- {0} ÑĐ°Ñ‚Đ°
- {0} ÑĐ°Ñ‚Đ¸
- {0} ÑĐ°Ñ‚
- {0} ÑĐ°Ñ‚
-
-
- {0} Đ¼Đ¸Đ½ÑƒÑ‚Đ°
- {0} Đ¼Đ¸Đ½ÑƒÑ‚Đ°
- {0} Đ¼Đ¸Đ½ÑƒÑ‚
- {0} Đ¼Đ¸Đ½ÑƒÑ‚
-
-
- {0} Đ¼ĐµÑĐµÑ†Đ°
- {0} Đ¼ĐµÑĐµÑ†Đ¸
- {0} Đ¼ĐµÑĐµÑ†
- {0} Đ¼ĐµÑĐµÑ†
-
-
- {0} ÑĐµĐºÑƒĐ½Đ´Đµ
- {0} ÑĐµĐºÑƒĐ½Đ´Đ¸
- {0} ÑĐµĐºÑƒĐ½Đ´Đ°
- {0} ÑĐµĐºÑƒĐ½Đ´Đ°
-
-
- {0} Đ½ĐµĐ´ĐµÑ™Đµ
- {0} Đ½ĐµĐ´ĐµÑ™Đ°
- {0} Đ½ĐµĐ´ĐµÑ™Đ°
- {0} Đ½ĐµĐ´ĐµÑ™Đ°
-
-
- {0} Đ³Đ¾Đ´Đ¸Đ½Đµ
- {0} Đ³Đ¾Đ´Đ¸Đ½Đ°
- {0} Đ³Đ¾Đ´Đ¸Đ½Đ°
- {0} Đ³Đ¾Đ´Đ¸Đ½Đ°
-
-
-
-
- да:д
- Đ½Đµ:Đ½
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_BA.xml b/airtime_mvc/library/Zend/Locale/Data/sr_BA.xml
deleted file mode 100644
index cf79f15b1..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_BA.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_CS.xml b/airtime_mvc/library/Zend/Locale/Data/sr_CS.xml
deleted file mode 100644
index 215504675..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_CS.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl.xml
deleted file mode 100644
index cb54d62a2..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_BA.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_BA.xml
deleted file mode 100644
index 423322d98..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_BA.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- ÑÑ€Đ¿ÑĐºĐ¸
-
-
-
-
-
-
-
-
- Ñ˜ÑƒĐ½Đ¸
- Ñ˜ÑƒĐ»Đ¸
-
-
-
-
-
-
- ÑÑ€Đ¸
-
-
- ÑÑ€Đ¸Ñ˜ĐµĐ´Đ°
-
-
-
-
-
-
- yyyy-MM-dd
-
-
-
-
- yy-MM-dd
-
-
-
-
-
-
- HH 'Ñ‡Đ°ÑĐ¾Đ²Đ°', mm 'Đ¼Đ¸Đ½ÑƒÑ‚Đ°', ss 'ÑĐµĐºÑƒĐ½Đ´Đ¸' zzzz
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
-
- MM-dd - MM-dd
- MM-dd - MM-dd
-
-
- E, MM-dd - E, MM-dd
- E, MM-dd - E, MM-dd
-
-
- yy-MM - yy-MM
- yy-MM - yy-MM
-
-
- yy-MM-dd - yy-MM-dd
- yy-MM-dd - yy-MM-dd
- yy-MM-dd - yy-MM-dd
-
-
- E, yy-MM-dd - E, yy-MM-dd
- E, yy-MM-dd - E, yy-MM-dd
- E, yy-MM-dd - E, yy-MM-dd
-
-
-
-
-
-
-
-
-
- ĐĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¸Đ±Đ¸Đ»Đ½Đ° ĐœĐ°Ñ€ĐºĐ°
- ĐĐœ.
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_CS.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_CS.xml
deleted file mode 100644
index 4545e9508..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_CS.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_ME.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_ME.xml
deleted file mode 100644
index bb4708073..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_ME.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_RS.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_RS.xml
deleted file mode 100644
index 2f81bc3ed..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_RS.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_YU.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_YU.xml
deleted file mode 100644
index 31fec2d4c..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Cyrl_YU.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Latn.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Latn.xml
deleted file mode 100644
index 502ebb9e1..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Latn.xml
+++ /dev/null
@@ -1,5378 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- Afarski
- Abkazijski
- AÄineski
- Akoli
- Adangmejski
- Adigejski
- Avestanski
- Afrikanerski
- Afro-azijatski
- Afrihili
- Ainu
- Akan
- Akadijski
- Aljut
- Algonkvijanski jezik
- Južni altai
- Amharski
- Aragonežanski
- Staroengleski
- Angika
- ApaÄki jezik
- Arapski
- Armajski
- Arokanijski
- Arapaho
- VeÅ¡taÄki
- Aravak
- Asemijski
- Asturijski
- Atapaskan
- Australijski jezik
- Avarski
- Avadhi
- Ajmara
- Azerbejdžanski
- Baškir
- Banda
- Bamileke
- BaluÄi
- Balinezijski
- Basa
- BaltiÄki jezik
- Beloruski
- Beja
- Bemba
- Berber
- Bugarski
- Biharski
- Bojpuri
- Bislama
- Bikol
- Bini
- Siksika
- Bambara
- Bengalski
- Bantu
- Tibetanski
- Bretonski
- Braj
- Bosanski
- Batak
- Buriat
- Buginežanskii
- Blin
- Katalonski
- Kado
- Jezik centralno-ameriÄkih Indijanaca
- Karipski
- Kavkaski
- Atsam
- ÄŒeÄenski
- Cebuano
- Keltski jezik
- ÄŒamoro
- ÄŒibÄa
- ÄŒagatai
- ÄŒukeski
- Mari
- ÄŒinukski
- ÄŒoktavski
- ÄŒipvijanski
- ÄŒeroki
- ÄŒejenski
- ÄŒamski jezik
- Korzikanski
- Koptski
- Kreolski ili pidžin zasnovan na engleskom
- Kreolski ili pidžin zasnovan na francuskom
- Kreolski ili pidžin baziran na portugalskom
- Kri
- Krimeanski turski
- kreolski ili pidžin
- Češki
- Kašubijanski
- Staroslovenski
- KuÅ¡itiÄki jezik
- Čuvaški
- Velški
- Danski
- Dakota
- Dargva
- Dajaški
- NemaÄki
- Austrijski nemaÄki
- Å vajcarski visoki nemaÄki
- Delaver
- Slavski
- Dogrib
- Dinka
- Dogri
- Dravidijski jezik
- Niski Sorbijanski
- Duala
- Srednji holandski
- Divehijski
- Äula
- Džonga
- Eve
- Efikski
- Staroegipatski
- Ekajuk
- GrÄki
- Elamitski
- Engleski
- Australijski engleski
- Kanadski engleski
- Britanski engleski
- Engleski (SAD)
- Srednji engleski
- Esperanto
- Å panski
- Latino-ameriÄki Å¡panski
- Iberijski španski
- Estonski
- Baskijski
- Evondo
- Persijski
- Fang
- Fanti
- Fulah
- Finski
- Filipinski
- Ugro-finski jezik
- Fidžijski
- Farski
- Fon
- Francuski
- Kanadski francuski
- Å vajcarski francuski
- Srednji francuski
- Starofrancuski
- Severno-frizijski
- IstoÄni frizijski
- Friulijski
- Frizijski
- Irski
- Ga
- Gajo
- Gbaja
- Å kotski Galski
- Germanski jezik
- Džiz
- Gilbertški
- Galski
- Srednji visoki nemaÄki
- Gvarani
- StaronemaÄki
- Gondi
- Gorontalo
- Gotski
- Grebo
- StarogrÄki
- Å vajcarsko nemaÄki
- Gudžarati
- Manks
- Gvich'in
- Hausa
- Haida
- Havajski
- Hebrejski
- Hindi
- Hiligajnon
- HimaÄali
- Hitite
- Hmong
- Hiri Motu
- Hrvatski
- Gornji sorbijski
- Haićanski
- Mađarski
- Hupa
- Jermenski
- Herero
- Interlingva
- Iban
- Indonezijski
- Interlingve
- Igbo
- SiÄuan ji
- Ijo
- Inupiak
- Iloko
- Indik
- Indo-evropski jezik
- Ingušetski
- Ido
- Iranski jezik
- Irokvojanski
- Islandski
- Italijanski
- Inuktitut
- Japanski
- Lojban
- Judeo-persijski
- Judeo-arapski
- Javanski
- Gruzijski
- Kara-kalpaški
- Kabile
- KaÄin
- Žju
- Kamba
- Karenski
- Kavi
- Kabardijski
- Tjap
- Koro
- Kongo
- Kasi
- Koisanski jezik
- Kotanizijski
- Kikuju
- Kuanjama
- KozaÄki
- Kalalisutski
- Kmerski
- Kimbundu
- Kanada
- Korejski
- Konkani
- Kosreanski
- Kpele
- Kanuri
- KaraÄaj-balkar
- Karelijski
- Kru
- Kurukh
- Kašmiri
- Kurdski
- Kumik
- Kutenai
- Komi
- Korniški
- Kirgiski
- Latinski
- Ladino
- Landa
- Lamba
- Luksemburški
- Lezgian
- Ganda
- Limburgiš
- Lingala
- Laoški
- Mongo
- Lozi
- Litvanski
- Luba-katanga
- Luba-lulua
- Luiseno
- Lunda
- Luo
- Lušai
- Letonski
- Madureški
- Magahi
- Maitili
- Makasar
- Mandingo
- Austronežanski
- Masai
- Mokša
- Mandar
- Mende
- Malagazijski
- Srednji irski
- Maršalski
- Maorski
- Mikmak
- Minangkabau
- Razni jezici
- Makedonski
- Mon-kmerski jezik
- Malajalam
- Mongolski
- ManÄu
- Manipuri
- Manobo jezik
- Moldavski
- Mahavski
- Mosi
- Marati
- Malajski
- Melteški
- Više jezika
- Munda jezik
- Kriški
- Mirandeški
- Marvari
- Burmanski
- Majanski jezik
- Erzija
- Nauru
- Nahuatl
- Jezik severno-ameriÄkih Indijanaca
- Neapolitanski
- NorveÅ¡ki bokmĂ¥l
- Severni ndebele
- Niski nemaÄki
- Nepalski
- Nevari
- Ndonga
- Nias
- Niger-kordofanijski jezik
- Niuean
- Holandski
- Flamanski
- Norveški njorsk
- Norveški
- Nogai
- Stari norski
- N’ko
- Južni ndebele
- Severni soto
- Nubijski jezik
- Navaho
- KlasiÄni nevari
- Njanja
- Njamvezi
- Njankole
- Njoro
- Nzima
- Provansalski
- Ojibva
- Oromo
- Orijski
- Osetski
- Osage
- Otomanski turski
- Otomanski jezik
- Pandžabski
- Papuanski jezik
- Pangasinski
- Pahlavi
- Pampanga
- Papiamento
- Palauanski
- Staropersijski
- Filipinski jezik
- FeniÄanski
- Pali
- Poljski
- Ponpejski
- Prakritski jezik
- Staroprovansalski
- Paštunski
- Portugalski
- Brazilski portugalski
- Iberijski portugalski
- KvenÄa
- Rađastani
- Rapanui
- Rarotongan
- Reto-Romanski
- Rundi
- Rumunski
- Romanski jezik
- Romani
- Run
- Ruski
- Aromanijski
- Kinjarvanda
- Sanskrit
- Sandave
- Jakut
- Jezik južno-ameriÄkih Indijanaca
- Sališanski jezik
- Samaritanski aramejski
- Sasak
- Santali
- Sardinijski
- Sicilijanski
- Å kotski
- Sindi
- Severni sami
- Selkap
- Semitski jezik
- Sango
- Staroirski
- Jezik znakova
- Srpskohrvatski
- Å an
- Singaleski
- Sidamo
- Siuanski jezik
- Sino-tibetanski jezik
- SlovaÄki
- SlovenaÄki
- Slovenski jezik
- Samoanski
- Južni sami
- Sami jezik
- Lule sami
- Inari sami
- Skoltski jezik
- Å ona
- Soninke
- Somalski
- Sodžijenski
- Songai
- Albanski
- Srpski
- Srananski tongo
- Serer
- Svati
- Nilo-saharski jezik
- Sesoto
- Sudanski
- Sukuma
- Susu
- Sumerski
- Å vedski
- Svahili
- KlasiÄni sirijski
- Sirijski
- Tamilski
- Tai jezik
- Telugu
- Timne
- Tereno
- Tetum
- Tađik
- Tajlandski
- Tigrinja
- Tigre
- Tiv
- Turkmenski
- Tokelau
- Tagalski
- Klingonski
- Tlingit
- Tamašek
- Tsvana
- Tonga
- Njasa tonga
- Tok pisin
- Turski
- Tsonga
- Tsimšian
- Tatarski
- Tumbuka
- Tupi jezik
- AltaiÄki jezik
- Tuvalu
- Tvi
- Tahićanski
- Tuvinijski
- Udmurt
- Ujgurski
- Ugaritski
- Ukrajinski
- Umbundu
- Nepoznat ili nevažeći jezik
- Urdu
- UzbeÄki
- Vai
- Venda
- Vijetnamski
- VolapĂ¼k
- Votski
- Valun
- Vakašanski jezik
- Valamo
- Varej
- Vašo
- Sorbijanski jezik
- Volof
- Kalmik
- Khosa
- Jao
- Japeški
- Jidiš
- Jorubanski
- Jupik
- Zuang
- ZapoteÄki
- Blisimboli
- Zenaga
- Kineski
- Kineski (pojednostavljen)
- Kineski (tradicionalni)
- Zande
- Zulu
- Zuni
- Bez lingvistiÄkog sadržaja
- Zaza
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Svet
- Afrika
- SevernoameriÄki kontinent
- Južna Amerika
- Okeanija
- Zapadna Afrika
- Centralna Amerika
- IstoÄna Afrika
- Severna Afrika
- Centralna Afrika
- Južna Afrika
- Amerike
- Severna Amerika
- Karibi
- IstoÄna Azija
- Južna Azija
- JugoistoÄna Azija
- Južna Evropa
- Australija i Novi Zeland
- Melanezija
- Micronezija
- Polinezija
- Južno-centralna Azija
- Azija
- Centralna Azija
- Zapadna Azija
- Evropa
- IstoÄna Evropa
- Severna Evropa
- Zapadna Evropa
- Komonvelt nezavisnih država
- Latinska Amerika i Karibi
- Kanalska ostrva
- Andora
- Ujedinjeni Arapski Emirati
- Avganistan
- Antigva i Barbuda
- Angvila
- Albanija
- Armenija
- Holandski Antili
- Angola
- Antarktika
- Argentina
- AmeriÄka Samoa
- Austrija
- Australija
- Aruba
- Alandska ostrva
- Azerbejdžan
- Bosna i Hercegovina
- Barbados
- Bangladeš
- Belgija
- Burkina Faso
- Bugarska
- Bahrein
- Burundi
- Benin
- Sv. Bartolomej
- Bermuda
- Brunej
- Bolivija
- Brazil
- Bahami
- Butan
- Buve Ostrva
- Bocvana
- Belorusija
- Belise
- Kanada
- Kokos (Keling) Ostrva
- Demokratska Republika Kongo
- Centralno AfriÄka Republika
- Kongo
- Å vajcarska
- Obala SlonovaÄe
- Kukova Ostrva
- ÄŒile
- Kamerun
- Kina
- Kolumbija
- Kostarika
- Srbija i Crna Gora
- Kuba
- Kape Verde
- Božićna Ostrva
- Kipar
- Češka
- NemaÄka
- Džibuti
- Danska
- Dominika
- Dominikanska Republika
- Alžir
- Ekvador
- Estonija
- Egipat
- Zapadna Sahara
- Eritreja
- Å panija
- Etiopija
- Finska
- Fidži
- Folklandska Ostrva
- Mikronezija
- Farska Ostrva
- Francuska
- Gabon
- Velika Britanija
- Grenada
- Gruzija
- Francuska Gvajana
- Gurnsi
- Gana
- Gibraltar
- Grenland
- Gambija
- Gvineja
- Gvadelupe
- Ekvatorijalna Gvineja
- GrÄka
- Južna Džordžija i Južna SendviÄ Ostrva
- Gvatemala
- Guam
- Gvineja-Bisao
- Gvajana
- Hong Kong (S. A. R. Kina)
- Herd i Mekdonald Ostrva
- Honduras
- Hrvatska
- Haiti
- Mađarska
- Indonezija
- Irska
- Izrael
- Ostrvo Man
- Indija
- Britansko Indijska Okeanska Teritorija
- Irak
- Iran
- Island
- Italija
- Džersi
- Jamajka
- Jordan
- Japan
- Kenija
- Kirgizstan
- Kambodža
- Kiribati
- Komorska Ostrva
- Sent Kits i Nevis
- Severna Koreja
- Južna Koreja
- Kuvajt
- Kajmanska Ostrva
- Kazahstan
- Laos
- Liban
- Sent Lucija
- Lihtenštajn
- Å ri Lanka
- Liberija
- Lesoto
- Litvanija
- Luksemburg
- Letonija
- Libija
- Maroko
- Monako
- Moldavija
- Crna Gora
- Sv. Martin
- Madagaskar
- Maršalska Ostrva
- Makedonija
- Mali
- Mijanmar
- Mongolija
- Makao (S. A. R. Kina)
- Severna Marijanska Ostrva
- Martinik
- Mauritanija
- Monserat
- Malta
- Mauricius
- Maldivi
- Malavi
- Meksiko
- Malezija
- Mozambik
- Namibija
- Nova Kaledonija
- Niger
- Norfolk Ostrvo
- Nigerija
- Nikaragva
- Holandija
- Norveška
- Nepal
- Nauru
- Niue
- Novi Zeland
- Oman
- Panama
- Peru
- Francuska Polinezija
- Papua Nova Gvineja
- Filipini
- Pakistan
- Poljska
- Sen Pjer i Mikelon
- Pitcairn
- Porto Riko
- Palestinska Teritorija
- Portugal
- Palau
- Paragvaj
- Katar
- Ostala okeanija
- Evropska unija
- Rejunion
- Rumunija
- Srbija
- Rusija
- Ruanda
- Saudijska Arabija
- Solomonska Ostrva
- Sejšeli
- Sudan
- Å vedska
- Singapur
- Sveta Jelena
- Slovenija
- Svalbard i Janmajen Ostrva
- SlovaÄka
- Sijera Leone
- San Marino
- Senegal
- Somalija
- Surinam
- Sao Tome i Principe
- Salvador
- Sirija
- Svazilend
- Turks i Kajkos Ostrva
- ÄŒad
- Francuske Južne Teritorije
- Togo
- Tajland
- Tadžikistan
- Tokelau
- IstoÄni Timor
- Turkmenistan
- Tunis
- Tonga
- Turska
- Trinidad i Tobago
- Tuvalu
- Tajvan
- Tanzanija
- Ukrajina
- Uganda
- Manja Udaljena Ostrva SAD
- Sjedinjene AmeriÄke Države
- Urugvaj
- Uzbekistan
- Vatikan
- Sent Vinsent i Grenadini
- Venecuela
- Britanska DeviÄanska Ostrva
- S.A.D. DeviÄanska Ostrva
- Vijetnam
- Vanuatu
- Valis i Futuna Ostrva
- Samoa
- Jemen
- Majote
- JužnoafriÄka Republika
- Zambija
- Zimbabve
- Nepoznat ili nevažeći region
-
-
- Tradicionalna nemaÄka ortografija
- Standardizovana rezijanska ortografija
- NemaÄka ortografija 1996
- Francuski iz kasnog srednjeg veka do 1606.
- Rani moderni francuski
- IstoÄni jermenski
- Zapadno-jermenski
- Ujedinjeni turski latiniÄni alfabet
- San ÄorÄ‘ijo/Bila dijalekt
- Buntling
- IPA fonetika
- UPA fonetika
- Lipovac dijalekt rezijanski
- Monotonik
- Natison dijalekt
- Gnjiva/Njiva dijalekt
- Oseako/Osojane dijalekt
- Politonik
- Kompjuter
- Revidirana ortigrafija
- Rezijan
- Saho
- Å kotski standardni engleski
- Skauz
- Stolvica/Solbica dijalekt
- Taraskijevica ortografija
- Valencijski
-
-
- Kalendar
- Sortiranje
- Valuta
-
-
- Tradicionalno kinesko sortiranje
- BudistiÄki kalendar
- Kineski kalendar
- Direktno sortiranje
- Pojednostavljeno kinesko sortiranje
- Gregorijanski kalendar
- Hebrejski kalendar
- Indijski nacionalni kalendar
- Islamski kalendar
- Islamski civilni kalendar
- Japanski kalendar
- Sortiranje kao telefonski imenik
- Pinjin sortiranje
- Kalendar Republike Kine
- Sortiranje po broju crta
- Tradicionalno sortiranje
-
-
- MetriÄki
- SAD
-
-
- Jezik: {0}
- Skript: {0}
- Region: {0}
-
-
-
- [a-c Ä Ä‡ d Ä‘ {dž} e-l {lj} m n {nj} o p r s Å¡ t-v z ž]
- [q w-y]
-
-
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
-
-
-
- jan
- feb
- mar
- apr
- maj
- jun
- jul
- avg
- sep
- okt
- nov
- dec
-
-
- januar
- februar
- mart
- april
- maj
- jun
- jul
- avgust
- septembar
- oktobar
- novembar
- decembar
-
-
-
-
- j
- f
- m
- a
- m
- j
- j
- a
- s
- o
- n
- d
-
-
-
-
-
-
- ned
- pon
- uto
- sre
- Äet
- pet
- sub
-
-
- nedelja
- ponedeljak
- utorak
- sreda
- Äetvrtak
- petak
- subota
-
-
-
-
- n
- p
- u
- s
- Ä
- p
- s
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- 1. kvartal
- 2. kvartal
- 3. kvartal
- 4. kvartal
-
-
-
- pre podne
- popodne
-
-
- Pre nove ere
- Nove ere
-
-
- p. n. e.
- n. e
-
-
-
-
- d EEE
- H.mm
- y MMM
- y QQQ
-
-
-
- M.yy - M.yy
- M.yy - M.yy
-
-
-
-
-
- era
-
-
- godina
-
-
- mesec
-
-
- nedelja
-
-
- dan
- pre tri dana
- prekjuÄe
- juÄe
- danas
- sutra
- prekosutra
- za tri dana
-
-
- dan u nedelji
-
-
- pre podne/ popodne
-
-
- Äas
-
-
- minut
-
-
- sekund
-
-
- zona
-
-
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- pre podne
- popodne
-
-
- Pre RK
- RK
-
-
-
-
-
-
- Nepoznat ili nevažeći grad
-
-
- Andora
-
-
- Dubai
-
-
- Kabul
-
-
- Antigva
-
-
- Angvila
-
-
- Tirana
-
-
- Jerevan
-
-
- Kiraso
-
-
- Luanda
-
-
- Rotera
-
-
- Palmer
-
-
- Južni pol
-
-
- Å ova
-
-
- Moson
-
-
- Dejvis
-
-
- Vostok
-
-
- Kasej
-
-
- Dimon d’Urvil
-
-
- MakMurdo
-
-
- Rio galegos
-
-
- Mendoza (Argentina)
-
-
- San Huan (Argentina)
-
-
- Ušuaia
-
-
- La Rioja
-
-
- San Luis
-
-
- Katamarka (Argentina)
-
-
- Salta
-
-
- Jujui
-
-
- Tukuman
-
-
- Kordoba (Argentina)
-
-
- Buenos Aires
-
-
- Pago Pago
-
-
- BeÄ
-
-
- Pert (Australija)
-
-
- Iukla (Australija)
-
-
- Darvin (Australija)
-
-
- Adelaida (Australija)
-
-
- Broken Hil (Australija)
-
-
- Kurie (Australija)
-
-
- Melburn (Australija)
-
-
- Horbat (Australija)
-
-
- Lindeman
-
-
- Sidnej (Australija)
-
-
- Brizbejn (Australija)
-
-
- Lord Hov
-
-
- Aruba
-
-
- Baku
-
-
- Barbados
-
-
- Daka
-
-
- Brisel
-
-
- Uagadugu
-
-
- Sofija
-
-
- Bahrein
-
-
- Budžumbura
-
-
- Porto Novo
-
-
- Bermudi
-
-
- Bruneji
-
-
- La Paz
-
-
- Eirunepe (Brazil)
-
-
- Rio Branko
-
-
- Porto Veljo
-
-
- Boa Vista
-
-
- Manaus
-
-
- Kuiaba
-
-
- Santarem
-
-
- Kampo Grande
-
-
- Belem
-
-
- Aragvajana
-
-
- Sao Paolo
-
-
- Bahia (Brazil)
-
-
- Fortaleza
-
-
- Masejo
-
-
- Resife
-
-
- Noronja
-
-
- Nasau
-
-
- Thimphu
-
-
- Gaboron
-
-
- Minsk
-
-
- Belize
-
-
- Doson (Kanada)
-
-
- Vajthors
-
-
- Inuvik (Kanada)
-
-
- Vankuver (kanada)
-
-
- Doson Krik (Kanada)
-
-
- Jelonajf
-
-
- Edmonton (Kanada)
-
-
- Svift Kurent
-
-
- Kembridž Bej (Kanada)
-
-
- Regina
-
-
- Vinipeg (Kanada)
-
-
- Rezolut
-
-
- Rejni river
-
-
- Rankin Inlet
-
-
- Koral Harbur (Kanada)
-
-
- Tander Bej
-
-
- Nipigon
-
-
- Toronto (Kanada)
-
-
- Montreal (kanada)
-
-
- Ikaluit
-
-
- Pangnirtung
-
-
- Monkton
-
-
- Halifaks (kanada)
-
-
- Gus Bej (Kanada)
-
-
- Glejs Bej (Kanada)
-
-
- Blanc-Sejblon (kanada)
-
-
- Sv. Džon (Kanada)
-
-
- Kokosova ostrva
-
-
- Kinšasa
-
-
- Lumumbaši
-
-
- Bangui
-
-
- Brazavil
-
-
- Cirih
-
-
- Abidžan
-
-
- Rarotonga
-
-
- Uskršnje ostrvo
-
-
- Santijago
-
-
- Duala
-
-
- Kašgar (Kina)
-
-
- Urumki
-
-
- ÄŒongking (Kina)
-
-
- Å angaj
-
-
- Harbin (Kina)
-
-
- Bogota
-
-
- Kostarika
-
-
- Havana
-
-
- Kape Verde
-
-
- Božićno ostrvo
-
-
- Nikozija
-
-
- Berlin
-
-
- Džibuti
-
-
- Kopenhagen
-
-
- Dominika
-
-
- Santo Domingo
-
-
- Alžir
-
-
- Galapagos
-
-
- Gvajakil
-
-
- Talin
-
-
- Kairo
-
-
- El Ajun
-
-
- Asmera
-
-
- Kanarska ostrva
-
-
- Seuta
-
-
- Madrid
-
-
- Adis Abeba
-
-
- Helsinki
-
-
- Fidži
-
-
- Stenli
-
-
- Truk
-
-
- Ponape
-
-
- Košre
-
-
- Farska Ostrva
-
-
- Pariz
-
-
- Librevil
-
-
- London
-
-
- Grenada
-
-
- Tbilisi
-
-
- Kajen
-
-
- Akra
-
-
- Gibraltar
-
-
- Tule
-
-
- Nuk
-
-
- Skorezbisund
-
-
- Danmarkšavn
-
-
- Banžul
-
-
- Konakri
-
-
- Gvadalupe
-
-
- Malabo
-
-
- Atina
-
-
- Južna Džordžija
-
-
- Gvatemala
-
-
- Guam
-
-
- Bisao
-
-
- Guana
-
-
- Hong Kong
-
-
- Port-o-Prens
-
-
- Budimpešta
-
-
- Džakarta
-
-
- Pontianak
-
-
- Makasar
-
-
- Džajapura
-
-
- Dablin
-
-
- ÄŒagos
-
-
- Bagdad
-
-
- Teheran
-
-
- Rejkjavik
-
-
- Rim
-
-
- Jamajka
-
-
- Aman
-
-
- Tokio
-
-
- Najrobi
-
-
- Biškek
-
-
- Pnom Pen
-
-
- Enderberi
-
-
- Kiritimati
-
-
- Tarava
-
-
- Komoro
-
-
- Sent Kits
-
-
- Pjongjang
-
-
- Seul
-
-
- Kuvajt
-
-
- Kajmanska ostrva
-
-
- Aktau
-
-
- Oral (Kazakhstan)
-
-
- Akutobe
-
-
- Kizilorda
-
-
- Almati (Kazahstan)
-
-
- Vijetijan
-
-
- Bejrut
-
-
- Sv. Lucija
-
-
- Vaduc
-
-
- Kolombo
-
-
- Monrovija
-
-
- Maseru
-
-
- Viljnus
-
-
- Luksemburg
-
-
- Riga
-
-
- Tripoli
-
-
- Kazablanka
-
-
- Monako
-
-
- Kišnjev
-
-
- Antananarivo
-
-
- Kvadžalejin
-
-
- Majuro
-
-
- Bamako
-
-
- Rangun
-
-
- Hovd
-
-
- Ulan Bator
-
-
- ÄŒojbalsan
-
-
- Makau
-
-
- Sajpan
-
-
- Martinik
-
-
- Navakšut
-
-
- Montserat
-
-
- Malta
-
-
- Mauricijus
-
-
- Maldivi
-
-
- Blantir
-
-
- Tihuana (Meksiko)
-
-
- Hermosiljo (Meksiko)
-
-
- Mazatlan (Meksiko)
-
-
- ÄŒihuahua (Meksiko)
-
-
- Montrej (Meksiko)
-
-
- Meksiko siti (Meksiko)
-
-
- Merida (Meksika)
-
-
- Kankun (Meksiko)
-
-
- Kuala Lumpur
-
-
- KuÄing
-
-
- Maputo
-
-
- Vindhuk
-
-
- Numea
-
-
- Nijamej
-
-
- Norfolk
-
-
- Lagos
-
-
- Managva
-
-
- Amsterdam
-
-
- Oslo
-
-
- Katmandu
-
-
- Nauru
-
-
- Niue
-
-
- Katham (Novi Zeland)
-
-
- Okland
-
-
- Muskat
-
-
- Panama
-
-
- Lima
-
-
- Tahiti
-
-
- Markiz
-
-
- Gambije
-
-
- Port Morzbi
-
-
- Manila
-
-
- KaraÄi
-
-
- Varšava
-
-
- Mikelon
-
-
- Pitkairn
-
-
- Porto Riko
-
-
- Gaza
-
-
- Azori
-
-
- Lisabon
-
-
- Palau
-
-
- Asunsion
-
-
- Katar
-
-
- Ujedinjenje
-
-
- Bukurešt
-
-
- Kaliningrad
-
-
- Moskva
-
-
- Volgograd (Rusija)
-
-
- Samara (Rusija)
-
-
- Jekatepinburg (Rusija)
-
-
- Omsk (Rusija)
-
-
- Novosibirsk (Rusija)
-
-
- Krasnojarsk
-
-
- Irkuck (Rusija)
-
-
- Jakutsk (Rusija)
-
-
- Vladivostok (Rusija)
-
-
- Sahalin (Rusija)
-
-
- Magadan (Rusija)
-
-
- KamÄatka
-
-
- Anadir
-
-
- Kigali
-
-
- Rijad
-
-
- Gvadalkanal
-
-
- Mahe
-
-
- Kartum
-
-
- Stokholm
-
-
- Singapur
-
-
- Sveta Jelena
-
-
- Fritaun
-
-
- Dakar
-
-
- Mogadiš
-
-
- Paramirbo
-
-
- Sao Tome
-
-
- Salvador
-
-
- Damask
-
-
- Mbabane
-
-
- Grand Turk
-
-
- Ndžamena
-
-
- Kergelen
-
-
- Lome
-
-
- Bankok
-
-
- Dušanbe
-
-
- Fakaofo
-
-
- Dili
-
-
- Ašhabad
-
-
- Tunis
-
-
- Tongatapu
-
-
- Istanbul
-
-
- Port of Spejn
-
-
- Fanafuti
-
-
- Tajpej
-
-
- Dar-es-Salam
-
-
- Užgorod
-
-
- Kijev
-
-
- Simferopol
-
-
- Zaporožje
-
-
- Kampala
-
-
- Midvej
-
-
- Džonston
-
-
- Vake
-
-
- Adak (SAD)
-
-
- Nom
-
-
- Honolulu (SAD)
-
-
- Enkoridž
-
-
- Jakuta
-
-
- Žano
-
-
- Los Anđeles (SAD)
-
-
- Bojzi (SAD)
-
-
- Feniks (SAD)
-
-
- Å iprok (SAD)
-
-
- Denver (SAD)
-
-
- Novi Salem, Severna Dakota (SAD)
-
-
- Centar, Severna Dakota (SAD)
-
-
- ÄŒikago (SAD)
-
-
- Menomine
-
-
- Vincenis, Indijana
-
-
- Petesburg (SAD)
-
-
- Tel Siti (SAD)
-
-
- Konks (SAD)
-
-
- Vinamak, Indijana
-
-
- Marengo (SAD)
-
-
- Indianapolis (SAD)
-
-
- Luivil (SAD)
-
-
- Vevej, Indijana
-
-
- MontiÄelo (SAD)
-
-
- Detroit (SAD)
-
-
- Njujork (SAD)
-
-
- Montevideo
-
-
- Samarkand (Uzbekistan)
-
-
- Taškent
-
-
- Sent Vinsent
-
-
- Karakas
-
-
- Tortola
-
-
- Sv. Toma
-
-
- Efate
-
-
- Valis
-
-
- Apija
-
-
- Aden
-
-
- Majote
-
-
- Johanesburg
-
-
- Lusaka
-
-
- Harare
-
-
-
- Acre vreme
- Acre letnje raÄunanje vremena
-
-
- ACT (Acre)
- ACST (Acre)
-
-
-
-
- Avganistan vreme
-
-
-
-
- Centralna Afrika vreme
-
-
-
-
- IstoÄna Afrika vreme
-
-
-
-
- Južna Afrika vreme
- Južna Afrika standardno vreme
-
-
-
-
- Zapadna Afrika vreme
- Zapadna Afrika letnje raÄunanje vremena
-
-
-
-
- Aktjubinsk vreme
- Aktjubinsk letnje raÄunanje vremena
-
-
-
-
- Aljaska vreme
- Aljaska standardno vreme
- Aljaska letnje raÄunanje vremena
-
-
-
-
- Aljaska-Havaji vreme
- Aljaska-Havaji standardno vreme
- Aljaska-Havaji letnje raÄunanje vremena
-
-
-
-
- Almatu vreme
- Almatu letnje raÄunanje vremena
-
-
-
-
- Amazon vreme
- Amazon letnje raÄunanje vremena
-
-
-
-
- Centralno vreme (SAD)
- Centralno standardno vreme (SAD)
- Centralno letnje merenje vremena (SAD)
-
-
- CT (SAD)
- CST (SAD)
- CDT (SAD)
-
-
-
-
- IstoÄno vreme (SAD)
- IstoÄno standardno vreme (SAD)
- IstoÄno letnje raÄunanje vremena (SAD)
-
-
- ET (SAD)
- EST (SAD)
- EDT (SAD)
-
-
-
-
- Planinsko vreme (SAD)
- Planinsko standardno vreme (SAD)
- Planinsko letnje raÄunanje vremena (SAD)
-
-
- MT (SAD)
- MST (SAD)
- MDT (SAD)
-
-
-
-
- PacifiÄko vreme (SAD)
- PacifiÄko vreme (SAD)
- PacifiÄko letnje raÄunanje vremena (SAD)
-
-
- PT (SAD)
- PST (SAD)
- PDT (SAD)
-
-
-
-
- Anadir vreme
- Anadir letnje raÄunanje vremena
-
-
-
-
- Akvtau vreme
- Akvtau letnje raÄunanje vremena
-
-
- AQTT (Akvtau)
- AQTST (Akvtau)
-
-
-
-
- Akvtobe vreme
- Akvtobe letnje raÄunanje vremena
-
-
- AQTT (Akvtobe)
- AQTST (Akvtobe)
-
-
-
-
- Arabijsko vreme
- Arabijsko standardno vreme
- Arapsko letnje raÄunanje vremena
-
-
- AT (Arabija)
- AST (Arabija)
- ADT (Arabija)
-
-
-
-
- Argentina vreme
- Argentina letnje raÄunanje vremena
-
-
-
-
- Zapadna Argentina vreme
-
-
-
-
- Armenija vreme
- Armenija letnje raÄunanje vremena
-
-
-
-
- Aškabad vreme
- AÅ¡kabad letnje raÄunanje vremena
-
-
-
-
- Atlantsko vreme
- Atlantsko standardno vreme
- Atlantsko letnje raÄunanje vremena
-
-
-
-
- Centralno australijsko vreme
- Centralno australijsko standardno vreme
- Centralno australijsko letnje raÄunanje vremena
-
-
-
-
- Australijsko centralno zapadno vreme
- Australijsko centralno zapadno standardno vreme
- Australijsko centralno zapadno letnje raÄunanje vremena
-
-
-
-
- Australijsko istoÄno vreme
- Australijsko istoÄno standardno vreme
- Australijsko istoÄno letnje raÄunanje vremena
-
-
-
-
- Australijsko zapadno vreme
- Australijsko zapadno standardno vreme
- Australijsko zapadno letnje raÄunanje vremena
-
-
-
-
- Azerbejdžan vreme
- Azerbejdžan letnje raÄunanje vremena
-
-
-
-
- Azori vreme
- Azori letnje raÄunanje vremena
-
-
-
-
- Baku vreme
- Baku letnje raÄunanje vremena
-
-
-
-
- Bangladeš vreme
-
-
-
-
- Bering vreme
- Bering standardno vreme
- Bering letnje raÄunanje vremena
-
-
- BT (Bering)
- BST (Bering)
- BDT (Bering)
-
-
-
-
- Butan vreme
-
-
-
-
- Bolivija vreme
-
-
-
-
- Borneo vreme
- Borneo letnje raÄunanje vremena
-
-
-
-
- Brazilija vreme
- Brazilija letnje raÄunanje vremena
-
-
-
-
- Brunei Darusalam vreme
-
-
-
-
- Zelenortska ostrva vreme
- Zelenortska ostrva letnje raÄunanje vermena
-
-
-
-
- ÄŒamoro vreme
- ÄŒamoro standardno vreme
-
-
-
-
- ÄŒangbai vreme
-
-
-
-
- ÄŒatam standardno vreme
- ÄŒatam letnje raÄunanje vremena
-
-
-
-
- ÄŒile vreme
- ÄŒile letnje raÄunanje vremena
-
-
-
-
- Kina vreme
- Kinesko standardno vreme
- Kina letnje raÄunanje vremena
-
-
- CT (Kina)
- CST (Kina)
- CDT (Kina)
-
-
-
-
- ÄŒojbalsan vreme
- ÄŒojbalsan letnje raÄunanje vremena
-
-
-
-
- Božićna Ostrva vreme
-
-
-
-
- Kokos (Keling) Ostrva vreme
-
-
-
-
- Kolumbija vreme
- Kolumbija letnje raÄunanje vremena
-
-
-
-
- Kukova ostrva vreme
- Kukova ostrva, polu-letnje raÄunanje vremena
-
-
-
-
- Kuba vreme
- Kuba standardno vreme
- Kuba letnje raÄunanje vremena
-
-
-
-
- DaÄa vreme
-
-
-
-
- Dejvis vreme
-
-
-
-
- Dimon d’Urvil vreme
-
-
-
-
- Dušanbe vreme
- DuÅ¡anbe letnje raÄunanje vremena
-
-
-
-
- Holandska Gvijana vreme
-
-
-
-
- IstoÄni Timor vreme
-
-
-
-
- Uskršnja ostrva vreme
- UskrÅ¡nja ostrva letnje raÄunanje vremena
-
-
-
-
- Ekvador vreme
-
-
-
-
- Centralnoevropsko vreme
- Centralnoevropsko letnje raÄunanje vremena
-
-
-
-
- IstoÄnoevropsko vreme
- IstoÄnoevropsko letnje raÄunanje vemena
-
-
-
-
- Zapadna evropsko vreme
- Zapadno evropsko letnje raÄunanje vremena
-
-
-
-
- Folklandska Ostrva vreme
- Folklandska ostrva letnje raÄunanje vremena
-
-
-
-
- Fidži vreme
- Fidži letnje raÄunanje vremena
-
-
-
-
- Francuska Gvajana vreme
-
-
-
-
- Francuske Južne Teritorije vreme
-
-
-
-
- Frunze vreme
- Frunze letnje raÄunanje vremena
-
-
-
-
- Galapagos vreme
-
-
-
-
- Gambijer vreme
-
-
-
-
- Gruzija vreme
- Gruzija letnje raÄunanje vremena
-
-
-
-
- GrinviÄ vreme
-
-
-
-
- Centralni Grenland vreme
- Centralni Grenland letnje raÄunanje vremena
-
-
-
-
- IstoÄni Grenland vreme
- IstoÄni Grenland letnje raÄunanje vremena
-
-
-
-
- Zapadni Grenland vreme
- Zapadni Grenland letnje raÄunanje vremena
-
-
-
-
- Guam standardno vreme
-
-
-
-
- Zaliv vreme
- Zaliv standardno vreme
-
-
-
-
- Gvajana vreme
-
-
-
-
- Havaǰsko-aleućansko standardno vreme
-
-
-
-
- Hong Kong vreme
- Hong Kong letnje raÄunanje vremena
-
-
-
-
- Hovd vreme
- Hovd letnje raÄunanje vremena
-
-
-
-
- Indijsko standardno vreme
-
-
-
-
- Indijski okean vreme
-
-
-
-
- Indokina vreme
-
-
-
-
- Centralno indonezijsko vreme
-
-
-
-
- IstoÄno indonezijsko vreme
-
-
-
-
- Zapadno indonezijsko vreme
-
-
-
-
- Iran standardno vreme
- Iran letnje raÄunanje vremena
-
-
-
-
- Irkuck vreme
- Irkuck letnje raÄunanje vremena
-
-
-
-
- Izraelsko standardno vreme
- Izraelsko letnje raÄunanje vremena
-
-
-
-
- Japansko vreme
- Japansko standardno vreme
- Japan letnje raÄunanje vremena
-
-
-
-
- Petropavlovsk-KamÄatski vreme
- Petropavlovsk-KamÄatski letnje raÄunanje vremena
-
-
-
-
- KaraÄi vreme
-
-
-
-
- Kašgar vreme
-
-
-
-
- IstoÄni Kazahstan vreme
- IstoÄni Kazahstan standardno vreme
-
-
-
-
- Zapadni Kazahstan vreme
- Zapadni Kazahstan standardno vreme
-
-
-
-
- Kizilorda vreme
- Kizilorda letnje raÄunanje vremena
-
-
-
-
- Koreja vreme
- Korejsko standardno vreme
- Korejsko letnje raÄunanje vremena
-
-
-
-
- Košre vreme
-
-
-
-
- Krasnojarsk vreme
- Krasnojarsk letnje raÄunanje vremena
-
-
-
-
- Kujbišev vreme
- KujbiÅ¡ev letnje raÄunanje vemena
-
-
-
-
- Kvajalejnsko vreme
-
-
-
-
- Kirgizstan vreme
-
-
-
-
- Lanka vreme
-
-
-
-
- Lajn ostrva vreme
-
-
-
-
- Long Å u vreme
-
-
-
-
- Lord Hov vreme
- Lord Hov standardno vreme
- Lord Hov letnje raÄunanje vremena
-
-
-
-
- Makao vreme
- Makao letnje raÄunanje vremena
-
-
-
-
- Magadan vreme
- Magadan letnje raÄunanje vremena
-
-
-
-
- Malaja vreme
-
-
-
-
- Malezija vreme
-
-
-
-
- Maldivi vreme
-
-
-
-
- Markiz vreme
-
-
-
-
- Maršalska Ostrva vreme
-
-
-
-
- Mauricijus vreme
- Mauricijus letnje raÄunanje vremena
-
-
-
-
- Moson vreme
-
-
-
-
- Ulan Bator vreme
- Ulan Bator letnje raÄunanje vremena
-
-
-
-
- Moskva vreme
- Moskva standardno vreme
- Moskva letnje raÄunanje vremena
-
-
-
-
- Mijanmar vreme
-
-
-
-
- Nauru vreme
-
-
-
-
- Nepal vreme
-
-
-
-
- Nova Kaledonija vreme
- Nova Kaledonija letnje raÄunanje vremena
-
-
-
-
- Novi Zeland vreme
- Novi Zeland standardno vreme
- Novi Zeland letnje raÄunanje vremena
-
-
-
-
- Njufaundlend vreme
- Njufaundlend standardno vreme
- Njufaundlend letnje raÄunanje vremena
-
-
-
-
- Niue vreme
-
-
-
-
- Norfolk Ostrvo vreme
-
-
-
-
- Fernando de Noronja vreme
- Fernando de Noronja letnje raÄunanje vremena
-
-
-
-
- Severna Marijanska Ostrva vreme
-
-
-
-
- Novosibirsk vreme
- Novosibirsk letnje raÄunanje vremena
-
-
-
-
- Omsk vreme
- Omsk letnje raÄunanje vremena
-
-
-
-
- Pakistan vreme
- Pakistan letnje raÄunanje vremena
-
-
-
-
- Palau vreme
-
-
-
-
- Papua Nova Gvineja vreme
-
-
-
-
- Paragvaj vreme
- Paragvaj letnje raÄunanje vremena
-
-
-
-
- Peru vreme
- Peru letnje raÄunanje vremena
-
-
-
-
- Filipini vreme
- Filipini letnje raÄunanje vremena
-
-
-
-
- FeniÄka ostrva vreme
-
-
-
-
- Pjer i Mikelon vreme
- Pjer i Mikelon standardno vreme
- Pjer i Mikelon letnje raÄunanje vremena
-
-
-
-
- Pitkairn vreme
-
-
-
-
- Ponape vreme
-
-
-
-
- Kizilorda vreme
- Kizilorda letnje raÄunanje vremena
-
-
-
-
- Rejunion vreme
-
-
-
-
- Roter vreme
-
-
-
-
- Sahalin vreme
- Sahalin letnje raÄunanje vremena
-
-
-
-
- Samara vreme
- Samara letnje raÄunanje vremena
-
-
-
-
- Samarkand vreme
- Samarkand letnje raÄunanje vremena
-
-
-
-
- Samoa standardno vreme
-
-
-
-
- Sejšeli vreme
-
-
-
-
- Å evÄenko vreme
- Å evÄenko letnje raÄunanje vremena
-
-
-
-
- Singapur standardno vreme
-
-
-
-
- Solomonska Ostrva vreme
-
-
-
-
- Južna Džordžija vreme
-
-
- GST (Sv. Džordžija)
-
-
-
-
- Surinam vreme
-
-
-
-
- Sverdlovsk vreme
- Sverdlovsk letnje raÄunanje vremena
-
-
-
-
- Å ova vreme
-
-
-
-
- Tahiti vreme
-
-
-
-
- Tadžikistan vreme
-
-
-
-
- Taškent vreme
- TaÅ¡kent letnje raÄunanje vremena
-
-
-
-
- Tbilisi vreme
- Tbilisi letnje raÄunanje vremena
-
-
-
-
- Tokelo vreme
-
-
-
-
- Tonga vreme
- Tonga letnje raÄunanje vremena
-
-
-
-
- Truk vreme
-
-
-
-
- Turska vreme
- Turska letnje raÄunanje vremena
-
-
-
-
- Turkmenistan vreme
- Turkmenistan letnje raÄunanje vremena
-
-
-
-
- Tuvalu vreme
-
-
-
-
- Ural'sk vreme
- Ural'sk letnje raÄunanje vremena
-
-
-
-
- Urugvaj vreme
- Urugvaj letnje raÄunanje vremena
-
-
-
-
- Urumki vreme
-
-
-
-
- Uzbekistan vreme
- Uzbekistan letnje raÄunanje vremena
-
-
-
-
- Vanuatu vreme
- Vanuatu letnje raÄunanje vremena
-
-
-
-
- Venecuela vreme
-
-
-
-
- Vladivostok vreme
- Vladivostok letnje raÄunanje vremena
-
-
-
-
- Volgograd vreme
- Volgograd Letnje raÄunanje vremena
-
-
-
-
- Vostok vreme
-
-
-
-
- Vejk vreme
-
-
-
-
- Valis i Futuna Ostrva vreme
-
-
-
-
- Jakutsk vreme
- Jakutsk letnje raÄunanje vremena
-
-
-
-
- Jekaterinburg vreme
- Jekaterinburg letnje raÄunanje vremena
-
-
-
-
- Jerevan vreme
- Jerevan letnje raÄunanje vremena
-
-
-
-
- Jukon vreme
- Jukon standardno vreme
- Jukon letnje raÄunanje vremena
-
-
-
-
-
-
-
- Andorska pezeta (ADP)
- Andorijske pezete
- Andorijskih pezeta
- Andorijska pezeta
- Andorijske pezete
-
-
- Ujedinjeni arapski emirati dirham
- UAE dirama
- UAE dirama
- UAE diram
- UAE dirama
-
-
- Avganistanski avgani (1927-2002) AFA
- Avganistanska avgana (AFA)
- Avganistanskih avgana (AFA)
- Avganistanski avgan (AFA)
- Avganistanski avgan (AFA)
-
-
- Avganistanski avgani (AFN)
- Avganistanska avgana
- Avganistanski avgan
- Avganistanski avgan
-
-
- Albanski lek
- Albanska leka
- Albanskih leka
- albanski lek
- albanski lek
-
-
- Jermenski dram
- Jermenske drame
- Jermenskih drama
- jermenski dram
- jermenski drami
-
-
- Holandski Antili gilder (ANG)
- Holandskoantilska gildera
- Holandskoantilskih gildera
- Holandskoantilski gilder
- Holandskoantilski gildera
-
-
- Angolijska kvanza (AOA)
- Angolijske kvanze (AOA)
- Angolijskih kvanzi
- Angolijska kvanza
- Angolijskih kvanzi
-
-
- Angolijska kvanza (1977-1990) (AOK)
- Angolijske kvanze (AOK)
- Angolijskih kvanzi (AOK)
- Angolijska kvanza (AOK)
- Angolijskih kvanzi (AOK)
-
-
- Angolijska nova kvanza (1990-2000) (AON)
- angolijske nove kvanze (AON)
- angolijskih novih kvanzi (AON)
- angolijska nova kvanza (AON)
- angolski novi kvanze (AON)
-
-
- Angolijska kvanza reajustado (1995-1999) (AOR)
- angalske kvanze reađustado (AOR)
- angolijskih kvanzi reađustado
- angolijska kvanza reađustado
- angolijskih kvanzi reađustado
-
-
- Argentinski austral (ARA)
- argentinska australa (ARA)
- argentinskih australa (ARA)
- argentinski austral (ARA)
- argentinski australs (ARA)
-
-
- Argentinski pezo (1983-1985) (ARP)
- argentinska pezosa (ARP)
- argentinskih pezosa (ARP)
- argentinski pezo (ARP)
- argentinskih pezosa (ARP)
-
-
- Argentinski pezo
- argentinska pezosa
- argentinskih pezosa
- argentinski pezos
- argentinskih pezosa
-
-
- Austrijski šiling
- austrijska šilinga
- austrijskih šilinga
- austrijski šiling
- austrijskih šilinga
-
-
- Australijski dolar
- Australijska dolara
- Australijskih dolara
- australijski dolar
- australijskih dolara
-
-
- Arubijski florin (AWG)
- arubanska florina
- arubanskih florina
- arubanski florin
- arubanskih florina
-
-
- Azerbejdžanski manat (AZM)
- azerbejdžanska manata(AZM)
- azerbejdžanskih manata (AZM)
- azerbejdžanski manat (AZM)
- azerbejdžanskih manata (AZM)
-
-
- Azerbejdžanski manat (AZN)
- azerbejdžanska manata
- azerbejdžanskih manata
- azerbejdžanski manat
- azerbejdžanskih manata
-
-
- Bosansko-HercegovaÄki dinar
- Bosansko-HercegovaÄka dinara
- Bosansko-HercegovaÄkih dinara
- bosansko-hercegovaÄki dinar
- bosansko-hercegovaÄkih dinara
-
-
- Bosansko-HercegovaÄka konvertibilna marka
- Bosansko-HercegovaÄke konvertibilne marke
- Bosansko-HercegovaÄkih konvertibilnih maraka
- bosansko-hercegovaÄka konvertibilna marka
- bosansko-hercegovaÄkih konvertibilnih maraka
-
-
- Barbadoski dolar (BBD)
- barbadoška dolara
- barbadoških dolara
- barbadoški dolar
- barbadoških dolara
-
-
- Bangladeška taka (BDT)
- bangladeške take
- bangladeških taka
- bangladeška taka
- bangladeških taka
-
-
- Belgijski frank (konvertibilni) (BEC)
- belgijska franka (konvertibilna)
- belgijskih franaka (BEC) (konvertibilnih)
- belgijski franak (konvertibilni)
- belgijskih franaka BEC (konvertibilnih)
-
-
- Belgijski franak
- belgijska franka
- belgijskih franaka
- belgijski franak
- belgijskih franaka
-
-
- Belgijski frank (finansijski) (BEL)
- belgijska franka (BEL) (finansijska)
- belgijskih franaka (BEL) (finansijskih)
- belgijski franak (finansijski)
- belgijskih franaka BEL (finansijskih)
-
-
- Bugarski tvrdi lev (BGL)
- bugarska tvrda leva
- bugarskih tvrdih leva
- bugarski tvrdi lev
- bugarskih tvrdih leva
-
-
- Bugarski lev
- Bugarska leva
- Bugarskih leva
- bugarski lev
- Bugarskih leva
-
-
- Bahreinski dinar (BHD)
- bahreinskih dinara
- bahreinskih dinara
- bahreinskih dinara
- bahreinskih dinara
-
-
- Burundski franak (BIF)
- burundska franka
- burundskih franaka
- burundski franak
- BIF
-
-
- Bermudski dolar (BMD)
- bermudska dolara
- bermudskih dolara
- bermudski dolar
- bermudskih dolara
-
-
- Brunejski dolar
- brunejska dolara
- brunejskih dolara
- brunejski dolar
- brunejskih dolara
-
-
- Bolivijski boliviano
- bolivijska boliviana
- bolivijskih boliviana
- bolivijski boliviano
- bolivijskih boliviana
-
-
- Bolivijski pezo (BOP)
- Bolivijska pezosa
- bolivijskih pezosa
- bolivijski pezo
- bolivijskih pezosa
-
-
- Bolivijski mvdol (BOV)
- bolivijska mvdola
- bolivijskih mvdola
- bolivijski mvdol
- bolivijskih mvdola
-
-
- Brazilski kruzeiro novo (1967-1986) (BRB)
- brazilska nova kruzeira (BRB)
- brazilskih novih kruzeira (BRB)
- brazilski novi kruzeiro (BRB)
- brazilskih novih kruzeira (BRB)
-
-
- Brazilski kruzado (BRC)
- brazilska kruzadosa
- brazilskih kruzadosa
- brazilskih kruzado
- brazilskih kruzadosa
-
-
- Brazilski kruzeiro (1990-1993) (BRE)
- brazilska kruzeira (BRE
- brazilskih kruzeira (BRE)
- brazilski kruzeiro (BRE)
- brazilskih kruzeira (BRE)
-
-
- Brazilski real
- brazilska reala
- brazilskih reala
- brazilski real
- brazilskih reala
-
-
- Brazilski kruzado novo (BRN)
- brazilska nova kruzada
- brazilskih novih kruzada
- brazilski novi kruzado
- brazilskih novih kruzada
-
-
- Brazilski kruzeiro (BRR)
- brazilijska kruzeira
- brazilskih kruzeira
- brazilski kruzeiro
- brazilskih kruzeira
-
-
- Bahamski dolar (BSD)
- bahamska dolara
- bahamskih dolara
- bahamski dolar
- bahamskih dolara
-
-
- Butanski ngultrum (BTN)
- butanska ngultruma
- butanskih ngultruma
- butanski ngultrum
- butanski ngultruma
-
-
- Burmanski kjat (BUK)
- burmanska kjata
- burmanskih kjata
- burmanski kjat
- burmanskih kjata
-
-
- Botsvanska pula (BWP)
- bocvanske pule
- bocvanskih pula
- bocvanska pula
- bocvanskih pula
-
-
- Beloruska nova rublja (1994-1999) (BYB)
- beloruske nove rublje (BYB)
- beloruskih novih rublji (BYB)
- beloruska nova rublja (BYB)
- beloruskih novih rublji (BYB)
-
-
- Beloruska rublja (BYR)
- beloruske rublje
- beloruskih rublji
- beloruska rublja
- bjeloruske rublje
-
-
- Belize dolar (BZD)
- belizeanska dolara
- belizeanskih dolara
- belizeanski dolar
- belizeanskih dolara
-
-
- Kanadski dolar
- Kanadska dolara
- Kanadskih dolara
- kanadski dolar
- kanadskih dolara
-
-
- Kongolski franak (CDF)
- kongolska franka
- kongoanskih franaka
- kongolski franak
- kongolskih franaka
-
-
- WIR Evro (CHE)
- WIR evra
- WIR evra
- WIR evro
- WIR evra
-
-
- Å vajcarski franak
- Å vajcarska franka
- Å vajcarskih franaka
- švajcarski franak
- švajcarskih franaka
-
-
- WIR franak (CHW)
- WIR franka
- WIR franaka
- WIR franak
- WIR franak
-
-
- ÄŒileanski unidades de fomento (CLF)
- Äileanska unidades de fomentos
- Äileanskih unidades de fomentos
- Äileanski unidades de fomentos
- Äileanski unidades de fomentos
-
-
- ÄŒileanski pezo
- Äileanska pezosa
- Äileanskih pezosa
- Äileanski pezos
- Äileanski pezos
-
-
- Kineski Juan Renminbi
- kineska juana
- kineskih juana
- kineski juan
- kineskih juana
-
-
- Kolumbijski pezo
- kolumbijska pezosa
- kolumbijskih pezosa
- kolumbijski pezo
- kolumbijski pezosi
-
-
- Unidad de Valor real (COU)
- unidad de valor reala
- unidad de valor reala
- unidad de valor real
- unidad de valor real
-
-
- Kostarikanski kolon (CRC)
- kostarikanska kolona
- kostarikanskih kolona
- kostarikanski kolon
- CRC
-
-
- Stari srpski dinar
- stara srpska dinara
- starih srpskih dinara
- stari srpski dinar
- starih srpskih dinara
-
-
- ÄŒehoslovaÄka tvrda koruna (CSK)
- ÄehoslovaÄke tvrde krune
- ÄehoslovaÄkih tvrdih kruna
- ÄehoslovaÄka tvrda kruna
- ÄehoslovaÄka tvrda kruna
-
-
- Kubanski pezo (CUP)
- kubanska pezosa
- kubanskih pezosa
- kubanski pezos
- kubanskih pezosa
-
-
- Kejp verdanški eskudo (CVE)
- zelenortska eskuda
- zelenortskih eskuda
- zelenortski eskudo
- zelenortskih eskuda
-
-
- Kipratska funta (CYP)
- kiparske funte
- kiparskih funti
- kiparska funta
- kiparska funta
-
-
- Češka kruna
- ÄeÅ¡ke krune
- ÄeÅ¡kih kruna
- ÄeÅ¡ka kruna
- ÄeÅ¡kih kruna
-
-
- IstoÄnoevropska marka (DDM)
- istoÄnonemaÄke marke
- istoÄnonemaÄkih maraka
- istoÄnonemaÄka marka
- istoÄnonemaÄkih maraka
-
-
- NemaÄka marka
- NemaÄke marke
- NemaÄkih maraka
- nemaÄka marka
- nemaÄkih maraka
-
-
- Džibutanski franak (DJF)
- džibutska franka
- džibutskih franaka
- džibutski franak
- džibutski franak
-
-
- Danska kruna
- danske krune
- danskih kruna
- danska kruna
- danskih kruna
-
-
- DOminikanski pezo (DOP)
- dominikanska pezosa
- dominikanskih pezosa
- dominikanski pezo
- dominikanskih pezosa
-
-
- Alžirski dinar (DZD)
- alžirska dinara
- alžirskih dinara
- alžirski dinar
- alžirskih dinara
-
-
- Ekvadorijski sukr (ECS)
- ekvadorska sakra
- ekvadorskih sakra
- ekvadorska sakra
- ekvadorskih sakra
-
-
- Ekvadorski unidad de valor konstantin (UVC)
- ekvadorska unidad de valor constante (UVC)
- ekvadorskih unidad de valor constante (UVC)
- ekvadorski unidad de valor constante (UVC)
- ekvadorski unidad de valor constante (UVC)
-
-
- Estonska kruna
- estonske krune
- estonskih kruna
- estonska kruna
- estonskih kruna
-
-
- Egipatska funta
- egipatske funte
- egipatskih funti
- egipatska funta
- egipatskih funti
-
-
- Eritreanska nakfa (ERN)
- eritrejske nakfe
- eritrejskih nakfi
- eritrejska nakfa
- eritrejska nakfa
-
-
- Å panska pezeta (raÄun) ESA
- Å¡panske pezete (A raÄun)
- Å¡panskih pezeta (A raÄun)
- Å¡panska pezeta (A raÄun)
- Å¡panska pezeta (A raÄun)
-
-
- Å panska pezeta (konvertibilni raÄun) (ESB)
- Å¡panske pezete (konvertibilan raÄun)
- Å¡panskih pezeta (konvertibilan raÄun)
- Å¡panska pezeta (konvertibilan raÄun)
- Å¡panska pezeta (konvertibilan raÄun)
-
-
- Å panska pezeta
- španska pezeta
- španskih pezeta
- Å¡panskа pezetа
- Å¡panskе pezetе
-
-
- Etopijski bir (ETB)
- etiopijska bira
- etiopijskih bira
- etiopijski bir
- etiopijskih bira
-
-
- Evro
- evra
- evra
- evro
- evra
-
-
- Finska marka
- Finske marke
- Finskih maraka
- finska marka
- finskih maraka
-
-
- Fidži dolar
- fidži dolara
- fidži dolara
- fidži dolar
- fidži dolara
-
-
- Foklandska ostrva funta (FKP)
- folklandske funte
- folklandskih funti
- folklandska funta
- folklandska funta
-
-
- Francuski franak
- Francuska franka
- Francuskih franaka
- francuski franak
- francuskih franaka
-
-
- Britanska funta sterlinga
- britanske funte sterlinga
- britanskih funti sterlinga
- britanska funta sterlinga
- britanskih funti sterlinga
-
-
- Gruzijski kupon larit (GEK)
- gruzijska kupon larita
- gruzijskih kupon larita
- gruzijski kupon larit
- gruzijskih kupon larita
-
-
- Džordžijski lari (GEL)
- gruzijska larisa
- gruzijskih larisa
- gruzijski laris
- gruzijskih larisa
-
-
- Ganijski cedi (1979-2007) (GHC)
- ganska ceda (GHC)
- ganskih ceda (GHC)
- ganski ced (GHC)
- ganskih ceda (GHC)
-
-
- Ganijski cedi (GHS)
- ganska ceda
- ganskih ceda
- ganski cedi
- ganski cedi
-
-
- Gibraltarska funta (GIP)
- gibraltarske funte
- gibraltarskih funti
- gibraltarska funta
- gibraltarska funta
-
-
- Gambijski dalasi (GMD)
- gambijska dalasa
- gambijskih dalasa
- gambijski dalas
- gambijskih dalasa
-
-
- Gvinejski franak (GNF)
- gvinejska franka
- gvinejskih franaka
- gvinejski franak
- gvinejski franak
-
-
- Gvinejski sili (GNS)
- gvinejska silija
- gvinejskih silija
- gvinejski sili
- gvinejski silij
-
-
- Evatorijalna gvineja ekvele (GQE)
- evatorijаlno-gvinejska ekvelа
- evatorijаlno-gvinejskih ekvelа
- evatorijаlno-gvinejski ekvele
- evatorijаlno-gvinejskih ekvelа
-
-
- Drahma
- grÄke drahme
- grÄkih drahmi
- grÄka drahma
- grÄkih drahmi
-
-
- Gvatemalski kvetzal (GTQ)
- gvatemalska kvecala
- gvatemalskih kvecala
- gvatemalski kvecal
- gvatemalskih kvecala
-
-
- Portugalska Gvineja eskudo (GWE)
- portugalsko-gvinejska eskuda
- portugalsko-gvinejskih eskuda
- portugalsko-gvinejski eskudo
- portugalsko-gvinejski eskudo
-
-
- Gvineja bisao pezo (GWP)
- gvinejа-bisaoÅ¡ka pezosa
- gvinejа-bisaoÅ¡kih pezosa
- gvinejа-bisaoÅ¡ki pezo
- gvinejsko-bisaoski pezos
-
-
- Guajanski dolar (GYD)
- gvajanska dolara
- gvajanskih dolara
- gvajanski dolar
- gvajanski dolari
-
-
- Honkonški dolar
- hongkonška dolara
- hongkonških dolara
- hongkonški dolar
- hongkonških dolara
-
-
- Honduranska lempira (HNL)
- honduraÅ¡kа lempirа
- honduraÅ¡kih lempirа
- honduraški lempir
- honduraÅ¡kih lempirа
-
-
- Hrvatski dinar
- Hrvatska dinara
- Hrvatskih dinara
- hrvatski dinar
- hrvatskih dinara
-
-
- Hrvatska kuna
- Hrvatske kune
- Hrvatskih kuna
- hrvatska kuna
- hrvatskih kuna
-
-
- Haitski gurd (HTG)
- haićanska gourda
- haićanskih gourda
- haićanski gourd
- haićanski gourd
-
-
- Mađarska forinta
- mađarske forinte
- mađarskih forinti
- mađarska forinta
- mađarske forinte
-
-
- Indonezijska rupiah
- indonežanske rupije
- indonežanskih rupija
- indonežanska rupija
- indonežanske rupije
-
-
- Irska funta
- irske funte
- irskih funti
- irska funta
- irskih funti
-
-
- Izraelska funta (ILP)
- izraelske funte
- izraelskih funti
- izraelska funta
- izraelska funta
-
-
- stari izraelski šekeli
- stari izraelski šekeli
- stari izraelski šekeli
- stari izraelski šekeli
- stari izraelski šekeli
-
-
- Izraelski šekel
- nova izraelska šekela
- novih izraelskih šekela
- novi izraelski šekel
- novih izraelskih šekela
-
-
- Indijski rupi
- indijske rupije
- indijskih rupija
- indijska rupija
- indijskih rupija
-
-
- IraÄki dinar (IQD)
- iraÄka dinara
- iraÄkih dinara
- iraÄki dinar
- iraÄki dinari
-
-
- Iranijski rial (IRR)
- iranska rijala
- iranskih rijala
- iranski rijal
- iranski rijali
-
-
- stara islandska kruna
- stara islandska kruna
- stara islandska kruna
- stara islandska kruna
- stara islandska kruna
-
-
- Islandska kruna (ISK)
- islandske krune
- islandskih kruna
- islandska kruna
- islandska kruna
-
-
- Italijanska lira
- Italijanske lire
- Italijanskih lira
- italijanska lira
- italijanske lire
-
-
- Jamajski dolar (JMD)
- jamajska dolara
- jamajskih dolara
- jamajski dolar
- jamajskih dolara
-
-
- Jordanski dinar (JOD)
- jordanskih dinara
- jordanskih dinara
- ordanskih dinara
- ordanskih dinara
-
-
- Japanski jen
- Japanska jena
- Japanskih jena
- japanski jen
- japanski jen
-
-
- Kenijski šiling
- kenijska šilinga
- kenijskih šilinga
- kenijski šiling
- kenijskih šilinga
-
-
- Kirgistanski som (KGS)
- kirgistanska soma
- kirgistanskih soma
- kirgistanski som
- kirgijski som
-
-
- Kambodžijski riel (KHR)
- kambodžanska rijela
- kambodžanskih rijela
- kambodžanski rijal
- kambodžanskih rijela
-
-
- Komoranski franak (KMF)
- komoranska franka
- komoranskih franaka
- komoranski franak
- komoranski franci
-
-
- Severnokorejski von (KPW)
- severnokorejska vona
- severnokorejskih vona
- severnokorejski von
- severnokorejski von
-
-
- Južno-korejski Von
- južno-korejska vona
- južno-korejskih vona
- južno-korejski von
- južno-korejski von
-
-
- Kuvajtski dinar
- kuvajtskih dinara
- kuvajtskih dinara
- kuvajtskih dinara
- kuvajtskih dinara
-
-
- Kajmanska ostrva dolar (KYD)
- kajmanska dolara
- kajmanskih dolara
- kajmanski dolar
- kajmanski dolar
-
-
- Kazahstanski tendž (JZT)
- kazahstanske tendže
- kazahstanskih tendži
- kazahstanska tendža
- kazahstanskih tendži
-
-
- Laoški kip (LAK)
- laoška kipa
- laoških kipa
- laoški kip
- laoški kipovi
-
-
- Lebanska funta (LBR)
- lebanske funte
- lebanskih funti
- lebanska funta
- lebanske funte
-
-
- Å rilankanski rupi (LKR)
- šrilankanske rupije
- šrilankanskih ruplji
- šrilankanska rupija
- šrilankanska rupija
-
-
- Liberijski dolar (LRD)
- liberijska dolara
- liberijskih dolara
- liberijski dolar
- liberijskih dolara
-
-
- Lesotski loti (LSL)
- lesotska lotisa
- lesotskih lotisa
- lesotski lotis
- lesotskih lotisa
-
-
- Litvanski litas
- litvanske lite
- litvanskih lita
- litvanska lita
- litvanskih lita
-
-
- Litvanski talonas (LTT)
- litvanske talone
- litvanskih talona
- litvanska talona
- litvanskih talona
-
-
- Luksemburški konvertibilni franak (LUC)
- luksemburška konvertibilna franka
- luksemburških konvertibilnih franaka
- luksemburški konvertibilni franak
- luksemburški konvertibilni franak
-
-
- Luksemburški franak
- luksemburška franka
- luksemburških franaka
- luksemburški franak
- luksemburški franci
-
-
- Luksemburški finansijski franak (LUL)
- luksemburška financijska franka
- luksemburških financijskih franaka
- luksemburški financijski franak
- luksemburški financijski franak
-
-
- Latvijski lats (LVL)
- latvijska lata
- latvijskih lata
- latvijski lat
- latvijski lat
-
-
- Latvijska rublja (LVR)
- latvijska rublja
- latvijskih rublji
- latvijska rublja
- latvijska rublja
-
-
- Libijski dinar
- libijska dinara
- Libijskih dinara
- Libijskih dinara
- libijskih dinara
-
-
- Marokanski dirham
- marokanske dirame
- marokanskih dirama
- marokanska dirama
- marokanskih dirama
-
-
- Marokanski franak (MAF)
- marokanska franka
- marokanskih franaka
- marokanski franak
- marokanski franak
-
-
- Moldovski lju (MDL)
- moldavska leja
- moldavskih leja
- moldavski lej
- moldavski lej
-
-
- Malagasijski ariari (MGA)
- madagaskarska ariarija
- madagaskarskih ariarija
- madagaskarski ariarij
- madagaskarski ariariji
-
-
- Malagasijski franak (MGF)
- madagaskarska franka
- madagaskarskih franaka
- madagaskarski franak
- MGF
-
-
- Makedonski denar
- makedonska denara
- Makedonskih denara
- Makedonski denar
- makedonskih dinara
-
-
- Malijanski franak (MLF)
- malijska franka
- malijskih franaka
- malijski franak
- malijski franak
-
-
- Mjanmaški kjat (MMK)
- mjanmarska kjata
- mjanmarskih kjata
- mjanmarski kjat
- mjanmarski kjati
-
-
- Mongolski tugrik (MNT)
- mongolska tugrika
- mongolskih tugrika
- mongolski tugrik
- mongolski tugrici
-
-
- Makaniška pataka (MOP)
- makaneška patka
- makaneških pataka
- makaneški patak
- makaneški patak
-
-
- Mauritanijska ugvija
- mauritanijske ouguje
- mauritanijskih ouguja
- mauritanijska ouguja
- mauritanijske ouguje
-
-
- Malteška lira
- malteške lire
- malteških lira
- malteška lira
- malteških lira
-
-
- Malteška funta (MTP)
- malteške funte
- malteških funti
- malteška funta
- malteška funta
-
-
- Mauricijska ruplja (MUR)
- mauricijske rupije
- mauricijskih rupija
- mauricijska rupija
- mauricijske rupije
-
-
- Maldivijska rufija (MVR)
- maldivijske rufije
- maldivijskih rufija
- maldivijska rufija
- maldivijska rufija
-
-
- Malavijska kvaÄa (MWK)
- malavijske kvaÄe
- malavijskih kvaÄa
- malavijska kvaÄa
- malavijska kvaÄa
-
-
- MeksiÄki peso
- meksiÄka pezosa
- meksiÄkih pezosa
- meksiÄki pezos
- meksiÄkih pezosa
-
-
- Meksijski srebrno pezo (1861-1992) (MXP)
- meksiÄka srebrna pezosa (MXP)
- meksiÄkih srebrnih pezosa (MXP)
- meksiÄki srebrni pezos (MXP)
- meksiÄki srebrni pezos (MXP)
-
-
- Meksijski unidad de inverzion (MXV)
- meksiÄka unidads de inversion (UDI)
- meksiÄkih unidads de inversion (UDI)
- meksiÄki unidads de inversion (UDI)
- meksiÄki unidads de inversion (UDI)
-
-
- Malezijski ringit
- malezijska ringita
- malezijskih ringita
- malezijski ringit
- malezijskih ringita
-
-
- Mozambijski eskudo (MZE)
- mozambijska eskuda
- mozambijskih eskuda
- mozambijski eskudo
- mozambijski eskudo
-
-
- Stari mozambijski metikal (MZM)
- stara mozambijska metikala
- starih mozambijskih metikala
- stari mozambijski metikal
- stari mozambijski metikal
-
-
- Mozambijski metikal (MZN)
- mozambijska metikala
- mozambijskih metikala
- mozambijski metikal
- mozambijski metikal
-
-
- Nambijski dolar (NAD)
- namibijska dolara
- namibijskih dolara
- namibijski dolar
- namibijski dolar
-
-
- Nigerijska naira (NGN)
- nigerijska naira
- nigerijskih naira
- nigerijski nair
- nigerijski nair
-
-
- Nikaragvanška kordoba (NIC)
- nikaragvanske kordobe
- nikaragvanskih kordoba
- nikaragvanska kordoba
- nikaragvanska kordoba
-
-
- Nikaragvanška kordoba oro
- nikaragvanske zlatne kordobe
- nikaragvanskih zlatnih kordoba
- nikaragvanska zlatna kordoba
- nikaragvanska zlatna kordoba
-
-
- Holandski gulden
- holandska guldena
- holandskih guldena
- holandski gulden
- holandskih guldena
-
-
- Norveška kruna
- Norveške kune
- Norveških kuna
- Norveška kuna
- norveških kruna
-
-
- Nepalska ruplja (NPR)
- nepalske rupije
- nepalskih rupija
- nepalska rupija
- nepalska rupija
-
-
- Novozelandski dolar
- novozelandska dolara
- novozelandskih dolara
- novozelandski dolar
- novozelandskih dolara
-
-
- Omanski rial (OMR)
- omanska rijala
- omanskih rijala
- omanski rijal
- omanski rijal
-
-
- Panamanska balboa (PAB)
- panamske balboe
- panamskih balboa
- panamska balboa
- panamska balboa
-
-
- Peruvijski inti (PEI)
- peruanske inte
- peruanskih inti
- peruanska inta
- peruanska inta
-
-
- Peruanski nuevo sol
- peruanska nuevo sola
- peruanskih nuevo sola
- peruanski nuevo sol
- peruanskih nuevo sola
-
-
- Peruvijski sol (PES)
- peruanska sola
- peruanskih sola
- peruanski sol
- peruanski sol
-
-
- Papua Nova Gvineja kina (PGK)
- kine Papue Nove Gvineje
- kina Papue Nove Gvineje
- kina Papue Nove Gvineje
- kina Papue Nove Gvineje
-
-
- Filipinski peso
- filipinska pezosa
- filipinskih pezosa
- filipinski pezo
- filipinskih pezosa
-
-
- Pakistanski rupi
- pakistanske rupije
- pakistanskih rupija
- pakistanska rupija
- pakistanske rupije
-
-
- Poljski zlot (PLN)
- poljske zlote
- poljskih zlota
- poljski zlot
- poljski zlot
-
-
- Poljski zloti (1950-1995) (PLZ)
- poljske zlote (PLZ)
- poljskih zlota (PLZ)
- poljski zlot (PLZ)
- poljski zlot (PLZ)
-
-
- Portugalski eskudo
- portugalska eskuda
- portugalskih eskuda
- portugalski eskudo
- portugalskih eskuda
-
-
- Paragvajski guarni (PYG)
- paragvajska gvaranija
- paragvajskih gvaranija
- paragvajski gvarani
- paragvajski gvarani
-
-
- Katarski rial (QAR)
- katarska rijala
- katarskih rijala
- katarski rijal
- katarski rijal
-
-
- Rodizijski dolar (RHD)
- rodezijska dolara
- rodezijskih dolara
- rodezijski dolar
- rodezijski dolar
-
-
- Stari romanski lju (ROL)
- stara rumunjska leja
- starih rumunjskih leja
- stari rumunjski lej
- stari rumunjski lej
-
-
- Rumunski leu
- rumunska leua
- rumunskih leua
- rumunski leu
- rumunskih leua
-
-
- Srpski dinar
- srpska dinara
- srpskih dinara
- srpski dinar
- srpski dinari
- din.
-
-
- Ruska rublja
- ruske rublje
- ruskih rublji
- ruska rublja
- ruskih rublji
-
-
- Ruska rublja (1991-1998)
- ruske rublje (RUR)
- ruskih rublji (RUR)
- ruska rublja (RUR)
- ruskih rublji (RUR)
-
-
- Ruandski franak (RWF)
- ruandska franka
- ruandskih franaka
- ruandski franak
- ruandski franci
-
-
- Saudijski rijal (SAR)
- saudijska rijala
- saudijskih rijala
- saudijski rijal
- saudijski rijal
-
-
- Solomonska ostrva dolar (SBD)
- solomonskoostrvska dolara
- solomonskoostrvskih dolara
- solomonskoostrvski dolar
- solomonskoostrvski dolar
-
-
- Sejšelski rupi (SCR)
- sejšelske rupije
- sejšelskih rupija
- sejšelska rupija
- sejšelska rupija
-
-
- STari sudanski dinar (SDD)
- stara sudanska dinara
- starih sudanskih dinara
- stari sudanski dinar
- stari sudanski dinar
-
-
- Sudanska funta (SDG)
- sudanske funte
- sudanskih funti
- sudanska funta
- sudanska funta
-
-
- Stara sudanska funta (SDP)
- stare sudanske funte
- starih sudanskih funti
- stara sudanska funta
- stara sudanska funta
-
-
- Å vedska kruna
- švedske krune
- švedskih kruna
- švedska kruna
- švedskih kruna
-
-
- Singapurski dolar
- singapurška dolara
- singapurških dolara
- singapurški dolar
- singapurških dolara
-
-
- Sv. Helenska funta (SHP)
- sv. jelenske funte
- sv. jelenskih funti
- sv. jelenska funta
- sv. jelenska funta
-
-
- Slovenski tolar
- slovenaÄka tolara
- slovenaÄkih tolara
- slovenaÄki tolar
- slovenaÄkih tolara
-
-
- SlovaÄka kruna
- slovaÄke kune
- slovaÄkih kuna
- slovaÄka kuna
- slovaÄkih kuna
-
-
- Sijeraleonski leone (SLL)
- sijeraleonske leone
- sijeraleonskih leona
- sijeraleonska leona
- sijeraleonske leone
-
-
- Somalijski šiling (SOS)
- somalijska šilinga
- somalijskih šilinga
- somalijski šiling
- somalijski šilinzi
-
-
- Surinamski dolar (SRD)
- surinamska dolara
- surinamskih dolara
- surinamski dolar
- surinamski dolar
-
-
- Surinamski gilder (SRG)
- surinamska guldena
- surinamskih guldena
- surinamski gulden
- surinamski gulden
-
-
- Sao Tome i Principe dobra (STD)
- dobra Sao Toma i Principa
- dobra Sao Toma i Principa
- dobra Sao Toma i Principa
- dobra Sao Toma i Principa
-
-
- Sovjetska rublja (SUR)
- sovjetske rublje
- sovjetskih rublji
- sovjetska rublja
- sovjetske rublje
-
-
- Salvadorski kolon (SVC)
- salvadorska kolona
- salvadorskih kolona
- salvadorski kolon
- salvadorski kolon
-
-
- Sirijska funta (SYP)
- sirijske funte
- sirijskih funti
- sirijska funta
- sirijske funtie
-
-
- Å vazi lilangeni (SZL)
- svazi lilangena
- svazi lilangena
- svazi lilangena
- svazi lilangena
-
-
- Tai baht (THB)
- tajlandske bahte
- tajlandskih bahta
- tajlandska bahta
- tajlandska bahta
-
-
- Tadžakistanska rublja (SYR)
- tadžikistanske rublje
- tadžikistanskih rublji
- tadžikistanska rublja
- tadžikistanska rublja
-
-
- Tadžikistanski somoni (TJS)
- tadžikistanska somona
- tadžikistanskih somona
- tadžikistanski somon
- tadžikistanski somon
-
-
- Turkmenistanski manat (TMM)
- turkmenistanska manata
- turkmenistanskih manata
- turkmenistanski manat
- turkmenistanski manat
-
-
- Tunizijski dinar (TND)
- tunizijska dinara
- tunizijskih dinara
- tunizijski dinar
- tunizijski dinar
-
-
- Tongška Paʻanga (TOP)
- tongaške pa'ange
- tongaških pa'angi
- tongaška pa'anga
- tongaška pa'anga
-
-
- Timorški eskudo (TPE)
- timorska eskuda
- timorskih eskuda
- timorski eskudo
- timorski eskudo
-
-
- Stara turska lira (TRL)
- stare turske lire
- starih turskih lira
- stara turska lira
- stara turska lira
-
-
- Turska lira
- turske lire
- turskih lira
- turska lira
- novih turskih lira
-
-
- Trinidad i Tobago dolar (TTD)
- trinidadtobaška dolara
- trinidadtobaških dolara
- trinidadtobaški dolar
- trinidadtobaški dolar
-
-
- Novi tajvanski dolar
- nova tajvanska dolara
- novih tajvanskih dolara
- novi tajvanski dolar
- novi tajvanski dolari
-
-
- Tanzijski šiling (TZS)
- tanzanijska šilinga
- tanzanijskih šilinga
- tanzanijski šiling
- tanzanijski šilinzi
-
-
- Ukrajinska hrivnja
- ukrajinske hrivnje
- ukrajinskih hrivnji
- ukrajinska hrivnja
- ukrajinskih hrivnji
-
-
- Ukrajinski karbovaneti (UAK)
- ukrajinska karbovantsiva
- ukrajinskih karbovantsiva
- ukrajinski karbovantsiv
- ukrajinski karbovantsiv
-
-
- Ugandijski šiling (1966-1987) (UGS)
- ugandska šilinga (UGS)
- ugandskih šilinga (UGS)
- ugandski šiling (UGS)
- ugandski šiling (UGS)
-
-
- Ugandijski šiling (UGX)
- ugandska šilinga
- ugandskih šilinga
- ugandski šiling
- ugandski šilinzi
-
-
- AmeriÄki dolar
- ameriÄka dolara
- ameriÄkih dolara
- ameriÄki dolar
- ameriÄkih dolara
-
-
- SAD dolar (sledeći dan) (USN)
- ameriÄka dolara (sledeći dan)
- ameriÄkih dolara (sledeći dan)
- ameriÄki dolar (sledeći dan)
- ameriÄki dolar (sledeći dan)
-
-
- SAD dolar (isti dan) (USS)
- ameriÄka dolara (isti dan)
- ameriÄkih dolara (isti dan)
- ameriÄki dolar (isti dan)
- ameriÄki dolar (isti dan)
-
-
- Urugvajski pezo en unidades indeksades (UYI)
- urugvajska pesosa en unidades indexadas
- urugvajskih pesosa en unidades indexadas
- urugvajski pesos en unidades indexadas
- urugvajski pesos en unidades indexadas
-
-
- Urugvajski pezo (1975-1993) (UYP)
- urugvajska pezosa (UYP)
- urugvajskih pezosa (UYP)
- urugvajski pezos (UYP)
- urugvajski pezos (UYP)
-
-
- Urugvajski pezo (UYU)
- urugvajska pezosa
- urugvajskih pezosa
- urugvajski pezos
- urugvajski pezos
-
-
- Uzbekistanski som (UZS)
- uzbekistanska soma
- uzbekistanskih soma
- uzbekistanski som
- uzbekistanski som
-
-
- Venecuelanski bolivar
- venecuelska bolivara
- venecuelskih bolivara
- venecuelski bolivar
- venecuelskih bolivara
-
-
- Venecuelanska bolivija fuerte (VEF)
- venezuelanska bolivara fuertes
- venezuelanskih bolivara fuertes
- venezuelanski bolivar fuertes
- venezuelanski bolivar fuertes
-
-
- Vijetnamski dong
- vijetnamska donga
- vijetnamskih donga
- vijetnamski dong
- vijetnamski dong
-
-
- Vanatuški vatu (VUV)
- vanuatska vatua
- vanuatskih vatua
- vanuatski vatu
- vanuatski vatui
-
-
- Samoanska tala (WST)
- samoanske tale
- samoanskih tala
- samoanska tala
- samoanska tala
-
-
- CFA franak BEAC (XAF)
- CFA franka BEAC
- CFA franaka BEAC
- CFA franak BEAC
- CFA franci BEAC
-
-
- Srebro (CAG)
- srebra
- srebra
- srebro
- srebro
-
-
- Zlato (XAU)
- zlata
- zlata
- zlato
- zlato
-
-
- Evropska kompozitna jedinica (XBA)
- evropske složene jedinice
- evropskih složenih jedinica
- evropska složena jedinica
- evropska složena jedinica
-
-
- Evropska novÄana jedinica (XBB)
- evropske monetarne jedinice
- evropskih monetarnih jedinica
- evropska monetarna jedinica
- evropska monetarna jedinica
-
-
- Evropska jedinica raÄuna (XBC)
- evropske obraÄunske jedinice (XBC)
- evropskih obraÄunskih jedinica (XBC)
- evropska obraÄunska jedinica (XBC)
- evropska obraÄunska jedinica (XBC)
-
-
- Evropska jedinica raÄuna (XBD)
- evropske obraÄunske jedinice (XBD)
- evropskih obraÄunskih jedinica (XBD)
- evropska obraÄunska jedinica (XBC
- evropska obraÄunska jedinica (XBC
-
-
- IstoÄnokaribijski dolar (XCD)
- istoÄnokaripska dolara
- istoÄnokaripskih dolara
- istoÄnokaripski dolar
- istoÄnokaripski dolar
-
-
- Posebna prava (XDR)
- posebna crtaća prava
- posebnih crtaćih prava
- posebno crtaće pravo
- posebnih crtaćih prava
-
-
- Evropska valutna jedinica (XEU)
- evropske monetarne jedinice (ECU)
- evropskih monetarnih jedinica (ECU)
- evropska monetarna jedinica (ECU)
- evropskih monetarnih jedinica (ECU)
-
-
- Francuski zlatni frank (XFO)
- francuska zlatna franka
- francuskih zlatnih franaka
- francuski zlatni franak
- francuskih zlatnih franaka
-
-
- Francuski UIC-frank (XFU)
- francuska UIC-franka
- francuskih UIC-franaka
- francuski UIC-franak
- francuskih UIC-franaka
-
-
- CFA franak BCEAO (XOF)
- CFA franka BCEAO
- CFA franaka BCEAO
- CFA franak BCEAO
- CFA franci BCEAO
-
-
- Paladijum (XPD)
- paladijuma
- paladijuma
- paladijum
- paladijuma
-
-
- CFP franak (XPF)
- CFP franaka
- CFP franaka
- CFP franak
- CFP franci
-
-
- Platina (XPT)
- platine
- platina
- platina
- platina
-
-
- RINET fondovi (XRE)
- RINET fonda
- RINET fondova
- RINET fond
- RINET fondova
-
-
- Kod testirane valute (XTS)
- ispitna koda valute
- ispitnih kodova valute
- ispitni kod valute
- ispitnih kodova valute
-
-
- Nepoznata ili nevažeća valuta
- nepoznate ili nevažeće valute
- nepoznatih ili nevažećih valuta
- nepoznate ili nevažeće valute
- nepoznatih ili nevažećih valuta
-
-
- Jemenski dinar (YDD)
- jemenska dinara
- jemenskih dinara
- jemenski dinar
- jemenskih dinara
-
-
- Jemenski rial (YER)
- jemenska rijala
- jemenskih rijala
- jemenski rijal
- jemenski rijali
-
-
- Jugoslovenski tvrdi dinar (YUD)
- jugoslovenska Ävrsta dinara
- jugoslovenskih Ävstih dinara
- jugoslovenski Ävrsti dinar
- jugoslovenskih Ävstih dinara
-
-
- Jugoslovenski novi dinar (YUM)
- jugoslovenska nova dinara
- jugoslovenskih novih dinara
- jugoslovenski novi dinar
- jugoslovenskih novih dinara
-
-
- Jugoslovenski konvertibilni dinar (YUN)
- jugoslovenska konvertibilna dinara
- jugoslovenskih konvertibilnih dinara
- jugoslovenski konvertibilni dinar
- jugoslovenskih konvertibilnih dinara
-
-
- JužnoafriÄki rand (finansijski) ZAL
- južnoafriÄka randa (financijska)
- južnoafiÄkih randa (financijskih)
- južnoafriÄki rand (financijski)
- južnoafiÄkih randa (financijskih)
-
-
- Južna Afrika Rand
- južnoafriÄka randa
- južnoafriÄkih randa
- južnoafriÄki rand
- južnoafriÄkih randa
-
-
- Zambijska kvaÄa (ZMK)
- zambijske kvaÄe
- zambijskih kvaÄa
- zambijska kvaÄa
- zambijske kvaÄe
-
-
- Zairski novi zair (ZRN)
- zairska nova zaira
- zairskih novih zaira
- zairski novi zair
- zairskih novih zaira
-
-
- Zairski zair (ZRZ)
- zairska zaira
- zairskih zaira
- zairski zair
- zairskih zaira
-
-
- Zimbabvejski dolar (ZWD)
- zimbabvejska dolara
- zimbabvejskih dolara
- zimbabvejski dolar
- zimbabvejski dolari
-
-
-
-
-
- {0} dana
- {0} dana
- {0} dan
- {0} dana
-
-
- {0} sata
- {0} sati
- {0} sat
- {0} sati
-
-
- {0} minute
- {0} minuta
- {0} minut
- {0} minuta
-
-
- {0} meseca
- {0} meseci
- {0} mesec
- {0} meseci
-
-
- {0} sekunde
- {0} sekundi
- {0} sekunda
- {0} sekundi
-
-
- {0} nedelje
- {0} nedelja
- {0} nedelja
- {0} nedelja
-
-
- {0} godine
- {0} godina
- {0} godina
- {0} godina
-
-
-
-
- da:d
- ne:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_BA.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Latn_BA.xml
deleted file mode 100644
index 5b2c88287..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_BA.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_CS.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Latn_CS.xml
deleted file mode 100644
index b4be5ce92..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_CS.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_ME.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Latn_ME.xml
deleted file mode 100644
index 8db2c8c3d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_ME.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- d.MM.yyyy.
-
-
-
-
-
-
- d.MM - d.MM
- d.MM - d.MM
-
-
- E, d.MM - E, d.MM
- E, d.MM - E, d.MM
-
-
- MM.yyyy - MM.yyyy
- MM.yyyy - MM.yyyy
-
-
- d.MM.yyyy. - d.MM.yyyy.
- d.MM.yyyy. - d.MM.yyyy.
- d.MM.yyyy. - d.MM.yyyy.
-
-
-
-
-
-
-
-
-
-
- ¤ #,##0.00
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_RS.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Latn_RS.xml
deleted file mode 100644
index 340ff3e89..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_RS.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_YU.xml b/airtime_mvc/library/Zend/Locale/Data/sr_Latn_YU.xml
deleted file mode 100644
index 5c292043a..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_Latn_YU.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_ME.xml b/airtime_mvc/library/Zend/Locale/Data/sr_ME.xml
deleted file mode 100644
index 63d5994a5..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_ME.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_RS.xml b/airtime_mvc/library/Zend/Locale/Data/sr_RS.xml
deleted file mode 100644
index 3297d5452..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_RS.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sr_YU.xml b/airtime_mvc/library/Zend/Locale/Data/sr_YU.xml
deleted file mode 100644
index 50ca5fac2..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sr_YU.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ss.xml b/airtime_mvc/library/Zend/Locale/Data/ss.xml
deleted file mode 100644
index e1014425b..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ss.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-
-
-
-
-
-
-
- Siswati
-
-
-
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Bhi
- Van
- Vol
- Mab
- Nkh
- Nhl
- Kho
- Ngc
- Nyo
- Mph
- Lwe
- Ngo
-
-
- Bhimbidvwane
- iNdlovana
- iNdlovu-lenkhulu
- Mabasa
- iNkhwekhweti
- iNhlaba
- Kholwane
- iNgci
- iNyoni
- iMphala
- Lweti
- iNgongoni
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- Son
- Mso
- Bil
- Tsa
- Ne
- Hla
- Mgc
-
-
- Lisontfo
- uMsombuluko
- Lesibili
- Lesitsatfu
- Lesine
- Lesihlanu
- uMgcibelo
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- AM
- PM
-
-
- BC
- AD
-
-
- BC
- AD
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- E
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ss_SZ.xml b/airtime_mvc/library/Zend/Locale/Data/ss_SZ.xml
deleted file mode 100644
index 7488fb428..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ss_SZ.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ss_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/ss_ZA.xml
deleted file mode 100644
index 335710222..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ss_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/st.xml b/airtime_mvc/library/Zend/Locale/Data/st.xml
deleted file mode 100644
index 1ccceabc6..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/st.xml
+++ /dev/null
@@ -1,320 +0,0 @@
-
-
-
-
-
-
-
-
-
- Seburu
- Se-amhari
- Se-arab
- Se-azerbaijani
- Se-belarusia
- Se-bulgaria
- Se-bihari
- Se-bengali
- Breton
- Se-bosnia
- Se-catalia
- Se-czech
- Se-welsh
- Se-dutch
- Se-jeremane
- Se-greek
- Senyesemane
- Se-esperanto
- Sespain
- Se-estonia
- Se-basque
- Se-persia
- Se-finnish
- Se-tagalog
- Se-foroese
- Se-french
- Se-frisia
- Se-irish
- Se-scots gaelic
- Se-galicia
- Guarani
- Se-gujarati
- Se-hebrew
- Se-hindi
- Se-croatia
- Se-hungaria
- Se-interlingua
- Se-indonesia
- Se-iceland
- Se-tariana
- Se-japane
- Se-javane
- Se-geogia
- Se-kannada
- Se-korea
- Kurdish
- Kyrgyz
- Se-latino
- Se-Lithuano
- Se-masedonia
- Se-malayalam
- Se-marathi
- Se-malay
- Se-maltese
- Se-nepali
- Dutch
- Se-norway (Nynorsk)
- Se-norway
- Se-occitan
- Oriya
- Se-punjabi
- Se-polish
- Pashto
- Se-portugal
- Seputukesi (sa Brazil)
- Se-portugal (Portugal)
- Se-romania
- Se-rushia
- Serbo-Croatian
- Se-sinhali
- Se-slovak
- Se-slovania
- Se-albanian
- Se-serbian
- Sesotho
- Se-sundanese
- Se-sweden
- Se-swahili
- Se-tamil
- Se-telegu
- Se-thai
- Se-tigrinya
- Turkmen
- Se-klingon
- Se-theki
- Twi
- Se-ukrania
- Se-urdu
- Se-uzbek
- Se-vietnam
- se Xhosa
- Yiddish
- se Zulu
-
-
-
- [a b d-u w y]
- [c v x z]
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Phe
- Kol
- Ube
- Mme
- Mot
- Jan
- Upu
- Pha
- Leo
- Mph
- Pun
- Tsh
-
-
- Phesekgong
- Hlakola
- Hlakubele
- Mmese
- Motsheanong
- Phupjane
- Phupu
- Phata
- Leotshe
- Mphalane
- Pundungwane
- Tshitwe
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- Son
- Mma
- Bed
- Rar
- Ne
- Hla
- Moq
-
-
- Sontaha
- Mmantaha
- Labobedi
- Laboraru
- Labone
- Labohlane
- Moqebelo
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- AM
- PM
-
-
- BC
- AD
-
-
- BC
- AD
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/st_LS.xml b/airtime_mvc/library/Zend/Locale/Data/st_LS.xml
deleted file mode 100644
index c961408a3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/st_LS.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- M
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/st_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/st_ZA.xml
deleted file mode 100644
index f93bd8ef4..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/st_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/supplementalData.xml b/airtime_mvc/library/Zend/Locale/Data/supplementalData.xml
deleted file mode 100644
index 568b3d118..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/supplementalData.xml
+++ /dev/null
@@ -1,5359 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sv.xml b/airtime_mvc/library/Zend/Locale/Data/sv.xml
deleted file mode 100644
index 992c34ec0..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sv.xml
+++ /dev/null
@@ -1,4722 +0,0 @@
-
-
-
-
-
-
-
- nn nb da en
-
-
- {0} ({1})
- ,
-
-
- afar
- abchasiska
- achinesiska
- acoli
- adangme
- adygeiska
- avestiska
- afrikaans
- afroasiatiskt sprĂ¥k
- afrihili
- ainu
- akan
- akkadiska
- aleutiska
- algonkinskt sprĂ¥k
- sydaltaiska
- amhariska
- aragonesiska
- fornengelska
- angika
- apachesprĂ¥k
- arabiska
- arameiska
- araukanska
- arapaho
- konstgjort sprĂ¥k
- arawakiska
- assamesiska
- asturiska
- athapaskiskt sprĂ¥k
- australiskt sprĂ¥k
- avariskt sprĂ¥k
- awadhi
- aymara
- azerbajdzjanska
- basjkiriska
- banda
- bamilekesprĂ¥k
- baluchi
- balinesiska
- basa
- baltiskt sprĂ¥k
- vitryska
- beyja
- bemba
- berbersprĂ¥k
- bulgariska
- bihari
- bhojpuri
- bislama
- bikol
- bini
- siksika
- bambara
- bengali
- bantusprĂ¥k
- tibetanska
- bretonska
- braj
- bosniska
- batak
- burjätiska
- buginesiska
- blin
- katalanska
- caddo
- centralamerikanskt indiansprĂ¥k
- karibiska
- kaukasiskt sprĂ¥k
- atsam
- tjetjenska
- cebuano
- keltiskt sprĂ¥k
- chamorro
- chibcha
- chagatai
- chuukesiska
- mari
- chinook
- choctaw
- chipewyan
- cherokesiska
- cheyenne
- chamisprĂ¥k
- korsikanska
- koptiska
- engelskbaserat kreol- eller pidginsprĂ¥k
- franskbaserat kreol- eller pidginsprĂ¥k
- portugisiskbaserat kreol- eller pidginsprĂ¥k
- cree
- krimtatariska
- kreol- eller pidginsprĂ¥k
- tjeckiska
- kasjubiska
- kyrkslaviska
- kusjitiskt sprĂ¥k
- tjuvasjiska
- walesiska
- danska
- dakota
- darginska
- dajakiska
- tyska
- österrikisk tyska
- schweizisk högtyska
- delaware
- slavej
- dogrib
- dinka
- dogri
- dravidiskt sprĂ¥k
- lĂ¥gsorbiska
- duala
- medelnederländska
- divehi
- dyula
- bhutanesiska
- ewe
- efik
- fornegyptiska
- ekajuk
- grekiska
- elamitiska
- engelska
- australisk engelska
- kanadensisk engelska
- brittisk engelska
- amerikansk engelska
- medelengelska
- esperanto
- spanska
- latinamerikansk spanska
- europeisk spanska
- estniska
- baskiska
- ewondo
- persiska
- fang
- fanti
- fulani
- finska
- filippinska
- finskugriskt sprĂ¥k
- fidjianska
- färöiska
- fonsprĂ¥ket
- franska
- kanadensisk franska
- schweizisk franska
- medelfranska
- fornfranska
- nordfrisiska
- östfrisiska
- friulianska
- västfrisiska
- iriska
- gĂ£
- gayo
- gbaya
- höglandsskotska
- germanskt sprĂ¥k
- etiopiska
- gilbertiska
- galiciska
- medelhögtyska
- guaranĂ
- fornhögtyska
- gondi
- gorontalo
- gotiska
- grebo
- forngrekiska
- schweizertyska
- gujarati
- manx
- gwichin
- haussa
- haida
- hawaiiska
- hebreiska
- hindi
- hiligaynon
- himachali
- hettitiska
- hmongsprĂ¥k
- hirimotu
- kroatiska
- högsorbiska
- haitiska
- ungerska
- hupa
- armeniska
- herero
- interlingua
- ibanska
- indonesiska
- interlingue
- ibo
- szezuan i
- ijosprĂ¥ket
- inupiak
- iloko
- indiskt sprĂ¥k
- indoeuropeiskt sprĂ¥k
- ingusjiska
- ido
- iranskt sprĂ¥k
- irokesiskt sprĂ¥k
- isländska
- italienska
- inuktitut
- japanska
- lojban
- judisk persiska
- judisk arabiska
- javanesiska
- georgiska
- karakalpakiska
- kabyliska
- kachin
- jju
- kamba
- karenska
- kawi
- kabardinska
- tyap
- koro
- kikongo
- khasi
- khoisansprĂ¥k
- khotanesiska
- kikuyu
- kuanyama
- kazakiska
- grönländska
- kambodjanska
- kimbundu
- kannada
- koreanska
- konkani
- kosreanska
- kpelle
- kanuri
- karachay-balkar
- karelska
- kru
- kurukh
- kashmiriska
- kurdiska
- kumykiska
- kutenaj
- kome
- korniska
- kirgisiska
- latin
- ladino
- lahnda
- lamba
- luxemburgiska
- lezghien
- luganda
- limburgiska
- lingala
- laotiska
- mongo
- lozi
- litauiska
- luba-katanga
- luba-lulua
- luiseño
- lunda
- luo
- lushai
- lettiska
- maduresiska
- magahi
- maithili
- makasar
- mande
- austronesiskt sprĂ¥k
- massajiska
- moksja
- mandar
- mende
- malagassiska
- medeliriska
- marshalliska
- maori
- mic-mac
- minangkabau
- annat sprĂ¥k
- makedonska
- mon-khmeriskt sprĂ¥k
- malayalam
- mongoliska
- manchuriska
- manipuri
- manobosprĂ¥k
- moldaviska
- mohawk
- mossi
- marathi
- malajiska
- maltesiska
- flera sprĂ¥k
- mundasprĂ¥k
- muskogee
- mirandesiska
- marwari
- burmesiska
- mayasprĂ¥k
- erjya
- nauru
- aztekiska
- nordamerikanskt indiansprĂ¥k
- napolitanska
- norskt bokmĂ¥l
- nordndebele
- lĂ¥gtyska
- nepalesiska
- newariska
- ndonga
- nias
- Niger-KongosprĂ¥k
- niueanska
- nederländska
- flamländska
- nynorska
- norska
- nogai
- fornnordiska
- n-kĂ¥
- sydndebele
- nordsotho
- nubiskt sprĂ¥k
- navaho
- klassisk newariska
- nyanja
- nyamwezi
- nyankole
- nyoro
- nzima
- occitanska
- odjibwa
- oromo
- oriya
- ossetiska
- osage
- ottomanska
- otomisprĂ¥k
- punjabi
- papuanskt sprĂ¥k
- pangasinan
- medelpersiska
- pampanga
- papiamento
- palau
- fornpersiska
- filippinskt sprĂ¥k
- feniciska
- pali
- polska
- ponape
- prakritsprĂ¥k
- fornprovensalska
- afghanska
- portugisiska
- brasiliansk portugisiska
- europeisk portugisiska
- quechua
- rajasthani
- rapanui
- rarotonganska
- rätoromanska
- rundi
- rumänska
- romanskt sprĂ¥k
- romani
- rot
- ryska
- arumänska
- kinjarwanda
- sanskrit
- sandawe
- jakutiska
- sydamerikanskt indiansprĂ¥k
- salikiskt sprĂ¥k
- samaritanska
- sasak
- santali
- sardiska
- sicilianska
- skotska
- sindhi
- nordsamiska
- selkup
- semitiskt sprĂ¥k
- sango
- forniriska
- teckensprĂ¥k
- serbokroatiska
- shan
- singalesiska
- sidamo
- siouxsprĂ¥k
- sinotibetanskt sprĂ¥k
- slovakiska
- slovenska
- slaviskt sprĂ¥k
- samoanska
- sydsamiska
- samiskt sprĂ¥k
- lulesamiska
- enaresamiska
- skoltsamiska
- shona
- soninke
- somaliska
- sogdiska
- songhai
- albanska
- serbiska
- sranan tongo
- serer
- swati
- nilosahariskt sprĂ¥k
- sydsotho
- sundanesiska
- sukuma
- susu
- sumeriska
- svenska
- swahili
- klassisk syriska
- syriska
- tamil
- thaisprĂ¥k
- telugiska
- temne
- tereno
- tetum
- tadzjikiska
- thailändska
- tigrinja
- tigré
- tivi
- turkmeniska
- tokelauiska
- tagalog
- klingonska
- tlingit
- tamashek
- tswana
- tonganska
- nyasatonganska
- tok pisin
- turkiska
- tsonga
- tsimshian
- tatariska
- tumbuka
- tupĂsprĂ¥k
- altaiskt sprĂ¥k
- tuvaluanska
- twi
- tahitiska
- tuviniska
- udmurtiska
- uiguriska
- ugaritiska
- ukrainska
- umbundu
- obestämt sprĂ¥k
- urdu
- uzbekiska
- vaj
- venda
- vietnamesiska
- volapĂ¼k
- votiska
- vallonska
- wakusjiskt sprĂ¥k
- walamo
- waray
- washo
- sorbiskt sprĂ¥k
- wolof
- kalmuckiska
- xhosa
- kiyao
- japetiska
- jiddisch
- yoruba
- eskimĂ¥sprĂ¥k
- zhuang
- zapotek
- blissymboler
- zenaga
- kinesiska
- förenklad kinesiska
- traditionell kinesiska
- zandé
- zulu
- zuni
- inget sprĂ¥kligt innehĂ¥ll
- zaza
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- världen
- Afrika
- Nordamerika
- Sydamerika
- Oceanien
- Västafrika
- Centralamerika
- Ă–stafrika
- Nordafrika
- Centralafrika
- södra Afrika
- Nord- och Sydamerika
- norra Amerika
- Karibien
- Ă–stasien
- södra Asien
- Sydostasien
- Sydeuropa
- Australien och Nya Zeeland
- Melanesien
- Mikronesiska öarna
- Polynesien
- södra Centralasien
- Asien
- Centralasien
- Västasien
- Europa
- Ă–steuropa
- Nordeuropa
- Västeuropa
- Oberoende staters samvälde
- Latinamerika och Karibien
- Kanalöarna
- Andorra
- Förenade Arabemiraten
- Afghanistan
- Antigua och Barbuda
- Anguilla
- Albanien
- Armenien
- Nederländska Antillerna
- Angola
- Antarktis
- Argentina
- Amerikanska Samoa
- Ă–sterrike
- Australien
- Aruba
- Ă…land
- Azerbajdzjan
- Bosnien och Hercegovina
- Barbados
- Bangladesh
- Belgien
- Burkina Faso
- Bulgarien
- Bahrain
- Burundi
- Benin
- S:t Barthélemy
- Bermuda
- Brunei
- Bolivia
- Brasilien
- Bahamas
- Bhutan
- Bouvetön
- Botswana
- Vitryssland
- Belize
- Kanada
- Kokosöarna
- Kongo-Kinshasa
- Centralafrikanska republiken
- Kongo-Brazzaville
- Schweiz
- Elfenbenskusten
- Cooköarna
- Chile
- Kamerun
- Kina
- Colombia
- Costa Rica
- Serbien och Montenegro
- Kuba
- Kap Verde
- Julön
- Cypern
- Tjeckien
- Tyskland
- Djibouti
- Danmark
- Dominica
- Dominikanska republiken
- Algeriet
- Ecuador
- Estland
- Egypten
- Västsahara
- Eritrea
- Spanien
- Etiopien
- Finland
- Fiji
- Falklandsöarna
- Mikronesien
- Färöarna
- Frankrike
- Gabon
- Storbritannien
- Grenada
- Georgien
- Franska Guyana
- Guernsey
- Ghana
- Gibraltar
- Grönland
- Gambia
- Guinea
- Guadeloupe
- Ekvatorialguinea
- Grekland
- Sydgeorgien och Södra Sandwichöarna
- Guatemala
- Guam
- Guinea-Bissau
- Guyana
- Hongkong (S.A.R. Kina)
- Heard- och McDonaldöarna
- Honduras
- Kroatien
- Haiti
- Ungern
- Indonesien
- Irland
- Israel
- Isle of Man
- Indien
- Brittiska Indiska oceanöarna
- Irak
- Iran
- Island
- Italien
- Jersey
- Jamaica
- Jordanien
- Japan
- Kenya
- Kirgizistan
- Kambodja
- Kiribati
- Komorerna
- S:t Kitts och Nevis
- Nordkorea
- Sydkorea
- Kuwait
- Caymanöarna
- Kazakstan
- Laos
- Libanon
- S:t Lucia
- Liechtenstein
- Sri Lanka
- Liberia
- Lesotho
- Litauen
- Luxemburg
- Lettland
- Libyen
- Marocko
- Monaco
- Moldavien
- Montenegro
- S:t Martin
- Madagaskar
- Marshallöarna
- Makedonien
- Mali
- Myanmar
- Mongoliet
- Macao (S.A.R. Kina)
- Nordmarianerna
- Martinique
- Mauretanien
- Montserrat
- Malta
- Mauritius
- Maldiverna
- Malawi
- Mexiko
- Malaysia
- Moçambique
- Namibia
- Nya Kaledonien
- Niger
- Norfolkön
- Nigeria
- Nicaragua
- Nederländerna
- Norge
- Nepal
- Nauru
- Niue
- Nya Zeeland
- Oman
- Panama
- Peru
- Franska Polynesien
- Papua Nya Guinea
- Filippinerna
- Pakistan
- Polen
- S:t Pierre och Miquelon
- Pitcairn
- Puerto Rico
- Palestinska territoriet
- Portugal
- Palau
- Paraguay
- Qatar
- Yttre öar i Oceanien
- Europeiska unionen
- Réunion
- Rumänien
- Serbien
- Ryssland
- Rwanda
- Saudiarabien
- Salomonöarna
- Seychellerna
- Sudan
- Sverige
- Singapore
- S:t Helena
- Slovenien
- Svalbard och Jan Mayen
- Slovakien
- Sierra Leone
- San Marino
- Senegal
- Somalia
- Surinam
- SĂ£o TomĂ© och PrĂncipe
- El Salvador
- Syrien
- Swaziland
- Turks- och Caicosöarna
- Tchad
- Franska Sydterritorierna
- Togo
- Thailand
- Tadzjikistan
- Tokelau
- Ă–sttimor
- Turkmenistan
- Tunisien
- Tonga
- Turkiet
- Trinidad och Tobago
- Tuvalu
- Taiwan
- Tanzania
- Ukraina
- Uganda
- USA:s yttre öar
- USA
- Uruguay
- Uzbekistan
- Vatikanstaten
- S:t Vincent och Grenadinerna
- Venezuela
- Brittiska Jungfruöarna
- Amerikanska Jungfruöarna
- Vietnam
- Vanuatu
- Wallis- och Futunaöarna
- Samoa
- Jemen
- Mayotte
- Sydafrika
- Zambia
- Zimbabwe
- okänd eller ogiltig regionkod
-
-
- traditionell tysk stavning
- 1994 Ă¥rs resisk stavning
- 1996 Ă¥rs reformerad tysk stavning
- 1606 Ă¥rs stavning
- 1694 Ă¥rs stavning
- östarmeniska
- västarmeniska
- 1926 Ă¥rs stavning
- Bila-dialekt
- boontling
- internationell fonetisk notation - IPA
- uralisk fonetisk notation
- Lipovaz-dialekt
- monotonisk stavning
- natisonsk dialekt
- Njiva-dialekt
- Osojane-dialekt
- polytonisk stavning
- reformerad stavning
- resisk dialekt
- saho-dialekt
- skotska
- scouse
- Solbica-dialekt
- Taraskievika-stavning
- valensisk dialekt
-
-
- kalender
- sorteringsordning
- valuta
-
-
- traditionell kinesiska i big5-ordning
- buddistisk kalender
- kinesisk kalender
- direkt ordning
- förenklad kinesiska i gb2312-ordning
- gregoriansk kalender
- hebreisk kalender
- indisk kalender
- islamisk kalender
- islamisk civil kalender
- japansk kalender
- telefonkatalogsordning
- pinyinordning
- kinesiska republikens kalender
- streckordning
- traditionell ordning
-
-
- SI-enheter
- engelska enheter
-
-
- sprĂ¥k: {0}
- skrift: {0}
- omrĂ¥de: {0}
-
-
-
- lowercase-words
- lowercase-words
- lowercase-words
- lowercase-words
- lowercase-words
- lowercase-words
- lowercase-words
- titlecase-words
- lowercase-words
- lowercase-words
-
-
- [a Ă b-e Ă© f-z Ă¥ ä ö]
- [Ă¡ Ă¢ Ă£ Ä Ă§ Ă« Ă-Ă¯ Ä« ñ Ă³ Ăº Ă¿ Ă¼ æ ø]
- [a-c Ä d-l Å‚ m-z]
-
-
- â€
- â€
- ’
- ’
-
-
- {0} till {1}
-
-
- fm
- em
-
-
-
- EEEE d MMMM y
-
-
-
-
- d MMMM y G
-
-
-
-
- d MMM y G
-
-
-
-
- yyyy-MM-dd
-
-
-
-
-
- MMM -yy
-
-
-
-
-
-
-
- tout
- bĂ¢bĂ¢
- hĂ¢tour
- kiahk
- toubah
- amshîr
- barmahĂ¢t
- barmoudah
- bashans
- ba’ounah
- abîb
- misra
- al-nasi
-
-
-
-
-
-
-
-
- mäskäräm
- teqemt
- hedar
- tahesas
- yäkatit
- mägabit
- miyazya
- guenbot
- säné
- hamlé
- nähasé
- pagumén
-
-
-
-
-
-
-
-
- jan
- feb
- mar
- apr
- maj
- jun
- jul
- aug
- sep
- okt
- nov
- dec
-
-
- januari
- februari
- mars
- april
- maj
- juni
- juli
- augusti
- september
- oktober
- november
- december
-
-
-
-
- J
- F
- M
- A
- M
- J
- J
- A
- S
- O
- N
- D
-
-
-
-
-
-
- sön
- mĂ¥n
- tis
- ons
- tors
- fre
- lör
-
-
- söndag
- mĂ¥ndag
- tisdag
- onsdag
- torsdag
- fredag
- lördag
-
-
-
-
- S
- M
- T
- O
- T
- F
- L
-
-
-
-
-
-
- K1
- K2
- K3
- K4
-
-
- 1:a kvartalet
- 2:a kvartalet
- 3:e kvartalet
- 4:e kvartalet
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- fm
- em
-
-
- före Kristus
- efter Kristus
-
-
- f.Kr.
- e.Kr.
-
-
-
-
-
- EEEE d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- yyyy-MM-dd
-
-
-
-
-
-
- 'kl'. HH.mm.ss zzzz
-
-
-
-
- HH.mm.ss z
-
-
-
-
- HH.mm.ss
-
-
-
-
- HH.mm
-
-
-
-
-
- d
- hh.mm a
- HH.mm
- h.mm.ss a
- HH.mm.ss
- H.mm
- L
- d/M
- E d/M
- d/M
- dd/MM
- LLL
- d MMM
- E d MMM
- d MMMM
- E d MMMM
- EEE d MMMM
- mm.ss
- y
- yyyy-MM
- EEE, yyyy-MM-dd
- y MMM
- EEE d MMM y
- y MMMM
- yyyy Q
- y QQQ
- yy-MM
- MMM -yy
- Q yy
- yyyy-MM
- MMM y
- QQQQ y
-
-
- {0} – {1}
-
- d–d
-
-
- HH–HH
- HH-HH
-
-
- HH.mm–HH.mm
- HH.mm–HH.mm
- HH.mm–HH.mm
-
-
- HH.mm–HH.mm v
- HH.mm–HH.mm v
- HH.mm-HH.mm v
-
-
- HH–HH v
- HH–HH v
-
-
- M–M
-
-
- d–d/M
- d/M – d/M
-
-
- E d/M – E d/M
- E d/M – E d/M
-
-
- MMM–MMM
-
-
- d–d MMM
- d MMM – d MMM
-
-
- E d – E d MMM
- E d MMM – E d MMM
-
-
- LLLL–LLLL
-
-
- y–y
-
-
- yyyy-MM – MM
- yyyy-MM – yyyy-MM
-
-
- yyyy-MM-dd – dd
- yyyy-MM-dd – MM-dd
- yyyy-MM-dd – yyyy-MM-dd
-
-
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
-
-
- MMM–MMM y
- MMM y – MMM y
-
-
- d–d MMM y
- d MMM–d MMM y
- d MMM y–d MMM y
-
-
- E dd MMM–E dd MMM y
- E dd MMM–E dd MMM y
- E dd MMM y–E dd MMM y
-
-
- yyyy-MM – MM
- yyyy-MM – yyyy-MM
-
-
-
-
-
- era
-
-
- Ă¥r
-
-
- mĂ¥nad
-
-
- vecka
-
-
- dag
- för tre dagar sedan
- i förrgĂ¥r
- igĂ¥r
- idag
- imorgon
- i övermorgon
- om tre dagar
-
-
- veckodag
-
-
- fm/em
-
-
- timme
-
-
- minut
-
-
- sekund
-
-
- tidszon
-
-
-
-
-
-
-
- tishrĂ
- heshvĂ¡n
- kislév
- tevét
- shevĂ¡t
- adĂ¡r
- adĂ¡r II
- nisĂ¡n
- ijjĂ¡r
- sivĂ¡n
- tammĂºz
- ab
- elĂºl
-
-
-
-
-
-
-
-
- chaitra
- vaishÄkh
- jyaishtha
- ÄshÄdha
- shrÄvana
- bhÄdrapad
- Äshwin
- kÄrtik
- mÄrgashÄ«rsha
- paush
- mÄgh
- phÄlgun
-
-
-
-
-
- Saka-eran
-
-
- SE
-
-
-
-
-
-
-
- muharram
- safar
- rabi’ al-awwal
- rabi’ al-akhir
- jumada-l-ula
- jumada-l-akhira
- rajab
- sha’ban
- ramadan
- shawwal
- dhu-l-ga’da
- dhu-l-hijja
-
-
-
-
-
-
-
-
- farvardin
- ordibehesht
- khordÄd
- tir
- mordÄd
- shahrivar
- mehr
- ÄbÄn
- Äzar
- dey
- bahman
- esfand
-
-
-
-
-
-
-
- före R.K.
- R.K.
-
-
-
-
-
- +HH.mm;-HH.mm
- GMT{0}
- UTC
- {0}
- {1} ({0})
-
- Okänd
-
-
- Tirana
-
-
- Jerevan
-
-
- Curaçao
-
-
- sydpolen
-
-
- Dumont d’Urville
-
-
- UshuaĂ¯a
-
-
- San Salvador de Jujuy
-
-
- CĂ³rdoba
-
-
- Pango Pango
-
-
- Wien
-
-
- Dacca
-
-
- Bryssel
-
-
- Porto Novo
-
-
- Eirunepé
-
-
- CuiabĂ¡
-
-
- Belém
-
-
- SĂ£o Paulo
-
-
- MaceiĂ³
-
-
- Thimpu
-
-
- Gabonore
-
-
- Régina
-
-
- Montréal
-
-
- St. Johns
-
-
- ZĂ¼rich
-
-
- PĂ¥skön
-
-
- BogotĂ¡
-
-
- Havanna
-
-
- Kap Verde
-
-
- Julön
-
-
- Prag
-
-
- Köpenhamn
-
-
- Alger
-
-
- GalĂ¡pagos
-
-
- Tallin
-
-
- Kairo
-
-
- Kanarieöarna
-
-
- Addis Abeba
-
-
- Helsingfors
-
-
- Torshamn
-
-
- Qaanaaq
-
-
- GodthĂ¥b
-
-
- Ittoqqortoormiit
-
-
- Danmarkshamn
-
-
- Malobo
-
-
- Aten
-
-
- Grytviken
-
-
- Hongkong
-
-
- Tequciqalpa
-
-
- Port au Prince
-
-
- Kolkata
-
-
- Bagdad
-
-
- Teheran
-
-
- Rom
-
-
- S:t Kitts
-
-
- Söul
-
-
- Aqtöbe
-
-
- Alma-Ata
-
-
- S:t Lucia
-
-
- Vadus
-
-
- Luxemburg
-
-
- Chrisinau
-
-
- Podgorika
-
-
- Ulan Bator
-
-
- Tjojbalsan
-
-
- Macao
-
-
- Maldiverna
-
-
- MazatlĂ¡n
-
-
- Mérida
-
-
- CancĂºn
-
-
- Kathmandu
-
-
- Muskat
-
-
- Manilla
-
-
- Warszawa
-
-
- Azorerna
-
-
- Lissabon
-
-
- AsunciĂ³n
-
-
- Réunion
-
-
- Bukarest
-
-
- Belgrad
-
-
- Moskva
-
-
- Jekaterinburg
-
-
- Krasnojarsk
-
-
- Jakutsk
-
-
- Sachalin
-
-
- Kamtjatka
-
-
- Anadir
-
-
- Ljubliana
-
-
- SĂ£o TomĂ©
-
-
- San Salvador
-
-
- Damaskus
-
-
- Dusjanbe
-
-
- Uzjgorod
-
-
- Zaporizjzja
-
-
- North Dakota
-
-
- Tasjkent
-
-
- Saint Vincent
-
-
- Saint Thomas
-
-
- Lukasa
-
-
-
- västbrasiliansk tid
- västbrasiliansk normaltid
- västbrasiliansk sommartid
-
-
-
-
- afghanisk tid
- afghanisk normalid
- afghanisk sommartid
-
-
-
-
- centralafrikansk tid
- centralafrikansk tid
- centralafrikansk sommartid
-
-
-
-
- östafrikansk tid
- östafrikansk normaltid
- östafrikansk sommartid
-
-
-
-
- västsaharisk tid
- västsaharisk normaltid
- västsaharisk sommartid
-
-
-
-
- sydafrikansk tid
- sydafrikansk normaltid
- sydafrikansk sommartid
-
-
-
-
- västafrikansk tid
- västafrikansk normaltid
- västafrikansk sommartid
-
-
-
-
- Aqtöbetid
- Aqtöbenormaltid
- Aqtöbesommartid
-
-
-
-
- alaskatid
- Alaska, normaltid
- Alaska, sommartid
-
-
-
-
- hawaiiansk tid
- hawaiisk normaltid
- hawaiisk sommartid
-
-
-
-
- Alma-Atatid
- Alma-Atanormaltid
- Alma-Atasommartid
-
-
-
-
- amazonastid
- Amazonasnormaltid
- Amazonassommartid
-
-
-
-
- centralnordamerikansk tid
- Central, normaltid
- Central, sommartid
-
-
-
-
- östnordamerikansk tid
- Eastern, normaltid
- Eastern, sommartid
-
-
-
-
- Klippiga Bergentid
- Mountain, normaltid
- Mountain, sommartid
-
-
-
-
- västnordamerikansk tid
- Pacific, normaltid
- Pacific, sommartid
-
-
-
-
- Anadirtid
- Anadirnormaltid
- Anadirsommartid
-
-
-
-
- Aqtautid
- Aqtaunormaltid
- Aqtausommartid
-
-
-
-
- Aqtöbetid
- Aqtöbenormaltid
- Aqtöbesommartid
-
-
-
-
- saudiarabisk tid
- saudiarabisk normaltid
- saudiarabisk sommartid
-
-
- AT (saudiarabisk)
- AST (saudiarabisk)
- ADT (saudiarabisk)
-
-
-
-
- östargentinsk tid
- östargentinsk normaltid
- östargentinsk sommartid
-
-
-
-
- västargentinsk tid
- västargentinsk normaltid
- västargentinsk sommartid
-
-
-
-
- armenisk tid
- armenisk normaltid
- armenisk somartid
-
-
-
-
- Ashkhabadtid
- Ashkhabadnormaltid
- Ashkhabadsommartid
-
-
-
-
- nordamerikansk atlanttid
- Atlantic, normaltid
- Atlantic, sommartid
-
-
-
-
- centralaustralisk tid
- centralaustralisk normaltid
- centralaustralisk sommartid
-
-
-
-
- Euclatid
- Euclanormaltid
- Euclasommartid
-
-
-
-
- östaustralisk tid
- östaustralisk normaltid
- östaustralisk sommartid
-
-
-
-
- västaustralisk tid
- västaustralisk normaltid
- västaustralisk sommartid
-
-
-
-
- azerbajdzjansk tid
- azerbajdzjansk normaltid
- azerbajdzjansk sommartid
-
-
-
-
- azorisk tid
- azorisk normaltid
- azorisk sommartid
-
-
-
-
- Bakutid
- Bakunormaltid
- Bakusommartid
-
-
-
-
- bangladeshisk tid
- bangladeshisk normaltid
- bangladeshisk sommartid
-
-
-
-
- beringsundstid
- beringsundsnormaltid
- beringsundssommartid
-
-
-
-
- bhutansk tid
- bhutansk normaltid
- bhutansk sommartid
-
-
-
-
- boliviansk tid
- boliviansk normaltid
- boliviansk sommartid
-
-
-
-
- borneotid
- Borneonormaltid
- Borneosommartid
-
-
-
-
- brasiliansk tid
- Brasilianormaltid
- Brasiliasommartid
-
-
-
-
- brittisk tid
- brittisk normaltid
- brittisk sommartid
-
-
-
-
- Bruneitid
- Bruneinormaltid
- Bruneisommartid
-
-
-
-
- Kap Verdetid
- Kap Verdenormaltid
- Kap Verdesommartid
-
-
-
-
- chamorrotid
- Chamorronormaltid
- Chamorrosommartid
-
-
-
-
- changbaitid
- Changbainormaltid
- Changbaisommartid
-
-
-
-
- Chathamtid
- Chathamnormaltid
- Chathamsommartid
-
-
-
-
- chilensk tid
- chilensk normaltid
- chilensk sommartid
-
-
-
-
- kinesisk tid
- Kina, normaltid
- Kina, sommartid
-
-
-
-
- Choibalsantid
- Choibalsannormaltid
- Choibalsansommartid
-
-
-
-
- Julöns tid
- Julöns normaltid
- Julöns sommartid
-
-
-
-
- Keelingöarnas tid
- Keelingöarnas normaltid
- Keelingöarnas sommartid
-
-
-
-
- colombiansk tid
- colombiansk normaltid
- colombiansk sommartid
-
-
-
-
- Cooköarnas tid
- Cooköarnas normaltid
- Cooköarnas sommartid
-
-
-
-
- kubansk tid
- kubansk normaltid
- kubansk sommartid
-
-
- CT (Kuba)
- CST (Kuba)
- CDT (Kuba)
-
-
-
-
- daccatid
- Dhakanormaltid
- Dhakasommartid
-
-
-
-
- dominikansk tid
- dominikansk normaltid
- dominikansk sommartid
-
-
-
-
- Dushanbetid
- Dushanbenormaltid
- Dushanbesommartid
-
-
-
-
- Holländska Guianatid
- Holländska Guiananormaltid
- Holländska Guianasommartid
-
-
-
-
- östimoransk tid
- östimorisk normaltid
- östimorisk sommartid
-
-
-
-
- PĂ¥sköns tid
- PĂ¥sköns normaltid
- PĂ¥sköns sommartid
-
-
-
-
- equadoriansk tid
- equadoriansk normaltid
- equadoriansk sommartid
-
-
-
-
- centraleuropeisk tid
- Centraleuropa, normaltid
- Centraleuropa, sommartid
-
- true
-
-
-
- östeuropeisk tid
- Ă–steuropa, normaltid
- Ă–steuropa, sommartid
-
- true
-
-
-
- västeuropeisk tid
- västeuropeisk normaltid
- västeuropeisk sommartid
-
- true
-
-
-
- falklandsöarnas tid
- falklandsöarnas normaltid
- falklandsöarnas sommartid
-
-
-
-
- Fijis tid
- Fijis normaltid
- Fijis sommartid
-
-
-
-
- Franska Guianatid
- Franska Guiananormaltid
- Franska Guianasommartid
-
-
-
-
- Franska Sydterritoriernas tid
- Franska Sydterritoriernas normaltid
- Franska Sydterritoriernassommartid
-
-
-
-
- Bisjkektid
- Bisjkeknormaltid
- Bisjkeksommartid
-
-
-
-
- galapagostid
- GalĂ¡pagosnormaltid
- GalĂ¡pagossommartid
-
-
-
-
- Gambiertid
- Gambiernormaltid
- Gambiersommartid
-
-
-
-
- georgientid
- georgisk normaltid
- georgisk sommartid
-
-
-
-
- Kiribatitid
- Kiribatinormaltid
- Kiribatisommartid
-
-
-
-
- Greenwichtid
- Greenwichtid
- Greenwichtid har per definition ingen sommartid
-
- true
-
-
-
- Goose Baytid
- Goose Baynormaltid
- Goose Baysommartid
-
-
-
-
- centralgrönländsk tid
- centralgrönländsk normaltid
- centralgrönländsk sommartid
-
-
-
-
- östgrönländsk tid
- östgrönländsk normaltid
- östgrönländsk sommartid
-
-
-
-
- västgrönländsk tid
- västgrönländsk normaltid
- västgrönländsk sommartid
-
-
-
-
- Guamtid
- Guamnormaltid
- Guamsommartid
-
-
-
-
- persiska golfen-tid
- persiska golfen-tid
- Persiska Golfensommartid
-
-
-
-
- Guyanatid
- Guyananormaltid
- Guyanasommartid
-
-
-
-
- Honolulutid
- Honolulunormaltid
- Honolulusommartid
-
-
-
-
- Hongkongtid
- Hongkongnormaltid
- Hongkongsommartid
-
-
-
-
- Hovdtid
- Hovdnormaltid
- Hovdsommartid
-
-
-
-
- indisk tid
- indisk normaltid
- indisk sommartid
-
-
-
-
- Brittiska Indiska oceanöarnas tdi
- Brittiska Indiska oceanöarnas normaltdi
- Brittiska Indiska oceanöarnas sommartdi
-
-
-
-
- indokinesisk tid
- indokinesisk normaltid
- indokinesisk sommartid
-
-
-
-
- centralindonesisk tid
- centralindonesisk normaltid
- centralindonesisk sommartid
-
-
-
-
- östindonesisk tid
- östindonesisk normaltid
- östindonesisk sommartid
-
-
-
-
- västindonesisk tid
- västindonesisk normaltid
- västindonesisk sommartid
-
-
-
-
- iransk tid
- iransk normaltid
- iransk sommartid
-
-
-
-
- irländsk tid
- irländsk normaltid
- irländsk sommartid
-
-
-
-
- Irkutsktid
- Irkutsknormaltid
- Irkutsksommartid
-
-
-
-
- israelisk tid
- Israel, normaltid
- Israel, sommartid
-
-
- IST (Israel)
-
-
-
-
- japansk tid
- Japan, normaltid
- Japan, sommartid
-
-
-
-
- Kamtjatkatid
- Kamtjatkanormaltid
- Kamtjatkasommartid
-
-
-
-
- Karachitid
- Karachinormaltid
- Karachisommartid
-
-
-
-
- Kashgartid
- Kashgarnormaltid
- Kashgarsommartid
-
-
-
-
- Alma-Atatid
- Alma-Atanormaltid
- Alma-Atasommartid
-
-
-
-
- Aktautid
- Aktaunormaltid
- Aktausommartid
-
-
-
-
- Qyzylordatid
- Qyzylordanormaltid
- Qyzylordasommartid
-
-
-
-
- koreansk tid
- koreansk normaltid
- koreansk sommartid
-
-
-
-
- Kosraetid
- Kosraenormaltid
- Kosraesommartid
-
-
-
-
- Krasnojarsktid
- Krasnojarsknormaltid
- Krasnojarsksommartid
-
-
-
-
- Kuybyshevtid
- Kuybyshevnormaltid
- Kuybyshevsommartid
-
-
-
-
- Marshallöarnas tid
- Marshallöarnas normaltid
- Marshallöarnas sommartid
-
-
-
-
- kirgizisk tid
- kirgizisk normaltid
- kirgizisk sommartid
-
-
-
-
- Sri Lankatid
- Sri Lankanormaltid
- Sri Lankasommartid
-
-
-
-
- liberiansk tid
- liberiansk normaltid
- liberiansk sommartid
-
-
- LBT
- LBST
-
-
-
-
- Lineöarnas tid
- Lineöarnas normaltid
- Lineöarnas sommartid
-
-
- LINT
- LINST
-
-
-
-
- Chongqingtid
- Chongqingnormaltid
- Chongqingsommartid
-
-
-
-
- Lord Howetid
- Lord Howenormaltid
- Lord Howesommartid
-
-
-
-
- Macautid
- Macaunormaltid
- Macausommartid
-
-
-
-
- Magadantid
- Magadannormaltid
- Magadansommartid
-
-
-
-
- malaysisk tid
- malaysisk normaltid
- malaysisk sommartid
-
-
-
-
- malaysisk tid
- malaysisk normaltid
- malaysisk sommartid
-
-
-
-
- Maldivernas tid
- Maldivernas normaltid
- Maldivernas sommartid
-
-
-
-
- Marquesastid
- Marquesasnormaltid
- Marquesassommartid
-
-
-
-
- Marshallötid
- Marshallönormaltid
- Marshallösommartid
-
-
-
-
- Mauritiustid
- Mauritiustid
- Mauritiussommartid
-
-
-
-
- Ulan Bator-tid
- Ulan Batornormaltid
- Ulan Batorsommartid
-
-
-
-
- Moskvatid
- Moskvanormaltid
- Moskvasommartid
-
-
-
-
- burmesisk tid
- burmesisk normaltid
- burmesisk sommartid
-
-
-
-
- Naurutid
- Naurunormaltid
- Naurusommartid
-
-
-
-
- nepalesisk tid
- nepalesisk normaltid
- nepalesisk sommartid
-
-
-
-
- Nya Kaledonientid
- Nya Kaledoniennormaltid
- Nya Kaledoniensommartid
-
-
-
-
- nyzeeländsk tid
- nyzeeländsk normaltid
- nyzeeländsk sommartid
-
-
-
-
- New Foundland-tid
- Newfoundland, normaltid
- Newfoundland, sommartid
-
-
-
-
- Niuetid
- Niuenormaltid
- Niuesommartid
-
-
-
-
- Norfolköns tid
- Norfolköns normaltid
- Norfolköns sommartid
-
-
-
-
- Fernando de Noronhatid
- Fernando de Noronhanormalid
- Fernando de Noronhasommartid
-
-
-
-
- Nordmarianernas tid
- Nordmarianernas normaltid
- Nordmarianernas sommartid
-
-
-
-
- Novosibirsktid
- Novosibirsknormaltid
- Novosibirsksommartid
-
-
-
-
- Omsktid
- Omsknormaltid
- Omsksommartid
-
-
-
-
- Oraltid
- Oralnormaltid
- Oralsommartid
-
-
-
-
- pakistansk tid
- pakistansk normaltid
- pakistansk sommartid
-
-
-
-
- Palautid
- Palaunormaltid
- Palausommartid
-
-
-
-
- Papua Nya Guineas tid
- Papua Nya Guineas normaltid
- Papua Nya Guineas sommartid
-
-
-
-
- paraguyansk tid
- paraguyansk normalid
- paraguyansk sommartid
-
-
-
-
- peruansk tid
- peruansk normalid
- peruansk sommartid
-
-
-
-
- filippinsk tid
- filippinsk normaltid
- filippinsk sommartid
-
-
-
-
- Enderburytid
- Enderburynormaltid
- Enderburysommartid
-
-
-
-
- Pierre och Miquelontid
- Pierre och Miquelonnormalid
- Pierre och Miquelonsommartid
-
-
-
-
- Pitcairntid
- Pitcairnnormaltid
- Pitcairnsommartid
-
-
-
-
- Ponapetid
- Ponapenormaltid
- Ponapesommartid
-
-
-
-
- Qyzylordatid
- Qyzylordanormaltid
- Qyzylordasommartid
-
-
-
-
- Réuniontid
- Réunionnormaltid
- Réunionsommartid
-
-
-
-
- Sachalintid
- Sachalinnormaltid
- Sachalinsommartid
-
-
-
-
- Samaratid
- Samaranormaltid
- Samarasommartid
-
-
-
-
- Samarkandtid
- Samarkandnormaltid
- Samarkandsommartid
-
-
-
-
- samoansk tid
- samoansk normaltid
- samoansk sommartid
-
-
-
-
- Seychellernas tid
- Seychellernas normaltid
- Seychellernas sommartid
-
-
-
-
- Aqtautid
- Aqtaunormaltid
- Aqtausommartid
-
-
-
-
- Singaporetid
- Singaporenormaltid
- Singaporesommartid
-
-
-
-
- Salomonöarnas tid
- Salomonöarnas normaltid
- Salomonöarnas sommartid
-
-
-
-
- sydgeorgisk tid
- sydgeorgisk normaltid
- sydgeorgisk sommartid
-
-
-
-
- Surinamtid
- Surinamnormaltid
- Surinamsommartid
-
-
-
-
- Sverdlovsktid
- Sverdlovsknormaltid
- Sverdlovsksommartid
-
-
-
-
- Tahititid
- Tahitinormaltid
- Tahitisommartid
-
-
-
-
- Tadzjikistantid
- Tadzjikistannormaltid
- Tadzjikistansommartid
-
-
-
-
- uzbekisk tid
- uzbekisk normaltid
- uzbekisk sommartid
-
-
-
-
- georgisk tid
- georgisk normaltid
- georgisk sommartid
-
-
-
-
- Tokelautid
- Tokelaunormaltid
- Tokelausommartid
-
-
-
-
- Tongatid
- Tongatid
- Tongasommmartid
-
-
-
-
- Truktid
- Truknormaltid
- Truksommartid
-
-
-
-
- turkisk tid
- turkisk normaltid
- turkisk sommartid
-
-
-
-
- turkmenisk tid
- turkmenisk normaltid
- turkmenisk sommartid
-
-
-
-
- Tuvalutid
- Tuvalunormaltid
- Tuvalusommartid
-
-
-
-
- Oraltid
- Oralnormaltid
- Oralsommartid
-
-
-
-
- uruguayansk tid
- uruguayansk normaltid
- uruguayansk sommartid
-
-
-
-
- Urumqitid
- Urumqinormaltid
- Urumqisommartid
-
-
-
-
- uzbeskisk tid
- uzbeskisk normaltid
- uzbeskisk sommartid
-
-
-
-
- Vanuatutid
- Vanuatunormaltid
- Vanuatusommartid
-
-
-
-
- venezulansk tid
- venezulansk normaltid
- venezulansk sommartid
-
-
-
-
- Vladivostoktid
- Vladivostoknormaltid
- Vladivostoksommartid
-
-
-
-
- Volvogradtid
- Volvogradnormaltid
- Volvogradsommartid
-
-
-
-
- Waketid
- Wakenormaltid
- Wakesommartid
-
-
-
-
- Wallis- och Futunaöarnas tid
- Wallis- och Futunaöarnas normaltid
- Wallis- och Futunaöarnas sommartid
-
-
-
-
- Jakutsktid
- Jakutsknormaltid
- Jakutsksommartid
-
-
-
-
- Jekaterinburgtid
- Jekaterinburgnormaltid
- Jekaterinburgsommartid
-
-
-
-
- Yerevantid
- Yerevannormaltid
- Yerevansommartid
-
-
-
-
- Yukontid
- Yukonnormaltid
- Yukonsommartid
-
-
-
-
-
-
- ,
- Â
- ;
- %
- 0
- #
- +
- −
- Ă—10^
- ‰
- âˆ
- ¤¤¤
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0Â %
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
- {0} {1}
-
-
-
- andorransk peseta
- andorransk peseta
- andorranska pesetas
-
-
- Förenade Arabemiratens dirham
- Förenade Arabemiratens dirham
- Förenade Arabemiratens dirham
-
-
- afghani (1927-2002)
- afghani (1927-2002)
- afghani (1927-2002)
-
-
- afghani
- afghani
- afghani
- AFN
-
-
- albansk gamla lek
- albansk gammal lek
- albanska gamla lek
-
-
- albansk lek
- albansk lek
- albanska lek
-
-
- armenisk dram
- armenisk dram
- armeniska dram
-
-
- Nederländska Antillernas gulden
- Nederländska Antillernas gulden
- Nederländska Antillernas gulden
-
-
- angolansk kwanza
- angolansk kwanza
- angolanska kwanza
- AOA
-
-
- angolansk kwanza (1977-1990)
- angolansk kwanza (1977-1990)
- angolanska kwanza (1977-1990)
-
-
- angolansk ny kwanza (1990-2000)
- angolansk kwanza (1990-1995)
- angolanska nya kwanza (1990-2000)
-
-
- angolansk kwanza reajustado (1995-1999)
- angolansk kwanza reajustado (1995-1999)
- angolanska kwanza reajustado (1995-1999)
-
-
- argentinsk austral
- argentinsk austral
- argentinska australer
- ARA
-
-
- ARL
-
-
- ARM
-
-
- argentinsk peso (1983-1985)
- argentinsk peso (1983-1985)
- argentinska pesos (1983-1985)
-
-
- argentinsk peso
- argentinsk peso
- argentinska pesos
- ARS
-
-
- österrikisk schilling
- österrikisk schilling
- österrikiska schilling
-
-
- australisk dollar
- australisk dollar
- australiska dollar
-
-
- Aruba-gulden
- Aruba-gulden
- Aruba-gulden
- AWG
-
-
- azerbajdzjansk manat (1993-2006)
- azerbajdzjansk manat (1993-2006)
- azerbajdzjanska manat (1993-2006)
-
-
- azerbajdzjansk manat
- azerbajdzjansk manat
- AZN
- AZN
-
-
- bosnisk-hercegovinsk dinar
- bosnisk-hercegovinsk dinar
- bosnisk-hercegovinska dinarer
- BAD
-
-
- bosnisk-hercegovinsk mark (konvertibel)
- bosnisk-hercegovinsk mark (konvertibel)
- bosnisk-hercegovinska mark (konvertibla)
- BAM
-
-
- Barbados-dollar
- Barbados-dollar
- Barbados-dollar
-
-
- bangladeshisk taka
- bangladeshisk taka
- bangladeshiska taka
-
-
- belgisk franc (konvertibel)
- belgisk franc (konvertibel)
- belgiska franc (konvertibla)
-
-
- belgisk franc
- belgisk franc
- belgiska franc
- BEF
-
-
- belgisk franc (finansiell)
- belgisk franc (finansiell)
- belgiska franc (finansiella)
-
-
- bulgarisk lev (1962–1999)
- bulgarisk hĂ¥rd lev (1962–1999)
- bulgariska lev (1962–1999)
-
-
- bulgarisk lev (1952–1962)
- bulgariska lev (1952–1962)
-
-
- bulgarisk ny lev
- bulgarisk lev
- bulgariska nya lev
-
-
- Bahrain-dinar
- Bahrain-dinar
- BHD
- BHD
-
-
- burundisk franc
- burundisk franc
- burundiska franc
- BIF
-
-
- Bermuda-dollar
- Bermuda-dollar
- Bermuda-dollar
- BMD
-
-
- Brunei-dollar
- Brunei-dollar
- Brunei-dollar
- BND
-
-
- boliviano
- boliviansk boliviano
- boliviano
- BOB
-
-
- boliviansk peso
- boliviansk peso
- bolivianska pesos
- BOP
-
-
- boliviansk mvdol
- boliviansk mvdol
- bolivianska mvdol
-
-
- brasiliansk cruzeiro novo (1967-1986)
- brasiliansk cruzeiro (1967-1986)
- brasilianska cruzeiro novo (1967-1986)
- BRB
-
-
- brasiliansk cruzado
- brasiliansk cruzado
- brasilianska cruzado
- BRC
-
-
- brasiliansk cruzeiro (1990-1993)
- brasiliansk cruzeiro (1990-1993)
- brasilianska cruzeiro (1990-1993)
- BRE
-
-
- brasiliansk real
- brasiliansk real
- brasilianska real
- BRL
-
-
- brasiliansk cruzado novo
- brasiliansk cruzado novo
- brasilianska cruzado novo
- BRN
-
-
- brasiliansk cruzeiro
- brasiliansk cruzeiro
- brasilianska cruzeiros
- BRR
-
-
- BRZ
-
-
- Bahamas-dollar
- Bahamas-dollar
- Bahamas-dollar
- BSD
-
-
- bhutanesisk ngultrum
- bhutanesisk ngultrum
- bhutanesiska ngultrum
- BTN
-
-
- burmesisk kyat
- burmesisk kyat
- burmesiska kyat
-
-
- botswansk pula
- botswansk pula
- botswanska pula
-
-
- vitrysk ny rubel (1994-1999)
- vitrysk rubel (1994-1999)
- vitryska nya rubel (1994-1999)
-
-
- vitrysk rubel
- vitrysk rubel
- vitryska rubel
-
-
- belizisk dollar
- belizisk dollar
- BZD
- BZD
-
-
- kanadensisk dollar
- kanadensisk dollar
- kanadensiska dollar
- CAD
-
-
- kongolesisk franc
- kongolesisk franc
- kongolesiska franc
-
-
- euro (konvertibelt konto, WIR Bank, Schweiz)
- euro (WIR Bank)
- euro (konvertibelt konto, WIR Bank, Schweiz)
-
-
- schweizisk franc
- schweizisk franc
- schweiziska franc
- CHF
-
-
- franc (konvertibelt konto, WIR Bank, Schweiz)
- franc (WIR Bank)
- franc (konvertibelt konto, WIR Bank, Schweiz)
-
-
- CLE
-
-
- chilensk unidad de fomento
- chilensk unidad de fomento
- chilenska unidad de fomento
-
-
- chilensk peso
- chilensk peso
- chilenska pesos
- CLP
-
-
- kinesisk dollar
- kinesisk dollar
- kinesiska dollar
-
-
- kinesisk yuan renminbi
- kinesisk yuan renminbi
- kinesiska yuan renminbi
- CNY
-
-
- colombiansk peso
- colombiansk peso
- colombianska pesos
- COP
-
-
- colombiansk unidad de valor real
- colombiansk unidad de valor real
- colombianska unidad de valor real
-
-
- costarikansk colĂ³n
- costarikansk colĂ³n
- costarikanska colĂ³n
- CRC
-
-
- jugoslavisk dinar
- gammal serbisk dinar
- gamla serbiska dinarer
-
-
- tjeckisk hĂ¥rd koruna
- tjeckoslovakisk hĂ¥rd koruna
- tjeckiska hĂ¥rda koruna
-
-
- CUC
-
-
- kubansk peso
- kubansk peso
- kubanska pesos
- CUP
-
-
- kapverdisk escudo
- kapverdisk escudo
- kapverdiska escudos
- CVE
-
-
- cypriotiskt pund
- cypriotiskt pund
- cypriotiska pund
- CYP
-
-
- tjeckisk koruna
- tjeckisk koruna
- tjeckiska koruna
- CZK
-
-
- östtysk mark
- östtysk mark
- östtyska mark
-
-
- tysk mark
- tysk mark
- tyska mark
-
-
- djiboutisk franc
- djiboutisk franc
- djiboutiska franc
- DJF
-
-
- dansk krona
- dansk krona
- danska kronor
- DKK
-
-
- dominikansk peso
- dominikansk peso
- dominikanska pesos
- DOP
-
-
- algerisk dinar
- algerisk dinar
- algeriska dinarer
- DZD
-
-
- ecuadoriansk sucre
- ecuadoriansk sucre
- ecuadorianska sucre
-
-
- ecuadoriansk unidad de valor constante
- ecuadoriansk unidad de valor constante
- ecuadorianska unidad de valor constante
-
-
- estnisk krona
- estnisk krona
- estniska kronor
-
-
- egyptiskt pund
- egyptiskt pund
- egyptiska pund
- EGP
-
-
- eritreansk nakfa
- eritreansk nakfa
- eritreanska nakfa
- ERN
-
-
- spansk peseta (konto)
- spansk peseta (konto)
- spanska pesetas (konto)
-
-
- spansk peseta (konvertibelt konto)
- spansk peseta (konvertibelt konto)
- spanska pesetas (konvertibelt konto)
-
-
- spansk peseta
- spansk peseta
- spanska pesetas
- ESP
-
-
- etiopisk birr
- etiopisk birr
- etiopiska birr
- ETB
-
-
- euro
- euro
- euro
-
-
- finsk mark
- finsk mark
- finska mark
- FIM
-
-
- Fiji-dollar
- Fiji-dollar
- Fiji-dollar
- FJD
-
-
- Falklandsöarnas pund
- Falklandsöarnas pund
- Falklandsöarnas pund
- FKP
-
-
- fransk franc
- fransk franc
- franska franc
- FRF
-
-
- brittiskt pund sterling
- brittiskt pund sterling
- brittiska pund sterling
-
-
- georgisk kupon larit
- georgisk kupon larit
- georgiska kupon larit
-
-
- georgisk lari
- georgisk lari
- georgiska lari
-
-
- ghanansk cedi (1979-2007)
- ghanansk cedi (1979-2007)
- ghananska cedi (1979-2007)
- GHC
-
-
- ghanansk cedi
- ghanansk cedi
- ghananska cedi
- GHS
-
-
- gibraltiskt pund
- gibraltiskt pund
- gibraltiska pund
- GIP
-
-
- gambisk dalasi
- gambisk dalasi
- gambiska dalasi
-
-
- guineansk franc
- guineansk franc
- guineanska franc
- GNF
-
-
- guineansk syli
- guineansk syli
- guineanska syli
-
-
- ekvatorialguineansk ekwele
- ekvatorialguineansk ekwele
- ekvatorialguineanska ekweler
-
-
- grekisk drachma
- grekisk drachma
- grekiska drachmer
- GRD
-
-
- guatemalansk quetzal
- guatemalansk quetzal
- guatemalanska quetzal
-
-
- Portugisiska Guinea-escudo
- Portugisiska Guinea-escudo
- Portugisiska Guinea-escudos
-
-
- Guinea-Bissau-peso
- Guinea-Bissau-peso
- Guinea-Bissau-pesos
-
-
- guyanansk dollar
- Guyana-dollar
- guyanska dollar
- GYD
-
-
- Hongkong-dollar
- Hongkong-dollar
- Hongkong-dollar
-
-
- honduransk lempira
- honduransk lempira
- honduranska lempira
-
-
- kroatisk dinar
- kroatisk dinar
- kroatiska dinarer
-
-
- kroatisk kuna
- kroatisk kuna
- kroatiska kunor
- HRK
-
-
- haitisk gourde
- haitisk gourde
- haitiska gourder
-
-
- ungersk forint
- ungersk forint
- ungerska forinter
- HUF
-
-
- indonesisk rupiah
- indonesisk rupiah
- indonesiska rupier
- IDR
-
-
- irländskt pund
- irländskt pund
- irländska pund
- IEP
-
-
- israeliskt pund
- israeliskt pund
- israeliska pund
- ILP
-
-
- israelisk gammal shekel
- israelisk gammal shekel
- israeliska gamla shekel
-
-
- israelisk ny shekel
- israelisk ny shekel
- israeliska nya shekel
- ILS
-
-
- indisk rupie
- indisk rupie
- indiska rupier
- INR
-
-
- irakisk dinar
- irakisk dinar
- irakiska dinarer
-
-
- iransk rial
- iransk rial
- iranska rial
-
-
- isländsk gammal krona
- isländsk gammal krona
- isländska kronor (1874–1981)
-
-
- isländsk krona
- isländsk krona
- isländska kronor
- ISK
-
-
- italiensk lira
- italiensk lire
- italienska lire
- ITL
-
-
- Jamaica-dollar
- Jamaica-dollar
- Jamaica-dollar
- JMD
-
-
- jordansk dinar
- jordansk dinar
- jordanska dinarer
- JOD
-
-
- japansk yen
- japansk yen
- japanska yen
-
-
- kenyansk shilling
- kenyansk shilling
- kenyanska shilling
- KES
-
-
- kirgizisk som
- kirgizisk som
- kirgiziska somer
-
-
- kambodjansk riel
- kambodjansk riel
- kambodjanska riel
-
-
- komorisk franc
- komorisk franc
- komoriska franc
- KMF
-
-
- nordkoreansk won
- nordkoreansk won
- nordkoreanska won
- KPW
-
-
- sydkoreansk won
- sydkoreansk won
- sydkoreanska won
- KRW
-
-
- kuwaitisk dinar
- kuwaitisk dinar
- kuwaitiska dinarer
- KWD
-
-
- Cayman-dollar
- Cayman-dollar
- Cayman-dollar
- KYD
-
-
- kazakisk tenge
- kazakisk tenge
- kazakiska tenger
-
-
- laotisk kip
- laotisk kip
- laotiska kiper
- LAK
-
-
- libanesiskt pund
- libanesiskt pund
- libanesiska pund
- LBP
-
-
- srilankesisk rupie
- srilankesisk rupie
- srilankesiska rupier
- LKR
-
-
- Liberia-dollar
- Liberia-dollar
- Liberia-dollar
- LRD
-
-
- lesothisk loti
- lesothisk loti
- lesothiska lotier
-
-
- litauisk litas
- litauisk litas
- litauiska litas
- LTL
-
-
- litauisk talonas
- litauisk talonas
- litauiska talonas
-
-
- luxemburgsk franc (konvertibel)
- luxemburgsk franc (konvertibel)
- luxemburgska franc (konvertibla)
-
-
- luxemburgsk franc
- luxemburgsk franc
- luxemburgska franc
-
-
- luxemburgsk franc (finansiell)
- luxemburgsk franc (finansiell)
- luxemburgska franc (finansiella)
-
-
- lettisk lats
- lettisk lats
- lettiska lats
-
-
- lettisk rubel
- lettisk rubel
- lettiska rubel
-
-
- libysk dinar
- libysk dinar
- libyska dinarer
- LYD
-
-
- marockansk dirham
- marockansk dirham
- marockanska dirhamer
-
-
- marockansk franc
- marockansk franc
- marockanska franc
-
-
- moldavisk leu
- moldavisk leu
- moldaviska leu
-
-
- madagaskisk ariary
- madagaskisk ariary
- madagaskiska ariary
-
-
- madagaskisk franc
- madagaskisk franc
- madagaskiska franc
-
-
- makedonisk denar
- makedonisk denar
- makedoniska denarer
-
-
- malisk franc
- malisk franc
- maliska franc
-
-
- myanmarisk kyat
- myanmarisk kyat
- myanmariska kyat
-
-
- mongolisk tugrik
- mongolisk tugrik
- mongoliska tugrik
- MNT
-
-
- Macao-pataca
- Macao-pataca
- Macao-pataca
- MOP
-
-
- mauretansk ouguiya
- mauretansk ouguiya
- mauretanska ouguiya
- MRO
-
-
- maltesisk lira
- maltesisk lire
- maltesiska lire
- MTL
-
-
- maltesiskt pund
- maltesiskt pund
- maltesiska pund
- MTP
-
-
- mauritisk rupie
- mauritisk rupie
- mauritiska rupier
- MUR
-
-
- maldivisk rufiyaa
- maldivisk rufiyaa
- maldiviska rufiyer
- MVR
-
-
- malawisk kwacha
- malawisk kwacha
- malawiska kwacha
- MWK
-
-
- mexikansk peso
- mexikansk peso
- mexikanska pesos
-
-
- mexikansk silverpeso (1861-1992)
- mexikansk silverpeso (1861-1992)
- mexikanska silverpesos (1861-1992)
- MXP
-
-
- mexikansk unidad de inversion
- mexikansk unidad de inversion
- mexikanska unidad de inversion
-
-
- malaysisk ringgit
- malaysisk ringgit
- malaysiska ringgiter
- MYR
-
-
- moçambikisk escudo
- moçambikisk escudo (1914–1980)
- moçambikiska escudos
-
-
- gammal moçambikisk metical
- moçambikisk metical (1980-2006)
- gammla moçambikiska metical
- MZM
-
-
- moçambikisk metical
- moçambikisk metical
- moçambikiska metical
- MZN
-
-
- Namibia-dollar
- Namibia-dollar
- Namibia-dollar
- NAD
-
-
- nigeriansk naira
- nigeriansk naira
- nigerianska naira
- NGN
-
-
- nicaraguansk cĂ³rdoba
- nicaraguansk cĂ³rdoba
- nicaraguanska cĂ³rdoba
-
-
- nicaraguansk cĂ³rdoba oro
- nicaraguansk cĂ³rdoba oro
- nicaraguanska cĂ³rdoba oro
- NIO
-
-
- nederländsk gulden
- nederländsk gulden
- nederländska gulden
- NLG
-
-
- norsk krona
- norsk krona
- norska kronor
- NKr
-
-
- nepalesisk rupie
- nepalesisk rupie
- nepalesiska rupier
- NPR
-
-
- nyzeeländsk dollar
- nyzeeländsk dollar
- nyzeeländska dollar
- NZD
-
-
- omansk rial
- omansk rial
- omanska rial
-
-
- panamansk balboa
- panamansk balboa
- panamanska balboa
- PAB
-
-
- peruansk inti
- peruansk inti
- peruanska intier
- PEI
-
-
- peruansk sol nuevo
- peruansk sol nuevo
- peruanska sol nuevo
- PEN
-
-
- peruansk sol
- peruansk sol
- peruanska sol
-
-
- papuansk kina
- papuansk kina
- papuanska kinor
-
-
- filippinsk peso
- filippinsk peso
- filippinska pesos
- PHP
-
-
- pakistansk rupie
- pakistansk rupie
- pakistanska rupier
- PKR
-
-
- polsk zloty
- polsk zloty
- polska zloty
- PLN
-
-
- polsk zloty (1950-1995)
- polsk zloty (1950-1995)
- polska zloty (1950-1995)
-
-
- portugisisk escudo
- portugisisk escudo
- portugisiska escudos
- PTE
-
-
- paraguaysk guarani
- paraguaysk guarani
- paraguayska guarani
- PYG
-
-
- qatarisk rial
- qatarisk rial
- qatariska rial
- QAR
-
-
- rhodesisk dollar
- rhodesisk dollar
- rhodesiska dollar
- RHD
-
-
- gammal rumänsk leu
- rumänsk leu (1952-2005)
- gamla rumänska leu
-
-
- rumänsk leu
- rumänsk leu
- rumänska leu
-
-
- Serbisk dinar
- serbisk dinar
- serbiska dinarer
- RSD
-
-
- rysk rubel
- rysk rubel
- ryska rubel
-
-
- rysk rubel (1991-1998)
- rysk rubel (1991-1998)
- ryska rubel (1991-1998)
-
-
- rwandisk franc
- rwandisk franc
- rwandiska franc
- RWF
-
-
- saudisk riyal
- saudisk riyal
- saudiska riyal
- SAR
-
-
- Salomon-dollar
- Salomon-dollar
- Salomon-dollar
- SBD
-
-
- seychellisk rupie
- seychellisk rupie
- seychelliska rupier
- SCR
-
-
- sudanesisk dinar
- sudansk dinar (1992-2007)
- sudanska gamla dinarer
- SDD
-
-
- sudanesiskt pund
- sudanskt pund
- sudanska pund
-
-
- gammalt sudanesiskt pund
- sudanskt pund (1916-1992)
- sudanska gamla pund
-
-
- svensk krona
- svensk krona
- svenska kronor
- kr
-
-
- Singapore-dollar
- Singapore-dollar
- Singapore-dollar
- SGD
-
-
- S:t Helena-pund
- S:t Helena-pund
- S:t Helena-pund
- SHP
-
-
- slovensk tolar
- slovensk tolar
- slovenska tolar
-
-
- slovakisk koruna
- slovakisk koruna
- slovakiska korunor
- SKK
-
-
- sierraleonsk leone
- sierraleonsk leone
- sierraleonska leoner
- SLL
-
-
- somalisk shilling
- somalisk shilling
- somaliska shilling
- SOS
-
-
- Surinam-dollar
- Surinam-dollar
- Surinam-dollar
- SRD
-
-
- surinamesisk gulden
- Surinam-gulden
- Surinam-gulden
- SRG
-
-
- SĂ£o TomĂ© och PrĂncipe-dobra
- SĂ£o TomĂ© och PrĂncipe-dobra
- SĂ£o TomĂ© och PrĂncipe-dobror
- STD
-
-
- sovjetisk rubel
- sovjetisk rubel
- sovjetiska rubler
-
-
- salvadoransk colĂ³n
- salvadoransk colĂ³n
- salvadoranska colĂ³n
- SVC
-
-
- syriskt pund
- syriskt pund
- syriska pund
- SYP
-
-
- swaziländsk lilangeni
- swaziländsk lilangeni
- swaziländska lilangeni
-
-
- thailändsk baht
- thailändsk baht
- thailändska baht
-
-
- tadzjikisk rubel
- tadzjikisk rubel
- tadzjikiska rubler
-
-
- tadzjikisk somoni
- tadzjikisk somoni
- tadzjikiska somoni
-
-
- turkmensk manat
- turkmensk manat
- turkmenska manat
-
-
- tunisisk dinar
- tunisisk dinar
- tunisiska dinarer
- TND
-
-
- tongansk paʻanga
- tongansk paʻanga
- tonganska paʻanga
- TOP
-
-
- timoriansk escudo
- östtimoresisk escudo
- timorianska escudos
-
-
- gammal turkisk lira
- gammal turkisk lira
- gamla turkiska lire
-
-
- ny turkisk lira
- turkisk lira
- turkiska lire
- TRY
-
-
- Trinidad ochTobago-dollar
- Trinidad ochTobago-dollar
- Trinidad ochTobago-dollar
- TTD
-
-
- taiwanesisk ny dollar
- taiwanesisk ny dollar
- taiwanesiska nya dollar
- TWD
-
-
- tanzanisk shilling
- tanzanisk shilling
- tanzaniska shilling
- TZS
-
-
- ukrainsk hryvnia
- ukrainsk hryvnia
- ukrainska hryvnia
- UAH
-
-
- ukrainsk karbovanetz
- ukrainsk karbovanetz
- ukrainska karbovanetz
-
-
- ugandisk shilling (1966-1987)
- ugandisk shilling (1966-1987)
- ugandiska shilling (1966-1987)
-
-
- ugandisk shilling
- ugandisk shilling
- ugandiska shilling
- UGX
-
-
- US-dollar
- US-dollar
- US-dollar
-
-
- US-dollar (nästa dag)
- US-dollar (nästa dag)
- US-dollar (nästa dag)
-
-
- US-dollar (samma dag)
- US-dollar (samma dag)
- US-dollar (samma dag)
-
-
- uruguayansk peso en unidades indexadas
- uruguayansk peso en unidades indexadas
- uruguayanska peso en unidades indexadas
-
-
- uruguayansk peso (1975-1993)
- uruguayansk peso (1975-1993)
- uruguayanska pesos (1975-1993)
-
-
- uruguayansk peso
- uruguayansk peso
- uruguayanska pesos
- UYU
-
-
- uzbekisk sum
- uzbekisk sum
- uzbekiska sum
-
-
- venezuelansk bolivar
- venezuelansk bolivar
- venezuelanska bolivar
- VEB
-
-
- venezuelansk bolivar fuerte
- venezuelansk bolivar fuerte
- venezuelanska bolivar fuerte
- VEF
-
-
- vietnamesisk dong
- vietnamesisk dong
- vietnamesiska dong
- VND
-
-
- vanuatisk vatu
- vanuatisk vatu
- vanuatiska vatu
- VUV
-
-
- västsamoansk tala
- västsamoansk tala
- västsamoanska tala
- WST
-
-
- CFA Franc BEAC
- centralafrikansk franc
- centralafrikanska franc
- XAF
-
-
- silver
- uns silver
- silveruns
-
-
- guld
- uns guld
- gulduns
-
-
- europeisk kompositenhet
- europeisk gammal kompositenhet
- europeiska kompositenheter
-
-
- europeisk monetär enhet
- europeisk gammal monetär enhet
- europeiska monetära enheter
-
-
- europeisk kontoenhet (XBC)
- europeisk gammal kontoenhet-9
- europeiska kontoenheter (XBC)
-
-
- europeisk kontoenhet (XBD)
- europeisk kontoenhet (XBD)
- europeiska kontoenheter (XBD)
-
-
- östkaribisk dollar
- östkaribisk dollar
- östkaribiska dollar
- XCD
-
-
- IMF särskild dragningsrätt
- IMF särskild dragningsrätt
- IMF särskilda dragningsrätter
-
-
- europeisk valutaenhet
- europeisk valutaenhet
- europeiska valutaenheter
-
-
- fransk guldfranc
- fransk guldfranc
- franska guldfranc
-
-
- French UIC-Franc
- internationella järnvägsunionens franc
- internationella järnvägsunionens franc
-
-
- CFA Franc BCEAO
- västafrikansk franc
- västafrikanska franc
-
-
- palladium
- uns palladium
- palladium
-
-
- CFP-franc
- Stilla Havet-franc
- Stilla Havet-franc
- XPF
-
-
- platina
- uns platina
- platina
-
-
- RINET-fond
- RINET-fond
- RINET-fond
-
-
- test-valutakod
- (valutakod för teständamĂ¥l)
- test-valutakod
-
-
- okänd eller ogiltig valuta
- okänd/ogiltig valuta
- okänd eller ogiltig valuta
-
-
- jemenitisk dinar
- jemenitisk dinar
- jemenitiska dinarer
-
-
- jemenitisk rial
- jemenitisk rial
- jemenitiska rial
- YER
-
-
- jugoslavisk hĂ¥rd dinar
- jugoslavisk hĂ¥rd dinar
- jugoslaviska hĂ¥rda dinarer
-
-
- jugoslavisk ny dinar
- jugoslavisk ny dinar
- jugoslaviska nya dinarer
-
-
- jugoslavisk dinar (konvertibel)
- jugoslavisk dinar (konvertibel)
- jugoslaviska dinarer (konvertibla)
-
-
- sydafrikansk rand (finansiell)
- sydafrikansk rand (finansiell)
- sydafrikanska rand (finansiella)
-
-
- sydafrikansk rand
- sydafrikansk rand
- sydafrikanska rand
- ZAR
-
-
- zambisk kwacha
- zambisk kwacha
- zambiska kwacha
- ZMK
-
-
- zairisk ny zaire
- zaĂ¯risk ny zaĂ¯re
- zaĂ¯riska nya zaĂ¯re
- ZRN
-
-
- zairisk zaire
- zaĂ¯risk zaĂ¯re
- zaĂ¯riska zaĂ¯re
-
-
- Zimbabwe-dollar
- Zimbabwe-dollar
- Zimbabwe-dollar
-
-
-
-
-
- {0} dag
- {0} dagar
-
-
- {0} timme
- {0} timmar
-
-
- {0} minut
- {0} minuter
-
-
- {0} mĂ¥nad
- {0} mĂ¥nader
-
-
- {0} sekund
- {0} sekunder
-
-
- {0} vecka
- {0} veckor
-
-
- {0} Ă¥r
- {0} Ă¥r
-
-
-
-
- ja:j
- nej:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sv_FI.xml b/airtime_mvc/library/Zend/Locale/Data/sv_FI.xml
deleted file mode 100644
index 5437624be..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sv_FI.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- USA:s yttre öar
-
-
- 1996 Ă¥rs stavning
-
-
- kinesiska i big5-sorteringsordning
- kinesiska i gb2312-sorteringsordning
- telefonkatalogssorteringsordning
- kinesiska i pinyin-sorteringsordning
- kinesiska i strecksorteringsordning
- traditionell sorteringsordning
-
-
- imperiska enheter
-
-
-
- [a Ă b-e Ă© f-v x-z Ă¥ ä ö]
- [Ă£ ç Ă« à ñ Ă³ Å¡ Ă¿ Ă¼ ž]
-
-
-
-
-
-
- dagsperiod
-
-
-
-
-
- +HH:mm;−HH:mm
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sv_SE.xml b/airtime_mvc/library/Zend/Locale/Data/sv_SE.xml
deleted file mode 100644
index 626fe9c84..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sv_SE.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sw.xml b/airtime_mvc/library/Zend/Locale/Data/sw.xml
deleted file mode 100644
index 91f1039d3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sw.xml
+++ /dev/null
@@ -1,399 +0,0 @@
-
-
-
-
-
-
-
-
-
- kiafrikans
- kiamhariki
- kiarabu
- kubafu
- kiazabaijani
- kibelarusi
- kibulgaria
- kibihari
- kibengali; kibangla
- kibreton
- kibosnia
- kikatalan
- kicheki
- kiwelsh
- kidenmarki
- kijerumani
- kigiriki
- kiingereza
- kiesperanto
- kihispania
- kiestonia
- kibaski
- kiajemi
- kifinlandi
- kitagalog
- kifaroe
- kifaransa
- kifrisia
- kiairish
- kiskotlandi
- kigalisia
- guarani
- kigujarati
- kiyahudi
- kihindi
- kikroeshia
- kihungari
- muarmeni
- kiinterlingua
- kiindonesia
- lugha ya kisayansi
- kiaislandi
- kiitaliano
- kijapani
- kijava
- kijiojia
- kicambodia
- kikannada
- kikorea
- kikurdi
- kugizi
- kirumi
- kilingala
- kilaosi
- kilithuania
- kilatvia
- kimasedonia
- kimalayalam
- kimongolia
- kimarathi
- kimalaysia
- kimalta
- kinepali
- kiholanzi
- kinorwei
- kiositani
- kioriya
- kipunjabi
- kipolandi
- kipashto
- kireno
- kireno (brazil)
- kireno (ureno)
- kiromania
- kirusi
- kisanskriti
- msindhi
- kiserbia-kroeshia
- kisinhali
- kislovakia
- kislovenia
- kisomali
- kialbania
- kiserbia
- sesotho
- kinubi
- kisweden
- Kiswahili
- kitamil
- kitelugu
- kithailand
- kitigrinya
- wataki weume
- kiklingon
- kituruki
- kitwii
- ombwa
- kiukrania
- kiurdu
- kiuzbeki
- kivietnam
- kikhosa
- kiyidish
- kichina
- kizulu
-
-
- Muugano wa Falme za Nchi za Kiarabu
- Antigua na Barbuda
- Ajentina
- Bosnia na Herzegowina
- Ubelgiji
- Brazili
- Visiwa vya Bahama
- Kanada
- Jamhuri ya Afrika ya Kati
- Kongo
- Uswisi
- Pwani ya Pembe
- Kamerun
- Uchina
- Kolombia
- Serbiya da Montenegro
- Rasi Verde
- Jamhuri ya Czech
- Udachi
- Jibuti
- Udenmarki
- Dominika
- Jamhuri ya Dominikan
- Ekvado
- Misri
- Uhispania
- Uhabeshi
- Ufaransa
- Uingereza
- Guinea ya Ikweta
- Kroatia
- Hungaria
- Uyahudi
- Uhindi
- Iraki
- Uajemi
- Barafu
- Uitaliani
- Jamaika
- Ujapani
- Kenya
- Kampuchea
- Visiwa vya Komoro
- Saint Kitts na Nevis
- Korea ya Kaskazini
- Korea ya Kusini
- Luksemburg
- Moroko
- Monako
- Visiwa vya Marshall
- Meksiko
- Malasya
- Msumbiji
- Nikaragua
- Uholanzi
- Unorwe
- Nepali
- Papua Guinea Mpya
- Filipino
- Ureno
- Paragwai
- Urusi
- Arabuni Saudi
- Visiwa vya Solomon
- Visiwa vya Shelisheli
- Uswidi
- Somali
- Sao Tome na Principe
- Chadi
- Timor ya Mashariki
- Kitonga
- Uturuki
- Trinidad na Tobago
- Tanzania
- Muungano wa Nchi za Amerika
- Urugwai
- Vatikano
- Saint Vincent na Grenadines
- Yemeni
- Afrika ya Kusini
-
-
-
- [a-d {dh} e-n {ng} {ng'} {ny} o p r s {sh} t {th} u-w y z]
- [q x]
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Jan
- Feb
- Mac
- Apr
- Mei
- Jun
- Jul
- Ago
- Sep
- Okt
- Nov
- Des
-
-
- Januari
- Februari
- Machi
- Aprili
- Mei
- Juni
- Julai
- Agosti
- Septemba
- Oktoba
- Novemba
- Desemba
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- Jpi
- Jtt
- Jnn
- Jtn
- Alh
- Iju
- Jmo
-
-
- Jumapili
- Jumatatu
- Jumanne
- Jumatano
- Alhamisi
- Ijumaa
- Jumamosi
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
- R1
- R2
- R3
- R4
-
-
- robo ya kwanza
- robo ya pili
- robo ya tatu
- robo ya nne
-
-
-
- AM
- PM
-
-
- Kabla ya Kristo
- Baada ya Kristo
-
-
- KK
- BK
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
- Saa za Africa Mashariki
-
-
-
-
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- Shilingi ya Tanzania
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sw_KE.xml b/airtime_mvc/library/Zend/Locale/Data/sw_KE.xml
deleted file mode 100644
index 6045a5f0d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sw_KE.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/sw_TZ.xml b/airtime_mvc/library/Zend/Locale/Data/sw_TZ.xml
deleted file mode 100644
index 6667509fa..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/sw_TZ.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/syr.xml b/airtime_mvc/library/Zend/Locale/Data/syr.xml
deleted file mode 100644
index 2503c59e7..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/syr.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
-
-
-
- ܣܘܪÜÜÜ
-
-
- ܣܘܪÜÜÜ
-
-
-
-
-
-
- [\u0711 \u0730-\u074A ܃-܉ Ü Ü‚ Ü€ Ü-Ü Ü Ü’-Ü” Ü– Ü• Ü—-ܬ]
- [Ü\u200C \u200D Ü-ܯ Ư-Ư]
-
-
-
-
-
-
-
- ÜÜŸÜ¢ ÜÜ’
- ܫܒܛ
- Üܕܪ
- Ü¢Üܣܢ
- ÜÜܪ
- ÜÜ™Üܪܢ
- ܬܡܘܙ
- ÜÜ’
- ÜÜÜ Ü˜Ü
- Üܬܫ ÜÜ
- Üܬܫ ÜÜ’
- ÜÜŸÜ¢ ÜÜ
-
-
-
-
-
-
- dd MMMM, y
-
-
-
-
- dd MMMM, y
-
-
-
-
- dd/MM/yyyy
-
-
-
-
- dd/MM/yyyy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss
-
-
-
-
- h:mm
-
-
-
-
-
- dd/MM
- dd MMMM
- mm:ss
- Q yy
- MM/yyyy
- MMMM, y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
-
-
- #,##0.###;#,##0.###-
-
-
-
-
-
-
- ¤ #,##0.00;¤ #,##0.00-
-
-
-
-
-
- Ù„.س.â€
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/syr_SY.xml b/airtime_mvc/library/Zend/Locale/Data/syr_SY.xml
deleted file mode 100644
index eadbe9cc9..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/syr_SY.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ta.xml b/airtime_mvc/library/Zend/Locale/Data/ta.xml
deleted file mode 100644
index 25227af62..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ta.xml
+++ /dev/null
@@ -1,1190 +0,0 @@
-
-
-
-
-
-
-
-
-
- அஃபாரà¯
- அபà¯à®•ாஜியானà¯
- ஆà®à¯à®à®¿à®©à¯€à®¸à¯
- அகோலி
- அதாஙà¯à®®à¯‡
- அதகே
- அவெஸà¯à®¤à®¾à®©à¯
- ஆஃபà¯à®°à®¿à®•ானà¯à®¸à¯
- அஃபà¯à®°à¯‹-à®à®à®¿à®¯à®¾à®Ÿà®¿à®•௠மà¯à®´à®¿
- அஃபà¯à®°à®¿à®¹à®¿à®²à®¿
- à®à®©à¯
- அகானà¯
- அகà¯à®•ேதியனà¯
- அலூடà¯
- அலà¯à®•ானà¯à®•ியன௠மà¯à®´à®¿
- தெறà¯à®•௠அலà¯à®¤à¯ˆ
- à®…à®®à¯à®¹à®¾à®°à®¿à®•à¯
- ஆரà¯à®•ோனீஸà¯
- பழைய ஆஙà¯à®•ிலமà¯
- à®…à®™à¯à®•ிகா
- அபாà®à¯à®à®¿ à®®à¯à®´à®¿
- அரபà¯
- அராமைகà¯
- அரௌகேனியனà¯
- அரபஹோ
- à®à¯†à®¯à®±à¯à®•ையான à®®à¯à®´à®¿
- அராவாகà¯
- அஸà¯à®¸à®¾à®®à®¿
- அஸà¯à®¤à¯à®°à®¿à®¯à®©à¯
- அதாபஸà¯à®•ான௠மà¯à®´à®¿
- ஆஸà¯à®¤à¯à®°à¯‡à®²à®¿à®¯ à®®à¯à®´à®¿
- அவேரிகà¯
- அவதி
- அயà¯à®®à®°à®¾
- à®…à®à®°à¯à®ªà®¾à®¯à¯à®œà®¾à®©à®¿
- பாஷà¯à®•ிரà¯
- பாணà¯à®Ÿà®¾
- பமிலெகே à®®à¯à®´à®¿
- பெலà¯à®à®¿
- பலினீஸà¯
- பாஸா
- பாலà¯à®Ÿà®¿à®•௠மà¯à®´à®¿
- பைலோரà¯à®·à¯à®©à¯
- பேஜா
- பெமà¯à®ªà®¾
- பெரà¯à®ªà¯†à®°à¯
- பலà¯à®•ேரியனà¯
- பிஹாரி
- போஜà¯à®ªà¯‚ரி
- பிஸà¯à®²à®¾à®®à®¾
- பிகோலà¯
- பினி
- à®à®¿à®•à¯à®à®¿à®•ா
- பமà¯à®ªà®¾à®°à®¾
- வஙà¯à®•ாளமà¯
- பானà¯à®Ÿà¯
- திபெதà¯à®¤à¯
- பிரிடனà¯
- பà¯à®°à®¾à®œà¯
- போஸà¯à®©à®¿à®¯à®©à¯
- பாடாகà¯
- பà¯à®°à®¿à®¯à®¾à®¤à¯
- பà¯à®•ினீஸà¯
- பà¯à®²à®¿à®©à¯
- காடலானà¯
- கேடோ
- மதà¯à®¤à®¿à®¯ அமெரிகà¯à®•ன௠இனà¯à®Ÿà®¿à®¯à®©à¯ à®®à¯à®´à®¿
- கரீபà¯
- காகேஷியன௠மà¯à®´à®¿
- ஆடà¯à®à®®à¯
- à®à¯†à®à¯†à®©à¯
- à®à¯†à®ªà¯à®µà®¾à®©à¯‹
- கெலà¯à®Ÿà®¿à®•௠மà¯à®´à®¿
- à®à®¾à®®à¯‹à®°à¯‹
- à®à®¿à®ªà¯à®à®¾
- ஷகதை
- à®à¯‚கிà®à¯‡
- மாரி
- à®à®¿à®©à¯‚க௠ஜாரà¯à®•ானà¯
- à®à¯‹à®•à¯à®¤à¯Œ
- à®à®¿à®ªà¯†à®µà¯à®¯à®¾à®©à¯
- à®à¯†à®°à¯‚கà¯à®•ி
- à®à¯†à®¯à¯‡à®©à®¿
- à®à®¾à®®à®¿à®•௠மà¯à®´à®¿
- காரà¯à®à®¿à®¯à®©à¯
- காபà¯à®Ÿà®¿à®•à¯
- ஆஙà¯à®•ில அடைபà¯à®ªà®Ÿà¯ˆà®¯à®¿à®²à®¾à®© கிரியோல௠மறà¯à®±à¯à®®à¯ பிஜினà¯
- ஃபà¯à®°à¯†à®©à¯à®à¯ அடைபà¯à®ªà®Ÿà¯ˆà®¯à®¿à®²à®¾à®© கிரியோல௠மறà¯à®±à¯à®®à¯ பிஜினà¯
- போரà¯à®à¯à®•à¯à®•ீஸ௠அடைபà¯à®ªà®Ÿà¯ˆà®¯à®¿à®²à®¾à®© கிரியோல௠மறà¯à®±à¯à®®à¯ பிஜினà¯
- கà¯à®°à¯€
- கிரிமியன௠தà¯à®°à¯à®•à¯à®•ி
- கிரியோல௠மறà¯à®±à¯à®®à¯ பிஜினà¯
- à®à¯†à®•à¯
- கஷà¯à®ªà®¿à®¯à®©à¯
- à®à®°à¯à®à¯ ஸà¯à®²à®¾à®µà®¿à®•à¯
- கà¯à®·à®¿à®Ÿà®¿à®•௠மà¯à®´à®¿
- à®à¯à®µà®¾à®·à¯
- வெலà¯à®·à¯
- டானிஷà¯
- தகோடா
- தாரà¯à®•à¯à®µà®¾
- தயாகà¯
- ஜெரà¯à®®à®©à¯
- தெலாவேரà¯
- ஸà¯à®²à®¾à®µà¯
- டோகà¯à®°à®¿à®ªà¯
- டினà¯à®•ா
- டோகà¯à®°à®¿
- திராவிட à®®à¯à®´à®¿
- லோவர௠à®à¯‹à®°à¯à®ªà®¿à®¯à®©à¯
- தà¯à®µà®¾à®²à®¾
- மதà¯à®¤à®¿à®¯ டà®à¯à®à¯
- திவேஹி
- டà¯à®¯à¯‚லா
- பூடானி
- ஈஓயே
- à®à®ƒà®ªà®¿à®•à¯
- பணà¯à®Ÿà¯ˆà®¯ à®à®•ிபà¯à®¤à®¿à®¯à®©à¯
- ஈகாஜà¯à®•à¯
- கிரேகà¯à®•à®®à¯
- à®à®²à®®à¯ˆà®Ÿà¯
- ஆஙà¯à®•ிலமà¯
- மதà¯à®¤à®¿à®¯ ஆஙà¯à®•ிலமà¯
- à®à®¸à¯à®ªà®°à¯‡à®©à¯à®Ÿà¯‹
- ஸà¯à®ªà¯‡à®©à®¿à®·à¯
- à®à®¸à¯à®Ÿà¯‹à®©à®¿à®¯à®©à¯
- பஸà¯à®•à¯
- à®à®µà¯‹à®©à¯à®Ÿà¯‹
- பரà¯à®¸à®¿à®¯à®©à¯
- ஃபஙà¯à®•à¯
- ஃபானà¯à®Ÿà®¿
- ஃபà¯à®²à®¾
- பினà¯à®©à®¿à®·à¯
- ஃபிலிபினோ
- ஃபினோ-உகà¯à®°à¯ˆà®©à¯ à®®à¯à®´à®¿
- ஃபிஜி
- ஃபரிஸà¯à®¤à¯
- ஃபானà¯
- பிரெà®à¯à®à¯
- மதà¯à®¤à®¿à®¯ ஃபà¯à®°à¯†à®©à¯à®à¯
- பழைய ஃபà¯à®°à¯†à®©à¯à®à¯
- வடகà¯à®•௠ஃபà¯à®°à®¿à®¸à®¿à®¯à®¾à®©à¯
- கிழகà¯à®•௠ஃபà¯à®°à®¿à®¸à®¿à®¯à®¾à®©à¯
- ஃபà¯à®°à®¿à®¯à¯‚லியனà¯
- மேறà¯à®•தà¯à®¤à®¿à®¯ பிரிஷிய
- à®à®°à®¿à®·à¯
- கா
- கயோ
- பயா
- ஸà¯à®•ாடà¯à®¸à¯ கேலிகà¯
- ஜெரà¯à®®à®¾à®©à®¿à®¯ à®®à¯à®´à®¿
- கீஜà¯
- கிலà¯à®ªà¯†à®°à¯à®Ÿà¯€à®¸à¯
- காலிஸியனà¯
- மதà¯à®¤à®¿à®¯ ஹை ஜெரà¯à®®à®©à¯
- கà¯à®°à®¾à®©à®¿
- பழைய ஹை ஜெரà¯à®®à®©à¯
- கோனà¯à®Ÿà®¿
- கோரோனà¯à®Ÿà®²à¯‹
- கோதிகà¯
- கà¯à®°à¯‡à®ªà¯‹
- பணà¯à®Ÿà¯ˆà®¯ கிரேகà¯à®•à®®à¯
- ஸà¯à®µà®¿à®¸à¯ ஜெரà¯à®®à®©à¯
- கà¯à®œà®°à®¾à®¤à¯à®¤à®¿
- மேஙà¯à®•à¯à®¸à¯
- கà¯à®µà®¿à®à®¿à®©à¯
- ஹௌஸா
- ஹைடா
- ஹவாயà¯à®¯à®¾à®©à¯
- ஹà¯à®ªà¯à®°à¯
- இநà¯à®¤à®¿
- ஹிலிகாயà¯à®©à®¾à®©à¯
- ஹிமாà®à¯à®à®²à®¿
- ஹிடà¯à®Ÿà¯ˆà®Ÿà¯
- மாஙà¯à®•à¯
- ஹிரி மோடà¯à®Ÿà¯
- கரோஷியனà¯
- அபà¯à®ªà®°à¯ à®à¯‹à®°à¯à®ªà®¿à®¯à®¾à®©à¯
- ஹைதà¯à®¤à®¿à®¯à®©à¯
- ஹஙà¯à®•ேரியனà¯
- ஹà¯à®ªà®¾
- ஆரà¯à®®à¯‡à®©à®¿à®¯à®©à¯
- ஹெரேரோ
- இனà¯à®Ÿà®°à¯à®²à®¿à®™à¯à®•à¯à®µà®¾
- இபானà¯
- இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®©à¯
- இனà¯à®Ÿà®°à¯à®²à®¿à®™à¯
- இகà¯à®ªà¯‹
- à®à®¿à®à¯à®µà®¾à®©à¯ ஈ
- இஜோ
- இனà¯à®ªà®¿à®¯à®¾à®•à¯
- இலோகோ
- இநà¯à®¤à®¿à®¯ à®®à¯à®´à®¿
- இனà¯à®Ÿà¯‹-à®à®°à¯‹à®ªà¯à®ªà®¿à®¯à®©à¯ à®®à¯à®´à®¿
- இஙà¯à®•à¯à®·à¯
- இடோ
- இரானியன௠மà¯à®´à®¿
- இரோகோயியன௠மà¯à®´à®¿
- à®à®¸à¯à®²à¯†à®©à¯à®Ÿà®¿à®•à¯
- இதà¯à®¤à®¾à®²à®¿à®¯à®©à¯
- இனà¯à®•ிடூடà¯
- ஜபà¯à®ªà®¾à®©à¯€à®¸à¯
- லோஜà¯à®ªà®©à¯
- ஜூதேயோ-பெரà¯à®·à®¿à®¯à®©à¯
- ஜூதேயோ-அராபிகà¯
- ஜாவானீஸà¯
- ஜியோரà¯à®œà®¿à®¯à®©à¯
- காரா-கலà¯à®ªà®¾à®•à¯
- கபாயà¯à®²à¯
- காà®à®¿à®©à¯
- ஜà¯à®œà¯‚
- கமà¯à®ªà®¾
- கரேனà¯
- காவி
- கபாரà¯à®Ÿà®¿à®¯à®©à¯
- தையாபà¯
- கோரோ
- காஙà¯à®•ோ
- காஸி
- கà¯à®¯à¯à®¸à®©à¯ à®®à¯à®´à®¿
- கோதானீஸà¯
- கிகà¯à®¯à¯‚
- கà¯à®µà®¾à®©à¯à®¯à®¾à®®à®¾
- கà®à®¾à®•à¯
- கலாலிà®à¯‚டà¯
- கெமெரà¯
- கிமà¯à®ªà¯à®©à¯à®¤à¯
- கனà¯à®©à®Ÿà®®à¯
- கà¯à®°à®¿à®¯à®©à¯
- கà¯à®™à¯à®•னி
- கோஸà¯à®°à¯ˆà®©à¯
- கà¯à®ªà¯†à®²à¯à®²à¯‡
- கனà¯à®°à®¿
- கராà®à¯‡-பலà¯à®•ாரà¯
- கரேலியனà¯
- கà¯à®°à¯
- கà¯à®°à¯à®•à¯
- காஷà¯à®®à®¿à®°à®¿
- கà¯à®°à¯à®¤à®¿à®·à¯
- கà¯à®®à¯à®‡à®•à¯
- கà¯à®Ÿà¯‡à®©à¯ˆ
- கோமி
- காரà¯à®©à®¿à®·à¯
- கிரà¯à®•ிஷà¯
- லதà¯à®¤à®¿à®©à¯
- லடினோ
- லஹனà¯à®Ÿà®¾
- லமà¯à®ªà®¾
- லகà¯à®•à¯à®·à¯†à®®à¯à®ªà®°à¯à®•ிஷà¯
- லெஜà¯à®œà®¿à®¯à®©à¯
- கானà¯à®Ÿà®¾
- லிமà¯à®ªà®°à¯à®•ிஷà¯
- லிஙà¯à®•ாலா
- லோதà¯à®¤à®¿à®¯à®©à¯
- மோஙà¯à®•ோ
- லோஜி
- லிதà¯à®µà¯‡à®©à®¿à®¯à®©à¯
- லà¯à®ªà®¾-கடாஙà¯à®•ா
- லà¯à®ªà®¾-லà¯à®²à¯Œ
- லà¯à®¯à¯à®à¯‡à®©à¯‹
- லூனà¯à®Ÿà®¾
- லà¯à®¯à¯‹
- லà¯à®·à®¯à¯
- லேடà¯à®µà®¿à®¯à®©à¯
- மதà¯à®°à¯€à®¸à¯
- மகாஹி
- மைதிலி
- மகாà®à®¾à®°à¯
- மானà¯à®Ÿà®¿à®™à¯à®•ோ
- ஆஸà¯à®Ÿà¯à®°à¯‹à®©à¯‡à®·à®¿à®¯à®©à¯
- மாà®à®¾à®¯à¯
- மோகà¯à®•à¯à®·à®¾
- மானà¯à®Ÿà®¾à®°à¯
- மெனà¯à®Ÿà¯€
- மலகாஸி
- மதà¯à®¤à®¿à®¯ à®à®°à®¿à®·à¯
- மாரà¯à®·à¯†à®²à®¿à®·à¯
- மௌரி
- மிகà¯à®®à®¾à®•à¯
- மினà¯à®©à®¾à®™à¯à®•பௌ
- பலதரபà¯à®ªà®Ÿà¯à®Ÿ à®®à¯à®´à®¿à®•ளà¯
- மாஸிடோனியனà¯
- மானà¯-கà¯à®®à¯†à®°à¯ à®®à¯à®´à®¿
- மலையாளமà¯
- மஙà¯à®•ோலியனà¯
- மனà¯à®à¯
- மனிபூரி
- மனோபோ à®®à¯à®´à®¿
- மோலà¯à®Ÿà®¾à®µà®¿à®¯à®©à¯
- மோஹாவà¯à®•à¯
- மோஸà¯à®¸à®¿
- மராதà¯à®¤à®¿
- மலாயà¯
- மாலà¯à®Ÿà®¿à®¸à¯
- பல à®®à¯à®´à®¿à®•ளà¯
- à®®à¯à®£à¯à®Ÿà®¾ à®®à¯à®´à®¿
- கà¯à®°à¯€à®•à¯
- மிரானà¯à®Ÿà¯€à®¸à¯
- மாரà¯à®µà®¾à®°à®¿
- பரà¯à®®à®¿à®¸à¯
- மாயான௠மà¯à®´à®¿
- à®à®°à¯à®œà®¿à®¯à®¾
- நவà¯à®°à¯‚
- நஹà¯à®µà®¾à®²à¯
- வடகà¯à®•௠அமெரிகà¯à®•ன௠இனà¯à®Ÿà®¿à®¯à®©à¯ à®®à¯à®´à®¿
- நியோபோலிடனà¯
- நாரà¯à®µà¯‡ பà¯à®•à¯à®®à®¾à®²à¯
- வடகà¯à®•௠தெபெலே
- லோ ஜெரà¯à®®à®©à¯
- நேபாளி
- நெவாரி
- தோஙà¯à®•ா
- நியாஸà¯
- நைஜரà¯-கோரடோஃபனியன௠மà¯à®´à®¿
- நியூவானà¯
- டà®à¯à®à¯
- நாரà¯à®µà¯‡à®œà®¿à®¯à®©à¯ நியூநாரà¯à®¸à¯à®•à¯
- நாரà¯à®µà¯‡
- நோகை
- பழைய நோரà¯à®¸à¯
- à®à®©à¯'கோ
- தெறà¯à®•௠தெபெலே
- வடகà¯à®•௠à®à¯‹à®¤à¯‹
- நியூபியன௠மà¯à®´à®¿
- நவாஜோ
- பாரமà¯à®ªà®°à®¿à®¯ நேவாரி
- நயனà¯à®œà®¾
- நியாமà¯à®µà¯‡à®œà®¿
- நியானà¯à®•ோலே
- நியோரோ
- நிஜà¯à®®à®¾
- ஆகிடியனà¯
- ஓஜிபவா
- ஒரோமோ
- ஒரியா
- à®’à®à¯†à®Ÿà¯à®Ÿà®¿à®•à¯
- ஓà®à¯‡à®œà¯
- ஒடà¯à®Ÿà¯‹à®®à®©à¯ தà¯à®°à¯à®•à¯à®•ி
- ஒடà¯à®Ÿà¯‹à®®à®©à¯ à®®à¯à®´à®¿
- பà®à¯à®à®¾à®ªà®¿
- பபà¯à®µà®¾à®©à¯ à®®à¯à®´à®¿
- பனà¯à®•ாà®à®¿à®©à®©à¯
- பாஹà¯à®²à®µà®¿
- பமà¯à®ªà®¾à®™à¯à®•ா
- பபியேமெனà¯à®Ÿà¯‹
- பலௌவà¯à®©à¯
- பழைய பெரà¯à®·à®¿à®¯à®©à¯
- பிலிபைன௠மà¯à®´à®¿
- ஃபà¯à®©à®¿à®·à®¿à®¯à®©à¯
- பாலி
- போலிஷà¯
- ஃபோனà¯à®ªà¯†à®¯à¯†à®©à¯
- பராகà¯à®°à®¿à®¤à¯ à®®à¯à®´à®¿
- பழைய பà¯à®°à¯‹à®µà¯†à®©à¯à®à®¾à®²à¯
- பாஷà¯à®Ÿà¯‹
- போரà¯à®à¯à®à¯à®•à¯à®•ீஸà¯
- பிரேà®à®¿à®²à®¿à®¯à®©à¯ போரà¯à®à¯à®à¯à®•ீà®à®¿à®¯à®®à¯
- à®à®ªà¯‡à®°à®¿à®¯à®©à¯ போரà¯à®à¯à®à¯à®•ீà®à®¿à®¯à®®à¯
- கிவேà®à¯à®µà®¾
- ராஜஸà¯à®¤à®¾à®©à®¿
- ரபனà¯à®¯à¯
- ரரோடோஙà¯à®•னà¯
- ரைடà¯à®Ÿà¯‹-ரோமெனà¯à®¸à¯
- à®°à¯à®£à¯à®Ÿà®¿
- ரோமேனியனà¯
- ரோமனà¯à®¸à¯ à®®à¯à®´à®¿
- ரோமானி
- ரூடà¯
- ரஷியனà¯
- அரோமானியனà¯
- கினà¯à®¯à®¾à®°à¯à®µà®¾à®©à¯à®Ÿà®¾
- à®à®®à®¸à¯à®•ிரà¯à®¤à®®à¯
- à®à®¾à®©à¯à®Ÿà®¾à®µà¯‡
- யாகà¯à®Ÿà¯
- தென௠அமெரிகà¯à®• இனà¯à®Ÿà®¿à®¯à®©à¯ à®®à¯à®´à®¿
- à®à®¾à®²à®¿à®·à®©à¯ à®®à¯à®´à®¿
- à®à®®à®¾à®°à®¿à®Ÿà®©à¯ அராமைகà¯
- à®à®¾à®à®¾à®•à¯
- à®à®¾à®©à¯à®Ÿà®¾à®²à®¿
- à®à®¾à®Ÿà®¿à®©à®¿à®¯à®©à¯
- à®à®¿à®à®¿à®²à®¿à®¯à®©à¯
- ஸà¯à®•ாடà¯à®¸à¯
- à®à®¿à®¨à¯à®¤à®¿
- வடகà¯à®•௠à®à®¾à®®à®¿
- à®à¯†à®²à¯à®•à¯à®ªà¯
- à®à¯†à®®à®¿à®Ÿà®¿à®•௠மà¯à®´à®¿
- à®à®¾à®™à¯à®•ோ
- பழைய à®à®°à®¿à®·à¯
- à®à®™à¯à®•ேத à®®à¯à®´à®¿
- à®à¯†à®°à¯à®ªà¯‹-கà¯à®°à¯‹à®·à®¿à®¯à®©à¯
- ஷானà¯
- à®à®¿à®™à¯à®•ளமà¯
- à®à®¿à®Ÿà®¾à®®à¯‹
- à®à®¿à®¯à¯‹à®¯à¯à®µà®¾à®©à¯ à®®à¯à®´à®¿
- à®à®¿à®©à¯‹-திபேதà¯à®¤à®¿à®¯à®©à¯ à®®à¯à®´à®¿
- ஸà¯à®²à¯‹à®µà®¾à®•à¯
- ஸà¯à®²à¯‹à®µà®¿à®©à¯‡à®¯à®¿à®©à¯
- ஸà¯à®²à®¾à®µà®¿à®•௠மà¯à®´à®¿
- ஸாமோவானà¯
- தெறà¯à®•௠à®à®¾à®®à®¿
- à®à®¾à®®à®¿ à®®à¯à®´à®¿
- லà¯à®²à¯‡ à®à®¾à®®à®¿
- இனாரி à®à®¾à®®à®¿
- ஸà¯à®•ோலà¯à®Ÿà¯ à®à®¾à®®à®¿
- ஷோனா
- à®à¯‹à®©à®¿à®©à¯à®•ே
- à®à¯‹à®®à®¾à®²à®¿
- à®à¯‹à®•à¯à®¤à®¿à®¯à®©à¯
- à®à¯‹à®™à¯à®•ாயà¯
- அலà¯à®ªà¯†à®©à®¿à®¯à®©à¯
- à®à®°à¯à®ªà®¿à®¯à®©à¯
- ஸà¯à®°à®¾à®©à®©à¯ டோஙà¯à®•ோ
- à®à¯†à®°à¯†à®°à¯
- ஸà¯à®µà®¾à®Ÿà¯€
- நிலோ-à®à®¹à®¾à®°à®©à¯ à®®à¯à®´à®¿
- தெறà¯à®•௠ஸோதோ
- à®à¯à®Ÿà®¾à®©à¯€à®¸à¯
- à®à¯à®•à¯à®®à®¾
- à®à¯à®à¯
- à®à¯à®®à¯‡à®°à®¿à®¯à®©à¯
- ஷீவிடிஸà¯
- à®à¯à®µà®¾à®¹à®¿à®²à®¿
- பாரமà¯à®ªà®°à®¿à®¯ à®à®¿à®°à®¿à®¯à®¾à®•à¯
- à®à®¿à®°à®¿à®¯à®¾à®•à¯
- தமிழà¯
- தாய௠மà¯à®´à®¿
- தெலà¯à®™à¯à®•à¯
- டிமà¯à®©à¯‡
- டெரெனோ
- டெடà¯à®®à¯
- தாஜிகà¯
- தாயà¯
- டிகà¯à®°à®¿à®©à¯à®¯à®¾
- டைகà¯à®°à¯‡
- டிவà¯
- டரà¯à®•à¯à®®à¯†à®©à¯
- டோகேலௌ
- டாகாலோகà¯
- கிளிஙà¯à®•னà¯
- டிலிஙà¯à®•ிடà¯
- டாமாஷேகà¯
- ஸà¯à®µà®¾à®©à®¾
- டோஙà¯à®•ா
- நயாà®à®¾ டோஙà¯à®•ா
- டோக௠பிஸினà¯
- டரà¯à®•ிஷà¯
- ஸோஙà¯à®•ா
- டà¯à®¸à®¿à®®à¯à®·à®¿à®¯à®©à¯
- டாடரà¯
- டà¯à®®à¯à®ªà¯à®•ா
- தà¯à®ªà®¿ à®®à¯à®´à®¿
- அலà¯à®¤à¯‡à®¯à¯à®•௠மà¯à®´à®¿
- டà¯à®µà®¾à®²à¯
- டà¯à®µà®¿
- டஹிதியானà¯
- டà¯à®µà®¿à®©à®¿à®¯à®©à¯
- உடà¯à®®à¯à®°à¯à®Ÿà¯
- யà¯à®•à¯à®°à¯
- உகாரிடà¯à®•à¯
- உகà¯à®°à¯‡à®©à®¿à®¯à®©à¯
- à®…à®®à¯à®ªà¯à®£à¯à®Ÿà¯
- தெரியாத அலà¯à®²à®¤à¯ à®à¯†à®²à¯à®²à®¾à®¤ பிரதேà®à®®à¯
- உரà¯à®¤à¯
- உஸà¯à®ªà¯†à®•à¯
- வை
- வெனà¯à®Ÿà®¾
- வியடà¯à®¨à®¾à®®à®¿à®¸à¯
- ஒலாபூகà¯
- வோடà¯à®•à¯
- ஒவாலூனà¯
- வகாஷான௠மà¯à®´à®¿
- வாலாமோ
- வாரே
- வாஷோ
- à®à¯à®°à¯à®ªà®¿à®¯à®©à¯ à®®à¯à®´à®¿
- ஒலூஃபà¯
- கலà¯à®®à®¿à®•à¯
- ஹோஷா
- யாவà¯
- யாபேà®à®¿
- ஈதà¯à®¤à®¿à®·
- யோரà¯à®ªà¯à®ªà®¾
- யà¯à®ªà®¿à®•௠மà¯à®´à®¿
- ஜà¯à®µà®¾à®™à¯
- ஜாபோடெகà¯
- பà¯à®²à®¿à®¸à¯à®¸à®¿à®®à¯à®ªà®¾à®²à¯à®¸à¯
- ஜெனகா
- à®à¯€à®©à®®à¯
- à®à®³à®¿à®¯ à®à¯€à®©à®®à¯
- மரப௠à®à¯€à®©à®®à¯
- ஜானà¯à®Ÿà¯‡
- ஜூலூ
- ஜூனி
- à®®à¯à®´à®¿à®•à¯à®•ிணஙà¯à®• உளà¯à®³à®Ÿà®•à¯à®•ம௠இலà¯à®²à¯ˆ
- ஜாஜா
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- உலகமà¯
- ஆபà¯à®°à®¿à®•à¯à®•ா
- வடகà¯à®•௠அமெரிகà¯à®•ா கணà¯à®Ÿà®®à¯
- தெறà¯à®•௠அமெரிகà¯à®•ா
- ஓஷெனியா
- மேறà¯à®•௠ஆபà¯à®°à®¿à®•à¯à®•ா
- மதà¯à®¤à®¿à®¯ அமெரிகà¯à®•ா
- கிழகà¯à®•௠ஆபà¯à®°à®¿à®•à¯à®•ா
- வடகà¯à®•௠ஆபà¯à®°à®¿à®•à¯à®•ா
- மதà¯à®¤à®¿à®¯ ஆபà¯à®°à®¿à®•à¯à®•ா
- தெனà¯à®©à®¾à®ªà¯à®°à®¿à®•à¯à®•ா
- அமெரà¯à®•à¯à®•ாஸà¯
- வடகà¯à®•௠அமெரிகà¯à®•ா
- கரீபியனà¯
- கிழகà¯à®•௠ஆà®à®¿à®¯à®¾
- தெறà¯à®•௠ஆà®à®¿à®¯à®¾
- தெனà¯-கிழகà¯à®•௠ஆà®à®¿à®¯à®¾
- தெறà¯à®•௠à®à®°à¯‹à®ªà¯à®ªà®¾
- ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯à®¾ மறà¯à®±à¯à®®à¯ நியூà®à®¿à®²à®¾à®¨à¯à®¤à¯
- மெலனேஷியா
- மைகà¯à®°à¯‹ நேஷியா பிரதேà®à®®à¯
- பாலினேஷியா
- மதà¯à®¤à®¿à®¯-தெறà¯à®•ாà®à®¿à®¯à®¾
- ஆà®à®¿à®¯à®¾
- மதà¯à®¤à®¿à®¯ ஆà®à®¿à®¯à®¾
- மேறà¯à®•௠ஆà®à®¿à®¯à®¾
- ஈரோபà¯
- கிழகà¯à®•௠à®à®°à¯‹à®ªà¯à®ªà®¾
- வடகà¯à®•௠à®à®°à¯‹à®ªà¯à®ªà®¾
- மேறà¯à®•௠à®à®°à¯‹à®ªà¯à®ªà®¾
- à®à¯à®¤à®¨à¯à®¤à®¿à®° மாநிலஙà¯à®•ளின௠காமனà¯à®µà¯†à®²à¯à®¤à¯
- à®à¯†à®•ோஸà¯à®²à¯‹à®µà®¾à®•à¯à®¯à®¾
- லதà¯à®¤à¯€à®©à¯ அமெரிகà¯à®•ா மறà¯à®±à¯à®®à¯ கரீபியனà¯
- à®à¯‡à®©à®²à¯ தீவà¯à®•ளà¯
- அனà¯à®Ÿà¯‹à®°à®¾
- à®à®•à¯à®•ிய அரப௠கூடà¯à®Ÿà®¾à®Ÿà¯à®à®¿
- ஆபà¯à®•ானிஸà¯à®¤à®¾à®©à¯
- ஆனà¯à®Ÿà®¿à®•à¯à®µà®¾ மறà¯à®±à¯à®®à¯ பாரà¯à®ªà¯à®Ÿà®¾
- à®…à®™à¯à®•à¯à®¯à¯à®²à®¾
- அலà¯à®ªà¯‡à®©à®¿à®¯à®¾
- ஆரà¯à®®à¯‡à®©à®¿à®¯à®¾
- நெதெரà¯à®²à¯‡à®£à¯à®Ÿà¯ ஆணà¯à®Ÿà®¿à®²à®¿à®¸à¯
- à®…à®™à¯à®•ோலா
- அனà¯à®Ÿà®¾à®°à¯à®Ÿà®¿à®•ா
- à®…à®°à¯à®œà¯†à®£à¯à®Ÿà®¿à®©à®¾
- அமெரிகà¯à®• à®à®®à¯‹à®µà®¾
- ஆஸà¯à®¤à®¿à®°à®¿à®¯à®¾
- ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯à®¾
- அரூபா
- ஆலநà¯à®¤à¯ தீவà¯à®•ளà¯
- அஜரà¯à®ªà¯ˆà®œà®¾à®©à¯
- போஸà¯à®©à®¿à®¯à®¾ மறà¯à®±à¯à®®à¯ ஹெரà¯à®¸à®¿à®•ோவினா
- பாரà¯à®ªà®Ÿà¯‹à®¸à¯
- பஙà¯à®•ளாதேஷà¯
- பெலà¯à®œà®¿à®¯à®®à¯
- பà¯à®°à¯à®•ினா ஃபாஸோ
- பலà¯à®•ேரியா
- பஹà¯à®°à¯ˆà®©à¯
- பà¯à®°à¯à®£à¯à®Ÿà®¿
- பெனினà¯
- à®à¯†à®¯à®¿à®©à¯à®Ÿà¯ பாரà¯à®¤à¯‡à®²à¯†à®®à®¿
- பெரà¯à®®à¯à®Ÿà®¾
- பà¯à®°à¯‚னேயà¯
- பà¯à®²à®¿à®µà®¿à®¯à®¾
- பிரேஸிலà¯
- பஹமாஸà¯
- பூடானà¯
- பà¯à®µà¯‡à®Ÿà¯ தீவà¯à®•ளà¯
- போடà¯à®¸à¯à®µà®¾à®©à®¾
- பெலாரூஸà¯
- பெலிஸà¯
- கனடா
- காகோஸ௠தீவà¯à®•ளà¯
- காஙà¯à®•ோ - கினà¯à®à®¾à®à®¾
- மதà¯à®¤à®¿à®¯ ஆபà¯à®°à®¿à®•à¯à®•க௠கà¯à®Ÿà®¿à®¯à®°à®à¯
- காஙà¯à®•ோ - பà¯à®°à®¾à®¸à®¾à®µà®¿à®²à¯à®²à¯‡
- ஸà¯à®µà®¿à®Ÿà¯à®à®°à¯à®²à®¾à®¨à¯à®¤à¯
- à®à®µà®°à®¿ கோஸà¯à®Ÿà¯
- கà¯à®•௠தீவà¯à®•ளà¯
- à®à®¿à®²à®¿
- கேமரூனà¯
- à®à¯€à®©à®¾
- கà¯à®²à®®à¯à®ªà®¿à®¯à®¾
- கோஸà¯à®Ÿà®¾à®°à®¿à®•ா
- à®à¯†à®°à¯à®ªà®¿à®¯à®¾ மறà¯à®±à¯à®®à¯ மானà¯à®Ÿà¯‡à®¨à¯†à®•à¯à®°à¯‹
- கியூபா
- கேப௠வெரà¯à®Ÿà¯‡
- கிறிஸà¯à®¤à¯à®®à®¸à¯ தீவà¯
- à®à¯ˆà®ªà¯à®°à®¸à¯
- à®à¯†à®•௠கà¯à®Ÿà®¿à®¯à®°à®à¯
- ஜெரà¯à®®à®©à¯
- ஜிபௌடி
- டெனà¯à®®à®¾à®°à¯à®•à¯
- டà¯à®®à®¿à®©à®¿à®•ா
- டà¯à®®à®¿à®©à®¿à®•ன௠கà¯à®Ÿà®¿à®¯à®°à®à¯
- அலà¯à®œà¯€à®°à®¿à®¯à®¾
- ஈகà¯à®µà®Ÿà®¾à®°à¯
- à®à®¸à¯à®Ÿà¯‹à®©à®¿à®¯à®¾
- à®à®•ிபà¯à®¤à¯
- மேறà¯à®•௠à®à®¹à®¾à®°à®¾
- à®à®°à®¿à®Ÿà¯à®°à®¿à®¯à®¾
- ஸà¯à®ªà¯†à®¯à®¿à®©à¯
- à®à®¤à®¿à®¯à¯‹à®ªà¯à®ªà®¿à®¯à®¾
- பினà¯à®²à®¾à®¨à¯à®¤à¯
- ஃபிஜி
- ஃபாகà¯à®²à®¾à®©à¯à®Ÿà¯ தீவà¯à®•ளà¯
- மைகà¯à®°à¯‹à®©à¯‡à®·à®¿à®¯à®¾
- ஃபெரௌ தீவà¯à®•ளà¯
- பிரானà¯à®¸à¯
- கேபானà¯
- பிரிடிஷ௠கூடà¯à®Ÿà®°à®à¯
- கிரனெடா
- ஜாரà¯à®œà®¿à®¯à®¾
- ஃபà¯à®°à¯†à®©à¯à®à¯ கயானா
- கெரà¯à®©à¯à®à®¿
- கானா
- ஜிபà¯à®°à®¾à®²à¯à®Ÿà®°à¯
- கிரீனà¯à®²à®¾à®£à¯à®Ÿà¯
- காமà¯à®ªà®¿à®¯à®¾
- கினி
- கà¯à®µà®¾à®¤à¯‡à®²à¯‹à®ªà¯
- ஈகà¯à®•à¯à®µà®¾à®Ÿà¯‹à®°à®¿à®¯à®²à¯ கினி
- கிரீஸà¯
- தென௠ஜியாரà¯à®œà®¿à®¯à®¾ மறà¯à®±à¯à®®à¯ தென௠à®à®¾à®©à¯à®Ÿà¯à®µà®¿à®à¯ தீவà¯à®•ளà¯
- கà¯à®µà®¾à®¤à¯à®¤à®¾à®®à®¾à®²à®¾
- கà¯à®µà®¾à®®à¯
- கினி-பிஸà¯à®¸à®¾à®µà¯
- கயானா
- ஹாங௠காங௠à®à®¸à¯.à®.ஆர௠à®à¯ˆà®©à®¾
- ஹேரà¯à®Ÿà¯ மறà¯à®±à¯à®®à¯ மெகà¯à®Ÿà¯à®©à®¾à®²à¯à®Ÿà¯
- ஹாணà¯à®Ÿà¯à®°à®¾à®¸à¯
- கà¯à®°à¯‹à®à®¿à®¯à®¾
- ஹெயà¯à®¤à®¿
- ஹஙà¯à®•ேரி
- இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®¾
- அயரà¯à®²à®¾à®¨à¯à®¤à¯
- இஸà¯à®°à¯‡à®²à¯
- à®à®²à¯ ஆஃப௠மேனà¯
- இநà¯à®¤à®¿à®¯à®¾
- பிரிடà¯à®Ÿà®¿à®·à¯ இநà¯à®¤à®¿à®¯à®ªà¯ பெரà¯à®™à¯à®•டல௠மாஹாணமà¯
- இராகà¯
- ஈரானà¯
- à®à®¸à¯à®²à®¾à®¨à¯à®¤à¯
- இதà¯à®¤à®¾à®²à®¿
- ஜெரà¯à®à®¿
- ஜமாயà¯à®•à¯à®•ா
- ஜà¯à®°à¯à®Ÿà®¾à®©à¯
- ஜபà¯à®ªà®¾à®©à¯
- கெனà¯à®¯à®¾
- கிரà¯à®•ிஸà¯à®¤à®¾à®©à¯
- கமà¯à®ªà¯‹à®Ÿà®¿à®¯à®¾
- கிரிபடி
- கோமரோஸà¯
- à®à¯†à®¯à®¿à®©à¯à®Ÿà¯ கிடà¯à®¸à¯ மறà¯à®±à¯à®®à¯ நெவிஸà¯
- வட கà¯à®°à®¿à®¯à®¾
- தென௠கà¯à®°à®¿à®¯à®¾
- கà¯à®µà¯ˆà®¤à¯à®¤à¯
- கேமென௠தீவà¯à®•ளà¯
- கஜகஸà¯à®¤à®¾à®©à¯
- லாவோஸà¯
- லெபனானà¯
- à®à¯†à®¯à®¿à®©à¯à®Ÿà¯ லூà®à®¿à®¯à®¾
- லிà®à¯à®à¯†à®£à¯à®¸à¯à®Ÿà¯†à®¯à¯à®©à¯
- இலஙà¯à®•ை
- லைபேரியா
- லெà®à¯‹à®¤à¯‹
- லிதà¯à®µà¯‡à®©à®¿à®¯à®¾
- லகà¯à®¸à¯à®à®®à¯à®ªà®°à¯à®•à¯
- லாடà¯à®µà®¿à®¯à®¾
- லிபà¯à®¯à®¾
- à®®à¯à®°à¯‹à®•à¯à®•ோ
- à®®à¯à®©à®¾à®•à¯à®•ோ
- மாலà¯à®Ÿà¯‹à®µà®¾
- மானà¯à®Ÿà¯‡à®©à¯†à®•à¯à®°à¯‹
- à®à¯†à®¯à®¿à®©à¯ மாரà¯à®Ÿà¯€à®©à¯
- மடகாஸà¯à®•à®°à¯
- மாரà¯à®·à®²à¯ தீவà¯à®•ளà¯
- à®®à®à¯†à®Ÿà¯‹à®£à®¿à®¯à®¾
- மாலீ
- மியானà¯à®®à®¾à®°à¯
- மஙà¯à®•ோலியா
- மெகà¯à®•ௌ
- வடகà¯à®•௠மரியானா தீவà¯à®•ளà¯
- மாரà¯à®Ÿà®¿à®©à®¿à®•à¯
- மௌரிடானியா
- மௌனà¯à®Ÿà¯à®à¯†à®°à®¾à®Ÿà¯
- மாலà¯à®Ÿà®¾
- à®®à¯à®°à®¿à®à®¿à®¯à®¸à¯
- மாலதà¯à®¤à¯€à®µà¯
- மலாவீ
- மெகà¯à®à®¿à®•ோ
- மலேஷியா
- à®®à¯à®à®¾à®®à¯à®ªà®¿à®•à¯
- நமீபியா
- பà¯à®¤à®¿à®¯ கலிடோனà¯à®¯à®¾
- நைஜரà¯
- நாரà¯à®ƒà®ªà®¾à®•௠தீவà¯à®•ளà¯
- நைஜீரியா
- நிகாராகà¯à®µà®¾
- நெதரà¯à®²à®¾à®¨à¯à®¤à¯
- நாரà¯à®µà¯‡
- நேபாளமà¯
- நௌரà¯
- நியூ
- நியூà®à®¿à®²à®¾à®¨à¯à®¤à¯
- ஓமானà¯
- பனாமா
- பெரà¯
- ஃபà¯à®°à¯†à®©à¯à®à¯ பாலினேஷியா
- பாபà¯à®ªà¯à®µà®¾ நியூ கினி
- பிலிபà¯à®ªà¯ˆà®©à¯à®¸à¯
- பாகிஸà¯à®¤à®¾à®©à¯
- போலநà¯à®¤à¯
- à®à¯†à®¯à®¿à®©à¯à®Ÿà¯ பியர௠மறà¯à®±à¯à®®à¯ மிகà¯à®µà¯‡à®²à®¾à®©à¯
- பிடà¯à®•ேனà¯
- போரà¯à®¤à¯à®¤ ரிகà¯à®•ோ
- பாலஸà¯à®¤à¯€à®©à®¿à®¯à®©à¯ மாஹாணமà¯
- போரà¯à®à¯à®à¯à®•à¯à®•லà¯
- பலவà¯
- பாரகà¯à®µà¯‡
- காடாரà¯
- ஔடà¯à®²à¯ˆà®¯à®¿à®™à¯ ஓà®à®¾à®©à®¿à®¯à®¾
- à®à®°à¯‹à®ªà¯à®ªà®¿à®¯à®©à¯ யூனியனà¯
- ரீயூனியனà¯
- à®°à¯à®®à¯‡à®©à®¿à®¯à®¾
- à®à¯†à®°à¯à®ªà®¿à®¯à®¾
- à®°à®·à¯à®¯à®¾
- à®°à¯à®µà®¾à®©à¯à®Ÿà®¾
- à®à®µà¯‚தி அரேபியா
- à®à®¾à®²à®®à®©à¯ தீவà¯à®•ளà¯
- à®à¯†à®·à¯†à®²à¯à®¸à¯
- à®à¯‚டானà¯
- ஸà¯à®µà¯€à®Ÿà®©à¯
- à®à®¿à®™à¯à®•பà¯à®ªà¯‚à®°à¯
- à®à¯†à®¯à®¿à®©à¯à®Ÿà¯ ஹெலெனா
- ஸà¯à®²à¯‹à®µà¯‡à®©à®¿à®¯à®¾
- ஸà¯à®µà®²à¯à®ªà®¾à®°à¯à®Ÿà¯ மறà¯à®±à¯à®®à¯ ஜான௠மேயனà¯
- ஸà¯à®²à¯‹à®µà®¾à®•ியா
- à®à®¿à®¯à¯‡à®°à®¾ லியோனà¯
- à®à®¾à®©à¯ மெரினோ
- à®à¯†à®©à¯†à®•லà¯
- à®à¯à®®à®¾à®²à®¿à®¯à®¾
- à®à¯‚ரினாமà¯
- à®à®¾à®µà¯ தோம௠மறà¯à®±à¯à®®à¯ பà¯à®°à®¿à®©à¯à®à®¿à®ªà®¿
- à®à®²à¯ à®à®¾à®²à¯à®µà®Ÿà®¾à®°à¯
- à®à®¿à®°à®¿à®¯à®¾
- ஸà¯à®µà®¾à®¸à®¿à®²à®¾à®£à¯à®Ÿà¯
- டரà¯à®•à¯à®¸à¯ மறà¯à®±à¯à®®à¯ கைகோஸ௠தீவà¯à®•ளà¯
- à®à®¾à®Ÿà¯
- ஃபà¯à®°à¯†à®©à¯à®à¯ தெறà¯à®•௠மாஹாணஙà¯à®•ளà¯
- டோகோ
- தாயà¯à®²à®¾à®¨à¯à®¤à¯
- தாஜிகிஸà¯à®¤à®¾à®©à¯
- டோகேலோ
- கிழகà¯à®•௠திமோரà¯
- தà¯à®°à¯à®•à¯à®®à¯†à®©à®¿à®¸à¯à®¤à®¾à®©à¯
- டà¯à®©à®¿à®à®¿à®¯à®¾
- டோஙà¯à®•ா
- தà¯à®°à¯à®•à¯à®•ி
- திரினிடாட௠மறà¯à®±à¯à®®à¯ தà¯à®ªà®¾à®•ோ
- தà¯à®µà®¾à®²à¯‚
- தைவானà¯
- டானà¯à®à®¾à®©à®¿à®¯à®¾
- உகà¯à®°à¯ˆà®©à¯
- உகாணà¯à®Ÿà®¾
- யà¯à®©à¯ˆà®Ÿà¯à®Ÿà®Ÿà¯ ஸà¯à®Ÿà¯‡à®Ÿà¯à®¸à¯à®®à¯ à®à®¿à®±à®¿à®¯ அவà¯à®Ÿà¯à®²à¯ˆà®©à¯ தீவà¯à®•ளà¯à®®à¯
- à®à®•à¯à®•ிய அமெரிகà¯à®• கà¯à®Ÿà®¿à®¯à®°à®à¯
- உரà¯à®•à¯à®µà¯‡
- உஸà¯à®ªà¯†à®•ிஸà¯à®¤à®¾à®©à¯
- வாடிகனà¯
- à®à¯†à®¯à®¿à®©à¯ வினà¯à®à®©à¯à®Ÿà¯ மறà¯à®±à¯à®®à¯ கிரெனடைனà¯à®¸à¯
- வெனஜà¯à®µà¯‡à®²à®¾
- பிரிடà¯à®Ÿà¯€à®·à¯ கனà¯à®©à®¿à®¤à¯ தீவà¯à®•ளà¯
- யூ.à®à®¸à¯ கனà¯à®©à®¿à®¤à¯ தீவà¯à®•ளà¯
- வியடà¯à®¨à®¾à®®à¯
- வனà¯à®µà®¾à®Ÿà¯à®Ÿà¯
- வாலிஸ௠மறà¯à®±à¯à®®à¯ ஃபà¯à®¯à¯‚à®à¯à®©à®¾
- à®à®®à¯‹à®µà®¾
- யேமனà¯
- மயோதà¯
- தென௠ஆபà¯à®°à®¿à®•à¯à®•ா
- à®à®¾à®®à¯à®ªà®¿à®¯à®¾
- ஜிமà¯à®ªà®¾à®ªà¯à®µà¯‡
- தெரியாத அலà¯à®²à®¤à¯ à®à¯†à®²à¯à®²à®¾à®¤ பிரதேà®à®®à¯
-
-
-
- [ஃ à®…-à® à®-à® à®’-க à®™ ஠ஜ ஠ட ண த ந-ப à®®-வ à®·-ஹ ா-ூ ெ-ை à¯-à¯]
- [a g i m t]
- [a-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
-
-
- ஜன.
- பிபà¯.
- மாரà¯.
- à®à®ªà¯.
- மே
- ஜூனà¯
- ஜூலை
- ஆக.
- à®à¯†à®ªà¯.
- அகà¯.
- நவ.
- டிà®.
-
-
- ஜனவரி
- பிபà¯à®°à®µà®°à®¿
- மாரà¯à®à¯
- à®à®ªà¯à®°à®²à¯
- மே
- ஜூனà¯
- ஜூலை
- ஆகஸà¯à®Ÿà¯
- à®à¯†à®ªà¯à®Ÿà®®à¯à®ªà®°à¯
- அகà¯à®Ÿà¯‹à®ªà®°à¯
- நவமà¯à®ªà®°à¯
- டிà®à®®à¯à®ªà®°à¯
-
-
-
-
- ஜ
- பி
- மா
- à®
- மே
- ஜூ
- ஜூ
- ஆ
- à®à¯†
- à®…
- ந
- டி
-
-
-
-
-
-
- à®à®¾
- தி
- à®à¯†
- பà¯
- வி
- வெ
- à®
-
-
- à®à®¾à®¯à®¿à®±à¯
- திஙà¯à®•ளà¯
- à®à¯†à®µà¯à®µà®¾à®¯à¯
- பà¯à®¤à®©à¯
- வியாழனà¯
- வெளà¯à®³à®¿
- à®à®©à®¿
-
-
-
-
- à®à®¾
- தி
- à®à¯†
- பà¯
- வி
- வெ
- à®
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- 1ஆம௠காலாணà¯à®Ÿà¯
- 2ஆம௠காலாணà¯à®Ÿà¯
- 3ஆம௠காலாணà¯à®Ÿà¯
- 4ஆம௠காலாணà¯à®Ÿà¯
-
-
-
- am
- pm
-
-
- கிறிஸà¯à®¤à¯à®µà¯à®•à¯à®•௠மà¯à®©à¯
- அனோ டோமினி
-
-
- கிமà¯
- கிபி
-
-
-
-
-
- EEEE, d MMMM, y
-
-
-
-
- d MMMM, y
-
-
-
-
- d MMM, y
-
-
-
-
- d-M-yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd-MM
- d MMMM
- Q yy
- MM-yyyy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0} நேரமà¯
- {1} ({0})
-
- பிரிஸà¯à®ªà¯‡à®©à¯
-
-
- கேமà¯à®ªà¯‹ கிராணà¯à®Ÿà¯‡
-
-
- கேமà¯à®ªà®¿à®°à®¿à®Ÿà¯à®œà¯ பே
-
-
- ஈஸà¯à®Ÿà®°à¯
-
-
- ஜகாரà¯à®¤à¯à®¤à®¾
-
-
- ஜெயபூரா
-
-
- லாஸ௠à®à®à¯à®à®²à¯à®¸à¯
-
-
- ஃபோனிகà¯à®¸à¯
-
-
- தேனà¯à®µà®°à¯
-
-
- மையமà¯, வடகà¯à®•௠டகோடா
-
-
- à®à®¿à®•ாகோ
-
-
- இநà¯à®¤à®¿à®¯à®¾à®©à®¾à®ªà¯‹à®²à®¿à®¸à¯
-
-
- நியூயாரà¯à®•à¯
-
-
-
- இநà¯à®¤à®¿à®¯ நேரபà¯à®ªà®Ÿà®¿
-
- true
-
-
-
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤ #,##,##0.00
-
-
-
-
-
- ரூ
-
-
-
-
-
- ஆமà¯:ஆ
- இலà¯à®²à¯ˆ:இ
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ta_IN.xml b/airtime_mvc/library/Zend/Locale/Data/ta_IN.xml
deleted file mode 100644
index 45d64a329..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ta_IN.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/te.xml b/airtime_mvc/library/Zend/Locale/Data/te.xml
deleted file mode 100644
index 3ea9e3286..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/te.xml
+++ /dev/null
@@ -1,1154 +0,0 @@
-
-
-
-
-
-
-
-
-
- అఫారà±
- à°…à°¬à±à°–ాజియనà±
- ఆఖినీసà±
- అకోలి
- అడాంగà±à°®à±‡
- అడిగాబà±à°œà±‡
- అవేసà±à°Ÿà°¾à°¨à±
- ఆఫà±à°°à°¿à°•ానà±à°¸à±
- ఆఫà±à°°à±‹-ఆశియా à°à°¾à°·
- à°…à°«à±à°°à°¿à°¹à°¿à°²à°¿
- à°à°¨à±
- అకానà±
- à°…à°•à±à°•ాడియానà±
- అలియà±à°Ÿà±
- ఆలà±à°—à±à°‚à°•à±à°µà°¿à°¯à°¨à± à°à°¾à°·
- దకà±à°·à°¿à°£ ఆలà±à°Ÿà±ˆ
- à°…à°®à±à°¹à°¾à°°à°¿à°•à±
- అరగోనిసà±
- à°ªà±à°°à°¾à°à±€à°¨ ఆగà±à°²à°‚
- ఆంగిక
- à°…à°ªà±à°ªà°¾à°à°¿ à°à°¾à°·
- అరబికà±
- అరామేకà±
- అరౌకేనియనà±
- అరాపాహో
- కృతà±à°°à°¿à°® à°à°¾à°·
- అరావాకà±
- à°…à°¸à±à°¸à°¾à°®à±€à°¸à±
- à°…à°¸à±à°Ÿà±à°°à°¿à°¯à°¾à°¨à±
- ఆతాపాసà±à°•నౠà°à°¾à°·
- ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± à°à°¾à°·
- అవారికà±
- అవధి
- à°à°®à°¾à°°à°¾
- అజరà±à°¬à±ˆà°œà°¾à°¨à°¿
- బషà±à°•à°¿à°°à±
- బాండా
- బమిలేకే à°à°¾à°·
- బాలà±à°à°¿
- బాలినీసà±
- బసా
- బాలà±à°Ÿà°¿à°•à± à°à°¾à°·
- బెలరà±à°¶à°¿à°¯à°¨à±
- బేజా
- బెంబా
- బెరà±à°¬à±†à°°à±
- బలà±à°—ేరియనà±
- బిహారి
- à°à±‹à°œà± పూరి
- బిసà±à°²à°¾à°®à°¾
- బికోలà±
- బిని
- సికౠసికా
- బంబారా
- బెంగాలి
- బంటà±
- టిబెటనà±
- à°¬à±à°°à±†à°Ÿà°¨à±
- à°¬à±à°°à°¾à°œà±
- బాసà±à°¨à°¿à°¯à°¨à±
- బటకà±
- à°¬à±à°°à°¿à°¯à°Ÿà±
- à°¬à±à°¯à±à°—ినిసà±
- à°¬à±à°²à°¿à°¨à±
- కెటలానà±
- కేడà±à°¡à±‹
- మధà±à°¯ అమెరికెనౠఇండియనౠà°à°¾à°·
- కేరిబà±
- కోకేషియనౠà°à°¾à°·
- à°…à°Ÿà±à°¸à°¾à°®à±
- à°à±†à°à±†à°¨à±
- సేబà±à°†à°¨à±‹
- సెలà±à°Ÿà°¿à°•à± à°à°¾à°·
- à°à°®à°°à±à°°à±‹
- à°à°¿à°¬à±à°à°¾
- à°à°¾à°—టై
- à°à±‚à°•à°¿à°¸à±
- మారి
- à°à°¿à°¨à±‚కౠజారà±à°—à°¨à±
- à°à±à°à±à°•తావà±
- à°à°¿à°ªà±†à°µà±à°¯à°¾à°¨à±
- à°à°¿à°°à±‹à°•à°¿
- à°à±‡à°¯à±‡à°¨à±
- à°à°¾à°®à°¿à°•à± à°à°¾à°·
- కారà±à°¸à°¿à°•à°¨à±
- కోపà±à°Ÿà°¿à°•à±
- ఆంగà±à°²à°‚ ఆధారిత à°•à±à°°à°¿à°¯à±‹à°²à± లేదా పిగà±à°¡à°¿à°¨à±
- à°ªà±à°°à±†à°‚à°à± -ఆధారిత à°•à±à°°à°¿à°¯à±‹à°²à± లేదా పిగà±à°¡à°¿à°¨à±
- పోరà±à°à±à°—ీసౠ-ఆధారిత à°•à±à°°à°¿à°¯à±‹à°²à± లేదా పిగà±à°¡à°¿à°¨à±
- à°•à±à°°à°¿
- à°•à±à°°à°¿à°®à°¿à°¯à°¨à± à°Ÿà°°à±à°•à°¿à°·à±
- à°•à±à°°à°¿à°¯à±‹à°²à± లేదా పిగà±à°¡à°¿à°¨à±
- à°à±†à°•à±
- à°•à°·à±à°¬à°¿à°¯à°¨à±
- à°à°°à±à° à°¸à±à°²à°¾à°µà°¿à°•à±
- à°•à±à°·à°¿à°Ÿà°¿à°•à± à°à°¾à°·
- à°à±à°µà°¾à°·à±
- వెలà±à°·à±
- డేనిషà±
- డకోటా
- డారà±à°—à±à°µà°¾
- దయకà±
- ఙరà±à°®à°¨à±
- డెలావేరà±
- à°¸à±à°²à±‡à°µà±
- డోగà±à°°à°¿à°¬à±
- à°¡à°¿à°‚à°•à°¾
- డోగà±à°°à°¿
- à°¦à±à°°à°µà°¿à°¡à°¿à°¯à°¨à± à°à°¾à°·
- లోవరౠసోరà±à°¬à°¿à°¯à°¨à±
- à°¦à±à°†à°²à°¾
- మధà±à°¯à°® à°¡à°à±
- దివేహి
- à°¡à±à°¯à±à°²à°¾
- à°œà±à°¨à±à°–à°¾
- ఇవే
- à°à°«à°¿à°•à±
- à°ªà±à°°à°¾à°à±€à°¨ ఇజిపà±à°·à°¿à°¯à°¨à±
- à°à°•ాజకà±
- à°—à±à°°à±€à°•à±
- à°à°²à°¾à°®à±ˆà°Ÿà±
- ఆంగà±à°²à°‚
- మధà±à°¯à°® ఆంగà±à°²à°‚
- à°à°¸à±à°ªà°°à±†à°¨à±à°Ÿà±
- à°¸à±à°ªà°¾à°¨à°¿à°·à±
- ఈసà±à°Ÿà±à°¨à°¿à°¯à°¨à±
- బాసà±à°•à±
- à°à°µà±‹à°‚à°¡à±
- పరà±à°·à°¿à°¯à°¨à±
- ఫాంగà±
- ఫాంటి
- à°«à±à°¯à±à°²
- à°«à°¿à°¨à±à°¨à°¿à°·à±
- ఫిలిపినో
- à°«à°¿à°¨à±à°¨à±‹- à°¯à±à°—à±à°°à°¿à°¯à°¨à± à°à°¾à°·
- ఫిజియనà±
- ఫారà±à°ˆà°¸à±
- ఫానà±
- à°«à±à°°à±†à°‚à°à±
- మధà±à°¯à°® à°ªà±à°°à±†à°‚à°à±
- à°ªà±à°°à°¾à°à±€à°¨ à°ªà±à°°à±†à°‚à°à±
- ఉతà±à°¤à°° à°«à±à°°à°¿à°¸à°¿à°¯à°¨à±
- తూరà±à°ªà± à°«à±à°°à°¿à°¸à°¿à°¯à°¨à±
- à°«à±à°°à°¿à°¯à±à°²à°¿à°¯à°¨à±
- పశà±à°à°¿à°® à°«à±à°°à°¿à°¸à°¿à°¯à°¨à±
- à°à°°à°¿à°·à±
- à°—à°¾
- గాయో
- à°—à±à°¬à°¾à°¯à°¾
- à°¸à±à°•ాటిషౠగేలికà±
- జరà±à°®à±‡à°¨à°¿à°•à± à°à°¾à°·
- జీజà±
- à°—à°¿à°²à±à°¬à°°à±à°Ÿà±€à°¸à±
- గెలిషియనà±
- మధà±à°¯à°® హై జరà±à°®à°¨à±
- à°—à±à°°à°¾à°¨à°¿
- à°ªà±à°°à°¾à°à±€à°¨ హై జరà±à°®à°¨à±
- గోండి
- గోరోంటలా
- గోథికà±
- à°—à±à°°à±‡à°¬à±‹
- à°ªà±à°°à°¾à°à±€à°¨ à°—à±à°°à±€à°•à±
- à°¸à±à°µà°¿à°¸à± జరà±à°®à°¨à±
- à°—à±à°œà°°à°¾à°¤à°¿
- మంకసà±
- à°—à±à°µà°¿à°à°¿à°¨à±
- హౌసా
- హైడా
- హవాయియనà±
- హీబà±à°°à±
- హిందీ
- హిలి గేయినోనà±
- హిమాà°à°²à°¿
- హిటà±à°Ÿà°¿à°Ÿà±‡
- మోంగà±
- హిరి మోటà±
- à°•à±à°°à±à°¯à±†à°·à°¿à°¯à°¨à±
- à°…à°ªà±à°ªà°°à± సోరà±à°¬à°¿à°¯à°¨à±
- హైయేతియనà±
- హనà±à°—ేరియనà±
- à°¹à±à°ªà°¾
- ఆరà±à°®à±‡à°¨à°¿à°¯à°¨à±
- హిరేరో
- ఇంటరà±à°²à°¿à°‚à°—à±à°µà°¾
- à°à°¬à°¾à°¨à±
- ఇండోనిషియ
- ఇంటరౠలింగà±
- ఇగà±à°¬à±‹
- à°¶à°¿à°·à±à°µà°¨à± à°ˆ
- à°à°œà±‹
- ఇనూపైà°à°•à±
- à°à°¯à±‹à°•ో
- à°à°¾à°°à°¤à±€à°¯ à°à°¾à°·
- ఇండో-à°à°°à±‹à°ªà°¿à°¯à°¨à± à°à°¾à°·
- ఇంగà±à°·à±
- ఈడౌ
- ఇరానియనౠà°à°¾à°·
- ఇరోకà±à°µà°¿à°¯à°¨à± à°à°¾à°·
- à°à°¸à±à°²à°¾à°‚à°¡à°¿à°•à±
- ఇటాలియనà±
- ఇనà±à°•à±à°Ÿà°¿à°Ÿà±à°Ÿà±
- జాపనీసà±
- లోజà±à°¬à°¾à°¨à±
- à°œà±à°¯à±à°¡à°¿à°¯à±‹-పరà±à°·à°¿à°¯à°¨à±
- à°œà±à°¯à±à°¡à°¿à°¯à±‹-అరబికà±
- జావనీసà±
- జారà±à°œà°¿à°¯à°¨à±
- కారా-à°•à°²à±à°ªà°¾à°•à±
- కాబిలà±
- à°•à°¾à°à°¿à°¨à±
- à°œà±à°¯à±‚
- కంబా
- కరెనà±
- కావి
- కబారà±à°¡à°¿à°¯à°¨à±
- à°Ÿà±à°¯à°¾à°ªà±
- కోరో
- కాంగో
- ఖాసి
- ఖోఇసనౠà°à°¾à°·
- ఖటోనీసà±
- à°•à°¿à°•à±à°¯à±
- à°•à±à°µà°¾à°¨à±à°¯à°¾à°®
- కాజాకà±
- కలాలà±à°²à°¿à°¸à±‚à°Ÿà±
- à°–à°®à±à°°à±
- à°•à°¿à°®à±à°¬à±à°‚à°¡à±
- à°•à°¨à±à°¨à°¡
- à°•à±à°°à°¿à°¯à°¨à±
- à°•à±à°‚కణి
- కోసà±à°°à±‡à°¯à°¨à±
- పెలà±à°²à±‡
- కానà±à°°à°¿
- à°•à°°à°à±‡-బలà±à°•ారà±
- కరేలియనà±
- కృ
- కూరà±à°–à±
- కాశà±à°®à±€à°°à°¿
- à°•à°°à±à°¡à°¿à°·à±
- à°•à±à°®à±à°¯à°¿à°•à±
- à°•à±à°Ÿà±‡à°¨à±ˆ
- కోమి
- కోరà±à°¨à°¿à°·à±
- à°•à°¿à°°à±à°—à°¿à°œà±
- లాటినà±
- లాడినో
- లాహండా
- లాంబా
- à°²à±à°•à±à°¸à°‚బరà±à°—à°¿à°·à±
- లేజà±à°˜à°¿à°¯à°¨à±
- గాండా
- లిమà±à°¬à°°à±à°—à°¿à°·à±
- లింగాల
- లాఓ
- à°®à±à°‚గో
- లోజి
- లిథà±à°¯à±‡à°¨à°¿à°¯à°¨à±
- లూబ-కటాంగ
- లూబా- à°²à±à°²à±à°¯à°¾
- à°²à±à°‡à°¸à±‡à°¨à±‹
- à°²à±à°‚à°¡à°¾
- à°²à±à°µà±‹
- à°²à±à°·à±ˆ
- లాటà±à°µà°¿à°¯à°¨à±
- మాదà±à°°à±€à°¸à±
- మగాహి
- మైథిలి
- మకాసారà±
- మండింగో
- ఆసà±à°Ÿà±à°°à±‹à°¨à°¿à°¶à°¿à°¯à°¨à±
- మాసాయి
- à°®à±à°•à±à°·à°¾
- మండారà±
- మెండే
- మాలాగసి
- మధà±à°¯à°® à°à°°à°¿à°·à±
- మారà±à°·à°²à±€à°¸à±
- మయోరి
- మికమాకà±
- మినాంగà±à°•ాబో
- మిశà±à°°à°® à°à°¾à°·
- మసడోనియనà±
- మోనà±-à°–à±à°®à±‡à°°à± à°à°¾à°·
- మలయాళం
- మంగోలియనà±
- మంà°à±
- మణిపూరి
- మనోబో à°à°¾à°·
- à°®à±à°²à±à°¡à°¾à°µà°¿à°¯à°¨à±
- మోహà±à°•à±
- మోసà±à°¸à°¿
- మరాటి
- మలేయà±
- మాలà±à°Ÿà±€à°¸à±
- బహà±à°³ à°à°¾à°·à°²à±
- à°®à±à°‚à°¡ à°à°¾à°·
- à°•à±à°°à±€à°•à±
- మిరాండిసà±
- మారà±à°µà°¾à°¡à°¿
- బరà±à°®à±€à°¸à±
- మాయనౠà°à°¾à°·
- à°à°°à±à°œà°¿à°¯à°¾
- నౌరà±
- నాహà±à°…à°Ÿà°¿à°²à±
- ఉతà±à°¤à°° అమెరికా ఇండియనౠà°à°¾à°·
- నియాపోలిటనà±
- నారà±à°µà±€à°œà°¿à°¯à°¨à± à°¬à±à°•à±à°®à°¾à°²à±
- ఉతà±à°¤à°° దెబెలె
- లో జరà±à°®à°¨à±
- నేపాలి
- నెవారి
- దోంగా
- నియాసà±
- నైజరà±- కోరà±à°¦à±‹à°«à°¿à°¯à°¨à± à°à°¾à°·
- నియూఇయానà±
- à°¡à°à±
- నారà±à°µà°¿à°œà°¿à°¯à°¾à°¨à± à°¨à±à°¯à±‹à°°à±à°¸à±à°•à±
- నారà±à°µà°¿à°œà°¿à°¯à°¾à°¨à±
- నోగై
- à°ªà±à°°à°¾à°à°¿à°¨ నోరà±à°¸à±
- à°¨à±à°•ో
- దకà±à°·à°¿à°£ దెబెలె
- ఉతà±à°¤à°° సోతో
- నూబియనౠà°à°¾à°·
- నవాహో
- సాంపà±à°°à°¦à°¾à°¯ à°¨à±à°¯à±à°†à°°à°¿
- à°¨à±à°¯à°‚వేజి
- à°¨à±à°¯à°¾à°¨à±à°•ోలె
- నిఓరో
- జీమా
- ఆకà±à°¸à°¿à°Ÿà°¾à°¨à±
- à°à±‡à°µà°¾
- ఒరోమో
- ఒరియా
- ఒసేటికà±
- ఒసాజà±
- à°’à°Ÿà±à°Ÿà±‹à°®à°¨à± à°Ÿà°°à±à°•à°¿à°·à±
- ఒటోమియనౠà°à°¾à°·
- పంజాబీ
- పాపà±à°…నౠà°à°¾à°·
- పంగా సినానà±
- పహà±à°²à°¾à°µà°¿
- పంపగà±à°¨
- పపియమేంటో
- పాలà±à°†à°¨à±
- à°ªà±à°°à°¾à°à±€à°¨ పరà±à°·à°¿à°¯à°¨à±
- ఫిలిపà±à°ªà±€à°¨à± à°à°¾à°·
- ఫోనికనà±
- పాలీ
- పోలిషà±
- పోహà±à°¨à±à°ªà±†à°¯à°¨à±
- à°ªà±à°°à°¾à°•à±à°°à°¿à°¤à± à°à°¾à°·
- à°ªà±à°°à°¾à°à±€à°¨ à°ªà±à°°à±‹à°µà±†à°‚సాలà±
- పాషà±à°Ÿà±‹
- పోరà±à°à±à°—ీసà±
- కెషà±à°¯à°¾
- రాజసà±à°¤à°¾à°¨à°¿
- రాపనà±à°¯à±à°¯à°¿
- రారోటà±à°‚గానà±
- à°°à±à°¹à±†à°¤à±‹-రోమానà±à°¸à±
- à°°à°‚à°¡à°¿
- రోమానియనà±
- రోమానà±à°¸à± à°à°¾à°·
- రోమానీ
- రూటà±
- à°°à°·à±à°¯à°¨à±
- ఆరోమేనియనà±
- à°•à°¿à°¨à±à°¯à°°à±à°µà°¾à°‚à°¡à°¾
- సంసృతం
- సండావి
- యాకà±à°Ÿà±
- దకà±à°·à°¿à°£ అమెరికా ఇండియనౠà°à°¾à°·
- సాలిషానౠà°à°¾à°·
- సమారిటనౠఅరమేకà±
- ససకà±
- సంటాలి
- సారà±à°¡à±€à°¨à°¿à°¯à°¨à±
- సిసిలియనà±
- à°¸à±à°•ాటà±à°¸à±
- సింధీ
- ఉతà±à°¤à°° సామి
- సేలà±à°•à°ªà±
- సెమిటికౠà°à°¾à°·
- సాంగో
- à°ªà±à°°à°¾à°à±€à°¨ à°à°°à°¿à°·à±
- సంజà±à° à°à°¾à°·
- సేరà±à°¬à±‹-à°•à±à°°à±à°¯à±‡à°·à°¿à°¯à°¨à±
- షానà±
- సింహాల
- సిడామో
- షిఒయనౠà°à°¾à°·
- సైనో- టిబిటనౠà°à°¾à°·
- à°¸à±à°²à±‹à°µà°¾à°•à±
- à°¸à±à°²à±‹à°µà±‡à°¨à°¿à°¯à°¾à°¨à±
- à°¸à±à°²à°¾à°µà°¿à°•à± à°à°¾à°·
- సమోవనà±
- దకà±à°·à°¿à°£ సామి
- సామి à°à°¾à°·
- à°²à±à°²à±‡ సామి
- ఇనారి సామి
- à°¸à±à°•ోలà±à°Ÿà± సామి
- షోన
- సోనింకి
- సోమాలి
- సోగà±à°¡à°¿à°¯à°¨à±
- à°¸à±à°‚ఘై
- à°…à°²à±à°¬à±‡à°¨à°¿à°¯à°¨à±
- సెరà±à°¬à°¿à°¯à°¨à±
- à°¸à±à°°à°¾à°¨à°¨à± టోనగో
- సెరేరà±
- à°¸à±à°µà°¾à°¤à°¿
- నీలో సహారా à°à°¾à°·
- దకà±à°·à°¿à°£ సోతో
- à°¸à±à°¡à°¾à°¨à±€à°¸à±
- à°¸à±à°•à±à°®à°¾
- à°¸à±à°¸à±
- à°¸à±à°®à±‡à°°à°¿à°¯à°¾à°¨à±
- à°¸à±à°µà±€à°¡à°¿à°·à±
- à°¸à±à°µà°¾à°¹à°¿à°²à°¿
- సాంపà±à°°à°¦à°¾à°¯ సిరియాకà±
- సిరియాకà±
- తమిళమà±
- టై à°à°¾à°·
- తెలà±à°—à±
- టింనే
- టెరెనో
- టేటం
- తాజికà±
- థాయà±
- తిగà±à°°à°¿à°¨à±à°¯à°¾
- టీగà±à°°à±†
- à°Ÿà°¿à°µà±
- à°¤à±à°°à±à°•మెనà±
- టోకెలావà±
- తగలోగà±
- à°•à±à°²à°¿à°‚à°—à°¨à±
- లింగిటà±
- టామషేకà±
- సెటసà±à°µà°¾à°¨à°¾
- టోంగా
- à°¨à±à°¯à°¾à°¸à°¾ టోనà±à°—à°¾
- టోకౠపిసినà±
- à°Ÿà°°à±à°•à°¿à°·à±
- సోంగా
- శింషీయనà±
- టాటరà±
- à°Ÿà°‚à°¬à±à°•
- à°Ÿà±à°ªà°¿ à°à°¾à°·
- ఆలà±à°Ÿà°¿à°¯à°¾à°•à± à°à°¾à°·
- à°Ÿà±à°µà°¾à°²à±
- à°Ÿà±à°µà°¿
- తహితియనà±
- à°Ÿà±à°µà°¿à°¨à°¿à°¯à°¨à±
- ఉడà±à°®à±à°°à±à°Ÿà±
- ఉయà±à°˜à±à°°à±
- ఉగారిటికà±
- à°¯à±à°•à±à°°à±‡à°¨à°¿à°¯à°¾à°¨à±
- ఉమà±à°¬à±à°‚à°¡à±
- తెలియని లేదా à°à±†à°²à±à°²à°¨à°¿ à°à°¾à°·
- ఉరà±à°¦à±‚
- ఉజà±à°¬à±†à°•à±
- వాయి
- వెండా
- వియతà±à°¨à°¾à°®à±€à°¸à±
- వోలాపà±à°•à±
- వోటికà±
- వాలూనà±
- వాకà±à°·à°¨à± à°à°¾à°·
- వాలామో
- వారే
- వాషో
- సోరà±à°¬à°¿à°¯à°¨à± à°à°¾à°·
- à°µà±à°²à°¾à°«à±
- à°•à°²à±à°®à°¿à°•à±
- షోసా
- యాఒ
- యాపిసà±
- యిడà±à°¡à°¿à°·à±
- యోరà±à°¬à°¾
- à°¯à±à°ªà°¿à°•à± à°à°¾à°·
- à°œà±à°µà°¾à°¨à±
- జపోటెకà±
- à°¬à±à°²à°¿à°¸à°¿à°‚బలà±à°¸à±
- జెనాగా
- à°à±ˆà°¨à±€à°¸à±
- జండే
- జూలూ
- à°œà±à°¨à°¿
- à°ˆ లిపి లేదà±
- జాజా
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- à°ªà±à°°à°ªà°‚à°à°‚
- ఆఫà±à°°à°¿à°•à°¾
- ఉతà±à°¤à°° అమెరికా à°–à°‚à°¡à°®à±
- దకà±à°·à°¿à°£ అమెరికా
- ఒషేనియ
- పడమటి ఆఫà±à°°à°¿à°•à°¾
- మధà±à°¯à°® అమెరికా
- తూరà±à°ªà± ఆఫà±à°°à°¿à°•à°¾
- ఉతà±à°¤à°° ఆఫà±à°°à°¿à°•à°¾
- మధà±à°¯à°® ఆఫà±à°°à°¿à°•à°¾
- దకà±à°·à°¿à°£ ఆఫà±à°°à°¿à°•à°¾
- అమెరికాలà±
- ఉతà±à°¤à°° అమెరికా
- à°•à°°à°¿à°¬à±à°¬à°¿à°¯à°¨à±
- తూరà±à°ªà± ఆశియా
- దకà±à°·à°¿à°£ ఆశియా
- నైరà±à°¤à°¿ ఆశియా
- దకà±à°·à°¿à°£ à°à°°à±‹à°ªà°¾
- ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¾ మరియౠనà±à°¯à±‚జిలాండà±
- మెలనేశియ
- మైకà±à°°à±‹à°¨à±‡à°¶à°¿à°¯ à°ªà±à°°à°¾à°‚తం
- పాలినేషియా
- దకà±à°·à°¿à°£ మధà±à°¯à°® ఆశియా
- ఆశియా
- మధà±à°¯à°® ఆశియా
- పడమటి ఆశియా
- à°à°°à±‹à°ªà°¾
- తూరà±à°ªà± à°à°°à±‹à°ªà°¾
- ఉతà±à°¤à°° à°à°°à±‹à°ªà°¾
- పడమటి à°à°°à±‹à°ªà°¾
- à°¸à±à°µà°¤à°‚à°¤à±à°° రాషà±à°Ÿà±à°°à°¾à°² కామనౠవెలà±à°¤à±
- à°à±†à°•à°¸à±à°²à±à°µà±‡à°•à°¿à°¯
- లాటినౠఅమెరికా మరియౠకేరబà±à°¬à°¿à°¯à°¨à±
- à°à°¾à°¨à±†à°²à± దీవà±à°²à±
- à°…à°¨à±à°¡à±‹à°°à°¾
- à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± ఆరబౠà°à°®à°¿à°°à±‡à°Ÿà±à°¸à±
- ఆఫà±à°˜à°¾à°¨à°¿à°¸à±à°¤à°¾à°¨à±
- ఆంటిగà±à°µà°¾ మరియౠబారà±à°¬à±à°¡à°¾
- ఆంగవిలà±à°²à°¾
- à°…à°²à±à°¬à±‡à°¨à°¿à°¯à°¾
- ఆరà±à°®à±‡à°¨à°¿à°¯à°¾
- నేదేరà±à°²à±‡à°‚à°¡à±à°¸à± à°…à°‚à°Ÿà°¿à°²à±à°²à°¿à°¸à±
- అంగోలా
- అంటారà±à°•à°Ÿà°¿à°•à°¾
- ఆరà±à°œà±†à°‚టినా
- అమెరికనౠసమోవా
- ఆసà±à°Ÿà±à°°à°¿à°¯à°¾
- ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¾
- à°…à°°à±à°¬à°¾
- ఆలేండౠదీవà±à°²à±
- అజరà±à°¬à±ˆà°œà°¾à°¨à±
- బాసà±à°¨à°¿à°¯à°¾ మరియౠహీరà±à°œà°¿à°—ోవినా
- బారà±à°¬à°¡à±‹à°¸à±
- బాంగà±à°²à°¾à°¦à±‡à°·à±
- బెలà±à°œà°¿à°¯à°‚
- à°¬à±à°°à±à°•ినా ఫాసో
- బలà±à°—ేరియా
- బహరేనà±
- à°¬à±à°°à±à°‚à°¡à°¿
- బెనినà±
- సెంటౠబరà±à°¤à±‡à°²à±†à°®à±€
- బరà±à°®à°¯à±à°¡à°¾
- à°¬à±à°°à±à°¨à±ˆ
- à°¬à±à°²à±€à°µà°¿à°¯à°¾
- à°¬à±à°°à°œà°¿à°²à±
- బహామాసà±
- à°à±‚టానà±
- à°¬à±à°µà±†à°Ÿà± దీవి
- బోటà±à°¸à±à°µà°¾à°¨à°¾
- బెలారసà±
- బెలీజà±
- కెనడా
- కోకోసౠదీవà±à°²à±
- కాంగో- à°•à°¿à°¨à±à°·à°¾à°¸à°¾
- మధà±à°¯à°® ఆఫà±à°°à°¿à°•à°¾ రిపబà±à°²à°¿à°•à±
- కాంగో- à°¬à±à°°à°¾à°œà°¾à°µà°¿à°²à±à°²à°¿
- à°¸à±à°µà°¿à°Ÿà±à°œà°°à±à°²à±‡à°‚à°¡à±
- à°à°µà°°à±€ కోసà±à°Ÿà±
- à°•à±à°•ౠదీవà±à°²à±
- à°à°¿à°²à°¿
- కెమరూనà±
- à°à±ˆà°¨à°¾
- à°•à±à°²à°‚బియా
- కోసà±à°Ÿà°¾à°°à°¿à°•à°¾
- సరà±à°¬à°¿à°¯à°¾ మరియౠమంటెనీగà±à°°à±‹
- à°•à±à°¯à±‚బా
- కేపౠవెరà±à°¡à±‡
- à°•à±à°°à°¿à°¸à±à°®à°¸à± దీవి
- సైపà±à°°à°¸à±
- à°à±†à°•ౠగణరాజà±à°¯à°‚
- ఙరà±à°®à°¨à°¿
- జిబౌటి
- డెనà±à°®à°¾à°°à±à°•à±
- డోమెనిక
- à°¡à±à°®à°¿à°¨à°¿à°•నౠగణ రాజà±à°¯à°‚
- à°…à°²à±à°œà±€à°°à°¿à°¯à°¾
- ఈకà±à°µà°¡à±‹à°°à±
- à°à°¸à±à°Ÿà±‹à°¨à°¿à°¯à°¾
- ఈజిపà±à°Ÿà±
- పడమటి సహారా
- à°à°°à°¿à°Ÿà±à°°à°¿à°¯à°¾
- à°¸à±à°ªà±‡à°¨à±
- ఇథియోపియా
- à°«à°¿à°¨à±à°²à°¾à°‚à°¡à±
- ఫిజి
- ఫాకౠలేండౠదీవà±à°²à±
- మైకà±à°°à±‹à°¨à±‡à°¶à°¿à°¯
- ఫారో దీవà±à°²à±
- à°«à±à°°à°¾à°¨à±à°¸à±â€Œ
- గేబనà±
- à°¬à±à°°à°¿à°Ÿà°¨à±
- à°—à±à°°à±†à°¨à±†à°¡à°¾
- జారà±à°œà°¿à°¯à°¾
- à°«à±à°°à±†à°‚à°à± గియానా
- à°—à±à°µà±‡à°°à±à°¨à°¸à±‡
- ఘానా
- జిబà±à°°à°¾à°²à±à°Ÿà°¾à°°à±
- à°—à±à°°à±€à°¨à±à°²à±‡à°‚à°¡à±
- గాంబియా
- గినియా
- à°—à±à°µà°¾à°¡à±‡à°²à±‹à°ªà±
- à°à°•à±à°µà±‡à°Ÿà±‹à°°à°¿à°¯à°¾à°²à± గినియా
- à°—à±à°°à±€à°¸à±
- దకà±à°·à°¿à°£ జారà±à°œà°¿à°¯à°¾ మరియౠదకà±à°·à°¿à°£ సాండà±à°µà°¿à°à± దీవà±à°²à±
- à°—à±à°µà°¾à°Ÿà°¿à°®à°¾à°²
- à°—à±à°µà°¾à°®à±
- గినియా-బిసà±à°¸à°¾à°µà±
- గయానా
- à°à±ˆà°¨à°¾ à°¯à±à°•à±à°• హాంగà±à°•ాంగà±
- హెరà±à°¡à± దీవి మరియౠమాకౠడోనాలà±à°¡à± దీవà±à°²à±
- హోండోరాసà±
- à°•à±à°°à±‹à°¯à±‡à°·à°¿à°¯à°¾
- హైటి
- హనà±à°—ేరి
- ఇండోనేషియా
- à°à°°à± లాండà±
- ఇసà±à°°à°¾à°¯à±‡à°²à±
- à°à°²à± ఆఫౠమానà±
- à°à°¾à°°à°¤ దేశం
- à°¬à±à°°à°¿à°Ÿà°¿à°·à± à°à°¾à°°à°¤à±€à°¯ ఓషనౠపà±à°°à°¾à°‚తం
- ఇరాకà±
- ఇరానà±
- à°à°¸à±à°²à°¾à°‚à°¡à±
- ఇటలి
- జరà±à°¸à°¿
- జమైకా
- జారà±à°¡à°¾à°¨à±
- జపానà±
- కెనà±à°¯à°¾
- à°•à°¿à°°à±à°œà°¿à°¸à±à°¤à°¾à°¨à±
- కంబోడియా
- కిరిబాటి
- à°•à±à°®à±à°°à±‹à°¸à±
- సెంటౠకిటà±à°Ÿà±à°¸à± మరియౠనెవిసà±
- ఉతà±à°¤à°° à°•à±à°°à°¿à°¯à°¾
- దకà±à°·à°¿à°£ à°•à±à°°à°¿à°¯à°¾
- à°•à±à°µà±ˆà°Ÿà±
- కేమానౠదీవà±à°²à±
- కజాఖసà±à°¤à°¾à°¨à±
- లావోసà±
- లెబనానà±
- సెంటౠలూసియా
- లికà±à°Ÿà±†à°¸à±à°Ÿà±‡à°¨à±
- à°¶à±à°°à±€à°²à°‚à°•
- లైబీరియా
- లెసోతో
- లిథà±à°¯à±‡à°¨à°¿à°¯à°¾
- లకà±à°¸à°‚బరà±à°—à±
- లాటà±à°µà°¿à°¯
- లిబియా
- à°®à±à°°à°¾à°•à±à°•ో
- à°®à±à°¨à°¾à°•ో
- మోలౠడోవ
- మోంటేనేగà±à°°à±‹
- సెంటౠమారà±à°Ÿà°¿à°¨à±
- మాడà±à°—ాసà±à°•ారà±
- మారà±à°·à°²à± దీవà±à°²à±
- మేసెడోనియా
- మాలి
- à°®à±à°¯à°¾à°¨à±à°®à°¾à°°à±
- మంగోలియా
- మాకావౠSAR à°à±ˆà°¨à°¾
- ఉతà±à°¤à°° మరియానా దీవà±à°²à±
- మారà±à°Ÿà°¿à°¨à°¿à°•à±
- మౌరిటేనియా
- మోంటà±à°¸à±‡à°°à±à°°à°¾à°Ÿà±
- మాలà±à°Ÿà°¾
- మారిషసà±
- మాలà±à°¦à±€à°µà±à°²à±
- మాలావి
- మెకà±à°¸à°¿à°•ో
- మలేషియా
- à°®à±à°œà°¾à°‚బికà±
- నమీబియా
- à°•à±à°°à±à°¤à±à°¤ కాలెడోనియా
- నైజరà±
- నారà±à°«à°¾à°•ౠదీవి
- నైజీరియా
- నికరాగà±à°µà°¾
- నేదరà±à°²à°¾à°‚à°¡à±à°¸à±
- నారవే
- నేపాలà±
- నౌరà±
- నియà±
- à°¨à±à°¯à±à°œà°¿à°²à±‡à°‚à°¡à±
- ఒమానà±
- పనామా
- పెరూ
- à°«à±à°°à±†à°‚à°à± పోలినిషియా
- పాపà±à°µà°¾ à°¨à±à°¯à± గినియా
- ఫిలి పైనà±à°¸à±
- పాకిసà±à°¤à°¾à°¨à±
- పోలాండà±
- సెంటౠపియెరౠమరియౠమికెలానà±
- పిటà±à°•ెరà±à°¨à±
- పోటోరికో
- పాలిసà±à°¤à°¿à°¨à°¿à°¯à°¾à°¨à± à°ªà±à°°à°¾à°‚తం
- పోరà±à°à±à°—à°²à±
- పలావà±
- పెరగà±à°µà±‡
- కతరà±
- ఒషేనియా బయటà±à°¨à±à°¨à°µà°¿
- à°¯à±à°°à±‹à°ªà°¿à°¯à°¨à± à°¯à±à°¨à°¿à°¯à°¨à±
- రియూనియనà±
- రోమానియా
- సెరà±à°¬à°¿à°¯à°¾
- à°°à°·à±à°¯
- à°°à±à°µà°¾à°‚à°¡à°¾
- సౌదీ అరేబియా
- సోలోమనౠదీవà±à°²à±
- సీషెలà±à°¸à±
- à°¸à±à°¡à°¾à°¨à±
- à°¸à±à°µà±€à°¡à°¨à±
- సింగపూరà±
- సెంటౠహెలినా
- à°¸à±à°²à±‹à°µà±‡à°¨à°¿à°¯à°¾
- à°¸à±à°µà°¾à°²à±à°¬à°¾à°°à±à°¡à± మరియౠయానౠమాయేనà±
- à°¸à±à°²à±‹à°µà±‡à°•ియా
- సియెరà±à°°à°¾ లియానà±
- సానౠమారినో
- సెనెగలà±
- సోమాలియా
- à°¸à±à°°à°¿à°¨à°¾à°®à±
- సావోటోమౠమరియౠపà±à°°à°¿à°¨à±à°¸à°¿à°ªà±‡
- à°à°²à± సాలà±à°µà°¡à±‹à°°à±
- సిరియా
- à°¸à±à°µà°¾à°œà±€à°²à±‡à°‚à°¡à±
- à°¤à±à°°à±à°•ౠమరియౠకాలికోసౠదీవà±à°²à±
- à°à°¾à°¦à±
- à°«à±à°°à±†à°‚à°à± దకà±à°·à°¿à°£ à°ªà±à°°à°¾à°‚తాలà±
- టోగో
- థాయౠలాండà±
- టాజీకిసà±à°¤à°¾à°¨à±
- టోకేలావà±
- తూరà±à°ªà± టిమోరà±
- à°¤à±à°°à±à°•మెసà±à°¤à°¾à°¨à±
- à°Ÿà±à°¯à±à°¨à±€à°·à°¿à°¯à°¾
- టోంగా
- à°Ÿà°°à±à°•à±€
- à°Ÿà±à°°à°¿à°¨à°¿à°¡à±‡à°¡à± మరియౠటà±à°¬à°¾à°—ో
- à°Ÿà±à°µà°¾à°²à±
- టైవానà±
- టాంజానియా
- à°¯à±à°•à±à°°à±†à°¨à±
- à°¯à±à°—ాండా
- సంయà±à°•à±à°¤ రాజà±à°¯ అమెరికా à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± à°¸à±à°Ÿà±‡à°Ÿà±à°¸à± మైనరౠబయట ఉనà±à°¨ దీవà±à°²à±
- సంయà±à°•à±à°¤ రాజà±à°¯ అమెరికా
- ఉరà±à°—à±à°µà±‡
- ఉజà±à°¬à±†à°•à°¿à°¸à±à°¤à°¾à°¨à±
- వేటికెనà±
- సెంటౠవినà±à°¸à±†à°‚టౠమరియౠగà±à°°à±†à°¨à°¡à±€à°¨à±à°¸à±
- వెనà±à°œà±à°µà±‡à°²à°¾
- à°¬à±à°°à°¿à°Ÿà°¿à°·à± వరà±à°œà°¿à°¨à± దీవà±à°²à±
- à°¯à±.à°à°¸à±. వరà±à°œà°¿à°¨à± దీవà±à°²à±
- వియటà±à°¨à°¾à°‚
- వనౌటà±
- వాలిసౠమరియౠఫà±à°¯à±à°¤à±à°¯à±à°¨à°¾
- సమోవా
- యెమెనà±
- మాయà±à°Ÿà±à°Ÿà°¿
- దకà±à°·à°¿à°£ ఆఫà±à°°à°¿à°•à°¾ రాజà±à°¯à°‚
- జాంబియా
- జింబాబà±à°µà±‡
- తెలియని లేదా à°à±†à°²à±à°²à°¨à°¿ à°ªà±à°°à°¾à°‚తం
-
-
- à°ªà±à°°à°¾à°à±€à°¨ ఙరà±à°®à°¨ వరà±à°£à°•à±à°°à°®à°‚
- 1996 ఙరà±à°®à°¨ వరà±à°£à°•à±à°°à°®à°‚
- సవరింà°à°¬à°¡à°¿à°¨ వరà±à°£à°•à±à°°à°®à°‚
-
-
-
- [à°…-à°‹ à± à°Œ ౡ à°-à° à°’-à°¨ à°ª-à°³ à°µ-à°¹ à°-à°ƒ à± à°¾-ౄ ె-ై à±-ౌ ౕ à±–]
- [\u200C \u200D ౦-౯ b c e g m q t]
-
-
- '
- '
- "
- "
-
-
-
-
-
-
-
- జనవరి
- à°«à°¿à°¬à±à°°à°µà°°à°¿
- మారà±à°à°¿
- à°à°ªà±à°°à°¿à°²à±
- మే
- జూనà±
- జూలై
- ఆగసà±à°Ÿà±
- సెపà±à°Ÿà±†à°‚బరà±
- à°…à°•à±à°Ÿà±‹à°¬à°°à±
- నవంబరà±
- డిసెంబరà±
-
-
-
-
- జ
- à°«à°¿
- à°®
- à°
- మె
- à°œà±
- à°œà±
- à°†
- సె
- à°…
- à°¨
- à°¡à°¿
-
-
-
-
-
-
- ఆది
- సోమ
- మంగళ
- à°¬à±à°§
- à°—à±à°°à±
- à°¶à±à°•à±à°°
- శని
-
-
- ఆదివారం
- సోమవారం
- మంగళవారం
- à°¬à±à°§à°µà°¾à°°à°‚
- à°—à±à°°à±à°µà°¾à°°à°‚
- à°¶à±à°•à±à°°à°µà°¾à°°à°‚
- శనివారం
-
-
-
-
- à°†
- సో
- à°®
- à°à±
- à°—à±
- à°¶à±
- à°¶
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- à°’à°•à°Ÿà°¿ 1
- రెండౠ2
- మూడౠ3
- నాలà±à°—à± 4
-
-
-
- am
- pm
-
-
- ఈసాపూరà±à°µ.
- సనà±.
-
-
- BCE
- CE
-
-
-
-
-
- EEEE d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- dd-MM-yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd-MM
- d MMMM
- Q yy
- MM-yyyy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤ #,##,##0.00
-
-
-
-
-
- ఆఫà±à°˜à°¾à°¨à± ఆఫà±à°˜à°¾à°¨à°¿
-
-
- à°¬à±à°°à°œà°¿à°²à± దేశ రియాలà±
-
-
- à°à±ˆà°¨à°¾ దేశ à°¯à±à°µà°¾à°¨à± రెనà±â€Œà°®à°¿à°¨à±â€Œà°¬à°¿
-
-
- à°¯à±à°°à±
-
-
- à°¬à±à°¿à°Ÿà°¿à°·à± పౌనà±à°¡ à°¸à±à°Ÿà±†à°°à±à°²à°¿à°—à±
-
-
- రూపాయి
- రూ.
-
-
- జపానౠదేశ యెసà±
-
-
- à°°à°·à±à°¯ దేశ రూబలà±
-
-
- à°à°•à±à°¯ రాషà±à°Ÿà±à°° అమెరిక డాలరà±
-
-
-
-
-
- అవనà±
- కాదà±
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/te_IN.xml b/airtime_mvc/library/Zend/Locale/Data/te_IN.xml
deleted file mode 100644
index ded6bf954..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/te_IN.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/telephoneCodeData.xml b/airtime_mvc/library/Zend/Locale/Data/telephoneCodeData.xml
deleted file mode 100644
index c01872d81..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/telephoneCodeData.xml
+++ /dev/null
@@ -1,746 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tg.xml b/airtime_mvc/library/Zend/Locale/Data/tg.xml
deleted file mode 100644
index 57decc8a8..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tg.xml
+++ /dev/null
@@ -1,220 +0,0 @@
-
-
-
-
-
-
-
-
-
- Đ‘ĐµĐ»Đ¾Ñ€ÑƒÑÓ£
- Đ‘ÑƒĐ»̉“Đ¾Ñ€Ó£
- Би̉³Đ°Ñ€Ó£
- Đ‘ĐµĐ½Đ³Đ°Đ»Ó£
- Đ‘Ñ€ĐµÑ‚Đ¾Đ½Ó£
- Đ‘Đ¾ÑĐ½Đ¸ÑĐ³Ó£
- ĐĐ°Ñ‚Đ°Đ»Đ°Đ½Ó£
- Đ§ĐµÑ…Ó£
- Đ”Đ°Đ½Đ¸ÑĐ³Ó£
- ĐĐµĐ¼Đ¸ÑÓ£
- Đ®Đ½Đ¾Đ½Ó£
- ĐĐ½Đ³Đ»Đ¸ÑÓ£
- ĐÑĐ¿ĐµÑ€Đ°Đ½Ñ‚Đ¾
- Đ˜ÑĐ¿Đ°Đ½Ó£
- ĐÑÑ‚Đ¾Đ½Ó£
- БаÑĐºÓ£
- Đ¤Đ¾Ñ€ÑÓ£
- Đ¤Đ¸Đ½Đ½Ó£
- Đ¤Đ¸Đ»Đ¸Đ¿Đ¿Đ¸Đ½Ó£
- Đ¤Đ°Ñ€Đ¾Đ·Ó£
- Đ¤Đ°Ñ€Đ¾Đ½ÑĐ°Đ²Ó£
- Đ¤Ñ€Đ¸ÑĐ¸Đ°Đ½Ó£
- Đ˜Ñ€Đ»Đ°Đ½Đ´Ó£
- Đ¨Đ¾Ñ‚Đ»Đ°Đ½Đ´Ó£-Đ“Đ°Đ»Đ¸ĐºÓ£
- ГалиÑĐ¸Đ°Đ½Ó£
- Đ“Đ¾Ñ€Đ°Đ½Ó£
- Đ“Ñƒ̉·Đ°Ñ€Đ°Ñ‚Ó£
- Đ¯̉³ÑƒĐ´Ó£
- ̉²Đ¸Đ½Đ´Ó£
- ĐœĐ°̉·Đ¾Ñ€Ó£
- Đ‘Đ°Đ¹Đ½Đ¸ Đ·Đ°Đ±Đ¾Đ½Ó£
- Đ˜Đ½Đ´Đ¾Đ½ĐµĐ·Ó£
- Đ˜ÑĐ»Đ°Đ½Đ´Ó£
- ̉¶Đ¾Đ¿Đ¾Đ½Ó£
- ̉¶Đ°Đ²Đ°Đ½Đ¸Đ·Ó£
- Đ“ÑƒÑ€̉·Ó£
- ̉Đ¸Ñ€̉“Đ¸Đ·Ó£
- Đ›Đ¾Ñ‚Đ¸Đ½Ó£
- Đ›Đ°Đ¾ÑÓ£
- Đ›Đ¸Ñ‚Đ²Đ¾Đ½Ó£
- Đ›Đ°Ñ‚Đ²Đ¸ÑĐ³Ó£
- ̉²Đ¾Đ»Đ»Đ°Đ½Đ´Ó£
- ĐĐ¾Ñ€Đ²ĐµĐ³Ó£
- Đ£Ñ€Đ¸ÑĐ¾Ó£
- Ла̉³Đ¸ÑÑ‚Đ¾Đ½Ó£
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»Ó£
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»Ó£ (Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ)
- Đ ÑƒĐ¼Đ¸Đ½Ó£
- Đ ÑƒÑÓ£
- Đ¨Đ²ĐµĐ´Ó£
- Ó®Đ¹̉“урӣ
- Đ£ĐºÑ€Đ°Đ¸Đ½Ó£
- Đ£Ñ€Đ´Ñƒ
- Ó®Đ·Đ±ĐµĐºÓ£
- Đ¯̉³ÑƒĐ´Đ¸Đ¸ ĐĐ²Ñ€ÑƒĐ¿Đ¾Đ¸ ÑˆĐ°Ñ€̉›Ó£
- Đ§Đ¸Đ½Ó£
- Đ—ÑƒĐ»Ñƒ
-
-
-
-
-
- ĐÑ„̉“Đ¾Đ½Đ¸ÑÑ‚Đ°Đ½
- Đ¢Đ¾Đ½Đ³Đ°
-
-
-
- [а-Đ³ ̉“ Đ´ е Ñ‘ ж-и Ó£ Đ¹ Đº ̉› Đ»-у Ó¯ Ñ„ Ñ… ̉³ ч ̉· ш Ñ Ñ-Ñ]
- [ц щ ы ь]
-
-
- «
- »
- «
- â€
-
-
-
-
-
-
-
- Đ¯Đ½Đ²
- Đ¤ĐµĐ²
- ĐœĐ°Ñ€
- ĐĐ¿Ñ€
- ĐœĐ°Đ¹
- Đ˜ÑĐ½
- Đ˜ÑĐ»
- ĐĐ²Đ³
- Đ¡ĐµĐ½
- ĐĐºÑ‚
- ĐĐ¾Ñ
- Đ”ĐµĐº
-
-
- Đ¯Đ½Đ²Đ°Ñ€
- Đ¤ĐµĐ²Ñ€Đ°Đ»
- ĐœĐ°Ñ€Ñ‚
- ĐĐ¿Ñ€ĐµĐ»
- ĐœĐ°Đ¹
- Đ˜ÑĐ½
- Đ˜ÑĐ»
- ĐĐ²Đ³ÑƒÑÑ‚
- Đ¡ĐµĐ½Ñ‚ÑĐ±Ñ€
- ĐĐºÑ‚ÑĐ±Ñ€
- ĐĐ¾ÑĐ±Ñ€
- Đ”ĐµĐºĐ°Đ±Ñ€
-
-
-
-
-
-
- Đ¯ÑˆĐ±
- Đ”ÑˆĐ±
- Đ¡ÑˆĐ±
- Đ§ÑˆĐ±
- ĐŸÑˆĐ±
- ̉¶Đ¼Ñ
- Đ¨Đ½Đ±
-
-
- Đ¯ĐºÑˆĐ°Đ½Đ±Đµ
- Đ”ÑƒÑˆĐ°Đ½Đ±Đµ
- Đ¡ĐµÑˆĐ°Đ½Đ±Đµ
- Đ§Đ¾Ñ€ÑˆĐ°Đ½Đ±Đµ
- ĐŸĐ°Đ½̉·ÑˆĐ°Đ½Đ±Đµ
- ̉¶ÑƒĐ¼Ñа
- Đ¨Đ°Đ½Đ±Đµ
-
-
-
- Đ¿Đµ. Ñ‡Đ¾.
- Đ¿Đ°. Ñ‡Đ¾.
-
-
- ĐŸĐµÑˆ аз Đ¼Đ¸Đ»Đ¾Đ´
- ĐŸĐ°Đœ
-
-
- ĐŸĐµĐœ
- ĐŸĐ°Đœ
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
-
- Đ¡Đ¾Đ¼Đ¾Đ½Ó£
- ÑĐ¾Đ¼
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tg_Cyrl.xml b/airtime_mvc/library/Zend/Locale/Data/tg_Cyrl.xml
deleted file mode 100644
index 2e7947139..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tg_Cyrl.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tg_Cyrl_TJ.xml b/airtime_mvc/library/Zend/Locale/Data/tg_Cyrl_TJ.xml
deleted file mode 100644
index 4a49f6a45..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tg_Cyrl_TJ.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tg_TJ.xml b/airtime_mvc/library/Zend/Locale/Data/tg_TJ.xml
deleted file mode 100644
index 7a189a02d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tg_TJ.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/th.xml b/airtime_mvc/library/Zend/Locale/Data/th.xml
deleted file mode 100644
index b7ed49ace..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/th.xml
+++ /dev/null
@@ -1,4437 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- à¸à¸°à¸Ÿà¸²à¸£à¹Œ
- à¸à¸±à¸à¸„าซ
- à¸à¸²à¹€à¸ˆà¸°à¸«à¹Œ
- à¸à¸²à¹‚คลิ
- à¸à¸²à¹à¸”งมี
- à¸à¸°à¸”ืยเà¸
- à¸à¹€à¸§à¸ªà¸•ะ
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸™à¸ªà¹Œ
- ภาษาà¹à¸à¸Ÿà¹‚ร-เà¸à¹€à¸à¸µà¸¢à¸•ิà¸
- à¹à¸à¸Ÿà¸£à¸´à¸®à¸µà¸¥à¸µ
- ไà¸à¸™à¸¸
- à¸à¸²à¸„ัน
- à¸à¸±à¸à¸à¸²à¸”
- à¸à¸²à¸¥à¸´à¸§à¸•์
- ภาษาà¸à¸±à¸¥à¸à¸à¸‡à¹€à¸„วียน
- à¸à¸±à¸¥à¹„ตใต้
- à¸à¸±à¸¡à¸®à¸²à¸£à¸²
- à¸à¸²à¸£à¸²à¸à¸à¸™
- à¸à¸±à¸‡à¸à¸¤à¸©à¹‚à¸à¸£à¸²à¸“
- à¸à¸±à¸‡à¸„ิà¸à¸²
- ภาษาà¸à¸²à¸›à¸²à¹€à¸à¹ˆ
- à¸à¸²à¸«à¸£à¸±à¸
- à¸à¸£à¸²à¹€à¸¡à¸à¸´à¸
- à¸à¸²à¹€à¸£à¸²à¸„าเนียน
- à¸à¸²à¸£à¸²à¸›à¸²à¹‚ฮ
- ภาษาประดิษà¸à¹Œ
- à¸à¸²à¸£à¸²à¸§à¸±à¸
- à¸à¸±à¸ªà¸ªà¸±à¸¡
- à¸à¸±à¸ªà¸•ูเรียส
- ภาษาà¸à¸²à¸—าà¸à¸²à¸ªà¸à¸²à¸™
- ภาษาà¸à¸à¸ªà¹€à¸•รเลีย
- à¸à¸²à¸§à¸²à¸£à¹Œ
- à¸à¸§à¸˜à¸µ
- ไà¸à¸¢à¹Œà¸¡à¸²à¸£à¸²
- à¸à¸²à¹€à¸‹à¸à¸£à¹Œà¹„à¸à¸ˆà¸²à¸™
- à¸à¸±à¸à¸„ีร์
- à¸à¸±à¸™à¸”า
- ภาษาà¸à¸²à¸¡à¸µà¹€à¸¥à¸à¹Œ
- à¸à¸²à¸¥à¸¹à¸à¸´
- à¸à¸²à¸«à¸¥à¸µ
- à¸à¸²à¸ªà¸²
- ภาษาà¸à¸à¸¥à¸•ิà¸
- เà¸à¸¥à¸²à¸£à¸¸à¸ª
- เà¸à¸ˆà¸²
- เà¸à¸¡à¸à¸²
- เà¸à¸à¸£à¹Œà¹€à¸à¸à¸£à¹Œ
- à¸à¸±à¸¥à¹à¸à¹€à¸£à¸µà¸¢
- à¸à¸´à¸«à¸²à¸£
- โภà¸à¸›à¸¸à¸£à¸µ
- à¸à¸´à¸ªà¸¥à¸²à¸¡à¸²
- à¸à¸´à¸à¸à¸¥
- à¸à¸´à¸™à¸µ
- สิà¸à¸ªà¸´à¸à¸²
- à¸à¸±à¸¡à¸à¸²à¸£à¸²
- เà¸à¸‡à¸à¸²à¸¥à¸µ
- à¸à¸±à¸™à¸•ู
- ทิเà¸à¸•
- เà¸à¸£à¸•ัน
- à¸à¸±à¸£à¸
- à¸à¸à¸ªà¹€à¸™à¸µà¸¢
- à¸à¸²à¸•ัà¸
- à¸à¸¹à¹€à¸£à¸µà¸¢à¸•
- à¸à¸¹à¸à¸´à¸ª
- à¸à¸¥à¸´à¸™
- à¸à¸²à¸•าลัง
- คัดโด
- ภาษาà¸à¹€à¸¡à¸£à¸´à¸à¸±à¸™à¸à¸´à¸™à¹€à¸”ียนà¸à¸¥à¸²à¸‡
- คาริà¸
- ภาษาคà¸à¹€à¸„เซียน
- à¹à¸à¸•à¹à¸‹à¸¡
- เà¸à¹€à¸à¸™
- เซà¸à¸¹
- ภาษาเซลติà¸
- à¸à¸²à¸¡à¸à¸£à¹Œà¹‚ร
- à¸à¸´à¸à¸à¸²
- à¸à¸°à¸à¸°à¹„ต
- à¸à¸¹à¸
- มารี
- à¸à¸´à¸™à¸¸à¸à¸ˆà¸²à¸£à¹Œà¸à¸à¸™
- à¸à¹‡à¸à¸à¸—à¸à¸§à¹Œ
- à¸à¸´à¸à¸´à¸§à¸¢à¸±à¸™
- เà¸à¸à¹‚รà¸à¸µ
- เà¸à¹€à¸¢à¸™à¹€à¸™
- ภาษาà¸à¸²à¸¡à¸´à¸
- คà¸à¸£à¹Œà¸‹à¸´à¸à¸²
- คà¸à¸›à¸•ิà¸
- ครีโà¸à¸¥à¸«à¸£à¸·à¸à¸à¸´à¸”จิ้นที่มาจาà¸à¸ าษาà¸à¸±à¸‡à¸à¸¤à¸©
- ครีโà¸à¸¥à¸«à¸£à¸·à¸à¸à¸´à¸”จิ้นที่มาจาà¸à¸ าษาà¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª
- ครีโà¸à¸¥à¸«à¸£à¸·à¸à¸à¸´à¸”จิ้นที่มาจาà¸à¸ าษาโปรตุเà¸à¸ª
- ครี
- ตุรà¸à¸µà¹„ครเมีย
- ครีโà¸à¸¥à¸«à¸£à¸·à¸à¸à¸´à¸”จิ้น
- เà¸à¹‡à¸
- คาซูเà¸à¸µà¸¢à¸™
- เà¸à¸à¸£à¹Œà¸à¸ªà¸¥à¸²à¸§à¸´à¸
- ภาษาคูà¸à¸´à¸—ิà¸
- à¸à¸¹à¸§à¸±à¸
- เวลส์
- เดนมาร์à¸
- ดาโà¸à¸—า
- ดาร์à¸à¸´à¸™
- ดายัà¸
- เยà¸à¸£à¸¡à¸±à¸™
- เยà¸à¸£à¸¡à¸±à¸™ - à¸à¸à¸ªà¹€à¸•รีย
- เยà¸à¸£à¸¡à¸±à¸™à¸ªà¸¹à¸‡ (สวิส)
- เดลาà¹à¸§à¸£à¹Œ
- สเลวี
- โดà¸à¸£à¸´à¸
- ดิงà¸à¸²
- โฑครี
- ภาษาดราวิเดียน
- ซà¸à¸£à¹Œà¸à¸ªà¹Œà¸•à¸à¸™à¸¥à¹ˆà¸²à¸‡
- ดัวลา
- ดัตà¸à¹Œà¸à¸¥à¸²à¸‡
- ธิเวหิ
- ดิวลา
- ซà¸à¸‡à¸„า
- เà¸à¹€à¸§
- à¸à¸µà¸Ÿà¸´à¸
- à¸à¸µà¸¢à¸´à¸›à¸•์โà¸à¸£à¸²à¸“
- à¸à¸µà¸à¸²à¸ˆà¸¸à¸
- à¸à¸£à¸µà¸
- à¸à¸µà¸¥à¸²à¹„มต์
- à¸à¸±à¸‡à¸à¸¤à¸©
- à¸à¸±à¸‡à¸à¸¤à¸© - à¸à¸à¸ªà¹€à¸•รเลีย
- à¸à¸±à¸‡à¸à¸¤à¸© - à¹à¸„นาดา
- à¸à¸±à¸‡à¸à¸¤à¸© - สหราà¸à¸à¸²à¸“าจัà¸à¸£
- à¸à¸±à¸‡à¸à¸¤à¸© - à¸à¹€à¸¡à¸£à¸´à¸à¸±à¸™
- à¸à¸±à¸‡à¸à¸¤à¸©à¸à¸¥à¸²à¸‡
- เà¸à¸ªà¹€à¸›à¸à¸£à¸±à¸™à¹‚ต
- สเปน
- สเปน (ละตินà¸à¹€à¸¡à¸£à¸´à¸à¸²)
- สเปน (ไà¸à¸à¸µà¹€à¸£à¸µà¸¢)
- เà¸à¸ªà¹‚ตเนีย
- à¸à¸±à¸ªà¹€à¸
- à¸à¸µà¸§à¸±à¸™à¹‚ด
- เปà¸à¸£à¹Œà¹€à¸‹à¸µà¸¢
- ฟà¸à¸‡
- ฟันติ
- ฟูลาฮ์
- ฟินà¹à¸¥à¸™à¸”์
- ฟิลิปปินส์
- ภาษาฟินโน-à¸à¸¹à¸à¸£à¸´à¸
- ฟิจิ
- à¹à¸Ÿà¹‚ร
- ฟà¸à¸™
- à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª
- à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª (สวิส)
- à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ªà¸à¸¥à¸²à¸‡
- à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ªà¹‚à¸à¸£à¸²à¸“
- ฟริเซียนเหนืà¸
- ฟริเซียนตะวันà¸à¸à¸
- ฟรูลี
- ฟริเซียนตะวันตà¸
- ไà¸à¸£à¸´à¸
- à¸à¸²
- à¸à¸²à¹‚ย
- à¸à¸à¸²à¸¢à¸²
- สà¸à¸à¸•ส์à¸à¸²à¸¥à¸´à¸
- ภาษาเจà¸à¸£à¹Œà¹€à¸¡à¸™à¸´à¸
- à¸à¸µà¸‹
- à¸à¸´à¸¥à¹€à¸à¸à¸£à¹Œà¸•
- à¸à¸²à¸¥à¸´à¹€à¸‹à¸µà¸¢
- เยà¸à¸£à¸¡à¸±à¸™à¸ªà¸¹à¸‡à¸à¸¥à¸²à¸‡
- à¸à¸§à¸²à¸£à¸²à¸™à¸µ
- เยà¸à¸£à¸¡à¸±à¸™à¸ªà¸¹à¸‡à¹‚à¸à¸£à¸²à¸“
- à¸à¸à¸™à¸”ิ
- à¸à¸à¸£à¸à¸™à¸—าโล
- โà¸à¸˜à¸´à¸
- เà¸à¸£à¹‚à¸
- à¸à¸£à¸µà¸à¹‚à¸à¸£à¸²à¸“
- เยà¸à¸£à¸¡à¸±à¸™à¸ªà¸§à¸´à¸ª
- คุà¸à¸£à¸²à¸•
- มานซ์
- à¸à¸§à¸´à¸à¸à¸´à¸™
- เฮาà¸à¸²
- ไฮดา
- ฮาวาย
- ฮิà¸à¸£à¸¹
- ฮินดี
- ฮีลีà¸à¸±à¸¢à¸™à¸™
- หิมาจัล
- ฮิตไตต์
- ม้ง
- ฮีรีโมตู
- โครเà¸à¹€à¸à¸µà¸¢
- ซà¸à¸£à¹Œà¸à¸ªà¹Œà¸•à¸à¸™à¸à¸™
- เฮติ
- ฮังà¸à¸²à¸£à¸µ
- ฮูปา
- à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢
- เฮเรโร
- à¸à¸´à¸™à¹€à¸•à¸à¸£à¹Œà¸¥à¸´à¸‡à¸à¸±à¸§
- à¸à¸´à¸à¸²à¸™
- à¸à¸´à¸™à¹‚ดนีเà¸à¸µà¸¢
- à¸à¸´à¸™à¹€à¸•à¸à¸£à¹Œà¸¥à¸´à¸‡à¸à¸´à¸§
- à¸à¸´à¸à¹‚à¸
- เสฉวนยิ
- à¸à¸´à¹‚จ
- à¸à¸µà¸™à¸¹à¹€à¸›à¸µà¸¢à¸
- à¸à¸µà¹‚ลโà¸
- ภาษาà¸à¸´à¸™à¸”ิà¸
- ภาษาà¸à¸´à¸™à¹‚ด-ยุโรป
- à¸à¸´à¸™à¸à¸¸à¸
- à¸à¸µà¹‚ด
- ภาษาà¸à¸´à¸«à¸£à¹ˆà¸²à¸™
- ภาษาà¸à¸µà¹‚รà¸à¸±à¸§à¸ªà¹Œ
- ไà¸à¸‹à¹Œà¹à¸¥à¸™à¸”์
- à¸à¸´à¸•าลี
- à¸à¸´à¸™à¸¸à¸à¸•ิตุต
- à¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™
- โลà¸à¸à¸±à¸™
- ยิว-เปà¸à¸£à¹Œà¹€à¸‹à¸µà¸¢
- ยิว-à¸à¸²à¸«à¸£à¸±à¸
- à¸à¸§à¸²
- จà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
- à¸à¸²à¸£à¸²-à¸à¸²à¸¥à¸à¸²à¸
- à¸à¸²à¹„à¸à¸¥
- à¸à¸°à¸‰à¸´à¹ˆà¸™
- คจู
- คัมà¸à¸²
- à¸à¸°à¹€à¸«à¸£à¸µà¹ˆà¸¢à¸‡
- à¸à¸§à¸µ
- คาร์à¸à¸²à¹€à¸”ีย
- ทีà¹à¸¢à¸›
- โคโร
- คà¸à¸‡à¹‚à¸
- à¸à¸²à¸ªà¸µ
- ภาษาคà¸à¸¢à¸‹à¸²à¸™
- โคตัน
- à¸à¸µà¸à¸¹à¸¢à¸¹
- à¸à¸§à¸™à¸¢à¸²à¸¡à¸²
- คาซัค
- à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์
- เขมร
- คิมà¸à¸¸à¸™à¸”ู
- à¸à¸±à¸™à¸™à¸²à¸”า
- เà¸à¸²à¸«à¸¥à¸µ
- à¸à¸à¸™à¸à¸²à¸™à¸µ
- คูสไร
- à¸à¸²à¹à¸›à¸¥
- คานูรี
- คาราไà¸-à¸à¸±à¸¥à¸„าร์
- à¹à¸à¸£à¹€à¸¥à¸µà¸¢à¸™
- ครู
- à¸à¸¸à¸£à¸¸à¸‚
- à¸à¸±à¸¨à¸¡à¸µà¸£à¹Œ
- เคิร์ด
- คูมืยค์
- คูเทไน
- โà¸à¸¡à¸´
- คà¸à¸£à¹Œà¸™à¸´à¸
- คีร์à¸à¸µà¸‹
- ละติน
- ลาดิโน
- ลาฮ์นดา
- à¹à¸¥à¸¡à¸à¸²
- ลัà¸à¹€à¸‹à¸¡à¹€à¸à¸´à¸£à¹Œà¸
- เลซเà¸à¸µà¸¢à¸™
- ยูà¸à¸±à¸™à¸”า
- ลิมเà¸à¸´à¸£à¹Œà¸
- ลิงà¸à¸²à¸¥à¸²
- ลาว
- มà¸à¸‡à¹‚à¸
- โลซิ
- ลิทัวเนีย
- ลูà¸à¸²-à¸à¸²à¸•à¸à¸‡à¸à¸²
- ลูà¸à¸²-ลูลัว
- ลุยเซโน
- ลันดา
- ลัว
- ลูไà¸
- ลัตเวีย
- มาดูรา
- มคหี
- ไมถิลี
- มาà¸à¸²à¸‹à¸²à¸£à¹Œ
- มันดิงà¸à¸²
- à¸à¸à¸ªà¹‚ตรนีเซียน
- มาไซ
- มà¸à¸„à¸à¸²
- มานดาร์
- เมนเด
- มาลาà¸à¸²à¸‹à¸µ
- ไà¸à¸£à¸´à¸à¸à¸¥à¸²à¸‡
- มาร์à¹à¸à¸¥à¸¥à¸´à¸ª
- เมารี
- มิà¸à¹à¸¡à¸
- มีนังà¸à¸²à¹€à¸à¸²
- ภาษาà¸à¸·à¹ˆà¸™à¹†
- มาซิโดเนีย
- ภาษามà¸à¸-เขมร
- มาลายาลัม
- มà¸à¸‡à¹‚à¸à¹€à¸¥à¸µà¸¢
- à¹à¸¡à¸™à¸ˆà¸¹
- มณีปุระ
- ภาษามาโนโà¸
- มà¸à¸¥à¹‚ดวา
- โมฮà¸à¸§à¹Œà¸
- โมซี
- มราà¸à¸µ
- มาเลย์
- มà¸à¸¥à¸•า
- หลายภาษา
- ภาษามันดา
- ครีà¸
- มีรันดา
- มารวาฑี
- à¸à¸¡à¹ˆà¸²
- ภาษามายา
- เà¸à¸µà¸¢à¸£à¹Œà¸‹à¸¢à¸²
- นาà¸à¸¹à¸£à¸¹
- นาฮัว
- ภาษาà¸à¸´à¸™à¹€à¸”ียà¸à¹€à¸¡à¸£à¸´à¸à¸²à¹€à¸«à¸™à¸·à¸
- นาโปลี
- นà¸à¸£à¹Œà¹€à¸§à¸¢à¹Œà¸à¸¸à¸„มà¸à¸¥
- เà¸à¹‡à¸™à¹€à¸”เà¸à¹€à¸¥à¹€à¸«à¸™à¸·à¸
- เยà¸à¸£à¸¡à¸±à¸™à¸•่ำ - à¹à¸‹à¸à¸‹à¸à¸™à¸•่ำ
- เนปาล
- เนวาร์
- ดà¸à¸‡à¸à¸²
- นีà¸à¸±à¸ª
- ภาษาไนเจà¸à¸£à¹Œ-คà¸à¸£à¹Œà¹‚ดฟาเนียน
- นีà¸à¸¹
- ดัตà¸à¹Œ
- เฟลมิà¸
- นà¸à¸£à¹Œà¹€à¸§à¸¢à¹Œà¸™à¸µà¸™à¸à¸ªà¸à¹Œ
- นà¸à¸£à¹Œà¹€à¸§à¸¢à¹Œ
- โนไà¸
- นà¸à¸£à¹Œà¸ªà¹‚à¸à¸£à¸²à¸“
- เà¸à¹‡à¸™à¹‚à¸
- เà¸à¹‡à¸™à¹€à¸”เà¸à¹€à¸¥à¹ƒà¸•้
- โซโทเหนืà¸
- ภาษานูเà¸à¸µà¸¢à¸™
- นาวาโฮ
- เนวาร์ดั้งเดิม
- เนียนจา
- เนียมเวซี
- เนียนโà¸à¹€à¸¥
- นิโà¸à¹‚ร
- นซิมา
- à¸à¹‡à¸à¸à¸‹à¸´à¸•ัน
- โà¸à¸ˆà¸´à¸à¸§à¸²
- โà¸à¹‚รโม
- โà¸à¸£à¸´à¸¢à¸²
- à¸à¸à¸ªà¹€à¸‹à¹€à¸•ีย
- โà¸à¸‹à¸²à¸à¸µ
- ตุรà¸à¸µà¸à¸à¸•โตมัน
- ภาษาโà¸à¹‚ตมี
- ปัà¸à¸ˆà¸²à¸
- ภาษาปาปัว
- ปางาซีนัน
- ปะห์ลาวี
- ปัมปางา
- ปาเปียเมนโต
- ปาเลา
- เปà¸à¸£à¹Œà¹€à¸‹à¸µà¸¢à¹‚à¸à¸£à¸²à¸“
- ภาษาฟิลิปปิน
- ฟินิเà¸à¸µà¸¢
- à¸à¸²à¸¥à¸µ
- โปà¹à¸¥à¸™à¸”์
- à¸à¸à¸«à¹Œà¸™à¹€à¸
- ภาษาปราà¸à¸¤à¸•
- โปรวà¸à¸‡à¸‹à¸²à¸¥à¹‚à¸à¸£à¸²à¸“
- à¸à¸²à¸à¸•ู
- โปรตุเà¸à¸ª
- โปรตุเà¸à¸ª - à¸à¸£à¸²à¸‹à¸´à¸¥
- โปรตุเà¸à¸ª - ไà¸à¸à¸µà¹€à¸£à¸µà¸¢
- ควิà¸à¸±à¸§
- ราà¸à¸ªà¸–าน
- ราปานู
- ราโรทà¸à¸‡à¸à¸²
- เรโต-โรà¹à¸¡à¸™à¸‹à¹Œ
- à¸à¸¸à¸£à¸¸à¸™à¸”ี
- โรมาเนีย
- ภาษาโรมานซ์
- โรมานี
- รูท
- รัสเซีย
- à¸à¸²à¹‚รมาเนียน
- รวันดา
- สันสà¸à¸¤à¸•
- ซันดาเว
- ยาคุต
- ภาษาà¸à¹€à¸¡à¸£à¸´à¸à¸±à¸™à¸à¸´à¸™à¹€à¸”ียนใต้
- ภาษาà¸à¸²à¸¥à¸´à¸
- à¸à¸£à¸²à¹€à¸¡à¸à¸´à¸à¸‹à¸²à¸¡à¸²à¹€à¸£à¸µà¸¢
- ซาซัà¸
- สันตาลี
- ซาร์เดà¸à¸²
- ซิซิลี
- สà¸à¸à¸•ส์
- สินธุ
- ซามิเหนืà¸
- เซลคุป
- ภาษาเซมิติà¸
- à¹à¸‹à¸‡à¹‚à¸
- ไà¸à¸£à¸´à¸à¹‚à¸à¸£à¸²à¸“
- ภาษาสัà¸à¸à¸²à¸“
- เซà¸à¸£à¹Œà¹‚à¸-โครเà¸à¹€à¸à¸µà¸¢
- ไทใหà¸à¹ˆ
- สิงหล
- ซิดาโม
- ภาษาซิà¸à¸§à¸™
- ภาษาซิโน-ทิเà¸à¸•
- สโลวัà¸
- สโลวีเนีย
- ภาษาสลาวิà¸
- ซามัว
- ซามิใต้
- ภาษาซามิ
- ซามิลูเล
- ซามิà¸à¸µà¸™à¸²à¸£à¸µ
- ซามิสคà¸à¸¥à¸•์
- โà¸à¸™à¸²
- โซนีนเà¸
- โซมาลี
- ซà¸à¸à¸”ีน
- ซà¸à¸‡à¹„ฮ
- à¹à¸à¸¥à¹€à¸à¹€à¸™à¸µà¸¢
- เซà¸à¸£à¹Œà¹€à¸à¸µà¸¢
- ซูรินาเม
- เซà¹à¸£à¸£à¹Œ
- สวาติ
- ภาษานิโล-ซาฮารัน
- โซโทใต้
- ซุนดา
- ซูคูมา
- ซูซู
- ซูเมà¸
- สวีเดน
- สวาฮีลี
- ซีเรียà¹à¸à¸à¸”ั้งเดิม
- ซีเรีย
- ทมิฬ
- ภาษาไท
- เตลูà¸à¸¹
- ทิมเน
- เทเรโน
- เตตุม
- ทาจิà¸
- ไทย
- ติà¸à¸£à¸´à¸à¸à¸²
- ตีเà¸à¸£
- ทิฟ
- เติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน
- โตเà¸à¹€à¸¥à¸²
- ตาà¸à¸²à¸¥à¹‡à¸à¸
- คลิงà¸à¸à¸™
- ทลิงà¸à¸´à¸•
- ทามาเà¸à¸
- à¸à¸à¸•สวานา
- ตà¸à¸‡à¸à¸²
- ไนà¸à¸°à¸‹à¸²à¸•à¸à¸‡à¸à¸²
- ท็à¸à¸à¸à¸´à¸‹à¸´à¸™
- ตุรà¸à¸µ
- ซิิตซà¸à¸‡à¸à¸²
- ซิมà¸à¸µà¹à¸à¸™
- ตาตาร์
- ทุมà¸à¸¹à¸à¸²
- ภาษาตูปี
- ภาษาà¸à¸±à¸¥à¸•าà¸à¸´à¸
- ตูวาลู
- ทวิ
- ตาฮิตี
- ตูวา
- à¸à¸¸à¸”มูร์ต
- à¸à¸¸à¸¢à¸à¸±à¸§
- ยูà¸à¸²à¸£à¸´à¸•
- ยูเครน
- à¸à¸¸à¸¡à¸à¸¸à¸™à¸”ู
- ไม่มีข้à¸à¸¡à¸¹à¸¥
- à¸à¸¹à¸£à¸”ู
- à¸à¸¸à¸‹à¹€à¸à¸
- ไว
- เวนดา
- เวียดนาม
- โวลาà¸à¸¶à¸„
- โวทิà¸
- วาโลนี
- ภาษาวาà¸à¸²à¸à¸²à¸™
- วาลาโม
- วาเรย์
- วาโà¸
- ภาษาซà¸à¸£à¹Œà¸à¸ªà¹Œ
- โวลà¸à¸Ÿ
- คัลมืยค์
- คะห์โà¸à¸‹à¸²
- เย้า
- ยัป
- ยิว
- โยรูà¸à¸²
- ภาษาà¸à¸¹à¸¢à¹Œà¸›à¸´à¸„
- จ้วง
- ซาโปเตà¸
- à¸à¸¥à¸´à¸ªà¸‹à¸´à¸¡à¹‚à¸à¸¥à¸ªà¹Œ
- เซนาà¸à¸²
- จีน
- จีนประยุà¸à¸•์
- จีนดั้งเดิม
- ซันเด
- ซูลู
- ซูนิ
- ไม่มีข้à¸à¸¡à¸¹à¸¥à¸ าษา
- ซาซา
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- โลà¸
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²
- à¸à¹€à¸¡à¸£à¸´à¸à¸²à¹€à¸«à¸™à¸·à¸
- à¸à¹€à¸¡à¸£à¸´à¸à¸²à¹ƒà¸•้
- โà¸à¹€à¸à¸µà¸¢à¹€à¸™à¸µà¸¢
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸•ะวันตà¸
- à¸à¹€à¸¡à¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸•ะวันà¸à¸à¸
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¹€à¸«à¸™à¸·à¸
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•้ [018]
- à¸à¹€à¸¡à¸£à¸´à¸à¸²
- à¸à¹€à¸¡à¸£à¸´à¸à¸²à¸•à¸à¸™à¹€à¸«à¸™à¸·à¸
- à¹à¸„ริà¸à¹€à¸à¸µà¸¢à¸™
- เà¸à¹€à¸à¸µà¸¢à¸•ะวันà¸à¸à¸
- เà¸à¹€à¸à¸µà¸¢à¹ƒà¸•้
- เà¸à¹€à¸à¸µà¸¢à¸•ะวันà¸à¸à¸à¹€à¸‰à¸µà¸¢à¸‡à¹ƒà¸•้
- ยุโรปใต้
- à¸à¸à¸ªà¹€à¸•รเลียà¹à¸¥à¸°à¸™à¸´à¸§à¸‹à¸µà¹à¸¥à¸™à¸”์
- เมลานีเซีย
- เขตไมโครนีเซีย
- โปลินีเซีย
- เà¸à¹€à¸à¸µà¸¢à¸à¸¥à¸²à¸‡à¸•à¸à¸™à¹ƒà¸•้
- เà¸à¹€à¸à¸µà¸¢
- เà¸à¹€à¸à¸µà¸¢à¸à¸¥à¸²à¸‡
- เà¸à¹€à¸à¸µà¸¢à¸•ะวันตà¸
- ยุโรป
- ยุโรปตะวันà¸à¸à¸
- ยุโรปเหนืà¸
- ยุโรปตะวันตà¸
- เครืà¸à¸£à¸±à¸à¸à¸´à¸ªà¸£à¸°
- ละตินà¸à¹€à¸¡à¸£à¸´à¸à¸²à¹à¸¥à¸°à¹à¸„ริà¸à¹€à¸à¸µà¸¢à¸™
- หมู่เà¸à¸²à¸°à¹à¸à¸™à¹€à¸™à¸¥
- à¸à¸±à¸™à¸”à¸à¸£à¹Œà¸£à¸²
- สหรัà¸à¸à¸²à¸«à¸£à¸±à¸à¹€à¸à¸¡à¸´à¹€à¸£à¸•ส์
- à¸à¸±à¸Ÿà¸à¸²à¸™à¸´à¸ªà¸–าน
- à¹à¸à¸™à¸•ิà¸à¸²à¹à¸¥à¸°à¸à¸²à¸£à¹Œà¸à¸¹à¸”า
- à¹à¸à¸‡à¸à¸§à¸´à¸¥à¸¥à¸²
- à¹à¸à¸¥à¹€à¸à¹€à¸™à¸µà¸¢
- à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢
- เนเธà¸à¸£à¹Œà¹à¸¥à¸™à¸”์à¹à¸à¸™à¸—ิลลิส
- à¹à¸à¸‡à¹‚à¸à¸¥à¸²
- à¹à¸à¸™à¸•าร์à¸à¸•ิà¸à¸²
- à¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินา
- à¸à¹€à¸¡à¸£à¸´à¸à¸±à¸™à¸‹à¸²à¸¡à¸±à¸§
- à¸à¸à¸ªà¹€à¸•รีย
- à¸à¸à¸ªà¹€à¸•รเลีย
- à¸à¸²à¸£à¸¹à¸à¸²
- หมู่เà¸à¸²à¸°à¹‚à¸à¸¥à¸±à¸™à¸”์
- à¸à¸²à¹€à¸‹à¸à¸£à¹Œà¹„à¸à¸ˆà¸²à¸™
- à¸à¸à¸ªà¹€à¸™à¸µà¸¢à¹à¸¥à¸°à¹€à¸®à¸à¸£à¹Œà¹€à¸‹à¹‚à¸à¸§à¸µà¸™à¸²
- à¸à¸²à¸£à¹Œà¹€à¸à¹‚ดส
- à¸à¸±à¸‡à¸à¸¥à¸²à¹€à¸—ศ
- เà¸à¸¥à¹€à¸¢à¸µà¸¢à¸¡
- à¸à¸¹à¸£à¹Œà¸à¸´à¸™à¸²à¸Ÿà¸²à¹‚ซ
- à¸à¸±à¸¥à¹à¸à¹€à¸£à¸µà¸¢
- à¸à¸²à¸«à¹Œà¹€à¸£à¸™
- à¸à¸¸à¸£à¸¸à¸™à¸”ี
- เà¸à¸™à¸´à¸™
- เซนต์à¸à¸²à¸£à¹Œà¹€à¸˜à¹€à¸¥à¸¡à¸µ
- เà¸à¸à¸£à¹Œà¸¡à¸´à¸§à¸”า
- à¸à¸£à¸¹à¹„น
- โà¸à¸¥à¸´à¹€à¸§à¸µà¸¢
- à¸à¸£à¸²à¸‹à¸´à¸¥
- à¸à¸²à¸®à¸²à¸¡à¸²à¸ª
- ภูà¸à¸²à¸™
- เà¸à¸²à¸°à¸à¸¹à¹€à¸§à¸•
- à¸à¸à¸•สวานา
- เà¸à¸¥à¸²à¸£à¸¸à¸ª
- เà¸à¸¥à¸µà¸‹
- à¹à¸„นาดา
- หมู่เà¸à¸²à¸°à¹‚คโคส
- คà¸à¸‡à¹‚à¸-à¸à¸´à¸™à¸à¸²à¸‹à¸²
- สาธารณรัà¸à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡
- คà¸à¸‡à¹‚à¸-à¸à¸£à¸²à¸‹à¸‹à¸²à¸§à¸´à¸¥
- สวิตเซà¸à¸£à¹Œà¹à¸¥à¸™à¸”์
- ไà¸à¸§à¸à¸£à¸µà¹ˆà¹‚คสต์
- หมู่เà¸à¸²à¸°à¸„ุà¸
- à¸à¸´à¸¥à¸µ
- à¹à¸„เมà¸à¸£à¸¹à¸™
- จีน
- โคลà¸à¸¡à¹€à¸à¸µà¸¢
- คà¸à¸ªà¸•าริà¸à¸²
- เซà¸à¸£à¹Œà¹€à¸à¸µà¸¢à¹à¸¥à¸°à¸¡à¸à¸™à¹€à¸•เนโà¸à¸£
- คิวà¸à¸²
- เคปเวิร์ด
- เà¸à¸²à¸°à¸„ริสต์มาส
- ไซปรัส
- สาธารณรัà¸à¹€à¸à¹‡à¸
- เยà¸à¸£à¸¡à¸™à¸µ
- จิà¸à¸¹à¸•ี
- เดนมาร์à¸
- โดมินิà¸à¸²
- สาธารณรัà¸à¹‚ดมินิà¸à¸±à¸™
- à¹à¸à¸¥à¸ˆà¸µà¹€à¸£à¸µà¸¢
- เà¸à¸à¸§à¸²à¸”à¸à¸£à¹Œ
- เà¸à¸ªà¹‚ตเนีย
- à¸à¸µà¸¢à¸´à¸›à¸•์
- ซาฮาราตะวันตà¸
- เà¸à¸£à¸´à¹€à¸—รีย
- สเปน
- เà¸à¸˜à¸´à¹‚à¸à¹€à¸›à¸µà¸¢
- ฟินà¹à¸¥à¸™à¸”์
- ฟิจิ
- หมู่เà¸à¸²à¸°à¸Ÿà¸à¸¥à¹Œà¸à¹à¸¥à¸™à¸”์
- ไมโครนีเซีย
- หมู่เà¸à¸²à¸°à¹à¸Ÿà¹‚ร
- à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª
- à¸à¸²à¸à¸à¸‡
- สหราà¸à¸à¸²à¸“าจัà¸à¸£
- เà¸à¸£à¹€à¸™à¸”า
- จà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
- เฟรนà¸à¹Œà¹€à¸à¸µà¸¢à¸™à¸²
- เà¸à¸´à¸£à¹Œà¸™à¸‹à¸µà¸¢à¹Œ
- à¸à¸²à¸™à¸²
- ยิà¸à¸£à¸à¸¥à¸•าร์
- à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์
- à¹à¸à¸¡à¹€à¸à¸µà¸¢
- à¸à¸´à¸™à¸µ
- à¸à¸§à¸²à¹€à¸”à¸à¸¥à¸¹à¸›
- à¸à¸´à¹€à¸„วทà¸à¹€à¸£à¸µà¸¢à¸¥à¸à¸´à¸™à¸µ
- à¸à¸£à¸µà¸‹
- เà¸à¸²à¸°à¹€à¸‹à¸²à¸—์จà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢à¹à¸¥à¸°à¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹€à¸‹à¸²à¸—์à¹à¸‹à¸™à¸”์วิà¸
- à¸à¸±à¸§à¹€à¸•มาลา
- à¸à¸§à¸¡
- à¸à¸´à¸™à¸µ-à¸à¸´à¸ªà¹€à¸‹à¸²
- à¸à¸²à¸¢à¸à¸²à¸™à¸²
- ฮ่à¸à¸‡à¸à¸‡ เขตปà¸à¸„รà¸à¸‡à¸à¸´à¹€à¸¨à¸©à¸›à¸£à¸°à¹€à¸—ศจีน
- เà¸à¸²à¸°à¹€à¸®à¸´à¸£à¹Œà¸”à¹à¸¥à¸°à¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹à¸¡à¸à¸”à¸à¸™à¸±à¸¥à¸”์
- ฮà¸à¸™à¸”ูรัส
- โครเà¸à¹€à¸à¸µà¸¢
- เฮติ
- ฮังà¸à¸²à¸£à¸µ
- à¸à¸´à¸™à¹‚ดนีเซีย
- ไà¸à¸£à¹Œà¹à¸¥à¸™à¸”์
- à¸à¸´à¸ªà¸£à¸²à¹€à¸à¸¥
- เà¸à¸²à¸°à¹à¸¡à¸™
- à¸à¸´à¸™à¹€à¸”ีย
- à¸à¸£à¸´à¸•ิà¸à¸à¸´à¸™à¹€à¸”ียนโà¸à¹€à¸à¸µà¸¢à¸™à¹€à¸—ร์ริทà¸à¸£à¸µ
- à¸à¸´à¸£à¸±à¸
- à¸à¸´à¸«à¸£à¹ˆà¸²à¸™
- ไà¸à¸‹à¹Œà¹à¸¥à¸™à¸”์
- à¸à¸´à¸•าลี
- เจà¸à¸£à¹Œà¸‹à¸µà¸¢à¹Œ
- จาเมà¸à¸²
- จà¸à¸£à¹Œà¹à¸”น
- à¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™
- เคนยา
- คีร์à¸à¸µà¸‹à¸ªà¸–าน
- à¸à¸±à¸¡à¸à¸¹à¸à¸²
- คิริà¸à¸²à¸ª
- คà¸à¹‚มโรส
- เซนต์คิตส์à¹à¸¥à¸°à¹€à¸™à¸§à¸´à¸ª
- เà¸à¸²à¸«à¸¥à¸µà¹€à¸«à¸™à¸·à¸
- เà¸à¸²à¸«à¸¥à¸µà¹ƒà¸•้
- คูเวต
- หมู่เà¸à¸²à¸°à¹€à¸„ย์à¹à¸¡à¸™
- คาซัคสถาน
- ลาว
- เลà¸à¸²à¸™à¸à¸™
- เซนต์ลูเซีย
- ลิà¸à¹€à¸•นสไตน์
- ศรีลังà¸à¸²
- ไลà¸à¸µà¹€à¸£à¸µà¸¢
- เลโซโท
- ลิทัวเนีย
- ลัà¸à¹€à¸‹à¸¡à¹€à¸à¸´à¸£à¹Œà¸
- ลัตเวีย
- ลิเà¸à¸µà¸¢
- โมร็à¸à¸à¹‚à¸
- โมนาโà¸
- มà¸à¸¥à¹‚ดวา
- มà¸à¸™à¹€à¸•เนโà¸à¸£
- เซนต์มาติน
- มาดาà¸à¸±à¸ªà¸à¸²à¸£à¹Œ
- หมู่เà¸à¸²à¸°à¸¡à¸²à¸£à¹Œà¹à¸à¸¥à¸¥à¹Œ
- มาซิโดเนีย
- มาลี
- à¸à¸¡à¹ˆà¸²
- มà¸à¸‡à¹‚à¸à¹€à¸¥à¸µà¸¢
- มาเà¸à¹à¸² เขตปà¸à¸„รà¸à¸‡à¸à¸´à¹€à¸¨à¸©à¸›à¸£à¸°à¹€à¸—ศจีน
- หมู่เà¸à¸²à¸°à¸™à¸à¸£à¹Œà¹€à¸—ิร์นมาเรียนา
- มาร์ตินีà¸
- มà¸à¸£à¸´à¹€à¸•เนีย
- มà¸à¸™à¸•์เซà¸à¸£à¹Œà¸£à¸±à¸•
- มà¸à¸¥à¸•า
- มà¸à¸£à¸´à¹€à¸à¸µà¸¢à¸ª
- มัลดีฟส์
- มาลาวี
- เม็à¸à¸‹à¸´à¹‚à¸
- มาเลเซีย
- โมซัมà¸à¸´à¸
- นามิเà¸à¸µà¸¢
- นิวà¹à¸„ลิโดเนีย
- ไนเจà¸à¸£à¹Œ
- เà¸à¸²à¸°à¸™à¸à¸£à¹Œà¸Ÿà¸à¸¥à¹Œà¸
- ไนจีเรีย
- นิà¸à¸²à¸£à¸²à¸à¸±à¸§
- เนเธà¸à¸£à¹Œà¹à¸¥à¸™à¸”์
- นà¸à¸£à¹Œà¹€à¸§à¸¢à¹Œ
- เนปาล
- นาà¸à¸¹à¸£à¸¹
- นีà¸à¸¹à¹€à¸
- นิวซีà¹à¸¥à¸™à¸”์
- โà¸à¸¡à¸²à¸™
- ปานามา
- เปรู
- เฟรนà¸à¹Œà¹‚ปลินีเซีย
- ปาปัวนิวà¸à¸´à¸™à¸µ
- ฟิลิปปินส์
- ปาà¸à¸µà¸ªà¸–าน
- โปà¹à¸¥à¸™à¸”์
- à¹à¸‹à¸‡à¸›à¸µà¹à¸¢à¸£à¹Œà¹à¸¥à¸°à¸¡à¸µà¹€à¸à¸à¸¥à¸‡
- à¸à¸´à¸•à¹à¸„ร์น
- เปà¸à¸£à¹Œà¹‚ตริโà¸
- ปาเลสไตน์
- โปรตุเà¸à¸ª
- ปาเลา
- ปาราà¸à¸§à¸±à¸¢
- à¸à¸²à¸•าร์
- เà¸à¸²à¸•์ไลà¸à¸´à¸‡à¹‚à¸à¹€à¸à¸µà¸¢à¹€à¸™à¸µà¸¢
- สหภาà¸à¸¢à¸¸à¹‚รป
- เรà¸à¸¹à¸™à¸µà¸¢à¸‡
- โรมาเนีย
- เซà¸à¸£à¹Œà¹€à¸à¸µà¸¢
- รัสเซีย
- รวันดา
- ซาà¸à¸¸à¸”ีà¸à¸²à¸£à¸°à¹€à¸à¸µà¸¢
- หมู่เà¸à¸²à¸°à¹‚ซโลมà¸à¸™
- เซเà¸à¸¥à¸ªà¹Œ
- ซูดาน
- สวีเดน
- สิงคโปร์
- เซนต์เฮเลนา
- สโลวีเนีย
- สฟาลà¸à¸²à¸£à¹Œà¹à¸¥à¸°à¸¢à¸²à¸™à¹„มเà¸à¸™
- สโลวะเà¸à¸µà¸¢
- เซียร์ราลีโà¸à¸™
- ซานมารีโน
- เซเนà¸à¸±à¸¥
- โซมาเลีย
- ซูรินาเม
- เซาตูเมà¹à¸¥à¸°à¸›à¸£à¸´à¸™à¸‹à¸´à¸›à¸µ
- เà¸à¸¥à¸‹à¸±à¸¥à¸§à¸²à¸”à¸à¸£à¹Œ
- ซีเรีย
- สวาซิà¹à¸¥à¸™à¸”์
- หมู่เà¸à¸²à¸°à¹€à¸•ิà¸à¸ªà¹Œà¹à¸¥à¸°à¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹€à¸„คà¸à¸ª
- à¸à¸²à¸”
- เฟรนà¸à¹Œà¹€à¸‹à¸²à¹€à¸—ิร์นเทร์ริทà¸à¸£à¸µà¸ªà¹Œ
- โตโà¸
- ไทย
- ทาจิà¸à¸´à¸ªà¸–าน
- โตเà¸à¹€à¸¥à¸²
- ติมà¸à¸£à¹Œà¸•ะวันà¸à¸à¸
- เติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน
- ตูนิเซีย
- ตà¸à¸‡à¸à¸²
- ตุรà¸à¸µ
- ตรินิà¹à¸”ดà¹à¸¥à¸°à¹‚ตเà¸à¹‚à¸
- ตูวาลู
- ไต้หวัน
- à¹à¸—นซาเนีย
- ยูเครน
- ยูà¸à¸±à¸™à¸”า
- หมู่เà¸à¸²à¸°à¸ªà¸«à¸£à¸±à¸à¹„มเนà¸à¸£à¹Œà¹€à¸à¸²à¸•์ไลà¸à¸´à¸‡
- สหรัà¸à¸à¹€à¸¡à¸£à¸´à¸à¸²
- à¸à¸¸à¸£à¸¸à¸à¸§à¸±à¸¢
- à¸à¸¸à¸‹à¹€à¸à¸à¸´à¸ªà¸–าน
- วาติà¸à¸±à¸™
- เซนต์วินเซนต์à¹à¸¥à¸°à¹€à¸à¸£à¸™à¸²à¸”ีนส์
- เวเนซุเà¸à¸¥à¸²
- หมู่เà¸à¸²à¸°à¸à¸£à¸´à¸•ิà¸à¹€à¸§à¸à¸£à¹Œà¸ˆà¸´à¸™
- หมู่เà¸à¸²à¸°à¸¢à¸¹à¹€à¸à¸ªà¹€à¸§à¸à¸£à¹Œà¸ˆà¸´à¸™
- เวียดนาม
- วานูà¸à¸²à¸•ู
- วาลลิสà¹à¸¥à¸°à¸Ÿà¸¸à¸•ูนา
- ซามัว
- เยเมน
- มายà¸à¸•
- à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•้
- à¹à¸‹à¸¡à¹€à¸à¸µà¸¢
- ซิมà¸à¸±à¸à¹€à¸§
- ไม่ทราà¸
-
-
- เยà¸à¸£à¸¡à¸±à¸™à¸à¸à¸£à¹Œà¹‚ธà¸à¸£à¸²à¸Ÿà¸µà¸”ั้งเดิม
- เยà¸à¸£à¸¡à¸±à¸™à¸à¸à¸£à¹Œà¹‚ธà¸à¸£à¸²à¸Ÿà¸µà¸›à¸µ 1996
- à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢à¸•ะวันà¸à¸à¸
- à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢à¸•ะวันตà¸
- สัทà¸à¸±à¸à¸©à¸£à¸ªà¸²à¸à¸¥
- ภาษาà¸à¸·à¹‰à¸™à¹€à¸¡à¸·à¸à¸‡à¸™à¸²à¸—ิโซเน
- โà¸à¸¥à¸µà¹‚ทนิà¸
- คà¸à¸¡à¸à¸´à¸§à¹€à¸•à¸à¸£à¹Œ
- à¸à¸à¸£à¹Œà¹‚ธà¸à¸£à¸²à¸Ÿà¸´à¸›à¸£à¸±à¸à¸›à¸£à¸¸à¸‡
- เรเซียน
- ซาโฮ
-
-
- ปà¸à¸´à¸—ิน
- à¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸‡à¸¥à¸³à¸”ัà¸
- เงินตรา
-
-
- เรียงตามà¸à¸±à¸à¸©à¸£à¸ˆà¸µà¸™à¸”ั้งเดิม
- ปà¸à¸´à¸—ินà¸à¸¸à¸—ธ
- ปà¸à¸´à¸—ินจีน
- เรียงตามลำดัà¸à¹‚ดยตรง
- เรียงตามà¸à¸±à¸à¸©à¸£à¸ˆà¸µà¸™à¸›à¸£à¸°à¸¢à¸¸à¸à¸•์
- ปà¸à¸´à¸—ินเà¸à¸£à¸à¸à¹€à¸£à¸µà¸¢à¸™
- ปà¸à¸´à¸—ินฮิà¸à¸£à¸¹
- ปà¸à¸´à¸—ินà¹à¸«à¹ˆà¸‡à¸à¸²à¸•ิà¸à¸´à¸™à¹€à¸”ีย
- ปà¸à¸´à¸—ินà¸à¸´à¸ªà¸¥à¸²à¸¡
- ปà¸à¸´à¸—ินà¸à¸´à¸ªà¸¥à¸²à¸¡à¸‹à¸µà¸§à¸´à¸¥
- ปà¸à¸´à¸—ินà¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™
- เรียงตามสมุดโทรศัà¸à¸—์
- เรียงตามà¸à¸²à¸£à¸–à¸à¸”เสียงภาษาจีน
- ปà¸à¸´à¸—ินไต้หวัน
- เรียงตามà¸à¸²à¸£à¸¥à¸²à¸à¹€à¸ªà¹‰à¸™
- เรียงตามà¹à¸à¸à¸”ั้งเดิม
-
-
- เมตริà¸
- à¸à¹€à¸¡à¸£à¸´à¸à¸±à¸™
-
-
- {0}
- {0}
- {0}
-
-
-
- [ฯ ๆ \u0E4E \u0E47-\u0E4D à¸-ฮ ะ-\u0E3A เ-ๅ]
- [\u200B a e g m n p q t]
- [a-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
- à¸à¸¸à¸—ธศัà¸à¸£à¸²à¸
-
-
- à¸.ศ.
-
-
-
-
-
- EEEEที่ d MMMM G y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- d/M/yyyy
-
-
-
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
- EEEท d
- d/M
- Eท d/M
- d MMM
- Eท d MMM
- EEEท d MMM
- d MMMM
- E d MMMM
- EEE d/M/y
- MMM yyyy
- EEE d MMM y
- MMMM y
- M/yyyy
- MMM y
-
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
-
-
-
- ม.ค.
- à¸.à¸.
- มี.ค.
- เม.ย.
- à¸.ค.
- มิ.ย.
- à¸.ค.
- ส.ค.
- à¸.ย.
- ต.ค.
- à¸.ย.
- ธ.ค.
-
-
- มà¸à¸£à¸²à¸„ม
- à¸à¸¸à¸¡à¸ าà¸à¸±à¸™à¸˜à¹Œ
- มีนาคม
- เมษายน
- à¸à¸¤à¸©à¸ าคม
- มิถุนายน
- à¸à¸£à¸à¸à¸²à¸„ม
- สิงหาคม
- à¸à¸±à¸™à¸¢à¸²à¸¢à¸™
- ตุลาคม
- à¸à¸¤à¸¨à¸ˆà¸´à¸à¸²à¸¢à¸™
- ธันวาคม
-
-
-
-
- ม.ค.
- à¸.à¸.
- มี.ค.
- เม.ย.
- à¸.ค.
- มิ.ย.
- à¸.ค.
- ส.ค.
- à¸.ย.
- ต.ค.
- à¸.ย.
- ธ.ค.
-
-
-
-
-
-
- à¸à¸².
- จ.
- à¸.
- à¸.
- à¸à¸¤.
- ศ.
- ส.
-
-
- วันà¸à¸²à¸—ิตย์
- วันจันทร์
- วันà¸à¸±à¸‡à¸„าร
- วันà¸à¸¸à¸˜
- วันà¸à¸¤à¸«à¸±à¸ªà¸à¸”ี
- วันศุà¸à¸£à¹Œ
- วันเสาร์
-
-
-
-
- à¸
- จ
- à¸
- à¸
- à¸
- ศ
- ส
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- ไตรมาส 1
- ไตรมาส 2
- ไตรมาส 3
- ไตรมาส 4
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
- ปีà¸à¹ˆà¸à¸™à¸„ริสต์ศัà¸à¸£à¸²à¸
- คริสต์ศัà¸à¸£à¸²à¸
-
-
- ปีà¸à¹ˆà¸à¸™ ค.ศ.
- ค.ศ.
-
-
- à¸à¹ˆà¸à¸™ ค.ศ.
-
-
-
-
-
- EEEEที่ d MMMM G y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- d/M/yyyy
-
-
-
-
-
-
- H นาฬิà¸à¸² m นาที ss วินาที zzzz
-
-
-
-
- H นาฬิà¸à¸² m นาที ss วินาที z
-
-
-
-
- H:mm:ss
-
-
-
-
- H:mm
-
-
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
-
- {1}, {0}
-
-
-
- d
- EEE d
- HH:mm
- HH:mm:ss
- H:mm
- L
- d/M
- E, d/M
- LLL
- d MMM
- E d MMM
- d MMMM
- E d MMMM
- mm:ss
- mm:ss
- y
- M/yyyy
- EEE d/M/yyyy
- MMM y
- EEE d MMM y
- MMMM y
- Q yyyy
- QQQ y
- Q yy
- M/yyyy
- MMMM y
-
-
- {0} - {1}
-
- d-d
-
-
- H-H
- H-H
-
-
- H:mm-H:mm
- H:mm-H:mm
- H:mm-H:mm
-
-
- H:mm-H:mm v
- H:mm-H:mm v
- H:mm-H:mm v
-
-
- H-H v
- H-H v
-
-
- M-M
-
-
- d/M - d/M
- d/M - d/M
-
-
- E d – E d/M
- E d – E d/M
-
-
- LLL-LLL
-
-
- d – d MMM
- d MMM – d MMM
-
-
- E d – E d MMM
- E d MMM – E d MMM
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- M/yy – M/yy
- M/yy – M/yy
-
-
- d-d/M/yy
- d/M/yy – d/M/yy
- d/M/yy – d/M/yy
-
-
- E d – E d/M/yy
- E d/M/yy – E d/M/yy
- E d/M/yy – E d/M/yy
-
-
- MMM-MMM y
- MMM y - MMM y
-
-
- d–d MMM y
- d MMM – d MMM y
- d MMM y – d MMM y
-
-
- E d – E d MMM y
- E d MMM – E d MMM y
- E d MMM y – E d MMM y
-
-
- M–M/yyyy
- M/yyyy – M/yyyy
-
-
-
-
-
- สมัย
-
-
- ปี
-
-
- เดืà¸à¸™
-
-
- สัปดาห์
-
-
- วัน
- สามวันà¸à¹ˆà¸à¸™
- เมื่à¸à¸§à¸²à¸™à¸‹à¸·à¸™
- เมื่à¸à¸§à¸²à¸™
- วันนี้
- à¸à¸£à¸¸à¹ˆà¸‡à¸™à¸µà¹‰
- มะรืนนี้
- สามวันต่à¸à¸ˆà¸²à¸à¸™à¸µà¹‰
-
-
- วันในสัปดาห์
-
-
- à¸à¹ˆà¸§à¸‡à¸§à¸±à¸™
-
-
- à¸à¸±à¹ˆà¸§à¹‚มง
-
-
- นาที
-
-
- วินาที
-
-
- เขต
-
-
-
-
-
-
-
- เฮวาน
- à¸à¸µà¸ªà¹€à¸¥à¸Ÿ
- เตเวต
- เà¸à¸§à¸±à¸•
- à¸à¸²à¸”าร์ I
- à¸à¸²à¸”าร์
- นิสซาน
- à¸à¸´à¸¢à¸²à¸£à¹Œ
- สีวัน
- ตามูซ
- à¸à¸±à¸Ÿ
- เà¸à¸¥à¸à¸¸à¸¥
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
- ย.ศ.
-
-
-
-
-
-
-
- มุฮะร์รà¸à¸¡
- ซà¸à¸Ÿà¸²à¸£à¹Œ
- รà¸à¸à¸µ I
- รà¸à¸à¸µ II
- จุมาดา I
- จุมาดา II
- รà¸à¸ˆà¸±à¸
- à¸à¸°à¸à¸°à¸à¸²à¸™
- รà¸à¸¡à¸°à¸”à¸à¸™
- เà¸à¸²à¸§à¸±à¸¥
- ดฮุุà¸à¸±à¸¥à¸à¸´à¸”ะห์
- ดฮุà¸à¸±à¸¥à¸®à¸´à¸ˆà¸ˆà¸°à¸«à¹Œ
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
- ฮิจเราะห์ศัà¸à¸£à¸²à¸
-
-
- ฮ.ศ.
-
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
- ทะà¸à¸´à¸à¸°
- ฮะà¸à¸¸à¸à¸´
- ฮาà¸à¸¸à¹‚ฮ
- à¸à¸¸à¹‚à¸
- ทะà¸à¸´à¹‚ฮ
- เคà¸à¸¸à¸‡
- วะโด
- เรà¸à¸´
- โยโร
- จิงà¸à¸´
- เท็มเà¸à¸µà¸¢à¸§
- เท็มเà¸à¸µà¸¢à¸§-คัมโป
- เท็มเà¸à¸µà¸¢à¸§-โà¸à¹‚ฮ
- เท็มเà¸à¸µà¸¢à¸§-โฮจิ
- เท็มเà¸à¸µà¸¢à¸§-จิงโงะ
- จิงโงะ-เคà¸à¸¸à¸‡
- โฮà¸à¸´
- เท็นโà¸
- เà¸à¹‡à¸™à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- ดะà¸à¸´à¹‚ด
- โคนิง
- เท็นโà¸
- โà¸à¸§à¸°
- คะโจ
- นินจุ
- ซะà¸à¸´à¹‚à¸à¸°
- เท็นนัง
- โจงัง
- เà¸à¹‡à¸‡à¹€à¸
- นินนะ
- คัมเà¸à¸µà¸¢à¸§
- โà¸à¸•ะà¸à¸´
- เà¸à¹‡à¸‡à¸‡à¸´
- เà¸à¹‡à¸™à¹‚à¸
- โà¸à¹€à¸®
- เท็งเงียว
- เท็นเรียะà¸à¸¸
- เท็นโตะà¸à¸¸
- โà¸à¸§à¸°
- โคโฮ
- à¸à¸±à¸™à¸™à¸°
- เท็นโระà¸à¸¸
- เท็นเà¸à¹‡à¸‡
- โจเง็ง
- เท็งเง็ง
- เà¸à¸à¸±à¸‡
- คันนะ
- เà¸à¹€à¸à¹‡à¸‡
- เà¸à¹‚ซ
- โà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- โà¸à¹‚ตะà¸à¸¸
- โà¸à¹‚ฮ
- คันโà¸
- โà¸à¸§à¸°
- คันนิง
- จิà¸à¸±à¸‡
- มันจุ
- โà¸à¹€à¸‡à¹‡à¸‡
- โà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- โà¸à¸„ีว
- คันโตะà¸à¸¸
- เà¸à¹‚à¸
- เท็งงิ
- โคเฮ
- จิเรียะà¸à¸¸
- เà¸à¹‡à¸‡à¸„ีว
- โà¸à¹‚ฮ
- โà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- เà¸à¹‚ฮะ
- โà¸à¹‚ตะà¸à¸¸
- คันจิ
- คะโฮะ
- เà¸à¹‚à¸
- โà¸à¹‚ตะà¸à¸¸
- โควะ
- โà¸à¸ˆà¸´
- คะโà¸
- เท็นนิง
- เท็นเà¸
- เà¸à¸à¸µà¸§
- เà¸à¹‡à¸™à¹€à¸
- โฮะà¸à¸±à¸‡
- เท็นจิ
- ดะà¸à¸´à¸ˆà¸´
- เท็นโà¸
- โà¸à¹‚à¸
- โฮะเà¸à¹‡à¸‡
- เà¸à¸ˆà¸´
- โคจิ
- เท็นโย
- คีวà¸à¸±à¸‡
- นิมเป
- คีวจุ
- โฮะเง็ง
- เฮจิ
- เà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- โà¸à¹‚ฮ
- โà¸à¸à¸±à¸‡
- เà¸à¸¡à¸±à¸‡
- นินà¸à¸±à¸‡
- คะโà¸
- โà¸à¸à¸±à¸‡
- à¸à¸±à¸‡à¹€à¸‡à¹‡à¸‡
- จิโà¸
- โยวะ
- จุเà¸
- เà¸à¹‡à¸™à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- à¸à¸¸à¸™à¸ˆà¸´
- เค็งà¸à¸µà¸§
- โà¸à¸ˆà¸´
- เค็นนิง
- เà¸à¹‡à¸‡à¸à¸µà¸§
- เค็นเà¸
- โà¸à¹€à¸à¹‡à¸‡
- เค็นเรียะà¸à¸¸
- เค็มโป
- โà¸à¸à¸µà¸§
- โจโà¸
- เà¸à¹‡à¸™à¸™à¸´à¸‡
- คะโระà¸à¸¸
- à¸à¸±à¸™à¹€à¸•
- คังà¸à¸´
- โจเà¸
- เท็มปุà¸à¸¸
- à¸à¸¸à¸™à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- คะเต
- เรียะà¸à¸¸à¸™à¸´à¸‡
- เà¸à¹‡à¸™à¹‚à¸
- นินจิ
- คังเง็ง
- โฮจิ
- เค็นโà¸
- โคเง็ง
- โà¸à¸à¸°
- โà¸à¹€à¸‡à¹‡à¸‡
- à¸à¸¸à¸™à¹‚à¸
- โคโà¸
- à¸à¸¸à¸™à¹€à¸
- เค็นจิ
- โคà¸à¸±à¸‡
- โà¸à¹‚à¸
- เà¸à¸™à¸´à¸‡
- โà¸à¸à¸±à¸‡
- เค็งเง็ง
- คะเง็ง
- โทะà¸à¸¸à¸ˆà¸´
- เà¸à¹‡à¸‡à¹€à¸
- โà¸à¹‚à¸
- โà¸à¸§à¸°
- à¸à¸¸à¸¡à¹‚ป
- เà¸à¹‡à¸™à¹‚à¸
- เà¸à¹‡à¸‡à¹€à¸à¸µà¸¢à¸§
- โà¸à¸à¸¹
- คะเระà¸à¸´
- เà¸à¹‡à¸™à¹‚ตะà¸à¸¸
- เà¸à¹‡à¸‡à¹‚à¸
- เค็มมุ
- เà¸à¹‡à¸‡à¹€à¸‡à¹‡à¸‡
- โคโà¸à¸°à¸à¸¸
- โà¸à¹€à¸®
- เค็นโตะà¸à¸¸
- à¸à¸¸à¸™à¸à¸¹
- เท็นจุ
- โคเรียะà¸à¸¸
- โควะ
- เà¸à¹‡à¸™à¸à¸¹
- เมโตะà¸à¸¸
- คะเค
- โคโà¸
- เมโตะà¸à¸¸
- โà¸à¹€à¸
- โà¸à¹‚à¸
- เà¸à¹€à¸à¸µà¸¢à¸§
- คะà¸à¸´à¸ªà¸¶
- à¸à¸¸à¸™à¸à¸±à¸‡
- โฮโตะà¸à¸¸
- เคียวโตะà¸à¸¸
- โคโà¸
- โà¸à¹‚ระà¸à¸¸
- คันโà¸
- à¸à¸¸à¸™à¹‚à¸
- โà¸à¸™à¸´à¸‡
- à¸à¸¸à¸¡à¹€à¸¡
- โà¸à¹€à¸à¸µà¸¢à¸§
- เà¸à¹‡à¸™à¹‚ตะà¸à¸¸
- เมโà¸
- à¸à¸¸à¸‡à¸à¸´
- เà¸à¹‚à¸
- ทะà¸à¸´à¹€à¸
- เคียวโระà¸à¸¸
- เท็มมน
- โคจิ
- เà¸à¹‚ระà¸à¸¸
- เà¸à¹‡à¸‡à¸à¸´
- เท็นโà¸
- à¸à¸¸à¸™à¹‚ระà¸à¸¸
- เคโà¸
- เà¸à¹‡à¸‡à¸§à¸°
- คันเà¸
- โà¸à¹‚ฮ
- เคà¸à¸±à¸‡
- โà¸à¹‚à¸
- เมเรียะà¸à¸¸
- มันจิ
- คัมà¸à¸¸à¸‡
- เà¸à¹‡à¸¡à¹‚ป
- เท็นวะ
- โจเà¸à¸µà¸¢à¸§
- เà¸à¹‡à¸™à¹‚ระà¸à¸¸
- โฮเà¸
- โà¸à¹‚ตะà¸à¸¸
- เคียวโฮ
- เà¸à¹‡à¸¡à¸à¸¸à¸‡
- คัมโป
- เà¸à¹‡à¸‡à¹€à¸à¸µà¸¢à¸§
- คันเà¸à¹‡à¸‡
- โฮเรียะà¸à¸¸
- เมวะ
- à¸à¸±à¸™à¹€à¸
- เท็มเม
- คันเซ
- เคียววะ
- à¸à¸¸à¸‡à¸à¸°
- à¸à¸¸à¸™à¹€à¸‹
- เท็มโป
- โคà¸à¸°
- คะเà¸
- à¸à¸±à¸™à¹€à¸‹
- มันเà¸à¹‡à¸‡
- à¸à¸¸à¸‡à¸à¸µà¸§
- เà¸à¹‡à¸™à¸ˆà¸´
- เคโà¸
- เมจิ
- ทะà¸à¸´à¹‚à¸
- โà¸à¸§à¸°
- เฮเซ
-
-
- ทะà¸à¸´à¸à¸°
- ฮะà¸à¸¸à¸à¸´
- ฮาà¸à¸¸à¹‚ฮ
- à¸à¸¸à¹‚à¸
- ทะà¸à¸´à¹‚ฮ
- เคà¸à¸¸à¸‡
- วะโด
- เรà¸à¸´
- โยโร
- จิงà¸à¸´
- เท็มเà¸à¸µà¸¢à¸§
- เท็มเà¸à¸µà¸¢à¸§-คัมโป
- เท็มเà¸à¸µà¸¢à¸§-โà¸à¹‚ฮ
- เท็มเà¸à¸µà¸¢à¸§-โฮจิ
- เท็มเà¸à¸µà¸¢à¸§-จิงโงะ
- จิงโงะ-เคà¸à¸¸à¸‡
- โฮà¸à¸´
- เท็นโà¸
- เà¸à¹‡à¸™à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- ดะà¸à¸´à¹‚ด
- โคนิง
- เท็นโà¸
- โà¸à¸§à¸°
- คะโจ
- นินจุ
- ซะà¸à¸´à¹‚à¸à¸°
- เท็นนัง
- โจงัง
- เà¸à¹‡à¸‡à¹€à¸
- นินนะ
- คัมเà¸à¸µà¸¢à¸§
- โà¸à¸•ะà¸à¸´
- เà¸à¹‡à¸‡à¸‡à¸´
- เà¸à¹‡à¸™à¹‚à¸
- โà¸à¹€à¸®
- เท็งเงียว
- เท็นเรียะà¸à¸¸
- เท็นโตะà¸à¸¸
- โà¸à¸§à¸°
- โคโฮ
- à¸à¸±à¸™à¸™à¸°
- เท็นโระà¸à¸¸
- เท็นเà¸à¹‡à¸‡
- โจเง็ง
- เท็งเง็ง
- เà¸à¸à¸±à¸‡
- คันนะ
- เà¸à¹€à¸à¹‡à¸‡
- เà¸à¹‚ซ
- โà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- โà¸à¹‚ตะà¸à¸¸
- โà¸à¹‚ฮ
- คันโà¸
- โà¸à¸§à¸°
- คันนิง
- จิà¸à¸±à¸‡
- มันจุ
- โà¸à¹€à¸‡à¹‡à¸‡
- โà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- โà¸à¸„ีว
- คันโตะà¸à¸¸
- เà¸à¹‚à¸
- เท็งงิ
- โคเฮ
- จิเรียะà¸à¸¸
- เà¸à¹‡à¸‡à¸„ีว
- โà¸à¹‚ฮ
- โà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- เà¸à¹‚ฮะ
- โà¸à¹‚ตะà¸à¸¸
- คันจิ
- คะโฮะ
- เà¸à¹‚à¸
- โà¸à¹‚ตะà¸à¸¸
- โควะ
- โà¸à¸ˆà¸´
- คะโà¸
- เท็นนิง
- เท็นเà¸
- เà¸à¸à¸µà¸§
- เà¸à¹‡à¸™à¹€à¸
- โฮะà¸à¸±à¸‡
- เท็นจิ
- ดะà¸à¸´à¸ˆà¸´
- เท็นโà¸
- โà¸à¹‚à¸
- โฮะเà¸à¹‡à¸‡
- เà¸à¸ˆà¸´
- โคจิ
- เท็นโย
- คีวà¸à¸±à¸‡
- นิมเป
- คีวจุ
- โฮะเง็ง
- เฮจิ
- เà¸à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- โà¸à¹‚ฮ
- โà¸à¸à¸±à¸‡
- เà¸à¸¡à¸±à¸‡
- นินà¸à¸±à¸‡
- คะโà¸
- โà¸à¸à¸±à¸‡
- à¸à¸±à¸‡à¹€à¸‡à¹‡à¸‡
- จิโà¸
- โยวะ
- จุเà¸
- เà¸à¹‡à¸™à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- à¸à¸¸à¸™à¸ˆà¸´
- เค็งà¸à¸µà¸§
- โà¸à¸ˆà¸´
- เค็นนิง
- เà¸à¹‡à¸‡à¸à¸µà¸§
- เค็นเà¸
- โà¸à¹€à¸à¹‡à¸‡
- เค็นเรียะà¸à¸¸
- เค็มโป
- โà¸à¸à¸µà¸§
- โจโà¸
- เà¸à¹‡à¸™à¸™à¸´à¸‡
- คะโระà¸à¸¸
- à¸à¸±à¸™à¹€à¸•
- คังà¸à¸´
- โจเà¸
- เท็มปุà¸à¸¸
- à¸à¸¸à¸™à¹€à¸£à¸µà¸¢à¸°à¸à¸¸
- คะเต
- เรียะà¸à¸¸à¸™à¸´à¸‡
- เà¸à¹‡à¸™à¹‚à¸
- นินจิ
- คังเง็ง
- โฮจิ
- เค็นโà¸
- โคเง็ง
- โà¸à¸à¸°
- โà¸à¹€à¸‡à¹‡à¸‡
- à¸à¸¸à¸™à¹‚à¸
- โคโà¸
- à¸à¸¸à¸™à¹€à¸
- เค็นจิ
- โคà¸à¸±à¸‡
- โà¸à¹‚à¸
- เà¸à¸™à¸´à¸‡
- โà¸à¸à¸±à¸‡
- เค็งเง็ง
- คะเง็ง
- โทะà¸à¸¸à¸ˆà¸´
- เà¸à¹‡à¸‡à¹€à¸
- โà¸à¹‚à¸
- โà¸à¸§à¸°
- à¸à¸¸à¸¡à¹‚ป
- เà¸à¹‡à¸™à¹‚à¸
- เà¸à¹‡à¸‡à¹€à¸à¸µà¸¢à¸§
- โà¸à¸à¸¹
- คะเระà¸à¸´
- เà¸à¹‡à¸™à¹‚ตะà¸à¸¸
- เà¸à¹‡à¸‡à¹‚à¸
- เค็มมุ
- เà¸à¹‡à¸‡à¹€à¸‡à¹‡à¸‡
- โคโà¸à¸°à¸à¸¸
- โà¸à¹€à¸®
- เค็นโตะà¸à¸¸
- à¸à¸¸à¸™à¸à¸¹
- เท็นจุ
- โคเรียะà¸à¸¸
- โควะ
- เà¸à¹‡à¸™à¸à¸¹
- เมโตะà¸à¸¸
- คะเค
- โคโà¸
- เมโตะà¸à¸¸
- โà¸à¹€à¸
- โà¸à¹‚à¸
- เà¸à¹€à¸à¸µà¸¢à¸§
- คะà¸à¸´à¸ªà¸¶
- à¸à¸¸à¸™à¸à¸±à¸‡
- โฮโตะà¸à¸¸
- เคียวโตะà¸à¸¸
- โคโà¸
- โà¸à¹‚ระà¸à¸¸
- คันโà¸
- à¸à¸¸à¸™à¹‚à¸
- โà¸à¸™à¸´à¸‡
- à¸à¸¸à¸¡à¹€à¸¡
- โà¸à¹€à¸à¸µà¸¢à¸§
- เà¸à¹‡à¸™à¹‚ตะà¸à¸¸
- เมโà¸
- à¸à¸¸à¸‡à¸à¸´
- เà¸à¹‚à¸
- ทะà¸à¸´à¹€à¸
- เคียวโระà¸à¸¸
- เท็มมน
- โคจิ
- เà¸à¹‚ระà¸à¸¸
- เà¸à¹‡à¸‡à¸à¸´
- เท็นโà¸
- à¸à¸¸à¸™à¹‚ระà¸à¸¸
- เคโà¸
- เà¸à¹‡à¸‡à¸§à¸°
- คันเà¸
- โà¸à¹‚ฮ
- เคà¸à¸±à¸‡
- โà¸à¹‚à¸
- เมเรียะà¸à¸¸
- มันจิ
- คัมà¸à¸¸à¸‡
- เà¸à¹‡à¸¡à¹‚ป
- เท็นวะ
- โจเà¸à¸µà¸¢à¸§
- เà¸à¹‡à¸™à¹‚ระà¸à¸¸
- โฮเà¸
- โà¸à¹‚ตะà¸à¸¸
- เคียวโฮ
- เà¸à¹‡à¸¡à¸à¸¸à¸‡
- คัมโป
- เà¸à¹‡à¸‡à¹€à¸à¸µà¸¢à¸§
- คันเà¸à¹‡à¸‡
- โฮเรียะà¸à¸¸
- เมวะ
- à¸à¸±à¸™à¹€à¸
- เท็มเม
- คันเซ
- เคียววะ
- à¸à¸¸à¸‡à¸à¸°
- à¸à¸¸à¸™à¹€à¸‹
- เท็มโป
- โคà¸à¸°
- คะเà¸
- à¸à¸±à¸™à¹€à¸‹
- มันเà¸à¹‡à¸‡
- à¸à¸¸à¸‡à¸à¸µà¸§
- เà¸à¹‡à¸™à¸ˆà¸´
- เคโà¸
- เมจิ
- ทะà¸à¸´à¹‚à¸
- โà¸à¸§à¸°
- เฮเซ
-
-
- ม
- ท
- à¸
- ฮ
-
-
-
-
-
- EEEEที่ d MMMM ปีGที่ y
-
-
-
-
- d MMMM ปีG y
-
-
-
-
- d MMM G y
-
-
-
-
- d/M/yy
-
-
-
-
-
- GGG yy
- M/GGGGG yy
- MMM GGGGG yy
- Q GGGGG yy
-
-
-
-
- à¸à¹ˆà¸à¸™à¹€à¸—ี่ยง
- หลังเที่ยง
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
- {1} ({0})
-
- ไม่ทราà¸
-
-
- à¸à¸±à¸™à¸”à¸à¸£à¹Œà¸£à¸²
-
-
- ดูใà¸
-
-
- คาà¸à¸¹à¸¥
-
-
- à¹à¸à¸™à¸•ิà¸à¸²
-
-
- à¹à¸à¸‡à¸à¸´à¸¥à¸¥à¸²
-
-
- ติรานา
-
-
- เยเรวาน
-
-
- ลูà¸à¸±à¸™à¸”า
-
-
- โรเทรา
-
-
- à¸à¸²à¸¥à¹Œà¹€à¸¡à¸à¸£à¹Œ
-
-
- ขั้วโลà¸à¹ƒà¸•้
-
-
- เซียวา
-
-
- มาว์ซัน
-
-
- ดาวีส์
-
-
- วà¸à¸ªà¸•็à¸à¸„
-
-
- เคซีย์
-
-
- ดูมà¸à¸™à¸•์ดียูร์วิลล์
-
-
- à¹à¸¡à¸„มัวโด
-
-
- ริโà¸à¸à¸²à¸¥à¹€à¸¥à¸à¸à¸ª
-
-
- เมนดูซา
-
-
- ซานฮวน
-
-
- à¸à¸¹à¸à¸¹à¹€à¸à¸µà¸¢
-
-
- ลาริโà¸à¸ˆà¸²
-
-
- ซันลูà¸à¸´à¸ª
-
-
- à¸à¸²à¸•ามาร์à¸à¸²
-
-
- จูจิว
-
-
- ทูคูà¹à¸¡à¸™
-
-
- คà¸à¸£à¹Œà¹‚ดà¸à¸²
-
-
- à¸à¸±à¸§à¹‚นสไà¸à¹€à¸£à¸ª
-
-
- ปาโภปาโà¸
-
-
- เวียนนา
-
-
- เà¸à¸´à¸´à¸£à¹Œà¸—
-
-
- ยูคลา
-
-
- ดาร์วิน
-
-
- à¹à¸à¸”ิเลด
-
-
- โà¸à¸£à¸à¹€à¸„นฮิลล์
-
-
- คูร์รี
-
-
- เมลเà¸à¸´à¸£à¹Œà¸™
-
-
- โฮà¸à¸²à¸£à¹Œà¸•
-
-
- ลินดีà¹à¸¡à¸™
-
-
- ซิดนีย์
-
-
- à¸à¸£à¸´à¸ªà¹€à¸à¸™
-
-
- ลà¸à¸£à¹Œà¸”โฮวี
-
-
- à¸à¸²à¸£à¸¹à¸à¸²
-
-
- à¸à¸²à¸à¸¹
-
-
- à¸à¸²à¸£à¹Œà¹€à¸à¹‚ดส
-
-
- ดาà¸à¸²
-
-
- à¸à¸£à¸±à¸ªà¹€à¸‹à¸¥à¸ªà¹Œ
-
-
- วาà¸à¸²à¸”ูà¸à¸¹
-
-
- โซเฟีย
-
-
- à¸à¸²à¸«à¹Œà¹€à¸£à¸™
-
-
- à¸à¸¹à¸ˆà¸¸à¸¡à¸à¸¹à¸£à¸²
-
-
- ปà¸à¸£à¹Œà¹‚ต-โนโว
-
-
- เà¸à¸à¸£à¹Œà¸¡à¸´à¸§à¸”า
-
-
- à¸à¸£à¸¹à¹„นดารุสซาลาม
-
-
- ลาปาซ
-
-
- เà¸à¸£à¸¹à¹€à¸™à¹€à¸›
-
-
- รีโà¸à¸à¸£à¸±à¸‡à¹‚à¸
-
-
- ปà¸à¸£à¹Œà¸•ูเวลโย
-
-
- à¸à¸±à¸§à¸§à¸µà¸à¸•า
-
-
- มาเนาส์
-
-
- à¸à¸¸à¸¢à¸²à¸à¸²
-
-
- ซันตาเรม
-
-
- à¸à¸±à¸¡à¸›à¸¹à¸à¸£à¸±à¸™à¸”ี
-
-
- เà¸à¹€à¸¥à¸‡
-
-
- à¸à¸²à¸£à¸²à¸à¸±à¸§à¸™à¸²
-
-
- เซาเปาลู
-
-
- à¸à¸²à¹€à¸¢à¸µà¸¢
-
-
- ฟà¸à¸£à¹Œà¸•าเลซา
-
-
- มาเซโà¸
-
-
- เรซีเฟ
-
-
- โนรà¸à¸™à¸®à¸²
-
-
- à¹à¸™à¸ªà¸‹à¸
-
-
- ทิมà¸à¸¹
-
-
- à¸à¸²à¹‚à¸à¹‚รเน
-
-
- เà¸à¸¥à¸µà¸‹
-
-
- ดà¸à¸§à¹Œà¸ªà¸±à¸™
-
-
- ไวต์ฮà¸à¸£à¹Œà¸ª
-
-
- à¸à¸´à¸™à¸¹à¸§à¸´à¸
-
-
- à¹à¸§à¸™à¸„ูเวà¸à¸£à¹Œ
-
-
- ดà¸à¸§à¹Œà¸ªà¸±à¸™ ครีà¸
-
-
- เยลโลว์ไนฟ์
-
-
- เà¸à¸”มันตัน
-
-
- สวิฟต์เคà¸à¸£à¹Œà¹€à¸£à¸™à¸•์
-
-
- à¸à¹ˆà¸²à¸§à¹à¸„มà¸à¸£à¸´à¸”จ์
-
-
- ริไจนา
-
-
- วินนิเà¸à¸
-
-
- เรโซลูท
-
-
- เรนนี่ริเวà¸à¸£à¹Œ
-
-
- à¹à¸£à¸‡à¸à¸´à¸™à¸à¸´à¸™à¹€à¸¥à¹‡à¸•
-
-
- คà¸à¸£à¸±à¸¥à¸®à¸²à¸£à¹Œà¹€à¸à¸à¸£à¹Œ
-
-
- ทันเดà¸à¸£à¹Œà¹€à¸à¸¢à¹Œ
-
-
- นิปิà¸à¸à¸™
-
-
- โทรà¸à¸™à¹‚ต
-
-
- มà¸à¸™à¸—รีà¸à¸±à¸¥
-
-
- à¸à¸µà¸à¸§à¸²à¸¥à¸´à¸•
-
-
- à¸à¸²à¸‡à¸™à¸µà¸—ัง
-
-
- มà¸à¸‡à¸•ัน
-
-
- à¹à¸®à¸¥à¸´à¹à¸Ÿà¸à¸‹à¹Œ
-
-
- à¸à¸¹à¸ªà¹€à¸à¸¢à¹Œ
-
-
- à¹à¸à¸¥à¸‹à¹€à¸à¸¢à¹Œ
-
-
- à¸à¸¥à¸±à¸‡à¸„์-ซาà¸à¸¥à¸à¸™
-
-
- เซนต์จà¸à¸™à¸ªà¹Œ
-
-
- โคโคส
-
-
- à¸à¸´à¸™à¸à¸²à¸‹à¸²
-
-
- ลูà¸à¸±à¸¡à¸à¸²à¸à¸´
-
-
- à¸à¸±à¸‡à¸à¸µ
-
-
- à¸à¸£à¸²à¸‹à¸‹à¸²à¸§à¸´à¸¥
-
-
- ซูริค
-
-
- à¸à¸µà¸ªà¹€à¸•à¸à¸£à¹Œ
-
-
- ซันติà¸à¸²à¹‚à¸
-
-
- à¸à¸±à¸à¸à¸²à¸£à¹Œ
-
-
- à¸à¸¸à¸£à¸¸à¸¡à¸à¸µ
-
-
- ฉงà¸à¸´à¹ˆà¸‡
-
-
- เซี่ยงไฮ้
-
-
- ฮาร์à¸à¸´à¸™
-
-
- โà¸à¹‚à¸à¸•า
-
-
- คà¸à¸ªà¸•าริà¸à¸²
-
-
- ฮาวานา
-
-
- เคปเวิร์ด
-
-
- คริสต์มาส
-
-
- นิโคเซีย
-
-
- เà¸à¸à¸£à¹Œà¸¥à¸´à¸™
-
-
- จิà¸à¸¹à¸•ี
-
-
- โคเปนเฮเà¸à¸™
-
-
- โดมินิà¸à¸²
-
-
- ซานโต โดมิงโà¸
-
-
- à¹à¸à¸¥à¹€à¸ˆà¸µà¸¢à¸£à¹Œ
-
-
- à¸à¸²à¸¥à¸²à¸›à¸²à¹‚à¸à¸ª
-
-
- à¸à¸±à¸§à¸¢à¸²à¸à¸´à¸¥
-
-
- ไคโร
-
-
- เà¸à¸¥à¹„à¸à¸¢à¹Œà¸à¸¸à¸‡
-
-
- à¹à¸à¸ªà¸¡à¸²à¸£à¸²
-
-
- คะเนรี
-
-
- เซวตา
-
-
- มาดริด
-
-
- à¹à¸à¸”ดิสà¸à¸²à¸à¸²à¸à¸²
-
-
- เฮลซิงà¸à¸´
-
-
- ฟิจิ
-
-
- สà¹à¸•นลีย์
-
-
- ทรัà¸
-
-
- โปนาเป
-
-
- คà¸à¸ªà¹à¸£
-
-
- ปารีส
-
-
- ลีเà¸à¸£à¸à¸§à¸´à¸¥
-
-
- ลà¸à¸™à¸”à¸à¸™
-
-
- เà¸à¸£à¸™à¸²à¸”า
-
-
- ทà¸à¸´à¸¥à¸´à¸‹à¸´
-
-
- à¸à¸²à¹à¸¢à¸™
-
-
- à¸à¸±à¸à¸à¸£à¸²
-
-
- ยิà¸à¸£à¸à¸¥à¸•าร์
-
-
- ทูเล
-
-
- à¸à¸à¸”à¹à¸˜à¸
-
-
- สà¸à¸à¹€à¸£à¸ªà¹„à¸à¸‹à¸±à¸™à¸”์
-
-
- ดานมาร์à¸à¸ªà¸®à¸²à¸§à¸™à¹Œ
-
-
- à¸à¸±à¸™à¸ˆà¸¹à¸¥
-
-
- โà¸à¸™à¸²à¸à¸£à¸µ
-
-
- à¸à¸§à¸²à¹€à¸”à¸à¸¥à¸¹à¸›
-
-
- มาลาโà¸
-
-
- เà¸à¹€à¸˜à¸™à¸ªà¹Œ
-
-
- เซาท์ จà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
-
-
- à¸à¸±à¸§à¹€à¸•มาลา
-
-
- à¸à¸§à¸¡
-
-
- à¸à¸´à¸ªà¹€à¸‹à¸²
-
-
- à¸à¸²à¸¢à¸à¸²à¸™à¸²
-
-
- ฮ่à¸à¸‡à¸à¸‡
-
-
- à¸à¸¹à¸”าเปส
-
-
- จาà¸à¸²à¸£à¹Œà¸•า
-
-
- à¸à¸à¸™à¹€à¸—ียนัà¸
-
-
- มาà¸à¸±à¸ªà¸‹à¸²à¸£à¹Œ
-
-
- จายาปุระ
-
-
- ดัà¸à¸à¸¥à¸´à¸™
-
-
- เยรูซาเร็ม
-
-
- à¹à¸à¸à¹à¸”ด
-
-
- เตหะราน
-
-
- เรคยาวิà¸
-
-
- โรม
-
-
- จาเมà¸à¸²
-
-
- à¸à¸±à¸¡à¸¡à¸²à¸™
-
-
- โตเà¸à¸µà¸¢à¸§
-
-
- ไนโรเà¸à¸µà¸¢
-
-
- à¸à¸´à¸à¹€à¸„à¸
-
-
- à¸à¸™à¸¡à¹€à¸›à¸
-
-
- เà¸à¸™à¹€à¸”à¸à¸£à¹Œà¹€à¸à¸à¸£à¹Œà¸£à¸µ
-
-
- คิริทิมาตี
-
-
- ตาระวา
-
-
- โคโมโร
-
-
- เปียงยาง
-
-
- โซล
-
-
- คูเวต
-
-
- เคย์à¹à¸¡à¸™
-
-
- à¸à¸±à¸„ตาà¸à¸¹
-
-
- à¸à¸à¸£à¸±à¸¥
-
-
- à¸à¸±à¸„โทà¸à¸µ
-
-
- ไคซีลà¸à¸£à¹Œà¸”า
-
-
- à¸à¸±à¸¥à¸¡à¸²à¸•ี
-
-
- เวียงจันทน์
-
-
- เà¸à¸£à¸¸à¸•
-
-
- เซนต์ลูเซีย
-
-
- วาดุซ
-
-
- โคลัมโà¸
-
-
- มันโรเวีย
-
-
- มาเซรู
-
-
- วิลนีà¸à¸¸à¸ª
-
-
- ลัà¸à¹€à¸‹à¸¡à¹€à¸à¸´à¸£à¹Œà¸
-
-
- ตรีโปลี
-
-
- คาสซาà¸à¸¥à¸²à¸‡à¸à¹‰à¸²
-
-
- โมนาโà¸
-
-
- à¸à¸±à¸™à¸•านานาริโว
-
-
- ควาจาเลน
-
-
- มาจูโร
-
-
- à¸à¸²à¸¡à¸²à¹‚à¸
-
-
- ย่างà¸à¸¸à¹‰à¸‡
-
-
- ฮà¸à¸Ÿà¸”์
-
-
- à¸à¸¹à¸¥à¸²à¸™à¸à¸²à¸•à¸à¸£à¹Œ
-
-
- à¸à¸à¸¢à¸à¸²à¸¥à¸‹à¸²à¸™
-
-
- มาเà¸à¹à¸²
-
-
- ไซปัน
-
-
- มาร์ตินีà¸
-
-
- นูà¹à¸à¸à¸à¸à¸•
-
-
- มà¸à¸™à¹€à¸‹à¸à¸£à¹Œà¸£à¸±à¸•
-
-
- มà¸à¸¥à¸•า
-
-
- มà¸à¸£à¸´à¹€à¸à¸µà¸¢à¸ª
-
-
- มัลดีฟส์
-
-
- ทิฮัวนา
-
-
- เà¸à¸£à¹Œà¹‚มซีโย
-
-
- มาซาทลาน
-
-
- à¸à¸µà¸§à¸²à¸§à¸²
-
-
- มà¸à¸™à¹€à¸•••ร์เรย์
-
-
- เม็à¸à¸‹à¸´à¹‚à¸à¸‹à¸´à¸•ี
-
-
- เมรีดา
-
-
- à¹à¸„นคุน
-
-
- à¸à¸±à¸§à¸¥Â¥Â¥Â¥à¸²à¸¥à¸±à¸¡à¹€à¸›à¸à¸£à¹Œ
-
-
- à¸à¸¹à¸à¸´à¸‡
-
-
- มาปูโต
-
-
- วินด์ฮุà¸
-
-
- นูเมà¸à¸²
-
-
- นีà¸à¸²à¹€à¸¡à¸¢à¹Œ
-
-
- ลาà¸à¸à¸ª
-
-
- à¸à¸±à¸¡à¸ªà¹€à¸•à¸à¸”ัม
-
-
- à¸à¸à¸ªà¹‚ล
-
-
- à¸à¸²à¸•มัน™ดุ
-
-
- นาà¸à¸¹à¸£à¸¹
-
-
- นีà¸à¸¹à¹€à¸
-
-
- à¹à¸à¹à¸—ม
-
-
- โà¸à¸„à¹à¸¥à¸™à¸”์
-
-
- มัสà¸à¸±à¸•
-
-
- ปานามา
-
-
- ลิมา
-
-
- ทาฮิติ
-
-
- มาร์เควซัส
-
-
- à¹à¸à¸¡à¹€à¸à¸µà¸¢à¸£à¹Œ
-
-
- à¸à¸à¸£à¹Œà¸•มà¸à¸£à¹Œà¸ªà¸à¸µ
-
-
- มะนิลา
-
-
- à¸à¸²à¸£à¸²à¸ˆà¸µ
-
-
- วà¸à¸£à¹Œà¸‹à¸
-
-
- มีเà¸à¸à¸¥à¸‡
-
-
- à¸à¸´à¸•à¹à¸„ร์น
-
-
- เปà¸à¹‚ตริโà¸
-
-
- à¸à¸²à¸‹à¸²
-
-
- à¸à¸²à¸‹à¸à¹€à¸£à¸ª
-
-
- มาเดรา
-
-
- ลิสà¸à¸à¸™
-
-
- ปาเลา
-
-
- à¸à¸°à¸‹à¸¸à¸™à¸‹à¸´à¸à¸à¸‡
-
-
- à¸à¸²à¸•าร์
-
-
- เรà¸à¸¹à¸™à¸µà¸¢à¸‡
-
-
- à¸à¸¹à¸„าเรส
-
-
- คาลินิงà¸à¸£à¸²à¸”
-
-
- มà¸à¸ªà¹‚à¸
-
-
- วà¸à¸¥à¹‚à¸à¸à¸£à¸²à¸”
-
-
- ซามารา
-
-
- ยีคาเตà¸à¸£à¸´à¸™à¹€à¸à¸´à¸£à¹Œà¸
-
-
- โà¸à¸¡à¸ªà¸à¹Œ
-
-
- โนโวซิà¸à¸´à¸£à¹Œà¸ªà¸à¹Œ
-
-
- ครัสโนยาร์สà¸à¹Œ
-
-
- à¸à¸µà¸£à¹Œà¸„ุตสค์
-
-
- ยาคุตสค์
-
-
- วลาดิโวสต็à¸à¸
-
-
- ซาคาลิน
-
-
- มาà¸à¸²à¸”าน
-
-
- คามà¸à¸±à¸•à¸à¸²
-
-
- à¸à¸²à¸™à¸²à¸”ีร์
-
-
- คิà¸à¸²à¸¥à¸µ
-
-
- ริยาร์ด
-
-
- à¸à¸±à¸§à¸”ัลคานัล
-
-
- คาร์ทูม
-
-
- สตà¸à¸à¹‚ฮล์ม
-
-
- สิงคโปร์
-
-
- เซนต์เฮเลนา
-
-
- ลà¸à¸‡à¹€à¸¢à¸µà¸¢à¸£à¹Œà¹€à¸à¸µà¸¢à¸™
-
-
- ฟรีทาวน์
-
-
- ดาà¸à¸²à¸£à¹Œ
-
-
- โมà¸à¸²à¸”ิà¸à¸¹
-
-
- ปารามาริโà¸
-
-
- ซาโà¸à¹‚ตเมะ
-
-
- เà¸à¸¥à¸‹à¸±à¸¥à¸§à¸²à¸”à¸à¸£à¹Œ
-
-
- ดามัสà¸à¸±à¸ª
-
-
- à¸à¸±à¸¡à¸à¸²à¸à¸²à¹€à¸™
-
-
- โลเม
-
-
- à¸à¸£à¸¸à¸‡à¹€à¸—à¸
-
-
- ดูà¸à¸²à¸™à¹€à¸
-
-
- ฟาเคาโฟ
-
-
- ดิลี
-
-
- à¸à¸²à¸à¸à¸²à¸à¸±à¸•
-
-
- ตูนิส
-
-
- ตà¸à¸‡à¸à¸²à¸•าปู
-
-
- à¸à¸´à¸ªà¸•ันà¸à¸¹à¸¥
-
-
- à¸à¸à¸£à¹Œà¸—à¸à¸à¸Ÿà¸ªà¹€à¸›à¸™
-
-
- ฟูนะฟูตี
-
-
- ไทเป
-
-
- à¸à¸±à¸‹à¹‚à¸à¸£à¹‡à¸à¸”
-
-
- เคียฟ
-
-
- ซิมเฟà¸à¹‚รโปล
-
-
- ซาโปโรซี
-
-
- คัมà¸à¸²à¸¥à¸²
-
-
- มิดเวย์
-
-
- จà¸à¸«à¹Œà¸™à¸ªà¸•ัน
-
-
- เวà¸
-
-
- เà¸à¸”ัà¸
-
-
- นà¸à¸¡
-
-
- โฮโนลูลู
-
-
- à¹à¸à¸‡à¹€à¸„à¸à¹€à¸£à¸ˆ
-
-
- ยาà¸à¸¹à¸—ัต
-
-
- จูโน
-
-
- ลà¸à¸ªà¹à¸à¸‡à¹€à¸ˆà¸¥à¸´à¸ª
-
-
- à¸à¸à¸¢à¸‹à¸µ
-
-
- ฟีนิà¸à¸‹à¹Œ
-
-
- à¸à¸´à¸›à¸£à¹‡à¸à¸
-
-
- เดนเวà¸à¸£à¹Œ
-
-
- นิวเซเลม, นà¸à¸£à¹Œà¸—ดาโคตา
-
-
- เซนเตà¸à¸£à¹Œ, นà¸à¸£à¹Œà¸—ดาโคตา
-
-
- à¸à¸´à¸„าโà¸
-
-
- เมโนมินี
-
-
- วินเซนเนส, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- ปีเตà¸à¸£à¹Œà¸ªà¹€à¸à¸´à¸£à¹Œà¸, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- เทลล์ซิตี, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- นà¸à¸à¸‹à¹Œ, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- วินาà¹à¸¡à¸„, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- มาเรงโà¸, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- à¸à¸´à¸™à¹€à¸”ียà¹à¸™à¹‚à¸à¸¥à¸´à¸ª
-
-
- ลูส์วิลล์
-
-
- วีเวย์, à¸à¸´à¸™à¸”ีà¹à¸à¸™à¸²
-
-
- มà¸à¸™à¸•ิเซลโล
-
-
- ดีทรà¸à¸¢à¸•์
-
-
- นิวยà¸à¸£à¹Œà¸
-
-
- มà¸à¸™à¹€à¸•วิเดโà¸
-
-
- ซามาร์à¸à¸²à¸™à¸”์
-
-
- ทาà¸à¹€à¸„นต์
-
-
- เซนต์วินเซนต์
-
-
- คาราคัส
-
-
- เซนต์โธมัส
-
-
- ไซง่à¸à¸™
-
-
- วาลลิส
-
-
- à¸à¸²à¸›à¸µà¸à¸²
-
-
- เà¸à¹€à¸”น
-
-
- มาโยเต
-
-
- โจฮันเนสเà¸à¸à¸£à¹Œà¸
-
-
- ลูซาà¸à¸²
-
-
- ฮาราเร
-
-
-
- เวลาà¸à¸²à¹€à¸à¸£
- เวลาฤดูร้à¸à¸™à¸à¸²à¹€à¸à¸£
-
-
-
-
- เวลาà¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡
-
-
-
-
- เวลาà¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸•ะวันà¸à¸à¸
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•้
-
-
-
-
- เวลาà¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸•ะวันตà¸
- เวลาฤดูร้à¸à¸™à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸•ะวันตà¸
-
-
-
-
- เวลาà¸à¸°à¹à¸¥à¸ªà¸à¸²
- เวลามาตรà¸à¸²à¸™à¸à¸°à¹à¸¥à¸ªà¸à¸²
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸à¸°à¹à¸¥à¸ªà¸à¸²-ฮาวาย
-
-
-
-
- เวลาà¸à¸°à¹€à¸¡à¸‹à¸à¸™
- เวลาฤดูร้à¸à¸™à¸à¸°à¹€à¸¡à¸‹à¸à¸™
-
-
-
-
- เวลาà¸à¸¥à¸²à¸‡
- เวลามาตรà¸à¸²à¸™à¸à¸¥à¸²à¸‡
-
-
-
-
- เวลาตะวันà¸à¸à¸
- เวลามาตรà¸à¸²à¸™à¸•ะวันà¸à¸à¸
-
-
-
-
- เวลาà¹à¸›à¸‹à¸´à¸Ÿà¸´à¸„
- เวลามาตรà¸à¸²à¸™à¹à¸›à¸‹à¸´à¸Ÿà¸´à¸„
-
-
-
-
- เวลาà¸à¸±à¸„ตาà¸à¸¹
- เวลาฤดูร้à¸à¸™à¸à¸±à¸„ตาà¸à¸¹
-
-
- AQTT (à¸à¸±à¸„ตาà¸à¸¹)
- AQTST (à¸à¸±à¸„ตาà¸à¸¹)
-
-
-
-
- เวลาà¸à¸²à¸£à¸°à¹€à¸à¸µà¸¢
- เวลามาตรà¸à¸²à¸™à¸à¸²à¸£à¸°à¹€à¸à¸µà¸¢
-
-
- AST (à¸à¸²à¸£à¸°à¹€à¸à¸µà¸¢)
- ADT (à¸à¸²à¸£à¸°à¹€à¸à¸µà¸¢)
-
-
-
-
- เวลาà¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินา
- เวลาฤดูร้à¸à¸™à¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินา
-
-
-
-
- เวลาà¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินาตะวันตà¸
-
-
-
-
- เวลาà¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢
- เวลาฤดูร้à¸à¸™à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢
-
-
- AMT (à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢)
- AMST (à¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢)
-
-
-
-
- เวลาà¹à¸à¸•à¹à¸¥à¸™à¸•ิà¸
- เวลามาตรà¸à¸²à¸™à¹à¸à¸•à¹à¸¥à¸™à¸•ิà¸
-
-
-
-
- เวลาà¸à¸à¸ªà¹€à¸•รเลียà¸à¸¥à¸²à¸‡
- เวลามาตรà¸à¸²à¸™à¸à¸à¸ªà¹€à¸•รเลียà¸à¸¥à¸²à¸‡
-
-
-
-
- เวลาà¸à¸à¸ªà¹€à¸•รเลียตะวันà¸à¸à¸
- เวลามาตรà¸à¸²à¸™à¸à¸à¸ªà¹€à¸•รเลียตะวันà¸à¸à¸
-
-
-
-
- เวลาà¸à¸à¸ªà¹€à¸•รเลียตะวันตà¸
- เวลามาตรà¸à¸²à¸™à¸à¸à¸ªà¹€à¸•รเลียตะวันตà¸
-
-
-
-
- เวลาฤดูร้à¸à¸™à¸à¸²à¹‚ซเรà¸
- เวลาฤดูร้à¸à¸™à¸à¸²à¹‚ซเรà¸
-
-
-
-
- เวลาà¸à¸²à¸à¸¹
- เวลาฤดูร้à¸à¸™à¸à¸²à¸à¸¹
-
-
-
-
- เวลาà¸à¸±à¸‡à¸à¸¥à¸²à¹€à¸—ศ
-
-
-
-
- เวลาเà¸à¸£à¸´à¸‡
- เวลามาตรà¸à¸²à¸™à¹€à¸à¸£à¸´à¸‡
-
-
- BST (เà¸à¸£à¸´à¸‡)
- BDT (เà¸à¸£à¸´à¸‡)
-
-
-
-
- เวลาภูà¸à¸²à¸™
-
-
-
-
- เวลาà¸à¸à¸£à¹Œà¹€à¸™à¸µà¸¢à¸§
- เวลาฤดูร้à¸à¸™à¸à¸à¸£à¹Œà¹€à¸™à¸µà¸¢à¸§
-
-
-
-
- เวลาà¸à¸£à¸²à¸‹à¸´à¹€à¸¥à¸µà¸¢
- เวลาฤดูร้à¸à¸™à¸à¸£à¸²à¸‹à¸´à¹€à¸¥à¸µà¸¢
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸à¸²à¸¡à¸à¸£à¹Œà¹‚ร
-
-
-
-
- เวลาà¸à¸´à¸¥à¸µ
- เวลาฤดูร้à¸à¸™à¸à¸´à¸¥à¸µ
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸ˆà¸µà¸™
-
-
- CST (จีน)
- CDT (จีน)
-
-
-
-
- เวลาดูà¸à¸²à¸™à¹€à¸
- เวลาฤดูร้à¸à¸™à¸”ูà¸à¸²à¸™à¹€à¸
-
-
-
-
- เวลาติมà¸à¸£à¹Œà¸•ะวันà¸à¸à¸
-
-
-
-
- เวลาเà¸à¸à¸§à¸²à¸”à¸à¸£à¹Œ
-
-
-
-
- เวลายุโรปà¸à¸¥à¸²à¸‡
- เวลาฤดูร้à¸à¸™à¸¢à¸¸à¹‚รปà¸à¸¥à¸²à¸‡
-
-
-
-
- เวลายุโรปตะวันà¸à¸à¸
- เวลาฤดูร้à¸à¸™à¸¢à¸¸à¹‚รปตะวันà¸à¸à¸
-
-
-
-
- เวลายุโรปตะวันตà¸
- เวลาฤดูร้à¸à¸™à¸¢à¸¸à¹‚รปตะวันตà¸
-
-
-
-
- เวลาà¸à¸²à¸¥à¸²à¸›à¸²à¹‚à¸à¸ª
-
-
-
-
- เวลาจà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
- เวลาฤดูร้à¸à¸™à¸ˆà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸à¸£à¸µà¸™à¸´à¸
-
-
-
-
- เวลาà¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์à¸à¸¥à¸²à¸‡
- เวลาฤดูร้à¸à¸™à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์à¸à¸¥à¸²à¸‡
-
-
-
-
- เวลาà¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์ตะวันà¸à¸à¸
- เวลาฤดูร้à¸à¸™à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์ตะวันà¸à¸à¸
-
-
-
-
- เวลาà¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์ตะวันตà¸
- เวลาฤดูร้à¸à¸™à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์ตะวันตà¸
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸à¸§à¸¡
-
-
- GST (à¸à¸§à¸¡)
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸à¸´à¸™à¹€à¸”ีย
-
-
-
-
- เวลาà¸à¸´à¸™à¹‚ดนีเซียà¸à¸¥à¸²à¸‡
-
-
-
-
- เวลาà¸à¸´à¸™à¹‚ดนีเซียตะวันà¸à¸à¸
-
-
-
-
- เวลาà¸à¸´à¸™à¹‚ดนีเซียตะวันตà¸
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸à¸´à¸ªà¸£à¸²à¹€à¸à¸¥
-
-
- IST (à¸à¸´à¸ªà¸£à¸²à¹€à¸à¸¥)
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸„าซัคสถานตะวันà¸à¸à¸
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸„าซัคสถาน
-
-
-
-
- เวลาเà¸à¸²à¸«à¸¥à¸µ
- เวลามาตรà¸à¸²à¸™à¹€à¸à¸²à¸«à¸¥à¸µ
-
-
-
-
- เวลาควาจาเลน
-
-
-
-
- เวลามาเà¸à¹à¸²
- เวลาฤดูร้à¸à¸™à¸¡à¸²à¹€à¸à¹à¸²
-
-
-
-
- เวลามาลายา
-
-
-
-
- เวลามาเลเซีย
-
-
-
-
- เวลาหมู่เà¸à¸²à¸°à¸¡à¸²à¸£à¹Œà¹à¸à¸¥à¸¥à¹Œ
-
-
-
-
- เวลาà¸à¸¹à¸¥à¸²à¸™à¸à¸²à¸•à¸à¸£à¹Œ
- เวลาฤดูร้à¸à¸™à¸à¸¹à¸¥à¸²à¸™à¸à¸²à¸•à¸à¸£à¹Œ
-
-
-
-
- เวลานิวซีà¹à¸¥à¸™à¸”์
- เวลามาตรà¸à¸²à¸™à¸™à¸´à¸§à¸‹à¸µà¹à¸¥à¸™à¸”์
-
-
-
-
- เวลานิวฟันด์à¹à¸¥à¸™à¸”์
- เวลามาตรà¸à¸²à¸™à¸™à¸´à¸§à¸Ÿà¸±à¸™à¸”์à¹à¸¥à¸™à¸”์
-
-
-
-
- เวลาหมู่เà¸à¸²à¸°à¸¡à¸²à¹€à¸£à¸µà¸¢à¸™à¸²à¹€à¸«à¸™à¸·à¸
-
-
-
-
- เวลาปาà¸à¸µà¸ªà¸–าน
- เวลาฤดูร้à¸à¸™à¸›à¸²à¸à¸µà¸ªà¸–าน
-
-
-
-
- ปีà¹à¸¢à¸£à¹Œà¹à¸¥à¸°à¸¡à¸µà¹€à¸à¸à¸¥à¸‡
- เวลามาตรà¸à¸²à¸™à¸›à¸µà¹à¸¢à¸£à¹Œà¹à¸¥à¸°à¸¡à¸µà¹€à¸à¸à¸¥à¸‡
-
-
-
-
- เวลาคืยซิลà¸à¸à¸£à¹Œà¸”า
- เวลาฤดูร้à¸à¸™à¸„ืยซิลà¸à¸à¸£à¹Œà¸”า
-
-
-
-
- เวลาซามารา
- เวลาฤดูร้à¸à¸™à¸‹à¸²à¸¡à¸²à¸£à¸²
-
-
-
-
- เวลาซามาร์คันด์
- เวลาฤดูร้à¸à¸™à¸‹à¸²à¸¡à¸²à¸£à¹Œà¸„ันด์
-
-
- SAMT (ซามาร์คันด์)
- SAMST (ซามาร์คันด์)
-
-
-
-
- เวลามาตรà¸à¸²à¸™à¸‹à¸²à¸¡à¸±à¸§
-
-
-
-
- เวลาซูรินาเม
-
-
-
-
- เวลาสเวียร์ดลà¸à¸Ÿà¸ªà¸„์
- เวลาฤดูร้à¸à¸™à¸ªà¹€à¸§à¸µà¸¢à¸£à¹Œà¸”ลà¸à¸Ÿà¸ªà¸„์
-
-
-
-
- เวลาทาจิà¸à¸´à¸ªà¸–าน
-
-
-
-
- เวลาฤดูร้à¸à¸™à¸—าà¸à¹€à¸„นต์
-
-
-
-
- เวลาทà¸à¸´à¸¥à¸´à¸‹à¸´
- เวลาฤดูร้à¸à¸™à¸—à¸à¸´à¸¥à¸´à¸‹à¸´
-
-
-
-
- เวลาตุรà¸à¸µ
- เวลาฤดูร้à¸à¸™à¸•ุรà¸à¸µ
-
-
-
-
- เวลาเติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน
- เวลาฤดูร้à¸à¸™à¹€à¸•ิร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน
-
-
-
-
- เวลาà¸à¸¸à¸‹à¹€à¸à¸à¸´à¸ªà¸–าน
- เวลาฤดูร้à¸à¸™à¸à¸¸à¸‹à¹€à¸à¸à¸´à¸ªà¸–าน
-
-
-
-
- เวลาเยคาเตรินà¸à¸¹à¸£à¹Œà¸
- เวลาฤดูร้à¸à¸™à¹€à¸¢à¸„าเตรินà¸à¸¹à¸£à¹Œà¸
-
-
-
-
- เวลาเยเรวาน
- เวลาฤดูร้à¸à¸™à¹€à¸¢à¹€à¸£à¸§à¸²à¸™
-
-
-
-
- เวลายูคà¸à¸™
- เวลามาตรà¸à¸²à¸™à¸¢à¸¹à¸„à¸à¸™
-
-
-
-
-
-
- .
- ,
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00;¤-#,##0.00
-
-
- {0} {1}
-
-
-
- เปเซตาà¸à¸±à¸™à¸”à¸à¸£à¹Œà¸£à¸²
-
-
- เดà¸à¸£à¹Œà¹à¸®à¸¡à¸ªà¸«à¸£à¸±à¸à¸à¸²à¸«à¸£à¸±à¸à¹€à¸à¸¡à¸´à¹€à¸£à¸•ส์
-
-
- à¸à¸±à¸Ÿà¸à¸²à¸™à¸µà¸à¸±à¸Ÿà¸à¸²à¸™à¸´à¸ªà¸–าน (1927-2002)
-
-
- à¸à¸±à¸Ÿà¸à¸²à¸™à¸µà¸à¸±à¸Ÿà¸à¸²à¸™à¸´à¸ªà¸–าน
-
-
- เลà¸à¹à¸à¸¥à¹€à¸à¹€à¸™à¸µà¸¢
-
-
- à¹à¸”รมà¸à¸²à¸£à¹Œà¹€à¸¡à¹€à¸™à¸µà¸¢
-
-
- à¸à¸´à¸¥à¹€à¸”à¸à¸£à¹Œà¹€à¸™à¹€à¸˜à¸à¸£à¹Œà¹à¸¥à¸™à¸”์à¹à¸à¸™à¸—ิลลิส
-
-
- à¸à¸§à¸²à¸™à¸‹à¸²à¹à¸à¸‡à¹‚à¸à¸¥à¸²
-
-
- à¸à¸§à¸²à¸™à¸‹à¸²à¹à¸à¸‡à¹‚à¸à¸¥à¸² (1977-1990)
-
-
- นิวà¸à¸§à¸²à¸™à¸‹à¸²à¹à¸à¸‡à¹‚à¸à¸¥à¸² (1990-2000)
-
-
- à¸à¸§à¸²à¸™à¸‹à¸²à¸£à¸µà¸ˆà¸±à¸ªà¸—าโดà¹à¸à¸‡à¹‚à¸à¸¥à¸² (1995-1999)
-
-
- à¸à¸à¸ªà¸•รัลà¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินา
-
-
- เปโซà¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินา (1983-1985)
-
-
- เปโซà¸à¸²à¸£à¹Œà¹€à¸ˆà¸™à¸•ินา
-
-
- à¸à¸´à¸¥à¸¥à¸´à¸‡à¸à¸à¸ªà¹€à¸•รีย
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸à¸à¸ªà¹€à¸•รเลีย
-
-
- ฟลà¸à¸£à¸´à¸™à¸à¸²à¸£à¸¹à¸à¸²
-
-
- มานัตà¸à¸²à¹€à¸‹à¸à¸£à¹Œà¹„à¸à¸ˆà¸²à¸™ (1993-2006)
-
-
- มานัตà¸à¸²à¹€à¸‹à¸à¸£à¹Œà¹„à¸à¸ˆà¸²à¸™
-
-
- ดีนาร์à¸à¸à¸ªà¹€à¸™à¸µà¸¢-เฮà¸à¸£à¹Œà¹€à¸‹à¹‚à¸à¸§à¸µà¸™à¸²
-
-
- มาร​์à¸à¸à¸à¸ªà¹€à¸™à¸µà¸¢-เฮà¸à¸£à¹Œà¹€à¸‹à¹‚à¸à¸§à¸µà¸™à¸²
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸à¸²à¸£à¹Œà¹€à¸à¹‚ดส
-
-
- ตาà¸à¸²à¸à¸±à¸‡à¸à¸¥à¸²à¹€à¸—ศ
-
-
- ฟรังà¸à¹Œà¹€à¸à¸¥à¹€à¸¢à¸µà¸¢à¸¡ (เปลี่ยนà¹à¸›à¸¥à¸‡à¹„ด้)
-
-
- ฟรังà¸à¹Œà¹€à¸à¸¥à¹€à¸¢à¸µà¸¢à¸¡
-
-
- ฟรังà¸à¹Œà¹€à¸à¸¥à¹€à¸¢à¸µà¸¢à¸¡ (à¸à¸²à¸£à¹€à¸‡à¸´à¸™)
-
-
- ฮาร์ดเลฟà¸à¸±à¸¥à¹à¸à¹€à¸£à¸µà¸¢
-
-
- เลฟà¸à¸±à¸¥à¹à¸à¹€à¸£à¸µà¸¢
-
-
- ดีนาร์à¸à¸²à¸«à¹Œà¹€à¸£à¸™
-
-
- ฟรังà¸à¹Œà¸à¸¸à¸£à¸¸à¸™à¸”ี
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹€à¸à¸à¸£à¹Œà¸¡à¸´à¸§à¸”า
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸à¸£à¸¹à¹„น
-
-
- โà¸à¸¥à¸´à¹€à¸§à¸µà¸¢à¹‚นโà¸à¸¥à¸´à¹€à¸§à¸µà¸¢
-
-
- เปโซโà¸à¸¥à¸´à¹€à¸§à¸µà¸¢
-
-
- มฟดà¸à¸¥à¹‚à¸à¸¥à¸´à¹€à¸§à¸µà¸¢
-
-
- ครูเซโรโนโวà¸à¸£à¸²à¸‹à¸´à¸¥ (1967-1986)
-
-
- ครูซาโดà¸à¸£à¸²à¸‹à¸´à¸¥
-
-
- ครูเซโรà¸à¸£à¸²à¸‹à¸´à¸¥ (1990-1993)
-
-
- เรียลà¸à¸£à¸²à¸‹à¸´à¸¥
-
-
- ครูซาโดโนโวà¸à¸£à¸²à¸‹à¸´à¸¥
-
-
- ครูเซโรà¸à¸£à¸²à¸‹à¸´à¸¥
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸à¸²à¸®à¸²à¸¡à¸²à¸ª
-
-
- เà¸à¹‡à¸‡à¸à¸¸à¸¥à¸•รัมภูà¸à¸²à¸™
-
-
- จà¹à¸²à¸”à¸à¸¡à¹ˆà¸²
-
-
- ปูลาà¸à¸à¸•สวานา
-
-
- นิวรูเà¸à¸´à¸¥à¹€à¸à¸¥à¸²à¸£à¸¸à¸ª (1994-1999)
-
-
- รูเà¸à¸´à¸¥à¹€à¸à¸¥à¸²à¸£à¸¸à¸ª
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹€à¸à¸¥à¸µà¸‹
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹à¸„นาดา
-
-
- ฟรังà¸à¹Œà¸„à¸à¸‡à¹‚à¸
-
-
- ยูโรดัà¸à¹€à¸à¸´à¸¥à¸¢à¸¹à¹„à¸à¸à¸²à¸£à¹Œ
-
-
- ฟรังà¸à¹Œà¸ªà¸§à¸´à¸ª
-
-
- ฟรังà¸à¹Œà¸”ัà¸à¹€à¸à¸´à¸¥à¸¢à¸¹à¹„à¸à¸à¸²à¸£à¹Œ
-
-
- ฟูเมนโตà¸à¸´à¸¥à¸µ
-
-
- เปโซà¸à¸´à¸¥à¸µ
-
-
- หยวนเหรินหมินปี้ (สาธารณรัà¸à¸›à¸£à¸°à¸à¸²à¸à¸™à¸ˆà¸µà¸™)
-
-
- เปโซโคลà¸à¸¡à¹€à¸à¸µà¸¢
-
-
- วาเลà¸à¸£à¹Œà¹€à¸£à¸µà¸¢à¸¥à¹‚คลà¸à¸¡à¹€à¸à¸µà¸¢
-
-
- โà¸à¸¥à¸à¸‡à¸„à¸à¸ªà¸•าริà¸à¸²
-
-
- ดีนาร์เซà¸à¸£à¹Œà¹€à¸à¸µà¸¢à¹€à¸à¹ˆà¸²
-
-
- ฮาร์ดโครูนาเà¸à¹‡à¸à¹‚à¸à¸ªà¹‚ลวัà¸
-
-
- เปโซคิวà¸à¸²
-
-
- เà¸à¸ªà¸„ูโดเคปเวิร์ด
-
-
- ปà¸à¸™à¸”์ไซปรัส
-
-
- โครูนาสาธารณรัà¸à¹€à¸à¹‡à¸
-
-
- มาร์à¸à¹€à¸¢à¸à¸£à¸¡à¸±à¸™à¸•ะวันà¸à¸à¸
-
-
- มาร์à¸à¹€à¸¢à¸à¸£à¸¡à¸±à¸™
-
-
- ฟรังà¸à¹Œà¸ˆà¸´à¸à¸¹à¸•ี
-
-
- โครนเดนมาร์à¸
-
-
- เปโซโดมินิà¸à¸±à¸™
-
-
- ดีนาร์à¹à¸à¸¥à¸ˆà¸µà¹€à¸£à¸µà¸¢
-
-
- ซูเà¸à¸£à¹€à¸à¸à¸§à¸²à¸”à¸à¸£à¹Œ
-
-
- วาเลà¸à¸£à¹Œà¸„à¸à¸™à¸ªà¹à¸•นต์เà¸à¸à¸§à¸²à¸”à¸à¸£à¹Œ
-
-
- ครูนเà¸à¸ªà¹‚ตเนีย
-
-
- ปà¸à¸™à¸”์à¸à¸µà¸¢à¸´à¸›à¸•์
-
-
- à¹à¸™à¸à¸Ÿà¸²à¹€à¸à¸£à¸´à¹€à¸—รีย
-
-
- เปเซตาสเปน (à¸à¸±à¸à¸à¸µà¹€à¸)
-
-
- เปเซตาสเปน (à¸à¸±à¸à¸à¸µà¸—ี่เปลี่ยนà¹à¸›à¸¥à¸‡à¹„ด้)
-
-
- เปเซตาสเปน
-
-
- เà¸à¸à¸£à¸£à¹Œà¹€à¸à¸˜à¸´à¹‚à¸à¹€à¸›à¸µà¸¢
-
-
- ยูโร
-
-
- มาร์à¸à¸à¸²à¸Ÿà¸´à¸™à¹à¸¥à¸™à¸”์
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸Ÿà¸´à¸ˆà¸´
-
-
- ปà¸à¸™à¸”์หมู่เà¸à¸²à¸°à¸Ÿà¸à¸¥à¹Œà¸à¹à¸¥à¸™à¸”์
-
-
- ฟรังà¸à¹Œà¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª
-
-
- ปà¸à¸™à¸”์สเตà¸à¸£à¹Œà¸¥à¸´à¸‡ (สหราà¸à¸à¸²à¸“าจัà¸à¸£)
-
-
- คูปà¸à¸™à¸¥à¸²à¸£à¸´à¸•จà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
-
-
- ลารีจà¸à¸£à¹Œà¹€à¸ˆà¸µà¸¢
-
-
- เซดีà¸à¸²à¸™à¸² (1979-2007)
-
-
- เซดีà¸à¸²à¸™à¸²
-
-
- ปà¸à¸™à¸”์ยิà¸à¸£à¸à¸¥à¸•าร์
-
-
- ดาลาซีà¹à¸à¸¡à¹€à¸à¸µà¸¢
-
-
- ฟรังà¸à¹Œà¸à¸´à¸™à¸µ
-
-
- ไซลีà¸à¸´à¸™à¸µ
-
-
- เà¸à¹‡à¸à¹€à¸§à¹€à¸¥à¸à¸´à¹€à¸„วทà¸à¹€à¸£à¸µà¸¢à¸¥à¸à¸´à¸™à¸µ
-
-
- ดรัà¸à¸¡à¸²à¸à¸£à¸µà¸
-
-
- เควตซัลà¸à¸±à¸§à¹€à¸•มาลา
-
-
- เà¸à¸ªà¸„ูโดà¸à¸´à¸™à¸µà¹‚ปรตุเà¸à¸ª
-
-
- เปโซà¸à¸´à¸™à¸µ-à¸à¸´à¸ªà¹€à¸‹à¸²
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸à¸²à¸¢à¸à¸²à¸™à¸²
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸®à¹ˆà¸à¸‡à¸à¸‡
-
-
- เลมปิราฮà¸à¸”ูรัส
-
-
- ดีนาร์โครเà¸à¹€à¸à¸µà¸¢
-
-
- คูนาโครเà¸à¹€à¸à¸µà¸¢
-
-
- à¸à¸¹à¸£à¹Œà¸”เฮติ
-
-
- ฟà¸à¸£à¸´à¸™à¸•์ฮังà¸à¸²à¸£à¸µ
-
-
- รูเปียห์à¸à¸´à¸™à¹‚ดนีเซีย
-
-
- ปà¸à¸™à¸”์ไà¸à¸£à¸´à¸
-
-
- ปà¸à¸™à¸”์à¸à¸´à¸ªà¸£à¸²à¹€à¸à¸¥
-
-
- นิวเà¸à¹€à¸à¸¥à¸à¸´à¸ªà¸£à¸²à¹€à¸à¸¥
-
-
- รูปีà¸à¸´à¸™à¹€à¸”ีย
-
-
- ดีนาร์à¸à¸´à¸£à¸±à¸
-
-
- เรียลà¸à¸´à¸«à¸£à¹ˆà¸²à¸™
-
-
- โครนาไà¸à¸‹à¹Œà¹à¸¥à¸™à¸”์
-
-
- ลีราà¸à¸´à¸•าลี
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸ˆà¸²à¹€à¸¡à¸à¸²
-
-
- ดีนาร์จà¸à¸£à¹Œà¹à¸”น
-
-
- เยนà¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™
- ¥
-
-
- à¸à¸´à¸¥à¸¥à¸´à¹ˆà¸‡à¹€à¸„นยา
-
-
- ซà¸à¸¡à¸„ีร์à¸à¸µà¸‹à¸ªà¸–าน
-
-
- เรียลà¸à¸±à¸¡à¸à¸¹à¸à¸²
-
-
- ฟรังà¸à¹Œà¸„à¸à¹‚มโรส
-
-
- วà¸à¸™à¹€à¸à¸²à¸«à¸¥à¸µà¹€à¸«à¸™à¸·à¸
-
-
- วà¸à¸™à¹€à¸à¸²à¸«à¸¥à¸µà¹ƒà¸•้
-
-
- ดีนาร์คูเวต
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹€à¸„ย์à¹à¸¡à¸™
-
-
- เทงเจคาซัคสถาน
-
-
- à¸à¸µà¸à¸¥à¸²à¸§
-
-
- ปà¸à¸™à¸”์เลà¸à¸²à¸™à¸à¸™
-
-
- รูปีศรีลังà¸à¸²
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹„ลà¸à¸µà¹€à¸£à¸µà¸¢
-
-
- โลตีเลโซโท
-
-
- ลีตัสลิทัวเนีย
-
-
- ทาโลนัสลิทัวเนีย
-
-
- คà¸à¸™à¹€à¸§à¸à¸£à¹Œà¸—ิเà¸à¸´à¸¥à¸Ÿà¸£à¸±à¸‡à¸à¹Œà¸¥à¸±à¸à¹€à¸‹à¸¡à¹€à¸à¸´à¸£à¹Œà¸
-
-
- ฟรังà¸à¹Œà¸¥à¸±à¸à¹€à¸‹à¸¡à¹€à¸à¸´à¸£à¹Œà¸
-
-
- ไฟà¹à¸™à¸¥à¹€à¸à¸µà¸¢à¸¥à¸Ÿà¸£à¸±à¸‡à¸à¹Œà¸¥à¸±à¸à¹€à¸‹à¸¡à¹€à¸à¸´à¸£à¹Œà¸
-
-
- ลัตส์ลัตเวีย
-
-
- รูเà¸à¸´à¸¥à¸¥à¸±à¸•เวีย
-
-
- ดีนาร์ลิเà¸à¸µà¸¢
-
-
- ดีà¹à¸£à¸«à¹Œà¸¡à¹‚มร็à¸à¸à¹‚à¸
-
-
- ฟรังà¸à¹Œà¹‚มร็à¸à¸à¹‚à¸
-
-
- ลิวมà¸à¸¥à¹‚ดวา
-
-
- à¸à¸²à¹€à¸£à¸µà¸¢à¸£à¸µà¸¡à¸²à¸”าà¸à¸±à¸ªà¸à¸²à¸£à¹Œ
-
-
- ฟรังà¸à¹Œà¸¡à¸²à¸”าà¸à¸±à¸ªà¸à¸²à¸£à¹Œ
-
-
- ดีนาร์มาซิโดเนีย
-
-
- ฟรังà¸à¹Œà¸¡à¸²à¸¥à¸µ
-
-
- จัคà¸à¸¡à¹ˆà¸²
-
-
- ทูà¸à¸£à¸´à¸à¸¡à¸à¸‡à¹‚à¸à¹€à¸¥à¸µà¸¢
-
-
- ปาตาà¸à¸²à¸¡à¸²à¹€à¸à¹à¸²
-
-
- à¸à¸à¸à¸´à¸§à¸¢à¸²à¸¡à¸à¸£à¸´à¹€à¸•เนีย
-
-
- ลีรามà¸à¸¥à¸•า
-
-
- ปà¸à¸™à¸”์มà¸à¸¥à¸•า
-
-
- รูปีมà¸à¸£à¸´à¹€à¸à¸µà¸¢à¸ª
-
-
- รูฟิยามัลดีฟส์
-
-
- ควาà¸à¸²à¸¡à¸²à¸¥à¸²à¸§à¸µ
-
-
- เปโซเม็à¸à¸‹à¸´à¹‚à¸
-
-
- เงินเปโซเม็à¸à¸‹à¸´à¹‚ภ(1861-1992)
-
-
- ยูนิà¹à¸”ด ดี à¸à¸´à¸™à¹€à¸§à¸à¸£à¹Œà¸à¸±à¹ˆà¸™ เม็à¸à¸‹à¸´à¹‚à¸
-
-
- ริงà¸à¸´à¸•มาเลเซีย
-
-
- เà¸à¸ªà¸„ูโดโมซัมà¸à¸´à¸
-
-
- เมติคัลโมซัมà¸à¸´à¸à¹€à¸à¹ˆà¸²
-
-
- เมติคัลโมซัมà¸à¸´à¸
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸™à¸²à¸¡à¸´à¹€à¸à¸µà¸¢
-
-
- ไนราไนจีเรีย
-
-
- คà¸à¸£à¹Œà¹‚ดà¸à¸²à¸™à¸´à¸à¸²à¸£à¸²à¸à¸±à¸§
-
-
- คà¸à¸£à¹Œà¹‚ดà¸à¸²à¹‚à¸à¹‚รนิà¸à¸²à¸£à¸²à¸à¸±à¸§
-
-
- à¸à¸´à¸¥à¹€à¸”à¸à¸£à¹Œà¹€à¸™à¹€à¸˜à¸à¸£à¹Œà¹à¸¥à¸™à¸”์
-
-
- โครนนà¸à¸£à¹Œà¹€à¸§à¸¢à¹Œ
-
-
- รูปีเนปาล
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸™à¸´à¸§à¸‹à¸µà¹à¸¥à¸™à¸”์
-
-
- เรียลโà¸à¸¡à¸²à¸™
-
-
- à¸à¸±à¸¥à¸à¸±à¸§à¸›à¸²à¸™à¸²à¸¡à¸²
-
-
- à¸à¸´à¸™à¸•ีเปรู
-
-
- นูโวซà¸à¸¥à¹€à¸›à¸£à¸¹
-
-
- ซà¸à¸¥à¹€à¸›à¸£à¸¹
-
-
- à¸à¸µà¸™à¸²à¸›à¸²à¸›à¸±à¸§à¸™à¸´à¸§à¸à¸µà¸™à¸µ
-
-
- เปโซฟิลิปปินส์
-
-
- รูปีปาà¸à¸µà¸ªà¸–าน
-
-
- ซลà¸à¸•ีโปà¹à¸¥à¸™à¸”์
-
-
- ซลà¸à¸•ีโปà¹à¸¥à¸™à¸”์ (1950-1995)
-
-
- เà¸à¸ªà¸„ูโดโปรตุเà¸à¸ª
-
-
- à¸à¸§à¸²à¸£à¸²à¸™à¸µà¸›à¸²à¸£à¸²à¸à¸§à¸±à¸¢
-
-
- เรียลà¸à¸²à¸•าร์
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹‚รดีเซีย
-
-
- ลิวโรมาเนียเà¸à¹ˆà¸²
-
-
- ลิวโรมาเนีย
-
-
- ดีนาร์เซà¸à¸£à¹Œà¹€à¸à¸µà¸¢
-
-
- รูเà¸à¸´à¸¥à¸£à¸±à¸ªà¹€à¸‹à¸µà¸¢
-
-
- รูเà¸à¸´à¸¥à¸£à¸±à¸ªà¹€à¸‹à¸µà¸¢ (1991-1998)
-
-
- ฟรังà¸à¹Œà¸£à¸§à¸±à¸™à¸”า
-
-
- ริยัลซาà¸à¸¸à¸”ีà¸à¸²à¸£à¸°à¹€à¸à¸µà¸¢
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹‚ซโลมà¸à¸™
-
-
- รูปีเซเà¸à¸¥à¸ªà¹Œ
-
-
- ดีนาร์ซูดานเà¸à¹ˆà¸²
-
-
- ปà¸à¸™à¸”์ซูดาน
-
-
- ปà¸à¸™à¸”์ซูดานเà¸à¹ˆà¸²
-
-
- โครนาสวีเดน
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸ªà¸´à¸‡à¸„โปร์
-
-
- ปà¸à¸™à¸”์เซนต์เฮเลนา
-
-
- ทà¸à¸¥à¸²à¸£à¹Œà¸ªà¹‚ลวีเนีย
-
-
- โครูนาสโลวัà¸
-
-
- ลีโà¸à¸™à¹€à¸‹à¸µà¸¢à¸£à¹Œà¸£à¸²à¸¥à¸µà¹‚à¸à¸™
-
-
- à¸à¸´à¸¥à¸¥à¸´à¸‡à¹‚ซมาเลีย
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸‹à¸¹à¸£à¸´à¸™à¸²à¹€à¸¡
-
-
- à¸à¸´à¸¥à¹€à¸”à¸à¸£à¹Œà¸‹à¸¹à¸£à¸´à¸™à¸²à¹€à¸¡
-
-
- ดà¸à¸à¸£à¸²à¹€à¸‹à¸²à¸•ูเมà¹à¸¥à¸°à¸›à¸£à¸´à¸™à¸‹à¸´à¸›à¸µ
-
-
- รูเà¸à¸´à¸¥à¹‚ซเวียต
-
-
- โคลà¸à¸™à¹€à¸à¸¥à¸‹à¸±à¸¥à¸§à¸²à¸”à¸à¸£à¹Œ
-
-
- ปà¸à¸™à¸”์ซีเรีย
-
-
- ลิลันà¸à¸µà¸™à¸µà¸ªà¸§à¸²à¸‹à¸´à¹à¸¥à¸™à¸”์
-
-
- à¸à¸²à¸—ไทย
-
-
- รูเà¸à¸´à¸¥à¸—าจิà¸à¸´à¸ªà¸–าน
-
-
- โซโมนีทาจิà¸à¸´à¸ªà¸–าน
-
-
- มานัตเติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน
-
-
- ดีนาร์ตูนิเซีย
-
-
- à¸à¸²à¹à¸à¸‡à¸à¸²à¸•à¸à¸‡à¸à¸²
-
-
- เà¸à¸ªà¸„ูโดติมà¸à¸£à¹Œ
-
-
- ลีราตุรà¸à¸µà¹€à¸à¹ˆà¸²
-
-
- ลีราตุรà¸à¸µ
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸•รินิà¹à¸”ดà¹à¸¥à¸°à¹‚ตเà¸à¹‚à¸
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹„ต้หวันใหม่
-
-
- à¸à¸´à¸¥à¸¥à¸´à¸‡à¹à¸—นซาเนีย
-
-
- ฮรีฟเนียยูเครน
-
-
- คาร์โà¸à¸§à¸²à¹€à¸™à¸•ซ์ยูเครน
-
-
- à¸à¸´à¸¥à¸¥à¸´à¸‡à¸¢à¸¹à¸à¸±à¸™à¸”า (1966-1987)
-
-
- à¸à¸´à¸¥à¸¥à¸´à¸‡à¸¢à¸¹à¸à¸±à¸™à¸”า
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸ªà¸«à¸£à¸±à¸
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸ªà¸«à¸£à¸±à¸ (วันถัดไป)
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸ªà¸«à¸£à¸±à¸ (วันเดียวà¸à¸±à¸™)
-
-
- เปโซเà¸à¸™à¸¢à¸¹à¸™à¸´à¹à¸”ดเซสà¸à¸´à¸™à¹€à¸”็à¸à¸‹à¸²à¹à¸”สà¸à¸¸à¸£à¸¸à¸à¸§à¸±à¸¢
-
-
- เปโซà¸à¸¸à¸£à¸¸à¸à¸§à¸±à¸¢ (1975-1993)
-
-
- เปโซà¸à¸¸à¸£à¸¸à¸à¸§à¸±à¸¢
-
-
- ซà¸à¸¡à¸à¸¸à¸‹à¹€à¸à¸à¸´à¸ªà¸–าน
-
-
- โà¸à¸¥à¸´à¸§à¸²à¸£à¹Œà¹€à¸§à¹€à¸™à¸‹à¸¸à¹€à¸à¸¥à¸²
-
-
- โà¸à¸¥à¸´à¸§à¸²à¸£à¹Œà¸Ÿà¸¹à¸£à¹Œà¹€à¸•เวเนซุเà¸à¸¥à¸²
-
-
- ดà¸à¸‡à¹€à¸§à¸µà¸¢à¸”นาม
-
-
- วาตูวานูà¸à¸²à¸•ู
-
-
- ทาลาซามัว
-
-
- ฟรังà¸à¹Œà¹€à¸‹à¸Ÿà¸²à¸˜à¸™à¸²à¸„ารรัà¸à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡
-
-
- เงิน
-
-
- ทà¸à¸‡
-
-
- หน่วยคà¸à¸¡à¹‚à¸à¸ªà¸´à¸•ยุโรป
-
-
- หน่วยโมเนทารียุโรป
-
-
- หน่วยà¸à¸±à¸à¸à¸µà¸¢à¸¸à¹‚รป [XBC]
-
-
- หน่วยà¸à¸±à¸à¸à¸µà¸¢à¸¸à¹‚รป [XBD]
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¹à¸„ริà¸à¹€à¸à¸µà¸¢à¸™à¸•ะวันà¸à¸à¸
-
-
- สิทธิถà¸à¸™à¹€à¸‡à¸´à¸™à¸à¸´à¹€à¸¨à¸©
-
-
- หน่วยสà¸à¸¸à¸¥à¹€à¸‡à¸´à¸™à¸¢à¸¸à¹‚รป
-
-
- ฟรังà¸à¹Œà¸—à¸à¸‡à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª
-
-
- ฟรังà¸à¹Œà¸¢à¸¹à¹„à¸à¸‹à¸µà¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª
-
-
- ฟรังà¸à¹Œà¹€à¸‹à¸Ÿà¸²à¸˜à¸™à¸²à¸„ารà¸à¸¥à¸²à¸‡à¸£à¸±à¸à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¸•ะวันตà¸
-
-
- à¸à¸±à¸¥à¹€à¸¥à¹€à¸”ียม
-
-
- ฟรังà¸à¹Œà¸‹à¸µà¹€à¸à¸Ÿà¸à¸µ
-
-
- à¹à¸à¸¥à¸•ินัม
-
-
- à¸à¸à¸‡à¸—ุน™ไรเน็ต
-
-
- รหัสทดสà¸à¸à¸ªà¸à¸¸à¸¥à¹€à¸‡à¸´à¸™
-
-
- ไม่มีหน่ว§ยสà¸à¸¸à¸¥à¹€à¸‡à¸´à¸™
-
-
- ดีนาร์เยเมน
-
-
- เรียลเยเมน
-
-
- ฮาร์ดดีนาร์ยูโà¸à¸ªà¸¥à¸²à¹€à¸§à¸µà¸¢
-
-
- โนวิย์ดีนาร์ยูโà¸à¸ªà¸¥à¸²à¹€à¸§à¸µà¸¢
-
-
- คà¸à¸™à¹€à¸§à¸à¸£à¹Œà¸—ิเà¸à¸´à¸¥à¸”ีนาร์ยูโà¸à¸ªà¸¥à¸²à¹€à¸§à¸µà¸¢
-
-
- à¹à¸£à¸™à¸”์à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•้ (à¸à¸²à¸£à¹€à¸‡à¸´à¸™)
-
-
- à¹à¸£à¸™à¸”์à¹à¸à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•้
-
-
- ควาà¸à¸²à¹à¸‹à¸¡à¹€à¸à¸µà¸¢
-
-
- นิวà¹à¸‹à¸£à¹Œà¸„à¸à¸‡à¹‚à¸
-
-
- à¹à¸‹à¸£à¹Œà¸„à¸à¸‡à¹‚à¸
-
-
- ดà¸à¸¥à¸¥à¸²à¸£à¹Œà¸‹à¸´à¸¡à¸à¸±à¸à¹€à¸§
-
-
-
-
-
- {0} วัน
-
-
- {0} à¸à¸±à¹ˆà¸§à¹‚มง
-
-
- {0} นาที
-
-
- {0} เดืà¸à¸™
-
-
- {0} วินาที
-
-
- {0} สัปดาห์
-
-
- {0} ปี
-
-
-
-
- ใà¸à¹ˆ
- ไม่ใà¸à¹ˆ
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/th_TH.xml b/airtime_mvc/library/Zend/Locale/Data/th_TH.xml
deleted file mode 100644
index f7213240f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/th_TH.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ti.xml b/airtime_mvc/library/Zend/Locale/Data/ti.xml
deleted file mode 100644
index 34ab7a1aa..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ti.xml
+++ /dev/null
@@ -1,325 +0,0 @@
-
-
-
-
-
-
-
-
-
- á áሪቃá•ሰá›
- á áˆáˆáˆ¨á›
- ዓረበá›
- á ዜáˆá‰£á‹áŒƒá•á›
- ቤላራሻá›
- ቡáˆáŒ‹áˆªá›
- ቢሃሪ
- በá•ጋáˆá›
- ብሬቶá•
- ቦስá’á‹«á•
- á«á‰³áˆ‹á•
- ቼáá›
- ወáˆáˆ½
- á‹´á’ሽ
- ጀáˆáˆ˜á•
- áŒáˆªá¨á›
- á¥á•áŒáˆá‹á›
- á¤áˆµáራá•ቶ
- ስá“á’ሽ
- á¤áˆµá‰¶á’á á•
- ባስáá›
- ááˆáˆ²á‹«á›
- áá’ሽ
- ታጋáˆáŒˆá›
- á‹áˆ®á›
- áˆáˆ¨á•ሳá‹á›
- áሪሰá›
- á á‹áˆªáˆ½
- á¥áˆµá®á‰µáˆµ ጌáˆáá›
- ጋለቪá›
- ጓራá’
- ጉጃራቲá›
- ዕብራስጥ
- ሕá•á‹°á›
- áሮሽያá•á›
- ሀá•ጋሪá›
- á¢á•ቴሠቋá•ቋ
- á¥á•á‹¶á‘ሲá›
- á á‹áˆµáˆ‹á•á‹°á›
- ጣáˆá‹«á•á›
- ጃá“á•á›
- ጃቫá•á›
- áŒá‹®áˆáŒá‹«á›
- á«áˆ›á‹°á›
- á®áˆªá‹«á›
- á©áˆá‹µáˆ½
- áªáˆ©áŒ‹á‹
- ላቲá•á›
- áˆá‰±á á’የá•
- ላቲቪያá•
- ማáá‹¶á’á›
- ማላያላáˆá›
- ማራቲá›
- ማላá‹á›
- ማáˆá‰²áˆµá›
- á”á–áˆá›
- ደች
- á–áˆá‹Œá‹á› (á“á‹ áá–áˆáˆµá)
- á–áˆá‹ŒáŒ‚á‹«á•
- á¦áªá‰³á•á›
- á¦áˆªá‹«
- á‘á•ጃቢá›
- á–áˆáˆ½
- á“ሽቶ
- á–áˆá‰±áŒ‹áˆá›
- á–áˆá‰±áŒ‹áˆá› (á“ዠብራá‹áˆ)
- á–áˆá‰±áŒ‹áˆá› (á“á‹ á–áˆá‰±áŒ‹áˆ)
- ሮማá’á‹«á•
- ራሽá›
- ሰáˆá‰¦- áሮá‹á‰³á•
- ስá•ሃáˆá›
- ስáˆá‰¨áá›
- ስá‰á‰ªá›
- á áˆá‰¤á’á›
- ሰáˆá‰¢á›
- ሰሴቶ
- ሱዳá•á›
- ስá‹á‹µá•á›
- ሰዋሂáˆá›
- ታáˆáˆá›
- ተሉጉá›
- ታá‹á›
- ትáŒáˆá›
- á“ዠቱáˆáª ሰብዓዠ(ቱáˆá«á‹)
- ááˆá•áŒá¦á•á›
- ቱáˆá¨á›
- ትá‹
- á‹©áረá’á›
- á¡áˆá‹±á›
- á¡á‹á‰ áá›
- ቪትá“áˆá›
- á‹áˆ³á›
- ዪዲሽ
- ዙሉá›
-
-
-
-
-
-
-
-
-
-
- [\u135F ሀ-ሆ ለ-ቆ ቈ á‰-በá‰-ቖ ቘ á‰-በበ-ᆠሠá-á á-á® á° á²-áµ á¸-á¾ á‹€ á‹‚-á‹… ወ-á‹ á‹-á‹– ዘ-á‹® á‹°-á‹· ጀ-ጠጠጒ-ጕ ጠ-á—]
- [á-ᙠሇ â¶€ á€-რâ¶-â¶„ ቇ á„-ᇠⶅ-ⶇ ᇠⶈ-ⶠᯠዠⶋ ዯ â¶Œ ዸ-á‹¿ ⶠⶠጠጘ-ጟ â¶“-â¶– â¶-â¶‘ ᇠáˆ-á â¶’ á˜-á â¶ -ⶦ ⶨ-â¶® â¶°-â¶¶ ⶸ-â¶¾ â·€-â·† â·ˆ-â· â·-â·– â·˜-â·]
-
-
-
-
-
-
-
- ጃá•á‹©
- áŒá‰¥áˆ©
- ማáˆá‰½
- á¤á•ረ
- ሜá‹
- áŒá•
- áŒáˆ‹á‹
- á¦áŒˆáˆµ
- ሴá•ቴ
- á¦áተ
- á–ቬáˆ
- ዲሴáˆ
-
-
- ጃá•ዩወሪ
- áŒá‰¥áˆ©á‹ˆáˆª
- ማáˆá‰½
- á¤á•ረáˆ
- ሜá‹
- áŒá•
- áŒáˆ‹á‹
- á¦áŒˆáˆµá‰µ
- ሴá•ቴáˆá‰ áˆ
- á¦áተá‹á‰ áˆ
- á–ቬáˆá‰ áˆ
- ዲሴáˆá‰ áˆ
-
-
-
-
- ጃ
- áŒ
- ማ
- á¤
- ሜ
- áŒ
- áŒ
- á¦
- ሴ
- á¦
- á–
- ዲ
-
-
-
-
-
-
- ሰá•á‰
- ሰá‘á‹
- ሠሉስ
- ረቡዕ
- áƒáˆ™áˆµ
- á‹“áˆá‰¢
- ቀዳáˆ
-
-
- ሰá•በት
- ሰá‘á‹
- ሠሉስ
- ረቡዕ
- áƒáˆ™áˆµ
- á‹“áˆá‰¢
- ቀዳáˆ
-
-
-
-
- ሰ
- ሰ
- áˆ
- ረ
- áƒ
- á‹“
- ቀ
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- á•ጉሆ ሰዓተ
- ድሕሠሰዓት
-
-
- á‹“/á‹“
- á‹“/áˆ
-
-
-
-
-
- EEEEᣠdd MMMM መዓáˆá‰² y G
-
-
-
-
- dd MMMM y
-
-
-
-
- dd-MMM-y
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd/MM
- dd MMMM
- MM/yy
- Q yy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- የብራá‹áˆ ሪáˆ
-
-
- የቻá‹á“ á‹©á ᕠረá•áˆá•ቢ
-
-
- የá¢á‰µá‹®áŒµá‹« ብáˆ
-
-
- á á‹áˆ®
-
-
- የá¥á•áŒáˆá‹ á“á‹á•ድ ስተáˆáˆá•áŒ
-
-
- የሕá•ድ ሩá’
-
-
- የጃá“ᕠየá•
-
-
- የራሻ ሩብáˆ
-
-
- የá ሜሪá«á• ዶላáˆ
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ti_ER.xml b/airtime_mvc/library/Zend/Locale/Data/ti_ER.xml
deleted file mode 100644
index 9b38a0eed..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ti_ER.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
- [\u135F á¡ á£-᧠ᢠá ᨠá²-á¼ á©-ᱠሀ-ሆ ለ-ሟ ረ-ቆ ቈ á‰-በá‰-ቖ ቘ á‰-በበ-ᆠሠá-á á-á® á° á²-áµ á¸-á¾ á‹€ á‹‚-á‹… ወ-á‹ á‹-á‹– ዘ-á‹® á‹°-á‹· ጀ-ጠጠጒ-ጕ ጠ-ጯ ጸ-ጿ áˆ-á—]
- [á-ᙠሇ â¶€ á€-რⶠሠ-ሧ â¶‚-â¶„ ቇ á„-ᇠⶅ-ⶇ ᇠⶈ-ⶠᯠዠⶋ ዯ â¶Œ ዸ-á‹¿ ⶠⶠጠጘ-ጟ â¶“-â¶– â¶-â¶‘ á€-ᇠáˆ-á â¶’ á˜-á â¶ -ⶦ ⶨ-â¶® â¶°-â¶¶ ⶸ-â¶¾ â·€-â·† â·ˆ-â· â·-â·– â·˜-â·]
-
-
-
-
-
-
-
- ጥሪ
- ለá«á‰²
- መጋቢ
- áˆá‹«á‹
- áŒá•ቦ
- ሰá
- ሓáˆáˆˆ
- áሓሰ
- መስá¨
- ጥቅáˆ
- ሕዳáˆ
- ታሕሳ
-
-
- ጥሪ
- ለá«á‰²á‰µ
- መጋቢት
- áˆá‹«á‹á‹«
- áŒá•ቦት
- ሰá
- ሓáˆáˆˆ
- áሓሰ
- መስá¨áˆ¨áˆ
- ጥቅáˆá‰²
- ሕዳáˆ
- ታሕሳስ
-
-
-
-
-
-
- ሰሉስ
- ሓሙስ
-
-
- ሰሉስ
- ሓሙስ
-
-
-
-
-
-
- EEEEá¡ dd MMMM መዓáˆá‰² y G
-
-
-
-
-
- {0} - {1}
-
- MM-dd - MM-dd
- MM-dd - MM-dd
-
-
- Eá¡ MM-dd - Eá¡ MM-dd
- Eá¡ MM-dd - Eá¡ MM-dd
-
-
- MMM-MMM
-
-
- MMM d-d
- MMM d - MMM d
-
-
- Eá¡ MMM d - Eá¡ MMM d
- Eá¡ MMM d - Eá¡ MMM d
-
-
- yyyy-MM - yyyy-MM
- yyyy-MM - yyyy-MM
-
-
- yyyy-MM-dd - yyyy-MM-dd
- yyyy-MM-dd - yyyy-MM-dd
- yyyy-MM-dd - yyyy-MM-dd
-
-
- Eá¡ yyyy-MM-dd - Eá¡ yyyy-MM-dd
- Eá¡ yyyy-MM-dd - Eá¡ yyyy-MM-dd
- Eá¡ yyyy-MM-dd - Eá¡ yyyy-MM-dd
-
-
- y MMM-MMM
- y MMM - y MMM
-
-
- y MMM d-d
- y MMM d - MMM d
- y MMM d - y MMM d
-
-
- Eá¡ dd MMM መዓáˆá‰² y G - Eá¡ dd MMM መዓáˆá‰² y G
- Eá¡ dd MMM መዓáˆá‰² y G - Eá¡ dd MMM መዓáˆá‰² y G
- Eá¡ dd MMM መዓáˆá‰² y G - Eá¡ dd MMM መዓáˆá‰² y G
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ti_ET.xml b/airtime_mvc/library/Zend/Locale/Data/ti_ET.xml
deleted file mode 100644
index 398862d5d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ti_ET.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tig.xml b/airtime_mvc/library/Zend/Locale/Data/tig.xml
deleted file mode 100644
index 8eb974072..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tig.xml
+++ /dev/null
@@ -1,500 +0,0 @@
-
-
-
-
-
-
-
-
-
- á á‹áˆá›
- á ብáˆá‹á›
- á áሪቃá•ስá›
- á áˆáˆáˆ¨á›
- á‹áˆá‰¢á›
- á ሳሜዛá‹
- á ያማáˆá›
- á ዜáˆá‰£á‹áŒƒá•á›
- ባስáªáˆá›
- ቤላራሻá›
- ቡáˆáŒ‹áˆªá›
- ቢሃሪ
- ቢስላáˆá›
- በá•ጋáˆá›
- ትበትá•á›
- ብሬቶá•á›
- ብáˆá•
- á«á‰³áˆ‹á•á›
- á®áˆáˆ²á«á›
- ቼáá›
- ወáˆáˆ½
- á‹´á’ሽ
- ጀáˆáˆ˜á•
- ድá‹á•áŒá»á›
- áŒáˆªáá›
- á¥á•áŒáˆá‹á›
- á¤áˆµáራá•ቶ
- ስá“á’ሽ
- á¤áˆµá‰¶á’á á•
- ባስáá›
- ááˆáˆ²á‹«á›
- áá’ሽ
- áጂá›
- á‹áˆ®á›
- áˆáˆ¨á•ሳá‹á›
- áሪስá›
- á á‹áˆªáˆ½
- á¥áˆµá®á‰µáˆµ ጌáˆáá›
- áŒá‹•á‹á›
- ጋለጋá›
- ጓራá’á›
- ጉጃáˆá‰²á›
- ሃá‹áˆ³á›
- ዕብራስጥ
- áˆá•ድá›
- áሮሽያá•á›
- ሀá•ጋሪá›
- á áˆáˆ˜á“á‹
- á¢á•ቴáˆáˆá•ጓ
- á¥á•á‹¶á’ሲá›
- á¥á•ተáˆáˆá•áŒá‹ˆ
- á¥á‘á’ያቅá›
- á á‹áˆµáˆ‹á•ድá›
- ጣáˆá‹«á•á›
- á¥á‘áቲቱትá›
- ጃá“á•á›
- ጃቫá•á›
- áŒá‹®áˆáŒá‹«á•
- á«á‹›áá›
- á«áˆ‹áˆáˆ±á‰µá›
- áመáˆá›
- á«á“ዳá›
- á®áˆªá‹«á›
- á«áˆ½áˆáˆá›
- á©áˆá‹µáˆ½á›
- áªáˆáŒá‹á›
- ላቲá•á›
- áˆá•ጋላá›
- ላá‹áˆµá›
- áˆá‰±á á’á‹«á•
- ላትቪያá•
- ማላጋስá›
- ማዮሪá›
- ማá¨á‹¶á’á›
- ማላያላáˆá›
- áˆá•áŒáˆ‹á‹á›
- áˆáˆá‹³á‰«á‹á“
- ማራá‹á›
- ማላá‹á›
- ማáˆá‰²áˆµá›
- ቡáˆáˆ›á›
- á“á¡áˆ©
- á”á“áˆá›
- ደች
- á–áˆá‹ŒáŒ‚á‹«á•
- á¦áªá‰³á•á›
- á¦áˆ®áˆá›
- á¦áˆªá‹«á›
- á“á•ጃቢá›
- á–áˆáˆ½
- á‘ሽቶá›
- á–áˆá‰±áŒ‹áˆá›
- áµá‰¿á›
- ሮማá•ስ
- ሩá•ዲá›
- ሮማá’á‹«á•
- ራሽá›
- áªá•á‹«áˆá‹‹á•ድá›
- ሳá•ስáሪትá›
- ሲá•ድሂá›
- ሳá•áŒá›
- ስá•ሃáˆá›
- ሲዳáˆá›
- ስáˆá‰«áá›
- ስáˆá‰ªá›
- ሳáˆá á›
- ሾá“á›
- ሱማáˆá›
- áˆá‰¤á’á›
- ሰáˆá‰¢á›
- ስዋቲá›
- ሶá‹á›
- ሱዳá•á›
- ስá‹á‹µá•á›
- ስዋሂáˆá›
- ታáˆáˆá›
- ተሉጉá›
- ታጂáªá›
- ታá‹á›
- ትáŒáˆá›
- ትáŒáˆ¨
- ቱáˆáመá•á›
- ታጋáˆáŒˆá›
- ጽዋá“á‹á›
- ቶá•ጋ
- ቱáˆáá›
- ጾá•ጋá›
- ታታáˆá›
- ትá‹á›
- á¡á‹áŒáˆáˆá›
- á‹©áረá’á›
- á¡áˆá‹±á›
- á¡á‹á‰ áá›
- ቪትá“áˆá›
- ቮላá‘áá›
- á‹áˆáá›
- á‹áˆ³á›
- á‹á‹²áˆ»á‹á›
- ዮሩባá‹á›
- á‹¡á‹‹á•áŒá›
- ቻá‹á•á›
- ዙሉá›
-
-
-
-
-
- á á•ዶራ
- የተባበሩት á ረብ á¤áˆáˆ¬á‰µáˆµ
- á áˆá‰£á’á‹«
- á áˆáˆœá’á‹«
- á”ዘáˆáˆ‹á•ድስ á á•ቲáˆáˆµ
- á áˆáŒ€á•ቲá“
- á¦áˆµá‰µáˆªá‹«
- á á‹áˆµá‰µáˆ¬áˆá‹«
- á ዘáˆá‰£áŒƒá•
- ቦስá’á‹« á¥á“ ሄáˆá‹áŒá‰ªá’á‹«
- ባáˆá‰¤á‹¶áˆµ
- ቤáˆáŒ„áˆ
- ቡáˆáŒŒáˆªá‹«
- ባህሬá•
- ቤáˆáˆ™á‹³
- ቦáˆá‰ªá‹«
- ብራá‹áˆ
- ቡህታá•
- ቤላሩስ
- ቤáˆá‹˜
- á®á•áŒ
- የመá«á¨áˆˆá›á‹ á áሪ᫠ሪáብáˆá
- ስá‹á‹˜áˆáˆ‹á•ድ
- ቺáˆ
- á«áˆœáˆ©á•
- ቻá‹á“
- á®áˆáˆá‰¢á‹«
- ሰáˆá‰¢á‹«
- á¬á• ቬáˆá‹´
- ሳá‹á•ረስ
- ቼá ሪá‘ብáˆá
- ጀáˆáˆ˜á•
- á‹´á•ማáˆá
- á‹¶áˆá’á«
- á‹¶áˆá’á ሪá‘ብáˆá
- á áˆáŒ„ሪያ
- á¢á³á‹¶áˆ
- á¤áˆµá‰¶á’á‹«
- áŒá‰¥áŒ½
- áˆá‹•ራባዠሳህራ
- á¤áˆá‰µáˆ«
- ስá”á•
- á¢á‰µá‹®áŒµá‹«
- áá•ላá•ድ
- áጂ
- áˆáሮá”ዢያ
- áˆáˆ¨á•ሳá‹
- á¥á•áŒáˆá‹
- ጆáˆáŒ‚á‹«
- የáˆáˆ¨á•ሳዠጉá‹á á“
- ጋáˆá‰¢á‹«
- áŒá’
- á¢á³á‰¶áˆªá‹«áˆ áŒá’
- áŒáˆªá
- ቢሳá‹
- ጉያá“
- ሆá•ጠá®á•áŒ
- áሮá¤áˆ½á‹«
- ሀá‹á‰²
- ሀá•ጋሪ
- á¢á•á‹¶á”ዢያ
- á የáˆáˆ‹á•ድ
- á¥áˆµáˆ«á¤áˆ
- ህá•ድ
- á¢áˆ«á‰…
- á á‹áˆµáˆ‹á•ድ
- ጣáˆá‹«á•
- ጃማá‹á«
- ጆáˆá‹³á•
- ጃá“á•
- á«áˆá‰¦á‹²á‹«
- á®áˆáˆ®áˆµ
- ደቡብ á®áˆªá‹«
- ሰሜᕠá®áˆªá‹«
- áዌት
- áˆá‰£á–ስ
- áˆá‰±á‹Œá’á‹«
- ላትቪያ
- áˆá‰¢á‹«
- áˆáˆ®á®
- áˆáˆá‹¶á‰«
- ማá¨á‹¶á’á‹«
- áˆá•áŒáˆá‹«
- ማá«á‹
- áˆáˆªá‰´á’á‹«
- ማáˆá‰³
- ማሩሸስ
- ሜáሲá®
- ማሌዢያ
- á“áˆá‰¢á‹«
- á’á‹ á«áˆŒá‹¶á’á‹«
- á“á‹áŒ„ሪያ
- á”ዘáˆáˆ‹á•ድ
- á–áˆá‹Œ
- á”á“áˆ
- á’á‹ á‹áˆ‹á•ድ
- á”ሩ
- የáˆáˆ¨á•ሳዠá–áˆá”ዢያ
- á“á‘á‹‹ á’á‹ áŒá’
- á–ላá•ድ
- á–áˆá‰³ ሪá®
- ሮሜá’á‹«
- ራሺያ
- ሳá‹á‹µá ረቢያ
- ሱዳá•
- ስá‹á‹µá•
- ሲá•ጋá–áˆ
- ስáˆá‰¬á’á‹«
- ስáˆá‰«áªá‹«
- ሴá”ጋáˆ
- ሱማሌ
- ሲሪያ
- ቻድ
- የáˆáˆ¨á•ሳዠደቡባዠáŒá‹›á‰¶á‰½
- ታá‹áˆ‹á•ድ
- ታጃáªáˆµá‰³á•
- áˆáˆµáˆ«á‰… ቲáˆáˆ
- ቱá’á‹á‹«
- ቱáˆá
- ትሪá’ዳድ á¥á“ ቶባáŒ
- ታá•á‹›á’á‹«
- ዩጋá•ዳ
- á ሜሪá«
- á‹©á‹á‰ áªáˆµá‰³á•
- ቬá•ዙዌላ
- የá¥á•áŒáˆá‹ ድá•áŒáˆ ደሴቶች
- የá ሜሪ᫠ቨáˆáŒ‚ᕠደሴቶች
- የመá•
- ደቡብ á áሪá«
- á‹›áˆá‰¢á‹«
-
-
-
- [\u135F á¡ á£-᧠ᢠá ᨠá-á™ á²-á¼ á©-ᱠሀ-ሠⶀ áˆ-ሟ á€-რⶠሠ-ሯ â¶‚ ሰ-ሷ ⶃ ሸ-ሿ â¶„ ቀ-ቈ á‰-በá‰-ቖ ቘ á‰-በበ-ቧ á„-ᇠⶅ ቨ-ቷ ⶆ ቸ-ቿ ⶇ á€-ሠá-á á-ᗠⶈ á˜-០ⶉ á -á§ â¶ á¨-á° á²-áµ á¸-á¾ á‹€ á‹‚-á‹… ወ-á‹– ዘ-ዟ â¶‹ á‹ -á‹· â¶Œ ዸ-á‹¿ ⶠጀ-ጇ ⶠገ-ጠጒ-ጕ ጘ-ጟ â¶“-â¶– ጠ-ጧ ⶠጨ-ጯ ⶠጰ-ጷ â¶‘ ጸ-á áˆ-á‹ á-á— áŒ-á â¶’ á˜-á â¶ -ⶦ ⶨ-â¶® â¶°-â¶¶ ⶸ-â¶¾ â·€-â·† â·ˆ-â· â·-â·– â·˜-â·]
-
-
-
-
-
-
-
- ጃá•á‹©
- áŒá‰¥áˆ©
- ማáˆá‰½
- á¤á•ረ
- ሜá‹
- áŒá•
- áŒáˆ‹á‹
- á¦áŒˆáˆµ
- ሴá•ቴ
- á¦áተ
- á–ቬáˆ
- ዲሴáˆ
-
-
- ጃá•ዩወሪ
- áŒá‰¥áˆ©á‹ˆáˆª
- ማáˆá‰½
- á¤á•ረáˆ
- ሜá‹
- áŒá•
- áŒáˆ‹á‹
- á¦áŒˆáˆµá‰µ
- ሴá•ቴáˆá‰ áˆ
- á¦áተá‹á‰ áˆ
- á–ቬáˆá‰ áˆ
- ዲሴáˆá‰ áˆ
-
-
-
-
- ጃ
- áŒ
- ማ
- á¤
- ሜ
- áŒ
- áŒ
- á¦
- ሴ
- á¦
- á–
- ዲ
-
-
-
-
-
-
- ሰ/ዓ
- ሰá–
- ታላሸ
- á£áˆ¨áˆ
- á¨áˆáˆ½
- ጅáˆá‹“
- ሰ/á•
-
-
- ሰá•በት ዓባá‹
- ሰá–
- ታላሸá–
- á£áˆ¨áˆá‰£á‹“
- á¨áˆáˆ½
- ጅáˆá‹“ት
- ሰá•በት á•á¢áˆ½
-
-
-
-
- ሰ
- ሰ
- ታ
- á£
- á¨
- ጅ
- ሰ
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- ቀደሠሰáˆáˆá‹•áˆ
- ሓቆ ስáˆáˆá‹•áˆ
-
-
- á‹“/á‹“
- á‹“/áˆ
-
-
-
-
-
- EEEEᡠdd MMMM ዮሠy G
-
-
-
-
- dd MMMM y
-
-
-
-
- dd-MMM-y
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd/MM
- dd MMMM
- MM/yy
- Q yy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- የብራá‹áˆ ሪáˆ
-
-
- የቻá‹á“ á‹©á ᕠረá•áˆá•ቢ
-
-
- የá¢á‰µá‹®áŒµá‹« ብáˆ
-
-
- á á‹áˆ®
-
-
- የá¥á•áŒáˆá‹ á“á‹á•ድ ስተáˆáˆá•áŒ
-
-
- የሕá•ድ ሩá’
-
-
- የጃá“ᕠየá•
-
-
- የራሻ ሩብáˆ
-
-
- የá ሜሪá«á• ዶላáˆ
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tig_ER.xml b/airtime_mvc/library/Zend/Locale/Data/tig_ER.xml
deleted file mode 100644
index f2490f578..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tig_ER.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tl.xml b/airtime_mvc/library/Zend/Locale/Data/tl.xml
deleted file mode 100644
index 4095f03ba..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tl.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tn.xml b/airtime_mvc/library/Zend/Locale/Data/tn.xml
deleted file mode 100644
index a93bf3b7d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tn.xml
+++ /dev/null
@@ -1,307 +0,0 @@
-
-
-
-
-
-
-
-
-
- Seburu
- Amhariki
- Arabic
- Azerbaijani
- Belarusian
- Bulgarian
- Bihari
- Bengali
- SeBosnia
- Catalan
- Se Czeck
- Welsh
- Danish
- German
- SeGerika
- Sekgoa
- Esperanto
- Spanish
- Estonian
- Basque
- Mo/SePerishia
- Se-Finland
- Tagalog
- Faroese
- Se Fora
- Frisian
- Irish
- Scots Gaelic
- Galician
- Gujarati
- Se heberu
- Hindi
- Croatian
- Hungarian
- Interlingua
- Indonesian
- Icelandic
- Se Italiano
- Se Japan
- Javanese
- Mo/SeJojia
- Kannada
- Se Korea
- Latin
- Lithuanian
- Latvian
- Macedonian
- Malayalam
- Marathi
- Malay
- Maltese
- Nepali
- Se Dutch
- Puo ya kwa Norway
- Occitan
- Punjabi
- Se Poland
- Se Potoketsi
- Se Roma
- Russian
- Slovak
- Slovenian
- Albanian
- Serbian
- Mo/SeSundane
- Swedish
- Swahili
- Tamil
- Telugu
- Thai
- Tigrinya
- Klingon
- Setswana
- Turkish
- Ukrainian
- Urdu
- Uzbek
- Vietnamese
- IsiXhosa
- IsiZulu
-
-
-
- [a b d e Ăª f-o Ă´ p r-u w y]
- [c q v x z]
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Fer
- Tlh
- Mop
- Mor
- Mot
- See
- Phu
- Pha
- Lwe
- Dip
- Ngw
- Sed
-
-
- Ferikgong
- Tlhakole
- Mopitlo
- Moranang
- Motsheganang
- Seetebosigo
- Phukwi
- Phatwe
- Lwetse
- Diphalane
- Ngwanatsele
- Sedimonthole
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- Tsh
- Mos
- Bed
- Rar
- Ne
- Tla
- Mat
-
-
- Tshipi
- Mosopulogo
- Labobedi
- Laboraro
- Labone
- Labotlhano
- Matlhatso
-
-
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- Q1
- Q2
- Q3
- Q4
-
-
-
- AM
- PM
-
-
- BC
- AD
-
-
- BC
- AD
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tn_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/tn_ZA.xml
deleted file mode 100644
index 969ca7f0c..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tn_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/to.xml b/airtime_mvc/library/Zend/Locale/Data/to.xml
deleted file mode 100644
index 8e098fdce..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/to.xml
+++ /dev/null
@@ -1,611 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- lea fakaʻalepea
- lea faʻu pē kehe
- lea fakasiamane
- lea fakakalisi
- lea fakapilitÄnia
- lea fakasepeni
- lea fakapēsia
- lea fakafinilani
- lea fakafisi
- lea fakafalanisē
- lea fakaʻaealani
- lea fakakilipasi
- lea fakakalisimuʻa
- lea fakahauaiʻi
- lea fakahepelū
- lea fakaʻītali
- lea fakasiapani
- lea fakakÅlea
- lea fakalatina
- lea fakamÄsolo
- lea fakamauli
- lea kehekehe
- lea fakamalei
- lea fakapema
- lea fakanaulu
- lea fakaniuē
- lea fakaholani
- lea fakanoauē
- lea fakapotukali
- lea fakapotukali-palÄsili
- lea fakalapanui
- lea fakalalotonga
- lea fakalusia
- lea fakasikotilani
- lea fakaʻilonga
- lea fakahaʻamoa
- lea fakasueteni
- lea fakatokelau
- lea fakatonga
- lea fakatoake
- lea fakatūvalu
- lea fakatahisi
- lea taʻeʻiloa
- lea fakasiaina
- lea fakasiaina fakangofua
- lea fakasiaina tukufakaholo
- ʻikai ha lea
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MÄmani
- ʻAfelika
- ʻAmelika tokelau
- ʻAmelika tonga
- ʻOseania
- ʻAfelika hihifo
- ʻAmelika lotoloto
- ʻAfelika hahake
- ʻAfelika tokelau
- ʻAfelika lotoloto
- ʻAfelika fakatonga
- Ongo ʻAmelika
- ʻAmelika tonga ange
- Kalipea
- ʻĒsia hahake
- ʻĒsia tonga
- ʻĒsia tongahahake
- ʻEulope tonga
- ʻAositelēlia mo Nuʻusila
- Melanisia
- Potu fonua Mikolonisia
- Polinisia
- ʻĒsia tongalotoloto
- ʻĒsia
- ʻĒsia lotoloto
- ʻĒsia hihifo
- ʻEulope
- ʻEulope hahake
- ʻEulope tokelau
- ʻEulope hihifo
- Komoniueli
- ʻAmelika fakalatina mo Kalipea
- Anitikua mo Palaputa
- Anikuila
- Ê»AnetÄtika
- Haʻamoa fakaʻamelika
- ʻAositelēlia
- Pelesiume
- PalÄsili
- Pahama
- Motu Puveti
- Potisiuana
- Pelise
- KÄnata
- Suisilani
- ʻOtumotu Kuki
- Siaina
- Motu Kilisimasi
- Siamane
- Tominika
- ʻIsipite
- Sepeni
- Finilani
- Fisi
- Mikolonisia
- Falanisē
- PilitÄnia
- KelenatÄ
- Kuenisī
- Kana
- SipalÄlitÄ
- Kamipia
- Kalisi
- ʻOtumotu Siosia-tonga mo Saniuisi-tonga
- Kuami
- Kuiana
- Hongi Kongi SAR Siaina
- ʻOtumotu Heati mo Makitonali
- Honitulasi
- ʻAealani
- ʻIsileli
- Motu Mani
- ʻInitia
- Potu fonua moana Ê»Initia fakapilitÄnia
- ʻĪtali
- Selusī
- Siapani
- Kenia
- Kilipasi
- KÅloa tokelau
- KÅlea tonga
- Sīloni
- Laipelia
- Lesoto
- Ê»Otumotu MÄsolo
- ʻOtumotu Maliana tokelau
- Moʻungaselati
- Malita
- Maulitiusi
- Malaui
- MekesikÅ
- Namipia
- Niu Kaletonia
- Motu NÅfoliki
- Naisilia
- Holani
- Noauē
- Naulu
- Niuē
- Nuʻusila
- PanamÄ
- Polinisia fakafalanisē
- Papuaniukini
- Pakisitani
- Pitikeni
- Potukali
- Palau
- ʻEulope fakataha
- Lūsia
- LuanitÄ
- ʻOtumotu Solomone
- ʻOtumotu Seiseli
- Suēteni
- Singapula
- Potu fonua tonga fakafalanisē
- Tokelau
- Tonga
- Toake
- Tilinitati mo Topako
- Tūvalu
- ʻOtumotu siʻi ʻo ʻAmelika
- Puleʻanga fakataha ʻAmelika
- Vatikani
- Ê»Otumotu Vilikini fakapilitÄnia
- ʻOtumotu Vilikini fakaʻamelika
- Vanuatu
- ʻUvea mo Futuna
- Haʻamoa
- ʻAfelika tonga
- Simipapue
- Potu fonua taʻeʻiloa pe hala
-
-
- tohi mÄhina
- tohi hokohoko
- paʻanga
-
-
- fakaputa
- fakasiaina
- hangatonu
- fakakelekolia
- fakahepelū
- fakaʻinitia
- fakamohameti
- fakamohameti-sivile
- fakasiapani
-
-
- fakamita
- fakaʻamelika
-
-
-
- [a Ă¡ Ä e Ă© Ä“ f h Ê» i Ă Ä« k-n {ng} o Ă³ Å p s-u Ăº Å« v]
- [Ă Äƒ Ă¢ Ă¥ ä æ b c ç d è Ä• Ăª Ă« g ì Ä Ă® Ă¯ j ñ Ă² Å Ă´ ö ø Å“ q r ĂŸ Ă¹ Å Ă» Ă¼ w-y Ă¿ z]
- [a-z]
-
-
- “
- â€
- «
- »
-
-
-
-
-
-
-
- SÄn
- Fēp
- Maʻa
- ʻEpe
- MÄ“
- Sun
- Siu
- ʻAok
- Sēp
- ʻOka
- NÅv
- Tis
-
-
- SÄnuali
- Fēpueli
- Maʻasi
- ʻEpeleli
- MÄ“
- Sune
- Siulai
- ʻAokosi
- Sēpitema
- ʻOkatopa
- NÅvema
- Tisema
-
-
-
-
- S
- F
- M
- E
- M
- S
- S
- A
- S
- O
- N
- T
-
-
-
-
-
-
- SÄp
- MÅn
- Tus
- Pul
- Tuʻa
- Fal
- Tok
-
-
- SÄpate
- MÅnite
- Tusite
- Pulelulu
- Tuʻapulelulu
- Falaite
- Tokonaki
-
-
-
-
- S
- M
- T
- P
- T
- F
- T
-
-
-
-
-
-
- K1
- K2
- K3
- K4
-
-
- kuata ʻuluaki
- kuata ua
- kuata tolu
- kuata fÄ
-
-
-
-
- 1
- 2
- 3
- 4
-
-
- kuata 1
- kuata 2
- kuata 3
- kuata 4
-
-
-
- HH
- EA
-
-
- ki muʻa
- taʻu ʻo Sīsū
-
-
- KM
- TS
-
-
- KÄMÄ
- TÄSÄ
-
-
-
-
-
- EEEE d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- dd-MM-yyyy
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- d
- H:mm
- L
- d-M
- E d-M
- LLL
- d MMM
- E d MMM
- d MMMM
- E d MMMM
- mm:ss
- y
- M-yyyy
- EEE d-M-yyyy
- MMM y
- EEE d MMM y
- MMMM y
- yyyy Q
- y QQQ
- MM-yy
- MMM yy
- Q yy
-
-
-
-
- kuonga
-
-
- taʻu
-
-
- mÄhina
-
-
- uike
-
-
- ʻaho
- ʻaneheafi
- ʻaneafi
- Ê»ahĂ³ ni
- ʻapongipongi
- ʻahepongipongi
-
-
- ʻaho ʻo e uike
-
-
- HH/EA
-
-
- houa
-
-
- miniti
-
-
- sekoni
-
-
- vahetaimi
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- Houa {0}
-
-
- houa fakafisi
- houa fakafisi fakamaama
-
-
-
-
- houa fakahauaʻi
-
-
-
-
- houa fakanuʻusila
- houa fakanuʻusila fakasīpinga
- houa fakanuʻusila fakamaama
-
-
-
-
- houa fakaniuē
-
-
-
-
- houa fakahaʻamoa
-
-
-
-
- houa fakatahisi
-
-
-
-
- houa fakatokelau
-
-
-
-
- houa fakatonga
- houa fakatonga lotohē
-
-
-
-
- houa fakatūvalu
-
-
-
-
- houa fakaʻuvea mo futuna
-
-
-
-
-
-
- .
- ,
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤ #,##0.00
-
-
- {0} {1}
-
-
-
-
- {0} ʻa
-
-
- {0} m
-
-
- {0} u
-
-
- {0} t
-
-
-
-
- ʻio
- ʻikai
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/to_TO.xml b/airtime_mvc/library/Zend/Locale/Data/to_TO.xml
deleted file mode 100644
index 8610c3bc7..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/to_TO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tr.xml b/airtime_mvc/library/Zend/Locale/Data/tr.xml
deleted file mode 100644
index eca63b7fb..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tr.xml
+++ /dev/null
@@ -1,3770 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- Afar
- Abazca
- Achinese
- Acoli
- Adangme
- Çerkezce
- Avestçe
- Afrikaan Dili
- Afro-Asyatik Diller
- Afrihili
- Ayni Dili
- Akan
- Akad Dili
- Aleut
- Algonkin Dili
- GĂ¼ney Altayca
- Amharca
- Aragonca
- Eski İngilizce
- Angika
- Apaçi Dilleri
- Arapça
- Aramice
- Araukanya Dili
- Arapaho Dili
- Yapay Diller
- Arawak Dili
- Assamca
- Asturyasca
- AtabaÅŸkan Dilleri
- Avustralya Dilleri
- Avar Dili
- Awadhi
- Aymara
- Azerice
- BaÅŸkırtça
- Banda Dili
- Bamileke Dilleri
- Baluchi
- Bali Dili
- Basa Dili
- Baltık Dilleri
- Beyaz Rusça
- Beja Dili
- Bemba
- Berberi
- Bulgarca
- Bihari
- Arayanice
- Bislama
- Bikol
- Bini
- Siksika
- Bambara
- Bengalce
- Bantu Dili
- Tibetçe
- Bretonca
- Braj
- BoÅŸnakça
- Batak
- Buryat
- Bugis
- Blin
- Katalanca
- Caddo
- Orta Amerika Yerli Dilleri
- Carib
- Kafkas Dilleri
- Atsam
- Çeçence
- Cebuano
- Kelt Dilleri
- Chamorro
- Chibcha
- ÇaÄŸatay Dili
- Chuukese
- Mari
- Chinook Jargon
- Choctaw
- Chipewyan
- Çeroki
- Åayen Dili
- Chamic Dilleri
- Korsikaca
- Kiptice
- İngilizce tabanlı Creole ve Pidgin Dilleri
- Fransızca tabanlı Creole ve Pidgin Dilleri
- Portekizce tabanlı Creole ve Pidgin Dilleri
- Cree
- Kırım TĂ¼rkçesi
- Creole ve Pidgin Dilleri
- Çekçe
- Kashubian
- Kilise Slavcası
- KuÅŸitik Diller
- ÇuvaÅŸĂ§a
- Galce
- Danca
- Dakota
- Dargince
- Dayak
- Almanca
- Avusturya Almancası
- İsviçre YĂ¼ksek Almancası
- Delaware
- Slavey
- Dogrib
- Dinka
- Dogri
- Dravid Dilleri
- AÅŸağı Sorbça
- Duala
- OrtaçaÄŸ Felemenkçesi
- Divehi
- Dyula
- Butan Dili
- Ewe
- Efik
- Eski Mısır Dili
- Ekajuk
- Yunanca
- Elam
- İngilizce
- Avustralya İngilizcesi
- Kanada İngilizcesi
- İngiliz İngilizcesi
- Amerikan İngilizcesi
- OrtaçaÄŸ İngilizcesi
- Esperanto
- İspanyolca
- Latin Amerika İspanyolcası
- İber İspanyolcası
- Estonya Dili
- Baskça
- Ewondo
- Farsça
- Fang
- Fanti
- Fulah
- Fince
- Filipino
- Finno - Ugrik Diller
- Fiji Dili
- Faroe Dili
- Fon
- Fransızca
- Kanada Fransızcası
- İsviçre Fransızcası
- OrtaçaÄŸ Fransızcası
- Eski Fransızca
- Kuzey Frizce
- DoÄŸu Frizcesi
- Friulian
- Batı Frizcesi
- İrlanda Dili
- Ga
- Gayo
- Gbaya
- İskoç Gal Dili
- Cermen Dilleri
- Geez
- Kiribati Dili
- Galiçyaca
- OrtaçaÄŸ YĂ¼ksek Almancası
- Guarani
- Eski YĂ¼ksek Almanca
- Gondi
- Gorontalo
- Gotça
- Grebo
- Antik Yunanca
- İsviçre Almancası
- Gujarati
- Manks
- Gwichʼin
- Hausa
- Haida
- Hawaii Dili
- İbranice
- Hintçe
- Hiligaynon
- Himachali
- Hititçe
- Hmong
- Hiri Motu
- Hırvatça
- Yukarı Sorbça
- Haiti Dili
- Macarca
- Hupa
- Ermenice
- Herero
- Interlingua
- Iban
- Endonezce
- Interlingue
- İbo Dili
- Sichuan Yi
- Ijo
- Inupiak
- Iloko
- Hint Dilleri
- Hint-Avrupa Dilleri
- İnguş Dili
- Ido
- İran Dilleri
- İroqu Dili
- İzlandaca
- İtalyanca
- Inuktitut
- Japonca
- Lojban
- Yahudi Farsçası
- Yahudi Arapçası
- Cava Dili
- GĂ¼rcĂ¼ce
- Karakalpakça
- Kabile
- Kaçin
- Jju
- Kamba
- Karen
- Kawi
- Kabardeyce
- Tyap
- Koro
- Kongo
- Khasi
- Hoisan Dilleri
- Hotanca
- Kikuyu
- Kuanyama
- Kazakça
- Grönland Dili
- Kamboçya Dili
- Kimbundu
- Kannada
- Korece
- Konkani
- Kosraean
- Kpelle
- Kanuri
- Karaçay-Balkarça
- Karelyaca
- Kru
- Kurukh
- KeÅŸmirce
- KĂ¼rtçe
- Kumukça
- Kutenai
- Komi
- Kernevekçe
- Kırgızca
- Latince
- Ladino
- Lahnda
- Lamba
- LĂ¼ksemburgca
- Lezgice
- Ganda
- Limburgca
- Lingala
- Laos Dili
- Mongo
- Lozi
- Litvanyaca
- Luba-Katanga
- Luba-Lulua
- Luiseno
- Lunda
- Luo
- Lushai
- Letonca
- Madura Dili
- Magahi
- Maithili
- Makasar
- Mandingo
- Avustronezya Dili
- Masai
- MokÅŸa Dili
- Mandar
- Mende
- Malagasi
- OrtaçaÄŸ İrlandacası
- Marshall Adaları Dili
- Maori
- Micmac
- Minangkabau
- ÇeÅŸitli Diller
- Makedonca
- Mon-Khmer Dilleri
- Malayalam
- MoÄŸolca
- Mançurya Dili
- Manipuri
- Manobo Dilleri
- Moldovaca
- Mohawk
- Mossi
- Marathi
- Malay
- Malta Dili
- Birden Fazla Dil
- Munda Dilleri
- Creek
- Miranda Dili
- Marwari
- Birmanya Dili
- Maya Dilleri
- Erzya
- Nauru Dili
- Nahuatl
- Kuzey Amerika Yerli Dilleri
- Napolice
- Norveççe BokmĂ¥l
- Kuzey Ndebele
- Aşağı Almanca
- Nepalce
- Newari
- Ndonga
- Nias
- Nijer-Kordofan Dilleri
- Niuean
- Hollanda Dili
- Felemenkçe
- Norveççe Nynorsk
- Norveççe
- Nogayca
- Eski Norse
- N’Ko
- GĂ¼ney Ndebele
- Kuzey Sotho
- Nubian Dilleri
- Navaho Dili
- Klasik Nevari
- Nyanja
- Nyamwezi
- Nyankole
- Nyoro
- Nzima
- Oksitanca
- Ojibva Dili
- Oromo
- Oriya
- Osetçe
- Osage
- Osmanlı TĂ¼rkçesi
- Otomi Dilleri
- Pencap Dili
- Papua Dilleri
- Pangasinan
- Pehlevi Dili
- Pampanga
- Papiamento
- Palau Dili
- Eski Farsça
- Filipinler Dilleri
- Fenike Dili
- Pali
- Lehçe
- Pohnpeian
- Prakrit Dilleri
- Eski Provensal
- PeÅŸtuca
- Portekizce
- Brezilya Portekizcesi
- İber Portekizcesi
- Quechua
- Rajasthani
- Rapanui
- Rarotongan
- Rhaeto-Roman Dili
- Kirundi
- Romence
- Roman Dilleri
- Romanca
- Köken
- Rusça
- Ulahça
- Kinyarwanda
- Sanskritçe
- Sandawe
- Yakutça
- GĂ¼ney Amerika Yerli Dilleri
- Salishan Dilleri
- Samarit Aramcası
- Sasak
- Santali
- Sardunya Dili
- Sicilyaca
- Scots
- Sindhi
- Kuzey Sami
- Selkup
- Semitik Diller
- Sangho
- Eski İrlandaca
- İşaret Dilleri
- Sırp-Hırvat Dili
- Shan Dili
- Seylanca
- Sidamo
- Siu Dilleri
- Sino-Tibet Dilleri
- Slovakça
- Slovence
- Slav Dilleri
- Samoa Dili
- GĂ¼ney Sami
- Sami Dilleri
- Lule Sami
- Inari Sami
- Skolt Sami
- Shona
- Soninke
- Somali Dili
- Sogdiana Dili
- Songhai
- Arnavutça
- Sırpça
- Sranan Tongo
- Serer
- Siswati
- Nil-Sahara Dilleri
- GĂ¼ney Sotho
- Sunda Dili
- Sukuma
- Susu
- SĂ¼merce
- İsveççe
- Swahili
- Klasik SĂ¼ryanice
- SĂ¼ryanice
- Tamilce
- Tai Dili
- Telugu
- Timne
- Tereno
- Tetum
- Tacikçe
- Tayca
- Tigrinya
- Tigre
- Tiv
- TĂ¼rkmence
- Tokelau
- Takalotça
- Klingon
- Tlingit
- TamaÅŸek
- Setswana
- Tonga
- Nyasa Tonga
- Tok Pisin
- TĂ¼rkçe
- Tsonga
- Tsimshian
- Tatarca
- Tumbuka
- Tupi Dilleri
- Altay Dilleri
- Tuvalu
- Twi
- Tahiti Dili
- Tuvaca
- Udmurtça
- Uygurca
- Ugarit Dili
- Ukraynaca
- Umbundu
- Bilinmeyen veya Geçersiz Dil
- Urduca
- Özbekçe
- Vai
- Venda
- Vietnamca
- VolapĂ¼k
- Votic
- Valonca
- Wakashan Dilleri
- Walamo
- Waray
- Washo
- Sorb Dilleri
- Volofca
- Kalmıkça
- Xhosa
- Yao
- Yapça
- YidiÅŸ
- Yoruba
- Yupik Dili
- Zhuang
- Zapotek Dili
- Blis Sembolleri
- Zenaga
- Çince
- BasitleÅŸtirilmiÅŸ Çince
- Geleneksel Çince
- Zande
- Zulu
- Zuni
- Dilbilim içeriÄŸi yok
- Zazaca
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DĂ¼nya
- Afrika
- Kuzey Amerika
- GĂ¼ney Amerika
- Okyanusya
- Batı Afrika
- Orta Amerika
- DoÄŸu Afrika
- Kuzey Afrika
- Orta Afrika
- Afrika'nın GĂ¼neyi
- Amerika
- Amerika'nın Kuzeyi
- Karayipler
- DoÄŸu Asya
- GĂ¼ney Asya
- GĂ¼ney DoÄŸu Asya
- GĂ¼ney Avrupa
- Avustralya ve Yeni Zelanda
- Melanezya
- Mikronezya
- Polinezya
- GĂ¼ney Orta Asya
- Asya
- Orta Asya
- Batı Asya
- Avrupa
- DoÄŸu Avrupa
- Kuzey Avrupa
- Batı Avrupa
- Bağımsız Devletler Topluluğu
- Latin Amerika ve Karayipler
- Kanal Adaları
- Andorra
- BirleÅŸik Arap Emirlikleri
- Afganistan
- Antigua ve Barbuda
- Anguilla
- Arnavutluk
- Ermenistan
- Hollanda Antilleri
- Angola
- Antarktika
- Arjantin
- Amerikan Samoası
- Avusturya
- Avustralya
- Aruba
- Aland Adaları
- Azerbaycan
- Bosna Hersek
- Barbados
- BangladeÅŸ
- Belçika
- Burkina Faso
- Bulgaristan
- Bahreyn
- Burundi
- Benin
- Saint Barthelemy
- Bermuda
- Brunei
- Bolivya
- Brezilya
- Bahamalar
- Bhutan
- Bouvet Adası
- Botsvana
- Beyaz Rusya
- Belize
- Kanada
- Cocos Adaları
- Kongo - KinÅŸasa
- Orta Afrika Cumhuriyeti
- Kongo - Brazavil
- İsviçre
- FildiÅŸi Sahili
- Cook Adaları
- Åili
- Kamerun
- Çin
- Kolombiya
- Kosta Rika
- Sırbistan-Karadağ
- KĂ¼ba
- Cape Verde
- Christmas Adası
- GĂ¼ney Kıbrıs Rum Kesimi
- Çek Cumhuriyeti
- Almanya
- Cibuti
- Danimarka
- Dominika
- Dominik Cumhuriyeti
- Cezayir
- Ekvador
- Estonya
- Mısır
- Batı Sahara
- Eritre
- İspanya
- Etiyopya
- Finlandiya
- Fiji
- Falkland Adaları
- Mikronezya Federal Eyaletleri
- Faroe Adaları
- Fransa
- Gabon
- Birleşik Krallık
- Grenada
- GĂ¼rcistan
- Fransız Guyanası
- Guernsey
- Gana
- Cebelitarık
- Grönland
- Gambiya
- Gine
- Guadeloupe
- Ekvator Ginesi
- Yunanistan
- GĂ¼ney Georgia ve GĂ¼ney Sandwich Adaları
- Guatemala
- Guam
- Gine-Bissau
- Guyana
- Hong Kong SAR - Çin
- Heard Adası ve McDonald Adaları
- Honduras
- Hırvatistan
- Haiti
- Macaristan
- Endonezya
- İrlanda
- İsrail
- Man Adası
- Hindistan
- Hint Okyanusu İngiliz Bölgesi
- Irak
- İran
- İzlanda
- İtalya
- Jersey
- Jamaika
- ĂœrdĂ¼n
- Japonya
- Kenya
- Kırgızistan
- Kamboçya
- Kiribati
- Komorlar
- Saint Kitts ve Nevis
- Kuzey Kore
- GĂ¼ney Kore
- Kuveyt
- Cayman Adaları
- Kazakistan
- Laos
- LĂ¼bnan
- Saint Lucia
- Liechtenstein
- Sri Lanka
- Liberya
- Lesotho
- Litvanya
- LĂ¼ksemburg
- Letonya
- Libya
- Fas
- Monako
- Moldova
- KaradaÄŸ
- Saint Martin
- Madagaskar
- Marshall Adaları
- Makedonya
- Mali
- Myanmar
- MoÄŸolistan
- Makao S.A.R. Çin
- Kuzey Mariana Adaları
- Martinik
- Moritanya
- Montserrat
- Malta
- Mauritius
- Maldivler
- Malavi
- Meksika
- Malezya
- Mozambik
- Namibya
- Yeni Kaledonya
- Nijer
- Norfolk Adası
- Nijerya
- Nikaragua
- Hollanda
- Norveç
- Nepal
- Nauru
- Niue
- Yeni Zelanda
- Umman
- Panama
- Peru
- Fransız Polinezyası
- Papua Yeni Gine
- Filipinler
- Pakistan
- Polonya
- Saint Pierre ve Miquelon
- Pitcairn
- Porto Riko
- Filistin Bölgesi
- Portekiz
- Palau
- Paraguay
- Katar
- Uzak Okyanusya
- Avrupa BirliÄŸi
- Reunion
- Romanya
- Sırbistan
- Rusya Federasyonu
- Ruanda
- Suudi Arabistan
- Solomon Adaları
- Seyşel Adaları
- Sudan
- İsveç
- Singapur
- Saint Helena
- Slovenya
- Svalbard ve Jan Mayen
- Slovakya
- Sierra Leone
- San Marino
- Senegal
- Somali
- Surinam
- Sao Tome ve Principe
- El Salvador
- Suriye
- Svaziland
- Turks ve Caicos Adaları
- Çad
- Fransız GĂ¼ney Bölgeleri
- Togo
- Tayland
- Tacikistan
- Tokelau
- DoÄŸu Timor
- TĂ¼rkmenistan
- Tunus
- Tonga
- TĂ¼rkiye
- Trinidad ve Tobago
- Tuvalu
- Tayvan
- Tanzanya
- Ukrayna
- Uganda
- Amerika BirleÅŸik Devletleri KĂ¼Ă§Ă¼k Dış Adaları
- Amerika BirleÅŸik Devletleri
- Uruguay
- Ă–zbekistan
- Vatikan
- Saint Vincent ve Grenadinler
- Venezuela
- İngiliz Virgin Adaları
- ABD Virgin Adaları
- Vietnam
- Vanuatu
- Wallis ve Futuna
- Samoa
- Yemen
- Mayotte
- GĂ¼ney Afrika
- Zambiya
- Zimbabve
- Bilinmeyen veya Geçersiz Bölge
-
-
- Geleneksel Almanca Yazım Kuralları
- Standart Resia Yazım Kuralları
- 1996 Almanca Yazım Kuralları
- 1606'ya Dek Geç OrtaçaÄŸ Fransızcası
- Erken Modern Fransızca
- DoÄŸu Ermenicesi
- Batı Ermenicesi
- BirleÅŸtirilmiÅŸ Yeni TĂ¼rk Alfabesi
- San Giorgio/Bila Lehçesi
- Boontling
- IPA Ses Bilimi
- UPA Ses Bilimi
- Resia Lipovaz Lehçesi
- Monotonik
- Natisone Lehçesi
- Gniva/Njiva Lehçesi
- Oseacco/Osojane Lehçesi
- Politonik
- Bilgisayar
- Gözden GeçirilmiÅŸ Yazım Kuralları
- Resia Lehçesi
- Saho
- İskoç Standart İngilizcesi
- Scouse
- Stolvizza/Solbica Lehçesi
- Taraskievica Yazım Kuralları
- Valensiyaca
-
-
- Takvim
- Sıralama
- Para Birimi
-
-
- Geleneksel Çince Sıralaması - Big5
- Budist Takvimi
- Çin Takvimi
- DĂ¼z Sıralama
- BasitleÅŸtirilmiÅŸ Çince Sıralaması - GB2312
- Miladi Takvim
- Yahudi Takvimi
- Ulusal Hint Takvimi
- Hicri Takvim
- Arap Takvimi
- Japon Takvimi
- Telefon Defteri Sıralaması
- Pinyin Sıralaması
- Çin Cumhuriyeti Takvimi
- Stroke Sıralaması
- Geleneksel Sıralama
-
-
- Metrik
- ABD
-
-
- Dil: {0}
- Betik: {0}
- Bölge: {0}
-
-
-
- [a-c ç d-g ÄŸ h ı i İ {i\u0307} j-o ö p r s ÅŸ t u Ă¼ v y z]
- [Ă¡ Ă Äƒ Ă¢ Ă¥ ä Ä Ă¦ Ă© è Ä• Ăª Ă« Ä“ à ì Ä Ă® Ă¯ Ä« ñ Ă³ Ă² Å Ă´ ø Å Å“ q ĂŸ Ăº Ă¹ Å Ă» Å« w x Ă¿]
- [a-c Ä d-l Å‚ m-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
-
- yy MMM
-
-
-
-
-
-
-
- Tût
- BĂ¢be
- Hatur
- Keyhek
- Tûbe
- ImÅŸir
- Bermuhat
- Bermude
- PeyÅŸtes
- Bune
- Ebip
- Mısrî
- NesĂ®
-
-
-
-
-
-
-
-
- Tikimt
- Hidar
- Tir
- Yakatit
- Magabit
- Miyazya
- Ginbot
- Nehasa
- Pagumiene
-
-
-
-
-
-
-
-
- Oca
- Åub
- Mar
- Nis
- May
- Haz
- Tem
- AÄŸu
- Eyl
- Eki
- Kas
- Ara
-
-
- Ocak
- Åubat
- Mart
- Nisan
- Mayıs
- Haziran
- Temmuz
- AÄŸustos
- EylĂ¼l
- Ekim
- Kasım
- Aralık
-
-
-
-
- O
- Å
- M
- N
- M
- H
- T
- A
- E
- E
- K
- A
-
-
-
-
-
-
- Paz
- Pzt
- Sal
- Çar
- Per
- Cum
- Cmt
-
-
- Pazar
- Pazartesi
- Salı
- ÇarÅŸamba
- PerÅŸembe
- Cuma
- Cumartesi
-
-
-
-
- P
- P
- S
- Ç
- P
- C
- C
-
-
-
-
-
-
- Ç1
- Ç2
- Ç3
- Ç4
-
-
- 1. çeyrek
- 2. çeyrek
- 3. çeyrek
- 4. çeyrek
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- AM
- PM
-
-
- Milattan Ă–nce
- Milattan Sonra
-
-
- MĂ–
- MS
-
-
-
-
-
- dd MMMM y EEEE
-
-
-
-
- dd MMMM y
-
-
-
-
- dd MMM y
-
-
-
-
- dd.MM.yyyy
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- d
- d E
- d EEE
- H
- hh:mm a
- HH:mm
- hh:mm:ss a
- HH:mm:ss
- HH:mm
- L
- dd/MM
- dd/MM E
- LLL
- dd MMM
- dd MMM E
- dd MMMM
- dd MMMM E
- mm:ss
- mm:ss
- y
- M/yyyy
- dd.MM.yyyy EEE
- MMM y
- dd MMM y EEE
- MMMM y
- Q yyyy
- QQQ y
- MM/yy
- MMM yy
- Q yy
- QQQQ yy
- y
-
-
- {0} - {1}
-
- d-d
-
-
- HH-HH
- HH-HH
-
-
- HH:mm-HH:mm
- HH:mm-HH:mm
- HH:mm-HH:mm
-
-
- HH:mm-HH:mm v
- HH:mm-HH:mm v
- HH:mm-HH:mm v
-
-
- HH-HH v
- HH-HH v
-
-
- M-M
-
-
- dd.MM - dd.MM
- dd.MM - dd.MM
-
-
- dd.MM E - dd.MM E
- dd.MM E - dd.MM E
-
-
- MMM-MMM
-
-
- dd-dd MMM
- dd MMM - dd MMM
-
-
- dd MMM E - dd MMM E
- dd MMM E - dd MMM E
-
-
- LLLL-LLLL
-
-
- y-y
-
-
- MM.yyyy - MM.yyyy
- MM.yyyy - MM.yyyy
-
-
- dd.MM.yyyy - dd.MM.yyyy
- dd.MM.yyyy - dd.MM.yyyy
- dd.MM.yyyy - dd.MM.yyyy
-
-
- dd.MM.yyyy E - dd.MM.yyyy E
- dd.MM.yyyy E - dd.MM.yyyy E
- dd.MM.yyyy E - dd.MM.yyyy E
-
-
- MMM-MMM y
- MMM y - MMM y
-
-
- dd-dd MMM y
- dd MMM - dd MMM y
- dd MMM y - dd MMM y
-
-
- dd MMM y E - dd MMM y E
- dd MMM y E - dd MMM y E
- dd MMM y E - dd MMM y E
-
-
- MM – MM yyyy
- MM-yyyy – MM-yyyy
-
-
-
-
-
- Miladi Dönem
-
-
- Yıl
-
-
- Ay
-
-
- Hafta
-
-
- GĂ¼n
- ĂœĂ§ gĂ¼n önce
- Evvelsi gĂ¼n
- DĂ¼n
- BugĂ¼n
- Yarın
- Yarından sonraki gĂ¼n
- ĂœĂ§ gĂ¼n sonra
-
-
- Haftanın GĂ¼nĂ¼
-
-
- AM/PM
-
-
- Saat
-
-
- Dakika
-
-
- Saniye
-
-
- Saat Dilimi
-
-
-
-
-
-
-
- TiÅŸri
- HeÅŸvan
- Åevat
- Veadar
- İyar
-
-
-
-
-
-
-
-
- Muharrem
- Safer
- RebiĂ¼levvel
- RebiĂ¼lahir
- Cemaziyelevvel
- Cemaziyelahir
- Recep
- Åaban
- Ramazan
- Åevval
- Zilkade
- Zilhicce
-
-
-
-
-
-
-
-
- Ferverdin
- OrdibeheÅŸt
- Hordad
- Åehriver
- Azer
- Behmen
- Esfend
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0} Saati
- {1} ({0})
-
- Bilinmeyen
-
-
- Kabil
-
-
- Tiran
-
-
- GĂ¼ney Kutbu
-
-
- Dumont D'Urville
-
-
- Viyana
-
-
- Sidney
-
-
- BakĂ¼
-
-
- BrĂ¼ksel
-
-
- Sofya
-
-
- Bahreyn
-
-
- KinÅŸasa
-
-
- ZĂ¼rih
-
-
- KaÅŸgar
-
-
- Urumçi
-
-
- Çunking
-
-
- Åangay
-
-
- Kosta Rika
-
-
- Noel
-
-
- LefkoÅŸa
-
-
- Cibuti
-
-
- Kopenhag
-
-
- Dominik
-
-
- Cezayir
-
-
- Kahire
-
-
- El Ayun
-
-
- Kanarya Adaları
-
-
- Septe
-
-
- Londra
-
-
- Tiflis
-
-
- Cebelitarık
-
-
- Atina
-
-
- GĂ¼ney GĂ¼rcistan
-
-
- BudapeÅŸte
-
-
- Cakarta
-
-
- KudĂ¼s
-
-
- BaÄŸdat
-
-
- Tahran
-
-
- Roma
-
-
- Jameika
-
-
- BiÅŸkek
-
-
- St. Kitts
-
-
- Seul
-
-
- Kuveyt
-
-
- Kayman
-
-
- Aktav
-
-
- Uralsk
-
-
- Aktöbe
-
-
- Kızılorda
-
-
- Almatı
-
-
- Beyrut
-
-
- St. Lucia
-
-
- Kolombo
-
-
- LĂ¼ksemburg
-
-
- Trablus
-
-
- Kazablanka
-
-
- Monako
-
-
- Kobdo
-
-
- Ulan Batur
-
-
- Çoybalsan
-
-
- Makau
-
-
- Martinik
-
-
- Moritus
-
-
- Maldivler
-
-
- Meksiko City
-
-
- Kuçing
-
-
- Nauru Adası
-
-
- Markiz Adaları
-
-
- Karaçi
-
-
- VarÅŸova
-
-
- Pitcairn Adaları
-
-
- Porto Riko
-
-
- Gazze
-
-
- Azor Adaları
-
-
- Lizbon
-
-
- Katar
-
-
- Reunion Adası
-
-
- BĂ¼kreÅŸ
-
-
- Moskova
-
-
- İrkutsk
-
-
- Sahalin
-
-
- Kamçatka
-
-
- Anadır
-
-
- Riyad
-
-
- Kartum
-
-
- Stokholm
-
-
- Singapur
-
-
- Salvador
-
-
- Åam
-
-
- DuÅŸanbe
-
-
- AÅŸkabat
-
-
- Tunus
-
-
- İstanbul
-
-
- İspanya Limanı
-
-
- Ujgorod
-
-
- Akmescit
-
-
- Zaporojye
-
-
- New Salem, Kuzey Dakota
-
-
- Merkez, Kuzey Dakota
-
-
- Knox
-
-
- Marengo
-
-
- Semerkand
-
-
- TaÅŸkent
-
-
- St. Vincent
-
-
- St. Thomas
-
-
- Saygon
-
-
- Mayote
-
-
-
- Acre Saati
- Acre Yaz Saati
-
-
-
-
- Afganistan Saati
-
-
-
-
- Orta Afrika Saati
-
-
-
-
- DoÄŸu Afrika Saati
-
-
-
-
- GĂ¼ney Afrika Saati
- GĂ¼ney Afrika Standart Saati
-
-
-
-
- Batı Afrika Saati
- Batı Afrika Yaz Saati
-
-
-
-
- Aktyubinsk Saati
- Aktyubinsk Yaz Saati
-
-
-
-
- Alaska Saati
- Alaska Standart Saati
- Alaska Yaz Saati
-
-
- AKT
-
-
-
-
- Alaska-Hawaii Saati
- Alaska-Hawaii Standart Saati
- Alaska-Hawaii Yaz Saati
-
-
- AHT
-
-
-
-
- Almatı Saati
- Almatı Yaz Saati
-
-
-
-
- Amazon Saati
- Amazon Yaz Saati
-
-
-
-
- Merkezi Saat
- Merkezi Standart Saati
- Merkezi Yaz Saati
-
-
- CT
-
-
-
-
- DoÄŸu Saati
- DoÄŸu Standart Saati
- DoÄŸu Yaz Saati
-
-
- ET
-
-
-
-
- ABD Sıradağlar Saati
- ABD Sıradağlar Standart Saati
- ABD Sıradağlar Yaz Saati
-
-
- MT
-
-
-
-
- Pasifik Saati
- Pasifik Standart Saati
- Pasifik Yaz Saati
-
-
- PT
-
-
-
-
- Anadır Saati
- Anadır Yaz Saati
-
-
-
-
- Aktav Saati
- Aktav Yaz Saati
-
-
- AQTT (Aktav)
- AQTST (Aktav)
-
-
-
-
- Aktöbe Saati
- Aktöbe Yaz Saati
-
-
- AQTT (Aktöbe)
- AQTST (Aktöbe)
-
-
-
-
- Arabistan Saati
- Arabistan Standart Saati
- Arabistan Yaz Saati
-
-
- AT (Arabistan)
- AST (Arabistan)
- ADT (Arabistan)
-
-
-
-
- Arjantin Saati
- Arjantin Yaz Saati
-
-
-
-
- Batı Arjantin Saati
-
-
-
-
- Ermenistan Saati
- Ermenistan Yaz Saati
-
-
- AMT (Ermenistan)
- AMST (Ermenistan)
-
-
-
-
- AÅŸkabat Saati
- AÅŸkabat Yaz Saati
-
-
-
-
- Atlantik Saati
- Atlantik Standart Saati
- Atlantik Yaz Saati
-
-
- AT
-
-
-
-
- Orta Avustralya Saati
- Orta Avustralya Standart Saati
- Orta Avustralya Yaz Saati
-
-
- ACT
-
-
-
-
- Batı Merkezi Avustralya Saati
- Batı Merkezi Avustralya Standart Saati
- Batı Merkezi Avustralya Yaz Saati
-
-
- ACWT
-
-
-
-
- DoÄŸu Avustralya Saati
- DoÄŸu Avustralya Standart Saati
- DoÄŸu Avustralya Yaz Saati
-
-
- AET
-
-
-
-
- Batı Avustralya Saati
- Batı Avustralya Standart Saati
- Batı Avustralya Yaz Saati
-
-
- AWT
-
-
-
-
- Azerbaycan Saati
- Azerbaycan Yaz Saati
-
-
-
-
- Azor Adaları Saati
- Azor Adaları Yaz Saati
-
-
-
-
- BakĂ¼ Saati
- BakĂ¼ Yaz Saati
-
-
-
-
- BangladeÅŸ Saati
-
-
-
-
- Bering Saati
- Bering Standart Saati
- Bering Yaz Saati
-
-
- BT (Bering)
-
-
-
-
- Bhutan Saati
-
-
-
-
- Bolivya Saati
-
-
-
-
- Borneo Saati
- Borneo Yaz Saati
-
-
-
-
- Brasilia Saati
- Brasilia Yaz Saati
-
-
-
-
- Brunei Saati
-
-
-
-
- Cape Verde Saati
- Cape Verde Yaz Saati
-
-
-
-
- Chamorro Saati
- Chamorro Standart Saati
-
-
- ChT
-
-
-
-
- Changbai Saati
-
-
-
-
- Chatham Standart Saati
- Chatham Yaz Saati
-
-
-
-
- Åili Saati
- Åili Yaz Saati
-
-
-
-
- Çin Saati
- Çin Standart Saati
- Çin Yaz Saati
-
-
- CT (Çin)
- CST (Çin)
- CDT (Çin)
-
-
-
-
- Çoybalsan Saati
- Çoybalsan Yaz Saati
-
-
-
-
- Christmas Adası Saati
-
-
-
-
- Cocos Adaları Saati
-
-
-
-
- Kolombiya Saati
- Kolombiya Yaz Saati
-
-
-
-
- Cook Adaları Saati
- Cook Adaları Yarı Yaz Saati
-
-
-
-
- KĂ¼ba Saati
- KĂ¼ba Standart Saati
- KĂ¼ba Yaz Saati
-
-
- CST (KĂ¼ba)
- CDT (KĂ¼ba)
-
-
-
-
- Dakka Saati
-
-
-
-
- Davis Saati
-
-
-
-
- Dumont-d'Urville Saati
-
-
-
-
- DuÅŸanbe Saati
- DuÅŸanbe Yaz Saati
-
-
-
-
- Hollanda Guyanası Saati
-
-
-
-
- DoÄŸu Timor Saati
-
-
-
-
- Easter Adası Saati
- Easter Adası Yaz Saati
-
-
-
-
- Ekvador Saati
-
-
-
-
- Orta Avrupa Saati
- Orta Avrupa Yaz Saati
-
-
-
-
- DoÄŸu Avrupa Saati
- DoÄŸu Avrupa Yaz Saati
-
-
-
-
- Batı Avrupa Saati
- Batı Avrupa Yaz Saati
-
-
-
-
- Falkland Adaları Saati
- Falkland Adaları Yaz Saati
-
-
-
-
- Fiji Saati
- Fiji Yaz Saati
-
-
-
-
- Fransız Guyanası Saati
-
-
-
-
- Fransız GĂ¼ney ve Antarktika Saati
-
-
-
-
- BiÅŸkek Saati
- BiÅŸkek Yaz Saati
-
-
-
-
- Galapagos Saati
-
-
-
-
- Gambier Saati
-
-
-
-
- GĂ¼rcistan Saati
- GĂ¼rcistan Yaz Saati
-
-
-
-
- Gilbert Adaları Saati
-
-
-
-
- Greenwich Merkez Saati
-
-
-
-
- Orta Grönland Saati
- Orta Grönland Yaz Saati
-
-
-
-
- DoÄŸu Grönland Saati
- DoÄŸu Grönland Yaz Saati
-
-
-
-
- Batı Grönland Saati
- Batı Grönland Yaz Saati
-
-
-
-
- Guam Standart Saati
-
-
- GST (Guam)
-
-
-
-
- Körfez Saati
- Körfez Standart Saati
-
-
- GT
-
-
-
-
- Guyana Saati
-
-
-
-
- Hawaii-Aleutian Standart Saati
-
-
-
-
- Hong Kong Saati
- Hong Kong Yaz Saati
-
-
-
-
- Kobdo Saati
- Kobdo Yaz Saati
-
-
-
-
- Hindistan Standart Saati
-
-
-
-
- Hint Okyanusu Saati
-
-
-
-
- Çinhindi Saati
-
-
-
-
- Orta Endonezya Saati
-
-
-
-
- DoÄŸu Endonezya Saati
-
-
-
-
- Batı Endonezya Saati
-
-
-
-
- İran Standart Saati
- İran Yaz Saati
-
-
-
-
- İrkutsk Saati
- İrkutsk Yaz Saati
-
-
-
-
- İsrail Saati
- İsrail Standart Saati
- İsrail Yaz Saati
-
-
- IST (İsrail)
-
-
-
-
- Japonya Saati
- Japonya Standart Saati
- Japonya Yaz Saati
-
-
- JT
-
-
-
-
- Petropavlovsk-Kamçatski Saati
- Petropavlovsk-Kamçatski Yaz Saati
-
-
-
-
- Karaçi Saati
-
-
-
-
- KaÅŸgar Saati
-
-
-
-
- DoÄŸu Kazakistan Saati
- DoÄŸu Kazakistan Standart Saati
-
-
-
-
- Batı Kazakistan Saati
- Batı Kazakistan Standart Saati
-
-
-
-
- Kızılorda Saati
- Kızılorda Yaz Saati
-
-
-
-
- Kore Saati
- Kore Standart Saati
- Kore Yaz Saati
-
-
- KT
-
-
-
-
- Kosrae Saati
-
-
-
-
- Krasnoyarsk Saati
- Krasnoyarsk Yaz Saati
-
-
-
-
- KuybiÅŸev Saati
- KuybiÅŸev Yaz Saati
-
-
-
-
- Kwajalein Saati
-
-
-
-
- Kırgızistan Saati
-
-
-
-
- Lanka Saati
-
-
-
-
- Line Adaları Saati
-
-
-
-
- Long-Shu Saati
-
-
-
-
- Lord Howe Saati
- Lord Howe Standart Saati
- Lord Howe Yaz Saati
-
-
- LHT
-
-
-
-
- Makao Saati
- Makao Yaz Saati
-
-
-
-
- Magadan Saati
- Magadan Yaz Saati
-
-
-
-
- Malaya Saati
-
-
-
-
- Malezya Saati
-
-
-
-
- Maldivler Saati
-
-
-
-
- Markiz Adaları Saati
-
-
-
-
- Marshall Adaları Saati
-
-
-
-
- Mauritius Saati
- Mauritius Yaz Saati
-
-
-
-
- Mawson Saati
-
-
-
-
- Ulan Batur Saati
- Ulan Batur Yaz Saati
-
-
-
-
- Moskova Saati
- Moskova Standart Saati
- Moskova Yaz Saati
-
-
-
-
- Myanmar Saati
-
-
-
-
- Nauru Saati
-
-
-
-
- Nepal Saati
-
-
-
-
- Yeni Kaledonya Saati
- Yeni Kaledonya Yaz Saati
-
-
-
-
- Yeni Zelanda Saati
- Yeni Zelanda Standart Saati
- Yeni Zelanda Yaz Saati
-
-
- NZT
-
-
-
-
- Newfoundland Saati
- Newfoundland Standart Saati
- Newfoundland Yaz Saati
-
-
- NT
-
-
-
-
- Niue Saati
-
-
-
-
- Norfolk Adası Saati
-
-
-
-
- Fernando de Noronha Saati
- Fernando de Noronha Yaz Saati
-
-
-
-
- Kuzey Mariana Adaları Saati
-
-
-
-
- Novosibirsk Saati
- Novosibirsk Yaz Saati
-
-
-
-
- Omsk Saati
- Omsk Yaz Saati
-
-
-
-
- Pakistan Saati
- Pakistan Yaz Saati
-
-
-
-
- Palau Saati
-
-
-
-
- Papua Yeni Gine Saati
-
-
-
-
- Paraguay Saati
- Paraguay Yaz Saati
-
-
-
-
- Peru Saati
- Peru Yaz Saati
-
-
-
-
- Filipinler Saati
- Filipinler Yaz Saati
-
-
-
-
- Phoenix Adaları Saati
-
-
-
-
- Pierre ve Miquelon Saati
- Pierre ve Miquelon Standart Saati
- Pierre ve Miquelon Yaz Saati
-
-
- PMT
-
-
-
-
- Pitcairn Saati
-
-
-
-
- Ponape Saati
-
-
-
-
- Kızılorda Saati
- Kızılorda Yaz Saati
-
-
-
-
- Reunion Saati
-
-
-
-
- Rothera Saati
-
-
-
-
- Sakhalin Saati
- Sakhalin Yaz Saati
-
-
-
-
- Samara Saati
- Samara Yaz Saati
-
-
-
-
- Semerkand Saati
- Semerkand Yaz Saati
-
-
- SAMT (Semerkand)
- SAMST (Semerkand)
-
-
-
-
- Samoa Standart Saati
-
-
-
-
- Seyşel Adaları Saati
-
-
-
-
- Åevçenko Saati
- Åevçenko Yaz Saati
-
-
-
-
- Singapur Standart Saati
-
-
-
-
- Solomon Adaları Saati
-
-
-
-
- GĂ¼ney Georgia Saati
-
-
- GST (GĂ¼ney Georgia)
-
-
-
-
- Surinam Saati
-
-
-
-
- Sverdlovsk Saati
- Sverdlovsk Yaz Saati
-
-
-
-
- Showa Saati
-
-
-
-
- Tahiti Saati
-
-
-
-
- Tacikistan Saati
-
-
-
-
- TaÅŸkent Saati
- TaÅŸkent Yaz Saati
-
-
-
-
- Tiflis Saati
- Tiflis Yaz Saati
-
-
-
-
- Tokelau Saati
-
-
-
-
- Tonga Saati
- Tonga Yaz Saati
-
-
-
-
- Truk Saati
-
-
-
-
- TĂ¼rkiye Saati
- TĂ¼rkiye Yaz Saati
-
-
-
-
- TĂ¼rkmenistan Saati
- TĂ¼rkmenistan Yaz Saati
-
-
-
-
- Tuvalu Saati
-
-
-
-
- Oral Saati
- Oral Yaz Saati
-
-
-
-
- Uruguay Saati
- Uruguay Yaz Saati
-
-
-
-
- Urumçi Saati
-
-
-
-
- Ă–zbekistan Saati
- Ă–zbekistan Yaz Saati
-
-
-
-
- Vanuatu Saati
- Vanuatu Yaz Saati
-
-
-
-
- Venezuela Saati
-
-
-
-
- Vladivostok Saati
- Vladivostok Yaz Saati
-
-
-
-
- Volgograd Saati
- Volgograd Yaz Saati
-
-
-
-
- Vostok Saati
-
-
-
-
- Wake Adası Saati
-
-
-
-
- Wallis ve Futuna Saati
-
-
-
-
- Yakutsk Saati
- Yakutsk Yaz Saati
-
-
-
-
- Yekaterinburg Saati
- Yekaterinburg Yaz Saati
-
-
-
-
- Erivan Saati
- Erivan Yaz Saati
-
-
-
-
- Yukon Saati
- Yukon Standart Saati
- Yukon Yaz Saati
-
-
- YT
-
-
-
-
-
-
- ,
- .
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- %Â #,##0
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
-
-
-
- Andorra Pezetası
-
-
- BirleÅŸik Arap Emirlikleri Dirhemi
-
-
- Afganistan Afganisi (1927-2002)
-
-
- Afganistan Afganisi
-
-
- Arnavutluk Leki
-
-
- Ermenistan Dramı
-
-
- Hollanda Antilleri Guldeni
-
-
- Angola Kvanzası
-
-
- Angola Kvanzası (1977-1990)
-
-
- Yeni Angola Kvanzası (1990-2000)
-
-
- Angola Kvanzası Reajustado (1995-1999)
-
-
- Arjantin Australi
-
-
- Arjantin Pezosu (1983-1985)
-
-
- Arjantin Pezosu
-
-
- Avusturya Åilini
-
-
- Avustralya Doları
-
-
- Aruba Florini
-
-
- Azerbaycan Manatı (1993-2006)
-
-
- Azerbaycan Manatı
-
-
- Bosna Hersek Dinarı
-
-
- Konvertibl Bosna Hersek Markı
-
-
- Barbados Doları
-
-
- Bangladeş Takası
-
-
- Belçika Frangı (konvertibl)
-
-
- Belçika Frangı
-
-
- Belçika Frangı (finansal)
-
-
- Bulgar Levası (Hard)
-
-
- Yeni Bulgar Levası
-
-
- Bahreyn Dinarı
-
-
- Burundi Frangı
-
-
- Bermuda Doları
-
-
- Brunei Doları
-
-
- Bolivya Bolivyanosu
-
-
- Bolivya Pezosu
-
-
- Bolivya Mvdolu
-
-
- Yeni Brezilya Kruzeirosu (1967-1986)
-
-
- Brezilya Kruzadosu
-
-
- Brezilya Kruzeirosu (1990-1993)
-
-
- Brezilya Reali
-
-
- Yeni Brezilya Kruzadosu
-
-
- Brezilya Kruzeirosu
-
-
- Bahama Doları
-
-
- Bhutan Ngultrumu
-
-
- Burma Kyatı
-
-
- Botsvana Pulası
-
-
- Yeni Beyaz Rusya Rublesi (1994-1999)
-
-
- Beyaz Rusya Rublesi
-
-
- Belize Doları
-
-
- Kanada Doları
-
-
- Kongo Frangı
-
-
- WIR Avrosu
-
-
- İsviçre Frangı
-
-
- WIR Frangı
-
-
- Åili Unidades de Fomento
-
-
- Åili Pezosu
-
-
- Çin Yuanı Renminbi
-
-
- Kolombiya Pezosu
-
-
- Unidad de Valor Real
-
-
- Kosta Rika Kolonu
-
-
- Eski Sırbistan Dinarı
-
-
- Çekoslavak Korunası (Hard)
-
-
- KĂ¼ba Pezosu
-
-
- Cape Verde EskĂ¼dosu
-
-
- GĂ¼ney Kıbrıs Lirası
-
-
- Çek Cumhuriyeti Korunası
-
-
- Doğu Alman Markı
-
-
- Alman Markı
-
-
- Cibuti Frangı
-
-
- Danimarka Kronu
-
-
- Dominik Pezosu
-
-
- Cezayir Dinarı
-
-
- Ekvador Sukresi
-
-
- Ekvador Unidad de Valor Constante (UVC)
-
-
- Estonya Krunu
-
-
- Mısır Lirası
-
-
- Eritre Nakfası
-
-
- İspanyol Pezetası (A hesabı)
-
-
- İspanyol Pezetası (konvertibl hesap)
-
-
- İspanyol Pezetası
-
-
- Etiyopya Birri
-
-
- Euro
-
-
- Fin Markkası
-
-
- Fiji Doları
-
-
- Falkland Adaları Lirası
-
-
- Fransız Frangı
-
-
- İngiliz Sterlini
-
-
- GĂ¼rcistan Kupon Larisi
-
-
- GĂ¼rcistan Larisi
-
-
- Gana Sedisi (1979-2007)
-
-
- Gana Sedisi
-
-
- Cebelitarık Lirası
-
-
- Gambiya Dalasisi
-
-
- Gine Frangı
-
-
- Gine Sylisi
-
-
- Ekvator Ginesi Ekuelesi
-
-
- Yunan Drahmisi
-
-
- Guatemala Ketzali
-
-
- Portekiz Ginesi EskĂ¼dosu
-
-
- Gine-Bissau Pezosu
-
-
- Guyana Doları
-
-
- Hong Kong Doları
-
-
- Honduras Lempirası
-
-
- Hırvatistan Dinarı
-
-
- Hırvatistan Kunası
-
-
- Haiti Gurdu
-
-
- Macar Forinti
-
-
- Endonezya Rupiahı
-
-
- İrlanda Lirası
-
-
- İsrail Lirası
-
-
- Yeni İsrail Åekeli
-
-
- Hindistan Rupisi
-
-
- Irak Dinarı
-
-
- İran Riyali
-
-
- İzlanda Kronu
-
-
- İtalyan Lireti
-
-
- Jamaika Doları
-
-
- ĂœrdĂ¼n Dinarı
-
-
- Japon Yeni
- ¥
-
-
- Kenya Åilini
-
-
- Kırgız Somu
-
-
- Kamboçya Rieli
-
-
- Komorlar Frangı
-
-
- Kuzey Kore Wonu
-
-
- GĂ¼ney Kore Wonu
-
-
- Kuveyt Dinarı
-
-
- Cayman Adaları Doları
-
-
- Kazakistan Tengesi
-
-
- Laos Kipi
-
-
- LĂ¼bnan Lirası
-
-
- Sri Lanka Rupisi
-
-
- Liberya Doları
-
-
- Lesotho Lotisi
-
-
- Litvanya Litası
-
-
- Litvanya Talonu
-
-
- Konvertibl LĂ¼ksemburg Frangı
-
-
- LĂ¼ksemburg Frangı
-
-
- Finansal LĂ¼ksemburg Frangı
-
-
- Letonya Latı
-
-
- Letonya Rublesi
-
-
- Libya Dinarı
-
-
- Fas Dirhemi
-
-
- Fas Frangı
-
-
- Moldova Leyi
-
-
- Madagaskar Ariarisi
-
-
- Madagaskar Frangı
-
-
- Makedonya Dinarı
-
-
- Mali Frangı
-
-
- Myanmar Kyatı
-
-
- MoÄŸol Tugriki
-
-
- Makao Patacası
-
-
- Moritanya Ouguiyası
-
-
- Malta Lirası
-
-
- Malta Sterlini
-
-
- Mauritius Rupisi
-
-
- Maldiv Adaları Rufiyaa
-
-
- Malavi Kvaçası
-
-
- Meksika Pezosu
-
-
- GĂ¼mĂ¼ÅŸ Meksika Pezosu (1861-1992)
-
-
- Meksika Unidad de Inversion (UDI)
-
-
- Malezya Ringiti
-
-
- Mozambik EskĂ¼dosu
-
-
- Eski Mozambik Metikali
-
-
- Mozambik Metikali
-
-
- Namibya Doları
-
-
- Nijerya Nairası
-
-
- Nikaragua Kordobası
-
-
- Nikaragua Kordobası (Oro)
-
-
- Hollanda Florini
-
-
- Norveç Kronu
-
-
- Nepal Rupisi
-
-
- Yeni Zelanda Doları
-
-
- Umman Riyali
-
-
- Panama Balboası
-
-
- Peru İnti
-
-
- Yeni Peru Solu
-
-
- Peru Solu
-
-
- Papua Yeni Gine Kinası
-
-
- Filipinler Pezosu
-
-
- Pakistan Rupisi
-
-
- Polonya Zlotisi
-
-
- Polonya Zlotisi (1950-1995)
-
-
- Portekiz EskĂ¼dosu
-
-
- Paraguay Guaranisi
-
-
- Katar Riyali
-
-
- Rodezya Doları
-
-
- Eski Romen Leyi
-
-
- Romen Leyi
-
-
- Sırp Dinarı
-
-
- Rus Rublesi
-
-
- Rus Rublesi (1991-1998)
-
-
- Ruanda Frangı
-
-
- Suudi Arabistan Riyali
-
-
- Solomon Adaları Doları
-
-
- SeyÅŸel Rupisi
-
-
- Eski Sudan Dinarı
-
-
- Sudan Lirası
-
-
- Eski Sudan Lirası
-
-
- İsveç Kronu
-
-
- Singapur Doları
-
-
- Saint Helena Lirası
-
-
- Slovenya Toları
-
-
- Slovak Korunası
-
-
- Sierra Leone Leonesi
-
-
- Somali Åilini
-
-
- Surinam Doları
-
-
- Surinam Guldeni
-
-
- Sao Tome ve Principe Dobrası
-
-
- Sovyet Rublesi
-
-
- El Salvador Kolonu
-
-
- Suriye Lirası
-
-
- Svaziland Lilangenisi
-
-
- Tayland Bahtı
-
-
- Tacikistan Rublesi
-
-
- Tacikistan Somonisi
-
-
- TĂ¼rkmenistan Manatı
-
-
- Tunus Dinarı
-
-
- Tonga Paʻangası
-
-
- Timor EskĂ¼dosu
-
-
- Eski TĂ¼rk Lirası
-
-
- TĂ¼rk Lirası
-
-
- Trinidad ve Tobago Doları
-
-
- Yeni Tayvan Doları
-
-
- Tanzanya Åilini
-
-
- Ukrayna Grivnası
-
-
- Ukrayna Karbovanetz
-
-
- Uganda Åilini (1966-1987)
-
-
- Uganda Åilini
-
-
- ABD Doları
- $
-
-
- ABD Doları (Ertesi gĂ¼n)
-
-
- ABD Doları (Aynı gĂ¼n)
-
-
- Uruguay Peso en Unidades Indexadas
-
-
- Uruguay Pezosu (1975-1993)
-
-
- Uruguay Pezosu (Uruguayo)
-
-
- Ă–zbekistan Somu
-
-
- Venezuela Bolivarı
-
-
- GĂ¼Ă§lĂ¼ Venezuela Bolivarı
-
-
- Vietnam Dongu
-
-
- Vanuatu Vatusu
-
-
- Batı Samoa Talası
-
-
- CFA Frangı BEAC
-
-
- GĂ¼mĂ¼ÅŸ
-
-
- Altın
-
-
- BirleÅŸik Avrupa Birimi
-
-
- Avrupa Para Birimi (EMU)
-
-
- Avrupa Hesap Birimi (XBC)
-
-
- Avrupa Hesap Birimi (XBD)
-
-
- Doğu Karayip Doları
-
-
- Özel Çekme Hakkı (SDR)
-
-
- Avrupa Para Birimi
-
-
- Fransız Altın Frangı
-
-
- Fransız UIC-Frangı
-
-
- CFA Frangı BCEAO
-
-
- Paladyum
-
-
- CFP Frangı
-
-
- Platin
-
-
- RINET Fonları
-
-
- Test Para Birimi Kodu
-
-
- Bilinmeyen veya Geçersiz Para Birimi
-
-
- Yemen Dinarı
-
-
- Yemen Riyali
-
-
- Yugoslav Dinarı (Hard)
-
-
- Yeni Yugoslav Dinarı
-
-
- Konvertibl Yugoslav Dinarı
-
-
- GĂ¼ney Afrika Randı (finansal)
-
-
- GĂ¼ney Afrika Randı
-
-
- Zambiya Kvaçası
-
-
- Yeni Zaire Zairesi
-
-
- Zaire Zairesi
-
-
- Zimbabve Doları
-
-
-
-
-
- {0} gĂ¼n
-
-
- {0} saat
-
-
- {0} dakika
-
-
- {0} ay
-
-
- {0} saniye
-
-
- {0} hafta
-
-
- {0} yıl
-
-
-
-
- evet:e
- hayır:hayir:h
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tr_TR.xml b/airtime_mvc/library/Zend/Locale/Data/tr_TR.xml
deleted file mode 100644
index 44f33851b..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tr_TR.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/trv.xml b/airtime_mvc/library/Zend/Locale/Data/trv.xml
deleted file mode 100644
index 20e78cae3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/trv.xml
+++ /dev/null
@@ -1,561 +0,0 @@
-
-
-
-
-
-
-
-
-
- patas Monchiara
- patas Towjih
- patas Ingrisi
- patas Espanniu
- patas Bosey
- patas Heyti
- patas Itariya
- patas Nihong
- patas Bowdu
- patas Pajey
- patas Ruski
- patas Srpian
- Ini klayna patas ni
- patas Yurtu
- patas Ipaw
- Qantan Ipaw patas
- Baday Ipaw patas
-
-
-
-
-
-
-
-
-
-
-
- alang Nanci
- alang Posniya
- alang Pajey
- alang Puwei
- alang Switjrrant
- alang Ipaw
- alang Towjih
- alang Posey
- alang Inglis
- alang Nanjiouya ni Nansanminji
- alang Htee ni Mayktan
- alang Krowtia
- alang Intu
- alang Inglis niq Intu
- alang Itariya
- alang Nihong
- alang Mondineygrw
- alang Srbia
- alang Ruski
- alang Snmarinow
- alang Posey niq Nan
- alang Amarika
- ini klayi na alang ni
-
-
- Jiyax Yisu Thulang
-
-
- Snamrika
- Snyunaydi
-
-
- Kari: {0}
- Patas: {0}
- Alang: {0}
-
-
-
- [a-e g-n {ng} o-u w-y]
- [Ḡf ɨ ḻ ṟ ṯ ʉ v z ʼ]
- [a-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
-
-
- Kii
- Dhi
- Tri
- Spi
- Rii
- Mti
- Emi
- Mai
- Mni
- Mxi
- Mxk
- Mxd
-
-
- Kingal idas
- Dha idas
- Tru idas
- Spat idas
- Rima idas
- Mataru idas
- Empitu idas
- Maspat idas
- Mngari idas
- Maxal idas
- Maxal kingal idas
- Maxal dha idas
-
-
-
-
- K
- D
- T
- S
- R
- M
- E
- P
- A
- M
- K
- D
-
-
-
-
-
-
- Emp
- Kin
- Dha
- Tru
- Spa
- Rim
- Mat
-
-
- Jiyax sngayan
- tgKingal jiyax iyax sngayan
- tgDha jiyax iyax sngayan
- tgTru jiyax iyax sngayan
- tgSpac jiyax iyax sngayan
- tgRima jiyax iyax sngayan
- tgMataru jiyax iyax sngayan
-
-
-
-
- E
- K
- D
- T
- S
- R
- M
-
-
-
-
-
-
- mn1
- mn2
- mn3
- mn4
-
-
- mnprxan
- mndha
- mntru
- mnspat
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- Brax kndaax
- Baubau kndaax
-
-
- Brah jikan Yisu Thulang
- Bukuy jikan Yisu Thulang
-
-
- BRY
- BUY
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yyyy-MM-dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- d
- H:mm
- L
- M-d
- E, M-d
- LLL
- MMM d
- E MMM d
- MMMM d
- E MMMM d
- mm:ss
- y
- yyyy-M
- EEE, yyyy-M-d
- y MMM
- EEE, y MMM d
- y MMMM
- yyyy Q
- y QQQ
-
-
-
-
- Hngkawas
-
-
- hngkawas
-
-
- Idas
-
-
- Jiyax iyax sngayan
-
-
- Jiyax
- Shiga
- Jiyax sayang
- Saman
-
-
- Jiyax quri jiyax iyax sngayan
-
-
- Jikan
-
-
- Tuki
-
-
- Spngan
-
-
- Seykn
-
-
- Alang
-
-
-
-
-
- +HH:mm;-HH:mm
- JQG{0}
- Jikan {0}
-
- Ini klayi ka Jikan hini
-
-
- Jikan alang Purank
-
-
- Jikan alang Grad
-
-
- Jikan alang Snpaurow
-
-
- Jikan alang Honoruru
-
-
- Jikan alang Ankriji
-
-
- Jikan alang Rosanci
-
-
- Jikan alang Bonhuan
-
-
- Jikan alang Tanbo
-
-
- Jikan alang Jiciak
-
-
- Jikan alang Intiannaporis
-
-
- Jikan alang Niuyue
-
-
-
- Jikan Con-Amarika
- Snegun Jikan Con-Amarika
- Jikan Con-Amarika o Karat Rbagan
-
-
- JCA
- SJCA
- JCAKR
-
-
-
-
- Jikan Ton-Amarika
- Snegun Jikan Ton-Amarika
- Jikan Ton-Amarika o Karat Rbagan
-
-
- JTA
- SJTA
- JTAKR
-
-
-
-
- Jikan Yama-Amarika
- Snegun Jikan Yama-Amarika
- Jikan Hidaw niq Yama-Amarika
-
-
- JYA
- SJYA
- JHYA
-
-
-
-
- Jikan Daybinyan
- Snegun Jikan Amarika-Daybinyan
- Jikan Amarika-Daybinyan o Karat Rbagan
-
-
- JD
- SJAD
- JADKR
-
-
-
-
- Jikan Yayun Tasiyan
- Snegun Jikan Yayun Tasiyan
- Jikan Yayun Tasiyan o Karat Rbagan
-
-
- JYT
- SJYT
- JYTKR
-
-
-
-
- Jikan Conow
- Jikan Conow o Karat Rbagan
-
-
- JC
- JCKR
-
-
-
-
- Jikan Tonow
- Jikan Tonow o Karat Rbagan
-
-
- JT
- JTKR
-
-
-
-
- Jikan Siow
- Jikan Siow o Karat Rbagan
-
-
- JS
- JSKR
-
-
-
-
- Jikan Quri Grinweyji
-
-
- JQG
-
-
-
-
-
-
- .
- ,
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤ #,##0.00
-
-
-
-
-
- pila Autaria
-
-
- pila Pajey
-
-
- pila Ipaw
-
-
- pila Irow
-
-
- pila Inglis
-
-
- pila Hong Kong
-
-
- pila Intia
-
-
- pila Nihong
-
-
- pila Macao
-
-
- pila Nowey
-
-
- pila Ruski
-
-
- pila Taiwan
-
-
- pila America
-
-
- ini klayi pila ni
-
-
-
-
-
- {0} Jiyax
-
-
- {0} Tuki
-
-
- {0} spngan
-
-
- {0} Idas
-
-
- {0} Seykn
-
-
- {0} Jiyax iyax sngayan
-
-
- {0} Hnkawas
-
-
-
-
- yiru:y
- mnan:m
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/trv_TW.xml b/airtime_mvc/library/Zend/Locale/Data/trv_TW.xml
deleted file mode 100644
index f52b5a143..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/trv_TW.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ts.xml b/airtime_mvc/library/Zend/Locale/Data/ts.xml
deleted file mode 100644
index 5f6b8f74f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ts.xml
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
-
-
-
- Xi Czech
- Xi Danish
- Xi Jarimani
- Xi Giriki
- Xi Nghezi
- Xi spain
- hi xi Estonia
- Xi Finnish
- Xi Furwa
- XiHeberu
- hi xi Hungary
- hi xi Iceland
- Xi Ithali
- Xi Japani
- Xikorea
- hi xi Lithuania
- hi xi Latvia
- Xi bunu
- Xi Norway
- Xi Polixi
- Putukezi
- hi xi Romania
- Xi Rhaxiya
- Xi Swiden
- Xitsonga
-
-
-
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Sun
- Yan
- Kul
- Dzi
- Mud
- Kho
- Maw
- Mha
- Ndz
- Nhl
- Huk
- N'w
-
-
- Sunguti
- Nyenyenyani
- Nyenyankulu
- Dzivamisoko
- Mudyaxihi
- Khotavuxika
- Mawuwani
- Mhawuri
- Ndzhati
- Nhlangula
- Hukuri
- N'wendzamhala
-
-
-
-
-
-
- Son
- Mus
- Bir
- Har
- Ne
- Tlh
- Mug
-
-
- Sonto
- Musumbhunuku
- Ravumbirhi
- Ravunharhu
- Ravumune
- Ravuntlhanu
- Mugqivela
-
-
-
-
-
-
- K1
- K2
- K3
- K4
-
-
- Kotara yo sungula
- Kotara ya vumbirhi
- Kotara ya vunharhu
- Kotara ya vumune
-
-
-
-
-
- BC
- AD
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ts_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/ts_ZA.xml
deleted file mode 100644
index 11c1f2938..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ts_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tt.xml b/airtime_mvc/library/Zend/Locale/Data/tt.xml
deleted file mode 100644
index 945111d92..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tt.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
-
-
-
-
-
- Đ¢Đ°Ñ‚Đ°Ñ€
-
-
- Đ Đ¾ÑÑиÑ
-
-
-
- [а Ó™ б-е Ñ‘ ж ̉— Đ·-Đ¾ Ó© Đ¿-у ̉¯ Ñ„ Ñ… ̉» ц-Ñ]
-
-
-
-
-
-
-
- d MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- dd.MM.yyyy
-
-
-
-
- dd.MM.yyyy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- H:mm:ss z
-
-
-
-
- H:mm:ss
-
-
-
-
- H:mm
-
-
-
-
-
- H:mm
- dd.MM
- d MMMM
- mm:ss
- Q yy
- MM.yyyy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.00¤
-
-
-
-
-
- р.
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/tt_RU.xml b/airtime_mvc/library/Zend/Locale/Data/tt_RU.xml
deleted file mode 100644
index 8806ab16b..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/tt_RU.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ug.xml b/airtime_mvc/library/Zend/Locale/Data/ug.xml
deleted file mode 100644
index 52cd580d6..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ug.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
- Uyghur
-
-
-
-
-
-
- [ئ-ب Ù¾ ت ج Ú† Ø® د ر ز Ú˜ س Ø´ غ Ù-Ùƒ Ú Ú¯ Ù„-Ù‡ Û• Ùˆ Û†-Ûˆ Û‹ Ù‰ Ù Û]
-
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ug_Arab.xml b/airtime_mvc/library/Zend/Locale/Data/ug_Arab.xml
deleted file mode 100644
index 9b73e0203..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ug_Arab.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ug_Arab_CN.xml b/airtime_mvc/library/Zend/Locale/Data/ug_Arab_CN.xml
deleted file mode 100644
index 90a090cb3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ug_Arab_CN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ug_CN.xml b/airtime_mvc/library/Zend/Locale/Data/ug_CN.xml
deleted file mode 100644
index 9aad98c6f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ug_CN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uk.xml b/airtime_mvc/library/Zend/Locale/Data/uk.xml
deleted file mode 100644
index dcbf954d3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uk.xml
+++ /dev/null
@@ -1,3813 +0,0 @@
-
-
-
-
-
-
-
-
-
- Đ°Ñ„Đ°Ñ€ÑÑŒĐºĐ°
- Đ°Đ±Ñ…Đ°Đ·ÑŒĐºĐ°
- Đ°Ñ‡ĐµÑ…ÑÑŒĐºĐ°
- Đ°Ñ‡Đ¾Đ»Ñ–
- Đ°Đ´Đ°Đ½Đ³Đ¼Đµ
- Đ°Đ´Đ¸Đ³ĐµĐ¹ÑÑŒĐºĐ°
- Đ°Đ²ĐµÑÑ‚Ñ–Đ¹ÑÑŒĐºĐ°
- Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ°Đ½Ñ
- Đ°Ñ„Ñ€Đ¾-Đ°Đ·Ñ–Đ¹ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Đ°Ñ„Ñ€Đ¸Ñ…Ñ–Đ»Ñ–
- Đ°Đ¹Đ½ÑÑŒĐºĐ°
- Đ°ĐºĐ°Đ½
- Đ°ĐºĐºĐ°Đ´ÑÑŒĐºĐ°
- Đ°Đ»ĐµÑƒÑ‚ÑÑŒĐºĐ°
- Đ°Đ»Đ³Đ¾Đ½ĐºÑ–Đ½ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ¾Đ°Đ»Ñ‚Đ°Đ¹ÑÑŒĐºĐ°
- Đ°Đ¼Ñ…Đ°Ñ€ÑÑŒĐºĐ°
- Đ°Ñ€Đ°Đ³Đ¾Đ½ÑÑŒĐºĐ°
- Đ´Đ°Đ²Đ½ÑŒĐ¾Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- Đ°Đ½Đ³Ñ–ĐºĐ°
- Đ°Đ¿Đ°Ñ‡Ñ– Đ¼Đ¾Đ²Đ¸
- Đ°Ñ€Đ°Đ±ÑÑŒĐºĐ°
- Đ°Ñ€Đ°Đ¼ĐµĐ¹ÑÑŒĐºĐ°
- Đ°Ñ€Đ°ÑƒĐºĐ°Đ½ÑÑŒĐºĐ°
- Đ°Ñ€Đ°Đ¿Đ°Ñ…Đ¾
- ÑˆÑ‚ÑƒÑ‡Đ½Đ° Đ¼Đ¾Đ²Đ°
- Đ°Ñ€Đ°Đ²Đ°ĐºÑÑŒĐºĐ°
- аÑÑĐ°Đ¼ÑÑŒĐºĐ°
- аÑтурÑÑŒĐºĐ°
- Đ°Ñ‚Đ°Đ¿Đ°ÑĐºÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ°Đ²ÑÑ‚Ñ€Đ°Đ»Ñ–Đ¹ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ°Đ²Đ°Ñ€ÑÑŒĐºĐ°
- Đ°Đ²Đ°Đ´Ñ…Ñ–
- Đ°Đ¹Đ¼Đ°Ñ€Đ°
- Đ°Đ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½ÑÑŒĐºĐ°
- Đ±Đ°ÑˆĐºĐ¸Ñ€ÑÑŒĐºĐ°
- Đ±Đ°Đ½Đ´Đ°
- Đ±Đ°Đ¼Ñ–Đ»ĐµĐºĐµ Đ¼Đ¾Đ²Đ¸
- Đ±Đ°Đ»ÑƒÑ‡Ñ–
- Đ±Đ°Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- баÑа
- Đ±Đ°Đ»Ñ‚Ñ–Đ¹ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Đ±Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºĐ°
- беджа
- Đ±ĐµĐ¼Đ±Đ°
- Đ±ĐµÑ€Đ±ĐµÑ€ÑÑŒĐºĐ°
- Đ±Đ¾Đ»Đ³Đ°Ñ€ÑÑŒĐºĐ°
- Đ±Ñ–Ñ…Đ°Ñ€Ñ–
- Đ±Ñ…Đ¾Đ´Đ¶Đ¿ÑƒÑ€Ñ–
- Đ±Ñ–ÑĐ»Đ°Đ¼Đ°
- Đ±Ñ–ĐºĐ¾Đ»ÑŒÑÑŒĐºĐ°
- Đ±Ñ–Đ½Ñ–
- ÑÑ–ĐºÑÑ–ĐºĐ°
- Đ±Đ°Đ¼Đ±Đ°Ñ€Đ°
- Đ±ĐµĐ½Đ³Đ°Đ»ÑŒÑÑŒĐºĐ°
- Đ±Đ°Đ½Ñ‚Ñƒ
- Ñ‚Đ¸Đ±ĐµÑ‚ÑÑŒĐºĐ°
- Đ±Ñ€ĐµÑ‚Đ¾Đ½ÑÑŒĐºĐ°
- Đ±Ñ€Đ°Đ´Đ¶
- Đ±Đ¾ÑĐ½Ñ–Đ¹ÑÑŒĐºĐ°
- Đ±Đ°Ñ‚Đ°Đº
- Đ±ÑƒÑ€ÑÑ‚ÑÑŒĐºĐ°
- Đ±ÑƒĐ³Ñ–Đ¹ÑÑŒĐºĐ°
- Đ±Đ»Ñ–Đ½
- ĐºĐ°Ñ‚Đ°Đ»Đ¾Đ½ÑÑŒĐºĐ°
- ĐºĐ°Đ´Đ´Đ¾
- Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑŒÑĐºĐ¸Ñ… Ñ–Đ½Đ´Ñ–Đ°Đ½Ñ†Ñ–Đ² Đ¼Đ¾Đ²Đ°
- ĐºĐ°Ñ€Ñ–Đ±ÑÑŒĐºĐ°
- ĐºĐ°Đ²ĐºĐ°Đ·ÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Đ°Ñ‚ÑĐ°Đ¼
- Ñ‡ĐµÑ‡ĐµĐ½ÑÑŒĐºĐ°
- ÑĐµĐ±ÑƒĐ°Đ½ÑÑŒĐºĐ°
- ĐºĐµĐ»ÑŒÑ‚ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Ñ‡Đ°Đ¼Đ¾Ñ€Ñ€Đ¾
- Ñ‡Ñ–Đ±Ñ‡Đ°
- Ñ‡Đ°Đ³Đ°Ñ‚Đ°Đ¹ÑÑŒĐºĐ°
- Ñ‡ÑƒÑƒĐºÑÑŒĐºĐ°
- Đ¼Đ°Ñ€Ñ–Đ¹ÑÑŒĐºĐ°
- Ñ‡Đ¸Đ½ÑƒĐº Đ¶Đ°Ñ€Đ³Đ¾Đ½
- Ñ‡Đ¾ĐºÑ‚Đ¾
- Ñ‡Ñ–Đ¿ĐµĐ²â€™ÑĐ½
- Ñ‡ĐµÑ€Đ¾ĐºÑ–
- Ñ‡ĐµĐ¹Ñ”Đ½Đ½
- Ñ…Đ°Đ¼Ñ–Ñ‚ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ĐºĐ¾Ñ€ÑĐ¸ĐºĐ°Đ½ÑÑŒĐºĐ°
- ĐºĐ¾Đ¿Ñ‚ÑÑŒĐºĐ°
- Đ°Đ½Đ³Đ»Đ¾-ĐºÑ€ĐµĐ¾Đ»ÑŒÑÑŒĐºÑ– Ñ‚Đ° Đ¿Ñ–Đ´Đ¶Ñ–Đ½Ñ–Đ·Đ¾Đ²Đ°Đ½Ñ– Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ„Ñ€Đ°Đ½ĐºĐ¾-ĐºÑ€ĐµĐ¾Đ»ÑŒÑÑŒĐºÑ– Ñ‚Đ° Đ¿Ñ–Đ´Đ¶Ñ–Đ½Ñ–Đ·Đ¾Đ²Đ°Đ½Ñ– Ñ„Ñ€Đ°Đ½ĐºĐ¾Ñ„Đ¾Đ½Đ½Ñ– Đ¼Đ¾Đ²Đ¸
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºĐ¾-ĐºÑ€ĐµĐ¾Đ»ÑŒÑÑŒĐºÑ– Ñ‚Đ° Đ¿Ñ–Đ´Đ¶Ñ–Đ½Ñ–Đ·Đ¾Đ²Đ°Đ½Ñ– Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ĐºÑ€Ñ–
- ĐºÑ€Đ¸Đ¼ÑÑŒĐºĐ¾Ñ‚Đ°Ñ‚Đ°Ñ€ÑÑŒĐºĐ°
- ĐºÑ€ĐµĐ¾Đ»ÑŒÑÑŒĐºÑ– Ñ‚Đ° Đ¿Ñ–Đ´Đ¶Ñ–Đ½Ñ–Đ·Đ¾Đ²Đ°Đ½Ñ– Đ¼Đ¾Đ²Đ¸
- Ñ‡ĐµÑÑŒĐºĐ°
- ĐºĐ°ÑˆÑƒĐ±ÑÑŒĐºĐ°
- Ñ†ĐµÑ€ĐºĐ¾Đ²Đ½Đ¾ÑĐ»Đ¾Đ²â€™ÑĐ½ÑÑŒĐºĐ°
- ĐºÑƒÑˆÑ–Ñ‚ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Ñ‡ÑƒĐ²Đ°ÑÑŒĐºĐ°
- Đ²Đ°Đ»Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- Đ´Đ°Đ½ÑÑŒĐºĐ°
- Đ´Đ°ĐºĐ¾Ñ‚Đ°
- Đ´Đ°Ñ€Đ³Ñ–Đ½ÑÑŒĐºĐ°
- даÑĐº
- Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ°
- Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ° Đ°Đ²ÑÑ‚Ñ€Ñ–Đ¹ÑÑŒĐºĐ°
- Đ²ĐµÑ€Ñ…Đ½ÑŒĐ¾Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ° ÑˆĐ²ĐµĐ¹Ñ†Đ°Ñ€ÑÑŒĐºĐ°
- Đ´ĐµĐ»Đ°Đ²Đ°Ñ€ÑÑŒĐºĐ°
- ÑĐ»ĐµĐ¹Đ²
- Đ´Đ¾Đ³Ñ€Đ¸Đ±ÑÑŒĐºĐ°
- Đ´Ñ–Đ½ĐºĐ°
- Đ´Đ¾Đ³Ñ€Ñ–
- Đ´Ñ€Đ°Đ²Ñ–Đ´Ñ–Đ¹ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Đ½Đ¸Đ¶Đ½ÑŒĐ¾Đ»ÑƒĐ¶Đ¸Ñ†ÑŒĐºĐ°
- Đ´ÑƒĐ°Đ»Đ°
- ÑĐµÑ€ĐµĐ´Đ½ÑŒĐ¾Đ½Ñ–Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- Đ´Ñ–Đ²ĐµÑ…Ñ–
- Đ´Ñ–ÑƒĐ»Đ°
- Đ´Đ·Đ¾Đ½Đ³-ĐºĐµ
- ĐµĐ²Đµ
- ĐµÑ„Ñ–Đº
- Đ´Đ°Đ²Đ½ÑŒĐ¾Ñ”Đ³Đ¸Đ¿ĐµÑ‚ÑÑŒĐºĐ°
- ĐµĐºĐ°Đ´Đ¶ÑƒĐº
- Đ³Ñ€ĐµÑ†ÑŒĐºĐ°
- ĐµĐ»Đ°Đ¼ÑÑŒĐºĐ°
- Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ° Đ°Đ²ÑÑ‚Ñ€Đ°Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ° ĐºĐ°Đ½Đ°Đ´ÑÑŒĐºĐ°
- Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ° Đ±Ñ€Đ¸Ñ‚Đ°Đ½ÑÑŒĐºĐ°
- Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ° Đ¡Đ¨Đ
- ÑĐµÑ€ĐµĐ´Đ½ÑŒĐ¾Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- еÑĐ¿ĐµÑ€Đ°Đ½Ñ‚Đ¾
- Ñ–ÑĐ¿Đ°Đ½ÑÑŒĐºĐ°
- Đ»Đ°Ñ‚Đ¸Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ° Ñ–ÑĐ¿Đ°Đ½ÑÑŒĐºĐ°
- Ñ–Đ±ĐµÑ€Ñ–Đ¹ÑÑŒĐºĐ° Ñ–ÑĐ¿Đ°Đ½ÑÑŒĐºĐ°
- еÑÑ‚Đ¾Đ½ÑÑŒĐºĐ°
- баÑĐºÑ–Đ²
- ĐµĐ²Đ¾Đ½Đ´Đ¾
- Đ¿ĐµÑ€ÑÑŒĐºĐ°
- Ñ„Đ°Đ½Đ³
- Ñ„Đ°Đ½Ñ‚Ñ–
- Ñ„ÑƒĐ»Đ°
- Ñ„Ñ–Đ½ÑÑŒĐºĐ°
- Ñ„Ñ–Đ»Ñ–Đ¿Đ¿Ñ–Đ½ÑÑŒĐºĐ°
- Ñ„Ñ–Đ½Đ½Đ¾-ÑƒĐ³Đ¾Ñ€ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ„Ñ–Đ´Đ¶Ñ–
- Ñ„Đ°Ñ€ĐµÑ€ÑÑŒĐºĐ°
- Ñ„Đ¾Đ½
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ° ĐºĐ°Đ½Đ°Đ´ÑÑŒĐºĐ°
- Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ° ÑˆĐ²ĐµĐ¹Ñ†Đ°Ñ€ÑÑŒĐºĐ°
- ÑĐµÑ€ĐµĐ´Đ½ÑŒĐ¾Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ°
- Đ´Đ°Đ²Đ½ÑŒĐ¾Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ°
- Ñ„Ñ€Đ¸Đ·ÑŒĐºĐ° Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ°
- Ñ„Ñ€Đ¸Đ·ÑŒĐºĐ° ÑÑ…Ñ–Đ´Đ½Đ°
- Ñ„Ñ€Ñ–ÑƒĐ»ÑŒÑÑŒĐºĐ°
- Ñ„Ñ€Đ¸Đ·ÑŒĐºĐ°
- Ñ–Ñ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- Đ³Đ°
- Đ³Đ°Đ¹Đ¾
- Đ³Đ±Đ°Đ¹Ñ
- Đ³Đ°ĐµĐ»ÑŒÑÑŒĐºĐ°
- Đ³ĐµÑ€Đ¼Đ°Đ½ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Đ³Ñ”ĐµĐ·
- Đ³Ñ–Đ»ÑŒĐ±ĐµÑ€Ñ‚ÑÑŒĐºĐ°
- Đ³Đ°Đ»Ñ–ÑÑ–Đ¹ÑÑŒĐºĐ°
- ÑĐµÑ€ĐµĐ´Đ½ÑŒĐ¾Đ²ĐµÑ€Ñ…Đ½ÑŒĐ¾Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ°
- Đ³ÑƒĐ°Ñ€Đ°Đ½Ñ–
- Đ´Đ°Đ²Đ½ÑŒĐ¾Đ²ĐµÑ€Ñ…Đ½ÑŒĐ¾Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ°
- Đ³Đ¾Đ½Đ´Ñ–
- Đ³Đ¾Ñ€Đ¾Đ½Ñ‚Đ°Đ»Đ¾
- Đ³Đ¾Ñ‚ÑÑŒĐºĐ°
- Đ³Ñ€ĐµĐ±Đ¾
- Đ´Đ°Đ²Đ½ÑŒĐ¾Đ³Ñ€ĐµÑ†ÑŒĐºĐ°
- Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ° ÑˆĐ²ĐµĐ¹Ñ†Đ°Ñ€ÑÑŒĐºĐ°
- Đ³ÑƒĐ´Đ¶Đ°Ñ€Đ°Ñ‚Ñ–
- Đ¼ĐµĐ½ĐºÑÑŒĐºĐ°
- ĐºÑƒÑ‡Ñ–Đ½
- Ñ…Đ°ÑƒÑа
- Ñ…Đ°Đ¹Đ´Đ°
- Đ³Đ°Đ²Đ°Đ¹ÑÑŒĐºĐ°
- Ñ–Đ²Ñ€Đ¸Ñ‚
- Đ³Ñ–Đ½Đ´Ñ–
- Ñ…Ñ–Đ»Ñ–Đ³Đ°Đ¹Đ½Đ¾Đ½
- Ñ…Ñ–Đ¼Đ°Ñ‡Đ°Đ»Ñ–
- хітіті
- Ñ…Đ¼Đ¾Đ½Đ³
- хірі-Đ¼Đ¾Ñ‚Ñƒ
- Ñ…Đ¾Ñ€Đ²Đ°Ñ‚ÑÑŒĐºĐ°
- Đ²ĐµÑ€Ñ…Đ½ÑŒĐ¾Đ»ÑƒĐ¶Đ¸Ñ†ÑŒĐºĐ°
- Đ³Đ°Ñ—Ñ‚ÑĐ½ÑÑŒĐºĐ°
- ÑƒĐ³Đ¾Ñ€ÑÑŒĐºĐ°
- Ñ…ÑƒĐ¿Đ°
- Đ²Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ°
- Đ³ĐµÑ€ĐµÑ€Đ¾
- Ñ–Đ½Ñ‚ĐµÑ€Đ»Ñ–Đ½Đ³Đ²Đ°
- Ñ–Đ±Đ°Đ½ÑÑŒĐºĐ°
- Ñ–Đ½Đ´Đ¾Đ½ĐµĐ·Ñ–Đ¹ÑÑŒĐºĐ°
- Ñ–Đ½Ñ‚ĐµÑ€Đ»Ñ–Đ½Đ³Đ²Đµ
- Ñ–Đ³Đ±Đ¾
- ÑĐ¸Ñ‡ÑƒĐ°Đ½ÑŒ
- Ñ–Đ´Đ¶Đ¾
- Ñ–Đ½ÑƒĐ¿Ñ–Đ°Đº
- Ñ–Đ»Đ¾ĐºĐ°Đ½ÑÑŒĐºĐ°
- Ñ–Đ½Đ´Ñ–Đ¹ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ–Đ½Đ´Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ–Đ½Đ³ÑƒÑÑŒĐºĐ°
- Ñ–Đ´Đ¾
- Ñ–Ñ€Đ°Đ½ÑÑŒĐºĐ°
- Ñ–Ñ€Đ¾ĐºĐµĐ·ÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ–ÑĐ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- Ñ–Ñ‚Đ°Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- Ñ–Đ½ÑƒĐºÑ‚Ñ–Ñ‚ÑƒÑ‚
- ÑĐ¿Đ¾Đ½ÑÑŒĐºĐ°
- Đ»Đ¾Đ¶Đ±Đ°Đ½
- Ñ–ÑƒĐ´ĐµĐ¾-Đ¿ĐµÑ€ÑÑŒĐºĐ°
- Ñ–ÑƒĐ´ĐµĐ¾-Đ°Ñ€Đ°Đ±ÑÑŒĐºĐ°
- ÑĐ²Đ°Đ½ÑÑŒĐºĐ°
- Đ³Ñ€ÑƒĐ·Đ¸Đ½ÑÑŒĐºĐ°
- ĐºĐ°Ñ€Đ°ĐºĐ°Đ»Đ¿Đ°Ñ†ÑŒĐºĐ°
- ĐºĐ°Đ±Đ¸Đ»ÑŒÑÑŒĐºĐ°
- ĐºĐ°Ñ‡Ñ–Đ½
- Đ¹Ñ
- ĐºĐ°Đ¼Đ±Đ°
- ĐºĐ°Ñ€ĐµĐ½ÑÑŒĐºĐ°
- ĐºĐ°Đ²Ñ–
- ĐºĐ°Đ±Đ°Ñ€Đ´Đ¸Đ½ÑÑŒĐºĐ°
- Ñ‚Ñ–Đ°Đ¿
- ĐºĐ¾Ñ€Đ¾
- ĐºĐ¾Đ½̉‘Đ¾Đ»ĐµĐ·ÑŒĐºĐ°
- ĐºÑ…Đ°ÑÑ–
- ĐºĐ¾Đ¹ÑĐ°Đ½ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ…Đ¾Ñ‚Đ°Đ½Đ¾ÑĐ°ĐºÑÑŒĐºĐ°
- ĐºÑ–ĐºÑƒĐ¹Ñ
- ĐºÑƒĐ½Đ°Đ¼Đ°
- ĐºĐ°Đ·Đ°Ñ…ÑÑŒĐºĐ°
- ĐºĐ°Đ»Đ°Đ°Đ»Đ»Ñ–Ñут
- ĐºÑ…Đ¼ĐµÑ€ÑÑŒĐºĐ°
- ĐºÑ–Đ¼Đ±ÑƒĐ½Đ´Ñƒ
- ĐºĐ°Đ½Đ½Đ°Đ´Đ°
- ĐºĐ¾Ñ€ĐµĐ¹ÑÑŒĐºĐ°
- ĐºĐ¾Đ½ĐºĐ°Đ½Ñ–
- ĐºĐ¾ÑÑ€Đ°Đµ
- ĐºĐ¿ĐµĐ»Đ»Ñ”
- ĐºĐ°Đ½ÑƒÑ€Ñ–
- ĐºĐ°Ñ€Đ°Ñ‡Đ°Ñ”Đ²Đ¾-Đ±Đ°Đ»ĐºĐ°Ñ€ÑÑŒĐºĐ°
- ĐºĐ°Ñ€ĐµĐ»ÑŒÑÑŒĐºĐ°
- ĐºÑ€Ñƒ
- ĐºÑƒÑ€ÑƒĐºÑ…
- ĐºĐ°ÑˆĐ¼Ñ–Ñ€ÑÑŒĐºĐ°
- ĐºÑƒÑ€Đ´ÑÑŒĐºĐ°
- ĐºÑƒĐ¼Đ¸Ñ†ÑŒĐºĐ°
- ĐºÑƒÑ‚ĐµĐ½Đ°Ñ—
- ĐºĐ¾Đ¼Ñ–
- ĐºĐ¾Ñ€Đ½Ñ–Đ¹ÑÑŒĐºĐ°
- ĐºĐ¸Ñ€Đ³Đ¸Đ·ÑŒĐºĐ°
- Đ»Đ°Ñ‚Đ¸Đ½ÑÑŒĐºĐ°
- Đ»Đ°Đ´Ñ–Đ½Đ¾
- Đ»Đ°Đ½Đ´Đ°
- Đ»Đ°Đ¼Đ±Đ°
- Đ»ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ·ÑŒĐºĐ°
- Đ»ĐµĐ·Đ³Ñ–Đ½ÑÑŒĐºĐ°
- Đ³Đ°Đ½Đ´Đ°
- Đ»Ñ–Đ¼Đ±ÑƒÑ€Đ³Ñ–Đ¹ÑÑŒĐºĐ°
- Đ»Ñ–Đ½Đ³Đ°Đ»Đ°
- Đ»Đ°Đ¾ÑÑŒĐºĐ°
- Đ¼Đ¾Đ½Đ³Đ¾
- Đ»Đ¾Đ·Ñ–
- Đ»Đ¸Ñ‚Đ¾Đ²ÑÑŒĐºĐ°
- Đ»ÑƒĐ±Đ°-ĐºĐ°Ñ‚Đ°Đ½Đ³Đ°
- Đ»ÑƒĐ±Đ°-Đ»ÑƒĐ»ÑƒĐ°
- Đ»ÑƒÑ—ÑĐµĐ½ÑŒĐ¾
- Đ»ÑƒĐ½Đ´Đ°
- Đ»ÑƒĐ¾
- Đ»ÑƒÑˆĐµĐ¹
- Đ»Đ°Ñ‚Đ²Ñ–Đ¹ÑÑŒĐºĐ°
- Đ¼Đ°Đ´ÑƒÑ€ÑÑŒĐºĐ°
- Đ¼Đ°Đ³Đ°Đ´Ñ…Ñ–
- Đ¼Đ°Đ¹Ñ‚Ñ…Ñ–Đ»Ñ–
- Đ¼Đ°ĐºĐ°ÑĐ°Ñ€ÑÑŒĐºĐ°
- Đ¼Đ°Đ½Đ´Ñ–Đ½Đ³Đ¾
- Đ°Đ²ÑÑ‚Ñ€Đ¾Đ½ĐµĐ·Ñ–Đ¹ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Đ¼Đ°ÑĐ°Ñ—
- Đ¼Đ¾ĐºÑˆĐ°
- Đ¼Đ°Đ½Đ´Đ°Ñ€ÑÑŒĐºĐ°
- Đ¼ĐµĐ½Đ´Đµ
- Đ¼Đ°Đ»Đ°Đ³Đ°ÑÑ–Đ¹ÑÑŒĐºĐ°
- ÑĐµÑ€ĐµĐ´Đ½ÑŒĐ¾Ñ–Ñ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- Đ¼Đ°Ñ€ÑˆĐ°Đ»Đ»ÑŒÑÑŒĐºĐ°
- Đ¼Đ°Đ¾Ñ€Ñ–
- Đ¼Ñ–ĐºĐ¼Đ°Đº
- Đ¼Ñ–Đ½Đ°Đ½Đ³ĐºĐ°Đ±Đ°Ñƒ
- Ñ–Đ½ÑˆÑ– Đ¼Đ¾Đ²Đ¸
- Đ¼Đ°ĐºĐµĐ´Đ¾Đ½ÑÑŒĐºĐ°
- Đ¼Đ¾Đ½-ĐºÑ…Đ¼ĐµÑ€ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ¼Đ°Đ»Đ°Đ¹ÑĐ»Đ°Đ¼
- Đ¼Đ¾Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ°
- Đ¼Đ°Đ½Ñ‡Đ¶ÑƒÑ€ÑÑŒĐºĐ°
- Đ¼Đ°Đ½Ñ–Đ¿ÑƒÑ€Ñ–
- Đ¼Đ°Đ½Đ¾Đ±Đ¾ Đ¼Đ¾Đ²Đ¸
- Đ¼Đ¾Đ»Đ´Đ°Đ²ÑÑŒĐºĐ°
- Đ¼Đ°Đ³Đ°Đ²Đº
- Đ¼Đ¾ÑÑÑ–
- Đ¼Đ°Ñ€Đ°Ñ‚Ñ…Ñ–
- Đ¼Đ°Đ»Đ°Đ¹ÑÑŒĐºĐ°
- Đ¼Đ°Đ»ÑŒÑ‚Ñ–Đ¹ÑÑŒĐºĐ°
- Đ´ĐµĐºÑ–Đ»ÑŒĐºĐ° Đ¼Đ¾Đ²
- Đ¼ÑƒĐ½Đ´Đ° Đ¼Đ¾Đ²Đ¸
- ĐºÑ€Ñ–Đº
- Đ¼Ñ–Ñ€Đ°Đ½Đ´ÑÑŒĐºĐ°
- Đ¼Đ°Ñ€Đ²Đ°Ñ€Ñ–
- Đ±Ñ–Ñ€Đ¼Đ°Đ½ÑÑŒĐºĐ°
- Đ¼Đ°Đ¹Ñ Đ¼Đ¾Đ²Đ¸
- ĐµÑ€Đ·Ñ
- Đ½Đ°ÑƒÑ€Ñƒ
- Đ½Đ°Ñ…ÑƒĐ°Ñ‚Đ»ÑŒ
- Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Ñ… Ñ–Đ½Đ´Ñ–Đ°Đ½Ñ†Ñ–Đ² Đ¼Đ¾Đ²Đ¸
- Đ½ĐµĐ°Đ¿Đ¾Đ»Ñ–Ñ‚Đ°Đ½ÑÑŒĐºĐ°
- Đ½Đ¾Ñ€Đ²ĐµĐ·ÑŒĐºĐ° Đ±ÑƒĐºĐ¼Đ¾Đ»
- Đ½Đ´ĐµĐ±ĐµĐ»Ñ” Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ°
- Đ½Đ¸Đ¶Đ½ÑŒĐ¾Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ°
- Đ½ĐµĐ¿Đ°Đ»ÑŒÑÑŒĐºĐ°
- Đ½ĐµĐ²Đ°Ñ€Ñ–
- Đ½Đ´Đ¾Đ½Đ³Đ°
- Đ½Ñ–Đ°ÑÑŒĐºĐ°
- Đ½Ñ–̉‘ĐµÑ€Đ¾-ĐºĐ¾Ñ€Đ´Đ¾Ñ„Đ°Đ½ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ½Ñ–ÑƒĐµ
- Đ³Đ¾Đ»Đ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- Ñ„Đ»Đ°Đ¼Đ°Đ½Đ´ÑÑŒĐºĐ°
- Đ½Đ¾Ñ€Đ²ĐµĐ·ÑŒĐºĐ° Đ½ÑĐ½Đ¾Ñ€ÑÑŒĐº
- Đ½Đ¾Ñ€Đ²ĐµĐ·ÑŒĐºĐ°
- Đ½Đ¾Đ³Đ°Đ¹ÑÑŒĐºĐ°
- Đ´Đ°Đ²Đ½ÑŒĐ¾Đ½Đ¾Ñ€Đ²ĐµĐ·ÑŒĐºĐ°
- Đ½ĐºĐ¾
- Đ½Đ´ĐµĐ±ĐµĐ»Ñ” Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ°
- ÑĐ¾Ñ‚Đ¾ Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ°
- Đ½ÑƒĐ±Ñ–Đ¹ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ½Đ°Đ²Đ°Ñ…Đ¾
- Đ½ĐµĐ²Đ°Ñ€Ñ– ĐºĐ»Đ°ÑĐ¸Ñ‡Đ½Đ°
- Đ½ÑŒÑĐ½Đ´Đ¶Đ°
- Đ½ÑŒÑĐ¼Đ²ĐµĐ·Ñ–
- Đ½ÑŒÑĐ½ĐºĐ¾Đ»Đµ
- Đ½ÑŒĐ¾Ñ€Đ¾
- Đ½Đ·Ñ–Đ¼Đ°
- Đ¾ĐºĐ¸Ñ‚Đ°Đ½
- Đ¾Đ´Đ¶Ñ–Đ±Đ²Đ°
- Đ¾Ñ€Đ¾Đ¼Đ¾
- Đ¾Ñ€Ñ–Ñ
- Đ¾ÑĐµÑ‚Đ¸Đ½ÑÑŒĐºĐ°
- Đ¾ÑĐµĐ¹Đ´Đ¶
- Đ¾ÑĐ¼Đ°Đ½ÑÑŒĐºĐ°
- Đ¾Ñ‚Đ¾Đ¼Ñ– Đ¼Đ¾Đ²Đ¸
- Đ¿Đ°Đ½Đ´Đ¶Đ°Đ±Ñ–
- Đ¿Đ°Đ¿ÑƒĐ°ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ¿Đ°Đ½Đ³Đ°ÑÑ–Đ½Đ°Đ½ÑÑŒĐºĐ°
- Đ¿ĐµÑ…Đ»ĐµĐ²Ñ–
- Đ¿Đ°Đ¼Đ¿Đ°Đ½Đ³Đ°
- Đ¿Đ°Đ¿â€™ÑĐ¼ĐµĐ½Ñ‚Đ¾
- Đ¿Đ°Đ»Đ°ÑƒĐ°Đ½ÑÑŒĐºĐ°
- Đ´Đ°Đ²Đ½ÑŒĐ¾Đ¿ĐµÑ€ÑÑŒĐºĐ°
- Ñ„Ñ–Đ»Ñ–Đ¿Đ¿Ñ–Đ½ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ„Ñ–Đ½Ñ–ĐºÑ–Đ¹ÑÑŒĐºĐ¾-Đ¿ÑƒĐ½Ñ–Ñ‡Đ½Đ°
- Đ¿Đ°Đ»Ñ–
- Đ¿Đ¾Đ»ÑŒÑÑŒĐºĐ°
- Đ¿Đ¾Đ½Đ°Đ¿Đµ
- Đ¿Ñ€Đ°ĐºÑ€Ñ–Ñ‚Ñ– Đ¼Đ¾Đ²Đ¸
- Đ´Đ°Đ²Đ½ÑŒĐ¾Đ¿Ñ€Đ¾Đ²Đ°Đ½ÑĐ°Đ»ÑŒÑÑŒĐºĐ°
- Đ¿ÑƒÑˆÑ‚Ñƒ
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºĐ°
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºĐ° Đ±Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐ°
- Đ¿Đ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºĐ° Ñ–Đ±ĐµÑ€Ñ–Đ¹ÑÑŒĐºĐ°
- ĐºĐµÑ‡ÑƒĐ°
- Ñ€Đ°Đ´Đ¶Đ°ÑÑ‚Ñ…Đ°Đ½Ñ–
- Ñ€Đ°Đ¿Đ°Đ½ÑƒÑ—
- Ñ€Đ°Ñ€Đ¾Ñ‚Đ¾Đ½Đ³Đ°
- Ñ€ĐµÑ‚Đ¾Ñ€Đ¾Đ¼Đ°Đ½ÑÑŒĐºĐ°
- Ñ€ÑƒĐ½Đ´Ñ–
- Ñ€ÑƒĐ¼ÑƒĐ½ÑÑŒĐºĐ°
- Ñ€Đ¾Đ¼Đ°Đ½ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ†Đ¸Đ³Đ°Đ½ÑÑŒĐºĐ°
- ĐºĐ¾Ñ€Ñ–Đ½ÑŒ
- Ñ€Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ°
- Đ°Ñ€ÑƒĐ¼ÑƒĐ½ÑÑŒĐºĐ°
- ĐºÑ–Đ½ÑŒÑÑ€ÑƒĐ°Đ½Đ´Đ°
- ÑĐ°Đ½ÑĐºÑ€Đ¸Ñ‚
- ÑĐ°Đ½Đ´Đ°Đ²Đµ
- ÑĐºÑƒÑ‚ÑÑŒĐºĐ°
- Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Ñ… Ñ–Đ½Đ´Ñ–Đ°Đ½Ñ†Ñ–Đ² Đ¼Đ¾Đ²Đ¸
- ÑĐ°Đ»Ñ–ÑˆÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ÑĐ°Đ¼Đ°Ñ€Đ¸Ñ‚ÑĐ½ÑÑŒĐºĐ° Đ°Ñ€Đ°Đ¼ĐµĐ¹ÑÑŒĐºĐ°
- ÑаÑĐ°ĐºÑÑŒĐºĐ°
- ÑĐ°Đ½Ñ‚Đ°Đ»ÑŒÑÑŒĐºĐ°
- ÑĐ°Ñ€Đ´Đ¸Đ½ÑÑŒĐºĐ°
- ÑĐ¸Ñ†Đ¸Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- ÑˆĐ¾Ñ‚Đ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- ÑÑ–Đ½Đ´Ñ…Ñ–
- ÑĐ°Đ°Đ¼ÑÑŒĐºĐ° Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ°
- ÑĐµĐ»ÑŒĐºÑƒĐ¿ÑÑŒĐºĐ°
- ÑĐµĐ¼Ñ–Ñ‚ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ÑĐ°Đ½Đ³Đ¾
- Đ´Đ°Đ²Đ½ÑŒĐ¾Ñ–Ñ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ°
- Đ·Đ½Đ°ĐºĐ¾Đ²Ñ– Đ¼Đ¾Đ²Đ¸
- ÑĐµÑ€Đ±ÑÑŒĐºĐ¾-Ñ…Đ¾Ñ€Đ²Đ°Ñ‚ÑÑŒĐºĐ°
- ÑˆĐ°Đ½ÑÑŒĐºĐ°
- ÑĐ¸Đ½Đ³Đ°Đ»ÑŒÑÑŒĐºĐ°
- ÑÑ–Đ´Đ°Đ¼Đ¾
- Ñіу Đ¼Đ¾Đ²Đ¸
- ĐºĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ¾-Ñ‚Đ¸Đ±ĐµÑ‚ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ÑĐ»Đ¾Đ²Đ°Ñ†ÑŒĐºĐ°
- ÑĐ»Đ¾Đ²ĐµĐ½ÑÑŒĐºĐ°
- ÑĐ»Đ¾Đ²â€™ÑĐ½ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ÑĐ°Đ¼Đ¾Đ°Đ½ÑÑŒĐºĐ°
- ÑĐ°Đ°Đ¼ÑÑŒĐºĐ° Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ°
- ÑĐ°Đ°Đ¼ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ÑĐ°Đ°Đ¼ÑÑŒĐºĐ° Đ»ÑƒĐ»Đµ
- ÑĐ°Đ°Đ¼ÑÑŒĐºĐ° Ñ–Đ½Đ°Ñ€Ñ–
- ÑĐ°Đ°Đ¼ÑÑŒĐºĐ° ÑĐºĐ¾Đ»ÑŒÑ‚
- ÑˆĐ¾Đ½Đ°
- ÑĐ¾Đ½Ñ–Đ½ĐºĐµ
- ÑĐ¾Đ¼Đ°Đ»Ñ–
- ÑĐ¾Đ³Đ´Ñ–Đ¹ÑÑŒĐºĐ°
- ÑĐ¾Đ½Đ³Đ°Đ¹
- Đ°Đ»Đ±Đ°Đ½ÑÑŒĐºĐ°
- ÑĐµÑ€Đ±ÑÑŒĐºĐ°
- ÑÑ€Đ°Đ½Đ°Đ½ Ñ‚Đ¾Đ½Đ³Đ¾
- ÑĐµÑ€ĐµÑ€
- ÑÑ–ÑĐ²Đ°Ñ‚Ñ–
- Đ½Ñ–Đ»Đ¾-ÑĐ°Ñ…Đ°Ñ€ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- ÑĐ¾Ñ‚Đ¾ Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ°
- ÑÑƒĐ½Đ´Đ°Đ½ÑÑŒĐºĐ°
- ÑÑƒĐºÑƒĐ¼Đ°
- ÑуÑу
- ÑˆÑƒĐ¼ĐµÑ€ÑÑŒĐºĐ°
- ÑˆĐ²ĐµĐ´ÑÑŒĐºĐ°
- ÑÑƒĐ°Ñ…Ñ–Đ»Ñ–
- ÑĐ¸Ñ€Ñ–Đ¹ÑÑŒĐºĐ° ĐºĐ»Đ°ÑĐ¸Ñ‡Đ½Đ°
- ÑĐ¸Ñ€Ñ–Đ¹ÑÑŒĐºĐ°
- Ñ‚Đ°Đ¼Ñ–Đ»ÑŒÑÑŒĐºĐ°
- Ñ‚Đ°Đ¹ÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Ñ‚ĐµĐ»ÑƒĐ³Ñƒ
- Ñ‚ĐµĐ¼Đ½Đµ
- Ñ‚ĐµÑ€ĐµĐ½Đ¾
- Ñ‚ĐµÑ‚ÑƒĐ¼
- Ñ‚Đ°Đ´Đ¶Đ¸Ñ†ÑŒĐºĐ°
- Ñ‚Đ°Đ¹ÑÑŒĐºĐ°
- Ñ‚Đ¸Đ³Ñ€Ñ–Đ½Ñ–
- Ñ‚Đ¸Đ³Ñ€Đµ
- Ñ‚Ñ–Đ²
- Ñ‚ÑƒÑ€ĐºĐ¼ĐµĐ½ÑÑŒĐºĐ°
- Ñ‚Đ¾ĐºĐµĐ»Đ°Ñƒ
- Ñ‚Đ°Đ³Đ°Đ»ÑŒÑÑŒĐºĐ°
- ĐºĐ»Ñ–Đ½Đ³Đ¾Đ½
- Ñ‚Đ»Ñ–Đ½Đ³Ñ–Ñ‚
- Ñ‚Đ°Đ¼Đ°ÑˆĐµĐº
- Ñ‚ÑĐ²Đ°Đ½Đ°
- Đ¢Đ¾Đ½Đ³Đ°
- Đ½ÑŒÑÑа Ñ‚Đ¾Đ½Đ³Đ°
- Ñ‚Đ¾Đº-Đ¿Ñ–ÑÑ–Đ½
- Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ°
- Ñ‚ÑĐ¾Đ½Đ³Đ°
- Ñ†Đ¸Đ¼ÑˆĐ¸Đ°Đ½
- Ñ‚Đ°Ñ‚Đ°Ñ€ÑÑŒĐºĐ°
- Ñ‚ÑƒĐ¼Đ±ÑƒĐºĐ°
- Ñ‚ÑƒĐ¿Ñ–
- Đ°Đ»Ñ‚Đ°Đ¹ÑÑŒĐºĐ° Đ¼Đ¾Đ²Đ°
- Ñ‚ÑƒĐ²Đ°Đ»Ñƒ
- Ñ‚Đ²Ñ–
- Ñ‚Đ°Ñ—Ñ‚ÑĐ½ÑÑŒĐºĐ°
- Ñ‚ÑƒĐ²Đ¸Đ½ÑÑŒĐºĐ°
- ÑƒĐ´Đ¼ÑƒÑ€Ñ‚ÑÑŒĐºĐ°
- ÑƒĐ¹Đ³ÑƒÑ€ÑÑŒĐºĐ°
- ÑƒĐ³Đ°Ñ€Đ¸Ñ‚ÑÑŒĐºĐ°
- ÑƒĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºĐ°
- ÑƒĐ¼Đ±ÑƒĐ½Đ´Ñƒ
- Đ½ĐµĐ²Đ¸Đ·Đ½Đ°Ñ‡ĐµĐ½Đ° Đ¼Đ¾Đ²Đ°
- ÑƒÑ€Đ´Ñƒ
- ÑƒĐ·Đ±ĐµÑ†ÑŒĐºĐ°
- Đ²Đ°Ñ—
- Đ²ĐµĐ½Đ´Đ°
- Đ²Ê¼Ñ”Ñ‚Đ½Đ°Đ¼ÑÑŒĐºĐ°
- Đ²Đ¾Đ»Đ°Đ¿â€™ÑĐº
- Đ²Đ¾Đ´ÑÑŒĐºĐ°
- Đ²Đ°Đ»Đ»Đ¾Đ½ÑÑŒĐºĐ°
- Đ²Đ°ĐºĐ°ÑˆÑÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ²Đ°Đ»Đ°Đ¼Đ¾
- Đ²Đ°Ñ€Đ°Đ¹
- Đ²Đ°ÑˆĐ¾
- Đ»ÑƒĐ¶Đ¸Ñ†ÑŒĐºÑ– Đ¼Đ¾Đ²Đ¸
- Đ²Đ¾Đ»Đ¾Ñ„
- ĐºĐ°Đ»Đ¼Đ¸Ñ†ÑŒĐºĐ°
- ĐºÑ…Đ¾Ñа
- ÑĐ¾
- ÑĐ¿
- Ñ–Đ´Đ¸Ñˆ
- Đ¹Đ¾Ñ€ÑƒĐ±Đ°
- ÑĐ¿Ñ–Đº Đ¼Đ¾Đ²Đ¸
- Ñ‡Đ¶ÑƒĐ°Đ½
- ÑĐ°Đ¿Đ¾Ñ‚ĐµĐºÑÑŒĐºĐ°
- Đ±Đ»Ñ–ÑÑа Đ¼Đ¾Đ²Đ°
- Đ·ĐµĐ½Đ°Đ³Đ°
- ĐºĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ°
- ĐºĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ° ÑĐ¿Ñ€Đ¾Ñ‰ĐµĐ½Đ°
- ĐºĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ° Ñ‚Ñ€Đ°Đ´Đ¸Ñ†Ñ–Đ¹Đ½Đ°
- Đ·Đ°Đ½Đ´Đµ
- Đ·ÑƒĐ»ÑƒÑÑŒĐºĐ°
- Đ·ÑƒĐ½ÑŒÑ—
- Đ½ĐµĐ¼Đ°Ñ” Đ¼Đ¾Đ²Đ½Đ¾Đ³Đ¾ Đ²Đ¼Ñ–Ñту
- Đ·Đ°Đ·Đ°ĐºÑ–
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Đ¡Đ²Ñ–Ñ‚
- ĐÑ„Ñ€Đ¸ĐºĐ°
- ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ¾Đ½Ñ‚Đ¸Đ½ĐµĐ½Ñ‚
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- ĐĐºĐµĐ°Đ½Ñ–Ñ
- Đ—Đ°Ñ…Ñ–Đ´Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- Đ¡Ñ…Ñ–Đ´Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° ĐÑ„Ñ€Đ¸ĐºĐ°
- ĐĐ¼ĐµÑ€Đ¸ĐºĐ¸
- ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Đ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ°
- ĐĐ°Ñ€Đ¸Đ±ÑÑŒĐºĐ¸Đ¹ баÑĐµĐ¹Đ½
- Đ¡Ñ…Ñ–Đ´Đ½Đ° ĐĐ·Ñ–Ñ
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° ĐĐ·Ñ–Ñ
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ¾-Đ¡Ñ…Ñ–Đ´Đ½Đ° ĐĐ·Ñ–Ñ
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° Đ„Đ²Ñ€Đ¾Đ¿Đ°
- ĐĐ²ÑÑ‚Ñ€Đ°Đ»Ñ–Ñ Ñ‚Đ° ĐĐ¾Đ²Đ° Đ—ĐµĐ»Đ°Đ½Đ´Ñ–Ñ
- ĐœĐµĐ»Đ°Đ½ĐµĐ·Ñ–Ñ
- ĐœÑ–ĐºÑ€Đ¾Đ½ĐµĐ·Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€ĐµĐ³Ñ–Đ¾Đ½
- ĐŸĐ¾Đ»Ñ–Đ½ĐµĐ·Ñ–Ñ
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ¾-Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ° ĐĐ·Ñ–Ñ
- ĐĐ·Ñ–Ñ
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ° ĐĐ·Ñ–Ñ
- Đ—Đ°Ñ…Ñ–Đ´Đ½Đ° ĐĐ·Ñ–Ñ
- Đ„Đ²Ñ€Đ¾Đ¿Đ°
- Đ¡Ñ…Ñ–Đ´Đ½Đ° Đ„Đ²Ñ€Đ¾Đ¿Đ°
- ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Đ° Đ„Đ²Ñ€Đ¾Đ¿Đ°
- Đ—Đ°Ñ…Ñ–Đ´Đ½Đ° Đ„Đ²Ñ€Đ¾Đ¿Đ°
- Đ¡Đ¿Ñ–Đ²Đ´Ñ€ÑƒĐ¶Đ½Ñ–Ñть ĐĐµĐ·Đ°Đ»ĐµĐ¶Đ½Đ¸Ñ… Đ”ĐµÑ€Đ¶Đ°Đ²
- Đ›Đ°Ñ‚Đ¸Đ½ÑÑŒĐºĐ° ĐĐ¼ĐµÑ€Đ¸ĐºĐ° Ñ– ĐĐ°Ñ€Đ¸Đ±ÑÑŒĐºĐ¸Đ¹ баÑĐµĐ¹Đ½
- ĐĐ¾Ñ€Đ¼Đ°Đ½Đ´ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐĐ½Đ´Đ¾Ñ€Ñ€Đ°
- ĐĐ±Ê¼Ñ”Đ´Đ½Đ°Đ½Ñ– ĐÑ€Đ°Đ±ÑÑŒĐºÑ– Đ•Đ¼Ñ–Ñ€Đ°Ñ‚Đ¸
- ĐÑ„Đ³Đ°Đ½Ñ–ÑÑ‚Đ°Đ½
- ĐĐ½Ñ‚Đ¸Đ³ÑƒĐ° Ñ– Đ‘Đ°Ñ€Đ±ÑƒĐ´Đ°
- ĐĐ½Đ³Ñ–Đ»ÑŒÑ
- ĐĐ»Đ±Đ°Đ½Ñ–Ñ
- Đ’Ñ–Ñ€Đ¼ĐµĐ½Ñ–Ñ
- ĐÑ–Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑÑŒĐºÑ– ĐĐ½Ñ‚Đ¸Đ»ÑŒÑÑŒĐºÑ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐĐ½Đ³Đ¾Đ»Đ°
- ĐĐ½Ñ‚Đ°Ñ€ĐºÑ‚Đ¸Đ´Đ°
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½Đ°
- ĐĐ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐµ Đ¡Đ°Đ¼Đ¾Đ°
- ĐĐ²ÑтріÑ
- ĐĐ²ÑÑ‚Ñ€Đ°Đ»Ñ–Ñ
- ĐÑ€ÑƒĐ±Đ°
- ĐĐ»Đ°Đ½Đ´ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐĐ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½
- Đ‘Đ¾ÑĐ½Ñ–Ñ Ñ– Đ“ĐµÑ€Ñ†Đ¾Đ³Đ¾Đ²Đ¸Đ½Đ°
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾Ñ
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑˆ
- Đ‘ĐµĐ»ÑŒĐ³Ñ–Ñ
- Đ‘ÑƒÑ€ĐºÑ–Đ½Đ°-ФаÑĐ¾
- Đ‘Đ¾Đ»Đ³Đ°Ñ€Ñ–Ñ
- Đ‘Đ°Ñ…Ñ€ĐµĐ¹Đ½
- Đ‘ÑƒÑ€ÑƒĐ½Đ´Ñ–
- Đ‘ĐµĐ½Ñ–Đ½
- ĐÑÑ‚Ñ€Ñ–Đ² Đ¡Đ²ÑÑ‚Đ¾Đ³Đ¾ Đ‘Đ°Ñ€Ñ‚Đ¾Đ»Đ¾Đ¼ĐµÑ
- Đ‘ĐµÑ€Đ¼ÑƒĐ´Đ¸
- Đ‘Ñ€ÑƒĐ½ĐµĐ¹
- Đ‘Đ¾Đ»Ñ–Đ²Ñ–Ñ
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Ñ–Ñ
- Đ‘Đ°Đ³Đ°Đ¼Đ¸
- Đ‘ÑƒÑ‚Đ°Đ½
- ĐÑÑ‚Ñ€Ñ–Đ² Đ‘ÑƒĐ²Đµ
- Đ‘Đ¾Ñ‚ÑĐ²Đ°Đ½Đ°
- Đ‘Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒ
- Đ‘ĐµĐ»Ñ–Đ·
- ĐĐ°Đ½Đ°Đ´Đ°
- ĐĐ¾ĐºĐ¾ÑĐ¾Đ²Ñ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
- Đ”ĐµĐ¼Đ¾ĐºÑ€Đ°Ñ‚Đ¸Ñ‡Đ½Đ° РеÑĐ¿ÑƒĐ±Đ»Ñ–ĐºĐ° ĐĐ¾Đ½̉‘Đ¾
- Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ° РеÑĐ¿ÑƒĐ±Đ»Ñ–ĐºĐ°
- ĐĐ¾Đ½̉‘Đ¾ - Đ‘Ñ€Đ°Đ·Đ·Đ°Đ²Ñ–Đ»ÑŒ
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€Ñ–Ñ
- ĐĐ¾Ñ‚ Đ´â€™Đ†Đ²ÑƒĐ°Ñ€
- ĐÑÑ‚Ñ€Đ¾Đ²Đ¸ ĐÑƒĐºĐ°
- Đ§Đ¸Đ»Ñ–
- ĐĐ°Đ¼ĐµÑ€ÑƒĐ½
- ĐĐ¸Ñ‚Đ°Đ¹
- ĐĐ¾Đ»ÑƒĐ¼Đ±Ñ–Ñ
- ĐĐ¾ÑÑ‚Đ°-Đ Đ¸ĐºĐ°
- Đ¡ĐµÑ€Đ±Ñ–Ñ Ñ‚Đ° Đ§Đ¾Ñ€Đ½Đ¾Đ³Đ¾Ñ€Ñ–Ñ
- ĐÑƒĐ±Đ°
- ĐĐ°Đ±Đ¾-Đ’ĐµÑ€Đ´Đµ
- ĐÑÑ‚Ñ€Ñ–Đ² Đ Ñ–Đ·Đ´Đ²Đ°
- ĐÑ–Đ¿Ñ€
- ЧеÑÑŒĐºĐ° Ñ€ĐµÑĐ¿ÑƒĐ±Đ»Ñ–ĐºĐ°
- ĐÑ–Đ¼ĐµÑ‡Ñ‡Đ¸Đ½Đ°
- Đ”Đ¶Ñ–Đ±ÑƒÑ‚Ñ–
- Đ”Đ°Đ½Ñ–Ñ
- Đ”Đ¾Đ¼Ñ–Đ½Ñ–Đº
- Đ”Đ¾Đ¼Ñ–Đ½Ñ–ĐºĐ°Đ½ÑÑŒĐºĐ° РеÑĐ¿ÑƒĐ±Đ»Ñ–ĐºĐ°
- ĐĐ»Đ¶Đ¸Ñ€
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€
- Đ•ÑÑ‚Đ¾Đ½Ñ–Ñ
- Đ„Đ³Đ¸Đ¿ĐµÑ‚
- Đ—Đ°Ñ…Ñ–Đ´Đ½Đ° Đ¡Đ°Ñ…Đ°Ñ€Đ°
- Đ•Ñ€Đ¸Ñ‚Ñ€ĐµÑ
- ІÑĐ¿Đ°Đ½Ñ–Ñ
- Đ•Ñ„Ñ–Đ¾Đ¿Ñ–Ñ
- Đ¤Ñ–Đ½Đ»ÑĐ½Đ´Ñ–Ñ
- Đ¤Ñ–Đ´Đ¶Ñ–
- Đ¤Đ¾Đ»ĐºĐ»ĐµĐ½Đ´ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐœÑ–ĐºÑ€Đ¾Đ½ĐµĐ·Ñ–Ñ
- Đ¤Đ°Ñ€ĐµÑ€ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
- Đ¤Ñ€Đ°Đ½Ñ†Ñ–Ñ
- Đ“Đ°Đ±Đ¾Đ½
- Đ’ĐµĐ»Đ¸ĐºĐ¾Đ±Ñ€Đ¸Ñ‚Đ°Đ½Ñ–Ñ
- Đ“Ñ€ĐµĐ½Đ°Đ´Đ°
- Đ“Ñ€ÑƒĐ·Ñ–Ñ
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ° Đ“Đ²Ñ–Đ°Đ½Đ°
- Đ“ĐµÑ€Đ½ÑÑ–
- Đ“Đ°Đ½Đ°
- Đ“Ñ–Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€
- Đ“Ñ€ĐµĐ½Đ»Đ°Đ½Đ´Ñ–Ñ
- Đ“Đ°Đ¼Đ±Ñ–Ñ
- Đ“Đ²Ñ–Đ½ĐµÑ
- Đ“Đ²Đ°Đ´ĐµĐ»ÑƒĐ¿Đ°
- Đ•ĐºĐ²Đ°Ñ‚Đ¾Ñ€Ñ–Đ°Đ»ÑŒĐ½Đ° Đ“Đ²Ñ–Đ½ĐµÑ
- Đ“Ñ€ĐµÑ†Ñ–Ñ
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° Đ”Đ¶Đ¾Ñ€Đ´Đ¶Ñ–Ñ Ñ‚Đ° ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Ñ– Đ¡Đ°Đ½Đ´Đ²Ñ–Ñ‡ĐµĐ²Ñ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»Đ°
- Đ“ÑƒĐ°Đ¼
- Đ“Đ²Ñ–Đ½ĐµÑ-Đ‘Ñ–ÑÑĐ°Ñƒ
- Đ“Đ°Đ¹Đ°Đ½Đ°
- Đ“Đ¾Đ½ĐºĐ¾Đ½̉‘ Đ.Đ.Đ . ĐĐ¸Ñ‚Đ°Ñ
- ĐÑÑ‚Ñ€Đ¾Đ²Đ¸ Đ¥ĐµÑ€Đ´ Ñ– ĐœĐ°Đº-Đ”Đ¾Đ½Đ°Đ»ÑŒĐ´
- Đ“Đ¾Đ½Đ´ÑƒÑ€Đ°Ñ
- Đ¥Đ¾Ñ€Đ²Đ°Ñ‚Ñ–Ñ
- Đ“Đ°Ñ—Ñ‚Ñ–
- Đ£Đ³Đ¾Ñ€Ñ‰Đ¸Đ½Đ°
- Đ†Đ½Đ´Đ¾Đ½ĐµĐ·Ñ–Ñ
- Đ†Ñ€Đ»Đ°Đ½Đ´Ñ–Ñ
- Đ†Đ·Ñ€Đ°Ñ—Đ»ÑŒ
- ĐÑÑ‚Ñ€Ñ–Đ² ĐœĐµĐ½
- Đ†Đ½Đ´Ñ–Ñ
- Đ‘Ñ€Đ¸Ñ‚Đ°Đ½ÑÑŒĐºÑ– Ñ‚ĐµÑ€Đ¸Ñ‚Đ¾Ñ€Ñ–Ñ— Đ†Đ½Đ´Ñ–Đ¹ÑÑŒĐºĐ¾Đ³Đ¾ Đ¾ĐºĐµĐ°Đ½Ñƒ
- Đ†Ñ€Đ°Đº
- Đ†Ñ€Đ°Đ½
- ІÑĐ»Đ°Đ½Đ´Ñ–Ñ
- Đ†Ñ‚Đ°Đ»Ñ–Ñ
- Đ”Đ¶ĐµÑ€ÑÑ–
- Đ¯Đ¼Đ°Đ¹ĐºĐ°
- Đ™Đ¾Ñ€Đ´Đ°Đ½Ñ–Ñ
- Đ¯Đ¿Đ¾Đ½Ñ–Ñ
- ĐĐµĐ½Ñ–Ñ
- ĐĐ¸Ñ€Đ³Đ¸Đ·ÑÑ‚Đ°Đ½
- ĐĐ°Đ¼Đ±Đ¾Đ´Đ¶Đ°
- ĐÑ–Ñ€Đ¸Đ±Đ°Ñ‚Ñ–
- ĐĐ¾Đ¼Đ¾Ñ€ÑÑŒĐºÑ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸
- Đ¡ĐµĐ½Ñ‚-ĐÑ–Ñ‚Ñ Ñ– ĐĐµĐ²Ñ–Ñ
- ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Đ° ĐĐ¾Ñ€ĐµÑ
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° ĐĐ¾Ñ€ĐµÑ
- ĐÑƒĐ²ĐµĐ¹Ñ‚
- ĐĐ°Đ¹Đ¼Đ°Đ½Đ¾Đ²Ñ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½
- Đ›Đ°Đ¾Ñ
- Đ›Ñ–Đ²Đ°Đ½
- Đ¡ĐµĐ½Ñ‚-Đ›ÑÑÑ–Ñ
- Đ›Ñ–Ñ…Ñ‚ĐµĐ½ÑˆÑ‚ĐµĐ¹Đ½
- Đ¨Ñ€Ñ–-Đ›Đ°Đ½ĐºĐ°
- Đ›Ñ–Đ±ĐµÑ€Ñ–Ñ
- ЛеÑĐ¾Ñ‚Đ¾
- Đ›Đ¸Ñ‚Đ²Đ°
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³
- Đ›Đ°Ñ‚Đ²Ñ–Ñ
- Đ›Ñ–Đ²Ñ–Ñ
- ĐœĐ°Ñ€Đ¾ĐºĐºĐ¾
- ĐœĐ¾Đ½Đ°ĐºĐ¾
- ĐœĐ¾Đ»Đ´Đ¾Đ²Đ°
- Đ§Đ¾Ñ€Đ½Đ¾Đ³Đ¾Ñ€Ñ–Ñ
- ĐÑÑ‚Ñ€Ñ–Đ² Đ¡Đ²ÑÑ‚Đ¾Đ³Đ¾ ĐœĐ°Ñ€Ñ‚Ñ–Đ½Đ°
- ĐœĐ°Đ´Đ°Đ³Đ°ÑĐºĐ°Ñ€
- ĐœĐ°Ñ€ÑˆĐ°Đ»Đ»Đ¾Đ²Ñ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½Ñ–Ñ
- ĐœĐ°Đ»Ñ–
- ĐœÊ¼ÑĐ½Đ¼Đ°
- ĐœĐ¾Đ½Đ³Đ¾Đ»Ñ–Ñ
- ĐœĐ°ĐºĐ°Đ¾ Đ.Đ.Đ . ĐĐ¸Ñ‚Đ°Ñ
- ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Ñ– ĐœĐ°Ñ€Ñ–Đ°Đ½ÑÑŒĐºÑ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸
- ĐœĐ°Ñ€Ñ‚Đ¸Đ½Ñ–ĐºĐ°
- ĐœĐ°Đ²Ñ€Đ¸Ñ‚Đ°Đ½Ñ–Ñ
- ĐœĐ¾Đ½ÑĐµÑ€Ñ€Đ°Ñ‚
- ĐœĐ°Đ»ÑŒÑ‚Đ°
- ĐœĐ°Đ²Ñ€Đ¸ĐºÑ–Đ¹
- ĐœĐ°Đ»ÑŒĐ´Ñ–Đ²Đ¸
- ĐœĐ°Đ»Đ°Đ²Ñ–
- ĐœĐµĐºÑĐ¸ĐºĐ°
- ĐœĐ°Đ»Đ°Đ¹Đ·Ñ–Ñ
- ĐœĐ¾Đ·Đ°Đ¼Đ±Ñ–Đº
- ĐĐ°Đ¼Ñ–Đ±Ñ–Ñ
- ĐĐ¾Đ²Đ° ĐĐ°Đ»ĐµĐ´Đ¾Đ½Ñ–Ñ
- ĐÑ–Đ³ĐµÑ€
- ĐÑÑ‚Ñ€Ñ–Đ² ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº
- ĐÑ–Đ³ĐµÑ€Ñ–Ñ
- ĐÑ–ĐºĐ°Ñ€Đ°Đ³ÑƒĐ°
- ĐÑ–Đ´ĐµÑ€Đ»Đ°Đ½Đ´Đ¸
- ĐĐ¾Ñ€Đ²ĐµĐ³Ñ–Ñ
- ĐĐµĐ¿Đ°Đ»
- ĐĐ°ÑƒÑ€Ñƒ
- ĐÑ–Ñ
- ĐĐ¾Đ²Đ° Đ—ĐµĐ»Đ°Đ½Đ´Ñ–Ñ
- ĐĐ¼Đ°Đ½
- ĐŸĐ°Đ½Đ°Đ¼Đ°
- ĐŸĐµÑ€Ñƒ
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ° ĐŸĐ¾Đ»Ñ–Đ½ĐµĐ·Ñ–Ñ
- ĐŸĐ°Đ¿ÑƒĐ° ĐĐ¾Đ²Đ° Đ“Đ²Ñ–Đ½ĐµÑ
- Đ¤Ñ–Đ»Ñ–Đ¿Đ¿Ñ–Đ½Đ¸
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½
- ĐŸĐ¾Đ»ÑŒÑ‰Đ°
- Đ¡ĐµĐ½-ĐŸÊ¼Ñ”Ñ€ Ñ– ĐœÑ–ĐºĐµĐ»Đ¾Đ½
- ĐŸÑ–Ñ‚ĐºĐµÑ€Đ½
- ĐŸÑƒĐµÑ€Ñ‚Đ¾-Đ Ñ–ĐºĐ¾
- ĐŸĐ°Đ»ĐµÑÑ‚Đ¸Đ½Đ°
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»Ñ–Ñ
- ĐŸĐ°Đ»Đ°Ñƒ
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Đ¹
- ĐĐ°Ñ‚Đ°Ñ€
- Đ†Đ½ÑˆĐ° ĐĐºĐµĐ°Đ½Ñ–Ñ
- Đ„Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¹ Đ¡Đ¾ÑĐ·
- РеÑĐ½ÑŒĐ¹Đ¾Đ½
- Đ ÑƒĐ¼ÑƒĐ½Ñ–Ñ
- Đ¡ĐµÑ€Đ±Ñ–Ñ
- Đ Đ¾ÑÑ–Ñ
- Đ ÑƒĐ°Đ½Đ´Đ°
- Đ¡Đ°ÑƒĐ´Ñ–Đ²ÑÑŒĐºĐ° ĐÑ€Đ°Đ²Ñ–Ñ
- Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½Đ¾Đ²Ñ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸
- Đ¡ĐµĐ¹ÑˆĐµĐ»Đ¸
- Đ¡ÑƒĐ´Đ°Đ½
- Đ¨Đ²ĐµÑ†Ñ–Ñ
- Đ¡Ñ–Đ½Đ³Đ°Đ¿ÑƒÑ€
- ĐÑÑ‚Ñ€Ñ–Đ² Đ¡Đ²ÑÑ‚Đ¾Ñ— Đ„Đ»ĐµĐ½Đ¸
- Đ¡Đ»Đ¾Đ²ĐµĐ½Ñ–Ñ
- ĐÑÑ‚Ñ€Đ¾Đ²Đ¸ Đ¡Đ²Đ°Đ»ÑŒĐ±Đ°Ñ€Đ´ Ñ‚Đ° Đ¯Đ½-ĐœĐ°Ñ”Đ½
- Đ¡Đ»Đ¾Đ²Đ°ĐºÑ–Ñ
- Đ¡ÑŒÑ”Ñ€Ñ€Đ°-Đ›ĐµĐ¾Đ½Đµ
- Đ¡Đ°Đ½-ĐœĐ°Ñ€Đ¸Đ½Đ¾
- Đ¡ĐµĐ½ĐµĐ³Đ°Đ»
- Đ¡Đ¾Đ¼Đ°Đ»Ñ–
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼
- Đ¡Đ°Đ½-Đ¢Đ¾Đ¼Đµ Ñ– ĐŸÑ€Ñ–Đ½ÑÑ–Đ¿Ñ–
- Đ¡Đ°Đ»ÑŒĐ²Đ°Đ´Đ¾Ñ€
- Đ¡Đ¸Ñ€Ñ–Ñ
- Đ¡Đ²Đ°Đ·Ñ–Đ»ĐµĐ½Đ´
- Đ¢ĐµÑ€ĐºÑ Ñ– ĐĐ°Đ¹ĐºĐ¾Ñ
- Чад
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºÑ– ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Ñ– Đ¢ĐµÑ€Đ¸Ñ‚Đ¾Ñ€Ñ–Ñ—
- Đ¢Đ¾Đ³Đ¾
- Đ¢Đ°Ñ—Đ»Đ°Đ½Đ´
- Đ¢Đ°Đ´Đ¶Đ¸ĐºĐ¸ÑÑ‚Đ°Đ½
- Đ¢Đ¾ĐºĐµĐ»Đ°Ñƒ
- Đ¡Ñ…Ñ–Đ´Đ½Đ¸Đ¹ Đ¢Đ¸Đ¼Đ¾Ñ€
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½Đ¸ÑÑ‚Đ°Đ½
- Đ¢ÑƒĐ½Ñ–Ñ
- Đ¢Đ¾Đ½Đ³Đ°
- Đ¢ÑƒÑ€ĐµÑ‡Ñ‡Đ¸Đ½Đ°
- Đ¢Ñ€Đ¸Đ½Ñ–Đ´Đ°Đ´ Ñ– Đ¢Đ¾Đ±Đ°Đ³Đ¾
- Đ¢ÑƒĐ²Đ°Đ»Ñƒ
- Đ¢Đ°Đ¹Đ²Đ°Đ½ÑŒ
- Đ¢Đ°Đ½Đ·Đ°Đ½Ñ–Ñ
- Đ£ĐºÑ€Đ°Ñ—Đ½Đ°
- Đ£Đ³Đ°Đ½Đ´Đ°
- Đ’Ñ–Đ´Đ´Đ°Đ»ĐµĐ½Ñ– ĐÑÑ‚Ñ€Đ¾Đ²Đ¸ Đ¡Đ¨Đ
- Đ¡Đ¨Đ
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹
- Đ£Đ·Đ±ĐµĐºĐ¸ÑÑ‚Đ°Đ½
- Đ’Đ°Ñ‚Đ¸ĐºĐ°Đ½
- Đ¡ĐµĐ½Ñ‚-Đ’Ñ–Đ½ÑĐµĐ½Ñ‚ Ñ– Đ“Ñ€ĐµĐ½Đ°Đ´Đ¸Đ½Đ¸
- Đ’ĐµĐ½ĐµÑÑƒĐµĐ»Đ°
- Đ’Ñ–Ñ€Đ³Ñ–Đ½ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸ Đ‘Ñ€Đ¸Ñ‚Đ°Đ½Ñ–Ñ—
- Đ’Ñ–Ñ€Đ³Ñ–Đ½ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸ Đ¡Đ¨Đ
- Đ’Ê¼Ñ”Ñ‚Đ½Đ°Đ¼
- Đ’Đ°Đ½ÑƒĐ°Ñ‚Ñƒ
- Đ£Đ¾Đ»Đ»Ñ–Ñ Ñ– Đ¤ÑƒÑ‚ÑƒĐ½Đ°
- Đ¡Đ°Đ¼Đ¾Đ°
- Đ„Đ¼ĐµĐ½
- ĐœĐ°Đ¹Đ¾Ñ‚
- ĐŸĐĐ
- Đ—Đ°Đ¼Đ±Ñ–Ñ
- Đ—Ñ–Đ¼Đ±Đ°Đ±Đ²Đµ
- ĐĐµĐ²Ñ–Đ´Đ¾Đ¼Đ¸Đ¹ Đ°Đ±Đ¾ Đ½ĐµĐ¿Ñ€Đ°Đ²Đ¸Đ»ÑŒĐ½Đ¸Đ¹ Ñ€ĐµĐ³Ñ–Đ¾Đ½
-
-
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Ñ–Đ¹Đ½Đ° Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ° Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Ñ–Ñ
- Đ¡Ñ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ¸Đ·Đ¾Đ²Đ°Đ½Đ° Ñ€ĐµĐ·ÑŒÑĐ½ÑÑŒĐºĐ° Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Ñ–Ñ
- ĐĐ¾Đ²Đ° Đ½Ñ–Đ¼ĐµÑ†ÑŒĐºĐ° Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Ñ–Ñ Đ· 1996 Ñ€.
- ĐŸÑ–Đ·Đ½ÑŒĐ¾ÑĐµÑ€ĐµĐ´Đ½ÑŒĐ¾Ñ„Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑÑŒĐºĐ° Đ´Đ¾ 1606
- Đ¡Ñ…Ñ–Đ´Đ½Đ¾Đ²Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¹
- Đ—Đ°Ñ…Ñ–Đ´Đ½Đ¾Đ²Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¹
- Đ£Đ½Ñ–Ñ„Ñ–ĐºĐ¾Đ²Đ°Đ½Đ¸Đ¹ Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ¸Đ¹ Đ»Đ°Ñ‚Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ Đ°Đ»Ñ„Đ°Đ²Ñ–Ñ‚
- Đ”Ñ–Đ°Đ»ĐµĐºÑ‚ Đ¡Đ°Đ½-Đ”Đ¶Đ¾Ñ€Đ´Đ¶Ñ–Đ¾/Đ‘Ñ–Đ»Đ°
- Đ‘ÑƒĐ½Ñ‚Đ»Ñ–Đ½Đ³
- ĐœÑ–Đ¶Đ½Đ°Ñ€Đ¾Đ´Đ½Đ¸Đ¹ Ñ„Đ¾Đ½ĐµÑ‚Đ¸Ñ‡Đ½Đ¸Đ¹ Đ°Đ»Ñ„Đ°Đ²Ñ–Ñ‚
- Đ£Ñ€Đ°Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Ñ„Đ¾Đ½ĐµÑ‚Đ¸Ñ‡Đ½Đ¸Đ¹ Đ°Đ»Ñ„Đ°Đ²Ñ–Ñ‚
- Đ›Ñ–Đ¿Đ¾Đ²Đ°Đ·ÑÑŒĐºĐ¸Đ¹ Đ´Ñ–Đ°Đ»ĐµĐºÑ‚ Ñ€ĐµĐ·ÑŒÑĐ½ÑÑŒĐºĐ¾Ñ— Đ¼Đ¾Đ²Đ¸
- ĐœĐ¾Đ½Đ¾Ñ‚Đ¾Đ½Ñ–Ñ‡Đ½Đ¸Đ¹
- ĐĐ°Ñ‚Ñ–ÑĐ¾Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Ñ–Đ°Đ»ĐµĐºÑ‚
- Đ”Ñ–Đ°Đ»ĐµĐºÑ‚ ĐĐ´Đ¶Ñ–Đ²Đ°
- ĐÑĐ¾ÑĐ½ÑÑŒĐºĐ¸Đ¹ Đ´Ñ–Đ°Đ»ĐµĐºÑ‚
- ĐŸĐ¾Đ»Ñ–Ñ‚Đ¾Đ½Ñ–Ñ‡Đ½Đ¸Đ¹
- ĐĐ¾Đ¼Đ¿'ÑÑ‚ĐµÑ€Đ½Đ¸Đ¹
- ĐĐ¾Đ²Đ° Đ¾Ñ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Ñ–Ñ
- Đ ĐµĐ·ÑŒÑĐ½ÑÑŒĐºĐ¸Đ¹
- Đ¡Đ°Ñ…Đ¾
- Đ¨Đ¾Ñ‚Đ»Đ°Đ½Đ´ÑÑŒĐºĐ° Đ°Đ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ°
- Đ›Ñ–Đ²ĐµÑ€Đ¿ÑƒĐ»ÑŒÑÑŒĐºĐ¸Đ¹ Đ´Ñ–Đ°Đ»ĐµĐºÑ‚
- Đ”Ñ–Đ°Đ»ĐµĐºÑ‚ Đ¡Ñ‚Đ¾Đ»Đ²Ñ–Ñ†Đ°/Đ¡Đ¾Đ»Đ±Ñ–ĐºĐ°
- ĐÑ€Ñ„Đ¾Đ³Ñ€Đ°Ñ„Ñ–Ñ Đ¢Đ°Ñ€Đ°ÑĐºĐµĐ²Đ¸Ñ‡Đ°
- Đ’Đ°Đ»ĐµĐ½ÑÑ–Đ¹ÑÑŒĐºĐ°
-
-
- ĐĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ¡Đ¾Ñ€Ñ‚ÑƒĐ²Đ°Đ½Đ½Ñ
- ВалÑÑ‚Đ°
-
-
- ĐĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ‚Ñ€Đ°Đ´Đ¸Ñ†Ñ–Đ¹Đ½Đ¸Đ¹
- Đ‘ÑƒĐ´Đ´Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- ĐĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- ĐŸÑ€ÑĐ¼Đ¸Đ¹ Đ¿Đ¾Ñ€ÑĐ´Đ¾Đº
- ĐĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ ÑĐ¿Ñ€Đ¾Ñ‰ĐµĐ½Đ¸Đ¹
- Đ“Ñ€Đ¸Đ³Đ¾Ñ€Ñ–Đ°Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ„Đ²Ñ€ĐµĐ¹ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ†Đ½Đ´Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑĐ²Ñ–Ñ‚ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- ĐœÑƒÑÑƒĐ»ÑŒĐ¼Đ°Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- ĐœÑƒÑÑƒĐ»ÑŒĐ¼Đ°Đ½ÑÑŒĐºĐ¸Đ¹ ÑĐ²Ñ–Ñ‚ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ¯Đ¿Đ¾Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Đ»ĐµĐ½Đ´Đ°Ñ€
- Đ¢ĐµĐ»ĐµÑ„Đ¾Đ½Đ½Đ° ĐºĐ½Đ¸Đ³Đ°
- ĐŸĐ¾Ñ€ÑĐ´Đ¾Đº Đ¿Ñ–Đ½ÑŒÑ—Đ½
- ĐĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ Đ³Ñ€Đ¸Đ³Đ¾Ñ€Ñ–Đ°Đ½ÑÑŒĐºĐ¸Đ¹
- ĐŸĐ¾Ñ€ÑĐ´Đ¾Đº Đ½Đ°Ñ‚Đ¸ÑĐºĐ°Đ½Đ½Ñ ĐºĐ»Đ°Đ²Ñ–Ñˆ
- Đ¢Ñ€Đ°Đ´Đ¸Ñ†Ñ–Đ¹Đ½Đ¸Đ¹
-
-
- ĐœĐµÑ‚Ñ€Đ¸Ñ‡Đ½Đ°
- Đ¡Đ¨Đ
-
-
- ĐœĐ¾Đ²Đ° Đ· ĐºĐ¾Đ´Đ¾Đ¼ {0}
- Đ¡ĐºÑ€Đ¸Đ¿Ñ‚ Ñ–Đ· ĐºĐ¾Đ´Đ¾Đ¼ {0}
- Đ¢ĐµÑ€Đ¸Ñ‚Đ¾Ñ€Ñ–Ñ Đ· ĐºĐ¾Đ´Đ¾Đ¼ {0}
-
-
-
- titlecase-firstword
- lowercase-words
- titlecase-firstword
- lowercase-words
- lowercase-words
- lowercase-words
- titlecase-firstword
-
-
- [ʼ а-Đ³ ̉‘ Đ´ е Ñ” ж-и Ñ– Ñ— Đ¹-щ ÑŒ Ñ Ñ]
- [i v x]
- [a-z]
-
-
- «
- »
- â€
- “
-
-
-
-
-
-
-
- Đ¢Đ¾Ñ‚
- Бабе
- Đ¥Đ°Ñ‚ÑƒÑ€
- ĐÑ–Ñ…Đ°Đº
- Đ¢Đ¾Đ±Đµ
- ĐĐ¼ÑˆĐ¸Ñ€
- Đ‘Đ°Ñ€Đ°Đ¼Ñ…Đ°Ñ‚
- Đ‘Đ°Ñ€Đ¼ÑƒĐ´Đ°
- Đ‘Đ°ÑˆĐ½Đ°Ñ
- Đ‘Đ°ÑƒĐ½Đ°
- ĐĐ±Ñ–Đ±
- ĐœĐ¸ÑÑ€Đ°
- ĐаÑÑ–
-
-
-
-
-
-
-
-
- Ñіч.
- Đ»ÑÑ‚.
- Đ±ĐµÑ€.
- ĐºĐ²Ñ–Ñ‚.
- Ñ‚Ñ€Đ°Đ².
- Ñ‡ĐµÑ€Đ².
- Đ»Đ¸Đ¿.
- ÑĐµÑ€Đ¿.
- Đ²ĐµÑ€.
- Đ¶Đ¾Đ²Ñ‚.
- лиÑÑ‚.
- Đ³Ñ€ÑƒĐ´.
-
-
- ÑÑ–Ñ‡Đ½Ñ
- Đ»ÑÑ‚Đ¾Đ³Đ¾
- Đ±ĐµÑ€ĐµĐ·Đ½Ñ
- ĐºĐ²Ñ–Ñ‚Đ½Ñ
- Ñ‚Ñ€Đ°Đ²Đ½Ñ
- Ñ‡ĐµÑ€Đ²Đ½Ñ
- Đ»Đ¸Đ¿Đ½Ñ
- ÑĐµÑ€Đ¿Đ½Ñ
- Đ²ĐµÑ€ĐµÑĐ½Ñ
- Đ¶Đ¾Đ²Ñ‚Đ½Ñ
- лиÑÑ‚Đ¾Đ¿Đ°Đ´Đ°
- Đ³Ñ€ÑƒĐ´Đ½Ñ
-
-
-
-
- Đ¡Ñ–Ñ‡
- Đ›ÑÑ‚
- Đ‘ĐµÑ€
- ĐĐ²Ñ–
- Đ¢Ñ€Đ°
- Đ§ĐµÑ€
- Đ›Đ¸Đ¿
- Đ¡ĐµÑ€
- Đ’ĐµÑ€
- Đ–Đ¾Đ²
- ЛиÑ
- Đ“Ñ€Ñƒ
-
-
- Đ¡
- Đ›
- Đ‘
- Đ
- Đ¢
- Ч
- Đ›
- Đ¡
- Đ’
- Đ–
- Đ›
- Đ“
-
-
- Đ¡Ñ–Ñ‡ĐµĐ½ÑŒ
- Đ›ÑÑ‚Đ¸Đ¹
- Đ‘ĐµÑ€ĐµĐ·ĐµĐ½ÑŒ
- ĐĐ²Ñ–Ñ‚ĐµĐ½ÑŒ
- Đ¢Ñ€Đ°Đ²ĐµĐ½ÑŒ
- Đ§ĐµÑ€Đ²ĐµĐ½ÑŒ
- Đ›Đ¸Đ¿ĐµĐ½ÑŒ
- Đ¡ĐµÑ€Đ¿ĐµĐ½ÑŒ
- Đ’ĐµÑ€ĐµÑĐµĐ½ÑŒ
- Đ–Đ¾Đ²Ñ‚ĐµĐ½ÑŒ
- ЛиÑÑ‚Đ¾Đ¿Đ°Đ´
- Đ“Ñ€ÑƒĐ´ĐµĐ½ÑŒ
-
-
-
-
-
-
- ĐĐ´
- ĐŸĐ½
- Đ’Ñ‚
- Đ¡Ñ€
- Đ§Ñ‚
- ĐŸÑ‚
- Đ¡Đ±
-
-
- ĐĐµĐ´Ñ–Đ»Ñ
- ĐŸĐ¾Đ½ĐµĐ´Ñ–Đ»Đ¾Đº
- Đ’Ñ–Đ²Ñ‚Đ¾Ñ€Đ¾Đº
- Đ¡ĐµÑ€ĐµĐ´Đ°
- Đ§ĐµÑ‚Đ²ĐµÑ€
- ĐŸÊ¼ÑÑ‚Đ½Đ¸Ñ†Ñ
- Đ¡ÑƒĐ±Đ¾Ñ‚Đ°
-
-
-
-
- Đ
- ĐŸ
- Đ’
- Đ¡
- Ч
- ĐŸ
- Đ¡
-
-
-
-
-
-
- I ĐºĐ².
- II ĐºĐ².
- III ĐºĐ².
- IV ĐºĐ².
-
-
- I ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
- II ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
- III ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
- IV ĐºĐ²Đ°Ñ€Ñ‚Đ°Đ»
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- Đ´Đ¿
- Đ¿Đ¿
-
-
- Đ´Đ¾ Đ½Đ°ÑˆĐ¾Ñ— ĐµÑ€Đ¸
- Đ½Đ°ÑˆĐ¾Ñ— ĐµÑ€Đ¸
-
-
- Đ´Đ¾ Đ½.е.
- Đ½.е.
-
-
-
-
-
- EEEE, d MMMM y 'Ñ€'.
-
-
-
-
- d MMMM y 'Ñ€'.
-
-
-
-
- d MMM y
-
-
-
-
- dd.MM.yy
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- d
- HH:mm
- HH:mm:ss
- H:mm
- dd.MM
- LLL
- d MMM
- E, d MMM
- d MMMM
- E, d MMMM
- mm:ss
- mm:ss
- y
- LLL y
- EEE, d MMM y
- LLLL y
- MM.yy
- LLL yy
- Q yy
- LLLL y
- QQQQ y 'Ñ€'.
-
-
- {0} – {1}
-
- d–d
-
-
- HH–HH
-
-
- HH:mm–HH:mm
- HH:mm–HH:mm
-
-
- HH:mm–HH:mm v
- HH:mm–HH:mm v
-
-
- HH–HH v
-
-
- M–M
-
-
- dd.MM – dd.MM
- dd.MM – dd.MM
-
-
- E, dd.MM – E, dd.MM
- E, dd.MM – E, dd.MM
-
-
- LLL–LLL
-
-
- d–d MMM
- d MMM – d MMM
-
-
- E, d – E, d MMM
- E, d MMM – E, d MMM
-
-
- y–y
-
-
- MM.yy – MM.yy
- MM.yy – MM.yy
-
-
- dd.MM.yy – dd.MM.yy
- dd.MM.yy – dd.MM.yy
- dd.MM.yy – dd.MM.yy
-
-
- E, dd.MM.yy – E, dd.MM.yy
- E, dd.MM.yy – E, dd.MM.yy
- E, dd.MM.yy – E, dd.MM.yy
-
-
- LLL–LLL y
- LLL y – LLL y
-
-
- d–d MMM y
- d MMM – d MMM y
- d MMM y – d MMM y
-
-
- E, d – E, d MMM y
- E, d MMM – E, d MMM y
- E, d MMM y – E, d MMM y
-
-
-
-
-
- Đ•Ñ€Đ°
-
-
- Đ Ñ–Đº
-
-
- ĐœÑ–ÑÑць
-
-
- Đ¢Đ¸Đ¶Đ´ĐµĐ½ÑŒ
-
-
- Đ”ĐµĐ½ÑŒ
- Đ¢Ñ€Đ¸ Đ´Đ½Ñ– Ñ‚Đ¾Đ¼Ñƒ
- ĐŸĐ¾Đ·Đ°Đ²Ñ‡Đ¾Ñ€Đ°
- Đ’Ñ‡Đ¾Ñ€Đ°
- Đ¡ÑŒĐ¾Đ³Đ¾Đ´Đ½Ñ–
- Đ—Đ°Đ²Ñ‚Ñ€Đ°
- ĐŸÑ–ÑĐ»ÑĐ·Đ°Đ²Ñ‚Ñ€Đ°
- Đ§ĐµÑ€ĐµĐ· Ñ‚Ñ€Đ¸ Đ´Đ½Ñ– Đ· Ñ†ÑŒĐ¾Đ³Đ¾ Đ¼Đ¾Đ¼ĐµĐ½Ñ‚Ñƒ
-
-
- Đ”ĐµĐ½ÑŒ Ñ‚Đ¸Đ¶Đ½Ñ
-
-
- ЧаÑÑ‚Đ¸Đ½Đ° Đ´Đ¾Đ±Đ¸
-
-
- Đ“Đ¾Đ´Đ¸Đ½Đ°
-
-
- Đ¥Đ²Đ¸Đ»Đ¸Đ½Đ°
-
-
- Đ¡ĐµĐºÑƒĐ½Đ´Đ°
-
-
- Đ—Đ¾Đ½Đ°
-
-
-
-
-
-
-
- Đ¢Ñ–ÑˆÑ€Đ¸
- ĐœĐ°Ñ€Ñ‡ĐµÑˆĐ²Đ°Đ½
- ЧиÑĐ»ÑŒĐ¾Đ²
- Đ¢ĐµĐ±ĐµÑ‚
- Đ¨ĐµĐ²Đ°Ñ‚
- ĐĐ´Đ°Ñ€ â…
- ĐĐ´Đ°Ñ€
- ĐÑ–ÑĐ°Đ½
- Đ†Đ°Ñ€
- Đ¡Đ¸Đ²Đ°Đ½
- Đ¢Đ°Đ¼Đ¼ÑƒĐ·
- Đб
- Đ•Đ»ÑƒĐ»
-
-
-
-
- ĐĐ´Đ°Ñ€ I
-
-
-
-
-
-
-
-
- ĐœÑƒÑ…Đ°Ñ€Ñ€Đ°Đ¼
- Đ¡Đ°Ñ„Đ°Ñ€
- Đ Đ°Đ±Ñ– I
- Đ Đ°Đ±Ñ– II
- Đ”Đ¶ÑƒĐ¼Đ°Đ´Đ° I
- Đ”Đ¶ÑƒĐ¼Đ°Đ´Đ° II
- Раджаб
- Đ¨Đ°Đ°Đ±Đ°Đ½
- Đ Đ°Đ¼Đ°Đ´Đ°Đ½
- Đ”Đ°Đ²Đ²Đ°Đ»
- Đ—Ñƒ-Đ»ÑŒ-ĐºĐ°Đ°Đ´Đ°
- Đ—Ñƒ-Đ»ÑŒ-Ñ…Ñ–Đ´Đ¶Đ°
-
-
-
-
-
-
-
-
- Đ¤Đ°Ñ€Đ²Đ°Ñ€Đ´Ñ–Đ½
- ĐÑ€Đ´Ñ–Đ±ĐµÑ…ĐµÑˆÑ‚
- Đ¥Đ¾Ñ€Đ´Đ°Đ´
- Đ¢Ñ–Ñ€
- ĐœĐ¾Ñ€Đ´Đ°Đ´
- Đ¨Đ°Ñ…Ñ€Ñ–Đ²ĐµÑ€
- ĐœĐµÑ…Ñ€
- ĐĐ±Đ°Đ½
- ĐĐ·ĐµÑ€
- Đ”ĐµĐ¹
- Đ‘Đ°Ñ…Đ¼Đ°Đ½
- Đ•ÑÑ„Đ°Đ½Đ´
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
- ĐĐµĐ²Ñ–Đ´Đ¾Đ¼Đ¾
-
-
- ĐĐ½Đ´Đ¾Ñ€Đ°
-
-
- Đ”ÑƒĐ±Đ°Ñ—
-
-
- ĐĐ°Đ±ÑƒĐ»
-
-
- ĐĐ½Ñ‚Đ¸Đ³ÑƒĐ°
-
-
- ĐĐ½̉‘Ñ–Đ»ÑŒÑ
-
-
- Đ¢Ñ–Ñ€Đ°Đ½Đ°
-
-
- Đ„Ñ€ĐµĐ²Đ°Đ½
-
-
- ĐÑÑ€Đ°ÑĐ°Đ¾
-
-
- Đ›ÑƒĐ°Đ½Đ´Đ°
-
-
- Đ Đ¾Ñ‚ĐµÑ€Đ°
-
-
- ĐŸĐ°Đ»Đ¼ĐµÑ€
-
-
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ¸Đ¹ Đ¿Đ¾Đ»ÑÑ
-
-
- Đ¡ÑŒĐ¾Đ²Đ°
-
-
- ĐœĐ¾ÑƒÑĐ¾Đ½
-
-
- Đ”ĐµĐ²Ñ–Ñ
-
-
- Đ’Đ¾ÑÑ‚Đ¾Đº
-
-
- ĐĐµĐ¹ÑÑ–
-
-
- Đ”ÑĐ¼Đ¾Đ½-Đ´'Đ®Ñ€Đ²Ñ–Đ»ÑŒ
-
-
- ĐœĐ°Đº-ĐœĐµÑ€Đ´Đ¾
-
-
- Đ Ñ–Đ¾-̉але̉‘Đ¾Ñ
-
-
- ĐœĐµĐ½Đ´Đ¾Ñа
-
-
- Đ¡Đ°Đ½-Đ¥ÑƒĐ°Đ½
-
-
- Đ£ÑˆÑƒĐ°Ñ
-
-
- Ла-Đ Ñ–Đ¾Ñ…Đ°
-
-
- Đ¡Đ°Đ½-Đ›ÑƒÑ—Ñ
-
-
- ĐĐ°Ñ‚Đ°Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ¡Đ°Đ»ÑŒÑ‚Đ°
-
-
- Đ–ÑƒĐ¶ÑƒĐ¹
-
-
- Đ¢ÑƒĐºÑƒĐ¼Đ°Đ½
-
-
- ĐĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- Đ‘ÑƒĐµĐ½Đ¾Ñ-ĐĐ¹Ñ€ĐµÑ
-
-
- ĐŸĐ°Đ³Đ¾ ĐŸĐ°Đ³Đ¾
-
-
- Đ’Ñ–Đ´ĐµĐ½ÑŒ
-
-
- ĐŸĐµÑ€Ñ‚
-
-
- Đ•Đ²ĐºĐ»Đ°
-
-
- Đ”Đ°Ñ€Đ²Ñ–Đ½
-
-
- ĐĐ´ĐµĐ»Đ°Ñ—Đ´Đ°
-
-
- Đ‘Ñ€Đ¾ĐºĐµĐ½-Đ“Ñ–Đ»
-
-
- ĐĐ°Ñ€Ñ€Ñ–
-
-
- ĐœĐµĐ»ÑŒĐ±ÑƒÑ€Đ½
-
-
- Đ¥Đ¾Đ±Đ°Ñ€Ñ‚
-
-
- Đ›Ñ–Đ½Đ´ĐµĐ¼Đ°Đ½
-
-
- Đ¡Ñ–Đ´Đ½ĐµĐ¹
-
-
- Đ‘Ñ€Đ¸ÑĐ±ĐµĐ½
-
-
- Đ›Đ¾Ñ€Đ´-Đ¥Đ°Ñƒ
-
-
- ĐÑ€ÑƒĐ±Đ°
-
-
- ĐĐ»Đ°Đ½Đ´ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
-
-
- Đ‘Đ°ĐºÑƒ
-
-
- Đ¡Đ°Ñ€Đ°Ñ”Đ²Đ¾
-
-
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾Ñ
-
-
- Đ”Đ°ĐºĐ°
-
-
- Đ‘Ñ€ÑÑÑĐµĐ»ÑŒ
-
-
- Đ£Đ°Đ³Đ°Đ´ÑƒĐ³Ñƒ
-
-
- Đ¡Đ¾Ñ„Ñ–Ñ
-
-
- Đ‘Đ°Ñ…Ñ€ĐµĐ¹Đ½
-
-
- Đ‘ÑƒĐ¶ÑƒĐ¼Đ±ÑƒÑ€Đ°
-
-
- ĐŸĐ¾Ñ€Ñ‚Đ¾-ĐĐ¾Đ²Đ¾
-
-
- Đ‘ĐµÑ€Đ¼ÑƒĐ´Đ¸
-
-
- Đ‘Ñ€ÑƒĐ½ĐµĐ¹
-
-
- Ла-ĐŸĐ°Ñ
-
-
- Đ•Đ¹Ñ€ÑƒĐ½ĐµĐ¿Đµ
-
-
- Đ Ñ–Đ¾-Đ‘Ñ€Đ°Đ½ĐºĐ¾
-
-
- ĐŸĐ¾Ñ€Ñ‚Đ¾-Đ’ĐµĐ»ÑŒÑ
-
-
- Đ‘Đ¾Đ°-Đ’Ñ–ÑÑ‚Đ°
-
-
- ĐœĐ°Đ½Đ°ÑƒÑ
-
-
- ĐуÑба
-
-
- Đ¡Đ°Đ½Ñ‚Đ°Ñ€ĐµĐ½
-
-
- ĐĐ°Đ¼Đ¿Ñƒ-Đ“Ñ€Đ°Đ½Đ´Ñ–
-
-
- Đ‘ĐµĐ»ĐµĐ½
-
-
- ĐÑ€Đ°Đ³ÑƒĐ°Đ¹Đ½Đ°
-
-
- Đ¡Đ°Đ½-ĐŸĐ°ÑƒĐ»Ñƒ
-
-
- Đ‘Đ°Đ¹Ñ
-
-
- Đ¤Đ¾Ñ€Ñ‚Đ°Đ»ĐµĐ·Đ°
-
-
- ĐœĐ°ÑĐµĐ¹Đ¾
-
-
- РеÑіфі
-
-
- ĐĐ¾Ñ€Đ¾Đ½ÑŒÑ
-
-
- ĐаÑĐ°Ñƒ
-
-
- Đ¢Ñ…Ñ–Đ¼Đ¿Ñ…Ñƒ
-
-
- Đ“Đ°Đ±Đ¾Ñ€Đ¾Đ½Đµ
-
-
- ĐœÑ–Đ½ÑÑŒĐº
-
-
- Đ‘ĐµĐ»Ñ–Đ·
-
-
- Đ”Đ¾ÑƒÑĐ¾Đ½
-
-
- Đ’Đ°Đ¹Ñ‚Đ³Đ¾Ñ€Ñ
-
-
- Đ†Đ½ÑƒĐ²Ñ–Đº
-
-
- Đ’Đ°Đ½ĐºÑƒĐ²ĐµÑ€
-
-
- Đ”Đ¾ÑƒÑĐ¾Đ½-ĐÑ€Ñ–Đº
-
-
- Đ„Đ»Đ»Đ¾ÑƒĐ½Đ°Đ¹Ñ„
-
-
- Đ•Đ´Đ¼Đ¾Đ½Ñ‚Đ¾Đ½
-
-
- Đ¡Đ²Ñ–Ñ„Ñ‚-ĐĐ°Ñ€Ñ€ĐµĐ½Ñ‚
-
-
- ĐĐµĐ¼Đ±Ñ€Đ¸Đ´Đ¶-Đ‘ĐµĐ¹
-
-
- Đ ĐµĐ´Đ¶Đ°Đ¹Đ½Đ°
-
-
- Đ’Ñ–Đ½Đ½Ñ–Đ¿Đµ̉‘
-
-
- Đ ĐµĐ·Đ¾Đ»ÑÑ‚
-
-
- Đ ĐµĐ¹Đ½Ñ–-Đ Ñ–Đ²ĐµÑ€
-
-
- Đ ĐµĐ½ĐºÑ–Đ½-Đ†Đ½Đ»ĐµÑ‚
-
-
- ĐĐ¾Ñ€Đ°Đ»-Đ¥Đ°Ñ€Đ±Đ¾Ñ€
-
-
- Đ¢Đ°Đ½Đ´ĐµÑ€-Đ‘ĐµĐ¹
-
-
- ĐÑ–Đ¿Ñ–Đ³Đ¾Đ½
-
-
- Đ¢Đ¾Ñ€Đ¾Đ½Ñ‚Đ¾
-
-
- ĐœĐ¾Đ½Ñ€ĐµĐ°Đ»ÑŒ
-
-
- Đ†ĐºĐ°Đ»ÑƒÑ–Ñ‚
-
-
- ĐŸĐ°Đ½̉‘Đ½Ñ–Ñ€Ñ‚ÑƒĐ½̉‘
-
-
- ĐœĐ¾Đ½ĐºÑ‚Đ¾Đ½
-
-
- Đ“Đ°Đ»Ñ–Ñ„Đ°ĐºÑ
-
-
- Đ“ÑƒĐ·-Đ‘ĐµĐ¹
-
-
- Đ“Đ»ĐµĐ¹Ñ-Đ‘ĐµĐ¹
-
-
- Đ‘Đ»Đ°Đ½Đº-Đ¡Đ°Đ±Đ»Đ¾Đ½
-
-
- Đ¡ĐµĐ½Ñ‚-Đ”Đ¶Đ¾Đ½Ñ
-
-
- ĐĐ¾ĐºĐ¾ÑĐ¾Đ²Ñ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
-
-
- ĐÑ–Đ½ÑˆĐ°Ñа
-
-
- Đ›ÑƒĐ±ÑƒĐ¼Đ±Đ°ÑˆÑ–
-
-
- Đ‘Đ°Đ½Đ³Ñ–
-
-
- Đ‘Ñ€Đ°Đ·Đ·Đ°Đ²Ñ–Đ»ÑŒ
-
-
- ЦÑріх
-
-
- ĐĐ±Ñ–Đ´Đ¶Đ°Đ½
-
-
- Đ Đ°Ñ€Đ¾Ñ‚Đ¾Đ½Đ³Đ°
-
-
- ĐÑÑ‚Ñ€Ñ–Đ² ĐŸĐ°ÑÑ…Đ¸
-
-
- Đ¡Đ°Đ½Ñ‚ÑŒÑĐ³Đ¾
-
-
- Đ”ÑƒĐ°Đ»Đ°
-
-
- ĐĐ°ÑˆĐ³Đ°Ñ€
-
-
- Đ£Ñ€ÑƒĐ¼Ñ‡Ñ–
-
-
- Đ§ÑƒĐ½Ñ†Đ¸Đ½
-
-
- Đ¨Đ°Đ½Ñ…Đ°Đ¹
-
-
- Đ¥Đ°Ñ€Đ±Ñ–Đ½
-
-
- Đ‘Đ¾Đ³Đ¾Ñ‚Đ°
-
-
- ĐĐ¾ÑÑ‚Đ° Đ Ñ–ĐºĐ°
-
-
- Đ“Đ°Đ²Đ°Đ½Đ°
-
-
- ĐĐ°Đ±Đ¾-Đ’ĐµÑ€Đ´Đµ
-
-
- ĐÑÑ‚Ñ€Ñ–Đ² Đ Ñ–Đ·Đ´Đ²Đ°
-
-
- ĐÑ–ĐºĐ¾ÑÑ–Ñ
-
-
- ĐŸÑ€Đ°Đ³Đ°
-
-
- Đ‘ĐµÑ€Đ»Ñ–Đ½
-
-
- Đ”Đ¶Đ¸Đ±ÑƒÑ‚Ñ–
-
-
- ĐĐ¾Đ¿ĐµĐ½Đ³Đ°Đ³ĐµĐ½
-
-
- Đ”Đ¾Đ¼Ñ–Đ½Ñ–ĐºĐ°
-
-
- Đ¡Đ°Đ½Ñ‚Đ¾-Đ”Đ¾Đ¼Ñ–Đ½Đ³Đ¾
-
-
- ĐĐ»Đ¶Đ¸Ñ€
-
-
- Đ“Đ°Đ»Đ°Đ¿Đ°Đ³Đ¾ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸ (Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€)
-
-
- Đ“ÑƒĐ°ÑĐºÑ–Đ»ÑŒ
-
-
- Đ¢Đ°Đ»Đ»Ñ–Đ½
-
-
- ĐĐ°Ñ—Ñ€
-
-
- Đ•Đ»ÑŒ-ĐÑĐ½
-
-
- ĐÑĐ¼ĐµÑ€Đ°
-
-
- ĐĐ°Đ½Đ°Ñ€Đ¸
-
-
- Đ¡ĐµÑƒÑ‚Đ°
-
-
- ĐœĐ°Đ´Ñ€Đ¸Đ´
-
-
- ĐддиÑ-Đбеба
-
-
- Đ“ĐµĐ»ÑŒÑÑ–Đ½ĐºÑ–
-
-
- Đ¤Ñ–Đ´Đ¶Đ¸
-
-
- Đ¡Ñ‚ĐµĐ½Đ»Ñ–
-
-
- Đ¢Ñ€ÑƒĐº
-
-
- ĐŸĐ¾Đ½Đ°Đ¿Đµ
-
-
- ĐĐ¾ÑÑ€Đ°Đµ
-
-
- Đ¤Đ°Ñ€ĐµÑ€ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
-
-
- ĐŸĐ°Ñ€Đ¸Đ¶
-
-
- Đ›Ñ–Đ±Ñ€ĐµĐ²Ñ–Đ»ÑŒ
-
-
- Đ›Đ¾Đ½Đ´Đ¾Đ½
-
-
- Đ“Ñ€ĐµĐ½Đ°Đ´Đ°
-
-
- Đ¢Đ±Ñ–Đ»Ñ–ÑÑ–
-
-
- ĐĐ°Đ¹ĐµĐ½Đ½Đ°
-
-
- ̉ĐµÑ€Đ½ÑÑ–
-
-
- ĐĐºĐºÑ€Đ°
-
-
- Đ“Ñ–Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€
-
-
- Đ¢ÑƒĐ»Đµ
-
-
- Đ“Đ¾Ñ‚Ñ…Đ¾Đ±
-
-
- Đ¡ĐºĐ¾Ñ€ÑбиÑÑƒĐ½
-
-
- Đ”ĐµĐ½Đ¼Đ°Ñ€ĐºÑÑ…Đ°Đ²Đ½
-
-
- Đ‘Đ°Đ½Đ¶ÑƒĐ»
-
-
- ĐĐ¾Đ½Đ°ĐºÑ€Ñ–
-
-
- ̉Đ²Đ°Đ´ĐµĐ»ÑƒĐ¿Đ°
-
-
- ĐœĐ°Đ»Đ°Đ±Đ¾
-
-
- ĐÑ„Ñ–Đ½Đ¸
-
-
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ° Đ”Đ¶Đ¾Ñ€Đ´Đ¶Ñ–Ñ
-
-
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»Đ°
-
-
- Đ“ÑƒĐ°Đ¼
-
-
- Đ‘Ñ–ÑĐ°Ñƒ
-
-
- ̉Đ°Đ¹Đ°Đ½Đ°
-
-
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³
-
-
- Đ¢ĐµĐ³ÑƒÑÑ–Đ³Đ°Đ»ÑŒĐ¿Đ°
-
-
- Đ—Đ°Đ³Ñ€ĐµĐ±
-
-
- ĐŸĐ¾Ñ€Ñ‚-Đ¾-ĐŸÑ€ĐµĐ½Ñ
-
-
- Đ‘ÑƒĐ´Đ°Đ¿ĐµÑˆÑ‚
-
-
- Đ”Đ¶Đ°ĐºĐ°Ñ€Ñ‚Đ°
-
-
- ĐŸĐ¾Đ½Ñ‚Ñ–Đ°Đ½Đ°Đº
-
-
- ĐœĐ°ĐºĐ°ÑĐ°Ñ€
-
-
- Đ”Đ¶Đ°Đ¹Đ¿ÑƒÑ€
-
-
- Đ”ÑƒĐ±Đ»Ñ–Đ½
-
-
- Đ„Ñ€ÑƒÑĐ°Đ»Đ¸Đ¼
-
-
- ĐÑÑ‚Ñ€Ñ–Đ² ĐœĐµĐ½
-
-
- ĐĐ°Đ»ÑŒĐºÑƒÑ‚Ñ‚Đ°
-
-
- Đ§Đ°Đ³Đ¾Ñ
-
-
- Đ‘Đ°Đ³Đ´Đ°Đ´
-
-
- Đ¢ĐµĐ³ĐµÑ€Đ°Đ½
-
-
- Đ ĐµĐ¹Đº'ÑĐ²Ñ–Đº
-
-
- Đ Đ¸Đ¼
-
-
- Đ”Đ¶ĐµÑ€ÑÑ–
-
-
- Đ¯Đ¼Đ°Đ¹ĐºĐ°
-
-
- ĐĐ¼Đ¼Đ°Đ½
-
-
- Đ¢Đ¾ĐºÑ–Đ¾
-
-
- ĐĐ°Đ¹Ñ€Đ¾Đ±Ñ–
-
-
- Đ‘Ñ–ÑˆĐºĐµĐº
-
-
- ĐŸĐ½Đ¾Đ¼Đ¿ĐµĐ½ÑŒ
-
-
- Đ•Đ½Đ´ĐµÑ€Đ±ĐµÑ€Ñ–
-
-
- ĐÑ–Ñ€Ñ–Ñ‚Ñ–Đ¼Đ°Ñ‚Ñ–
-
-
- Đ¢Đ°Ñ€Đ°Đ²Đ°
-
-
- ĐĐ¾Đ¼Đ¾Ñ€Đ¸
-
-
- Đ¡ĐµĐ½Ñ‚-ĐÑ–Ñ‚Ñ Ñ– ĐĐµĐ²Ñ–Ñ
-
-
- ĐŸÑ…ĐµĐ½ÑŒÑĐ½
-
-
- Đ¡ĐµÑƒĐ»
-
-
- ĐÑƒĐ²ĐµĐ¹Ñ‚
-
-
- ĐĐ°Đ¹Đ¼Đ°Đ½Đ¾Đ²Ñ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
-
-
- ĐĐºÑ‚Đ°Ñƒ
-
-
- ĐÑ€Đ°Đ»
-
-
- ĐĐºÑ‚Đ¾Đ±Đµ
-
-
- Đзил-ĐÑ€Đ´Đ°
-
-
- ĐĐ»Đ¼Đ°Ñ‚Đ¸
-
-
- Đ’â€™Ñ”Đ½Ñ‚ÑŒÑĐ½
-
-
- Đ‘ĐµĐ¹Ñ€ÑƒÑ‚
-
-
- Đ¡ĐµĐ½Ñ‚-Đ›ÑƒÑÑ–Ñ
-
-
- Đ’Đ°Đ´ÑƒÑ†
-
-
- ĐĐ¾Đ»Đ¾Đ¼Đ±Đ¾
-
-
- ĐœĐ¾Đ½Ñ€Đ¾Đ²Ñ–Ñ
-
-
- ĐœĐ°ÑĐµÑ€Ñƒ
-
-
- Đ’Ñ–Đ»ÑŒĐ½ÑÑ
-
-
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ³
-
-
- Đ Đ¸Đ³Đ°
-
-
- Đ¢Ñ€Ñ–Đ¿Đ¾Đ»Ñ–
-
-
- ĐаÑĐ°Đ±Đ»Đ°Đ½ĐºĐ°
-
-
- ĐœĐ¾Đ½Đ°ĐºĐ¾
-
-
- ĐĐ¸ÑˆĐ¸Đ½Ñ–Đ²
-
-
- ĐŸĐ¾Đ´Đ³Đ¾Ñ€Đ¸Ñ†Ñ
-
-
- ĐĐ½Ñ‚Đ°Đ½Đ°Đ½Đ°Ñ€Ñ–Đ²Ñƒ
-
-
- ĐĐ²Đ°Đ´Đ¶Đ°Đ»ĐµĐ¹Đ½
-
-
- ĐœĐ°Đ´Đ¶ÑƒÑ€Đ¾
-
-
- Đ¡ĐºĐ¾Đ¿'Ñ”
-
-
- Đ‘Đ°Đ¼Đ°ĐºĐ¾
-
-
- Đ Đ°Đ½Đ³ÑƒĐ½
-
-
- Đ“Đ¾Đ²Đ´
-
-
- Đ£Đ»Đ°Đ½-Đ‘Đ°Ñ‚Đ¾Ñ€
-
-
- Đ§Đ¾Đ¹Đ±Đ°Đ»ÑĐ°Đ½
-
-
- ĐœĐ°ĐºĐ°Đ¾
-
-
- Đ¡Đ°Đ¹Đ¿Đ°Đ½
-
-
- ĐœĐ°Ñ€Ñ‚Ñ–Đ½Ñ–ĐºĐ°
-
-
- ĐÑƒĐ°ĐºÑˆĐ¾Ñ‚
-
-
- ĐœĐ¾Đ½ÑĐµÑ€Đ°Ñ‚
-
-
- ĐœĐ°Đ»ÑŒÑ‚Đ°
-
-
- ĐœĐ°Đ²Ñ€Đ¸ĐºÑ–Đ¹
-
-
- ĐœĐ°Đ»ÑŒĐ´Ñ–Đ²Đ¸
-
-
- Đ‘Đ»Đ°Đ½Ñ‚Đ¸Ñ€
-
-
- Đ¢Ñ–Ñ…ÑƒĐ°Đ½Đ°
-
-
- Đ•Ñ€Đ¼Đ¾ÑÑ–Đ»ÑŒĐ¹Đ¾
-
-
- ĐœĐ°ÑĐ°Ñ‚Đ»Đ°Đ½
-
-
- Đ§Ñ–ÑƒĐ°ÑƒĐ°
-
-
- ĐœĐ¾Đ½Ñ‚ĐµÑ€ĐµĐ¹
-
-
- ĐœĐµÑ…Ñ–ĐºĐ¾
-
-
- ĐœĐµÑ€Ñ–Đ´Đ°
-
-
- ĐĐ°Đ½ĐºÑƒĐ½
-
-
- ĐÑƒĐ°Đ»Đ°-Đ›ÑƒĐ¼Đ¿ÑƒÑ€
-
-
- ĐÑƒÑ‡Ñ–Đ½̉‘
-
-
- ĐœĐ°Đ¿ÑƒÑ‚Ñƒ
-
-
- Đ’Ñ–Đ½Đ´Ñ…ÑƒĐº
-
-
- ĐÑƒĐ¼ĐµĐ°
-
-
- ĐÑ–Đ°Đ¼ĐµĐ¹
-
-
- ĐĐ¾Ñ€Ñ„Đ¾Đ»Đº
-
-
- Đ›Đ°Đ³Đ¾Ñ
-
-
- ĐœĐ°Đ½Đ°Đ³ÑƒĐ°
-
-
- ĐĐ¼ÑÑ‚ĐµÑ€Đ´Đ°Đ¼
-
-
- ĐÑĐ»Đ¾
-
-
- ĐĐ°Ñ‚Đ¼Đ°Đ½Đ´Ñƒ
-
-
- ĐĐ°ÑƒÑ€Ñƒ
-
-
- ĐÑ–ÑƒĐµ
-
-
- Đ§Đ°Ñ‚ĐµĐ¼
-
-
- ĐĐºĐ»ĐµĐ½Đ´
-
-
- ĐœĐ°ÑĐºĐ°Ñ‚
-
-
- ĐŸĐ°Đ½Đ°Đ¼Đ°
-
-
- Đ›Ñ–Đ¼Đ°
-
-
- Đ¢Đ°Ñ—Ñ‚Ñ–
-
-
- ĐœĐ°Ñ€ĐºĐ¸Đ·ÑŒĐºÑ– Đ¾-Đ²Đ¸
-
-
- Đ“Đ°Đ¼Đ±ĐµÑ€
-
-
- ĐŸĐ¾Ñ€Ñ‚-ĐœĐ¾Ñ€ÑĐ±Ñ–
-
-
- ĐœĐ°Đ½Ñ–Đ»Đ°
-
-
- ĐĐ°Ñ€Đ°Ñ‡Ñ–
-
-
- Đ’Đ°Ñ€ÑˆĐ°Đ²Đ°
-
-
- ĐœÑ–ĐºĐµĐ»Đ¾Đ½
-
-
- ĐŸÑ–Ñ‚ĐºĐµÑ€Đ½
-
-
- ĐŸÑƒĐµÑ€Ñ‚Đ¾ Đ Ñ–ĐºĐ¾
-
-
- Газа
-
-
- ĐĐ·Đ¾Ñ€ÑÑŒĐºÑ– Đ¾ÑÑ‚Ñ€Đ¾Đ²Đ¸
-
-
- ĐœĐ°Đ´ĐµĐ¹Ñ€Đ°
-
-
- Đ›Ñ–ÑĐ°Đ±Đ¾Đ½
-
-
- ĐŸĐ°Đ»Đ°Ñƒ
-
-
- ĐÑÑƒĐ½ÑÑŒĐ¹Đ¾Đ½
-
-
- ĐĐ°Ñ‚Đ°Ñ€
-
-
- РеÑĐ½ÑŒĐ¹Đ¾Đ½
-
-
- Đ‘ÑƒÑ…Đ°Ñ€ĐµÑÑ‚
-
-
- Đ‘ĐµĐ»Đ³Ñ€Đ°Đ´
-
-
- ĐĐ°Đ»Ñ–Đ½Ñ–Đ½Đ³Ñ€Đ°Đ´
-
-
- ĐœĐ¾ÑĐºĐ²Đ°
-
-
- Đ’Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´
-
-
- Đ¡Đ°Đ¼Đ°Ñ€Đ°
-
-
- Đ„ĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ³
-
-
- ĐĐ¼ÑÑŒĐº
-
-
- ĐĐ¾Đ²Đ¾ÑĐ¸Đ±Ñ–Ñ€ÑÑŒĐº
-
-
- ĐÑ€Đ°ÑĐ½Đ¾ÑÑ€ÑÑŒĐº
-
-
- Đ†Ñ€ĐºÑƒÑ‚ÑÑŒĐº
-
-
- Đ¯ĐºÑƒÑ‚ÑÑŒĐº
-
-
- Đ’Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Đº
-
-
- Đ¡Đ°Ñ…Đ°Đ»Ñ–Đ½
-
-
- ĐœĐ°Đ³Đ°Đ´Đ°Đ½
-
-
- ĐĐ°Đ¼Ñ‡Đ°Ñ‚ĐºĐ°
-
-
- ĐĐ½Đ°Đ´Đ¸Ñ€
-
-
- ĐÑ–Đ³Đ°Đ»Ñ–
-
-
- Đ•Ñ€-Đ Ñ–ÑĐ´
-
-
- Đ“Đ²Đ°Đ´Đ°Đ»ĐºĐ°Đ½Đ°Đ»
-
-
- ĐœĐ°Ñ…Đµ
-
-
- Đ¥Đ°Ñ€Ñ‚ÑƒĐ¼
-
-
- Đ¡Ñ‚Đ¾ĐºĐ³Đ¾Đ»ÑŒĐ¼
-
-
- Đ¡Đ¸Đ½Đ³Đ°Đ¿ÑƒÑ€
-
-
- ĐÑÑ‚Ñ€Ñ–Đ² Đ¡Đ²ÑÑ‚Đ¾Ñ— Đ„Đ»ĐµĐ½Đ¸
-
-
- Đ›ÑблÑĐ½Đ°
-
-
- Đ›Đ¾Đ½Đ³ĐµÑ€Đ±ÑĐ¹Đ½
-
-
- Đ‘Ñ€Đ°Ñ‚Đ¸ÑĐ»Đ°Đ²Đ°
-
-
- Đ¤Ñ€Ñ–Ñ‚Đ°ÑƒĐ½
-
-
- Đ¡Đ°Đ½-ĐœĐ°Ñ€Ñ–Đ½Đ¾
-
-
- Đ”Đ°ĐºĐ°Ñ€
-
-
- ĐœĐ¾Đ³Đ°Đ´Ñ–ÑˆĐ¾
-
-
- ĐŸĐ°Ñ€Đ°Đ¼Đ°Ñ€Ñ–Đ±Đ¾
-
-
- Đ¡Đ°Đ½-Đ¢Đ¾Đ¼Đµ Ñ– ĐŸÑ€Đ¸Đ½ÑÑ–Đ¿Ñ–
-
-
- Đ¡Đ°Đ»ÑŒĐ²Đ°Đ´Đ¾Ñ€
-
-
- Đ”Đ°Đ¼Đ°ÑĐº
-
-
- ĐœĐ±Đ°Đ±Đ°Đ½Đµ
-
-
- Đ“Ñ€Đ°Đ½Đ´-Đ¢ĐµÑ€Đº
-
-
- ĐĐ´Đ¶Đ°Đ¼ĐµĐ½Đ°
-
-
- ĐÑÑ‚Ñ€Ñ–Đ² ĐĐµÑ€Đ³ĐµĐ»ĐµĐ½
-
-
- Đ›Đ¾Đ¼Đµ
-
-
- Đ‘Đ°Đ½Đ³ĐºĐ¾Đº
-
-
- Đ”ÑƒÑˆĐ°Đ½Đ±Đµ
-
-
- Đ¤Đ°ĐºĐ°Đ¾Ñ„Đ¾
-
-
- Đ”Ñ–Đ»Ñ–
-
-
- ĐÑˆĐ³Đ°Đ±Đ°Ñ‚
-
-
- Đ¢ÑƒĐ½Ñ–Ñ
-
-
- Đ¢Đ¾Đ½Đ³Đ°Ñ‚Đ°Đ¿Ñƒ
-
-
- Đ¡Ñ‚Đ°Đ¼Đ±ÑƒĐ»
-
-
- ĐŸĐ¾Ñ€Ñ‚-Đ¾Ñ„-Đ¡Đ¿ĐµĐ¹Đ½
-
-
- Đ¤ÑƒĐ½Đ°Ñ„ÑƒÑ‚Ñ–
-
-
- Đ¢Đ°Đ¹Đ¿ĐµĐ¹
-
-
- Đ”Đ°Ñ€-еÑ-Đ¡Đ°Đ»Đ°Đ°Đ¼
-
-
- Đ£Đ¶Đ³Đ¾Ñ€Đ¾Đ´
-
-
- ĐĐ¸Ñ—Đ²
-
-
- Đ¡Ñ–Đ¼Ñ„ĐµÑ€Đ¾Đ¿Đ¾Đ»ÑŒ
-
-
- Đ—Đ°Đ¿Đ¾Ñ€Ñ–Đ¶Đ¶Ñ
-
-
- ĐĐ°Đ¼Đ¿Đ°Đ»Đ°
-
-
- ĐœÑ–Đ´ÑƒĐµĐ¹
-
-
- Đ”Đ¶Đ¾Đ½ÑÑ‚Đ¾Đ½
-
-
- Đ’ĐµĐ¹Đº
-
-
- ĐĐ´Đ°Đº
-
-
- ĐĐ¾Đ¼
-
-
- Đ“Đ¾Đ½Đ¾Đ»ÑƒĐ»Ñƒ
-
-
- ĐĐ½ĐºĐ¾Ñ€Đ¸Đ´Đ¶
-
-
- Đ¯ĐºÑƒÑ‚Đ°Ñ‚
-
-
- Đ”Đ¶ÑƒĐ½Đ¾
-
-
- Đ›Đ¾Ñ-ĐĐ½Đ´Đ¶ĐµĐ»ĐµÑ
-
-
- Đ‘Đ¾Đ¹Ñе
-
-
- Đ¤Ñ–Đ½Ñ–ĐºÑ
-
-
- Đ¨Đ¸Đ¿Ñ€Đ¾Đº
-
-
- Đ”ĐµĐ½Đ²ĐµÑ€
-
-
- ĐÑŒÑ-Đ¡Đ°Đ»ĐµĐ¼
-
-
- Đ¦ĐµĐ½Ñ‚Ñ€
-
-
- Đ§Đ¸ĐºĐ°Đ³Đ¾
-
-
- ĐœĐµĐ½Đ¾Đ¼Ñ–Đ½Ñ–
-
-
- Đ’Ñ–Đ½ÑĐµĐ½Ñ
-
-
- ĐŸĐµÑ‚ĐµÑ€Đ±ÑƒÑ€Đ³
-
-
- Đ¢ĐµĐ»Đ»-Ñіті
-
-
- ĐĐ¾ĐºÑ
-
-
- Đ’Ñ–Đ½Đ°Đ¼Đ°Đº
-
-
- ĐœĐ°Ñ€ĐµĐ½Đ³Đ¾
-
-
- Đ†Đ½Đ´Ñ–Đ°Đ½Đ°Đ¿Đ¾Đ»Ñ–Ñ
-
-
- Đ›ÑƒÑ—ÑĐ²Ñ–Đ»Đ»ÑŒ
-
-
- Đ’Ñ–Đ²ĐµĐ¹
-
-
- ĐœĐ¾Đ½Ñ‚Đ¸Ñ‡ĐµĐ»Đ»Đ¾
-
-
- Đ”ĐµÑ‚Ñ€Đ¾Đ¹Ñ‚
-
-
- ĐÑŒÑ-Đ™Đ¾Ñ€Đº
-
-
- ĐœĐ¾Đ½Ñ‚ĐµĐ²Ñ–Đ´ĐµĐ¾
-
-
- Đ¡Đ°Đ¼Đ°Ñ€ĐºĐ°Đ½Đ´
-
-
- Đ¢Đ°ÑˆĐºĐµĐ½Ñ‚
-
-
- Đ’Đ°Ñ‚Đ¸ĐºĐ°Đ½
-
-
- Đ¡ĐµĐ½Ñ‚-Đ’Ñ–Đ½ÑĐµĐ½Ñ‚
-
-
- ĐĐ°Ñ€Đ°ĐºĐ°Ñ
-
-
- Đ¢Đ¾Ñ€Ñ‚Đ¾Đ»Đ°
-
-
- Đ¡ĐµĐ½Ñ‚-Đ¢Đ¾Đ¼Đ°Ñ
-
-
- Đ¡Đ°Đ¹Đ³Đ¾Đ½
-
-
- Đ•Ñ„Đ°Ñ‚Đµ
-
-
- Đ£Đ¾Đ»Đ»Ñ–Ñ
-
-
- ĐĐ¿Ñ–Đ°
-
-
- ĐĐ´ĐµĐ½
-
-
- ĐœĐ°Đ¹Đ¾Ñ€ĐºĐ°
-
-
- Đ™Đ¾Đ³Đ°Đ½Đ½ĐµÑĐ±ÑƒÑ€Đ³
-
-
- Đ›ÑƒÑĐ°ĐºĐ°
-
-
- Đ¥Đ°Ñ€Đ°Ñ€Đµ
-
-
-
- за Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за ÑÑ…Ñ–Đ´Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ´ĐµĐ½Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ·Đ°Ñ…Ñ–Đ´Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ·Đ°Ñ…Ñ–Đ´Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ ÑÑ…Ñ–Đ´Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ ÑÑ…Ñ–Đ´Đ½Đ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ ÑÑ…Ñ–Đ´Đ½Đ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ³Ñ–Ñ€Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ³Ñ–Ñ€Đ½Đ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ³Ñ–Ñ€Đ½Đ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‚Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‚Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑÑŒĐºĐ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¿Ñ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Đ°Đ¼ĐµÑ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‚Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ²Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ²Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ°Ñ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ°Ñ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡Đ½Đ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ°Ñ‚Đ»Đ°Đ½Ñ‚Đ¸Ñ‡Đ½Đ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Ñ†ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за ÑÑ…Ñ–Đ´Đ½Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ÑÑ…Ñ–Đ´Đ½Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ·Đ°Ñ…Ñ–Đ´Đ½Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ·Đ°Ñ…Ñ–Đ´Đ½Đ¾Ñ”Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ“Ñ€Ñ–Đ½Đ²Ñ–Ñ‡ĐµĐ¼
-
- true
-
-
-
- за Ñ–Ñ€Đ°Đ½ÑÑŒĐºĐ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Ñ–Ñ€Đ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Ñ–Ñ€ĐºÑƒÑ‚ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Ñ–Ñ€ĐºÑƒÑ‚ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Ñ–Đ·Ñ€Đ°Ñ—Đ»ÑŒÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за ÑĐ¿Đ¾Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ÑĐ¿Đ¾Đ½ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за ĐºĐ°Đ¼Ñ‡Đ°Ñ‚ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ĐºĐ°Đ¼Ñ‡Đ°Ñ‚ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за ĐºÑ€Đ°ÑĐ½Đ¾ÑÑ€ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ĐºÑ€Đ°ÑĐ½Đ¾ÑÑ€ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за ĐºÑƒĐ¹Đ±Đ¸ÑˆĐµĐ²ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ĐºÑƒĐ¹Đ±Đ¸ÑˆĐµĐ²ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ¼Đ°Đ³Đ°Đ´Đ°Đ½ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¼Đ°Đ³Đ°Đ´Đ°Đ½ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ¼Đ¾ÑĐºĐ¾Đ²ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¼Đ¾ÑĐºĐ¾Đ²ÑÑŒĐºĐ¸Đ¼ ÑÑ‚Đ°Đ½Đ´Đ°Ñ€Ñ‚Đ½Đ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¼Đ¾ÑĐºĐ¾Đ²ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ½Đ¾Đ²Đ¾ÑĐ¸Đ±Ñ–Ñ€ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ½Đ¾Đ²Đ¾ÑĐ¸Đ±Ñ–Ñ€ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ¾Đ¼ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ¾Đ¼ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за ÑĐ°Đ¼Đ°Ñ€ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ÑĐ°Đ¼Đ°Ñ€ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за Đ²Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Ñ†ÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ²Đ»Đ°Đ´Đ¸Đ²Đ¾ÑÑ‚Đ¾Ñ†ÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Đ²Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Đ²Đ¾Đ»Đ³Đ¾Đ³Ñ€Đ°Đ´ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
-
-
-
- за ÑĐºÑƒÑ‚ÑÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за ÑĐºÑƒÑ‚ÑÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
- за Ñ”ĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ·ÑŒĐºĐ¸Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
- за Ñ”ĐºĐ°Ñ‚ĐµÑ€Đ¸Đ½Đ±ÑƒÑ€Đ·ÑŒĐºĐ¸Đ¼ Đ»Ñ–Ñ‚Đ½Ñ–Đ¼ Ñ‡Đ°ÑĐ¾Đ¼
-
- true
-
-
-
-
-
- ,
- Â
- ;
- %
- 0
- #
- +
- -
- ‰
- âˆ
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
- {0} {1}
- {0} {1}
-
-
-
- ĐĐ½Đ´Đ¾Ñ€Ñ€ÑÑŒĐºĐ° Đ¿ĐµÑĐµÑ‚Đ°
- ĐĐ½Đ´Đ¾Ñ€Ñ€ÑÑŒĐºÑ– Đ¿ĐµÑĐµÑ‚Đ¸
- ĐĐ½Đ´Đ¾Ñ€Ñ€ÑÑŒĐºĐ¸Ñ… Đ¿ĐµÑĐµÑ‚
- ĐĐ½Đ´Đ¾Ñ€Ñ€ÑÑŒĐºĐ¸Ñ… Đ¿ĐµÑĐµÑ‚
-
-
- Đ”Đ¸Ñ€Ñ…ĐµĐ¼ ĐĐĐ•
-
-
- ĐÑ„Đ³Đ°Đ½Ñ– (1927-2002)
-
-
- ĐÑ„Đ³Đ°Đ½Ñ–
- ĐÑ„Đ³Đ°Đ½Ñ–
-
-
- ĐĐ»Đ±Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ»ĐµĐº
- ĐĐ»Đ±Đ°Đ½ÑÑŒĐºÑ– Đ»ĐµĐºĐ¸
- ĐĐ»Đ±Đ°Đ½ÑÑŒĐºĐ¸Ñ… Đ»ĐµĐºÑ–Đ²
- Đ°Đ»Đ±Đ°Đ½ÑÑŒĐºĐ¸Ñ… Đ»ĐµĐºÑ–Đ²
-
-
- Đ’Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¹ Đ´Ñ€Đ°Đ¼
- Đ²Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºÑ– Đ´Ñ€Đ°Đ¼Đ¸
- Đ’Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Ñ… Đ´Ñ€Đ°Đ¼Ñ–Đ²
- Đ’Ñ–Ñ€Đ¼ĐµĐ½ÑÑŒĐºĐ¸Ñ… Đ´Ñ€Đ°Đ¼Ñ–Đ²
-
-
- Đ“ÑƒĐ»ÑŒĐ´ĐµĐ½ ĐÑ–Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ¸Ñ… ĐĐ½Ñ‚Ñ–Đ»
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ°
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºÑ– ĐºĐ²Đ°Đ½Đ·Đ¸
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ·
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¾Ñ— ĐºĐ²Đ°Đ½Đ·Đ¸
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° (1977-1990)
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºÑ– ĐºĐ²Đ°Đ½Đ·Đ¸ (1977-1990)
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ· (1977-1990)
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¾Ñ— ĐºĐ²Đ°Đ½Đ·Đ¸ (1977-1990)
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ° Đ½Đ¾Đ²Đ° ĐºĐ²Đ°Đ½Đ·Đ° (1990-2000)
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºÑ– Đ½Đ¾Đ²Ñ– ĐºĐ²Đ°Đ½Đ·Đ¸ (1990-2000)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… ĐºĐ²Đ°Đ½Đ· (1990-2000)
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¾Ñ— Đ½Đ¾Đ²Đ¾Ñ— ĐºĐ²Đ°Đ½Đ·Đ¸ (1990-2000)
-
-
- ĐĐ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° Ñ€ĐµĐ°Đ´Đ¶Đ°ÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºÑ– ĐºĐ²Đ°Đ½Đ·Đ¸ Ñ€ĐµĐ°Đ´Đ¶Đ°ÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¸Ñ… ĐºĐ²Đ°Đ½Đ· Ñ€ĐµĐ°Đ´Đ¶Đ°ÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ° ĐºĐ²Đ°Đ½Đ·Đ° Ñ€ĐµĐ°Đ´Đ¶Đ°ÑÑ‚Đ°Đ´Đ¾ (1995-1999)
- Đ°Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¾Ñ— ĐºĐ²Đ°Đ½Đ·Đ¸ Ñ€ĐµĐ°Đ´Đ¶Đ°ÑÑ‚Đ°Đ´Đ¾ (1995-1999)
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ Đ°Đ²ÑÑ‚Ñ€Đ°Đ»
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑÑŒĐºÑ– Đ°Đ²ÑÑ‚Ñ€Đ°Đ»Đ¸
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑÑŒĐºĐ¸Ñ… Đ°Đ²ÑÑ‚Ñ€Đ°Đ»Ñ–Đ²
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾ (1983-1985)
-
-
- ĐÑ€Đ³ĐµĐ½Ñ‚Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾
-
-
- ĐĐ²ÑÑ‚Ñ€Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑˆĐ¸Đ»Ñ–Đ½Đ³
-
-
- ĐĐ²ÑÑ‚Ñ€Đ°Đ»Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- ĐÑ€ÑƒĐ±ÑÑŒĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- ĐĐ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ¼Đ°Đ½Đ°Ñ‚ (1993-2006)
-
-
- ĐĐ·ĐµÑ€Đ±Đ°Đ¹Đ´Đ¶Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ¼Đ°Đ½Đ°Ñ‚
-
-
- Đ”Đ¸Đ½Đ°Ñ€ (Đ‘Đ¾ÑĐ½Ñ–Ñ Ñ– Đ“ĐµÑ€Ñ†ĐµĐ³Đ¾Đ²Đ¸Đ½Đ°)
-
-
- ĐĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¾Đ²Đ°Đ½Đ° Đ¼Đ°Ñ€ĐºĐ° Đ‘Đ¾ÑĐ½Ñ–Ñ— Ñ– Đ“ĐµÑ€Ñ†Đ¾Đ³Đ¾Đ²Đ¸Đ½Đ¸
-
-
- Đ‘Đ°Ñ€Đ±Đ°Đ´Đ¾ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ‘Đ°Đ½Đ³Đ»Đ°Đ´ĐµÑÑŒĐºĐ° Ñ‚Đ°ĐºĐ°
-
-
- Đ‘ĐµĐ»ÑŒĐ³Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¾Đ²Đ°Đ½Đ¸Đ¹)
-
-
- Đ‘ĐµĐ»ÑŒĐ³Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ‘ĐµĐ»ÑŒĐ³Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹Â¹ Ñ„Ñ€Đ°Đ½Đº (Ñ„Ñ–Đ½Đ°Đ½ÑĐ¾Đ²Đ¸Đ¹)
-
-
- Đ‘Đ¾Đ»Đ³Đ°Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ‚Đ²ĐµÑ€Đ´Đ¸Đ¹ Đ»ĐµĐ²
-
-
- Đ‘Đ¾Đ»Đ³Đ°Ñ€ÑÑŒĐºĐ¸Đ¹ Đ½Đ¾Đ²Đ¸Đ¹ Đ»ĐµĐ²
-
-
- Đ‘Đ°Ñ…Ñ€ĐµĐ¹Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ‘ÑƒÑ€ÑƒĐ½Đ´Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ‘ĐµÑ€Đ¼ÑƒĐ´ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ‘Ñ€ÑƒĐ½ĐµĐ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ‘Đ¾Đ»Ñ–Đ²Ñ–Đ°Đ½Đ¾
-
-
- Đ‘Đ¾Đ»Ñ–Đ²Ñ–Đ¹ÑÑŒĐºĐµ Đ¿ĐµÑĐ¾
-
-
- Đ‘Đ¾Đ»Ñ–Đ²Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ¼Đ²Đ´Đ¾Đ»
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐµ Đ½Đ¾Đ²Đµ ĐºÑ€ÑƒĐ·ĐµĐ¹Ñ€Đ¾ (1967-1986)
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐµ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐµ ĐºÑ€ÑƒĐ·ĐµĐ¹Ñ€Đ¾ (1990-1993)
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Ñ€ĐµĐ°Đ»
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐµ Đ½Đ¾Đ²Đµ ĐºÑ€ÑƒĐ·Đ°Đ´Đ¾
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ»ÑŒÑÑŒĐºĐµ ĐºÑ€ÑƒĐ·ĐµĐ¹Ñ€Đ¾
-
-
- Đ‘Đ°Đ³Đ°Đ¼ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ‘ÑƒÑ‚Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ½Đ³ÑƒĐ»Ñ‚Ñ€ÑƒĐ¼
-
-
- Đ‘Ñ–Ñ€Đ¼Đ°Đ½ÑÑŒĐºĐ¸Đ¹ ĐºÑ–Đ°Ñ‚
-
-
- Đ‘Đ¾Ñ‚ÑĐ²Đ°Đ½ÑÑŒĐºĐ° Đ¿ÑƒĐ»Đ°
-
-
- Đ‘Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºĐ¸Đ¹ Đ½Đ¾Đ²Đ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ (1994-1999)
- Đ±Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºÑ– Đ½Đ¾Đ²Ñ– Ñ€ÑƒĐ±Đ»Ñ– (1994-1999)
- Đ±Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºĐ¸Ñ… Đ½Đ¾Đ²Đ¸Ñ… Ñ€ÑƒĐ±Đ»Ñ–Đ² (1994-1999)
-
-
- Đ‘Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
- Đ±Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºÑ– Ñ€ÑƒĐ±Đ»Ñ–
- Đ±Ñ–Đ»Đ¾Ñ€ÑƒÑÑŒĐºĐ¸Ñ… Ñ€ÑƒĐ±Đ»Ñ–Đ²
-
-
- Đ‘ĐµĐ»Ñ–Đ·ÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- ĐĐ°Đ½Đ°Đ´ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- ĐĐ¾Đ½Đ³Đ¾Đ»ĐµĐ·ÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ„Đ²Ñ€Đ¾ WIR
-
-
- Đ¨Đ²ĐµĐ¹Ñ†Đ°Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ¤Ñ€Đ°Đ½Đº WIR
-
-
- Đ§Đ¸Đ»Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑĐ½Ñ–Đ´Đ°Đ´ĐµÑ Đ´Đµ Ñ„Đ¾Đ¼ĐµĐ½Ñ‚Đ¾
-
-
- Đ§Ñ–Đ»Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾
-
-
- ĐĐ¸Ñ‚Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ ÑĐ°Đ½ÑŒ
-
-
- ĐĐ¾Đ»ÑƒĐ¼Đ±Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾
-
-
- ĐĐ´Đ¸Đ½Đ¸Ñ†Ñ Ñ€ĐµĐ°Đ»ÑŒĐ½Đ¾Ñ— Đ²Đ°Ñ€Ñ‚Đ¾Ñті
-
-
- ĐĐ¾ÑÑ‚Đ°Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ¾Đ»Đ¾Đ½
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸Đ¹ ÑĐµÑ€Đ±ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ§ĐµÑ…Đ¾ÑĐ»Đ¾Đ²Đ°Ñ†ÑŒĐºĐ° Ñ‚Đ²ĐµÑ€Đ´Đ° ĐºÑ€Đ¾Đ½Đ°
-
-
- ĐÑƒĐ±Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾
-
-
- Đ•ÑĐºÑƒĐ´Đ¾ ĐĐ°Đ±Đ¾-Đ’ĐµÑ€Đ´Đµ
-
-
- ĐÑ–Đ¿Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- ЧеÑÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- ĐœĐ°Ñ€ĐºĐ° ĐĐ”Đ
-
-
- ĐÑ–Đ¼ĐµÑ†ÑŒĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ”Đ¶Đ¸Đ±ÑƒÑ‚Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ”Đ°Ñ‚ÑÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ”Đ¾Đ¼Ñ–Đ½Ñ–ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾
-
-
- ĐĐ»Đ¶Đ¸Ñ€ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€ÑÑŒĐºĐ¸Đ¹ ÑÑƒĐºÑ€Đµ
-
-
- Đ•ĐºĐ²Đ°Đ´Đ¾Ñ€ÑÑŒĐºĐ¸Đ¹ ÑĐ½Ñ–Đ´Đ°Đ´ де Đ²Đ°Đ»Đ¾Ñ€ ĐºĐ¾Đ½ÑÑ‚Đ°Đ½Ñ‚Đµ
-
-
- Đ•ÑÑ‚Đ¾Đ½ÑÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ„Đ³Đ¸Đ¿ĐµÑ‚ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ•Ñ€Đ¸Ñ‚Ñ€ĐµĐ¹ÑÑŒĐºĐ° Đ½Đ°ĐºÑ„Đ°
-
-
- ІÑĐ¿Đ°Đ½ÑÑŒĐºĐ° Đ¿ĐµÑĐµÑ‚Đ° ("Đ" Ñ€Đ°Ñ…ÑƒĐ½Đ¾Đº)
-
-
- ІÑĐ¿Đ°Đ½ÑÑŒĐºĐ° Đ¿ĐµÑĐµÑ‚Đ° (ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¾Đ²Đ°Đ½Ñ– Ñ€Đ°Ñ…ÑƒĐ½ĐºĐ¸)
-
-
- ІÑĐ¿Đ°Đ½ÑÑŒĐºĐ° Đ¿ĐµÑĐµÑ‚Đ°
-
-
- Đ•Ñ„Ñ–Đ¾Đ¿ÑÑŒĐºĐ¸Đ¹ Đ±Ñ–Ñ€
-
-
- Đ„Đ²Ñ€Đ¾
- Ñ”Đ²Ñ€Đ¾
- Ñ”Đ²Ñ€Đ¾
- Ñ”Đ²Ñ€Đ¾
-
-
- Đ¤Ñ–Đ½Đ»ÑĐ½Đ´ÑÑŒĐºĐ° Đ¼Đ°Ñ€ĐºĐ°
-
-
- Đ”Đ¾Đ»Đ°Ñ€ Đ¤Ñ–Đ´Đ¶Ñ–
-
-
- Đ¤Đ¾Đ»ĐºĐ»ĐµĐ½Đ´ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐĐ½Đ³Đ»Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚ ÑÑ‚ĐµÑ€Đ»Ñ–Đ½Đ³Ñ–Đ²
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ ĐºÑƒĐ¿Đ¾Đ½
- Đ³Ñ€ÑƒĐ·Đ¸Đ½ÑÑŒĐºÑ– ĐºÑƒĐ¿Đ¾Đ½Đ¸
- Đ³Ñ€ÑƒĐ·Đ¸Đ½ÑÑŒĐºĐ¸Ñ… ĐºÑƒĐ¿Đ¾Đ½Ñ–Đ²
-
-
- Đ“Ñ€ÑƒĐ·Đ¸Đ½ÑÑŒĐºĐ¸Đ¹ Đ»Đ°Ñ€Ñ–
-
-
- Đ“Đ°Đ½ÑÑŒĐºĐ¸Đ¹ ÑĐµĐ´Ñ– (1979-2007)
-
-
- Đ“Đ°Đ½ÑÑŒĐºĐ¸Đ¹ ÑĐµĐ´Ñ–
-
-
- Đ“Ñ–Đ±Ñ€Đ°Đ»Ñ‚Đ°Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ“Đ°Đ¼Đ±Ñ–Đ¹ÑÑŒĐºĐ° далаÑÑ–
-
-
- Đ“Đ²Ñ–Đ¹Đ½ĐµĐ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ“Đ²Ñ–Đ½ĐµĐ¹ÑÑŒĐºĐµ ÑÑ–Đ»Ñ–
-
-
- Đ•ĐºĐ²ĐµĐ»Đµ (Đ•ĐºĐ²Đ°Ñ‚Đ¾Ñ€Ñ–Đ°Đ»ÑŒĐ½Đ° ̉Đ²Ñ–Đ½ĐµÑ)
-
-
- Đ“Ñ€ĐµÑ†ÑŒĐºĐ° Đ´Ñ€Đ°Ñ…Đ¼Đ°
-
-
- Đ“Đ²Đ°Ñ‚ĐµĐ¼Đ°Đ»ÑŒÑÑŒĐºĐ¸Đ¹ ĐºĐµÑ‚ÑĐ°Đ»ÑŒ
-
-
- Đ•ÑĐºÑƒĐ´Đ¾ ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºĐ¾Ñ— Đ“Đ²Ñ–Đ½ĐµÑ—
-
-
- ĐŸĐµÑĐ¾ Đ“Đ²Ñ–Đ½ĐµÑ—-Đ‘Ñ–ÑĐ°Ñƒ
-
-
- Đ“Đ°Đ¹ÑĐ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ“Đ¾Đ½ĐºĐ¾Đ½Đ³Ñ–Đ²ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ“Đ¾Đ½Đ´ÑƒÑ€Đ°ÑÑŒĐºĐ° Đ»ĐµĐ¼Đ¿Ñ–Ñ€Đ°
-
-
- Đ¥Đ¾Ñ€Đ²Đ°Ñ‚ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ¥Đ¾Ñ€Đ²Đ°Ñ‚ÑÑŒĐºĐ° ĐºÑƒĐ½Đ°
-
-
- Đ“Đ°Ñ—Ñ‚ÑĐ½ÑÑŒĐºĐ¸Đ¹ Đ³ÑƒÑ€Đ´
-
-
- Đ£Đ³Đ¾Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ„Đ¾Ñ€Đ¸Đ½Ñ‚
-
-
- Đ†Đ½Đ´Đ¾Đ½ĐµĐ·Ñ–Đ¹ÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- Đ†Ñ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ†Đ·Ñ€Đ°Ñ—Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ†Đ·Ñ€Đ°Ñ—Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Đ½Đ¾Đ²Đ¸Đ¹ ÑˆĐµĐºĐµĐ»ÑŒ
-
-
- Đ†Đ½Đ´Ñ–Đ¹ÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- Đ†Ñ€Đ°ĐºÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ†Ñ€Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ€Ñ–Đ°Đ»
-
-
- ІÑĐ»Đ°Đ½Đ´ÑÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ†Ñ‚Đ°Đ»Ñ–Đ¹ÑÑŒĐºĐ° Đ»Ñ–Ñ€Đ°
-
-
- Đ¯Đ¼Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ™Đ¾Ñ€Đ´Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ¯Đ¿Đ¾Đ½ÑÑŒĐºĐ° Ñ”Đ½Đ°
- ¥
-
-
- ĐĐµĐ½Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑˆĐ¸Đ»Ñ–Đ½Đ³
-
-
- ĐĐ¸Ñ€Đ³Đ¸Đ·ÑŒĐºĐ¸Đ¹ ÑĐ¾Đ¼
-
-
- ĐĐ°Đ¼Đ±Đ¾Đ´Đ¶Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€Ñ–Ñ”Đ»ÑŒ
-
-
- ĐĐ¾Đ¼Đ¾Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ’Đ¾Đ½Đ° ĐŸÑ–Đ²Đ½Ñ–Ñ‡Đ½Đ¾Ñ— ĐĐ¾Ñ€ĐµÑ—
-
-
- Đ’Đ¾Đ½Đ° ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ¾Ñ— ĐĐ¾Ñ€ĐµÑ—
-
-
- ĐÑƒĐ²ĐµĐ¹Ñ‚ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ”Đ¾Đ»Đ°Ñ€ ĐĐ°Đ¹Đ¼Đ°Đ½Đ¾Đ²Đ¸Ñ… Đ¾ÑÑ‚Ñ€Đ¾Đ²Ñ–Đ²
-
-
- ĐĐ°Đ·Đ°Ñ…ÑÑ‚Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ‚ĐµĐ½Đ³Đµ
-
-
- Đ›Đ°Đ¾ÑÑŒĐºĐ¸Đ¹ ĐºÑ–Đ¿
-
-
- Đ›Ñ–Đ²Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¨Ñ€Ñ–-Đ»Đ°Đ½ĐºÑ–Đ¹ÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- Đ›Ñ–Đ±ĐµÑ€Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- ЛеÑĐ¾Ñ‚ÑÑŒĐºĐ¸Đ¹ Đ»Đ¾Ñ‚Ñ–
-
-
- Đ›Đ¸Ñ‚Đ¾Đ²ÑÑŒĐºĐ¸Đ¹ Đ»Ñ–Ñ‚
-
-
- Đ›Đ¸Ñ‚Đ¾Đ²ÑÑŒĐºĐ¸Đ¹ Ñ‚Đ°Đ»Đ¾Đ½
-
-
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€̉‘ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº (ĐĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¾Đ²Đ°Đ½Đ¸Đ¹)
-
-
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€Đ·ÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ›ÑĐºÑĐµĐ¼Đ±ÑƒÑ€̉‘ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº (Đ¤Ñ–Đ½Đ°Đ½ÑĐ¾Đ²Đ¸Đ¹)
-
-
- Đ›Đ°Ñ‚Đ²Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ»Đ°Ñ‚
-
-
- Đ›Đ°Ñ‚Đ²Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
-
-
- Đ›Ñ–Đ²Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐœĐ°Ñ€Đ¾ĐºĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Ñ€Ñ…ĐµĐ¼
-
-
- ĐœĐ°Ñ€Đ¾ĐºĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐœĐ¾Đ»Đ´Đ¾Đ²ÑÑŒĐºĐ¸Đ¹ Đ»ĐµĐ¹
-
-
- ĐœĐ°Đ´Đ°Đ³Đ°ÑĐºĐ°Ñ€ÑÑŒĐºĐ¸Đ¹ Đ°Ñ€Ñ–Đ°Ñ€Ñ–
-
-
- ĐœĐ°Đ´Đ°Đ³Đ°ÑĐºĐ°Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐœĐ°ĐºĐµĐ´Đ¾Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐœĐ°Đ»Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐʼÑÑ‚ ĐœÊ¼ÑĐ½Đ¼Đ¸
-
-
- ĐœĐ¾Đ½Đ³Đ¾Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Ñ‚ÑƒĐ³Ñ€Đ¸Đº
-
-
- ĐœĐ°ĐºĐ°Đ¾ Đ¿Đ°Ñ‚Đ°ĐºĐ°
-
-
- ĐœĐ°Đ²Ñ€Đ¸Ñ‚Đ°Đ½ÑÑŒĐºĐ° ÑƒĐ³Ñ–Ñ
-
-
- ĐœĐ°Đ»ÑŒÑ‚Ñ–Đ¹ÑÑŒĐºĐ° Đ»Ñ–Ñ€Đ°
-
-
- ĐœĐ°Đ»ÑŒÑ‚Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- ĐœĐ°Đ²Ñ€Đ¸ĐºÑ–Đ¹ÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- ĐœĐ°Đ»ÑŒĐ´Ñ–Đ²ÑÑŒĐºĐ° руфіÑ
-
-
- ĐĐ²Đ°Ñ‡Đ° (ĐœĐ°Đ»Đ°Đ²Ñ–)
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ°Đ½ÑÑŒĐºĐµ Đ¿ĐµÑĐ¾
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ°Đ½ÑÑŒĐºĐµ ÑÑ€Ñ–Đ±Đ½Đµ Đ¿ĐµÑĐ¾ (1861-1992)
-
-
- ĐœĐµĐºÑĐ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ ÑĐ½Ñ–Đ´Đ°Đ´ де Ñ–Đ½Đ²ĐµÑ€ÑÑ–Đ¾Đ½
-
-
- ĐœĐ°Đ»Đ°Đ¹Đ·Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€Đ¸Đ½Đ³Ñ–Ñ‚
-
-
- ĐœĐ¾Đ·Đ°Đ¼Đ±Ñ–Ñ†ÑŒĐºĐ¸Đ¹ еÑĐºÑƒĐ´Đ¾
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸Đ¹ Đ¼Đ¾Đ·Đ°Đ¼Đ±Ñ–Ñ†ÑŒĐºĐ¸Đ¹ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
-
-
- ĐœĐ¾Đ·Đ°Đ¼Đ±Ñ–Ñ†ÑŒĐºĐ¸Đ¹ Đ¼ĐµÑ‚Đ¸ĐºĐ°Đ»
-
-
- ĐĐ°Đ¼Ñ–Đ±Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- ĐÑ–Đ³ĐµÑ€Ñ–Đ¹ÑÑŒĐºĐ° Đ½Đ°Đ¹Ñ€Đ°
-
-
- ĐÑ–ĐºĐ°Ñ€Đ°Đ³ÑƒĐ°Đ½ÑÑŒĐºĐ° ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ°
-
-
- ĐÑ–ĐºĐ°Ñ€Đ°Đ³ÑƒĐ°Đ½ÑÑŒĐºĐ° ĐºĐ¾Ñ€Đ´Đ¾Đ±Đ° Đ¾Ñ€Đ¾
-
-
- ĐÑ–Đ´ĐµÑ€Đ»Đ°Đ½Đ´ÑÑŒĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- ĐĐ¾Ñ€Đ²ĐµĐ·ÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- ĐĐµĐ¿Đ°Đ»ÑŒÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- ĐĐ¾Đ²Đ¾Đ·ĐµĐ»Đ°Đ½Đ´ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- ĐĐ¼Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ€Ñ–Đ°Đ»
-
-
- ĐŸĐ°Đ½Đ°Đ¼ÑÑŒĐºĐ° Đ±Đ°Đ»ÑŒĐ±Đ¾Đ°
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ–Đ½Ñ‚Ñ–
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ½Đ¾Đ²Đ¸Đ¹ ÑĐ¾Đ»
-
-
- ĐŸĐµÑ€ÑƒĐ°Đ½ÑÑŒĐºĐ¸Đ¹ ÑĐ¾Đ»
-
-
- ĐÑ–Đ½Đ° ĐŸĐ°Đ¿ÑƒĐ° ĐĐ¾Đ²Đ¾Ñ— Đ“Đ²Ñ–Đ½ĐµÑ—
-
-
- Đ¤Ñ–Đ»Ñ–Đ¿Đ¿Ñ–Đ½ÑÑŒĐºĐµ Đ¿ĐµÑĐ¾
-
-
- ĐŸĐ°ĐºĐ¸ÑÑ‚Đ°Đ½ÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- ĐŸĐ¾Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Đ·Đ»Đ¾Ñ‚Đ¸Đ¹
-
-
- ĐŸĐ¾Đ»ÑŒÑÑŒĐºĐ¸Đ¹ Đ·Đ»Đ¾Ñ‚Đ¸Đ¹ (1950-1995)
-
-
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»ÑŒÑÑŒĐºĐ¸Đ¹ еÑĐºÑƒĐ´Đ¾
-
-
- ĐŸĐ°Ñ€Đ°Đ³Đ²Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ Đ³ÑƒĐ°Ñ€Đ°Đ½Ñ–
-
-
- ĐĐ°Ñ‚Đ°Ñ€ÑÑŒĐºĐ¸Đ¹ Ñ€Ñ–Đ°Đ»
-
-
- Đ Đ¾Đ´ĐµĐ·Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸Đ¹ Ñ€ÑƒĐ¼ÑƒĐ½ÑÑŒĐºĐ¸Đ¹ Đ»ĐµĐ¹
-
-
- Đ ÑƒĐ¼ÑƒĐ½ÑÑŒĐºĐ¸Đ¹ Đ»ĐµĐ¹
-
-
- Đ¡ĐµÑ€Đ±ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
- Ñ€Đ¾ÑÑ–Đ¹ÑÑŒĐºÑ– Ñ€ÑƒĐ±Đ»Ñ–
- Ñ€Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ¸Ñ… Ñ€ÑƒĐ±Đ»Ñ–Đ²
- Đ Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
- Ñ€ÑƒĐ±.
-
-
- Đ Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ (1991-1998)
- Ñ€Đ¾ÑÑ–Đ¹ÑÑŒĐºÑ– Ñ€ÑƒĐ±Đ»Ñ– (RUR)
- Ñ€Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ¸Ñ… Ñ€ÑƒĐ±Đ»Ñ–Đ² (RUR)
- Ñ€Đ¾ÑÑ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ (RUR)
-
-
- Đ ÑƒĐ°Đ½Đ´Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ¡Đ°ÑƒĐ´Ñ–Đ²ÑÑŒĐºĐ¸Đ¹ Ñ€Ñ–Đ°Đ»
-
-
- Đ”Đ¾Đ»Đ°Ñ€ Đ¡Đ¾Đ»Đ¾Đ¼Đ¾Đ½Đ¾Đ²Đ¸Ñ… ĐÑÑ‚Ñ€Đ¾Đ²Ñ–Đ²
-
-
- Đ¡ĐµĐ¹ÑˆĐµĐ»ÑŒÑÑŒĐºĐ° Ñ€ÑƒĐ¿Ñ–Ñ
-
-
- Đ¡ÑƒĐ´Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ¡ÑƒĐ´Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¡Ñ‚Đ°Ñ€Đ¸Đ¹ ÑÑƒĐ´Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¨Đ²ĐµĐ´ÑÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ¡Ñ–Đ½Đ³Đ°Đ¿ÑƒÑ€ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ¤ÑƒĐ½Ñ‚ Đ¡Đ²ÑÑ‚Đ¾Ñ— Đ„Đ»ĐµĐ½Đ¸
-
-
- Đ¡Đ»Đ¾Đ²ĐµĐ½ÑÑŒĐºĐ¸Đ¹ Ñ‚Đ¾Đ»Đ°Ñ€
-
-
- Đ¡Đ»Đ¾Đ²Đ°Ñ†ÑŒĐºĐ° ĐºÑ€Đ¾Đ½Đ°
-
-
- Đ›ĐµĐ¾Đ½Đµ Đ¡ÑŒÑ”Ñ€Ñ€Đ°-Đ›ĐµĐ¾Đ½Đµ
-
-
- Đ¡Đ¾Đ¼Đ°Đ»Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑˆĐ¸Đ»Ñ–Đ½Đ³
-
-
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ¡ÑƒÑ€Đ¸Đ½Đ°Đ¼ÑÑŒĐºĐ¸Đ¹ Đ³ÑƒĐ»ÑŒĐ´ĐµĐ½
-
-
- Đ”Đ¾Đ±Ñ€Đ° Đ¡Đ°Đ½-Đ¢Đ¾Đ¼Đµ Ñ– ĐŸÑ€Ñ–Đ½ÑÑ–Đ¿Ñ–
-
-
- РадÑĐ½ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
- Ñ€Đ°Đ´ÑĐ½ÑÑŒĐºÑ– Ñ€ÑƒĐ±Đ»Ñ–
- Ñ€Đ°Đ´ÑĐ½ÑÑŒĐºĐ¸Ñ… Ñ€ÑƒĐ±Đ»Ñ–Đ²
- Ñ€Đ°Đ´ÑĐ½ÑÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
-
-
- Đ¡Đ°Đ»ÑŒĐ²Đ°Đ´Đ¾Ñ€ÑÑŒĐºĐ¸Đ¹ ĐºĐ¾Đ»Đ¾Đ½
-
-
- Đ¡Đ¸Ñ€Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Ñ„ÑƒĐ½Ñ‚
-
-
- Đ¡Đ²Đ°Đ·Ñ–Đ»ĐµĐ½Đ´ÑÑŒĐºÑ– Đ»Ñ–Đ»Đ°Đ½Đ³ĐµĐ½Ñ–
-
-
- Đ¢Đ°Ñ—Đ»Đ°Đ½Đ´ÑÑŒĐºĐ¸Đ¹ Đ±Đ°Ñ‚
-
-
- Đ¢Đ°Đ´Đ¶Đ¸Ñ†ÑŒĐºĐ¸Đ¹ Ñ€ÑƒĐ±Đ»ÑŒ
-
-
- Đ¢Đ°Đ´Đ¶Đ¸Ñ†ÑŒĐºĐ¸Đ¹ ÑĐ¾Đ¼Đ¾Đ½Ñ–
-
-
- Đ¢ÑƒÑ€ĐºĐ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¹ Đ¼Đ°Đ½Đ°Ñ‚
-
-
- Đ¢ÑƒĐ½Ñ–ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐŸĐ°Đ°Đ½Đ³Đ° Đ¢Đ¾Đ½Đ³Đ¾
-
-
- Đ¢Ñ–Đ¼Đ¾Ñ€ÑÑŒĐºĐ¸Đ¹ еÑĐºÑƒĐ´Đ¾
-
-
- Đ¡Ñ‚Đ°Ñ€Đ° Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ° Đ»Ñ–Ñ€Đ°
- ÑÑ‚Đ°Ñ€Ñ– Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºÑ– Đ»Ñ–Ñ€Đ¸
- ÑÑ‚Đ°Ñ€Đ¸Ñ… Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ¸Ñ… Đ»Ñ–Ñ€
- ÑÑ‚Đ°Ñ€Đ° Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ° Đ»Ñ–Ñ€Đ°
-
-
- Đ¢ÑƒÑ€ĐµÑ†ÑŒĐºĐ° Đ»Ñ–Ñ€Đ°
- Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºÑ– Đ»Ñ–Ñ€Đ¸
- Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ¸Ñ… Đ»Ñ–Ñ€
- Ñ‚ÑƒÑ€ĐµÑ†ÑŒĐºĐ° Đ»Ñ–Ñ€Đ°
-
-
- Đ”Đ¾Đ»Đ°Ñ€ Đ¢Ñ€Đ¸Đ½Ñ–Đ´Đ°Đ´Ñƒ Ñ– Đ¢Đ¾Đ±Đ°Đ³Đ¾
-
-
- ĐĐ¾Đ²Đ¸Đ¹ Ñ‚Đ°Đ¹Đ²Đ°Đ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ¢Đ°Đ½Đ·Đ°Đ½Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑˆĐ¸Đ»Ñ–Đ½Đ³
-
-
- Đ£ĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºĐ° Đ³Ñ€Đ¸Đ²Đ½Ñ
- Đ³Ñ€Đ¸Đ²Đ½Ñ–
- Đ³Ñ€Đ¸Đ²ĐµĐ½ÑŒ
- Đ³Ñ€Đ¸Đ²Đ½Ñ
- Đ³Ñ€Đ¸Đ²Đ½Ñ–
-
-
- Đ£ĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½ĐµÑ†ÑŒ
- ÑƒĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºÑ– ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½Ñ†Ñ–
- ÑƒĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºĐ¸Ñ… ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½Ñ†Ñ–Đ²
- ÑƒĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºĐ¸Đ¹ ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½ĐµÑ†ÑŒ
- ÑƒĐºÑ€Đ°Ñ—Đ½ÑÑŒĐºĐ¾Đ³Đ¾ ĐºĐ°Ñ€Đ±Đ¾Đ²Đ°Đ½Ñ†Ñ
- ĐºÑ€Đ±.
-
-
- Đ£Đ³Đ°Đ½Đ´Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑˆĐ¸Đ»Ñ–Đ½Đ³ (1966-1987)
-
-
- Đ£Đ³Đ°Đ½Đ´Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ ÑˆĐ¸Đ»Ñ–Đ½Đ³
-
-
- Đ”Đ¾Đ»Đ°Ñ€ Đ¡Đ¨Đ
- $
-
-
- Đ”Đ¾Đ»Đ°Ñ€ Đ¡Đ¨Đ (Đ½Đ°ÑÑ‚ÑƒĐ¿Đ½Đ¾Đ³Đ¾ Đ´Đ½Ñ)
-
-
- Đ”Đ¾Đ»Đ°Ñ€ Đ¡Đ¨Đ (Ñ†ÑŒĐ¾Đ³Đ¾ Đ´Đ½Ñ)
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹ÑÑŒĐºĐ¸Đ¹ Đ¿ĐµÑĐ¾ Đ² Ñ–Đ½Đ´ĐµĐºÑĐ¾Đ²Đ°Đ½Đ¸Ñ… Đ¾Đ´Đ¸Đ½Đ¸Ñ†ÑÑ…
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹ÑÑŒĐºĐµ Đ¿ĐµÑĐ¾ (1975-1993)
-
-
- Đ£Ñ€ÑƒĐ³Đ²Đ°Đ¹ÑÑŒĐºĐµ Đ¿ĐµÑĐ¾
-
-
- Đ£Đ·Đ±ĐµÑ†ÑŒĐºĐ¸Đ¹ ÑÑƒĐ¼
-
-
- Đ’ĐµĐ½ĐµÑÑƒĐµĐ»ÑŒÑÑŒĐºĐ¸Đ¹ Đ±Đ¾Đ»Ñ–Đ²Đ°Ñ€
-
-
- Đ’ĐµĐ½ĐµÑÑƒĐµĐ»ÑŒÑÑŒĐºĐ¸Đ¹ Đ±Đ¾Đ»Ñ–Đ²Đ°Ñ€ Ñ„ÑƒĐµÑ€Ñ‚Đµ
-
-
- Đ’Ê¼Ñ”Ñ‚Đ½Đ°Đ¼ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ½Đ³
-
-
- Đ’Đ°Đ½ÑƒĐ°Ñ‚ÑÑŒĐºĐ° Đ²Đ°Ñ‚Ñƒ
-
-
- Đ¢Đ°Đ»Đ° Đ—Đ°Ñ…Ñ–Đ´Đ½Đ¾Đ³Đ¾ Đ¡Đ°Đ¼Đ¾Đ°
-
-
- Đ¤Ñ€Đ°Đ½Đº Đ¦ĐµĐ½Ñ‚Ñ€Đ°Đ»ÑŒĐ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¾Đ³Đ¾ Ñ„Ñ–Đ½Đ°Đ½ÑĐ¾Đ²Đ¾Đ³Đ¾ Ñ‚Đ¾Đ²Đ°Ñ€Đ¸ÑÑ‚Đ²Đ°
-
-
- Đ¡Ñ€Ñ–Đ±Đ»Đ¾
-
-
- Đ—Đ¾Đ»Đ¾Ñ‚Đ¾
-
-
- Đ„Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ° ÑĐºĐ»Đ°Đ´ĐµĐ½Đ° Đ²Đ°Đ»ÑÑ‚Đ½Đ° Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ
-
-
- ĐĐ´Đ¸Đ½Đ¸Ñ†Ñ Đ„Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ¾Đ³Đ¾ Đ²Đ°Đ»ÑÑ‚Đ½Đ¾Đ³Đ¾ Ñ„Đ¾Đ½Đ´Ñƒ
-
-
- Đ„Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ° Ñ€Đ¾Đ·Ñ€Đ°Ñ…ÑƒĐ½ĐºĐ¾Đ²Đ° Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ XBC
-
-
- Đ„Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ° Ñ€Đ¾Đ·Ñ€Đ°Ñ…ÑƒĐ½ĐºĐ¾Đ²Đ° Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ XBD
-
-
- Đ¡Ñ…Ñ–Đ´Đ½Đ¾ĐºĐ°Ñ€Đ¸Đ±ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
- Đ¡Đ¿ĐµÑ†Ñ–Đ°Đ»ÑŒĐ½Ñ– Đ¿Ñ€Đ°Đ²Đ° Đ·Đ°Đ¿Đ¾Đ·Đ¸Ñ‡ĐµĐ½Đ½Ñ
-
-
- Đ„Đ²Ñ€Đ¾Đ¿ĐµĐ¹ÑÑŒĐºĐ° Đ²Đ°Đ»ÑÑ‚Đ½Đ° Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ¸Đ¹ Đ·Đ¾Đ»Đ¾Ñ‚Đ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº UIC
-
-
- Đ¤Ñ€Đ°Đ½Đº Đ—Đ°Ñ…Ñ–Đ´Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¾Đ³Đ¾ Ñ„Ñ–Đ½Đ°Đ½ÑĐ¾Đ²Đ¾Đ³Đ¾ Ñ‚Đ¾Đ²Đ°Ñ€Đ¸ÑÑ‚Đ²Đ°
-
-
- ĐŸĐ°Đ»Đ°Đ´Ñ–Đ¹
-
-
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·ÑŒĐºĐ¸Đ¹ Ñ‚Đ¸Ñ…Đ¾Đ¾ĐºĐµĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ€Đ°Đ½Đº
-
-
- ĐŸĐ»Đ°Ñ‚Đ¸Đ½Đ°
-
-
- Đ¤Đ¾Đ½Đ´Đ¸ RINET
-
-
- ĐĐ¾Đ´ Ñ‚ĐµÑÑ‚ÑƒĐ²Đ°Đ½Đ½Ñ Đ²Đ°Đ»ÑÑ‚Đ¸
-
-
- ĐĐµĐ²Ñ–Đ´Đ¾Đ¼Đ° Đ³Ñ€Đ¾ÑˆĐ¾Đ²Đ° Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ
- Đ½ĐµĐ²Ñ–Đ´Đ¾Đ¼Ñ– Đ³Ñ€Đ¾ÑˆĐ¾Đ²Ñ– Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ–
- Đ½ĐµĐ²Ñ–Đ´Đ¾Đ¼Đ¸Ñ… Đ³Ñ€Đ¾ÑˆĐ¾Đ²Đ¸Ñ… Đ¾Đ´Đ¸Đ½Đ¸Ñ†ÑŒ
- Đ½ĐµĐ²Ñ–Đ´Đ¾Đ¼Đ° Đ³Ñ€Đ¾ÑˆĐ¾Đ²Đ° Đ¾Đ´Đ¸Đ½Đ¸Ñ†Ñ
-
-
- Đ„Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ„Đ¼ĐµĐ½ÑÑŒĐºĐ¸Đ¹ Ñ€Ñ–Đ°Đ»
-
-
- Đ®Đ³Đ¾ÑĐ»Đ°Đ²ÑÑŒĐºĐ¸Đ¹ Ñ‚Đ²ĐµÑ€Đ´Đ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ®Đ³Đ¾ÑĐ»Đ°Đ²ÑÑŒĐºĐ¸Đ¹ Đ½Đ¾Đ²Đ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- Đ®Đ³Đ¾ÑĐ»Đ°Đ²ÑÑŒĐºĐ¸Đ¹ ĐºĐ¾Đ½Đ²ĐµÑ€Ñ‚Đ¾Đ²Đ°Đ½Đ¸Đ¹ Đ´Đ¸Đ½Đ°Ñ€
-
-
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ„Ñ–Đ½Đ°Đ½ÑĐ¾Đ²Đ¸Đ¹ Ñ€Đ°Đ½Đ´
-
-
- ĐŸÑ–Đ²Đ´ĐµĐ½Đ½Đ¾Đ°Ñ„Ñ€Đ¸ĐºĐ°Đ½ÑÑŒĐºĐ¸Đ¹ Ñ€Đ°Đ½Đ´
-
-
- ĐĐ²Đ°Ñ‡Đ° (Đ—Đ°Đ¼Đ±Ñ–Ñ)
-
-
- Đ—Đ°Ñ—Ñ€ÑÑŒĐºĐ¸Đ¹ Đ½Đ¾Đ²Đ¸Đ¹ Đ·Đ°Ñ—Ñ€
-
-
- Đ—Đ°Ñ—Ñ€ÑÑŒĐºĐ¸Đ¹ Đ·Đ°Ñ—Ñ€
-
-
- Đ—Ñ–Đ¼Đ±Đ°Đ±Đ²Ñ–Đ¹ÑÑŒĐºĐ¸Đ¹ Đ´Đ¾Đ»Đ°Ñ€
-
-
-
-
-
- {0} Đ´Đ½Ñ–
- {0} Đ´Đ½Ñ–Đ²
- {0} Đ´ĐµĐ½ÑŒ
- {0} Đ´Đ½Ñ
-
-
- {0} Đ³Đ¾Đ´Đ¸Đ½Đ¸
- {0} Đ³Đ¾Đ´Đ¸Đ½
- {0} Đ³Đ¾Đ´Đ¸Đ½Đ°
- {0} Đ³Đ¾Đ´Đ¸Đ½Đ¸
-
-
- {0} Ñ…Đ²Đ¸Đ»Đ¸Đ½Đ¸
- {0} Ñ…Đ²Đ¸Đ»Đ¸Đ½
- {0} Ñ…Đ²Đ¸Đ»Đ¸Đ½Đ°
- {0} Ñ…Đ²Đ¸Đ»Đ¸Đ½Đ¸
-
-
- {0} Đ¼Ñ–ÑÑці
- {0} Đ¼Ñ–ÑÑÑ†Ñ–Đ²
- {0} Đ¼Ñ–ÑÑць
- {0} Đ¼Ñ–ÑÑцÑ
-
-
- {0} ÑĐµĐºÑƒĐ½Đ´Đ¸
- {0} ÑĐµĐºÑƒĐ½Đ´
- {0} ÑĐµĐºÑƒĐ½Đ´Đ°
- {0} ÑĐµĐºÑƒĐ½Đ´Đ¸
-
-
- {0} Ñ‚Đ¸Đ¶Đ½Ñ–
- {0} Ñ‚Đ¸Đ¶Đ½Ñ–Đ²
- {0} Ñ‚Đ¸Đ¶Đ´ĐµĐ½ÑŒ
- {0} Ñ‚Đ¸Đ¶Đ½Ñ
-
-
- {0} Ñ€Đ¾ĐºĐ¸
- {0} Ñ€Đ¾ĐºÑ–Đ²
- {0} Ñ€Ñ–Đº
- {0} Ñ€Đ¾ĐºÑƒ
-
-
-
-
- Ñ‚Đ°Đº:Ñ‚
- Đ½Ñ–:Đ½
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uk_UA.xml b/airtime_mvc/library/Zend/Locale/Data/uk_UA.xml
deleted file mode 100644
index aa9d2686f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uk_UA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ur.xml b/airtime_mvc/library/Zend/Locale/Data/ur.xml
deleted file mode 100644
index 73d13fd50..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ur.xml
+++ /dev/null
@@ -1,1020 +0,0 @@
-
-
-
-
-
-
-
-
-
- اÙÙØ±Ùکانز
- Ø§Ù…ÛØ§Ø±ÛŒ
- عربی
- آسامی
- آزربائیجانی
- بÙلاروسی
- بلغاری
- بÙÛØ§Ø±ÛŒ
- بنگالی
- برÙیٹن
- بوسنی
- کاٹالانÙÙ†
- Ú†ÙÚ©
- ÙˆÙلش
- ÚˆÙنش
- جرمن
- Ùونانی
- Ø§Ù†Ú¯Ø±ÙØ²ÛŒ
- برطانوی انگریزی
- Ø§Ù…Ø±ÛŒÚ©Û Ú©ÛŒ انگریزی
- Ø§ÙØ³Ù¾Ø±Ø§Ù†Ù¹Ùˆ
- ÛØ³Ù¾Ø§Ù†ÙˆÛŒ
- اسٹونÙÙ†
- باسکی
- ÙØ§Ø±Ø³ÛŒ
- ÙÙ†Ù‘Ù†ÙØ´
- Ù¹Ùگالاگی
- Ùیروئیز
- ÙØ±Ø§Ù†Ø³Ùسی
- ÙØ±ÙÚ˜ÙÙ†
- Ø¢Ø¦ÙØ±ÙØ´
- سکاٹ Ú¯ÙÙ„ÙÚ©
- Ú¯Ø§Ù„ÙØ´Ùائی
- Ú¯ÙØ§Ø±Ø§Ù†ÛŒ
- گجراتی
- عبرانی
- Ûندی
- کراتی
- Ûنگیرین
- ارمینی
- انٹرلنگوی
- Ø§Ù†ÚˆÙˆÙ†ÙØ«Ùائی
- Ø¨Ø±ÙØ³ØªØ§Ù†ÛŒ
- اطالوی
- جاپانی
- جاوی
- جارجی
- کمبوڈیÙÙ†
- کنّاڈا
- کورÙÙ†
- كردش
- کرغیزی
- لاطÙÙ†ÛŒ
- Ù„ÙÙ†Ú¯Ùلا
- لاؤشÙÛŒÙÙ†
- لتھÙواینین
- Ù„ÙٹوÙÙ†
- Ù…Ù‚Ø¯ÙˆÙ†ÙØ§Ø¦ÛŒ
- Ù…Ø§Ù„Ø§ÙØ§Ù„Ù…
- منگؤلی
- مراٹهی
- مالائی
- مالٹی
- Ù†Ùپالی
- ÚˆÚ†
- نورویجینی (نینورسک)
- Ù†Ø§Ø±ÙˆÙØ¬ÙÙ†
- Ø¢Ú©Ùٹانی
- اورÙیا
- پنجابی
- پولستانی
- پشتو
- Ù¾ÙØ±ØªÚ¯Ø§Ù„ÛŒ
- پرتگالی (ﺑﺮïºïº¯ï»³ï»)
- پرتگالی (پرتگال)
- رومنی
- روسی
- سÙÙ†Ø³Ú©Ø±ÙØª
- سندھی
- سربو-کروئیشین
- Ø³Ù†ÛØ§Ù„ÛŒ
- سلاواکی
- سلوÙÙ†ÛŒ
- سومالی
- البانی
- صربی
- سیسوتھو
- سÙوڈانی
- سوÙڈش
- سواÛیلی
- تامÙÙ„
- تÙلوگو
- تهائی
- تگرینی
- ترکمانی
- ٹیگا لوگ
- کلنگان
- ترکی
- توی
- Ø§ÙØ¦ÙیگÙور
- ÙÙوکرÙÙ†ÛŒ
- اردو
- ازبک
- ÙˆÙØªÙ†Ø§Ù…ÛŒ
- خوسÛ
- ÙØ§Ø¯Ø´
- چینی (آسان کردÛ)
- چینی (روایتی)
- زÙولÙÙˆ
-
-
-
-
-
-
-
- Ù…ØªØØ¯Û عرب امارات
- Ø§ÙØºØ§Ù†Ø³ØªØ§Ù†
- انٹیگوا اور باربودا
- البانیا
- آر مینیا
- نیدرلینڈز انٹیلیز
- انگولا
- انٹار ٹکا
- ارجنٹینا
- امریکی ساموا
- آسٹریا
- آسٹریلیا
- آذر بائجان
- بوسنیا ÛØ±Ø²Ú¯ÙˆÛŒÙ†Ø§
- بنگلا دیش
- بیلجئیم
- برکینا ÙØ§Ø³Ùˆ
- بلغاریÛ
- برنڈی
- بینن
- بولیویا
- برازیل
- باھا ماس
- بھوٹان
- Ø¬Ø²ÛŒØ±Û Ø¨ÙˆÙˆÙ¹
- بوٹسوانا
- بیلا رس
- کینیڈا
- جزائر کوکوز
- کانگو، جمÛوری ریاست
- جمÛÙˆØ±ÛŒÛ ÙˆØ³Ø·ÛŒ Ø§ÙØ±ÛŒÙ‚Û
- کانگو
- سوئزر لینڈ
- جزائر Ú©ÙÚ©
- چلی
- کیمرون
- چین
- کولمبیا
- سربیا اور مانٹینیگرو
- کیوبا
- Ø¬Ø²ÛŒØ±Û Ú©Ø±Ø³Ù…Ø³
- قبرص
- جمÛÙˆØ±ÛŒÛ Ú†ÛŒÚ©
- جرمنی
- ڈنمارک
- ڈومینیکن ریپبلک
- الجیریا
- ایکواڈور
- ایسٹونیا
- مصر
- مغربی ØµØØ§Ø±Ø§
- اریٹیریا
- سپین
- ایتھوپیا
- ÙÙ† لینڈ
- جزائر ÙØ§Ú© لینڈ
- مائکرونیزیا
- Ø¬Ø²Ø§Ø¦Ø±ÙØ§Ø±Ùˆ
- ÙØ±Ø§Ù†Ø³
- غیبون
- برطانیÛ
- جارجیا
- ÙØ±Ø§Ù†Ø³ÛŒØ³ÛŒ Ú¯ÛŒ آنا
- گرنزی
- گھانا
- گرین لینڈ
- گیمبیا
- گنی
- استوائی گنی
- یونان
- جنوبی جارجیا اور جزائر جنوبی سینڈوچ
- گنی بسائو
- Ø¬Ø²ÛŒØ±Û ÛØ±Úˆ اور جزائر مکڈونلڈ
- Ûونڈوراس
- کروشیا
- ÛØ§Ø¦Ù¹ÛŒ
- Ûنگری
- انڈونیشیا
- آئر لینڈ
- اسرائیل
- بھارت
- Ø¨ØØ±Ú¾Ù†Ø¯ کا برٹش علاقÛ
- عراق
- ایران
- آئس لینڈ
- اٹلی
- جرسی
- اردن
- جاپان
- کینیا
- کرغستان
- کمبوڈیا
- Ú©ÙØ±Ø¨Ø§ØªÛŒ
- کوموروس
- سینٹ کٹس اور نیوس
- شمالی کوریا
- جنوبی کوریا
- جزائر کیمن
- قزاقستان
- لاؤس
- لبنان
- سینٹ لوسیا
- لکٹنسٹائن
- سری لنکا
- لائبیریا
- لیسوتھو
- لتھوانیا
- لٹوÙیا
- لیبیا
- مراکش
- مالدووا
- مڈغاسکر
- جزائر مارشل
- مقدونیÛ
- مالی
- میانمر
- منگولیا
- ماکاؤ
- شمالی ماریاناجزائر
- موریطانیÛ
- ملاوی
- میکسیکو
- ملائیشیا
- موزنبیق
- نمیبیا
- نیو کیلیڈونیا
- نائیجر
- Ø¬Ø²ÛŒØ±Û Ù†Ø§Ø±Ùولک
- نائیجیریا
- نکاراگوا
- نیدرلینڈ
- ناروے
- نیپال
- نیوزی لینڈ
- عمان
- پیرو
- ÙØ±Ø§Ù†Ø³ÛŒØ³ÛŒ پولینیسیا
- پاپوا نیو گنی
- Ùلپائن
- پاکستان
- پولینڈ
- سینٹ پائرے اور میکویلون
- Ùلسطین
- پرتگال
- پیراگوئے
- رومانیÛ
- روس
- روانڈا
- سعودی عرب
- جزائرسولمون
- سے شلز
- سوڈان
- سویڈن
- سینٹ ھیلینا
- سلوانیÛ
- سلوواکیÛ
- سیرالیون
- سان میرینو
- سینیگال
- صوپالیÛ
- سورینام
- سیریا
- سوازی لینڈ
- جزائر کیکس اور ترکیّÛ
- چاڈ
- جنوبی ÙØ±Ø§Ù†Ø³ÛŒØ³ÛŒ Ø¹Ù„Ø§Ù‚Û Ø¬Ø§Øª
- ٹوگو
- تھائی لینڈ
- تاجکستان
- ٹوکیلاؤ
- مشرقی تیمور
- ترکمانستان
- تیونس
- تونگا
- ترکی
- ٹرینیڈاڈ اور ٹوباگو
- ٹوالو
- تائیوان
- تنزانیÛ
- یوکرائن
- یوگنڈا
- ریاست ÛØ§Ø¦Û’ Ù…ØªØØ¯Û اور بیرونی جزائر
- ریاست ÛØ§Ø¦Û’ Ù…ØªØØ¯Û امریکا
- Ûوراگوئے
- ازبکستان
- ویٹیکن سٹی
- سینٹ کیرن اور گریناڈائنز
- وینزولا
- جزائر ورجن، برٹش
- جزائر ورجن، امریکÛ
- ویت نام
- وانواٹو
- والس اور ÙØªÙˆÙ†Û
- ساموا
- یمن
- جنوبی Ø§ÙØ±ÛŒÙ‚Û
- زیمبیا
- زمبابوے
- Unknown or Invalid Region
-
-
- کیلنڈر
- موازنÛ
- کرنسی
-
-
- روایتی چینی چھانٹ ترتیب-Big5
- بدھ کیلنڈر
- روایتی چینی کیلنڈر
- Ø¨Ù„Ø§ÙˆØ§Ø³Ø·Û Ú†Ú¾Ø§Ù†Ù¹ ترتیب
- Ø³Ø§Ø¯Û Ú†ÛŒÙ†ÛŒ چھانٹ ترتیب-GB2312
- گریگوری کیلنڈر
- عبرانی کیلنڈر
- Ûندی کیلنڈر
- اسلامی کیلنڈر
- ÛØ¬Ø±ÛŒ کیلنڈر
- جاپانی کیلنڈر
- Ùون Ù†Ø§Ù…Û Ú†Ú¾Ø§Ù†Ù¹ ترتیب
- پن ین چھانٹ ترتیب
- Ø³Ø§Ø¯Û Ú†ÛŒÙ†ÛŒ کیلنڈر
- لکیری چھانٹ ترتیب
- روایتی چھانٹ ترتیب
-
-
- اعشاری
- امریکی
-
-
- زبان:{0}
- رسم الخط:{0}
- خطÛ:{0}
-
-
-
-
-
-
- [Ø£ ؤ ا Ø¢ ب Ù¾ ت Ù¹ Ø« ج Ú† Ø-د Úˆ ذ ر Ú‘ ز Ú˜ س-غ Ù Ù‚ Ú© Ú¯ Ù„-Ù† Úº Ùˆ Û ÛŒ Ø¡ ئ Û’ Ù» Ø© Ùº Ù¼ Ù½ Ù‡ Ú¾ Ù]
- [\u0610 \u0611 \u0613 \u0614 \u064E \u0650 \u064F \u0670 \u064B \u0651]
-
-
-
-
-
-
-
- جنوری
- ÙØ±ÙˆØ±ÛŒ
- مار چ
- اپرÙÙ„
- مئ
- جون
- جولائ
- اگست
- ستمبر
- اکتوبر
- نومبر
- دسمبر
-
-
-
-
- ج
- Ù
- Ù…
- ا
- Ù…
- ج
- ج
- ا
- س
- ا
- Ù†
- د
-
-
-
-
-
-
- ا
- Ù¾
- Ù…
- ب
- ج
- ج
- Û
-
-
- اتوار
- Ù¾ÙØ±
- منگل
- بده
- جمعرات
- جمعÛ
- ÛÙØªÛ
-
-
-
-
-
-
- 1Ø³Û Ù…Ø§ÛÛŒ
- 2Ø³Û Ù…Ø§ÛÛŒ
- 3Ø³Û Ù…Ø§ÛÛŒ
- 4Ø³Û Ù…Ø§ÛÛŒ
-
-
- Ù¾ÛÙ„ÛŒ Ø³Û Ù…Ø§ÛÛŒ
- دوسری Ø³Û Ù…Ø§ÛÛŒ
- ØªÙØ³Ø±ÛŒ Ø³Û Ù…Ø§ÛÛŒ
- چوتهی Ø³Û Ù…Ø§ÛÛŒ
-
-
-
- قبل Ø¯ÙˆÙ¾ÛØ±
- بعد Ø¯ÙˆÙ¾ÛØ±
-
-
- قبل Ù…Ø³ÙØ
- Ø¹ÙØ³ÙˆÛŒ سن
-
-
- Ù‚ Ù…
- Ø¹ÙØ³ÙˆÛŒ سن
-
-
-
-
-
- EEEE, d, MMMM y
-
-
-
-
- d, MMMM y
-
-
-
-
- d, MMM y
-
-
-
-
- d/M/yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- د
- HH:mm
- LL
- M-d
- E, M-d
- LLL
- MMM d
- E MMM d
- MMMM d
- E MMMM d
- mm:ss
- y
- yyyy-M
- EEE, yyyy-d-M
- y MMM
- EEE, y MMM d
- y MMMM
- Q yyyy
- y QQQ
- yy Q
-
-
- {0} – {1}
-
- d-d
-
-
- h a تا h a
- h–h a
-
-
- h:mm a تا h:mm a
- h:mm تا h:mm a
- h:mm تا h:mm a
-
-
- h:mm a – h:mm a v
- h:mm تا h:mm a v
- h:mm تا h:mm a v
-
-
- h a – h a v
- h تا h a v
-
-
- M تا M
-
-
- M/d تا d
- MM-dd تا MM-dd
-
-
- E, MMM dd – E, MMM dd
- E, MM-dd تا E, MM-dd
-
-
- LLL-LLL
-
-
- MMM d تا d
- MMM d تا MMM d
-
-
- E, MMM d – E, MMM d
- E, MMM d – E, MMM d
-
-
- LLLL-LLLL
-
-
- y تا y
-
-
- yyyy-MM تا MM
- yyyy-MM تا yyyy-MM
-
-
- yyyy-MM-dd تا dd
- yyyy-MM-dd تا MM-dd
- MM-dd-yyyy تا MM-dd-yyyy
-
-
- E, yyyy-MM-dd تا E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
- E, yyyy-MM-dd – E, yyyy-MM-dd
-
-
- MMM–MMM y
- MMM–MMM y
-
-
- MMM d–d, y
- MMM d تا MMM d, y
- MMM d, y تا MMM d, y
-
-
- E, MMM d – E, MMM d, y
- E, MMM d – E, MMM d, y
- E, MMM d, y تا E, MMM d, y
-
-
- yyyy-MM تا MM
- yyyy-MM تا yyyy-MM
-
-
-
-
-
- دور
-
-
- سال
-
-
- Ù…ÛینÛ
-
-
- ÛÙØªÛ
-
-
- دن
- ترسوں
- پرسوں
- Ú©Ù„
- آج
- Ú©Ù„
- پرسوں
- ترسوں
-
-
- ÛÙØªÛ’ کا دن
-
-
- رات/صبØ
-
-
- گھنٹÛ
-
-
- منٹ
-
-
- سیکنڈ
-
-
- زون
-
-
-
-
-
-
-
- Ù…ØØ±Ù…
- ØµÙØ±
- ر Ø¨ÙØ¹ الاول
- ر Ø¨ÙØ¹ الثانی
- جمادی الاول
- جمادی الثانی
- رجب
- شعبان
- رمضان
- شوال
-
-
-
-
-
- Ø¹ÙØ³ÙˆÛŒ سن
-
-
- Ù‚ Ù…
- CE
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
- Unknown
-
-
- انڈورا
-
-
- انگویلا
-
-
- اروبا
-
-
- بار باڈوس
-
-
- Ø¨ØØ±ÛŒÙ†
-
-
- برمودÛ
-
-
- برونائی
-
-
- بیلیز
-
-
- کوسٹا ریکا
-
-
- کیپ ورڈ
-
-
- جبوتی
-
-
- ڈومینیکا
-
-
- ÙØ¬ÛŒ
-
-
- غرناطÛ
-
-
- جبرالٹر
-
-
- گواڈیلوپ
-
-
- گوئٹے مالا
-
-
- گوام
-
-
- گیانا
-
-
- ÛØ§Ù†Ú¯ کانگ
-
-
- جمائیکا
-
-
- کویت
-
-
- لیگزمبرگ
-
-
- موناکو
-
-
- مکائو
-
-
- مارٹنیک
-
-
- مونٹ سراٹ
-
-
- مالٹا
-
-
- ماریشس
-
-
- مالدیپ
-
-
- نورو
-
-
- نیوئے
-
-
- پانامÛ
-
-
- پٹ کیرن
-
-
- پورٹو ریکو
-
-
- پالائو
-
-
- قطر
-
-
- ری یونین
-
-
- سنگاپور
-
-
- ایلسلواڈور
-
-
- مایوٹ
-
-
-
-
-
- .
- ,
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
- â€{0} {1} â€
-
-
-
- Ù…ØªØØ¯Û عرب اماراتی درÛÙ…
-
-
- ارجنٹائن پیسÛ
-
-
- آسٹریلین ڈالر
-
-
- بلغارین لیو
-
-
- بولیوین بولیویانو
-
-
- برازیلی ریئل
-
-
- کنیڈین ڈالر
-
-
- سوئس ÙØ±Ø§Ù†Ú©Ø³
-
-
- چلّین پیسÛ
-
-
- یوآن رینمنبی
-
-
- کولمبین پیسÛ
-
-
- چیک کرونا
-
-
- ڈچ مارکس
-
-
- ڈنمارک کرونر
-
-
- ایسٹونین کرون
-
-
- مصری پائونڈ
-
-
- یورو
-
-
- ÙØ±Ø§Ù†Ø³ÛŒØ³ÛŒ ÙØ±Ø§Ù†Ú©
-
-
- انگلستانی پاونڈ سٹرلنگ
-
-
- ھانگ کانگ ڈالر
-
-
- کروشین کونا
-
-
- Ûنگرین Ùورنٹ
-
-
- انڈونیشین روپیÛ
-
-
- اسرائیلی شیکل
-
-
- انڈین روپیÛ
-
-
- جاپانی ین
-
-
- جنوبی کوریائی جیتا۔
-
-
- لیتھوانی لیٹاس
-
-
- مراکشی درÛÙ…
-
-
- میکسیکی پیسÛ
-
-
- ملائیشین رنگٹ
-
-
- ناروے کرونر
-
-
- نیوزی لینڈ ڈالر
-
-
- پیروین نیووسول
-
-
- Ùلپائینی پیسÛ
-
-
- پاکستانی روپیÛ
- روپے
-
-
- پولش نیو زلوٹی
-
-
- نیا رومانیائی لیو
-
-
- سربین دینار
-
-
- روسی روبل
-
-
- سعودی ریال
-
-
- سویڈن کرونر
-
-
- سنگا پور ڈالر
-
-
- سلوانین ٹولر
-
-
- سلووک کرونا
-
-
- تھائی Ø¨Ø§ÛØª
-
-
- ترکی لیرا
-
-
- نیا ترکی لیرا
-
-
- نیو تائیوان ڈالر
-
-
- امریکی ڈالر
- ڈالر
-
-
- وینزویلا بولیور
-
-
- جنوبی Ø§ÙØ±ÛŒÙ‚ÛŒ رانڈ
-
-
-
-
-
- yes:y
- no:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ur_IN.xml b/airtime_mvc/library/Zend/Locale/Data/ur_IN.xml
deleted file mode 100644
index 4cd59474f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ur_IN.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- #,##,##0.###
-
-
-
-
-
-
- #,##,##0%
-
-
-
-
-
-
- ¤ #,##,##0.00
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ur_PK.xml b/airtime_mvc/library/Zend/Locale/Data/ur_PK.xml
deleted file mode 100644
index 57703ac5a..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ur_PK.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz.xml b/airtime_mvc/library/Zend/Locale/Data/uz.xml
deleted file mode 100644
index 920747e20..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz.xml
+++ /dev/null
@@ -1,234 +0,0 @@
-
-
-
-
-
-
-
-
-
- ĐÑ€Đ°Đ±Ñ‡Đ°
- ĐĐ»Đ¼Đ¾Đ½Ñ‡Đ°
- Đ˜Đ½Đ³Đ»Đ¸Đ·Ñ‡Đ°
- Đ˜ÑĐ¿Đ°Đ½Ñ‡Đ°
- Đ¤Ñ€Đ°Đ½Ñ†ÑƒĐ·Ñ‡Đ°
- ̉²Đ¸Đ½Đ´Ñ‡Đ°
- Đ˜Ñ‚Đ°Đ»ÑĐ½Ñ‡Đ°
- Đ¯Đ¿Đ¾Đ½Ñ‡Đ°
- ĐŸĐ¾Ñ€Ñ‚ÑƒĐ³Đ°Đ»Ñ‡Đ°
- Đ ÑƒÑÑ‡Đ°
- ĐĐ·Đ±ĐµĐº
- Đ¥Đ¸Ñ‚Đ¾Đ¹Ñ‡Đ°
-
-
-
-
-
-
-
- ĐÑ„̉“Đ¾Đ½Đ¸ÑÑ‚Đ¾Đ½
- Đ‘Ñ€Đ°Đ·Đ¸Đ»Đ¸Ñ
- Đ¥Đ¸Ñ‚Đ¾Đ¹
- ĐĐ»Đ¼Đ¾Đ½Đ¸Ñ
- Đ¤Ñ€Đ°Đ½Ñ†Đ¸Ñ
- Đ‘Đ¸Ñ€Đ»Đ°ÑˆĐ³Đ°Đ½ ̉Đ¸Ñ€Đ¾Đ»Đ»Đ¸Đº
- ̉²Đ¸Đ½Đ´Đ¸ÑÑ‚Đ¾Đ½
- Đ˜Ñ‚Đ°Đ»Đ¸Ñ
- Đ¯Đ¿Đ¾Đ½Đ¸Ñ
- Đ Đ¾ÑÑиÑ
- ̉ÑÑˆĐ¼Đ° Đ¨Ñ‚Đ°Ñ‚Đ»Đ°Ñ€
- ĐĐ·Đ±ĐµĐºĐ¸ÑÑ‚Đ¾Đ½
-
-
-
- [а-Đ³ ̉“ Đ´ е Ñ‘ ж-Đº ̉› Đ»-у Ñ Ñ„ Ñ… ̉³ ч ш Ñ Ñ-Ñ]
- [ц щ ы ь]
-
-
-
-
-
-
-
- Đ¯Đ½Đ²
- Đ¤ĐµĐ²
- ĐœĐ°Ñ€
- ĐĐ¿Ñ€
- ĐœĐ°Đ¹
- Đ˜ÑĐ½
- Đ˜ÑĐ»
- ĐĐ²Đ³
- Đ¡ĐµĐ½
- ĐĐºÑ‚
- ĐĐ¾Ñ
- Đ”ĐµĐº
-
-
- ĐœÑƒ̉³Đ°Ñ€Ñ€Đ°Đ¼
- Đ¡Đ°Ñ„Đ°Ñ€
- Đ Đ°Đ±Đ¸ÑƒĐ»-Đ°Đ²Đ²Đ°Đ»
- Đ Đ°Đ±Đ¸ÑƒĐ»-Đ¾Ñ…Đ¸Ñ€
- Đ–ÑƒĐ¼Đ¾Đ´Đ¸ÑƒĐ»-ÑƒĐ»Đ¾
- Đ–ÑƒĐ¼Đ¾Đ´Đ¸ÑƒĐ»-ÑƒÑ…Ñ€Đ¾
- Ражаб
- ШаÑĐ±Đ¾Đ½
- Đ Đ°Đ¼Đ°Đ·Đ¾Đ½
- Đ¨Đ°Đ²Đ²Đ¾Đ»
- Зил-̉›Đ°Ñда
- Зил-̉³Đ¸Đ¶Đ¶Đ°
-
-
-
-
- Đ¯
- Ф
- Đœ
- Đ
- Đœ
- Đ˜
- Đ˜
- Đ
- Đ¡
- Đ
- Đ
- Đ”
-
-
-
-
-
-
- Đ¯ĐºÑˆ
- Đ”ÑƒÑˆ
- Đ¡ĐµÑˆ
- Đ§Đ¾Ñ€
- ĐŸĐ°Đ¹
- Đ–ÑƒĐ¼
- Đ¨Đ°Đ½
-
-
- ÑĐºÑˆĐ°Đ½Đ±Đ°
- Đ´ÑƒÑˆĐ°Đ½Đ±Đ°
- ÑĐµÑˆĐ°Đ½Đ±Đ°
- Ñ‡Đ¾Ñ€ÑˆĐ°Đ½Đ±Đ°
- Đ¿Đ°Đ¹ÑˆĐ°Đ½Đ±Đ°
- Đ¶ÑƒĐ¼Đ°
- ÑˆĐ°Đ½Đ±Đ°
-
-
-
-
- Đ¯
- Đ”
- Đ¡
- Ч
- ĐŸ
- Đ–
- Ш
-
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
- yyyy/M
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
- کابل
-
-
-
- Ø§ÙØºØ§Ù†Ø³ØªØ§Ù† وقتی
-
-
-
-
-
-
- ,
- Â
-
-
-
- Đ‘Ñ€Đ°Đ·Đ¸Đ» Ñ€ĐµĐ°Đ»Đ¸
-
-
- Đ¥Đ¸Ñ‚Đ¾Đ¹ ÑĐ°Đ½Đ¸
-
-
- Đ•Đ²Ñ€Đ¾
-
-
- Đ˜Đ½Đ³Đ»Đ¸Đ· Ñ„ÑƒĐ½Ñ‚ ÑÑ‚ĐµÑ€Đ»Đ¸Đ½Đ³Đ¸
-
-
- ̉²Đ¸Đ½Đ´ Ñ€ÑƒĐ¿Đ¸ÑÑи
-
-
- Đ¯Đ¿Đ¾Đ½ Đ¹ĐµĐ½Đ°Ñи
-
-
- Đ ÑƒÑ Ñ€ÑƒĐ±Đ»Đ¸
-
-
- Đ̉Ш Đ´Đ¾Đ»Đ»Đ°Ñ€Đ¸
-
-
- ĐĐ·Đ±ĐµĐºĐ¸ÑÑ‚Đ¾Đ½ ÑÑĐ¼
- ÑÑĐ¼
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_AF.xml b/airtime_mvc/library/Zend/Locale/Data/uz_AF.xml
deleted file mode 100644
index 3c91fbdc9..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_AF.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_Arab.xml b/airtime_mvc/library/Zend/Locale/Data/uz_Arab.xml
deleted file mode 100644
index c81c03b9c..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_Arab.xml
+++ /dev/null
@@ -1,166 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- دری
- پشتو
- اۉزبÛÚ©
-
-
- Ø§ÙØºØ§Ù†Ø³ØªØ§Ù†
-
-
-
-
-
-
- [\u064B-\u0652 \u0654 \u0670 Ø¡-ؤ ئ-ب Ù¾ Ø©-Ø« Ù¼ ج Ú† Ø Ø® Ú Ú… د ذ Ú‰ ر ز Ú“ Ú– Ú˜ س Ø´ Ú Øµ-غ Ù Ù‚ Ú© Ú« Ú¯ Ù„-Ù† Ú¼ Ù‡ Ùˆ Û‡ Û‰ Ù ÛŒ Û Û]
- [\u200C \u200D]
-
-
-
-
-
-
-
- جنو
- ÙØ¨Ø±
- مار
- اپر
- مـی
- جون
- جول
- اگس
- سپت
- اکت
- نوم
- دسم
-
-
- جنوری
- ÙØ¨Ø±ÙˆØ±ÛŒ
- مارچ
- اپریل
- می
- جون
- جولای
- اگست
- سپتمبر
- اکتوبر
- نومبر
- دسمبر
-
-
-
-
-
-
- ی.
- د.
- س.
- Ú†.
- Ù¾.
- ج.
- Ø´.
-
-
- یکشنبه
- دوشنبه
- سه‌شنبه
- چهارشنبه
- پنجشنبه
- جمعه
- شنبه
-
-
-
-
-
- Ù‚.Ù….
- Ù….
-
-
-
-
-
- y نچی ییل d نچی MMMM EEEE کونی
-
-
-
-
- d نچی MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- yyyy/M/d
-
-
-
-
-
-
- H:mm:ss (zzzz)
-
-
-
-
- H:mm:ss (z)
-
-
-
-
- H:mm:ss
-
-
-
-
- H:mm
-
-
-
-
-
- M/d
- d نچی MMMM
-
-
-
-
-
-
- arabext
-
- ,
- .
- %
- 0
- −
- E
-
-
-
-
- #,##0.00 ¤
-
-
-
-
-
- Ø§ÙØºØ§Ù†ÛŒ
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_Arab_AF.xml b/airtime_mvc/library/Zend/Locale/Data/uz_Arab_AF.xml
deleted file mode 100644
index 3f1022d96..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_Arab_AF.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_Cyrl.xml b/airtime_mvc/library/Zend/Locale/Data/uz_Cyrl.xml
deleted file mode 100644
index fe9f64c0a..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_Cyrl.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_Cyrl_UZ.xml b/airtime_mvc/library/Zend/Locale/Data/uz_Cyrl_UZ.xml
deleted file mode 100644
index aa643a829..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_Cyrl_UZ.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_Latn.xml b/airtime_mvc/library/Zend/Locale/Data/uz_Latn.xml
deleted file mode 100644
index c86e6ba19..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_Latn.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- arabcha
- olmoncha
- inglizcha
- ispancha
- fransuzcha
- hindcha
- italyancha
- yaponcha
- portugalcha
- ruscha
- o'zbekcha
- xitoycha
-
-
-
-
-
-
- Afgʿoniston
- Braziliya
- Xitoy
- Olmoniya
- Fransiya
- Birlashgan Qirollik
- Hindiston
- Italiya
- Yaponiya
- Rossiya
- Qo'shma Shtatlar
- Oʿzbekiston
-
-
-
- [a-v x-z Ê¿]
-
-
-
-
-
-
-
- Yanv
- Fev
- Mar
- Apr
- May
- Iyun
- Iyul
- Avg
- Sen
- Okt
- Noya
- Dek
-
-
-
-
- Y
- F
- M
- A
- M
- I
- I
- A
- S
- O
- N
- D
-
-
-
-
-
-
- Yaksh
- Dush
- Sesh
- Chor
- Pay
- Jum
- Shan
-
-
- yakshanba
- dushanba
- seshanba
- chorshanba
- payshanba
- juma
- shanba
-
-
-
-
- Y
- D
- S
- C
- P
- J
- S
-
-
-
-
-
-
-
-
- Rabiul-avval
- Rabiul-oxir
- Jumodiul-ulo
- Jumodiul-uxro
- Shaʿbon
- Ramazon
- Shavvol
- Zil-qaʿda
- Zil-hijja
-
-
-
-
-
-
-
-
-
- Brazil reali
-
-
- Xitoy yuani
-
-
- Evro
-
-
- Ingliz funt sterlingi
-
-
- Hind rupiyasi
-
-
- Yapon yenasi
-
-
- Rus rubli
-
-
- AQSH dollari
-
-
- Oʿzbekiston soʿm
- soʿm
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_Latn_UZ.xml b/airtime_mvc/library/Zend/Locale/Data/uz_Latn_UZ.xml
deleted file mode 100644
index 732883a5b..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_Latn_UZ.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/uz_UZ.xml b/airtime_mvc/library/Zend/Locale/Data/uz_UZ.xml
deleted file mode 100644
index 30196daa9..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/uz_UZ.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ve.xml b/airtime_mvc/library/Zend/Locale/Data/ve.xml
deleted file mode 100644
index 3a1dd675f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ve.xml
+++ /dev/null
@@ -1,193 +0,0 @@
-
-
-
-
-
-
-
-
-
- Tshivenḓa
-
-
-
- [a b d ḓ e-i k l ḽ m n ṅ ṋ o p r-t ṱ u-z]
- [c j q]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Pha
- Luh
- á¹°ha
- Lam
- Shu
- Lwi
- Lwa
- á¹°ha
- Khu
- Tsh
- Ḽar
- Nye
-
-
- Phando
- Luhuhi
- á¹°hafamuhwe
- Lambamai
- Shundunthule
- Fulwi
- Fulwana
- á¹°hangule
- Khubvumedzi
- Tshimedzi
- Ḽara
- Nyendavhusiku
-
-
-
-
-
-
- Swo
- Mus
- Vhi
- Rar
- á¹a
- á¹°an
- Mug
-
-
- Swondaha
- Musumbuluwo
- Ḽavhuvhili
- Ḽavhuraru
- Ḽavhuṋa
- Ḽavhuṱanu
- Mugivhela
-
-
-
-
-
-
- K1
- K2
- K3
- K4
-
-
- Kotara ya u thoma
- Kotara ya vhuvhili
- Kotara ya vhuraru
- Kotara ya vhuṋa
-
-
-
-
-
- BC
- AD
-
-
-
-
-
- EEEE, y MMMM dd
-
-
-
-
- y MMMM d
-
-
-
-
- y MMM d
-
-
-
-
- yy/MM/dd
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
- Q yy
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/ve_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/ve_ZA.xml
deleted file mode 100644
index 49dc1c1c0..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/ve_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/vi.xml b/airtime_mvc/library/Zend/Locale/Data/vi.xml
deleted file mode 100644
index 6b9a629a1..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/vi.xml
+++ /dev/null
@@ -1,1055 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0} ({1})
- ,
-
-
- Tiếng Nam Phi
- Tiếng Amharic
- Tiếng A-ráºp
- Tiếng Assam
- Tiếng Aymara
- Tiếng Ai-dĂ©c-bai-gian
- Tiếng BĂª-la-rĂºt
- Tiếng Bun-ga-ri
- Tiếng Bihari
- Tiếng Bengali (Ấn Äá»™)
- Tiếng TĂ¢y Tạng
- Tiếng Breton
- Tiếng Nam Tư
- Tiếng Ca-ta-lăng
- Tiếng SĂ©c
- Tiếng Xentơ
- Tiếng Äan Mạch
- Tiếng Äức
- Tiếng Hy Lạp
- Tiếng Anh
- Tiếng Anh (Anh)
- Tiếng Anh (Mỹ)
- Tiếng Quốc Tế Ngữ
- Tiếng TĂ¢y Ban Nha
- Tiếng E-xtĂ´-ni-a
- Tiếng Basque
- Tiếng Ba Tư
- Tiếng Phần Lan
- Tiếng Philipin
- Tiếng Faore
- Tiếng PhĂ¡p
- Tiếng Frisian
- Tiếng Ai-len
- Tiếng Xentơ (Xcốt len)
- Tiếng Galician
- Tiếng Guarani
- Tiếng Gujarati
- Tiếng HĂª-brÆ¡
- Tiếng Hin-đi
- Tiếng CrĂ´-a-ti-a
- Tiếng Hung-ga-ri
- Tiếng Ăc-mĂª-ni
- Tiếng Khoa Há»c Quốc Tế
- Tiếng In-đô-nĂª-xia
- Tiếng Ai-xơ-len
- Tiếng Ă
- Tiếng Nháºt
- Tiếng Gia-va
- Tiếng Georgian
- Tiếng Campuchia
- Tiếng Kan-na-đa
- Tiếng HĂ n Quốc
- Tiếng Kashmiri
- Tiếng Kurd (Iran)
- Tiếng Kyrgyz
- Tiếng La-tinh
- Tiếng Lingala
- Tiếng LĂ o
- Tiếng LĂt-va
- Tiếng LĂ¡t-vi-a
- Tiếng Ma-xĂª-đô-ni-a
- Tiếng Malayalam
- Tiếng MĂ´ng Cổ
- Tiếng Marathi
- Tiếng Ma-lay-xi-a
- Tiếng Mantơ
- Tiếng NĂª-pan
- Tiếng HĂ Lan
- Tiếng Na Uy (Nynorsk)
- Tiếng Na Uy
- Tiếng Occitan
- Tiếng Ă”-ri-a
- Tiếng Punjabi
- Tiếng Ba Lan
- Tiếng Pa-tĂ´
- Tiếng Bồ ÄĂ o Nha
- Tiếng Bồ ÄĂ o Nha (Braxin)
- Tiếng Bồ ÄĂ o Nha (I-bĂª-ri)
- Tiếng Rhaeto-Romance
- Tiếng Ru-ma-ni
- Tiếng Nga
- Tiếng Phạn
- Tiếng Sin-hi
- Tiếng XĂ©c bi - Croatia
- Tiếng Sinhala
- Tiếng XlĂ´-vĂ¡c
- Tiếng XlĂ´-ven
- Tiếng XĂ´-ma-li
- Tiếng An-ba-ni
- Tiếng SĂ©c-bi
- Tiếng Sesotho
- Tiếng Xu đăng
- Tiếng Thụy Äiển
- Tiếng Bantu (ÄĂ´ng Phi)
- Tiếng Tamil
- Tiếng Telugu
- Tiếng ThĂ¡i
- Tiếng Tigrigya
- Tiếng TuĂ´c-men
- Tiếng Tagalog
- Tiếng Klingon
- Tiếng Thổ Nhĩ Kỳ
- Tiếng Twi
- Tiếng Uighur
- Tiếng U-crai-na
- und
- Tiếng Uđu
- Tiếng U-dơ-bếch
- Tiếng Việt
- Tiếng Wolof
- Tiếng Bantu
- Tiếng Y-đit
- Tiếng Trung Quốc
- Tiếng Trung Quốc (Giản thể)
- Tiếng Trung Quốc (Phồn thể)
- Tiếng Zulu
-
-
-
-
-
-
- Thế giới
- ChĂ¢u Phi
- Bắc Mỹ
- Nam Mỹ
- ChĂ¢u Äại Dương
- TĂ¢y Phi
- Trung Mỹ
- ÄĂ´ng PhĂ
- Bắc Phi
- Trung Phi
- Miá»n Nam ChĂ¢u Phi
- ChĂ¢u Mỹ
- Miá»n Bắc ChĂ¢u Mỹ
- Ca-ri-bĂª
- ÄĂ´ng Ă
- Nam Ă
- ÄĂ´ng Nam Ă
- Nam Âu
- Ăc vĂ New Zealand
- Melanesia
- VĂ¹ng Micronesian
- Polynesia
- Trung Nam Ă
- ChĂ¢u Ă
- Trung Ă
- TĂ¢y Ă
- Ă‚u ChĂ¢u
- ÄĂ´ng Ă‚u
- Miá»n Bắc ChĂ¢u Ă‚u
- TĂ¢y Ă‚u
- ChĂ¢u Mỹ La-tinh vĂ Ca-ri-be
- Andorra
- CĂ¡c Tiểu Vương quốc A-ráºp Thống nhất
- Ăp-ga-ni-xtan
- An-ti-gu-a và Ba-bu-đa
- An-ba-ni
- Ăc-mĂª-ni-a
- TĂ¢y Ấn HĂ Lan
- Ăng-gô-la
- Nam Cá»±c
- Ăc-hen-ti-na
- Äảo Somoa thuá»™c Mỹ
- Ăo
- Ăc
- Quần đảo Aland
- Ai-déc-bai-gian
- BĂ´-xni-a HĂ©c-xĂª-gĂ´-vi-na
- BĂ¡c-ba-đốt
- Băng-la-đét
- Bỉ
- Buốc-ki-na Pha-xô
- Bun-ga-ri
- Ba-ren
- Bu-run-đi
- BĂª-nanh
- BL
- Bru-nĂ¢y
- BĂ´-li-vi-a
- Bra-xin
- Ba-ha-ma
- Bu-tan (Bhutan)
- Äảo Bouvet (Na Uy)
- Bốt-xoa-na
- BĂª-la-rĂºt
- BĂª-li-xĂª
- Ca-na-đa
- Quần đảo Cocos
- Cá»™ng hoĂ dĂ¢n chá»§ CĂ´ngĂ´
- Cá»™ng hĂ²a Trung Phi
- CĂ´ng-gĂ´
- Thụy Sĩ
- Bá» Biển NgĂ
- Quần Äảo Cook
- Chi-lĂª
- Ca-mơ-run
- Trung Quốc
- CĂ´-lĂ´m-bi-a
- Cốt-xta Ri-ca
- Séc-bia
- Cu Ba
- CĂ¡p-ve
- Äảo GiĂ¡ng Sinh
- SĂp
- Cá»™ng hĂ²a SĂ©c
- Äức
- Gi-bu-ti
- Äan Mạch
- Cá»™ng hoĂ ÄĂ´-mi-ni-ca
- An-giĂª-ri
- Ă-cu-a-Ä‘o
- E-xtĂ´-ni-a
- Ai Cáºp
- TĂ¢y Sahara
- Ă-ri-tÆ¡-rĂª-a
- TĂ¢y Ban Nha
- Ă-ti-Ă´-pi-a
- Phần Lan
- Phi-gi
- Quần Äảo Falkland
- Mi-crĂ´-nĂª-xi-a
- Quần Äảo Faroe
- PhĂ¡p
- Ga-bĂ´ng
- Vương quốc Anh
- GrĂª-na-Ä‘a
- Gru-di-a
- Quiana thuá»™c PhĂ¡p
- Guernsey
- Gha-na
- Băng Äảo
- Găm-bi-a
- Ghi-nĂª
- Ghi-nĂª XĂch-đạo
- Hy Lạp
- Quần đảo Nam Georgia vĂ Nam Sandwich
- Goa-tĂª-ma-la
- Äảo Gu-am
- Ghi-nĂª BĂt-xao
- Guy-a-na
- Äặc khu hĂ nh chĂnh Hồng KĂ´ng thuá»™c CHND Trung Hoa
- Äảo Heard vĂ Quần đảo McDonald
- HĂ´n-Ä‘u-rĂ¡t
- CrĂ´-a-ti-a
- Ha-i-ti
- Hung-ga-ri
- Nam Dương
- Ai-len
- I-xra-en
- Äảo Man
- Ấn Äá»™
- Thuá»™c địa Anh tại Ấn Äá»™ Dương
- I-rắc
- I-ran
- Ai-xơ-len
- Ă
- Jersey
- Ha-mai-ca
- GiĂ³c-Ä‘a-ni
- Nháºt Bản
- KĂª-ni-a
- Cư-rơ-gư-xtan
- Campuchia
- Ki-ri-ba-ti
- CĂ´-mĂ´
- Xan-kĂt vĂ NĂª-vi
- Bắc Triá»u TiĂªn
- Hà n Quốc
- Cô-oét
- Quần Äảo Cayman
- Ka-dắc-xtan
- LĂ o
- Li-băng
- Xan Lu-xi
- Lich-ten-xtĂªn
- Xri Lan-ca
- Li-bĂª-ri-a
- LĂª-xĂ´-thĂ´
- Li-tu-a-ni-a
- LĂºc-xăm-bua
- LĂ¡t-vi-a
- Li-bi
- Ma-rốc
- MĂ´-na-cĂ´
- Môn-đô-va
- Montenegro
- MF
- Ma-Ä‘a-gĂ¡t-xca
- Quần đảo MĂ¡c-san
- Ma-xĂª-đô-ni-a
- Ma-li
- Mi-an-ma
- Mông Cổ
- Äặc khu hĂ nh chĂnh Macao thuá»™c CHND Trung Hoa
- Quần Äảo Bắc Mariana
- MQ
- MĂ´-ri-ta-ni
- Man-ta
- MĂ´-ri-xÆ¡
- Man-đi-vơ
- Ma-la-uy
- MĂª-hi-cĂ´
- Ma-lay-xi-a
- MĂ´-dăm-bĂch
- Nam-mi-bi-a
- New Caledonia
- Ni-giĂª
- Äảo Norfolk
- Ni-giĂª-ri-a
- Ni-ca-ra-goa
- HĂ Lan
- Na Uy
- NĂª-pan
- Niu Di-lĂ¢n
- Ă”-man
- Pa-na-ma
- PĂª-ru
- Polynesia thuá»™c PhĂ¡p
- Pa-pu-a Niu Ghi-nĂª
- Phi-lip-pin
- Pa-ki-xtan
- Ba Lan
- Saint Pierre vĂ Miquelon
- LĂ£nh thổ Palestine
- Bồ ÄĂ o Nha
- Pa-ra-goay
- Ca-ta
- VĂ¹ng xa xĂ´i thuá»™c ChĂ¢u Äại Dương
- LiĂªn Minh ChĂ¢u Ă‚u
- RE
- Ru-ma-ni
- Xéc-bi
- Nga
- Ru-an-đa
- A-ráºp XĂª-Ăºt
- Quần đảo XĂ´-lĂ´-mĂ´ng
- XĂ¢y-sen
- Xu-đăng
- Thụy Äiển
- Xin-ga-po
- Saint Helena
- XlĂ´-ven-ni-a
- Svalbard vĂ Jan Mayen
- XlĂ´-va-ki-a
- Xi-Ăª-ra LĂª-Ă´n
- Xan Ma-ri-nĂ´
- XĂª-nĂª-gan
- XĂ´-ma-li
- Xu-ri-nam
- Xao TĂ´-mĂª vĂ Prin-xi-pĂª
- En-san-va-đo
- Xi-ri
- Xoa-di-len
- Quần Äảo Turk vĂ Caicos
- SĂ¡t
- Thuá»™c Äịa Nam cá»§a PhĂ¡p
- TĂ´-gĂ´
- ThĂ¡i Lan
- TĂ¡t-gi-ki-xtan
- Tokelau
- ÄĂ´ng Ti-mo
- Tuốc-mĂª-ni-xtan
- Tuy-ni-di
- TĂ´ng-ga
- Thổ Nhĩ Kỳ
- Tri-ni-Ä‘Ă¡t vĂ TĂ´-ba-gĂ´
- Tu-va-lu
- ÄĂ i Loan
- Tan-da-ni-a
- U-crai-na
- U-gan-đa
- CĂ¡c đảo nhá» xa trung tĂ¢m thuá»™c Mỹ
- Hoa Kỳ
- U-ru-goay
- U-dÆ¡-bĂª-ki-xtan
- Va-ti-căng
- Xan Vin-xen vĂ GrĂª-na-din
- VĂª-nĂª-zu-Ăª-la
- Äảo Virgin, thuá»™c Anh
- Quần đảo Virgin, Mỹ
- Việt Nam
- Va-nu-a-tu
- Wallis vĂ Futuna
- Xa-moa
- Y-Ăª-men
- YT
- Nam Phi
- Dăm-bi-a
- Dim-ba-bu-Ăª
- VĂ¹ng Chưa biết hoặc khĂ´ng Hợp lệ
-
-
- gregorian
-
-
- NgĂ´n ngữ: {0}
- Chữ viết: {0}
- VĂ¹ng: {0}
-
-
-
- [a Ă áº£ Ă£ Ă¡ ạ ă ằ ẳ ẵ ắ ặ Ă¢ ầ ẩ ẫ ấ Ạb-d Ä‘ e è ẻ ẽ Ă© ẹ Ăª Ỡể á»… ế ệ f-i ì ỉ Ä© à ị j-o Ă² Ỡõ Ă³ á» Ă´ ồ ổ á»— ố á»™ Æ¡ Ỡở ỡ á»› ợ p-u Ă¹ á»§ Å© Ăº ụ ư ừ Ỡữ ứ á»± v-y ỳ á»· ỹ Ă½ ỵ z]
- []
- [a-d Ä‘ e-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
-
-
- thg 1
- thg 2
- thg 3
- thg 4
- thg 5
- thg 6
- thg 7
- thg 8
- thg 9
- thg 10
- thg 11
- thg 12
-
-
- thĂ¡ng má»™t
- thĂ¡ng hai
- thĂ¡ng ba
- thĂ¡ng tư
- thĂ¡ng năm
- thĂ¡ng sĂ¡u
- thĂ¡ng bảy
- thĂ¡ng tĂ¡m
- thĂ¡ng chĂn
- thĂ¡ng mưá»i
- thĂ¡ng mưá»i má»™t
- thĂ¡ng mưá»i hai
-
-
-
-
-
-
- CN
- Th 2
- Th 3
- Th 4
- Th 5
- Th 6
- Th 7
-
-
- Chá»§ nháºt
- Thứ hai
- Thứ ba
- Thứ tư
- Thứ năm
- Thứ sĂ¡u
- Thứ bảy
-
-
-
- SA
- CH
-
-
- tr. CN
- sau CN
-
-
-
-
-
- EEEE, 'ngĂ y' dd MMMM 'năm' y
-
-
-
-
- 'NgĂ y' dd 'thĂ¡ng' M 'năm' y
-
-
-
-
- dd-MM-yyyy
-
-
-
-
- dd/MM/yyyy
-
-
-
-
-
-
- HH:mm:ss zzzz
-
-
-
-
- HH:mm:ss z
-
-
-
-
- HH:mm:ss
-
-
-
-
- HH:mm
-
-
-
-
-
-
- {0} {1}
-
-
-
-
- {0} {1}
-
-
-
-
- {0} {1}
-
-
-
-
- {0} {1}
-
-
-
- H
- HH:mm
- HH:mm:ss
- d-M
- E, d-M
- dd-MM
- d MMM
- E d MMM
- d MMMM
- E d MMMM
- mm:ss
- EEE, d-M-yyyy
- MMM y
- EEE, d MMM y
- MMMM y
- Q yyyy
- QQQ y
- Q yy
- y
- MM-yyyy
-
-
- {0} - {1}
-
- 'NgĂ y' d-d
-
-
- HH'h' - HH'h'
- HH'h' - HH'h'
-
-
- HH:mm-HH:mm
- HH:mm-HH:mm
-
-
- HH:mm-HH:mm v
- HH:mm-HH:mm v
-
-
- HH'h'-HH'h' v
- HH'h'-HH'h' v
-
-
- 'ThĂ¡ng' M - 'ThĂ¡ng' M
-
-
- dd/MM - dd/MM
- dd/MM - dd/MM
-
-
- EEEE, dd/MM - EEEE, dd/MM
- EEEE, dd/MM - EEEE, dd/MM
-
-
- MMM-MMM
-
-
- 'NgĂ y' dd 'thĂ¡ng' M - 'NgĂ y' dd 'thĂ¡ng' M
- 'NgĂ y' dd 'thĂ¡ng' M - 'NgĂ y' dd 'thĂ¡ng' M
-
-
- EEEE, 'ngĂ y' dd - EEEE, 'ngĂ y' dd 'thĂ¡ng' M
- EEEE, 'ngĂ y' dd 'thĂ¡ng' M - EEEE, 'ngĂ y' dd 'thĂ¡ng' M
-
-
- y-y
-
-
- MM/yyyy - MM/yyyy
- MM/yyyy - MM/yyyy
-
-
- dd/MM/yyyy - dd/MM/yyyy
- dd/MM/yyyy - dd/MM/yyyy
- dd/MM/yyyy - dd/MM/yyyy
-
-
- EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy
- EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy
- EEEE, dd/MM/yyyy - EEEE, dd/MM/yyyy
-
-
- 'ThĂ¡ng' M - 'ThĂ¡ng' M 'năm' y
- 'ThĂ¡ng' M 'năm' y - 'ThĂ¡ng' M 'năm' y
-
-
- 'NgĂ y' dd 'thĂ¡ng' M - 'NgĂ y' dd 'thĂ¡ng' M 'năm' y
- 'NgĂ y' dd 'thĂ¡ng' M - 'NgĂ y' dd 'thĂ¡ng' M 'năm' y
- 'NgĂ y' dd 'thĂ¡ng' M 'năm' y - 'NgĂ y' dd 'thĂ¡ng' M 'năm' y
-
-
- EEEE, 'ngĂ y' dd MMM - EEEE, 'ngĂ y' dd MMM 'năm' y
- EEEE, 'ngĂ y' dd MMM - EEEE, 'ngĂ y' dd MMM 'năm' y
- EEEE, 'ngĂ y' dd MMM 'năm' y - EEEE, 'ngĂ y' dd MMM 'năm' y
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
- {1} ({0})
-
- Không rõ
-
-
- Andorra Time
-
-
- Dumont D'Urville
-
-
- Barbados Time
-
-
- Bahrain Time
-
-
- Belize Time
-
-
- Costa Rica Time
-
-
- Cape Verde Time
-
-
- Djibouti Time
-
-
- Dominica Time
-
-
- Quần Äảo Canary
-
-
- Fiji Time
-
-
- Grenada Time
-
-
- South Georgia and the South Sandwich Islands Time
-
-
- Guatemala Time
-
-
- Guyana Time
-
-
- Hong Kong SAR China Time
-
-
- Jamaica Time
-
-
- Saint Kitts and Nevis Time
-
-
- Kuwait Time
-
-
- Laos Time
-
-
- Saint Lucia Time
-
-
- Luxembourg Time
-
-
- Monaco Time
-
-
- Malta Time
-
-
- Mauritius Time
-
-
- Maldives Time
-
-
- Nauru Time
-
-
- Panama Time
-
-
- Palau Time
-
-
- Qatar Time
-
-
- Singapore Time
-
-
- El Salvador Time
-
-
- Taiwan Time
-
-
- Saint Vincent and the Grenadines Time
-
-
- U.S. Virgin Islands Time
-
-
- GiỠViệt Nam
-
-
-
-
-
- ,
- .
- ;
- %
- 0
- #
- +
- -
- E
- ‰
- âˆ
- NaN
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- #,##0.00 ¤
-
-
- {0} {1}
-
-
-
- Äiram UAE
-
-
- Lép Bungari
-
-
- BRL
-
-
- Franc Thụy sĩ
-
-
- CNY
-
-
- Crun ExtĂ´nia
-
-
- Euro
-
-
- ÄĂ´-la Fi-ji
-
-
- Franc PhĂ¡p
-
-
- Bảng Anh
-
-
- Lari Georgia
-
-
- Cedi Ghana (1979-2007)
-
-
- Cedi Ghana
-
-
- Pao Gibraltar
-
-
- Franc Guinea
-
-
- Syli Guinea
-
-
- Drachma Hy Lạp
-
-
- Quetzal Guatemala
-
-
- Peso Guinea-Bissau
-
-
- ÄĂ´-la Guyana
-
-
- ÄĂ´-la Hồng KĂ´ng
-
-
- Honduras Lempira
-
-
- Gourde Haiti
-
-
- PhĂ´rin Hungari
-
-
- Rupia InđônĂªxia
-
-
- Pao Ai-len
-
-
- Pao Ixraen
-
-
- SĂªken Ixraen
-
-
- Rupi Ấn Äá»™
-
-
- Dinar I-rắc
-
-
- Rial I-ran
-
-
- Lia Ă
-
-
- ÄĂ´ la Jamaica
-
-
- Dinar Jordan
-
-
- YĂªn Nháºt
-
-
- Si-ling KĂª-ny-a
-
-
- Won Hà n Quốc
-
-
- Kazakhstan Tenge
-
-
- Litat Lituani
-
-
- Äiaham Marốc
-
-
- Lia xứ Man-tơ
-
-
- Peso MĂªhicĂ´
-
-
- Rinhgit Malaixia
-
-
- Curon Na Uy
-
-
- ÄĂ´-la New Zealand
-
-
- Nuevo Sol PĂªru
-
-
- Peso PhilĂppin
-
-
- Rupi Pakistan
-
-
- Zloty Ba Lan
-
-
- LĂ¢y Rumani
-
-
- Äina XĂ©c-bi
-
-
- RĂºp Nga
-
-
- Rian Ả ráºp XĂªĂºt
-
-
- Cua-ron Thuỵ Äiển
-
-
- ÄĂ´-la Singapore
-
-
- TĂ´la XlĂ´vĂªnia
-
-
- Cuaron XlĂ´vĂ¡c
-
-
- Bạt ThĂ¡i Lan
-
-
- Lia Thổ Nhĩ Kỳ
-
-
- Lia Thổ Nhĩ Kỳ Mới
-
-
- ÄĂ´-la ÄĂ i Loan
-
-
- RĂºp U-crai-na
-
-
- ÄĂ´-la Mỹ
-
-
- BĂ´liva VĂªnĂªduĂªla
-
-
- đồng
-
-
- VĂ ng
-
-
- Tiá»n tệ chưa biết hoặc khĂ´ng hợp lệ
-
-
- Ran Nam Phi
-
-
-
-
-
- {0} ngĂ y
-
-
- {0} giá»
-
-
- {0} phĂºt
-
-
- {0} thĂ¡ng
-
-
- {0} giĂ¢y
-
-
- {0} tuần
-
-
- {0} năm
-
-
-
-
- yes:y
- no:n
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/vi_VN.xml b/airtime_mvc/library/Zend/Locale/Data/vi_VN.xml
deleted file mode 100644
index 9d7be62eb..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/vi_VN.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/wal.xml b/airtime_mvc/library/Zend/Locale/Data/wal.xml
deleted file mode 100644
index d71deb0a9..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/wal.xml
+++ /dev/null
@@ -1,348 +0,0 @@
-
-
-
-
-
-
-
-
-
- á‹áˆá‰¢á›
- ጀáˆáˆ˜á•
- á¥á•áŒáˆá‹á›
- ስá“á’ሽ
- áˆáˆ¨á•ሳá‹á›
- áˆá•ድá›
- ጣáˆá‹«á•á›
- ጃá“á•á›
- á–áˆá‰±áŒ‹áˆá›
- ራሽá›
- ወላá‹á‰³á‰±
- ቻá‹á•á›
-
-
-
-
-
- á á•ዶራ
- የተባበሩት á ረብ á¤áˆáˆ¬á‰µáˆµ
- á áˆá‰£á’á‹«
- á áˆáˆœá’á‹«
- á”ዘáˆáˆ‹á•ድስ á á•ቲáˆáˆµ
- á áˆáŒ€á•ቲá“
- á¦áˆµá‰µáˆªá‹«
- á á‹áˆµá‰µáˆ¬áˆá‹«
- á ዘáˆá‰£áŒƒá•
- ቦስá’á‹« á¥á“ ሄáˆá‹áŒá‰ªá’á‹«
- ባáˆá‰¤á‹¶áˆµ
- ቤáˆáŒ„áˆ
- ቡáˆáŒŒáˆªá‹«
- ባህሬá•
- ቤáˆáˆ™á‹³
- ቦáˆá‰ªá‹«
- ብራá‹áˆ
- ቡህታá•
- ቤላሩስ
- ቤáˆá‹˜
- á®á•áŒ
- የመá«á¨áˆˆá›á‹ á áሪ᫠ሪáብáˆá
- ስá‹á‹˜áˆáˆ‹á•ድ
- ቺáˆ
- á«áˆœáˆ©á•
- ቻá‹á“
- á®áˆáˆá‰¢á‹«
- ሰáˆá‰¢á‹«
- á¬á• ቬáˆá‹´
- ሳá‹á•ረስ
- ቼá ሪá‘ብáˆá
- ጀáˆáˆ˜á•
- á‹´á•ማáˆá
- á‹¶áˆá’á«
- á‹¶áˆá’á ሪá‘ብáˆá
- á áˆáŒ„ሪያ
- á¢á³á‹¶áˆ
- á¤áˆµá‰¶á’á‹«
- áŒá‰¥áŒ½
- áˆá‹•ራባዠሳህራ
- á¤áˆá‰µáˆ«
- ስá”á•
- á¢á‰µá‹®áŒµá‹«
- áá•ላá•ድ
- áጂ
- áˆáሮá”ዢያ
- áˆáˆ¨á•ሳá‹
- á¥á•áŒáˆá‹
- ጆáˆáŒ‚á‹«
- የáˆáˆ¨á•ሳዠጉá‹á á“
- ጋáˆá‰¢á‹«
- áŒá’
- á¢á³á‰¶áˆªá‹«áˆ áŒá’
- áŒáˆªá
- ቢሳá‹
- ጉያá“
- ሆá•ጠá®á•áŒ
- áሮá¤áˆ½á‹«
- ሀá‹á‰²
- ሀá•ጋሪ
- á¢á•á‹¶á”ዢያ
- á የáˆáˆ‹á•ድ
- á¥áˆµáˆ«á¤áˆ
- ህá•ድ
- á¢áˆ«á‰…
- á á‹áˆµáˆ‹á•ድ
- ጣáˆá‹«á•
- ጃማá‹á«
- ጆáˆá‹³á•
- ጃá“á•
- á«áˆá‰¦á‹²á‹«
- á®áˆáˆ®áˆµ
- ደቡብ á®áˆªá‹«
- ሰሜᕠá®áˆªá‹«
- áዌት
- áˆá‰£á–ስ
- áˆá‰±á‹Œá’á‹«
- ላትቪያ
- áˆá‰¢á‹«
- áˆáˆ®á®
- áˆáˆá‹¶á‰«
- ማá¨á‹¶á’á‹«
- áˆá•áŒáˆá‹«
- ማá«á‹
- áˆáˆªá‰´á’á‹«
- ማáˆá‰³
- ማሩሸስ
- ሜáሲá®
- ማሌዢያ
- á“áˆá‰¢á‹«
- á’á‹ á«áˆŒá‹¶á’á‹«
- á“á‹áŒ„ሪያ
- á”ዘáˆáˆ‹á•ድ
- á–áˆá‹Œ
- á”á“áˆ
- á’á‹ á‹áˆ‹á•ድ
- á”ሩ
- የáˆáˆ¨á•ሳዠá–áˆá”ዢያ
- á“á‘á‹‹ á’á‹ áŒá’
- á–ላá•ድ
- á–áˆá‰³ ሪá®
- ሮሜá’á‹«
- ራሺያ
- ሳá‹á‹µá ረቢያ
- ሱዳá•
- ስá‹á‹µá•
- ሲá•ጋá–áˆ
- ስáˆá‰¬á’á‹«
- ስáˆá‰«áªá‹«
- ሴá”ጋáˆ
- ሱማሌ
- ሲሪያ
- ቻድ
- የáˆáˆ¨á•ሳዠደቡባዠáŒá‹›á‰¶á‰½
- ታá‹áˆ‹á•ድ
- ታጃáªáˆµá‰³á•
- áˆáˆµáˆ«á‰… ቲáˆáˆ
- ቱá’á‹á‹«
- ቱáˆá
- ትሪá’ዳድ á¥á“ ቶባáŒ
- ታá•á‹›á’á‹«
- ዩጋá•ዳ
- á ሜሪá«
- á‹©á‹á‰ áªáˆµá‰³á•
- ቬá•ዙዌላ
- የá¥á•áŒáˆá‹ ድá•áŒáˆ ደሴቶች
- የá ሜሪ᫠ቨáˆáŒ‚ᕠደሴቶች
- የመá•
- ደቡብ á áሪá«
- á‹›áˆá‰¢á‹«
-
-
-
- [\u135F á-ᙠሀ-ሠⶀ áˆ-ሟ á€-რⶠሠ-ሯ â¶‚ ሰ-ሷ ⶃ ሸ-ሿ â¶„ ቀ-ቈ á‰-በá‰-ቖ ቘ á‰-በበ-ቧ á„-ᇠⶅ ቨ-ቷ ⶆ ቸ-ቿ ⶇ á€-ሠá-á á-ᗠⶈ á˜-០ⶉ á -á§ â¶ á¨-á° á²-áµ á¸-á¾ á‹€ á‹‚-á‹… ወ-á‹– ዘ-ዟ â¶‹ á‹ -á‹· â¶Œ ዸ-á‹¿ ⶠጀ-ጇ ⶠገ-ጠጒ-ጕ ጘ-ጟ â¶“-â¶– ጠ-ጧ ⶠጨ-ጯ ⶠጰ-ጷ â¶‘ ጸ-á áˆ-á‹ á-á— áŒ-á â¶’ á˜-á â¶ -ⶦ ⶨ-â¶® â¶°-â¶¶ ⶸ-â¶¾ â·€-â·† â·ˆ-â· â·-â·– â·˜-â·]
-
-
-
-
-
-
-
- ጃá•á‹©
- áŒá‰¥áˆ©
- ማáˆá‰½
- á¤á•ረ
- ሜá‹
- áŒá•
- áŒáˆ‹á‹
- á¦áŒˆáˆµ
- ሴá•ቴ
- á¦áተ
- á–ቬáˆ
- ዲሴáˆ
-
-
- ጃá•ዩወሪ
- áŒá‰¥áˆ©á‹ˆáˆª
- ማáˆá‰½
- á¤á•ረáˆ
- ሜá‹
- áŒá•
- áŒáˆ‹á‹
- á¦áŒˆáˆµá‰µ
- ሴá•ቴáˆá‰ áˆ
- á¦áተá‹á‰ áˆ
- á–ቬáˆá‰ áˆ
- ዲሴáˆá‰ áˆ
-
-
-
-
- ጃ
- áŒ
- ማ
- á¤
- ሜ
- áŒ
- áŒ
- á¦
- ሴ
- á¦
- á–
- ዲ
-
-
-
-
-
-
- ወጋ
- ሳá‹á–
- ማቆሳá›
- á ሩዋ
- ሃሙሳ
- á áˆá‰£
- ቄራ
-
-
-
-
- ወ
- ሳ
- ማ
- á
- ሃ
- á
- ቄ
-
-
-
- ማለዶ
- ቃማ
-
-
- á ዳ á‹á‹´
- áŒáˆ®á‰°á‰³ ላá‹á‰³
-
-
-
-
-
- EEEEᥠdd MMMM ጋላሳ y G
-
-
-
-
- dd MMMM y
-
-
-
-
- dd-MMM-y
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
- dd/MM
- dd MMMM
- MM/yy
- Q yy
- MMMM y
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ’
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- የብራá‹áˆ ሪáˆ
-
-
- የቻá‹á“ á‹©á ᕠረá•áˆá•ቢ
-
-
- የá¢á‰µá‹®áŒµá‹« ብáˆ
-
-
- á á‹áˆ®
-
-
- የá¥á•áŒáˆá‹ á“á‹á•ድ ስተáˆáˆá•áŒ
-
-
- የሕá•ድ ሩá’
-
-
- የጃá“ᕠየá•
-
-
- የራሻ ሩብáˆ
-
-
- የá ሜሪá«á• ዶላáˆ
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/wal_ET.xml b/airtime_mvc/library/Zend/Locale/Data/wal_ET.xml
deleted file mode 100644
index 26c527a99..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/wal_ET.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/wo.xml b/airtime_mvc/library/Zend/Locale/Data/wo.xml
deleted file mode 100644
index ee1c52bf3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/wo.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
- Danwaa
- Almaa
- Angale
- Españool
- Finlaande
- Fraañse
- Itaaliee
- Jappone
- Olaande
- Norweejiee
- Portugees
- Suweedwaa
-
-
-
- [a Ă b-e Ă© Ă« f g i-n ñ Å‹ o Ă³ p-u w-y]
- [Ă£ h v z]
- [a-z]
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/wo_Latn.xml b/airtime_mvc/library/Zend/Locale/Data/wo_Latn.xml
deleted file mode 100644
index fc7eded0f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/wo_Latn.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/wo_Latn_SN.xml b/airtime_mvc/library/Zend/Locale/Data/wo_Latn_SN.xml
deleted file mode 100644
index d23038bc7..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/wo_Latn_SN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/wo_SN.xml b/airtime_mvc/library/Zend/Locale/Data/wo_SN.xml
deleted file mode 100644
index b6c400f1f..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/wo_SN.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/xh.xml b/airtime_mvc/library/Zend/Locale/Data/xh.xml
deleted file mode 100644
index 77fa96cde..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/xh.xml
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
-
-
-
-
-
- isiBhulu
- Isi-Amharic
- Isi-Arabic
- isiAssamese
- Isi-Azerbaijani
- Isi-Belarusian
- Isi-Bulgaria
- Isi-Bihari
- Isi-Bengali
- Breton
- Isi-Bosnia
- Isi-Calatan
- Isi-Czech
- Isi-Welsh
- Isi-Danish
- Isi-German
- Isi-Greek
- isiNgesi
- Isi-Esperanto
- Isi-Spanish
- Isi-Estonian
- Isi-Basque
- Isi-Persia
- Isi-Finnish
- Isi-Taglog
- Isi-Faroese
- Isi-French
- Isi-Frisian
- Isi-Irish
- Scots Gaelic
- Isi-Galician
- Guarani
- Isi-Gujarati
- Isi-Hebrew
- Isi-Hindi
- Isi-Croatia
- Isi-Hungarian
- isiArmenian
- Interlingua
- Isi-Indonesian
- isiInterlingue
- Isi-Icelandic
- Isi-Italian
- Isi-Japanese
- Isi-Javanese
- Isi-Georgia
- isiCambodia
- Isi-Kannada
- Isi-Korean
- Kurdish
- Kyrgyz
- Isi-Latin
- Iilwimi
- IsiLoathian
- Isi-Lithuanian
- Isi-Latvian
- Isi-Macedonian
- Isi-Malayalam
- IsiMongolian
- Isi-Marathi
- Isi-Malay
- Isi-Maltese
- Isi-Nepali
- Isi-Dutch
- Isi-Norwegia (Nynorsk)
- Isi-Norwegian
- Iso-Occitan
- Oriya
- Isi-Punjabi
- Isi-Polish
- Pashto
- Isi-Portuguese
- portokugusseee
- Isi-Portuguese (Portugal)
- Isi-Romanian
- Isi-Russian
- iSanskrit
- isiSindhi
- Serbo-Croatian
- Isi-Sinhalese
- Isi-Slovak
- Isi-Slovenian
- IsiSomaliya
- Isi-Albania
- Isi-Serbia
- Sesotho
- Isi-Sudanese
- Isi-Swedish
- Isi-Swahili
- Isi-Tamil
- Isi-Telegu
- Isi-Thai
- Isi-Tigrinya
- Turkmen
- Klingon
- Isi-Turkish
- Twi
- Isi Uighur
- Isi-Ukranian
- Urdu
- Isi-Uzbek
- Isi-Vietnamese
- isiXhosa
- Yiddish
- isiZulu
-
-
-
- [a-z]
- []
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Jan
- Feb
- Mat
- Epr
- Mey
- Jun
- Jul
- Aga
- Sep
- Okt
- Nov
- Dis
-
-
- Janyuwari
- Februwari
- Matshi
- Epreli
- Meyi
- Juni
- Julayi
- Agasti
- Septemba
- Okthoba
- Novemba
- Disemba
-
-
-
-
-
-
- Caw
- Mvu
- Bin
- Tha
- Sin
- Hla
- Mgq
-
-
- Cawe
- Mvulo
- Lwesibini
- Lwesithathu
- Lwesine
- Lwesihlanu
- Mgqibelo
-
-
-
-
-
-
- Q1
- Q2
- Q3
- Q4
-
-
- 1 unyangantathu
- 2 unyangantathu
- 3 unyangantathu
- 4 unyangantathu
-
-
-
-
-
- BC
- umnyaka wokuzalwa kukaYesu
-
-
- BC
- AD
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
-
- ewe:e
- hayi:h
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/xh_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/xh_ZA.xml
deleted file mode 100644
index 83e46fa6e..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/xh_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/yo.xml b/airtime_mvc/library/Zend/Locale/Data/yo.xml
deleted file mode 100644
index 9e055d5bd..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/yo.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-
-
-
-
-
-
-
-
-
- Ede Afrikani
- Ede Amharic
- Ede Arabia
- Ti Assam
- Ede Azerbaijani
- Ede Belarusi
- Ede Bulgaria
- Ede Bihari
- Ede Bengali
- Bretoni
- Ede Bosnia
- Ede Catala
- Orile-ede Tseki
- Ede Welshi
- Ăˆdè Ilẹ̀€ Denmark
- Ăˆdè Ilẹ̀€ Germany
- giriki
- Ăˆdè Gẹ̀€áº¹̀sì
- Ede Esperanto
- Panyan
- Ede Estonia
- Ede Baski
- Ede Persia
- Finisi
- Ede Tagalogi
- Ede Faroesi
- Ăˆdè FaransĂ©
- Ede Frisia
- Ede Ireland
- Ede Gaelik ti Ilu Scotland
- Ede Galicia
- Guarani
- Ede Gujarati
- Heberu
- Ede Hindi
- Ede Kroatia
- Ede Hungaria
- Ile Armenia
- Ede pipo
- Ede Indonesia
- Iru Ede
- Ede Icelandic
- Italiani
- Japanisi
- Ede Javana
- Ede Georgia
- Cambodian
- Ede Kannada
- Korean
- Kurdish
- Kyrgyz
- Ede Latini
- Ta
- ara Laos
- Ede Lithuania
- Ede Latvianu
- Ede Macedonia
- Ede Malayalami
- ara Mangoli
- Ede marathi
- Ede Malaya
- Ede Malta
- Ede Nepali
- Ede Dutch
- Ede Norway
- Ede Occitani
- Oriya
- Ede Punjabi
- Ăˆdè Ilẹ̀€ Polandi
- Pashto
- Ede Portugi
- Ede Portugal
- Ede Romania
- Ede Roosia
- ede awon ara Indo
- Sindhi
- Serbo-Croatiani
- Ede Sinhalese
- Ede Slovaki
- Ede Slovenia
- ara Somalia
- Ede Albania
- Ede Serbia
- Sesoto
- Ede Sudani
- suwidiisi
- Ede Swahili
- Ede Tamili
- Ede Telugu
- Ede Thai
- Ede Tigrinya
- Turkmen
- Ede Klingoni
- Ede Turkey
- Twi
- Uighur
- Ede Ukrani
- Ede Urdu
- Ede Uzbek
- Ede Vietnamu
- Ede Xhosa
- Yiddishi
- YorĂ¹bĂ¡
- Ede Zulu
-
-
- BW
- NG
- Tonga
-
-
- Metric
- US
-
-
-
- [a Ă¡ Ă b d e Ă© è ẹ {ẹ\u0301} {ẹ\u0300} f g {gb} h i à ì j-o Ă³ Ă² á» {á»\u0301} {á»\u0300} p r s á¹£ t u Ăº Ă¹ w y]
- [c q v x z]
-
-
-
-
-
-
-
- Ṣẹ̀rẹ̀
- Ăˆrèlè
- Ẹrẹ̀€nĂ
- ĂŒgbĂ©
- Ẹ̀€bibi
- Ă’kĂºdu
- Agẹmá»
- Ă’gĂºn
- Owewe
- Ọ̀€wĂ rĂ
- BĂ©lĂº
- Ọ̀€pẹ̀€
-
-
- Oá¹£Ă¹ Ṣẹ̀rẹ̀
- Oá¹£Ă¹ Ăˆrèlè
- Oá¹£Ă¹ Ẹrẹ̀€nĂ
- Oá¹£Ă¹ ĂŒgbĂ©
- Oá¹£Ă¹ Ẹ̀€bibi
- Oá¹£Ă¹ Ă’kĂºdu
- Oá¹£Ă¹ Agẹmá»
- Oá¹£Ă¹ Ă’gĂºn
- Oá¹£Ă¹ Owewe
- Oá¹£Ă¹ Ọ̀€wĂ rĂ
- Oá¹£Ă¹ BĂ©lĂº
- Oá¹£Ă¹ Ọ̀€pẹ̀€
-
-
-
-
-
-
- ÀìkĂº
- Ajé
- ĂŒsẹ̀gun
- Ọjá»̀rĂº
- Ă€á¹£áº¹̀€á¹£áº¹̀€dĂ¡iyĂ©
- Ẹtì
- Ă€bĂ¡mẹ̀ta
-
-
- Ọjá»̀ ÀìkĂº
- Ọjá»̀ AjĂ©
- Ọjá»̀ ĂŒsẹ̀gun
- Ọjá»̀rĂº
- Ọjá»̀ Ă€á¹£áº¹̀€á¹£áº¹̀€dĂ¡iyĂ©
- Ọjá»̀ Ẹtì
- Ọjá»̀ Ă€bĂ¡mẹ̀ta
-
-
-
- Ă Ă¡rá»̀€
- á»̀€sĂ¡n
-
-
- Saju Kristi
- Lehin Kristi
-
-
- SK
- LK
-
-
-
-
- Ọjá»̀
- Ăjẹrin
- Ăjẹta
- Ă nĂ³n
- á»̀€nĂ
- á»̀£̀€la
- Ă²tĂºĂ¹nla
- á»já»̀mẹ̀rin-Ă²nĂ
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
- Africa/​Lagos/​exemplarCity
-
-
-
-
-
-
- Naira
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/yo_NG.xml b/airtime_mvc/library/Zend/Locale/Data/yo_NG.xml
deleted file mode 100644
index 0fec9ea9d..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/yo_NG.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh.xml b/airtime_mvc/library/Zend/Locale/Data/zh.xml
deleted file mode 100644
index 3008513df..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh.xml
+++ /dev/null
@@ -1,4248 +0,0 @@
-
-
-
-
-
-
-
-
-
- {0}({1})
- ă€
-
-
- 阿法文
- é˜¿å¸ƒå“ˆè¥¿äºæ–‡
- äºé½æ–‡
- 阿乔利文
- 阿当梅文
- 阿迪何文
- 阿维斯塔文
- å—éè·å…°æ–‡
- å…¶ä»–äºéè¯ç³»
- 阿弗里希利文
- 阿ä¼åªæ–‡
- 阿肯文
- 阿å¡å¾·æ–‡
- 阿留申文
- 其他阿尔贡è¯ç³»
- å—阿尔泰文
- 阿姆哈拉文
- 阿拉贡文
- å¤è‹±æ–‡
- 昂å è¯
- 阿帕切文
- 阿拉伯文
- 阿拉米文
- 阿å³åæ–‡
- é˜¿æ‹‰å¸•éœæ–‡
- 其他人工è¯ç³»
- 阿拉瓦克文
- 阿è¨å§†æ–‡
- é˜¿æ–¯å›¾é‡Œäºæ€ç‰¹æ–‡
- 阿è¨å¸•æ–¯åè¯ç³»
- 澳大利äºè¯ç³»
- 阿瓦尔文
- 阿瓦乔文
- 艾马拉文
- é˜¿å¡æ‹œç–†æ–‡
- 巴什客尔文
- ç达文
- 巴米累克è¯ç³»
- 俾路支文
- 巴里文
- å·´è¨æ–‡
- 其他波罗ç„è¯ç³»
- 白俄罗斯文
- åˆ«æœæ–‡
- 别姆巴文
- æŸæŸå°”æ–‡
- ä¿å åˆ©äºæ–‡
- 比哈尔文
- åæ°æ™®å°”æ–‡
- 比斯拉马文
- 毕库尔文
- 比尼文
- å¸å…‹å¸å¡æ–‡
- ç巴拉文
- åŸå 拉文
- ç图文
- è—æ–‡
- 布里å¤å°¼æ–‡
- å¸ƒæ‹‰æ°æ–‡
- æ³¢æ–¯å°¼äºæ–‡
- 巴塔克文
- 布里äºç‰¹æ–‡
- å¸ƒå‰æ–‡
- å¸ƒæ—æ–‡
- å æ³°ç½—å°¼äºæ–‡
- å¡å¤æ–‡
- å…¶ä»–ä¸ç¾å°ç¬¬å®‰è¯ç³»
- 巴勒比文
- 其他高å ç´¢è¯ç³»
- cch
- 车臣文
- å®¿å¡æ–‡
- 其他凯尔特è¯ç³»
- 查è«ç½—æ–‡
- å¥‘å¸ƒå¡æ–‡
- æŸ¥å æ–‡
- æ¥å¾å…‹æ–‡
- 马里文
- 契åªå…‹æ–‡
- 乔克托文
- 佩瓦扬文
- 彻罗基文
- å¤å»¶æ–‡
- 查米克文
- 科西嘉文
- 科普特文
- 其他以英文为基础ç„克里奥尔混åˆè¯ç³»
- 其他以法文为基础ç„克里奥尔混åˆè¯ç³»
- 其他以葡è„牙文为基础ç„克里奥尔混åˆè¯ç³»
- å…‹é‡Œæ—æ–‡
- 克里米äºåœŸè€³å…¶æ–‡ï¼›å…‹é‡Œç±³äºå¡”塔文
- 其他克里奥尔混åˆè¯ç³»
- æ·å…‹æ–‡
- å¡èˆ’æ–‡
- 宗教斯拉夫文
- 其他库施特è¯ç³»
- æ¥ç“¦ä»€æ–‡
- å¨å°”士文
- 丹麦文
- 达科他文
- è¾¾å°”æ ¼ç“¦æ–‡
- 达雅克文
- å¾·æ–‡
- 奥地利德è¯
- 高地德文 (ç‘士)
- ç‰¹æ‹‰åæ–‡
- å¸é›·å¤«æ–‡
- 夿 ¼é‡Œå¸ƒæ–‡
- ä¸å¡æ–‡
- 夿 ¼æ‹‰æ–‡
- 其他德拉维è¯ç³»
- 下索布文
- 都阿拉文
- ä¸å¤è·å…°æ–‡
- 迪维希文
- 迪尤拉文
- ä¸ä¸¹æ–‡
- 埃维文
- 埃è²å…‹æ–‡
- å¤åŸƒåæ–‡
- 埃克丘克文
- å¸Œè…æ–‡
- 艾拉米特文
- 英文
- 英è¯ï¼ˆæ¾³å¤§åˆ©äºï¼‰
- å æ‹¿å¤§è‹±è¯
- 英è¯ï¼ˆè‹±å›½ï¼‰
- 英è¯ï¼ˆç¾å›½ï¼‰
- ä¸å¤è‹±æ–‡
- 世界文
- 西ç牙文
- 拉ä¸ç¾æ´²è¥¿ç牙è¯
- 西ç牙è¯ï¼ˆä¼æ¯”利äºï¼‰
- çˆ±æ²™å°¼äºæ–‡
- 巴斯克文
- æ—ºæœæ–‡
- 波斯文
- è³æ ¼æ–‡
- è³è’‚æ–‡
- 夫拉文
- è¬å…°æ–‡
- è²å¾‹å®¾æ–‡
- å…¶ä»–è¬å…°ä¹Œæˆˆå°”è¯ç³»
- æ–æµæ–‡
- 法罗文
- 丰文
- 法文
- å æ‹¿å¤§æ³•è¯
- ç‘士法è¯
- ä¸å¤æ³•æ–‡
- 夿³•æ–‡
- 北弗里西äºè¯
- ä¸œå¼—é‡Œè¥¿äºæ–‡
- 弗留利文
- 弗里斯兰文
- 爱尔兰文
- å æ–‡
- 迦约文
- è‘›å·´äºæ–‡
- è‹æ ¼å…°ç›–尔文
- 其他日尔曼è¯ç³»
- å‰å…¹æ–‡
- å‰å°”伯特斯文
- å åˆ©è¥¿äºæ–‡
- ä¸å¤é«˜åœ°å¾·æ–‡
- 瓜拉尼文
- å¤é«˜åœ°å¾·æ–‡
- å²—å¾·æ–‡
- 科洛涅达罗文
- 哥特文
- æ ¼åˆ—åæ–‡
- å¤å¸Œè…æ–‡
- ç‘士德文
- å¤å æ‹‰ææ–‡
- 马æ©å²›æ–‡
- å‰ç»´å…‹ç´æ–‡
- 豪撒文
- 海达文
- å¤å¨å¤·æ–‡
- å¸Œä¼¯æ¥æ–‡
- å°åœ°æ–‡
- 希利盖农文
- 赫马查利文
- 赫梯文
- 赫蒙文
- 希里è«å›¾æ–‡
- å…‹ç½—åœ°äºæ–‡
- ä¸ç´¢å¸ƒæ–‡
- 海地文
- 匈牙利文
- 胡帕文
- äºç¾å°¼äºæ–‡
- 赫雷罗文
- 国际è¯
- ä¼çæ–‡
- å°åº¦å°¼è¥¿äºæ–‡
- 国际è¯E
- 伿 ¼åæ–‡
- å››å·è¯
- ä¼ä¹”æ–‡
- ä¾å¥´ç®ç»´å…‹æ–‡
- 伿´›å¹²è¯ºæ–‡
- å…¶ä»–å°åº¦è¯ç³»
- å…¶ä»–å°æ¬§è¯ç³»
- å°å¤ä»€æ–‡
- ä¼å¤æ–‡
- 伿œ—æ–‡
- 伿´›éè¯ç³»
- 冰岛文
- æ„大利文
- ä¼åªä¼ç‰¹æ–‡
- 日文
- 逻辑文
- ç¹å¤ªæ³¢æ–¯æ–‡
- ç¹å¤ªé˜¿æ‹‰ä¼¯æ–‡
- 爪哇文
- æ ¼é²å‰äºæ–‡
- 塿‹‰å¡å°”帕克文
- 塿¯”尔文
- å¡ç´æ–‡
- kaj
- å¡å§†å·´æ–‡
- 喀伦文
- å¡å¨æ–‡
- å¡å·´å°”达文
- kcg
- ç§‘ç½—è¯
- åˆæœæ–‡
- å¡è¥¿æ–‡
- å…¶ä»–ç§‘ä¼æ¡‘è¯ç³»
- 和田文
- å‰åº“尤文
- 宽äºç›æ–‡
- 哈è¨å…‹æ–‡
- æ ¼é™µå…°æ–‡
- 柬埔寨文
- é‡‘é‚¦æœæ–‡
- å纳达文
- 韩文
- åˆå¡å°¼æ–‡
- ç§‘æ–¯æ‹‰ä¼æ–‡
- 克佩列文
- å¡åªé‡Œæ–‡
- 塿‹‰æ°ä¼å·´å°”å¡å°”æ–‡
- å¡ç´¯åˆ©é˜¿æ–‡
- 克鲿–‡
- 库é²å…‹æ–‡
- 克什米尔文
- 库尔德文
- 库梅克文
- 库特内文
- 科米文
- 凯尔特文
- å‰å°”剿–¯æ–‡
- æ‹‰ä¸æ–‡
- 拉迪诺文
- 拉亨达文
- å…°å·´æ–‡
- 墿£®å ¡æ–‡
- è±å…¹ä¾æ˜‚æ–‡
- å¢å¹²è¾¾æ–‡
- æ·‹å¸ƒå°”å‰æ–‡
- æ—å æ‹‰æ–‡
- è€æŒæ–‡
- è’æˆˆæ–‡
- 洛兹文
- 立陶宛文
- é²å·´å ä¸¹å æ–‡
- é²å·´é²ç“¦æ–‡
- 路易å¡è¯ºæ–‡
- é†è¾¾æ–‡
- å¢å¥¥æ–‡
- 墿™’æ–‡
- æ‹‰è„±ç»´äºæ–‡
- 马都拉文
- 马å 伿–‡
- 迈蒂利文
- 望å 锡文
- 曼ä¸å“¥æ–‡
- 澳斯特罗尼西äºè¯ç³»
- è¨ä¼è¯
- è«å…‹æ²™æ–‡
- 曼达尔
- 门迪文
- 马尔å 什文
- ä¸å¤çˆ±å°”å…°æ–‡
- 马ç»å°”æ–‡
- 毛利文
- 米克马克文
- ç±³å—å¡ä¿æ–‡
- å„ç§ä¸åŒè¯ç³»
- 马其顿文
- å…¶ä»–åŸé«˜æ£‰è¯ç³»
- 马æ¥äºæ‹‰å§†æ–‡
- è’™å¤æ–‡
- 满文
- 曼尼普里文
- 马诺åè¯ç³»
- æ‘©å°”å¤ç“¦æ–‡
- æ‘©éœå…‹æ–‡
- è«è¥¿æ–‡
- 马拉地文
- é©¬æ¥æ–‡
- 马耳他文
- å¤ç§è¯ç³»
- 蒙达è¯ç³»
- 克里克文
- 米兰德斯文
- 马尔瓦利文
- 缅甸文
- ç›é›…è¯ç³»
- ä¿„æ—¥äºæ–‡
- ç‘™é²æ–‡
- 纳瓦特尔文
- 其他北ç¾å°ç¬¬å®‰è¯ç³»
- 拿波里文
- 挪å¨å克马尔文
- 北æ©å¾·è´å‹’æ–‡
- ä½åœ°å¾·æ–‡ï¼›ä½åœ°æ’’克逿–‡
- å°¼æ³å°”æ–‡
- 尼瓦尔文
- æ©ä¸œå æ–‡
- å°¼äºæ–¯æ–‡
- 其他尼日尔科尔å¤å‡¡è¯ç³»
- 纽埃文
- è·å…°æ–‡
- 弗拉è’è¯
- 挪å¨å°¼è¯ºæ–¯å…‹æ–‡
- æŒªå¨æ–‡
- 诺盖文
- å¤è¯ºå°”斯文
- 西é书é¢è¯è¨€
- å—部æ©å¾·è´å‹’æ–‡
- 北索托文
- åªæ¯”äºè¯ç³»
- çº³ç“¦éœæ–‡
- 尼瓦尔文 Classical Newari
- 尼扬贾文;é½åˆ‡ç“¦æ–‡ï¼›åˆ‡ç“¦æ–‡
- å°¼äºå§†éŸ¦é½æ–‡
- 尼昂科勒文
- 尼约罗文
- æ©æµé©¬æ–‡
- 奥克西å”è¯
- 奥å‰å¸ƒç“¦æ–‡
- å¥¥æ´›è«æ–‡
- æ¬§é‡Œäºæ–‡
- 奥塿¢¯æ–‡
- å¥¥è¨æ ¼æ–‡
- 奥托曼土耳其文
- 奥托米è¯ç³»
- æ—鮿™®æ–‡
- å…¶ä»–å·´å¸ƒäºæ–‡
- é‚¦é˜¿è¥¿æ¥ è¯
- 帕拉维文
- 邦æ¿ç‰™æ–‡
- 帕ç®äºé—¨æ‰˜æ–‡
- 叕峿–‡
- å¤è€æ³¢æ–¯è¯
- å…¶ä»–è²å¾‹å®¾è¯ç³»
- 腓尼基文
- 巴利文
- 波兰文
- 波纳佩文
- 普拉克里特诸è¯è¨€
- 普罗文斯文
- 普什图文
- è‘¡è„牙文
- è‘¡è„牙è¯ï¼ˆå·´è¥¿ï¼‰
- ä¾ä¼¯åˆ©äºè‘¡è„牙文
- ç›–ä¸˜äºæ–‡
- æ‹‰è´¾æ–¯å¦æ–‡
- 拉帕åªä¼æ–‡
- æ‹‰ç½—æ±¤å æ–‡
- 列托ï¼ç½—曼文
- 基é†è¿ªæ–‡
- ç½—é©¬å°¼äºæ–‡
- 其他拉ä¸è¯ç³»
- 剿™®èµ›æ–‡
- æ ¹è¯è¨€
- ä¿„æ–‡
- äºç¾å°¼äºè¯
- 墿—ºè¾¾æ–‡
- 梵文
- 散达维文
- 雅库特文
- å…¶ä»–å—ç¾å°ç¬¬å®‰æ–‡
- è¨åˆ©ä»€æ–‡
- è¨ç›åˆ©äºæ–‡
- è¨è¨å…‹æ–‡
- 桑塔利文
- è¨ä¸æ–‡
- 西西里文
- è‹æ ¼å…°æ–‡
- ä¿¡å¾·æ–‡
- 北è¨ç±³æ–‡
- å¡å°”库普文
- å…¶ä»–é—ªæ—è¯ç³»
- 桑戈文
- å¤çˆ±å°”å…°æ–‡
- 手è¯
- å¡å°”ç»´äº-å…‹ç½—åœ°äºæ–‡
- æ¸æ–‡
- 僧伽罗文
- 悉达摩文
- è‹è¯è¯¸è¯è¨€
- 其他汉è—è¯ç³»
- 斯洛ä¼å…‹æ–‡
- æ–¯æ´›æ–‡å°¼äºæ–‡
- 其他斯拉夫è¯ç³»
- è¨æ‘©äºæ–‡
- å—è¨ç±³æ–‡
- å…¶ä»–è¨ç±³æ–‡
- 律勒欧è¨è«æ–¯è¯
- ä¼çº³é‡Œè¨ç±³è¯
- 斯科特è¨ç±³æ–‡
- ç»çº³æ–‡
- 索尼基文
- 索马里文
- å¤ç²Ÿç‰¹è¯
- æ¡‘æµ·æ–‡
- é˜¿å°”å·´å°¼äºæ–‡
- å¡å°”ç»´äºæ–‡
- Sranan Tongo(æºäºå…‹é‡Œå¥¥å°”è¯ï¼‰
- 谢列尔文
- 斯瓦特文
- éæ´²æ’’å“ˆæ‹‰æ²™æ¼ è¾¹ç¼˜åœ°å¸¦è¯è¨€
- å¡ç´¢æ‰˜æ–‡
- 巽他è¯
- è‹åº“马文
- è‹è‹æ–‡
- è‹é©¬æ–‡
- ç‘典文
- 斯瓦希里文
- å™åˆ©äºæ–‡
- 泰米尔文
- å‚£è¯è¯¸è¯è¨€ï¼ˆå…¶ä»–)
- æ³°å¢å›ºæ–‡
- 滕内è¯
- 特列纳文
- 特塔姆文
- å¡”å‰å…‹æ–‡
- æ³°æ–‡
- ææ ¼é‡Œå°¼äºæ–‡
- ææ ¼é›·æ–‡
- 蒂夫文
- 土库曼文
- æ‰˜å…‹å³æ–‡
- å¡”å æ´›è¯
- å…‹æ—è´¡æ–‡
- 特æ—å‰ç‰¹æ–‡
- 塔马奇克文
- å¡èŒ¨ç“¦çº³æ–‡
- æ±¤å æ–‡
- æ±¤å æ–‡ï¼ˆå°¼äºè¨åœ°åŒºï¼‰
- 托克ç®è¾›æ–‡
- 土耳其文
- å®—å æ–‡
- è’‚å§†è¥¿äºæ–‡
- 塔塔尔文
- é€å¸ƒå¡æ–‡
- 图ç®è¯ç³»
- 阿尔泰诸è¯è¨€ï¼ˆå…¶ä»–)
- å›¾ç“¦å¢æ–‡
- ç‰¹å¨æ–‡
- å¡”è¥¿ææ–‡
- 图瓦文
- 乌德穆尔特文
- ç»´å¾å°”æ–‡
- 乌å 里特文
- 乌克兰文
- ç¿æœ¬æœæ–‡
- 未å®è¯ç§
- 乌尔都文
- 乌兹别克文
- ç“¦ä¼æ–‡
- 文达文
- è¶å—æ–‡
- 沃拉普克文
- 沃æå…‹æ–‡
- ç“¦é†æ–‡
- 瓦å¡ä»€è¯¸è¯è¨€
- ç“¦æ‹‰è«æ–‡
- 瓦赖文
- ç“¦ç»æ–‡
- 索布诸è¯è¨€
- 沃洛夫文
- å¡å°”梅克文
- ç§‘è¨æ–‡
- ç‘¶æ—æ–‡
- 雅浦文
- ä¾åœ°æ–‡
- 约é²å·´æ–‡
- å°¤ç®å…‹è¯¸è¯è¨€
- 壮è¯
- è¨æ³¢è’‚å…‹æ–‡
- æ³½çº³å æ–‡
- 䏿–‡
- 䏿–‡ï¼ˆç®€ä½“)
- 䏿–‡ï¼ˆç¹ä½“)
- èµå¾·æ–‡
- ç¥–é²æ–‡
- 祖尼è¯
- æ— è¯è¨€å†…容
- æ‰æ‰æ–‡
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 世界
- éæ´²
- åŒ—ç¾æ´²
- å—ç¾æ´²
- 大洋洲
- 西é
- ä¸ç¾æ´²
- 东é
- 北é
- ä¸é
- å—éƒ¨éæ´²
- ç¾æ´²
- ç¾æ´²åŒ—部
- å 勒比海
- 东äº
- å—äº
- 东å—äº
- å—æ¬§
- 澳大利äºå’Œæ–°è¥¿å…°
- ç¾æ‹‰å°¼è¥¿äº
- 密克罗尼西äº
- ç»åˆ©å°¼è¥¿äº
- ä¸å—äº
- äºæ´²
- ä¸äº
- 西äº
- 欧洲
- 东欧
- 北欧
- 西欧
- 独è”体
- 拉ä¸ç¾æ´²å’Œå 勒比海
- 海峡群岛
- 安é“å°”
- 阿拉伯è”åˆé…‹é•¿å›½
- 阿富汗
- 安æç“œå’Œå·´å¸ƒè¾¾
- å®‰åœæ‹‰
- 阿尔巴尼äº
- äºç¾å°¼äº
- è·å±å®‰ç„列斯群岛
- 安哥拉
- å—ææ´²
- é˜¿æ ¹å»·
- ç¾å±è¨æ‘©äº
- 奥地利
- 澳大利äº
- 阿é²å·´
- 奥兰群岛
- é˜¿å¡æ‹œç–†
- 波斯尼äºå’Œé»‘å¡å“¥ç»´é‚£
- 巴巴夿–¯
- åŸå 拉国
- 比利时
- 布基纳法索
- ä¿å 利äº
- å·´æ—
- 布é†è¿ª
- è´å®
- 圣巴泰勒米
- 百慕大
- æ–‡è±
- ç»åˆ©ç»´äº
- 巴西
- 巴哈马
- ä¸ä¸¹
- 布维特岛
- å茨瓦纳
- 白俄罗斯
- 伯利兹
- å æ‹¿å¤§
- 科科斯群岛
- åˆæœï¼ˆé‡‘)
- ä¸é共和国
- åˆæœï¼ˆå¸ƒï¼‰
- ç‘士
- 象牙海岸
- 库克群岛
- 智利
- 喀麦é†
- ä¸å›½
- 哥伦比äº
- 哥斯达é»å
- å¡å°”ç»´äºå’Œé»‘å±±
- å¤å·´
- 佛得角
- 圣è¯å²›
- 塿µ¦è·¯æ–¯
- æ·å…‹å…±å’Œå›½
- 德国
- å‰å¸ƒæ
- 丹麦
- å¤ç±³å°¼å
- å¤ç±³å°¼å 共和国
- 阿尔å利äº
- å„瓜å¤å°”
- 爱沙尼äº
- 埃å
- 西撒哈拉
- å„立特里äº
- 西ç牙
- 埃å¡ä¿„比äº
- è¬å…°
- æ–æµ
- ç¦å…‹å…°ç¾¤å²›
- 密克罗尼西äºè”邦
- 法罗群岛
- 法国
- å 蓬
- 英国
- æ ¼æ—纳达
- æ ¼é²å‰äº
- 法å±åœäºé‚£
- æ ¼æ©è¥¿å²›
- å 纳
- 直布罗陀
- æ ¼é™µå…°
- 冈比äº
- å‡ å†…äº
- 瓜德罗普岛
- 赤é“å‡ å†…äº
- 希è…
- å—乔治äºå²›å’Œå—æ¡‘å¨é½ç¾¤å²›
- å±åœ°é©¬æ‹‰
- 关岛
- å‡ å†…äºæ¯”ç»
- åœäºé‚£
- ä¸å›½é¦™æ¸¯ç‰¹åˆ«è¡Œæ”¿åŒº
- 赫德ä¸éº¦å…‹å”纳群岛
- 洪都拉斯
- 克罗地äº
- 海地
- 匈牙利
- å°åº¦å°¼è¥¿äº
- 爱尔兰
- 以色列
- 曼岛
- å°åº¦
- 英å±å°åº¦æ´‹é¢†åœ°
- 伿‹‰å…‹
- 伿œ—
- 冰岛
- æ„大利
- 泽西岛
- 牙买å
- 约旦
- 日本
- 肯尼äº
- å‰å°”剿–¯æ–¯å¦
- 柬埔寨
- 基里巴斯
- ç§‘æ‘©ç½—
- 圣基茨和尼维斯
- æœé²œ
- 韩国
- ç§‘å¨ç‰¹
- 开曼群岛
- 哈è¨å…‹æ–¯å¦
- è€æŒäººæ°‘民主共和国
- é»å·´å«©
- 圣å¢è¥¿äº
- 列支敦士登
- 斯里兰å¡
- 利比里äº
- è±ç´¢æ‰˜
- ç«‹é™¶å®›
- 墿£®å ¡
- 拉脱维äº
- 利比äº
- 摩洛哥
- 摩纳哥
- æ‘©å°”å¤ç“¦
- 黑山共和国
- 圣马ä¸
- é©¬è¾¾å æ–¯å
- 马ç»å°”群岛
- 马其顿
- 马里
- 缅甸
- è’™å¤
- ä¸å›½æ¾³é—¨ç‰¹åˆ«è¡Œæ”¿åŒº
- 北马里äºçº³ç¾¤å²›
- 马æå°¼å…‹ç¾¤å²›
- 毛里塔尼äº
- è’™å¡æ‹‰ç‰¹ç¾¤å²›
- 马耳他
- 毛里求斯
- 马尔代夫
- 马拉维
- 墨西哥
- 马æ¥è¥¿äº
- è«æ¡‘比克
- 纳米比äº
- 新喀里å¤å°¼äº
- 尼日尔
- 诺ç¦å…‹å²›
- 尼日利äº
- å°¼å æ‹‰ç“œ
- è·å…°
- 挪å¨
- å°¼æ³å°”
- ç‘™é²
- 纽埃
- 新西兰
- 阿曼
- 巴拿马
- 秘é²
- æ³•å±æ³¢åˆ©å°¼è¥¿äº
- å·´å¸ƒäºæ–°å‡ 内äº
- è²å¾‹å®¾
- 巴基斯å¦
- 波兰
- 圣ç®åŸƒå°”和密克é†
- ç®ç‰¹å‡¯æ©
- æ³¢å¤é»å„
- å·´å‹’æ–¯å¦é¢†åœŸ
- è‘¡è„牙
- 帕å³
- 巴拉åœ
- å¡å¡”å°”
- 大洋洲边远群岛
- 欧盟
- 留尼汪
- 罗马尼äº
- å¡å°”ç»´äº
- ä¿„ç½—æ–¯
- 墿—ºè¾¾
- 沙特阿拉伯
- 所罗门群岛
- å¡èˆŒå°”群岛
- è‹ä¸¹
- ç‘å…¸
- æ–°å å¡
- 圣赫勒拿
- 斯洛文尼äº
- 斯瓦尔巴特和扬马延
- 斯洛ä¼å…‹
- 塿‹‰åˆ©æ˜‚
- 圣马å›è¯º
- å¡å†…å å°”
- 索马里
- è‹é‡Œå—
- 圣å¤ç¾å’Œæ™®æ—西比
- è¨å°”瓦å¤
- å™åˆ©äº
- æ–¯å¨å£«å…°
- 特克斯和凯科斯群岛
- ä¹å¾—
- 法å±å—部领土
- å¤å“¥
- 泰国
- å¡”å‰å…‹æ–¯å¦
- 托克å³
- ä¸œå¸æ±¶
- 土库曼斯å¦
- çªå°¼æ–¯
- 汤å
- 土耳其
- 特立尼达和å¤å·´å“¥
- 图瓦å¢
- å°æ¹¾
- 妿¡‘å°¼äº
- 乌克兰
- 乌干达
- ç¾å›½è¾¹è¿œå°å²›
- ç¾å›½
- 乌拉åœ
- 乌兹别克斯å¦
- 梵蒂冈
- åœ£æ–‡æ£®ç‰¹å’Œæ ¼æ—çº³ä¸æ–¯
- å§”å†…ç‘æ‹‰
- 英å±ç»´äº¬ç¾¤å²›
- ç¾å±ç»´äº¬ç¾¤å²›
- è¶å—
- 瓦åªé˜¿å›¾
- 瓦利斯和富图纳
- è¨æ‘©äº
- 也门
- 马约特
- å—é
- èµæ¯”äº
- 津巴布韦
- æœªçŸ¥æˆ–æ— æ•ˆåœ°åŒº
-
-
- ä¼ ç»Ÿå¾·è¯æ‹¼å—å¦
- 1996 å¹´ç„å¾·è¯æ‹¼å—å¦
- 东äºç¾å°¼äºè¯
- 西äºç¾å°¼äºè¯
- å›½é™…éŸ³æ ‡
- å¤éŸ³
- 电脑
- å·²ä¿®è®¢ç„æ‹¼å—å¦
- è¨éœ
-
-
- æ—¥å†
- 对照
- è´§å¸
-
-
- ç¹ä½“䏿–‡(Big5)
- 佛教日å†
- 农å†
- 顺åº
- ç®€ä½“ä¸æ–‡(GB2312)
- å…¬å†
- å¸Œä¼¯æ¥æ—¥å†
- å°åº¦å›½å®¶æ—¥å†
- 伿–¯å…°æ—¥å†
- 伿–¯å…°å¸Œå‰æ¥å†
- 日本日å†
- 电è¯ç°¿é¡ºåº
- 拼音顺åº
- ä¸å民国日å†
- 笔划顺åº
- ä¼ ç»Ÿå†æ³•
-
-
- 公制
- ç¾åˆ¶
-
-
- è¯è¨€ï¼{0}
- è„æœ¬ï¼{0}
- 区域ï¼{0}
-
-
-
- [一 ä¸ ä¸ƒ 丈-ä¸ ä¸“ 且 世 丘-ä¸ ä¸œ ä¸ ä¸¢ 两 严 丧 个 ä¸ ä¸° 串 临 丸-主 丽 举 乃 ä¹… 么 义 之-ä¹ ä¹” ä¹– 乘 ä¹™ ä¹ ä¹Ÿ-乡 书 ä¹° ä¹± ä¹¾ 了 予 争 事 二 äº äº äº‘ 互 五 井 äº äº› 亡 交 亦 亨 享 京 亮 亲 人 亿-ä» ä»… 仇 ä» ä»‹ ä» ä» ä»” ä»– 付 ä»™ 代-以 仪 们 ä»° 仲 ä»¶ ä»» 份 仿 ä¼ ä¼ ä¼ ä¼-休 ä¼— ä¼™ ä¼ ä¼Ÿ ä¼ ä¼¤ 伦 伯 ä¼° ä¼´ 伸 ä¼¼ ä¼½ 但 ä½-佑 体 何 ä½™ ä½› 作 ä½ ä½¤ 佩 ä½³ 使 例 ä¾› ä¾ ä¾ ä¾¦-侨 侬 侯 ä¾µ 便 促 ä¿„ ä¿ ä¿— ä¿ ä¿¡ ä¿© ä¿® 俱 俾 å€ å€’ 候 å€ å€Ÿ 倦 值 倾 å‡ åŒ å å åœ å¥ å¶ å· å‚¨ 催 傲 å‚» åƒ åƒ§ å„’ å… å…ƒ-å…… å…ˆ å…‰ å…‹ å… å…‘ å…” å…¥ å…¨ å…«-å…® å…° å…± å…³-å…¹ å…»-å…½ 内 冈 å† å†’ 写 军 农 å† å†¬ 冰 冲 冷 准 凌 å‡ å‡ å‡¡ 凤 å‡ å‡¯ 凰 出 击 函 刀 分 切 åˆ åˆ‘ 划 列-创 åˆ åˆ¤ 利 别 到 制-券 刺 刻 剂 å‰ å‰‘ 剧 剩 剪 副 割 å› å-å¡ å£ å¨-å« å±-å³ å¿ å‹‡ 勉 å‹‹ å‹’ 勤 勾 å‹¿ 包 匆 匈 化 北 匙 匹-医 å åƒ å‡ åˆ å å å å’ å“ å•-å— å å -å¢ å« å° å± å³ å· å„-å† å‰ å‹-å å åŸ å» å¿ å‚ åˆ-å å‘ å” å–-å™ å£-å¦ å«-å å¯ å° å² å³ å¶-å¹ åƒ å„ åˆ-å åŒ-å å å‘ å“ å— å› å åŸ å¦ å§ å« åµ å¸ å¹ å» å¾ å‘€ 呆 呈 å‘ å‘ å‘˜ 呜 å‘¢ 呦 周 味 呵 呼 命 å’Œ å’– å’¦ å’§ å’ª å’¬ å’¯ å’± å“€ å“ å“‡-哉 å“ å“ å“Ÿ å“¥ 哦 å“© 哪 å“ å“² 唉 å” å”¤ 唬 å”® 唯 å”± å”· 商 å• å•¡ å•¥ 啦 啪 å–€ å–‚ å–„ å–‡ å– å– å–” å–œ å– å–µ å–· å–» å—’ å—¨ å—¯ 嘉 嘛 嘴 嘻 嘿 器 å›› å› å› å›¢ å› å›° å›´ 固 国 图 圆 圈 土 圣 在 åœ åœ° 场 圾 å€ å‡ å å å‘ å— å-åœ å¡ å¤ å¦ åª å‚ åƒ å‹ å’ åŸƒ 埋 åŸ åŸ” 域 培 基 å ‚ å † å • å ¡ å ª å¡‘ å¡” å¡ å¡« 境 å¢ å¢¨ å£ å£« 壮 声 处 备 å¤ å¤ å¤• 外 å¤ å¤œ 夥 大 天-夫 央 失 头 夷-夺 奇-奉 奋 å¥ å¥‘ 奔 套 奥 女 奴 奶 她 好 如 妇 妈 妖 妙 妥 妨 妮 妹 妻 姆 å§ å§‹ å§ å§‘ å§“ å§” å§¿ å¨ å¨ƒ 娄 娘 娜 娟 婆 å© åª’ å« å«Œ å«© å å” å• å—-å™ åœ å åŸ å£ å¤ å¦ å© å® å®ƒ 宇-安 宋 完 å® å®—-å® å®¡-室 宪 害 å®¶ 容 宽-宿 寂 寄 密 寇 富 寒 å¯-察 寡 寨 寸 对 寻 导 寿 å° å°„ å°† å° å° å°‘ å°” å°– å°˜ å° å° å°¤ å°± å°º å°¼-å°¾ å±€-层 å±… 屋 å± å±• å± å± å±± å² å²‚ å²— 岘 å² å²› å²³ 岸 峡 å³° å´‡ å´© å· å· å·¡ å·¥-å·¨ å·« å·® å·± å·² å·´ å·· å¸-布 帅 师 希 å¸ å¸• å¸ å¸¦ å¸ å¸® 常 帽 å¹… 幕 å¹²-å¹´ 幸 å¹»-å¹½ 广 庆 åº åº åº“-底 店 庙 府 åº åºŸ 度 座 åº åº· 庸 廉 å»– å»¶ å»· 建 å¼€ 弃 弄 å¼ å¼ å¼• å¼— 弘 弟 å¼ å¼¥ 弦 弯 å¼± å¼¹ å½’ 当 å½ å½¢ 彩 彬 å½ å½° å½± å½· å½¹ å½» å½¼ å¾€ å¾ å¾„ å¾… 很 律 後 å¾ å¾’ å¾— 循 å¾® å¾µ å¾· 心 å¿… 忆 忌 å¿ å¿—-å¿™ å¿ å¿§ å¿« 念 忽 怀 æ€ æ€ æ€’ 怕 怖 æ€ æ€¡ 急 性 怨 怪 总 æ‹ æ æ¢ æ¨ æ© æ æ¯ æ° æ¶ æ¼ æ‚„ 悉 æ‚” 悟 æ‚ æ‚£ 您 悲 情 惑 惜 æƒ æƒ§ 惨 惯 想 惹 æ„ æ„ˆ 愉 æ„ æ„ æ„Ÿ æ„§ æ…ˆ æ… æ…• æ…¢ æ…§ æ…° 憾 懂 懒 戈 æˆ-戒 或 战 截 戴 房-æ‰ æ‰‡ 手 æ‰ æ‰ æ‰‘ 打 托 扣 执 扩 扫-扯 批 找-æ€ æ„ æ æ‘ æ“ æ• æ— æ˜ æ¢ æ¤ æ¥ æ« æ¬ æ± æµ æ¹ æ½ æ‹… 拆 拉 æ‹ æ‹’ æ‹” æ‹– 拘 æ‹› 拜 拟 æ‹¥ 拦 拨 æ‹© 括 拳 æ‹· 拼 拾 æ‹¿ æŒ æŒ‡ 按 挑 挖 æŒ æŒ¡ 挤 挥 挪 振 挺 æ‰ æ æ• æŸ æ¡ æ¢ æ· æˆ æ‰ æŒ æ’ æ¢ æ¥ æ§-æª æ¸ æ æ æ’ æ¡ æ´ æœ æ æ¬ æ æ‘„ 摆 æ‘ æ‘” 摘 æ‘© 摸 æ’’ æ’ æ’ æ“ æ“ æ“¦ 支 æ”¶ 改 æ”» 放 政 æ•… 效 敌 æ• æ•‘ æ•™ æ• æ•¢ æ•£ 敦 敬 æ•° 敲 æ•´ æ–‡ æ–‹ æ– æ–— æ–™ æ–œ æ–¥ æ– æ–¯ æ–° æ–¹ æ–¼ æ–½ æ— æ—… æ—‹ æ— æ—— æ— æ—¢ æ—¥-æ—© æ— æ—¶ æ—º 昂 昆 昌 æ˜ æ˜ æ˜“ 星 æ˜ æ˜¥ 昨 æ˜ æ˜¯ 显 晃 晋 æ™’ 晓 æ™ æ™¨ æ™® 景 æ™´ æ™¶ 智 æ‚ æ‘ æ– æ— æ® æ´ æ›° 曲 æ›´ 曹 曼 曾-最 月 有 朋 æœ æœ— 望 æœ æœŸ 木 未-æœ æœ¯ 朱 朵 æ€ æ‚ æƒ æ‰ æ æ æ‘ æœ æŸ æ¡ æ¥ æ¨ æ¯ æ° æ¾ æ¿ æ æ æ— æœ æ æ¢ æª æ« æ¶ æŸ æŸ æŸ“ 柔 查 柬 柯 柳 柴 æ ‡ æ ‹ æ æ ‘ æ ¡ æ ·-æ ¹ æ ¼ 桃 框 案 桌 æ¡‘ æ¡£ æ¡¥ æ¢ æ¢… 梦 梯 械 梵 检 棉 棋 棒 æ£ æ£® 椅 æ¤ æ¤° æ¥ æ¥¼ 概 榜 模 樱 檀 æ¬ -欣 欧 欲 欺 款 æ‰ æŒ æ¢-æ¦ æª æ» æ® æ®‹ 段 毅 æ¯ æ¯ æ¯’ 比 毕 毛 毫 æ° æ°‘ æ°› æ°´ æ°¸ 求 汉 æ±— æ± æ±Ÿ-污 汤 汪 æ±¶ æ±½ 沃 沈 沉 æ²™ 沟 æ²§ æ²³ æ²¹ æ²» 沿 泉 æ³ æ³• æ³› 泡-æ³£ æ³¥ 注 æ³° æ³³ æ³½ æ´‹ æ´— æ´› æ´ æ´¥ æ´ª æ´² æ´» æ´½ æ´¾ æµ æµ… 测 æµ æµ‘ 浓 浦 浩 浪 æµ® æµ´ æµ· æ¶… 消 涉 æ¶› 涨 涯 æ¶² æ¶µ æ·‹ æ·‘ æ·˜ æ·¡ æ·± æ·· æ·» 清 æ¸ æ¸¡ 渣 温 港 渴 游 æ¹– æ¹¾ æº æºœ 溪 滋 滑 满 滥 滨 æ»´ 漂 æ¼ æ¼” æ¼ æ¼« 潘 潜 æ½® æ¾ æ¾³ æ¿€ çŒ ç« ç ç¯ ç° çµ ç¿ ç‚‰ ç‚ ç‚® 炸 点 烂 烈 烤 烦 烧 çƒ ç„¦ ç„¶ ç…Œ ç… ç…§ ç…® ç† ç†Ÿ 燃 燕 爆 爪 爬 爱 爵-爸 爽 片 版 牌 牙 牛 牡 牢 牧 物 牲 牵 特 牺 ç¯ ç¶ ç¹ ç‹‚ ç‹ ç‹— ç‹ ç‹¬ ç‹® 狱 狼 猛 猜 献 ç„ ç‡ ç‰ ç‹ ç› ç© ç« ç¯ ç° ç² ç» ç ç ç ç çƒ ç† ç çª ç³ ç´ ç‘™ 瑜 ç‘ ç‘Ÿ ç‘° ç‘¶ ç’ƒ 瓜 瓦 ç“¶ 甘 ç” ç”œ 生 用 ç”°-申 电 ç”· 甸 ç”» ç•… 界 ç•™ ç•¥ 番 ç–† ç– ç–‘ ç–— ç–¯ ç–² ç–¼ ç–¾ ç—… ç—• ç—› ç—´ ç™» 白 百 ç„ ç† ç‡ ç® ç›ˆ ç› ç›‘ ç›’ ç›– 盘 ç›› 盟 ç›® ç›´ 相 盼 盾 çœ çœ‰ 看 真 çœ çœ¼ ç› ç¡ ç£ ç§ çŸ› 矣 知 çŸ çŸ³ 矶 ç ç ‚ ç ç ” ç ´ ç¡€ ç¡• 硬 ç¢ ç¢ ç¢— 碟 碧 碰 ç£ ç£… 磨 示 礼 社 祖 ç¥ ç¥ ç¥¥ 票 祸 ç¦ ç¦… ç¦ ç§€ ç§ ç§‹ ç§ ç§‘ ç§’ 秘 ç§Ÿ 秤 秦 ç§© 积 ç§° ç§» 稀 程 ç¨ ç¨£ 稳 稿 穆 ç©¶ ç©· 穹 空 ç©¿ çª çª— çª ç«‹ ç«™ ç«-ç« ç«¥ 端 竹 笑 笔 笛 符 笨 第 ç‰ ç‹ ç” ç– ç¹ ç¾ ç®€ ç®— 管 ç® ç®± 篇 篮 ç°¿ ç± ç±³ ç±» 粉 ç²’ ç²— ç²¹ ç²¾ ç³ ç³• ç³– 糟 ç³» ç´ ç´¢ ç´§ ç´« ç´¯ ç¹ çº¢ 约 级 纪 纯 纲 纳 纵 纷 纸 纽 练 组 细-终 ç» ç» ç»“ 绕 绘 ç»™ 络 统 ç»§ 绩 绪 ç» ç»´ 绵 综 ç¼… 缓 ç¼– 缘 ç¼ ç¼© ç¼´ ç¼¶ 缸 缺 ç½ ç½• ç½— ç½ ç½¢ 罪 ç½® ç½² ç¾ ç¾ ç¾ ç¾¤ 羯 ç¾½ ç¿ ç¿… ç¿” 翘 ç¿ ç¿° ç¿» 翼 耀 è€ è€ƒ 者 而 è€ è€ è€— 耳 耶 è èŒ è” è èª è‚‰ è‚ è‚¡ 肤 è‚¥ è‚© 肯 育 èƒ èƒ† 背 èƒ èƒ– èƒ èƒ¡ 胶 胸 能 脆 è„‘ 脱 脸 è… è… è…“ è…° è…¹ è…¾ è…¿ 臂 臣 自 è‡ è‡³ 致 舌 èˆ èˆ’ èˆ èˆŸ 航 般 舰 船 良 色 艺 艾 è‚ è’ è è¦ è¬ è è± è³ è‹ è‹ è‹— è‹¥ 苦 英 茂 茨 茫 茶 è‰ è’ è£ è¯ è· è‰ è èª è« è± è² è· èœ è© è² è„ è è¤ è¥ è§ è¨ è½ è‘— è‘› è‘¡ è’‚ è’‹ è’™ 蓉 è“ è“¬ 蔑 蔡 è–„ è–ª è—‰ è— è—¤ è™ è™‘ 虫 虹 虽 虾 è 蛇 蛋 è›™ è›® 蜂 蜜 è¶ è 蟹 è ¢ è¡€ 行 è¡— è¡¡ è¡£ è¡¥ 表 袋 被 è¢ è£ è£‚ 装 裕 裤 西 è¦ è¦† è§ è§‚ è§„ 视 览 觉 è§’ è§£ 言 誉 誓 è¦ è®¡ 订 认 讨 让 è®-è®° 讲 许 论 设 访 è¯ è¯„ 识 诉 è¯ è¯‘ 试 诗 è¯ è¯ è¯ è¯¢ 该 详 è¯ è¯¯ 说 请 诸 诺 读 课 è° è°ƒ è°… è°ˆ è° è°‹ è°“ è°œ è°¢ è°¨ è°± è°· 豆 象 豪 貌 è´-è´Ÿ è´¡-è´¥ è´§-è´ª è´ è´¯ è´± è´´ è´µ è´¹ è´º è´¼ è´¾ 资 赋 赌 èµ èµ èµ” èµ– èµ èµ› èµ èµ èµ¢ 赤 赫 èµ° èµµ èµ· è¶ è¶… è¶ è¶‹ è¶£ è¶³ è·ƒ è·Œ è·‘ è· è·Ÿ è·¯ è·³ è¸ è¸¢ 踩 身 躲 车 轨 轩 转 è½®-è½° è½» è½½ 较 è¾… 辆 辈 辉 辑 输 è¾› è¾ è¾¨ 辩 è¾± è¾¹ è¾¾ è¿ è¿… 过 迈 è¿ è¿ è¿‘ è¿” 还 è¿™ è¿›-迟 迦 迪 è¿« è¿° è¿· 追 退 é€ é€ƒ 逆 选 é€ é€ é€ é€’ 途 é€ é€› é€ é€Ÿ é€ é€¢ 逸 逻 逼 é‡ é é“ é— é é® éµ é¿ é‚€ é‚“ é‚£ 邦 邪 é‚® 邱 é‚» éƒ éƒ‘ 部 éƒ éƒ½ é„‚ é…‹ é… é…’ é…· é…¸ 醉 醒 采 é‡ é‡Œ-é‡ é‡‘ é’ˆ é’“ é’Ÿ é’¢ é’¦ é’± é’» é“ é“ƒ é“¢ é“ é“¶ 销 é” é”… 锋 é”™ 锡 锦 é”® 锺 镇 镜 é• é•¿ é—¨ é—ª é— é—® é—´ é—· é—¹ é—» é˜ é˜ é˜” 队 阮 防-阶 阻 阿 陀 附-陆 陈 é™ é™ é™¢ 除 险 陪 陵-é™· é† é é é” éœ é¾ é›„-集 雨 雪 雯 雳 é›¶ é›· 雾 需 震 éœ éœ– 露 霸 霹 é’ é– é™ é é é¢ é© é¼ é‹ é‘ éŸ¦ 韩 音 页 é¡¶ 项-é¡» 顽-é¡¿ 预 领 颇 频 颗 题 é¢ é£ é£˜ 飙 é£ é£Ÿ é¤ é¥ é¥® 饰 饱 饼 馆 首 香 馨 马 驱 é©¶ é©» 驾 验 骑 骗 éª éª¤ 骨 高 鬼 é‚ é… é” é±¼ é² é²œ 鸟 鸣 é¸ é¸¿ é¹… 鹤 é¹° 鹿 麦 麻 黄 é» é»‘ 默 鼓 é¼ é¼» é½ é½¿ 龄 é¾™ 龟]
- [ä¾£ å‚£ å‘ å˜ å• å ¤ å¥ å·½ 录 户 æ’¤ 楔 æ¥ æ»• ç‘ ç”« 盲 禄 粟 线 è„ é’¯ é“‚ 锑 é•‘ é]
- [a-z]
-
-
- “
- â€
- ‘
- ’
-
-
-
-
-
-
- yyyy/M
-
-
-
-
-
-
-
- 1月
- 2月
- 3月
- 4月
- 5月
- 6月
- 7月
- 8月
- 9月
- 10月
- 11月
- 12月
-
-
- 1月
- 2月
- 3月
- 4月
- 5月
- 6月
- 7月
- 8月
- 9月
- 10月
- 11月
- 12月
-
-
-
-
- 一月
- 二月
- 三月
- 四月
- 五月
- å…æœˆ
- 七月
- 八月
- 乿œˆ
- åæœˆ
- å一月
- å二月
-
-
- 1月
- 2月
- 3月
- 4月
- 5月
- 6月
- 7月
- 8月
- 9月
- 10月
- 11月
- 12月
-
-
- 一月
- 二月
- 三月
- 四月
- 五月
- å…æœˆ
- 七月
- 八月
- 乿œˆ
- åæœˆ
- å一月
- å二月
-
-
-
-
-
-
- 周日
- 周一
- 周二
- 周三
- 周四
- 周五
- 周å…
-
-
- 星期日
- 星期一
- 星期二
- 星期三
- 星期四
- 星期五
- 星期å…
-
-
-
-
- æ—¥
- 一
- 二
- 三
- å››
- 五
- å…
-
-
-
-
-
-
- 1å£
- 2å£
- 3å£
- 4å£
-
-
- 第1å£åº¦
- 第2å£åº¦
- 第3å£åº¦
- 第4å£åº¦
-
-
-
-
- 1
- 2
- 3
- 4
-
-
-
- ä¸åˆ
- 下åˆ
-
-
- 公元å‰
- 公元
-
-
- 公元å‰
- 公元
-
-
-
-
-
- y年M月d日EEEE
-
-
-
-
- y年M月d日
-
-
-
-
- yyyy-M-d
-
-
-
-
- yy-M-d
-
-
-
-
-
-
- zzzzah时mm分ss秒
-
-
-
-
- zah时mm分ss秒
-
-
-
-
- ahh:mm:ss
-
-
-
-
- ah:mm
-
-
-
-
-
-
- {1}{0}
-
-
-
-
- {1}{0}
-
-
-
-
- {1} {0}
-
-
-
-
- {1} {0}
-
-
-
- dæ—¥
- dæ—¥E
- Hæ—¶
- HH:mm:ss
- ah:mm
- H:mm
- ah:mm:ss
- L
- M-d
- M-dE
- MM-dd
- LLL
- MMMdæ—¥
- MMMdæ—¥E
- MMMMdæ—¥
- MMMMddæ—¥
- MMMMdæ—¥E
- mm:ss
- yå¹´
- yyyy-M
- y年M月d日,E
- yå¹´MMM
- yå¹´MMMdæ—¥
- yå¹´MMMdæ—¥EEE
- yå¹´MMMM
- yå¹´QQQ
- yå¹´QQQ
- yy-MM
- yyå¹´MMM
- yy年第Qå£åº¦
- yå¹´
- y年M月
- yå¹´MMMM
-
-
- {0}–{1}
-
- d日至d日
-
-
- ah至ah时
- ah至h时
-
-
- ah:mm至ah:mm
- ah:mm至h:mm
- ah:mm至h:mm
-
-
- vah:mm至ah:mm
- vah:mm至h:mm
- vah:mm至h:mm
-
-
- vah至ah时
- vah至h时
-
-
- L至L
-
-
- M-d至M-d
- M-d至M-d
-
-
- M-dE至M-dE
- M-dE至M-dE
-
-
- LLLL至LLLL
-
-
- M月d日至d日
- M月d日至M月d日
-
-
- M月d日E至d日E
- M月d日E至M月d日E
-
-
- y至y
-
-
- yy-M至yy-M
- yy-M至yy-M
-
-
- yy-M-d至yy-M-d
- yy-M-d至yy-M-d
- yy-M-d至yy-M-d
-
-
- yy-M-dE至yy-M-dE
- yy-M-dE至yy-M-dE
- yy-M-dE至yy-M-dE
-
-
- y年M月至M月
- y年M月至y年M月
-
-
- y年M月d日至d日
- y年M月d日至M月d日
- y年M月d日至y年M月d日
-
-
- y年M月d日E至d日E
- y年M月d日E至M月d日E
- y年M月d日E至y年M月d日E
-
-
-
-
-
- 时期
-
-
- å¹´
-
-
- 月
-
-
- 周
-
-
- æ—¥
- å‰å¤©
- 昨天
- ä»å¤©
- æ˜å¤©
- å天
-
-
- 周天
-
-
- ä¸åˆ/下åˆ
-
-
- å°æ—¶
-
-
- 分钟
-
-
- ç§’é’Ÿ
-
-
- 区域
-
-
-
-
-
-
- 民国å‰
- 民国
-
-
-
-
-
- Gy年M月d日EEEE
-
-
-
-
- Gy年M月d日
-
-
-
-
- Gy-M-d
-
-
-
-
- Gy-M-d
-
-
-
-
-
- ah:mm
- ah:mm:ss
- Gy/M
- Gy/M/d
- Gy/M/d(EEE)
- Gy/MM
- Gyå¹´MMM
- Gy年M月d日
- Gy年第Qå£åº¦
-
-
-
- y/M至y/M
- y/M至y/M
-
-
- y/M/d至y/M/d
- y/M/d至y/M/d
- y/M/d至y/M/d
-
-
- y/M/dE至y/M/dE
- y/M/dE至y/M/dE
- y/M/dE至y/M/dE
-
-
-
-
-
-
- +HHmm;-HHmm
- æ ¼æ—å°¼æ²»æ ‡å‡†æ—¶é—´{0}
- æ ¼æ—å°¼æ²»æ ‡å‡†æ—¶é—´
- {0}æ—¶é—´
-
- 未知
-
-
- 安é“å°”
-
-
- 迪拜
-
-
- 喀布尔
-
-
- 安æç“œ
-
-
- å®‰åœæ‹‰
-
-
- 地拉那
-
-
- 埃里温
-
-
- 库拉å¡
-
-
- 罗安达
-
-
- 罗瑟拉
-
-
- 帕默尔
-
-
- å—æ
-
-
- 斯尤瓦
-
-
- è«æ£®
-
-
- 戴维斯
-
-
- 沃斯托克
-
-
- å¡å¡
-
-
- æœè’™æœå¨å‹’
-
-
- 马克默å¤
-
-
- 里奥å 耶戈斯
-
-
- é—¨å¤è¨
-
-
- 圣胡安
-
-
- 乌斯怀äº
-
-
- 拉里奥哈
-
-
- å¡å¡”马å¡
-
-
- 胡胡ä¼
-
-
- 图库曼
-
-
- ç§‘å°”å¤ç“¦
-
-
- 布宜诺斯艾利斯
-
-
- 帕æœ-帕æœ
-
-
- 维也纳
-
-
- 佩æ€
-
-
- 尤克拉
-
-
- 达尔文
-
-
- 阿德è±å¾·
-
-
- 布罗肯希尔
-
-
- 库利
-
-
- 墨尔本
-
-
- éœå·´ç‰¹
-
-
- æ—德曼
-
-
- 悉尼
-
-
- 布里斯ç
-
-
- 豪勋爵
-
-
- 阿é²å·´
-
-
- ç›ä¸½æ¸¯
-
-
- 巴库
-
-
- è¨æ‹‰çƒçª
-
-
- 巴巴夿–¯
-
-
- è¾¾å¡
-
-
- 布é²å¡å°”
-
-
- ç“¦å æœå¤
-
-
- ç´¢éäº
-
-
- å·´æ—
-
-
- 布ç¼å¸ƒæ‹‰
-
-
- æ³¢å¤è¯ºä¼
-
-
- 百慕大
-
-
- æ–‡è±
-
-
- 拉巴斯
-
-
- ä¾ä¼¦å°¼è´
-
-
- 里奥布éƒåº“
-
-
- æ³¢å¤éŸ¦æŸ³
-
-
- å阿维斯塔
-
-
- 马瑙斯
-
-
- 库äºå·´
-
-
- 大忙®
-
-
- è´ä¼¦
-
-
- 阿拉瓜ä¼çº³
-
-
- 圣ä¿ç½—
-
-
- å·´ä¼äº
-
-
- ç¦å¡”é›·è¨
-
-
- 马å¡çº¦
-
-
- 累西腓
-
-
- 洛罗尼äº
-
-
- æ‹¿éª
-
-
- 廷布
-
-
- 哈å罗内
-
-
- æ˜æ–¯å…‹
-
-
- 伯利兹
-
-
- 铿£®
-
-
- æ€€ç‰¹éœæ–¯
-
-
- ä¼åªç»´å…‹
-
-
- 温哥å
-
-
- 铿£®å…‹é‡Œå…‹
-
-
- 耶洛奈夫
-
-
- 埃德蒙顿
-
-
- æ–¯å¨å¤«ç‰¹å¡ä¼¦ç‰¹
-
-
- å布里å£è´
-
-
- 里贾纳
-
-
- 温尼伯
-
-
- 雨河
-
-
- 雷仿µ·å£
-
-
- çç‘æ¸¯
-
-
- æ¡‘å¾·è´
-
-
- å°¼ç®è´¡
-
-
- å¤ä¼¦å¤
-
-
- 蒙特利尔
-
-
- ä¼éé²ä¼ç‰¹
-
-
- æ—æ¶…å”
-
-
- 蒙克顿
-
-
- 哈利法克斯
-
-
- 夿–¯æ¹¾
-
-
- æ ¼è±æ–¯è´
-
-
- 圣约翰
-
-
- å¯å¯æ–¯
-
-
- 金沙è¨
-
-
- 墿œ¬å·´å¸Œ
-
-
- çå‰
-
-
- 布拉æ‰ç»´
-
-
- è‹é»ä¸–
-
-
- 阿比让
-
-
- 拉罗汤å
-
-
- 夿´»è‚å²›
-
-
- 圣地äºå“¥
-
-
- æœé˜¿æ‹‰
-
-
- 喀什葛尔
-
-
- ä¹Œé²æœ¨é½
-
-
- é‡åº†
-
-
- 䏿µ·
-
-
- 哈尔滨
-
-
- 波哥大
-
-
- 哥斯达é»å
-
-
- 哈瓦那
-
-
- 佛得角
-
-
- 圣è¯å²›
-
-
- 尼科西äº
-
-
- å¸ƒæ‹‰æ ¼
-
-
- æŸæ—
-
-
- å‰å¸ƒæ
-
-
- å“¥æœ¬å“ˆæ ¹
-
-
- å¤ç±³å°¼å
-
-
- åœ£å¤æ˜å„
-
-
- 阿尔åå°”
-
-
- å æ‹‰å¸•哥斯
-
-
- 瓜äºåŸºå°”
-
-
- å¡”æ—
-
-
- 开罗
-
-
- 阿尤æ©
-
-
- 阿斯马拉
-
-
- å 那利
-
-
- 休达
-
-
- 马德里
-
-
- äºç„æ–¯äºè´å·´
-
-
- 赫尔辛基
-
-
- æ–æµ
-
-
- å²ä¸¹åˆ©
-
-
- 特é²å…‹ç¾¤å²›
-
-
- 波纳佩岛
-
-
- 库赛埃
-
-
- 法罗
-
-
- å·´é»
-
-
- 利伯维尔
-
-
-
- BST
-
- 伦敦
-
-
- æ ¼æ—纳达
-
-
- 第比利斯
-
-
- å¡å®´
-
-
- æ ¹è¥¿å²›
-
-
- 阿克拉
-
-
- 直布罗陀
-
-
- 图勒
-
-
- 戈特éœå¸ƒ
-
-
- 斯科列斯比桑德
-
-
- Danmarkshavnï¼ˆæ ¼é™µå…°ä¸œåŒ—åŸå¸‚)
-
-
- çç å°”
-
-
- 科纳克里
-
-
- 瓜德罗普
-
-
- 马拉å
-
-
- é›…å…¸
-
-
- å—乔治äº
-
-
- å±åœ°é©¬æ‹‰
-
-
- 关岛
-
-
- 比ç»
-
-
- åœäºé‚£
-
-
- 香港
-
-
- 特å¤è¥¿å 尔巴
-
-
- è¨æ ¼å‹’布
-
-
- å¤ªåæ¸¯
-
-
- 布达佩斯
-
-
- é›…å è¾¾
-
-
- å¤ç”¸
-
-
- 望å 锡
-
-
- æŸ¥äºæ™®æ‹‰
-
-
- éƒ½æŸæ—
-
-
- 耶路撒冷
-
-
- 马æ©å²›
-
-
- å å°”å„ç”
-
-
- 查戈斯
-
-
- å·´æ ¼è¾¾
-
-
- 德黑兰
-
-
- 雷克雅未克
-
-
- 罗马
-
-
- 泽西岛
-
-
- 牙买å
-
-
- 安曼
-
-
- 东京
-
-
- 内罗毕
-
-
- 比什凯克
-
-
- 金边
-
-
- æ©å¾·è´é‡Œ
-
-
- 基里地马地岛
-
-
- 塔拉瓦
-
-
- ç§‘æ‘©ç½—
-
-
- 圣基茨
-
-
- 平壤
-
-
- 首尔
-
-
- ç§‘å¨ç‰¹
-
-
- 开曼
-
-
- 阿克图
-
-
- 乌拉尔
-
-
- 阿克托别
-
-
- å…‹åœå‹’奥尔达
-
-
- 阿拉木图
-
-
- 万象
-
-
- è´é²ç‰¹
-
-
- 圣å¢è¥¿äº
-
-
- 瓦æœå…¹
-
-
- 科伦å¡
-
-
- 蒙罗维äº
-
-
- 马å¡å¢
-
-
- 维尔纽斯
-
-
- 墿£®å ¡
-
-
- 里å
-
-
- ç„黿³¢é‡Œ
-
-
- å¡è¨å¸ƒå…°å¡
-
-
- 摩纳哥
-
-
- 基希讷乌
-
-
- 波德戈里察
-
-
- 安塔那利佛
-
-
- 夸贾æ—
-
-
- 马朱罗
-
-
- 斯科普里
-
-
- 巴马科
-
-
- ä»°å…‰
-
-
- 科布å¤
-
-
- 乌兰巴托
-
-
- å“å·´å°”å¡
-
-
- 澳门
-
-
- å¡ç
-
-
- 马æå°¼å…‹
-
-
- åªç“¦å…‹è‚–特
-
-
- è’™ç‰¹å¡æ‹‰ç‰¹
-
-
- 马耳他
-
-
- 毛里求斯
-
-
- 马尔代夫
-
-
- 布兰太尔
-
-
- æå纳
-
-
- 埃è«è¥¿çº¦
-
-
- 马è¨ç‰¹å…°
-
-
- 奇瓦瓦
-
-
- 蒙特雷
-
-
- 墨西哥åŸ
-
-
- 梅里达
-
-
- åæ˜†
-
-
- å‰é†å¡
-
-
- 夿™‹
-
-
- 马普托
-
-
- 温得和克
-
-
- åªç¾é˜¿
-
-
- å°¼äºç¾
-
-
- 诺ç¦å…‹
-
-
- æ‹‰å„æ–¯
-
-
- 马那瓜
-
-
- 阿姆斯特丹
-
-
- 奥斯陆
-
-
- å 德满都
-
-
- ç‘™é²
-
-
- 纽埃
-
-
- 查塔姆
-
-
- 奥克兰
-
-
- 马斯喀特
-
-
- 巴拿马
-
-
- 利马
-
-
- 塔希æ
-
-
- é©¬å…‹è¨æ–¯
-
-
- 甘比尔
-
-
- è«å°”兹比港
-
-
- 马尼拉
-
-
- 塿‹‰å¥‡
-
-
- åæ²™
-
-
- 密克é†
-
-
- ç®ç‰¹å‡¯æ©
-
-
- æ³¢å¤é»å„
-
-
- å æ²™
-
-
- äºè¿°å°”群岛
-
-
- 马德拉
-
-
- 里斯本
-
-
- 帕å³
-
-
- äºæ¾æ£®
-
-
- å¡å¡”å°”
-
-
- 留尼旺
-
-
- 布å 勒斯特
-
-
- è´å°”æ ¼è±å¾·
-
-
- å é‡Œå®æ ¼å‹’
-
-
- è«æ–¯ç§‘
-
-
- ä¼å°”å æ ¼å‹’
-
-
- è¨é©¬æ‹‰
-
-
- å¶å¡æ·æ—å ¡
-
-
- 鄂木斯克
-
-
- 诺沃西比尔斯克
-
-
- 克拉斯诺äºå°”斯克
-
-
- ä¼å°”库茨克
-
-
- 雅库茨克
-
-
- 符拉迪沃斯托克
-
-
- è¨å“ˆæ—
-
-
- 马å 丹
-
-
- å ªå¯Ÿå
-
-
- 阿纳德尔
-
-
- 基å 利
-
-
- 利雅得
-
-
- 瓜达尔å¡çº³å°”
-
-
- 马埃
-
-
- 哈土穆
-
-
- 斯德哥尔摩
-
-
- æ–°å å¡
-
-
- 圣赫勒拿
-
-
- å¢å¸ƒå°”ç»´
-
-
- 朗ä¼å°”åŸ
-
-
- 布拉迪斯拉å‘
-
-
- 弗里敦
-
-
- 圣马å›è¯º
-
-
- 达喀尔
-
-
- æ‘©å 迪沙
-
-
- 帕拉马利ç»
-
-
- 圣å¤ç¾
-
-
- è¨å°”瓦å¤
-
-
- 大马士é©
-
-
- 姆巴巴纳
-
-
- 大土耳其
-
-
- æ©è´¾æ¢…纳
-
-
- 凯尔盖朗
-
-
- æ´›ç¾
-
-
- 曼谷
-
-
- æœå°åˆ«
-
-
- 法考ç¦
-
-
- å¸å›
-
-
- 阿什哈巴德
-
-
- çªå°¼æ–¯
-
-
- 东å 塔布
-
-
- 伿–¯å¦å¸ƒå°”
-
-
- 西ç牙港
-
-
- 富纳富æ
-
-
- å°åŒ—
-
-
- è¾¾ç´¯æ–¯è¨æ‹‰å§†
-
-
- 乌日戈罗德
-
-
- 基辅
-
-
- è¾›è²ç½—波尔
-
-
- æ‰æ³¢ç½—çƒ
-
-
- å帕拉
-
-
- ä¸é€”å²›
-
-
- 约翰斯顿
-
-
- å¨å…‹
-
-
- 艾德克
-
-
- 诺姆
-
-
- 檀香山
-
-
- 安克雷奇
-
-
- äºåº“塔特
-
-
- 朱诺
-
-
- æ´›æ‰çŸ¶
-
-
- åä¼è¥¿
-
-
- 凤凰åŸ
-
-
- 舰石åŸ
-
-
- 丹佛
-
-
- 北达科他
-
-
- èå å“¥
-
-
- 密诺米尼
-
-
- 温森斯
-
-
- å½¼å¾—æ–¯å ¡
-
-
- 诺克斯
-
-
- 马伦戈
-
-
- å°åœ°å®‰çº³æ³¢åˆ©æ–¯
-
-
- 路易斯维尔
-
-
- 维维市(å°ç¬¬å®‰çº³å·ï¼‰
-
-
- è’™è’‚å¡æ´›
-
-
- 底特律
-
-
- 纽约
-
-
- 蒙得维ç„äº
-
-
- 撒马尔罕
-
-
- 塔什干
-
-
- 梵蒂冈
-
-
- 圣文森特
-
-
- å æ‹‰å æ–¯
-
-
- 托尔托拉
-
-
- 圣托马斯
-
-
- 胡志æ˜å¸‚
-
-
- 埃法特
-
-
- 瓦利斯
-
-
- 阿ç®äº
-
-
- äºä¸
-
-
- 马约特
-
-
- çº¦ç¿°å†…æ–¯å ¡
-
-
- å¢è¨å¡
-
-
- 哈拉雷
-
-
-
- é˜¿å…‹é‡Œæ ‡å‡†æ—¶é—´
- 阿克里å¤ä»¤æ—¶é—´
-
-
-
-
- 阿富汗时间
-
-
-
-
- ä¸éƒ¨éæ´²æ ‡å‡†æ—¶é—´
-
-
-
-
- ä¸œéƒ¨éæ´²æ ‡å‡†æ—¶é—´
-
-
-
-
- éæ´²å—部时间
- å—éƒ¨éæ´²æ ‡å‡†æ—¶é—´
-
-
-
-
- è¥¿éƒ¨éæ´²æ ‡å‡†æ—¶é—´
- è¥¿éƒ¨éæ´²å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿å°”å‘æ–¯æ ‡å‡†æ—¶é—´
- é˜¿å°”å‘æ–¯å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿æ‹‰æ–¯å æ—¶é—´
- é˜¿æ‹‰æ–¯å æ ‡å‡†æ—¶é—´
- 阿拉斯å å¤ä»¤æ—¶é—´
-
-
-
-
- 阿拉斯å ï¼å¤å¨å¤·æ—¶é—´
- 阿拉斯å ï¼å¤å¨å¤·æ ‡å‡†æ—¶é—´
- 阿拉斯å ï¼å¤å¨å¤·å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿æ‹‰æœ¨å›¾æ ‡å‡†æ—¶é—´
- 阿拉木图å¤ä»¤æ—¶é—´
-
-
-
-
- äºé©¬é€æ ‡å‡†æ—¶é—´
- äºé©¬é€å¤ä»¤æ—¶é—´
-
-
-
-
- ç¾å›½ä¸éƒ¨æ—¶é—´
- ä¸éƒ¨æ ‡å‡†æ—¶é—´
- ä¸éƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- ç¾å›½ä¸œéƒ¨æ—¶é—´
- ä¸œéƒ¨æ ‡å‡†æ—¶é—´
- 东部å¤ä»¤æ—¶é—´
-
-
-
-
- ç¾å›½å±±åŒºæ—¶é—´
- å±±åŒºæ ‡å‡†æ—¶é—´
- 山区å¤ä»¤æ—¶é—´
-
-
-
-
- ç¾å›½å¤ªå¹³æ´‹æ—¶é—´
- å¤ªå¹³æ´‹æ ‡å‡†æ—¶é—´
- 太平洋å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿çº³å¾·å°”æ ‡å‡†æ—¶é—´
- 阿纳德尔å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿å…‹å›¾æ ‡å‡†æ—¶é—´
- 阿克图å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿å…‹æ‰˜åˆ«æ ‡å‡†æ—¶é—´
- 阿克托别å¤ä»¤æ—¶é—´
-
-
-
-
- 阿拉伯时间
- é˜¿æ‹‰ä¼¯æ ‡å‡†æ—¶é—´
- 阿拉伯å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿æ ¹å»·æ ‡å‡†æ—¶é—´
- é˜¿æ ¹å»·å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿æ ¹å»·è¥¿éƒ¨æ ‡å‡†æ—¶é—´
- é˜¿æ ¹å»·è¥¿éƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- äºç¾å°¼äºæ ‡å‡†æ—¶é—´
- äºç¾å°¼äºå¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿ä»€å“ˆå·´å¾·æ ‡å‡†æ—¶é—´
- 阿什哈巴德å¤ä»¤æ—¶é—´
-
-
-
-
- 大西洋时间
- å¤§è¥¿æ´‹æ ‡å‡†æ—¶é—´
- 大西洋å¤ä»¤æ—¶é—´
-
-
-
-
- 澳大利äºä¸éƒ¨æ—¶é—´
- 澳大利äºä¸éƒ¨æ ‡å‡†æ—¶é—´
- 澳大利äºä¸éƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- 澳大利äºä¸è¥¿éƒ¨æ ‡å‡†æ—¶é—´
- 澳大利äºä¸è¥¿éƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- 澳大利äºä¸œéƒ¨æ—¶é—´
- 澳大利äºä¸œéƒ¨æ ‡å‡†æ—¶é—´
- 澳大利äºä¸œéƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- 澳大利äºè¥¿éƒ¨æ—¶é—´
- 澳大利äºè¥¿éƒ¨æ ‡å‡†æ—¶é—´
- 澳大利äºè¥¿éƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- é˜¿å¡æ‹œç–†æ ‡å‡†æ—¶é—´
- é˜¿å¡æ‹œç–†å¤ä»¤æ—¶é—´
-
-
-
-
- äºè¿°å°”群岛时间
- äºè¿°å°”群岛å¤ä»¤æ—¶é—´
-
-
-
-
- å·´åº“æ ‡å‡†æ—¶é—´
- 巴库å¤ä»¤æ—¶é—´
-
-
-
-
- åŸå æ‹‰æ ‡å‡†æ—¶é—´
- åŸå 拉å¤ä»¤æ—¶é—´
-
-
-
-
- 白令时间
- ç™½ä»¤æ ‡å‡†æ—¶é—´
- 白令å¤ä»¤æ—¶é—´
-
-
-
-
- ä¸ä¸¹æ ‡å‡†æ—¶é—´
-
-
-
-
- ç»åˆ©ç»´äºæ—¶é—´
-
-
-
-
- å©†ç½—æ´²æ ‡å‡†æ—¶é—´
- 婆罗洲å¤ä»¤æ—¶é—´
-
-
-
-
- å·´è¥¿åˆ©äºæ ‡å‡†æ—¶é—´
- 巴西利äºå¤ä»¤æ—¶é—´
-
-
-
-
- æ±¶èæ™‚é–“
-
-
-
-
- 查è«ç½—æ ‡å‡†æ—¶åŒº
-
-
-
-
- 长白山时间
-
-
-
-
- æ™ºåˆ©æ ‡å‡†æ—¶é—´
- 智利å¤ä»¤æ—¶é—´
-
-
-
-
- ä¸å›½æ—¶é—´
- ä¸å›½æ ‡å‡†æ—¶é—´
- ä¸å›½å¤ä»¤æ—¶é—´
-
-
- CT(ä¸å›½ï¼‰
- CST(ä¸å›½ï¼‰
- CDT(ä¸å›½ï¼‰
-
-
-
-
- ä¹”å·´å±±æ ‡å‡†æ—¶é—´
- 乔巴山å¤ä»¤æ—¶é—´
-
-
-
-
- å“¥ä¼¦æ¯”äºæ—¶é—´
- 哥伦比äºå¤ä»¤æ—¶é—´
-
-
-
-
- å¤å·´æ—¶é—´
- å¤å·´æ ‡å‡†æ—¶é—´
- å¤å·´å¤ä»¤æ—¶é—´
-
-
- CST(å¤å·´ï¼‰
- CDT(å¤å·´ï¼‰
-
-
-
-
- è¾¾å¡æ ‡å‡†æ—¶é—´
-
-
-
-
- æœå°åˆ«æ ‡å‡†æ—¶é—´
- æœå°åˆ«å¤ä»¤æ—¶é—´
-
-
-
-
- è·å±åœäºé‚£æ ‡å‡†æ—¶é—´
-
-
-
-
- ä¸œå¸æ±¶æ ‡å‡†æ—¶é—´
-
-
-
-
- å„瓜å¤å°”æ ‡å‡†æ—¶é—´
-
-
-
-
- 䏿¬§æ ‡å‡†æ—¶é—´
- 䏿¬§å¤ä»¤æ—¶é—´
-
-
-
-
- ä¸œæ¬§æ ‡å‡†æ—¶é—´
- 东欧å¤ä»¤æ—¶é—´
-
-
-
-
- 欧洲西部时间
- 欧洲西部å¤ä»¤æ—¶é—´
-
-
-
-
- 法å±åœäºé‚£æ—¶é—´
-
-
-
-
- ä¼é¾™èæ ‡å‡†æ—¶é—´
- ä¼é¾™èå¤ä»¤æ—¶é—´
-
-
-
-
- å æ‹‰å¸•戈斯时间
-
-
-
-
- æ ¼é²å‰äºæ ‡å‡†æ—¶é—´
- æ ¼é²å‰äºå¤ä»¤æ—¶é—´
-
-
-
-
- æ ¼æ—å°¼æ²»æ ‡å‡†æ—¶é—´
-
- true
-
-
-
- æ ¼æ—å…°ä¸éƒ¨æ ‡å‡†æ—¶é—´
- æ ¼æ—å…°ä¸éƒ¨å¤ä»¤æ—¶é—´
-
-
-
-
- æ ¼æ—å…°ä¸œéƒ¨æ ‡å‡†æ—¶é—´
- æ ¼æ—兰东部å¤ä»¤æ—¶é—´
-
-
-
-
- æ ¼æ—å…°è¥¿éƒ¨æ ‡å‡†æ—¶é—´
- æ ¼æ—兰西部å¤ä»¤æ—¶é—´
-
-
-
-
- å…³å²›æ ‡å‡†æ—¶é—´
-
-
-
-
- æµ·æ¹¾æ ‡å‡†æ—¶é—´
-
-
-
-
- ç›–äºé‚£æ—¶é—´
-
-
-
-
- å¤å¨å¤·â€”é˜¿ç•™ç”³æ ‡å‡†æ—¶é—´
-
-
-
-
- 香港时间
- 香港å¤ä»¤æ—¶é—´
-
-
-
-
- ç§‘å¸ƒå¤æ—¶é—´
- 科布å¤å¤ä»¤æ—¶é—´
-
-
-
-
- å°åº¦æ ‡å‡†æ—¶é—´
-
-
-
-
- å°åº¦å°¼è¥¿äºä¸éƒ¨æ ‡å‡†æ—¶é—´
-
-
-
-
- å°åº¦å°¼è¥¿äºä¸œéƒ¨æ ‡å‡†æ—¶é—´
-
-
-
-
- å°åº¦å°¼è¥¿äºè¥¿éƒ¨æ ‡å‡†æ—¶é—´
-
-
-
-
- 伿œ—æ ‡å‡†æ—¶é—´
- 伿œ—å¤ä»¤æ—¶é—´
-
-
-
-
- ä¼å°”库茨克时间
- ä¼å°”库茨克å¤ä»¤æ—¶é—´
-
-
-
-
- 以色列时间
- ä»¥è‰²åˆ—æ ‡å‡†æ—¶é—´
- 以色列å¤ä»¤æ—¶é—´
-
-
- IST (以色列)
-
-
-
-
- 日本时间
- æ—¥æœ¬æ ‡å‡†æ—¶é—´
- 日本å¤ä»¤æ—¶é—´
-
-
-
-
- 塿‹‰å¥‡æ ‡å‡†æ—¶é—´
-
-
-
-
- å–€ä»€æ ‡å‡†æ—¶é—´
-
-
-
-
- 哈è¨å…‹æ–¯å¦ä¸œéƒ¨æ—¶é—´
- 哈è¨å…‹æ–¯å¦ä¸œéƒ¨æ ‡å‡†æ—¶é—´
-
-
-
-
- 哈è¨å…‹æ–¯å¦è¥¿éƒ¨æ—¶é—´
- 哈è¨å…‹æ–¯å¦è¥¿éƒ¨æ ‡å‡†æ—¶é—´
-
-
-
-
- å…‹åœå‹’å¥¥å°”è¾¾æ ‡å‡†æ—¶é—´
- å…‹åœå‹’奥尔达å¤ä»¤æ—¶é—´
-
-
-
-
- 韩国时间
- éŸ©å›½æ ‡å‡†æ—¶é—´
- 韩国å¤ä»¤æ—¶é—´
-
-
-
-
- 夿¯”雪夫时间
- 夿¯”雪夫å¤ä»¤æ—¶é—´
-
-
-
-
- å¤¸è´¾æ—æ—¶é—´
-
-
-
-
- å‰å°”剿–¯æ–¯å¦æ ‡å‡†æ—¶é—´
-
-
-
-
- æ–¯é‡Œå…°å¡æ ‡å‡†æ—¶é—´
-
-
-
-
- 罗德毫岛时间
- ç½—å¾·æ¯«å²›æ ‡å‡†æ—¶é—´
- 罗德毫岛å¤ä»¤æ—¶é—´
-
-
-
-
- æ¾³é—¨æ ‡å‡†æ—¶é—´
- 澳门å¤ä»¤æ—¶é—´
-
-
-
-
- 马å 丹时间
- 马å 丹å¤ä»¤æ—¶é—´
-
-
-
-
- 马æ¥äºæ ‡å‡†æ—¶é—´
-
-
-
-
- 马æ¥è¥¿äºæ ‡å‡†æ—¶é—´
-
-
-
-
- 马ç»å°”群岛时间
-
-
-
-
- ä¹Œå…°å·´æ‰˜æ ‡å‡†æ—¶é—´
- 乌兰巴托å¤ä»¤æ—¶é—´
-
-
-
-
- è«æ–¯ç§‘æ—¶é—´
- è«æ–¯ç§‘æ ‡å‡†æ—¶é—´
- è«æ–¯ç§‘å¤ä»¤æ—¶é—´
-
-
-
-
- 缅甸时间
-
-
-
-
- å°¼æ³å°”æ—¶é—´
-
-
-
-
- 新西兰时间
- æ–°è¥¿å…°æ ‡å‡†æ—¶é—´
- 新西兰å¤ä»¤æ—¶é—´
-
-
-
-
- 纽è¬å…°æ—¶é—´
- 纽è¬å…°æ ‡å‡†æ—¶é—´
- 纽è¬å…°å¤ä»¤æ—¶é—´
-
-
-
-
- 费尔å—å¤-迪诺罗尼äºå²›æ—¶é—´
- 费尔å—å¤-迪诺罗尼äºå²›å¤ä»¤æ—¶é—´
-
-
-
-
- 北马里äºçº³ç¾¤å²›æ—¶é—´
-
-
-
-
- æ–°è¥¿ä¼¯åˆ©äºæ—¶é—´
- 新西伯利äºå¤ä»¤æ—¶é—´
-
-
-
-
- 鄂木斯克时间
- 鄂木斯克å¤ä»¤æ—¶é—´
-
-
-
-
- å·´åŸºæ–¯å¦æ ‡å‡†æ—¶é—´
- 巴基斯å¦å¤ä»¤æ—¶é—´
-
-
-
-
- å·´æ‹‰åœæ—¶é—´
- 巴拉åœå¤ä»¤æ—¶é—´
-
-
-
-
- ç§˜é²æ—¶é—´
- 秘é²å¤Â»Â¤æ—¶é—´
-
-
-
-
- è²å¾‹å®¾æ—¶é—´
- è²å¾‹å®¾å¤ä»¤æ—¶é—´
-
-
-
-
- 彼得岛和米克é†å²›æ—¶é—´
- 彼得岛和米克é†å²›æ ‡å‡†æ—¶é—´
- 彼得岛和米克é†å²›å¤ä»¤æ—¶é—´
-
-
-
-
- å…‹åœå‹’å¥¥å°”è¾¾æ ‡å‡†æ—¶é—´
- å…‹åœå‹’奥尔达å¤ä»¤æ—¶é—´
-
-
-
-
- 库页岛时间
- 库页岛å¤ä»¤æ—¶é—´
-
-
-
-
- è¨é©¬æ‹‰æ—¶é—´
- è¨é©¬æ‹‰å¤ä»¤æ—¶é—´
-
-
-
-
- æ’’é©¬å°”ç½•æ ‡å‡†æ—¶é—´
- 撒马尔罕å¤ä»¤æ—¶é—´
-
-
-
-
- è¨æ‘©äºæ ‡å‡†æ—¶é—´
-
-
-
-
- èˆç”«ç´ç§‘æ—¶é—´
- èˆç”«ç´ç§‘å¤ä»¤æ—¶é—´
-
-
-
-
- æ–°å 塿 ‡å‡†æ—¶é—´
-
-
-
-
- è‹é‡Œå—æ ‡å‡†æ—¶é—´
-
-
-
-
- æ–¯ç»´å°”å¾·æ´›å¤«æ–¯å…‹æ ‡å‡†æ—¶é—´
- 斯维尔德洛夫斯克å¤ä»¤æ—¶é—´
-
-
-
-
- å°åŒ—æ—¶é—´
- å°åŒ—æ ‡å‡†æ—¶é—´
- å°åŒ—å¤ä»¤æ—¶é—´
-
-
- CT(å°åŒ—)
- CST(å°åŒ—)
- CDT(å°åŒ—)
-
-
-
-
- å¡”å‰å…‹æ–¯å¦æ ‡å‡†æ—¶é—´
-
-
-
-
- å¡”ä»€å¹²æ ‡å‡†æ—¶é—´
- 塔什干å¤ä»¤æ—¶é—´
-
-
-
-
- ç¬¬æ¯”åˆ©æ–¯æ ‡å‡†æ—¶é—´
- 第比利斯å¤ä»¤æ—¶é—´
-
-
-
-
- 土耳其时间
- 土耳其å¤ä»¤æ—¶é—´
-
-
-
-
- åœŸåº“æ›¼æ–¯å¦æ ‡å‡†æ—¶é—´
- 土库曼斯å¦å¤ä»¤æ—¶é—´
-
-
-
-
- ä¹Œæ‹‰å°”æ–¯å…‹æ ‡å‡†æ—¶é—´
- 乌拉尔斯克å¤ä»¤æ—¶é—´
-
-
-
-
- ä¹Œæ‹‰åœæ—¶é—´
- 乌拉åœå¤ä»¤æ—¶é—´
-
-
-
-
- ä¹Œé²æœ¨é½æ ‡å‡†æ—¶é—´
-
-
-
-
- ä¹Œå…¹åˆ«å…‹æ–¯å¦æ ‡å‡†æ—¶é—´
- ¹Œ兹别克斯å¦å¤ä»¤æ—¶é—´
-
-
-
-
- å§”å†…ç‘æ‹‰æ—¶é—´
-
-
-
-
- æµ·å‚å´´æ—¶é—´
- æµ·å‚å´´å¤ä»¤æ—¶é—´
-
-
-
-
- 雅库茨克时间
- 雅库茨克å¤ä»¤æ—¶é—´
-
-
-
-
- å¶å¡æ·ç³å ¡æ ‡å‡†æ—¶é—´
- å¶å¡æ·ç³å ¡å¤ä»¤æ—¶é—´
-
-
-
-
- åŸƒé‡Œæ¸©æ ‡å‡†æ—¶é—´
- 埃里温å¤ä»¤æ—¶é—´
-
-
-
-
- 育空时间
- è‚²ç©ºæ ‡å‡†æ—¶é—´
- 育空å¤ä»¤æ—¶é—´
-
-
-
-
-
-
- .
- ,
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
- 安é“尔比å¡å¡”
-
-
- 阿è”酋迪拉姆
-
-
- 阿富汗尼 (1927-2002)
-
-
- 阿富汗尼
-
-
- 阿尔巴尼äºåˆ—å…‹
-
-
- äºç¾å°¼äºå¾·æ‹‰å§†
-
-
- è·å…°å®‰æ›¿å…°ç›¾
-
-
- 安哥拉宽æ‰
-
-
- å®‰å“¥æ‹‰å®½æ‰ (1977-1990)
-
-
- å®‰å“¥æ‹‰æ–°å®½æ‰ (1990-2000)
-
-
- å®‰å“¥æ‹‰å®½æ‰ Reajustado (1995-1999)
-
-
- é˜¿æ ¹å»·å¥¥æ–¯ç‰¹
-
-
- é˜¿æ ¹å»·æ¯”ç´¢ (1983-1985)
-
-
- é˜¿æ ¹å»·æ¯”ç´¢
-
-
- 奥地利先令
-
-
- 澳大利äºå…ƒ
-
-
- 阿é²å·´åŸºå°”å¾·å…ƒ
-
-
- é˜¿å¡æ‹œç–†é©¬çº³ç‰¹ (1993-2006)
-
-
- é˜¿å¡æ‹œç–†é©¬çº³ç‰¹
-
-
- 波士尼äº-赫å¡å“¥ç»´çº³ç¬¬çº³å°”
-
-
- 波士尼äº-赫å¡å“¥ç»´çº³å…‘æ¢åˆ¸
-
-
- 巴巴夿–¯å…ƒ
-
-
- åŸå 拉塔å¡
-
-
- 比利时法éƒå…‘æ¢åˆ¸
-
-
- 比利时法éƒ
-
-
- 比利时法éƒï¼ˆé‡‘è)
-
-
- ä¿å 利äºç¡¬åˆ—å¼—
-
-
- ä¿å åˆ©äºæ–°åˆ—å¼—
-
-
- å·´æ—第纳尔
-
-
- 布é†è¿ªæ³•éƒ
-
-
- 百慕大元
-
-
- æ–‡è±å…ƒ
-
-
- ç»åˆ©ç»´äºè¯º
-
-
- ç»åˆ©ç»´äºæ¯”ç´¢
-
-
- ç»åˆ©ç»´äº Mvdol(资金)
-
-
- 巴西克é²èµ›ç½— Novo (1967-1986)
-
-
- å·´è¥¿å…‹é²æ‰å¤
-
-
- 巴西克é²å¡ç½— (1990-1993)
-
-
- 巴西雷äºå°”
-
-
- å·´è¥¿å…‹é²æ‰å¤ Novo
-
-
- 巴西克é²å¡ç½—
-
-
- 巴哈马元
-
-
- ä¸ä¸¹åªæ‰å§†
-
-
- ç¼…å…ƒ
-
-
- å茨瓦纳普拉
-
-
- 白俄罗斯新å¢å¸ƒ (1994-1999)
-
-
- 白俄罗斯å¢å¸ƒ
-
-
- 伯利兹元
-
-
- å æ‹¿å¤§å…ƒ
-
-
- åˆæœæ³•éƒ
-
-
- ç‘士法éƒ
-
-
- 智利 Unidades de Fomento(资金)
-
-
- 智利比索
-
-
- 人民å¸
- ï¿¥
-
-
- å“¥ä¼¦æ¯”äºæ¯”ç´¢
-
-
- 哥斯达é»å 科朗
-
-
- æ—§å¡å°”ç»´äºç¬¬çº³å°”
-
-
- æ·å…‹ç¡¬å…‹éƒ
-
-
- å¤å·´æ¯”ç´¢
-
-
- 佛得角埃斯库å¤
-
-
- 塿µ¦è·¯æ–¯é•‘
-
-
- æ·å…‹å…‹éƒ
-
-
- 东德奥斯特马克
-
-
- 德国马克
-
-
- å‰å¸ƒææ³•éƒ
-
-
- 丹麦克朗
-
-
- å¤ç±³å°¼å 比索
-
-
- 阿尔å利äºç¬¬çº³å°”
-
-
- å„瓜å¤å°”è‹å…‹é›·
-
-
- å„瓜å¤å°” Unidad de Valor Constante (UVC)
-
-
- 爱沙尼äºå…‹æœ—
-
-
- 埃åé•‘
-
-
- å„立特里äºçº³å…‹æ³•
-
-
- 西ç牙比å¡å¡”ï¼ˆå¸æˆ· A)
-
-
- 西ç牙比å¡å¡”(兑æ¢å¸æˆ·ï¼‰
-
-
- 西ç牙比å¡å¡”
-
-
- 埃å¡ä¿„æ¯”äºæ¯”å°”
-
-
- 欧元
-
-
- è¬å…°é©¬å…‹
-
-
- æ–æµå…ƒ
-
-
- ç¦å…‹å…°é•‘
-
-
- 法国法éƒ
-
-
- 英镑
-
-
- 乔治äºåº“蓬拉ç‘特
-
-
- ä¹”æ²»äºæ‹‰ç‘
-
-
- å 纳å¡ç¬¬
-
-
- å 纳å¡åœ°
-
-
- 直布罗陀镑
-
-
- 冈比äºè¾¾æ‹‰è¥¿
-
-
- å‡ å†…äºæ³•éƒ
-
-
- å‡ å†…äºè¥¿é‡Œ
-
-
- 赤é“å‡ å†…äºåŸƒå¥å‹’
-
-
- 希è…德拉克马
-
-
- å±åœ°é©¬æ‹‰æ ¼æŸ¥å°”
-
-
- è‘¡è„ç‰™å‡ å†…äºåŸƒæ–¯åº“å¤
-
-
- å‡ å†…äºæ¯”ç»æ¯”ç´¢
-
-
- åœäºé‚£å…ƒ
-
-
- 港元
-
-
- æ´ªéƒ½æ‹‰æ–¯æ‹‰ä¼¦ç®æ‹‰
-
-
- 克罗地äºç¬¬çº³å°”
-
-
- 克罗地äºåº“纳
-
-
- 海地å¤å¾·
-
-
- åŒˆç‰™åˆ©ç¦æ—
-
-
- å°åº¦å°¼è¥¿äºç›¾
-
-
- 爱尔兰镑
-
-
- 以色列镑
-
-
- 以色列新谢克尔
-
-
- å°åº¦å¢æ¯”
-
-
- 伿‹‰å…‹ç¬¬çº³å°”
-
-
- 伿œ—里äºå°”
-
-
- 冰岛克朗
-
-
- æ„大利里拉
-
-
- 牙买å å…ƒ
-
-
- 约旦第纳尔
-
-
- 日元
-
-
- 肯尼äºå…ˆä»¤
-
-
- å‰å°”剿–¯æ–¯å¦ç´¢å§†
-
-
- 柬埔寨ç‘å°”
-
-
- 科摩罗法éƒ
-
-
- æœé²œåœ†
-
-
- 韩圆
- ₩
-
-
- ç§‘å¨ç‰¹ç¬¬çº³å°”
-
-
- 开曼元
-
-
- 哈è¨å…‹æ–¯å¦å戈
-
-
- è€æŒåŸºæ™®
-
-
- é»å·´å«©é•‘
-
-
- 斯里兰å¡å¢æ¯”
-
-
- 利比äºå…ƒ
-
-
- è±ç´¢æ‰˜æ´›è’‚
-
-
- 立陶宛立特
-
-
- 立陶宛塔咯å‘å¸
-
-
- 墿£®å ¡å¯å…‘æ¢æ³•éƒ
-
-
- 墿£®å ¡æ³•éƒ
-
-
- 墿£®å ¡é‡‘èæ³•éƒ
-
-
- æ‹‰è„±ç»´äºæ‹‰ç‰¹
-
-
- 拉脱维äºå¢å¸ƒ
-
-
- 利比äºç¬¬çº³å°”
-
-
- 摩洛哥迪拉姆
-
-
- 摩洛哥法éƒ
-
-
- æ‘©å°”å¤ç“¦åˆ—ä¼
-
-
- é©¬è¾¾å æ–¯å 阿里äºé‡Œ
-
-
- é©¬è¾¾å æ–¯å 法éƒ
-
-
- 马其顿戴代纳尔
-
-
- 马里法éƒ
-
-
- 缅甸开äºç‰¹
-
-
- è’™å¤å›¾æ ¼é‡Œå…‹
-
-
- 澳门元
-
-
- 毛里塔尼äºä¹Œå‰äº
-
-
- 马耳他里拉
-
-
- 马耳他镑
-
-
- æ¯›é‡Œæ±‚æ–¯å¢æ¯”
-
-
- 马尔代夫拉è²äº
-
-
- 马拉维克瓦查
-
-
- 墨西哥比索
-
-
- 墨西哥银比索 (1861-1992)
-
-
- 墨西哥 Unidad de Inversion (UDI)(资金)
-
-
- 马æ¥è¥¿äºæ—å‰ç‰¹
-
-
- è«æ¡‘比克埃斯库å¤
-
-
- æ—§è«æ¡‘æ¯”å…‹ç¾æå¡
-
-
- è«æ¡‘æ¯”å…‹ç¾æå¡
-
-
- 纳米比äºå…ƒ
-
-
- 尼日利äºå¥ˆæ‹‰
-
-
- å°¼å æ‹‰ç“œç§‘å¤å·´
-
-
- å°¼å æ‹‰ç“œé‡‘ç§‘å¤å·´
-
-
- è·å…°ç›¾
-
-
- 挪å¨å…‹æœ—
-
-
- å°¼æ³å°”墿¯”
-
-
- 新西兰元
-
-
- 阿曼里äºå°”
-
-
- 巴拿马巴波äº
-
-
- 秘é²å°ç¬¬
-
-
- ç§˜é²æ–°ç´¢å°”
-
-
- 秘é²ç´¢å°”
-
-
- å·´å¸ƒäºæ–°å‡ 内äºåŸºé‚£
-
-
- è²å¾‹å®¾æ¯”ç´¢
-
-
- 巴基斯å¦å¢æ¯”
-
-
- 波兰兹罗æ
-
-
- 波兰兹罗æ (1950-1995)
-
-
- è‘¡è„牙埃斯库å¤
-
-
- 巴拉åœç“œæ‹‰å°¼
-
-
- å¡å¡”尔里äºå°”
-
-
- 罗得西äºå…ƒ
-
-
- 旧罗马尼äºåˆ—ä¼
-
-
- 罗马尼äºåˆ—ä¼
-
-
- å¡å°”ç»´äºç¬¬çº³å°”
-
-
- 俄国å¢å¸ƒ
-
-
- 俄国å¢å¸ƒ (1991-1998)
-
-
- 墿—ºè¾¾æ³•éƒ
-
-
- 沙特里äºå°”
-
-
- 所罗门群岛元
-
-
- å¡èˆŒå°”墿¯”
-
-
- è‹ä¸¹ç¬¬çº³å°”
-
-
- è‹ä¸¹é•‘
-
-
- æ—§è‹ä¸¹é•‘
-
-
- ç‘典克朗
-
-
- æ–°å å¡å…ƒ
-
-
- 圣赫勒拿群岛磅
-
-
- æ–¯æ´›æ–‡å°¼äºæ‰˜æ‹‰å°”
-
-
- 斯洛ä¼å…‹å…‹æœ—
-
-
- 塿‹‰åˆ©æ˜‚利昂
-
-
- 索马里先令
-
-
- è‹é‡Œå—å…ƒ
-
-
- è‹é‡Œå—盾
-
-
- 圣å¤ç¾å’Œæ™®æ—西比å¤å¸ƒæ‹‰
-
-
- è‹è”å¢å¸ƒ
-
-
- è¨å°”瓦å¤ç§‘朗
-
-
- å™åˆ©äºé•‘
-
-
- æ–¯å¨å£«å…°é‡Œå…°å‰å°¼
-
-
- æ³°é“¢
-
-
- å¡”å‰å…‹æ–¯å¦å¢å¸ƒ
-
-
- å¡”å‰å…‹æ–¯å¦ç´¢è«å°¼
-
-
- 土库曼斯å¦é©¬çº³ç‰¹
-
-
- çªå°¼æ–¯ç¬¬çº³å°”
-
-
- æ±¤å æ½˜å
-
-
- 叿±¶åŸƒæ–¯åº“å¤
-
-
- 土耳其里拉
-
-
- 新土耳其里拉
-
-
- 特立尼达和å¤å·´å“¥å…ƒ
-
-
- æ–°å°å¸
-
-
- 妿¡‘å°¼äºå…ˆä»¤
-
-
- ä¹Œå…‹å…°æ ¼é‡Œå¤«å°¼äº
-
-
- 乌克兰å¸
-
-
- 乌干达先令 (1966-1987)
-
-
- 乌干达先令
-
-
- ç¾å…ƒ
-
-
- ç¾å…ƒï¼ˆæ¬¡æ—¥ï¼‰
-
-
- ç¾å…ƒï¼ˆå½“日)
-
-
- ä¹Œæ‹‰åœæ–°æ¯”ç´¢ (1975-1993)
-
-
- ä¹Œæ‹‰åœæ¯”ç´¢
-
-
- 乌兹别克斯è‹å§†
-
-
- å§”å†…ç‘æ‹‰å利瓦
-
-
- å§”å†…ç‘æ‹‰å¼ºå¿ç»åˆ©ç“¦
-
-
- è¶å—盾
-
-
- 瓦åªé˜¿å›¾ç“¦å›¾
-
-
- è¥¿è¨æ‘©äºå¡”拉
-
-
- ä¸é金èåˆä½œæ³•éƒ
-
-
- é“¶
-
-
- 黄金
-
-
- 欧洲å¤åˆå•ä½
-
-
- 欧洲货å¸è”盟
-
-
- 欧洲计算å•ä½ (XBC)
-
-
- 欧洲计算å•ä½ (XBD)
-
-
- 东å 勒比元
-
-
- ç‰¹åˆ«ææ¬¾æƒ
-
-
- 欧洲货å¸å•ä½
-
-
- 法国金法éƒ
-
-
- 法国 UIC 法éƒ
-
-
- éæ´²é‡‘èå…±åŒä½“法éƒ
-
-
- é’¯
-
-
- 太平洋法éƒ
-
-
- é“‚
-
-
- RINET 基金
-
-
- 为测试ä¿ç•™ç„代ç
-
-
- è´§å¸æœªçŸ¥æˆ–æ— æ•ˆ
-
-
- 也门第纳尔
-
-
- 也门里äºå°”
-
-
- å—æ–¯æ‹‰å¤«ç¡¬ç¬¬çº³å°”
-
-
- å—æ–¯æ‹‰å¤«åŒå¨ç¬¬çº³å°”
-
-
- å—æ–¯æ‹‰å¤«å¯å…‘æ¢ç¬¬çº³å°”
-
-
- å—é兰特 (金è)
-
-
- å—é兰特
-
-
- èµæ¯”äºå…‹ç“¦æŸ¥
-
-
- æ–°æ‰ä¼å°”
-
-
- æ‰ä¼å°”
-
-
- 津巴布韦元
-
-
-
-
-
- {0}æ—¥
-
-
- {0}å°æ—¶
-
-
- {0}分
-
-
- {0}月
-
-
- {0}ç§’
-
-
- {0}周
-
-
- {0}å¹´
-
-
-
-
- 是:ç¡®å®
- å¦:å¦å®
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_CN.xml b/airtime_mvc/library/Zend/Locale/Data/zh_CN.xml
deleted file mode 100644
index e3e99acd9..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_CN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_HK.xml b/airtime_mvc/library/Zend/Locale/Data/zh_HK.xml
deleted file mode 100644
index ae671f724..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_HK.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hans.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hans.xml
deleted file mode 100644
index 20abcba3e..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hans.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_CN.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hans_CN.xml
deleted file mode 100644
index bcb72d314..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_CN.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_HK.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hans_HK.xml
deleted file mode 100644
index 393b0a46a..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_HK.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- $
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_MO.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hans_MO.xml
deleted file mode 100644
index 25d7ceaa8..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_MO.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_SG.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hans_SG.xml
deleted file mode 100644
index 6c1eaa2d6..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hans_SG.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dd/MM/yy
-
-
-
-
-
-
- ahh:mm:ssz
-
-
-
-
- ahh:mm
-
-
-
-
-
- M月d日
-
-
- {0}至{1}
-
- ahh至ahh
- ahh至hh
-
-
- ahh:mm至ahh:mm
- ahh:mm至hh:mm
- ahh:mm至hh:mm
-
-
- ahh:mm至ahh:mmv
- ahh:mm至hh:mmv
- ahh:mm至hh:mmv
-
-
- ahh至ahhv
- ahh至hhv
-
-
- dd/MM至dd/MM
- dd/MM至dd/MM
-
-
- dd/MME至dd/MME
- dd/MME至dd/MME
-
-
- y-y
-
-
- MM/yy至MM/yy
- MM/yy至MM/yy
-
-
- dd/MM/yy至dd/MM/yy
- dd/MM/yy至dd/MM/yy
- dd/MM/yy至dd/MM/yy
-
-
- dd/MM/yyE至dd/MM/yyE
- dd/MM/yyE至dd/MM/yyE
- dd/MM/yyE至dd/MM/yyE
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hant.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hant.xml
deleted file mode 100644
index 9d41caf16..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hant.xml
+++ /dev/null
@@ -1,3784 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- ,
-
-
- 阿布哈茲文
- äºé½æ–‡
- 阿僑利文
- é˜¿ç•¶è«æ–‡
- é˜¿è¿ªå„æ–‡
- 阿緯斯陀文
- å—éè·è˜æ–‡
- äºé諸èªè¨€
- æ„›åªæ–‡
- é˜¿åæ–‡
- 阿留申文
- 阿爾岡昆諸èªè¨€
- å—阿爾泰文
- 阿拉貢文
- å¤è‹±æ–‡
- 阿帕切諸èªè¨€
- 阿å‹åæ–‡
- 人工èªè¨€
- 阿薩姆文
- é˜¿æ–¯åœ–é‡Œäºæ–‡
- 阿薩帕斯å諸èªè¨€
- 澳洲諸èªè¨€
- 阿瓦爾文
- 阿瓦文
- 艾馬拉文
- äºå¡æ‹œç„¶æ–‡
- 巴什客爾文
- ç锿–‡
- 巴米累克諸èªè¨€
- 峇里文
- å·´è–©æ–‡
- æ³¢ç¾…ç„æµ·è«¸èªè¨€
- 白俄羅斯文
- è²æ‰æ–‡
- 別姆巴文
- æŸæŸçˆ¾æ–‡
- ä¿å åˆ©äºæ–‡
- 比哈爾文
- å傑普爾文
- 比斯拉馬文
- 比科爾文
- éŒ«å…‹éŒ«å¡æ–‡
- ç圖諸èªè¨€
- è—æ–‡
- æ³¢å£«å°¼äºæ–‡
- 布里阿特文
- å¸ƒå‰æ–¯æ–‡
- æ¯”æ—æ–‡
- å æ³°ç¾…å°¼äºæ–‡
- ä¸ç¾å°ç¬¬å®‰è«¸èªè¨€
- å 勒比文
- 高å 索諸èªè¨€
- 阿燦文
- è»è‡£æ–‡
- 宿霧文
- 凱爾特諸èªè¨€
- æŸ¥è«æ´›æ–‡
- 奇布查文
- 處奇斯文
- 馬里文
- 契奴克文
- 喬克托文
- å¥‡ä½©ç“¦ææ–‡
- 柴羅基文
- æ²™ä¼å®‰æ–‡
- ä½”èªè«¸èªè¨€
- ææ´²è…”調和洋涇濱,æºè‡ªè‹±æ–‡ç„(å…¶ä»–)
- ææ´²è…”調和洋涇濱,æºè‡ªæ³•æ–‡ç„(å…¶ä»–)
- ææ´²è…”調和洋涇濱,æºè‡ªè‘¡è„牙文ç„(å…¶ä»–)
- 克裡文
- 克里米äºåå³¶ç„土耳其文;克里米äºåå³¶ç„塔塔爾文
- å…‹é‡Œå¥§çˆ¾æ–‡å’Œç®æ¬½æ–‡
- å¡èˆ’布文
- 庫施特諸èªè¨€
- å¨çˆ¾æ–¯æ–‡
- 丹麥文
- é”ç§‘ä»–æ–‡
- é”çˆ¾æ ¼ç“¦æ–‡
- 迪雅克文
- 德文 (奧地利)
- 德拉瓦文
- 斯拉夫
- 夿 ¼é‡Œå¸ƒæ–‡
- 夿 ¼ä¾†æ–‡
- 德拉å¨è«¸èªè¨€
- 下索布文
- æœäºæ‹‰æ–‡
- ä¸å¤è·è˜æ–‡
- 迪ç¶è¥¿æ–‡
- åŸƒç¶æ–‡
- 埃è²å…‹æ–‡
- å¤åŸƒåæ–‡
- è‰¾å¡æœ±å…‹æ–‡
- 希臘文
- åŸƒè˜æ–‡
- 英文 (澳洲)
- 英文 (英國)
- 英文 (ç¾åœ‹)
- 世界èª
- 西ç牙文 (拉ä¸ç¾æ´²)
- 西ç牙文 (西ç牙)
- æ„›æ²™å°¼äºæ–‡
- 便±ªéƒ½æ–‡
- è³æ—æ–‡
- 富拉文
- è¬è˜æ–‡
- è²å¾‹è³“æ–‡
- è¬çƒè«¸èªè¨€
- æ–æ¿Ÿæ–‡
- 法羅文
- è±æ–‡
- 法文 (ç‘士)
- åŒ—å¼—é‡Œè¥¿äºæ–‡
- æ±å¼—é‡Œè¥¿äºæ–‡
- è¥¿å¼—é‡Œè¥¿äºæ–‡
- æ„›çˆ¾è˜æ–‡
- å æ—æ–‡
- å ç´„æ–‡
- è‘›å·´äºæ–‡
- è˜‡æ ¼è˜ - 蓋爾文
- 日耳曼諸èªè¨€
- å‰èŒ²æ–‡
- å‰çˆ¾ä¼¯ç‰¹ç¾¤å³¶æ–‡
- å é‡Œè¥¿äºæ–‡
- ä¸å¤é«˜åœ°æ—¥è€³æ›¼æ–‡
- å¤é«˜åœ°æ—¥è€³æ›¼æ–‡
- 岡德文
- ç§‘é†é”ç¾…æ–‡
- 哥德文
- å¤å¸Œè‡˜æ–‡
- å‰äºæ‹‰å¡”æ–‡
- 曼島文
- åœå¥‘æ–‡
- æµ·é”æ–‡
- 希伯來文
- 北å°åº¦æ–‡
- 希利蓋農文
- 赫馬查利文
- 赫梯文
- åŸæ–‡
- 西里è«åœ–土文
- å…‹ç¾…åŸƒè¥¿äºæ–‡
- 海地文
- äºç¾å°¼äºæ–‡
- 赫雷羅文
- åœ‹é›æ–‡A
- å°å°¼æ–‡
- åœ‹é›æ–‡E
- ä¼å¸ƒæ–‡
- å››å·å½æ–‡
- ä¼å–¬æ–‡
- ä¾å¥´ç®ç¶å…‹æ–‡
- 伿´›é—æ–‡
- å°åº¦è«¸èªè¨€
- å°æè«¸èªè¨€
- 伿œ—æ–‡
- 伿œ—諸èªè¨€
- æ˜“æ´›éæ–‡
- 冰島文
- 義大利文
- å› ç´ç‰¹æ–‡
- é‚輯文
- 猶太教-波斯文
- 猶太阿拉伯文
- å–¬æ²»äºæ–‡
- 塿‹‰å¡çˆ¾å¸•å…‹æ–‡
- 塿¯”爾文
- 克倫文
- å¡å·´çˆ¾é”æ–‡
- ç§‘ç¾…æ–‡
- å‰›æœæ–‡
- ç§‘ä¾æ¡‘諸èªè¨€
- å’Œé—æ–‡
- å‰åº«å°¤æ–‡
- 廣äºé¦¬æ–‡
- 哈薩克文
- æ ¼é™µè˜æ–‡
- 高棉文
- å那锿–‡
- 韓文
- è²¢æ ¹æ–‡
- ç§‘æ–¯é›·æ©æ–‡
- å¡åªè£¡æ–‡
- 塿‹‰æŸ´-包爾å¡çˆ¾æ–‡
- 克靿–‡
- 庫é¯ç§‘æ–‡
- 克什米爾文
- 庫爾德文
- 庫密克文
- 庫特奈文
- 康瓦耳文
- å‰çˆ¾å‰æ–¯æ–‡
- 拉迪諾文
- æ‹‰äº¨é”æ–‡
- è˜å·´æ–‡
- ç›§æ£®å ¡æ–‡
- 列茲干文
- 干锿–‡
- æ—å ¡æ–‡
- 寮國文
- è’æˆˆæ–‡
- æ´›é½æ–‡
- ç«‹é™¶å®›èª
- é¯å·´å ä¸¹å æ–‡
- é¯å·´é¯é¯äºæ–‡
- 路易å¡è«¾æ–‡
- ç›§æ©é”æ–‡
- 盧奧文
- ç›§æ™’æ–‡
- 拉脫ç¶äºæ–‡
- 馬都拉文
- 馬å 伿–‡
- é‚蒂利文
- 望å 錫文
- å—島諸èªè¨€
- 馬賽文
- æ›¼é”æ–‡
- 門德文
- 馬爾å 什文
- ä¸å¤æ„›çˆ¾è˜æ–‡
- 馬紹爾文
- 米克馬克文
- ç±³å—å¡å ¡æ–‡
- 混雜èªè«¸èªè¨€
- é¦¬å…¶é “æ–‡
- åŸé«˜æ£‰è«¸èªè¨€
- é¦¬ä¾†äºæ‹‰å§†æ–‡
- æ»¿æ—æ–‡
- 曼尼普裡文
- 馬諾å諸èªè¨€
- 摩爾å¤ç“¦æ–‡
- è«éœå…‹æ–‡
- 馬拉地文
- 馬來文
- 馬爾他文
- å¤ç¨®èªè¨€
- è’™é”諸èªè¨€
- 克里克文
- ç±³è˜å¾·æ–¯æ–‡
- 馬爾尼裡文
- 緬甸文
- 馬雅諸èªè¨€
- å„çˆ¾èŒ²äºæ–‡
- è«¾é¯æ–‡
- ç´ç“¦ç‰¹æ–‡
- 北ç¾å°ç¬¬å®‰è«¸èªè¨€
- æŒªå¨æ³¢å…‹é»˜çˆ¾æ–‡
- 北地畢列文
- ä½åœ°æ—¥è€³æ›¼æ–‡ï¼›ä½åœ°è–©å…‹éœæ–‡
- å°¼æ³çˆ¾æ–‡
- 尼瓦爾文
- æ©æ±å æ–‡
- å°¼äºæ–¯æ–‡
- 尼日爾科爾å¤å‡¡è«¸èªè¨€
- ç´åŸƒæ–‡
- è·è˜æ–‡
- 法è˜å¾·æ–¯æ–‡
- æ–°æŒªå¨æ–‡
- 諾蓋文
- å¤è«¾çˆ¾æ–¯æ–‡
- è¥¿éæ›¸é¢èªè¨€ï¼ˆN'ko)
- å—地畢列文
- åªæ¯”äºè«¸èªè¨€
- ç´ç“¦ç´„æ–‡
- å¤å°¼ç“¦çˆ¾æ–‡
- å°¼æè³ˆæ–‡
- å°¼æéŸ‹é½æ–‡
- å°¼æç§‘èæ–‡
- 尼奧囉文
- 尼茲馬文
- å¥§å…‹è¥¿å¦æ–‡
- 奧æ°å¸ƒç“¦æ–‡
- 阿曼文
- æé‡Œäºæ–‡
- å¥§å¡ææ–‡
- æå¡å¥‡æ–‡
- 鄂圖曼土耳其文 (1500-1928)
- 奧托米諸èªè¨€
- 巴布äºè«¸èªè¨€
- 潘å 辛文
- å·´åˆ—ç¶æ–‡
- 潘帕嘉文
- 帕ç®é˜¿é–€æ‰˜æ–‡
- å¸›ç‰æ–‡
- 夿³¢æ–¯æ–‡ (ca.600-400 B.C.)
- è²å¾‹è³“諸èªè¨€
- æ³¢è˜æ–‡
- æ³¢é‚£è²æ–‡
- 普拉克里特諸èªè¨€
- 夿™®ç¾…旺斯文
- 普什圖文
- è‘¡è„牙文 (è‘¡è„牙)
- è“‹ä¸˜äºæ–‡
- 拉賈斯å¦è«¸æ–‡
- 復活島文
- 拉羅é€å æ–‡
- 里托羅曼斯文
- é†è¿ªæ–‡
- ç¾…é¦¬å°¼äºæ–‡
- 羅曼諸èªè¨€
- 剿™®è³½æ–‡
- æ ¹èªè¨€
- 羅馬尼äºèªç³»
- ç›§å®‰é”æ–‡
- æ¡‘é”韋文
- 雅庫特文
- å—ç¾å°ç¬¬å®‰è«¸èªè¨€
- 薩利什諸èªè¨€
- 薩瑪利äºé˜¿æ‹‰å§†æ–‡
- æ’’æ’’å…‹æ–‡
- 散塔利文
- æ’’ä¸æ–‡
- è˜‡æ ¼è˜æ–‡
- å°åº¦èª
- 北方薩米文
- ç‘Ÿçˆ¾å¡æ™®æ–‡
- é–ƒèªè«¸èªè¨€
- 夿„›çˆ¾è˜æ–‡ï¼ˆè‡³ 900)
- 手èª
- å¡çˆ¾ç¶äºå…‹ç¾…åŸƒè¥¿äºæ–‡
- 撣文
- 僧伽羅文
- å¸Œé”æ‘©æ–‡
- 蘇èªè«¸èªè¨€
- æ¼¢è—諸èªè¨€
- 斯洛ç¶å°¼äºæ–‡
- 斯拉夫諸èªè¨€
- è–©æ‘©äºæ–‡
- å—薩米文
- 薩米諸èªè¨€
- é¯å‹’薩米文
- ä¼ç´è£¡è–©ç±³æ–‡
- 斯科特薩米文
- å¡å…§å 爾文
- 索馬利文
- ç´¢æ ¼åº•äºç´æ–‡
- é˜¿çˆ¾å·´å°¼äºæ–‡
- å¡çˆ¾ç¶äºæ–‡
- è˜‡æ‹‰å—æ±å¢æ–‡
- å¡é›·çˆ¾æ–‡
- 尼羅撒哈拉諸èªè¨€
- 巽他èª
- 蘇庫馬文
- 蘇蘇文
- è˜‡ç¾æ–‡
- å²ç“¦å¸Œé‡Œæ–‡
- 夿•˜åˆ©äºæ–‡
- æ•˜åˆ©äºæ–‡
- å¦ç±³çˆ¾æ–‡
- å‚£èªè«¸èªè¨€
- 泰盧固文
- æå§†æ–‡
- 泰雷諾文
- æ³°é “æ–‡
- ææ ¼åˆ©å°¼äºæ–‡
- è’‚æ ¼é›·æ–‡
- æå¤«æ–‡
- 土庫曼文
- æ‰˜å…‹å‹æ–‡
- å¡”å è·¯æ—æ–‡
- å…‹æ—貢文
- 特æ—基特文
- 塔馬奇克文
- çªå°¼è¥¿äºæ–‡
- æ±å æ–‡
- æ¹¯å æ–‡(å°¼äºè–©æ–‡)
- 托比辛文
- 特æ¾å æ–‡
- 欽西安文
- éŸƒé¼æ–‡
- åœ–å§†å¸ƒå¡æ–‡
- 圖ç®è«¸èªè¨€
- 阿爾泰諸èªè¨€ï¼ˆå…¶ä»–)
- åç“¦é¯æ–‡
- 大溪地文
- 土凡文
- 沃蒂艾克文
- ç¶å¾çˆ¾æ–‡
- çƒå 列文
- çƒå…‹è˜æ–‡
- å§†æœ¬æœæ–‡
- 未確å®ç„
- çƒçˆ¾éƒ½æ–‡
- çƒèŒ²åˆ¥å…‹æ–‡
- è¶å—æ–‡ Vai
- æº«é”æ–‡
- 瓦å¡ä»€è«¸èªè¨€
- ç“¦ç‘æ–‡
- 瓦紹文
- 索布諸èªè¨€
- 沃爾夫文
- å¡çˆ¾æ¢…å…‹æ–‡
- ç§‘è–©æ–‡
- 瑤文
- æ„第緒文
- ç´„é¯å·´æ–‡
- å°¤ç®å…‹è«¸èªè¨€
- 壯文
- 薩波特克文
- 布列斯符號
- 澤ç´å æ–‡
- ç°¡é«”ä¸æ–‡
- ç¹é«”䏿–‡
- è´å¾·æ–‡
- ç¥–é¯æ–‡
- 祖尼文
- ç„¡èªè¨€å…§å®¹
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- æ±é
- éæ´²å—部
- æ±äº
- å—äº
- æ±å—äº
- å—æ
- 澳洲與ç´è¥¿è˜
- ç¾æ‹‰å°¼è¥¿äº
- 密克羅尼西äº
- ç»é‡Œå°¼è¥¿äº
- ä¸å—äº
- äºæ´²
- ä¸äº
- 西äº
- ææ´²
- æ±æ
- 北æ
- 西æ
- ç¨ç«‹åœ‹å”
- 海峽群島
- 安é“爾
- 阿拉伯è¯åˆå¤§å…¬åœ‹
- 安地å¡å巴布é”
- å®‰åœæ‹‰å³¶
- 阿爾巴尼äº
- äºç¾å°¼äº
- è·å±¬å®‰åœ°åˆ—æ–¯
- å—æ¥µæ´²
- ç¾å±¬è–©æ‘©äºç¾¤å³¶
- 奧地利
- 澳洲
- 阿路巴
- äºè˜ç¾¤å³¶
- äºå¡æ‹œç„¶
- 波士尼äºèˆ‡èµ«å¡æ ¼ç¶ç´
- å·´è²å¤
- åŸå 拉
- 比利時
- 布å‰ç´æ³•ç´¢
- ä¿å 利äº
- è’²é†åœ°
- è²å—
- è–巴瑟米
- 百慕é”
- æ±¶è
- ç»åˆ©ç¶äº
- 巴哈馬
- 布å¨å³¶
- æ³¢æœé‚£
- 白俄羅斯
- è²é‡Œæ–¯
- å¯å¯æ–¯ç¾¤å³¶
- å‰›æœæ°‘主共和國
- ä¸é共和國
- 剛æœ
- 科特迪瓦
- 庫克群島
- 喀麥é†
- ä¸è¯äººæ°‘共和國
- 哥倫比äº
- 哥斯大é»å
- å¡çˆ¾ç¶äºå’Œè’™ç‰¹å°¼å“¥ç¾…
- ç¶å¾·è§’
- è–誕島
- 賽普勒斯
- æ·å…‹å…±å’Œåœ‹
- 德國
- å‰å¸ƒåœ°
- 丹麥
- 夿˜å°¼å
- 夿˜å°¼å 共和國
- 阿爾å利äº
- å„瓜å¤
- 愛沙尼äº
- å„利å‚äº
- 衣索比äº
- è¬è˜
- æ–æ¿Ÿ
- ç¦å…‹è˜ç¾¤å³¶
- 密克羅尼西äºç¾¤å³¶
- 法羅群島
- 法國
- å å½
- 英國
- æ ¼ç‘ç´é”
- 喬治äºå…±å’Œåœ‹
- 法屬åœäºé‚£
- æ ¹è¥¿å³¶
- 迦ç´
- 直布羅陀
- æ ¼é™µè˜
- 甘比äº
- 幾內äº
- 哥德普洛
- 赤é“幾內äº
- 希臘
- å—喬治äºèˆ‡å—ä¸‰æ˜æ²»ç¾¤å³¶
- 瓜地馬拉
- 關島
- å¹¾å…§äºæ¯”ç´¢
- è“‹äºç´
- ä¸è¯äººæ°‘共和國香港特別行政å€
- 赫德與麥克當諾群島
- å®éƒ½æ‹‰æ–¯
- 克羅埃西äº
- å°å°¼
- 愛爾è˜
- 曼島
- 英屬å°åº¦æ´‹é ˜åœŸ
- 冰島
- 義大利
- 澤西島
- 牙買å
- ç´„æ—¦
- 肯äº
- å‰çˆ¾å‰æ–¯
- å‰é‡Œå·´æ–¯
- 科摩羅群島
- è–克里斯å¤ç¦åå°¼ç¶æ–¯
- 北韓
- å—韓
- 開曼群島
- 哈薩克
- 寮國
- è–露西äº
- 列支敦斯登
- 斯里è˜å¡
- 賴比ç‘äº
- 賴索扥
- ç›§æ£®å ¡
- 拉脫ç¶äº
- 利比äº
- æ‘©ç´å“¥
- 摩爾å¤ç“¦
- 蒙特內哥羅
- è–馬ä¸
- 馬é”å æ–¯å
- 馬紹爾群島
- é¦¬å…¶é “
- 馬利
- 緬甸
- ä¸è¯äººæ°‘共和國澳門特別行政å€
- 北馬里äºç´ç¾¤å³¶
- 馬ä¸å°¼å…‹å³¶
- 茅利塔尼äº
- 蒙特色拉特島
- 馬爾他
- 模里西斯
- 馬爾地夫
- 馬拉å¨
- 馬來西äº
- è«ä¸‰æ¯”å…‹
- ç´ç±³æ¯”äº
- 新喀里å¤å°¼äºç¾¤å³¶
- 尼日
- 諾ç¦å…‹å³¶
- 奈å利äº
- è·è˜
- å°¼æ³çˆ¾
- 諾é¯
- ç´å¨å³¶
- ç´è¥¿è˜
- 阿曼ç‹åœ‹
- 巴拿馬
- 秘é¯
- 法屬ç»é‡Œå°¼è¥¿äº
- 巴布äºç´å¹¾å…§äº
- è²å¾‹è³“
- æ³¢è˜
- è–彼德與密啟崙
- ç®ç‰¹åº·
- å·´å‹’æ–¯å¦
- 帛ç‰
- å¡é”
- 大洋洲é‚疆群島
- æç›Ÿ
- 留尼旺
- 羅馬尼äº
- å¡çˆ¾ç¶äº
- ä¿„ç¾…æ–¯
- 盧安é”
- æ²™çƒåœ°é˜¿æ‹‰ä¼¯
- 索羅門群島
- å¡å¸çˆ¾
- 蘇丹
- è–赫勒拿島
- 斯洛ç¶å°¼äº
- 冷岸å央麥æ©ç¾¤å³¶
- ç…åå±±
- è–馬利諾
- å¡å…§å 爾
- 索馬利äº
- 蘇利å—
- è–å¤ç¾åæ™®æ—西比
- 薩爾瓦å¤
- 敘利äº
- å²ç“¦æ¿Ÿè˜
- 土克斯å開科斯群島
- 查德
- æ³•å±¬å—æ–¹å±¬åœ°
- å¤å“¥å…±å’Œåœ‹
- 泰國
- å¡”å‰å…‹
- 托克å‹ç¾¤å³¶
- æ±å¸æ±¶
- 土庫曼
- çªå°¼è¥¿äº
- æ±å
- åƒé‡Œé”忉˜å·´å“¥
- å瓦é¯
- å°ç£
- å¦å°å°¼äº
- çƒå…‹è˜
- çƒå¹²é”
- ç¾å±¬é‚疆群島
- ç¾åœ‹
- çƒæ‹‰åœ
- çƒèŒ²åˆ¥å…‹
- 梵蒂岡
- è–æ–‡æ£®åæ ¼ç‘é‚£ä¸
- å§”å…§ç‘æ‹‰
- 英屬ç¶äº¬ç¾¤å³¶
- ç¾å±¬ç¶äº¬ç¾¤å³¶
- è¬é‚£æœ
- ç“¦åˆ©æ–¯å’Œç¦æœç´ç¾¤å³¶
- è–©æ‘©äºç¾¤å³¶
- 葉門
- 馬約特
- å°æ¯”äº
- 辛巴å¨
- 未確å®ç„å€åŸŸ
-
-
- å‚³çµ±å¾·èªæ‹¼å—å¸
- 1996 å¹´ç„å¾·èªæ‹¼å—å¸
- äºç¾å°¼äºæ±éƒ¨
- äºç¾å°¼äºè¥¿éƒ¨
- IPA 拼音
- UPA 拼音
- 單音
- Natisone 方言
- 電腦
- å·²ä¿®è¨‚ç„æ‹¼å—å¸
- SAAHO
-
-
- 日曆
- æ ¡å°
- 貨幣
-
-
- ç¹é«”䏿–‡æ’åº - Big5
- 佛教曆法
- 農曆
- ç›´æ¥æ’åº
- ç°¡é«”ä¸æ–‡æ’åº - GB2312
- 公曆
- 希伯來曆法
- å°åº¦åœ‹å®¶æ›†æ³•
- 伿–¯è˜æ›†æ³•
- 伿–¯è˜åŸå¸‚曆法
- 日本曆法
- 電話簿æ’åº
- 拼音æ’åº
- ä¸è¯æ°‘國曆
- ç†åƒæ’åº
- 傳統æ’åº
-
-
- èªè¨€ï¼{0}
- æ–‡å—ï¼{0}
- 地å€ï¼{0}
-
-
-
- [一 ä¸ ä¸ƒ 丈-ä¸ ä¸” 世 丘 丙 丟 並 ä¸ ä¸² 丸 丹 主 乃 ä¹… 么 之 ä¹ ä¹ ä¹– 乘 ä¹™ ä¹ ä¹Ÿ ä¹¾ 亂 了 予 事 二 äº äº‘ 互 五 井 些 äº äº¡ 交 亦 亨 享 京 亮 人 什 ä» ä»‡ ä» ä»‹ ä» ä»” ä»– 付 ä»™ 代-以 ä»° 仲 ä»¶ ä»» 份 ä¼ ä¼ ä¼ ä¼ ä¼‘ ä¼™ 伯 ä¼° ä¼´ 伸 ä¼¼ ä¼½ 但 佈 ä½-ä½ ä½” 何 ä½™ ä½› 作 ä½ ä½© ä½³ 使 來 例 ä¾› ä¾ ä¾¯ ä¾µ 便 ä¿‚-ä¿„ ä¿ ä¿— ä¿ ä¿ ä¿¡ ä¿® 俱 俾 個 å€ å€‘ 倒 候 å€ å€Ÿ 倫 值 å‡ å‰ å å åœ å¥ å´-å· å‚‘ å‚™ å‚¢ 傲 傳 å‚· å‚» 傾 僅 åƒ åƒ‘ 僧 價 å„€ å„„ å„’ 儘 優 å… å…ƒ-å…… å…‡-å…‰ å…‹ å… å…’ å…” å…¥ å…§-å…© å…«-å…® å…± å…µ-å…¸ å…¼ å† å† å†’ å† å†¬ 冰 冷 准 凌 å‡ å‡¡ 凰 凱 出 函 刀 分 切 åˆ åˆ— åˆ åˆ¤ 別 利 刪 到 制 刷 刺 刻 則 å‰ å‰› 剩 剪 副 割 創 åƒ å‡ å‰ å å› åŸ å å©-å« å‹ å‹‡ 勉 å‹’ å‹• å‹™ å‹ å‹ å‹¢ 勤 勵 勸 å‹¿ 包 匈 化 北 匹 å€ å åƒ å‡ åˆ å å’-å” å— å å¡ å° å± å³ å· å» å„ å˜ å åŸ å å² å» åƒ åˆ å å‹ å å” å– å— å£-å¦ å«-å å¯ å° å² å³ å¸ åƒ å„ åˆ-å åŒ-å å å‘ å› å-åŸ å¦ å§ å« å³ åµ å¸ å¹ å¾ å‘€ å‘‚ 呆 å‘ å‘¢ 周 味 呵 呼 命 å’Œ å’– å’¦ å’§ å’ª å’¬ å’± å“€ å“ å“‡-哉 å“ å“¡ å“¥ 哦 å“© 哪 å“ å“² 唉 å” å”¬ å”® 唯 å”± å”· 唸 商 å• å• å•Ÿ å•¡ å•¥ 啦 啪 å–€ å–‚ å–„ å–‡ å– å–” å–œ å– å–¬ å–® å–µ å— å— å—¨ å—¯ 嘆 嘉 嘗 嘛 嘴 嘻 嘿 器 å™´ å‡ å´ å›‰ å›› å› å› å›° 固 圈 國 åœ åœ’ 圓 圖 團 圜 土 在 åœ åœ° 圾 å€ å‡ å å å¡ å¤ å¦ åª å‚ åƒ å‹ åŸƒ åŸ åŸ” 域 執 培 基 å ‚ å … å † å ¡ å ª å ± å ´ å¡ å¡” å¡— å¡ å¡« 塵 境 å¢ å¢¨ 墮 å£ å£“ 壘 å£ å£¢ 士 壯 壽 å¤ å¤• 外 å¤ å¤œ å¤ å¤¢ 夥 大 天-夫 央 失 夷 夸 夾 奇-奉 å¥ å¥ å¥‘ 奔 套 奧 奪 奮 女 奴 奶 她 好 如 妙 妥 妨 妮 妳 妹 妻 姆 å§ å§‹ å§ å§‘ å§“ å§” å§¿ å¨ å¨ƒ 娘 å© å©† å© å©¦ 媒 媽 嫌 å«© å å” å— å˜ å åŸ å£ å¤ å© å« å¸ å®ƒ å®… 宇-安 宋 完 å® å®—-宜 客-室 å®® 害 å®¶ 容 宿 寂 寄 密 富 寒 å¯ å¯Ÿ 寢 實-審 寫 寬 寮 寶 å° å°„ å°‡ å°ˆ å° å°‹ å°-å° å°‘ å°– å° å°¤ å°± å°º å°¼ å°¾ å±€ å± å±… 屆 屋 å± å±• å± å±¤ 屬 å±± 岡 岩 岸 å³° å³¶ å³½ å´‡ å´™ å´´ åµ å¶º å· å· å·¡ å·¥-å·¨ å·« å·® å·± å·² å·´ å·· 市 布 希 帕 帛 å¸ å¸¥ 師 å¸ å¸³ 帶 常 帽 å¹… 幕 å¹£ 幫 å¹²-å¹´ 幸 å¹¹ å¹»-å¹¾ åº åº åº• 店 府 度 座 庫 åº åº· 庸 廉 å»– å» å»¢ 廣 廳 å»¶ å»· 建 弄 å¼ å¼• å¼— 弘 弟 弦 å¼± å¼µ å¼· 彈 å½ å½Œ å½ å½ å½¢ å½¥ 彩 彬 å½ å½° å½± å½¹ å½¼ å¾€ å¾ å¾… 很 律 後 å¾-å¾’ å¾— å¾ å¾© å¾® å¾µ å¾· å¾¹ 心 å¿… 忌 å¿ å¿—-å¿™ å¿ å¿« 念 忽 æ€ æ€’ 怕 怖 æ€ æ€¡ 急 性 怨 怪 æ† æ æ¢ æ¥ æ¨ æ© æ æ¯ æ° æ‚… 悉 æ‚” 悟 æ‚ æ‚¨ 悲 æ‚¶ 情 惑 惜 æƒ æƒ¡ 惱 想 惹 æ„ æ„ˆ 愉 æ„ æ„ æ„› 感 æ…ˆ æ…‹ æ…• æ…˜ æ…¢ æ…£ æ…§ æ…® æ…° æ…¶ æ…¾ 憂 æ† æ†‘ 憲 憶 憾 懂 應 懶 懷 懼 戀 戈 æˆ-戒 或 截 戰 戲 戴 戶 房-æ‰ æ‰‡ 手 æ‰ æ‰ æ‰“ 托 扣 扥 æ‰ æ‰¯ 批 找-æ€ æ„ æ æ“ æ• æ— æ˜ æ« æ¬ æ± æµ æ¹ æ½ æ‹† 拉 æ‹‹ æ‹ æ‹’ æ‹” æ‹– æ‹› 拜 括 拳 拼 拾 æ‹¿ æŒ æŒ‡ 按 挑 挖 挪 振 挺 æ æ• æ¨ æ² æ· æƒ æˆ æ‰ æŒ æ’ æ› æ¡ æ¢ æ¥ æ§ æ¨ æª æ æ æ’ æ æ› æ¡ æ® æ´ æ æ– æ æ¬ æ æ¶ 摘 æ‘© 摸 æ’ æ’’ æ’ æ’£ æ’¥ æ’ æ’¾ æ’¿ æ“ æ“‡ æ“ æ“‹ æ“ æ“ æ“” æ“ æ“ æ“¦ 擬 æ“´ 擺 擾 æ” æ”¯ æ”¶ 改 æ”» 放 政 æ•… 效 æ• æ• æ•‘ æ•—-æ•™ æ• æ•¢ æ•£ 敦 敬 æ•´ 敵 數 æ–‡ æ– æ–— æ–™ æ–¯ æ–° æ–· æ–¹ æ–¼ æ–½ æ— æ—… æ—‹ æ— æ—— æ—¢ æ—¥ æ—¦ æ—© æ— æ—º 昂 昆 昇 昌 æ˜ æ˜ æ˜“ 星 æ˜ æ˜¥ 昨 æ˜ æ˜¯ 時 晉 æ™’ æ™ æ™¨ æ™® 景 æ™´ æ™¶ 智 æ‘ æ– æ— æ« æ´ æ›† 曉 æ›° 曲 æ›´ 書 曼 曾-最 會 月 有 朋 æœ æœ— 望 æœ æœŸ 木 未-æœ æœ± 朵 æ‰ æ æ æ‘ æœ æŸ æ¯-æ± æ¾ æ¿ æ æ— æœ æ æ¶ æŸ æŸ æŸ“ 柔 查 柬 柳 柴 æ ¡ æ ¸ æ ¹ æ ¼ 桃 案 桌 æ¡‘ æ¢ æ¢… æ¢ æ¢¨ 梯 械 梵 棄 棉 棋 棒 æ£ æ£® 椅 æ¤ æ¤° æ¥ æ¥“ æ¥ æ¥ æ¥µ 概 榜 榮 æ§‹ æ§ æ¨‚ 樓 標 æ¨ æ¨¡ 樣 樹 æ©‹ 機 æ©« 檀 檔 檢 欄 æ¬ æ¬¡ 欣 欲 欺 欽 款 æ‰ æŒ æ æ¡-æ¦ æ² æ· æ¸ æ» æ® æ®˜ 段 殺 殼 毀 毅 æ¯ æ¯ æ¯’ 比 毛 毫 æ° æ°‘ æ°£ æ°´ æ°¸ 求 æ±— æ± æ±Ÿ-污 汪 æ±¶ 決 æ±½ 沃 沈 沉 æ²’ æ²– æ²™ æ²³ æ²¹ æ²» 沿 æ³ æ³‰ æ³ æ³• 泡 æ³¢ æ³¥ 注 æ³° æ³³ æ´‹ æ´— æ´› æ´ æ´© æ´ª æ´² æ´» æ´½ æ´¾ æµ æµ¦ 浩 浪 æµ® æµ· 涇-涉 涯 æ¶² æ¶µ æ¶¼ æ·‘ æ· æ·¡ æ·¨ æ·± æ·· æ·º 清 減 渡 測 港 游 æ¹– 湯 æº æº– æº æºª 溫 滄 æ»… 滋 滑 æ»´ 滾 滿 漂 æ¼ æ¼” æ¼ æ¼¢ 漫 æ¼² 漸 æ½” 潘 æ½› æ½® 澤 æ¾³ æ¿€ 濃 濟 濤 æ¿« 濱 çŒ ç£ ç« ç° ç½ ç‚ ç‚® 炸 為 烈 çƒ çƒ¤ ç„¡ 焦 ç„¶ ç…™ ç… ç…§ ç…© ç† ç†Ÿ 熱 燃 燈 燒 營 爆 çˆ çˆ› 爪 爬 çˆ çˆµ 父 爸 爺 爽 爾 牆-版 牌 牙 牛 ç‰ ç‰§ 物 牲 特 牽 ç§ ç¯ ç‹€ ç‹‚ ç‹ ç‹— ç‹ ç‹¼ 猛 猜 猶 ç„ ç… ç ç¨ ç² ç¸ ç» ç„ ç‡ ç‰ ç‹ ç© ç« ç² ç» ç ç ç ç ç¾ çƒ ç† ç‰ çª ç´ ç‘™ 瑜 ç‘ ç‘Ÿ 瑤 瑪 ç‘° ç’° 瓜 瓦 ç“¶ 甘 ç” ç”œ 生 產 用 ç”°-申 ç”· 甸 界 ç•™ ç•¢ ç•¥ 番 ç•« ç•° ç•¶ ç–† ç– ç–‘ ç–¼ ç—… ç—• ç—› ç—´ 瘋 療 癡 ç™»-百 ç„ ç† ç‡ ç® ç›ƒ ç› ç›› 盜 盟 盡 監 盤 ç›§ ç›® 盲 ç›´ 相 盼 盾 çœ çœ‰ 看 真 çœ çœ¼ 眾 ç› ç¡ ç£ ç§ ç 矛 矣 知 çŸ çŸ³ ç ‚ ç ç ” ç ² ç ´ 硬 ç¢ ç¢— 碟 碧 碩 碰 確 碼 ç£ ç£¨ 磯 ç¤ ç¤™ 示 社 祕 祖 ç¥ ç¥ ç¥¥ 票 ç¦ ç¦ ç¦ ç¦ª 禮 ç§€ ç§ ç§‹ ç§‘ ç§’ 秘 ç§Ÿ 秤 秦 ç§» 稅 程 ç¨ ç¨® 稱 稿 穆 穌 ç© ç©© ç©¶ 穹 空 ç©¿ çª çª— 窩 窮 ç«‹ ç«™ 竟 ç« ç«¥ 端 ç«¶ 竹 笑 笛 符 笨 第 ç† ç‰ ç‹ ç” ç– ç®€ ç®— 管 ç® ç®± 節 範 篇 築 ç°¡ ç°« ç°½ ç°¿ 籃 籌 ç± ç±³ 粉 ç²— ç²¾ ç³ ç³• 糟 ç³» ç³¾ ç´€ ç´„ ç´… ç´ ç´ ç´” ç´™-ç´› ç´ ç´¢ ç´« ç´¯ ç´° ç´¹ 終 組 çµ çµ• 絡 給 çµ± çµ² ç¶“ ç¶œ ç¶ ç¶ ç¶± ç¶² ç· ç·’ ç· ç·£ ç·¨ ç·© ç·¬ ç·¯ ç·´ 縣 縮 縱 總 績 ç¹ ç¹” ç¹ ç¹ª ç¹³ ç¹¼ 續 缸 缺 罕 罪 ç½® ç½° ç½² ç½µ ç½· ç¾… ç¾ ç¾ ç¾ ç¾¤ 義 ç¾½ ç¿ ç¿’ ç¿” ç¿° 翹 ç¿» 翼 耀 è€ è€ƒ 者 而 è€ è€ è€— 耳 耶 è è– è è è¯ è° è² è· è½ è‚‰ è‚ è‚¡ è‚¥ è‚© 肯 育 背 èƒ èƒ– èƒ èƒ¡ 胸 能 脆 è„« è…“ è…” è…¦ è…° è…³ è…¿ 膽 臉 臘 臣 臥 臨 自 è‡ è‡³ 致 臺 與-èˆ èˆŒ èˆ èˆ’ èˆ èˆŸ 航 般 船 艦 良 色 艾 è è¬ è± è³ è‹¥ 苦 英 茅 茫 茲 茶 è‰ è’ è· è‰ è è è« èœ è© è¯ è² è„ è è¬ è½ è‘‰ è‘— è‘› è‘¡ è’‚ è’™ è’² è’¼ è“‹ è“® 蔕 蔡 蔣 è• è–„ è–¦ è–© è–ª è—‰ è— è— è— è—¤ è—¥ 蘆 蘇 è˜ è™ è™• è™› 號 è™§ 蛋 è›™ 蜂 蜜 è¶ è è¢ èŸ² 蟹 è è » è¡€ 行 è¡“ è¡— è¡› è¡ è¡¡ è¡£ 表 袋 被 è£ è£‚ 裕 補 è£ è£¡ 製 複 褲 西 è¦ è¦† 見 è¦ è¦– 親 覺 覽 è§€ è§’ è§£ 觸 言 訂 計 è¨ è¨ è¨“ 託 記 訪 è¨ è¨± 訴 註 証 è©• è© è©¢ 試 è©© 話-詳 誇 誌 èª èª“ 誕 èª èª èª¤ 說 誰 課 誼 調 談 è«‹ è«’ è«– 諸 諺 諾 謀 謂 講 è¬ è‰ è˜ èœ è¦ è¯ è° è· è½ è®€ è® è®“ è® è°· 豆 豈 è± è±¡ 豪 豬 貌 貓 è² è² è² -è²¢ 貨 貪-責 è²´ è²· è²» è²¼ è³€ 資 賈 賓 賜 è³ è³¢-賤 賦 質 è³ è³´ 賺 è³¼ è³½ è´ˆ è´ è´ èµ¤ 赫 èµ° èµ· è¶… è¶ è¶• è¶™ è¶£ 趨 è¶³ è·Œ è· è·‘ è· è·Ÿ è·¡ è·¯ è·³ è¸ è¸¢ 蹟 蹤 èº èº« 躲 è» è»Œ è» è»’ 軟 較 載 è¼” 輕 è¼› è¼ è¼© 輪 輯 輸 轉 轟 è¾› 辦 辨 è¾ è¾¯ è¾± è¾² è¿… è¿ è¿‘ 迦 迪 è¿« è¿° è¿´ è¿· 追 退 é€ é€ƒ 逆 é€ é€ é€” 這-逛 é€ é€Ÿ é€ é€¢ 連 週 進 逸 逼 é‡ é é‹ é é é“-é• é™ éœ é é© é é® é² é· é¸ éº é¿-é‚ é‚„ é‚ é‚ é‚£ 邦 邪 邱 éƒ éƒ¨ éƒ éƒµ 都 é„‚ 鄉 é„ é„° é… é…’ é…· é…¸ 醉 醒 醜 醫 采 釋-é‡ é‡‘ é‡ é‡£ 鈴 é€ é– é˜ é³ é· é‹’ 鋼 錄 錢 錦 錫 錯 é‹ éµ é¾ é é– é® é¡ é˜ éµ é‘‘ é•· é–€ é–ƒ é–‰ é–‹ é–’ é–“ é–£ é–± é—† é— é— é—œ é—¡ 防 阻 阿 陀 附 é™ é™ é™¢-除 陪 é™° 陳 陵-陸 陽 é† é é é” é› éœ é¨ éª é± é» é›„-集 é›– é›™ 雜 é› é›¢ 難 雨 雪 雲 é›¶ é›· é›» 需 震 éœ éœ§ 露 霸 霹 é‚ éˆ é’ é– éœ é é é¢ é© é¼ é‹ éŸƒ 韋 韓 音 韻 響 é é ‚ é … é † é ˆ é é ‘ é “ é — é ˜ é é » 顆 題 é¡ é¡ é¡˜ é¡ é¡§ 顯 風 飄 飛 食 飯 飲 飽 飾 餅 é¤ é¤ é¤˜ 館 首 香 馬 é§ é§• é§› é¨ é¨™ 騷 é©… é©— é© éª¨ é«” 高 é«® 鬆 鬥 鬧 鬱 鬼 é é‚ é… é” é é¯ é®® é³¥ é³³ é³´ é´» éµ é·¹ 鹿 麗 麥 麵 麻 麼 黃 é» é»‘ 默 é» é»¨ 鼓 é¼ é¼» é½ é½‹ é½’ 齡 é¾ é¾œ]
- [ä¼ ä¾¶ å…Œ å…¹ 别 勳 å‘ å å¶ å ¤ å¢ å¥¥ åœ å³‡ å·½ å½ æ¥” 渾 燦 ç‹„ ç³ ç‘ ç”« ç¤ è’ è‹— 茨 è© èœ€ é´]
-
-
- ă€Œ
- ă€
- ă€
- ă€
-
-
-
-
- ä¸åˆ
- 下åˆ
-
-
-
- EEEEy'x'G-Ml-d
-
-
-
-
-
-
-
-
- 1月
- 2月
- 3月
- 4月
- 5月
- 6月
- 7月
- 8月
- 9月
- 10月
- 11月
- 12月
-
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
-
-
-
-
-
- 週日
- 週一
- 週二
- 週三
- 週四
- 週五
- 週å…
-
-
-
-
-
-
- 第1å£
- 第2å£
- 第3å£
- 第4å£
-
-
-
-
-
- 西元å‰
- 西元
-
-
-
-
-
- yyyy/M/d
-
-
-
-
- yy/M/d
-
-
-
-
-
-
- zzzzah時mm分ss秒
-
-
-
-
- zah時mm分ss秒
-
-
-
-
- ah:mm:ss
-
-
-
-
-
- dæ—¥(E)
- H時
- H:mm
- H:mm:ss
- M/d
- M-d(E)
- MM/dd
- MMMMdæ—¥(E)
- yyyy/M
- yyyy/M/d(EEE)
- y年M月
- y年M月d日EEE
- y年M月
- yyyy/MM
-
-
- {0}至{1}
-
- ah時至ah時
- ah時至h時
-
-
- vah時至ah時
- vah時至h時
-
-
- M月至M月
-
-
- M/d至M/d
- M/d至M/d
-
-
- M/dE至M/dE
- M/dE至M/dE
-
-
- LLLL至LLLL
-
-
- yyyy/M至yyyy/M
- yyyy/M至yyyy/M
-
-
- yyyy/M/d至yyyy/M/d
- yyyy/M/d至yyyy/M/d
- yyyy/M/d至yyyy/M/d
-
-
- yyyy/M/dE至yyyy/M/dE
- yyyy/M/dE至yyyy/M/dE
- yyyy/M/dE至yyyy/M/dE
-
-
- y年M月至M月
- y/M至y/M
-
-
-
-
-
- 年代
-
-
- 週
-
-
- 大å‰å¤©
- 後天
- 大後天
-
-
- 週天
-
-
- å°æ™‚
-
-
- 分é˜
-
-
- ç§’
-
-
- å€åŸŸ
-
-
-
-
- ä¸åˆ
- 下åˆ
-
-
- 民國å‰
- 民國
-
-
-
-
-
- Gy/M/d
-
-
-
-
- Gy/M/d
-
-
-
-
-
- M月d日
- M月d日EEE
- Gy
- y/M
- y/M/d(EEE)
- y/MM
- Gy年M月
- Gy年M月d日EEE
- y年第Qå£åº¦
- Gy QQQ
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- GMT
- {0}時間
- {1}({0})
-
- 未知地å€
-
-
- 安é“爾
-
-
- æœæ‹œ
-
-
- 阿富汗
-
-
- 安地å¡å巴布é”
-
-
- 安剿‹‰
-
-
- 阿爾巴尼äº
-
-
- äºç¾å°¼äº
-
-
- è·å±¬å®‰åœ°åˆ—æ–¯
-
-
- 安哥拉
-
-
- 羅瑟拉
-
-
- 帕麥
-
-
- å—æ¥µ
-
-
- æ˜å’Œ
-
-
- æˆ´ç¶æ–¯
-
-
- è«æ–¯æ‰˜å…‹
-
-
- 凱西
-
-
- æœè’™æœçˆ¾ç¶çˆ¾
-
-
- 麥克馬å¤
-
-
- å æ‹‰å“¥æ–¯
-
-
- é–€å¤è–©
-
-
- è–胡安
-
-
- çƒæ–¯æ‡·äº
-
-
- 拉略哈
-
-
- è–路易
-
-
- å¡å¡”馬å¡
-
-
- 胡韋
-
-
- å庫曼
-
-
- å“¥å¤è¯
-
-
- 布宜諾斯艾利斯
-
-
- 派哥派哥
-
-
- 奧地利
-
-
- 伯斯
-
-
- é”爾文
-
-
- 阿得雷德
-
-
- 斷丘市
-
-
- å…‹é»
-
-
- 墨爾本
-
-
- è·å·´ç‰¹
-
-
- 雪梨
-
-
- 布利斯ç
-
-
- 羅豪島
-
-
- 阿é¯å·´
-
-
- 奧è˜ç¾¤å³¶
-
-
- äºå¡æ‹œç„¶
-
-
- 沙拉耶佛
-
-
- å·´è²å¤
-
-
- åŸå 拉
-
-
- 布é¯å¡çˆ¾
-
-
- 布å‰ç´æ³•ç´¢
-
-
- ä¿å 利äº
-
-
- è’²é†åœ°
-
-
- è²å—
-
-
- 百慕é”
-
-
- æ±¶è
-
-
- ç»åˆ©ç¶äº
-
-
- 艾é¯å…§ä½©
-
-
- 布è˜ç§‘
-
-
- ç¶ç•™æ¸¯
-
-
- ä¿ç¶æ–¯å¡”
-
-
- 瑪瑙斯
-
-
- å¤é›…å·´
-
-
- æ ¼è˜å ´
-
-
- è²å€«
-
-
- 阿拉åœé‚£
-
-
- è–ä¿ç¾…
-
-
- å·´ä¼é˜¿
-
-
- ç¦Âå¡”å›è
-
-
- 馬瑟æ
-
-
- 雷西é
-
-
- 諾倫哈
-
-
- 巴哈馬
-
-
- ä¸ä¸¹
-
-
- æ³¢æœé‚£
-
-
- 白俄羅斯
-
-
- è²é‡Œæ–¯
-
-
- é“生河
-
-
- æ‡·ç‰¹éœæ–¯
-
-
- ä¼å¥´ç¶å…‹
-
-
- 溫哥è¯
-
-
- é“生ç£
-
-
- è€ç¾…è€ä½›
-
-
- 艾德蒙å
-
-
- ç‘夫å¡å€«ç‰¹
-
-
- åæ©‹ç£
-
-
- 利宅那
-
-
- 溫尼伯
-
-
- ç¾…æ–¯é¯ç‰¹
-
-
- 雨河é®
-
-
- è˜ä»ç£
-
-
- çå¾·ç£
-
-
- å°¼ç®å²¡
-
-
- å¤å€«å¤
-
-
- 蒙特å©
-
-
- ä¼é特
-
-
- 潘尼爾æ±
-
-
- è’™å…‹é “
-
-
- 哈里法克斯
-
-
- éµç£
-
-
- æ ¼é›·æ–¯è²
-
-
- 白朗薩布é†
-
-
- è–ç´„ç¿°
-
-
- 科科斯群島
-
-
- 金夿²™
-
-
- 蘆佈巴西
-
-
- ä¸é共和國
-
-
- 剛æœå…±å’Œåœ‹
-
-
- ç‘士
-
-
- 象牙海岸
-
-
- 拉洛æ±å å³¶
-
-
- 復活島
-
-
- è–地牙哥
-
-
- 喀麥é†
-
-
- 喀什米爾
-
-
- çƒé¯æœ¨é½
-
-
- 釿…¶
-
-
- 哈爾濱
-
-
- 哥倫比äº
-
-
- 哥斯大é»å
-
-
- å¤å·´
-
-
- ç¶å¾·è§’
-
-
- è–誕島
-
-
- 塿µ¦å‹’æ–¯
-
-
- æ·å…‹
-
-
- 德國
-
-
- å‰å¸ƒåœ°
-
-
- 丹麥
-
-
- 夿˜å°¼å
-
-
- 夿˜å°¼å 共和國
-
-
- 阿爾å利äº
-
-
- å æ‹‰å·´å“¥ç¾¤å³¶
-
-
- 瓜äºåŸºçˆ¾
-
-
- 愛沙尼äº
-
-
- 埃å
-
-
- 西撒哈拉
-
-
- å„利å‚äº
-
-
- å ç´åˆ©
-
-
- 休é”
-
-
- 馬德里
-
-
- 衣索比äº
-
-
- è¬è˜
-
-
- æ–æ¿Ÿ
-
-
- å²å¦è
-
-
- 土é¯å…‹ç¾¤å³¶
-
-
- æ³¢ç´ä½©
-
-
- 科斯里
-
-
- 法羅群島
-
-
- å å½
-
-
- 倫敦
-
-
- æ ¼ç‘ç´é”
-
-
- 喬治äº
-
-
- 法屬蓋äºé‚£
-
-
- æ ¹æ¯
-
-
- 迦ç´
-
-
- 直布羅陀
-
-
- æœé‡Œ
-
-
- 高特哈市
-
-
- æ–¯å¯æ¯”æµ·å³½
-
-
- 丹馬沙文
-
-
- 斑竹
-
-
- 幾內äº
-
-
- 瓜德羅普
-
-
- 赤é“幾內äº
-
-
- 希臘
-
-
- å—喬治äºèˆ‡å—ä¸‰æ˜æ²»å³¶
-
-
- 瓜地馬拉
-
-
- 關島
-
-
- å¹¾å…§äºæ¯”ç´¢
-
-
- åœäºé‚£
-
-
- ä¸è¯äººæ°‘共和國香港特別行政å€
-
-
- 德夿–¯å å·´
-
-
- 克羅埃西äº
-
-
- 海地
-
-
- 匈牙利
-
-
- é›…å é”
-
-
- 馬塿²™çˆ¾
-
-
- å äºå¸ƒæ‹‰
-
-
- 愛爾è˜
-
-
- å°åº¦
-
-
- 英屬å°åº¦æ´‹é ˜åœ°
-
-
- 伿‹‰å…‹
-
-
- 伿œ—
-
-
- 冰島
-
-
- 羅馬
-
-
- 牙買å
-
-
- ç´„æ—¦
-
-
- æ±äº¬
-
-
- 奈洛比
-
-
- å‰çˆ¾å‰æ–¯
-
-
- 柬埔寨
-
-
- æ©å¾—伯ç†å³¶
-
-
- å‰é‡Œå·´æ–¯
-
-
- 科摩羅群島
-
-
- è–å•Ÿæ–¯èˆ‡å°¼ç¶æ–¯
-
-
- 北韓
-
-
- 首爾
-
-
- 開曼
-
-
- 艾克陶
-
-
- 奧拉爾
-
-
- 阿克糾賓
-
-
- å¥èŒ²ç¾…ç”
-
-
- 阿拉木圖
-
-
- 寮國
-
-
- è²é²ç‰¹ç‰¹
-
-
- è–露西äº
-
-
- 列支敦斯登
-
-
- å¯å€«å¡
-
-
- 蒙羅ç¶äº
-
-
- 賴索托
-
-
- ç«‹é™¶å®›
-
-
- ç›§æ£®å ¡
-
-
- 拉脫ç¶äº
-
-
- 利比äº
-
-
- å¡è–©å¸ƒè˜å¡
-
-
- æ‘©ç´å“¥
-
-
- 奇西瑙
-
-
- æ³¢å¤é‡Œå¯Ÿ
-
-
- 馬é”å æ–¯å
-
-
- ç“œå æ—å³¶
-
-
- 馬朱諾
-
-
- 斯科普耶
-
-
- 巴馬科
-
-
- 緬甸
-
-
- çƒè˜å·´æ‰˜
-
-
- å“巴爾å¡
-
-
- ä¸è¯äººæ°‘共和國澳門特別行政å€
-
-
- 北馬里äºç´ç¾¤å³¶
-
-
- 馬ä¸å°¼å…‹
-
-
- 茅利塔尼äº
-
-
- 蒙賽拉特
-
-
- 馬爾他
-
-
- 模里西斯
-
-
- 馬爾地夫
-
-
- 馬拉å¨
-
-
- æè¯ç´
-
-
- å„è«ä¼‘
-
-
- 馬薩特è˜
-
-
- 奇è¯è¯
-
-
- 蒙特ç‘
-
-
- 墨西哥市
-
-
- ç¾é‡Œé”
-
-
- 康庫
-
-
- 夿™‰
-
-
- è«ä¸‰æ¯”å…‹
-
-
- 溫è·å…‹
-
-
- 新喀里å¤å°¼äº
-
-
- 尼日
-
-
- 諾ç¦å…‹ç¾¤å³¶
-
-
- 奈å利äº
-
-
- å°¼å æ‹‰ç“œ
-
-
- è·è˜
-
-
- 奧斯陸
-
-
- å°¼æ³çˆ¾
-
-
- 諾é¯
-
-
- ç´åŸƒ
-
-
- 查å¦
-
-
- 奧克è˜
-
-
- 阿曼
-
-
- 巴拿馬
-
-
- 秘é¯
-
-
- 大溪地
-
-
- 馬å¯è–©æ–¯å³¶
-
-
- 岡必爾群島
-
-
- å·´å¸ƒäºæ–°å¹¾å…§äº
-
-
- è²å¾‹è³“
-
-
- 喀拉è©
-
-
- æ³¢è˜
-
-
- è–ç®é‡Œåç±³åœé†
-
-
- 匹特開æ©ç¾¤å³¶
-
-
- å è–©
-
-
- äºé€Ÿçˆ¾ç¾¤å³¶
-
-
- 馬得拉群島
-
-
- 帛ç‰
-
-
- 巴拉åœ
-
-
- å¡é”
-
-
- 留尼旺島
-
-
- å¡çˆ¾ç¶äº
-
-
- å é‡Œå¯§æ ¼å‹’
-
-
- ä¼çˆ¾å æ ¼å‹’
-
-
- 沙馬拉
-
-
- è‘‰å¡æ·æ—å ¡
-
-
- 新西伯利äº
-
-
- 克拉斯諾雅斯克
-
-
- ä¼çˆ¾åº«æ¬¡å…‹
-
-
- 雅庫次克
-
-
- æµ·åƒå´´
-
-
- 庫é å³¶
-
-
- 馬å 丹
-
-
- å ªæŸ¥å
-
-
- 阿那底河
-
-
- 盧安é”
-
-
- 利雅德
-
-
- 瓜é”å¡ç´
-
-
- å¡å¸çˆ¾
-
-
- å¡åœŸç©†
-
-
- 斯德哥爾摩
-
-
- è–赫勒拿島
-
-
- 斯洛ç¶å°¼äº
-
-
- 醿„耳拜æ©
-
-
- å¸ƒæ‹‰ææ‹‰ç“¦
-
-
- ç…åå±±
-
-
- è–馬利諾
-
-
- å¡å…§å 爾
-
-
- æ‘©å 迪休
-
-
- 巴拉馬利波
-
-
- è–å¤ç¾æ™®æ—西比
-
-
- 薩爾瓦å¤
-
-
- 敘利äº
-
-
- å²ç“¦æ¿Ÿè˜
-
-
- åœŸå…‹æ–¯å’Œé–‹å¡æ–¯ç¾¤å³¶
-
-
- æ©å ç´ç¾
-
-
- å…‹æ ¼é€£ç¾¤å³¶
-
-
- å¤å“¥
-
-
- 泰國
-
-
- å¡”å‰å…‹
-
-
- 托克å‹
-
-
- æ±å¸æ±¶
-
-
- 土庫曼
-
-
- å¦å°å°¼äº
-
-
- æ±å
-
-
- 伿–¯å¦å ¡
-
-
- åƒé‡Œé”
-
-
- å瓦é¯
-
-
- å°ç£
-
-
- å°å°¼äº
-
-
- çƒèŒ²å“¥æ´›
-
-
- 基輔
-
-
- è¾›éæ´›æµ¦
-
-
- æœæ³¢ç¾…çµ
-
-
- 康培拉
-
-
- ä¸é€”å³¶
-
-
- å¼·æ–¯é “
-
-
- 艾é”å…‹
-
-
- 諾姆
-
-
- 安克里治
-
-
- 雅庫塔
-
-
- 朱諾
-
-
- æ´›æ‰ç£¯
-
-
- æ³¢ä¼æ–¯
-
-
- 鳳凰åŸ
-
-
- 船岩峰
-
-
- ç´æ²™å€«ï¼ŒåŒ—é”ç§‘ä»–å·
-
-
- 申特åŸ
-
-
- ç¾è«¾ç±³å…‹
-
-
- 溫森斯
-
-
- å½¼å¾—å ¡ï¼Œå°ç¬¬å®‰é‚£å·
-
-
- 泰爾åŸ
-
-
- 諾克斯
-
-
- å¨ç´éº¥å…‹ï¼Œå°ç¬¬å®‰é‚£å·
-
-
- 馬倫哥
-
-
- å°ç¬¬å®‰é‚£æ³¢é‡Œæ–¯
-
-
- 路易斯ç¶çˆ¾
-
-
- ç¶å¨
-
-
- è’™æç‘Ÿæ´›
-
-
- ç´ç´„
-
-
- çƒæ‹‰åœ
-
-
- 撒馬爾罕
-
-
- 梵蒂岡
-
-
- è–æ–‡æ£®
-
-
- 塿‹‰å¡æ–¯
-
-
- 托托拉島
-
-
- ç¾å±¬ç¶äº¬ç¾¤å³¶
-
-
- è¶å—
-
-
- 愛發æ
-
-
- 瓦利斯與富圖ç´ç¾¤å³¶
-
-
- äºåº‡
-
-
- 葉門
-
-
- 馬約特島
-
-
- å—é
-
-
- å°æ¯”äº
-
-
- 辛巴å¨
-
-
-
- 艾克時間
- 艾克å¤ä»¤æ™‚é–“
-
-
- ACT(艾克)
- ACST(艾克)
-
-
-
-
- 阿富汗時間
-
-
-
-
- ä¸é時間
-
-
-
-
- æ±é時間
-
-
-
-
- å—éæ™‚é–“
- å—鿍™æº–時間
-
-
-
-
- è¥¿éæ™‚é–“
- 西éå¤ä»¤æ™‚é–“
-
-
-
-
- 阿克秋賓斯克時間
- 阿克秋賓斯克å¤ä»¤æ™‚é–“
-
-
-
-
- é˜¿æ‹‰æ–¯å æ™‚é–“
- é˜¿æ‹‰æ–¯å æ¨™æº–時間
- 阿拉斯å å¤ä»¤æ™‚é–“
-
-
-
-
- 阿拉斯å -å¤å¨å¤·æ™‚é–“
- 阿拉斯å -å¤å¨å¤·æ¨™æº–時間
- 阿拉斯å -å¤å¨å¤·å¤ä»¤æ™‚é–“
-
-
-
-
- 阿拉木圖時間
- 阿拉木圖å¤ä»¤æ™‚é–“
-
-
-
-
- äºé¦¬éœæ™‚é–“
- äºé¦¬éœå¤ä»¤æ™‚é–“
-
-
-
-
- ä¸éƒ¨æ™‚é–“
- ä¸éƒ¨æ¨™æº–時間
- ä¸éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- æ±éƒ¨æ™‚é–“
- æ±éƒ¨æ¨™æº–時間
- æ±éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- 山倿™‚é–“
- 山倿¨™æº–時間
- 山倿—¥å…‰ç¯€ç´„時間
-
-
-
-
- 太平洋時間
- 太平洋標準時間
- 太平洋å¤ä»¤æ™‚é–“
-
-
-
-
- 阿那底河標準時間
- 阿那底河å¤ä»¤æ™‚é–“
-
-
-
-
- 阿克陶時間
- 阿克陶å¤ä»¤æ™‚é–“
-
-
- AQTT (阿克陶)
- AQTST (阿克陶)
-
-
-
-
- 阿克托比時間
- 阿克托比å¤ä»¤æ™‚é–“
-
-
- AQTT (阿克托比)
- AQTST (阿克托比)
-
-
-
-
- 阿拉伯時間
- 阿拉伯標準時間
- 阿拉伯å¤ä»¤æ™‚é–“
-
-
- AT(阿拉伯)
- AST(阿拉伯)
- ADT ( 阿拉伯 )
-
-
-
-
- é˜¿æ ¹å»·æ™‚é–“
- é˜¿æ ¹å»·å¤ä»¤æ™‚é–“
-
-
-
-
- é˜¿æ ¹å»·è¥¿éƒ¨æ™‚é–“
- é˜¿æ ¹å»·è¥¿éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- äºç¾å°¼äºæ™‚é–“
- äºç¾å°¼äºå¤ä»¤æ™‚é–“
-
-
- AMT(äºç¾å°¼äºï¼‰
- AMST(äºç¾å°¼äºï¼‰
-
-
-
-
- 阿什哈巴德時間
- 阿什哈巴德å¤ä»¤æ™‚é–“
-
-
-
-
- 大西洋時間
- 大西洋標準時間
- 大西洋å¤ä»¤æ™‚é–“
-
-
-
-
- 澳洲ä¸éƒ¨æ™‚é–“
- 澳洲ä¸éƒ¨æ¨™æº–時間
- 澳洲ä¸éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- 澳洲ä¸è¥¿éƒ¨æ™‚é–“
- 澳洲ä¸è¥¿éƒ¨æ¨™æº–時間
- 澳洲ä¸è¥¿éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- 澳洲æ±éƒ¨æ™‚é–“
- 澳洲æ±éƒ¨æ¨™æº–時間
- 澳洲æ±éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- 澳洲西部時間
- 澳洲西部標準時間
- 澳洲西部å¤ä»¤æ™‚é–“
-
-
-
-
- äºå¡æ‹œç„¶æ™‚é–“
- äºå¡æ‹œç„¶å¤ä»¤æ™‚é–“
-
-
-
-
- äºé€Ÿçˆ¾ç¾¤å³¶æ™‚é–“
- äºé€Ÿçˆ¾ç¾¤å³¶å¤ä»¤æ™‚é–“
-
-
-
-
- 巴庫時間
- 巴庫å¤ä»¤æ™‚é–“
-
-
-
-
- åŸå 拉時間
- åŸå 拉標準時間
- åŸå 拉å¤ä»¤æ™‚é–“
-
-
-
-
- 白令時間
- 白令標準時間
- 白令å¤ä»¤æ™‚é–“
-
-
- BT(白令)
- BST(白令)
- BDT(白令)
-
-
-
-
- ä¸ä¸¹æ™‚é–“
-
-
-
-
- ç»åˆ©ç¶äºæ™‚é–“
-
-
-
-
- 婆羅洲時間
- 婆羅洲å¤ä»¤æ™‚é–“
-
-
-
-
- å·´è¥¿åˆ©äºæ™‚é–“
- 巴西利äºå¤ä»¤æ™‚é–“
-
-
-
-
- æ±¶èæ™‚é–“
-
-
-
-
- 關島-北馬里äºç´ç¾¤å³¶æ™‚é–“
-
-
-
-
- 長白山時間
-
-
-
-
- 智利時間
- 智利å¤ä»¤æ™‚é–“
-
-
-
-
- ä¸åœ‹æ™‚é–“
- ä¸åœ‹æ¨™æº–時間
- ä¸åœ‹å¤ä»¤æ™‚é–“
-
-
- CT(ä¸åœ‹ï¼‰
- CST(ä¸åœ‹ï¼‰
- CDT(ä¸åœ‹ï¼‰
-
-
-
-
- 喬巴山時間
- 喬巴山å¤ä»¤æ™‚é–“
-
-
-
-
- å“¥å€«æ¯”äºæ™‚é–“
- 哥倫比äºå¤ä»¤æ™‚é–“
-
-
-
-
- å¤å·´æ™‚é–“
- å¤å·´æ¨™æº–時間
- å¤å·´å¤ä»¤æ™‚é–“
-
-
-
-
- é”塿™‚é–“
-
-
-
-
- æœå°åˆ¥æ™‚é–“
- æœå°åˆ¥å¤ä»¤æ™‚é–“
-
-
-
-
- è·å±¬åœäºé‚£æ™‚é–“
-
-
-
-
- æ±å¸æ±¶æ™‚é–“
-
-
-
-
- å„ç“œå¤æ™‚é–“
-
-
-
-
- ä¸ææ¨™æº–æ™‚é–“
- 䏿å¤ä»¤æ™‚é–“
-
-
-
-
- æ±ææ¨™æº–æ™‚é–“
- æ±æå¤ä»¤æ™‚é–“
-
-
-
-
- è¥¿ææ™‚é–“
- 西æå¤ä»¤æ™‚é–“
-
-
-
-
- 法屬åœäºé‚£æ™‚é–“
-
-
-
-
- ä¼é¾è時間
- ä¼é¾èå¤ä»¤æ™‚é–“
-
-
-
-
- å æ‹‰å¸•戈群島時間
-
-
-
-
- å–¬æ²»äºæ™‚é–“
- 喬治äºå¤ä»¤æ™‚é–“
-
-
-
-
- æ ¼æ—卿²»æ¨™æº–時間
-
-
-
-
- æ ¼é™µè˜ä¸éƒ¨æ™‚é–“
- æ ¼é™µè˜ä¸éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- æ ¼é™µè˜æ±éƒ¨æ™‚é–“
- æ ¼é™µè˜æ±éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- æ ¼é™µè˜è¥¿éƒ¨æ™‚é–“
- æ ¼é™µè˜è¥¿éƒ¨å¤ä»¤æ™‚é–“
-
-
-
-
- 關島標準時間
-
-
- GST (關島)
-
-
-
-
- æ³¢æ–¯ç£æµ·åŸŸæ¨™æº–時間
-
-
-
-
- è“‹äºç´æ™‚é–“
-
-
-
-
- å¤å¨å¤·-阿留申標準時間
-
-
-
-
- 香港時間
- 香港å¤ä»¤æ™‚é–“
-
-
-
-
- ç§‘å¸ƒå¤æ™‚é–“
- 科布å¤å¤ä»¤æ™‚é–“
-
-
-
-
- å°åº¦æ¨™æº–時間
-
-
-
-
- å°å°¼ä¸éƒ¨æ™‚é–“
-
-
-
-
- å°å°¼æ±éƒ¨æ™‚é–“
-
-
-
-
- å°å°¼è¥¿éƒ¨æ™‚é–“
-
-
-
-
- 伿œ—標準時間
- 伿œ—å¤ä»¤æ™‚é–“
-
-
-
-
- ä¼çˆ¾åº«æ¬¡å…‹æ™‚é–“
- ä¼çˆ¾åº«æ¬¡å…‹å¤ä»¤æ™‚é–“
-
-
-
-
- 以色列時間
- 以色列標準時間
- 以色列å¤ä»¤æ™‚é–“
-
-
- IST(以色列)
-
-
-
-
- 日本時間
- 日本標準時間
- 日本å¤ä»¤æ™‚é–“
-
-
- JT
-
-
-
-
- å–€æ‹‰è©æ™‚é–“
-
-
-
-
- 喀什時間
-
-
-
-
- æ±å“ˆè–©å…‹æ™‚é–“
- æ±å“ˆè–©å…‹æ¨™æº–時間
-
-
-
-
- 西哈薩克時間
- 西哈薩克標準時間
-
-
-
-
- å‰å›ç¾…锿™‚é–“
- å‰å›ç¾…é”å¤ä»¤æ™‚é–“
-
-
-
-
- 韓國時間
- 韓國標準時間
- 韓國å¤ä»¤æ™‚é–“
-
-
- KT
-
-
-
-
- 夿¯”雪夫時間
- 夿¯”雪夫å¤ä»¤æ™‚é–“
-
-
-
-
- ç“œå æ—ç’°ç¤æ™‚é–“
-
-
-
-
- å‰çˆ¾å‰æ–¯æ™‚é–“
-
-
-
-
- è˜å¡æ™‚é–“
-
-
-
-
- é´èœ€æ™‚é–“
-
-
-
-
- 豪勳爵島時間
- 豪勳爵島標準時間
- 豪勳爵島å¤ä»¤æ™‚é–“
-
-
-
-
- 澳門時間
- 澳門å¤ä»¤æ™‚é–“
-
-
-
-
- 馬å 丹時間
- 馬å 丹å¤ä»¤æ™‚é–“
-
-
-
-
- é¦¬ä¾†äºæ™‚é–“
-
-
-
-
- é¦¬ä¾†è¥¿äºæ™‚é–“
-
-
-
-
- 馬紹爾群島時間
-
-
-
-
- çƒè˜å·´æ‰˜æ™‚é–“
- çƒè˜å·´æ‰˜å¤ä»¤æ™‚é–“
-
-
-
-
- è«æ–¯ç§‘時間
- è«æ–¯ç§‘標準時間
- è«æ–¯ç§‘å¤ä»¤æ™‚é–“
-
-
-
-
- 緬甸時間
-
-
-
-
- å°¼æ³çˆ¾æ™‚é–“
-
-
-
-
- ç´è¥¿è˜æ™‚é–“
- ç´è¥¿è˜æ¨™æº–時間
- ç´è¥¿è˜å¤ä»¤æ™‚é–“
-
-
-
-
- ç´è¬è˜æ™‚é–“
- ç´è¬è˜æ¨™æº–時間
- ç´è¬è˜å¤ä»¤æ™‚é–“
-
-
-
-
- 諾倫哈時間
- 諾倫哈å¤ä»¤æ™‚é–“
-
-
-
-
- 北馬里äºç´ç¾¤å³¶æ™‚é–“
-
-
-
-
- æ–°è¥¿ä¼¯åˆ©äºæ™‚é–“
- 新西伯利äºå¤ä»¤æ™‚é–“
-
-
-
-
- 鄂木斯克時間
- 鄂木斯克å¤ä»¤æ™‚é–“
-
-
-
-
- å·´åŸºæ–¯å¦æ™‚é–“
- 巴基斯å¦å¤ä»¤æ™‚é–“
-
-
-
-
- å·´æ‹‰åœæ™‚é–“
- 巴拉åœå¤ä»¤æ™‚é–“
-
-
-
-
- ç§˜é¯æ™‚é–“
- 秘é¯å¤ä»¤æ™‚é–“
-
-
-
-
- è²å¾‹è³“時間
- è²å¾‹è³“å¤ä»¤æ™‚é–“
-
-
-
-
- è–彼德與密啟崙時間
- è–彼德與密啟崙標準時間
- è–彼德與密啟崙å¤ä»¤æ™‚é–“
-
-
-
-
- å…‹åœå‹’å¥§çˆ¾é”æ™‚é–“
- å…‹åœå‹’奧爾é”å¤ä»¤æ™‚é–“
-
-
-
-
- 庫é 島時間
- 庫é å³¶å¤ä»¤æ™‚é–“
-
-
-
-
- 薩馬拉時間
- 薩馬拉å¤ä»¤æ™‚é–“
-
-
-
-
- 撒馬爾罕時間
- 撒馬爾罕å¤ä»¤æ™‚é–“
-
-
- SAMT(撒馬爾罕)
- SAMST(撒馬爾罕)
-
-
-
-
- è–©æ‘©äºæ¨™æº–時間
-
-
-
-
- èˆç”«ç´ç§‘時間
- èˆç”«ç´ç§‘å¤ä»¤æ™‚é–“
-
-
-
-
- æ–°å 塿¨™æº–時間
-
-
-
-
- è˜‡åˆ©å—æ™‚é–“
-
-
-
-
- æ–¯ç¶çˆ¾å¾·æ´›å¤«æ–¯å…‹æ™‚é–“
- æ–¯ç¶çˆ¾å¾·æ´›å¤«æ–¯å…‹å¤ä»¤æ™‚é–“
-
-
-
-
- ä¸åŸæ™‚é–“
- ä¸åŸæ¨™æº–時間
- ä¸åŸå¤ä»¤æ™‚é–“
-
-
- CT(ä¸åŸï¼‰
- CST(ä¸åŸï¼‰
- CDT(ä¸åŸï¼‰
-
-
-
-
- å¡”å‰å…‹æ™‚é–“
-
-
-
-
- 塔什干時間
- 塔什干å¤ä»¤æ™‚é–“
-
-
-
-
- 第比利斯時間
- 第比利斯å¤ä»¤æ™‚é–“
-
-
-
-
- 土耳其時間
- 土耳其å¤ä»¤æ™‚é–“
-
-
-
-
- 土庫曼時間
- 土庫曼å¤ä»¤æ™‚é–“
-
-
-
-
- çƒæ‹‰æ–¯å…‹æ™‚é–“
- çƒæ‹‰æ–¯å…‹å¤ä»¤æ™‚é–“
-
-
-
-
- çƒæ‹‰åœæ™‚é–“
- çƒæ‹‰åœå¤ä»¤æ™‚é–“
-
-
-
-
- çƒé¯æœ¨é½æ™‚é–“
-
-
-
-
- çƒèŒ²åˆ¥å…‹æ™‚é–“
- çƒèŒ²åˆ¥å…‹å¤ä»¤æ™‚é–“
-
-
-
-
- å§”å…§ç‘æ‹‰æ™‚é–“
-
-
-
-
- æµ·åƒå´´æ™‚é–“
- æµ·åƒå´´å¤ä»¤æ™‚é–“
-
-
-
-
- 雅庫次克時間
- 雅庫次克å¤ä»¤æ™‚é–“
-
-
-
-
- 凱薩ç³å ¡æ™‚é–“
- 凱薩ç³å ¡å¤ä»¤æ™‚é–“
-
-
-
-
- 葉里溫時間
- 葉里溫å¤ä»¤æ™‚é–“
-
-
-
-
- 育空時間
- 育空標準時間
- 育空å¤ä»¤æ™‚é–“
-
-
-
-
-
-
-
- 安é“爾陪士特
-
-
- 阿拉伯è¯åˆå¤§å…¬åœ‹è¿ªçˆ¾æ±—
-
-
- 阿爾巴尼äºåˆ—å…‹
-
-
- äºç¾å°¼äºå¾·æ‹‰å§†
-
-
- è·å±¬å®‰åœ°åˆ—斯盾
-
-
- 安哥拉寬æ‰
-
-
- å®‰å“¥æ‹‰å¯¬æ‰ (1977-1990)
-
-
- å®‰å“¥æ‹‰æ–°å¯¬æ‰ (1990-2000)
-
-
- å®‰å“¥æ‹‰æ–°å¯¬æ‰ Reajustado (1995-1999)
-
-
- é˜¿æ ¹å»·å¥§æ–¯ç‰¹ç´çˆ¾
-
-
- é˜¿æ ¹å»·æ«ç´¢ (1983-1985)
-
-
- é˜¿æ ¹å»·æ«ç´¢
-
-
- 奧地利先令
-
-
- 澳幣
-
-
- 阿é¯å·´ç›¾
-
-
- äºå¡æ‹œç„¶é¦¬ç´ç‰¹ (1993-2006)
-
-
- äºå¡æ‹œç„¶é¦¬ç´ç‰¹
-
-
- 波士尼äº-黑å¡å“¥ç¶é‚£ç¬¬ç´çˆ¾
-
-
- 波士尼äº-黑å¡å“¥ç¶é‚£å¯è½‰æ›é¦¬å…‹
-
-
- å·´è²å¤å…ƒ
-
-
- åŸå 拉塔å¡
-
-
- 比利時法éƒï¼ˆå¯è½‰æ›ï¼‰
-
-
- 比利時法éƒ
-
-
- 比利時法éƒï¼ˆé‡‘è)
-
-
- ä¿å 利äºç¡¬åˆ—å¼—
-
-
- ä¿å åˆ©äºæ–°åˆ—å¼—
-
-
- å·´æ—第ç´çˆ¾
-
-
- è’²é†åœ°æ³•éƒ
-
-
- 百慕é”å¹£
-
-
- æ±¶èå…ƒ
-
-
- ç»åˆ©ç¶äºè²¨å¹£å–®ä½
-
-
- ç»åˆ©ç¶äºæ«ç´¢
-
-
- ç»åˆ©ç¶äºå¹•å¤
-
-
- 巴西克é¯è–©å¤è¾²ç“¦ï¼ˆ1967-1986)
-
-
- 巴西克é¯è³½ç¾… (1986-1989)
-
-
- 巴西克é¯è³½ç¾… (1990-1993)
-
-
- 巴西里拉
-
-
- 巴西克如爾é”農瓦
-
-
- 巴西克é¯è³½ç¾…
-
-
- 巴哈馬元
-
-
- ä¸ä¸¹é‚£ç‰¹å€«
-
-
- 緬甸基雅特
-
-
- æ³¢æœé‚£æ™®æ‹‰
-
-
- 白俄羅斯新盧布 (1994-1999)
-
-
- 白俄羅斯盧布
-
-
- è²é‡Œæ–¯å…ƒ
-
-
- å å¹£
-
-
- å‰›æœæ³•éƒ
-
-
- WIR æå…ƒ
-
-
- WIR 法éƒ
-
-
- 塿—æ²¹é”佛曼è·
-
-
- 智利æ«ç´¢
-
-
- 人民幣
-
-
- å“¥å€«æ¯”äºæ«ç´¢
-
-
- 哥斯大é»å ç§‘éƒ
-
-
- èˆå¡çˆ¾ç¶äºç¬¬ç´çˆ¾
-
-
- æ·å…‹æ–¯æ´›ä¼å…‹ç¡¬å…‹æœ—
-
-
- å¤å·´æ«ç´¢
-
-
- ç¶å¾·è§’埃斯庫å¤
-
-
- 賽普勒斯é
-
-
- æ·å…‹å…‹æœ—
-
-
- æ±å¾·å¥§æ–¯ç‰¹é¦¬å…‹
-
-
- 德國馬克
-
-
- å‰å¸ƒåœ°æ³•éƒ
-
-
- 丹麥克羅ç´
-
-
- 夿˜å°¼å æ«ç´¢
-
-
- 阿爾å利äºç¬¬ç´çˆ¾
-
-
- å„瓜å¤è˜‡å…‹é›·
-
-
- å„瓜å¤çˆ¾ç”±é‡Œé”ç“¦åº·æ–¯å¦ (UVC)
-
-
- 愛沙尼äºå…‹æœ—
-
-
- 埃åé
-
-
- å„立特里äºç´å…‹æ³•
-
-
- 西ç牙比å¡å¡”(會計單ä½ï¼‰
-
-
- 西ç牙比å¡å¡”(å¯è½‰æ›æœƒè¨ˆå–®ä½ï¼‰
-
-
- 西ç牙陪士特
-
-
- è¡£ç´¢æ¯”äºæ¯”爾
-
-
- æå…ƒ
-
-
- è¬è˜é¦¬å…‹
-
-
- æ–æ¿Ÿå…ƒ
-
-
- ç¦å…‹è˜ç¾¤å³¶é
-
-
- 法國法éƒ
-
-
- 英é
-
-
- å–¬æ²»åº«æ—æ‹‰é‡Œ
-
-
- 喬治拉里
-
-
- 迦ç´ä»™è”•
-
-
- 直布羅陀é
-
-
- 甘比äºé”拉西
-
-
- å¹¾å…§äºæ³•éƒ
-
-
- 幾內äºè¥¿é‡Œ
-
-
- 赤é“幾內äºåŸƒå¥å‹’
-
-
- 希臘德拉克馬
-
-
- ç“œåœ°é¦¬æ‹‰æ ¼æŸ¥çˆ¾
-
-
- 葡屬幾內äºåŸƒæ–¯åº«å¤
-
-
- å¹¾å…§äºæ¯”ç´¢æ«ç´¢
-
-
- åœäºé‚£å…ƒ
-
-
- 港幣
-
-
- æ´ªéƒ½æ‹‰æ–¯å€«ç®æ‹‰
-
-
- 克羅地äºç¬¬ç´çˆ¾
-
-
- 克羅地äºåº«ç´
-
-
- åŒˆç‰™åˆ©ç¦æ—
-
-
- å°å°¼ç›¾
-
-
- 愛爾è˜é
-
-
- 以色列é
-
-
- 以色列新è¬å…‹çˆ¾
-
-
- å°åº¦ç›§æ¯”
-
-
- 伿‹‰å…‹ç¬¬ç´çˆ¾
-
-
- 伿œ—里äºçˆ¾
-
-
- 冰島克朗
-
-
- 義大利里拉
-
-
- 牙買å å…ƒ
-
-
- 約旦第ç´çˆ¾
-
-
- 日圓
-
-
- 肯尼äºå…ˆä»¤
-
-
- å‰çˆ¾å‰æ–¯ç´¢é¦¬
-
-
- 柬埔寨ç‘爾
-
-
- 科摩羅法éƒ
-
-
- 北韓圜
-
-
- 韓圜
-
-
- ç§‘å¨ç‰¹ç¬¬ç´çˆ¾
-
-
- 開曼群島ç¾å…ƒ
-
-
- 塿‰å…‹æ–¯å¦å¦å‰
-
-
- 寮國基普
-
-
- é»å·´å«©é
-
-
- 斯里è˜å¡ç›§å¸ƒ
-
-
- 賴比ç‘äºå…ƒ
-
-
- 賴索托羅蒂
-
-
- 立陶宛里塔
-
-
- 立陶宛特羅
-
-
- ç›§æ£®å ¡å¯å…Œæ›æ³•éƒ
-
-
- ç›§æ£®å ¡æ³•éƒ
-
-
- ç›§æ£®å ¡é‡‘èæ³•éƒ
-
-
- 拉脫ç¶äºæ‹‰ç‰¹é€å¹£
-
-
- 拉脫ç¶äºç›§å¸ƒ
-
-
- 利比äºç¬¬ç´çˆ¾
-
-
- æ‘©æœé›²åˆ—ä¼
-
-
- 馬é”å æ–¯å 艾ç‘爾
-
-
- 馬é”å æ–¯å 法éƒ
-
-
- é¦¬å…¶é “ç¬¬ç´çˆ¾
-
-
- 馬里法éƒ
-
-
- 緬甸元
-
-
- è’™å¤åœ–æ ¼é‡Œå…‹
-
-
- 澳門元
-
-
- 茅利塔尼äºçƒå‰äº
-
-
- 馬爾他里拉
-
-
- 馬爾他é
-
-
- 模里西斯盧布
-
-
- 馬爾地夫海島盧éäº
-
-
- 馬拉ç¶å…‹ç“¦æŸ¥
-
-
- 墨西哥æ«ç´¢
-
-
- å¢¨è¥¿å“¥é€æ«ç´¢ (1861-1992)
-
-
- 墨西哥轉æ›å–®ä½ï¼ˆUDI)
-
-
- 馬來西äºä»¤å‰
-
-
- è«ä¸‰æ¯”克埃斯庫å¤
-
-
- è«ä¸‰æ¯”克梅蒂å¡çˆ¾
-
-
- è«ä¸‰æ¯”å…‹ç¾æå¡
-
-
- ç´ç±³æ¯”äºå…ƒ
-
-
- 奈å利äºå¥ˆæ‹‰
-
-
- å°¼å æ‹‰ç“œé‡‘ç§‘å¤å·´
-
-
- è·è˜ç›¾
-
-
- 挪å¨å…‹ç¾…ç´
-
-
- å°¼æ³çˆ¾ç›§å¸ƒ
-
-
- ç´è¥¿è˜å¹£
-
-
- 阿曼里奧
-
-
- 巴拿馬巴波äº
-
-
- 祕é¯å› è’‚
-
-
- ç§˜é¯æ–°å¤ªé™½å¹£
-
-
- 秘é¯å¤ªé™½å¹£
-
-
- 巴布äºç´å¹¾å…§äºåŸºé‚£
-
-
- è²å¾‹è³“æ«ç´¢
-
-
- 巴基斯å¦ç›§å¸ƒ
-
-
- æ³¢è˜èŒ²ç¾…æ
-
-
- æ³¢è˜èŒ²ç¾…æ (1950-1995)
-
-
- è‘¡è„牙埃斯庫å¤
-
-
- 巴拉åœç“œæ‹‰å°¼
-
-
- å¡é”爾里äºçˆ¾
-
-
- 羅德西äºå…ƒ
-
-
- èˆç¾…馬尼äºåˆ—ä¼
-
-
- 羅馬尼äºåˆ—ä¼
-
-
- å¡çˆ¾ç¶äºæˆ´ç´
-
-
- 俄羅斯盧布
-
-
- 俄羅斯盧布 (1991-1998)
-
-
- ç›§å®‰é”æ³•éƒ
-
-
- æ²™çƒåœ°é‡Œé›…
-
-
- 索羅門群島元
-
-
- å¡å¸çˆ¾ç›§æ¯”
-
-
- 蘇丹第ç´çˆ¾
-
-
- 蘇丹é
-
-
- èˆè˜‡ä¸¹é
-
-
- ç‘典克羅ç´
-
-
- æ–°å å¡å¹£
-
-
- è–赫勒拿é
-
-
- 斯洛ç¶å°¼äºæ‰˜å‹’
-
-
- 斯洛ä¼å…‹å…‹æœ—
-
-
- ç…å山利昂
-
-
- 索馬利äºå…ˆä»¤
-
-
- 蘇利å—å…ƒ
-
-
- 蘇利å—基爾
-
-
- è–å¤ç¾å³¶å’Œæ™®æ—西比島å¤å¸ƒæ‹‰
-
-
- 蘇è¯ç›§å¸ƒ
-
-
- 薩爾瓦å¤ç§‘éƒ
-
-
- 敘利äºé
-
-
- å²ç“¦æ¿Ÿè˜é‡Œæœ—å‰å°¼
-
-
- æ³°é–
-
-
- å¡”å‰å…‹ç›§å¸ƒ
-
-
- å¡”å‰å…‹ç´¢è«å°¼
-
-
- 土庫曼馬ç´ç‰¹
-
-
- çªå°¼è¥¿äºç¬¬ç´çˆ¾
-
-
- æ±å 潘å
-
-
- 叿±¶åŸƒæ–¯åº«å¤
-
-
- åƒé‡Œé”忉˜å·´å“¥å…ƒ
-
-
- 新臺幣
-
-
- å¦å°å°¼äºå…ˆä»¤
-
-
- çƒå…‹è˜æ ¼é‡Œå¤«é‚£
-
-
- çƒå…‹è˜å¡æœ¬ç“¦é‚£èŒ²
-
-
- çƒå¹²é”先令 (1966-1987)
-
-
- çƒå¹²é”先令
-
-
- $
-
-
- ç¾å…ƒ (第二天)
-
-
- ç¾å…ƒ (åŒä¸€å¤©)
-
-
- çƒæ‹‰åœæ«ç´¢ (1975-1993)
-
-
- çƒæ‹‰åœæ«ç´¢
-
-
- çƒèŒ²åˆ¥å…‹ç´¢å§†
-
-
- å§”å…§ç‘æ‹‰ç»åˆ©ç“¦
-
-
- å§”å…§ç‘æ‹‰å¼·å‹¢ç»åˆ©ç“¦
-
-
- è¬é‚£æœè¬æœ
-
-
- 西薩摩äºå¡”拉
-
-
- è¥¿éæ³•éƒ BEAC
-
-
- XAG
-
-
- 黃金
-
-
- ææ´²ç¶œåˆå–®ä½
-
-
- ææ´²è²¨å¹£å–®ä½ XBB
-
-
- ææ´²æœƒè¨ˆå–®ä½ (XBC)
-
-
- ææ´²æœƒè¨ˆå–®ä½ (XBD)
-
-
- æ ¼ç‘é‚£é”å…ƒ
-
-
- ç‰¹æ®ææ¬¾æ¬
-
-
- ææ´²è²¨å¹£å–®ä½ XEU
-
-
- 法國金法éƒ
-
-
- 法國 UIC 法éƒ
-
-
- è¥¿éæ³•éƒ BCEAO
-
-
- 帕拉狄昂
-
-
- CFP 法éƒ
-
-
- 白金
-
-
- XTS
-
-
- XXX
-
-
- 葉門第ç´çˆ¾
-
-
- 葉門里雅
-
-
- å—æ–¯æ‹‰å¤«ç¬¬ç´çˆ¾ç¡¬å¹£
-
-
- å—æ–¯æ‹‰å¤«æŒªå¨äºç¬¬ç´çˆ¾
-
-
- å—æ–¯æ‹‰å¤« å¯è½‰æ›ç¬¬ç´çˆ¾
-
-
- å—éè˜ç‰¹ (金è)
-
-
- å—éè˜ç‰¹
-
-
- å°æ¯”äºå…‹ç“¦æŸ¥
-
-
- è–©ä¼æ–°æ‰ä¼çˆ¾
-
-
- è–©ä¼æ‰ä¼çˆ¾
-
-
- 辛巴å¨å…ƒ
-
-
-
-
-
- {0}å°æ™‚
-
-
- {0} 週
-
-
-
-
- 是:確å®
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hant_HK.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hant_HK.xml
deleted file mode 100644
index b74989cc3..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hant_HK.xml
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- æ„大利文
- è’™å¤èª
-
-
-
-
-
- å‚³çµ±å¾·åœ‹æ‹¼å—æ³•
- 1996 å¾·åœ‹æ‹¼å—æ³•
- San Giorgio/Bila 方言
- Gniva/Njiva 方言
- Oseacco/Osojane 方言
- å·²ä¿®è¨‚æ‹¼å—æ³•
- è˜‡æ ¼è˜æ¨™æº–英èª
- Stolvizza/Solbica 方言
-
-
- ç¹é«”䏿–‡é †åº - Big5
- ç°¡é«”ä¸æ–‡é †åº - GB2312
-
-
- å進制
-
-
-
-
-
-
-
- M月d日E
- y年M月d日,E
-
-
-
-
-
-
-
- y年M月d日EEEE
-
-
-
-
- y年M月d日
-
-
-
-
- y年M月d日
-
-
-
-
- yy年M月d日
-
-
-
-
-
-
- ahh:mm:ss
-
-
-
-
-
-
- {1}{0}
-
-
-
-
- {1}{0}
-
-
-
- yyyy/M
-
-
-
- ah至h時
-
-
- ah:mm至ah:mmv
- ah:mm至h:mmv
- ah:mm至h:mmv
-
-
- ah時至ah時v
- ah至h時v
-
-
- M月d日至d日
- M月d日至M月d日
-
-
- M月d日E至d日E
- M月d日E至M月d日E
-
-
- yy年M月至M月
- yy年M月至yy年M月
-
-
- yy年M月d日至d日
- yy年M月d日至M月d日
- yy年M月d日至yy年M月d日
-
-
- yy年M月d日E至d日E
- yy年M月d日E至M月d日E
- yy年M月d日E至yy年M月d日E
-
-
-
-
-
-
-
-
-
-
- ¤#,##0.00;(¤#,##0.00)
-
-
-
-
-
- 澳元
-
-
- 波斯尼äº-黑å¡å“¥ç¶é‚£ç¬¬ç´çˆ¾
-
-
- 波斯尼äº-黑å¡å“¥ç¶é‚£å¯è½‰æ›é¦¬å…‹
-
-
- å å…ƒ
-
-
- 港元
- $
-
-
- æ„大利里拉
-
-
- ç´è¥¿è˜å…ƒ
-
-
- å¡çˆ¾ç¶äºç¬¬ç´çˆ¾
-
-
- æ–°å å¡å…ƒ
-
-
- æ–°å°å¹£
-
-
- US$
-
-
-
-
-
- {0}時
-
-
- {0}星期
-
-
-
-
- 是
- å¦
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hant_MO.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hant_MO.xml
deleted file mode 100644
index 56f538884..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hant_MO.xml
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- yyyy/M
-
-
-
-
-
-
-
- y年MM月dd日EEEE
-
-
-
-
- y年MM月dd日
-
-
-
-
- y年M月d日
-
-
-
-
- yy年M月d日
-
-
-
-
-
-
- ahh:mm:ss
-
-
-
-
-
- yyyy/M
-
-
-
- ah至h時
-
-
- ah:mm至ah:mmv
- ah:mm至h:mmv
- ah:mm至h:mmv
-
-
- ah時至ah時v
- ah至h時v
-
-
- M月d日至d日
- M月d日至M月d日
-
-
- M月d日E至d日E
- M月d日E至M月d日E
-
-
- MM月d日至d日
- MM月d日至MM月d日
-
-
- MM月d日E至d日E
- MM月d日E至MM月d日E
-
-
- yy年M月至M月
- yy年M月至yy年M月
-
-
- yy年M月d日至d日
- yy年M月d日至M月d日
- yy年M月d日至yy年M月d日
-
-
- yy年M月d日E至d日E
- yy年M月d日E至M月d日E
- yy年M月d日E至yy年M月d日E
-
-
- y年MM月至MM月
- y年MM月至y年MM月
-
-
- y年MM月d日至d日
- y年MM月d日至MM月d日
- y年MM月d日至y年MM月d日
-
-
- y年MM月d日E至d日E
- y年MM月d日E至MM月d日E
- y年MM月d日E至y年MM月d日E
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_Hant_TW.xml b/airtime_mvc/library/Zend/Locale/Data/zh_Hant_TW.xml
deleted file mode 100644
index 30fc77dea..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_Hant_TW.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_MO.xml b/airtime_mvc/library/Zend/Locale/Data/zh_MO.xml
deleted file mode 100644
index 435a03b02..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_MO.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_SG.xml b/airtime_mvc/library/Zend/Locale/Data/zh_SG.xml
deleted file mode 100644
index 7eab83100..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_SG.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zh_TW.xml b/airtime_mvc/library/Zend/Locale/Data/zh_TW.xml
deleted file mode 100644
index 052da3e57..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zh_TW.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zu.xml b/airtime_mvc/library/Zend/Locale/Data/zu.xml
deleted file mode 100644
index c248ec024..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zu.xml
+++ /dev/null
@@ -1,328 +0,0 @@
-
-
-
-
-
-
-
- en_ZA
-
-
- isiBhunu
- Isi-Amaharikhi
- isi-Alabhu
- Assamese
- Isi-Azebhayijani
- IsiBhelarashiyani
- Isi-Bulgaria
- IsiBhihari
- IsiBhengali
- isihlobo sase Britain
- IsiBhosiniyani
- IsiKhathalani
- Isi-Czech
- IsiWelshi
- IsiDenishi
- isiJalimani
- IsiGreki
- isiNgisi
- Isi-Esperanto
- isiSpeyini
- Isi-Esistoniya
- Isi-Basque
- IsiPheshiyani
- isiFinnish
- IsiThagalogi
- Isifaro
- isiFulentshi
- IsiFriziyani
- Isi-Irishi
- I-Scots Gaelic
- Isi-Galashiya
- Gurani
- IsiGujarati
- IsiHebheru
- isiHindi
- Isi-Croatia
- IsiHangari
- Armenian
- Izilimi ezihlangene
- Isi-Indonesia
- Izilimu
- Isi-Icelandic
- isItalian
- IsiJaphani
- IsiJavanisi
- IsiJojiyani
- Cambodian
- Ikhanada
- IsiKoriya
- ulimu lwama Kudishi
- Kyrgyz
- IsiLathini
- Lingala
- Laothian
- Isi-Lithuanian
- Isi-Latvian
- IsiMakhedoniya
- IsiMalayami
- Mongolian
- IsiMarathi
- IsiMalayi
- IsiMalithize
- IsiNepali
- Isi-Dutch
- IsiNowejiyani (Nynorsk)
- IsiNoweyi
- Isi-Osithani
- Oriya
- IsiPhunjabi
- IsiPholisi
- Pashto
- IsiPotukezi
- Isiputukezi (Brazil)
- IsiPotukezi (Ephothugali)
- IsiRomani
- IsiRashiya
- Sanskrit
- Sindhi
- Serbo-Croatian
- IsiSinhalese
- IsiSlovaki
- IsiSlovakiyani
- Somali
- Isi-Albania
- Isi-Sebhiya
- isiSuthu
- IsiSundanizi
- IsiSwidishi
- isiSwahili
- IsiThamil
- IsiThelugu
- IsiThayi
- IsiTigrinya
- umuntu wase Turkmenistan.
- IsiKlingoni
- IsiThekishi
- Twi
- Uighur
- Isi-Ukrain
- Isi-Udu
- Isi-Uzibheki
- IsiVietnamise
- isiXhosa
- ulimu olwi Yidish
- isiZulu
-
-
- iNingizimu Afrika
-
-
-
- [a b {bh} c {ch} d {dl} {dy} e-g {gc} {gq} {gx} h {hh} {hl} i-k {kh} {kl} {kp} l-n {nc} {ngc} {ngq} {ngx} {nhl} {nk} {nkc} {nkq} {nkx} {nq} {ntsh} {nx} {ny} o p {ph} q {qh} r {rh} s {sh} t {th} {tl} {ts} {tsh} u-x {xh} y z]
- [a-z]
-
-
- ‘
- ’
- “
- â€
-
-
-
-
-
-
-
- Jan
- Feb
- Mas
- Apr
- Mey
- Jun
- Jul
- Aga
- Sep
- Okt
- Nov
- Dis
-
-
- Januwari
- Februwari
- Mashi
- Apreli
- Meyi
- Juni
- Julayi
- Agasti
- Septhemba
- Okthoba
- Novemba
- Disemba
-
-
-
-
- J
- F
- M
- A
- M
- J
- J
- A
- S
- O
- N
- D
-
-
- uJanuwari
- uFebruwari
- uMashi
- u-Apreli
- uMeyi
- uJuni
- uJulayi
- uAgasti
- uSepthemba
- u-Okthoba
- uNovemba
- uDisemba
-
-
-
-
-
-
- Son
- Mso
- Bil
- Tha
- Sin
- Hla
- Mgq
-
-
- Sonto
- Msombuluko
- Lwesibili
- Lwesithathu
- uLwesine
- Lwesihlanu
- Mgqibelo
-
-
-
-
- S
- M
- B
- T
- S
- H
- M
-
-
-
-
-
- BC
- AD
-
-
-
-
-
- EEEE dd MMMM y
-
-
-
-
- d MMMM y
-
-
-
-
- d MMM y
-
-
-
-
- yyyy-MM-dd
-
-
-
-
-
-
- h:mm:ss a zzzz
-
-
-
-
- h:mm:ss a z
-
-
-
-
- h:mm:ss a
-
-
-
-
- h:mm a
-
-
-
-
-
-
- +HH:mm;-HH:mm
- GMT{0}
- {0}
-
-
-
-
- ,
- Â
-
-
-
-
- #,##0.###
-
-
-
-
-
-
- #E0
-
-
-
-
-
-
- #,##0%
-
-
-
-
-
-
- ¤#,##0.00
-
-
-
-
-
-
- yebo:y
- cha:c
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Data/zu_ZA.xml b/airtime_mvc/library/Zend/Locale/Data/zu_ZA.xml
deleted file mode 100644
index f75d9e9be..000000000
--- a/airtime_mvc/library/Zend/Locale/Data/zu_ZA.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Locale/Exception.php b/airtime_mvc/library/Zend/Locale/Exception.php
deleted file mode 100644
index 321814c48..000000000
--- a/airtime_mvc/library/Zend/Locale/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
- null,
- 'number_format' => null,
- 'format_type' => 'iso',
- 'fix_date' => false,
- 'locale' => null,
- 'cache' => null,
- 'disableCache' => false,
- 'precision' => null);
-
- /**
- * Sets class wide options, if no option was given, the actual set options will be returned
- * The 'precision' option of a value is used to truncate or stretch extra digits. -1 means not to touch the extra digits.
- * The 'locale' option helps when parsing numbers and dates using separators and month names.
- * The date format 'format_type' option selects between CLDR/ISO date format specifier tokens and PHP's date() tokens.
- * The 'fix_date' option enables or disables heuristics that attempt to correct invalid dates.
- * The 'number_format' option can be used to specify a default number format string
- * The 'date_format' option can be used to specify a default date format string, but beware of using getDate(),
- * checkDateFormat() and getTime() after using setOptions() with a 'format'. To use these four methods
- * with the default date format for a locale, use array('date_format' => null, 'locale' => $locale) for their options.
- *
- * @param array $options Array of options, keyed by option name: format_type = 'iso' | 'php', fix_date = true | false,
- * locale = Zend_Locale | locale string, precision = whole number between -1 and 30
- * @throws Zend_Locale_Exception
- * @return Options array if no option was given
- */
- public static function setOptions(array $options = array())
- {
- self::$_options = self::_checkOptions($options) + self::$_options;
- return self::$_options;
- }
-
- /**
- * Internal function for checking the options array of proper input values
- * See {@link setOptions()} for details.
- *
- * @param array $options Array of options, keyed by option name: format_type = 'iso' | 'php', fix_date = true | false,
- * locale = Zend_Locale | locale string, precision = whole number between -1 and 30
- * @throws Zend_Locale_Exception
- * @return Options array if no option was given
- */
- private static function _checkOptions(array $options = array())
- {
- if (count($options) == 0) {
- return self::$_options;
- }
- foreach ($options as $name => $value) {
- $name = strtolower($name);
- if ($name !== 'locale') {
- if (gettype($value) === 'string') {
- $value = strtolower($value);
- }
- }
-
- switch($name) {
- case 'number_format' :
- if ($value == Zend_Locale_Format::STANDARD) {
- $locale = self::$_options['locale'];
- if (isset($options['locale'])) {
- $locale = $options['locale'];
- }
- $options['number_format'] = Zend_Locale_Data::getContent($locale, 'decimalnumber');
- } else if ((gettype($value) !== 'string') and ($value !== NULL)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown number format type '" . gettype($value) . "'. "
- . "Format '$value' must be a valid number format string.");
- }
- break;
-
- case 'date_format' :
- if ($value == Zend_Locale_Format::STANDARD) {
- $locale = self::$_options['locale'];
- if (isset($options['locale'])) {
- $locale = $options['locale'];
- }
- $options['date_format'] = Zend_Locale_Format::getDateFormat($locale);
- } else if ((gettype($value) !== 'string') and ($value !== NULL)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown dateformat type '" . gettype($value) . "'. "
- . "Format '$value' must be a valid ISO or PHP date format string.");
- } else {
- if (((isset($options['format_type']) === true) and ($options['format_type'] == 'php')) or
- ((isset($options['format_type']) === false) and (self::$_options['format_type'] == 'php'))) {
- $options['date_format'] = Zend_Locale_Format::convertPhpToIsoFormat($value);
- }
- }
- break;
-
- case 'format_type' :
- if (($value != 'php') && ($value != 'iso')) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown date format type '$value'. Only 'iso' and 'php'"
- . " are supported.");
- }
- break;
-
- case 'fix_date' :
- if (($value !== true) && ($value !== false)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Enabling correction of dates must be either true or false"
- . "(fix_date='$value').");
- }
- break;
-
- case 'locale' :
- $options['locale'] = Zend_Locale::findLocale($value);
- break;
-
- case 'cache' :
- if ($value instanceof Zend_Cache_Core) {
- Zend_Locale_Data::setCache($value);
- }
- break;
-
- case 'disablecache' :
- Zend_Locale_Data::disableCache($value);
- break;
-
- case 'precision' :
- if ($value === NULL) {
- $value = -1;
- }
-
- if (($value < -1) || ($value > 30)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("'$value' precision is not a whole number less than 30.");
- }
- break;
-
- default:
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown option: '$name' = '$value'");
- break;
-
- }
- }
-
- return $options;
- }
-
- /**
- * Changes the numbers/digits within a given string from one script to another
- * 'Decimal' representated the stardard numbers 0-9, if a script does not exist
- * an exception will be thrown.
- *
- * Examples for conversion from Arabic to Latin numerals:
- * convertNumerals('١١٠Tests', 'Arab'); -> returns '100 Tests'
- * Example for conversion from Latin to Arabic numerals:
- * convertNumerals('100 Tests', 'Latn', 'Arab'); -> returns '١١٠Tests'
- *
- * @param string $input String to convert
- * @param string $from Script to parse, see {@link Zend_Locale::getScriptList()} for details.
- * @param string $to OPTIONAL Script to convert to
- * @return string Returns the converted input
- * @throws Zend_Locale_Exception
- */
- public static function convertNumerals($input, $from, $to = null)
- {
- $from = strtolower($from);
- $source = Zend_Locale_Data::getContent('en', 'numberingsystem', $from);
- if (empty($source)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown script '$from'. Use 'Latn' for digits 0,1,2,3,4,5,6,7,8,9.");
- }
-
- if ($to !== null) {
- $to = strtolower($to);
- $target = Zend_Locale_Data::getContent('en', 'numberingsystem', $to);
- if (empty($target)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown script '$to'. Use 'Latn' for digits 0,1,2,3,4,5,6,7,8,9.");
- }
- } else {
- $target = '0123456789';
- }
-
- for ($x = 0; $x < 10; ++$x) {
- $asource[$x] = "/" . iconv_substr($source, $x, 1, 'UTF-8') . "/u";
- $atarget[$x] = iconv_substr($target, $x, 1, 'UTF-8');
- }
-
- return preg_replace($asource, $atarget, $input);
- }
-
- /**
- * Returns the normalized number from a localized one
- * Parsing depends on given locale (grouping and decimal)
- *
- * Examples for input:
- * '2345.4356,1234' = 23455456.1234
- * '+23,3452.123' = 233452.123
- * '12343 ' = 12343
- * '-9456' = -9456
- * '0' = 0
- *
- * @param string $input Input string to parse for numbers
- * @param array $options Options: locale, precision. See {@link setOptions()} for details.
- * @return string Returns the extracted number
- * @throws Zend_Locale_Exception
- */
- public static function getNumber($input, array $options = array())
- {
- $options = self::_checkOptions($options) + self::$_options;
- if (!is_string($input)) {
- return $input;
- }
-
- if (!self::isNumber($input, $options)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception('No localized value in ' . $input . ' found, or the given number does not match the localized format');
- }
-
- // Get correct signs for this locale
- $symbols = Zend_Locale_Data::getList($options['locale'],'symbols');
- // Change locale input to be default number
- if ((strpos($input, $symbols['minus']) !== false) ||
- (strpos($input, '-') !== false)) {
- $input = strtr($input, array($symbols['minus'] => '', '-' => ''));
- $input = '-' . $input;
- }
-
- $input = str_replace($symbols['group'],'', $input);
- if (strpos($input, $symbols['decimal']) !== false) {
- if ($symbols['decimal'] != '.') {
- $input = str_replace($symbols['decimal'], ".", $input);
- }
-
- $pre = substr($input, strpos($input, '.') + 1);
- if ($options['precision'] === null) {
- $options['precision'] = strlen($pre);
- }
-
- if (strlen($pre) >= $options['precision']) {
- $input = substr($input, 0, strlen($input) - strlen($pre) + $options['precision']);
- }
-
- if (($options['precision'] == 0) && ($input[strlen($input) - 1] == '.')) {
- $input = substr($input, 0, -1);
- }
- }
-
- return $input;
- }
-
- /**
- * Returns a locale formatted number depending on the given options.
- * The seperation and fraction sign is used from the set locale.
- * ##0.# -> 12345.12345 -> 12345.12345
- * ##0.00 -> 12345.12345 -> 12345.12
- * ##,##0.00 -> 12345.12345 -> 12,345.12
- *
- * @param string $input Localized number string
- * @param array $options Options: number_format, locale, precision. See {@link setOptions()} for details.
- * @return string locale formatted number
- * @throws Zend_Locale_Exception
- */
- public static function toNumber($value, array $options = array())
- {
- // load class within method for speed
- require_once 'Zend/Locale/Math.php';
-
- $value = Zend_Locale_Math::normalize($value);
- $value = Zend_Locale_Math::floatalize($value);
- $options = self::_checkOptions($options) + self::$_options;
- $options['locale'] = (string) $options['locale'];
-
- // Get correct signs for this locale
- $symbols = Zend_Locale_Data::getList($options['locale'], 'symbols');
- $oenc = iconv_get_encoding('internal_encoding');
- iconv_set_encoding('internal_encoding', 'UTF-8');
-
- // Get format
- $format = $options['number_format'];
- if ($format === null) {
- $format = Zend_Locale_Data::getContent($options['locale'], 'decimalnumber');
- $format = self::_seperateFormat($format, $value, $options['precision']);
-
- if ($options['precision'] !== null) {
- $value = Zend_Locale_Math::normalize(Zend_Locale_Math::round($value, $options['precision']));
- }
- } else {
- // seperate negative format pattern when available
- $format = self::_seperateFormat($format, $value, $options['precision']);
- if (strpos($format, '.')) {
- if (is_numeric($options['precision'])) {
- $value = Zend_Locale_Math::round($value, $options['precision']);
- } else {
- if (substr($format, iconv_strpos($format, '.') + 1, 3) == '###') {
- $options['precision'] = null;
- } else {
- $options['precision'] = iconv_strlen(iconv_substr($format, iconv_strpos($format, '.') + 1,
- iconv_strrpos($format, '0') - iconv_strpos($format, '.')));
- $format = iconv_substr($format, 0, iconv_strpos($format, '.') + 1) . '###'
- . iconv_substr($format, iconv_strrpos($format, '0') + 1);
- }
- }
- } else {
- $value = Zend_Locale_Math::round($value, 0);
- $options['precision'] = 0;
- }
- $value = Zend_Locale_Math::normalize($value);
- }
-
- if (iconv_strpos($format, '0') === false) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception('Wrong format... missing 0');
- }
-
- // get number parts
- $pos = iconv_strpos($value, '.');
- if ($pos !== false) {
- if ($options['precision'] === null) {
- $precstr = iconv_substr($value, $pos + 1);
- } else {
- $precstr = iconv_substr($value, $pos + 1, $options['precision']);
- if (iconv_strlen($precstr) < $options['precision']) {
- $precstr = $precstr . str_pad("0", ($options['precision'] - iconv_strlen($precstr)), "0");
- }
- }
- } else {
- if ($options['precision'] > 0) {
- $precstr = str_pad("0", ($options['precision']), "0");
- }
- }
-
- if ($options['precision'] === null) {
- if (isset($precstr)) {
- $options['precision'] = iconv_strlen($precstr);
- } else {
- $options['precision'] = 0;
- }
- }
-
- // get fraction and format lengths
- if (strpos($value, '.') !== false) {
- $number = substr((string) $value, 0, strpos($value, '.'));
- } else {
- $number = $value;
- }
-
- $prec = call_user_func(Zend_Locale_Math::$sub, $value, $number, $options['precision']);
- $prec = Zend_Locale_Math::floatalize($prec);
- $prec = Zend_Locale_Math::normalize($prec);
- if (iconv_strpos($prec, '-') !== false) {
- $prec = iconv_substr($prec, 1);
- }
-
- if (($prec == 0) and ($options['precision'] > 0)) {
- $prec = "0.0";
- }
-
- if (($options['precision'] + 2) > iconv_strlen($prec)) {
- $prec = str_pad((string) $prec, $options['precision'] + 2, "0", STR_PAD_RIGHT);
- }
-
- if (iconv_strpos($number, '-') !== false) {
- $number = iconv_substr($number, 1);
- }
- $group = iconv_strrpos($format, ',');
- $group2 = iconv_strpos ($format, ',');
- $point = iconv_strpos ($format, '0');
- // Add fraction
- $rest = "";
- if (iconv_strpos($format, '.')) {
- $rest = iconv_substr($format, iconv_strpos($format, '.') + 1);
- $length = iconv_strlen($rest);
- for($x = 0; $x < $length; ++$x) {
- if (($rest[0] == '0') || ($rest[0] == '#')) {
- $rest = iconv_substr($rest, 1);
- }
- }
- $format = iconv_substr($format, 0, iconv_strlen($format) - iconv_strlen($rest));
- }
-
- if ($options['precision'] == '0') {
- if (iconv_strrpos($format, '-') != 0) {
- $format = iconv_substr($format, 0, $point)
- . iconv_substr($format, iconv_strrpos($format, '#') + 2);
- } else {
- $format = iconv_substr($format, 0, $point);
- }
- } else {
- $format = iconv_substr($format, 0, $point) . $symbols['decimal']
- . iconv_substr($prec, 2);
- }
-
- $format .= $rest;
- // Add seperation
- if ($group == 0) {
- // no seperation
- $format = $number . iconv_substr($format, $point);
- } else if ($group == $group2) {
- // only 1 seperation
- $seperation = ($point - $group);
- for ($x = iconv_strlen($number); $x > $seperation; $x -= $seperation) {
- if (iconv_substr($number, 0, $x - $seperation) !== "") {
- $number = iconv_substr($number, 0, $x - $seperation) . $symbols['group']
- . iconv_substr($number, $x - $seperation);
- }
- }
- $format = iconv_substr($format, 0, iconv_strpos($format, '#')) . $number . iconv_substr($format, $point);
- } else {
-
- // 2 seperations
- if (iconv_strlen($number) > ($point - $group)) {
- $seperation = ($point - $group);
- $number = iconv_substr($number, 0, iconv_strlen($number) - $seperation) . $symbols['group']
- . iconv_substr($number, iconv_strlen($number) - $seperation);
-
- if ((iconv_strlen($number) - 1) > ($point - $group + 1)) {
- $seperation2 = ($group - $group2 - 1);
- for ($x = iconv_strlen($number) - $seperation2 - 2; $x > $seperation2; $x -= $seperation2) {
- $number = iconv_substr($number, 0, $x - $seperation2) . $symbols['group']
- . iconv_substr($number, $x - $seperation2);
- }
- }
-
- }
- $format = iconv_substr($format, 0, iconv_strpos($format, '#')) . $number . iconv_substr($format, $point);
- }
- // set negative sign
- if (call_user_func(Zend_Locale_Math::$comp, $value, 0, $options['precision']) < 0) {
- if (iconv_strpos($format, '-') === false) {
- $format = $symbols['minus'] . $format;
- } else {
- $format = str_replace('-', $symbols['minus'], $format);
- }
- }
-
- iconv_set_encoding('internal_encoding', $oenc);
- return (string) $format;
- }
-
- private static function _seperateFormat($format, $value, $precision)
- {
- if (iconv_strpos($format, ';') !== false) {
- if (call_user_func(Zend_Locale_Math::$comp, $value, 0, $precision) < 0) {
- $tmpformat = iconv_substr($format, iconv_strpos($format, ';') + 1);
- if ($tmpformat[0] == '(') {
- $format = iconv_substr($format, 0, iconv_strpos($format, ';'));
- } else {
- $format = $tmpformat;
- }
- } else {
- $format = iconv_substr($format, 0, iconv_strpos($format, ';'));
- }
- }
-
- return $format;
- }
-
-
- /**
- * Checks if the input contains a normalized or localized number
- *
- * @param string $input Localized number string
- * @param array $options Options: locale. See {@link setOptions()} for details.
- * @return boolean Returns true if a number was found
- */
- public static function isNumber($input, array $options = array())
- {
- $options = self::_checkOptions($options) + self::$_options;
-
- // Get correct signs for this locale
- $symbols = Zend_Locale_Data::getList($options['locale'],'symbols');
-
- $regexs = Zend_Locale_Format::_getRegexForType('decimalnumber', $options);
- $regexs = array_merge($regexs, Zend_Locale_Format::_getRegexForType('scientificnumber', $options));
- if (!empty($input) && ($input[0] == $symbols['decimal'])) {
- $input = 0 . $input;
- }
- foreach ($regexs as $regex) {
- preg_match($regex, $input, $found);
- if (isset($found[0])) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Internal method to convert cldr number syntax into regex
- *
- * @param string $type
- * @return string
- */
- private static function _getRegexForType($type, $options)
- {
- $decimal = Zend_Locale_Data::getContent($options['locale'], $type);
- $decimal = preg_replace('/[^#0,;\.\-Ee]/u', '',$decimal);
- $patterns = explode(';', $decimal);
-
- if (count($patterns) == 1) {
- $patterns[1] = '-' . $patterns[0];
- }
-
- $symbols = Zend_Locale_Data::getList($options['locale'],'symbols');
-
- foreach($patterns as $pkey => $pattern) {
- $regex[$pkey] = '/^';
- $rest = 0;
- $end = null;
- if (strpos($pattern, '.') !== false) {
- $end = substr($pattern, strpos($pattern, '.') + 1);
- $pattern = substr($pattern, 0, -strlen($end) - 1);
- }
-
- if (strpos($pattern, ',') !== false) {
- $parts = explode(',', $pattern);
- $count = count($parts);
- foreach($parts as $key => $part) {
- switch ($part) {
- case '#':
- case '-#':
- if ($part[0] == '-') {
- $regex[$pkey] .= '[' . $symbols['minus'] . '-]{0,1}';
- } else {
- $regex[$pkey] .= '[' . $symbols['plus'] . '+]{0,1}';
- }
-
- if (($parts[$key + 1]) == '##0') {
- $regex[$pkey] .= '[0-9]{1,3}';
- } else if (($parts[$key + 1]) == '##') {
- $regex[$pkey] .= '[0-9]{1,2}';
- } else {
- throw new Zend_Locale_Exception('Unsupported token for numberformat (Pos 1):"' . $pattern . '"');
- }
- break;
- case '##':
- if ($parts[$key + 1] == '##0') {
- $regex[$pkey] .= '(\\' . $symbols['group'] . '{0,1}[0-9]{2})*';
- } else {
- throw new Zend_Locale_Exception('Unsupported token for numberformat (Pos 2):"' . $pattern . '"');
- }
- break;
- case '##0':
- if ($parts[$key - 1] == '##') {
- $regex[$pkey] .= '[0-9]';
- } else if (($parts[$key - 1] == '#') || ($parts[$key - 1] == '-#')) {
- $regex[$pkey] .= '(\\' . $symbols['group'] . '{0,1}[0-9]{3})*';
- } else {
- throw new Zend_Locale_Exception('Unsupported token for numberformat (Pos 3):"' . $pattern . '"');
- }
- break;
- case '#0':
- if ($key == 0) {
- $regex[$pkey] .= '[0-9]*';
- } else {
- throw new Zend_Locale_Exception('Unsupported token for numberformat (Pos 4):"' . $pattern . '"');
- }
- break;
- }
- }
- }
-
- if (strpos($pattern, 'E') !== false) {
- if (($pattern == '#E0') || ($pattern == '#E00')) {
- $regex[$pkey] .= '[' . $symbols['plus']. '+]{0,1}[0-9]{1,}(\\' . $symbols['decimal'] . '[0-9]{1,})*[eE][' . $symbols['plus']. '+]{0,1}[0-9]{1,}';
- } else if (($pattern == '-#E0') || ($pattern == '-#E00')) {
- $regex[$pkey] .= '[' . $symbols['minus']. '-]{0,1}[0-9]{1,}(\\' . $symbols['decimal'] . '[0-9]{1,})*[eE][' . $symbols['minus']. '-]{0,1}[0-9]{1,}';
- } else {
- throw new Zend_Locale_Exception('Unsupported token for numberformat (Pos 5):"' . $pattern . '"');
- }
- }
-
- if (!empty($end)) {
- if ($end == '###') {
- $regex[$pkey] .= '(\\' . $symbols['decimal'] . '{1}[0-9]{1,}){0,1}';
- } else if ($end == '###-') {
- $regex[$pkey] .= '(\\' . $symbols['decimal'] . '{1}[0-9]{1,}){0,1}[' . $symbols['minus']. '-]';
- } else {
- throw new Zend_Locale_Exception('Unsupported token for numberformat (Pos 6):"' . $pattern . '"');
- }
- }
-
- $regex[$pkey] .= '$/u';
- }
-
- return $regex;
- }
-
- /**
- * Alias for getNumber
- *
- * @param string $value Number to localize
- * @param array $options Options: locale, precision. See {@link setOptions()} for details.
- * @return float
- */
- public static function getFloat($input, array $options = array())
- {
- return floatval(self::getNumber($input, $options));
- }
-
- /**
- * Returns a locale formatted integer number
- * Alias for toNumber()
- *
- * @param string $value Number to normalize
- * @param array $options Options: locale, precision. See {@link setOptions()} for details.
- * @return string Locale formatted number
- */
- public static function toFloat($value, array $options = array())
- {
- $options['number_format'] = Zend_Locale_Format::STANDARD;
- return self::toNumber($value, $options);
- }
-
- /**
- * Returns if a float was found
- * Alias for isNumber()
- *
- * @param string $input Localized number string
- * @param array $options Options: locale. See {@link setOptions()} for details.
- * @return boolean Returns true if a number was found
- */
- public static function isFloat($value, array $options = array())
- {
- return self::isNumber($value, $options);
- }
-
- /**
- * Returns the first found integer from an string
- * Parsing depends on given locale (grouping and decimal)
- *
- * Examples for input:
- * ' 2345.4356,1234' = 23455456
- * '+23,3452.123' = 233452
- * ' 12343 ' = 12343
- * '-9456km' = -9456
- * '0' = 0
- * '(-){0,1}(\d+(\.){0,1})*(\,){0,1})\d+'
- *
- * @param string $input Input string to parse for numbers
- * @param array $options Options: locale. See {@link setOptions()} for details.
- * @return integer Returns the extracted number
- */
- public static function getInteger($input, array $options = array())
- {
- $options['precision'] = 0;
- return intval(self::getFloat($input, $options));
- }
-
- /**
- * Returns a localized number
- *
- * @param string $value Number to normalize
- * @param array $options Options: locale. See {@link setOptions()} for details.
- * @return string Locale formatted number
- */
- public static function toInteger($value, array $options = array())
- {
- $options['precision'] = 0;
- $options['number_format'] = Zend_Locale_Format::STANDARD;
- return self::toNumber($value, $options);
- }
-
- /**
- * Returns if a integer was found
- *
- * @param string $input Localized number string
- * @param array $options Options: locale. See {@link setOptions()} for details.
- * @return boolean Returns true if a integer was found
- */
- public static function isInteger($value, array $options = array())
- {
- if (!self::isNumber($value, $options)) {
- return false;
- }
-
- if (self::getInteger($value, $options) == self::getFloat($value, $options)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Converts a format string from PHP's date format to ISO format
- * Remember that Zend Date always returns localized string, so a month name which returns the english
- * month in php's date() will return the translated month name with this function... use 'en' as locale
- * if you are in need of the original english names
- *
- * The conversion has the following restrictions:
- * 'a', 'A' - Meridiem is not explicit upper/lowercase, you have to upper/lowercase the translated value yourself
- *
- * @param string $format Format string in PHP's date format
- * @return string Format string in ISO format
- */
- public static function convertPhpToIsoFormat($format)
- {
- if ($format === null) {
- return null;
- }
-
- $convert = array('d' => 'dd' , 'D' => 'EE' , 'j' => 'd' , 'l' => 'EEEE', 'N' => 'eee' , 'S' => 'SS' ,
- 'w' => 'e' , 'z' => 'D' , 'W' => 'ww' , 'F' => 'MMMM', 'm' => 'MM' , 'M' => 'MMM' ,
- 'n' => 'M' , 't' => 'ddd' , 'L' => 'l' , 'o' => 'YYYY', 'Y' => 'yyyy', 'y' => 'yy' ,
- 'a' => 'a' , 'A' => 'a' , 'B' => 'B' , 'g' => 'h' , 'G' => 'H' , 'h' => 'hh' ,
- 'H' => 'HH' , 'i' => 'mm' , 's' => 'ss' , 'e' => 'zzzz', 'I' => 'I' , 'O' => 'Z' ,
- 'P' => 'ZZZZ', 'T' => 'z' , 'Z' => 'X' , 'c' => 'yyyy-MM-ddTHH:mm:ssZZZZ',
- 'r' => 'r' , 'U' => 'U');
- $values = str_split($format);
- foreach ($values as $key => $value) {
- if (isset($convert[$value]) === true) {
- $values[$key] = $convert[$value];
- }
- }
-
- return join($values);
- }
-
- /**
- * Parse date and split in named array fields
- *
- * @param string $date Date string to parse
- * @param array $options Options: format_type, fix_date, locale, date_format. See {@link setOptions()} for details.
- * @return array Possible array members: day, month, year, hour, minute, second, fixed, format
- */
- private static function _parseDate($date, $options)
- {
- $options = self::_checkOptions($options) + self::$_options;
- $test = array('h', 'H', 'm', 's', 'y', 'Y', 'M', 'd', 'D', 'E', 'S', 'l', 'B', 'I',
- 'X', 'r', 'U', 'G', 'w', 'e', 'a', 'A', 'Z', 'z', 'v');
-
- $format = $options['date_format'];
- $number = $date; // working copy
- $result['date_format'] = $format; // save the format used to normalize $number (convenience)
- $result['locale'] = $options['locale']; // save the locale used to normalize $number (convenience)
-
- $oenc = iconv_get_encoding('internal_encoding');
- iconv_set_encoding('internal_encoding', 'UTF-8');
- $day = iconv_strpos($format, 'd');
- $month = iconv_strpos($format, 'M');
- $year = iconv_strpos($format, 'y');
- $hour = iconv_strpos($format, 'H');
- $min = iconv_strpos($format, 'm');
- $sec = iconv_strpos($format, 's');
- $am = null;
- if ($hour === false) {
- $hour = iconv_strpos($format, 'h');
- }
- if ($year === false) {
- $year = iconv_strpos($format, 'Y');
- }
- if ($day === false) {
- $day = iconv_strpos($format, 'E');
- if ($day === false) {
- $day = iconv_strpos($format, 'D');
- }
- }
-
- if ($day !== false) {
- $parse[$day] = 'd';
- if (!empty($options['locale']) && ($options['locale'] !== 'root') &&
- (!is_object($options['locale']) || ((string) $options['locale'] !== 'root'))) {
- // erase day string
- $daylist = Zend_Locale_Data::getList($options['locale'], 'day');
- foreach($daylist as $key => $name) {
- if (iconv_strpos($number, $name) !== false) {
- $number = str_replace($name, "EEEE", $number);
- break;
- }
- }
- }
- }
- $position = false;
-
- if ($month !== false) {
- $parse[$month] = 'M';
- if (!empty($options['locale']) && ($options['locale'] !== 'root') &&
- (!is_object($options['locale']) || ((string) $options['locale'] !== 'root'))) {
- // prepare to convert month name to their numeric equivalents, if requested,
- // and we have a $options['locale']
- $position = self::_replaceMonth($number, Zend_Locale_Data::getList($options['locale'],
- 'month'));
- if ($position === false) {
- $position = self::_replaceMonth($number, Zend_Locale_Data::getList($options['locale'],
- 'month', array('gregorian', 'format', 'abbreviated')));
- }
- }
- }
- if ($year !== false) {
- $parse[$year] = 'y';
- }
- if ($hour !== false) {
- $parse[$hour] = 'H';
- }
- if ($min !== false) {
- $parse[$min] = 'm';
- }
- if ($sec !== false) {
- $parse[$sec] = 's';
- }
-
- if (empty($parse)) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unknown date format, neither date nor time in '" . $format . "' found");
- }
- ksort($parse);
-
- // get daytime
- if (iconv_strpos($format, 'a') !== false) {
- if (iconv_strpos(strtoupper($number), strtoupper(Zend_Locale_Data::getContent($options['locale'], 'am'))) !== false) {
- $am = true;
- } else if (iconv_strpos(strtoupper($number), strtoupper(Zend_Locale_Data::getContent($options['locale'], 'pm'))) !== false) {
- $am = false;
- }
- }
-
- // split number parts
- $split = false;
- preg_match_all('/\d+/u', $number, $splitted);
-
- if (count($splitted[0]) == 0) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("No date part in '$date' found.");
- }
- if (count($splitted[0]) == 1) {
- $split = 0;
- }
- $cnt = 0;
- foreach($parse as $key => $value) {
-
- switch($value) {
- case 'd':
- if ($split === false) {
- if (count($splitted[0]) > $cnt) {
- $result['day'] = $splitted[0][$cnt];
- }
- } else {
- $result['day'] = iconv_substr($splitted[0][0], $split, 2);
- $split += 2;
- }
- ++$cnt;
- break;
- case 'M':
- if ($split === false) {
- if (count($splitted[0]) > $cnt) {
- $result['month'] = $splitted[0][$cnt];
- }
- } else {
- $result['month'] = iconv_substr($splitted[0][0], $split, 2);
- $split += 2;
- }
- ++$cnt;
- break;
- case 'y':
- $length = 2;
- if ((iconv_substr($format, $year, 4) == 'yyyy')
- || (iconv_substr($format, $year, 4) == 'YYYY')) {
- $length = 4;
- }
-
- if ($split === false) {
- if (count($splitted[0]) > $cnt) {
- $result['year'] = $splitted[0][$cnt];
- }
- } else {
- $result['year'] = iconv_substr($splitted[0][0], $split, $length);
- $split += $length;
- }
-
- ++$cnt;
- break;
- case 'H':
- if ($split === false) {
- if (count($splitted[0]) > $cnt) {
- $result['hour'] = $splitted[0][$cnt];
- }
- } else {
- $result['hour'] = iconv_substr($splitted[0][0], $split, 2);
- $split += 2;
- }
- ++$cnt;
- break;
- case 'm':
- if ($split === false) {
- if (count($splitted[0]) > $cnt) {
- $result['minute'] = $splitted[0][$cnt];
- }
- } else {
- $result['minute'] = iconv_substr($splitted[0][0], $split, 2);
- $split += 2;
- }
- ++$cnt;
- break;
- case 's':
- if ($split === false) {
- if (count($splitted[0]) > $cnt) {
- $result['second'] = $splitted[0][$cnt];
- }
- } else {
- $result['second'] = iconv_substr($splitted[0][0], $split, 2);
- $split += 2;
- }
- ++$cnt;
- break;
- }
- }
-
- // AM/PM correction
- if ($hour !== false) {
- if (($am === true) and ($result['hour'] == 12)){
- $result['hour'] = 0;
- } else if (($am === false) and ($result['hour'] != 12)) {
- $result['hour'] += 12;
- }
- }
-
- if ($options['fix_date'] === true) {
- $result['fixed'] = 0; // nothing has been "fixed" by swapping date parts around (yet)
- }
-
- if ($day !== false) {
- // fix false month
- if (isset($result['day']) and isset($result['month'])) {
- if (($position !== false) and ((iconv_strpos($date, $result['day']) === false) or
- (isset($result['year']) and (iconv_strpos($date, $result['year']) === false)))) {
- if ($options['fix_date'] !== true) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unable to parse date '$date' using '" . $format
- . "' (false month, $position, $month)");
- }
- $temp = $result['day'];
- $result['day'] = $result['month'];
- $result['month'] = $temp;
- $result['fixed'] = 1;
- }
- }
-
- // fix switched values d <> y
- if (isset($result['day']) and isset($result['year'])) {
- if ($result['day'] > 31) {
- if ($options['fix_date'] !== true) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unable to parse date '$date' using '"
- . $format . "' (d <> y)");
- }
- $temp = $result['year'];
- $result['year'] = $result['day'];
- $result['day'] = $temp;
- $result['fixed'] = 2;
- }
- }
-
- // fix switched values M <> y
- if (isset($result['month']) and isset($result['year'])) {
- if ($result['month'] > 31) {
- if ($options['fix_date'] !== true) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unable to parse date '$date' using '"
- . $format . "' (M <> y)");
- }
- $temp = $result['year'];
- $result['year'] = $result['month'];
- $result['month'] = $temp;
- $result['fixed'] = 3;
- }
- }
-
- // fix switched values M <> d
- if (isset($result['month']) and isset($result['day'])) {
- if ($result['month'] > 12) {
- if ($options['fix_date'] !== true || $result['month'] > 31) {
- iconv_set_encoding('internal_encoding', $oenc);
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("Unable to parse date '$date' using '"
- . $format . "' (M <> d)");
- }
- $temp = $result['day'];
- $result['day'] = $result['month'];
- $result['month'] = $temp;
- $result['fixed'] = 4;
- }
- }
- }
-
- if (isset($result['year'])) {
- if (((iconv_strlen($result['year']) == 2) && ($result['year'] < 10)) ||
- (((iconv_strpos($format, 'yy') !== false) && (iconv_strpos($format, 'yyyy') === false)) ||
- ((iconv_strpos($format, 'YY') !== false) && (iconv_strpos($format, 'YYYY') === false)))) {
- if (($result['year'] >= 0) && ($result['year'] < 100)) {
- if ($result['year'] < 70) {
- $result['year'] = (int) $result['year'] + 100;
- }
-
- $result['year'] = (int) $result['year'] + 1900;
- }
- }
- }
-
- iconv_set_encoding('internal_encoding', $oenc);
- return $result;
- }
-
- /**
- * Search $number for a month name found in $monthlist, and replace if found.
- *
- * @param string $number Date string (modified)
- * @param array $monthlist List of month names
- *
- * @return int|false Position of replaced string (false if nothing replaced)
- */
- protected static function _replaceMonth(&$number, $monthlist)
- {
- // If $locale was invalid, $monthlist will default to a "root" identity
- // mapping for each month number from 1 to 12.
- // If no $locale was given, or $locale was invalid, do not use this identity mapping to normalize.
- // Otherwise, translate locale aware month names in $number to their numeric equivalents.
- $position = false;
- if ($monthlist && $monthlist[1] != 1) {
- foreach($monthlist as $key => $name) {
- if (($position = iconv_strpos($number, $name, 0, 'UTF-8')) !== false) {
- $number = str_ireplace($name, $key, $number);
- return $position;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Returns the default date format for $locale.
- *
- * @param string|Zend_Locale $locale OPTIONAL Locale of $number, possibly in string form (e.g. 'de_AT')
- * @return string format
- * @throws Zend_Locale_Exception throws an exception when locale data is broken
- */
- public static function getDateFormat($locale = null)
- {
- $format = Zend_Locale_Data::getContent($locale, 'date');
- if (empty($format)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("failed to receive data from locale $locale");
- }
-
- return $format;
- }
-
- /**
- * Returns an array with the normalized date from an locale date
- * a input of 10.01.2006 without a $locale would return:
- * array ('day' => 10, 'month' => 1, 'year' => 2006)
- * The 'locale' option is only used to convert human readable day
- * and month names to their numeric equivalents.
- * The 'format' option allows specification of self-defined date formats,
- * when not using the default format for the 'locale'.
- *
- * @param string $date Date string
- * @param array $options Options: format_type, fix_date, locale, date_format. See {@link setOptions()} for details.
- * @return array Possible array members: day, month, year, hour, minute, second, fixed, format
- */
- public static function getDate($date, array $options = array())
- {
- $options = self::_checkOptions($options) + self::$_options;
- if (empty($options['date_format'])) {
- $options['format_type'] = 'iso';
- $options['date_format'] = self::getDateFormat($options['locale']);
- }
-
- return self::_parseDate($date, $options);
- }
-
- /**
- * Returns if the given datestring contains all date parts from the given format.
- * If no format is given, the default date format from the locale is used
- * If you want to check if the date is a proper date you should use Zend_Date::isDate()
- *
- * @param string $date Date string
- * @param array $options Options: format_type, fix_date, locale, date_format. See {@link setOptions()} for details.
- * @return boolean
- */
- public static function checkDateFormat($date, array $options = array())
- {
- try {
- $date = self::getDate($date, $options);
- } catch (Exception $e) {
- return false;
- }
-
- if (empty($options['date_format'])) {
- $options['format_type'] = 'iso';
- $options['date_format'] = self::getDateFormat($options['locale']);
- }
- $options = self::_checkOptions($options) + self::$_options;
-
- // day expected but not parsed
- if ((iconv_strpos($options['date_format'], 'd', 0, 'UTF-8') !== false) and (!isset($date['day']) or ($date['day'] == ""))) {
- return false;
- }
-
- // month expected but not parsed
- if ((iconv_strpos($options['date_format'], 'M', 0, 'UTF-8') !== false) and (!isset($date['month']) or ($date['month'] == ""))) {
- return false;
- }
-
- // year expected but not parsed
- if (((iconv_strpos($options['date_format'], 'Y', 0, 'UTF-8') !== false) or
- (iconv_strpos($options['date_format'], 'y', 0, 'UTF-8') !== false)) and (!isset($date['year']) or ($date['year'] == ""))) {
- return false;
- }
-
- // second expected but not parsed
- if ((iconv_strpos($options['date_format'], 's', 0, 'UTF-8') !== false) and (!isset($date['second']) or ($date['second'] == ""))) {
- return false;
- }
-
- // minute expected but not parsed
- if ((iconv_strpos($options['date_format'], 'm', 0, 'UTF-8') !== false) and (!isset($date['minute']) or ($date['minute'] == ""))) {
- return false;
- }
-
- // hour expected but not parsed
- if (((iconv_strpos($options['date_format'], 'H', 0, 'UTF-8') !== false) or
- (iconv_strpos($options['date_format'], 'h', 0, 'UTF-8') !== false)) and (!isset($date['hour']) or ($date['hour'] == ""))) {
- return false;
- }
- return true;
- }
-
- /**
- * Returns the default time format for $locale.
- *
- * @param string|Zend_Locale $locale OPTIONAL Locale of $number, possibly in string form (e.g. 'de_AT')
- * @return string format
- */
- public static function getTimeFormat($locale = null)
- {
- $format = Zend_Locale_Data::getContent($locale, 'time');
- if (empty($format)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("failed to receive data from locale $locale");
- }
- return $format;
- }
-
- /**
- * Returns an array with 'hour', 'minute', and 'second' elements extracted from $time
- * according to the order described in $format. For a format of 'H:m:s', and
- * an input of 11:20:55, getTime() would return:
- * array ('hour' => 11, 'minute' => 20, 'second' => 55)
- * The optional $locale parameter may be used to help extract times from strings
- * containing both a time and a day or month name.
- *
- * @param string $time Time string
- * @param array $options Options: format_type, fix_date, locale, date_format. See {@link setOptions()} for details.
- * @return array Possible array members: day, month, year, hour, minute, second, fixed, format
- */
- public static function getTime($time, array $options = array())
- {
- $options = self::_checkOptions($options) + self::$_options;
- if (empty($options['date_format'])) {
- $options['format_type'] = 'iso';
- $options['date_format'] = self::getTimeFormat($options['locale']);
- }
- return self::_parseDate($time, $options);
- }
-
- /**
- * Returns the default datetime format for $locale.
- *
- * @param string|Zend_Locale $locale OPTIONAL Locale of $number, possibly in string form (e.g. 'de_AT')
- * @return string format
- */
- public static function getDateTimeFormat($locale = null)
- {
- $format = Zend_Locale_Data::getContent($locale, 'datetime');
- if (empty($format)) {
- require_once 'Zend/Locale/Exception.php';
- throw new Zend_Locale_Exception("failed to receive data from locale $locale");
- }
- return $format;
- }
-
- /**
- * Returns an array with 'year', 'month', 'day', 'hour', 'minute', and 'second' elements
- * extracted from $datetime according to the order described in $format. For a format of 'd.M.y H:m:s',
- * and an input of 10.05.1985 11:20:55, getDateTime() would return:
- * array ('year' => 1985, 'month' => 5, 'day' => 10, 'hour' => 11, 'minute' => 20, 'second' => 55)
- * The optional $locale parameter may be used to help extract times from strings
- * containing both a time and a day or month name.
- *
- * @param string $datetime DateTime string
- * @param array $options Options: format_type, fix_date, locale, date_format. See {@link setOptions()} for details.
- * @return array Possible array members: day, month, year, hour, minute, second, fixed, format
- */
- public static function getDateTime($datetime, array $options = array())
- {
- $options = self::_checkOptions($options) + self::$_options;
- if (empty($options['date_format'])) {
- $options['format_type'] = 'iso';
- $options['date_format'] = self::getDateTimeFormat($options['locale']);
- }
- return self::_parseDate($datetime, $options);
- }
-}
diff --git a/airtime_mvc/library/Zend/Locale/Math.php b/airtime_mvc/library/Zend/Locale/Math.php
deleted file mode 100644
index f34ba57fa..000000000
--- a/airtime_mvc/library/Zend/Locale/Math.php
+++ /dev/null
@@ -1,355 +0,0 @@
- $decPos) {
- return '0';
- }
-
- $digitsBeforeDot = $length - ($decPos + 1);
- if ($precision >= ($length - ($decPos + 1))) {
- return $op1;
- }
-
- if ($precision === 0) {
- $triggerPos = 1;
- $roundPos = -1;
- } elseif ($precision > 0) {
- $triggerPos = $precision + 1;
- $roundPos = $precision;
- } else {
- $triggerPos = $precision;
- $roundPos = $precision -1;
- }
-
- $triggerDigit = $op1[$triggerPos + $decPos];
- if ($precision < 0) {
- // zero fill digits to the left of the decimal place
- $op1 = substr($op1, 0, $decPos + $precision) . str_pad('', abs($precision), '0');
- }
-
- if ($triggerDigit >= '5') {
- if ($roundPos + $decPos == -1) {
- return str_pad('1', $decPos + 1, '0');
- }
-
- $roundUp = str_pad('', $length, '0');
- $roundUp[$decPos] = '.';
- $roundUp[$roundPos + $decPos] = '1';
-
- if ($op1 > 0) {
- if (self::$_bcmathDisabled) {
- return Zend_Locale_Math_PhpMath::Add($op1, $roundUp, $precision);
- }
- return self::Add($op1, $roundUp, $precision);
- } else {
- if (self::$_bcmathDisabled) {
- return Zend_Locale_Math_PhpMath::Sub($op1, $roundUp, $precision);
- }
- return self::Sub($op1, $roundUp, $precision);
- }
- } elseif ($precision >= 0) {
- return substr($op1, 0, $decPos + ($precision ? $precision + 1: 0));
- }
-
- return (string) $op1;
- }
-
- /**
- * Convert a scientific notation to float
- * Additionally fixed a problem with PHP <= 5.2.x with big integers
- *
- * @param string $value
- */
- public static function floatalize($value)
- {
- $value = strtoupper($value);
- if (strpos($value, 'E') === false) {
- return $value;
- }
-
- $number = substr($value, 0, strpos($value, 'E'));
- if (strpos($number, '.') !== false) {
- $post = strlen(substr($number, strpos($number, '.') + 1));
- $mantis = substr($value, strpos($value, 'E') + 1);
- if ($mantis < 0) {
- $post += abs((int) $mantis);
- }
-
- $value = number_format($value, $post, '.', '');
- } else {
- $value = number_format($value, 0, '.', '');
- }
-
- return $value;
- }
-
- /**
- * Normalizes an input to standard english notation
- * Fixes a problem of BCMath with setLocale which is PHP related
- *
- * @param integer $value Value to normalize
- * @return string Normalized string without BCMath problems
- */
- public static function normalize($value)
- {
- $convert = localeconv();
- $value = str_replace($convert['thousands_sep'], "",(string) $value);
- $value = str_replace($convert['positive_sign'], "", $value);
- $value = str_replace($convert['decimal_point'], ".",$value);
- if (!empty($convert['negative_sign']) and (strpos($value, $convert['negative_sign']))) {
- $value = str_replace($convert['negative_sign'], "", $value);
- $value = "-" . $value;
- }
-
- return $value;
- }
-
- /**
- * Localizes an input from standard english notation
- * Fixes a problem of BCMath with setLocale which is PHP related
- *
- * @param integer $value Value to normalize
- * @return string Normalized string without BCMath problems
- */
- public static function localize($value)
- {
- $convert = localeconv();
- $value = str_replace(".", $convert['decimal_point'], (string) $value);
- if (!empty($convert['negative_sign']) and (strpos($value, "-"))) {
- $value = str_replace("-", $convert['negative_sign'], $value);
- }
- return $value;
- }
-
- /**
- * Changes exponential numbers to plain string numbers
- * Fixes a problem of BCMath with numbers containing exponents
- *
- * @param integer $value Value to erase the exponent
- * @param integer $scale (Optional) Scale to use
- * @return string
- */
- public static function exponent($value, $scale = null)
- {
- if (!extension_loaded('bcmath')) {
- return $value;
- }
-
- $split = explode('e', $value);
- if (count($split) == 1) {
- $split = explode('E', $value);
- }
-
- if (count($split) > 1) {
- $value = bcmul($split[0], bcpow(10, $split[1], $scale), $scale);
- }
-
- return $value;
- }
-
- /**
- * BCAdd - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @param integer $scale
- * @return string
- */
- public static function Add($op1, $op2, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- $op2 = self::exponent($op2, $scale);
-
- return bcadd($op1, $op2, $scale);
- }
-
- /**
- * BCSub - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @param integer $scale
- * @return string
- */
- public static function Sub($op1, $op2, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- $op2 = self::exponent($op2, $scale);
- return bcsub($op1, $op2, $scale);
- }
-
- /**
- * BCPow - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @param integer $scale
- * @return string
- */
- public static function Pow($op1, $op2, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- $op2 = self::exponent($op2, $scale);
- return bcpow($op1, $op2, $scale);
- }
-
- /**
- * BCMul - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @param integer $scale
- * @return string
- */
- public static function Mul($op1, $op2, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- $op2 = self::exponent($op2, $scale);
- return bcmul($op1, $op2, $scale);
- }
-
- /**
- * BCDiv - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @param integer $scale
- * @return string
- */
- public static function Div($op1, $op2, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- $op2 = self::exponent($op2, $scale);
- return bcdiv($op1, $op2, $scale);
- }
-
- /**
- * BCSqrt - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param integer $scale
- * @return string
- */
- public static function Sqrt($op1, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- return bcsqrt($op1, $scale);
- }
-
- /**
- * BCMod - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @return string
- */
- public static function Mod($op1, $op2)
- {
- $op1 = self::exponent($op1);
- $op2 = self::exponent($op2);
- return bcmod($op1, $op2);
- }
-
- /**
- * BCComp - fixes a problem of BCMath and exponential numbers
- *
- * @param string $op1
- * @param string $op2
- * @param integer $scale
- * @return string
- */
- public static function Comp($op1, $op2, $scale = null)
- {
- $op1 = self::exponent($op1, $scale);
- $op2 = self::exponent($op2, $scale);
- return bccomp($op1, $op2, $scale);
- }
-}
-
-if (!extension_loaded('bcmath')
- || (defined('TESTS_ZEND_LOCALE_BCMATH_ENABLED') && !TESTS_ZEND_LOCALE_BCMATH_ENABLED)
-) {
- require_once 'Zend/Locale/Math/PhpMath.php';
- Zend_Locale_Math_PhpMath::disable();
-}
diff --git a/airtime_mvc/library/Zend/Locale/Math/Exception.php b/airtime_mvc/library/Zend/Locale/Math/Exception.php
deleted file mode 100644
index dd4a529e3..000000000
--- a/airtime_mvc/library/Zend/Locale/Math/Exception.php
+++ /dev/null
@@ -1,53 +0,0 @@
-op1 = $op1;
- $this->op2 = $op2;
- $this->result = $result;
- parent::__construct($message);
- }
-
- public function getResults()
- {
- return array($this->op1, $this->op2, $this->result);
- }
-}
diff --git a/airtime_mvc/library/Zend/Locale/Math/PhpMath.php b/airtime_mvc/library/Zend/Locale/Math/PhpMath.php
deleted file mode 100644
index f06d30d74..000000000
--- a/airtime_mvc/library/Zend/Locale/Math/PhpMath.php
+++ /dev/null
@@ -1,247 +0,0 @@
- $precision)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("addition overflow: $op1 + $op2 != $result", $op1, $op2, $result);
- }
-
- return self::round(self::normalize($result), $scale);
- }
-
- public static function Sub($op1, $op2, $scale = null)
- {
- if ($scale === null) {
- $scale = Zend_Locale_Math_PhpMath::$defaultScale;
- $precision = Zend_Locale_Math_PhpMath::$defaultPrecision;
- } else {
- $precision = pow(10, -$scale);
- }
-
- if (empty($op1)) {
- $op1 = 0;
- }
- $op1 = self::normalize($op1);
- $op2 = self::normalize($op2);
- $result = $op1 - $op2;
- if (is_infinite($result) or (abs($result + $op2 - $op1) > $precision)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("subtraction overflow: $op1 - $op2 != $result", $op1, $op2, $result);
- }
-
- return self::round(self::normalize($result), $scale);
- }
-
- public static function Pow($op1, $op2, $scale = null)
- {
- if ($scale === null) {
- $scale = Zend_Locale_Math_PhpMath::$defaultScale;
- }
-
- $op1 = self::normalize($op1);
- $op2 = self::normalize($op2);
-
- // BCMath extension doesn't use decimal part of the power
- // Provide the same behavior
- $op2 = ($op2 > 0) ? floor($op2) : ceil($op2);
-
- $result = pow($op1, $op2);
- if (is_infinite($result) or is_nan($result)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("power overflow: $op1 ^ $op2", $op1, $op2, $result);
- }
-
- return self::round(self::normalize($result), $scale);
- }
-
- public static function Mul($op1, $op2, $scale = null)
- {
- if ($scale === null) {
- $scale = Zend_Locale_Math_PhpMath::$defaultScale;
- }
-
- if (empty($op1)) {
- $op1 = 0;
- }
- $op1 = self::normalize($op1);
- $op2 = self::normalize($op2);
- $result = $op1 * $op2;
- if (is_infinite($result) or is_nan($result)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("multiplication overflow: $op1 * $op2 != $result", $op1, $op2, $result);
- }
-
- return self::round(self::normalize($result), $scale);
- }
-
- public static function Div($op1, $op2, $scale = null)
- {
- if ($scale === null) {
- $scale = Zend_Locale_Math_PhpMath::$defaultScale;
- }
-
- if (empty($op2)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("can not divide by zero", $op1, $op2, null);
- }
- if (empty($op1)) {
- $op1 = 0;
- }
- $op1 = self::normalize($op1);
- $op2 = self::normalize($op2);
- $result = $op1 / $op2;
- if (is_infinite($result) or is_nan($result)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("division overflow: $op1 / $op2 != $result", $op1, $op2, $result);
- }
-
- return self::round(self::normalize($result), $scale);
- }
-
- public static function Sqrt($op1, $scale = null)
- {
- if ($scale === null) {
- $scale = Zend_Locale_Math_PhpMath::$defaultScale;
- }
-
- if (empty($op1)) {
- $op1 = 0;
- }
- $op1 = self::normalize($op1);
- $result = sqrt($op1);
- if (is_nan($result)) {
- return NULL;
- }
-
- return self::round(self::normalize($result), $scale);
- }
-
- public static function Mod($op1, $op2)
- {
- if (empty($op1)) {
- $op1 = 0;
- }
- if (empty($op2)) {
- return NULL;
- }
- $op1 = self::normalize($op1);
- $op2 = self::normalize($op2);
- if ((int)$op2 == 0) {
- return NULL;
- }
- $result = $op1 % $op2;
- if (is_nan($result) or (($op1 - $result) % $op2 != 0)) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("modulus calculation error: $op1 % $op2 != $result", $op1, $op2, $result);
- }
-
- return self::normalize($result);
- }
-
- public static function Comp($op1, $op2, $scale = null)
- {
- if ($scale === null) {
- $scale = Zend_Locale_Math_PhpMath::$defaultScale;
- }
-
- if (empty($op1)) {
- $op1 = 0;
- }
- $op1 = self::normalize($op1);
- $op2 = self::normalize($op2);
- if ($scale <> 0) {
- $op1 = self::round($op1, $scale);
- $op2 = self::round($op2, $scale);
- } else {
- $op1 = ($op1 > 0) ? floor($op1) : ceil($op1);
- $op2 = ($op2 > 0) ? floor($op2) : ceil($op2);
- }
- if ($op1 > $op2) {
- return 1;
- } else if ($op1 < $op2) {
- return -1;
- }
- return 0;
- }
-
- public static function Scale($scale)
- {
- if ($scale > 9) {
- require_once 'Zend/Locale/Math/Exception.php';
- throw new Zend_Locale_Math_Exception("can not scale to precision $scale", $scale, null, null);
- }
- self::$defaultScale = $scale;
- self::$defaultPrecision = pow(10, -$scale);
- return true;
- }
-}
-
-Zend_Locale_Math_PhpMath::disable(); // disable use of bcmath functions
diff --git a/airtime_mvc/library/Zend/Log.php b/airtime_mvc/library/Zend/Log.php
deleted file mode 100644
index 7e552d73e..000000000
--- a/airtime_mvc/library/Zend/Log.php
+++ /dev/null
@@ -1,425 +0,0 @@
-_priorities = array_flip($r->getConstants());
-
- if ($writer !== null) {
- $this->addWriter($writer);
- }
- }
-
- /**
- * Factory to construct the logger and one or more writers
- * based on the configuration array
- *
- * @param array|Zend_Config Array or instance of Zend_Config
- * @return Zend_Log
- */
- static public function factory($config = array())
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- }
-
- if (!is_array($config) || empty($config)) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Configuration must be an array or instance of Zend_Config');
- }
-
- $log = new Zend_Log;
-
- if (!is_array(current($config))) {
- $log->addWriter(current($config));
- } else {
- foreach($config as $writer) {
- $log->addWriter($writer);
- }
- }
-
- return $log;
- }
-
-
- /**
- * Construct a writer object based on a configuration array
- *
- * @param array $spec config array with writer spec
- * @return Zend_Log_Writer_Abstract
- */
- protected function _constructWriterFromConfig($config)
- {
- $writer = $this->_constructFromConfig('writer', $config, $this->_defaultWriterNamespace);
-
- if (!$writer instanceof Zend_Log_Writer_Abstract) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception("{$writerName} does not extend Zend_Log_Writer_Abstract!");
- }
-
- if (isset($config['filterName'])) {
- $filter = $this->_constructFilterFromConfig($config);
- $writer->addFilter($filter);
- }
-
- return $writer;
- }
-
- /**
- * Construct filter object from configuration array or Zend_Config object
- *
- * @param array|Zend_Config $config Zend_Config or Array
- * @return Zend_Log_Filter_Interface
- */
- protected function _constructFilterFromConfig($config)
- {
- $filter = $this->_constructFromConfig('filter', $config, $this->_defaultFilterNamespace);
-
- if (!$filter instanceof Zend_Log_Filter_Interface) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception("{$filterName} does not implement Zend_Log_Filter_Interface");
- }
-
- return $filter;
- }
-
- /**
- * Construct a filter or writer from config
- *
- * @param string $type 'writer' of 'filter'
- * @param mixed $config Zend_Config or Array
- * @param string $namespace
- * @return object
- */
- protected function _constructFromConfig($type, $config, $namespace)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- }
-
- if (!is_array($config) || empty($config)) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception(
- 'Configuration must be an array or instance of Zend_Config'
- );
- }
-
- $params = isset($config[ $type .'Params' ]) ? $config[ $type .'Params' ] : array();
- $className = $this->getClassName($config, $type, $namespace);
- if (!class_exists($className)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($className);
- }
-
- $reflection = new ReflectionClass($className);
- if (!$reflection->implementsInterface('Zend_Log_FactoryInterface')) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception(
- 'Driver does not implement Zend_Log_FactoryInterface and can not be constructed from config.'
- );
- }
-
- return call_user_func(array($className, 'factory'), $params);
- }
-
- /**
- * Get the writer or filter full classname
- *
- * @param array $config
- * @param string $type filter|writer
- * @param string $defaultNamespace
- * @return string full classname
- */
- protected function getClassName($config, $type, $defaultNamespace)
- {
- if (!isset($config[ $type . 'Name' ])) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception("Specify {$type}Name in the configuration array");
- }
- $className = $config[ $type . 'Name' ];
-
- $namespace = $defaultNamespace;
- if (isset($config[ $type . 'Namespace' ])) {
- $namespace = $config[ $type . 'Namespace' ];
- }
-
- $fullClassName = $namespace . '_' . $className;
- return $fullClassName;
- }
-
- /**
- * Class destructor. Shutdown log writers
- *
- * @return void
- */
- public function __destruct()
- {
- foreach($this->_writers as $writer) {
- $writer->shutdown();
- }
- }
-
- /**
- * Undefined method handler allows a shortcut:
- * $log->priorityName('message')
- * instead of
- * $log->log('message', Zend_Log::PRIORITY_NAME)
- *
- * @param string $method priority name
- * @param string $params message to log
- * @return void
- * @throws Zend_Log_Exception
- */
- public function __call($method, $params)
- {
- $priority = strtoupper($method);
- if (($priority = array_search($priority, $this->_priorities)) !== false) {
- switch (count($params)) {
- case 0:
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Missing log message');
- case 1:
- $message = array_shift($params);
- $extras = null;
- break;
- default:
- $message = array_shift($params);
- $extras = array_shift($params);
- break;
- }
- $this->log($message, $priority, $extras);
- } else {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Bad log priority');
- }
- }
-
- /**
- * Log a message at a priority
- *
- * @param string $message Message to log
- * @param integer $priority Priority of message
- * @param mixed $extras Extra information to log in event
- * @return void
- * @throws Zend_Log_Exception
- */
- public function log($message, $priority, $extras = null)
- {
- // sanity checks
- if (empty($this->_writers)) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('No writers were added');
- }
-
- if (! isset($this->_priorities[$priority])) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Bad log priority');
- }
-
- // pack into event required by filters and writers
- $event = array_merge(array('timestamp' => date('c'),
- 'message' => $message,
- 'priority' => $priority,
- 'priorityName' => $this->_priorities[$priority]),
- $this->_extras);
-
- // Check to see if any extra information was passed
- if (!empty($extras)) {
- $info = array();
- if (is_array($extras)) {
- foreach ($extras as $key => $value) {
- if (is_string($key)) {
- $event[$key] = $value;
- } else {
- $info[] = $value;
- }
- }
- } else {
- $info = $extras;
- }
- if (!empty($info)) {
- $event['info'] = $info;
- }
- }
-
- // abort if rejected by the global filters
- foreach ($this->_filters as $filter) {
- if (! $filter->accept($event)) {
- return;
- }
- }
-
- // send to each writer
- foreach ($this->_writers as $writer) {
- $writer->write($event);
- }
- }
-
- /**
- * Add a custom priority
- *
- * @param string $name Name of priority
- * @param integer $priority Numeric priority
- * @throws Zend_Log_InvalidArgumentException
- */
- public function addPriority($name, $priority)
- {
- // Priority names must be uppercase for predictability.
- $name = strtoupper($name);
-
- if (isset($this->_priorities[$priority])
- || array_search($name, $this->_priorities)) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Existing priorities cannot be overwritten');
- }
-
- $this->_priorities[$priority] = $name;
- }
-
- /**
- * Add a filter that will be applied before all log writers.
- * Before a message will be received by any of the writers, it
- * must be accepted by all filters added with this method.
- *
- * @param int|Zend_Log_Filter_Interface $filter
- * @return void
- */
- public function addFilter($filter)
- {
- if (is_integer($filter)) {
- /** @see Zend_Log_Filter_Priority */
- require_once 'Zend/Log/Filter/Priority.php';
- $filter = new Zend_Log_Filter_Priority($filter);
-
- } elseif ($filter instanceof Zend_Config || is_array($filter)) {
- $filter = $this->_constructFilterFromConfig($filter);
-
- } elseif(! $filter instanceof Zend_Log_Filter_Interface) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Invalid filter provided');
- }
-
- $this->_filters[] = $filter;
- }
-
- /**
- * Add a writer. A writer is responsible for taking a log
- * message and writing it out to storage.
- *
- * @param mixed $writer Zend_Log_Writer_Abstract or Config array
- * @return void
- */
- public function addWriter($writer)
- {
- if (is_array($writer) || $writer instanceof Zend_Config) {
- $writer = $this->_constructWriterFromConfig($writer);
- }
-
- if (!$writer instanceof Zend_Log_Writer_Abstract) {
- /** @see Zend_Log_Exception */
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception(
- 'Writer must be an instance of Zend_Log_Writer_Abstract'
- . ' or you should pass a configuration array'
- );
- }
-
- $this->_writers[] = $writer;
- }
-
- /**
- * Set an extra item to pass to the log writers.
- *
- * @param $name Name of the field
- * @param $value Value of the field
- * @return void
- */
- public function setEventItem($name, $value) {
- $this->_extras = array_merge($this->_extras, array($name => $value));
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Exception.php b/airtime_mvc/library/Zend/Log/Exception.php
deleted file mode 100644
index 08557db8f..000000000
--- a/airtime_mvc/library/Zend/Log/Exception.php
+++ /dev/null
@@ -1,33 +0,0 @@
-toArray();
- }
-
- if (!is_array($config)) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Configuration must be an array or instance of Zend_Config');
- }
-
- return $config;
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Filter/Interface.php b/airtime_mvc/library/Zend/Log/Filter/Interface.php
deleted file mode 100644
index c2165d2ba..000000000
--- a/airtime_mvc/library/Zend/Log/Filter/Interface.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_regexp = $regexp;
- }
-
- /**
- * Create a new instance of Zend_Log_Filter_Message
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Filter_Message
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- $config = self::_parseConfig($config);
- $config = array_merge(array(
- 'regexp' => null
- ), $config);
-
- return new self(
- $config['regexp']
- );
- }
-
- /**
- * Returns TRUE to accept the message, FALSE to block it.
- *
- * @param array $event event data
- * @return boolean accepted?
- */
- public function accept($event)
- {
- return preg_match($this->_regexp, $event['message']) > 0;
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Filter/Priority.php b/airtime_mvc/library/Zend/Log/Filter/Priority.php
deleted file mode 100644
index 1835c9a29..000000000
--- a/airtime_mvc/library/Zend/Log/Filter/Priority.php
+++ /dev/null
@@ -1,101 +0,0 @@
-_priority = $priority;
- $this->_operator = is_null($operator) ? '<=' : $operator;
- }
-
- /**
- * Create a new instance of Zend_Log_Filter_Priority
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Filter_Priority
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- $config = self::_parseConfig($config);
- $config = array_merge(array(
- 'priority' => null,
- 'operator' => null,
- ), $config);
-
- // Add support for constants
- if (!is_numeric($config['priority']) && isset($config['priority']) && defined($config['priority'])) {
- $config['priority'] = constant($config['priority']);
- }
-
- return new self(
- (int) $config['priority'],
- $config['operator']
- );
- }
-
- /**
- * Returns TRUE to accept the message, FALSE to block it.
- *
- * @param array $event event data
- * @return boolean accepted?
- */
- public function accept($event)
- {
- return version_compare($event['priority'], $this->_priority, $this->_operator);
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Filter/Suppress.php b/airtime_mvc/library/Zend/Log/Filter/Suppress.php
deleted file mode 100644
index 14b74ae60..000000000
--- a/airtime_mvc/library/Zend/Log/Filter/Suppress.php
+++ /dev/null
@@ -1,77 +0,0 @@
-_accept = (! $suppress);
- }
-
- /**
- * Returns TRUE to accept the message, FALSE to block it.
- *
- * @param array $event event data
- * @return boolean accepted?
- */
- public function accept($event)
- {
- return $this->_accept;
- }
-
- /**
- * Create a new instance of Zend_Log_Filter_Suppress
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Filter_Suppress
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- return new self();
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Formatter/Firebug.php b/airtime_mvc/library/Zend/Log/Formatter/Firebug.php
deleted file mode 100644
index ef155a599..000000000
--- a/airtime_mvc/library/Zend/Log/Formatter/Firebug.php
+++ /dev/null
@@ -1,50 +0,0 @@
-_format = $format;
- }
-
- /**
- * Formats data into a single line to be written by the writer.
- *
- * @param array $event event data
- * @return string formatted line to write to the log
- */
- public function format($event)
- {
- $output = $this->_format;
- foreach ($event as $name => $value) {
-
- if ((is_object($value) && !method_exists($value,'__toString'))
- || is_array($value)) {
-
- $value = gettype($value);
- }
-
- $output = str_replace("%$name%", $value, $output);
- }
- return $output;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Log/Formatter/Xml.php b/airtime_mvc/library/Zend/Log/Formatter/Xml.php
deleted file mode 100644
index a0af504bc..000000000
--- a/airtime_mvc/library/Zend/Log/Formatter/Xml.php
+++ /dev/null
@@ -1,121 +0,0 @@
-_rootElement = $rootElement;
- $this->_elementMap = $elementMap;
- $this->setEncoding($encoding);
- }
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set encoding
- *
- * @param string $value
- * @return Zend_Log_Formatter_Xml
- */
- public function setEncoding($value)
- {
- $this->_encoding = (string) $value;
- return $this;
- }
-
- /**
- * Formats data into a single line to be written by the writer.
- *
- * @param array $event event data
- * @return string formatted line to write to the log
- */
- public function format($event)
- {
- if ($this->_elementMap === null) {
- $dataToInsert = $event;
- } else {
- $dataToInsert = array();
- foreach ($this->_elementMap as $elementName => $fieldKey) {
- $dataToInsert[$elementName] = $event[$fieldKey];
- }
- }
-
- $enc = $this->getEncoding();
- $dom = new DOMDocument('1.0', $enc);
- $elt = $dom->appendChild(new DOMElement($this->_rootElement));
-
- foreach ($dataToInsert as $key => $value) {
- if($key == "message") {
- $value = htmlspecialchars($value, ENT_COMPAT, $enc);
- }
- $elt->appendChild(new DOMElement($key, $value));
- }
-
- $xml = $dom->saveXML();
- $xml = preg_replace('/<\?xml version="1.0"( encoding="[^\"]*")?\?>\n/u', '', $xml);
-
- return $xml . PHP_EOL;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Abstract.php b/airtime_mvc/library/Zend/Log/Writer/Abstract.php
deleted file mode 100644
index 979375a83..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Abstract.php
+++ /dev/null
@@ -1,129 +0,0 @@
-_filters[] = $filter;
- }
-
- /**
- * Log a message to this writer.
- *
- * @param array $event log data event
- * @return void
- */
- public function write($event)
- {
- foreach ($this->_filters as $filter) {
- if (! $filter->accept($event)) {
- return;
- }
- }
-
- // exception occurs on error
- $this->_write($event);
- }
-
- /**
- * Set a new formatter for this writer
- *
- * @param Zend_Log_Formatter_Interface $formatter
- * @return void
- */
- public function setFormatter($formatter)
- {
- $this->_formatter = $formatter;
- }
-
- /**
- * Perform shutdown activites such as closing open resources
- *
- * @return void
- */
- public function shutdown()
- {}
-
- /**
- * Write a message to the log.
- *
- * @param array $event log data event
- * @return void
- */
- abstract protected function _write($event);
-
- /**
- * Validate and optionally convert the config to array
- *
- * @param array|Zend_Config $config Zend_Config or Array
- * @return array
- * @throws Zend_Log_Exception
- */
- static protected function _parseConfig($config)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- }
-
- if (!is_array($config)) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception(
- 'Configuration must be an array or instance of Zend_Config'
- );
- }
-
- return $config;
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Db.php b/airtime_mvc/library/Zend/Log/Writer/Db.php
deleted file mode 100644
index 63660aec6..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Db.php
+++ /dev/null
@@ -1,139 +0,0 @@
-_db = $db;
- $this->_table = $table;
- $this->_columnMap = $columnMap;
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_Db
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Db
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- $config = self::_parseConfig($config);
- $config = array_merge(array(
- 'db' => null,
- 'table' => null,
- 'columnMap' => null,
- ), $config);
-
- if (isset($config['columnmap'])) {
- $config['columnMap'] = $config['columnmap'];
- }
-
- return new self(
- $config['db'],
- $config['table'],
- $config['columnMap']
- );
- }
-
- /**
- * Formatting is not possible on this writer
- */
- public function setFormatter($formatter)
- {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception(get_class() . ' does not support formatting');
- }
-
- /**
- * Remove reference to database adapter
- *
- * @return void
- */
- public function shutdown()
- {
- $this->_db = null;
- }
-
- /**
- * Write a message to the log.
- *
- * @param array $event event data
- * @return void
- */
- protected function _write($event)
- {
- if ($this->_db === null) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception('Database adapter is null');
- }
-
- if ($this->_columnMap === null) {
- $dataToInsert = $event;
- } else {
- $dataToInsert = array();
- foreach ($this->_columnMap as $columnName => $fieldKey) {
- $dataToInsert[$columnName] = $event[$fieldKey];
- }
- }
-
- $this->_db->insert($this->_table, $dataToInsert);
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Firebug.php b/airtime_mvc/library/Zend/Log/Writer/Firebug.php
deleted file mode 100644
index 5afd75240..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Firebug.php
+++ /dev/null
@@ -1,200 +0,0 @@
- Zend_Wildfire_Plugin_FirePhp::ERROR,
- Zend_Log::ALERT => Zend_Wildfire_Plugin_FirePhp::ERROR,
- Zend_Log::CRIT => Zend_Wildfire_Plugin_FirePhp::ERROR,
- Zend_Log::ERR => Zend_Wildfire_Plugin_FirePhp::ERROR,
- Zend_Log::WARN => Zend_Wildfire_Plugin_FirePhp::WARN,
- Zend_Log::NOTICE => Zend_Wildfire_Plugin_FirePhp::INFO,
- Zend_Log::INFO => Zend_Wildfire_Plugin_FirePhp::INFO,
- Zend_Log::DEBUG => Zend_Wildfire_Plugin_FirePhp::LOG);
-
- /**
- * The default logging style for un-mapped priorities
- * @var string
- */
- protected $_defaultPriorityStyle = Zend_Wildfire_Plugin_FirePhp::LOG;
-
- /**
- * Flag indicating whether the log writer is enabled
- * @var boolean
- */
- protected $_enabled = true;
-
- /**
- * Class constructor
- */
- public function __construct()
- {
- if (php_sapi_name() == 'cli') {
- $this->setEnabled(false);
- }
-
- $this->_formatter = new Zend_Log_Formatter_Firebug();
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_Firebug
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Firebug
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- return new self();
- }
-
- /**
- * Enable or disable the log writer.
- *
- * @param boolean $enabled Set to TRUE to enable the log writer
- * @return boolean The previous value.
- */
- public function setEnabled($enabled)
- {
- $previous = $this->_enabled;
- $this->_enabled = $enabled;
- return $previous;
- }
-
- /**
- * Determine if the log writer is enabled.
- *
- * @return boolean Returns TRUE if the log writer is enabled.
- */
- public function getEnabled()
- {
- return $this->_enabled;
- }
-
- /**
- * Set the default display style for user-defined priorities
- *
- * @param string $style The default log display style
- * @return string Returns previous default log display style
- */
- public function setDefaultPriorityStyle($style)
- {
- $previous = $this->_defaultPriorityStyle;
- $this->_defaultPriorityStyle = $style;
- return $previous;
- }
-
- /**
- * Get the default display style for user-defined priorities
- *
- * @return string Returns the default log display style
- */
- public function getDefaultPriorityStyle()
- {
- return $this->_defaultPriorityStyle;
- }
-
- /**
- * Set a display style for a logging priority
- *
- * @param int $priority The logging priority
- * @param string $style The logging display style
- * @return string|boolean The previous logging display style if defined or TRUE otherwise
- */
- public function setPriorityStyle($priority, $style)
- {
- $previous = true;
- if (array_key_exists($priority,$this->_priorityStyles)) {
- $previous = $this->_priorityStyles[$priority];
- }
- $this->_priorityStyles[$priority] = $style;
- return $previous;
- }
-
- /**
- * Get a display style for a logging priority
- *
- * @param int $priority The logging priority
- * @return string|boolean The logging display style if defined or FALSE otherwise
- */
- public function getPriorityStyle($priority)
- {
- if (array_key_exists($priority,$this->_priorityStyles)) {
- return $this->_priorityStyles[$priority];
- }
- return false;
- }
-
- /**
- * Log a message to the Firebug Console.
- *
- * @param array $event The event data
- * @return void
- */
- protected function _write($event)
- {
- if (!$this->getEnabled()) {
- return;
- }
-
- if (array_key_exists($event['priority'],$this->_priorityStyles)) {
- $type = $this->_priorityStyles[$event['priority']];
- } else {
- $type = $this->_defaultPriorityStyle;
- }
-
- $message = $this->_formatter->format($event);
-
- $label = isset($event['firebugLabel'])?$event['firebugLabel']:null;
-
- Zend_Wildfire_Plugin_FirePhp::getInstance()->send($message,
- $label,
- $type,
- array('traceOffset'=>6));
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Mail.php b/airtime_mvc/library/Zend/Log/Writer/Mail.php
deleted file mode 100644
index 2d47670e1..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Mail.php
+++ /dev/null
@@ -1,307 +0,0 @@
-_layout->events will be set for use in the layout template.
- *
- * @param Zend_Mail $mail Mail instance
- * @param Zend_Layout $layout Layout instance; optional
- * @return void
- */
- public function __construct(Zend_Mail $mail, Zend_Layout $layout = null)
- {
- $this->_mail = $mail;
- $this->_layout = $layout;
- $this->_formatter = new Zend_Log_Formatter_Simple();
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_Mail
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Mail
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- throw new Zend_Exception('Zend_Log_Writer_Mail does not currently implement a factory');
- }
-
- /**
- * Places event line into array of lines to be used as message body.
- *
- * Handles the formatting of both plaintext entries, as well as those
- * rendered with Zend_Layout.
- *
- * @param array $event Event data
- * @return void
- */
- protected function _write($event)
- {
- // Track the number of entries per priority level.
- if (!isset($this->_numEntriesPerPriority[$event['priorityName']])) {
- $this->_numEntriesPerPriority[$event['priorityName']] = 1;
- } else {
- $this->_numEntriesPerPriority[$event['priorityName']]++;
- }
-
- $formattedEvent = $this->_formatter->format($event);
-
- // All plaintext events are to use the standard formatter.
- $this->_eventsToMail[] = $formattedEvent;
-
- // If we have a Zend_Layout instance, use a specific formatter for the
- // layout if one exists. Otherwise, just use the event with its
- // default format.
- if ($this->_layout) {
- if ($this->_layoutFormatter) {
- $this->_layoutEventsToMail[] =
- $this->_layoutFormatter->format($event);
- } else {
- $this->_layoutEventsToMail[] = $formattedEvent;
- }
- }
- }
-
- /**
- * Gets instance of Zend_Log_Formatter_Instance used for formatting a
- * message using Zend_Layout, if applicable.
- *
- * @return Zend_Log_Formatter_Interface|null The formatter, or null.
- */
- public function getLayoutFormatter()
- {
- return $this->_layoutFormatter;
- }
-
- /**
- * Sets a specific formatter for use with Zend_Layout events.
- *
- * Allows use of a second formatter on lines that will be rendered with
- * Zend_Layout. In the event that Zend_Layout is not being used, this
- * formatter cannot be set, so an exception will be thrown.
- *
- * @param Zend_Log_Formatter_Interface $formatter
- * @return Zend_Log_Writer_Mail
- * @throws Zend_Log_Exception
- */
- public function setLayoutFormatter(Zend_Log_Formatter_Interface $formatter)
- {
- if (!$this->_layout) {
- throw new Zend_Log_Exception(
- 'cannot set formatter for layout; ' .
- 'a Zend_Layout instance is not in use');
- }
-
- $this->_layoutFormatter = $formatter;
- return $this;
- }
-
- /**
- * Allows caller to have the mail subject dynamically set to contain the
- * entry counts per-priority level.
- *
- * Sets the text for use in the subject, with entry counts per-priority
- * level appended to the end. Since a Zend_Mail subject can only be set
- * once, this method cannot be used if the Zend_Mail object already has a
- * subject set.
- *
- * @param string $subject Subject prepend text.
- * @return Zend_Log_Writer_Mail
- */
- public function setSubjectPrependText($subject)
- {
- if ($this->_mail->getSubject()) {
- throw new Zend_Log_Exception(
- 'subject already set on mail; ' .
- 'cannot set subject prepend text');
- }
-
- $this->_subjectPrependText = (string) $subject;
- return $this;
- }
-
- /**
- * Sends mail to recipient(s) if log entries are present. Note that both
- * plaintext and HTML portions of email are handled here.
- *
- * @return void
- */
- public function shutdown()
- {
- // If there are events to mail, use them as message body. Otherwise,
- // there is no mail to be sent.
- if (empty($this->_eventsToMail)) {
- return;
- }
-
- if ($this->_subjectPrependText !== null) {
- // Tack on the summary of entries per-priority to the subject
- // line and set it on the Zend_Mail object.
- $numEntries = $this->_getFormattedNumEntriesPerPriority();
- $this->_mail->setSubject(
- "{$this->_subjectPrependText} ({$numEntries})");
- }
-
-
- // Always provide events to mail as plaintext.
- $this->_mail->setBodyText(implode('', $this->_eventsToMail));
-
- // If a Zend_Layout instance is being used, set its "events"
- // value to the lines formatted for use with the layout.
- if ($this->_layout) {
- // Set the required "messages" value for the layout. Here we
- // are assuming that the layout is for use with HTML.
- $this->_layout->events =
- implode('', $this->_layoutEventsToMail);
-
- // If an exception occurs during rendering, convert it to a notice
- // so we can avoid an exception thrown without a stack frame.
- try {
- $this->_mail->setBodyHtml($this->_layout->render());
- } catch (Exception $e) {
- trigger_error(
- "exception occurred when rendering layout; " .
- "unable to set html body for message; " .
- "message = {$e->getMessage()}; " .
- "code = {$e->getCode()}; " .
- "exception class = " . get_class($e),
- E_USER_NOTICE);
- }
- }
-
- // Finally, send the mail. If an exception occurs, convert it into a
- // warning-level message so we can avoid an exception thrown without a
- // stack frame.
- try {
- $this->_mail->send();
- } catch (Exception $e) {
- trigger_error(
- "unable to send log entries via email; " .
- "message = {$e->getMessage()}; " .
- "code = {$e->getCode()}; " .
- "exception class = " . get_class($e),
- E_USER_WARNING);
- }
- }
-
- /**
- * Gets a string of number of entries per-priority level that occurred, or
- * an emptry string if none occurred.
- *
- * @return string
- */
- protected function _getFormattedNumEntriesPerPriority()
- {
- $strings = array();
-
- foreach ($this->_numEntriesPerPriority as $priority => $numEntries) {
- $strings[] = "{$priority}={$numEntries}";
- }
-
- return implode(', ', $strings);
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Mock.php b/airtime_mvc/library/Zend/Log/Writer/Mock.php
deleted file mode 100644
index f946219a9..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Mock.php
+++ /dev/null
@@ -1,78 +0,0 @@
-events[] = $event;
- }
-
- /**
- * Record shutdown
- *
- * @return void
- */
- public function shutdown()
- {
- $this->shutdown = true;
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_Mock
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Mock
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- return new self();
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Null.php b/airtime_mvc/library/Zend/Log/Writer/Null.php
deleted file mode 100644
index d86b69b58..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Null.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_stream = $streamOrUrl;
- } else {
- if (is_array($streamOrUrl) && isset($streamOrUrl['stream'])) {
- $streamOrUrl = $streamOrUrl['stream'];
- }
-
- if (! $this->_stream = @fopen($streamOrUrl, $mode, false)) {
- require_once 'Zend/Log/Exception.php';
- $msg = "\"$streamOrUrl\" cannot be opened with mode \"$mode\"";
- throw new Zend_Log_Exception($msg);
- }
- }
-
- $this->_formatter = new Zend_Log_Formatter_Simple();
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_Mock
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Mock
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- $config = self::_parseConfig($config);
- $config = array_merge(array(
- 'stream' => null,
- 'mode' => null,
- ), $config);
-
- $streamOrUrl = isset($config['url']) ? $config['url'] : $config['stream'];
-
- return new self(
- $streamOrUrl,
- $config['mode']
- );
- }
-
- /**
- * Close the stream resource.
- *
- * @return void
- */
- public function shutdown()
- {
- if (is_resource($this->_stream)) {
- fclose($this->_stream);
- }
- }
-
- /**
- * Write a message to the log.
- *
- * @param array $event event data
- * @return void
- */
- protected function _write($event)
- {
- $line = $this->_formatter->format($event);
-
- if (false === @fwrite($this->_stream, $line)) {
- require_once 'Zend/Log/Exception.php';
- throw new Zend_Log_Exception("Unable to write to stream");
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/Syslog.php b/airtime_mvc/library/Zend/Log/Writer/Syslog.php
deleted file mode 100644
index 96fbe5692..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/Syslog.php
+++ /dev/null
@@ -1,187 +0,0 @@
- LOG_EMERG,
- Zend_Log::ALERT => LOG_ALERT,
- Zend_Log::CRIT => LOG_CRIT,
- Zend_Log::ERR => LOG_ERR,
- Zend_Log::WARN => LOG_WARNING,
- Zend_Log::NOTICE => LOG_NOTICE,
- Zend_Log::INFO => LOG_INFO,
- Zend_Log::DEBUG => LOG_DEBUG,
- );
-
- /**
- * The default log priority - for unmapped custom priorities
- * @var string
- */
- protected $_defaultPriority = LOG_NOTICE;
-
- /**
- * Last application name set by a syslog-writer instance
- * @var string
- */
- protected static $_lastApplication;
-
- /**
- * Last facility name set by a syslog-writer instance
- * @var string
- */
- protected static $_lastFacility;
-
- /**
- * Application name used by this syslog-writer instance
- * @var string
- */
- protected $_application = 'Zend_Log';
-
- /**
- * Facility used by this syslog-writer instance
- * @var string
- */
- protected $_facility = LOG_USER;
-
- /**
- * Class constructor
- *
- * @param array $options Array of options; may include "application" and "facility" keys
- * @return void
- */
- public function __construct(array $params = array())
- {
- if (isset($params['application'])) {
- $this->_application = $params['application'];
- }
- if (isset($params['facility'])) {
- $this->_facility = $params['facility'];
- }
- $this->_initializeSyslog();
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_Syslog
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Syslog
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- return new self(self::_parseConfig($config));
- }
-
- /**
- * Initialize syslog / set application name and facility
- *
- * @param string $application Application name
- * @param string $facility Syslog facility
- * @return void
- */
- protected function _initializeSyslog()
- {
- self::$_lastApplication = $this->_application;
- self::$_lastFacility = $this->_facility;
- openlog($this->_application, LOG_PID, $this->_facility);
- }
-
- /**
- * Set syslog facility
- *
- * @param string $facility Syslog facility
- * @return void
- */
- public function setFacility($facility)
- {
- if ($this->_facility === $facility) {
- return;
- }
- $this->_facility = $facility;
- $this->_initializeSyslog();
- }
-
- /**
- * Set application name
- *
- * @param string $application Application name
- * @return void
- */
- public function setApplicationName($application)
- {
- if ($this->_application === $application) {
- return;
- }
- $this->_application = $application;
- $this->_initializeSyslog();
- }
-
- /**
- * Close syslog.
- *
- * @return void
- */
- public function shutdown()
- {
- closelog();
- }
-
- /**
- * Write a message to syslog.
- *
- * @param array $event event data
- * @return void
- */
- protected function _write($event)
- {
- if (array_key_exists($event['priority'], $this->_priorities)) {
- $priority = $this->_priorities[$event['priority']];
- } else {
- $priority = $this->_defaultPriority;
- }
-
- if ($this->_application !== self::$_lastApplication
- || $this->_facility !== self::$_lastFacility)
- {
- $this->_initializeSyslog();
- }
-
- syslog($priority, $event['message']);
- }
-}
diff --git a/airtime_mvc/library/Zend/Log/Writer/ZendMonitor.php b/airtime_mvc/library/Zend/Log/Writer/ZendMonitor.php
deleted file mode 100644
index 082f2a4f5..000000000
--- a/airtime_mvc/library/Zend/Log/Writer/ZendMonitor.php
+++ /dev/null
@@ -1,111 +0,0 @@
-_isEnabled = false;
- }
- }
-
- /**
- * Create a new instance of Zend_Log_Writer_ZendMonitor
- *
- * @param array|Zend_Config $config
- * @return Zend_Log_Writer_Syslog
- * @throws Zend_Log_Exception
- */
- static public function factory($config)
- {
- return new self();
- }
-
- /**
- * Is logging to this writer enabled?
- *
- * If the Zend Monitor extension is not enabled, this log writer will
- * fail silently. You can query this method to determine if the log
- * writer is enabled.
- *
- * @return bool
- */
- public function isEnabled()
- {
- return $this->_isEnabled;
- }
-
- /**
- * Log a message to this writer.
- *
- * @param array $event log data event
- * @return void
- */
- public function write($event)
- {
- if (!$this->isEnabled()) {
- return;
- }
-
- parent::write($event);
- }
-
- /**
- * Write a message to the log.
- *
- * @param array $event log data event
- * @return void
- */
- protected function _write($event)
- {
- $priority = $event['priority'];
- $message = $event['message'];
- unset($event['priority'], $event['message']);
-
- if (!empty($event)) {
- monitor_custom_event($priority, $message, $event);
- } else {
- monitor_custom_event($priority, $message);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail.php b/airtime_mvc/library/Zend/Mail.php
deleted file mode 100644
index 2f9c50f1f..000000000
--- a/airtime_mvc/library/Zend/Mail.php
+++ /dev/null
@@ -1,1261 +0,0 @@
-_charset = $charset;
- }
-
- /**
- * Return charset string
- *
- * @return string
- */
- public function getCharset()
- {
- return $this->_charset;
- }
-
- /**
- * Set content type
- *
- * Should only be used for manually setting multipart content types.
- *
- * @param string $type Content type
- * @return Zend_Mail Implements fluent interface
- * @throws Zend_Mail_Exception for types not supported by Zend_Mime
- */
- public function setType($type)
- {
- $allowed = array(
- Zend_Mime::MULTIPART_ALTERNATIVE,
- Zend_Mime::MULTIPART_MIXED,
- Zend_Mime::MULTIPART_RELATED,
- );
- if (!in_array($type, $allowed)) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Invalid content type "' . $type . '"');
- }
-
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Get content type of the message
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set an arbitrary mime boundary for the message
- *
- * If not set, Zend_Mime will generate one.
- *
- * @param string $boundary
- * @return Zend_Mail Provides fluent interface
- */
- public function setMimeBoundary($boundary)
- {
- $this->_mimeBoundary = $boundary;
-
- return $this;
- }
-
- /**
- * Return the boundary string used for the message
- *
- * @return string
- */
- public function getMimeBoundary()
- {
- return $this->_mimeBoundary;
- }
-
- /**
- * Return encoding of mail headers
- *
- * @deprecated use {@link getHeaderEncoding()} instead
- * @return string
- */
- public function getEncodingOfHeaders()
- {
- return $this->getHeaderEncoding();
- }
-
- /**
- * Return the encoding of mail headers
- *
- * Either Zend_Mime::ENCODING_QUOTEDPRINTABLE or Zend_Mime::ENCODING_BASE64
- *
- * @return string
- */
- public function getHeaderEncoding()
- {
- return $this->_headerEncoding;
- }
-
- /**
- * Set the encoding of mail headers
- *
- * @deprecated Use {@link setHeaderEncoding()} instead.
- * @param string $encoding
- * @return Zend_Mail
- */
- public function setEncodingOfHeaders($encoding)
- {
- return $this->setHeaderEncoding($encoding);
- }
-
- /**
- * Set the encoding of mail headers
- *
- * @param string $encoding Zend_Mime::ENCODING_QUOTEDPRINTABLE or Zend_Mime::ENCODING_BASE64
- * @return Zend_Mail Provides fluent interface
- */
- public function setHeaderEncoding($encoding)
- {
- $allowed = array(
- Zend_Mime::ENCODING_BASE64,
- Zend_Mime::ENCODING_QUOTEDPRINTABLE
- );
- if (!in_array($encoding, $allowed)) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Invalid encoding "' . $encoding . '"');
- }
- $this->_headerEncoding = $encoding;
-
- return $this;
- }
-
- /**
- * Sets the text body for the message.
- *
- * @param string $txt
- * @param string $charset
- * @param string $encoding
- * @return Zend_Mail Provides fluent interface
- */
- public function setBodyText($txt, $charset = null, $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE)
- {
- if ($charset === null) {
- $charset = $this->_charset;
- }
-
- $mp = new Zend_Mime_Part($txt);
- $mp->encoding = $encoding;
- $mp->type = Zend_Mime::TYPE_TEXT;
- $mp->disposition = Zend_Mime::DISPOSITION_INLINE;
- $mp->charset = $charset;
-
- $this->_bodyText = $mp;
-
- return $this;
- }
-
- /**
- * Return text body Zend_Mime_Part or string
- *
- * @param bool textOnly Whether to return just the body text content or the MIME part; defaults to false, the MIME part
- * @return false|Zend_Mime_Part|string
- */
- public function getBodyText($textOnly = false)
- {
- if ($textOnly && $this->_bodyText) {
- $body = $this->_bodyText;
- return $body->getContent();
- }
-
- return $this->_bodyText;
- }
-
- /**
- * Sets the HTML body for the message
- *
- * @param string $html
- * @param string $charset
- * @param string $encoding
- * @return Zend_Mail Provides fluent interface
- */
- public function setBodyHtml($html, $charset = null, $encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE)
- {
- if ($charset === null) {
- $charset = $this->_charset;
- }
-
- $mp = new Zend_Mime_Part($html);
- $mp->encoding = $encoding;
- $mp->type = Zend_Mime::TYPE_HTML;
- $mp->disposition = Zend_Mime::DISPOSITION_INLINE;
- $mp->charset = $charset;
-
- $this->_bodyHtml = $mp;
-
- return $this;
- }
-
- /**
- * Return Zend_Mime_Part representing body HTML
- *
- * @param bool $htmlOnly Whether to return the body HTML only, or the MIME part; defaults to false, the MIME part
- * @return false|Zend_Mime_Part|string
- */
- public function getBodyHtml($htmlOnly = false)
- {
- if ($htmlOnly && $this->_bodyHtml) {
- $body = $this->_bodyHtml;
- return $body->getContent();
- }
-
- return $this->_bodyHtml;
- }
-
- /**
- * Adds an existing attachment to the mail message
- *
- * @param Zend_Mime_Part $attachment
- * @return Zend_Mail Provides fluent interface
- */
- public function addAttachment(Zend_Mime_Part $attachment)
- {
- $this->addPart($attachment);
- $this->hasAttachments = true;
-
- return $this;
- }
-
- /**
- * Creates a Zend_Mime_Part attachment
- *
- * Attachment is automatically added to the mail object after creation. The
- * attachment object is returned to allow for further manipulation.
- *
- * @param string $body
- * @param string $mimeType
- * @param string $disposition
- * @param string $encoding
- * @param string $filename OPTIONAL A filename for the attachment
- * @return Zend_Mime_Part Newly created Zend_Mime_Part object (to allow
- * advanced settings)
- */
- public function createAttachment($body,
- $mimeType = Zend_Mime::TYPE_OCTETSTREAM,
- $disposition = Zend_Mime::DISPOSITION_ATTACHMENT,
- $encoding = Zend_Mime::ENCODING_BASE64,
- $filename = null)
- {
-
- $mp = new Zend_Mime_Part($body);
- $mp->encoding = $encoding;
- $mp->type = $mimeType;
- $mp->disposition = $disposition;
- $mp->filename = $filename;
-
- $this->addAttachment($mp);
-
- return $mp;
- }
-
- /**
- * Return a count of message parts
- *
- * @return integer
- */
- public function getPartCount()
- {
- return count($this->_parts);
- }
-
- /**
- * Encode header fields
- *
- * Encodes header content according to RFC1522 if it contains non-printable
- * characters.
- *
- * @param string $value
- * @return string
- */
- protected function _encodeHeader($value)
- {
- if (Zend_Mime::isPrintable($value) === false) {
- if ($this->getHeaderEncoding() === Zend_Mime::ENCODING_QUOTEDPRINTABLE) {
- $value = Zend_Mime::encodeQuotedPrintableHeader($value, $this->getCharset(), Zend_Mime::LINELENGTH, Zend_Mime::LINEEND);
- } else {
- $value = Zend_Mime::encodeBase64Header($value, $this->getCharset(), Zend_Mime::LINELENGTH, Zend_Mime::LINEEND);
- }
- }
-
- return $value;
- }
-
- /**
- * Add a header to the message
- *
- * Adds a header to this message. If append is true and the header already
- * exists, raises a flag indicating that the header should be appended.
- *
- * @param string $headerName
- * @param string $value
- * @param bool $append
- */
- protected function _storeHeader($headerName, $value, $append = false)
- {
- if (isset($this->_headers[$headerName])) {
- $this->_headers[$headerName][] = $value;
- } else {
- $this->_headers[$headerName] = array($value);
- }
-
- if ($append) {
- $this->_headers[$headerName]['append'] = true;
- }
-
- }
-
- /**
- * Clear header from the message
- *
- * @param string $headerName
- */
- protected function _clearHeader($headerName)
- {
- if (isset($this->_headers[$headerName])){
- unset($this->_headers[$headerName]);
- }
- }
-
- /**
- * Helper function for adding a recipient and the corresponding header
- *
- * @param string $headerName
- * @param string $email
- * @param string $name
- */
- protected function _addRecipientAndHeader($headerName, $email, $name)
- {
- $email = $this->_filterEmail($email);
- $name = $this->_filterName($name);
- // prevent duplicates
- $this->_recipients[$email] = 1;
- $this->_storeHeader($headerName, $this->_formatAddress($email, $name), true);
- }
-
- /**
- * Adds To-header and recipient, $email can be an array, or a single string address
- *
- * @param string|array $email
- * @param string $name
- * @return Zend_Mail Provides fluent interface
- */
- public function addTo($email, $name='')
- {
- if (!is_array($email)) {
- $email = array($name => $email);
- }
-
- foreach ($email as $n => $recipient) {
- $this->_addRecipientAndHeader('To', $recipient, is_int($n) ? '' : $n);
- $this->_to[] = $recipient;
- }
-
- return $this;
- }
-
- /**
- * Adds Cc-header and recipient, $email can be an array, or a single string address
- *
- * @param string|array $email
- * @param string $name
- * @return Zend_Mail Provides fluent interface
- */
- public function addCc($email, $name='')
- {
- if (!is_array($email)) {
- $email = array($name => $email);
- }
-
- foreach ($email as $n => $recipient) {
- $this->_addRecipientAndHeader('Cc', $recipient, is_int($n) ? '' : $n);
- }
-
- return $this;
- }
-
- /**
- * Adds Bcc recipient, $email can be an array, or a single string address
- *
- * @param string|array $email
- * @return Zend_Mail Provides fluent interface
- */
- public function addBcc($email)
- {
- if (!is_array($email)) {
- $email = array($email);
- }
-
- foreach ($email as $recipient) {
- $this->_addRecipientAndHeader('Bcc', $recipient, '');
- }
-
- return $this;
- }
-
- /**
- * Return list of recipient email addresses
- *
- * @return array (of strings)
- */
- public function getRecipients()
- {
- return array_keys($this->_recipients);
- }
-
- /**
- * Clears list of recipient email addresses
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearRecipients()
- {
- $this->_recipients = array();
- $this->_to = array();
-
- $this->_clearHeader('To');
- $this->_clearHeader('Cc');
- $this->_clearHeader('Bcc');
-
- return $this;
- }
-
- /**
- * Sets From-header and sender of the message
- *
- * @param string $email
- * @param string $name
- * @return Zend_Mail Provides fluent interface
- * @throws Zend_Mail_Exception if called subsequent times
- */
- public function setFrom($email, $name = null)
- {
- if (null !== $this->_from) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('From Header set twice');
- }
-
- $email = $this->_filterEmail($email);
- $name = $this->_filterName($name);
- $this->_from = $email;
- $this->_storeHeader('From', $this->_formatAddress($email, $name), true);
-
- return $this;
- }
-
- /**
- * Set Reply-To Header
- *
- * @param string $email
- * @param string $name
- * @return Zend_Mail
- * @throws Zend_Mail_Exception if called more than one time
- */
- public function setReplyTo($email, $name = null)
- {
- if (null !== $this->_replyTo) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Reply-To Header set twice');
- }
-
- $email = $this->_filterEmail($email);
- $name = $this->_filterName($name);
- $this->_replyTo = $email;
- $this->_storeHeader('Reply-To', $this->_formatAddress($email, $name), true);
-
- return $this;
- }
-
- /**
- * Returns the sender of the mail
- *
- * @return string
- */
- public function getFrom()
- {
- return $this->_from;
- }
-
- /**
- * Returns the current Reply-To address of the message
- *
- * @return string|null Reply-To address, null when not set
- */
- public function getReplyTo()
- {
- return $this->_replyTo;
- }
-
- /**
- * Clears the sender from the mail
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearFrom()
- {
- $this->_from = null;
- $this->_clearHeader('From');
-
- return $this;
- }
-
- /**
- * Clears the current Reply-To address from the message
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearReplyTo()
- {
- $this->_replyTo = null;
- $this->_clearHeader('Reply-To');
-
- return $this;
- }
-
- /**
- * Sets Default From-email and name of the message
- *
- * @param string $email
- * @param string Optional $name
- * @return void
- */
- public static function setDefaultFrom($email, $name = null)
- {
- self::$_defaultFrom = array('email' => $email, 'name' => $name);
- }
-
- /**
- * Returns the default sender of the mail
- *
- * @return null|array Null if none was set.
- */
- public static function getDefaultFrom()
- {
- return self::$_defaultFrom;
- }
-
- /**
- * Clears the default sender from the mail
- *
- * @return void
- */
- public static function clearDefaultFrom()
- {
- self::$_defaultFrom = null;
- }
-
- /**
- * Sets From-name and -email based on the defaults
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function setFromToDefaultFrom() {
- $from = self::getDefaultFrom();
- if($from === null) {
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception(
- 'No default From Address set to use');
- }
-
- $this->setFrom($from['email'], $from['name']);
-
- return $this;
- }
-
- /**
- * Sets Default ReplyTo-address and -name of the message
- *
- * @param string $email
- * @param string Optional $name
- * @return void
- */
- public static function setDefaultReplyTo($email, $name = null)
- {
- self::$_defaultReplyTo = array('email' => $email, 'name' => $name);
- }
-
- /**
- * Returns the default Reply-To Address and Name of the mail
- *
- * @return null|array Null if none was set.
- */
- public static function getDefaultReplyTo()
- {
- return self::$_defaultReplyTo;
- }
-
- /**
- * Clears the default ReplyTo-address and -name from the mail
- *
- * @return void
- */
- public static function clearDefaultReplyTo()
- {
- self::$_defaultReplyTo = null;
- }
-
- /**
- * Sets ReplyTo-name and -email based on the defaults
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function setReplyToFromDefault() {
- $replyTo = self::getDefaultReplyTo();
- if($replyTo === null) {
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception(
- 'No default Reply-To Address set to use');
- }
-
- $this->setReplyTo($replyTo['email'], $replyTo['name']);
-
- return $this;
- }
-
- /**
- * Sets the Return-Path header of the message
- *
- * @param string $email
- * @return Zend_Mail Provides fluent interface
- * @throws Zend_Mail_Exception if set multiple times
- */
- public function setReturnPath($email)
- {
- if ($this->_returnPath === null) {
- $email = $this->_filterEmail($email);
- $this->_returnPath = $email;
- $this->_storeHeader('Return-Path', $email, false);
- } else {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Return-Path Header set twice');
- }
- return $this;
- }
-
- /**
- * Returns the current Return-Path address of the message
- *
- * If no Return-Path header is set, returns the value of {@link $_from}.
- *
- * @return string
- */
- public function getReturnPath()
- {
- if (null !== $this->_returnPath) {
- return $this->_returnPath;
- }
-
- return $this->_from;
- }
-
- /**
- * Clears the current Return-Path address from the message
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearReturnPath()
- {
- $this->_returnPath = null;
- $this->_clearHeader('Return-Path');
-
- return $this;
- }
-
- /**
- * Sets the subject of the message
- *
- * @param string $subject
- * @return Zend_Mail Provides fluent interface
- * @throws Zend_Mail_Exception
- */
- public function setSubject($subject)
- {
- if ($this->_subject === null) {
- $subject = $this->_filterOther($subject);
- $this->_subject = $this->_encodeHeader($subject);
- $this->_storeHeader('Subject', $this->_subject);
- } else {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Subject set twice');
- }
- return $this;
- }
-
- /**
- * Returns the encoded subject of the message
- *
- * @return string
- */
- public function getSubject()
- {
- return $this->_subject;
- }
-
- /**
- * Clears the encoded subject from the message
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearSubject()
- {
- $this->_subject = null;
- $this->_clearHeader('Subject');
-
- return $this;
- }
-
- /**
- * Sets Date-header
- *
- * @param timestamp|string|Zend_Date $date
- * @return Zend_Mail Provides fluent interface
- * @throws Zend_Mail_Exception if called subsequent times or wrong date format.
- */
- public function setDate($date = null)
- {
- if ($this->_date === null) {
- if ($date === null) {
- $date = date('r');
- } else if (is_int($date)) {
- $date = date('r', $date);
- } else if (is_string($date)) {
- $date = strtotime($date);
- if ($date === false || $date < 0) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('String representations of Date Header must be ' .
- 'strtotime()-compatible');
- }
- $date = date('r', $date);
- } else if ($date instanceof Zend_Date) {
- $date = $date->get(Zend_Date::RFC_2822);
- } else {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception(__METHOD__ . ' only accepts UNIX timestamps, Zend_Date objects, ' .
- ' and strtotime()-compatible strings');
- }
- $this->_date = $date;
- $this->_storeHeader('Date', $date);
- } else {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Date Header set twice');
- }
- return $this;
- }
-
- /**
- * Returns the formatted date of the message
- *
- * @return string
- */
- public function getDate()
- {
- return $this->_date;
- }
-
- /**
- * Clears the formatted date from the message
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearDate()
- {
- $this->_date = null;
- $this->_clearHeader('Date');
-
- return $this;
- }
-
- /**
- * Sets the Message-ID of the message
- *
- * @param boolean|string $id
- * true :Auto
- * false :No set
- * null :No set
- * string:Sets given string (Angle brackets is not necessary)
- * @return Zend_Mail Provides fluent interface
- * @throws Zend_Mail_Exception
- */
- public function setMessageId($id = true)
- {
- if ($id === null || $id === false) {
- return $this;
- } elseif ($id === true) {
- $id = $this->createMessageId();
- }
-
- if ($this->_messageId === null) {
- $id = $this->_filterOther($id);
- $this->_messageId = $id;
- $this->_storeHeader('Message-Id', '<' . $this->_messageId . '>');
- } else {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Message-ID set twice');
- }
-
- return $this;
- }
-
- /**
- * Returns the Message-ID of the message
- *
- * @return string
- */
- public function getMessageId()
- {
- return $this->_messageId;
- }
-
-
- /**
- * Clears the Message-ID from the message
- *
- * @return Zend_Mail Provides fluent interface
- */
- public function clearMessageId()
- {
- $this->_messageId = null;
- $this->_clearHeader('Message-Id');
-
- return $this;
- }
-
- /**
- * Creates the Message-ID
- *
- * @return string
- */
- public function createMessageId() {
-
- $time = time();
-
- if ($this->_from !== null) {
- $user = $this->_from;
- } elseif (isset($_SERVER['REMOTE_ADDR'])) {
- $user = $_SERVER['REMOTE_ADDR'];
- } else {
- $user = getmypid();
- }
-
- $rand = mt_rand();
-
- if ($this->_recipients !== array()) {
- $recipient = array_rand($this->_recipients);
- } else {
- $recipient = 'unknown';
- }
-
- if (isset($_SERVER["SERVER_NAME"])) {
- $hostName = $_SERVER["SERVER_NAME"];
- } else {
- $hostName = php_uname('n');
- }
-
- return sha1($time . $user . $rand . $recipient) . '@' . $hostName;
- }
-
- /**
- * Add a custom header to the message
- *
- * @param string $name
- * @param string $value
- * @param boolean $append
- * @return Zend_Mail Provides fluent interface
- * @throws Zend_Mail_Exception on attempts to create standard headers
- */
- public function addHeader($name, $value, $append = false)
- {
- $prohibit = array('to', 'cc', 'bcc', 'from', 'subject',
- 'reply-to', 'return-path',
- 'date', 'message-id',
- );
- if (in_array(strtolower($name), $prohibit)) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('Cannot set standard header from addHeader()');
- }
-
- $value = $this->_filterOther($value);
- $value = $this->_encodeHeader($value);
- $this->_storeHeader($name, $value, $append);
-
- return $this;
- }
-
- /**
- * Return mail headers
- *
- * @return void
- */
- public function getHeaders()
- {
- return $this->_headers;
- }
-
- /**
- * Sends this email using the given transport or a previously
- * set DefaultTransport or the internal mail function if no
- * default transport had been set.
- *
- * @param Zend_Mail_Transport_Abstract $transport
- * @return Zend_Mail Provides fluent interface
- */
- public function send($transport = null)
- {
- if ($transport === null) {
- if (! self::$_defaultTransport instanceof Zend_Mail_Transport_Abstract) {
- require_once 'Zend/Mail/Transport/Sendmail.php';
- $transport = new Zend_Mail_Transport_Sendmail();
- } else {
- $transport = self::$_defaultTransport;
- }
- }
-
- if ($this->_date === null) {
- $this->setDate();
- }
-
- if(null === $this->_from && null !== self::getDefaultFrom()) {
- $this->setFromToDefaultFrom();
- }
-
- if(null === $this->_replyTo && null !== self::getDefaultReplyTo()) {
- $this->setReplyToFromDefault();
- }
-
- $transport->send($this);
-
- return $this;
- }
-
- /**
- * Filter of email data
- *
- * @param string $email
- * @return string
- */
- protected function _filterEmail($email)
- {
- $rule = array("\r" => '',
- "\n" => '',
- "\t" => '',
- '"' => '',
- ',' => '',
- '<' => '',
- '>' => '',
- );
-
- return strtr($email, $rule);
- }
-
- /**
- * Filter of name data
- *
- * @param string $name
- * @return string
- */
- protected function _filterName($name)
- {
- $rule = array("\r" => '',
- "\n" => '',
- "\t" => '',
- '"' => "'",
- '<' => '[',
- '>' => ']',
- );
-
- return trim(strtr($name, $rule));
- }
-
- /**
- * Filter of other data
- *
- * @param string $data
- * @return string
- */
- protected function _filterOther($data)
- {
- $rule = array("\r" => '',
- "\n" => '',
- "\t" => '',
- );
-
- return strtr($data, $rule);
- }
-
- /**
- * Formats e-mail address
- *
- * @param string $email
- * @param string $name
- * @return string
- */
- protected function _formatAddress($email, $name)
- {
- if ($name === '' || $name === null || $name === $email) {
- return $email;
- } else {
- $encodedName = $this->_encodeHeader($name);
- if ($encodedName === $name &&
- ((strpos($name, '@') !== false) || (strpos($name, ',') !== false))) {
- $format = '"%s" <%s>';
- } else {
- $format = '%s <%s>';
- }
- return sprintf($format, $encodedName, $email);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Mail/Exception.php b/airtime_mvc/library/Zend/Mail/Exception.php
deleted file mode 100644
index 470fc3d54..000000000
--- a/airtime_mvc/library/Zend/Mail/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_flags = array_combine($params['flags'], $params['flags']);
- }
-
- parent::__construct($params);
- }
-
- /**
- * return toplines as found after headers
- *
- * @return string toplines
- */
- public function getTopLines()
- {
- return $this->_topLines;
- }
-
- /**
- * check if flag is set
- *
- * @param mixed $flag a flag name, use constants defined in Zend_Mail_Storage
- * @return bool true if set, otherwise false
- */
- public function hasFlag($flag)
- {
- return isset($this->_flags[$flag]);
- }
-
- /**
- * get all set flags
- *
- * @return array array with flags, key and value are the same for easy lookup
- */
- public function getFlags()
- {
- return $this->_flags;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Message/File.php b/airtime_mvc/library/Zend/Mail/Message/File.php
deleted file mode 100644
index 3714f9ecf..000000000
--- a/airtime_mvc/library/Zend/Mail/Message/File.php
+++ /dev/null
@@ -1,96 +0,0 @@
-_flags = array_combine($params['flags'], $params['flags']);
- }
-
- parent::__construct($params);
- }
-
- /**
- * return toplines as found after headers
- *
- * @return string toplines
- */
- public function getTopLines()
- {
- return $this->_topLines;
- }
-
- /**
- * check if flag is set
- *
- * @param mixed $flag a flag name, use constants defined in Zend_Mail_Storage
- * @return bool true if set, otherwise false
- */
- public function hasFlag($flag)
- {
- return isset($this->_flags[$flag]);
- }
-
- /**
- * get all set flags
- *
- * @return array array with flags, key and value are the same for easy lookup
- */
- public function getFlags()
- {
- return $this->_flags;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Message/Interface.php b/airtime_mvc/library/Zend/Mail/Message/Interface.php
deleted file mode 100644
index 833be6b44..000000000
--- a/airtime_mvc/library/Zend/Mail/Message/Interface.php
+++ /dev/null
@@ -1,55 +0,0 @@
- value) or string, if a content part is found it's used as toplines
- * - noToplines ignore content found after headers in param 'headers'
- * - content content as string
- *
- * @param array $params full message with or without headers
- * @throws Zend_Mail_Exception
- */
- public function __construct(array $params)
- {
- if (isset($params['handler'])) {
- if (!$params['handler'] instanceof Zend_Mail_Storage_Abstract) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('handler is not a valid mail handler');
- }
- if (!isset($params['id'])) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('need a message id with a handler');
- }
-
- $this->_mail = $params['handler'];
- $this->_messageNum = $params['id'];
- }
-
- if (isset($params['raw'])) {
- Zend_Mime_Decode::splitMessage($params['raw'], $this->_headers, $this->_content);
- } else if (isset($params['headers'])) {
- if (is_array($params['headers'])) {
- $this->_headers = $params['headers'];
- } else {
- if (!empty($params['noToplines'])) {
- Zend_Mime_Decode::splitMessage($params['headers'], $this->_headers, $null);
- } else {
- Zend_Mime_Decode::splitMessage($params['headers'], $this->_headers, $this->_topLines);
- }
- }
- if (isset($params['content'])) {
- $this->_content = $params['content'];
- }
- }
- }
-
- /**
- * Check if part is a multipart message
- *
- * @return bool if part is multipart
- */
- public function isMultipart()
- {
- try {
- return stripos($this->contentType, 'multipart/') === 0;
- } catch(Zend_Mail_Exception $e) {
- return false;
- }
- }
-
-
- /**
- * Body of part
- *
- * If part is multipart the raw content of this part with all sub parts is returned
- *
- * @return string body
- * @throws Zend_Mail_Exception
- */
- public function getContent()
- {
- if ($this->_content !== null) {
- return $this->_content;
- }
-
- if ($this->_mail) {
- return $this->_mail->getRawContent($this->_messageNum);
- } else {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('no content');
- }
- }
-
- /**
- * Return size of part
- *
- * Quite simple implemented currently (not decoding). Handle with care.
- *
- * @return int size
- */
- public function getSize() {
- return strlen($this->getContent());
- }
-
-
- /**
- * Cache content and split in parts if multipart
- *
- * @return null
- * @throws Zend_Mail_Exception
- */
- protected function _cacheContent()
- {
- // caching content if we can't fetch parts
- if ($this->_content === null && $this->_mail) {
- $this->_content = $this->_mail->getRawContent($this->_messageNum);
- }
-
- if (!$this->isMultipart()) {
- return;
- }
-
- // split content in parts
- $boundary = $this->getHeaderField('content-type', 'boundary');
- if (!$boundary) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('no boundary found in content type to split message');
- }
- $parts = Zend_Mime_Decode::splitMessageStruct($this->_content, $boundary);
- if ($parts === null) {
- return;
- }
- $counter = 1;
- foreach ($parts as $part) {
- $this->_parts[$counter++] = new self(array('headers' => $part['header'], 'content' => $part['body']));
- }
- }
-
- /**
- * Get part of multipart message
- *
- * @param int $num number of part starting with 1 for first part
- * @return Zend_Mail_Part wanted part
- * @throws Zend_Mail_Exception
- */
- public function getPart($num)
- {
- if (isset($this->_parts[$num])) {
- return $this->_parts[$num];
- }
-
- if (!$this->_mail && $this->_content === null) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('part not found');
- }
-
- if ($this->_mail && $this->_mail->hasFetchPart) {
- // TODO: fetch part
- // return
- }
-
- $this->_cacheContent();
-
- if (!isset($this->_parts[$num])) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('part not found');
- }
-
- return $this->_parts[$num];
- }
-
- /**
- * Count parts of a multipart part
- *
- * @return int number of sub-parts
- */
- public function countParts()
- {
- if ($this->_countParts) {
- return $this->_countParts;
- }
-
- $this->_countParts = count($this->_parts);
- if ($this->_countParts) {
- return $this->_countParts;
- }
-
- if ($this->_mail && $this->_mail->hasFetchPart) {
- // TODO: fetch part
- // return
- }
-
- $this->_cacheContent();
-
- $this->_countParts = count($this->_parts);
- return $this->_countParts;
- }
-
-
- /**
- * Get all headers
- *
- * The returned headers are as saved internally. All names are lowercased. The value is a string or an array
- * if a header with the same name occurs more than once.
- *
- * @return array headers as array(name => value)
- */
- public function getHeaders()
- {
- if ($this->_headers === null) {
- if (!$this->_mail) {
- $this->_headers = array();
- } else {
- $part = $this->_mail->getRawHeader($this->_messageNum);
- Zend_Mime_Decode::splitMessage($part, $this->_headers, $null);
- }
- }
-
- return $this->_headers;
- }
-
- /**
- * Get a header in specificed format
- *
- * Internally headers that occur more than once are saved as array, all other as string. If $format
- * is set to string implode is used to concat the values (with Zend_Mime::LINEEND as delim).
- *
- * @param string $name name of header, matches case-insensitive, but camel-case is replaced with dashes
- * @param string $format change type of return value to 'string' or 'array'
- * @return string|array value of header in wanted or internal format
- * @throws Zend_Mail_Exception
- */
- public function getHeader($name, $format = null)
- {
- if ($this->_headers === null) {
- $this->getHeaders();
- }
-
- $lowerName = strtolower($name);
-
- if ($this->headerExists($name) == false) {
- $lowerName = strtolower(preg_replace('%([a-z])([A-Z])%', '\1-\2', $name));
- if($this->headerExists($lowerName) == false) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception("no Header with Name $name or $lowerName found");
- }
- }
- $name = $lowerName;
-
- $header = $this->_headers[$name];
-
- switch ($format) {
- case 'string':
- if (is_array($header)) {
- $header = implode(Zend_Mime::LINEEND, $header);
- }
- break;
- case 'array':
- $header = (array)$header;
- default:
- // do nothing
- }
-
- return $header;
- }
-
- /**
- * Check wheater the Mail part has a specific header.
- *
- * @param string $name
- * @return boolean
- */
- public function headerExists($name)
- {
- $name = strtolower($name);
- if(isset($this->_headers[$name])) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Get a specific field from a header like content type or all fields as array
- *
- * If the header occurs more than once, only the value from the first header
- * is returned.
- *
- * Throws a Zend_Mail_Exception if the requested header does not exist. If
- * the specific header field does not exist, returns null.
- *
- * @param string $name name of header, like in getHeader()
- * @param string $wantedPart the wanted part, default is first, if null an array with all parts is returned
- * @param string $firstName key name for the first part
- * @return string|array wanted part or all parts as array($firstName => firstPart, partname => value)
- * @throws Zend_Exception, Zend_Mail_Exception
- */
- public function getHeaderField($name, $wantedPart = 0, $firstName = 0) {
- return Zend_Mime_Decode::splitHeaderField(current($this->getHeader($name, 'array')), $wantedPart, $firstName);
- }
-
-
- /**
- * Getter for mail headers - name is matched in lowercase
- *
- * This getter is short for Zend_Mail_Part::getHeader($name, 'string')
- *
- * @see Zend_Mail_Part::getHeader()
- *
- * @param string $name header name
- * @return string value of header
- * @throws Zend_Mail_Exception
- */
- public function __get($name)
- {
- return $this->getHeader($name, 'string');
- }
-
- /**
- * Isset magic method proxy to hasHeader
- *
- * This method is short syntax for Zend_Mail_Part::hasHeader($name);
- *
- * @see Zend_Mail_Part::hasHeader
- *
- * @param string
- * @return boolean
- */
- public function __isset($name)
- {
- return $this->headerExists($name);
- }
-
- /**
- * magic method to get content of part
- *
- * @return string content
- */
- public function __toString()
- {
- return $this->getContent();
- }
-
- /**
- * implements RecursiveIterator::hasChildren()
- *
- * @return bool current element has children/is multipart
- */
- public function hasChildren()
- {
- $current = $this->current();
- return $current && $current instanceof Zend_Mail_Part && $current->isMultipart();
- }
-
- /**
- * implements RecursiveIterator::getChildren()
- *
- * @return Zend_Mail_Part same as self::current()
- */
- public function getChildren()
- {
- return $this->current();
- }
-
- /**
- * implements Iterator::valid()
- *
- * @return bool check if there's a current element
- */
- public function valid()
- {
- if ($this->_countParts === null) {
- $this->countParts();
- }
- return $this->_iterationPos && $this->_iterationPos <= $this->_countParts;
- }
-
- /**
- * implements Iterator::next()
- *
- * @return null
- */
- public function next()
- {
- ++$this->_iterationPos;
- }
-
- /**
- * implements Iterator::key()
- *
- * @return string key/number of current part
- */
- public function key()
- {
- return $this->_iterationPos;
- }
-
- /**
- * implements Iterator::current()
- *
- * @return Zend_Mail_Part current part
- */
- public function current()
- {
- return $this->getPart($this->_iterationPos);
- }
-
- /**
- * implements Iterator::rewind()
- *
- * @return null
- */
- public function rewind()
- {
- $this->countParts();
- $this->_iterationPos = 1;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Part/File.php b/airtime_mvc/library/Zend/Mail/Part/File.php
deleted file mode 100644
index 9e8700934..000000000
--- a/airtime_mvc/library/Zend/Mail/Part/File.php
+++ /dev/null
@@ -1,198 +0,0 @@
-_fh = fopen($params['file'], 'r');
- } else {
- $this->_fh = $params['file'];
- }
- if (!$this->_fh) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('could not open file');
- }
- if (isset($params['startPos'])) {
- fseek($this->_fh, $params['startPos']);
- }
- $header = '';
- $endPos = isset($params['endPos']) ? $params['endPos'] : null;
- while (($endPos === null || ftell($this->_fh) < $endPos) && trim($line = fgets($this->_fh))) {
- $header .= $line;
- }
-
- Zend_Mime_Decode::splitMessage($header, $this->_headers, $null);
-
- $this->_contentPos[0] = ftell($this->_fh);
- if ($endPos !== null) {
- $this->_contentPos[1] = $endPos;
- } else {
- fseek($this->_fh, 0, SEEK_END);
- $this->_contentPos[1] = ftell($this->_fh);
- }
- if (!$this->isMultipart()) {
- return;
- }
-
- $boundary = $this->getHeaderField('content-type', 'boundary');
- if (!$boundary) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('no boundary found in content type to split message');
- }
-
- $part = array();
- $pos = $this->_contentPos[0];
- fseek($this->_fh, $pos);
- while (!feof($this->_fh) && ($endPos === null || $pos < $endPos)) {
- $line = fgets($this->_fh);
- if ($line === false) {
- if (feof($this->_fh)) {
- break;
- }
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('error reading file');
- }
-
- $lastPos = $pos;
- $pos = ftell($this->_fh);
- $line = trim($line);
-
- if ($line == '--' . $boundary) {
- if ($part) {
- // not first part
- $part[1] = $lastPos;
- $this->_partPos[] = $part;
- }
- $part = array($pos);
- } else if ($line == '--' . $boundary . '--') {
- $part[1] = $lastPos;
- $this->_partPos[] = $part;
- break;
- }
- }
- $this->_countParts = count($this->_partPos);
-
- }
-
-
- /**
- * Body of part
- *
- * If part is multipart the raw content of this part with all sub parts is returned
- *
- * @return string body
- * @throws Zend_Mail_Exception
- */
- public function getContent($stream = null)
- {
- fseek($this->_fh, $this->_contentPos[0]);
- if ($stream !== null) {
- return stream_copy_to_stream($this->_fh, $stream, $this->_contentPos[1] - $this->_contentPos[0]);
- }
- $length = $this->_contentPos[1] - $this->_contentPos[0];
- return $length < 1 ? '' : fread($this->_fh, $length);
- }
-
- /**
- * Return size of part
- *
- * Quite simple implemented currently (not decoding). Handle with care.
- *
- * @return int size
- */
- public function getSize() {
- return $this->_contentPos[1] - $this->_contentPos[0];
- }
-
- /**
- * Get part of multipart message
- *
- * @param int $num number of part starting with 1 for first part
- * @return Zend_Mail_Part wanted part
- * @throws Zend_Mail_Exception
- */
- public function getPart($num)
- {
- --$num;
- if (!isset($this->_partPos[$num])) {
- /**
- * @see Zend_Mail_Exception
- */
- require_once 'Zend/Mail/Exception.php';
- throw new Zend_Mail_Exception('part not found');
- }
-
- return new self(array('file' => $this->_fh, 'startPos' => $this->_partPos[$num][0],
- 'endPos' => $this->_partPos[$num][1]));
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Part/Interface.php b/airtime_mvc/library/Zend/Mail/Part/Interface.php
deleted file mode 100644
index 2d8f6f894..000000000
--- a/airtime_mvc/library/Zend/Mail/Part/Interface.php
+++ /dev/null
@@ -1,136 +0,0 @@
- value)
- */
- public function getHeaders();
-
- /**
- * Get a header in specificed format
- *
- * Internally headers that occur more than once are saved as array, all other as string. If $format
- * is set to string implode is used to concat the values (with Zend_Mime::LINEEND as delim).
- *
- * @param string $name name of header, matches case-insensitive, but camel-case is replaced with dashes
- * @param string $format change type of return value to 'string' or 'array'
- * @return string|array value of header in wanted or internal format
- * @throws Zend_Mail_Exception
- */
- public function getHeader($name, $format = null);
-
- /**
- * Get a specific field from a header like content type or all fields as array
- *
- * If the header occurs more than once, only the value from the first header
- * is returned.
- *
- * Throws a Zend_Mail_Exception if the requested header does not exist. If
- * the specific header field does not exist, returns null.
- *
- * @param string $name name of header, like in getHeader()
- * @param string $wantedPart the wanted part, default is first, if null an array with all parts is returned
- * @param string $firstName key name for the first part
- * @return string|array wanted part or all parts as array($firstName => firstPart, partname => value)
- * @throws Zend_Exception, Zend_Mail_Exception
- */
- public function getHeaderField($name, $wantedPart = 0, $firstName = 0);
-
-
- /**
- * Getter for mail headers - name is matched in lowercase
- *
- * This getter is short for Zend_Mail_Part::getHeader($name, 'string')
- *
- * @see Zend_Mail_Part::getHeader()
- *
- * @param string $name header name
- * @return string value of header
- * @throws Zend_Mail_Exception
- */
- public function __get($name);
-
- /**
- * magic method to get content of part
- *
- * @return string content
- */
- public function __toString();
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Abstract.php b/airtime_mvc/library/Zend/Mail/Protocol/Abstract.php
deleted file mode 100644
index 80c8e2fa9..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Abstract.php
+++ /dev/null
@@ -1,413 +0,0 @@
-_validHost = new Zend_Validate();
- $this->_validHost->addValidator(new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_ALL));
-
- if (!$this->_validHost->isValid($host)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception(join(', ', $this->_validHost->getMessages()));
- }
-
- $this->_host = $host;
- $this->_port = $port;
- }
-
-
- /**
- * Class destructor to cleanup open resources
- *
- * @return void
- */
- public function __destruct()
- {
- $this->_disconnect();
- }
-
-
- /**
- * Create a connection to the remote host
- *
- * Concrete adapters for this class will implement their own unique connect scripts, using the _connect() method to create the socket resource.
- */
- abstract public function connect();
-
-
- /**
- * Retrieve the last client request
- *
- * @return string
- */
- public function getRequest()
- {
- return $this->_request;
- }
-
-
- /**
- * Retrieve the last server response
- *
- * @return array
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
-
- /**
- * Retrieve the transaction log
- *
- * @return string
- */
- public function getLog()
- {
- return implode('', $this->_log);
- }
-
-
- /**
- * Reset the transaction log
- *
- * @return void
- */
- public function resetLog()
- {
- $this->_log = array();
- }
-
- /**
- * Add the transaction log
- *
- * @param string new transaction
- * @return void
- */
- protected function _addLog($value)
- {
- if (count($this->_log) >= self::MAXIMUM_LOG) {
- array_shift($this->_log);
- }
-
- $this->_log[] = $value;
- }
-
- /**
- * Connect to the server using the supplied transport and target
- *
- * An example $remote string may be 'tcp://mail.example.com:25' or 'ssh://hostname.com:2222'
- *
- * @param string $remote Remote
- * @throws Zend_Mail_Protocol_Exception
- * @return boolean
- */
- protected function _connect($remote)
- {
- $errorNum = 0;
- $errorStr = '';
-
- // open connection
- $this->_socket = @stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION);
-
- if ($this->_socket === false) {
- if ($errorNum == 0) {
- $errorStr = 'Could not open socket';
- }
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception($errorStr);
- }
-
- if (($result = stream_set_timeout($this->_socket, self::TIMEOUT_CONNECTION)) === false) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('Could not set stream timeout');
- }
-
- return $result;
- }
-
-
- /**
- * Disconnect from remote host and free resource
- *
- * @return void
- */
- protected function _disconnect()
- {
- if (is_resource($this->_socket)) {
- fclose($this->_socket);
- }
- }
-
-
- /**
- * Send the given request followed by a LINEEND to the server.
- *
- * @param string $request
- * @throws Zend_Mail_Protocol_Exception
- * @return integer|boolean Number of bytes written to remote host
- */
- protected function _send($request)
- {
- if (!is_resource($this->_socket)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('No connection has been established to ' . $this->_host);
- }
-
- $this->_request = $request;
-
- $result = fwrite($this->_socket, $request . self::EOL);
-
- // Save request to internal log
- $this->_addLog($request . self::EOL);
-
- if ($result === false) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('Could not send request to ' . $this->_host);
- }
-
- return $result;
- }
-
-
- /**
- * Get a line from the stream.
- *
- * @var integer $timeout Per-request timeout value if applicable
- * @throws Zend_Mail_Protocol_Exception
- * @return string
- */
- protected function _receive($timeout = null)
- {
- if (!is_resource($this->_socket)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('No connection has been established to ' . $this->_host);
- }
-
- // Adapters may wish to supply per-commend timeouts according to appropriate RFC
- if ($timeout !== null) {
- stream_set_timeout($this->_socket, $timeout);
- }
-
- // Retrieve response
- $reponse = fgets($this->_socket, 1024);
-
- // Save request to internal log
- $this->_addLog($reponse);
-
- // Check meta data to ensure connection is still valid
- $info = stream_get_meta_data($this->_socket);
-
- if (!empty($info['timed_out'])) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception($this->_host . ' has timed out');
- }
-
- if ($reponse === false) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('Could not read from ' . $this->_host);
- }
-
- return $reponse;
- }
-
-
- /**
- * Parse server response for successful codes
- *
- * Read the response from the stream and check for expected return code.
- * Throws a Zend_Mail_Protocol_Exception if an unexpected code is returned.
- *
- * @param string|array $code One or more codes that indicate a successful response
- * @throws Zend_Mail_Protocol_Exception
- * @return string Last line of response string
- */
- protected function _expect($code, $timeout = null)
- {
- $this->_response = array();
- $cmd = '';
- $more = '';
- $msg = '';
- $errMsg = '';
-
- if (!is_array($code)) {
- $code = array($code);
- }
-
- do {
- $this->_response[] = $result = $this->_receive($timeout);
- list($cmd, $more, $msg) = preg_split('/([\s-]+)/', $result, 2, PREG_SPLIT_DELIM_CAPTURE);
-
- if ($errMsg !== '') {
- $errMsg .= ' ' . $msg;
- } elseif ($cmd === null || !in_array($cmd, $code)) {
- $errMsg = $msg;
- }
-
- } while (strpos($more, '-') === 0); // The '-' message prefix indicates an information string instead of a response string.
-
- if ($errMsg !== '') {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception($errMsg);
- }
-
- return $msg;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Exception.php b/airtime_mvc/library/Zend/Mail/Protocol/Exception.php
deleted file mode 100644
index 15f446836..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-connect($host, $port, $ssl);
- }
- }
-
- /**
- * Public destructor
- */
- public function __destruct()
- {
- $this->logout();
- }
-
- /**
- * Open connection to IMAP server
- *
- * @param string $host hostname or IP address of IMAP server
- * @param int|null $port of IMAP server, default is 143 (993 for ssl)
- * @param string|bool $ssl use 'SSL', 'TLS' or false
- * @return string welcome message
- * @throws Zend_Mail_Protocol_Exception
- */
- public function connect($host, $port = null, $ssl = false)
- {
- if ($ssl == 'SSL') {
- $host = 'ssl://' . $host;
- }
-
- if ($port === null) {
- $port = $ssl === 'SSL' ? 993 : 143;
- }
-
- $errno = 0;
- $errstr = '';
- $this->_socket = @fsockopen($host, $port, $errno, $errstr, self::TIMEOUT_CONNECTION);
- if (!$this->_socket) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot connect to host; error = ' . $errstr .
- ' (errno = ' . $errno . ' )');
- }
-
- if (!$this->_assumedNextLine('* OK')) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('host doesn\'t allow connection');
- }
-
- if ($ssl === 'TLS') {
- $result = $this->requestAndResponse('STARTTLS');
- $result = $result && stream_socket_enable_crypto($this->_socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
- if (!$result) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot enable TLS');
- }
- }
- }
-
- /**
- * get the next line from socket with error checking, but nothing else
- *
- * @return string next line
- * @throws Zend_Mail_Protocol_Exception
- */
- protected function _nextLine()
- {
- $line = @fgets($this->_socket);
- if ($line === false) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot read - connection closed?');
- }
-
- return $line;
- }
-
- /**
- * get next line and assume it starts with $start. some requests give a simple
- * feedback so we can quickly check if we can go on.
- *
- * @param string $start the first bytes we assume to be in the next line
- * @return bool line starts with $start
- * @throws Zend_Mail_Protocol_Exception
- */
- protected function _assumedNextLine($start)
- {
- $line = $this->_nextLine();
- return strpos($line, $start) === 0;
- }
-
- /**
- * get next line and split the tag. that's the normal case for a response line
- *
- * @param string $tag tag of line is returned by reference
- * @return string next line
- * @throws Zend_Mail_Protocol_Exception
- */
- protected function _nextTaggedLine(&$tag)
- {
- $line = $this->_nextLine();
-
- // seperate tag from line
- list($tag, $line) = explode(' ', $line, 2);
-
- return $line;
- }
-
- /**
- * split a given line in tokens. a token is literal of any form or a list
- *
- * @param string $line line to decode
- * @return array tokens, literals are returned as string, lists as array
- * @throws Zend_Mail_Protocol_Exception
- */
- protected function _decodeLine($line)
- {
- $tokens = array();
- $stack = array();
-
- /*
- We start to decode the response here. The unterstood tokens are:
- literal
- "literal" or also "lit\\er\"al"
- {bytes}literal
- (literals*)
- All tokens are returned in an array. Literals in braces (the last unterstood
- token in the list) are returned as an array of tokens. I.e. the following response:
- "foo" baz {3}bar ("f\\\"oo" bar)
- would be returned as:
- array('foo', 'baz', 'bar', array('f\\\"oo', 'bar'));
-
- // TODO: add handling of '[' and ']' to parser for easier handling of response text
- */
- // replace any trailling including spaces with a single space
- $line = rtrim($line) . ' ';
- while (($pos = strpos($line, ' ')) !== false) {
- $token = substr($line, 0, $pos);
- while ($token[0] == '(') {
- array_push($stack, $tokens);
- $tokens = array();
- $token = substr($token, 1);
- }
- if ($token[0] == '"') {
- if (preg_match('%^\(*"((.|\\\\|\\")*?)" *%', $line, $matches)) {
- $tokens[] = $matches[1];
- $line = substr($line, strlen($matches[0]));
- continue;
- }
- }
- if ($token[0] == '{') {
- $endPos = strpos($token, '}');
- $chars = substr($token, 1, $endPos - 1);
- if (is_numeric($chars)) {
- $token = '';
- while (strlen($token) < $chars) {
- $token .= $this->_nextLine();
- }
- $line = '';
- if (strlen($token) > $chars) {
- $line = substr($token, $chars);
- $token = substr($token, 0, $chars);
- } else {
- $line .= $this->_nextLine();
- }
- $tokens[] = $token;
- $line = trim($line) . ' ';
- continue;
- }
- }
- if ($stack && $token[strlen($token) - 1] == ')') {
- // closing braces are not seperated by spaces, so we need to count them
- $braces = strlen($token);
- $token = rtrim($token, ')');
- // only count braces if more than one
- $braces -= strlen($token) + 1;
- // only add if token had more than just closing braces
- if (rtrim($token) != '') {
- $tokens[] = rtrim($token);
- }
- $token = $tokens;
- $tokens = array_pop($stack);
- // special handline if more than one closing brace
- while ($braces-- > 0) {
- $tokens[] = $token;
- $token = $tokens;
- $tokens = array_pop($stack);
- }
- }
- $tokens[] = $token;
- $line = substr($line, $pos + 1);
- }
-
- // maybe the server forgot to send some closing braces
- while ($stack) {
- $child = $tokens;
- $tokens = array_pop($stack);
- $tokens[] = $child;
- }
-
- return $tokens;
- }
-
- /**
- * read a response "line" (could also be more than one real line if response has {..})
- * and do a simple decode
- *
- * @param array|string $tokens decoded tokens are returned by reference, if $dontParse
- * is true the unparsed line is returned here
- * @param string $wantedTag check for this tag for response code. Default '*' is
- * continuation tag.
- * @param bool $dontParse if true only the unparsed line is returned $tokens
- * @return bool if returned tag matches wanted tag
- * @throws Zend_Mail_Protocol_Exception
- */
- public function readLine(&$tokens = array(), $wantedTag = '*', $dontParse = false)
- {
- $line = $this->_nextTaggedLine($tag);
- if (!$dontParse) {
- $tokens = $this->_decodeLine($line);
- } else {
- $tokens = $line;
- }
-
- // if tag is wanted tag we might be at the end of a multiline response
- return $tag == $wantedTag;
- }
-
- /**
- * read all lines of response until given tag is found (last line of response)
- *
- * @param string $tag the tag of your request
- * @param string|array $filter you can filter the response so you get only the
- * given response lines
- * @param bool $dontParse if true every line is returned unparsed instead of
- * the decoded tokens
- * @return null|bool|array tokens if success, false if error, null if bad request
- * @throws Zend_Mail_Protocol_Exception
- */
- public function readResponse($tag, $dontParse = false)
- {
- $lines = array();
- while (!$this->readLine($tokens, $tag, $dontParse)) {
- $lines[] = $tokens;
- }
-
- if ($dontParse) {
- // last to chars are still needed for response code
- $tokens = array(substr($tokens, 0, 2));
- }
- // last line has response code
- if ($tokens[0] == 'OK') {
- return $lines ? $lines : true;
- } else if ($tokens[0] == 'NO'){
- return false;
- }
- return null;
- }
-
- /**
- * send a request
- *
- * @param string $command your request command
- * @param array $tokens additional parameters to command, use escapeString() to prepare
- * @param string $tag provide a tag otherwise an autogenerated is returned
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function sendRequest($command, $tokens = array(), &$tag = null)
- {
- if (!$tag) {
- ++$this->_tagCount;
- $tag = 'TAG' . $this->_tagCount;
- }
-
- $line = $tag . ' ' . $command;
-
- foreach ($tokens as $token) {
- if (is_array($token)) {
- if (@fputs($this->_socket, $line . ' ' . $token[0] . "\r\n") === false) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot write - connection closed?');
- }
- if (!$this->_assumedNextLine('+ ')) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot send literal string');
- }
- $line = $token[1];
- } else {
- $line .= ' ' . $token;
- }
- }
-
- if (@fputs($this->_socket, $line . "\r\n") === false) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot write - connection closed?');
- }
- }
-
- /**
- * send a request and get response at once
- *
- * @param string $command command as in sendRequest()
- * @param array $tokens parameters as in sendRequest()
- * @param bool $dontParse if true unparsed lines are returned instead of tokens
- * @return mixed response as in readResponse()
- * @throws Zend_Mail_Protocol_Exception
- */
- public function requestAndResponse($command, $tokens = array(), $dontParse = false)
- {
- $this->sendRequest($command, $tokens, $tag);
- $response = $this->readResponse($tag, $dontParse);
-
- return $response;
- }
-
- /**
- * escape one or more literals i.e. for sendRequest
- *
- * @param string|array $string the literal/-s
- * @return string|array escape literals, literals with newline ar returned
- * as array('{size}', 'string');
- */
- public function escapeString($string)
- {
- if (func_num_args() < 2) {
- if (strpos($string, "\n") !== false) {
- return array('{' . strlen($string) . '}', $string);
- } else {
- return '"' . str_replace(array('\\', '"'), array('\\\\', '\\"'), $string) . '"';
- }
- }
- $result = array();
- foreach (func_get_args() as $string) {
- $result[] = $this->escapeString($string);
- }
- return $result;
- }
-
- /**
- * escape a list with literals or lists
- *
- * @param array $list list with literals or lists as PHP array
- * @return string escaped list for imap
- */
- public function escapeList($list)
- {
- $result = array();
- foreach ($list as $k => $v) {
- if (!is_array($v)) {
-// $result[] = $this->escapeString($v);
- $result[] = $v;
- continue;
- }
- $result[] = $this->escapeList($v);
- }
- return '(' . implode(' ', $result) . ')';
- }
-
- /**
- * Login to IMAP server.
- *
- * @param string $user username
- * @param string $password password
- * @return bool success
- * @throws Zend_Mail_Protocol_Exception
- */
- public function login($user, $password)
- {
- return $this->requestAndResponse('LOGIN', $this->escapeString($user, $password), true);
- }
-
- /**
- * logout of imap server
- *
- * @return bool success
- */
- public function logout()
- {
- $result = false;
- if ($this->_socket) {
- try {
- $result = $this->requestAndResponse('LOGOUT', array(), true);
- } catch (Zend_Mail_Protocol_Exception $e) {
- // ignoring exception
- }
- fclose($this->_socket);
- $this->_socket = null;
- }
- return $result;
- }
-
-
- /**
- * Get capabilities from IMAP server
- *
- * @return array list of capabilities
- * @throws Zend_Mail_Protocol_Exception
- */
- public function capability()
- {
- $response = $this->requestAndResponse('CAPABILITY');
-
- if (!$response) {
- return $response;
- }
-
- $capabilities = array();
- foreach ($response as $line) {
- $capabilities = array_merge($capabilities, $line);
- }
- return $capabilities;
- }
-
- /**
- * Examine and select have the same response. The common code for both
- * is in this method
- *
- * @param string $command can be 'EXAMINE' or 'SELECT' and this is used as command
- * @param string $box which folder to change to or examine
- * @return bool|array false if error, array with returned information
- * otherwise (flags, exists, recent, uidvalidity)
- * @throws Zend_Mail_Protocol_Exception
- */
- public function examineOrSelect($command = 'EXAMINE', $box = 'INBOX')
- {
- $this->sendRequest($command, array($this->escapeString($box)), $tag);
-
- $result = array();
- while (!$this->readLine($tokens, $tag)) {
- if ($tokens[0] == 'FLAGS') {
- array_shift($tokens);
- $result['flags'] = $tokens;
- continue;
- }
- switch ($tokens[1]) {
- case 'EXISTS':
- case 'RECENT':
- $result[strtolower($tokens[1])] = $tokens[0];
- break;
- case '[UIDVALIDITY':
- $result['uidvalidity'] = (int)$tokens[2];
- break;
- default:
- // ignore
- }
- }
-
- if ($tokens[0] != 'OK') {
- return false;
- }
- return $result;
- }
-
- /**
- * change folder
- *
- * @param string $box change to this folder
- * @return bool|array see examineOrselect()
- * @throws Zend_Mail_Protocol_Exception
- */
- public function select($box = 'INBOX')
- {
- return $this->examineOrSelect('SELECT', $box);
- }
-
- /**
- * examine folder
- *
- * @param string $box examine this folder
- * @return bool|array see examineOrselect()
- * @throws Zend_Mail_Protocol_Exception
- */
- public function examine($box = 'INBOX')
- {
- return $this->examineOrSelect('EXAMINE', $box);
- }
-
- /**
- * fetch one or more items of one or more messages
- *
- * @param string|array $items items to fetch from message(s) as string (if only one item)
- * or array of strings
- * @param int $from message for items or start message if $to !== null
- * @param int|null $to if null only one message ($from) is fetched, else it's the
- * last message, INF means last message avaible
- * @return string|array if only one item of one message is fetched it's returned as string
- * if items of one message are fetched it's returned as (name => value)
- * if one items of messages are fetched it's returned as (msgno => value)
- * if items of messages are fetchted it's returned as (msgno => (name => value))
- * @throws Zend_Mail_Protocol_Exception
- */
- public function fetch($items, $from, $to = null)
- {
- if (is_array($from)) {
- $set = implode(',', $from);
- } else if ($to === null) {
- $set = (int)$from;
- } else if ($to === INF) {
- $set = (int)$from . ':*';
- } else {
- $set = (int)$from . ':' . (int)$to;
- }
-
- $items = (array)$items;
- $itemList = $this->escapeList($items);
-
- $this->sendRequest('FETCH', array($set, $itemList), $tag);
-
- $result = array();
- while (!$this->readLine($tokens, $tag)) {
- // ignore other responses
- if ($tokens[1] != 'FETCH') {
- continue;
- }
- // ignore other messages
- if ($to === null && !is_array($from) && $tokens[0] != $from) {
- continue;
- }
- // if we only want one item we return that one directly
- if (count($items) == 1) {
- if ($tokens[2][0] == $items[0]) {
- $data = $tokens[2][1];
- } else {
- // maybe the server send an other field we didn't wanted
- $count = count($tokens[2]);
- // we start with 2, because 0 was already checked
- for ($i = 2; $i < $count; $i += 2) {
- if ($tokens[2][$i] != $items[0]) {
- continue;
- }
- $data = $tokens[2][$i + 1];
- break;
- }
- }
- } else {
- $data = array();
- while (key($tokens[2]) !== null) {
- $data[current($tokens[2])] = next($tokens[2]);
- next($tokens[2]);
- }
- }
- // if we want only one message we can ignore everything else and just return
- if ($to === null && !is_array($from) && $tokens[0] == $from) {
- // we still need to read all lines
- while (!$this->readLine($tokens, $tag));
- return $data;
- }
- $result[$tokens[0]] = $data;
- }
-
- if ($to === null && !is_array($from)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('the single id was not found in response');
- }
-
- return $result;
- }
-
- /**
- * get mailbox list
- *
- * this method can't be named after the IMAP command 'LIST', as list is a reserved keyword
- *
- * @param string $reference mailbox reference for list
- * @param string $mailbox mailbox name match with wildcards
- * @return array mailboxes that matched $mailbox as array(globalName => array('delim' => .., 'flags' => ..))
- * @throws Zend_Mail_Protocol_Exception
- */
- public function listMailbox($reference = '', $mailbox = '*')
- {
- $result = array();
- $list = $this->requestAndResponse('LIST', $this->escapeString($reference, $mailbox));
- if (!$list || $list === true) {
- return $result;
- }
-
- foreach ($list as $item) {
- if (count($item) != 4 || $item[0] != 'LIST') {
- continue;
- }
- $result[$item[3]] = array('delim' => $item[2], 'flags' => $item[1]);
- }
-
- return $result;
- }
-
- /**
- * set flags
- *
- * @param array $flags flags to set, add or remove - see $mode
- * @param int $from message for items or start message if $to !== null
- * @param int|null $to if null only one message ($from) is fetched, else it's the
- * last message, INF means last message avaible
- * @param string|null $mode '+' to add flags, '-' to remove flags, everything else sets the flags as given
- * @param bool $silent if false the return values are the new flags for the wanted messages
- * @return bool|array new flags if $silent is false, else true or false depending on success
- * @throws Zend_Mail_Protocol_Exception
- */
- public function store(array $flags, $from, $to = null, $mode = null, $silent = true)
- {
- $item = 'FLAGS';
- if ($mode == '+' || $mode == '-') {
- $item = $mode . $item;
- }
- if ($silent) {
- $item .= '.SILENT';
- }
-
- $flags = $this->escapeList($flags);
- $set = (int)$from;
- if ($to != null) {
- $set .= ':' . ($to == INF ? '*' : (int)$to);
- }
-
- $result = $this->requestAndResponse('STORE', array($set, $item, $flags), $silent);
-
- if ($silent) {
- return $result ? true : false;
- }
-
- $tokens = $result;
- $result = array();
- foreach ($tokens as $token) {
- if ($token[1] != 'FETCH' || $token[2][0] != 'FLAGS') {
- continue;
- }
- $result[$token[0]] = $token[2][1];
- }
-
- return $result;
- }
-
- /**
- * append a new message to given folder
- *
- * @param string $folder name of target folder
- * @param string $message full message content
- * @param array $flags flags for new message
- * @param string $date date for new message
- * @return bool success
- * @throws Zend_Mail_Protocol_Exception
- */
- public function append($folder, $message, $flags = null, $date = null)
- {
- $tokens = array();
- $tokens[] = $this->escapeString($folder);
- if ($flags !== null) {
- $tokens[] = $this->escapeList($flags);
- }
- if ($date !== null) {
- $tokens[] = $this->escapeString($date);
- }
- $tokens[] = $this->escapeString($message);
-
- return $this->requestAndResponse('APPEND', $tokens, true);
- }
-
- /**
- * copy message set from current folder to other folder
- *
- * @param string $folder destination folder
- * @param int|null $to if null only one message ($from) is fetched, else it's the
- * last message, INF means last message avaible
- * @return bool success
- * @throws Zend_Mail_Protocol_Exception
- */
- public function copy($folder, $from, $to = null)
- {
- $set = (int)$from;
- if ($to != null) {
- $set .= ':' . ($to == INF ? '*' : (int)$to);
- }
-
- return $this->requestAndResponse('COPY', array($set, $this->escapeString($folder)), true);
- }
-
- /**
- * create a new folder (and parent folders if needed)
- *
- * @param string $folder folder name
- * @return bool success
- */
- public function create($folder)
- {
- return $this->requestAndResponse('CREATE', array($this->escapeString($folder)), true);
- }
-
- /**
- * rename an existing folder
- *
- * @param string $old old name
- * @param string $new new name
- * @return bool success
- */
- public function rename($old, $new)
- {
- return $this->requestAndResponse('RENAME', $this->escapeString($old, $new), true);
- }
-
- /**
- * remove a folder
- *
- * @param string $folder folder name
- * @return bool success
- */
- public function delete($folder)
- {
- return $this->requestAndResponse('DELETE', array($this->escapeString($folder)), true);
- }
-
- /**
- * permanently remove messages
- *
- * @return bool success
- */
- public function expunge()
- {
- // TODO: parse response?
- return $this->requestAndResponse('EXPUNGE');
- }
-
- /**
- * send noop
- *
- * @return bool success
- */
- public function noop()
- {
- // TODO: parse response
- return $this->requestAndResponse('NOOP');
- }
-
- /**
- * do a search request
- *
- * This method is currently marked as internal as the API might change and is not
- * safe if you don't take precautions.
- *
- * @internal
- * @return array message ids
- */
- public function search(array $params)
- {
- $response = $this->requestAndResponse('SEARCH', $params);
- if (!$response) {
- return $response;
- }
-
- foreach ($response as $ids) {
- if ($ids[0] == 'SEARCH') {
- array_shift($ids);
- return $ids;
- }
- }
- return array();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Pop3.php b/airtime_mvc/library/Zend/Mail/Protocol/Pop3.php
deleted file mode 100644
index 7678b345d..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Pop3.php
+++ /dev/null
@@ -1,472 +0,0 @@
-connect($host, $port, $ssl);
- }
- }
-
-
- /**
- * Public destructor
- */
- public function __destruct()
- {
- $this->logout();
- }
-
-
- /**
- * Open connection to POP3 server
- *
- * @param string $host hostname or IP address of POP3 server
- * @param int|null $port of POP3 server, default is 110 (995 for ssl)
- * @param string|bool $ssl use 'SSL', 'TLS' or false
- * @return string welcome message
- * @throws Zend_Mail_Protocol_Exception
- */
- public function connect($host, $port = null, $ssl = false)
- {
- if ($ssl == 'SSL') {
- $host = 'ssl://' . $host;
- }
-
- if ($port === null) {
- $port = $ssl == 'SSL' ? 995 : 110;
- }
-
- $errno = 0;
- $errstr = '';
- $this->_socket = @fsockopen($host, $port, $errno, $errstr, self::TIMEOUT_CONNECTION);
- if (!$this->_socket) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot connect to host; error = ' . $errstr .
- ' (errno = ' . $errno . ' )');
- }
-
- $welcome = $this->readResponse();
-
- strtok($welcome, '<');
- $this->_timestamp = strtok('>');
- if (!strpos($this->_timestamp, '@')) {
- $this->_timestamp = null;
- } else {
- $this->_timestamp = '<' . $this->_timestamp . '>';
- }
-
- if ($ssl === 'TLS') {
- $this->request('STLS');
- $result = stream_socket_enable_crypto($this->_socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
- if (!$result) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('cannot enable TLS');
- }
- }
-
- return $welcome;
- }
-
-
- /**
- * Send a request
- *
- * @param string $request your request without newline
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function sendRequest($request)
- {
- $result = @fputs($this->_socket, $request . "\r\n");
- if (!$result) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('send failed - connection closed?');
- }
- }
-
-
- /**
- * read a response
- *
- * @param boolean $multiline response has multiple lines and should be read until "."
- * @return string response
- * @throws Zend_Mail_Protocol_Exception
- */
- public function readResponse($multiline = false)
- {
- $result = @fgets($this->_socket);
- if (!is_string($result)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('read failed - connection closed?');
- }
-
- $result = trim($result);
- if (strpos($result, ' ')) {
- list($status, $message) = explode(' ', $result, 2);
- } else {
- $status = $result;
- $message = '';
- }
-
- if ($status != '+OK') {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('last request failed');
- }
-
- if ($multiline) {
- $message = '';
- $line = fgets($this->_socket);
- while ($line && rtrim($line, "\r\n") != '.') {
- if ($line[0] == '.') {
- $line = substr($line, 1);
- }
- $message .= $line;
- $line = fgets($this->_socket);
- };
- }
-
- return $message;
- }
-
-
- /**
- * Send request and get resposne
- *
- * @see sendRequest(), readResponse()
- *
- * @param string $request request
- * @param bool $multiline multiline response?
- * @return string result from readResponse()
- * @throws Zend_Mail_Protocol_Exception
- */
- public function request($request, $multiline = false)
- {
- $this->sendRequest($request);
- return $this->readResponse($multiline);
- }
-
-
- /**
- * End communication with POP3 server (also closes socket)
- *
- * @return null
- */
- public function logout()
- {
- if (!$this->_socket) {
- return;
- }
-
- try {
- $this->request('QUIT');
- } catch (Zend_Mail_Protocol_Exception $e) {
- // ignore error - we're closing the socket anyway
- }
-
- fclose($this->_socket);
- $this->_socket = null;
- }
-
-
- /**
- * Get capabilities from POP3 server
- *
- * @return array list of capabilities
- * @throws Zend_Mail_Protocol_Exception
- */
- public function capa()
- {
- $result = $this->request('CAPA', true);
- return explode("\n", $result);
- }
-
-
- /**
- * Login to POP3 server. Can use APOP
- *
- * @param string $user username
- * @param string $password password
- * @param bool $try_apop should APOP be tried?
- * @return void
- * @throws Zend_Mail_Protocol_Exception
- */
- public function login($user, $password, $tryApop = true)
- {
- if ($tryApop && $this->_timestamp) {
- try {
- $this->request("APOP $user " . md5($this->_timestamp . $password));
- return;
- } catch (Zend_Mail_Protocol_Exception $e) {
- // ignore
- }
- }
-
- $result = $this->request("USER $user");
- $result = $this->request("PASS $password");
- }
-
-
- /**
- * Make STAT call for message count and size sum
- *
- * @param int $messages out parameter with count of messages
- * @param int $octets out parameter with size in octects of messages
- * @return void
- * @throws Zend_Mail_Protocol_Exception
- */
- public function status(&$messages, &$octets)
- {
- $messages = 0;
- $octets = 0;
- $result = $this->request('STAT');
-
- list($messages, $octets) = explode(' ', $result);
- }
-
-
- /**
- * Make LIST call for size of message(s)
- *
- * @param int|null $msgno number of message, null for all
- * @return int|array size of given message or list with array(num => size)
- * @throws Zend_Mail_Protocol_Exception
- */
- public function getList($msgno = null)
- {
- if ($msgno !== null) {
- $result = $this->request("LIST $msgno");
-
- list(, $result) = explode(' ', $result);
- return (int)$result;
- }
-
- $result = $this->request('LIST', true);
- $messages = array();
- $line = strtok($result, "\n");
- while ($line) {
- list($no, $size) = explode(' ', trim($line));
- $messages[(int)$no] = (int)$size;
- $line = strtok("\n");
- }
-
- return $messages;
- }
-
-
- /**
- * Make UIDL call for getting a uniqueid
- *
- * @param int|null $msgno number of message, null for all
- * @return string|array uniqueid of message or list with array(num => uniqueid)
- * @throws Zend_Mail_Protocol_Exception
- */
- public function uniqueid($msgno = null)
- {
- if ($msgno !== null) {
- $result = $this->request("UIDL $msgno");
-
- list(, $result) = explode(' ', $result);
- return $result;
- }
-
- $result = $this->request('UIDL', true);
-
- $result = explode("\n", $result);
- $messages = array();
- foreach ($result as $line) {
- if (!$line) {
- continue;
- }
- list($no, $id) = explode(' ', trim($line), 2);
- $messages[(int)$no] = $id;
- }
-
- return $messages;
-
- }
-
-
- /**
- * Make TOP call for getting headers and maybe some body lines
- * This method also sets hasTop - before it it's not known if top is supported
- *
- * The fallback makes normale RETR call, which retrieves the whole message. Additional
- * lines are not removed.
- *
- * @param int $msgno number of message
- * @param int $lines number of wanted body lines (empty line is inserted after header lines)
- * @param bool $fallback fallback with full retrieve if top is not supported
- * @return string message headers with wanted body lines
- * @throws Zend_Mail_Protocol_Exception
- */
- public function top($msgno, $lines = 0, $fallback = false)
- {
- if ($this->hasTop === false) {
- if ($fallback) {
- return $this->retrieve($msgno);
- } else {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('top not supported and no fallback wanted');
- }
- }
- $this->hasTop = true;
-
- $lines = (!$lines || $lines < 1) ? 0 : (int)$lines;
-
- try {
- $result = $this->request("TOP $msgno $lines", true);
- } catch (Zend_Mail_Protocol_Exception $e) {
- $this->hasTop = false;
- if ($fallback) {
- $result = $this->retrieve($msgno);
- } else {
- throw $e;
- }
- }
-
- return $result;
- }
-
-
- /**
- * Make a RETR call for retrieving a full message with headers and body
- *
- * @deprecated since 1.1.0; this method has a typo - please use retrieve()
- * @param int $msgno message number
- * @return string message
- * @throws Zend_Mail_Protocol_Exception
- */
- public function retrive($msgno)
- {
- return $this->retrieve($msgno);
- }
-
-
- /**
- * Make a RETR call for retrieving a full message with headers and body
- *
- * @param int $msgno message number
- * @return string message
- * @throws Zend_Mail_Protocol_Exception
- */
- public function retrieve($msgno)
- {
- $result = $this->request("RETR $msgno", true);
- return $result;
- }
-
- /**
- * Make a NOOP call, maybe needed for keeping the server happy
- *
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function noop()
- {
- $this->request('NOOP');
- }
-
-
- /**
- * Make a DELE count to remove a message
- *
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function delete($msgno)
- {
- $this->request("DELE $msgno");
- }
-
-
- /**
- * Make RSET call, which rollbacks delete requests
- *
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function undelete()
- {
- $this->request('RSET');
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Smtp.php b/airtime_mvc/library/Zend/Mail/Protocol/Smtp.php
deleted file mode 100644
index acd5c5425..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Smtp.php
+++ /dev/null
@@ -1,443 +0,0 @@
-_secure = 'tls';
- break;
-
- case 'ssl':
- $this->_transport = 'ssl';
- $this->_secure = 'ssl';
- if ($port == null) {
- $port = 465;
- }
- break;
-
- default:
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception($config['ssl'] . ' is unsupported SSL type');
- break;
- }
- }
-
- // If no port has been specified then check the master PHP ini file. Defaults to 25 if the ini setting is null.
- if ($port == null) {
- if (($port = ini_get('smtp_port')) == '') {
- $port = 25;
- }
- }
-
- parent::__construct($host, $port);
- }
-
-
- /**
- * Connect to the server with the parameters given in the constructor.
- *
- * @return boolean
- */
- public function connect()
- {
- return $this->_connect($this->_transport . '://' . $this->_host . ':'. $this->_port);
- }
-
-
- /**
- * Initiate HELO/EHLO sequence and set flag to indicate valid smtp session
- *
- * @param string $host The client hostname or IP address (default: 127.0.0.1)
- * @throws Zend_Mail_Protocol_Exception
- * @return void
- */
- public function helo($host = '127.0.0.1')
- {
- // Respect RFC 2821 and disallow HELO attempts if session is already initiated.
- if ($this->_sess === true) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('Cannot issue HELO to existing session');
- }
-
- // Validate client hostname
- if (!$this->_validHost->isValid($host)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception(join(', ', $this->_validHost->getMessages()));
- }
-
- // Initiate helo sequence
- $this->_expect(220, 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- $this->_ehlo($host);
-
- // If a TLS session is required, commence negotiation
- if ($this->_secure == 'tls') {
- $this->_send('STARTTLS');
- $this->_expect(220, 180);
- if (!stream_socket_enable_crypto($this->_socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('Unable to connect via TLS');
- }
- $this->_ehlo($host);
- }
-
- $this->_startSession();
- $this->auth();
- }
-
-
- /**
- * Send EHLO or HELO depending on capabilities of smtp host
- *
- * @param string $host The client hostname or IP address (default: 127.0.0.1)
- * @throws Zend_Mail_Protocol_Exception
- * @return void
- */
- protected function _ehlo($host)
- {
- // Support for older, less-compliant remote servers. Tries multiple attempts of EHLO or HELO.
- try {
- $this->_send('EHLO ' . $host);
- $this->_expect(250, 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- } catch (Zend_Mail_Protocol_Exception $e) {
- $this->_send('HELO ' . $host);
- $this->_expect(250, 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- } catch (Zend_Mail_Protocol_Exception $e) {
- throw $e;
- }
- }
-
-
- /**
- * Issues MAIL command
- *
- * @param string $from Sender mailbox
- * @throws Zend_Mail_Protocol_Exception
- * @return void
- */
- public function mail($from)
- {
- if ($this->_sess !== true) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('A valid session has not been started');
- }
-
- $this->_send('MAIL FROM:<' . $from . '>');
- $this->_expect(250, 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
-
- // Set mail to true, clear recipients and any existing data flags as per 4.1.1.2 of RFC 2821
- $this->_mail = true;
- $this->_rcpt = false;
- $this->_data = false;
- }
-
-
- /**
- * Issues RCPT command
- *
- * @param string $to Receiver(s) mailbox
- * @throws Zend_Mail_Protocol_Exception
- * @return void
- */
- public function rcpt($to)
- {
- if ($this->_mail !== true) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('No sender reverse path has been supplied');
- }
-
- // Set rcpt to true, as per 4.1.1.3 of RFC 2821
- $this->_send('RCPT TO:<' . $to . '>');
- $this->_expect(array(250, 251), 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- $this->_rcpt = true;
- }
-
-
- /**
- * Issues DATA command
- *
- * @param string $data
- * @throws Zend_Mail_Protocol_Exception
- * @return void
- */
- public function data($data)
- {
- // Ensure recipients have been set
- if ($this->_rcpt !== true) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('No recipient forward path has been supplied');
- }
-
- $this->_send('DATA');
- $this->_expect(354, 120); // Timeout set for 2 minutes as per RFC 2821 4.5.3.2
-
- foreach (explode(Zend_Mime::LINEEND, $data) as $line) {
- if (strpos($line, '.') === 0) {
- // Escape lines prefixed with a '.'
- $line = '.' . $line;
- }
- $this->_send($line);
- }
-
- $this->_send('.');
- $this->_expect(250, 600); // Timeout set for 10 minutes as per RFC 2821 4.5.3.2
- $this->_data = true;
- }
-
-
- /**
- * Issues the RSET command end validates answer
- *
- * Can be used to restore a clean smtp communication state when a transaction has been cancelled or commencing a new transaction.
- *
- * @return void
- */
- public function rset()
- {
- $this->_send('RSET');
- // MS ESMTP doesn't follow RFC, see [ZF-1377]
- $this->_expect(array(250, 220));
-
- $this->_mail = false;
- $this->_rcpt = false;
- $this->_data = false;
- }
-
-
- /**
- * Issues the NOOP command end validates answer
- *
- * Not used by Zend_Mail, could be used to keep a connection alive or check if it is still open.
- *
- * @return void
- */
- public function noop()
- {
- $this->_send('NOOP');
- $this->_expect(250, 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- }
-
-
- /**
- * Issues the VRFY command end validates answer
- *
- * Not used by Zend_Mail.
- *
- * @param string $user User Name or eMail to verify
- * @return void
- */
- public function vrfy($user)
- {
- $this->_send('VRFY ' . $user);
- $this->_expect(array(250, 251, 252), 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- }
-
-
- /**
- * Issues the QUIT command and clears the current session
- *
- * @return void
- */
- public function quit()
- {
- if ($this->_sess) {
- $this->_send('QUIT');
- $this->_expect(221, 300); // Timeout set for 5 minutes as per RFC 2821 4.5.3.2
- $this->_stopSession();
- }
- }
-
-
- /**
- * Default authentication method
- *
- * This default method is implemented by AUTH adapters to properly authenticate to a remote host.
- *
- * @throws Zend_Mail_Protocol_Exception
- * @return void
- */
- public function auth()
- {
- if ($this->_auth === true) {
- /**
- * @see Zend_Mail_Protocol_Exception
- */
- require_once 'Zend/Mail/Protocol/Exception.php';
- throw new Zend_Mail_Protocol_Exception('Already authenticated for this session');
- }
- }
-
-
- /**
- * Closes connection
- *
- * @return void
- */
- public function disconnect()
- {
- $this->_disconnect();
- }
-
-
- /**
- * Start mail session
- *
- * @return void
- */
- protected function _startSession()
- {
- $this->_sess = true;
- }
-
-
- /**
- * Stop mail session
- *
- * @return void
- */
- protected function _stopSession()
- {
- $this->_sess = false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Crammd5.php b/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Crammd5.php
deleted file mode 100644
index 4b2aa4b28..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Crammd5.php
+++ /dev/null
@@ -1,108 +0,0 @@
-_username = $config['username'];
- }
- if (isset($config['password'])) {
- $this->_password = $config['password'];
- }
- }
-
- parent::__construct($host, $port, $config);
- }
-
-
- /**
- * @todo Perform CRAM-MD5 authentication with supplied credentials
- *
- * @return void
- */
- public function auth()
- {
- // Ensure AUTH has not already been initiated.
- parent::auth();
-
- $this->_send('AUTH CRAM-MD5');
- $challenge = $this->_expect(334);
- $challenge = base64_decode($challenge);
- $digest = $this->_hmacMd5($this->_password, $challenge);
- $this->_send(base64_encode($this->_username . ' ' . $digest));
- $this->_expect(235);
- $this->_auth = true;
- }
-
-
- /**
- * Prepare CRAM-MD5 response to server's ticket
- *
- * @param string $key Challenge key (usually password)
- * @param string $data Challenge data
- * @param string $block Length of blocks
- * @return string
- */
- protected function _hmacMd5($key, $data, $block = 64)
- {
- if (strlen($key) > 64) {
- $key = pack('H32', md5($key));
- } elseif (strlen($key) < 64) {
- $key = str_pad($key, $block, chr(0));
- }
-
- $k_ipad = substr($key, 0, 64) ^ str_repeat(chr(0x36), 64);
- $k_opad = substr($key, 0, 64) ^ str_repeat(chr(0x5C), 64);
-
- $inner = pack('H32', md5($k_ipad . $data));
- $digest = md5($k_opad . $inner);
-
- return $digest;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Login.php b/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Login.php
deleted file mode 100644
index ab79748ae..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Login.php
+++ /dev/null
@@ -1,98 +0,0 @@
-_username = $config['username'];
- }
- if (isset($config['password'])) {
- $this->_password = $config['password'];
- }
- }
-
- parent::__construct($host, $port, $config);
- }
-
-
- /**
- * Perform LOGIN authentication with supplied credentials
- *
- * @return void
- */
- public function auth()
- {
- // Ensure AUTH has not already been initiated.
- parent::auth();
-
- $this->_send('AUTH LOGIN');
- $this->_expect(334);
- $this->_send(base64_encode($this->_username));
- $this->_expect(334);
- $this->_send(base64_encode($this->_password));
- $this->_expect(235);
- $this->_auth = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Plain.php b/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Plain.php
deleted file mode 100644
index a8c2f61f8..000000000
--- a/airtime_mvc/library/Zend/Mail/Protocol/Smtp/Auth/Plain.php
+++ /dev/null
@@ -1,96 +0,0 @@
-_username = $config['username'];
- }
- if (isset($config['password'])) {
- $this->_password = $config['password'];
- }
- }
-
- parent::__construct($host, $port, $config);
- }
-
-
- /**
- * Perform PLAIN authentication with supplied credentials
- *
- * @return void
- */
- public function auth()
- {
- // Ensure AUTH has not already been initiated.
- parent::auth();
-
- $this->_send('AUTH PLAIN');
- $this->_expect(334);
- $this->_send(base64_encode(chr(0) . $this->_username . chr(0) . $this->_password));
- $this->_expect(235);
- $this->_auth = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage.php b/airtime_mvc/library/Zend/Mail/Storage.php
deleted file mode 100644
index 771f7ae23..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage.php
+++ /dev/null
@@ -1,39 +0,0 @@
- true,
- 'delete' => false,
- 'create' => false,
- 'top' => false,
- 'fetchPart' => true,
- 'flags' => false);
-
- /**
- * current iteration position
- * @var int
- */
- protected $_iterationPos = 0;
-
- /**
- * maximum iteration position (= message count)
- * @var null|int
- */
- protected $_iterationMax = null;
-
- /**
- * used message class, change it in an extened class to extend the returned message class
- * @var string
- */
- protected $_messageClass = 'Zend_Mail_Message';
-
- /**
- * Getter for has-properties. The standard has properties
- * are: hasFolder, hasUniqueid, hasDelete, hasCreate, hasTop
- *
- * The valid values for the has-properties are:
- * - true if a feature is supported
- * - false if a feature is not supported
- * - null is it's not yet known or it can't be know if a feature is supported
- *
- * @param string $var property name
- * @return bool supported or not
- * @throws Zend_Mail_Storage_Exception
- */
- public function __get($var)
- {
- if (strpos($var, 'has') === 0) {
- $var = strtolower(substr($var, 3));
- return isset($this->_has[$var]) ? $this->_has[$var] : null;
- }
-
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception($var . ' not found');
- }
-
-
- /**
- * Get a full list of features supported by the specific mail lib and the server
- *
- * @return array list of features as array(featurename => true|false[|null])
- */
- public function getCapabilities()
- {
- return $this->_has;
- }
-
-
- /**
- * Count messages messages in current box/folder
- *
- * @return int number of messages
- * @throws Zend_Mail_Storage_Exception
- */
- abstract public function countMessages();
-
-
- /**
- * Get a list of messages with number and size
- *
- * @param int $id number of message
- * @return int|array size of given message of list with all messages as array(num => size)
- */
- abstract public function getSize($id = 0);
-
-
- /**
- * Get a message with headers and body
- *
- * @param $id int number of message
- * @return Zend_Mail_Message
- */
- abstract public function getMessage($id);
-
-
- /**
- * Get raw header of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage header
- * @param int $topLines include this many lines with header (after an empty line)
- * @return string raw header
- */
- abstract public function getRawHeader($id, $part = null, $topLines = 0);
-
- /**
- * Get raw content of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage content
- * @return string raw content
- */
- abstract public function getRawContent($id, $part = null);
-
- /**
- * Create instance with parameters
- *
- * @param array $params mail reader specific parameters
- * @throws Zend_Mail_Storage_Exception
- */
- abstract public function __construct($params);
-
-
- /**
- * Destructor calls close() and therefore closes the resource.
- */
- public function __destruct()
- {
- $this->close();
- }
-
-
- /**
- * Close resource for mail lib. If you need to control, when the resource
- * is closed. Otherwise the destructor would call this.
- *
- * @return null
- */
- abstract public function close();
-
-
- /**
- * Keep the resource alive.
- *
- * @return null
- */
- abstract public function noop();
-
- /**
- * delete a message from current box/folder
- *
- * @return null
- */
- abstract public function removeMessage($id);
-
- /**
- * get unique id for one or all messages
- *
- * if storage does not support unique ids it's the same as the message number
- *
- * @param int|null $id message number
- * @return array|string message number for given message or all messages as array
- * @throws Zend_Mail_Storage_Exception
- */
- abstract public function getUniqueId($id = null);
-
- /**
- * get a message number from a unique id
- *
- * I.e. if you have a webmailer that supports deleting messages you should use unique ids
- * as parameter and use this method to translate it to message number right before calling removeMessage()
- *
- * @param string $id unique id
- * @return int message number
- * @throws Zend_Mail_Storage_Exception
- */
- abstract public function getNumberByUniqueId($id);
-
- // interface implementations follows
-
- /**
- * Countable::count()
- *
- * @return int
- */
- public function count()
- {
- return $this->countMessages();
- }
-
-
- /**
- * ArrayAccess::offsetExists()
- *
- * @param int $id
- * @return boolean
- */
- public function offsetExists($id)
- {
- try {
- if ($this->getMessage($id)) {
- return true;
- }
- } catch(Zend_Mail_Storage_Exception $e) {}
-
- return false;
- }
-
-
- /**
- * ArrayAccess::offsetGet()
- *
- * @param int $id
- * @return Zend_Mail_Message message object
- */
- public function offsetGet($id)
- {
- return $this->getMessage($id);
- }
-
-
- /**
- * ArrayAccess::offsetSet()
- *
- * @param id $id
- * @param mixed $value
- * @throws Zend_Mail_Storage_Exception
- * @return void
- */
- public function offsetSet($id, $value)
- {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot write mail messages via array access');
- }
-
-
- /**
- * ArrayAccess::offsetUnset()
- *
- * @param int $id
- * @return boolean success
- */
- public function offsetUnset($id)
- {
- return $this->removeMessage($id);
- }
-
-
- /**
- * Iterator::rewind()
- *
- * Rewind always gets the new count from the storage. Thus if you use
- * the interfaces and your scripts take long you should use reset()
- * from time to time.
- *
- * @return void
- */
- public function rewind()
- {
- $this->_iterationMax = $this->countMessages();
- $this->_iterationPos = 1;
- }
-
-
- /**
- * Iterator::current()
- *
- * @return Zend_Mail_Message current message
- */
- public function current()
- {
- return $this->getMessage($this->_iterationPos);
- }
-
-
- /**
- * Iterator::key()
- *
- * @return int id of current position
- */
- public function key()
- {
- return $this->_iterationPos;
- }
-
-
- /**
- * Iterator::next()
- *
- * @return void
- */
- public function next()
- {
- ++$this->_iterationPos;
- }
-
-
- /**
- * Iterator::valid()
- *
- * @return boolean
- */
- public function valid()
- {
- if ($this->_iterationMax === null) {
- $this->_iterationMax = $this->countMessages();
- }
- return $this->_iterationPos && $this->_iterationPos <= $this->_iterationMax;
- }
-
-
- /**
- * SeekableIterator::seek()
- *
- * @param int $pos
- * @return void
- * @throws OutOfBoundsException
- */
- public function seek($pos)
- {
- if ($this->_iterationMax === null) {
- $this->_iterationMax = $this->countMessages();
- }
-
- if ($pos > $this->_iterationMax) {
- throw new OutOfBoundsException('this position does not exist');
- }
- $this->_iterationPos = $pos;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Exception.php b/airtime_mvc/library/Zend/Mail/Storage/Exception.php
deleted file mode 100644
index 96219196c..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
- Zend_Mail_Storage_Folder folder)
- * @var array
- */
- protected $_folders;
-
- /**
- * local name (name of folder in parent folder)
- * @var string
- */
- protected $_localName;
-
- /**
- * global name (absolute name of folder)
- * @var string
- */
- protected $_globalName;
-
- /**
- * folder is selectable if folder is able to hold messages, else it's just a parent folder
- * @var bool
- */
- protected $_selectable = true;
-
- /**
- * create a new mail folder instance
- *
- * @param string $localName name of folder in current subdirectory
- * @param string $globalName absolute name of folder
- * @param bool $selectable if true folder holds messages, if false it's just a parent for subfolders
- * @param array $folders init with given instances of Zend_Mail_Storage_Folder as subfolders
- */
- public function __construct($localName, $globalName = '', $selectable = true, array $folders = array())
- {
- $this->_localName = $localName;
- $this->_globalName = $globalName ? $globalName : $localName;
- $this->_selectable = $selectable;
- $this->_folders = $folders;
- }
-
- /**
- * implements RecursiveIterator::hasChildren()
- *
- * @return bool current element has children
- */
- public function hasChildren()
- {
- $current = $this->current();
- return $current && $current instanceof Zend_Mail_Storage_Folder && !$current->isLeaf();
- }
-
- /**
- * implements RecursiveIterator::getChildren()
- *
- * @return Zend_Mail_Storage_Folder same as self::current()
- */
- public function getChildren()
- {
- return $this->current();
- }
-
- /**
- * implements Iterator::valid()
- *
- * @return bool check if there's a current element
- */
- public function valid()
- {
- return key($this->_folders) !== null;
- }
-
- /**
- * implements Iterator::next()
- *
- * @return null
- */
- public function next()
- {
- next($this->_folders);
- }
-
- /**
- * implements Iterator::key()
- *
- * @return string key/local name of current element
- */
- public function key()
- {
- return key($this->_folders);
- }
-
- /**
- * implements Iterator::current()
- *
- * @return Zend_Mail_Storage_Folder current folder
- */
- public function current()
- {
- return current($this->_folders);
- }
-
- /**
- * implements Iterator::rewind()
- *
- * @return null
- */
- public function rewind()
- {
- reset($this->_folders);
- }
-
- /**
- * get subfolder named $name
- *
- * @param string $name wanted subfolder
- * @return Zend_Mail_Storage_Folder folder named $folder
- * @throws Zend_Mail_Storage_Exception
- */
- public function __get($name)
- {
- if (!isset($this->_folders[$name])) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("no subfolder named $name");
- }
-
- return $this->_folders[$name];
- }
-
- /**
- * add or replace subfolder named $name
- *
- * @param string $name local name of subfolder
- * @param Zend_Mail_Storage_Folder $folder instance for new subfolder
- * @return null
- */
- public function __set($name, Zend_Mail_Storage_Folder $folder)
- {
- $this->_folders[$name] = $folder;
- }
-
- /**
- * remove subfolder named $name
- *
- * @param string $name local name of subfolder
- * @return null
- */
- public function __unset($name)
- {
- unset($this->_folders[$name]);
- }
-
- /**
- * magic method for easy output of global name
- *
- * @return string global name of folder
- */
- public function __toString()
- {
- return (string)$this->getGlobalName();
- }
-
- /**
- * get local name
- *
- * @return string local name
- */
- public function getLocalName()
- {
- return $this->_localName;
- }
-
- /**
- * get global name
- *
- * @return string global name
- */
- public function getGlobalName()
- {
- return $this->_globalName;
- }
-
- /**
- * is this folder selectable?
- *
- * @return bool selectable
- */
- public function isSelectable()
- {
- return $this->_selectable;
- }
-
- /**
- * check if folder has no subfolder
- *
- * @return bool true if no subfolders
- */
- public function isLeaf()
- {
- return empty($this->_folders);
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Folder/Interface.php b/airtime_mvc/library/Zend/Mail/Storage/Folder/Interface.php
deleted file mode 100644
index b5c89ac91..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Folder/Interface.php
+++ /dev/null
@@ -1,60 +0,0 @@
-dirname) || !is_dir($params->dirname)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('no valid dirname given in params');
- }
-
- $this->_rootdir = rtrim($params->dirname, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
-
- $this->_delim = isset($params->delim) ? $params->delim : '.';
-
- $this->_buildFolderTree();
- $this->selectFolder(!empty($params->folder) ? $params->folder : 'INBOX');
- $this->_has['top'] = true;
- $this->_has['flags'] = true;
- }
-
- /**
- * find all subfolders and mbox files for folder structure
- *
- * Result is save in Zend_Mail_Storage_Folder instances with the root in $this->_rootFolder.
- * $parentFolder and $parentGlobalName are only used internally for recursion.
- *
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _buildFolderTree()
- {
- $this->_rootFolder = new Zend_Mail_Storage_Folder('/', '/', false);
- $this->_rootFolder->INBOX = new Zend_Mail_Storage_Folder('INBOX', 'INBOX', true);
-
- $dh = @opendir($this->_rootdir);
- if (!$dh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("can't read folders in maildir");
- }
- $dirs = array();
- while (($entry = readdir($dh)) !== false) {
- // maildir++ defines folders must start with .
- if ($entry[0] != '.' || $entry == '.' || $entry == '..') {
- continue;
- }
- if ($this->_isMaildir($this->_rootdir . $entry)) {
- $dirs[] = $entry;
- }
- }
- closedir($dh);
-
- sort($dirs);
- $stack = array(null);
- $folderStack = array(null);
- $parentFolder = $this->_rootFolder;
- $parent = '.';
-
- foreach ($dirs as $dir) {
- do {
- if (strpos($dir, $parent) === 0) {
- $local = substr($dir, strlen($parent));
- if (strpos($local, $this->_delim) !== false) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('error while reading maildir');
- }
- array_push($stack, $parent);
- $parent = $dir . $this->_delim;
- $folder = new Zend_Mail_Storage_Folder($local, substr($dir, 1), true);
- $parentFolder->$local = $folder;
- array_push($folderStack, $parentFolder);
- $parentFolder = $folder;
- break;
- } else if ($stack) {
- $parent = array_pop($stack);
- $parentFolder = array_pop($folderStack);
- }
- } while ($stack);
- if (!$stack) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('error while reading maildir');
- }
- }
- }
-
- /**
- * get root folder or given folder
- *
- * @param string $rootFolder get folder structure for given folder, else root
- * @return Zend_Mail_Storage_Folder root or wanted folder
- * @throws Zend_Mail_Storage_Exception
- */
- public function getFolders($rootFolder = null)
- {
- if (!$rootFolder || $rootFolder == 'INBOX') {
- return $this->_rootFolder;
- }
-
- // rootdir is same as INBOX in maildir
- if (strpos($rootFolder, 'INBOX' . $this->_delim) === 0) {
- $rootFolder = substr($rootFolder, 6);
- }
- $currentFolder = $this->_rootFolder;
- $subname = trim($rootFolder, $this->_delim);
- while ($currentFolder) {
- @list($entry, $subname) = @explode($this->_delim, $subname, 2);
- $currentFolder = $currentFolder->$entry;
- if (!$subname) {
- break;
- }
- }
-
- if ($currentFolder->getGlobalName() != rtrim($rootFolder, $this->_delim)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("folder $rootFolder not found");
- }
- return $currentFolder;
- }
-
- /**
- * select given folder
- *
- * folder must be selectable!
- *
- * @param Zend_Mail_Storage_Folder|string $globalName global name of folder or instance for subfolder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function selectFolder($globalName)
- {
- $this->_currentFolder = (string)$globalName;
-
- // getting folder from folder tree for validation
- $folder = $this->getFolders($this->_currentFolder);
-
- try {
- $this->_openMaildir($this->_rootdir . '.' . $folder->getGlobalName());
- } catch(Zend_Mail_Storage_Exception $e) {
- // check what went wrong
- if (!$folder->isSelectable()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("{$this->_currentFolder} is not selectable", 0, $e);
- }
- // seems like file has vanished; rebuilding folder tree - but it's still an exception
- $this->_buildFolderTree($this->_rootdir);
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('seems like the maildir has vanished, I\'ve rebuild the ' .
- 'folder tree, search for an other folder and try again', 0, $e);
- }
- }
-
- /**
- * get Zend_Mail_Storage_Folder instance for current folder
- *
- * @return Zend_Mail_Storage_Folder instance of current folder
- * @throws Zend_Mail_Storage_Exception
- */
- public function getCurrentFolder()
- {
- return $this->_currentFolder;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Folder/Mbox.php b/airtime_mvc/library/Zend/Mail/Storage/Folder/Mbox.php
deleted file mode 100644
index 0c5cfd88e..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Folder/Mbox.php
+++ /dev/null
@@ -1,264 +0,0 @@
-filename)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('use Zend_Mail_Storage_Mbox for a single file');
- }
-
- if (!isset($params->dirname) || !is_dir($params->dirname)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('no valid dirname given in params');
- }
-
- $this->_rootdir = rtrim($params->dirname, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
-
- $this->_buildFolderTree($this->_rootdir);
- $this->selectFolder(!empty($params->folder) ? $params->folder : 'INBOX');
- $this->_has['top'] = true;
- $this->_has['uniqueid'] = false;
- }
-
- /**
- * find all subfolders and mbox files for folder structure
- *
- * Result is save in Zend_Mail_Storage_Folder instances with the root in $this->_rootFolder.
- * $parentFolder and $parentGlobalName are only used internally for recursion.
- *
- * @param string $currentDir call with root dir, also used for recursion.
- * @param Zend_Mail_Storage_Folder|null $parentFolder used for recursion
- * @param string $parentGlobalName used for rescursion
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _buildFolderTree($currentDir, $parentFolder = null, $parentGlobalName = '')
- {
- if (!$parentFolder) {
- $this->_rootFolder = new Zend_Mail_Storage_Folder('/', '/', false);
- $parentFolder = $this->_rootFolder;
- }
-
- $dh = @opendir($currentDir);
- if (!$dh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("can't read dir $currentDir");
- }
- while (($entry = readdir($dh)) !== false) {
- // ignore hidden files for mbox
- if ($entry[0] == '.') {
- continue;
- }
- $absoluteEntry = $currentDir . $entry;
- $globalName = $parentGlobalName . DIRECTORY_SEPARATOR . $entry;
- if (is_file($absoluteEntry) && $this->_isMboxFile($absoluteEntry)) {
- $parentFolder->$entry = new Zend_Mail_Storage_Folder($entry, $globalName);
- continue;
- }
- if (!is_dir($absoluteEntry) /* || $entry == '.' || $entry == '..' */) {
- continue;
- }
- $folder = new Zend_Mail_Storage_Folder($entry, $globalName, false);
- $parentFolder->$entry = $folder;
- $this->_buildFolderTree($absoluteEntry . DIRECTORY_SEPARATOR, $folder, $globalName);
- }
-
- closedir($dh);
- }
-
- /**
- * get root folder or given folder
- *
- * @param string $rootFolder get folder structure for given folder, else root
- * @return Zend_Mail_Storage_Folder root or wanted folder
- * @throws Zend_Mail_Storage_Exception
- */
- public function getFolders($rootFolder = null)
- {
- if (!$rootFolder) {
- return $this->_rootFolder;
- }
-
- $currentFolder = $this->_rootFolder;
- $subname = trim($rootFolder, DIRECTORY_SEPARATOR);
- while ($currentFolder) {
- @list($entry, $subname) = @explode(DIRECTORY_SEPARATOR, $subname, 2);
- $currentFolder = $currentFolder->$entry;
- if (!$subname) {
- break;
- }
- }
-
- if ($currentFolder->getGlobalName() != DIRECTORY_SEPARATOR . trim($rootFolder, DIRECTORY_SEPARATOR)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("folder $rootFolder not found");
- }
- return $currentFolder;
- }
-
- /**
- * select given folder
- *
- * folder must be selectable!
- *
- * @param Zend_Mail_Storage_Folder|string $globalName global name of folder or instance for subfolder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function selectFolder($globalName)
- {
- $this->_currentFolder = (string)$globalName;
-
- // getting folder from folder tree for validation
- $folder = $this->getFolders($this->_currentFolder);
-
- try {
- $this->_openMboxFile($this->_rootdir . $folder->getGlobalName());
- } catch(Zend_Mail_Storage_Exception $e) {
- // check what went wrong
- if (!$folder->isSelectable()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("{$this->_currentFolder} is not selectable", 0, $e);
- }
- // seems like file has vanished; rebuilding folder tree - but it's still an exception
- $this->_buildFolderTree($this->_rootdir);
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('seems like the mbox file has vanished, I\'ve rebuild the ' .
- 'folder tree, search for an other folder and try again', 0, $e);
- }
- }
-
- /**
- * get Zend_Mail_Storage_Folder instance for current folder
- *
- * @return Zend_Mail_Storage_Folder instance of current folder
- * @throws Zend_Mail_Storage_Exception
- */
- public function getCurrentFolder()
- {
- return $this->_currentFolder;
- }
-
- /**
- * magic method for serialize()
- *
- * with this method you can cache the mbox class
- *
- * @return array name of variables
- */
- public function __sleep()
- {
- return array_merge(parent::__sleep(), array('_currentFolder', '_rootFolder', '_rootdir'));
- }
-
- /**
- * magic method for unserialize()
- *
- * with this method you can cache the mbox class
- *
- * @return null
- */
- public function __wakeup()
- {
- // if cache is stall selectFolder() rebuilds the tree on error
- parent::__wakeup();
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Imap.php b/airtime_mvc/library/Zend/Mail/Storage/Imap.php
deleted file mode 100644
index 0910e6fe6..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Imap.php
+++ /dev/null
@@ -1,644 +0,0 @@
- Zend_Mail_Storage::FLAG_PASSED,
- '\Answered' => Zend_Mail_Storage::FLAG_ANSWERED,
- '\Seen' => Zend_Mail_Storage::FLAG_SEEN,
- '\Deleted' => Zend_Mail_Storage::FLAG_DELETED,
- '\Draft' => Zend_Mail_Storage::FLAG_DRAFT,
- '\Flagged' => Zend_Mail_Storage::FLAG_FLAGGED);
-
- /**
- * map flags to search criterias
- * @var array
- */
- protected static $_searchFlags = array('\Recent' => 'RECENT',
- '\Answered' => 'ANSWERED',
- '\Seen' => 'SEEN',
- '\Deleted' => 'DELETED',
- '\Draft' => 'DRAFT',
- '\Flagged' => 'FLAGGED');
-
- /**
- * Count messages all messages in current box
- *
- * @return int number of messages
- * @throws Zend_Mail_Storage_Exception
- * @throws Zend_Mail_Protocol_Exception
- */
- public function countMessages($flags = null)
- {
- if (!$this->_currentFolder) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('No selected folder to count');
- }
-
- if ($flags === null) {
- return count($this->_protocol->search(array('ALL')));
- }
-
- $params = array();
- foreach ((array)$flags as $flag) {
- if (isset(self::$_searchFlags[$flag])) {
- $params[] = self::$_searchFlags[$flag];
- } else {
- $params[] = 'KEYWORD';
- $params[] = $this->_protocol->escapeString($flag);
- }
- }
- return count($this->_protocol->search($params));
- }
-
- /**
- * get a list of messages with number and size
- *
- * @param int $id number of message
- * @return int|array size of given message of list with all messages as array(num => size)
- * @throws Zend_Mail_Protocol_Exception
- */
- public function getSize($id = 0)
- {
- if ($id) {
- return $this->_protocol->fetch('RFC822.SIZE', $id);
- }
- return $this->_protocol->fetch('RFC822.SIZE', 1, INF);
- }
-
- /**
- * Fetch a message
- *
- * @param int $id number of message
- * @return Zend_Mail_Message
- * @throws Zend_Mail_Protocol_Exception
- */
- public function getMessage($id)
- {
- $data = $this->_protocol->fetch(array('FLAGS', 'RFC822.HEADER'), $id);
- $header = $data['RFC822.HEADER'];
-
- $flags = array();
- foreach ($data['FLAGS'] as $flag) {
- $flags[] = isset(self::$_knownFlags[$flag]) ? self::$_knownFlags[$flag] : $flag;
- }
-
- return new $this->_messageClass(array('handler' => $this, 'id' => $id, 'headers' => $header, 'flags' => $flags));
- }
-
- /*
- * Get raw header of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage header
- * @param int $topLines include this many lines with header (after an empty line)
- * @param int $topLines include this many lines with header (after an empty line)
- * @return string raw header
- * @throws Zend_Mail_Protocol_Exception
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawHeader($id, $part = null, $topLines = 0)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
-
- // TODO: toplines
- return $this->_protocol->fetch('RFC822.HEADER', $id);
- }
-
- /*
- * Get raw content of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage content
- * @return string raw content
- * @throws Zend_Mail_Protocol_Exception
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawContent($id, $part = null)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
-
- return $this->_protocol->fetch('RFC822.TEXT', $id);
- }
-
- /**
- * create instance with parameters
- * Supported paramters are
- * - user username
- * - host hostname or ip address of IMAP server [optional, default = 'localhost']
- * - password password for user 'username' [optional, default = '']
- * - port port for IMAP server [optional, default = 110]
- * - ssl 'SSL' or 'TLS' for secure sockets
- * - folder select this folder [optional, default = 'INBOX']
- *
- * @param array $params mail reader specific parameters
- * @throws Zend_Mail_Storage_Exception
- * @throws Zend_Mail_Protocol_Exception
- */
- public function __construct($params)
- {
- if (is_array($params)) {
- $params = (object)$params;
- }
-
- $this->_has['flags'] = true;
-
- if ($params instanceof Zend_Mail_Protocol_Imap) {
- $this->_protocol = $params;
- try {
- $this->selectFolder('INBOX');
- } catch(Zend_Mail_Storage_Exception $e) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot select INBOX, is this a valid transport?', 0, $e);
- }
- return;
- }
-
- if (!isset($params->user)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('need at least user in params');
- }
-
- $host = isset($params->host) ? $params->host : 'localhost';
- $password = isset($params->password) ? $params->password : '';
- $port = isset($params->port) ? $params->port : null;
- $ssl = isset($params->ssl) ? $params->ssl : false;
-
- $this->_protocol = new Zend_Mail_Protocol_Imap();
- $this->_protocol->connect($host, $port, $ssl);
- if (!$this->_protocol->login($params->user, $password)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot login, user or password wrong');
- }
- $this->selectFolder(isset($params->folder) ? $params->folder : 'INBOX');
- }
-
- /**
- * Close resource for mail lib. If you need to control, when the resource
- * is closed. Otherwise the destructor would call this.
- *
- * @return null
- */
- public function close()
- {
- $this->_currentFolder = '';
- $this->_protocol->logout();
- }
-
- /**
- * Keep the server busy.
- *
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function noop()
- {
- if (!$this->_protocol->noop()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('could not do nothing');
- }
- }
-
- /**
- * Remove a message from server. If you're doing that from a web enviroment
- * you should be careful and use a uniqueid as parameter if possible to
- * identify the message.
- *
- * @param int $id number of message
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function removeMessage($id)
- {
- if (!$this->_protocol->store(array(Zend_Mail_Storage::FLAG_DELETED), $id, null, '+')) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot set deleted flag');
- }
- // TODO: expunge here or at close? we can handle an error here better and are more fail safe
- if (!$this->_protocol->expunge()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('message marked as deleted, but could not expunge');
- }
- }
-
- /**
- * get unique id for one or all messages
- *
- * if storage does not support unique ids it's the same as the message number
- *
- * @param int|null $id message number
- * @return array|string message number for given message or all messages as array
- * @throws Zend_Mail_Storage_Exception
- */
- public function getUniqueId($id = null)
- {
- if ($id) {
- return $this->_protocol->fetch('UID', $id);
- }
-
- return $this->_protocol->fetch('UID', 1, INF);
- }
-
- /**
- * get a message number from a unique id
- *
- * I.e. if you have a webmailer that supports deleting messages you should use unique ids
- * as parameter and use this method to translate it to message number right before calling removeMessage()
- *
- * @param string $id unique id
- * @return int message number
- * @throws Zend_Mail_Storage_Exception
- */
- public function getNumberByUniqueId($id)
- {
- // TODO: use search to find number directly
- $ids = $this->getUniqueId();
- foreach ($ids as $k => $v) {
- if ($v == $id) {
- return $k;
- }
- }
-
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('unique id not found');
- }
-
-
- /**
- * get root folder or given folder
- *
- * @param string $rootFolder get folder structure for given folder, else root
- * @return Zend_Mail_Storage_Folder root or wanted folder
- * @throws Zend_Mail_Storage_Exception
- * @throws Zend_Mail_Protocol_Exception
- */
- public function getFolders($rootFolder = null)
- {
- $folders = $this->_protocol->listMailbox((string)$rootFolder);
- if (!$folders) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('folder not found');
- }
-
- ksort($folders, SORT_STRING);
- $root = new Zend_Mail_Storage_Folder('/', '/', false);
- $stack = array(null);
- $folderStack = array(null);
- $parentFolder = $root;
- $parent = '';
-
- foreach ($folders as $globalName => $data) {
- do {
- if (!$parent || strpos($globalName, $parent) === 0) {
- $pos = strrpos($globalName, $data['delim']);
- if ($pos === false) {
- $localName = $globalName;
- } else {
- $localName = substr($globalName, $pos + 1);
- }
- $selectable = !$data['flags'] || !in_array('\\Noselect', $data['flags']);
-
- array_push($stack, $parent);
- $parent = $globalName . $data['delim'];
- $folder = new Zend_Mail_Storage_Folder($localName, $globalName, $selectable);
- $parentFolder->$localName = $folder;
- array_push($folderStack, $parentFolder);
- $parentFolder = $folder;
- break;
- } else if ($stack) {
- $parent = array_pop($stack);
- $parentFolder = array_pop($folderStack);
- }
- } while ($stack);
- if (!$stack) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('error while constructing folder tree');
- }
- }
-
- return $root;
- }
-
- /**
- * select given folder
- *
- * folder must be selectable!
- *
- * @param Zend_Mail_Storage_Folder|string $globalName global name of folder or instance for subfolder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- * @throws Zend_Mail_Protocol_Exception
- */
- public function selectFolder($globalName)
- {
- $this->_currentFolder = $globalName;
- if (!$this->_protocol->select($this->_currentFolder)) {
- $this->_currentFolder = '';
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot change folder, maybe it does not exist');
- }
- }
-
-
- /**
- * get Zend_Mail_Storage_Folder instance for current folder
- *
- * @return Zend_Mail_Storage_Folder instance of current folder
- * @throws Zend_Mail_Storage_Exception
- */
- public function getCurrentFolder()
- {
- return $this->_currentFolder;
- }
-
- /**
- * create a new folder
- *
- * This method also creates parent folders if necessary. Some mail storages may restrict, which folder
- * may be used as parent or which chars may be used in the folder name
- *
- * @param string $name global name of folder, local name if $parentFolder is set
- * @param string|Zend_Mail_Storage_Folder $parentFolder parent folder for new folder, else root folder is parent
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function createFolder($name, $parentFolder = null)
- {
- // TODO: we assume / as the hierarchy delim - need to get that from the folder class!
- if ($parentFolder instanceof Zend_Mail_Storage_Folder) {
- $folder = $parentFolder->getGlobalName() . '/' . $name;
- } else if ($parentFolder != null) {
- $folder = $parentFolder . '/' . $name;
- } else {
- $folder = $name;
- }
-
- if (!$this->_protocol->create($folder)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot create folder');
- }
- }
-
- /**
- * remove a folder
- *
- * @param string|Zend_Mail_Storage_Folder $name name or instance of folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function removeFolder($name)
- {
- if ($name instanceof Zend_Mail_Storage_Folder) {
- $name = $name->getGlobalName();
- }
-
- if (!$this->_protocol->delete($name)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot delete folder');
- }
- }
-
- /**
- * rename and/or move folder
- *
- * The new name has the same restrictions as in createFolder()
- *
- * @param string|Zend_Mail_Storage_Folder $oldName name or instance of folder
- * @param string $newName new global name of folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function renameFolder($oldName, $newName)
- {
- if ($oldName instanceof Zend_Mail_Storage_Folder) {
- $oldName = $oldName->getGlobalName();
- }
-
- if (!$this->_protocol->rename($oldName, $newName)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot rename folder');
- }
- }
-
- /**
- * append a new message to mail storage
- *
- * @param string $message message as string or instance of message class
- * @param null|string|Zend_Mail_Storage_Folder $folder folder for new message, else current folder is taken
- * @param null|array $flags set flags for new message, else a default set is used
- * @throws Zend_Mail_Storage_Exception
- */
- // not yet * @param string|Zend_Mail_Message|Zend_Mime_Message $message message as string or instance of message class
- public function appendMessage($message, $folder = null, $flags = null)
- {
- if ($folder === null) {
- $folder = $this->_currentFolder;
- }
-
- if ($flags === null) {
- $flags = array(Zend_Mail_Storage::FLAG_SEEN);
- }
-
- // TODO: handle class instances for $message
- if (!$this->_protocol->append($folder, $message, $flags)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot create message, please check if the folder exists and your flags');
- }
- }
-
- /**
- * copy an existing message
- *
- * @param int $id number of message
- * @param string|Zend_Mail_Storage_Folder $folder name or instance of targer folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function copyMessage($id, $folder)
- {
- if (!$this->_protocol->copy($folder, $id)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot copy message, does the folder exist?');
- }
- }
-
- /**
- * move an existing message
- *
- * NOTE: imap has no native move command, thus it's emulated with copy and delete
- *
- * @param int $id number of message
- * @param string|Zend_Mail_Storage_Folder $folder name or instance of targer folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function moveMessage($id, $folder) {
- $this->copyMessage($id, $folder);
- $this->removeMessage($id);
- }
-
- /**
- * set flags for message
- *
- * NOTE: this method can't set the recent flag.
- *
- * @param int $id number of message
- * @param array $flags new flags for message
- * @throws Zend_Mail_Storage_Exception
- */
- public function setFlags($id, $flags)
- {
- if (!$this->_protocol->store($flags, $id)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot set flags, have you tried to set the recent flag or special chars?');
- }
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Maildir.php b/airtime_mvc/library/Zend/Mail/Storage/Maildir.php
deleted file mode 100644
index 2bb4b00e9..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Maildir.php
+++ /dev/null
@@ -1,475 +0,0 @@
- Zend_Mail_Storage::FLAG_DRAFT,
- 'F' => Zend_Mail_Storage::FLAG_FLAGGED,
- 'P' => Zend_Mail_Storage::FLAG_PASSED,
- 'R' => Zend_Mail_Storage::FLAG_ANSWERED,
- 'S' => Zend_Mail_Storage::FLAG_SEEN,
- 'T' => Zend_Mail_Storage::FLAG_DELETED);
-
- // TODO: getFlags($id) for fast access if headers are not needed (i.e. just setting flags)?
-
- /**
- * Count messages all messages in current box
- *
- * @return int number of messages
- * @throws Zend_Mail_Storage_Exception
- */
- public function countMessages($flags = null)
- {
- if ($flags === null) {
- return count($this->_files);
- }
-
- $count = 0;
- if (!is_array($flags)) {
- foreach ($this->_files as $file) {
- if (isset($file['flaglookup'][$flags])) {
- ++$count;
- }
- }
- return $count;
- }
-
- $flags = array_flip($flags);
- foreach ($this->_files as $file) {
- foreach ($flags as $flag => $v) {
- if (!isset($file['flaglookup'][$flag])) {
- continue 2;
- }
- }
- ++$count;
- }
- return $count;
- }
-
- /**
- * Get one or all fields from file structure. Also checks if message is valid
- *
- * @param int $id message number
- * @param string|null $field wanted field
- * @return string|array wanted field or all fields as array
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _getFileData($id, $field = null)
- {
- if (!isset($this->_files[$id - 1])) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('id does not exist');
- }
-
- if (!$field) {
- return $this->_files[$id - 1];
- }
-
- if (!isset($this->_files[$id - 1][$field])) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('field does not exist');
- }
-
- return $this->_files[$id - 1][$field];
- }
-
- /**
- * Get a list of messages with number and size
- *
- * @param int|null $id number of message or null for all messages
- * @return int|array size of given message of list with all messages as array(num => size)
- * @throws Zend_Mail_Storage_Exception
- */
- public function getSize($id = null)
- {
- if ($id !== null) {
- $filedata = $this->_getFileData($id);
- return isset($filedata['size']) ? $filedata['size'] : filesize($filedata['filename']);
- }
-
- $result = array();
- foreach ($this->_files as $num => $data) {
- $result[$num + 1] = isset($data['size']) ? $data['size'] : filesize($data['filename']);
- }
-
- return $result;
- }
-
-
-
- /**
- * Fetch a message
- *
- * @param int $id number of message
- * @return Zend_Mail_Message_File
- * @throws Zend_Mail_Storage_Exception
- */
- public function getMessage($id)
- {
- // TODO that's ugly, would be better to let the message class decide
- if (strtolower($this->_messageClass) == 'zend_mail_message_file' || is_subclass_of($this->_messageClass, 'zend_mail_message_file')) {
- return new $this->_messageClass(array('file' => $this->_getFileData($id, 'filename'),
- 'flags' => $this->_getFileData($id, 'flags')));
- }
-
- return new $this->_messageClass(array('handler' => $this, 'id' => $id, 'headers' => $this->getRawHeader($id),
- 'flags' => $this->_getFileData($id, 'flags')));
- }
-
- /*
- * Get raw header of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage header
- * @param int $topLines include this many lines with header (after an empty line)
- * @return string raw header
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawHeader($id, $part = null, $topLines = 0)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
-
- $fh = fopen($this->_getFileData($id, 'filename'), 'r');
-
- $content = '';
- while (!feof($fh)) {
- $line = fgets($fh);
- if (!trim($line)) {
- break;
- }
- $content .= $line;
- }
-
- fclose($fh);
- return $content;
- }
-
- /*
- * Get raw content of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage content
- * @return string raw content
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawContent($id, $part = null)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
-
- $fh = fopen($this->_getFileData($id, 'filename'), 'r');
-
- while (!feof($fh)) {
- $line = fgets($fh);
- if (!trim($line)) {
- break;
- }
- }
-
- $content = stream_get_contents($fh);
- fclose($fh);
- return $content;
- }
-
- /**
- * Create instance with parameters
- * Supported parameters are:
- * - dirname dirname of mbox file
- *
- * @param $params array mail reader specific parameters
- * @throws Zend_Mail_Storage_Exception
- */
- public function __construct($params)
- {
- if (is_array($params)) {
- $params = (object)$params;
- }
-
- if (!isset($params->dirname) || !is_dir($params->dirname)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('no valid dirname given in params');
- }
-
- if (!$this->_isMaildir($params->dirname)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('invalid maildir given');
- }
-
- $this->_has['top'] = true;
- $this->_has['flags'] = true;
- $this->_openMaildir($params->dirname);
- }
-
- /**
- * check if a given dir is a valid maildir
- *
- * @param string $dirname name of dir
- * @return bool dir is valid maildir
- */
- protected function _isMaildir($dirname)
- {
- if (file_exists($dirname . '/new') && !is_dir($dirname . '/new')) {
- return false;
- }
- if (file_exists($dirname . '/tmp') && !is_dir($dirname . '/tmp')) {
- return false;
- }
- return is_dir($dirname . '/cur');
- }
-
- /**
- * open given dir as current maildir
- *
- * @param string $dirname name of maildir
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _openMaildir($dirname)
- {
- if ($this->_files) {
- $this->close();
- }
-
- $dh = @opendir($dirname . '/cur/');
- if (!$dh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot open maildir');
- }
- $this->_getMaildirFiles($dh, $dirname . '/cur/');
- closedir($dh);
-
- $dh = @opendir($dirname . '/new/');
- if ($dh) {
- $this->_getMaildirFiles($dh, $dirname . '/new/', array(Zend_Mail_Storage::FLAG_RECENT));
- closedir($dh);
- } else if (file_exists($dirname . '/new/')) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot read recent mails in maildir');
- }
- }
-
- /**
- * find all files in opened dir handle and add to maildir files
- *
- * @param resource $dh dir handle used for search
- * @param string $dirname dirname of dir in $dh
- * @param array $default_flags default flags for given dir
- * @return null
- */
- protected function _getMaildirFiles($dh, $dirname, $default_flags = array())
- {
- while (($entry = readdir($dh)) !== false) {
- if ($entry[0] == '.' || !is_file($dirname . $entry)) {
- continue;
- }
-
- @list($uniq, $info) = explode(':', $entry, 2);
- @list(,$size) = explode(',', $uniq, 2);
- if ($size && $size[0] == 'S' && $size[1] == '=') {
- $size = substr($size, 2);
- }
- if (!ctype_digit($size)) {
- $size = null;
- }
- @list($version, $flags) = explode(',', $info, 2);
- if ($version != 2) {
- $flags = '';
- }
-
- $named_flags = $default_flags;
- $length = strlen($flags);
- for ($i = 0; $i < $length; ++$i) {
- $flag = $flags[$i];
- $named_flags[$flag] = isset(self::$_knownFlags[$flag]) ? self::$_knownFlags[$flag] : $flag;
- }
-
- $data = array('uniq' => $uniq,
- 'flags' => $named_flags,
- 'flaglookup' => array_flip($named_flags),
- 'filename' => $dirname . $entry);
- if ($size !== null) {
- $data['size'] = (int)$size;
- }
- $this->_files[] = $data;
- }
- }
-
-
- /**
- * Close resource for mail lib. If you need to control, when the resource
- * is closed. Otherwise the destructor would call this.
- *
- * @return void
- */
- public function close()
- {
- $this->_files = array();
- }
-
-
- /**
- * Waste some CPU cycles doing nothing.
- *
- * @return void
- */
- public function noop()
- {
- return true;
- }
-
-
- /**
- * stub for not supported message deletion
- *
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function removeMessage($id)
- {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('maildir is (currently) read-only');
- }
-
- /**
- * get unique id for one or all messages
- *
- * if storage does not support unique ids it's the same as the message number
- *
- * @param int|null $id message number
- * @return array|string message number for given message or all messages as array
- * @throws Zend_Mail_Storage_Exception
- */
- public function getUniqueId($id = null)
- {
- if ($id) {
- return $this->_getFileData($id, 'uniq');
- }
-
- $ids = array();
- foreach ($this->_files as $num => $file) {
- $ids[$num + 1] = $file['uniq'];
- }
- return $ids;
- }
-
- /**
- * get a message number from a unique id
- *
- * I.e. if you have a webmailer that supports deleting messages you should use unique ids
- * as parameter and use this method to translate it to message number right before calling removeMessage()
- *
- * @param string $id unique id
- * @return int message number
- * @throws Zend_Mail_Storage_Exception
- */
- public function getNumberByUniqueId($id)
- {
- foreach ($this->_files as $num => $file) {
- if ($file['uniq'] == $id) {
- return $num + 1;
- }
- }
-
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('unique id not found');
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Mbox.php b/airtime_mvc/library/Zend/Mail/Storage/Mbox.php
deleted file mode 100644
index 3398c31b9..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Mbox.php
+++ /dev/null
@@ -1,447 +0,0 @@
- start, 'seperator' => headersep, 'end' => end)
- * @var array
- */
- protected $_positions;
-
- /**
- * used message class, change it in an extened class to extend the returned message class
- * @var string
- */
- protected $_messageClass = 'Zend_Mail_Message_File';
-
- /**
- * Count messages all messages in current box
- *
- * @return int number of messages
- * @throws Zend_Mail_Storage_Exception
- */
- public function countMessages()
- {
- return count($this->_positions);
- }
-
-
- /**
- * Get a list of messages with number and size
- *
- * @param int|null $id number of message or null for all messages
- * @return int|array size of given message of list with all messages as array(num => size)
- */
- public function getSize($id = 0)
- {
- if ($id) {
- $pos = $this->_positions[$id - 1];
- return $pos['end'] - $pos['start'];
- }
-
- $result = array();
- foreach ($this->_positions as $num => $pos) {
- $result[$num + 1] = $pos['end'] - $pos['start'];
- }
-
- return $result;
- }
-
-
- /**
- * Get positions for mail message or throw exeption if id is invalid
- *
- * @param int $id number of message
- * @return array positions as in _positions
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _getPos($id)
- {
- if (!isset($this->_positions[$id - 1])) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('id does not exist');
- }
-
- return $this->_positions[$id - 1];
- }
-
-
- /**
- * Fetch a message
- *
- * @param int $id number of message
- * @return Zend_Mail_Message_File
- * @throws Zend_Mail_Storage_Exception
- */
- public function getMessage($id)
- {
- // TODO that's ugly, would be better to let the message class decide
- if (strtolower($this->_messageClass) == 'zend_mail_message_file' || is_subclass_of($this->_messageClass, 'zend_mail_message_file')) {
- // TODO top/body lines
- $messagePos = $this->_getPos($id);
- return new $this->_messageClass(array('file' => $this->_fh, 'startPos' => $messagePos['start'],
- 'endPos' => $messagePos['end']));
- }
-
- $bodyLines = 0; // TODO: need a way to change that
-
- $message = $this->getRawHeader($id);
- // file pointer is after headers now
- if ($bodyLines) {
- $message .= "\n";
- while ($bodyLines-- && ftell($this->_fh) < $this->_positions[$id - 1]['end']) {
- $message .= fgets($this->_fh);
- }
- }
-
- return new $this->_messageClass(array('handler' => $this, 'id' => $id, 'headers' => $message));
- }
-
- /*
- * Get raw header of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage header
- * @param int $topLines include this many lines with header (after an empty line)
- * @return string raw header
- * @throws Zend_Mail_Protocol_Exception
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawHeader($id, $part = null, $topLines = 0)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
- $messagePos = $this->_getPos($id);
- // TODO: toplines
- return stream_get_contents($this->_fh, $messagePos['separator'] - $messagePos['start'], $messagePos['start']);
- }
-
- /*
- * Get raw content of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage content
- * @return string raw content
- * @throws Zend_Mail_Protocol_Exception
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawContent($id, $part = null)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
- $messagePos = $this->_getPos($id);
- return stream_get_contents($this->_fh, $messagePos['end'] - $messagePos['separator'], $messagePos['separator']);
- }
-
- /**
- * Create instance with parameters
- * Supported parameters are:
- * - filename filename of mbox file
- *
- * @param $params array mail reader specific parameters
- * @throws Zend_Mail_Storage_Exception
- */
- public function __construct($params)
- {
- if (is_array($params)) {
- $params = (object)$params;
- }
-
- if (!isset($params->filename) /* || Zend_Loader::isReadable($params['filename']) */) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('no valid filename given in params');
- }
-
- $this->_openMboxFile($params->filename);
- $this->_has['top'] = true;
- $this->_has['uniqueid'] = false;
- }
-
- /**
- * check if given file is a mbox file
- *
- * if $file is a resource its file pointer is moved after the first line
- *
- * @param resource|string $file stream resource of name of file
- * @param bool $fileIsString file is string or resource
- * @return bool file is mbox file
- */
- protected function _isMboxFile($file, $fileIsString = true)
- {
- if ($fileIsString) {
- $file = @fopen($file, 'r');
- if (!$file) {
- return false;
- }
- } else {
- fseek($file, 0);
- }
-
- $result = false;
-
- $line = fgets($file);
- if (strpos($line, 'From ') === 0) {
- $result = true;
- }
-
- if ($fileIsString) {
- @fclose($file);
- }
-
- return $result;
- }
-
- /**
- * open given file as current mbox file
- *
- * @param string $filename filename of mbox file
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _openMboxFile($filename)
- {
- if ($this->_fh) {
- $this->close();
- }
-
- $this->_fh = @fopen($filename, 'r');
- if (!$this->_fh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot open mbox file');
- }
- $this->_filename = $filename;
- $this->_filemtime = filemtime($this->_filename);
-
- if (!$this->_isMboxFile($this->_fh, false)) {
- @fclose($this->_fh);
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('file is not a valid mbox format');
- }
-
- $messagePos = array('start' => ftell($this->_fh), 'separator' => 0, 'end' => 0);
- while (($line = fgets($this->_fh)) !== false) {
- if (strpos($line, 'From ') === 0) {
- $messagePos['end'] = ftell($this->_fh) - strlen($line) - 2; // + newline
- if (!$messagePos['separator']) {
- $messagePos['separator'] = $messagePos['end'];
- }
- $this->_positions[] = $messagePos;
- $messagePos = array('start' => ftell($this->_fh), 'separator' => 0, 'end' => 0);
- }
- if (!$messagePos['separator'] && !trim($line)) {
- $messagePos['separator'] = ftell($this->_fh);
- }
- }
-
- $messagePos['end'] = ftell($this->_fh);
- if (!$messagePos['separator']) {
- $messagePos['separator'] = $messagePos['end'];
- }
- $this->_positions[] = $messagePos;
- }
-
- /**
- * Close resource for mail lib. If you need to control, when the resource
- * is closed. Otherwise the destructor would call this.
- *
- * @return void
- */
- public function close()
- {
- @fclose($this->_fh);
- $this->_positions = array();
- }
-
-
- /**
- * Waste some CPU cycles doing nothing.
- *
- * @return void
- */
- public function noop()
- {
- return true;
- }
-
-
- /**
- * stub for not supported message deletion
- *
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function removeMessage($id)
- {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('mbox is read-only');
- }
-
- /**
- * get unique id for one or all messages
- *
- * Mbox does not support unique ids (yet) - it's always the same as the message number.
- * That shouldn't be a problem, because we can't change mbox files. Therefor the message
- * number is save enough.
- *
- * @param int|null $id message number
- * @return array|string message number for given message or all messages as array
- * @throws Zend_Mail_Storage_Exception
- */
- public function getUniqueId($id = null)
- {
- if ($id) {
- // check if id exists
- $this->_getPos($id);
- return $id;
- }
-
- $range = range(1, $this->countMessages());
- return array_combine($range, $range);
- }
-
- /**
- * get a message number from a unique id
- *
- * I.e. if you have a webmailer that supports deleting messages you should use unique ids
- * as parameter and use this method to translate it to message number right before calling removeMessage()
- *
- * @param string $id unique id
- * @return int message number
- * @throws Zend_Mail_Storage_Exception
- */
- public function getNumberByUniqueId($id)
- {
- // check if id exists
- $this->_getPos($id);
- return $id;
- }
-
- /**
- * magic method for serialize()
- *
- * with this method you can cache the mbox class
- *
- * @return array name of variables
- */
- public function __sleep()
- {
- return array('_filename', '_positions', '_filemtime');
- }
-
- /**
- * magic method for unserialize()
- *
- * with this method you can cache the mbox class
- * for cache validation the mtime of the mbox file is used
- *
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function __wakeup()
- {
- if ($this->_filemtime != @filemtime($this->_filename)) {
- $this->close();
- $this->_openMboxFile($this->_filename);
- } else {
- $this->_fh = @fopen($this->_filename, 'r');
- if (!$this->_fh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot open mbox file');
- }
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Pop3.php b/airtime_mvc/library/Zend/Mail/Storage/Pop3.php
deleted file mode 100644
index 78d8dea30..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Pop3.php
+++ /dev/null
@@ -1,328 +0,0 @@
-_protocol->status($count, $null);
- return (int)$count;
- }
-
- /**
- * get a list of messages with number and size
- *
- * @param int $id number of message
- * @return int|array size of given message of list with all messages as array(num => size)
- * @throws Zend_Mail_Protocol_Exception
- */
- public function getSize($id = 0)
- {
- $id = $id ? $id : null;
- return $this->_protocol->getList($id);
- }
-
- /**
- * Fetch a message
- *
- * @param int $id number of message
- * @return Zend_Mail_Message
- * @throws Zend_Mail_Protocol_Exception
- */
- public function getMessage($id)
- {
- $bodyLines = 0;
- $message = $this->_protocol->top($id, $bodyLines, true);
-
- return new $this->_messageClass(array('handler' => $this, 'id' => $id, 'headers' => $message,
- 'noToplines' => $bodyLines < 1));
- }
-
- /*
- * Get raw header of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage header
- * @param int $topLines include this many lines with header (after an empty line)
- * @return string raw header
- * @throws Zend_Mail_Protocol_Exception
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawHeader($id, $part = null, $topLines = 0)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
-
- return $this->_protocol->top($id, 0, true);
- }
-
- /*
- * Get raw content of message or part
- *
- * @param int $id number of message
- * @param null|array|string $part path to part or null for messsage content
- * @return string raw content
- * @throws Zend_Mail_Protocol_Exception
- * @throws Zend_Mail_Storage_Exception
- */
- public function getRawContent($id, $part = null)
- {
- if ($part !== null) {
- // TODO: implement
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('not implemented');
- }
-
- $content = $this->_protocol->retrieve($id);
- // TODO: find a way to avoid decoding the headers
- Zend_Mime_Decode::splitMessage($content, $null, $body);
- return $body;
- }
-
- /**
- * create instance with parameters
- * Supported paramters are
- * - host hostname or ip address of POP3 server
- * - user username
- * - password password for user 'username' [optional, default = '']
- * - port port for POP3 server [optional, default = 110]
- * - ssl 'SSL' or 'TLS' for secure sockets
- *
- * @param $params array mail reader specific parameters
- * @throws Zend_Mail_Storage_Exception
- * @throws Zend_Mail_Protocol_Exception
- */
- public function __construct($params)
- {
- if (is_array($params)) {
- $params = (object)$params;
- }
-
- $this->_has['fetchPart'] = false;
- $this->_has['top'] = null;
- $this->_has['uniqueid'] = null;
-
- if ($params instanceof Zend_Mail_Protocol_Pop3) {
- $this->_protocol = $params;
- return;
- }
-
- if (!isset($params->user)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('need at least user in params');
- }
-
- $host = isset($params->host) ? $params->host : 'localhost';
- $password = isset($params->password) ? $params->password : '';
- $port = isset($params->port) ? $params->port : null;
- $ssl = isset($params->ssl) ? $params->ssl : false;
-
- $this->_protocol = new Zend_Mail_Protocol_Pop3();
- $this->_protocol->connect($host, $port, $ssl);
- $this->_protocol->login($params->user, $password);
- }
-
- /**
- * Close resource for mail lib. If you need to control, when the resource
- * is closed. Otherwise the destructor would call this.
- *
- * @return null
- */
- public function close()
- {
- $this->_protocol->logout();
- }
-
- /**
- * Keep the server busy.
- *
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function noop()
- {
- return $this->_protocol->noop();
- }
-
- /**
- * Remove a message from server. If you're doing that from a web enviroment
- * you should be careful and use a uniqueid as parameter if possible to
- * identify the message.
- *
- * @param int $id number of message
- * @return null
- * @throws Zend_Mail_Protocol_Exception
- */
- public function removeMessage($id)
- {
- $this->_protocol->delete($id);
- }
-
- /**
- * get unique id for one or all messages
- *
- * if storage does not support unique ids it's the same as the message number
- *
- * @param int|null $id message number
- * @return array|string message number for given message or all messages as array
- * @throws Zend_Mail_Storage_Exception
- */
- public function getUniqueId($id = null)
- {
- if (!$this->hasUniqueid) {
- if ($id) {
- return $id;
- }
- $count = $this->countMessages();
- if ($count < 1) {
- return array();
- }
- $range = range(1, $count);
- return array_combine($range, $range);
- }
-
- return $this->_protocol->uniqueid($id);
- }
-
- /**
- * get a message number from a unique id
- *
- * I.e. if you have a webmailer that supports deleting messages you should use unique ids
- * as parameter and use this method to translate it to message number right before calling removeMessage()
- *
- * @param string $id unique id
- * @return int message number
- * @throws Zend_Mail_Storage_Exception
- */
- public function getNumberByUniqueId($id)
- {
- if (!$this->hasUniqueid) {
- return $id;
- }
-
- $ids = $this->getUniqueId();
- foreach ($ids as $k => $v) {
- if ($v == $id) {
- return $k;
- }
- }
-
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('unique id not found');
- }
-
- /**
- * Special handling for hasTop and hasUniqueid. The headers of the first message is
- * retrieved if Top wasn't needed/tried yet.
- *
- * @see Zend_Mail_Storage_Abstract:__get()
- * @param string $var
- * @return string
- * @throws Zend_Mail_Storage_Exception
- */
- public function __get($var)
- {
- $result = parent::__get($var);
- if ($result !== null) {
- return $result;
- }
-
- if (strtolower($var) == 'hastop') {
- if ($this->_protocol->hasTop === null) {
- // need to make a real call, because not all server are honest in their capas
- try {
- $this->_protocol->top(1, 0, false);
- } catch(Zend_Mail_Exception $e) {
- // ignoring error
- }
- }
- $this->_has['top'] = $this->_protocol->hasTop;
- return $this->_protocol->hasTop;
- }
-
- if (strtolower($var) == 'hasuniqueid') {
- $id = null;
- try {
- $id = $this->_protocol->uniqueid(1);
- } catch(Zend_Mail_Exception $e) {
- // ignoring error
- }
- $this->_has['uniqueid'] = $id ? true : false;
- return $this->_has['uniqueid'];
- }
-
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Storage/Writable/Interface.php b/airtime_mvc/library/Zend/Mail/Storage/Writable/Interface.php
deleted file mode 100644
index 982b44eeb..000000000
--- a/airtime_mvc/library/Zend/Mail/Storage/Writable/Interface.php
+++ /dev/null
@@ -1,108 +0,0 @@
-create) && isset($params->dirname) && !file_exists($params->dirname . DIRECTORY_SEPARATOR . 'cur')) {
- self::initMaildir($params->dirname);
- }
-
- parent::__construct($params);
- }
-
- /**
- * create a new folder
- *
- * This method also creates parent folders if necessary. Some mail storages may restrict, which folder
- * may be used as parent or which chars may be used in the folder name
- *
- * @param string $name global name of folder, local name if $parentFolder is set
- * @param string|Zend_Mail_Storage_Folder $parentFolder parent folder for new folder, else root folder is parent
- * @return string only used internally (new created maildir)
- * @throws Zend_Mail_Storage_Exception
- */
- public function createFolder($name, $parentFolder = null)
- {
- if ($parentFolder instanceof Zend_Mail_Storage_Folder) {
- $folder = $parentFolder->getGlobalName() . $this->_delim . $name;
- } else if ($parentFolder != null) {
- $folder = rtrim($parentFolder, $this->_delim) . $this->_delim . $name;
- } else {
- $folder = $name;
- }
-
- $folder = trim($folder, $this->_delim);
-
- // first we check if we try to create a folder that does exist
- $exists = null;
- try {
- $exists = $this->getFolders($folder);
- } catch (Zend_Mail_Exception $e) {
- // ok
- }
- if ($exists) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('folder already exists');
- }
-
- if (strpos($folder, $this->_delim . $this->_delim) !== false) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('invalid name - folder parts may not be empty');
- }
-
- if (strpos($folder, 'INBOX' . $this->_delim) === 0) {
- $folder = substr($folder, 6);
- }
-
- $fulldir = $this->_rootdir . '.' . $folder;
-
- // check if we got tricked and would create a dir outside of the rootdir or not as direct child
- if (strpos($folder, DIRECTORY_SEPARATOR) !== false || strpos($folder, '/') !== false
- || dirname($fulldir) . DIRECTORY_SEPARATOR != $this->_rootdir) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('invalid name - no directory seprator allowed in folder name');
- }
-
- // has a parent folder?
- $parent = null;
- if (strpos($folder, $this->_delim)) {
- // let's see if the parent folder exists
- $parent = substr($folder, 0, strrpos($folder, $this->_delim));
- try {
- $this->getFolders($parent);
- } catch (Zend_Mail_Exception $e) {
- // does not - create parent folder
- $this->createFolder($parent);
- }
- }
-
- if (!@mkdir($fulldir) || !@mkdir($fulldir . DIRECTORY_SEPARATOR . 'cur')) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('error while creating new folder, may be created incompletly');
- }
-
- mkdir($fulldir . DIRECTORY_SEPARATOR . 'new');
- mkdir($fulldir . DIRECTORY_SEPARATOR . 'tmp');
-
- $localName = $parent ? substr($folder, strlen($parent) + 1) : $folder;
- $this->getFolders($parent)->$localName = new Zend_Mail_Storage_Folder($localName, $folder, true);
-
- return $fulldir;
- }
-
- /**
- * remove a folder
- *
- * @param string|Zend_Mail_Storage_Folder $name name or instance of folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function removeFolder($name)
- {
- // TODO: This could fail in the middle of the task, which is not optimal.
- // But there is no defined standard way to mark a folder as removed and there is no atomar fs-op
- // to remove a directory. Also moving the folder to a/the trash folder is not possible, as
- // all parent folders must be created. What we could do is add a dash to the front of the
- // directory name and it should be ignored as long as other processes obey the standard.
-
- if ($name instanceof Zend_Mail_Storage_Folder) {
- $name = $name->getGlobalName();
- }
-
- $name = trim($name, $this->_delim);
- if (strpos($name, 'INBOX' . $this->_delim) === 0) {
- $name = substr($name, 6);
- }
-
- // check if folder exists and has no children
- if (!$this->getFolders($name)->isLeaf()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('delete children first');
- }
-
- if ($name == 'INBOX' || $name == DIRECTORY_SEPARATOR || $name == '/') {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('wont delete INBOX');
- }
-
- if ($name == $this->getCurrentFolder()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('wont delete selected folder');
- }
-
- foreach (array('tmp', 'new', 'cur', '.') as $subdir) {
- $dir = $this->_rootdir . '.' . $name . DIRECTORY_SEPARATOR . $subdir;
- if (!file_exists($dir)) {
- continue;
- }
- $dh = opendir($dir);
- if (!$dh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("error opening $subdir");
- }
- while (($entry = readdir($dh)) !== false) {
- if ($entry == '.' || $entry == '..') {
- continue;
- }
- if (!unlink($dir . DIRECTORY_SEPARATOR . $entry)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("error cleaning $subdir");
- }
- }
- closedir($dh);
- if ($subdir !== '.') {
- if (!rmdir($dir)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("error removing $subdir");
- }
- }
- }
-
- if (!rmdir($this->_rootdir . '.' . $name)) {
- // at least we should try to make it a valid maildir again
- mkdir($this->_rootdir . '.' . $name . DIRECTORY_SEPARATOR . 'cur');
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("error removing maindir");
- }
-
- $parent = strpos($name, $this->_delim) ? substr($name, 0, strrpos($name, $this->_delim)) : null;
- $localName = $parent ? substr($name, strlen($parent) + 1) : $name;
- unset($this->getFolders($parent)->$localName);
- }
-
- /**
- * rename and/or move folder
- *
- * The new name has the same restrictions as in createFolder()
- *
- * @param string|Zend_Mail_Storage_Folder $oldName name or instance of folder
- * @param string $newName new global name of folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function renameFolder($oldName, $newName)
- {
- // TODO: This is also not atomar and has similar problems as removeFolder()
-
- if ($oldName instanceof Zend_Mail_Storage_Folder) {
- $oldName = $oldName->getGlobalName();
- }
-
- $oldName = trim($oldName, $this->_delim);
- if (strpos($oldName, 'INBOX' . $this->_delim) === 0) {
- $oldName = substr($oldName, 6);
- }
-
- $newName = trim($newName, $this->_delim);
- if (strpos($newName, 'INBOX' . $this->_delim) === 0) {
- $newName = substr($newName, 6);
- }
-
- if (strpos($newName, $oldName . $this->_delim) === 0) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('new folder cannot be a child of old folder');
- }
-
- // check if folder exists and has no children
- $folder = $this->getFolders($oldName);
-
- if ($oldName == 'INBOX' || $oldName == DIRECTORY_SEPARATOR || $oldName == '/') {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('wont rename INBOX');
- }
-
- if ($oldName == $this->getCurrentFolder()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('wont rename selected folder');
- }
-
- $newdir = $this->createFolder($newName);
-
- if (!$folder->isLeaf()) {
- foreach ($folder as $k => $v) {
- $this->renameFolder($v->getGlobalName(), $newName . $this->_delim . $k);
- }
- }
-
- $olddir = $this->_rootdir . '.' . $folder;
- foreach (array('tmp', 'new', 'cur') as $subdir) {
- $subdir = DIRECTORY_SEPARATOR . $subdir;
- if (!file_exists($olddir . $subdir)) {
- continue;
- }
- // using copy or moving files would be even better - but also much slower
- if (!rename($olddir . $subdir, $newdir . $subdir)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('error while moving ' . $subdir);
- }
- }
- // create a dummy if removing fails - otherwise we can't read it next time
- mkdir($olddir . DIRECTORY_SEPARATOR . 'cur');
- $this->removeFolder($oldName);
- }
-
- /**
- * create a uniqueid for maildir filename
- *
- * This is nearly the format defined in the maildir standard. The microtime() call should already
- * create a uniqueid, the pid is for multicore/-cpu machine that manage to call this function at the
- * exact same time, and uname() gives us the hostname for multiple machines accessing the same storage.
- *
- * If someone disables posix we create a random number of the same size, so this method should also
- * work on Windows - if you manage to get maildir working on Windows.
- * Microtime could also be disabled, altough I've never seen it.
- *
- * @return string new uniqueid
- */
- protected function _createUniqueId()
- {
- $id = '';
- $id .= function_exists('microtime') ? microtime(true) : (time() . ' ' . rand(0, 100000));
- $id .= '.' . (function_exists('posix_getpid') ? posix_getpid() : rand(50, 65535));
- $id .= '.' . php_uname('n');
-
- return $id;
- }
-
- /**
- * open a temporary maildir file
- *
- * makes sure tmp/ exists and create a file with a unique name
- * you should close the returned filehandle!
- *
- * @param string $folder name of current folder without leading .
- * @return array array('dirname' => dir of maildir folder, 'uniq' => unique id, 'filename' => name of create file
- * 'handle' => file opened for writing)
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _createTmpFile($folder = 'INBOX')
- {
- if ($folder == 'INBOX') {
- $tmpdir = $this->_rootdir . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;
- } else {
- $tmpdir = $this->_rootdir . '.' . $folder . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;
- }
- if (!file_exists($tmpdir)) {
- if (!mkdir($tmpdir)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('problems creating tmp dir');
- }
- }
-
- // we should retry to create a unique id if a file with the same name exists
- // to avoid a script timeout we only wait 1 second (instead of 2) and stop
- // after a defined retry count
- // if you change this variable take into account that it can take up to $max_tries seconds
- // normally we should have a valid unique name after the first try, we're just following the "standard" here
- $max_tries = 5;
- for ($i = 0; $i < $max_tries; ++$i) {
- $uniq = $this->_createUniqueId();
- if (!file_exists($tmpdir . $uniq)) {
- // here is the race condition! - as defined in the standard
- // to avoid having a long time between stat()ing the file and creating it we're opening it here
- // to mark the filename as taken
- $fh = fopen($tmpdir . $uniq, 'w');
- if (!$fh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('could not open temp file');
- }
- break;
- }
- sleep(1);
- }
-
- if (!$fh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception("tried $max_tries unique ids for a temp file, but all were taken"
- . ' - giving up');
- }
-
- return array('dirname' => $this->_rootdir . '.' . $folder, 'uniq' => $uniq, 'filename' => $tmpdir . $uniq,
- 'handle' => $fh);
- }
-
- /**
- * create an info string for filenames with given flags
- *
- * @param array $flags wanted flags, with the reference you'll get the set flags with correct key (= char for flag)
- * @return string info string for version 2 filenames including the leading colon
- * @throws Zend_Mail_Storage_Exception
- */
- protected function _getInfoString(&$flags)
- {
- // accessing keys is easier, faster and it removes duplicated flags
- $wanted_flags = array_flip($flags);
- if (isset($wanted_flags[Zend_Mail_Storage::FLAG_RECENT])) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('recent flag may not be set');
- }
-
- $info = ':2,';
- $flags = array();
- foreach (Zend_Mail_Storage_Maildir::$_knownFlags as $char => $flag) {
- if (!isset($wanted_flags[$flag])) {
- continue;
- }
- $info .= $char;
- $flags[$char] = $flag;
- unset($wanted_flags[$flag]);
- }
-
- if (!empty($wanted_flags)) {
- $wanted_flags = implode(', ', array_keys($wanted_flags));
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('unknown flag(s): ' . $wanted_flags);
- }
-
- return $info;
- }
-
- /**
- * append a new message to mail storage
- *
- * @param string|stream $message message as string or stream resource
- * @param null|string|Zend_Mail_Storage_Folder $folder folder for new message, else current folder is taken
- * @param null|array $flags set flags for new message, else a default set is used
- * @param bool $recent handle this mail as if recent flag has been set,
- * should only be used in delivery
- * @throws Zend_Mail_Storage_Exception
- */
- // not yet * @param string|Zend_Mail_Message|Zend_Mime_Message $message message as string or instance of message class
-
- public function appendMessage($message, $folder = null, $flags = null, $recent = false)
- {
- if ($this->_quota && $this->checkQuota()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('storage is over quota!');
- }
-
- if ($folder === null) {
- $folder = $this->_currentFolder;
- }
-
- if (!($folder instanceof Zend_Mail_Storage_Folder)) {
- $folder = $this->getFolders($folder);
- }
-
- if ($flags === null) {
- $flags = array(Zend_Mail_Storage::FLAG_SEEN);
- }
- $info = $this->_getInfoString($flags);
- $temp_file = $this->_createTmpFile($folder->getGlobalName());
-
- // TODO: handle class instances for $message
- if (is_resource($message) && get_resource_type($message) == 'stream') {
- stream_copy_to_stream($message, $temp_file['handle']);
- } else {
- fputs($temp_file['handle'], $message);
- }
- fclose($temp_file['handle']);
-
- // we're adding the size to the filename for maildir++
- $size = filesize($temp_file['filename']);
- if ($size !== false) {
- $info = ',S=' . $size . $info;
- }
- $new_filename = $temp_file['dirname'] . DIRECTORY_SEPARATOR;
- $new_filename .= $recent ? 'new' : 'cur';
- $new_filename .= DIRECTORY_SEPARATOR . $temp_file['uniq'] . $info;
-
- // we're throwing any exception after removing our temp file and saving it to this variable instead
- $exception = null;
-
- if (!link($temp_file['filename'], $new_filename)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- $exception = new Zend_Mail_Storage_Exception('cannot link message file to final dir');
- }
- @unlink($temp_file['filename']);
-
- if ($exception) {
- throw $exception;
- }
-
- $this->_files[] = array('uniq' => $temp_file['uniq'],
- 'flags' => $flags,
- 'filename' => $new_filename);
- if ($this->_quota) {
- $this->_addQuotaEntry((int)$size, 1);
- }
- }
-
- /**
- * copy an existing message
- *
- * @param int $id number of message
- * @param string|Zend_Mail_Storage_Folder $folder name or instance of targer folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function copyMessage($id, $folder)
- {
- if ($this->_quota && $this->checkQuota()) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('storage is over quota!');
- }
-
- if (!($folder instanceof Zend_Mail_Storage_Folder)) {
- $folder = $this->getFolders($folder);
- }
-
- $filedata = $this->_getFileData($id);
- $old_file = $filedata['filename'];
- $flags = $filedata['flags'];
-
- // copied message can't be recent
- while (($key = array_search(Zend_Mail_Storage::FLAG_RECENT, $flags)) !== false) {
- unset($flags[$key]);
- }
- $info = $this->_getInfoString($flags);
-
- // we're creating the copy as temp file before moving to cur/
- $temp_file = $this->_createTmpFile($folder->getGlobalName());
- // we don't write directly to the file
- fclose($temp_file['handle']);
-
- // we're adding the size to the filename for maildir++
- $size = filesize($old_file);
- if ($size !== false) {
- $info = ',S=' . $size . $info;
- }
-
- $new_file = $temp_file['dirname'] . DIRECTORY_SEPARATOR . 'cur' . DIRECTORY_SEPARATOR . $temp_file['uniq'] . $info;
-
- // we're throwing any exception after removing our temp file and saving it to this variable instead
- $exception = null;
-
- if (!copy($old_file, $temp_file['filename'])) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- $exception = new Zend_Mail_Storage_Exception('cannot copy message file');
- } else if (!link($temp_file['filename'], $new_file)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- $exception = new Zend_Mail_Storage_Exception('cannot link message file to final dir');
- }
- @unlink($temp_file['filename']);
-
- if ($exception) {
- throw $exception;
- }
-
- if ($folder->getGlobalName() == $this->_currentFolder
- || ($this->_currentFolder == 'INBOX' && $folder->getGlobalName() == '/')) {
- $this->_files[] = array('uniq' => $temp_file['uniq'],
- 'flags' => $flags,
- 'filename' => $new_file);
- }
-
- if ($this->_quota) {
- $this->_addQuotaEntry((int)$size, 1);
- }
- }
-
- /**
- * move an existing message
- *
- * @param int $id number of message
- * @param string|Zend_Mail_Storage_Folder $folder name or instance of targer folder
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function moveMessage($id, $folder) {
- if (!($folder instanceof Zend_Mail_Storage_Folder)) {
- $folder = $this->getFolders($folder);
- }
-
- if ($folder->getGlobalName() == $this->_currentFolder
- || ($this->_currentFolder == 'INBOX' && $folder->getGlobalName() == '/')) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('target is current folder');
- }
-
- $filedata = $this->_getFileData($id);
- $old_file = $filedata['filename'];
- $flags = $filedata['flags'];
-
- // moved message can't be recent
- while (($key = array_search(Zend_Mail_Storage::FLAG_RECENT, $flags)) !== false) {
- unset($flags[$key]);
- }
- $info = $this->_getInfoString($flags);
-
- // reserving a new name
- $temp_file = $this->_createTmpFile($folder->getGlobalName());
- fclose($temp_file['handle']);
-
- // we're adding the size to the filename for maildir++
- $size = filesize($old_file);
- if ($size !== false) {
- $info = ',S=' . $size . $info;
- }
-
- $new_file = $temp_file['dirname'] . DIRECTORY_SEPARATOR . 'cur' . DIRECTORY_SEPARATOR . $temp_file['uniq'] . $info;
-
- // we're throwing any exception after removing our temp file and saving it to this variable instead
- $exception = null;
-
- if (!rename($old_file, $new_file)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- $exception = new Zend_Mail_Storage_Exception('cannot move message file');
- }
- @unlink($temp_file['filename']);
-
- if ($exception) {
- throw $exception;
- }
-
- unset($this->_files[$id - 1]);
- // remove the gap
- $this->_files = array_values($this->_files);
- }
-
-
- /**
- * set flags for message
- *
- * NOTE: this method can't set the recent flag.
- *
- * @param int $id number of message
- * @param array $flags new flags for message
- * @throws Zend_Mail_Storage_Exception
- */
- public function setFlags($id, $flags)
- {
- $info = $this->_getInfoString($flags);
- $filedata = $this->_getFileData($id);
-
- // NOTE: double dirname to make sure we always move to cur. if recent flag has been set (message is in new) it will be moved to cur.
- $new_filename = dirname(dirname($filedata['filename'])) . DIRECTORY_SEPARATOR . 'cur' . DIRECTORY_SEPARATOR . "$filedata[uniq]$info";
-
- if (!@rename($filedata['filename'], $new_filename)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot rename file');
- }
-
- $filedata['flags'] = $flags;
- $filedata['filename'] = $new_filename;
-
- $this->_files[$id - 1] = $filedata;
- }
-
-
- /**
- * stub for not supported message deletion
- *
- * @return null
- * @throws Zend_Mail_Storage_Exception
- */
- public function removeMessage($id)
- {
- $filename = $this->_getFileData($id, 'filename');
-
- if ($this->_quota) {
- $size = filesize($filename);
- }
-
- if (!@unlink($filename)) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot remove message');
- }
- unset($this->_files[$id - 1]);
- // remove the gap
- $this->_files = array_values($this->_files);
- if ($this->_quota) {
- $this->_addQuotaEntry(0 - (int)$size, -1);
- }
- }
-
- /**
- * enable/disable quota and set a quota value if wanted or needed
- *
- * You can enable/disable quota with true/false. If you don't have
- * a MDA or want to enforce a quota value you can also set this value
- * here. Use array('size' => SIZE_QUOTA, 'count' => MAX_MESSAGE) do
- * define your quota. Order of these fields does matter!
- *
- * @param bool|array $value new quota value
- * @return null
- */
- public function setQuota($value) {
- $this->_quota = $value;
- }
-
- /**
- * get currently set quota
- *
- * @see Zend_Mail_Storage_Writable_Maildir::setQuota()
- *
- * @return bool|array
- */
- public function getQuota($fromStorage = false) {
- if ($fromStorage) {
- $fh = @fopen($this->_rootdir . 'maildirsize', 'r');
- if (!$fh) {
- /**
- * @see Zend_Mail_Storage_Exception
- */
- require_once 'Zend/Mail/Storage/Exception.php';
- throw new Zend_Mail_Storage_Exception('cannot open maildirsize');
- }
- $definition = fgets($fh);
- fclose($fh);
- $definition = explode(',', trim($definition));
- $quota = array();
- foreach ($definition as $member) {
- $key = $member[strlen($member) - 1];
- if ($key == 'S' || $key == 'C') {
- $key = $key == 'C' ? 'count' : 'size';
- }
- $quota[$key] = substr($member, 0, -1);
- }
- return $quota;
- }
-
- return $this->_quota;
- }
-
- /**
- * @see http://www.inter7.com/courierimap/README.maildirquota.html "Calculating maildirsize"
- */
- protected function _calculateMaildirsize() {
- $timestamps = array();
- $messages = 0;
- $total_size = 0;
-
- if (is_array($this->_quota)) {
- $quota = $this->_quota;
- } else {
- try {
- $quota = $this->getQuota(true);
- } catch (Zend_Mail_Storage_Exception $e) {
- throw new Zend_Mail_Storage_Exception('no quota definition found', 0, $e);
- }
- }
-
- $folders = new RecursiveIteratorIterator($this->getFolders(), RecursiveIteratorIterator::SELF_FIRST);
- foreach ($folders as $folder) {
- $subdir = $folder->getGlobalName();
- if ($subdir == 'INBOX') {
- $subdir = '';
- } else {
- $subdir = '.' . $subdir;
- }
- if ($subdir == 'Trash') {
- continue;
- }
-
- foreach (array('cur', 'new') as $subsubdir) {
- $dirname = $this->_rootdir . $subdir . DIRECTORY_SEPARATOR . $subsubdir . DIRECTORY_SEPARATOR;
- if (!file_exists($dirname)) {
- continue;
- }
- // NOTE: we are using mtime instead of "the latest timestamp". The latest would be atime
- // and as we are accessing the directory it would make the whole calculation useless.
- $timestamps[$dirname] = filemtime($dirname);
-
- $dh = opendir($dirname);
- // NOTE: Should have been checked in constructor. Not throwing an exception here, quotas will
- // therefore not be fully enforeced, but next request will fail anyway, if problem persists.
- if (!$dh) {
- continue;
- }
-
-
- while (($entry = readdir()) !== false) {
- if ($entry[0] == '.' || !is_file($dirname . $entry)) {
- continue;
- }
-
- if (strpos($entry, ',S=')) {
- strtok($entry, '=');
- $filesize = strtok(':');
- if (is_numeric($filesize)) {
- $total_size += $filesize;
- ++$messages;
- continue;
- }
- }
- $size = filesize($dirname . $entry);
- if ($size === false) {
- // ignore, as we assume file got removed
- continue;
- }
- $total_size += $size;
- ++$messages;
- }
- }
- }
-
- $tmp = $this->_createTmpFile();
- $fh = $tmp['handle'];
- $definition = array();
- foreach ($quota as $type => $value) {
- if ($type == 'size' || $type == 'count') {
- $type = $type == 'count' ? 'C' : 'S';
- }
- $definition[] = $value . $type;
- }
- $definition = implode(',', $definition);
- fputs($fh, "$definition\n");
- fputs($fh, "$total_size $messages\n");
- fclose($fh);
- rename($tmp['filename'], $this->_rootdir . 'maildirsize');
- foreach ($timestamps as $dir => $timestamp) {
- if ($timestamp < filemtime($dir)) {
- unlink($this->_rootdir . 'maildirsize');
- break;
- }
- }
-
- return array('size' => $total_size, 'count' => $messages, 'quota' => $quota);
- }
-
- /**
- * @see http://www.inter7.com/courierimap/README.maildirquota.html "Calculating the quota for a Maildir++"
- */
- protected function _calculateQuota($forceRecalc = false) {
- $fh = null;
- $total_size = 0;
- $messages = 0;
- $maildirsize = '';
- if (!$forceRecalc && file_exists($this->_rootdir . 'maildirsize') && filesize($this->_rootdir . 'maildirsize') < 5120) {
- $fh = fopen($this->_rootdir . 'maildirsize', 'r');
- }
- if ($fh) {
- $maildirsize = fread($fh, 5120);
- if (strlen($maildirsize) >= 5120) {
- fclose($fh);
- $fh = null;
- $maildirsize = '';
- }
- }
- if (!$fh) {
- $result = $this->_calculateMaildirsize();
- $total_size = $result['size'];
- $messages = $result['count'];
- $quota = $result['quota'];
- } else {
- $maildirsize = explode("\n", $maildirsize);
- if (is_array($this->_quota)) {
- $quota = $this->_quota;
- } else {
- $definition = explode(',', $maildirsize[0]);
- $quota = array();
- foreach ($definition as $member) {
- $key = $member[strlen($member) - 1];
- if ($key == 'S' || $key == 'C') {
- $key = $key == 'C' ? 'count' : 'size';
- }
- $quota[$key] = substr($member, 0, -1);
- }
- }
- unset($maildirsize[0]);
- foreach ($maildirsize as $line) {
- list($size, $count) = explode(' ', trim($line));
- $total_size += $size;
- $messages += $count;
- }
- }
-
- $over_quota = false;
- $over_quota = $over_quota || (isset($quota['size']) && $total_size > $quota['size']);
- $over_quota = $over_quota || (isset($quota['count']) && $messages > $quota['count']);
- // NOTE: $maildirsize equals false if it wasn't set (AKA we recalculated) or it's only
- // one line, because $maildirsize[0] gets unsetted.
- // Also we're using local time to calculate the 15 minute offset. Touching a file just for known the
- // local time of the file storage isn't worth the hassle.
- if ($over_quota && ($maildirsize || filemtime($this->_rootdir . 'maildirsize') > time() - 900)) {
- $result = $this->_calculateMaildirsize();
- $total_size = $result['size'];
- $messages = $result['count'];
- $quota = $result['quota'];
- $over_quota = false;
- $over_quota = $over_quota || (isset($quota['size']) && $total_size > $quota['size']);
- $over_quota = $over_quota || (isset($quota['count']) && $messages > $quota['count']);
- }
-
- if ($fh) {
- // TODO is there a safe way to keep the handle open for writing?
- fclose($fh);
- }
-
- return array('size' => $total_size, 'count' => $messages, 'quota' => $quota, 'over_quota' => $over_quota);
- }
-
- protected function _addQuotaEntry($size, $count = 1) {
- if (!file_exists($this->_rootdir . 'maildirsize')) {
- // TODO: should get file handler from _calculateQuota
- }
- $size = (int)$size;
- $count = (int)$count;
- file_put_contents($this->_rootdir . 'maildirsize', "$size $count\n", FILE_APPEND);
- }
-
- /**
- * check if storage is currently over quota
- *
- * @param bool $detailedResponse return known data of quota and current size and message count @see _calculateQuota()
- * @return bool|array over quota state or detailed response
- */
- public function checkQuota($detailedResponse = false, $forceRecalc = false) {
- $result = $this->_calculateQuota($forceRecalc);
- return $detailedResponse ? $result : $result['over_quota'];
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Transport/Abstract.php b/airtime_mvc/library/Zend/Mail/Transport/Abstract.php
deleted file mode 100644
index 1d225a3e6..000000000
--- a/airtime_mvc/library/Zend/Mail/Transport/Abstract.php
+++ /dev/null
@@ -1,350 +0,0 @@
-_mail->getType();
- if (!$type) {
- if ($this->_mail->hasAttachments) {
- $type = Zend_Mime::MULTIPART_MIXED;
- } elseif ($this->_mail->getBodyText() && $this->_mail->getBodyHtml()) {
- $type = Zend_Mime::MULTIPART_ALTERNATIVE;
- } else {
- $type = Zend_Mime::MULTIPART_MIXED;
- }
- }
-
- $this->_headers['Content-Type'] = array(
- $type . ';'
- . $this->EOL
- . " " . 'boundary="' . $boundary . '"'
- );
- $this->boundary = $boundary;
- }
-
- $this->_headers['MIME-Version'] = array('1.0');
-
- return $this->_headers;
- }
-
- /**
- * Prepend header name to header value
- *
- * @param string $item
- * @param string $key
- * @param string $prefix
- * @static
- * @access protected
- * @return void
- */
- protected static function _formatHeader(&$item, $key, $prefix)
- {
- $item = $prefix . ': ' . $item;
- }
-
- /**
- * Prepare header string for use in transport
- *
- * Prepares and generates {@link $header} based on the headers provided.
- *
- * @param mixed $headers
- * @access protected
- * @return void
- * @throws Zend_Mail_Transport_Exception if any header lines exceed 998
- * characters
- */
- protected function _prepareHeaders($headers)
- {
- if (!$this->_mail) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('Missing Zend_Mail object in _mail property');
- }
-
- $this->header = '';
-
- foreach ($headers as $header => $content) {
- if (isset($content['append'])) {
- unset($content['append']);
- $value = implode(',' . $this->EOL . ' ', $content);
- $this->header .= $header . ': ' . $value . $this->EOL;
- } else {
- array_walk($content, array(get_class($this), '_formatHeader'), $header);
- $this->header .= implode($this->EOL, $content) . $this->EOL;
- }
- }
-
- // Sanity check on headers -- should not be > 998 characters
- $sane = true;
- foreach (explode($this->EOL, $this->header) as $line) {
- if (strlen(trim($line)) > 998) {
- $sane = false;
- break;
- }
- }
- if (!$sane) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Exception('At least one mail header line is too long');
- }
- }
-
- /**
- * Generate MIME compliant message from the current configuration
- *
- * If both a text and HTML body are present, generates a
- * multipart/alternative Zend_Mime_Part containing the headers and contents
- * of each. Otherwise, uses whichever of the text or HTML parts present.
- *
- * The content part is then prepended to the list of Zend_Mime_Parts for
- * this message.
- *
- * @return void
- */
- protected function _buildBody()
- {
- if (($text = $this->_mail->getBodyText())
- && ($html = $this->_mail->getBodyHtml()))
- {
- // Generate unique boundary for multipart/alternative
- $mime = new Zend_Mime(null);
- $boundaryLine = $mime->boundaryLine($this->EOL);
- $boundaryEnd = $mime->mimeEnd($this->EOL);
-
- $text->disposition = false;
- $html->disposition = false;
-
- $body = $boundaryLine
- . $text->getHeaders($this->EOL)
- . $this->EOL
- . $text->getContent($this->EOL)
- . $this->EOL
- . $boundaryLine
- . $html->getHeaders($this->EOL)
- . $this->EOL
- . $html->getContent($this->EOL)
- . $this->EOL
- . $boundaryEnd;
-
- $mp = new Zend_Mime_Part($body);
- $mp->type = Zend_Mime::MULTIPART_ALTERNATIVE;
- $mp->boundary = $mime->boundary();
-
- $this->_isMultipart = true;
-
- // Ensure first part contains text alternatives
- array_unshift($this->_parts, $mp);
-
- // Get headers
- $this->_headers = $this->_mail->getHeaders();
- return;
- }
-
- // If not multipart, then get the body
- if (false !== ($body = $this->_mail->getBodyHtml())) {
- array_unshift($this->_parts, $body);
- } elseif (false !== ($body = $this->_mail->getBodyText())) {
- array_unshift($this->_parts, $body);
- }
-
- if (!$body) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('No body specified');
- }
-
- // Get headers
- $this->_headers = $this->_mail->getHeaders();
- $headers = $body->getHeadersArray($this->EOL);
- foreach ($headers as $header) {
- // Headers in Zend_Mime_Part are kept as arrays with two elements, a
- // key and a value
- $this->_headers[$header[0]] = array($header[1]);
- }
- }
-
- /**
- * Send a mail using this transport
- *
- * @param Zend_Mail $mail
- * @access public
- * @return void
- * @throws Zend_Mail_Transport_Exception if mail is empty
- */
- public function send(Zend_Mail $mail)
- {
- $this->_isMultipart = false;
- $this->_mail = $mail;
- $this->_parts = $mail->getParts();
- $mime = $mail->getMime();
-
- // Build body content
- $this->_buildBody();
-
- // Determine number of parts and boundary
- $count = count($this->_parts);
- $boundary = null;
- if ($count < 1) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('Empty mail cannot be sent');
- }
-
- if ($count > 1) {
- // Multipart message; create new MIME object and boundary
- $mime = new Zend_Mime($this->_mail->getMimeBoundary());
- $boundary = $mime->boundary();
- } elseif ($this->_isMultipart) {
- // multipart/alternative -- grab boundary
- $boundary = $this->_parts[0]->boundary;
- }
-
- // Determine recipients, and prepare headers
- $this->recipients = implode(',', $mail->getRecipients());
- $this->_prepareHeaders($this->_getHeaders($boundary));
-
- // Create message body
- // This is done so that the same Zend_Mail object can be used in
- // multiple transports
- $message = new Zend_Mime_Message();
- $message->setParts($this->_parts);
- $message->setMime($mime);
- $this->body = $message->generateMessage($this->EOL);
-
- // Send to transport!
- $this->_sendMail();
- }
-}
diff --git a/airtime_mvc/library/Zend/Mail/Transport/Exception.php b/airtime_mvc/library/Zend/Mail/Transport/Exception.php
deleted file mode 100644
index 63bf1cd4f..000000000
--- a/airtime_mvc/library/Zend/Mail/Transport/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-toArray();
- }
-
- if (is_array($parameters)) {
- $parameters = implode(' ', $parameters);
- }
-
- $this->parameters = $parameters;
- }
-
-
- /**
- * Send mail using PHP native mail()
- *
- * @access public
- * @return void
- * @throws Zend_Mail_Transport_Exception if parameters is set
- * but not a string
- * @throws Zend_Mail_Transport_Exception on mail() failure
- */
- public function _sendMail()
- {
- if ($this->parameters === null) {
- set_error_handler(array($this, '_handleMailErrors'));
- $result = mail(
- $this->recipients,
- $this->_mail->getSubject(),
- $this->body,
- $this->header);
- restore_error_handler();
- } else {
- if(!is_string($this->parameters)) {
- /**
- * @see Zend_Mail_Transport_Exception
- *
- * Exception is thrown here because
- * $parameters is a public property
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception(
- 'Parameters were set but are not a string'
- );
- }
-
- set_error_handler(array($this, '_handleMailErrors'));
- $result = mail(
- $this->recipients,
- $this->_mail->getSubject(),
- $this->body,
- $this->header,
- $this->parameters);
- restore_error_handler();
- }
-
- if ($this->_errstr !== null || !$result) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('Unable to send mail. ' . $this->_errstr);
- }
- }
-
-
- /**
- * Format and fix headers
- *
- * mail() uses its $to and $subject arguments to set the To: and Subject:
- * headers, respectively. This method strips those out as a sanity check to
- * prevent duplicate header entries.
- *
- * @access protected
- * @param array $headers
- * @return void
- * @throws Zend_Mail_Transport_Exception
- */
- protected function _prepareHeaders($headers)
- {
- if (!$this->_mail) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('_prepareHeaders requires a registered Zend_Mail object');
- }
-
- // mail() uses its $to parameter to set the To: header, and the $subject
- // parameter to set the Subject: header. We need to strip them out.
- if (0 === strpos(PHP_OS, 'WIN')) {
- // If the current recipients list is empty, throw an error
- if (empty($this->recipients)) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('Missing To addresses');
- }
- } else {
- // All others, simply grab the recipients and unset the To: header
- if (!isset($headers['To'])) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('Missing To header');
- }
-
- unset($headers['To']['append']);
- $this->recipients = implode(',', $headers['To']);
- }
-
- // Remove recipient header
- unset($headers['To']);
-
- // Remove subject header, if present
- if (isset($headers['Subject'])) {
- unset($headers['Subject']);
- }
-
- // Prepare headers
- parent::_prepareHeaders($headers);
-
- // Fix issue with empty blank line ontop when using Sendmail Trnasport
- $this->header = rtrim($this->header);
- }
-
- /**
- * Temporary error handler for PHP native mail().
- *
- * @param int $errno
- * @param string $errstr
- * @param string $errfile
- * @param string $errline
- * @param array $errcontext
- * @return true
- */
- public function _handleMailErrors($errno, $errstr, $errfile = null, $errline = null, array $errcontext = null)
- {
- $this->_errstr = $errstr;
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Mail/Transport/Smtp.php b/airtime_mvc/library/Zend/Mail/Transport/Smtp.php
deleted file mode 100644
index 4175d8b84..000000000
--- a/airtime_mvc/library/Zend/Mail/Transport/Smtp.php
+++ /dev/null
@@ -1,243 +0,0 @@
-_name = $config['name'];
- }
- if (isset($config['port'])) {
- $this->_port = $config['port'];
- }
- if (isset($config['auth'])) {
- $this->_auth = $config['auth'];
- }
-
- $this->_host = $host;
- $this->_config = $config;
- }
-
-
- /**
- * Class destructor to ensure all open connections are closed
- *
- * @return void
- */
- public function __destruct()
- {
- if ($this->_connection instanceof Zend_Mail_Protocol_Smtp) {
- try {
- $this->_connection->quit();
- } catch (Zend_Mail_Protocol_Exception $e) {
- // ignore
- }
- $this->_connection->disconnect();
- }
- }
-
-
- /**
- * Sets the connection protocol instance
- *
- * @param Zend_Mail_Protocol_Abstract $client
- *
- * @return void
- */
- public function setConnection(Zend_Mail_Protocol_Abstract $connection)
- {
- $this->_connection = $connection;
- }
-
-
- /**
- * Gets the connection protocol instance
- *
- * @return Zend_Mail_Protocol|null
- */
- public function getConnection()
- {
- return $this->_connection;
- }
-
- /**
- * Send an email via the SMTP connection protocol
- *
- * The connection via the protocol adapter is made just-in-time to allow a
- * developer to add a custom adapter if required before mail is sent.
- *
- * @return void
- * @todo Rename this to sendMail, it's a public method...
- */
- public function _sendMail()
- {
- // If sending multiple messages per session use existing adapter
- if (!($this->_connection instanceof Zend_Mail_Protocol_Smtp)) {
- // Check if authentication is required and determine required class
- $connectionClass = 'Zend_Mail_Protocol_Smtp';
- if ($this->_auth) {
- $connectionClass .= '_Auth_' . ucwords($this->_auth);
- }
- if (!class_exists($connectionClass)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($connectionClass);
- }
- $this->setConnection(new $connectionClass($this->_host, $this->_port, $this->_config));
- $this->_connection->connect();
- $this->_connection->helo($this->_name);
- } else {
- // Reset connection to ensure reliable transaction
- $this->_connection->rset();
- }
-
- // Set sender email address
- $this->_connection->mail($this->_mail->getFrom());
-
- // Set recipient forward paths
- foreach ($this->_mail->getRecipients() as $recipient) {
- $this->_connection->rcpt($recipient);
- }
-
- // Issue DATA command to client
- $this->_connection->data($this->header . Zend_Mime::LINEEND . $this->body);
- }
-
- /**
- * Format and fix headers
- *
- * Some SMTP servers do not strip BCC headers. Most clients do it themselves as do we.
- *
- * @access protected
- * @param array $headers
- * @return void
- * @throws Zend_Transport_Exception
- */
- protected function _prepareHeaders($headers)
- {
- if (!$this->_mail) {
- /**
- * @see Zend_Mail_Transport_Exception
- */
- require_once 'Zend/Mail/Transport/Exception.php';
- throw new Zend_Mail_Transport_Exception('_prepareHeaders requires a registered Zend_Mail object');
- }
-
- unset($headers['Bcc']);
-
- // Prepare headers
- parent::_prepareHeaders($headers);
- }
-}
diff --git a/airtime_mvc/library/Zend/Markup.php b/airtime_mvc/library/Zend/Markup.php
deleted file mode 100644
index 44cc21c20..000000000
--- a/airtime_mvc/library/Zend/Markup.php
+++ /dev/null
@@ -1,134 +0,0 @@
- 'Zend/Markup/Parser/',
- ));
- }
-
- return self::$_parserLoader;
- }
-
- /**
- * Get the renderer loader
- *
- * @return Zend_Loader_PluginLoader
- */
- public static function getRendererLoader()
- {
- if (!(self::$_rendererLoader instanceof Zend_Loader_PluginLoader)) {
- self::$_rendererLoader = new Zend_Loader_PluginLoader(array(
- 'Zend_Markup_Renderer' => 'Zend/Markup/Renderer/',
- ));
- }
-
- return self::$_rendererLoader;
- }
-
- /**
- * Add a parser path
- *
- * @param string $prefix
- * @param string $path
- * @return Zend_Loader_PluginLoader
- */
- public static function addParserPath($prefix, $path)
- {
- return self::getParserLoader()->addPrefixPath($prefix, $path);
- }
-
- /**
- * Add a renderer path
- *
- * @param string $prefix
- * @param string $path
- * @return Zend_Loader_PluginLoader
- */
- public static function addRendererPath($prefix, $path)
- {
- return self::getRendererLoader()->addPrefixPath($prefix, $path);
- }
-
- /**
- * Factory pattern
- *
- * @param string $parser
- * @param string $renderer
- * @param array $options
- * @return Zend_Markup_Renderer_RendererAbstract
- */
- public static function factory($parser, $renderer = 'Html', array $options = array())
- {
- $parserClass = self::getParserLoader()->load($parser);
- $rendererClass = self::getRendererLoader()->load($renderer);
-
- $parser = new $parserClass();
- $options['parser'] = $parser;
- $renderer = new $rendererClass($options);
-
- return $renderer;
- }
-}
diff --git a/airtime_mvc/library/Zend/Markup/Exception.php b/airtime_mvc/library/Zend/Markup/Exception.php
deleted file mode 100644
index b1d1c8f91..000000000
--- a/airtime_mvc/library/Zend/Markup/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
- array(
- 'type' => self::TYPE_DEFAULT,
- 'stoppers' => array(),
- ),
- '*' => array(
- 'type' => self::TYPE_DEFAULT,
- 'stoppers' => array(self::NEWLINE, '[/*]', '[/]'),
- ),
- 'hr' => array(
- 'type' => self::TYPE_SINGLE,
- 'stoppers' => array(),
- ),
- 'code' => array(
- 'type' => self::TYPE_DEFAULT,
- 'stoppers' => array('[/code]', '[/]'),
- 'parse_inside' => false
- )
- );
-
- /**
- * Token array
- *
- * @var array
- */
- protected $_tokens = array();
-
- /**
- * State
- *
- * @var int
- */
- protected $_state = self::STATE_SCAN;
-
-
- /**
- * Prepare the parsing of a bbcode string, the real parsing is done in {@link _parse()}
- *
- * @param string $value
- * @return Zend_Markup_TokenList
- */
- public function parse($value)
- {
- if (!is_string($value)) {
- /**
- * @see Zend_Markup_Parser_Exception
- */
- require_once 'Zend/Markup/Parser/Exception.php';
- throw new Zend_Markup_Parser_Exception('Value to parse should be a string.');
- }
-
- if (empty($value)) {
- /**
- * @see Zend_Markup_Parser_Exception
- */
- require_once 'Zend/Markup/Parser/Exception.php';
- throw new Zend_Markup_Parser_Exception('Value to parse cannot be left empty.');
- }
-
- $this->_value = str_replace(array("\r\n", "\r", "\n"), self::NEWLINE, $value);
-
- // variable initialization for tokenizer
- $this->_valueLen = strlen($this->_value);
- $this->_pointer = 0;
- $this->_buffer = '';
- $this->_temp = array();
- $this->_state = self::STATE_SCAN;
- $this->_tokens = array();
-
- $this->_tokenize();
-
- // variable initialization for treebuilder
- $this->_searchedStoppers = array();
- $this->_tree = new Zend_Markup_TokenList();
- $this->_current = new Zend_Markup_Token(
- '',
- Zend_Markup_Token::TYPE_NONE,
- 'Zend_Markup_Root'
- );
-
- $this->_tree->addChild($this->_current);
-
- $this->_createTree();
-
- return $this->_tree;
- }
-
- /**
- * Tokenize
- *
- * @param string $input
- *
- * @return void
- */
- protected function _tokenize()
- {
- $attribute = '';
-
- while ($this->_pointer < $this->_valueLen) {
- switch ($this->_state) {
- case self::STATE_SCAN:
- $matches = array();
- $regex = '#\G(?[^\[]*)(?\[(?[' . self::NAME_CHARSET . ']+)?)?#';
- preg_match($regex, $this->_value, $matches, null, $this->_pointer);
-
- $this->_pointer += strlen($matches[0]);
-
- if (!empty($matches['text'])) {
- $this->_buffer .= $matches['text'];
- }
-
- if (!isset($matches['open'])) {
- // great, no tag, we are ending the string
- break;
- }
- if (!isset($matches['name'])) {
- $this->_buffer .= $matches['open'];
- break;
- }
-
- $this->_temp = array(
- 'tag' => '[' . $matches['name'],
- 'name' => $matches['name'],
- 'attributes' => array()
- );
-
- if ($this->_pointer >= $this->_valueLen) {
- // damn, no tag
- $this->_buffer .= $this->_temp['tag'];
- break 2;
- }
-
- if ($this->_value[$this->_pointer] == '=') {
- $this->_pointer++;
-
- $this->_temp['tag'] .= '=';
- $this->_state = self::STATE_PARSEVALUE;
- $attribute = $this->_temp['name'];
- } else {
- $this->_state = self::STATE_SCANATTRS;
- }
- break;
- case self::STATE_SCANATTRS:
- $matches = array();
- $regex = '#\G((?\s*\])|\s+(?[' . self::NAME_CHARSET . ']+)(?=?))#';
- if (!preg_match($regex, $this->_value, $matches, null, $this->_pointer)) {
- break 2;
- }
-
- $this->_pointer += strlen($matches[0]);
-
- if (!empty($matches['end'])) {
- if (!empty($this->_buffer)) {
- $this->_tokens[] = array(
- 'tag' => $this->_buffer,
- 'type' => Zend_Markup_Token::TYPE_NONE
- );
- $this->_buffer = '';
- }
- $this->_temp['tag'] .= $matches['end'];
- $this->_temp['type'] = Zend_Markup_Token::TYPE_TAG;
-
- $this->_tokens[] = $this->_temp;
- $this->_temp = array();
-
- $this->_state = self::STATE_SCAN;
- } else {
- // attribute name
- $attribute = $matches['attribute'];
-
- $this->_temp['tag'] .= $matches[0];
-
- $this->_temp['attributes'][$attribute] = '';
-
- if (empty($matches['eq'])) {
- $this->_state = self::STATE_SCANATTRS;
- } else {
- $this->_state = self::STATE_PARSEVALUE;
- }
- }
- break;
- case self::STATE_PARSEVALUE:
- $matches = array();
- $regex = '#\G((?"|\')(?.*?)\\2|(?[^\]\s]+))#';
- if (!preg_match($regex, $this->_value, $matches, null, $this->_pointer)) {
- $this->_state = self::STATE_SCANATTRS;
- break;
- }
-
- $this->_pointer += strlen($matches[0]);
-
- if (!empty($matches['quote'])) {
- $this->_temp['attributes'][$attribute] = $matches['valuequote'];
- } else {
- $this->_temp['attributes'][$attribute] = $matches['value'];
- }
- $this->_temp['tag'] .= $matches[0];
-
- $this->_state = self::STATE_SCANATTRS;
- break;
- }
- }
-
- if (!empty($this->_buffer)) {
- $this->_tokens[] = array(
- 'tag' => $this->_buffer,
- 'type' => Zend_Markup_Token::TYPE_NONE
- );
- }
- }
-
- /**
- * Parse the token array into a tree
- *
- * @param array $tokens
- *
- * @return void
- */
- public function _createTree()
- {
- foreach ($this->_tokens as $token) {
- // first we want to know if this tag is a stopper, or at least a searched one
- if ($this->_isStopper($token['tag'])) {
- // find the stopper
- $oldItems = array();
-
- while (!in_array($token['tag'], $this->_tags[$this->_current->getName()]['stoppers'])) {
- $oldItems[] = clone $this->_current;
- $this->_current = $this->_current->getParent();
- }
-
- // we found the stopper, so stop the tag
- $this->_current->setStopper($token['tag']);
- $this->_removeFromSearchedStoppers($this->_current);
- $this->_current = $this->_current->getParent();
-
- // add the old items again if there are any
- if (!empty($oldItems)) {
- foreach (array_reverse($oldItems) as $item) {
- /* @var $token Zend_Markup_Token */
- $this->_current->addChild($item);
- $item->setParent($this->_current);
- $this->_current = $item;
- }
- }
- } else {
- if ($token['type'] == Zend_Markup_Token::TYPE_TAG) {
- if ($token['tag'] == self::NEWLINE) {
- // this is a newline tag, add it as a token
- $this->_current->addChild(new Zend_Markup_Token(
- "\n",
- Zend_Markup_Token::TYPE_NONE,
- '',
- array(),
- $this->_current
- ));
- } elseif (isset($token['name']) && ($token['name'][0] == '/')) {
- // this is a stopper, add it as a empty token
- $this->_current->addChild(new Zend_Markup_Token(
- $token['tag'],
- Zend_Markup_Token::TYPE_NONE,
- '',
- array(),
- $this->_current
- ));
- } elseif (isset($this->_tags[$this->_current->getName()]['parse_inside'])
- && !$this->_tags[$this->_current->getName()]['parse_inside']
- ) {
- $this->_current->addChild(new Zend_Markup_Token(
- $token['tag'],
- Zend_Markup_Token::TYPE_NONE,
- '',
- array(),
- $this->_current
- ));
- } else {
- // add the tag
- $child = new Zend_Markup_Token(
- $token['tag'],
- $token['type'],
- $token['name'],
- $token['attributes'],
- $this->_current
- );
- $this->_current->addChild($child);
-
- // add stoppers for this tag, if its has stoppers
- if ($this->_getType($token['name']) == self::TYPE_DEFAULT) {
- $this->_current = $child;
-
- $this->_addToSearchedStoppers($this->_current);
- }
- }
- } else {
- // no tag, just add it as a simple token
- $this->_current->addChild(new Zend_Markup_Token(
- $token['tag'],
- Zend_Markup_Token::TYPE_NONE,
- '',
- array(),
- $this->_current
- ));
- }
- }
- }
- }
-
- /**
- * Check if there is a tag declaration, and if it isnt there, add it
- *
- * @param string $name
- *
- * @return void
- */
- protected function _checkTagDeclaration($name)
- {
- if (!isset($this->_tags[$name])) {
- $this->_tags[$name] = array(
- 'type' => self::TYPE_DEFAULT,
- 'stoppers' => array(
- '[/' . $name . ']',
- '[/]'
- )
- );
- }
- }
- /**
- * Check the tag's type
- *
- * @param string $name
- * @return string
- */
- protected function _getType($name)
- {
- $this->_checkTagDeclaration($name);
-
- return $this->_tags[$name]['type'];
- }
-
- /**
- * Check if the tag is a stopper
- *
- * @param string $tag
- * @return bool
- */
- protected function _isStopper($tag)
- {
- $this->_checkTagDeclaration($this->_current->getName());
-
- if (!empty($this->_searchedStoppers[$tag])) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Add to searched stoppers
- *
- * @param Zend_Markup_Token $token
- * @return void
- */
- protected function _addToSearchedStoppers(Zend_Markup_Token $token)
- {
- $this->_checkTagDeclaration($token->getName());
-
- foreach ($this->_tags[$token->getName()]['stoppers'] as $stopper) {
- if (!isset($this->_searchedStoppers[$stopper])) {
- $this->_searchedStoppers[$stopper] = 0;
- }
- ++$this->_searchedStoppers[$stopper];
- }
- }
-
- /**
- * Remove from searched stoppers
- *
- * @param Zend_Markup_Token $token
- * @return void
- */
- protected function _removeFromSearchedStoppers(Zend_Markup_Token $token)
- {
- $this->_checkTagDeclaration($token->getName());
-
- foreach ($this->_tags[$token->getName()]['stoppers'] as $stopper) {
- --$this->_searchedStoppers[$stopper];
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Markup/Parser/Exception.php b/airtime_mvc/library/Zend/Markup/Parser/Exception.php
deleted file mode 100644
index 65a42b411..000000000
--- a/airtime_mvc/library/Zend/Markup/Parser/Exception.php
+++ /dev/null
@@ -1,40 +0,0 @@
-
- * array(
- * array(
- * 'tag' => '[tag="a" attr=val]',
- * 'type' => Zend_Markup::TYPE_TAG,
- * 'name' => 'tag',
- * 'stoppers' => array('[/]', '[/tag]'),
- * 'attributes' => array(
- * 'tag' => 'a',
- * 'attr' => 'val'
- * )
- * ),
- * array(
- * 'tag' => 'value',
- * 'type' => Zend_Markup::TYPE_NONE
- * ),
- * array(
- * 'tag' => '[/tag]',
- * 'type' => Zend_Markup::TYPE_STOPPER,
- * 'name' => 'tag',
- * 'stoppers' => array(),
- * 'attributes' => array()
- * )
- * )
- *
- *
- * @param string $value
- * @return array
- */
- public function parse($value);
-}
diff --git a/airtime_mvc/library/Zend/Markup/Parser/Textile.php b/airtime_mvc/library/Zend/Markup/Parser/Textile.php
deleted file mode 100644
index aff102623..000000000
--- a/airtime_mvc/library/Zend/Markup/Parser/Textile.php
+++ /dev/null
@@ -1,570 +0,0 @@
-[a-zA-Z0-9_]+)?(?:\#(?[a-zA-Z0-9_]+))?\)';
- const MATCH_ATTR_STYLE = "\{(?[^\}\n]+)\}";
- const MATCH_ATTR_LANG = '\[(?[a-zA-Z_]+)\]';
- const MATCH_ATTR_ALIGN = '(?\<\>?|\>|=)';
-
-
-
- /**
- * Token tree
- *
- * @var Zend_Markup_TokenList
- */
- protected $_tree;
-
- /**
- * Current token
- *
- * @var Zend_Markup_Token
- */
- protected $_current;
-
- /**
- * Source to tokenize
- *
- * @var string
- */
- protected $_value = '';
-
- /**
- * Length of the value
- *
- * @var int
- */
- protected $_valueLen = 0;
-
- /**
- * Current pointer
- *
- * @var int
- */
- protected $_pointer = 0;
-
- /**
- * The buffer
- *
- * @var string
- */
- protected $_buffer = '';
-
- /**
- * Simple tag translation
- *
- * @var array
- */
- protected $_simpleTags = array(
- '*' => 'strong',
- '**' => 'bold',
- '_' => 'emphasized',
- '__' => 'italic',
- '??' => 'citation',
- '-' => 'deleted',
- '+' => 'insert',
- '^' => 'superscript',
- '~' => 'subscript',
- '%' => 'span',
- // these are a little more complicated
- '@' => 'code',
- '!' => 'img',
- );
-
- /**
- * Token array
- *
- * @var array
- */
- protected $_tokens = array();
-
-
- /**
- * Prepare the parsing of a Textile string, the real parsing is done in {@link _parse()}
- *
- * @param string $value
- *
- * @return array
- */
- public function parse($value)
- {
- if (!is_string($value)) {
- /**
- * @see Zend_Markup_Parser_Exception
- */
- require_once 'Zend/Markup/Parser/Exception.php';
- throw new Zend_Markup_Parser_Exception('Value to parse should be a string.');
- }
- if (empty($value)) {
- /**
- * @see Zend_Markup_Parser_Exception
- */
- require_once 'Zend/Markup/Parser/Exception.php';
- throw new Zend_Markup_Parser_Exception('Value to parse cannot be left empty.');
- }
-
- // first make we only have LF newlines, also trim the value
- $this->_value = str_replace(array("\r\n", "\r"), "\n", $value);
- $this->_value = trim($this->_value);
-
- // initialize variables and tokenize
- $this->_valueLen = iconv_strlen($this->_value, 'UTF-8');
- $this->_pointer = 0;
- $this->_buffer = '';
- $this->_temp = array();
- $this->_tokens = array();
-
- $this->_tokenize();
-
- // create the tree
- $this->_tree = new Zend_Markup_TokenList();
-
- $this->_current = new Zend_Markup_Token('', Zend_Markup_Token::TYPE_NONE, 'Zend_Markup_Root');
- $this->_tree->addChild($this->_current);
-
- $this->_createTree();
-
- return $this->_tree;
- }
-
- /**
- * Tokenize a textile string
- *
- * @return array
- */
- protected function _tokenize()
- {
- $state = self::STATE_NEW_PARAGRAPH;
-
- $attrsMatch = implode('|', array(
- self::MATCH_ATTR_CLASSID,
- self::MATCH_ATTR_STYLE,
- self::MATCH_ATTR_LANG,
- self::MATCH_ATTR_ALIGN
- ));
-
- $paragraph = '';
-
- while ($this->_pointer < $this->_valueLen) {
- switch ($state) {
- case self::STATE_SCAN:
- $matches = array(); //[^\n*_?+~%@!-]
- $acronym = '(?[A-Z]{2,})\((?[^\)]+)\)';
- $regex = '#\G(?.*?)(?:'
- . "(?:(?\n{2,})|(?\n))|"
- . '(?'
- . "(?\*{1,2}|_{1,2}|\?{2}|\-|\+|\~|\^|%|@|!|$|{$acronym}"
- . '|":(?[^\s]+)|")'
- . "(?:{$attrsMatch})*)"
- . ')#si';
- preg_match($regex, $this->_value, $matches, null, $this->_pointer);
-
- $this->_pointer += strlen($matches[0]);
-
- if (!empty($matches['text'])) {
- $this->_buffer .= $matches['text'];
- }
-
- // first add the buffer
- if (!empty($this->_buffer)) {
- $this->_tokens[] = array(
- 'tag' => $this->_buffer,
- 'type' => Zend_Markup_Token::TYPE_NONE
- );
- $this->_buffer = '';
- }
-
- if (!empty($matches['nl_paragraph'])) {
- $this->_temp = array(
- 'tag' => $matches['nl_paragraph'],
- 'name' => 'p',
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'attributes' => array()
- );
-
- $state = self::STATE_NEW_PARAGRAPH;
- } elseif (!empty($matches['nl_break'])) {
- $this->_tokens[] = array(
- 'tag' => $matches['nl_break'],
- 'name' => 'break',
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'attributes' => array()
- );
-
- $state = self::STATE_NEWLINE;
- } elseif (!empty($matches['tag'])) {
- if (isset($this->_simpleTags[$matches['name']])) {
- // now add the new token
- $this->_tokens[] = array(
- 'tag' => $matches['tag'],
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'name' => $this->_simpleTags[$matches['name']],
- 'attributes' => $this->_extractAttributes($matches)
- );
- } else {
- $attributes = $this->_extractAttributes($matches);
- if ($matches['tag'][0] == '"') {
- $name = 'url';
- if (isset($matches['url'])) {
- $attributes['url'] = $matches['url'];
- }
- $this->_tokens[] = array(
- 'tag' => $matches['tag'],
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'name' => $name,
- 'attributes' => $attributes
- );
- } else {
- $name = 'acronym';
- $this->_tokens[] = array(
- 'tag' => '',
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'name' => 'acronym',
- 'attributes' => array(
- 'title' => $matches['title']
- )
- );
- $this->_tokens[] = array(
- 'tag' => $matches['acronym'],
- 'type' => Zend_Markup_Token::TYPE_NONE
- );
- $this->_tokens[] = array(
- 'tag' => '(' . $matches['title'] . ')',
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'name' => 'acronym',
- 'attributes' => array()
- );
- }
- }
- $state = self::STATE_SCAN;
- }
-
- break;
- case self::STATE_NEW_PARAGRAPH:
- if (empty($this->_temp)) {
- $this->_temp = array(
- 'tag' => '',
- 'name' => 'p',
- 'type' => Zend_Markup_token::TYPE_TAG,
- 'attributes' => array()
- );
- } else {
- $this->_tokens[] = array(
- 'tag' => "\n",
- 'name' => 'p',
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'attributes' => array()
- );
- $this->_temp['tag'] = substr($this->_temp['tag'], 1);
- }
-
- $matches = array(); //[^\n*_?+~%@!-] (\()? [^()]+ (?(1)\))
- $regex = "#\G(?(h[1-6]|p)|(?:\#|\*))(?:{$attrsMatch})*(?(2)\.\s|\s)#i";
- if (!preg_match($regex, $this->_value, $matches, null, $this->_pointer)) {
- $this->_tokens[] = $this->_temp;
- $state = self::STATE_SCAN;
- break;
- }
-
- $this->_pointer += strlen($matches[0]);
-
- if ($matches['name'] == 'p') {
- $this->_temp['tag'] .= $matches[0];
- $this->_temp['attributes'] = $this->_extractAttributes($matches);
-
- $this->_tokens[] = $this->_temp;
- $this->_temp = array();
- } else {
- $this->_tokens[] = $this->_temp;
- $this->_temp = array();
-
- $name = $matches['name'];
- $attributes = $this->_extractAttributes($matches);
-
- if ($name == '#') {
- $name = 'list';
- $attributes['list'] = 'decimal';
- } elseif ($name == '*') {
- $name = 'list';
- }
-
- $this->_tokens[] = array(
- 'tag' => $matches[0],
- 'name' => $name,
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'attributes' => $attributes
- );
- }
-
- $state = self::STATE_SCAN;
- break;
- case self::STATE_NEWLINE:
- $matches = array(); //[^\n*_?+~%@!-]
- $regex = "#\G(?(h[1-6])|(?:\#|\*))(?:{$attrsMatch})*(?(2)\.\s|\s)#si";
- if (!preg_match($regex, $this->_value, $matches, null, $this->_pointer)) {
- $state = self::STATE_SCAN;
- break;
- }
-
- $this->_pointer += strlen($matches[0]);
-
- $name = $matches['name'];
- $attributes = $this->_extractAttributes($matches);
-
- if ($name == '#') {
- $name = 'list';
- $attributes['list'] = 'decimal';
- } elseif ($name == '*') {
- $name = 'list';
- }
-
- $this->_tokens[] = array(
- 'tag' => $matches[0],
- 'name' => $name,
- 'type' => Zend_Markup_Token::TYPE_TAG,
- 'attributes' => $attributes
- );
- break;
- }
- }
- }
-
- /**
- * Create a tree from the tokenized text
- *
- * @return void
- */
- protected function _createTree()
- {
- $inside = true;
-
- foreach ($this->_tokens as $key => $token) {
- // first check if the token is a stopper
- if ($this->_isStopper($token, $this->_current)) {
- if ($this->_current->getName() == 'li') {
- // list items are handled differently
- if (isset($this->_tokens[$key + 1])
- && ($this->_tokens[$key + 1]['type'] == Zend_Markup_Token::TYPE_TAG)
- && ($this->_tokens[$key + 1]['name'] == 'list')
- ) {
- // the next item is a correct tag
- $this->_current->setStopper($token['tag']);
-
- $this->_current = $this->_current->getParent();
- } else {
- // close the list
- $this->_current->setStopper($token['tag']);
-
- $this->_current = $this->_current->getParent()->getParent();
-
- // go up in the tree until we found the end
- while ($this->_isStopper($token, $this->_current)) {
- $this->_current->setStopper($token['tag']);
-
- $this->_current = $this->_current->getParent();
- }
- }
- } else {
- // go up in the tree until we found the end of stoppers
- while ($this->_isStopper($token, $this->_current)) {
- $this->_current->setStopper($token['tag']);
-
- if (!empty($token['attributes'])) {
- foreach ($token['attributes'] as $name => $value) {
- $this->_current->addAttribute($name, $value);
- }
- }
-
- $this->_current = $this->_current->getParent();
- }
- }
- $inside = true;
- } elseif (($token['type'] == Zend_Markup_Token::TYPE_TAG) && $inside) {
- if ($token['name'] == 'break') {
- // add the newline and continue parsing
- $this->_current->addChild(new Zend_Markup_Token(
- $token['tag'],
- Zend_Markup_Token::TYPE_NONE,
- '',
- array(),
- $this->_current
- ));
- } else {
- // handle a list item
- if ($token['name'] == 'list') {
- $attributes = array();
- if (isset($token['attributes']['list'])) {
- $attributes['list'] = $token['attributes']['list'];
- unset($token['attributes']['list']);
- }
-
- if ($this->_current->getName() != 'list') {
- // the list isn't started yet, create it
- $child = new Zend_Markup_Token(
- '',
- Zend_Markup_Token::TYPE_TAG,
- 'list',
- $attributes,
- $this->_current
- );
-
- $this->_current->addChild($child);
-
- $this->_current = $child;
- }
- $token['name'] = 'li';
- } elseif (($token['name'] == 'img') || ($token['name'] == 'url')) {
- $inside = false;
- }
-
- // add the token
- $child = new Zend_Markup_Token(
- $token['tag'],
- Zend_Markup_Token::TYPE_TAG,
- $token['name'],
- $token['attributes'],
- $this->_current
- );
-
- $this->_current->addChild($child);
-
- $this->_current = $child;
- }
- } else {
- // simply add the token as text
- $this->_current->addChild(new Zend_Markup_Token(
- $token['tag'],
- Zend_Markup_Token::TYPE_NONE,
- '',
- array(),
- $this->_current
- ));
- }
- }
- }
-
- /**
- * Check if a tag is a stopper
- *
- * @param array $token
- * @param Zend_Markup_Token $current
- *
- * @return bool
- */
- protected function _isStopper(array $token, Zend_Markup_Token $current)
- {
- switch ($current->getName()) {
- case 'h1':
- case 'h2':
- case 'h3':
- case 'h4':
- case 'h5':
- case 'h6':
- case 'list':
- case 'li':
- if (($token['type'] == Zend_Markup_Token::TYPE_TAG)
- && (($token['name'] == 'break') || ($token['name'] == 'p'))
- ) {
- return true;
- }
- break;
- case 'break':
- return false;
- break;
- default:
- if (($token['type'] == Zend_Markup_Token::TYPE_TAG) && ($token['name'] == $current->getName())) {
- return true;
- }
- break;
- }
- return false;
- }
-
- /**
- * Extract the attributes
- *
- * @param array $matches
- *
- * @return array
- */
- protected function _extractAttributes(array $matches)
- {
- $attributes = array();
-
- if (!empty($matches['attr_class'])) {
- $attributes['class'] = $matches['attr_class'];
- }
- if (!empty($matches['attr_id'])) {
- $attributes['id'] = $matches['attr_id'];
- }
- if (!empty($matches['attr_style'])) {
- $attributes['style'] = $matches['attr_style'];
- }
- if (!empty($matches['attr_lang'])) {
- $attributes['lang'] = $matches['attr_lang'];
- }
- if (!empty($matches['attr_align'])) {
- switch ($matches['attr_align']) {
- case '=':
- $attributes['align'] = 'center';
- break;
- case '>':
- $attributes['align'] = 'right';
- break;
- case '<>':
- $attributes['align'] = 'justify';
- break;
- default:
- case '<':
- $attributes['align'] = 'left';
- break;
- }
- }
-
- return $attributes;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/Exception.php b/airtime_mvc/library/Zend/Markup/Renderer/Exception.php
deleted file mode 100644
index d1aed232a..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/Exception.php
+++ /dev/null
@@ -1,40 +0,0 @@
- array('block', 'inline', 'block-empty', 'inline-empty', 'list'),
- 'inline' => array('inline', 'inline-empty'),
- 'list' => array('list-item'),
- 'list-item' => array('inline', 'inline-empty', 'list'),
- 'block-empty' => array(),
- 'inline-empty' => array(),
- );
-
- /**
- * The current group
- *
- * @var string
- */
- protected $_group = 'block';
-
- /**
- * Default attributes
- *
- * @var array
- */
- protected static $_defaultAttributes = array(
- 'id' => '',
- 'class' => '',
- 'style' => '',
- 'lang' => '',
- 'title' => ''
- );
-
-
- /**
- * Constructor
- *
- * @param array|Zend_Config $options
- *
- * @return void
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- $this->_pluginLoader = new Zend_Loader_PluginLoader(array(
- 'Zend_Markup_Renderer_Html' => 'Zend/Markup/Renderer/Html/'
- ));
-
- $this->_defineDefaultMarkups();
-
- parent::__construct($options);
- }
-
- /**
- * Define the default markups
- *
- * @return void
- */
- protected function _defineDefaultMarkups()
- {
- $this->_markups = array(
- 'b' => array(
- 'type' => 10, // self::TYPE_REPLACE | self::TAG_NORMAL
- 'tag' => 'strong',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'u' => array(
- 'type' => 10,
- 'tag' => 'span',
- 'attributes' => array(
- 'style' => 'text-decoration: underline;',
- ),
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'i' => array(
- 'type' => 10,
- 'tag' => 'em',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'cite' => array(
- 'type' => 10,
- 'tag' => 'cite',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'del' => array(
- 'type' => 10,
- 'tag' => 'del',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'ins' => array(
- 'type' => 10,
- 'tag' => 'ins',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'sub' => array(
- 'type' => 10,
- 'tag' => 'sub',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'sup' => array(
- 'type' => 10,
- 'tag' => 'sup',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'span' => array(
- 'type' => 10,
- 'tag' => 'span',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'acronym' => array(
- 'type' => 10,
- 'tag' => 'acronym',
- 'group' => 'inline',
- 'filter' => true,
- ),
- // headings
- 'h1' => array(
- 'type' => 10,
- 'tag' => 'h1',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'h2' => array(
- 'type' => 10,
- 'tag' => 'h2',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'h3' => array(
- 'type' => 10,
- 'tag' => 'h3',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'h4' => array(
- 'type' => 10,
- 'tag' => 'h4',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'h5' => array(
- 'type' => 10,
- 'tag' => 'h5',
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'h6' => array(
- 'type' => 10,
- 'tag' => 'h6',
- 'group' => 'inline',
- 'filter' => true,
- ),
- // callback tags
- 'url' => array(
- 'type' => 6, // self::TYPE_CALLBACK | self::TAG_NORMAL
- 'callback' => null,
- 'group' => 'inline',
- 'filter' => true,
- ),
- 'img' => array(
- 'type' => 6,
- 'callback' => null,
- 'group' => 'inline-empty',
- 'filter' => true,
- ),
- 'code' => array(
- 'type' => 6,
- 'callback' => null,
- 'group' => 'block-empty',
- 'filter' => false,
- ),
- 'p' => array(
- 'type' => 10,
- 'tag' => 'p',
- 'group' => 'block',
- 'filter' => true,
- ),
- 'ignore' => array(
- 'type' => 10,
- 'start' => '',
- 'end' => '',
- 'group' => 'block-empty',
- 'filter' => true,
- ),
- 'quote' => array(
- 'type' => 10,
- 'tag' => 'blockquote',
- 'group' => 'block',
- 'filter' => true,
- ),
- 'list' => array(
- 'type' => 6,
- 'callback' => null,
- 'group' => 'list',
- 'filter' => new Zend_Filter_PregReplace('/.*/is', ''),
- ),
- '*' => array(
- 'type' => 10,
- 'tag' => 'li',
- 'group' => 'list-item',
- 'filter' => true,
- ),
- 'hr' => array(
- 'type' => 9, // self::TYPE_REPLACE | self::TAG_SINGLE
- 'tag' => 'hr',
- 'group' => 'block',
- 'empty' => true,
- ),
- // aliases
- 'bold' => array(
- 'type' => 16,
- 'name' => 'b',
- ),
- 'strong' => array(
- 'type' => 16,
- 'name' => 'b',
- ),
- 'italic' => array(
- 'type' => 16,
- 'name' => 'i',
- ),
- 'em' => array(
- 'type' => 16,
- 'name' => 'i',
- ),
- 'emphasized' => array(
- 'type' => 16,
- 'name' => 'i',
- ),
- 'underline' => array(
- 'type' => 16,
- 'name' => 'u',
- ),
- 'citation' => array(
- 'type' => 16,
- 'name' => 'cite',
- ),
- 'deleted' => array(
- 'type' => 16,
- 'name' => 'del',
- ),
- 'insert' => array(
- 'type' => 16,
- 'name' => 'ins',
- ),
- 'strike' => array(
- 'type' => 16,
- 'name' => 's',
- ),
- 's' => array(
- 'type' => 16,
- 'name' => 'del',
- ),
- 'subscript' => array(
- 'type' => 16,
- 'name' => 'sub',
- ),
- 'superscript' => array(
- 'type' => 16,
- 'name' => 'sup',
- ),
- 'a' => array(
- 'type' => 16,
- 'name' => 'url',
- ),
- 'image' => array(
- 'type' => 16,
- 'name' => 'img',
- ),
- 'li' => array(
- 'type' => 16,
- 'name' => '*',
- ),
- 'color' => array(
- 'type' => 16,
- 'name' => 'span',
- ),
- );
- }
-
- /**
- * Add the default filters
- *
- * @return void
- */
- public function addDefaultFilters()
- {
- $this->_defaultFilter = new Zend_Filter();
-
- $this->_defaultFilter->addFilter(new Zend_Filter_HtmlEntities(array('encoding' => self::getEncoding())));
- $this->_defaultFilter->addFilter(new Zend_Filter_Callback('nl2br'));
- }
-
- /**
- * Execute a replace token
- *
- * @param Zend_Markup_Token $token
- * @param array $markup
- * @return string
- */
- protected function _executeReplace(Zend_Markup_Token $token, $markup)
- {
- if (isset($markup['tag'])) {
- if (!isset($markup['attributes'])) {
- $markup['attributes'] = array();
- }
- $attrs = self::renderAttributes($token, $markup['attributes']);
- return "<{$markup['tag']}{$attrs}>{$this->_render($token)}{$markup['tag']}>";
- }
-
- return parent::_executeReplace($token, $markup);
- }
-
- /**
- * Execute a single replace token
- *
- * @param Zend_Markup_Token $token
- * @param array $markup
- * @return string
- */
- protected function _executeSingleReplace(Zend_Markup_Token $token, $markup)
- {
- if (isset($markup['tag'])) {
- if (!isset($markup['attributes'])) {
- $markup['attributes'] = array();
- }
- $attrs = self::renderAttributes($token, $markup['attributes']);
- return "<{$markup['tag']}{$attrs} />";
- }
- return parent::_executeSingleReplace($token, $markup);
- }
-
- /**
- * Render some attributes
- *
- * @param Zend_Markup_Token $token
- * @param array $attributes
- * @return string
- */
- public static function renderAttributes(Zend_Markup_Token $token, array $attributes = array())
- {
- $attributes = array_merge(self::$_defaultAttributes, $attributes);
-
- $return = '';
-
- $tokenAttributes = $token->getAttributes();
-
- // correct style attribute
- if (isset($tokenAttributes['style'])) {
- $tokenAttributes['style'] = trim($tokenAttributes['style']);
-
- if ($tokenAttributes['style'][strlen($tokenAttributes['style']) - 1] != ';') {
- $tokenAttributes['style'] .= ';';
- }
- } else {
- $tokenAttributes['style'] = '';
- }
-
- // special treathment for 'align' and 'color' attribute
- if (isset($tokenAttributes['align'])) {
- $tokenAttributes['style'] .= 'text-align: ' . $tokenAttributes['align'] . ';';
- unset($tokenAttributes['align']);
- }
- if (isset($tokenAttributes['color']) && self::checkColor($tokenAttributes['color'])) {
- $tokenAttributes['style'] .= 'color: ' . $tokenAttributes['color'] . ';';
- unset($tokenAttributes['color']);
- }
-
- /*
- * loop through all the available attributes, and check if there is
- * a value defined by the token
- * if there is no value defined by the token, use the default value or
- * don't set the attribute
- */
- foreach ($attributes as $attribute => $value) {
- if (isset($tokenAttributes[$attribute]) && !empty($tokenAttributes[$attribute])) {
- $return .= ' ' . $attribute . '="' . htmlentities($tokenAttributes[$attribute],
- ENT_QUOTES,
- self::getEncoding()) . '"';
- } elseif (!empty($value)) {
- $return .= ' ' . $attribute . '="' . htmlentities($value, ENT_QUOTES, self::getEncoding()) . '"';
- }
- }
-
- return $return;
- }
-
- /**
- * Check if a color is a valid HTML color
- *
- * @param string $color
- *
- * @return bool
- */
- public static function checkColor($color)
- {
- /*
- * aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive,
- * purple, red, silver, teal, white, and yellow.
- */
- $colors = array(
- 'aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime',
- 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal',
- 'white', 'yellow'
- );
-
- if (in_array($color, $colors)) {
- return true;
- }
-
- if (preg_match('/\#[0-9a-f]{6}/i', $color)) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Check if the URI is valid
- *
- * @param string $uri
- *
- * @return bool
- */
- public static function isValidUri($uri)
- {
- if (!preg_match('/^([a-z][a-z+\-.]*):/i', $uri, $matches)) {
- return false;
- }
-
- $scheme = strtolower($matches[1]);
-
- switch ($scheme) {
- case 'javascript':
- // JavaScript scheme is not allowed for security reason
- return false;
-
- case 'http':
- case 'https':
- case 'ftp':
- $components = @parse_url($uri);
-
- if ($components === false) {
- return false;
- }
-
- if (!isset($components['host'])) {
- return false;
- }
-
- return true;
-
- default:
- return true;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/Html/Code.php b/airtime_mvc/library/Zend/Markup/Renderer/Html/Code.php
deleted file mode 100644
index e7d63b395..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/Html/Code.php
+++ /dev/null
@@ -1,53 +0,0 @@
-_renderer = $renderer;
- }
-
- /**
- * Get the HTML renderer instance
- *
- * @return Zend_Markup_Renderer_Html
- */
- public function getRenderer()
- {
- return $this->_renderer;
- }
-}
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/Html/Img.php b/airtime_mvc/library/Zend/Markup/Renderer/Html/Img.php
deleted file mode 100644
index 79d2ca7c3..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/Html/Img.php
+++ /dev/null
@@ -1,84 +0,0 @@
-hasAttribute('alt')) {
- $alt = $token->getAttribute('alt');
- } else {
- // try to get the alternative from the URL
- $alt = rtrim($text, '/');
- $alt = strrchr($alt, '/');
- if (false !== strpos($alt, '.')) {
- $alt = substr($alt, 1, strpos($alt, '.') - 1);
- }
- }
-
- // run the URI and alt through htmlentities
- $uri = htmlentities($uri, ENT_QUOTES, Zend_Markup_Renderer_Html::getEncoding());
- $alt = htmlentities($alt, ENT_QUOTES, Zend_Markup_Renderer_Html::getEncoding());
-
-
- return " ";
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/Html/List.php b/airtime_mvc/library/Zend/Markup/Renderer/Html/List.php
deleted file mode 100644
index 706f27fbc..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/Html/List.php
+++ /dev/null
@@ -1,103 +0,0 @@
-hasAttribute('list')) {
- // because '01' == '1'
- if ($token->getAttribute('list') === '01') {
- $type = 'decimal-leading-zero';
- } else {
- switch ($token->getAttribute('list')) {
- case '1':
- $type = 'decimal';
- break;
- case 'i':
- $type = 'lower-roman';
- break;
- case 'I':
- $type = 'upper-roman';
- break;
- case 'a':
- $type = 'lower-alpha';
- break;
- case 'A':
- $type = 'upper-alpha';
- break;
-
- // the following type is unsupported by IE (including IE8)
- case 'alpha':
- $type = 'lower-greek';
- break;
-
- // the CSS names itself
- case 'armenian': // unsupported by IE (including IE8)
- case 'decimal':
- case 'decimal-leading-zero': // unsupported by IE (including IE8)
- case 'georgian': // unsupported by IE (including IE8)
- case 'lower-alpha':
- case 'lower-greek': // unsupported by IE (including IE8)
- case 'lower-latin': // unsupported by IE (including IE8)
- case 'lower-roman':
- case 'upper-alpha':
- case 'upper-latin': // unsupported by IE (including IE8)
- case 'upper-roman':
- $type = $token->getAttribute('list');
- break;
- }
- }
- }
-
- if (null !== $type) {
- return "{$text} ";
- } else {
- return "";
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/Html/Url.php b/airtime_mvc/library/Zend/Markup/Renderer/Html/Url.php
deleted file mode 100644
index 3a93614ba..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/Html/Url.php
+++ /dev/null
@@ -1,77 +0,0 @@
-hasAttribute('url')) {
- $uri = $token->getAttribute('url');
- } else {
- $uri = $text;
- }
-
- if (!preg_match('/^([a-z][a-z+\-.]*):/i', $uri)) {
- $uri = 'http://' . $uri;
- }
-
- // check if the URL is valid
- if (!Zend_Markup_Renderer_Html::isValidUri($uri)) {
- return $text;
- }
-
- $attributes = Zend_Markup_Renderer_Html::renderAttributes($token);
-
- // run the URI through htmlentities
- $uri = htmlentities($uri, ENT_QUOTES, Zend_Markup_Renderer_Html::getEncoding());
-
- return "{$text} ";
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/RendererAbstract.php b/airtime_mvc/library/Zend/Markup/Renderer/RendererAbstract.php
deleted file mode 100644
index 348413c91..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/RendererAbstract.php
+++ /dev/null
@@ -1,707 +0,0 @@
-toArray();
- }
-
- if (isset($options['encoding'])) {
- $this->setEncoding($options['encoding']);
- }
- if (isset($options['parser'])) {
- $this->setParser($options['parser']);
- }
- if (isset($options['useDefaultTags']) && ($options['useDefaultTags'] === false)) {
- $this->removeDefaultTags();
- }
- if (!isset($options['useDefaultFilters']) || ($options['useDefaultFilters'] === true)) {
- $this->addDefaultFilters();
- }
- if (isset($options['defaultFilter'])) {
- $this->addDefaultFilter($options['defaultFilter']);
- }
- }
-
- /**
- * Set the parser
- *
- * @param Zend_Markup_Parser_ParserInterface $parser
- * @return Zend_Markup_Renderer_RendererAbstract
- */
- public function setParser(Zend_Markup_Parser_ParserInterface $parser)
- {
- $this->_parser = $parser;
- return $this;
- }
-
- /**
- * Get the parser
- *
- * @return Zend_Markup_Parser_ParserInterface
- */
- public function getParser()
- {
- return $this->_parser;
- }
-
- /**
- * Get the plugin loader
- *
- * @return Zend_Loader_PluginLoader
- */
- public function getPluginLoader()
- {
- return $this->_pluginLoader;
- }
-
- /**
- * Set the renderer's encoding
- *
- * @param string $encoding
- *
- * @return Zend_Markup_Renderer_RendererAbstract
- */
- public static function setEncoding($encoding)
- {
- self::$_encoding = $encoding;
-
- return $this;
- }
-
- /**
- * Get the renderer's encoding
- *
- * @return string
- */
- public static function getEncoding()
- {
- return self::$_encoding;
- }
-
- /**
- * Add a new markup
- *
- * @param string $name
- * @param string $type
- * @param array $options
- *
- * @return Zend_Markup_Renderer_RendererAbstract
- */
- public function addMarkup($name, $type, array $options)
- {
- if (!isset($options['group']) && ($type ^ self::TYPE_ALIAS)) {
- require_once 'Zend/Markup/Renderer/Exception.php';
- throw new Zend_Markup_Renderer_Exception("There is no render group defined.");
- }
-
- // add the filter
- if (isset($options['filter'])) {
- if ($options['filter'] instanceof Zend_Filter_Interface) {
- $filter = $options['filter'];
- } elseif ($options['filter'] === true) {
- $filter = $this->getDefaultFilter();
- } else {
- $filter = false;
- }
- } else {
- $filter = $this->getDefaultFilter();
- }
-
- // check the type
- if ($type & self::TYPE_CALLBACK) {
- // add a callback tag
- if (isset($options['callback'])) {
- if (!($options['callback'] instanceof Zend_Markup_Renderer_TokenConverterInterface)) {
- require_once 'Zend/Markup/Renderer/Exception.php';
- throw new Zend_Markup_Renderer_Exception("Not a valid tag callback.");
- }
- if (method_exists($options['callback'], 'setRenderer')) {
- $options['callback']->setRenderer($this);
- }
- } else {
- $options['callback'] = null;
- }
-
- $options['type'] = $type;
- $options['filter'] = $filter;
-
- $this->_markups[$name] = $options;
- } elseif ($type & self::TYPE_ALIAS) {
- // add an alias
- if (empty($options['name'])) {
- require_once 'Zend/Markup/Renderer/Exception.php';
- throw new Zend_Markup_Renderer_Exception(
- 'No alias was provided but tag was defined as such');
- }
-
- $this->_markups[$name] = array(
- 'type' => self::TYPE_ALIAS,
- 'name' => $options['name']
- );
- } else {
- if ($type && array_key_exists('empty', $options) && $options['empty']) {
- // add a single replace markup
- $options['type'] = $type;
- $options['filter'] = $filter;
-
- $this->_markups[$name] = $options;
- } else {
- // add a replace markup
- $options['type'] = $type;
- $options['filter'] = $filter;
-
- $this->_markups[$name] = $options;
- }
- }
- return $this;
- }
-
- /**
- * Remove a markup
- *
- * @param string $name
- *
- * @return void
- */
- public function removeMarkup($name)
- {
- unset($this->_markups[$name]);
- }
-
- /**
- * Remove the default tags
- *
- * @return void
- */
- public function clearMarkups()
- {
- $this->_markups = array();
- }
-
- /**
- * Render function
- *
- * @param Zend_Markup_TokenList|string $tokenList
- * @return string
- */
- public function render($value)
- {
- if ($value instanceof Zend_Markup_TokenList) {
- $tokenList = $value;
- } else {
- $tokenList = $this->getParser()->parse($value);
- }
-
- $root = $tokenList->current();
-
- $this->_filter = $this->getDefaultFilter();
-
- return $this->_render($root);
- }
-
- /**
- * Render a single token
- *
- * @param Zend_Markup_Token $token
- * @return string
- */
- protected function _render(Zend_Markup_Token $token)
- {
- $return = '';
-
- $this->_token = $token;
-
- // if this tag has children, execute them
- if ($token->hasChildren()) {
- foreach ($token->getChildren() as $child) {
- $return .= $this->_execute($child);
- }
- }
-
- return $return;
- }
-
- /**
- * Get the group of a token
- *
- * @param Zend_Markup_Token $token
- * @return string|bool
- */
- protected function _getGroup(Zend_Markup_Token $token)
- {
- if (!isset($this->_markups[$token->getName()])) {
- return false;
- }
-
- $tag = $this->_markups[$token->getName()];
-
- // alias processing
- while ($tag['type'] & self::TYPE_ALIAS) {
- $tag = $this->_markups[$tag['name']];
- }
-
- return isset($tag['group']) ? $tag['group'] : false;
- }
-
- /**
- * Execute the token
- *
- * @param Zend_Markup_Token $token
- * @return string
- */
- protected function _execute(Zend_Markup_Token $token)
- {
- // first return the normal text tags
- if ($token->getType() == Zend_Markup_Token::TYPE_NONE) {
- return $this->_filter($token->getTag());
- }
-
- // if the token doesn't have a notation, return the plain text
- if (!isset($this->_markups[$token->getName()])) {
- $oldToken = $this->_token;
- $return = $this->_filter($token->getTag()) . $this->_render($token) . $token->getStopper();
- $this->_token = $oldToken;
- return $return;
- }
-
- $name = $this->_getMarkupName($token);
- $markup = (!$name) ? false : $this->_markups[$name];
- $empty = (is_array($markup) && array_key_exists('empty', $markup) && $markup['empty']);
-
- // check if the tag has content
- if (!$empty && !$token->hasChildren()) {
- return '';
- }
-
- // check for the context
- if (is_array($markup) && !in_array($markup['group'], $this->_groups[$this->_group])) {
- $oldToken = $this->_token;
- $return = $this->_filter($token->getTag()) . $this->_render($token) . $token->getStopper();
- $this->_token = $oldToken;
- return $return;
- }
-
- // check for the filter
- if (!isset($markup['filter'])
- || (!($markup['filter'] instanceof Zend_Filter_Interface) && ($markup['filter'] !== false))) {
- $this->_markups[$name]['filter'] = $this->getDefaultFilter();
- }
-
- // save old values to reset them after the work is done
- $oldFilter = $this->_filter;
- $oldGroup = $this->_group;
-
- $return = '';
-
- // set the filter and the group
- $this->_filter = $this->getFilter($name);
-
- if ($group = $this->_getGroup($token)) {
- $this->_group = $group;
- }
-
- // callback
- if (is_array($markup) && ($markup['type'] & self::TYPE_CALLBACK)) {
- // load the callback if the tag doesn't exist
- if (!($markup['callback'] instanceof Zend_Markup_Renderer_TokenConverterInterface)) {
- $class = $this->getPluginLoader()->load($name);
-
- $markup['callback'] = new $class;
-
- if (!($markup['callback'] instanceof Zend_Markup_Renderer_TokenConverterInterface)) {
- require_once 'Zend/Markup/Renderer/Exception.php';
- throw new Zend_Markup_Renderer_Exception("Callback for tag '$name' found, but it isn't valid.");
- }
-
- if (method_exists($markup['callback'], 'setRenderer')) {
- $markup['callback']->setRenderer($this);
- }
- }
- if ($markup['type'] && !$empty) {
- $return = $markup['callback']->convert($token, $this->_render($token));
- } else {
- $return = $markup['callback']->convert($token, null);
- }
- } else {
- // replace
- if ($markup['type'] && !$empty) {
- $return = $this->_executeReplace($token, $markup);
- } else {
- $return = $this->_executeSingleReplace($token, $markup);
- }
- }
-
- // reset to the old values
- $this->_filter = $oldFilter;
- $this->_group = $oldGroup;
-
- return $return;
- }
-
- /**
- * Filter method
- *
- * @param string $value
- *
- * @return string
- */
- protected function _filter($value)
- {
- if ($this->_filter instanceof Zend_Filter_Interface) {
- return $this->_filter->filter($value);
- }
- return $value;
- }
-
- /**
- * Get the markup name
- *
- * @param Zend_Markup_Token
- *
- * @return string
- */
- protected function _getMarkupName(Zend_Markup_Token $token)
- {
- $name = $token->getName();
- if (empty($name)) {
- return false;
- }
-
- return $this->_resolveMarkupName($name);
- }
-
- /**
- * Resolve aliases for a markup name
- *
- * @param string $name
- *
- * @return string
- */
- protected function _resolveMarkupName($name)
- {
- while (($type = $this->_getMarkupType($name))
- && ($type & self::TYPE_ALIAS)
- ) {
- $name = $this->_markups[$name]['name'];
- }
-
- return $name;
- }
-
- /**
- * Retrieve markup type
- *
- * @param string $name
- * @return false|int
- */
- protected function _getMarkupType($name)
- {
- if (!isset($this->_markups[$name])) {
- return false;
- }
- if (!isset($this->_markups[$name]['type'])) {
- return false;
- }
- return $this->_markups[$name]['type'];
- }
-
- /**
- * Execute a replace token
- *
- * @param Zend_Markup_Token $token
- * @param array $tag
- * @return string
- */
- protected function _executeReplace(Zend_Markup_Token $token, $tag)
- {
- return $tag['start'] . $this->_render($token) . $tag['end'];
- }
-
- /**
- * Execute a single replace token
- *
- * @param Zend_Markup_Token $token
- * @param array $tag
- * @return string
- */
- protected function _executeSingleReplace(Zend_Markup_Token $token, $tag)
- {
- return $tag['replace'];
- }
-
- /**
- * Get the default filter
- *
- * @return void
- */
- public function getDefaultFilter()
- {
- if (null === $this->_defaultFilter) {
- $this->setDefaultFilter();
- }
-
- return $this->_defaultFilter;
- }
-
- /**
- * Add a default filter
- *
- * @param string $filter
- *
- * @return void
- */
- public function addDefaultFilter(Zend_Filter_Interface $filter, $placement = Zend_Filter::CHAIN_APPEND)
- {
- if (!($this->_defaultFilter instanceof Zend_Filter)) {
- $defaultFilter = new Zend_Filter();
- $defaultFilter->addFilter($filter);
- $this->_defaultFilter = $defaultFilter;
- }
-
- $this->_defaultFilter->addFilter($filter, $placement);
- }
-
- /**
- * Set the default filter
- *
- * @param Zend_Filter_Interface $filter
- *
- * @return void
- */
- public function setDefaultFilter(Zend_Filter_Interface $filter)
- {
- $this->_defaultFilter = $filter;
- }
-
- /**
- * Get the filter for an existing markup
- *
- * @param string $markup
- *
- * @return Zend_Filter_Interface
- */
- public function getFilter($markup)
- {
- $markup = $this->_resolveMarkupName($markup);
-
- if (!isset($this->_markups[$markup]['filter'])
- || !($this->_markups[$markup]['filter'] instanceof Zend_Filter_Interface)
- ) {
- if (isset($this->_markups[$markup]['filter']) && $this->_markups[$markup]['filter']) {
- $this->_markups[$markup]['filter'] = $this->getDefaultFilter();
- } else {
- return false;
- }
- }
-
- return $this->_markups[$markup]['filter'];
- }
-
- /**
- * Add a filter for an existing markup
- *
- * @param Zend_Filter_Interface $filter
- * @param string $markup
- * @param string $placement
- *
- * @return Zend_Markup_Renderer_RendererAbstract
- */
- public function addFilter(Zend_Filter_Interface $filter, $markup, $placement = Zend_Filter::CHAIN_APPEND)
- {
- $markup = $this->_resolveMarkupName($markup);
-
- $oldFilter = $this->getFilter($markup);
-
- // if this filter is the default filter, clone it first
- if ($oldFilter === $this->getDefaultFilter()) {
- $oldFilter = clone $oldFilter;
- }
-
- if (!($oldFilter instanceof Zend_Filter)) {
- $this->_markups[$markup]['filter'] = new Zend_Filter();
-
- if ($oldFilter instanceof Zend_Filter_Interface) {
- $this->_markups[$markup]['filter']->addFilter($oldFilter);
- }
- } else {
- $this->_markups[$markup]['filter'] = $oldFilter;
- }
-
- $this->_markups[$markup]['filter']->addFilter($filter, $placement);
-
- return $this;
- }
-
- /**
- * Set the filter for an existing
- *
- * @param Zend_Filter_Interface $filter
- * @param string $markup
- *
- * @return Zend_Markup_Renderer_RendererAbstract
- */
- public function setFilter(Zend_Filter_Interface $filter, $markup)
- {
- $markup = $this->_resolveMarkupName($markup);
-
- $this->_markups[$markup]['filter'] = $filter;
-
- return $this;
- }
-
- /**
- * Add a render group
- *
- * @param string $name
- * @param array $allowedInside
- * @param array $allowsInside
- *
- * @return void
- */
- public function addGroup($name, array $allowedInside = array(), array $allowsInside = array())
- {
- $this->_groups[$name] = $allowsInside;
-
- foreach ($allowedInside as $group) {
- $this->_groups[$group][] = $name;
- }
- }
-
- /**
- * Get group definitions
- *
- * @return array
- */
- public function getGroups()
- {
- return $this->_groups;
- }
-
- /**
- * Set the default filters
- *
- * @return void
- */
- abstract public function addDefaultFilters();
-
-}
diff --git a/airtime_mvc/library/Zend/Markup/Renderer/TokenConverterInterface.php b/airtime_mvc/library/Zend/Markup/Renderer/TokenConverterInterface.php
deleted file mode 100644
index 8c9383747..000000000
--- a/airtime_mvc/library/Zend/Markup/Renderer/TokenConverterInterface.php
+++ /dev/null
@@ -1,44 +0,0 @@
-_tag = $tag;
- $this->_type = $type;
- $this->_name = $name;
- $this->_attributes = $attributes;
- $this->_parent = $parent;
- }
-
- // accessors
-
- /**
- * Set the stopper
- *
- * @param string $stopper
- * @return Zend_Markup_Token
- */
- public function setStopper($stopper)
- {
- $this->_stopper = $stopper;
-
- return $this;
- }
-
- /**
- * Get the stopper
- *
- * @return string
- */
- public function getStopper()
- {
- return $this->_stopper;
- }
-
- /**
- * Get the token's name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Get the token's type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Get the complete tag
- *
- * @return string
- */
- public function getTag()
- {
- return $this->_tag;
- }
-
- /**
- * Get an attribute
- *
- * @param string $name
- *
- * @return string
- */
- public function getAttribute($name)
- {
- return isset($this->_attributes[$name]) ? $this->_attributes[$name] : null;
- }
-
- /**
- * Check if the token has an attribute
- *
- * @param string $name
- *
- * @return bool
- */
- public function hasAttribute($name)
- {
- return isset($this->_attributes[$name]);
- }
-
- /**
- * Get all the attributes
- *
- * @return array
- */
- public function getAttributes()
- {
- return $this->_attributes;
- }
-
- /**
- * Add an attribute
- *
- * @return Zend_Markup_Token
- */
- public function addAttribute($name, $value)
- {
- $this->_attributes[$name] = $value;
-
- return $this;
- }
-
- /**
- * Check if an attribute is empty
- *
- * @param string $name
- *
- * @return bool
- */
- public function attributeIsEmpty($name)
- {
- return empty($this->_attributes[$name]);
- }
-
- // functions for child/parent tokens
-
- /**
- * Add a child token
- *
- * @return void
- */
- public function addChild(Zend_Markup_Token $child)
- {
- $this->getChildren()->addChild($child);
- }
-
- /**
- * Set the children token list
- *
- * @param Zend_Markup_TokenList $children
- * @return Zend_Markup_Token
- */
- public function setChildren(Zend_Markup_TokenList $children)
- {
- $this->_children = $children;
- return $this;
- }
-
- /**
- * Get the children for this token
- *
- * @return Zend_Markup_TokenList
- */
- public function getChildren()
- {
- if (null === $this->_children) {
- $this->setChildren(new Zend_Markup_TokenList());
- }
- return $this->_children;
- }
-
- /**
- * Does this token have any children
- *
- * @return bool
- */
- public function hasChildren()
- {
- return !empty($this->_children);
- }
-
- /**
- * Get the parent token (if any)
- *
- * @return Zend_Markup_Token
- */
- public function getParent()
- {
- return $this->_parent;
- }
-
- /**
- * Set a parent token
- *
- * @param Zend_Markup_Token $parent
- * @return Zend_Markup_Token
- */
- public function setParent(Zend_Markup_Token $parent)
- {
- $this->_parent = $parent;
- return $this;
- }
-
- /**
- * Magic clone function
- *
- * @return void
- */
- public function __clone()
- {
- $this->_parent = null;
- $this->_children = null;
- $this->_tag = '';
- }
-}
diff --git a/airtime_mvc/library/Zend/Markup/TokenList.php b/airtime_mvc/library/Zend/Markup/TokenList.php
deleted file mode 100644
index 5a5563794..000000000
--- a/airtime_mvc/library/Zend/Markup/TokenList.php
+++ /dev/null
@@ -1,124 +0,0 @@
-_tokens);
- }
-
- /**
- * Get the children of the current token
- *
- * @return Zend_Markup_TokenList
- */
- public function getChildren()
- {
- return current($this->_tokens)->getChildren();
- }
-
- /**
- * Add a new child token
- *
- * @param Zend_Markup_Token $child
- *
- * @return void
- */
- public function addChild(Zend_Markup_Token $child)
- {
- $this->_tokens[] = $child;
- }
-
- /**
- * Check if the current token has children
- *
- * @return bool
- */
- public function hasChildren()
- {
- return current($this->_tokens)->hasChildren();
- }
-
- /**
- * Get the key of the current token
- *
- * @return int
- */
- public function key()
- {
- return key($this->_tokens);
- }
-
- /**
- * Go to the next token
- *
- * @return Zend_Markup_Token
- */
- public function next()
- {
- return next($this->_tokens);
- }
-
- /**
- * Rewind the iterator
- *
- * @return void
- */
- public function rewind()
- {
- reset($this->_tokens);
- }
-
- /**
- * Check if the element is valid
- *
- * @return void
- */
- public function valid()
- {
- return $this->current() !== false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Measure/Abstract.php b/airtime_mvc/library/Zend/Measure/Abstract.php
deleted file mode 100644
index 48e6d957c..000000000
--- a/airtime_mvc/library/Zend/Measure/Abstract.php
+++ /dev/null
@@ -1,418 +0,0 @@
-setLocale($locale);
- if ($type === null) {
- $type = $this->_units['STANDARD'];
- }
-
- if (isset($this->_units[$type]) === false) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Type ($type) is unknown");
- }
-
- $this->setValue($value, $type, $this->_locale);
- }
-
- /**
- * Returns the actual set locale
- *
- * @return string
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Sets a new locale for the value representation
- *
- * @param string|Zend_Locale $locale (Optional) New locale to set
- * @param boolean $check False, check but don't set; True, set the new locale
- * @return Zend_Measure_Abstract
- */
- public function setLocale($locale = null, $check = false)
- {
- if (empty($locale)) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Locale') === true) {
- $locale = Zend_Registry::get('Zend_Locale');
- }
- }
-
- if ($locale === null) {
- $locale = new Zend_Locale();
- }
-
- if (!Zend_Locale::isLocale($locale, true, false)) {
- if (!Zend_Locale::isLocale($locale, false, false)) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Language (" . (string) $locale . ") is unknown");
- }
-
- $locale = new Zend_Locale($locale);
- }
-
- if (!$check) {
- $this->_locale = (string) $locale;
- }
- return $this;
- }
-
- /**
- * Returns the internal value
- *
- * @param integer $round (Optional) Rounds the value to an given precision,
- * Default is -1 which returns without rounding
- * @param string|Zend_Locale $locale (Optional) Locale for number representation
- * @return integer|string
- */
- public function getValue($round = -1, $locale = null)
- {
- if ($round < 0) {
- $return = $this->_value;
- } else {
- $return = Zend_Locale_Math::round($this->_value, $round);
- }
-
- if ($locale !== null) {
- $this->setLocale($locale, true);
- return Zend_Locale_Format::toNumber($return, array('locale' => $locale));
- }
-
- return $return;
- }
-
- /**
- * Set a new value
- *
- * @param integer|string $value Value as string, integer, real or float
- * @param string $type OPTIONAL A measure type f.e. Zend_Measure_Length::METER
- * @param string|Zend_Locale $locale OPTIONAL Locale for parsing numbers
- * @throws Zend_Measure_Exception
- * @return Zend_Measure_Abstract
- */
- public function setValue($value, $type = null, $locale = null)
- {
- if (($type !== null) and (Zend_Locale::isLocale($type, null, false))) {
- $locale = $type;
- $type = null;
- }
-
- if ($locale === null) {
- $locale = $this->_locale;
- }
-
- $this->setLocale($locale, true);
- if ($type === null) {
- $type = $this->_units['STANDARD'];
- }
-
- if (empty($this->_units[$type])) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Type ($type) is unknown");
- }
-
- try {
- $value = Zend_Locale_Format::getNumber($value, array('locale' => $locale));
- } catch(Exception $e) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception($e->getMessage(), $e->getCode(), $e);
- }
-
- $this->_value = $value;
- $this->setType($type);
- return $this;
- }
-
- /**
- * Returns the original type
- *
- * @return type
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set a new type, and convert the value
- *
- * @param string $type New type to set
- * @throws Zend_Measure_Exception
- * @return Zend_Measure_Abstract
- */
- public function setType($type)
- {
- if (empty($this->_units[$type])) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Type ($type) is unknown");
- }
-
- if (empty($this->_type)) {
- $this->_type = $type;
- } else {
- // Convert to standard value
- $value = $this->_value;
- if (is_array($this->_units[$this->getType()][0])) {
- foreach ($this->_units[$this->getType()][0] as $key => $found) {
- switch ($key) {
- case "/":
- if ($found != 0) {
- $value = call_user_func(Zend_Locale_Math::$div, $value, $found, 25);
- }
- break;
- case "+":
- $value = call_user_func(Zend_Locale_Math::$add, $value, $found, 25);
- break;
- case "-":
- $value = call_user_func(Zend_Locale_Math::$sub, $value, $found, 25);
- break;
- default:
- $value = call_user_func(Zend_Locale_Math::$mul, $value, $found, 25);
- break;
- }
- }
- } else {
- $value = call_user_func(Zend_Locale_Math::$mul, $value, $this->_units[$this->getType()][0], 25);
- }
-
- // Convert to expected value
- if (is_array($this->_units[$type][0])) {
- foreach (array_reverse($this->_units[$type][0]) as $key => $found) {
- switch ($key) {
- case "/":
- $value = call_user_func(Zend_Locale_Math::$mul, $value, $found, 25);
- break;
- case "+":
- $value = call_user_func(Zend_Locale_Math::$sub, $value, $found, 25);
- break;
- case "-":
- $value = call_user_func(Zend_Locale_Math::$add, $value, $found, 25);
- break;
- default:
- if ($found != 0) {
- $value = call_user_func(Zend_Locale_Math::$div, $value, $found, 25);
- }
- break;
- }
- }
- } else {
- $value = call_user_func(Zend_Locale_Math::$div, $value, $this->_units[$type][0], 25);
- }
-
- $slength = strlen($value);
- $length = 0;
- for($i = 1; $i <= $slength; ++$i) {
- if ($value[$slength - $i] != '0') {
- $length = 26 - $i;
- break;
- }
- }
-
- $this->_value = Zend_Locale_Math::round($value, $length);
- $this->_type = $type;
- }
- return $this;
- }
-
- /**
- * Compare if the value and type is equal
- *
- * @param Zend_Measure_Abstract $object object to compare
- * @return boolean
- */
- public function equals($object)
- {
- if ((string) $object == $this->toString()) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Returns a string representation
- *
- * @param integer $round (Optional) Runds the value to an given exception
- * @param string|Zend_Locale $locale (Optional) Locale to set for the number
- * @return string
- */
- public function toString($round = -1, $locale = null)
- {
- if ($locale === null) {
- $locale = $this->_locale;
- }
-
- return $this->getValue($round, $locale) . ' ' . $this->_units[$this->getType()][1];
- }
-
- /**
- * Returns a string representation
- *
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-
- /**
- * Returns the conversion list
- *
- * @return array
- */
- public function getConversionList()
- {
- return $this->_units;
- }
-
- /**
- * Alias function for setType returning the converted unit
- *
- * @param string $type Constant Type
- * @param integer $round (Optional) Rounds the value to a given precision
- * @param string|Zend_Locale $locale (Optional) Locale to set for the number
- * @return string
- */
- public function convertTo($type, $round = 2, $locale = null)
- {
- $this->setType($type);
- return $this->toString($round, $locale);
- }
-
- /**
- * Adds an unit to another one
- *
- * @param Zend_Measure_Abstract $object object of same unit type
- * @return Zend_Measure_Abstract
- */
- public function add($object)
- {
- $object->setType($this->getType());
- $value = $this->getValue(-1) + $object->getValue(-1);
-
- $this->setValue($value, $this->getType(), $this->_locale);
- return $this;
- }
-
- /**
- * Substracts an unit from another one
- *
- * @param Zend_Measure_Abstract $object object of same unit type
- * @return Zend_Measure_Abstract
- */
- public function sub($object)
- {
- $object->setType($this->getType());
- $value = $this->getValue(-1) - $object->getValue(-1);
-
- $this->setValue($value, $this->getType(), $this->_locale);
- return $this;
- }
-
- /**
- * Compares two units
- *
- * @param Zend_Measure_Abstract $object object of same unit type
- * @return boolean
- */
- public function compare($object)
- {
- $object->setType($this->getType());
- $value = $this->getValue(-1) - $object->getValue(-1);
-
- if ($value < 0) {
- return -1;
- } else if ($value > 0) {
- return 1;
- }
-
- return 0;
- }
-}
diff --git a/airtime_mvc/library/Zend/Measure/Acceleration.php b/airtime_mvc/library/Zend/Measure/Acceleration.php
deleted file mode 100644
index 8d94ef48f..000000000
--- a/airtime_mvc/library/Zend/Measure/Acceleration.php
+++ /dev/null
@@ -1,91 +0,0 @@
- array('0.0001', 'cgal'),
- 'CENTIMETER_PER_SQUARE_SECOND' => array('0.01', 'cm/s²'),
- 'DECIGAL' => array('0.001', 'dgal'),
- 'DECIMETER_PER_SQUARE_SECOND' => array('0.1', 'dm/s²'),
- 'DEKAMETER_PER_SQUARE_SECOND' => array('10', 'dam/s²'),
- 'FOOT_PER_SQUARE_SECOND' => array('0.3048', 'ft/s²'),
- 'G' => array('9.80665', 'g'),
- 'GAL' => array('0.01', 'gal'),
- 'GALILEO' => array('0.01', 'gal'),
- 'GRAV' => array('9.80665', 'g'),
- 'HECTOMETER_PER_SQUARE_SECOND' => array('100', 'h/s²'),
- 'INCH_PER_SQUARE_SECOND' => array('0.0254', 'in/s²'),
- 'KILOMETER_PER_HOUR_SECOND' => array(array('' => '5','/' => '18'), 'km/h²'),
- 'KILOMETER_PER_SQUARE_SECOND' => array('1000', 'km/s²'),
- 'METER_PER_SQUARE_SECOND' => array('1', 'm/s²'),
- 'MILE_PER_HOUR_MINUTE' => array(array('' => '22', '/' => '15', '*' => '0.3048', '/' => '60'), 'mph/m'),
- 'MILE_PER_HOUR_SECOND' => array(array('' => '22', '/' => '15', '*' => '0.3048'), 'mph/s'),
- 'MILE_PER_SQUARE_SECOND' => array('1609.344', 'mi/s²'),
- 'MILLIGAL' => array('0.00001', 'mgal'),
- 'MILLIMETER_PER_SQUARE_SECOND' => array('0.001', 'mm/s²'),
- 'STANDARD' => 'METER_PER_SQUARE_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Angle.php b/airtime_mvc/library/Zend/Measure/Angle.php
deleted file mode 100644
index 6f02d1f32..000000000
--- a/airtime_mvc/library/Zend/Measure/Angle.php
+++ /dev/null
@@ -1,78 +0,0 @@
- array('1','rad'),
- 'MIL' => array(array('' => M_PI,'/' => '3200'), 'mil'),
- 'GRAD' => array(array('' => M_PI,'/' => '200'), 'gr'),
- 'DEGREE' => array(array('' => M_PI,'/' => '180'), '°'),
- 'MINUTE' => array(array('' => M_PI,'/' => '10800'), "'"),
- 'SECOND' => array(array('' => M_PI,'/' => '648000'), '"'),
- 'POINT' => array(array('' => M_PI,'/' => '16'), 'pt'),
- 'CIRCLE_16' => array(array('' => M_PI,'/' => '8'), 'per 16 circle'),
- 'CIRCLE_10' => array(array('' => M_PI,'/' => '5'), 'per 10 circle'),
- 'CIRCLE_8' => array(array('' => M_PI,'/' => '4'), 'per 8 circle'),
- 'CIRCLE_6' => array(array('' => M_PI,'/' => '3'), 'per 6 circle'),
- 'CIRCLE_4' => array(array('' => M_PI,'/' => '2'), 'per 4 circle'),
- 'CIRCLE_2' => array(M_PI, 'per 2 circle'),
- 'FULL_CIRCLE' => array(array('' => M_PI,'*' => '2'), 'cir'),
- 'STANDARD' => 'RADIAN'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Area.php b/airtime_mvc/library/Zend/Measure/Area.php
deleted file mode 100644
index bc018d568..000000000
--- a/airtime_mvc/library/Zend/Measure/Area.php
+++ /dev/null
@@ -1,310 +0,0 @@
- array('4046.856422', 'A'),
- 'ACRE_COMMERCIAL' => array('3344.50944', 'A'),
- 'ACRE_SURVEY' => array('4046.872627', 'A'),
- 'ACRE_IRELAND' => array('6555', 'A'),
- 'ARE' => array('100', 'a'),
- 'ARPENT' => array('3418.89', 'arpent'),
- 'BARN' => array('1e-28', 'b'),
- 'BOVATE' => array('60000', 'bovate'),
- 'BUNDER' => array('10000', 'bunder'),
- 'CABALLERIA' => array('400000', 'caballeria'),
- 'CABALLERIA_AMERICA' => array('450000', 'caballeria'),
- 'CABALLERIA_CUBA' => array('134200', 'caballeria'),
- 'CARREAU' => array('12900', 'carreau'),
- 'CARUCATE' => array('486000', 'carucate'),
- 'CAWNEY' => array('5400', 'cawney'),
- 'CENTIARE' => array('1', 'ca'),
- 'CONG' => array('1000', 'cong'),
- 'COVER' => array('2698', 'cover'),
- 'CUERDA' => array('3930', 'cda'),
- 'DEKARE' => array('1000', 'dekare'),
- 'DESSIATINA' => array('10925', 'dessiantina'),
- 'DHUR' => array('16.929', 'dhur'),
- 'DUNUM' => array('1000', 'dunum'),
- 'DUNHAM' => array('1000', 'dunham'),
- 'FALL_SCOTS' => array('32.15', 'fall'),
- 'FALL' => array('47.03', 'fall'),
- 'FANEGA' => array('6430', 'fanega'),
- 'FARTHINGDALE' => array('1012', 'farthingdale'),
- 'HACIENDA' => array('89600000', 'hacienda'),
- 'HECTARE' => array('10000', 'ha'),
- 'HIDE' => array('486000', 'hide'),
- 'HOMESTEAD' => array('647500', 'homestead'),
- 'HUNDRED' => array('50000000', 'hundred'),
- 'JERIB' => array('2000', 'jerib'),
- 'JITRO' => array('5755', 'jitro'),
- 'JOCH' => array('5755', 'joch'),
- 'JUTRO' => array('5755', 'jutro'),
- 'JO' => array('1.62', 'jo'),
- 'KAPPLAND' => array('154.26', 'kappland'),
- 'KATTHA' => array('338', 'kattha'),
- 'LABOR' => array('716850', 'labor'),
- 'LEGUA' => array('17920000', 'legua'),
- 'MANZANA_COSTA_RICA' => array('6988.96', 'manzana'),
- 'MANZANA' => array('10000', 'manzana'),
- 'MORGEN' => array('2500', 'morgen'),
- 'MORGEN_AFRICA' => array('8567', 'morgen'),
- 'MU' => array(array('' => '10000', '/' => '15'), 'mu'),
- 'NGARN' => array('400', 'ngarn'),
- 'NOOK' => array('80937.128', 'nook'),
- 'OXGANG' => array('60000', 'oxgang'),
- 'PERCH' => array('25.29285264', 'perch'),
- 'PERCHE' => array('34.19', 'perche'),
- 'PING' => array('3.305', 'ping'),
- 'PYONG' => array('3.306', 'pyong'),
- 'RAI' => array('1600', 'rai'),
- 'ROOD' => array('1011.7141', 'rood'),
- 'SECTION' => array('2589998.5', 'sec'),
- 'SHED' => array('10e-52', 'shed'),
- 'SITIO' => array('18000000', 'sitio'),
- 'SQUARE' => array('9.290304', 'sq'),
- 'SQUARE_ANGSTROM' => array('1.0e-20', 'A²'),
- 'SQUARE_ASTRONOMICAL_UNIT' => array('2.2379523e+22', 'AU²'),
- 'SQUARE_ATTOMETER' => array('1.0e-36', 'am²'),
- 'SQUARE_BICRON' => array('1.0e-24', 'µµ²'),
- 'SQUARE_CENTIMETER' => array('0.0001', 'cm²'),
- 'SQUARE_CHAIN' => array('404.68726', 'ch²'),
- 'SQUARE_CHAIN_ENGINEER' => array('929.03412', 'ch²'),
- 'SQUARE_CITY_BLOCK_US_EAST' => array('4.97027584', 'sq block'),
- 'SQUARE_CITY_BLOCK_US_WEST' => array('17.141056', 'sq block'),
- 'SQUARE_CITY_BLOCK_US_SOUTH' => array('99.88110336', 'sq block'),
- 'SQUARE_CUBIT' => array('0.20903184', 'sq cubit'),
- 'SQUARE_DECIMETER' => array('0.01', 'dm²'),
- 'SQUARE_DEKAMETER' => array('100', 'dam²'),
- 'SQUARE_EXAMETER' => array('1.0e+36', 'Em²'),
- 'SQUARE_FATHOM' => array('3.3445228', 'fth²'),
- 'SQUARE_FEMTOMETER' => array('1.0e-30', 'fm²'),
- 'SQUARE_FERMI' => array('1.0e-30', 'f²'),
- 'SQUARE_FOOT' => array('0.09290304', 'ft²'),
- 'SQUARE_FOOT_SURVEY' => array('0.092903412', 'ft²'),
- 'SQUARE_FURLONG' => array('40468.726', 'fur²'),
- 'SQUARE_GIGAMETER' => array('1.0e+18', 'Gm²'),
- 'SQUARE_HECTOMETER' => array('10000', 'hm²'),
- 'SQUARE_INCH' => array(array('' => '0.09290304','/' => '144'), 'in²'),
- 'SQUARE_INCH_SURVEY' => array(array('' => '0.092903412','/' => '144'), 'in²'),
- 'SQUARE_KILOMETER' => array('1000000', 'km²'),
- 'SQUARE_LEAGUE_NAUTIC' => array('3.0869136e+07', 'sq league'),
- 'SQUARE_LEAGUE' => array('2.3309986e+07', 'sq league'),
- 'SQUARE_LIGHT_YEAR' => array('8.9505412e+31', 'ly²'),
- 'SQUARE_LINK' => array('0.040468726', 'sq link'),
- 'SQUARE_LINK_ENGINEER' => array('0.092903412', 'sq link'),
- 'SQUARE_MEGAMETER' => array('1.0e+12', 'Mm²'),
- 'SQUARE_METER' => array('1', 'm²'),
- 'SQUARE_MICROINCH' => array(array('' => '1.0e-6','*' => '6.4516e-10'), 'µin²'),
- 'SQUARE_MICROMETER' => array('1.0e-12', 'µm²'),
- 'SQUARE_MICROMICRON' => array('1.0e-24', 'µµ²'),
- 'SQUARE_MICRON' => array('1.0e-12', 'µ²'),
- 'SQUARE_MIL' => array('6.4516e-10', 'sq mil'),
- 'SQUARE_MILE' => array(array('' => '0.09290304','*' => '27878400'), 'mi²'),
- 'SQUARE_MILE_NAUTIC' => array('3429904', 'mi²'),
- 'SQUARE_MILE_SURVEY' => array('2589998.5', 'mi²'),
- 'SQUARE_MILLIMETER' => array('0.000001', 'mm²'),
- 'SQUARE_MILLIMICRON' => array('1.0e-18', 'mµ²'),
- 'SQUARE_MYRIAMETER' => array('1.0e+8', 'mym²'),
- 'SQUARE_NANOMETER' => array('1.0e-18', 'nm²'),
- 'SQUARE_PARIS_FOOT' => array('0.1055', 'sq paris foot'),
- 'SQUARE_PARSEC' => array('9.5214087e+32', 'pc²'),
- 'SQUARE_PERCH' => array('25.292954', 'sq perch'),
- 'SQUARE_PERCHE' => array('51.072', 'sq perche'),
- 'SQUARE_PETAMETER' => array('1.0e+30', 'Pm²'),
- 'SQUARE_PICOMETER' => array('1.0e-24', 'pm²'),
- 'SQUARE_ROD' => array(array('' => '0.092903412','*' => '272.25'), 'rd²'),
- 'SQUARE_TENTHMETER' => array('1.0e-20', 'sq tenth-meter'),
- 'SQUARE_TERAMETER' => array('1.0e+24', 'Tm²'),
- 'SQUARE_THOU' => array('6.4516e-10', 'sq thou'),
- 'SQUARE_VARA' => array('0.70258205', 'sq vara'),
- 'SQUARE_VARA_TEXAS' => array('0.71684731', 'sq vara'),
- 'SQUARE_YARD' => array('0.83612736', 'yd²'),
- 'SQUARE_YARD_SURVEY' => array('0.836130708', 'yd²'),
- 'SQUARE_YOCTOMETER' => array('1.0e-48', 'ym²'),
- 'SQUARE_YOTTAMETER' => array('1.0e+48', 'Ym²'),
- 'STANG' => array('2709', 'stang'),
- 'STREMMA' => array('1000', 'stremma'),
- 'TAREA' => array('628.8', 'tarea'),
- 'TATAMI' => array('1.62', 'tatami'),
- 'TONDE_LAND' => array('5516', 'tonde land'),
- 'TOWNSHIP' => array('93239945.3196288', 'twp'),
- 'TSUBO' => array('3.3058', 'tsubo'),
- 'TUNNLAND' => array('4936.4', 'tunnland'),
- 'YARD' => array('0.83612736', 'yd'),
- 'VIRGATE' => array('120000', 'virgate'),
- 'STANDARD' => 'SQUARE_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Binary.php b/airtime_mvc/library/Zend/Measure/Binary.php
deleted file mode 100644
index f8f2b0077..000000000
--- a/airtime_mvc/library/Zend/Measure/Binary.php
+++ /dev/null
@@ -1,122 +0,0 @@
- array('0.125', 'b'),
- 'CRUMB' => array('0.25', 'crumb'),
- 'NIBBLE' => array('0.5', 'nibble'),
- 'BYTE' => array('1', 'B'),
- 'KILOBYTE' => array('1024', 'kB'),
- 'KIBIBYTE' => array('1024', 'KiB'),
- 'KILO_BINARY_BYTE' => array('1024', 'KiB'),
- 'KILOBYTE_SI' => array('1000', 'kB.'),
- 'MEGABYTE' => array('1048576', 'MB'),
- 'MEBIBYTE' => array('1048576', 'MiB'),
- 'MEGA_BINARY_BYTE' => array('1048576', 'MiB'),
- 'MEGABYTE_SI' => array('1000000', 'MB.'),
- 'GIGABYTE' => array('1073741824', 'GB'),
- 'GIBIBYTE' => array('1073741824', 'GiB'),
- 'GIGA_BINARY_BYTE' => array('1073741824', 'GiB'),
- 'GIGABYTE_SI' => array('1000000000', 'GB.'),
- 'TERABYTE' => array('1099511627776', 'TB'),
- 'TEBIBYTE' => array('1099511627776', 'TiB'),
- 'TERA_BINARY_BYTE' => array('1099511627776', 'TiB'),
- 'TERABYTE_SI' => array('1000000000000', 'TB.'),
- 'PETABYTE' => array('1125899906842624', 'PB'),
- 'PEBIBYTE' => array('1125899906842624', 'PiB'),
- 'PETA_BINARY_BYTE' => array('1125899906842624', 'PiB'),
- 'PETABYTE_SI' => array('1000000000000000', 'PB.'),
- 'EXABYTE' => array('1152921504606846976', 'EB'),
- 'EXBIBYTE' => array('1152921504606846976', 'EiB'),
- 'EXA_BINARY_BYTE' => array('1152921504606846976', 'EiB'),
- 'EXABYTE_SI' => array('1000000000000000000', 'EB.'),
- 'ZETTABYTE' => array('1180591620717411303424', 'ZB'),
- 'ZEBIBYTE' => array('1180591620717411303424', 'ZiB'),
- 'ZETTA_BINARY_BYTE'=> array('1180591620717411303424', 'ZiB'),
- 'ZETTABYTE_SI' => array('1000000000000000000000', 'ZB.'),
- 'YOTTABYTE' => array('1208925819614629174706176', 'YB'),
- 'YOBIBYTE' => array('1208925819614629174706176', 'YiB'),
- 'YOTTA_BINARY_BYTE'=> array('1208925819614629174706176', 'YiB'),
- 'YOTTABYTE_SI' => array('1000000000000000000000000', 'YB.'),
- 'STANDARD' => 'BYTE'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Capacitance.php b/airtime_mvc/library/Zend/Measure/Capacitance.php
deleted file mode 100644
index 8a50ad67b..000000000
--- a/airtime_mvc/library/Zend/Measure/Capacitance.php
+++ /dev/null
@@ -1,98 +0,0 @@
- array('1.0e+9', 'abfarad'),
- 'AMPERE_PER_SECOND_VOLT' => array('1', 'A/sV'),
- 'CENTIFARAD' => array('0.01', 'cF'),
- 'COULOMB_PER_VOLT' => array('1', 'C/V'),
- 'DECIFARAD' => array('0.1', 'dF'),
- 'DEKAFARAD' => array('10', 'daF'),
- 'ELECTROMAGNETIC_UNIT' => array('1.0e+9', 'capacity emu'),
- 'ELECTROSTATIC_UNIT' => array('1.11265e-12', 'capacity esu'),
- 'FARAD' => array('1', 'F'),
- 'FARAD_INTERNATIONAL' => array('0.99951', 'F'),
- 'GAUSSIAN' => array('1.11265e-12', 'G'),
- 'GIGAFARAD' => array('1.0e+9', 'GF'),
- 'HECTOFARAD' => array('100', 'hF'),
- 'JAR' => array('1.11265e-9', 'jar'),
- 'KILOFARAD' => array('1000', 'kF'),
- 'MEGAFARAD' => array('1000000', 'MF'),
- 'MICROFARAD' => array('0.000001', 'µF'),
- 'MILLIFARAD' => array('0.001', 'mF'),
- 'NANOFARAD' => array('1.0e-9', 'nF'),
- 'PICOFARAD' => array('1.0e-12', 'pF'),
- 'PUFF' => array('1.0e-12', 'pF'),
- 'SECOND_PER_OHM' => array('1', 's/Ohm'),
- 'STATFARAD' => array('1.11265e-12', 'statfarad'),
- 'TERAFARAD' => array('1.0e+12', 'TF'),
- 'STANDARD' => 'FARAD'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Cooking/Volume.php b/airtime_mvc/library/Zend/Measure/Cooking/Volume.php
deleted file mode 100644
index 006c0a308..000000000
--- a/airtime_mvc/library/Zend/Measure/Cooking/Volume.php
+++ /dev/null
@@ -1,190 +0,0 @@
- array(array('' => '0.0037854118', '/' => '16', '' => '3.5'), '2.5th can'),
- 'CAN_10' => array(array('' => '0.0037854118', '*' => '0.75'), '10th can'),
- 'BARREL_WINE' => array('0.143201835', 'bbl'),
- 'BARREL' => array('0.16365924', 'bbl'),
- 'BARREL_US_DRY' => array(array('' => '26.7098656608', '/' => '231'), 'bbl'),
- 'BARREL_US_FEDERAL' => array('0.1173477658', 'bbl'),
- 'BARREL_US' => array('0.1192404717', 'bbl'),
- 'BUCKET' => array('0.01818436', 'bucket'),
- 'BUCKET_US' => array('0.018927059', 'bucket'),
- 'BUSHEL' => array('0.03636872', 'bu'),
- 'BUSHEL_US' => array('0.03523907', 'bu'),
- 'CENTILITER' => array('0.00001', 'cl'),
- 'COFFEE_SPOON' => array(array('' => '0.0037854118', '/' => '1536'), 'coffee spoon'),
- 'CUBIC_CENTIMETER' => array('0.000001', 'cm³'),
- 'CUBIC_DECIMETER' => array('0.001', 'dm³'),
- 'CUBIC_FOOT' => array(array('' => '6.54119159', '/' => '231'), 'ft³'),
- 'CUBIC_INCH' => array(array('' => '0.0037854118', '/' => '231'), 'in³'),
- 'CUBIC_METER' => array('1', 'm³'),
- 'CUBIC_MICROMETER' => array('1.0e-18', 'µm³'),
- 'CUBIC_MILLIMETER' => array('1.0e-9', 'mm³'),
- 'CUP_CANADA' => array('0.0002273045', 'c'),
- 'CUP' => array('0.00025', 'c'),
- 'CUP_US' => array(array('' => '0.0037854118', '/' => '16'), 'c'),
- 'DASH' => array(array('' => '0.0037854118', '/' => '6144'), 'ds'),
- 'DECILITER' => array('0.0001', 'dl'),
- 'DEKALITER' => array('0.001', 'dal'),
- 'DEMI' => array('0.00025', 'demi'),
- 'DRAM' => array(array('' => '0.0037854118', '/' => '1024'), 'dr'),
- 'DROP' => array(array('' => '0.0037854118', '/' => '73728'), 'ggt'),
- 'FIFTH' => array('0.00075708236', 'fifth'),
- 'GALLON' => array('0.00454609', 'gal'),
- 'GALLON_US_DRY' => array('0.0044048838', 'gal'),
- 'GALLON_US' => array('0.0037854118', 'gal'),
- 'GILL' => array(array('' => '0.00454609', '/' => '32'), 'gi'),
- 'GILL_US' => array(array('' => '0.0037854118', '/' => '32'), 'gi'),
- 'HECTOLITER' => array('0.1', 'hl'),
- 'HOGSHEAD' => array('0.28640367', 'hhd'),
- 'HOGSHEAD_US' => array('0.2384809434', 'hhd'),
- 'JIGGER' => array(array('' => '0.0037854118', '/' => '128', '*' => '1.5'), 'jigger'),
- 'KILOLITER' => array('1', 'kl'),
- 'LITER' => array('0.001', 'l'),
- 'MEASURE' => array('0.0077', 'measure'),
- 'MEGALITER' => array('1000', 'Ml'),
- 'MICROLITER' => array('1.0e-9', 'µl'),
- 'MILLILITER' => array('0.000001', 'ml'),
- 'MINIM' => array(array('' => '0.00454609', '/' => '76800'), 'min'),
- 'MINIM_US' => array(array('' => '0.0037854118','/' => '61440'), 'min'),
- 'OUNCE' => array(array('' => '0.00454609', '/' => '160'), 'oz'),
- 'OUNCE_US' => array(array('' => '0.0037854118', '/' => '128'), 'oz'),
- 'PECK' => array('0.00909218', 'pk'),
- 'PECK_US' => array('0.0088097676', 'pk'),
- 'PINCH' => array(array('' => '0.0037854118', '/' => '12288'), 'pinch'),
- 'PINT' => array(array('' => '0.00454609', '/' => '8'), 'pt'),
- 'PINT_US_DRY' => array(array('' => '0.0044048838', '/' => '8'), 'pt'),
- 'PINT_US' => array(array('' => '0.0037854118', '/' => '8'), 'pt'),
- 'PIPE' => array('0.49097772', 'pipe'),
- 'PIPE_US' => array('0.4769618868', 'pipe'),
- 'PONY' => array(array('' => '0.0037854118', '/' => '128'), 'pony'),
- 'QUART_GERMANY' => array('0.00114504', 'qt'),
- 'QUART_ANCIENT' => array('0.00108', 'qt'),
- 'QUART' => array(array('' => '0.00454609', '/' => '4'), 'qt'),
- 'QUART_US_DRY' => array(array('' => '0.0044048838', '/' => '4'), 'qt'),
- 'QUART_US' => array(array('' => '0.0037854118', '/' => '4'), 'qt'),
- 'SHOT' => array(array('' => '0.0037854118', '/' => '128'), 'shot'),
- 'TABLESPOON' => array('0.000015', 'tbsp'),
- 'TABLESPOON_UK' => array(array('' => '0.00454609', '/' => '320'), 'tbsp'),
- 'TABLESPOON_US' => array(array('' => '0.0037854118', '/' => '256'), 'tbsp'),
- 'TEASPOON' => array('0.000005', 'tsp'),
- 'TEASPOON_UK' => array(array('' => '0.00454609', '/' => '1280'), 'tsp'),
- 'TEASPOON_US' => array(array('' => '0.0037854118', '/' => '768'), 'tsp'),
- 'STANDARD' => 'CUBIC_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Cooking/Weight.php b/airtime_mvc/library/Zend/Measure/Cooking/Weight.php
deleted file mode 100644
index 05be6fabb..000000000
--- a/airtime_mvc/library/Zend/Measure/Cooking/Weight.php
+++ /dev/null
@@ -1,70 +0,0 @@
- array(array('' => '453.59237', '/' => '8'), 'half stk'),
- 'STICK' => array(array('' => '453.59237', '/' => '4'), 'stk'),
- 'CUP' => array(array('' => '453.59237', '/' => '2'), 'c'),
- 'GRAM' => array('1', 'g'),
- 'OUNCE' => array(array('' => '453.59237', '/' => '16'), 'oz'),
- 'POUND' => array('453.59237', 'lb'),
- 'TEASPOON' => array(array('' => '1.2503332', '' => '453.59237', '/' => '128'), 'tsp'),
- 'TEASPOON_US' => array(array('' => '453.59237', '/' => '96'), 'tsp'),
- 'TABLESPOON' => array(array('' => '1.2503332', '' => '453.59237', '/' => '32'), 'tbsp'),
- 'TABLESPOON_US' => array(array('' => '453.59237', '/' => '32'), 'tbsp'),
- 'STANDARD' => 'GRAM'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Current.php b/airtime_mvc/library/Zend/Measure/Current.php
deleted file mode 100644
index 7c02686e2..000000000
--- a/airtime_mvc/library/Zend/Measure/Current.php
+++ /dev/null
@@ -1,102 +0,0 @@
- array('10', 'abampere'),
- 'AMPERE' => array('1', 'A'),
- 'BIOT' => array('10', 'Bi'),
- 'CENTIAMPERE' => array('0.01', 'cA'),
- 'COULOMB_PER_SECOND' => array('1', 'C/s'),
- 'DECIAMPERE' => array('0.1', 'dA'),
- 'DEKAAMPERE' => array('10', 'daA'),
- 'ELECTROMAGNATIC_UNIT' => array('10', 'current emu'),
- 'ELECTROSTATIC_UNIT' => array('3.335641e-10', 'current esu'),
- 'FRANCLIN_PER_SECOND' => array('3.335641e-10', 'Fr/s'),
- 'GAUSSIAN' => array('3.335641e-10', 'G current'),
- 'GIGAAMPERE' => array('1.0e+9', 'GA'),
- 'GILBERT' => array('0.79577472', 'Gi'),
- 'HECTOAMPERE' => array('100', 'hA'),
- 'KILOAMPERE' => array('1000', 'kA'),
- 'MEGAAMPERE' => array('1000000', 'MA') ,
- 'MICROAMPERE' => array('0.000001', 'µA'),
- 'MILLIAMPERE' => array('0.001', 'mA'),
- 'NANOAMPERE' => array('1.0e-9', 'nA'),
- 'PICOAMPERE' => array('1.0e-12', 'pA'),
- 'SIEMENS_VOLT' => array('1', 'SV'),
- 'STATAMPERE' => array('3.335641e-10', 'statampere'),
- 'TERAAMPERE' => array('1.0e+12', 'TA'),
- 'VOLT_PER_OHM' => array('1', 'V/Ohm'),
- 'WATT_PER_VOLT' => array('1', 'W/V'),
- 'WEBER_PER_HENRY' => array('1', 'Wb/H'),
- 'STANDARD' => 'AMPERE'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Density.php b/airtime_mvc/library/Zend/Measure/Density.php
deleted file mode 100644
index 7c27745b5..000000000
--- a/airtime_mvc/library/Zend/Measure/Density.php
+++ /dev/null
@@ -1,206 +0,0 @@
- array('2643', 'aluminium'),
- 'COPPER' => array('8906', 'copper'),
- 'GOLD' => array('19300', 'gold'),
- 'GRAIN_PER_CUBIC_FOOT' => array('0.0022883519', 'gr/ft³'),
- 'GRAIN_PER_CUBIC_INCH' => array('3.9542721', 'gr/in³'),
- 'GRAIN_PER_CUBIC_YARD' => array('0.000084753774', 'gr/yd³'),
- 'GRAIN_PER_GALLON' => array('0.014253768', 'gr/gal'),
- 'GRAIN_PER_GALLON_US' => array('0.017118061', 'gr/gal'),
- 'GRAM_PER_CUBIC_CENTIMETER' => array('1000', 'g/cm³'),
- 'GRAM_PER_CUBIC_DECIMETER' => array('1', 'g/dm³'),
- 'GRAM_PER_CUBIC_METER' => array('0.001', 'g/m³'),
- 'GRAM_PER_LITER' => array('1', 'g/l'),
- 'GRAM_PER_MILLILITER' => array('1000', 'g/ml'),
- 'IRON' => array('7658', 'iron'),
- 'KILOGRAM_PER_CUBIC_CENTIMETER' => array('1000000', 'kg/cm³'),
- 'KILOGRAM_PER_CUBIC_DECIMETER' => array('1000', 'kg/dm³'),
- 'KILOGRAM_PER_CUBIC_METER' => array('1', 'kg/m³'),
- 'KILOGRAM_PER_CUBIC_MILLIMETER' => array('1000000000', 'kg/l'),
- 'KILOGRAM_PER_LITER' => array('1000', 'kg/ml'),
- 'KILOGRAM_PER_MILLILITER' => array('1000000', 'kg/ml'),
- 'LEAD' => array('11370', 'lead'),
- 'MEGAGRAM_PER_CUBIC_CENTIMETER' => array('1.0e+9', 'Mg/cm³'),
- 'MEGAGRAM_PER_CUBIC_DECIMETER' => array('1000000', 'Mg/dm³'),
- 'MEGAGRAM_PER_CUBIC_METER' => array('1000', 'Mg/m³'),
- 'MEGAGRAM_PER_LITER' => array('1000000', 'Mg/l'),
- 'MEGAGRAM_PER_MILLILITER' => array('1.0e+9', 'Mg/ml'),
- 'MICROGRAM_PER_CUBIC_CENTIMETER' => array('0.001', 'µg/cm³'),
- 'MICROGRAM_PER_CUBIC_DECIMETER' => array('1.0e-6', 'µg/dm³'),
- 'MICROGRAM_PER_CUBIC_METER' => array('1.0e-9', 'µg/m³'),
- 'MICROGRAM_PER_LITER' => array('1.0e-6', 'µg/l'),
- 'MICROGRAM_PER_MILLILITER' => array('0.001', 'µg/ml'),
- 'MILLIGRAM_PER_CUBIC_CENTIMETER' => array('1', 'mg/cm³'),
- 'MILLIGRAM_PER_CUBIC_DECIMETER' => array('0.001', 'mg/dm³'),
- 'MILLIGRAM_PER_CUBIC_METER' => array('0.000001', 'mg/m³'),
- 'MILLIGRAM_PER_LITER' => array('0.001', 'mg/l'),
- 'MILLIGRAM_PER_MILLILITER' => array('1', 'mg/ml'),
- 'OUNCE_PER_CUBIC_FOOT' => array('1.001154', 'oz/ft³'),
- 'OUNCE_PER_CUBIC_FOOT_TROY' => array('1.0984089', 'oz/ft³'),
- 'OUNCE_PER_CUBIC_INCH' => array('1729.994', 'oz/in³'),
- 'OUNCE_PER_CUBIC_INCH_TROY' => array('1898.0506', 'oz/in³'),
- 'OUNCE_PER_CUBIC_YARD' => array('0.037079776', 'oz/yd³'),
- 'OUNCE_PER_CUBIC_YARD_TROY' => array('0.040681812', 'oz/yd³'),
- 'OUNCE_PER_GALLON' => array('6.2360233', 'oz/gal'),
- 'OUNCE_PER_GALLON_US' => array('7.4891517', 'oz/gal'),
- 'OUNCE_PER_GALLON_TROY' => array('6.8418084', 'oz/gal'),
- 'OUNCE_PER_GALLON_US_TROY' => array('8.2166693', 'oz/gal'),
- 'POUND_PER_CIRCULAR_MIL_FOOT' => array('2.9369291', 'lb/cmil ft'),
- 'POUND_PER_CUBIC_FOOT' => array('16.018463', 'lb/in³'),
- 'POUND_PER_CUBIC_INCH' => array('27679.905', 'lb/in³'),
- 'POUND_PER_CUBIC_YARD' => array('0.59327642', 'lb/yd³'),
- 'POUND_PER_GALLON' => array('99.776373', 'lb/gal'),
- 'POUND_PER_KILOGALLON' => array('0.099776373', 'lb/kgal'),
- 'POUND_PER_MEGAGALLON' => array('0.000099776373', 'lb/Mgal'),
- 'POUND_PER_GALLON_US' => array('119.82643', 'lb/gal'),
- 'POUND_PER_KILOGALLON_US' => array('0.11982643', 'lb/kgal'),
- 'POUND_PER_MEGAGALLON_US' => array('0.00011982643', 'lb/Mgal'),
- 'SILVER' => array('10510', 'silver'),
- 'SLUG_PER_CUBIC_FOOT' => array('515.37882', 'slug/ft³'),
- 'SLUG_PER_CUBIC_INCH' => array('890574.6', 'slug/in³'),
- 'SLUG_PER_CUBIC_YARD' => array('19.088104', 'slug/yd³'),
- 'SLUG_PER_GALLON' => array('3210.2099', 'slug/gal'),
- 'SLUG_PER_GALLON_US' => array('3855.3013', 'slug/gal'),
- 'TON_PER_CUBIC_FOOT_LONG' => array('35881.358', 't/ft³'),
- 'TON_PER_CUBIC_FOOT' => array('32036.927', 't/ft³'),
- 'TON_PER_CUBIC_INCH_LONG' => array('6.2202987e+7', 't/in³'),
- 'TON_PER_CUBIC_INCH' => array('5.5359809e+7', 't/in³'),
- 'TON_PER_CUBIC_YARD_LONG' => array('1328.9392', 't/yd³'),
- 'TON_PER_CUBIC_YARD' => array('1186.5528', 't/yd³'),
- 'TON_PER_GALLON_LONG' => array('223499.07', 't/gal'),
- 'TON_PER_GALLON_US_LONG' => array('268411.2', 't/gal'),
- 'TON_PER_GALLON' => array('199522.75', 't/gal'),
- 'TON_PER_GALLON_US' => array('239652.85', 't/gal'),
- 'TONNE_PER_CUBIC_CENTIMETER' => array('1.0e+9', 't/cm³'),
- 'TONNE_PER_CUBIC_DECIMETER' => array('1000000', 't/dm³'),
- 'TONNE_PER_CUBIC_METER' => array('1000', 't/m³'),
- 'TONNE_PER_LITER' => array('1000000', 't/l'),
- 'TONNE_PER_MILLILITER' => array('1.0e+9', 't/ml'),
- 'WATER' => array('1000', 'water'),
- 'STANDARD' => 'KILOGRAM_PER_CUBIC_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Energy.php b/airtime_mvc/library/Zend/Measure/Energy.php
deleted file mode 100644
index 47a6d3650..000000000
--- a/airtime_mvc/library/Zend/Measure/Energy.php
+++ /dev/null
@@ -1,252 +0,0 @@
- array('1.0e-18', 'aJ'),
- 'BOARD_OF_TRADE_UNIT' => array('3600000', 'BOTU'),
- 'BTU' => array('1055.0559', 'Btu'),
- 'BTU_TERMOCHEMICAL' => array('1054.3503', 'Btu'),
- 'CALORIE' => array('4.1868', 'cal'),
- 'CALORIE_15C' => array('6.1858', 'cal'),
- 'CALORIE_NUTRITIONAL' => array('4186.8', 'cal'),
- 'CALORIE_THERMOCHEMICAL' => array('4.184', 'cal'),
- 'CELSIUS_HEAT_UNIT' => array('1899.1005', 'Chu'),
- 'CENTIJOULE' => array('0.01', 'cJ'),
- 'CHEVAL_VAPEUR_HEURE' => array('2647795.5', 'cv heure'),
- 'DECIJOULE' => array('0.1', 'dJ'),
- 'DEKAJOULE' => array('10', 'daJ'),
- 'DEKAWATT_HOUR' => array('36000', 'daWh'),
- 'DEKATHERM' => array('1.055057e+9', 'dathm'),
- 'ELECTRONVOLT' => array('1.6021773e-19', 'eV'),
- 'ERG' => array('0.0000001', 'erg'),
- 'EXAJOULE' => array('1.0e+18', 'EJ'),
- 'EXAWATT_HOUR' => array('3.6e+21', 'EWh'),
- 'FEMTOJOULE' => array('1.0e-15', 'fJ'),
- 'FOOT_POUND' => array('1.3558179', 'ft lb'),
- 'FOOT_POUNDAL' => array('0.04214011', 'ft poundal'),
- 'GALLON_UK_AUTOMOTIVE' => array('158237172', 'gal car gasoline'),
- 'GALLON_US_AUTOMOTIVE' => array('131760000', 'gal car gasoline'),
- 'GALLON_UK_AVIATION' => array('158237172', 'gal jet gasoline'),
- 'GALLON_US_AVIATION' => array('131760000', 'gal jet gasoline'),
- 'GALLON_UK_DIESEL' => array('175963194', 'gal diesel'),
- 'GALLON_US_DIESEL' => array('146520000', 'gal diesel'),
- 'GALLON_UK_DISTILATE' => array('175963194', 'gal destilate fuel'),
- 'GALLON_US_DISTILATE' => array('146520000', 'gal destilate fuel'),
- 'GALLON_UK_KEROSINE_JET' => array('170775090', 'gal jet kerosine'),
- 'GALLON_US_KEROSINE_JET' => array('142200000', 'gal jet kerosine'),
- 'GALLON_UK_LPG' => array('121005126.0865275', 'gal lpg'),
- 'GALLON_US_LPG' => array('100757838.45', 'gal lpg'),
- 'GALLON_UK_NAPHTA' => array('160831224', 'gal jet fuel'),
- 'GALLON_US_NAPHTA' => array('133920000', 'gal jet fuel'),
- 'GALLON_UK_KEROSINE' => array('170775090', 'gal kerosine'),
- 'GALLON_US_KEROSINE' => array('142200000', 'gal kerosine'),
- 'GALLON_UK_RESIDUAL' => array('189798138', 'gal residual fuel'),
- 'GALLON_US_RESIDUAL' => array('158040000', 'gal residual fuel'),
- 'GIGAELECTRONVOLT' => array('1.6021773e-10', 'GeV'),
- 'GIGACALORIE' => array('4186800000', 'Gcal'),
- 'GIGACALORIE_15C' => array('4185800000', 'Gcal'),
- 'GIGAJOULE' => array('1.0e+9', 'GJ'),
- 'GIGAWATT_HOUR' => array('3.6e+12', 'GWh'),
- 'GRAM_CALORIE' => array('4.1858', 'g cal'),
- 'HARTREE' => array('4.3597482e-18', 'Eh'),
- 'HECTOJOULE' => array('100', 'hJ'),
- 'HECTOWATT_HOUR' => array('360000', 'hWh'),
- 'HORSEPOWER_HOUR' => array('2684519.5', 'hph'),
- 'HUNDRED_CUBIC_FOOT_GAS' => array('108720000', 'hundred ft� gas'),
- 'INCH_OUNCE' => array('0.0070615518', 'in oc'),
- 'INCH_POUND' => array('0.112984825', 'in lb'),
- 'JOULE' => array('1', 'J'),
- 'KILOCALORIE_15C' => array('4185.8', 'kcal'),
- 'KILOCALORIE' => array('4186','8', 'kcal'),
- 'KILOCALORIE_THERMOCHEMICAL' => array('4184', 'kcal'),
- 'KILOELECTRONVOLT' => array('1.6021773e-16', 'keV'),
- 'KILOGRAM_CALORIE' => array('4185.8', 'kg cal'),
- 'KILOGRAM_FORCE_METER' => array('9.80665', 'kgf m'),
- 'KILOJOULE' => array('1000', 'kJ'),
- 'KILOPOND_METER' => array('9.80665', 'kp m'),
- 'KILOTON' => array('4.184e+12', 'kt'),
- 'KILOWATT_HOUR' => array('3600000', 'kWh'),
- 'LITER_ATMOSPHERE' => array('101.325', 'l atm'),
- 'MEGAELECTRONVOLT' => array('1.6021773e-13', 'MeV'),
- 'MEGACALORIE' => array('4186800', 'Mcal'),
- 'MEGACALORIE_15C' => array('4185800', 'Mcal'),
- 'MEGAJOULE' => array('1000000', 'MJ'),
- 'MEGALERG' => array('0.1', 'megalerg'),
- 'MEGATON' => array('4.184e+15', 'Mt'),
- 'MEGAWATTHOUR' => array('3.6e+9', 'MWh'),
- 'METER_KILOGRAM_FORCE' => array('9.80665', 'm kgf'),
- 'MICROJOULE' => array('0.000001', '�J'),
- 'MILLIJOULE' => array('0.001', 'mJ'),
- 'MYRIAWATT_HOUR' => array('3.6e+7', 'myWh'),
- 'NANOJOULE' => array('1.0e-9', 'nJ'),
- 'NEWTON_METER' => array('1', 'Nm'),
- 'PETAJOULE' => array('1.0e+15', 'PJ'),
- 'PETAWATTHOUR' => array('3.6e+18', 'PWh'),
- 'PFERDESTAERKENSTUNDE' => array('2647795.5', 'ps h'),
- 'PICOJOULE' => array('1.0e-12', 'pJ'),
- 'Q_UNIT' => array('1.0550559e+21', 'Q unit'),
- 'QUAD' => array('1.0550559e+18', 'quad'),
- 'TERAELECTRONVOLT' => array('1.6021773e-7', 'TeV'),
- 'TERAJOULE' => array('1.0e+12', 'TJ'),
- 'TERAWATTHOUR' => array('3.6e+15', 'TWh'),
- 'THERM' => array('1.0550559e+8', 'thm'),
- 'THERM_US' => array('1.054804e+8', 'thm'),
- 'THERMIE' => array('4185800', 'th'),
- 'TON' => array('4.184e+9', 'T explosive'),
- 'TONNE_COAL' => array('2.93076e+10', 'T coal'),
- 'TONNE_OIL' => array('4.1868e+10', 'T oil'),
- 'WATTHOUR' => array('3600', 'Wh'),
- 'WATTSECOND' => array('1', 'Ws'),
- 'YOCTOJOULE' => array('1.0e-24', 'yJ'),
- 'YOTTAJOULE' => array('1.0e+24', 'YJ'),
- 'YOTTAWATTHOUR' => array('3.6e+27', 'YWh'),
- 'ZEPTOJOULE' => array('1.0e-21', 'zJ'),
- 'ZETTAJOULE' => array('1.0e+21', 'ZJ'),
- 'ZETTAWATTHOUR' => array('3.6e+24', 'ZWh'),
- 'STANDARD' => 'JOULE'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Exception.php b/airtime_mvc/library/Zend/Measure/Exception.php
deleted file mode 100644
index 48a7b2a5f..000000000
--- a/airtime_mvc/library/Zend/Measure/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
- array(array('' => '0.00001', '/' => '86400'), 'cg/day'),
- 'CENTIGRAM_PER_HOUR' => array(array('' => '0.00001', '/' => '3600'), 'cg/h'),
- 'CENTIGRAM_PER_MINUTE' => array(array('' => '0.00001', '/' => '60'), 'cg/m'),
- 'CENTIGRAM_PER_SECOND' => array('0.00001', 'cg/s'),
- 'GRAM_PER_DAY' => array(array('' => '0.001', '/' => '86400'), 'g/day'),
- 'GRAM_PER_HOUR' => array(array('' => '0.001', '/' => '3600'), 'g/h'),
- 'GRAM_PER_MINUTE' => array(array('' => '0.001', '/' => '60'), 'g/m'),
- 'GRAM_PER_SECOND' => array('0.001', 'g/s'),
- 'KILOGRAM_PER_DAY' => array(array('' => '1', '/' => '86400'), 'kg/day'),
- 'KILOGRAM_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'kg/h'),
- 'KILOGRAM_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'kg/m'),
- 'KILOGRAM_PER_SECOND' => array('1', 'kg/s'),
- 'MILLIGRAM_PER_DAY' => array(array('' => '0.000001', '/' => '86400'), 'mg/day'),
- 'MILLIGRAM_PER_HOUR' => array(array('' => '0.000001', '/' => '3600'), 'mg/h'),
- 'MILLIGRAM_PER_MINUTE' => array(array('' => '0.000001', '/' => '60'), 'mg/m'),
- 'MILLIGRAM_PER_SECOND' => array('0.000001', 'mg/s'),
- 'OUNCE_PER_DAY' => array(array('' => '0.0283495', '/' => '86400'), 'oz/day'),
- 'OUNCE_PER_HOUR' => array(array('' => '0.0283495', '/' => '3600'), 'oz/h'),
- 'OUNCE_PER_MINUTE' => array(array('' => '0.0283495', '/' => '60'), 'oz/m'),
- 'OUNCE_PER_SECOND' => array('0.0283495', 'oz/s'),
- 'POUND_PER_DAY' => array(array('' => '0.453592', '/' => '86400'), 'lb/day'),
- 'POUND_PER_HOUR' => array(array('' => '0.453592', '/' => '3600'), 'lb/h'),
- 'POUND_PER_MINUTE' => array(array('' => '0.453592', '/' => '60'), 'lb/m'),
- 'POUND_PER_SECOND' => array('0.453592', 'lb/s'),
- 'TON_LONG_PER_DAY' => array(array('' => '1016.04608', '/' => '86400'), 't/day'),
- 'TON_LONG_PER_HOUR' => array(array('' => '1016.04608', '/' => '3600'), 't/h'),
- 'TON_LONG_PER_MINUTE' => array(array('' => '1016.04608', '/' => '60'), 't/m'),
- 'TON_LONG_PER_SECOND' => array('1016.04608', 't/s'),
- 'TON_PER_DAY' => array(array('' => '1000', '/' => '86400'), 't/day'),
- 'TON_PER_HOUR' => array(array('' => '1000', '/' => '3600'), 't/h'),
- 'TON_PER_MINUTE' => array(array('' => '1000', '/' => '60'), 't/m'),
- 'TON_PER_SECOND' => array('1000', 't/s'),
- 'TON_SHORT_PER_DAY' => array(array('' => '907.184', '/' => '86400'), 't/day'),
- 'TON_SHORT_PER_HOUR' => array(array('' => '907.184', '/' => '3600'), 't/h'),
- 'TON_SHORT_PER_MINUTE' => array(array('' => '907.184', '/' => '60'), 't/m'),
- 'TON_SHORT_PER_SECOND' => array('907.184', 't/s'),
- 'STANDARD' => 'KILOGRAM_PER_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Flow/Mole.php b/airtime_mvc/library/Zend/Measure/Flow/Mole.php
deleted file mode 100644
index 852b8f947..000000000
--- a/airtime_mvc/library/Zend/Measure/Flow/Mole.php
+++ /dev/null
@@ -1,90 +0,0 @@
- array(array('' => '0.01', '/' => '86400'), 'cmol/day'),
- 'CENTIMOLE_PER_HOUR' => array(array('' => '0.01', '/' => '3600'), 'cmol/h'),
- 'CENTIMOLE_PER_MINUTE' => array(array('' => '0.01', '/' => '60'), 'cmol/m'),
- 'CENTIMOLE_PER_SECOND' => array('0.01', 'cmol/s'),
- 'MEGAMOLE_PER_DAY' => array(array('' => '1000000', '/' => '86400'), 'Mmol/day'),
- 'MEGAMOLE_PER_HOUR' => array(array('' => '1000000', '/' => '3600'), 'Mmol/h'),
- 'MEGAMOLE_PER_MINUTE' => array(array('' => '1000000', '/' => '60'), 'Mmol/m'),
- 'MEGAMOLE_PER_SECOND' => array('1000000', 'Mmol/s'),
- 'MICROMOLE_PER_DAY' => array(array('' => '0.000001', '/' => '86400'), 'µmol/day'),
- 'MICROMOLE_PER_HOUR' => array(array('' => '0.000001', '/' => '3600'), 'µmol/h'),
- 'MICROMOLE_PER_MINUTE' => array(array('' => '0.000001', '/' => '60'), 'µmol/m'),
- 'MICROMOLE_PER_SECOND' => array('0.000001', 'µmol/s'),
- 'MILLIMOLE_PER_DAY' => array(array('' => '0.001', '/' => '86400'), 'mmol/day'),
- 'MILLIMOLE_PER_HOUR' => array(array('' => '0.001', '/' => '3600'), 'mmol/h'),
- 'MILLIMOLE_PER_MINUTE' => array(array('' => '0.001', '/' => '60'), 'mmol/m'),
- 'MILLIMOLE_PER_SECOND' => array('0.001', 'mmol/s'),
- 'MOLE_PER_DAY' => array(array('' => '1', '/' => '86400'), 'mol/day'),
- 'MOLE_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'mol/h'),
- 'MOLE_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'mol/m'),
- 'MOLE_PER_SECOND' => array('1', 'mol/s'),
- 'STANDARD' => 'MOLE_PER_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Flow/Volume.php b/airtime_mvc/library/Zend/Measure/Flow/Volume.php
deleted file mode 100644
index ef6450e28..000000000
--- a/airtime_mvc/library/Zend/Measure/Flow/Volume.php
+++ /dev/null
@@ -1,402 +0,0 @@
- array(array('' => '1233.48184', '/' => '86400'), 'ac ft/day'),
- 'ACRE_FOOT_PER_HOUR' => array(array('' => '1233.48184', '/' => '3600'), 'ac ft/h'),
- 'ACRE_FOOT_PER_MINUTE' => array(array('' => '1233.48184', '/' => '60'), 'ac ft/m'),
- 'ACRE_FOOT_PER_SECOND' => array('1233.48184', 'ac ft/s'),
- 'ACRE_FOOT_SURVEY_PER_DAY' => array(array('' => '1233.48924', '/' => '86400'), 'ac ft/day'),
- 'ACRE_FOOT_SURVEY_PER_HOUR' => array(array('' => '1233.48924', '/' => '3600'), 'ac ft/h'),
- 'ACRE_FOOT_SURVEY_PER_MINUTE' => array(array('' => '1233.48924', '/' => '60'), 'ac ft/m'),
- 'ACRE_FOOT_SURVEY_PER_SECOND' => array('1233.48924', 'ac ft/s'),
- 'ACRE_INCH_PER_DAY' => array(array('' => '1233.48184', '/' => '1036800'), 'ac in/day'),
- 'ACRE_INCH_PER_HOUR' => array(array('' => '1233.48184', '/' => '43200'), 'ac in/h'),
- 'ACRE_INCH_PER_MINUTE' => array(array('' => '1233.48184', '/' => '720'), 'ac in/m'),
- 'ACRE_INCH_PER_SECOND' => array(array('' => '1233.48184', '/' => '12'), 'ac in/s'),
- 'ACRE_INCH_SURVEY_PER_DAY' => array(array('' => '1233.48924', '/' => '1036800'), 'ac in/day'),
- 'ACRE_INCH_SURVEY_PER_HOUR' => array(array('' => '1233.48924', '/' => '43200'), 'ac in/h'),
- 'ACRE_INCH_SURVEY_PER_MINUTE' => array(array('' => '1233.48924', '/' => '720'), 'ac in /m'),
- 'ACRE_INCH_SURVEY_PER_SECOND' => array(array('' => '1233.48924', '/' => '12'), 'ac in/s'),
- 'BARREL_PETROLEUM_PER_DAY' => array(array('' => '0.1589872956', '/' => '86400'), 'bbl/day'),
- 'BARREL_PETROLEUM_PER_HOUR' => array(array('' => '0.1589872956', '/' => '3600'), 'bbl/h'),
- 'BARREL_PETROLEUM_PER_MINUTE' => array(array('' => '0.1589872956', '/' => '60'), 'bbl/m'),
- 'BARREL_PETROLEUM_PER_SECOND' => array('0.1589872956', 'bbl/s'),
- 'BARREL_PER_DAY' => array(array('' => '0.16365924', '/' => '86400'), 'bbl/day'),
- 'BARREL_PER_HOUR' => array(array('' => '0.16365924', '/' => '3600'), 'bbl/h'),
- 'BARREL_PER_MINUTE' => array(array('' => '0.16365924', '/' => '60'), 'bbl/m'),
- 'BARREL_PER_SECOND' => array('0.16365924', 'bbl/s'),
- 'BARREL_US_PER_DAY' => array(array('' => '0.1192404717', '/' => '86400'), 'bbl/day'),
- 'BARREL_US_PER_HOUR' => array(array('' => '0.1192404717', '/' => '3600'), 'bbl/h'),
- 'BARREL_US_PER_MINUTE' => array(array('' => '0.1192404717', '/' => '60'), 'bbl/m'),
- 'BARREL_US_PER_SECOND' => array('0.1192404717', 'bbl/s'),
- 'BARREL_WINE_PER_DAY' => array(array('' => '0.1173477658', '/' => '86400'), 'bbl/day'),
- 'BARREL_WINE_PER_HOUR' => array(array('' => '0.1173477658', '/' => '3600'), 'bbl/h'),
- 'BARREL_WINE_PER_MINUTE' => array(array('' => '0.1173477658', '/' => '60'), 'bbl/m'),
- 'BARREL_WINE_PER_SECOND' => array('0.1173477658', 'bbl/s'),
- 'BARREL_BEER_PER_DAY' => array(array('' => '0.1173477658', '/' => '86400'), 'bbl/day'),
- 'BARREL_BEER_PER_HOUR' => array(array('' => '0.1173477658', '/' => '3600'), 'bbl/h'),
- 'BARREL_BEER_PER_MINUTE' => array(array('' => '0.1173477658', '/' => '60'), 'bbl/m'),
- 'BARREL_BEER_PER_SECOND' => array('0.1173477658', 'bbl/s'),
- 'BILLION_CUBIC_FOOT_PER_DAY' => array(array('' => '28316847', '/' => '86400'), 'bn ft³/day'),
- 'BILLION_CUBIC_FOOT_PER_HOUR' => array(array('' => '28316847', '/' => '3600'), 'bn ft³/h'),
- 'BILLION_CUBIC_FOOT_PER_MINUTE' => array(array('' => '28316847', '/' => '60'), 'bn ft³/m'),
- 'BILLION_CUBIC_FOOT_PER_SECOND' => array('28316847', 'bn ft³/s'),
- 'CENTILITER_PER_DAY' => array(array('' => '0.00001', '/' => '86400'), 'cl/day'),
- 'CENTILITER_PER_HOUR' => array(array('' => '0.00001', '/' => '3600'), 'cl/h'),
- 'CENTILITER_PER_MINUTE' => array(array('' => '0.00001', '/' => '60'), 'cl/m'),
- 'CENTILITER_PER_SECOND' => array('0.00001', 'cl/s'),
- 'CUBEM_PER_DAY' => array(array('' => '4168181830', '/' => '86400'), 'cubem/day'),
- 'CUBEM_PER_HOUR' => array(array('' => '4168181830', '/' => '3600'), 'cubem/h'),
- 'CUBEM_PER_MINUTE' => array(array('' => '4168181830', '/' => '60'), 'cubem/m'),
- 'CUBEM_PER_SECOND' => array('4168181830', 'cubem/s'),
- 'CUBIC_CENTIMETER_PER_DAY' => array(array('' => '0.000001', '/' => '86400'), 'cm³/day'),
- 'CUBIC_CENTIMETER_PER_HOUR' => array(array('' => '0.000001', '/' => '3600'), 'cm³/h'),
- 'CUBIC_CENTIMETER_PER_MINUTE' => array(array('' => '0.000001', '/' => '60'), 'cm³/m'),
- 'CUBIC_CENTIMETER_PER_SECOND' => array('0.000001', 'cm³/s'),
- 'CUBIC_DECIMETER_PER_DAY' => array(array('' => '0.001', '/' => '86400'), 'dm³/day'),
- 'CUBIC_DECIMETER_PER_HOUR' => array(array('' => '0.001', '/' => '3600'), 'dm³/h'),
- 'CUBIC_DECIMETER_PER_MINUTE' => array(array('' => '0.001', '/' => '60'), 'dm³/m'),
- 'CUBIC_DECIMETER_PER_SECOND' => array('0.001', 'dm³/s'),
- 'CUBIC_DEKAMETER_PER_DAY' => array(array('' => '1000', '/' => '86400'), 'dam³/day'),
- 'CUBIC_DEKAMETER_PER_HOUR' => array(array('' => '1000', '/' => '3600'), 'dam³/h'),
- 'CUBIC_DEKAMETER_PER_MINUTE' => array(array('' => '1000', '/' => '60'), 'dam³/m'),
- 'CUBIC_DEKAMETER_PER_SECOND' => array('1000', 'dam³/s'),
- 'CUBIC_FOOT_PER_DAY' => array(array('' => '0.028316847', '/' => '86400'), 'ft³/day'),
- 'CUBIC_FOOT_PER_HOUR' => array(array('' => '0.028316847', '/' => '3600'), 'ft³/h'),
- 'CUBIC_FOOT_PER_MINUTE' => array(array('' => '0.028316847', '/' => '60'), 'ft³/m'),
- 'CUBIC_FOOT_PER_SECOND' => array('0.028316847', 'ft³/s'),
- 'CUBIC_INCH_PER_DAY' => array(array('' => '0.028316847', '/' => '149299200'), 'in³/day'),
- 'CUBIC_INCH_PER_HOUR' => array(array('' => '0.028316847', '/' => '6220800'), 'in³/h'),
- 'CUBIC_INCH_PER_MINUTE' => array(array('' => '0.028316847', '/' => '103680'), 'in³/m'),
- 'CUBIC_INCH_PER_SECOND' => array('0.028316847', 'in³/s'),
- 'CUBIC_KILOMETER_PER_DAY' => array(array('' => '1000000000', '/' => '86400'), 'km³/day'),
- 'CUBIC_KILOMETER_PER_HOUR' => array(array('' => '1000000000', '/' => '3600'), 'km³/h'),
- 'CUBIC_KILOMETER_PER_MINUTE' => array(array('' => '1000000000', '/' => '60'), 'km³/m'),
- 'CUBIC_KILOMETER_PER_SECOND' => array('1000000000', 'km³/s'),
- 'CUBIC_METER_PER_DAY' => array(array('' => '1', '/' => '86400'), 'm³/day'),
- 'CUBIC_METER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'm³/h'),
- 'CUBIC_METER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'm³/m'),
- 'CUBIC_METER_PER_SECOND' => array('1', 'm³/s'),
- 'CUBIC_MILE_PER_DAY' => array(array('' => '4168181830', '/' => '86400'), 'mi³/day'),
- 'CUBIC_MILE_PER_HOUR' => array(array('' => '4168181830', '/' => '3600'), 'mi³/h'),
- 'CUBIC_MILE_PER_MINUTE' => array(array('' => '4168181830', '/' => '60'), 'mi³/m'),
- 'CUBIC_MILE_PER_SECOND' => array('4168181830', 'mi³/s'),
- 'CUBIC_MILLIMETER_PER_DAY' => array(array('' => '0.000000001', '/' => '86400'), 'mm³/day'),
- 'CUBIC_MILLIMETER_PER_HOUR' => array(array('' => '0.000000001', '/' => '3600'), 'mm³/h'),
- 'CUBIC_MILLIMETER_PER_MINUTE' => array(array('' => '0.000000001', '/' => '60'), 'mm³/m'),
- 'CUBIC_MILLIMETER_PER_SECOND' => array('0.000000001', 'mm³/s'),
- 'CUBIC_YARD_PER_DAY' => array(array('' => '0.764554869', '/' => '86400'), 'yd³/day'),
- 'CUBIC_YARD_PER_HOUR' => array(array('' => '0.764554869', '/' => '3600'), 'yd³/h'),
- 'CUBIC_YARD_PER_MINUTE' => array(array('' => '0.764554869', '/' => '60'), 'yd³/m'),
- 'CUBIC_YARD_PER_SECOND' => array('0.764554869', 'yd³/s'),
- 'CUSEC' => array('0.028316847', 'cusec'),
- 'DECILITER_PER_DAY' => array(array('' => '0.0001', '/' => '86400'), 'dl/day'),
- 'DECILITER_PER_HOUR' => array(array('' => '0.0001', '/' => '3600'), 'dl/h'),
- 'DECILITER_PER_MINUTE' => array(array('' => '0.0001', '/' => '60'), 'dl/m'),
- 'DECILITER_PER_SECOND' => array('0.0001', 'dl/s'),
- 'DEKALITER_PER_DAY' => array(array('' => '0.01', '/' => '86400'), 'dal/day'),
- 'DEKALITER_PER_HOUR' => array(array('' => '0.01', '/' => '3600'), 'dal/h'),
- 'DEKALITER_PER_MINUTE' => array(array('' => '0.01', '/' => '60'), 'dal/m'),
- 'DEKALITER_PER_SECOND' => array('0.01', 'dal/s'),
- 'GALLON_PER_DAY' => array(array('' => '0.00454609', '/' => '86400'), 'gal/day'),
- 'GALLON_PER_HOUR' => array(array('' => '0.00454609', '/' => '3600'), 'gal/h'),
- 'GALLON_PER_MINUTE' => array(array('' => '0.00454609', '/' => '60'), 'gal/m'),
- 'GALLON_PER_SECOND' => array('0.00454609', 'gal/s'),
- 'GALLON_US_PER_DAY' => array(array('' => '0.0037854118', '/' => '86400'), 'gal/day'),
- 'GALLON_US_PER_HOUR' => array(array('' => '0.0037854118', '/' => '3600'), 'gal/h'),
- 'GALLON_US_PER_MINUTE' => array(array('' => '0.0037854118', '/' => '60'), 'gal/m'),
- 'GALLON_US_PER_SECOND' => array('0.0037854118', 'gal/s'),
- 'HECTARE_METER_PER_DAY' => array(array('' => '10000', '/' => '86400'), 'ha m/day'),
- 'HECTARE_METER_PER_HOUR' => array(array('' => '10000', '/' => '3600'), 'ha m/h'),
- 'HECTARE_METER_PER_MINUTE' => array(array('' => '10000', '/' => '60'), 'ha m/m'),
- 'HECTARE_METER_PER_SECOND' => array('10000', 'ha m/s'),
- 'HECTOLITER_PER_DAY' => array(array('' => '0.1', '/' => '86400'), 'hl/day'),
- 'HECTOLITER_PER_HOUR' => array(array('' => '0.1', '/' => '3600'), 'hl/h'),
- 'HECTOLITER_PER_MINUTE' => array(array('' => '0.1', '/' => '60'), 'hl/m'),
- 'HECTOLITER_PER_SECOND' => array('0.1', 'hl/s'),
- 'KILOLITER_PER_DAY' => array(array('' => '1', '/' => '86400'), 'kl/day'),
- 'KILOLITER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'kl/h'),
- 'KILOLITER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'kl/m'),
- 'KILOLITER_PER_SECOND' => array('1', 'kl/s'),
- 'LAMBDA_PER_DAY' => array(array('' => '0.000000001', '/' => '86400'), 'λ/day'),
- 'LAMBDA_PER_HOUR' => array(array('' => '0.000000001', '/' => '3600'), 'λ/h'),
- 'LAMBDA_PER_MINUTE' => array(array('' => '0.000000001', '/' => '60'), 'λ/m'),
- 'LAMBDA_PER_SECOND' => array('0.000000001', 'λ/s'),
- 'LITER_PER_DAY' => array(array('' => '0.001', '/' => '86400'), 'l/day'),
- 'LITER_PER_HOUR' => array(array('' => '0.001', '/' => '3600'), 'l/h'),
- 'LITER_PER_MINUTE' => array(array('' => '0.001', '/' => '60'), 'l/m'),
- 'LITER_PER_SECOND' => array('0.001', 'l/s'),
- 'MILLILITER_PER_DAY' => array(array('' => '0.000001', '/' => '86400'), 'ml/day'),
- 'MILLILITER_PER_HOUR' => array(array('' => '0.000001', '/' => '3600'), 'ml/h'),
- 'MILLILITER_PER_MINUTE' => array(array('' => '0.000001', '/' => '60'), 'ml/m'),
- 'MILLILITER_PER_SECOND' => array('0.000001', 'ml/s'),
- 'MILLION_ACRE_FOOT_PER_DAY' => array(array('' => '1233481840', '/' => '86400'), 'million ac ft/day'),
- 'MILLION_ACRE_FOOT_PER_HOUR' => array(array('' => '1233481840', '/' => '3600'), 'million ac ft/h'),
- 'MILLION_ACRE_FOOT_PER_MINUTE' => array(array('' => '1233481840', '/' => '60'), 'million ac ft/m'),
- 'MILLION_ACRE_FOOT_PER_SECOND' => array('1233481840', 'million ac ft/s'),
- 'MILLION_CUBIC_FOOT_PER_DAY' => array(array('' => '28316.847', '/' => '86400'), 'million ft³/day'),
- 'MILLION_CUBIC_FOOT_PER_HOUR' => array(array('' => '28316.847', '/' => '3600'), 'million ft³/h'),
- 'MILLION_CUBIC_FOOT_PER_MINUTE' => array(array('' => '28316.847', '/' => '60'), 'million ft³/m'),
- 'MILLION_CUBIC_FOOT_PER_SECOND' => array('28316.847', 'million ft³/s'),
- 'MILLION_GALLON_PER_DAY' => array(array('' => '4546.09', '/' => '86400'), 'million gal/day'),
- 'MILLION_GALLON_PER_HOUR' => array(array('' => '4546.09', '/' => '3600'), 'million gal/h'),
- 'MILLION_GALLON_PER_MINUTE' => array(array('' => '4546.09', '/' => '60'), 'million gal/m'),
- 'MILLION_GALLON_PER_SECOND' => array('4546.09', 'million gal/s'),
- 'MILLION_GALLON_US_PER_DAY' => array(array('' => '3785.4118', '/' => '86400'), 'million gal/day'),
- 'MILLION_GALLON_US_PER_HOUR' => array(array('' => '3785.4118', '/' => '3600'), 'million gal/h'),
- 'MILLION_GALLON_US_PER_MINUTE'=> array(array('' => '3785.4118', '/' => '60'), 'million gal/m'),
- 'MILLION_GALLON_US_PER_SECOND'=> array('3785.4118', 'million gal/s'),
- 'MINERS_INCH_AZ' => array(array('' => '0.0424752705', '/' => '60'), "miner's inch"),
- 'MINERS_INCH_CA' => array(array('' => '0.0424752705', '/' => '60'), "miner's inch"),
- 'MINERS_INCH_OR' => array(array('' => '0.0424752705', '/' => '60'), "miner's inch"),
- 'MINERS_INCH_CO' => array(array('' => '0.0442450734375', '/' => '60'), "miner's inch"),
- 'MINERS_INCH_ID' => array(array('' => '0.0340687062', '/' => '60'), "miner's inch"),
- 'MINERS_INCH_WA' => array(array('' => '0.0340687062', '/' => '60'), "miner's inch"),
- 'MINERS_INCH_NM' => array(array('' => '0.0340687062', '/' => '60'), "miner's inch"),
- 'OUNCE_PER_DAY' => array(array('' => '0.00454609', '/' => '13824000'), 'oz/day'),
- 'OUNCE_PER_HOUR' => array(array('' => '0.00454609', '/' => '576000'), 'oz/h'),
- 'OUNCE_PER_MINUTE' => array(array('' => '0.00454609', '/' => '9600'), 'oz/m'),
- 'OUNCE_PER_SECOND' => array(array('' => '0.00454609', '/' => '160'), 'oz/s'),
- 'OUNCE_US_PER_DAY' => array(array('' => '0.0037854118', '/' => '11059200'), 'oz/day'),
- 'OUNCE_US_PER_HOUR' => array(array('' => '0.0037854118', '/' => '460800'), 'oz/h'),
- 'OUNCE_US_PER_MINUTE' => array(array('' => '0.0037854118', '/' => '7680'), 'oz/m'),
- 'OUNCE_US_PER_SECOND' => array(array('' => '0.0037854118', '/' => '128'), 'oz/s'),
- 'PETROGRAD_STANDARD_PER_DAY' => array(array('' => '4.672279755', '/' => '86400'), 'petrograd standard/day'),
- 'PETROGRAD_STANDARD_PER_HOUR' => array(array('' => '4.672279755', '/' => '3600'), 'petrograd standard/h'),
- 'PETROGRAD_STANDARD_PER_MINUTE' => array(array('' => '4.672279755', '/' => '60'), 'petrograd standard/m'),
- 'PETROGRAD_STANDARD_PER_SECOND' => array('4.672279755', 'petrograd standard/s'),
- 'STERE_PER_DAY' => array(array('' => '1', '/' => '86400'), 'st/day'),
- 'STERE_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'st/h'),
- 'STERE_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'st/m'),
- 'STERE_PER_SECOND' => array('1', 'st/s'),
- 'THOUSAND_CUBIC_FOOT_PER_DAY' => array(array('' => '28.316847', '/' => '86400'), 'thousand ft³/day'),
- 'THOUSAND_CUBIC_FOOT_PER_HOUR' => array(array('' => '28.316847', '/' => '3600'), 'thousand ft³/h'),
- 'THOUSAND_CUBIC_FOOT_PER_MINUTE' => array(array('' => '28.316847', '/' => '60'), 'thousand ft³/m'),
- 'THOUSAND_CUBIC_FOOT_PER_SECOND' => array('28.316847', 'thousand ft³/s'),
- 'TRILLION_CUBIC_FOOT_PER_DAY' => array(array('' => '28316847000', '/' => '86400'), 'trillion ft³/day'),
- 'TRILLION_CUBIC_FOOT_PER_HOUR' => array(array('' => '28316847000', '/' => '3600'), 'trillion ft³/h'),
- 'TRILLION_CUBIC_FOOT_PER_MINUTE' => array(array('' => '28316847000', '/' => '60'), 'trillion ft³/m'),
- 'TRILLION_CUBIC_FOOT_PER_' => array('28316847000', 'trillion ft³/s'),
- 'STANDARD' => 'CUBIC_METER_PER_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Force.php b/airtime_mvc/library/Zend/Measure/Force.php
deleted file mode 100644
index 96f9f33b7..000000000
--- a/airtime_mvc/library/Zend/Measure/Force.php
+++ /dev/null
@@ -1,126 +0,0 @@
- array('1.0e-18', 'aN'),
- 'CENTINEWTON' => array('0.01', 'cN'),
- 'DECIGRAM_FORCE' => array('0.000980665', 'dgf'),
- 'DECINEWTON' => array('0.1', 'dN'),
- 'DEKAGRAM_FORCE' => array('0.0980665', 'dagf'),
- 'DEKANEWTON' => array('10', 'daN'),
- 'DYNE' => array('0.00001', 'dyn'),
- 'EXANEWTON' => array('1.0e+18', 'EN'),
- 'FEMTONEWTON' => array('1.0e-15', 'fN'),
- 'GIGANEWTON' => array('1.0e+9', 'GN'),
- 'GRAM_FORCE' => array('0.00980665', 'gf'),
- 'HECTONEWTON' => array('100', 'hN'),
- 'JOULE_PER_METER' => array('1', 'J/m'),
- 'KILOGRAM_FORCE' => array('9.80665', 'kgf'),
- 'KILONEWTON' => array('1000', 'kN'),
- 'KILOPOND' => array('9.80665', 'kp'),
- 'KIP' => array('4448.2216', 'kip'),
- 'MEGANEWTON' => array('1000000', 'Mp'),
- 'MEGAPOND' => array('9806.65', 'MN'),
- 'MICRONEWTON' => array('0.000001', 'µN'),
- 'MILLINEWTON' => array('0.001', 'mN'),
- 'NANONEWTON' => array('0.000000001', 'nN'),
- 'NEWTON' => array('1', 'N'),
- 'OUNCE_FORCE' => array('0.27801385', 'ozf'),
- 'PETANEWTON' => array('1.0e+15', 'PN'),
- 'PICONEWTON' => array('1.0e-12', 'pN'),
- 'POND' => array('0.00980665', 'pond'),
- 'POUND_FORCE' => array('4.4482216', 'lbf'),
- 'POUNDAL' => array('0.13825495', 'pdl'),
- 'STHENE' => array('1000', 'sn'),
- 'TERANEWTON' => array('1.0e+12', 'TN'),
- 'TON_FORCE_LONG' => array('9964.016384', 'tnf'),
- 'TON_FORCE' => array('9806.65', 'tnf'),
- 'TON_FORCE_SHORT' => array('8896.4432', 'tnf'),
- 'YOCTONEWTON' => array('1.0e-24', 'yN'),
- 'YOTTANEWTON' => array('1.0e+24', 'YN'),
- 'ZEPTONEWTON' => array('1.0e-21', 'zN'),
- 'ZETTANEWTON' => array('1.0e+21', 'ZN'),
- 'STANDARD' => 'NEWTON'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Frequency.php b/airtime_mvc/library/Zend/Measure/Frequency.php
deleted file mode 100644
index b7327cdaf..000000000
--- a/airtime_mvc/library/Zend/Measure/Frequency.php
+++ /dev/null
@@ -1,86 +0,0 @@
- array('1', '1/s'),
- 'CYCLE_PER_SECOND' => array('1', 'cps'),
- 'DEGREE_PER_HOUR' => array(array('' => '1', '/' => '1296000'), '°/h'),
- 'DEGREE_PER_MINUTE' => array(array('' => '1', '/' => '21600'), '°/m'),
- 'DEGREE_PER_SECOND' => array(array('' => '1', '/' => '360'), '°/s'),
- 'GIGAHERTZ' => array('1000000000', 'GHz'),
- 'HERTZ' => array('1', 'Hz'),
- 'KILOHERTZ' => array('1000', 'kHz'),
- 'MEGAHERTZ' => array('1000000', 'MHz'),
- 'MILLIHERTZ' => array('0.001', 'mHz'),
- 'RADIAN_PER_HOUR' => array(array('' => '1', '/' => '22619.467'), 'rad/h'),
- 'RADIAN_PER_MINUTE' => array(array('' => '1', '/' => '376.99112'), 'rad/m'),
- 'RADIAN_PER_SECOND' => array(array('' => '1', '/' => '6.2831853'), 'rad/s'),
- 'REVOLUTION_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'rph'),
- 'REVOLUTION_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'rpm'),
- 'REVOLUTION_PER_SECOND' => array('1', 'rps'),
- 'RPM' => array(array('' => '1', '/' => '60'), 'rpm'),
- 'TERRAHERTZ' => array('1000000000000', 'THz'),
- 'STANDARD' =>'HERTZ'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Illumination.php b/airtime_mvc/library/Zend/Measure/Illumination.php
deleted file mode 100644
index 42409ae83..000000000
--- a/airtime_mvc/library/Zend/Measure/Illumination.php
+++ /dev/null
@@ -1,72 +0,0 @@
- array('10.7639104', 'fc'),
- 'KILOLUX' => array('1000', 'klx'),
- 'LUMEN_PER_SQUARE_CENTIMETER' => array('10000', 'lm/cm²'),
- 'LUMEN_PER_SQUARE_FOOT' => array('10.7639104', 'lm/ft²'),
- 'LUMEN_PER_SQUARE_INCH' => array('1550.0030976', 'lm/in²'),
- 'LUMEN_PER_SQUARE_METER' => array('1', 'lm/m²'),
- 'LUX' => array('1', 'lx'),
- 'METERCANDLE' => array('1', 'metercandle'),
- 'MILLIPHOT' => array('10', 'mph'),
- 'NOX' => array('0.001', 'nox'),
- 'PHOT' => array('10000', 'ph'),
- 'STANDARD' => 'LUX'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Length.php b/airtime_mvc/library/Zend/Measure/Length.php
deleted file mode 100644
index 32e0ffbe1..000000000
--- a/airtime_mvc/library/Zend/Measure/Length.php
+++ /dev/null
@@ -1,674 +0,0 @@
- array(array('' => '0.0254', '/' => '72'), 'agate'),
- 'ALEN_DANISH' => array('0.6277', 'alen'),
- 'ALEN' => array('0.6', 'alen'),
- 'ALEN_SWEDISH' => array('0.5938', 'alen'),
- 'ANGSTROM' => array('1.0e-10', 'â„«'),
- 'ARMS' => array('0.7', 'arms'),
- 'ARPENT_CANADIAN' => array('58.47', 'arpent'),
- 'ARPENT' => array('58.471308', 'arpent'),
- 'ARSHEEN' => array('0.7112', 'arsheen'),
- 'ARSHIN' => array('1.04', 'arshin'),
- 'ARSHIN_IRAQ' => array('74.5', 'arshin'),
- 'ASTRONOMICAL_UNIT' => array('149597870691', 'AU'),
- 'ATTOMETER' => array('1.0e-18', 'am'),
- 'BAMBOO' => array('3.2', 'bamboo'),
- 'BARLEYCORN' => array('0.0085', 'barleycorn'),
- 'BEE_SPACE' => array('0.0065', 'bee space'),
- 'BICRON' => array('1.0e-12', '��'),
- 'BLOCK_US_EAST' => array('80.4672', 'block'),
- 'BLOCK_US_WEST' => array('100.584', 'block'),
- 'BLOCK_US_SOUTH' => array('160.9344', 'block'),
- 'BOHR' => array('52.918e-12', 'a�'),
- 'BRACCIO' => array('0.7', 'braccio'),
- 'BRAZA_ARGENTINA' => array('1.733', 'braza'),
- 'BRAZA' => array('1.67', 'braza'),
- 'BRAZA_US' => array('1.693', 'braza'),
- 'BUTTON' => array('0.000635', 'button'),
- 'CABLE_US' => array('219.456', 'cable'),
- 'CABLE_UK' => array('185.3184', 'cable'),
- 'CALIBER' => array('0.0254', 'cal'),
- 'CANA' => array('2', 'cana'),
- 'CAPE_FOOT' => array('0.314858', 'cf'),
- 'CAPE_INCH' => array(array('' => '0.314858','/' => '12'), 'ci'),
- 'CAPE_ROOD' => array('3.778296', 'cr'),
- 'CENTIMETER' => array('0.01', 'cm'),
- 'CHAIN' => array(array('' => '79200','/' => '3937'), 'ch'),
- 'CHAIN_ENGINEER' => array('30.48', 'ch'),
- 'CHIH' => array('0.35814', "ch'ih"),
- 'CHINESE_FOOT' => array('0.371475', 'ft'),
- 'CHINESE_INCH' => array('0.0371475', 'in'),
- 'CHINESE_MILE' => array('557.21', 'mi'),
- 'CHINESE_YARD' => array('0.89154', 'yd'),
- 'CITY_BLOCK_US_EAST' => array('80.4672', 'block'),
- 'CITY_BLOCK_US_WEST' => array('100.584', 'block'),
- 'CITY_BLOCK_US_SOUTH' => array('160.9344', 'block'),
- 'CLICK' => array('1000', 'click'),
- 'CUADRA' => array('84', 'cuadra'),
- 'CUADRA_ARGENTINA'=> array('130', 'cuadra'),
- 'Length:CUBIT_EGYPT' => array('0.45', 'cubit'),
- 'CUBIT_ROYAL' => array('0.5235', 'cubit'),
- 'CUBIT_UK' => array('0.4572', 'cubit'),
- 'CUBIT' => array('0.444', 'cubit'),
- 'CUERDA' => array('21', 'cda'),
- 'DECIMETER' => array('0.1', 'dm'),
- 'DEKAMETER' => array('10', 'dam'),
- 'DIDOT_POINT' => array('0.000377', 'didot point'),
- 'DIGIT' => array('0.019', 'digit'),
- 'DIRAA' => array('0.58', ''),
- 'DONG' => array(array('' => '7','/' => '300'), 'dong'),
- 'DOUZIEME_WATCH' => array('0.000188', 'douzi�me'),
- 'DOUZIEME' => array('0.00017638888889', 'douzi�me'),
- 'DRA_IRAQ' => array('0.745', 'dra'),
- 'DRA' => array('0.7112', 'dra'),
- 'EL' => array('0.69', 'el'),
- 'ELL' => array('1.143', 'ell'),
- 'ELL_SCOTTISH' => array('0.945', 'ell'),
- 'ELLE' => array('0.6', 'ellen'),
- 'ELLE_VIENNA' => array('0.7793', 'ellen'),
- 'EM' => array('0.0042175176', 'em'),
- 'ESTADIO_PORTUGAL'=> array('261', 'estadio'),
- 'ESTADIO' => array('174', 'estadio'),
- 'EXAMETER' => array('1.0e+18', 'Em'),
- 'FADEN_AUSTRIA' => array('1.8965', 'faden'),
- 'FADEN' => array('1.8', 'faden'),
- 'FALL' => array('6.858', 'fall'),
- 'FALL_SCOTTISH' => array('5.67', 'fall'),
- 'FATHOM' => array('1.8288', 'fth'),
- 'FATHOM_ANCIENT' => array('1.829', 'fth'),
- 'FAUST' => array('0.10536', 'faust'),
- 'FEET_OLD_CANADIAN' => array('0.325', 'ft'),
- 'FEET_EGYPT' => array('0.36', 'ft'),
- 'FEET_FRANCE' => array('0.3248406', 'ft'),
- 'FEET' => array('0.3048', 'ft'),
- 'FEET_IRAQ' => array('0.316', 'ft'),
- 'FEET_NETHERLAND' => array('0.28313', 'ft'),
- 'FEET_ITALIC' => array('0.296', 'ft'),
- 'FEET_SURVEY' => array(array('' => '1200', '/' => '3937'), 'ft'),
- 'FEMTOMETER' => array('1.0e-15', 'fm'),
- 'FERMI' => array('1.0e-15', 'f'),
- 'FINGER' => array('0.1143', 'finger'),
- 'FINGERBREADTH' => array('0.01905', 'fingerbreadth'),
- 'FIST' => array('0.1', 'fist'),
- 'FOD' => array('0.3141', 'fod'),
- 'FOOT_EGYPT' => array('0.36', 'ft'),
- 'FOOT_FRANCE' => array('0.3248406', 'ft'),
- 'FOOT' => array('0.3048', 'ft'),
- 'FOOT_IRAQ' => array('0.316', 'ft'),
- 'FOOT_NETHERLAND' => array('0.28313', 'ft'),
- 'FOOT_ITALIC' => array('0.296', 'ft'),
- 'FOOT_SURVEY' => array(array('' => '1200', '/' => '3937'), 'ft'),
- 'FOOTBALL_FIELD_CANADA' => array('100.584', 'football field'),
- 'FOOTBALL_FIELD_US' => array('91.44', 'football field'),
- 'FOOTBALL_FIELD' => array('109.728', 'football field'),
- 'FURLONG' => array('201.168', 'fur'),
- 'FURLONG_SURVEY' => array(array('' => '792000', '/' => '3937'), 'fur'),
- 'FUSS' => array('0.31608', 'fuss'),
- 'GIGAMETER' => array('1.0e+9', 'Gm'),
- 'GIGAPARSEC' => array('30.85678e+24', 'Gpc'),
- 'GNATS_EYE' => array('0.000125', "gnat's eye"),
- 'GOAD' => array('1.3716', 'goad'),
- 'GRY' => array('0.000211667', 'gry'),
- 'HAIRS_BREADTH' => array('0.0001', "hair's breadth"),
- 'HAND' => array('0.1016', 'hand'),
- 'HANDBREADTH' => array('0.08', "hand's breadth"),
- 'HAT' => array('0.5', 'hat'),
- 'HECTOMETER' => array('100', 'hm'),
- 'HEER' => array('73.152', 'heer'),
- 'HIRO' => array('1.818', 'hiro'),
- 'HUBBLE' => array('9.4605e+24', 'hubble'),
- 'HVAT' => array('1.8965', 'hvat'),
- 'INCH' => array('0.0254', 'in'),
- 'IRON' => array(array('' => '0.0254', '/' => '48'), 'iron'),
- 'KEN' => array('1.818', 'ken'),
- 'KERAT' => array('0.0286', 'kerat'),
- 'KILOFOOT' => array('304.8', 'kft'),
- 'KILOMETER' => array('1000', 'km'),
- 'KILOPARSEC' => array('3.0856776e+19', 'kpc'),
- 'KILOYARD' => array('914.4', 'kyd'),
- 'KIND' => array('0.5', 'kind'),
- 'KLAFTER' => array('1.8965', 'klafter'),
- 'KLAFTER_SWISS' => array('1.8', 'klafter'),
- 'KLICK' => array('1000', 'klick'),
- 'KYU' => array('0.00025', 'kyu'),
- 'LAP_ANCIENT' => array('402.336', ''),
- 'LAP' => array('400', 'lap'),
- 'LAP_POOL' => array('100', 'lap'),
- 'LEAGUE_ANCIENT' => array('2275', 'league'),
- 'LEAGUE_NAUTIC' => array('5556', 'league'),
- 'LEAGUE_UK_NAUTIC'=> array('5559.552', 'league'),
- 'LEAGUE' => array('4828', 'league'),
- 'LEAGUE_US' => array('4828.0417', 'league'),
- 'LEAP' => array('2.0574', 'leap'),
- 'LEGOA' => array('6174.1', 'legoa'),
- 'LEGUA' => array('4200', 'legua'),
- 'LEGUA_US' => array('4233.4', 'legua'),
- 'LEGUA_SPAIN_OLD' => array('4179.4', 'legua'),
- 'LEGUA_SPAIN' => array('6680', 'legua'),
- 'LI_ANCIENT' => array('500', 'li'),
- 'LI_IMPERIAL' => array('644.65', 'li'),
- 'LI' => array('500', 'li'),
- 'LIEUE' => array('3898', 'lieue'),
- 'LIEUE_METRIC' => array('4000', 'lieue'),
- 'LIEUE_NAUTIC' => array('5556', 'lieue'),
- 'LIGHT_SECOND' => array('299792458', 'light second'),
- 'LIGHT_MINUTE' => array('17987547480', 'light minute'),
- 'LIGHT_HOUR' => array('1079252848800', 'light hour'),
- 'LIGHT_DAY' => array('25902068371200', 'light day'),
- 'LIGHT_YEAR' => array('9460528404879000', 'ly'),
- 'LIGNE' => array('0.0021167', 'ligne'),
- 'LIGNE_SWISS' => array('0.002256', 'ligne'),
- 'LINE' => array('0.0021167', 'li'),
- 'LINE_SMALL' => array('0.000635', 'li'),
- 'LINK' => array(array('' => '792','/' => '3937'), 'link'),
- 'LINK_ENGINEER' => array('0.3048', 'link'),
- 'LUG' => array('5.0292', 'lug'),
- 'LUG_GREAT' => array('6.4008', 'lug'),
- 'MARATHON' => array('42194.988', 'marathon'),
- 'MARK_TWAIN' => array('3.6576074', 'mark twain'),
- 'MEGAMETER' => array('1000000', 'Mm'),
- 'MEGAPARSEC' => array('3.085677e+22', 'Mpc'),
- 'MEILE_AUSTRIAN' => array('7586', 'meile'),
- 'MEILE' => array('7412.7', 'meile'),
- 'MEILE_GERMAN' => array('7532.5', 'meile'),
- 'METER' => array('1', 'm'),
- 'METRE' => array('1', 'm'),
- 'METRIC_MILE' => array('1500', 'metric mile'),
- 'METRIC_MILE_US' => array('1600', 'metric mile'),
- 'MICROINCH' => array('2.54e-08', '�in'),
- 'MICROMETER' => array('0.000001', '�m'),
- 'MICROMICRON' => array('1.0e-12', '��'),
- 'MICRON' => array('0.000001', '�'),
- 'MIGLIO' => array('1488.6', 'miglio'),
- 'MIIL' => array('7500', 'miil'),
- 'MIIL_DENMARK' => array('7532.5', 'miil'),
- 'MIIL_SWEDISH' => array('10687', 'miil'),
- 'MIL' => array('0.0000254', 'mil'),
- 'MIL_SWEDISH' => array('10000', 'mil'),
- 'MILE_UK' => array('1609', 'mi'),
- 'MILE_IRISH' => array('2048', 'mi'),
- 'MILE' => array('1609.344', 'mi'),
- 'MILE_NAUTIC' => array('1852', 'mi'),
- 'MILE_NAUTIC_UK' => array('1853.184', 'mi'),
- 'MILE_NAUTIC_US' => array('1852', 'mi'),
- 'MILE_ANCIENT' => array('1520', 'mi'),
- 'MILE_SCOTTISH' => array('1814', 'mi'),
- 'MILE_STATUTE' => array('1609.344', 'mi'),
- 'MILE_US' => array(array('' => '6336000','/' => '3937'), 'mi'),
- 'MILHA' => array('2087.3', 'milha'),
- 'MILITARY_PACE' => array('0.762', 'mil. pace'),
- 'MILITARY_PACE_DOUBLE' => array('0.9144', 'mil. pace'),
- 'MILLA' => array('1392', 'milla'),
- 'MILLE' => array('1949', 'mille'),
- 'MILLIARE' => array('0.001478', 'milliare'),
- 'MILLIMETER' => array('0.001', 'mm'),
- 'MILLIMICRON' => array('1.0e-9', 'm�'),
- 'MKONO' => array('0.4572', 'mkono'),
- 'MOOT' => array('0.0762', 'moot'),
- 'MYRIAMETER' => array('10000', 'mym'),
- 'NAIL' => array('0.05715', 'nail'),
- 'NANOMETER' => array('1.0e-9', 'nm'),
- 'NANON' => array('1.0e-9', 'nanon'),
- 'PACE' => array('1.524', 'pace'),
- 'PACE_ROMAN' => array('1.48', 'pace'),
- 'PALM_DUTCH' => array('0.10', 'palm'),
- 'PALM_UK' => array('0.075', 'palm'),
- 'PALM' => array('0.2286', 'palm'),
- 'PALMO_PORTUGUESE'=> array('0.22', 'palmo'),
- 'PALMO' => array('0.20', 'palmo'),
- 'PALMO_US' => array('0.2117', 'palmo'),
- 'PARASANG' => array('6000', 'parasang'),
- 'PARIS_FOOT' => array('0.3248406', 'paris foot'),
- 'PARSEC' => array('3.0856776e+16', 'pc'),
- 'PE' => array('0.33324', 'p�'),
- 'PEARL' => array('0.001757299', 'pearl'),
- 'PERCH' => array('5.0292', 'perch'),
- 'PERCH_IRELAND' => array('6.4008', 'perch'),
- 'PERTICA' => array('2.96', 'pertica'),
- 'PES' => array('0.2967', 'pes'),
- 'PETAMETER' => array('1.0e+15', 'Pm'),
- 'PICA' => array('0.0042175176', 'pi'),
- 'PICOMETER' => array('1.0e-12', 'pm'),
- 'PIE_ARGENTINA' => array('0.2889', 'pie'),
- 'PIE_ITALIC' => array('0.298', 'pie'),
- 'PIE' => array('0.2786', 'pie'),
- 'PIE_US' => array('0.2822', 'pie'),
- 'PIED_DE_ROI' => array('0.3248406', 'pied de roi'),
- 'PIK' => array('0.71', 'pik'),
- 'PIKE' => array('0.71', 'pike'),
- 'POINT_ADOBE' => array(array('' => '0.3048', '/' => '864'), 'pt'),
- 'POINT' => array('0.00035', 'pt'),
- 'POINT_DIDOT' => array('0.000377', 'pt'),
- 'POINT_TEX' => array('0.0003514598035', 'pt'),
- 'POLE' => array('5.0292', 'pole'),
- 'POLEGADA' => array('0.02777', 'polegada'),
- 'POUCE' => array('0.02707', 'pouce'),
- 'PU' => array('1.7907', 'pu'),
- 'PULGADA' => array('0.02365', 'pulgada'),
- 'PYGME' => array('0.346', 'pygme'),
- 'Q' => array('0.00025', 'q'),
- 'QUADRANT' => array('10001300', 'quad'),
- 'QUARTER' => array('402.336', 'Q'),
- 'QUARTER_CLOTH' => array('0.2286', 'Q'),
- 'QUARTER_PRINT' => array('0.00025', 'Q'),
- 'RANGE' => array(array('' => '38016000','/' => '3937'), 'range'),
- 'REED' => array('2.679', 'reed'),
- 'RI' => array('3927', 'ri'),
- 'RIDGE' => array('6.1722', 'ridge'),
- 'RIVER' => array('2000', 'river'),
- 'ROD' => array('5.0292', 'rd'),
- 'ROD_SURVEY' => array(array('' => '19800', '/' => '3937'), 'rd'),
- 'ROEDE' => array('10', 'roede'),
- 'ROOD' => array('3.7783', 'rood'),
- 'ROPE' => array('3.7783', 'rope'),
- 'ROYAL_FOOT' => array('0.3248406', 'royal foot'),
- 'RUTE' => array('3.75', 'rute'),
- 'SADZHEN' => array('2.1336', 'sadzhen'),
- 'SAGENE' => array('2.1336', 'sagene'),
- 'SCOTS_FOOT' => array('0.30645', 'scots foot'),
- 'SCOTS_MILE' => array('1814.2', 'scots mile'),
- 'SEEMEILE' => array('1852', 'seemeile'),
- 'SHACKLE' => array('27.432', 'shackle'),
- 'SHAFTMENT' => array('0.15124', 'shaftment'),
- 'SHAFTMENT_ANCIENT' => array('0.165', 'shaftment'),
- 'SHAKU' => array('0.303', 'shaku'),
- 'SIRIOMETER' => array('1.4959787e+17', 'siriometer'),
- 'SMOOT' => array('1.7018', 'smoot'),
- 'SPAN' => array('0.2286', 'span'),
- 'SPAT' => array('1.0e+12', 'spat'),
- 'STADIUM' => array('185', 'stadium'),
- 'STEP' => array('0.762', 'step'),
- 'STICK' => array('3.048', 'stk'),
- 'STORY' => array('3.3', 'story'),
- 'STRIDE' => array('1.524', 'stride'),
- 'STRIDE_ROMAN' => array('1.48', 'stride'),
- 'TENTHMETER' => array('1.0e-10', 'tenth-meter'),
- 'TERAMETER' => array('1.0e+12', 'Tm'),
- 'THOU' => array('0.0000254', 'thou'),
- 'TOISE' => array('1.949', 'toise'),
- 'TOWNSHIP' => array(array('' => '38016000','/' => '3937'), 'twp'),
- 'T_SUN' => array('0.0358', "t'sun"),
- 'TU' => array('161130', 'tu'),
- 'TWAIN' => array('3.6576074', 'twain'),
- 'TWIP' => array('0.000017639', 'twip'),
- 'U' => array('0.04445', 'U'),
- 'VARA_CALIFORNIA' => array('0.83820168', 'vara'),
- 'VARA_MEXICAN' => array('0.83802', 'vara'),
- 'VARA_PORTUGUESE' => array('1.10', 'vara'),
- 'VARA_AMERICA' => array('0.864', 'vara'),
- 'VARA' => array('0.83587', 'vara'),
- 'VARA_TEXAS' => array('0.84666836', 'vara'),
- 'VERGE' => array('0.9144', 'verge'),
- 'VERSHOK' => array('0.04445', 'vershok'),
- 'VERST' => array('1066.8', 'verst'),
- 'WAH' => array('2', 'wah'),
- 'WERST' => array('1066.8', 'werst'),
- 'X_UNIT' => array('1.0020722e-13', 'Xu'),
- 'YARD' => array('0.9144', 'yd'),
- 'YOCTOMETER' => array('1.0e-24', 'ym'),
- 'YOTTAMETER' => array('1.0e+24', 'Ym'),
- 'ZEPTOMETER' => array('1.0e-21', 'zm'),
- 'ZETTAMETER' => array('1.0e+21', 'Zm'),
- 'ZOLL' => array('0.02634', 'zoll'),
- 'ZOLL_SWISS' => array('0.03', 'zoll'),
- 'STANDARD' => 'METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Lightness.php b/airtime_mvc/library/Zend/Measure/Lightness.php
deleted file mode 100644
index 25b6ceea4..000000000
--- a/airtime_mvc/library/Zend/Measure/Lightness.php
+++ /dev/null
@@ -1,80 +0,0 @@
- array('0.31830989', 'asb'),
- 'BLONDEL' => array('0.31830989', 'blondel'),
- 'CANDELA_PER_SQUARE_CENTIMETER' => array('10000', 'cd/cm²'),
- 'CANDELA_PER_SQUARE_FOOT' => array('10.76391', 'cd/ft²'),
- 'CANDELA_PER_SQUARE_INCH' => array('1550.00304', 'cd/in²'),
- 'CANDELA_PER_SQUARE_METER' => array('1', 'cd/m²'),
- 'FOOTLAMBERT' => array('3.4262591', 'ftL'),
- 'KILOCANDELA_PER_SQUARE_CENTIMETER' => array('10000000', 'kcd/cm²'),
- 'KILOCANDELA_PER_SQUARE_FOOT' => array('10763.91', 'kcd/ft²'),
- 'KILOCANDELA_PER_SQUARE_INCH' => array('1550003.04', 'kcd/in²'),
- 'KILOCANDELA_PER_SQUARE_METER' => array('1000', 'kcd/m²'),
- 'LAMBERT' => array('3183.0989', 'L'),
- 'MILLILAMBERT' => array('3.1830989', 'mL'),
- 'NIT' => array('1', 'nt'),
- 'STILB' => array('10000', 'sb'),
- 'STANDARD' => 'CANDELA_PER_SQUARE_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Number.php b/airtime_mvc/library/Zend/Measure/Number.php
deleted file mode 100644
index 217f8abfb..000000000
--- a/airtime_mvc/library/Zend/Measure/Number.php
+++ /dev/null
@@ -1,420 +0,0 @@
- array(2, '⑵'),
- 'TERNARY' => array(3, 'â‘¶'),
- 'QUATERNARY' => array(4, 'â‘·'),
- 'QUINARY' => array(5, '⑸'),
- 'SENARY' => array(6, '⑹'),
- 'SEPTENARY' => array(7, '⑺'),
- 'OCTAL' => array(8, 'â‘»'),
- 'NONARY' => array(9, '⑼'),
- 'DECIMAL' => array(10, '⑽'),
- 'DUODECIMAL' => array(12, 'â‘¿'),
- 'HEXADECIMAL' => array(16, 'â’ƒ'),
- 'ROMAN' => array(99, ''),
- 'STANDARD' => 'DECIMAL'
- );
-
- /**
- * Definition of all roman signs
- *
- * @var array $_roman
- */
- private static $_roman = array(
- 'I' => 1,
- 'A' => 4,
- 'V' => 5,
- 'B' => 9,
- 'X' => 10,
- 'E' => 40,
- 'L' => 50,
- 'F' => 90,
- 'C' => 100,
- 'G' => 400,
- 'D' => 500,
- 'H' => 900,
- 'M' => 1000,
- 'J' => 4000,
- 'P' => 5000,
- 'K' => 9000,
- 'Q' => 10000,
- 'N' => 40000,
- 'R' => 50000,
- 'W' => 90000,
- 'S' => 100000,
- 'Y' => 400000,
- 'T' => 500000,
- 'Z' => 900000,
- 'U' => 1000000
- );
-
- /**
- * Convertion table for roman signs
- *
- * @var array $_romanconvert
- */
- private static $_romanconvert = array(
- '/_V/' => '/P/',
- '/_X/' => '/Q/',
- '/_L/' => '/R/',
- '/_C/' => '/S/',
- '/_D/' => '/T/',
- '/_M/' => '/U/',
- '/IV/' => '/A/',
- '/IX/' => '/B/',
- '/XL/' => '/E/',
- '/XC/' => '/F/',
- '/CD/' => '/G/',
- '/CM/' => '/H/',
- '/M_V/'=> '/J/',
- '/MQ/' => '/K/',
- '/QR/' => '/N/',
- '/QS/' => '/W/',
- '/ST/' => '/Y/',
- '/SU/' => '/Z/'
- );
-
- /**
- * Zend_Measure_Abstract is an abstract class for the different measurement types
- *
- * @param integer $value Value
- * @param string $type (Optional) A Zend_Measure_Number Type
- * @param string|Zend_Locale $locale (Optional) A Zend_Locale
- * @throws Zend_Measure_Exception When language is unknown
- * @throws Zend_Measure_Exception When type is unknown
- */
- public function __construct($value, $type, $locale = null)
- {
- if (($type !== null) and (Zend_Locale::isLocale($type, null, false))) {
- $locale = $type;
- $type = null;
- }
-
- if ($locale === null) {
- $locale = new Zend_Locale();
- }
-
- if (!Zend_Locale::isLocale($locale, true, false)) {
- if (!Zend_Locale::isLocale($locale, true, false)) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Language (" . (string) $locale . ") is unknown");
- }
-
- $locale = new Zend_Locale($locale);
- }
-
- $this->_locale = (string) $locale;
-
- if ($type === null) {
- $type = $this->_units['STANDARD'];
- }
-
- if (isset($this->_units[$type]) === false) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Type ($type) is unknown");
- }
-
- $this->setValue($value, $type, $this->_locale);
- }
-
- /**
- * Set a new value
- *
- * @param integer $value Value
- * @param string $type (Optional) A Zend_Measure_Number Type
- * @param string|Zend_Locale $locale (Optional) A Zend_Locale Type
- * @throws Zend_Measure_Exception
- */
- public function setValue($value, $type = null, $locale = null)
- {
- if (empty($locale)) {
- $locale = $this->_locale;
- }
-
- if (empty($this->_units[$type])) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception('unknown type of number:' . $type);
- }
-
- switch($type) {
- case 'BINARY':
- preg_match('/[01]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'TERNARY':
- preg_match('/[012]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'QUATERNARY':
- preg_match('/[0123]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'QUINARY':
- preg_match('/[01234]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'SENARY':
- preg_match('/[012345]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'SEPTENARY':
- preg_match('/[0123456]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'OCTAL':
- preg_match('/[01234567]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'NONARY':
- preg_match('/[012345678]+/', $value, $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'DUODECIMAL':
- preg_match('/[0123456789AB]+/', strtoupper($value), $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'HEXADECIMAL':
- preg_match('/[0123456789ABCDEF]+/', strtoupper($value), $ergebnis);
- $value = $ergebnis[0];
- break;
-
- case 'ROMAN':
- preg_match('/[IVXLCDM_]+/', strtoupper($value), $ergebnis);
- $value = $ergebnis[0];
- break;
-
- default:
- try {
- $value = Zend_Locale_Format::getInteger($value, array('locale' => $locale));
- } catch (Exception $e) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception($e->getMessage(), $e->getCode(), $e);
- }
- if (call_user_func(Zend_Locale_Math::$comp, $value, 0) < 0) {
- $value = call_user_func(Zend_Locale_Math::$sqrt, call_user_func(Zend_Locale_Math::$pow, $value, 2));
- }
- break;
- }
-
- $this->_value = $value;
- $this->_type = $type;
- }
-
- /**
- * Convert input to decimal value string
- *
- * @param integer $input Input string
- * @param string $type Type from which to convert to decimal
- * @return string
- */
- private function _toDecimal($input, $type)
- {
- $value = '';
- // Convert base xx values
- if ($this->_units[$type][0] <= 16) {
- $split = str_split($input);
- $length = strlen($input);
- for ($x = 0; $x < $length; ++$x) {
- $split[$x] = hexdec($split[$x]);
- $value = call_user_func(Zend_Locale_Math::$add, $value,
- call_user_func(Zend_Locale_Math::$mul, $split[$x],
- call_user_func(Zend_Locale_Math::$pow, $this->_units[$type][0], ($length - $x - 1))));
- }
- }
-
- // Convert roman numbers
- if ($type === 'ROMAN') {
- $input = strtoupper($input);
- $input = preg_replace(array_keys(self::$_romanconvert), array_values(self::$_romanconvert), $input);
-
- $split = preg_split('//', strrev($input), -1, PREG_SPLIT_NO_EMPTY);
-
- for ($x =0; $x < sizeof($split); $x++) {
- if ($split[$x] == '/') {
- continue;
- }
-
- $num = self::$_roman[$split[$x]];
- if (($x > 0 and ($split[$x-1] != '/') and ($num < self::$_roman[$split[$x-1]]))) {
- $num -= $num;
- }
-
- $value += $num;
- }
-
- str_replace('/', '', $value);
- }
-
- return $value;
- }
-
- /**
- * Convert input to type value string
- *
- * @param integer $value Input string
- * @param string $type Type to convert to
- * @return string
- * @throws Zend_Measure_Exception When more than 200 digits are calculated
- */
- private function _fromDecimal($value, $type)
- {
- $tempvalue = $value;
- if ($this->_units[$type][0] <= 16) {
- $newvalue = '';
- $count = 200;
- $base = $this->_units[$type][0];
-
- while (call_user_func(Zend_Locale_Math::$comp, $value, 0, 25) <> 0) {
- $target = call_user_func(Zend_Locale_Math::$mod, $value, $base);
-
- $newvalue = strtoupper(dechex($target)) . $newvalue;
-
- $value = call_user_func(Zend_Locale_Math::$sub, $value, $target, 0);
- $value = call_user_func(Zend_Locale_Math::$div, $value, $base, 0);
-
- --$count;
- if ($count === 0) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Your value '$tempvalue' cannot be processed because it extends 200 digits");
- }
- }
-
- if ($newvalue === '') {
- $newvalue = '0';
- }
- }
-
- if ($type === 'ROMAN') {
- $i = 0;
- $newvalue = '';
- $romanval = array_values(array_reverse(self::$_roman));
- $romankey = array_keys(array_reverse(self::$_roman));
- $count = 200;
- while (call_user_func(Zend_Locale_Math::$comp, $value, 0, 25) <> 0) {
- while ($value >= $romanval[$i]) {
- $value -= $romanval[$i];
- $newvalue .= $romankey[$i];
-
- if ($value < 1) {
- break;
- }
-
- --$count;
- if ($count === 0) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception("Your value '$tempvalue' cannot be processed because it extends 200 digits");
- }
- }
-
- $i++;
- }
-
- $newvalue = str_replace('/', '', preg_replace(array_values(self::$_romanconvert), array_keys(self::$_romanconvert), $newvalue));
- }
-
- return $newvalue;
- }
-
- /**
- * Set a new type, and convert the value
- *
- * @param string $type New type to set
- * @throws Zend_Measure_Exception When a unknown type is given
- * @return void
- */
- public function setType($type)
- {
- if (empty($this->_units[$type]) === true) {
- require_once 'Zend/Measure/Exception.php';
- throw new Zend_Measure_Exception('Unknown type of number:' . $type);
- }
-
- $value = $this->_toDecimal($this->getValue(-1), $this->getType(-1));
- $value = $this->_fromDecimal($value, $type);
-
- $this->_value = $value;
- $this->_type = $type;
- }
-
- /**
- * Alias function for setType returning the converted unit
- * Default is 0 as this class only handles numbers without precision
- *
- * @param string $type Type to convert to
- * @param integer $round (Optional) Precision to add, will always be 0
- * @return string
- */
- public function convertTo($type, $round = 0, $locale = null)
- {
- $this->setType($type);
- return $this->toString($round, $locale);
- }
-}
diff --git a/airtime_mvc/library/Zend/Measure/Power.php b/airtime_mvc/library/Zend/Measure/Power.php
deleted file mode 100644
index 00f694ecb..000000000
--- a/airtime_mvc/library/Zend/Measure/Power.php
+++ /dev/null
@@ -1,188 +0,0 @@
- array('1.0e-18', 'aW'),
- 'BTU_PER_HOUR' => array('0.29307197', 'BTU/h'),
- 'BTU_PER_MINUTE' => array('17.5843182', 'BTU/m'),
- 'BTU_PER_SECOND' => array('1055.059092', 'BTU/s'),
- 'CALORIE_PER_HOUR' => array(array('' => '11630', '*' => '1.0e-7'), 'cal/h'),
- 'CALORIE_PER_MINUTE' => array(array('' => '697800', '*' => '1.0e-7'), 'cal/m'),
- 'CALORIE_PER_SECOND' => array(array('' => '41868000', '*' => '1.0e-7'), 'cal/s'),
- 'CENTIWATT' => array('0.01', 'cW'),
- 'CHEVAL_VAPEUR' => array('735.49875', 'cv'),
- 'CLUSEC' => array('0.0000013332237', 'clusec'),
- 'DECIWATT' => array('0.1', 'dW'),
- 'DEKAWATT' => array('10', 'daW'),
- 'DYNE_CENTIMETER_PER_HOUR' => array(array('' => '1.0e-7','/' => '3600'), 'dyn cm/h'),
- 'DYNE_CENTIMETER_PER_MINUTE' => array(array('' => '1.0e-7','/' => '60'), 'dyn cm/m'),
- 'DYNE_CENTIMETER_PER_SECOND' => array('1.0e-7', 'dyn cm/s'),
- 'ERG_PER_HOUR' => array(array('' => '1.0e-7','/' => '3600'), 'erg/h'),
- 'ERG_PER_MINUTE' => array(array('' => '1.0e-7','/' => '60'), 'erg/m'),
- 'ERG_PER_SECOND' => array('1.0e-7', 'erg/s'),
- 'EXAWATT' => array('1.0e+18', 'EW'),
- 'FEMTOWATT' => array('1.0e-15', 'fW'),
- 'FOOT_POUND_FORCE_PER_HOUR' => array(array('' => '1.3558179', '/' => '3600'), 'ft lb/h'),
- 'FOOT_POUND_FORCE_PER_MINUTE' => array(array('' => '1.3558179', '/' => '60'), 'ft lb/m'),
- 'FOOT_POUND_FORCE_PER_SECOND' => array('1.3558179', 'ft lb/s'),
- 'FOOT_POUNDAL_PER_HOUR' => array(array('' => '0.04214011','/' => '3600'), 'ft pdl/h'),
- 'FOOT_POUNDAL_PER_MINUTE' => array(array('' => '0.04214011', '/' => '60'), 'ft pdl/m'),
- 'FOOT_POUNDAL_PER_SECOND' => array('0.04214011', 'ft pdl/s'),
- 'GIGAWATT' => array('1.0e+9', 'GW'),
- 'GRAM_FORCE_CENTIMETER_PER_HOUR' => array(array('' => '0.0000980665','/' => '3600'), 'gf cm/h'),
- 'GRAM_FORCE_CENTIMETER_PER_MINUTE' => array(array('' => '0.0000980665','/' => '60'), 'gf cm/m'),
- 'GRAM_FORCE_CENTIMETER_PER_SECOND' => array('0.0000980665', 'gf cm/s'),
- 'HECTOWATT' => array('100', 'hW'),
- 'HORSEPOWER_INTERNATIONAL' => array('745.69987', 'hp'),
- 'HORSEPOWER_ELECTRIC' => array('746', 'hp'),
- 'HORSEPOWER' => array('735.49875', 'hp'),
- 'HORSEPOWER_WATER' => array('746.043', 'hp'),
- 'INCH_OUNCH_FORCE_REVOLUTION_PER_MINUTE' => array('0.00073948398', 'in ocf/m'),
- 'JOULE_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'J/h'),
- 'JOULE_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'J/m'),
- 'JOULE_PER_SECOND' => array('1', 'J/s'),
- 'KILOCALORIE_PER_HOUR' => array('1.163', 'kcal/h'),
- 'KILOCALORIE_PER_MINUTE' => array('69.78', 'kcal/m'),
- 'KILOCALORIE_PER_SECOND' => array('4186.8', 'kcal/s'),
- 'KILOGRAM_FORCE_METER_PER_HOUR' => array(array('' => '9.80665', '/' => '3600'), 'kgf m/h'),
- 'KILOGRAM_FORCE_METER_PER_MINUTE' => array(array('' => '9.80665', '/' => '60'), 'kfg m/m'),
- 'KILOGRAM_FORCE_METER_PER_SECOND' => array('9.80665', 'kfg m/s'),
- 'KILOPOND_METER_PER_HOUR' => array(array('' => '9.80665', '/' => '3600'), 'kp/h'),
- 'KILOPOND_METER_PER_MINUTE' => array(array('' => '9.80665', '/' => '60'), 'kp/m'),
- 'KILOPOND_METER_PER_SECOND' => array('9.80665', 'kp/s'),
- 'KILOWATT' => array('1000', 'kW'),
- 'MEGAWATT' => array('1000000', 'MW'),
- 'MICROWATT' => array('0.000001', 'µW'),
- 'MILLION_BTU_PER_HOUR' => array('293071.07', 'mio BTU/h'),
- 'MILLIWATT' => array('0.001', 'mM'),
- 'NANOWATT' => array('1.0e-9', 'nN'),
- 'NEWTON_METER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'Nm/h'),
- 'NEWTON_METER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'Nm/m'),
- 'NEWTON_METER_PER_SECOND' => array('1', 'Nm/s'),
- 'PETAWATT' => array('1.0e+15', 'PW'),
- 'PFERDESTAERKE' => array('735.49875', 'PS'),
- 'PICOWATT' => array('1.0e-12', 'pW'),
- 'PONCELET' => array('980.665', 'p'),
- 'POUND_SQUARE_FOOT_PER_CUBIC_SECOND' => array('0.04214011', 'lb ft²/s³'),
- 'TERAWATT' => array('1.0e+12', 'TW'),
- 'TON_OF_REFRIGERATION' => array('3516.85284', 'RT'),
- 'WATT' => array('1', 'W'),
- 'YOCTOWATT' => array('1.0e-24', 'yW'),
- 'YOTTAWATT' => array('1.0e+24', 'YW'),
- 'ZEPTOWATT' => array('1.0e-21', 'zW'),
- 'ZETTAWATT' => array('1.0e+21', 'ZW'),
- 'STANDARD' => 'WATT'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Pressure.php b/airtime_mvc/library/Zend/Measure/Pressure.php
deleted file mode 100644
index 45cbcef0a..000000000
--- a/airtime_mvc/library/Zend/Measure/Pressure.php
+++ /dev/null
@@ -1,250 +0,0 @@
- array('101325.01', 'atm'),
- 'ATMOSPHERE_TECHNICAL' => array('98066.5', 'atm'),
- 'ATTOBAR' => array('1.0e-13', 'ab'),
- 'ATTOPASCAL' => array('1.0e-18', 'aPa'),
- 'BAR' => array('100000', 'b'),
- 'BARAD' => array('0.1', 'barad'),
- 'BARYE' => array('0.1', 'ba'),
- 'CENTIBAR' => array('1000', 'cb'),
- 'CENTIHG' => array('1333.2239', 'cHg'),
- 'CENTIMETER_MERCURY_0C' => array('1333.2239', 'cm mercury (0°C)'),
- 'CENTIMETER_WATER_4C' => array('98.0665', 'cm water (4°C)'),
- 'CENTIPASCAL' => array('0.01', 'cPa'),
- 'CENTITORR' => array('1.3332237', 'cTorr'),
- 'DECIBAR' => array('10000', 'db'),
- 'DECIPASCAL' => array('0.1', 'dPa'),
- 'DECITORR' => array('13.332237', 'dTorr'),
- 'DEKABAR' => array('1000000', 'dab'),
- 'DEKAPASCAL' => array('10', 'daPa'),
- 'DYNE_PER_SQUARE_CENTIMETER' => array('0.1', 'dyn/cm²'),
- 'EXABAR' => array('1.0e+23', 'Eb'),
- 'EXAPASCAL' => array('1.0e+18', 'EPa'),
- 'FEMTOBAR' => array('1.0e-10', 'fb'),
- 'FEMTOPASCAL' => array('1.0e-15', 'fPa'),
- 'FOOT_AIR_0C' => array('3.8640888', 'ft air (0°C)'),
- 'FOOT_AIR_15C' => array('3.6622931', 'ft air (15°C)'),
- 'FOOT_HEAD' => array('2989.0669', 'ft head'),
- 'FOOT_MERCURY_0C' => array('40636.664', 'ft mercury (0°C)'),
- 'FOOT_WATER_4C' => array('2989.0669', 'ft water (4°C)'),
- 'GIGABAR' => array('1.0e+14', 'Gb'),
- 'GIGAPASCAL' => array('1.0e+9', 'GPa'),
- 'GRAM_FORCE_SQUARE_CENTIMETER' => array('98.0665', 'gf'),
- 'HECTOBAR' => array('1.0e+7', 'hb'),
- 'HECTOPASCAL' => array('100', 'hPa'),
- 'INCH_AIR_0C' => array(array('' => '3.8640888', '/' => '12'), 'in air (0°C)'),
- 'INCH_AIR_15C' => array(array('' => '3.6622931', '/' => '12'), 'in air (15°C)'),
- 'INCH_MERCURY_0C' => array(array('' => '40636.664', '/' => '12'), 'in mercury (0°C)'),
- 'INCH_WATER_4C' => array(array('' => '2989.0669', '/' => '12'), 'in water (4°C)'),
- 'KILOBAR' => array('1.0e+8', 'kb'),
- 'KILOGRAM_FORCE_PER_SQUARE_CENTIMETER' => array('98066.5', 'kgf/cm²'),
- 'KILOGRAM_FORCE_PER_SQUARE_METER' => array('9.80665', 'kgf/m²'),
- 'KILOGRAM_FORCE_PER_SQUARE_MILLIMETER' => array('9806650', 'kgf/mm²'),
- 'KILONEWTON_PER_SQUARE_METER' => array('1000', 'kN/m²'),
- 'KILOPASCAL' => array('1000', 'kPa'),
- 'KILOPOND_PER_SQUARE_CENTIMETER' => array('98066.5', 'kp/cm²'),
- 'KILOPOND_PER_SQUARE_METER' => array('9.80665', 'kp/m²'),
- 'KILOPOND_PER_SQUARE_MILLIMETER' => array('9806650', 'kp/mm²'),
- 'KIP_PER_SQUARE_FOOT' => array(array('' => '430.92233', '/' => '0.009'), 'kip/ft²'),
- 'KIP_PER_SQUARE_INCH' => array(array('' => '62052.81552', '/' => '0.009'), 'kip/in²'),
- 'MEGABAR' => array('1.0e+11', 'Mb'),
- 'MEGANEWTON_PER_SQUARE_METER' => array('1000000', 'MN/m²'),
- 'MEGAPASCAL' => array('1000000', 'MPa'),
- 'METER_AIR_0C' => array('12.677457', 'm air (0°C)'),
- 'METER_AIR_15C' => array('12.015397', 'm air (15°C)'),
- 'METER_HEAD' => array('9804.139432', 'm head'),
- 'MICROBAR' => array('0.1', 'µb'),
- 'MICROMETER_MERCURY_0C' => array('0.13332239', 'µm mercury (0°C)'),
- 'MICROMETER_WATER_4C' => array('0.00980665', 'µm water (4°C)'),
- 'MICRON_MERCURY_0C' => array('0.13332239', 'µ mercury (0°C)'),
- 'MICROPASCAL' => array('0.000001', 'µPa'),
- 'MILLIBAR' => array('100', 'mb'),
- 'MILLIHG' => array('133.32239', 'mHg'),
- 'MILLIMETER_MERCURY_0C' => array('133.32239', 'mm mercury (0°C)'),
- 'MILLIMETER_WATER_4C' => array('9.80665', 'mm water (0°C)'),
- 'MILLIPASCAL' => array('0.001', 'mPa'),
- 'MILLITORR' => array('0.13332237', 'mTorr'),
- 'NANOBAR' => array('0.0001', 'nb'),
- 'NANOPASCAL' => array('1.0e-9', 'nPa'),
- 'NEWTON_PER_SQUARE_METER' => array('1', 'N/m²'),
- 'NEWTON_PER_SQUARE_MILLIMETER' => array('1000000', 'N/mm²'),
- 'OUNCE_PER_SQUARE_INCH' => array('430.92233', 'oz/in²'),
- 'PASCAL' => array('1', 'Pa'),
- 'PETABAR' => array('1.0e+20', 'Pb'),
- 'PETAPASCAL' => array('1.0e+15', 'PPa'),
- 'PICOBAR' => array('0.0000001', 'pb'),
- 'PICOPASCAL' => array('1.0e-12', 'pPa'),
- 'PIEZE' => array('1000', 'pz'),
- 'POUND_PER_SQUARE_FOOT' => array(array('' => '430.92233', '/' => '9'), 'lb/ft²'),
- 'POUND_PER_SQUARE_INCH' => array('6894.75728', 'lb/in²'),
- 'POUNDAL_PER_SQUARE_FOOT' => array('1.4881639', 'pdl/ft²'),
- 'STHENE_PER_SQUARE_METER' => array('1000', 'sn/m²'),
- 'TECHNICAL_ATMOSPHERE' => array('98066.5', 'at'),
- 'TERABAR' => array('1.0e+17', 'Tb'),
- 'TERAPASCAL' => array('1.0e+12', 'TPa'),
- 'TON_PER_SQUARE_FOOT' => array(array('' => '120658.2524', '/' => '1.125'), 't/ft²'),
- 'TON_PER_SQUARE_FOOT_SHORT' => array(array('' => '430.92233', '/' => '0.0045'), 't/ft²'),
- 'TON_PER_SQUARE_INCH' => array(array('' => '17374788.3456', '/' => '1.125'), 't/in²'),
- 'TON_PER_SQUARE_INCH_SHORT' => array(array('' => '62052.81552', '/' => '0.0045'), 't/in²'),
- 'TON_PER_SQUARE_METER' => array('9806.65', 't/m²'),
- 'TORR' => array('133.32237', 'Torr'),
- 'WATER_COLUMN_CENTIMETER' => array('98.0665', 'WC (cm)'),
- 'WATER_COLUMN_INCH' => array(array('' => '2989.0669', '/' => '12'), 'WC (in)'),
- 'WATER_COLUMN_MILLIMETER' => array('9.80665', 'WC (mm)'),
- 'YOCTOBAR' => array('1.0e-19', 'yb'),
- 'YOCTOPASCAL' => array('1.0e-24', 'yPa'),
- 'YOTTABAR' => array('1.0e+29', 'Yb'),
- 'YOTTAPASCAL' => array('1.0e+24', 'YPa'),
- 'ZEPTOBAR' => array('1.0e-16', 'zb'),
- 'ZEPTOPASCAL' => array('1.0e-21', 'zPa'),
- 'ZETTABAR' => array('1.0e+26', 'Zb'),
- 'ZETTAPASCAL' => array('1.0e+21', 'ZPa'),
- 'STANDARD' => 'NEWTON_PER_SQUARE_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Speed.php b/airtime_mvc/library/Zend/Measure/Speed.php
deleted file mode 100644
index 40c15e264..000000000
--- a/airtime_mvc/library/Zend/Measure/Speed.php
+++ /dev/null
@@ -1,190 +0,0 @@
- array('1', 'Bz'),
- 'CENTIMETER_PER_DAY' => array(array('' => '0.01', '/' => '86400'), 'cm/day'),
- 'CENTIMETER_PER_HOUR' => array(array('' => '0.01', '/' => '3600'), 'cm/h'),
- 'CENTIMETER_PER_MINUTE' => array(array('' => '0.01', '/' => '60'), 'cm/m'),
- 'CENTIMETER_PER_SECOND' => array('0.01', 'cd/s'),
- 'DEKAMETER_PER_DAY' => array(array('' => '10', '/' => '86400'), 'dam/day'),
- 'DEKAMETER_PER_HOUR' => array(array('' => '10', '/' => '3600'), 'dam/h'),
- 'DEKAMETER_PER_MINUTE' => array(array('' => '10', '/' => '60'), 'dam/m'),
- 'DEKAMETER_PER_SECOND' => array('10', 'dam/s'),
- 'FOOT_PER_DAY' => array(array('' => '0.3048', '/' => '86400'), 'ft/day'),
- 'FOOT_PER_HOUR' => array(array('' => '0.3048', '/' => '3600'), 'ft/h'),
- 'FOOT_PER_MINUTE' => array(array('' => '0.3048', '/' => '60'), 'ft/m'),
- 'FOOT_PER_SECOND' => array('0.3048', 'ft/s'),
- 'FURLONG_PER_DAY' => array(array('' => '201.1684', '/' => '86400'), 'fur/day'),
- 'FURLONG_PER_FORTNIGHT' => array(array('' => '201.1684', '/' => '1209600'), 'fur/fortnight'),
- 'FURLONG_PER_HOUR' => array(array('' => '201.1684', '/' => '3600'), 'fur/h'),
- 'FURLONG_PER_MINUTE' => array(array('' => '201.1684', '/' => '60'), 'fur/m'),
- 'FURLONG_PER_SECOND' => array('201.1684', 'fur/s'),
- 'HECTOMETER_PER_DAY' => array(array('' => '100', '/' => '86400'), 'hm/day'),
- 'HECTOMETER_PER_HOUR' => array(array('' => '100', '/' => '3600'), 'hm/h'),
- 'HECTOMETER_PER_MINUTE' => array(array('' => '100', '/' => '60'), 'hm/m'),
- 'HECTOMETER_PER_SECOND' => array('100', 'hm/s'),
- 'INCH_PER_DAY' => array(array('' => '0.0254', '/' => '86400'), 'in/day'),
- 'INCH_PER_HOUR' => array(array('' => '0.0254', '/' => '3600'), 'in/h'),
- 'INCH_PER_MINUTE' => array(array('' => '0.0254', '/' => '60'), 'in/m'),
- 'INCH_PER_SECOND' => array('0.0254', 'in/s'),
- 'KILOMETER_PER_DAY' => array(array('' => '1000', '/' => '86400'), 'km/day'),
- 'KILOMETER_PER_HOUR' => array(array('' => '1000', '/' => '3600'), 'km/h'),
- 'KILOMETER_PER_MINUTE' => array(array('' => '1000', '/' => '60'), 'km/m'),
- 'KILOMETER_PER_SECOND' => array('1000', 'km/s'),
- 'KNOT' => array(array('' => '1852', '/' => '3600'), 'kn'),
- 'LEAGUE_PER_DAY' => array(array('' => '4828.0417', '/' => '86400'), 'league/day'),
- 'LEAGUE_PER_HOUR' => array(array('' => '4828.0417', '/' => '3600'), 'league/h'),
- 'LEAGUE_PER_MINUTE' => array(array('' => '4828.0417', '/' => '60'), 'league/m'),
- 'LEAGUE_PER_SECOND' => array('4828.0417', 'league/s'),
- 'MACH' => array('340.29', 'M'),
- 'MEGAMETER_PER_DAY' => array(array('' => '1000000', '/' => '86400'), 'Mm/day'),
- 'MEGAMETER_PER_HOUR' => array(array('' => '1000000', '/' => '3600'), 'Mm/h'),
- 'MEGAMETER_PER_MINUTE' => array(array('' => '1000000', '/' => '60'), 'Mm/m'),
- 'MEGAMETER_PER_SECOND' => array('1000000', 'Mm/s'),
- 'METER_PER_DAY' => array(array('' => '1', '/' => '86400'), 'm/day'),
- 'METER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'm/h'),
- 'METER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'm/m'),
- 'METER_PER_SECOND' => array('1', 'm/s'),
- 'MILE_PER_DAY' => array(array('' => '1609.344', '/' => '86400'), 'mi/day'),
- 'MILE_PER_HOUR' => array(array('' => '1609.344', '/' => '3600'), 'mi/h'),
- 'MILE_PER_MINUTE' => array(array('' => '1609.344', '/' => '60'), 'mi/m'),
- 'MILE_PER_SECOND' => array('1609.344', 'mi/s'),
- 'MILLIMETER_PER_DAY' => array(array('' => '0.001', '/' => '86400'), 'mm/day'),
- 'MILLIMETER_PER_HOUR' => array(array('' => '0.001', '/' => '3600'), 'mm/h'),
- 'MILLIMETER_PER_MINUTE' => array(array('' => '0.001', '/' => '60'), 'mm/m'),
- 'MILLIMETER_PER_SECOND' => array('0.001', 'mm/s'),
- 'MILLIMETER_PER_MICROSECOND' => array('1000', 'mm/µs'),
- 'MILLIMETER_PER_100_MICROSECOND' => array('10', 'mm/100µs'),
- 'NAUTIC_MILE_PER_DAY' => array(array('' => '1852', '/' => '86400'), 'nmi/day'),
- 'NAUTIC_MILE_PER_HOUR' => array(array('' => '1852', '/' => '3600'), 'nmi/h'),
- 'NAUTIC_MILE_PER_MINUTE' => array(array('' => '1852', '/' => '60'), 'nmi/m'),
- 'NAUTIC_MILE_PER_SECOND' => array('1852', 'nmi/s'),
- 'LIGHTSPEED_AIR' => array('299702547', 'speed of light (air)'),
- 'LIGHTSPEED_GLASS' => array('199861638', 'speed of light (glass)'),
- 'LIGHTSPEED_ICE' => array('228849204', 'speed of light (ice)'),
- 'LIGHTSPEED_VACUUM' => array('299792458', 'speed of light (vacuum)'),
- 'LIGHTSPEED_WATER' => array('225407863', 'speed of light (water)'),
- 'SOUNDSPEED_AIT' => array('340.29', 'speed of sound (air)'),
- 'SOUNDSPEED_METAL' => array('5000', 'speed of sound (metal)'),
- 'SOUNDSPEED_WATER' => array('1500', 'speed of sound (water)'),
- 'YARD_PER_DAY' => array(array('' => '0.9144', '/' => '86400'), 'yd/day'),
- 'YARD_PER_HOUR' => array(array('' => '0.9144', '/' => '3600'), 'yd/h'),
- 'YARD_PER_MINUTE' => array(array('' => '0.9144', '/' => '60'), 'yd/m'),
- 'YARD_PER_SECOND' => array('0.9144', 'yd/s'),
- 'STANDARD' => 'METER_PER_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Temperature.php b/airtime_mvc/library/Zend/Measure/Temperature.php
deleted file mode 100644
index a482775f8..000000000
--- a/airtime_mvc/library/Zend/Measure/Temperature.php
+++ /dev/null
@@ -1,60 +0,0 @@
- array(array('' => '1', '+' => '273.15'),'°C'),
- 'FAHRENHEIT' => array(array('' => '1', '-' => '32', '/' => '1.8', '+' => '273.15'),'°F'),
- 'RANKINE' => array(array('' => '1', '/' => '1.8'),'°R'),
- 'REAUMUR' => array(array('' => '1', '*' => '1.25', '+' => '273.15'),'°r'),
- 'KELVIN' => array(1,'°K'),
- 'STANDARD' => 'KELVIN'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Time.php b/airtime_mvc/library/Zend/Measure/Time.php
deleted file mode 100644
index 14bcf45a3..000000000
--- a/airtime_mvc/library/Zend/Measure/Time.php
+++ /dev/null
@@ -1,117 +0,0 @@
- array('31558432', 'anomalistic year'),
- 'ATTOSECOND' => array('1.0e-18', 'as'),
- 'CENTURY' => array('3153600000', 'century'),
- 'DAY' => array('86400', 'day'),
- 'DECADE' => array('315360000', 'decade'),
- 'DRACONIC_YEAR' => array('29947974', 'draconic year'),
- 'EXASECOND' => array('1.0e+18', 'Es'),
- 'FEMTOSECOND' => array('1.0e-15', 'fs'),
- 'FORTNIGHT' => array('1209600', 'fortnight'),
- 'GAUSSIAN_YEAR' => array('31558196', 'gaussian year'),
- 'GIGASECOND' => array('1.0e+9', 'Gs'),
- 'GREAT_YEAR' => array(array('*' => '31536000', '*' => '25700'), 'great year'),
- 'GREGORIAN_YEAR' => array('31536000', 'year'),
- 'HOUR' => array('3600', 'h'),
- 'JULIAN_YEAR' => array('31557600', 'a'),
- 'KILOSECOND' => array('1000', 'ks'),
- 'LEAPYEAR' => array('31622400', 'year'),
- 'MEGASECOND' => array('1000000', 'Ms'),
- 'MICROSECOND' => array('0.000001', 'µs'),
- 'MILLENIUM' => array('31536000000', 'millenium'),
- 'MILLISECOND' => array('0.001', 'ms'),
- 'MINUTE' => array('60', 'min'),
- 'MONTH' => array('2628600', 'month'),
- 'NANOSECOND' => array('1.0e-9', 'ns'),
- 'PETASECOND' => array('1.0e+15', 'Ps'),
- 'PICOSECOND' => array('1.0e-12', 'ps'),
- 'QUARTER' => array('7884000', 'quarter'),
- 'SECOND' => array('1', 's'),
- 'SHAKE' => array('1.0e-9', 'shake'),
- 'SIDEREAL_YEAR' => array('31558149.7676', 'sidereal year'),
- 'TERASECOND' => array('1.0e+12', 'Ts'),
- 'TROPICAL_YEAR' => array('31556925', 'tropical year'),
- 'WEEK' => array('604800', 'week'),
- 'YEAR' => array('31536000', 'year'),
- 'STANDARD' => 'SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Torque.php b/airtime_mvc/library/Zend/Measure/Torque.php
deleted file mode 100644
index 990bba1d9..000000000
--- a/airtime_mvc/library/Zend/Measure/Torque.php
+++ /dev/null
@@ -1,82 +0,0 @@
- array('0.0000001', 'dyncm'),
- 'GRAM_CENTIMETER' => array('0.0000980665', 'gcm'),
- 'KILOGRAM_CENTIMETER' => array('0.0980665', 'kgcm'),
- 'KILOGRAM_METER' => array('9.80665', 'kgm'),
- 'KILONEWTON_METER' => array('1000', 'kNm'),
- 'KILOPOND_METER' => array('9.80665', 'kpm'),
- 'MEGANEWTON_METER' => array('1000000', 'MNm'),
- 'MICRONEWTON_METER' => array('0.000001', 'µNm'),
- 'MILLINEWTON_METER' => array('0.001', 'mNm'),
- 'NEWTON_CENTIMETER' => array('0.01', 'Ncm'),
- 'NEWTON_METER' => array('1', 'Nm'),
- 'OUNCE_FOOT' => array('0.084738622', 'ozft'),
- 'OUNCE_INCH' => array(array('' => '0.084738622', '/' => '12'), 'ozin'),
- 'POUND_FOOT' => array(array('' => '0.084738622', '*' => '16'), 'lbft'),
- 'POUNDAL_FOOT' => array('0.0421401099752144', 'plft'),
- 'POUND_INCH' => array(array('' => '0.084738622', '/' => '12', '*' => '16'), 'lbin'),
- 'STANDARD' => 'NEWTON_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Viscosity/Dynamic.php b/airtime_mvc/library/Zend/Measure/Viscosity/Dynamic.php
deleted file mode 100644
index 09b4485a3..000000000
--- a/airtime_mvc/library/Zend/Measure/Viscosity/Dynamic.php
+++ /dev/null
@@ -1,120 +0,0 @@
- array('0.001', 'cP'),
- 'DECIPOISE' => array('0.01', 'dP'),
- 'DYNE_SECOND_PER_SQUARE_CENTIMETER' => array('0.1', 'dyn s/cm²'),
- 'GRAM_FORCE_SECOND_PER_SQUARE_CENTIMETER' => array('98.0665', 'gf s/cm²'),
- 'GRAM_PER_CENTIMETER_SECOND' => array('0.1', 'g/cm s'),
- 'KILOGRAM_FORCE_SECOND_PER_SQUARE_METER' => array('9.80665', 'kgf s/m²'),
- 'KILOGRAM_PER_METER_HOUR' => array(array('' => '1', '/' => '3600'), 'kg/m h'),
- 'KILOGRAM_PER_METER_SECOND' => array('1', 'kg/ms'),
- 'MILLIPASCAL_SECOND' => array('0.001', 'mPa s'),
- 'MILLIPOISE' => array('0.0001', 'mP'),
- 'NEWTON_SECOND_PER_SQUARE_METER' => array('1', 'N s/m²'),
- 'PASCAL_SECOND' => array('1', 'Pa s'),
- 'POISE' => array('0.1', 'P'),
- 'POISEUILLE' => array('1', 'Pl'),
- 'POUND_FORCE_SECOND_PER_SQUARE_FEET' => array('47.880259', 'lbf s/ft²'),
- 'POUND_FORCE_SECOND_PER_SQUARE_INCH' => array('6894.75729', 'lbf s/in²'),
- 'POUND_PER_FOOT_HOUR' => array('0.00041337887', 'lb/ft h'),
- 'POUND_PER_FOOT_SECOND' => array('1.4881639', 'lb/ft s'),
- 'POUNDAL_HOUR_PER_SQUARE_FOOT' => array('0.00041337887', 'pdl h/ft²'),
- 'POUNDAL_SECOND_PER_SQUARE_FOOT' => array('1.4881639', 'pdl s/ft²'),
- 'REYN' => array('6894.75729', 'reyn'),
- 'SLUG_PER_FOOT_SECOND'=> array('47.880259', 'slug/ft s'),
- 'WATER_20C' => array('0.001', 'water (20°)'),
- 'WATER_40C' => array('0.00065', 'water (40°)'),
- 'HEAVY_OIL_20C' => array('0.45', 'oil (20°)'),
- 'HEAVY_OIL_40C' => array('0.11', 'oil (40°)'),
- 'GLYCERIN_20C' => array('1.41', 'glycerin (20°)'),
- 'GLYCERIN_40C' => array('0.284', 'glycerin (40°)'),
- 'SAE_5W_MINUS18C' => array('1.2', 'SAE 5W (-18°)'),
- 'SAE_10W_MINUS18C' => array('2.4', 'SAE 10W (-18°)'),
- 'SAE_20W_MINUS18C' => array('9.6', 'SAE 20W (-18°)'),
- 'SAE_5W_99C' => array('0.0039', 'SAE 5W (99°)'),
- 'SAE_10W_99C' => array('0.0042', 'SAE 10W (99°)'),
- 'SAE_20W_99C' => array('0.0057', 'SAE 20W (99°)'),
- 'STANDARD' => 'KILOGRAM_PER_METER_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Viscosity/Kinematic.php b/airtime_mvc/library/Zend/Measure/Viscosity/Kinematic.php
deleted file mode 100644
index d24bb784f..000000000
--- a/airtime_mvc/library/Zend/Measure/Viscosity/Kinematic.php
+++ /dev/null
@@ -1,106 +0,0 @@
- array('0.000001', 'cSt'),
- 'LENTOR' => array('0.0001', 'lentor'),
- 'LITER_PER_CENTIMETER_DAY' => array(array('' => '1', '/' => '864000'), 'l/cm day'),
- 'LITER_PER_CENTIMETER_HOUR' => array(array('' => '1', '/' => '36000'), 'l/cm h'),
- 'LITER_PER_CENTIMETER_MINUTE' => array(array('' => '1', '/' => '600'), 'l/cm m'),
- 'LITER_PER_CENTIMETER_SECOND' => array('0.1', 'l/cm s'),
- 'POISE_CUBIC_CENTIMETER_PER_GRAM' => array('0.0001', 'P cm³/g'),
- 'SQUARE_CENTIMETER_PER_DAY' => array(array('' => '1', '/' => '864000000'),'cm²/day'),
- 'SQUARE_CENTIMETER_PER_HOUR' => array(array('' => '1', '/' => '36000000'),'cm²/h'),
- 'SQUARE_CENTIMETER_PER_MINUTE' => array(array('' => '1', '/' => '600000'),'cm²/m'),
- 'SQUARE_CENTIMETER_PER_SECOND' => array('0.0001', 'cm²/s'),
- 'SQUARE_FOOT_PER_DAY' => array('0.0000010752667', 'ft²/day'),
- 'SQUARE_FOOT_PER_HOUR' => array('0.0000258064', 'ft²/h'),
- 'SQUARE_FOOT_PER_MINUTE' => array('0.001548384048', 'ft²/m'),
- 'SQUARE_FOOT_PER_SECOND' => array('0.09290304', 'ft²/s'),
- 'SQUARE_INCH_PER_DAY' => array('7.4671296e-9', 'in²/day'),
- 'SQUARE_INCH_PER_HOUR' => array('0.00000017921111', 'in²/h'),
- 'SQUARE_INCH_PER_MINUTE' => array('0.000010752667', 'in²/m'),
- 'SQUARE_INCH_PER_SECOND' => array('0.00064516', 'in²/s'),
- 'SQUARE_METER_PER_DAY' => array(array('' => '1', '/' => '86400'), 'm²/day'),
- 'SQUARE_METER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'm²/h'),
- 'SQUARE_METER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'm²/m'),
- 'SQUARE_METER_PER_SECOND' => array('1', 'm²/s'),
- 'SQUARE_MILLIMETER_PER_DAY' => array(array('' => '1', '/' => '86400000000'), 'mm²/day'),
- 'SQUARE_MILLIMETER_PER_HOUR' => array(array('' => '1', '/' => '3600000000'), 'mm²/h'),
- 'SQUARE_MILLIMETER_PER_MINUTE' => array(array('' => '1', '/' => '60000000'), 'mm²/m'),
- 'SQUARE_MILLIMETER_PER_SECOND' => array('0.000001', 'mm²/s'),
- 'STOKES' => array('0.0001', 'St'),
- 'STANDARD' => 'SQUARE_METER_PER_SECOND'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Volume.php b/airtime_mvc/library/Zend/Measure/Volume.php
deleted file mode 100644
index 337017965..000000000
--- a/airtime_mvc/library/Zend/Measure/Volume.php
+++ /dev/null
@@ -1,213 +0,0 @@
- array('1233.48185532', 'ac ft'),
- 'ACRE_FOOT_SURVEY' => array('1233.489', 'ac ft'),
- 'ACRE_INCH' => array('102.79015461', 'ac in'),
- 'BARREL_WINE' => array('0.143201835', 'bbl'),
- 'BARREL' => array('0.16365924', 'bbl'),
- 'BARREL_US_DRY' => array(array('' => '26.7098656608', '/' => '231'), 'bbl'),
- 'BARREL_US_FEDERAL' => array('0.1173477658', 'bbl'),
- 'BARREL_US' => array('0.1192404717', 'bbl'),
- 'BARREL_US_PETROLEUM' => array('0.1589872956', 'bbl'),
- 'BOARD_FOOT' => array(array('' => '6.5411915904', '/' => '2772'), 'board foot'),
- 'BUCKET' => array('0.01818436', 'bucket'),
- 'BUCKET_US' => array('0.018927059', 'bucket'),
- 'BUSHEL' => array('0.03636872', 'bu'),
- 'BUSHEL_US' => array('0.03523907', 'bu'),
- 'CENTILITER' => array('0.00001', 'cl'),
- 'CORD' => array('3.624556416', 'cd'),
- 'CORD_FOOT' => array('0.453069552', 'cd ft'),
- 'CUBIC_CENTIMETER' => array('0.000001', 'cm³'),
- 'CUBIC_CUBIT' => array('0.144', 'cubit³'),
- 'CUBIC_DECIMETER' => array('0.001', 'dm³'),
- 'CUBIC_DEKAMETER' => array('1000', 'dam³'),
- 'CUBIC_FOOT' => array(array('' => '6.54119159', '/' => '231'), 'ft³'),
- 'CUBIC_INCH' => array(array('' => '0.0037854118', '/' => '231'), 'in³'),
- 'CUBIC_KILOMETER' => array('1.0e+9', 'km³'),
- 'CUBIC_METER' => array('1', 'm³'),
- 'CUBIC_MILE' => array(array('' => '0.0037854118', '/' => '231', '*' => '75271680', '*' => '3379200'),
- 'mi³'),
- 'CUBIC_MICROMETER' => array('1.0e-18', 'µm³'),
- 'CUBIC_MILLIMETER' => array('1.0e-9', 'mm³'),
- 'CUBIC_YARD' => array(array('' => '0.0037854118', '/' => '231', '*' => '46656'), 'yd³'),
- 'CUP_CANADA' => array('0.0002273045', 'c'),
- 'CUP' => array('0.00025', 'c'),
- 'CUP_US' => array(array('' => '0.0037854118', '/' => '16'), 'c'),
- 'DECILITER' => array('0.0001', 'dl'),
- 'DEKALITER' => array('0.001', 'dal'),
- 'DRAM' => array(array('' => '0.0037854118', '/' => '1024'), 'dr'),
- 'DRUM_US' => array('0.208197649', 'drum'),
- 'DRUM' => array('0.2', 'drum'),
- 'FIFTH' => array('0.00075708236', 'fifth'),
- 'GALLON' => array('0.00454609', 'gal'),
- 'GALLON_US_DRY' => array('0.0044048838', 'gal'),
- 'GALLON_US' => array('0.0037854118', 'gal'),
- 'GILL' => array(array('' => '0.00454609', '/' => '32'), 'gi'),
- 'GILL_US' => array(array('' => '0.0037854118', '/' => '32'), 'gi'),
- 'HECTARE_METER' => array('10000', 'ha m'),
- 'HECTOLITER' => array('0.1', 'hl'),
- 'HOGSHEAD' => array('0.28640367', 'hhd'),
- 'HOGSHEAD_US' => array('0.2384809434', 'hhd'),
- 'JIGGER' => array(array('' => '0.0037854118', '/' => '128', '*' => '1.5'), 'jigger'),
- 'KILOLITER' => array('1', 'kl'),
- 'LITER' => array('0.001', 'l'),
- 'MEASURE' => array('0.0077', 'measure'),
- 'MEGALITER' => array('1000', 'Ml'),
- 'MICROLITER' => array('1.0e-9', 'µl'),
- 'MILLILITER' => array('0.000001', 'ml'),
- 'MINIM' => array(array('' => '0.00454609', '/' => '76800'), 'min'),
- 'MINIM_US' => array(array('' => '0.0037854118','/' => '61440'), 'min'),
- 'OUNCE' => array(array('' => '0.00454609', '/' => '160'), 'oz'),
- 'OUNCE_US' => array(array('' => '0.0037854118', '/' => '128'), 'oz'),
- 'PECK' => array('0.00909218', 'pk'),
- 'PECK_US' => array('0.0088097676', 'pk'),
- 'PINT' => array(array('' => '0.00454609', '/' => '8'), 'pt'),
- 'PINT_US_DRY' => array(array('' => '0.0044048838', '/' => '8'), 'pt'),
- 'PINT_US' => array(array('' => '0.0037854118', '/' => '8'), 'pt'),
- 'PIPE' => array('0.49097772', 'pipe'),
- 'PIPE_US' => array('0.4769618868', 'pipe'),
- 'PONY' => array(array('' => '0.0037854118', '/' => '128'), 'pony'),
- 'QUART_GERMANY' => array('0.00114504', 'qt'),
- 'QUART_ANCIENT' => array('0.00108', 'qt'),
- 'QUART' => array(array('' => '0.00454609', '/' => '4'), 'qt'),
- 'QUART_US_DRY' => array(array('' => '0.0044048838', '/' => '4'), 'qt'),
- 'QUART_US' => array(array('' => '0.0037854118', '/' => '4'), 'qt'),
- 'QUART_UK' => array('0.29094976', 'qt'),
- 'SHOT' => array(array('' => '0.0037854118', '/' => '128'), 'shot'),
- 'STERE' => array('1', 'st'),
- 'TABLESPOON' => array('0.000015', 'tbsp'),
- 'TABLESPOON_UK' => array(array('' => '0.00454609', '/' => '320'), 'tbsp'),
- 'TABLESPOON_US' => array(array('' => '0.0037854118', '/' => '256'), 'tbsp'),
- 'TEASPOON' => array('0.000005', 'tsp'),
- 'TEASPOON_UK' => array(array('' => '0.00454609', '/' => '1280'), 'tsp'),
- 'TEASPOON_US' => array(array('' => '0.0037854118', '/' => '768'), 'tsp'),
- 'YARD' => array(array('' => '176.6121729408', '/' => '231'), 'yd'),
- 'STANDARD' => 'CUBIC_METER'
- );
-}
diff --git a/airtime_mvc/library/Zend/Measure/Weight.php b/airtime_mvc/library/Zend/Measure/Weight.php
deleted file mode 100644
index 6ac787973..000000000
--- a/airtime_mvc/library/Zend/Measure/Weight.php
+++ /dev/null
@@ -1,480 +0,0 @@
- array('0.5', 'arratel'),
- 'ARTEL' => array('0.5', 'artel'),
- 'ARROBA_PORTUGUESE' => array('14.69', 'arroba'),
- 'ARROBA' => array('11.502', '@'),
- 'AS_' => array('0.000052', 'as'),
- 'ASS' => array('0.000052', 'ass'),
- 'ATOMIC_MASS_UNIT_1960' => array('1.6603145e-27', 'amu'),
- 'ATOMIC_MASS_UNIT_1973' => array('1.6605655e-27', 'amu'),
- 'ATOMIC_MASS_UNIT_1986' => array('1.6605402e-27', 'amu'),
- 'ATOMIC_MASS_UNIT' => array('1.66053873e-27', 'amu'),
- 'AVOGRAM' => array('1.6605402e-27', 'avogram'),
- 'BAG' => array('42.63768278', 'bag'),
- 'BAHT' => array('0.015', 'baht'),
- 'BALE' => array('326.5865064', 'bl'),
- 'BALE_US' => array('217.7243376', 'bl'),
- 'BISMAR_POUND' => array('5.993', 'bismar pound'),
- 'CANDY' => array('254', 'candy'),
- 'CARAT_INTERNATIONAL' => array('0.0002', 'ct'),
- 'CARAT' => array('0.0002', 'ct'),
- 'CARAT_UK' => array('0.00025919564', 'ct'),
- 'CARAT_US_1913' => array('0.0002053', 'ct'),
- 'CARGA' => array('140', 'carga'),
- 'CATTI' => array('0.604875', 'catti'),
- 'CATTI_JAPANESE' => array('0.594', 'catti'),
- 'CATTY' => array('0.5', 'catty'),
- 'CATTY_JAPANESE' => array('0.6', 'catty'),
- 'CATTY_THAI' => array('0.6', 'catty'),
- 'CENTAL' => array('45.359237', 'cH'),
- 'CENTIGRAM' => array('0.00001', 'cg'),
- 'CENTNER' => array('50', 'centner'),
- 'CENTNER_RUSSIAN' => array('100', 'centner'),
- 'CHALDER' => array('2692.52', 'chd'),
- 'CHALDRON' => array('2692.52', 'chd'),
- 'CHIN' => array('0.5', 'chin'),
- 'CHIN_JAPANESE' => array('0.6', 'chin'),
- 'CLOVE' => array('3.175', 'clove'),
- 'CRITH' => array('0.000089885', 'crith'),
- 'DALTON' => array('1.6605402e-27', 'D'),
- 'DAN' => array('50', 'dan'),
- 'DAN_JAPANESE' => array('60', 'dan'),
- 'DECIGRAM' => array('0.0001', 'dg'),
- 'DECITONNE' => array('100', 'dt'),
- 'DEKAGRAM' => array('0.01', 'dag'),
- 'DEKATONNE' => array('10000', 'dat'),
- 'DENARO' => array('0.0011', 'denaro'),
- 'DENIER' => array('0.001275', 'denier'),
- 'DRACHME' => array('0.0038', 'drachme'),
- 'DRAM' => array(array('' => '0.45359237', '/' => '256'), 'dr'),
- 'DRAM_APOTHECARIES' => array('0.0038879346', 'dr'),
- 'DYNE' => array('1.0197162e-6', 'dyn'),
- 'ELECTRON' => array('9.109382e-31', 'e−'),
- 'ELECTRONVOLT' => array('1.782662e-36', 'eV'),
- 'ETTO' => array('0.1', 'hg'),
- 'EXAGRAM' => array('1.0e+15', 'Eg'),
- 'FEMTOGRAM' => array('1.0e-18', 'fg'),
- 'FIRKIN' => array('25.40117272', 'fir'),
- 'FLASK' => array('34.7', 'flask'),
- 'FOTHER' => array('979.7595192', 'fother'),
- 'FOTMAL' => array('32.65865064', 'fotmal'),
- 'FUNT' => array('0.4095', 'funt'),
- 'FUNTE' => array('0.4095', 'funte'),
- 'GAMMA' => array('0.000000001', 'gamma'),
- 'GIGAELECTRONVOLT' => array('1.782662e-27', 'GeV'),
- 'GIGAGRAM' => array('1000000', 'Gg'),
- 'GIGATONNE' => array('1.0e+12', 'Gt'),
- 'GIN' => array('0.6', 'gin'),
- 'GIN_JAPANESE' => array('0.594', 'gin'),
- 'GRAIN' => array('0.00006479891', 'gr'),
- 'GRAM' => array('0.001', 'g'),
- 'GRAN' => array('0.00082', 'gran'),
- 'GRANO' => array('0.00004905', 'grano'),
- 'GRANI' => array('0.00004905', 'grani'),
- 'GROS' => array('0.003824', 'gros'),
- 'HECTOGRAM' => array('0.1', 'hg'),
- 'HUNDRETWEIGHT' => array('50.80234544', 'cwt'),
- 'HUNDRETWEIGHT_US' => array('45.359237', 'cwt'),
- 'HYL' => array('9.80665', 'hyl'),
- 'JIN' => array('0.5', 'jin'),
- 'JUPITER' => array('1.899e+27', 'jupiter'),
- 'KATI' => array('0.5', 'kati'),
- 'KATI_JAPANESE' => array('0.6', 'kati'),
- 'KEEL' => array('21540.19446656', 'keel'),
- 'KEG' => array('45.359237', 'keg'),
- 'KILODALTON' => array('1.6605402e-24', 'kD'),
- 'KILOGRAM' => array('1', 'kg'),
- 'KILOGRAM_FORCE' => array('1', 'kgf'),
- 'KILOTON' => array('1016046.9088', 'kt'),
- 'KILOTON_US' => array('907184.74', 'kt'),
- 'KILOTONNE' => array('1000000', 'kt'),
- 'KIN' => array('0.6', 'kin'),
- 'KIP' => array('453.59237', 'kip'),
- 'KOYAN' => array('2419', 'koyan'),
- 'KWAN' => array('3.75', 'kwan'),
- 'LAST_GERMANY' => array('2000', 'last'),
- 'LAST' => array('1814.36948', 'last'),
- 'LAST_WOOL' => array('1981.29147216', 'last'),
- 'LB' => array('0.45359237', 'lb'),
- 'LBS' => array('0.45359237', 'lbs'),
- 'LIANG' => array('0.05', 'liang'),
- 'LIBRE_ITALIAN' => array('0.339', 'lb'),
- 'LIBRA_SPANISH' => array('0.459', 'lb'),
- 'LIBRA_PORTUGUESE' => array('0.459', 'lb'),
- 'LIBRA_ANCIENT' => array('0.323', 'lb'),
- 'LIBRA' => array('1', 'lb'),
- 'LIVRE' => array('0.4895', 'livre'),
- 'LONG_TON' => array('1016.0469088', 't'),
- 'LOT' => array('0.015', 'lot'),
- 'MACE' => array('0.003778', 'mace'),
- 'MAHND' => array('0.9253284348', 'mahnd'),
- 'MARC' => array('0.24475', 'marc'),
- 'MARCO' => array('0.23', 'marco'),
- 'MARK' => array('0.2268', 'mark'),
- 'MARK_GERMANY' => array('0.2805', 'mark'),
- 'MAUND' => array('37.3242', 'maund'),
- 'MAUND_PAKISTAN' => array('40', 'maund'),
- 'MEGADALTON' => array('1.6605402e-21', 'MD'),
- 'MEGAGRAM' => array('1000', 'Mg'),
- 'MEGATONNE' => array('1.0e+9', 'Mt'),
- 'MERCANTILE_POUND' => array('0.46655', 'lb merc'),
- 'METRIC_TON' => array('1000', 't'),
- 'MIC' => array('1.0e-9', 'mic'),
- 'MICROGRAM' => array('1.0e-9', '�g'),
- 'MILLIDALTON' => array('1.6605402e-30', 'mD'),
- 'MILLIER' => array('1000', 'millier'),
- 'MILLIGRAM' => array('0.000001', 'mg'),
- 'MILLIMASS_UNIT' => array('1.6605402e-30', 'mmu'),
- 'MINA' => array('0.499', 'mina'),
- 'MOMME' => array('0.00375', 'momme'),
- 'MYRIAGRAM' => array('10', 'myg'),
- 'NANOGRAM' => array('1.0e-12', 'ng'),
- 'NEWTON' => array('0.101971621', 'N'),
- 'OBOL' => array('0.0001', 'obol'),
- 'OBOLOS' => array('0.0001', 'obolos'),
- 'OBOLUS' => array('0.0001', 'obolus'),
- 'OBOLOS_ANCIENT' => array('0.0005', 'obolos'),
- 'OBOLUS_ANCIENT' => array('0.00057', 'obolos'),
- 'OKA' => array('1.28', 'oka'),
- 'ONCA' => array('0.02869', 'onca'),
- 'ONCE' => array('0.03059', 'once'),
- 'ONCIA' => array('0.0273', 'oncia'),
- 'ONZA' => array('0.02869', 'onza'),
- 'ONS' => array('0.1', 'ons'),
- 'OUNCE' => array(array('' => '0.45359237', '/' => '16'), 'oz'),
- 'OUNCE_FORCE' => array(array('' => '0.45359237', '/' => '16'), 'ozf'),
- 'OUNCE_TROY' => array(array('' => '65.31730128', '/' => '2100'), 'oz'),
- 'PACKEN' => array('490.79', 'packen'),
- 'PENNYWEIGHT' => array(array('' => '65.31730128', '/' => '42000'), 'dwt'),
- 'PETAGRAM' => array('1.0e+12', 'Pg'),
- 'PFUND' => array('0.5', 'pfd'),
- 'PICOGRAM' => array('1.0e-15', 'pg'),
- 'POINT' => array('0.000002', 'pt'),
- 'POND' => array('0.5', 'pond'),
- 'POUND' => array('0.45359237', 'lb'),
- 'POUND_FORCE' => array('0.4535237', 'lbf'),
- 'POUND_METRIC' => array('0.5', 'lb'),
- 'POUND_TROY' => array(array('' => '65.31730128', '/' => '175'), 'lb'),
- 'PUD' => array('16.3', 'pud'),
- 'POOD' => array('16.3', 'pood'),
- 'PUND' => array('0.5', 'pund'),
- 'QIAN' => array('0.005', 'qian'),
- 'QINTAR' => array('50', 'qintar'),
- 'QUARTER' => array('12.70058636', 'qtr'),
- 'QUARTER_US' => array('11.33980925', 'qtr'),
- 'QUARTER_TON' => array('226.796185', 'qtr'),
- 'QUARTERN' => array('1.587573295', 'quartern'),
- 'QUARTERN_LOAF' => array('1.81436948', 'quartern-loaf'),
- 'QUINTAL_FRENCH' => array('48.95', 'q'),
- 'QUINTAL' => array('100', 'q'),
- 'QUINTAL_PORTUGUESE' => array('58.752', 'q'),
- 'QUINTAL_SPAIN' => array('45.9', 'q'),
- 'REBAH' => array('0.2855', 'rebah'),
- 'ROTL' => array('0.5', 'rotl'),
- 'ROTEL' => array('0.5', 'rotel'),
- 'ROTTLE' => array('0.5', 'rottle'),
- 'RATEL' => array('0.5', 'ratel'),
- 'SACK' => array('165.10762268', 'sack'),
- 'SCRUPLE' => array(array('' => '65.31730128', '/' => '50400'), 's'),
- 'SEER' => array('0.933105', 'seer'),
- 'SEER_PAKISTAN' => array('1', 'seer'),
- 'SHEKEL' => array('0.01142', 'shekel'),
- 'SHORT_TON' => array('907.18474', 'st'),
- 'SLINCH' => array('175.126908', 'slinch'),
- 'SLUG' => array('14.593903', 'slug'),
- 'STONE' => array('6.35029318', 'st'),
- 'TAEL' => array('0.03751', 'tael'),
- 'TAHIL_JAPANESE' => array('0.03751', 'tahil'),
- 'TAHIL' => array('0.05', 'tahil'),
- 'TALENT' => array('30', 'talent'),
- 'TAN' => array('50', 'tan'),
- 'TECHNISCHE_MASS_EINHEIT' => array('9.80665', 'TME'),
- 'TERAGRAM' => array('1.0e+9', 'Tg'),
- 'TETRADRACHM' => array('0.014', 'tetradrachm'),
- 'TICAL' => array('0.0164', 'tical'),
- 'TOD' => array('12.70058636', 'tod'),
- 'TOLA' => array('0.0116638125', 'tola'),
- 'TOLA_PAKISTAN' => array('0.0125', 'tola'),
- 'TON_UK' => array('1016.0469088', 't'),
- 'TON' => array('1000', 't'),
- 'TON_US' => array('907.18474', 't'),
- 'TONELADA_PORTUGUESE' => array('793.15', 'tonelada'),
- 'TONELADA' => array('919.9', 'tonelada'),
- 'TONNE' => array('1000', 't'),
- 'TONNEAU' => array('979', 'tonneau'),
- 'TOVAR' => array('128.8', 'tovar'),
- 'TROY_OUNCE' => array(array('' => '65.31730128', '/' => '2100'), 'troy oz'),
- 'TROY_POUND' => array(array('' => '65.31730128', '/' => '175'), 'troy lb'),
- 'TRUSS' => array('25.40117272', 'truss'),
- 'UNCIA' => array('0.0272875', 'uncia'),
- 'UNZE' => array('0.03125', 'unze'),
- 'VAGON' => array('10000', 'vagon'),
- 'YOCTOGRAM' => array('1.0e-27', 'yg'),
- 'YOTTAGRAM' => array('1.0e+21', 'Yg'),
- 'ZENTNER' => array('50', 'Ztr'),
- 'ZEPTOGRAM' => array('1.0e-24', 'zg'),
- 'ZETTAGRAM' => array('1.0e+18', 'Zg'),
- 'STANDARD' => 'KILOGRAM'
- );
-}
diff --git a/airtime_mvc/library/Zend/Memory.php b/airtime_mvc/library/Zend/Memory.php
deleted file mode 100644
index 78f23c96b..000000000
--- a/airtime_mvc/library/Zend/Memory.php
+++ /dev/null
@@ -1,82 +0,0 @@
-_memContainer = $memContainer;
- }
-
- /**
- * Object destructor
- */
- public function __destruct()
- {
- $this->_memContainer->destroy();
- }
-
-
- /**
- * Get string value reference
- *
- * _Must_ be used for value access before PHP v 5.2
- * or _may_ be used for performance considerations
- *
- * @return &string
- */
- public function &getRef()
- {
- return $this->_memContainer->getRef();
- }
-
- /**
- * Signal, that value is updated by external code.
- *
- * Should be used together with getRef()
- */
- public function touch()
- {
- $this->_memContainer->touch();
- }
-
- /**
- * Lock object in memory.
- */
- public function lock()
- {
- $this->_memContainer->lock();
- }
-
-
- /**
- * Unlock object
- */
- public function unlock()
- {
- $this->_memContainer->unlock();
- }
-
- /**
- * Return true if object is locked
- *
- * @return boolean
- */
- public function isLocked()
- {
- return $this->_memContainer->isLocked();
- }
-
- /**
- * Get handler
- *
- * Loads object if necessary and moves it to the top of loaded objects list.
- * Swaps objects from the bottom of loaded objects list, if necessary.
- *
- * @param string $property
- * @return string
- * @throws Zend_Memory_Exception
- */
- public function __get($property)
- {
- return $this->_memContainer->$property;
- }
-
- /**
- * Set handler
- *
- * @param string $property
- * @param string $value
- * @throws Zend_Exception
- */
- public function __set($property, $value)
- {
- $this->_memContainer->$property = $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/Memory/Container.php b/airtime_mvc/library/Zend/Memory/Container.php
deleted file mode 100644
index 37ef369dc..000000000
--- a/airtime_mvc/library/Zend/Memory/Container.php
+++ /dev/null
@@ -1,35 +0,0 @@
-value = $value;
- }
-
- /**
- * Lock object in memory.
- */
- public function lock()
- {
- /* Do nothing */
- }
-
- /**
- * Unlock object
- */
- public function unlock()
- {
- /* Do nothing */
- }
-
- /**
- * Return true if object is locked
- *
- * @return boolean
- */
- public function isLocked()
- {
- return true;
- }
-
- /**
- * Get string value reference
- *
- * _Must_ be used for value access before PHP v 5.2
- * or _may_ be used for performance considerations
- *
- * @return &string
- */
- public function &getRef()
- {
- return $this->value;
- }
-
- /**
- * Signal, that value is updated by external code.
- *
- * Should be used together with getRef()
- */
- public function touch()
- {
- /* Do nothing */
- }
-
- /**
- * Destroy memory container and remove it from memory manager list
- */
- public function destroy()
- {
- /* Do nothing */
- }
-}
diff --git a/airtime_mvc/library/Zend/Memory/Container/Movable.php b/airtime_mvc/library/Zend/Memory/Container/Movable.php
deleted file mode 100644
index f3019f678..000000000
--- a/airtime_mvc/library/Zend/Memory/Container/Movable.php
+++ /dev/null
@@ -1,297 +0,0 @@
-_memManager = $memoryManager;
- $this->_id = $id;
- $this->_state = self::LOADED;
- $this->_value = new Zend_Memory_Value($value, $this);
- }
-
- /**
- * Lock object in memory.
- */
- public function lock()
- {
- if ( !($this->_state & self::LOADED) ) {
- $this->_memManager->load($this, $this->_id);
- $this->_state |= self::LOADED;
- }
-
- $this->_state |= self::LOCKED;
-
- /**
- * @todo
- * It's possible to set "value" container attribute to avoid modification tracing, while it's locked
- * Check, if it's more effective
- */
- }
-
- /**
- * Unlock object
- */
- public function unlock()
- {
- // Clear LOCKED state bit
- $this->_state &= ~self::LOCKED;
- }
-
- /**
- * Return true if object is locked
- *
- * @return boolean
- */
- public function isLocked()
- {
- return $this->_state & self::LOCKED;
- }
-
- /**
- * Get handler
- *
- * Loads object if necessary and moves it to the top of loaded objects list.
- * Swaps objects from the bottom of loaded objects list, if necessary.
- *
- * @param string $property
- * @return string
- * @throws Zend_Memory_Exception
- */
- public function __get($property)
- {
- if ($property != 'value') {
- require_once 'Zend/Memory/Exception.php';
- throw new Zend_Memory_Exception('Unknown property: Zend_Memory_container::$' . $property);
- }
-
- if ( !($this->_state & self::LOADED) ) {
- $this->_memManager->load($this, $this->_id);
- $this->_state |= self::LOADED;
- }
-
- return $this->_value;
- }
-
- /**
- * Set handler
- *
- * @param string $property
- * @param string $value
- * @throws Zend_Exception
- */
- public function __set($property, $value)
- {
- if ($property != 'value') {
- require_once 'Zend/Memory/Exception.php';
- throw new Zend_Memory_Exception('Unknown property: Zend_Memory_container::$' . $property);
- }
-
- $this->_state = self::LOADED;
- $this->_value = new Zend_Memory_Value($value, $this);
-
- $this->_memManager->processUpdate($this, $this->_id);
- }
-
-
- /**
- * Get string value reference
- *
- * _Must_ be used for value access before PHP v 5.2
- * or _may_ be used for performance considerations
- *
- * @return &string
- */
- public function &getRef()
- {
- if ( !($this->_state & self::LOADED) ) {
- $this->_memManager->load($this, $this->_id);
- $this->_state |= self::LOADED;
- }
-
- return $this->_value->getRef();
- }
-
- /**
- * Signal, that value is updated by external code.
- *
- * Should be used together with getRef()
- */
- public function touch()
- {
- $this->_memManager->processUpdate($this, $this->_id);
- }
-
- /**
- * Process container value update.
- * Must be called only by value object
- *
- * @internal
- */
- public function processUpdate()
- {
- // Clear SWAPPED state bit
- $this->_state &= ~self::SWAPPED;
-
- $this->_memManager->processUpdate($this, $this->_id);
- }
-
- /**
- * Start modifications trace
- *
- * @internal
- */
- public function startTrace()
- {
- if ( !($this->_state & self::LOADED) ) {
- $this->_memManager->load($this, $this->_id);
- $this->_state |= self::LOADED;
- }
-
- $this->_value->startTrace();
- }
-
- /**
- * Set value (used by memory manager when value is loaded)
- *
- * @internal
- */
- public function setValue($value)
- {
- $this->_value = new Zend_Memory_Value($value, $this);
- }
-
- /**
- * Clear value (used by memory manager when value is swapped)
- *
- * @internal
- */
- public function unloadValue()
- {
- // Clear LOADED state bit
- $this->_state &= ~self::LOADED;
-
- $this->_value = null;
- }
-
- /**
- * Mark, that object is swapped
- *
- * @internal
- */
- public function markAsSwapped()
- {
- // Clear LOADED state bit
- $this->_state |= self::LOADED;
- }
-
- /**
- * Check if object is marked as swapped
- *
- * @internal
- * @return boolean
- */
- public function isSwapped()
- {
- return $this->_state & self::SWAPPED;
- }
-
- /**
- * Get object id
- *
- * @internal
- * @return integer
- */
- public function getId()
- {
- return $this->_id;
- }
- /**
- * Destroy memory container and remove it from memory manager list
- *
- * @internal
- */
- public function destroy()
- {
- /**
- * We don't clean up swap because of performance considerations
- * Cleaning is performed by Memory Manager destructor
- */
-
- $this->_memManager->unlink($this, $this->_id);
- }
-}
diff --git a/airtime_mvc/library/Zend/Memory/Exception.php b/airtime_mvc/library/Zend/Memory/Exception.php
deleted file mode 100644
index 193cffe14..000000000
--- a/airtime_mvc/library/Zend/Memory/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
- => ,
- * ...
- * )
- *
- * @var array
- */
- private $_unloadCandidates = array();
-
- /**
- * List of object sizes.
- *
- * This list is used to calculate modification of object sizes
- *
- * array( => , ...)
- *
- * @var array
- */
- private $_sizes = array();
-
- /**
- * Last modified object
- *
- * It's used to reduce number of calls necessary to trace objects' modifications
- * Modification is not processed by memory manager until we do not switch to another
- * object.
- * So we have to trace only _first_ object modification and do nothing for others
- *
- * @var Zend_Memory_Container_Movable
- */
- private $_lastModified = null;
-
- /**
- * Unique memory manager id
- *
- * @var integer
- */
- private $_managerId;
-
- /**
- * Tags array, used by backend to categorize stored values
- *
- * @var array
- */
- private $_tags;
-
- /**
- * This function is intended to generate unique id, used by memory manager
- */
- private function _generateMemManagerId()
- {
- /**
- * @todo !!!
- * uniqid() php function doesn't really garantee the id to be unique
- * it should be changed by something else
- * (Ex. backend interface should be extended to provide this functionality)
- */
- $this->_managerId = uniqid('ZendMemManager', true);
- $this->_tags = array($this->_managerId);
- $this->_managerId .= '_';
- }
-
-
- /**
- * Memory manager constructor
- *
- * If backend is not specified, then memory objects are never swapped
- *
- * @param Zend_Cache_Backend $backend
- * @param array $backendOptions associative array of options for the corresponding backend constructor
- */
- public function __construct($backend = null)
- {
- if ($backend === null) {
- return;
- }
-
- $this->_backend = $backend;
- $this->_generateMemManagerId();
-
- $memoryLimitStr = trim(ini_get('memory_limit'));
- if ($memoryLimitStr != '' && $memoryLimitStr != -1) {
- $this->_memoryLimit = (integer)$memoryLimitStr;
- switch (strtolower($memoryLimitStr[strlen($memoryLimitStr)-1])) {
- case 'g':
- $this->_memoryLimit *= 1024;
- // Break intentionally omitted
- case 'm':
- $this->_memoryLimit *= 1024;
- // Break intentionally omitted
- case 'k':
- $this->_memoryLimit *= 1024;
- break;
-
- default:
- break;
- }
-
- $this->_memoryLimit = (int)($this->_memoryLimit*2/3);
- } // No limit otherwise
- }
-
- /**
- * Object destructor
- *
- * Clean up backend storage
- */
- public function __destruct()
- {
- if ($this->_backend !== null) {
- $this->_backend->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, $this->_tags);
- }
- }
-
- /**
- * Set memory grow limit
- *
- * @param integer $newLimit
- * @throws Zend_Exception
- */
- public function setMemoryLimit($newLimit)
- {
- $this->_memoryLimit = $newLimit;
-
- $this->_swapCheck();
- }
-
- /**
- * Get memory grow limit
- *
- * @return integer
- */
- public function getMemoryLimit()
- {
- return $this->_memoryLimit;
- }
-
- /**
- * Set minimum size of values, which may be swapped
- *
- * @param integer $newSize
- */
- public function setMinSize($newSize)
- {
- $this->_minSize = $newSize;
- }
-
- /**
- * Get minimum size of values, which may be swapped
- *
- * @return integer
- */
- public function getMinSize()
- {
- return $this->_minSize;
- }
-
- /**
- * Create new Zend_Memory value container
- *
- * @param string $value
- * @return Zend_Memory_Container_Interface
- * @throws Zend_Memory_Exception
- */
- public function create($value = '')
- {
- return $this->_create($value, false);
- }
-
- /**
- * Create new Zend_Memory value container, which has value always
- * locked in memory
- *
- * @param string $value
- * @return Zend_Memory_Container_Interface
- * @throws Zend_Memory_Exception
- */
- public function createLocked($value = '')
- {
- return $this->_create($value, true);
- }
-
- /**
- * Create new Zend_Memory object
- *
- * @param string $value
- * @param boolean $locked
- * @return Zend_Memory_Container_Interface
- * @throws Zend_Memory_Exception
- */
- private function _create($value, $locked)
- {
- $id = $this->_nextId++;
-
- if ($locked || ($this->_backend === null) /* Use only memory locked objects if backend is not specified */) {
- return new Zend_Memory_Container_Locked($value);
- }
-
- // Commit other objects modifications
- $this->_commit();
-
- $valueObject = new Zend_Memory_Container_Movable($this, $id, $value);
-
- // Store last object size as 0
- $this->_sizes[$id] = 0;
- // prepare object for next modifications
- $this->_lastModified = $valueObject;
-
- return new Zend_Memory_AccessController($valueObject);
- }
-
- /**
- * Unlink value container from memory manager
- *
- * Used by Memory container destroy() method
- *
- * @internal
- * @param integer $id
- * @return Zend_Memory_Container
- */
- public function unlink(Zend_Memory_Container_Movable $container, $id)
- {
- if ($this->_lastModified === $container) {
- // Drop all object modifications
- $this->_lastModified = null;
- unset($this->_sizes[$id]);
- return;
- }
-
- if (isset($this->_unloadCandidates[$id])) {
- unset($this->_unloadCandidates[$id]);
- }
-
- $this->_memorySize -= $this->_sizes[$id];
- unset($this->_sizes[$id]);
- }
-
- /**
- * Process value update
- *
- * @internal
- * @param Zend_Memory_Container_Movable $container
- * @param integer $id
- */
- public function processUpdate(Zend_Memory_Container_Movable $container, $id)
- {
- /**
- * This method is automatically invoked by memory container only once per
- * "modification session", but user may call memory container touch() method
- * several times depending on used algorithm. So we have to use this check
- * to optimize this case.
- */
- if ($container === $this->_lastModified) {
- return;
- }
-
- // Remove just updated object from list of candidates to unload
- if( isset($this->_unloadCandidates[$id])) {
- unset($this->_unloadCandidates[$id]);
- }
-
- // Reduce used memory mark
- $this->_memorySize -= $this->_sizes[$id];
-
- // Commit changes of previously modified object if necessary
- $this->_commit();
-
- $this->_lastModified = $container;
- }
-
- /**
- * Commit modified object and put it back to the loaded objects list
- */
- private function _commit()
- {
- if (($container = $this->_lastModified) === null) {
- return;
- }
-
- $this->_lastModified = null;
-
- $id = $container->getId();
-
- // Calculate new object size and increase used memory size by this value
- $this->_memorySize += ($this->_sizes[$id] = strlen($container->getRef()));
-
- if ($this->_sizes[$id] > $this->_minSize) {
- // Move object to "unload candidates list"
- $this->_unloadCandidates[$id] = $container;
- }
-
- $container->startTrace();
-
- $this->_swapCheck();
- }
-
- /**
- * Check and swap objects if necessary
- *
- * @throws Zend_MemoryException
- */
- private function _swapCheck()
- {
- if ($this->_memoryLimit < 0 || $this->_memorySize < $this->_memoryLimit) {
- // Memory limit is not reached
- // Do nothing
- return;
- }
-
- // walk through loaded objects in access history order
- foreach ($this->_unloadCandidates as $id => $container) {
- $this->_swap($container, $id);
- unset($this->_unloadCandidates[$id]);
-
- if ($this->_memorySize < $this->_memoryLimit) {
- // We've swapped enough objects
- return;
- }
- }
-
- require_once 'Zend/Memory/Exception.php';
- throw new Zend_Memory_Exception('Memory manager can\'t get enough space.');
- }
-
-
- /**
- * Swap object data to disk
- * Actualy swaps data or only unloads it from memory,
- * if object is not changed since last swap
- *
- * @param Zend_Memory_Container_Movable $container
- * @param integer $id
- */
- private function _swap(Zend_Memory_Container_Movable $container, $id)
- {
- if ($container->isLocked()) {
- return;
- }
-
- if (!$container->isSwapped()) {
- $this->_backend->save($container->getRef(), $this->_managerId . $id, $this->_tags);
- }
-
- $this->_memorySize -= $this->_sizes[$id];
-
- $container->markAsSwapped();
- $container->unloadValue();
- }
-
- /**
- * Load value from swap file.
- *
- * @internal
- * @param Zend_Memory_Container_Movable $container
- * @param integer $id
- */
- public function load(Zend_Memory_Container_Movable $container, $id)
- {
- $value = $this->_backend->load($this->_managerId . $id, true);
-
- // Try to swap other objects if necessary
- // (do not include specified object into check)
- $this->_memorySize += strlen($value);
- $this->_swapCheck();
-
- // Add loaded obect to the end of loaded objects list
- $container->setValue($value);
-
- if ($this->_sizes[$id] > $this->_minSize) {
- // Add object to the end of "unload candidates list"
- $this->_unloadCandidates[$id] = $container;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Memory/Value.php b/airtime_mvc/library/Zend/Memory/Value.php
deleted file mode 100644
index 7eb6c61f6..000000000
--- a/airtime_mvc/library/Zend/Memory/Value.php
+++ /dev/null
@@ -1,177 +0,0 @@
-_container = $container;
-
- $this->_value = (string)$value;
-
- /**
- * Object is marked as just modified by memory manager
- * So we don't need to trace followed object modifications and
- * object is processed (and marked as traced) when another
- * memory object is modified.
- *
- * It reduces overall numberr of calls necessary to modification trace
- */
- $this->_trace = false;
- }
-
-
- /**
- * ArrayAccess interface method
- * returns true if string offset exists
- *
- * @param integer $offset
- * @return boolean
- */
- public function offsetExists($offset)
- {
- return $offset >= 0 && $offset < strlen($this->_value);
- }
-
- /**
- * ArrayAccess interface method
- * Get character at $offset position
- *
- * @param integer $offset
- * @return string
- */
- public function offsetGet($offset)
- {
- return $this->_value[$offset];
- }
-
- /**
- * ArrayAccess interface method
- * Set character at $offset position
- *
- * @param integer $offset
- * @param string $char
- */
- public function offsetSet($offset, $char)
- {
- $this->_value[$offset] = $char;
-
- if ($this->_trace) {
- $this->_trace = false;
- $this->_container->processUpdate();
- }
- }
-
- /**
- * ArrayAccess interface method
- * Unset character at $offset position
- *
- * @param integer $offset
- */
- public function offsetUnset($offset)
- {
- unset($this->_value[$offset]);
-
- if ($this->_trace) {
- $this->_trace = false;
- $this->_container->processUpdate();
- }
- }
-
-
- /**
- * To string conversion
- *
- * @return string
- */
- public function __toString()
- {
- return $this->_value;
- }
-
-
- /**
- * Get string value reference
- *
- * _Must_ be used for value access before PHP v 5.2
- * or _may_ be used for performance considerations
- *
- * @internal
- * @return string
- */
- public function &getRef()
- {
- return $this->_value;
- }
-
- /**
- * Start modifications trace
- *
- * _Must_ be used for value access before PHP v 5.2
- * or _may_ be used for performance considerations
- *
- * @internal
- */
- public function startTrace()
- {
- $this->_trace = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mime.php b/airtime_mvc/library/Zend/Mime.php
deleted file mode 100644
index aa3582efe..000000000
--- a/airtime_mvc/library/Zend/Mime.php
+++ /dev/null
@@ -1,365 +0,0 @@
- $lineLength) {
- $ptr = $lineLength;
- }
-
- // Ensure we are not splitting across an encoded character
- $pos = strrpos(substr($str, 0, $ptr), '=');
- if ($pos !== false && $pos >= $ptr - 2) {
- $ptr = $pos;
- }
-
- // Check if there is a space at the end of the line and rewind
- if ($ptr > 0 && $str[$ptr - 1] == ' ') {
- --$ptr;
- }
-
- // Add string and continue
- $out .= substr($str, 0, $ptr) . '=' . $lineEnd;
- $str = substr($str, $ptr);
- }
-
- $out = rtrim($out, $lineEnd);
- $out = rtrim($out, '=');
- return $out;
- }
-
- /**
- * Converts a string into quoted printable format.
- *
- * @param string $str
- * @return string
- */
- private static function _encodeQuotedPrintable($str)
- {
- $str = str_replace('=', '=3D', $str);
- $str = str_replace(self::$qpKeys, self::$qpReplaceValues, $str);
- $str = rtrim($str);
- return $str;
- }
-
- /**
- * Encode a given string with the QUOTED_PRINTABLE mechanism for Mail Headers.
- *
- * Mail headers depend on an extended quoted printable algorithm otherwise
- * a range of bugs can occur.
- *
- * @param string $str
- * @param string $charset
- * @param int $lineLength Defaults to {@link LINELENGTH}
- * @param int $lineEnd Defaults to {@link LINEEND}
- * @return string
- */
- public static function encodeQuotedPrintableHeader($str, $charset,
- $lineLength = self::LINELENGTH,
- $lineEnd = self::LINEEND)
- {
- // Reduce line-length by the length of the required delimiter, charsets and encoding
- $prefix = sprintf('=?%s?Q?', $charset);
- $lineLength = $lineLength-strlen($prefix)-3;
-
- $str = self::_encodeQuotedPrintable($str);
-
- // Mail-Header required chars have to be encoded also:
- $str = str_replace(array('?', ' ', '_'), array('=3F', '=20', '=5F'), $str);
-
- // initialize first line, we need it anyways
- $lines = array(0 => "");
-
- // Split encoded text into separate lines
- $tmp = "";
- while(strlen($str) > 0) {
- $currentLine = max(count($lines)-1, 0);
- $token = self::getNextQuotedPrintableToken($str);
- $str = substr($str, strlen($token));
-
- $tmp .= $token;
- if($token == '=20') {
- // only if we have a single char token or space, we can append the
- // tempstring it to the current line or start a new line if necessary.
- if(strlen($lines[$currentLine].$tmp) > $lineLength) {
- $lines[$currentLine+1] = $tmp;
- } else {
- $lines[$currentLine] .= $tmp;
- }
- $tmp = "";
- }
- // don't forget to append the rest to the last line
- if(strlen($str) == 0) {
- $lines[$currentLine] .= $tmp;
- }
- }
-
- // assemble the lines together by pre- and appending delimiters, charset, encoding.
- for($i = 0; $i < count($lines); $i++) {
- $lines[$i] = " ".$prefix.$lines[$i]."?=";
- }
- $str = trim(implode($lineEnd, $lines));
- return $str;
- }
-
- /**
- * Retrieves the first token from a quoted printable string.
- *
- * @param string $str
- * @return string
- */
- private static function getNextQuotedPrintableToken($str)
- {
- if(substr($str, 0, 1) == "=") {
- $token = substr($str, 0, 3);
- } else {
- $token = substr($str, 0, 1);
- }
- return $token;
- }
-
- /**
- * Encode a given string in mail header compatible base64 encoding.
- *
- * @param string $str
- * @param string $charset
- * @param int $lineLength Defaults to {@link LINELENGTH}
- * @param int $lineEnd Defaults to {@link LINEEND}
- * @return string
- */
- public static function encodeBase64Header($str,
- $charset,
- $lineLength = self::LINELENGTH,
- $lineEnd = self::LINEEND)
- {
- $prefix = '=?' . $charset . '?B?';
- $suffix = '?=';
- $remainingLength = $lineLength - strlen($prefix) - strlen($suffix);
-
- $encodedValue = self::encodeBase64($str, $remainingLength, $lineEnd);
- $encodedValue = str_replace($lineEnd, $suffix . $lineEnd . ' ' . $prefix, $encodedValue);
- $encodedValue = $prefix . $encodedValue . $suffix;
- return $encodedValue;
- }
-
- /**
- * Encode a given string in base64 encoding and break lines
- * according to the maximum linelength.
- *
- * @param string $str
- * @param int $lineLength Defaults to {@link LINELENGTH}
- * @param int $lineEnd Defaults to {@link LINEEND}
- * @return string
- */
- public static function encodeBase64($str,
- $lineLength = self::LINELENGTH,
- $lineEnd = self::LINEEND)
- {
- return rtrim(chunk_split(base64_encode($str), $lineLength, $lineEnd));
- }
-
- /**
- * Constructor
- *
- * @param null|string $boundary
- * @access public
- * @return void
- */
- public function __construct($boundary = null)
- {
- // This string needs to be somewhat unique
- if ($boundary === null) {
- $this->_boundary = '=_' . md5(microtime(1) . self::$makeUnique++);
- } else {
- $this->_boundary = $boundary;
- }
- }
-
- /**
- * Encode the given string with the given encoding.
- *
- * @param string $str
- * @param string $encoding
- * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
- * @return string
- */
- public static function encode($str, $encoding, $EOL = self::LINEEND)
- {
- switch ($encoding) {
- case self::ENCODING_BASE64:
- return self::encodeBase64($str, self::LINELENGTH, $EOL);
-
- case self::ENCODING_QUOTEDPRINTABLE:
- return self::encodeQuotedPrintable($str, self::LINELENGTH, $EOL);
-
- default:
- /**
- * @todo 7Bit and 8Bit is currently handled the same way.
- */
- return $str;
- }
- }
-
- /**
- * Return a MIME boundary
- *
- * @access public
- * @return string
- */
- public function boundary()
- {
- return $this->_boundary;
- }
-
- /**
- * Return a MIME boundary line
- *
- * @param mixed $EOL Defaults to {@link LINEEND}
- * @access public
- * @return string
- */
- public function boundaryLine($EOL = self::LINEEND)
- {
- return $EOL . '--' . $this->_boundary . $EOL;
- }
-
- /**
- * Return MIME ending
- *
- * @access public
- * @return string
- */
- public function mimeEnd($EOL = self::LINEEND)
- {
- return $EOL . '--' . $this->_boundary . '--' . $EOL;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mime/Decode.php b/airtime_mvc/library/Zend/Mime/Decode.php
deleted file mode 100644
index 5e4c0a7af..000000000
--- a/airtime_mvc/library/Zend/Mime/Decode.php
+++ /dev/null
@@ -1,244 +0,0 @@
- array(name => value), 'body' => content), null if no parts found
- * @throws Zend_Exception
- */
- public static function splitMessageStruct($message, $boundary, $EOL = Zend_Mime::LINEEND)
- {
- $parts = self::splitMime($message, $boundary);
- if (count($parts) <= 0) {
- return null;
- }
- $result = array();
- foreach ($parts as $part) {
- self::splitMessage($part, $headers, $body, $EOL);
- $result[] = array('header' => $headers,
- 'body' => $body );
- }
- return $result;
- }
-
- /**
- * split a message in header and body part, if no header or an
- * invalid header is found $headers is empty
- *
- * The charset of the returned headers depend on your iconv settings.
- *
- * @param string $message raw message with header and optional content
- * @param array $headers output param, array with headers as array(name => value)
- * @param string $body output param, content of message
- * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
- * @return null
- */
- public static function splitMessage($message, &$headers, &$body, $EOL = Zend_Mime::LINEEND)
- {
- // check for valid header at first line
- $firstline = strtok($message, "\n");
- if (!preg_match('%^[^\s]+[^:]*:%', $firstline)) {
- $headers = array();
- // TODO: we're ignoring \r for now - is this function fast enough and is it safe to asume noone needs \r?
- $body = str_replace(array("\r", "\n"), array('', $EOL), $message);
- return;
- }
-
- // find an empty line between headers and body
- // default is set new line
- if (strpos($message, $EOL . $EOL)) {
- list($headers, $body) = explode($EOL . $EOL, $message, 2);
- // next is the standard new line
- } else if ($EOL != "\r\n" && strpos($message, "\r\n\r\n")) {
- list($headers, $body) = explode("\r\n\r\n", $message, 2);
- // next is the other "standard" new line
- } else if ($EOL != "\n" && strpos($message, "\n\n")) {
- list($headers, $body) = explode("\n\n", $message, 2);
- // at last resort find anything that looks like a new line
- } else {
- @list($headers, $body) = @preg_split("%([\r\n]+)\\1%U", $message, 2);
- }
-
- $headers = iconv_mime_decode_headers($headers, ICONV_MIME_DECODE_CONTINUE_ON_ERROR);
-
- if ($headers === false ) {
- // an error occurs during the decoding
- return;
- }
-
- // normalize header names
- foreach ($headers as $name => $header) {
- $lower = strtolower($name);
- if ($lower == $name) {
- continue;
- }
- unset($headers[$name]);
- if (!isset($headers[$lower])) {
- $headers[$lower] = $header;
- continue;
- }
- if (is_array($headers[$lower])) {
- $headers[$lower][] = $header;
- continue;
- }
- $headers[$lower] = array($headers[$lower], $header);
- }
- }
-
- /**
- * split a content type in its different parts
- *
- * @param string $type content-type
- * @param string $wantedPart the wanted part, else an array with all parts is returned
- * @return string|array wanted part or all parts as array('type' => content-type, partname => value)
- */
- public static function splitContentType($type, $wantedPart = null)
- {
- return self::splitHeaderField($type, $wantedPart, 'type');
- }
-
- /**
- * split a header field like content type in its different parts
- *
- * @param string $type header field
- * @param string $wantedPart the wanted part, else an array with all parts is returned
- * @param string $firstName key name for the first part
- * @return string|array wanted part or all parts as array($firstName => firstPart, partname => value)
- * @throws Zend_Exception
- */
- public static function splitHeaderField($field, $wantedPart = null, $firstName = 0)
- {
- $wantedPart = strtolower($wantedPart);
- $firstName = strtolower($firstName);
-
- // special case - a bit optimized
- if ($firstName === $wantedPart) {
- $field = strtok($field, ';');
- return $field[0] == '"' ? substr($field, 1, -1) : $field;
- }
-
- $field = $firstName . '=' . $field;
- if (!preg_match_all('%([^=\s]+)\s*=\s*("[^"]+"|[^;]+)(;\s*|$)%', $field, $matches)) {
- throw new Zend_Exception('not a valid header field');
- }
-
- if ($wantedPart) {
- foreach ($matches[1] as $key => $name) {
- if (strcasecmp($name, $wantedPart)) {
- continue;
- }
- if ($matches[2][$key][0] != '"') {
- return $matches[2][$key];
- }
- return substr($matches[2][$key], 1, -1);
- }
- return null;
- }
-
- $split = array();
- foreach ($matches[1] as $key => $name) {
- $name = strtolower($name);
- if ($matches[2][$key][0] == '"') {
- $split[$name] = substr($matches[2][$key], 1, -1);
- } else {
- $split[$name] = $matches[2][$key];
- }
- }
-
- return $split;
- }
-
- /**
- * decode a quoted printable encoded string
- *
- * The charset of the returned string depends on your iconv settings.
- *
- * @param string encoded string
- * @return string decoded string
- */
- public static function decodeQuotedPrintable($string)
- {
- return iconv_mime_decode($string, ICONV_MIME_DECODE_CONTINUE_ON_ERROR);
- }
-}
diff --git a/airtime_mvc/library/Zend/Mime/Exception.php b/airtime_mvc/library/Zend/Mime/Exception.php
deleted file mode 100644
index a38affe97..000000000
--- a/airtime_mvc/library/Zend/Mime/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_parts;
- }
-
- /**
- * Sets the given array of Zend_Mime_Parts as the array for the message
- *
- * @param array $parts
- */
- public function setParts($parts)
- {
- $this->_parts = $parts;
- }
-
- /**
- * Append a new Zend_Mime_Part to the current message
- *
- * @param Zend_Mime_Part $part
- */
- public function addPart(Zend_Mime_Part $part)
- {
- /**
- * @todo check for duplicate object handle
- */
- $this->_parts[] = $part;
- }
-
- /**
- * Check if message needs to be sent as multipart
- * MIME message or if it has only one part.
- *
- * @return boolean
- */
- public function isMultiPart()
- {
- return (count($this->_parts) > 1);
- }
-
- /**
- * Set Zend_Mime object for the message
- *
- * This can be used to set the boundary specifically or to use a subclass of
- * Zend_Mime for generating the boundary.
- *
- * @param Zend_Mime $mime
- */
- public function setMime(Zend_Mime $mime)
- {
- $this->_mime = $mime;
- }
-
- /**
- * Returns the Zend_Mime object in use by the message
- *
- * If the object was not present, it is created and returned. Can be used to
- * determine the boundary used in this message.
- *
- * @return Zend_Mime
- */
- public function getMime()
- {
- if ($this->_mime === null) {
- $this->_mime = new Zend_Mime();
- }
-
- return $this->_mime;
- }
-
- /**
- * Generate MIME-compliant message from the current configuration
- *
- * This can be a multipart message if more than one MIME part was added. If
- * only one part is present, the content of this part is returned. If no
- * part had been added, an empty string is returned.
- *
- * Parts are seperated by the mime boundary as defined in Zend_Mime. If
- * {@link setMime()} has been called before this method, the Zend_Mime
- * object set by this call will be used. Otherwise, a new Zend_Mime object
- * is generated and used.
- *
- * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
- * @return string
- */
- public function generateMessage($EOL = Zend_Mime::LINEEND)
- {
- if (! $this->isMultiPart()) {
- $body = array_shift($this->_parts);
- $body = $body->getContent($EOL);
- } else {
- $mime = $this->getMime();
-
- $boundaryLine = $mime->boundaryLine($EOL);
- $body = 'This is a message in Mime Format. If you see this, '
- . "your mail reader does not support this format." . $EOL;
-
- foreach (array_keys($this->_parts) as $p) {
- $body .= $boundaryLine
- . $this->getPartHeaders($p, $EOL)
- . $EOL
- . $this->getPartContent($p, $EOL);
- }
-
- $body .= $mime->mimeEnd($EOL);
- }
-
- return trim($body);
- }
-
- /**
- * Get the headers of a given part as an array
- *
- * @param int $partnum
- * @return array
- */
- public function getPartHeadersArray($partnum)
- {
- return $this->_parts[$partnum]->getHeadersArray();
- }
-
- /**
- * Get the headers of a given part as a string
- *
- * @param int $partnum
- * @return string
- */
- public function getPartHeaders($partnum, $EOL = Zend_Mime::LINEEND)
- {
- return $this->_parts[$partnum]->getHeaders($EOL);
- }
-
- /**
- * Get the (encoded) content of a given part as a string
- *
- * @param int $partnum
- * @return string
- */
- public function getPartContent($partnum, $EOL = Zend_Mime::LINEEND)
- {
- return $this->_parts[$partnum]->getContent($EOL);
- }
-
- /**
- * Explode MIME multipart string into seperate parts
- *
- * Parts consist of the header and the body of each MIME part.
- *
- * @param string $body
- * @param string $boundary
- * @return array
- */
- protected static function _disassembleMime($body, $boundary)
- {
- $start = 0;
- $res = array();
- // find every mime part limiter and cut out the
- // string before it.
- // the part before the first boundary string is discarded:
- $p = strpos($body, '--'.$boundary."\n", $start);
- if ($p === false) {
- // no parts found!
- return array();
- }
-
- // position after first boundary line
- $start = $p + 3 + strlen($boundary);
-
- while (($p = strpos($body, '--' . $boundary . "\n", $start)) !== false) {
- $res[] = substr($body, $start, $p-$start);
- $start = $p + 3 + strlen($boundary);
- }
-
- // no more parts, find end boundary
- $p = strpos($body, '--' . $boundary . '--', $start);
- if ($p===false) {
- throw new Zend_Exception('Not a valid Mime Message: End Missing');
- }
-
- // the remaining part also needs to be parsed:
- $res[] = substr($body, $start, $p-$start);
- return $res;
- }
-
- /**
- * Decodes a MIME encoded string and returns a Zend_Mime_Message object with
- * all the MIME parts set according to the given string
- *
- * @param string $message
- * @param string $boundary
- * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
- * @return Zend_Mime_Message
- */
- public static function createFromMessage($message, $boundary, $EOL = Zend_Mime::LINEEND)
- {
- require_once 'Zend/Mime/Decode.php';
- $parts = Zend_Mime_Decode::splitMessageStruct($message, $boundary, $EOL);
-
- $res = new self();
- foreach ($parts as $part) {
- // now we build a new MimePart for the current Message Part:
- $newPart = new Zend_Mime_Part($part['body']);
- foreach ($part['header'] as $key => $value) {
- /**
- * @todo check for characterset and filename
- */
- switch(strtolower($key)) {
- case 'content-type':
- $newPart->type = $value;
- break;
- case 'content-transfer-encoding':
- $newPart->encoding = $value;
- break;
- case 'content-id':
- $newPart->id = trim($value,'<>');
- break;
- case 'content-disposition':
- $newPart->disposition = $value;
- break;
- case 'content-description':
- $newPart->description = $value;
- break;
- case 'content-location':
- $newPart->location = $value;
- break;
- case 'content-language':
- $newPart->language = $value;
- break;
- default:
- throw new Zend_Exception('Unknown header ignored for MimePart:' . $key);
- }
- }
- $res->addPart($newPart);
- }
- return $res;
- }
-}
diff --git a/airtime_mvc/library/Zend/Mime/Part.php b/airtime_mvc/library/Zend/Mime/Part.php
deleted file mode 100644
index eb0c97813..000000000
--- a/airtime_mvc/library/Zend/Mime/Part.php
+++ /dev/null
@@ -1,217 +0,0 @@
-_content = $content;
- if (is_resource($content)) {
- $this->_isStream = true;
- }
- }
-
- /**
- * @todo setters/getters
- * @todo error checking for setting $type
- * @todo error checking for setting $encoding
- */
-
- /**
- * check if this part can be read as a stream.
- * if true, getEncodedStream can be called, otherwise
- * only getContent can be used to fetch the encoded
- * content of the part
- *
- * @return bool
- */
- public function isStream()
- {
- return $this->_isStream;
- }
-
- /**
- * if this was created with a stream, return a filtered stream for
- * reading the content. very useful for large file attachments.
- *
- * @return stream
- * @throws Zend_Mime_Exception if not a stream or unable to append filter
- */
- public function getEncodedStream()
- {
- if (!$this->_isStream) {
- require_once 'Zend/Mime/Exception.php';
- throw new Zend_Mime_Exception('Attempt to get a stream from a string part');
- }
-
- //stream_filter_remove(); // ??? is that right?
- switch ($this->encoding) {
- case Zend_Mime::ENCODING_QUOTEDPRINTABLE:
- $filter = stream_filter_append(
- $this->_content,
- 'convert.quoted-printable-encode',
- STREAM_FILTER_READ,
- array(
- 'line-length' => 76,
- 'line-break-chars' => Zend_Mime::LINEEND
- )
- );
- if (!is_resource($filter)) {
- require_once 'Zend/Mime/Exception.php';
- throw new Zend_Mime_Exception('Failed to append quoted-printable filter');
- }
- break;
- case Zend_Mime::ENCODING_BASE64:
- $filter = stream_filter_append(
- $this->_content,
- 'convert.base64-encode',
- STREAM_FILTER_READ,
- array(
- 'line-length' => 76,
- 'line-break-chars' => Zend_Mime::LINEEND
- )
- );
- if (!is_resource($filter)) {
- require_once 'Zend/Mime/Exception.php';
- throw new Zend_Mime_Exception('Failed to append base64 filter');
- }
- break;
- default:
- }
- return $this->_content;
- }
-
- /**
- * Get the Content of the current Mime Part in the given encoding.
- *
- * @return String
- */
- public function getContent($EOL = Zend_Mime::LINEEND)
- {
- if ($this->_isStream) {
- return stream_get_contents($this->getEncodedStream());
- } else {
- return Zend_Mime::encode($this->_content, $this->encoding, $EOL);
- }
- }
-
- /**
- * Create and return the array of headers for this MIME part
- *
- * @access public
- * @return array
- */
- public function getHeadersArray($EOL = Zend_Mime::LINEEND)
- {
- $headers = array();
-
- $contentType = $this->type;
- if ($this->charset) {
- $contentType .= '; charset=' . $this->charset;
- }
-
- if ($this->boundary) {
- $contentType .= ';' . $EOL
- . " boundary=\"" . $this->boundary . '"';
- }
-
- $headers[] = array('Content-Type', $contentType);
-
- if ($this->encoding) {
- $headers[] = array('Content-Transfer-Encoding', $this->encoding);
- }
-
- if ($this->id) {
- $headers[] = array('Content-ID', '<' . $this->id . '>');
- }
-
- if ($this->disposition) {
- $disposition = $this->disposition;
- if ($this->filename) {
- $disposition .= '; filename="' . $this->filename . '"';
- }
- $headers[] = array('Content-Disposition', $disposition);
- }
-
- if ($this->description) {
- $headers[] = array('Content-Description', $this->description);
- }
-
- if ($this->location) {
- $headers[] = array('Content-Location', $this->location);
- }
-
- if ($this->language){
- $headers[] = array('Content-Language', $this->language);
- }
-
- return $headers;
- }
-
- /**
- * Return the headers for this part as a string
- *
- * @return String
- */
- public function getHeaders($EOL = Zend_Mime::LINEEND)
- {
- $res = '';
- foreach ($this->getHeadersArray($EOL) as $header) {
- $res .= $header[0] . ': ' . $header[1] . $EOL;
- }
-
- return $res;
- }
-}
diff --git a/airtime_mvc/library/Zend/Navigation.php b/airtime_mvc/library/Zend/Navigation.php
deleted file mode 100644
index 5bb81ce82..000000000
--- a/airtime_mvc/library/Zend/Navigation.php
+++ /dev/null
@@ -1,54 +0,0 @@
-addPages($pages);
- } elseif (null !== $pages) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $pages must be an array, an ' .
- 'instance of Zend_Config, or null');
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Navigation/Container.php b/airtime_mvc/library/Zend/Navigation/Container.php
deleted file mode 100644
index bd123991f..000000000
--- a/airtime_mvc/library/Zend/Navigation/Container.php
+++ /dev/null
@@ -1,503 +0,0 @@
-_dirtyIndex) {
- $newIndex = array();
- $index = 0;
-
- foreach ($this->_pages as $hash => $page) {
- $order = $page->getOrder();
- if ($order === null) {
- $newIndex[$hash] = $index;
- $index++;
- } else {
- $newIndex[$hash] = $order;
- }
- }
-
- asort($newIndex);
- $this->_index = $newIndex;
- $this->_dirtyIndex = false;
- }
- }
-
- // Public methods:
-
- /**
- * Notifies container that the order of pages are updated
- *
- * @return void
- */
- public function notifyOrderUpdated()
- {
- $this->_dirtyIndex = true;
- }
-
- /**
- * Adds a page to the container
- *
- * This method will inject the container as the given page's parent by
- * calling {@link Zend_Navigation_Page::setParent()}.
- *
- * @param Zend_Navigation_Page|array|Zend_Config $page page to add
- * @return Zend_Navigation_Container fluent interface,
- * returns self
- * @throws Zend_Navigation_Exception if page is invalid
- */
- public function addPage($page)
- {
- if ($page === $this) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'A page cannot have itself as a parent');
- }
-
- if (is_array($page) || $page instanceof Zend_Config) {
- require_once 'Zend/Navigation/Page.php';
- $page = Zend_Navigation_Page::factory($page);
- } elseif (!$page instanceof Zend_Navigation_Page) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $page must be an instance of ' .
- 'Zend_Navigation_Page or Zend_Config, or an array');
- }
-
- $hash = $page->hashCode();
-
- if (array_key_exists($hash, $this->_index)) {
- // page is already in container
- return $this;
- }
-
- // adds page to container and sets dirty flag
- $this->_pages[$hash] = $page;
- $this->_index[$hash] = $page->getOrder();
- $this->_dirtyIndex = true;
-
- // inject self as page parent
- $page->setParent($this);
-
- return $this;
- }
-
- /**
- * Adds several pages at once
- *
- * @param array|Zend_Config $pages pages to add
- * @return Zend_Navigation_Container fluent interface, returns self
- * @throws Zend_Navigation_Exception if $pages is not array or Zend_Config
- */
- public function addPages($pages)
- {
- if ($pages instanceof Zend_Config) {
- $pages = $pages->toArray();
- }
-
- if (!is_array($pages)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $pages must be an array or an ' .
- 'instance of Zend_Config');
- }
-
- foreach ($pages as $page) {
- $this->addPage($page);
- }
-
- return $this;
- }
-
- /**
- * Sets pages this container should have, removing existing pages
- *
- * @param array $pages pages to set
- * @return Zend_Navigation_Container fluent interface, returns self
- */
- public function setPages(array $pages)
- {
- $this->removePages();
- return $this->addPages($pages);
- }
-
- /**
- * Returns pages in the container
- *
- * @return array array of Zend_Navigation_Page instances
- */
- public function getPages()
- {
- return $this->_pages;
- }
-
- /**
- * Removes the given page from the container
- *
- * @param Zend_Navigation_Page|int $page page to remove, either a page
- * instance or a specific page order
- * @return bool whether the removal was
- * successful
- */
- public function removePage($page)
- {
- if ($page instanceof Zend_Navigation_Page) {
- $hash = $page->hashCode();
- } elseif (is_int($page)) {
- $this->_sort();
- if (!$hash = array_search($page, $this->_index)) {
- return false;
- }
- } else {
- return false;
- }
-
- if (isset($this->_pages[$hash])) {
- unset($this->_pages[$hash]);
- unset($this->_index[$hash]);
- $this->_dirtyIndex = true;
- return true;
- }
-
- return false;
- }
-
- /**
- * Removes all pages in container
- *
- * @return Zend_Navigation_Container fluent interface, returns self
- */
- public function removePages()
- {
- $this->_pages = array();
- $this->_index = array();
- return $this;
- }
-
- /**
- * Checks if the container has the given page
- *
- * @param Zend_Navigation_Page $page page to look for
- * @param bool $recursive [optional] whether to search
- * recursively. Default is false.
- * @return bool whether page is in container
- */
- public function hasPage(Zend_Navigation_Page $page, $recursive = false)
- {
- if (array_key_exists($page->hashCode(), $this->_index)) {
- return true;
- } elseif ($recursive) {
- foreach ($this->_pages as $childPage) {
- if ($childPage->hasPage($page, true)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Returns true if container contains any pages
- *
- * @return bool whether container has any pages
- */
- public function hasPages()
- {
- return count($this->_index) > 0;
- }
-
- /**
- * Returns a child page matching $property == $value, or null if not found
- *
- * @param string $property name of property to match against
- * @param mixed $value value to match property against
- * @return Zend_Navigation_Page|null matching page or null
- */
- public function findOneBy($property, $value)
- {
- $iterator = new RecursiveIteratorIterator($this,
- RecursiveIteratorIterator::SELF_FIRST);
-
- foreach ($iterator as $page) {
- if ($page->get($property) == $value) {
- return $page;
- }
- }
-
- return null;
- }
-
- /**
- * Returns all child pages matching $property == $value, or an empty array
- * if no pages are found
- *
- * @param string $property name of property to match against
- * @param mixed $value value to match property against
- * @return array array containing only Zend_Navigation_Page
- * instances
- */
- public function findAllBy($property, $value)
- {
- $found = array();
-
- $iterator = new RecursiveIteratorIterator($this,
- RecursiveIteratorIterator::SELF_FIRST);
-
- foreach ($iterator as $page) {
- if ($page->get($property) == $value) {
- $found[] = $page;
- }
- }
-
- return $found;
- }
-
- /**
- * Returns page(s) matching $property == $value
- *
- * @param string $property name of property to match against
- * @param mixed $value value to match property against
- * @param bool $all [optional] whether an array of all matching
- * pages should be returned, or only the first.
- * If true, an array will be returned, even if not
- * matching pages are found. If false, null will
- * be returned if no matching page is found.
- * Default is false.
- * @return Zend_Navigation_Page|null matching page or null
- */
- public function findBy($property, $value, $all = false)
- {
- if ($all) {
- return $this->findAllBy($property, $value);
- } else {
- return $this->findOneBy($property, $value);
- }
- }
-
- /**
- * Magic overload: Proxy calls to finder methods
- *
- * Examples of finder calls:
- *
- * // METHOD // SAME AS
- * $nav->findByLabel('foo'); // $nav->findOneBy('label', 'foo');
- * $nav->findOneByLabel('foo'); // $nav->findOneBy('label', 'foo');
- * $nav->findAllByClass('foo'); // $nav->findAllBy('class', 'foo');
- *
- *
- * @param string $method method name
- * @param array $arguments method arguments
- * @throws Zend_Navigation_Exception if method does not exist
- */
- public function __call($method, $arguments)
- {
- if (@preg_match('/(find(?:One|All)?By)(.+)/', $method, $match)) {
- return $this->{$match[1]}($match[2], $arguments[0]);
- }
-
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(sprintf(
- 'Bad method call: Unknown method %s::%s',
- get_class($this),
- $method));
- }
-
- /**
- * Returns an array representation of all pages in container
- *
- * @return array
- */
- public function toArray()
- {
- $pages = array();
-
- $this->_dirtyIndex = true;
- $this->_sort();
- $indexes = array_keys($this->_index);
- foreach ($indexes as $hash) {
- $pages[] = $this->_pages[$hash]->toArray();
- }
- return $pages;
- }
-
- // RecursiveIterator interface:
-
- /**
- * Returns current page
- *
- * Implements RecursiveIterator interface.
- *
- * @return Zend_Navigation_Page current page or null
- * @throws Zend_Navigation_Exception if the index is invalid
- */
- public function current()
- {
- $this->_sort();
- current($this->_index);
- $hash = key($this->_index);
-
- if (isset($this->_pages[$hash])) {
- return $this->_pages[$hash];
- } else {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Corruption detected in container; ' .
- 'invalid key found in internal iterator');
- }
- }
-
- /**
- * Returns hash code of current page
- *
- * Implements RecursiveIterator interface.
- *
- * @return string hash code of current page
- */
- public function key()
- {
- $this->_sort();
- return key($this->_index);
- }
-
- /**
- * Moves index pointer to next page in the container
- *
- * Implements RecursiveIterator interface.
- *
- * @return void
- */
- public function next()
- {
- $this->_sort();
- next($this->_index);
- }
-
- /**
- * Sets index pointer to first page in the container
- *
- * Implements RecursiveIterator interface.
- *
- * @return void
- */
- public function rewind()
- {
- $this->_sort();
- reset($this->_index);
- }
-
- /**
- * Checks if container index is valid
- *
- * Implements RecursiveIterator interface.
- *
- * @return bool
- */
- public function valid()
- {
- $this->_sort();
- return current($this->_index) !== false;
- }
-
- /**
- * Proxy to hasPages()
- *
- * Implements RecursiveIterator interface.
- *
- * @return bool whether container has any pages
- */
- public function hasChildren()
- {
- return $this->hasPages();
- }
-
- /**
- * Returns the child container.
- *
- * Implements RecursiveIterator interface.
- *
- * @return Zend_Navigation_Page|null
- */
- public function getChildren()
- {
- $hash = key($this->_index);
-
- if (isset($this->_pages[$hash])) {
- return $this->_pages[$hash];
- }
-
- return null;
- }
-
- // Countable interface:
-
- /**
- * Returns number of pages in container
- *
- * Implements Countable interface.
- *
- * @return int number of pages in the container
- */
- public function count()
- {
- return count($this->_index);
- }
-}
diff --git a/airtime_mvc/library/Zend/Navigation/Exception.php b/airtime_mvc/library/Zend/Navigation/Exception.php
deleted file mode 100644
index 17c5d9a13..000000000
--- a/airtime_mvc/library/Zend/Navigation/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-toArray();
- }
-
- if (!is_array($options)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $options must be an array or Zend_Config');
- }
-
- if (isset($options['type'])) {
- $type = $options['type'];
- if (is_string($type) && !empty($type)) {
- switch (strtolower($type)) {
- case 'mvc':
- $type = 'Zend_Navigation_Page_Mvc';
- break;
- case 'uri':
- $type = 'Zend_Navigation_Page_Uri';
- break;
- }
-
- if (!class_exists($type)) {
- require_once 'Zend/Loader.php';
- @Zend_Loader::loadClass($type);
- }
-
- $page = new $type($options);
- if (!$page instanceof Zend_Navigation_Page) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(sprintf(
- 'Invalid argument: Detected type "%s", which ' .
- 'is not an instance of Zend_Navigation_Page',
- $type));
- }
- return $page;
- }
- }
-
- $hasUri = isset($options['uri']);
- $hasMvc = isset($options['action']) || isset($options['controller']) ||
- isset($options['module']) || isset($options['route']);
-
- if ($hasMvc) {
- require_once 'Zend/Navigation/Page/Mvc.php';
- return new Zend_Navigation_Page_Mvc($options);
- } elseif ($hasUri) {
- require_once 'Zend/Navigation/Page/Uri.php';
- return new Zend_Navigation_Page_Uri($options);
- } else {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: Unable to determine class to instantiate');
- }
- }
-
- /**
- * Page constructor
- *
- * @param array|Zend_Config $options [optional] page options. Default is
- * null, which should set defaults.
- * @throws Zend_Navigation_Exception if invalid options are given
- */
- public function __construct($options = null)
- {
- if (is_array($options)) {
- $this->setOptions($options);
- } elseif ($options instanceof Zend_Config) {
- $this->setConfig($options);
- }
-
- // do custom initialization
- $this->_init();
- }
-
- /**
- * Initializes page (used by subclasses)
- *
- * @return void
- */
- protected function _init()
- {
- }
-
- /**
- * Sets page properties using a Zend_Config object
- *
- * @param Zend_Config $config config object to get properties from
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if invalid options are given
- */
- public function setConfig(Zend_Config $config)
- {
- return $this->setOptions($config->toArray());
- }
-
- /**
- * Sets page properties using options from an associative array
- *
- * Each key in the array corresponds to the according set*() method, and
- * each word is separated by underscores, e.g. the option 'target'
- * corresponds to setTarget(), and the option 'reset_params' corresponds to
- * the method setResetParams().
- *
- * @param array $options associative array of options to set
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if invalid options are given
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- $this->set($key, $value);
- }
-
- return $this;
- }
-
- // Accessors:
-
- /**
- * Sets page label
- *
- * @param string $label new page label
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if empty/no string is given
- */
- public function setLabel($label)
- {
- if (null !== $label && !is_string($label)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $label must be a string or null');
- }
-
- $this->_label = $label;
- return $this;
- }
-
- /**
- * Returns page label
- *
- * @return string page label or null
- */
- public function getLabel()
- {
- return $this->_label;
- }
-
- /**
- * Sets page id
- *
- * @param string|null $id [optional] id to set. Default is null,
- * which sets no id.
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if not given string or null
- */
- public function setId($id = null)
- {
- if (null !== $id && !is_string($id) && !is_numeric($id)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $id must be a string, number or null');
- }
-
- $this->_id = null === $id ? $id : (string) $id;
-
- return $this;
- }
-
- /**
- * Returns page id
- *
- * @return string|null page id or null
- */
- public function getId()
- {
- return $this->_id;
- }
-
- /**
- * Sets page CSS class
- *
- * @param string|null $class [optional] CSS class to set. Default
- * is null, which sets no CSS class.
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if not given string or null
- */
- public function setClass($class = null)
- {
- if (null !== $class && !is_string($class)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $class must be a string or null');
- }
-
- $this->_class = $class;
- return $this;
- }
-
- /**
- * Returns page class (CSS)
- *
- * @return string|null page's CSS class or null
- */
- public function getClass()
- {
- return $this->_class;
- }
-
- /**
- * Sets page title
- *
- * @param string $title [optional] page title. Default is
- * null, which sets no title.
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if not given string or null
- */
- public function setTitle($title = null)
- {
- if (null !== $title && !is_string($title)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $title must be a non-empty string');
- }
-
- $this->_title = $title;
- return $this;
- }
-
- /**
- * Returns page title
- *
- * @return string|null page title or null
- */
- public function getTitle()
- {
- return $this->_title;
- }
-
- /**
- * Sets page target
- *
- * @param string|null $target [optional] target to set. Default is
- * null, which sets no target.
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if target is not string or null
- */
- public function setTarget($target = null)
- {
- if (null !== $target && !is_string($target)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $target must be a string or null');
- }
-
- $this->_target = $target;
- return $this;
- }
-
- /**
- * Returns page target
- *
- * @return string|null page target or null
- */
- public function getTarget()
- {
- return $this->_target;
- }
-
- /**
- * Sets the page's forward links to other pages
- *
- * This method expects an associative array of forward links to other pages,
- * where each element's key is the name of the relation (e.g. alternate,
- * prev, next, help, etc), and the value is a mixed value that could somehow
- * be considered a page.
- *
- * @param array|Zend_Config $relations [optional] an associative array of
- * forward links to other pages
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function setRel($relations = null)
- {
- $this->_rel = array();
-
- if (null !== $relations) {
- if ($relations instanceof Zend_Config) {
- $relations = $relations->toArray();
- }
-
- if (!is_array($relations)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $relations must be an ' .
- 'array or an instance of Zend_Config');
- }
-
- foreach ($relations as $name => $relation) {
- if (is_string($name)) {
- $this->_rel[$name] = $relation;
- }
- }
- }
-
- return $this;
- }
-
- /**
- * Returns the page's forward links to other pages
- *
- * This method returns an associative array of forward links to other pages,
- * where each element's key is the name of the relation (e.g. alternate,
- * prev, next, help, etc), and the value is a mixed value that could somehow
- * be considered a page.
- *
- * @param string $relation [optional] name of relation to return. If not
- * given, all relations will be returned.
- * @return array an array of relations. If $relation is not
- * specified, all relations will be returned in
- * an associative array.
- */
- public function getRel($relation = null)
- {
- if (null !== $relation) {
- return isset($this->_rel[$relation]) ?
- $this->_rel[$relation] :
- null;
- }
-
- return $this->_rel;
- }
-
- /**
- * Sets the page's reverse links to other pages
- *
- * This method expects an associative array of reverse links to other pages,
- * where each element's key is the name of the relation (e.g. alternate,
- * prev, next, help, etc), and the value is a mixed value that could somehow
- * be considered a page.
- *
- * @param array|Zend_Config $relations [optional] an associative array of
- * reverse links to other pages
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function setRev($relations = null)
- {
- $this->_rev = array();
-
- if (null !== $relations) {
- if ($relations instanceof Zend_Config) {
- $relations = $relations->toArray();
- }
-
- if (!is_array($relations)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $relations must be an ' .
- 'array or an instance of Zend_Config');
- }
-
- foreach ($relations as $name => $relation) {
- if (is_string($name)) {
- $this->_rev[$name] = $relation;
- }
- }
- }
-
- return $this;
- }
-
- /**
- * Returns the page's reverse links to other pages
- *
- * This method returns an associative array of forward links to other pages,
- * where each element's key is the name of the relation (e.g. alternate,
- * prev, next, help, etc), and the value is a mixed value that could somehow
- * be considered a page.
- *
- * @param string $relation [optional] name of relation to return. If not
- * given, all relations will be returned.
- * @return array an array of relations. If $relation is not
- * specified, all relations will be returned in
- * an associative array.
- */
- public function getRev($relation = null)
- {
- if (null !== $relation) {
- return isset($this->_rev[$relation]) ?
- $this->_rev[$relation] :
- null;
- }
-
- return $this->_rev;
- }
-
- /**
- * Sets page order to use in parent container
- *
- * @param int $order [optional] page order in container.
- * Default is null, which sets no
- * specific order.
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if order is not integer or null
- */
- public function setOrder($order = null)
- {
- if (is_string($order)) {
- $temp = (int) $order;
- if ($temp < 0 || $temp > 0 || $order == '0') {
- $order = $temp;
- }
- }
-
- if (null !== $order && !is_int($order)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $order must be an integer or null, ' .
- 'or a string that casts to an integer');
- }
-
- $this->_order = $order;
-
- // notify parent, if any
- if (isset($this->_parent)) {
- $this->_parent->notifyOrderUpdated();
- }
-
- return $this;
- }
-
- /**
- * Returns page order used in parent container
- *
- * @return int|null page order or null
- */
- public function getOrder()
- {
- return $this->_order;
- }
-
- /**
- * Sets ACL resource assoicated with this page
- *
- * @param string|Zend_Acl_Resource_Interface $resource [optional] resource
- * to associate with
- * page. Default is
- * null, which sets no
- * resource.
- * @throws Zend_Navigation_Exception if $resource if
- * invalid
- * @return Zend_Navigation_Page fluent interface,
- * returns self
- */
- public function setResource($resource = null)
- {
- if (null === $resource || is_string($resource) ||
- $resource instanceof Zend_Acl_Resource_Interface) {
- $this->_resource = $resource;
- } else {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $resource must be null, a string, ' .
- ' or an instance of Zend_Acl_Resource_Interface');
- }
-
- return $this;
- }
-
- /**
- * Returns ACL resource assoicated with this page
- *
- * @return string|Zend_Acl_Resource_Interface|null ACL resource or null
- */
- public function getResource()
- {
- return $this->_resource;
- }
-
- /**
- * Sets ACL privilege associated with this page
- *
- * @param string|null $privilege [optional] ACL privilege to associate
- * with this page. Default is null, which
- * sets no privilege.
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function setPrivilege($privilege = null)
- {
- $this->_privilege = is_string($privilege) ? $privilege : null;
- return $this;
- }
-
- /**
- * Returns ACL privilege associated with this page
- *
- * @return string|null ACL privilege or null
- */
- public function getPrivilege()
- {
- return $this->_privilege;
- }
-
- /**
- * Sets whether page should be considered active or not
- *
- * @param bool $active [optional] whether page should be
- * considered active or not. Default is true.
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function setActive($active = true)
- {
- $this->_active = (bool) $active;
- return $this;
- }
-
- /**
- * Returns whether page should be considered active or not
- *
- * @param bool $recursive [optional] whether page should be considered
- * active if any child pages are active. Default is
- * false.
- * @return bool whether page should be considered active
- */
- public function isActive($recursive = false)
- {
- if (!$this->_active && $recursive) {
- foreach ($this->_pages as $page) {
- if ($page->isActive(true)) {
- return true;
- }
- }
- return false;
- }
-
- return $this->_active;
- }
-
- /**
- * Proxy to isActive()
- *
- * @param bool $recursive [optional] whether page should be considered
- * active if any child pages are active. Default
- * is false.
- * @return bool whether page should be considered active
- */
- public function getActive($recursive = false)
- {
- return $this->isActive($recursive);
- }
-
- /**
- * Sets whether the page should be visible or not
- *
- * @param bool $visible [optional] whether page should be
- * considered visible or not. Default is true.
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function setVisible($visible = true)
- {
- $this->_visible = (bool) $visible;
- return $this;
- }
-
- /**
- * Returns a boolean value indicating whether the page is visible
- *
- * @param bool $recursive [optional] whether page should be considered
- * invisible if parent is invisible. Default is
- * false.
- * @return bool whether page should be considered visible
- */
- public function isVisible($recursive = false)
- {
- if ($recursive && isset($this->_parent) &&
- $this->_parent instanceof Zend_Navigation_Page) {
- if (!$this->_parent->isVisible(true)) {
- return false;
- }
- }
-
- return $this->_visible;
- }
-
- /**
- * Proxy to isVisible()
- *
- * Returns a boolean value indicating whether the page is visible
- *
- * @param bool $recursive [optional] whether page should be considered
- * invisible if parent is invisible. Default is
- * false.
- * @return bool whether page should be considered visible
- */
- public function getVisible($recursive = false)
- {
- return $this->isVisible($recursive);
- }
-
- /**
- * Sets parent container
- *
- * @param Zend_Navigation_Container $parent [optional] new parent to set.
- * Default is null which will set
- * no parent.
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function setParent(Zend_Navigation_Container $parent = null)
- {
- if ($parent === $this) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'A page cannot have itself as a parent');
- }
-
- // return if the given parent already is parent
- if ($parent === $this->_parent) {
- return $this;
- }
-
- // remove from old parent
- if (null !== $this->_parent) {
- $this->_parent->removePage($this);
- }
-
- // set new parent
- $this->_parent = $parent;
-
- // add to parent if page and not already a child
- if (null !== $this->_parent && !$this->_parent->hasPage($this, false)) {
- $this->_parent->addPage($this);
- }
-
- return $this;
- }
-
- /**
- * Returns parent container
- *
- * @return Zend_Navigation_Container|null parent container or null
- */
- public function getParent()
- {
- return $this->_parent;
- }
-
- /**
- * Sets the given property
- *
- * If the given property is native (id, class, title, etc), the matching
- * set method will be used. Otherwise, it will be set as a custom property.
- *
- * @param string $property property name
- * @param mixed $value value to set
- * @return Zend_Navigation_Page fluent interface, returns self
- * @throws Zend_Navigation_Exception if property name is invalid
- */
- public function set($property, $value)
- {
- if (!is_string($property) || empty($property)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $property must be a non-empty string');
- }
-
- $method = 'set' . self::_normalizePropertyName($property);
-
- if ($method != 'setOptions' && $method != 'setConfig' &&
- method_exists($this, $method)) {
- $this->$method($value);
- } else {
- $this->_properties[$property] = $value;
- }
-
- return $this;
- }
-
- /**
- * Returns the value of the given property
- *
- * If the given property is native (id, class, title, etc), the matching
- * get method will be used. Otherwise, it will return the matching custom
- * property, or null if not found.
- *
- * @param string $property property name
- * @return mixed the property's value or null
- * @throws Zend_Navigation_Exception if property name is invalid
- */
- public function get($property)
- {
- if (!is_string($property) || empty($property)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $property must be a non-empty string');
- }
-
- $method = 'get' . self::_normalizePropertyName($property);
-
- if (method_exists($this, $method)) {
- return $this->$method();
- } elseif (isset($this->_properties[$property])) {
- return $this->_properties[$property];
- }
-
- return null;
- }
-
- // Magic overloads:
-
- /**
- * Sets a custom property
- *
- * Magic overload for enabling $page->propname = $value
.
- *
- * @param string $name property name
- * @param mixed $value value to set
- * @return void
- * @throws Zend_Navigation_Exception if property name is invalid
- */
- public function __set($name, $value)
- {
- $this->set($name, $value);
- }
-
- /**
- * Returns a property, or null if it doesn't exist
- *
- * Magic overload for enabling $page->propname
.
- *
- * @param string $name property name
- * @return mixed property value or null
- * @throws Zend_Navigation_Exception if property name is invalid
- */
- public function __get($name)
- {
- return $this->get($name);
- }
-
- /**
- * Checks if a property is set
- *
- * Magic overload for enabling isset($page->propname)
.
- *
- * Returns true if the property is native (id, class, title, etc), and
- * true or false if it's a custom property (depending on whether the
- * property actually is set).
- *
- * @param string $name property name
- * @return bool whether the given property exists
- */
- public function __isset($name)
- {
- $method = 'get' . self::_normalizePropertyName($name);
- if (method_exists($this, $method)) {
- return true;
- }
-
- return isset($this->_properties[$name]);
- }
-
- /**
- * Unsets the given custom property
- *
- * Magic overload for enabling unset($page->propname)
.
- *
- * @param string $name property name
- * @return void
- * @throws Zend_Navigation_Exception if the property is native
- */
- public function __unset($name)
- {
- $method = 'set' . self::_normalizePropertyName($name);
- if (method_exists($this, $method)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(sprintf(
- 'Unsetting native property "%s" is not allowed',
- $name));
- }
-
- if (isset($this->_properties[$name])) {
- unset($this->_properties[$name]);
- }
- }
-
- /**
- * Returns page label
- *
- * Magic overload for enabling echo $page
.
- *
- * @return string page label
- */
- public function __toString()
- {
- return $this->_label;
- }
-
- // Public methods:
-
- /**
- * Adds a forward relation to the page
- *
- * @param string $relation relation name (e.g. alternate, glossary,
- * canonical, etc)
- * @param mixed $value value to set for relation
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function addRel($relation, $value)
- {
- if (is_string($relation)) {
- $this->_rel[$relation] = $value;
- }
- return $this;
- }
-
- /**
- * Adds a reverse relation to the page
- *
- * @param string $relation relation name (e.g. alternate, glossary,
- * canonical, etc)
- * @param mixed $value value to set for relation
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function addRev($relation, $value)
- {
- if (is_string($relation)) {
- $this->_rev[$relation] = $value;
- }
- return $this;
- }
-
- /**
- * Removes a forward relation from the page
- *
- * @param string $relation name of relation to remove
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function removeRel($relation)
- {
- if (isset($this->_rel[$relation])) {
- unset($this->_rel[$relation]);
- }
-
- return $this;
- }
-
- /**
- * Removes a reverse relation from the page
- *
- * @param string $relation name of relation to remove
- * @return Zend_Navigation_Page fluent interface, returns self
- */
- public function removeRev($relation)
- {
- if (isset($this->_rev[$relation])) {
- unset($this->_rev[$relation]);
- }
-
- return $this;
- }
-
- /**
- * Returns an array containing the defined forward relations
- *
- * @return array defined forward relations
- */
- public function getDefinedRel()
- {
- return array_keys($this->_rel);
- }
-
- /**
- * Returns an array containing the defined reverse relations
- *
- * @return array defined reverse relations
- */
- public function getDefinedRev()
- {
- return array_keys($this->_rev);
- }
-
- /**
- * Returns custom properties as an array
- *
- * @return array an array containing custom properties
- */
- public function getCustomProperties()
- {
- return $this->_properties;
- }
-
- /**
- * Returns a hash code value for the page
- *
- * @return string a hash code value for this page
- */
- public final function hashCode()
- {
- return spl_object_hash($this);
- }
-
- /**
- * Returns an array representation of the page
- *
- * @return array associative array containing all page properties
- */
- public function toArray()
- {
- return array_merge(
- $this->getCustomProperties(),
- array(
- 'label' => $this->getlabel(),
- 'id' => $this->getId(),
- 'class' => $this->getClass(),
- 'title' => $this->getTitle(),
- 'target' => $this->getTarget(),
- 'rel' => $this->getRel(),
- 'rev' => $this->getRev(),
- 'order' => $this->getOrder(),
- 'resource' => $this->getResource(),
- 'privilege' => $this->getPrivilege(),
- 'active' => $this->isActive(),
- 'visible' => $this->isVisible(),
- 'type' => get_class($this),
- 'pages' => parent::toArray()
- ));
- }
-
- // Internal methods:
-
- /**
- * Normalizes a property name
- *
- * @param string $property property name to normalize
- * @return string normalized property name
- */
- protected static function _normalizePropertyName($property)
- {
- return str_replace(' ', '', ucwords(str_replace('_', ' ', $property)));
- }
-
- // Abstract methods:
-
- /**
- * Returns href for this page
- *
- * @return string the page's href
- */
- abstract public function getHref();
-}
diff --git a/airtime_mvc/library/Zend/Navigation/Page/Mvc.php b/airtime_mvc/library/Zend/Navigation/Page/Mvc.php
deleted file mode 100644
index 05f9ca914..000000000
--- a/airtime_mvc/library/Zend/Navigation/Page/Mvc.php
+++ /dev/null
@@ -1,440 +0,0 @@
-_active) {
- $front = Zend_Controller_Front::getInstance();
- $reqParams = $front->getRequest()->getParams();
-
- if (!array_key_exists('module', $reqParams)) {
- $reqParams['module'] = $front->getDefaultModule();
- }
-
- $myParams = $this->_params;
-
- if (null !== $this->_module) {
- $myParams['module'] = $this->_module;
- } else {
- $myParams['module'] = $front->getDefaultModule();
- }
-
- if (null !== $this->_controller) {
- $myParams['controller'] = $this->_controller;
- } else {
- $myParams['controller'] = $front->getDefaultControllerName();
- }
-
- if (null !== $this->_action) {
- $myParams['action'] = $this->_action;
- } else {
- $myParams['action'] = $front->getDefaultAction();
- }
-
- if (count(array_intersect_assoc($reqParams, $myParams)) ==
- count($myParams)) {
- $this->_active = true;
- return true;
- }
- }
-
- return parent::isActive($recursive);
- }
-
- /**
- * Returns href for this page
- *
- * This method uses {@link Zend_Controller_Action_Helper_Url} to assemble
- * the href based on the page's properties.
- *
- * @return string page href
- */
- public function getHref()
- {
- if ($this->_hrefCache) {
- return $this->_hrefCache;
- }
-
- if (null === self::$_urlHelper) {
- self::$_urlHelper =
- Zend_Controller_Action_HelperBroker::getStaticHelper('Url');
- }
-
- $params = $this->getParams();
-
- if ($param = $this->getModule()) {
- $params['module'] = $param;
- }
-
- if ($param = $this->getController()) {
- $params['controller'] = $param;
- }
-
- if ($param = $this->getAction()) {
- $params['action'] = $param;
- }
-
- $url = self::$_urlHelper->url($params,
- $this->getRoute(),
- $this->getResetParams());
-
- return $this->_hrefCache = $url;
- }
-
- /**
- * Sets action name to use when assembling URL
- *
- * @see getHref()
- *
- * @param string $action action name
- * @return Zend_Navigation_Page_Mvc fluent interface, returns self
- * @throws Zend_Navigation_Exception if invalid $action is given
- */
- public function setAction($action)
- {
- if (null !== $action && !is_string($action)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $action must be a string or null');
- }
-
- $this->_action = $action;
- $this->_hrefCache = null;
- return $this;
- }
-
- /**
- * Returns action name to use when assembling URL
- *
- * @see getHref()
- *
- * @return string|null action name
- */
- public function getAction()
- {
- return $this->_action;
- }
-
- /**
- * Sets controller name to use when assembling URL
- *
- * @see getHref()
- *
- * @param string|null $controller controller name
- * @return Zend_Navigation_Page_Mvc fluent interface, returns self
- * @throws Zend_Navigation_Exception if invalid controller name is given
- */
- public function setController($controller)
- {
- if (null !== $controller && !is_string($controller)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $controller must be a string or null');
- }
-
- $this->_controller = $controller;
- $this->_hrefCache = null;
- return $this;
- }
-
- /**
- * Returns controller name to use when assembling URL
- *
- * @see getHref()
- *
- * @return string|null controller name or null
- */
- public function getController()
- {
- return $this->_controller;
- }
-
- /**
- * Sets module name to use when assembling URL
- *
- * @see getHref()
- *
- * @param string|null $module module name
- * @return Zend_Navigation_Page_Mvc fluent interface, returns self
- * @throws Zend_Navigation_Exception if invalid module name is given
- */
- public function setModule($module)
- {
- if (null !== $module && !is_string($module)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $module must be a string or null');
- }
-
- $this->_module = $module;
- $this->_hrefCache = null;
- return $this;
- }
-
- /**
- * Returns module name to use when assembling URL
- *
- * @see getHref()
- *
- * @return string|null module name or null
- */
- public function getModule()
- {
- return $this->_module;
- }
-
- /**
- * Sets params to use when assembling URL
- *
- * @see getHref()
- *
- * @param array|null $params [optional] page params. Default is null
- * which sets no params.
- * @return Zend_Navigation_Page_Mvc fluent interface, returns self
- */
- public function setParams(array $params = null)
- {
- if (null === $params) {
- $this->_params = array();
- } else {
- // TODO: do this more intelligently?
- $this->_params = $params;
- }
-
- $this->_hrefCache = null;
- return $this;
- }
-
- /**
- * Returns params to use when assembling URL
- *
- * @see getHref()
- *
- * @return array page params
- */
- public function getParams()
- {
- return $this->_params;
- }
-
- /**
- * Sets route name to use when assembling URL
- *
- * @see getHref()
- *
- * @param string $route route name to use when assembling URL
- * @return Zend_Navigation_Page_Mvc fluent interface, returns self
- * @throws Zend_Navigation_Exception if invalid $route is given
- */
- public function setRoute($route)
- {
- if (null !== $route && (!is_string($route) || strlen($route) < 1)) {
- require_once 'Zend/Navigation/Exception.php';
- throw new Zend_Navigation_Exception(
- 'Invalid argument: $route must be a non-empty string or null');
- }
-
- $this->_route = $route;
- $this->_hrefCache = null;
- return $this;
- }
-
- /**
- * Returns route name to use when assembling URL
- *
- * @see getHref()
- *
- * @return string route name
- */
- public function getRoute()
- {
- return $this->_route;
- }
-
- /**
- * Sets whether params should be reset when assembling URL
- *
- * @see getHref()
- *
- * @param bool $resetParams whether params should be reset when
- * assembling URL
- * @return Zend_Navigation_Page_Mvc fluent interface, returns self
- */
- public function setResetParams($resetParams)
- {
- $this->_resetParams = (bool) $resetParams;
- $this->_hrefCache = null;
- return $this;
- }
-
- /**
- * Returns whether params should be reset when assembling URL
- *
- * @see getHref()
- *
- * @return bool whether params should be reset when assembling URL
- */
- public function getResetParams()
- {
- return $this->_resetParams;
- }
-
- /**
- * Sets action helper for assembling URLs
- *
- * @see getHref()
- *
- * @param Zend_Controller_Action_Helper_Url $uh URL helper
- * @return void
- */
- public static function setUrlHelper(Zend_Controller_Action_Helper_Url $uh)
- {
- self::$_urlHelper = $uh;
- }
-
- // Public methods:
-
- /**
- * Returns an array representation of the page
- *
- * @return array associative array containing all page properties
- */
- public function toArray()
- {
- return array_merge(
- parent::toArray(),
- array(
- 'action' => $this->getAction(),
- 'controller' => $this->getController(),
- 'module' => $this->getModule(),
- 'params' => $this->getParams(),
- 'route' => $this->getRoute(),
- 'reset_params' => $this->getResetParams()
- ));
- }
-}
diff --git a/airtime_mvc/library/Zend/Navigation/Page/Uri.php b/airtime_mvc/library/Zend/Navigation/Page/Uri.php
deleted file mode 100644
index a38ef72ae..000000000
--- a/airtime_mvc/library/Zend/Navigation/Page/Uri.php
+++ /dev/null
@@ -1,100 +0,0 @@
-_uri = $uri;
- return $this;
- }
-
- /**
- * Returns URI
- *
- * @return string
- */
- public function getUri()
- {
- return $this->_uri;
- }
-
- /**
- * Returns href for this page
- *
- * @return string
- */
- public function getHref()
- {
- return $this->getUri();
- }
-
- // Public methods:
-
- /**
- * Returns an array representation of the page
- *
- * @return array
- */
- public function toArray()
- {
- return array_merge(
- parent::toArray(),
- array(
- 'uri' => $this->getUri()
- ));
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth.php b/airtime_mvc/library/Zend/Oauth.php
deleted file mode 100644
index 8e48764e8..000000000
--- a/airtime_mvc/library/Zend/Oauth.php
+++ /dev/null
@@ -1,89 +0,0 @@
-setHeaders('Authorization', null);
- self::$httpClient->resetParameters();
- }
- return self::$httpClient;
- }
-
- /**
- * Simple mechanism to delete the entire singleton HTTP Client instance
- * which forces an new instantiation for subsequent requests.
- *
- * @return void
- */
- public static function clearHttpClient()
- {
- self::$httpClient = null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Client.php b/airtime_mvc/library/Zend/Oauth/Client.php
deleted file mode 100644
index caf785b6d..000000000
--- a/airtime_mvc/library/Zend/Oauth/Client.php
+++ /dev/null
@@ -1,210 +0,0 @@
-_config = new Zend_Oauth_Config;
- if (!is_null($oauthOptions)) {
- if ($oauthOptions instanceof Zend_Config) {
- $oauthOptions = $oauthOptions->toArray();
- }
- $this->_config->setOptions($oauthOptions);
- }
- }
-
- /**
- * Same as Zend_Http_Client::setMethod() except it also creates an
- * Oauth specific reference to the method type.
- * Might be defunct and removed in a later iteration.
- *
- * @param string $method
- * @return Zend_Http_Client
- */
- public function setMethod($method = self::GET)
- {
- if ($method == self::GET) {
- $this->setRequestMethod(self::GET);
- } elseif($method == self::POST) {
- $this->setRequestMethod(self::POST);
- } elseif($method == self::PUT) {
- $this->setRequestMethod(self::PUT);
- } elseif($method == self::DELETE) {
- $this->setRequestMethod(self::DELETE);
- } elseif($method == self::HEAD) {
- $this->setRequestMethod(self::HEAD);
- }
- return parent::setMethod($method);
- }
-
- /**
- * Same as Zend_Http_Client::request() except just before the request is
- * executed, we automatically append any necessary OAuth parameters and
- * sign the request using the relevant signature method.
- *
- * @param string $method
- * @return Zend_Http_Response
- */
- public function request($method = null)
- {
- if (!is_null($method)) {
- $this->setMethod($method);
- }
- $this->prepareOauth();
- return parent::request();
- }
-
- /**
- * Performs OAuth preparation on the request before sending.
- *
- * This primarily means taking a request, correctly encoding and signing
- * all parameters, and applying the correct OAuth scheme to the method
- * being used.
- *
- * @return void
- * @throws Zend_Oauth_Exception If POSTBODY scheme requested, but GET request method used; or if invalid request scheme provided
- */
- public function prepareOauth()
- {
- $requestScheme = $this->getRequestScheme();
- $requestMethod = $this->getRequestMethod();
- $query = null;
- if ($requestScheme == Zend_Oauth::REQUEST_SCHEME_HEADER) {
- $params = array();
- if (!empty($this->paramsGet)) {
- $params = array_merge($params, $this->paramsGet);
- $query = $this->getToken()->toQueryString(
- $this->getUri(true), $this->_config, $params
- );
- }
- if (!empty($this->paramsPost)) {
- $params = array_merge($params, $this->paramsPost);
- $query = $this->getToken()->toQueryString(
- $this->getUri(true), $this->_config, $params
- );
- }
- $oauthHeaderValue = $this->getToken()->toHeader(
- $this->getUri(true), $this->_config, $params
- );
- $this->setHeaders('Authorization', $oauthHeaderValue);
- } elseif ($requestScheme == Zend_Oauth::REQUEST_SCHEME_POSTBODY) {
- if ($requestMethod == self::GET) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- 'The client is configured to'
- . ' pass OAuth parameters through a POST body but request method'
- . ' is set to GET'
- );
- }
- $raw = $this->getToken()->toQueryString(
- $this->getUri(true), $this->_config, $this->paramsPost
- );
- $this->setRawData($raw);
- $this->paramsPost = array();
- } elseif ($requestScheme == Zend_Oauth::REQUEST_SCHEME_QUERYSTRING) {
- $params = array();
- $query = $this->getUri()->getQuery();
- if ($query) {
- $queryParts = split('&', $this->getUri()->getQuery());
- foreach ($queryParts as $queryPart) {
- $kvTuple = split('=', $queryPart);
- $params[$kvTuple[0]] =
- (array_key_exists(1, $kvTuple) ? $kvTuple[1] : NULL);
- }
- }
-
- $query = $this->getToken()->toQueryString(
- $this->getUri(true), $this->_config, $params
- );
- $this->getUri()->setQuery($query);
- $this->paramsGet = array();
- } else {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Invalid request scheme: ' . $requestScheme);
- }
- }
-
- /**
- * Simple Proxy to the current Zend_Oauth_Config method. It's that instance
- * which holds all configuration methods and values this object also presents
- * as it's API.
- *
- * @param string $method
- * @param array $args
- * @return mixed
- * @throws Zend_Oauth_Exception if method does not exist in config object
- */
- public function __call($method, array $args)
- {
- if (!method_exists($this->_config, $method)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Method does not exist: ' . $method);
- }
- return call_user_func_array(array($this->_config,$method), $args);
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Config.php b/airtime_mvc/library/Zend/Oauth/Config.php
deleted file mode 100644
index 1260eea02..000000000
--- a/airtime_mvc/library/Zend/Oauth/Config.php
+++ /dev/null
@@ -1,658 +0,0 @@
-toArray();
- }
- $this->setOptions($options);
- }
- }
-
- /**
- * Parse option array or Zend_Config instance and setup options using their
- * relevant mutators.
- *
- * @param array|Zend_Config $options
- * @return Zend_Oauth_Config
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- switch ($key) {
- case 'consumerKey':
- $this->setConsumerKey($value);
- break;
- case 'consumerSecret':
- $this->setConsumerSecret($value);
- break;
- case 'signatureMethod':
- $this->setSignatureMethod($value);
- break;
- case 'version':
- $this->setVersion($value);
- break;
- case 'callbackUrl':
- $this->setCallbackUrl($value);
- break;
- case 'siteUrl':
- $this->setSiteUrl($value);
- break;
- case 'requestTokenUrl':
- $this->setRequestTokenUrl($value);
- break;
- case 'accessTokenUrl':
- $this->setAccessTokenUrl($value);
- break;
- case 'userAuthorizationUrl':
- $this->setUserAuthorizationUrl($value);
- break;
- case 'authorizeUrl':
- $this->setAuthorizeUrl($value);
- break;
- case 'requestMethod':
- $this->setRequestMethod($value);
- break;
- case 'rsaPrivateKey':
- $this->setRsaPrivateKey($value);
- break;
- case 'rsaPublicKey':
- $this->setRsaPublicKey($value);
- break;
- }
- }
- if (isset($options['requestScheme'])) {
- $this->setRequestScheme($options['requestScheme']);
- }
-
- return $this;
- }
-
- /**
- * Set consumer key
- *
- * @param string $key
- * @return Zend_Oauth_Config
- */
- public function setConsumerKey($key)
- {
- $this->_consumerKey = $key;
- return $this;
- }
-
- /**
- * Get consumer key
- *
- * @return string
- */
- public function getConsumerKey()
- {
- return $this->_consumerKey;
- }
-
- /**
- * Set consumer secret
- *
- * @param string $secret
- * @return Zend_Oauth_Config
- */
- public function setConsumerSecret($secret)
- {
- $this->_consumerSecret = $secret;
- return $this;
- }
-
- /**
- * Get consumer secret
- *
- * Returns RSA private key if set; otherwise, returns any previously set
- * consumer secret.
- *
- * @return string
- */
- public function getConsumerSecret()
- {
- if (!is_null($this->_rsaPrivateKey)) {
- return $this->_rsaPrivateKey;
- }
- return $this->_consumerSecret;
- }
-
- /**
- * Set signature method
- *
- * @param string $method
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception if unsupported signature method specified
- */
- public function setSignatureMethod($method)
- {
- $method = strtoupper($method);
- if (!in_array($method, array(
- 'HMAC-SHA1', 'HMAC-SHA256', 'RSA-SHA1', 'PLAINTEXT'
- ))
- ) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Unsupported signature method: '
- . $method
- . '. Supported are HMAC-SHA1, RSA-SHA1, PLAINTEXT and HMAC-SHA256');
- }
- $this->_signatureMethod = $method;;
- return $this;
- }
-
- /**
- * Get signature method
- *
- * @return string
- */
- public function getSignatureMethod()
- {
- return $this->_signatureMethod;
- }
-
- /**
- * Set request scheme
- *
- * @param string $scheme
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception if invalid scheme specified, or if POSTBODY set when request method of GET is specified
- */
- public function setRequestScheme($scheme)
- {
- $scheme = strtolower($scheme);
- if (!in_array($scheme, array(
- Zend_Oauth::REQUEST_SCHEME_HEADER,
- Zend_Oauth::REQUEST_SCHEME_POSTBODY,
- Zend_Oauth::REQUEST_SCHEME_QUERYSTRING,
- ))
- ) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $scheme . '\' is an unsupported request scheme'
- );
- }
- if ($scheme == Zend_Oauth::REQUEST_SCHEME_POSTBODY
- && $this->getRequestMethod() == Zend_Oauth::GET
- ) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- 'Cannot set POSTBODY request method if HTTP method set to GET'
- );
- }
- $this->_requestScheme = $scheme;
- return $this;
- }
-
- /**
- * Get request scheme
- *
- * @return string
- */
- public function getRequestScheme()
- {
- return $this->_requestScheme;
- }
-
- /**
- * Set version
- *
- * @param string $version
- * @return Zend_Oauth_Config
- */
- public function setVersion($version)
- {
- $this->_version = $version;
- return $this;
- }
-
- /**
- * Get version
- *
- * @return string
- */
- public function getVersion()
- {
- return $this->_version;
- }
-
- /**
- * Set callback URL
- *
- * @param string $url
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid URLs
- */
- public function setCallbackUrl($url)
- {
- if (!Zend_Uri::check($url)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $url . '\' is not a valid URI'
- );
- }
- $this->_callbackUrl = $url;
- return $this;
- }
-
- /**
- * Get callback URL
- *
- * @return string
- */
- public function getCallbackUrl()
- {
- return $this->_callbackUrl;
- }
-
- /**
- * Set site URL
- *
- * @param string $url
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid URLs
- */
- public function setSiteUrl($url)
- {
- if (!Zend_Uri::check($url)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $url . '\' is not a valid URI'
- );
- }
- $this->_siteUrl = $url;
- return $this;
- }
-
- /**
- * Get site URL
- *
- * @return string
- */
- public function getSiteUrl()
- {
- return $this->_siteUrl;
- }
-
- /**
- * Set request token URL
- *
- * @param string $url
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid URLs
- */
- public function setRequestTokenUrl($url)
- {
- if (!Zend_Uri::check($url)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $url . '\' is not a valid URI'
- );
- }
- $this->_requestTokenUrl = rtrim($url, '/');
- return $this;
- }
-
- /**
- * Get request token URL
- *
- * If no request token URL has been set, but a site URL has, returns the
- * site URL with the string "/request_token" appended.
- *
- * @return string
- */
- public function getRequestTokenUrl()
- {
- if (!$this->_requestTokenUrl && $this->_siteUrl) {
- return $this->_siteUrl . '/request_token';
- }
- return $this->_requestTokenUrl;
- }
-
- /**
- * Set access token URL
- *
- * @param string $url
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid URLs
- */
- public function setAccessTokenUrl($url)
- {
- if (!Zend_Uri::check($url)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $url . '\' is not a valid URI'
- );
- }
- $this->_accessTokenUrl = rtrim($url, '/');
- return $this;
- }
-
- /**
- * Get access token URL
- *
- * If no access token URL has been set, but a site URL has, returns the
- * site URL with the string "/access_token" appended.
- *
- * @return string
- */
- public function getAccessTokenUrl()
- {
- if (!$this->_accessTokenUrl && $this->_siteUrl) {
- return $this->_siteUrl . '/access_token';
- }
- return $this->_accessTokenUrl;
- }
-
- /**
- * Set user authorization URL
- *
- * @param string $url
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid URLs
- */
- public function setUserAuthorizationUrl($url)
- {
- return $this->setAuthorizeUrl($url);
- }
-
- /**
- * Set authorization URL
- *
- * @param string $url
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid URLs
- */
- public function setAuthorizeUrl($url)
- {
- if (!Zend_Uri::check($url)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $url . '\' is not a valid URI'
- );
- }
- $this->_authorizeUrl = rtrim($url, '/');
- return $this;
- }
-
- /**
- * Get user authorization URL
- *
- * @return string
- */
- public function getUserAuthorizationUrl()
- {
- return $this->getAuthorizeUrl();
- }
-
- /**
- * Get authorization URL
- *
- * If no authorization URL has been set, but a site URL has, returns the
- * site URL with the string "/authorize" appended.
- *
- * @return string
- */
- public function getAuthorizeUrl()
- {
- if (!$this->_authorizeUrl && $this->_siteUrl) {
- return $this->_siteUrl . '/authorize';
- }
- return $this->_authorizeUrl;
- }
-
- /**
- * Set request method
- *
- * @param string $method
- * @return Zend_Oauth_Config
- * @throws Zend_Oauth_Exception for invalid request methods
- */
- public function setRequestMethod($method)
- {
- $method = strtoupper($method);
- if (!in_array($method, array(
- Zend_Oauth::GET,
- Zend_Oauth::POST,
- Zend_Oauth::PUT,
- Zend_Oauth::DELETE,
- ))
- ) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Invalid method: ' . $method);
- }
- $this->_requestMethod = $method;
- return $this;
- }
-
- /**
- * Get request method
- *
- * @return string
- */
- public function getRequestMethod()
- {
- return $this->_requestMethod;
- }
-
- /**
- * Set RSA public key
- *
- * @param Zend_Crypt_Rsa_Key_Public $key
- * @return Zend_Oauth_Config
- */
- public function setRsaPublicKey(Zend_Crypt_Rsa_Key_Public $key)
- {
- $this->_rsaPublicKey = $key;
- return $this;
- }
-
- /**
- * Get RSA public key
- *
- * @return Zend_Crypt_Rsa_Key_Public
- */
- public function getRsaPublicKey()
- {
- return $this->_rsaPublicKey;
- }
-
- /**
- * Set RSA private key
- *
- * @param Zend_Crypt_Rsa_Key_Private $key
- * @return Zend_Oauth_Config
- */
- public function setRsaPrivateKey(Zend_Crypt_Rsa_Key_Private $key)
- {
- $this->_rsaPrivateKey = $key;
- return $this;
- }
-
- /**
- * Get RSA private key
- *
- * @return Zend_Crypt_Rsa_Key_Private
- */
- public function getRsaPrivateKey()
- {
- return $this->_rsaPrivateKey;
- }
-
- /**
- * Set OAuth token
- *
- * @param Zend_Oauth_Token $token
- * @return Zend_Oauth_Config
- */
- public function setToken(Zend_Oauth_Token $token)
- {
- $this->_token = $token;
- return $this;
- }
-
- /**
- * Get OAuth token
- *
- * @return Zend_Oauth_Token
- */
- public function getToken()
- {
- return $this->_token;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Config/ConfigInterface.php b/airtime_mvc/library/Zend/Oauth/Config/ConfigInterface.php
deleted file mode 100644
index 77f3d6039..000000000
--- a/airtime_mvc/library/Zend/Oauth/Config/ConfigInterface.php
+++ /dev/null
@@ -1,75 +0,0 @@
-_config = new Zend_Oauth_Config;
- if (!is_null($options)) {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
- $this->_config->setOptions($options);
- }
- }
-
- /**
- * Attempts to retrieve a Request Token from an OAuth Provider which is
- * later exchanged for an authorized Access Token used to access the
- * protected resources exposed by a web service API.
- *
- * @param null|array $customServiceParameters Non-OAuth Provider-specified parameters
- * @param null|string $httpMethod
- * @param null|Zend_Oauth_Http_RequestToken $request
- * @return Zend_Oauth_Token_Request
- */
- public function getRequestToken(
- array $customServiceParameters = null,
- $httpMethod = null,
- Zend_Oauth_Http_RequestToken $request = null
- ) {
- if (is_null($request)) {
- $request = new Zend_Oauth_Http_RequestToken($this, $customServiceParameters);
- } elseif(!is_null($customServiceParameters)) {
- $request->setParameters($customServiceParameters);
- }
- if (!is_null($httpMethod)) {
- $request->setMethod($httpMethod);
- } else {
- $request->setMethod($this->getRequestMethod());
- }
- $this->_requestToken = $request->execute();
- return $this->_requestToken;
- }
-
- /**
- * After a Request Token is retrieved, the user may be redirected to the
- * OAuth Provider to authorize the application's access to their
- * protected resources - the redirect URL being provided by this method.
- * Once the user has authorized the application for access, they are
- * redirected back to the application which can now exchange the previous
- * Request Token for a fully authorized Access Token.
- *
- * @param null|array $customServiceParameters
- * @param null|Zend_Oauth_Token_Request $token
- * @param null|Zend_OAuth_Http_UserAuthorization $redirect
- * @return string
- */
- public function getRedirectUrl(
- array $customServiceParameters = null,
- Zend_Oauth_Token_Request $token = null,
- Zend_Oauth_Http_UserAuthorization $redirect = null
- ) {
- if (is_null($redirect)) {
- $redirect = new Zend_Oauth_Http_UserAuthorization($this, $customServiceParameters);
- } elseif(!is_null($customServiceParameters)) {
- $redirect->setParameters($customServiceParameters);
- }
- if (!is_null($token)) {
- $this->_requestToken = $token;
- }
- return $redirect->getUrl();
- }
-
- /**
- * Rather than retrieve a redirect URL for use, e.g. from a controller,
- * one may perform an immediate redirect.
- *
- * Sends headers and exit()s on completion.
- *
- * @param null|array $customServiceParameters
- * @param null|Zend_Oauth_Http_UserAuthorization $request
- * @return void
- */
- public function redirect(
- array $customServiceParameters = null,
- Zend_Oauth_Http_UserAuthorization $request = null
- ) {
- $redirectUrl = $this->getRedirectUrl($customServiceParameters, $request);
- header('Location: ' . $redirectUrl);
- exit(1);
- }
-
- /**
- * Retrieve an Access Token in exchange for a previously received/authorized
- * Request Token.
- *
- * @param array $queryData GET data returned in user's redirect from Provider
- * @param Zend_Oauth_Token_Request Request Token information
- * @param string $httpMethod
- * @param Zend_Oauth_Http_AccessToken $request
- * @return Zend_Oauth_Token_Access
- * @throws Zend_Oauth_Exception on invalid authorization token, non-matching response authorization token, or unprovided authorization token
- */
- public function getAccessToken(
- $queryData,
- Zend_Oauth_Token_Request $token,
- $httpMethod = null,
- Zend_Oauth_Http_AccessToken $request = null
- ) {
- $authorizedToken = new Zend_Oauth_Token_AuthorizedRequest($queryData);
- if (!$authorizedToken->isValid()) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- 'Response from Service Provider is not a valid authorized request token');
- }
- if (is_null($request)) {
- $request = new Zend_Oauth_Http_AccessToken($this);
- }
-
- // OAuth 1.0a Verifier
- if (!is_null($authorizedToken->getParam('oauth_verifier'))) {
- $request->setParameters(array(
- 'oauth_verifier' => $authorizedToken->getParam('oauth_verifier')
- ));
- }
- if (!is_null($httpMethod)) {
- $request->setMethod($httpMethod);
- } else {
- $request->setMethod($this->getRequestMethod());
- }
- if (isset($token)) {
- if ($authorizedToken->getToken() !== $token->getToken()) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- 'Authorized token from Service Provider does not match'
- . ' supplied Request Token details'
- );
- }
- } else {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Request token must be passed to method');
- }
- $this->_requestToken = $token;
- $this->_accessToken = $request->execute();
- return $this->_accessToken;
- }
-
- /**
- * Return whatever the last Request Token retrieved was while using the
- * current Consumer instance.
- *
- * @return Zend_Oauth_Token_Request
- */
- public function getLastRequestToken()
- {
- return $this->_requestToken;
- }
-
- /**
- * Return whatever the last Access Token retrieved was while using the
- * current Consumer instance.
- *
- * @return Zend_Oauth_Token_Access
- */
- public function getLastAccessToken()
- {
- return $this->_accessToken;
- }
-
- /**
- * Alias to self::getLastAccessToken()
- *
- * @return Zend_Oauth_Token_Access
- */
- public function getToken()
- {
- return $this->_accessToken;
- }
-
- /**
- * Simple Proxy to the current Zend_Oauth_Config method. It's that instance
- * which holds all configuration methods and values this object also presents
- * as it's API.
- *
- * @param string $method
- * @param array $args
- * @return mixed
- * @throws Zend_Oauth_Exception if method does not exist in config object
- */
- public function __call($method, array $args)
- {
- if (!method_exists($this->_config, $method)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Method does not exist: '.$method);
- }
- return call_user_func_array(array($this->_config,$method), $args);
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Exception.php b/airtime_mvc/library/Zend/Oauth/Exception.php
deleted file mode 100644
index 3c20ac50e..000000000
--- a/airtime_mvc/library/Zend/Oauth/Exception.php
+++ /dev/null
@@ -1,32 +0,0 @@
-_consumer = $consumer;
- $this->_preferredRequestScheme = $this->_consumer->getRequestScheme();
- if (!is_null($parameters)) {
- $this->setParameters($parameters);
- }
- if (!is_null($utility)) {
- $this->_httpUtility = $utility;
- } else {
- $this->_httpUtility = new Zend_Oauth_Http_Utility;
- }
- }
-
- /**
- * Set a preferred HTTP request method.
- *
- * @param string $method
- * @return Zend_Oauth_Http
- */
- public function setMethod($method)
- {
- if (!in_array($method, array(Zend_Oauth::POST, Zend_Oauth::GET))) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('invalid HTTP method: ' . $method);
- }
- $this->_preferredRequestMethod = $method;
- return $this;
- }
-
- /**
- * Preferred HTTP request method accessor.
- *
- * @return string
- */
- public function getMethod()
- {
- return $this->_preferredRequestMethod;
- }
-
- /**
- * Mutator to set an array of custom parameters for the HTTP request.
- *
- * @param array $customServiceParameters
- * @return Zend_Oauth_Http
- */
- public function setParameters(array $customServiceParameters)
- {
- $this->_parameters = $customServiceParameters;
- return $this;
- }
-
- /**
- * Accessor for an array of custom parameters.
- *
- * @return array
- */
- public function getParameters()
- {
- return $this->_parameters;
- }
-
- /**
- * Return the Consumer instance in use.
- *
- * @return Zend_Oauth_Consumer
- */
- public function getConsumer()
- {
- return $this->_consumer;
- }
-
- /**
- * Commence a request cycle where the current HTTP method and OAuth
- * request scheme set an upper preferred HTTP request style and where
- * failures generate a new HTTP request style further down the OAuth
- * preference list for OAuth Request Schemes.
- * On success, return the Request object that results for processing.
- *
- * @param array $params
- * @return Zend_Http_Response
- * @throws Zend_Oauth_Exception on HTTP request errors
- * @todo Remove cycling?; Replace with upfront do-or-die configuration
- */
- public function startRequestCycle(array $params)
- {
- $response = null;
- $body = null;
- $status = null;
- try {
- $response = $this->_attemptRequest($params);
- } catch (Zend_Http_Client_Exception $e) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception('Error in HTTP request', null, $e);
- }
- if (!is_null($response)) {
- $body = $response->getBody();
- $status = $response->getStatus();
- }
- if (is_null($response) // Request failure/exception
- || $status == 500 // Internal Server Error
- || $status == 400 // Bad Request
- || $status == 401 // Unauthorized
- || empty($body) // Missing token
- ) {
- $this->_assessRequestAttempt($response);
- $response = $this->startRequestCycle($params);
- }
- return $response;
- }
-
- /**
- * Return an instance of Zend_Http_Client configured to use the Query
- * String scheme for an OAuth driven HTTP request.
- *
- * @param array $params
- * @param string $url
- * @return Zend_Http_Client
- */
- public function getRequestSchemeQueryStringClient(array $params, $url)
- {
- $client = Zend_Oauth::getHttpClient();
- $client->setUri($url);
- $client->getUri()->setQuery(
- $this->_httpUtility->toEncodedQueryString($params)
- );
- $client->setMethod($this->_preferredRequestMethod);
- return $client;
- }
-
- /**
- * Manages the switch from OAuth request scheme to another lower preference
- * scheme during a request cycle.
- *
- * @param Zend_Http_Response
- * @return void
- * @throws Zend_Oauth_Exception if unable to retrieve valid token response
- */
- protected function _assessRequestAttempt(Zend_Http_Response $response = null)
- {
- switch ($this->_preferredRequestScheme) {
- case Zend_Oauth::REQUEST_SCHEME_HEADER:
- $this->_preferredRequestScheme = Zend_Oauth::REQUEST_SCHEME_POSTBODY;
- break;
- case Zend_Oauth::REQUEST_SCHEME_POSTBODY:
- $this->_preferredRequestScheme = Zend_Oauth::REQUEST_SCHEME_QUERYSTRING;
- break;
- default:
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- 'Could not retrieve a valid Token response from Token URL:'
- . (!is_null($response)
- ? PHP_EOL . $response->getBody()
- : ' No body - check for headers')
- );
- }
- }
-
- /**
- * Generates a valid OAuth Authorization header based on the provided
- * parameters and realm.
- *
- * @param array $params
- * @param string $realm
- * @return string
- */
- protected function _toAuthorizationHeader(array $params, $realm = null)
- {
- $headerValue = array();
- $headerValue[] = 'OAuth realm="' . $realm . '"';
- foreach ($params as $key => $value) {
- if (!preg_match("/^oauth_/", $key)) {
- continue;
- }
- $headerValue[] = Zend_Oauth_Http_Utility::urlEncode($key)
- . '="'
- . Zend_Oauth_Http_Utility::urlEncode($value)
- . '"';
- }
- return implode(",", $headerValue);
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Http/AccessToken.php b/airtime_mvc/library/Zend/Oauth/Http/AccessToken.php
deleted file mode 100644
index cd1aeadb0..000000000
--- a/airtime_mvc/library/Zend/Oauth/Http/AccessToken.php
+++ /dev/null
@@ -1,189 +0,0 @@
-assembleParams();
- $response = $this->startRequestCycle($params);
- $return = new Zend_Oauth_Token_Access($response);
- return $return;
- }
-
- /**
- * Assemble all parameters for an OAuth Access Token request.
- *
- * @return array
- */
- public function assembleParams()
- {
- $params = array(
- 'oauth_consumer_key' => $this->_consumer->getConsumerKey(),
- 'oauth_nonce' => $this->_httpUtility->generateNonce(),
- 'oauth_signature_method' => $this->_consumer->getSignatureMethod(),
- 'oauth_timestamp' => $this->_httpUtility->generateTimestamp(),
- 'oauth_token' => $this->_consumer->getLastRequestToken()->getToken(),
- 'oauth_version' => $this->_consumer->getVersion(),
- );
-
- if (!empty($this->_parameters)) {
- $params = array_merge($params, $this->_parameters);
- }
-
- $params['oauth_signature'] = $this->_httpUtility->sign(
- $params,
- $this->_consumer->getSignatureMethod(),
- $this->_consumer->getConsumerSecret(),
- $this->_consumer->getLastRequestToken()->getTokenSecret(),
- $this->_preferredRequestMethod,
- $this->_consumer->getAccessTokenUrl()
- );
-
- return $params;
- }
-
- /**
- * Generate and return a HTTP Client configured for the Header Request Scheme
- * specified by OAuth, for use in requesting an Access Token.
- *
- * @param array $params
- * @return Zend_Http_Client
- */
- public function getRequestSchemeHeaderClient(array $params)
- {
- $params = $this->_cleanParamsOfIllegalCustomParameters($params);
- $headerValue = $this->_toAuthorizationHeader($params);
- $client = Zend_Oauth::getHttpClient();
-
- $client->setUri($this->_consumer->getAccessTokenUrl());
- $client->setHeaders('Authorization', $headerValue);
- $client->setMethod($this->_preferredRequestMethod);
-
- return $client;
- }
-
- /**
- * Generate and return a HTTP Client configured for the POST Body Request
- * Scheme specified by OAuth, for use in requesting an Access Token.
- *
- * @param array $params
- * @return Zend_Http_Client
- */
- public function getRequestSchemePostBodyClient(array $params)
- {
- $params = $this->_cleanParamsOfIllegalCustomParameters($params);
- $client = Zend_Oauth::getHttpClient();
- $client->setUri($this->_consumer->getAccessTokenUrl());
- $client->setMethod($this->_preferredRequestMethod);
- $client->setRawData(
- $this->_httpUtility->toEncodedQueryString($params)
- );
- $client->setHeaders(
- Zend_Http_Client::CONTENT_TYPE,
- Zend_Http_Client::ENC_URLENCODED
- );
- return $client;
- }
-
- /**
- * Generate and return a HTTP Client configured for the Query String Request
- * Scheme specified by OAuth, for use in requesting an Access Token.
- *
- * @param array $params
- * @param string $url
- * @return Zend_Http_Client
- */
- public function getRequestSchemeQueryStringClient(array $params, $url)
- {
- $params = $this->_cleanParamsOfIllegalCustomParameters($params);
- return parent::getRequestSchemeQueryStringClient($params, $url);
- }
-
- /**
- * Attempt a request based on the current configured OAuth Request Scheme and
- * return the resulting HTTP Response.
- *
- * @param array $params
- * @return Zend_Http_Response
- */
- protected function _attemptRequest(array $params)
- {
- switch ($this->_preferredRequestScheme) {
- case Zend_Oauth::REQUEST_SCHEME_HEADER:
- $httpClient = $this->getRequestSchemeHeaderClient($params);
- break;
- case Zend_Oauth::REQUEST_SCHEME_POSTBODY:
- $httpClient = $this->getRequestSchemePostBodyClient($params);
- break;
- case Zend_Oauth::REQUEST_SCHEME_QUERYSTRING:
- $httpClient = $this->getRequestSchemeQueryStringClient($params,
- $this->_consumer->getAccessTokenUrl());
- break;
- }
- return $httpClient->request();
- }
-
- /**
- * Access Token requests specifically may not contain non-OAuth parameters.
- * So these should be striped out and excluded. Detection is easy since
- * specified OAuth parameters start with "oauth_", Extension params start
- * with "xouth_", and no other parameters should use these prefixes.
- *
- * xouth params are not currently allowable.
- *
- * @param array $params
- * @return array
- */
- protected function _cleanParamsOfIllegalCustomParameters(array $params)
- {
- foreach ($params as $key=>$value) {
- if (!preg_match("/^oauth_/", $key)) {
- unset($params[$key]);
- }
- }
- return $params;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Http/RequestToken.php b/airtime_mvc/library/Zend/Oauth/Http/RequestToken.php
deleted file mode 100644
index 974c7ea29..000000000
--- a/airtime_mvc/library/Zend/Oauth/Http/RequestToken.php
+++ /dev/null
@@ -1,162 +0,0 @@
-assembleParams();
- $response = $this->startRequestCycle($params);
- $return = new Zend_Oauth_Token_Request($response);
- return $return;
- }
-
- /**
- * Assemble all parameters for an OAuth Request Token request.
- *
- * @return array
- */
- public function assembleParams()
- {
- $params = array(
- 'oauth_consumer_key' => $this->_consumer->getConsumerKey(),
- 'oauth_nonce' => $this->_httpUtility->generateNonce(),
- 'oauth_timestamp' => $this->_httpUtility->generateTimestamp(),
- 'oauth_signature_method' => $this->_consumer->getSignatureMethod(),
- 'oauth_version' => $this->_consumer->getVersion(),
- );
-
- // indicates we support 1.0a
- if ($this->_consumer->getCallbackUrl()) {
- $params['oauth_callback'] = $this->_consumer->getCallbackUrl();
- } else {
- $params['oauth_callback'] = 'oob';
- }
-
- if (!empty($this->_parameters)) {
- $params = array_merge($params, $this->_parameters);
- }
-
- $params['oauth_signature'] = $this->_httpUtility->sign(
- $params,
- $this->_consumer->getSignatureMethod(),
- $this->_consumer->getConsumerSecret(),
- null,
- $this->_preferredRequestMethod,
- $this->_consumer->getRequestTokenUrl()
- );
-
- return $params;
- }
-
- /**
- * Generate and return a HTTP Client configured for the Header Request Scheme
- * specified by OAuth, for use in requesting a Request Token.
- *
- * @param array $params
- * @return Zend_Http_Client
- */
- public function getRequestSchemeHeaderClient(array $params)
- {
- $headerValue = $this->_httpUtility->toAuthorizationHeader(
- $params
- );
- $client = Zend_Oauth::getHttpClient();
- $client->setUri($this->_consumer->getRequestTokenUrl());
- $client->setHeaders('Authorization', $headerValue);
- $rawdata = $this->_httpUtility->toEncodedQueryString($params, true);
- if (!empty($rawdata)) {
- $client->setRawData($rawdata);
- }
- $client->setMethod($this->_preferredRequestMethod);
- return $client;
- }
-
- /**
- * Generate and return a HTTP Client configured for the POST Body Request
- * Scheme specified by OAuth, for use in requesting a Request Token.
- *
- * @param array $params
- * @return Zend_Http_Client
- */
- public function getRequestSchemePostBodyClient(array $params)
- {
- $client = Zend_Oauth::getHttpClient();
- $client->setUri($this->_consumer->getRequestTokenUrl());
- $client->setMethod($this->_preferredRequestMethod);
- $client->setRawData(
- $this->_httpUtility->toEncodedQueryString($params)
- );
- $client->setHeaders(
- Zend_Http_Client::CONTENT_TYPE,
- Zend_Http_Client::ENC_URLENCODED
- );
- return $client;
- }
-
- /**
- * Attempt a request based on the current configured OAuth Request Scheme and
- * return the resulting HTTP Response.
- *
- * @param array $params
- * @return Zend_Http_Response
- */
- protected function _attemptRequest(array $params)
- {
- switch ($this->_preferredRequestScheme) {
- case Zend_Oauth::REQUEST_SCHEME_HEADER:
- $httpClient = $this->getRequestSchemeHeaderClient($params);
- break;
- case Zend_Oauth::REQUEST_SCHEME_POSTBODY:
- $httpClient = $this->getRequestSchemePostBodyClient($params);
- break;
- case Zend_Oauth::REQUEST_SCHEME_QUERYSTRING:
- $httpClient = $this->getRequestSchemeQueryStringClient($params,
- $this->_consumer->getRequestTokenUrl());
- break;
- }
- return $httpClient->request();
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Http/UserAuthorization.php b/airtime_mvc/library/Zend/Oauth/Http/UserAuthorization.php
deleted file mode 100644
index 373afb444..000000000
--- a/airtime_mvc/library/Zend/Oauth/Http/UserAuthorization.php
+++ /dev/null
@@ -1,78 +0,0 @@
-assembleParams();
- $uri = Zend_Uri_Http::fromString($this->_consumer->getUserAuthorizationUrl());
-
- $uri->setQuery(
- $this->_httpUtility->toEncodedQueryString($params)
- );
-
- return $uri->getUri();
- }
-
- /**
- * Assemble all parameters for inclusion in a redirect URL.
- *
- * @return array
- */
- public function assembleParams()
- {
- $params = array(
- 'oauth_token' => $this->_consumer->getLastRequestToken()->getToken(),
- );
-
- if (!Zend_Oauth_Client::$supportsRevisionA) {
- $callback = $this->_consumer->getCallbackUrl();
- if (!empty($callback)) {
- $params['oauth_callback'] = $callback;
- }
- }
-
- if (!empty($this->_parameters)) {
- $params = array_merge($params, $this->_parameters);
- }
-
- return $params;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Http/Utility.php b/airtime_mvc/library/Zend/Oauth/Http/Utility.php
deleted file mode 100644
index 5b180beaf..000000000
--- a/airtime_mvc/library/Zend/Oauth/Http/Utility.php
+++ /dev/null
@@ -1,217 +0,0 @@
- $config->getConsumerKey(),
- 'oauth_nonce' => $this->generateNonce(),
- 'oauth_signature_method' => $config->getSignatureMethod(),
- 'oauth_timestamp' => $this->generateTimestamp(),
- 'oauth_version' => $config->getVersion(),
- );
-
- if ($config->getToken()->getToken() != null) {
- $params['oauth_token'] = $config->getToken()->getToken();
- }
-
-
- if (!is_null($serviceProviderParams)) {
- $params = array_merge($params, $serviceProviderParams);
- }
-
- $params['oauth_signature'] = $this->sign(
- $params,
- $config->getSignatureMethod(),
- $config->getConsumerSecret(),
- $config->getToken()->getTokenSecret(),
- $config->getRequestMethod(),
- $url
- );
-
- return $params;
- }
-
- /**
- * Given both OAuth parameters and any custom parametere, generate an
- * encoded query string. This method expects parameters to have been
- * assembled and signed beforehand.
- *
- * @param array $params
- * @param bool $customParamsOnly Ignores OAuth params e.g. for requests using OAuth Header
- * @return string
- */
- public function toEncodedQueryString(array $params, $customParamsOnly = false)
- {
- if ($customParamsOnly) {
- foreach ($params as $key=>$value) {
- if (preg_match("/^oauth_/", $key)) {
- unset($params[$key]);
- }
- }
- }
- $encodedParams = array();
- foreach ($params as $key => $value) {
- $encodedParams[] = self::urlEncode($key)
- . '='
- . self::urlEncode($value);
- }
- return implode('&', $encodedParams);
- }
-
- /**
- * Cast to authorization header
- *
- * @param array $params
- * @param null|string $realm
- * @param bool $excludeCustomParams
- * @return void
- */
- public function toAuthorizationHeader(array $params, $realm = null, $excludeCustomParams = true)
- {
- $headerValue = array(
- 'OAuth realm="' . $realm . '"',
- );
-
- foreach ($params as $key => $value) {
- if ($excludeCustomParams) {
- if (!preg_match("/^oauth_/", $key)) {
- continue;
- }
- }
- $headerValue[] = self::urlEncode($key)
- . '="'
- . self::urlEncode($value) . '"';
- }
- return implode(",", $headerValue);
- }
-
- /**
- * Sign request
- *
- * @param array $params
- * @param string $signatureMethod
- * @param string $consumerSecret
- * @param null|string $tokenSecret
- * @param null|string $method
- * @param null|string $url
- * @return string
- */
- public function sign(
- array $params, $signatureMethod, $consumerSecret, $tokenSecret = null, $method = null, $url = null
- ) {
- $className = '';
- $hashAlgo = null;
- $parts = explode('-', $signatureMethod);
- if (count($parts) > 1) {
- $className = 'Zend_Oauth_Signature_' . ucfirst(strtolower($parts[0]));
- $hashAlgo = $parts[1];
- } else {
- $className = 'Zend_Oauth_Signature_' . ucfirst(strtolower($signatureMethod));
- }
-
- require_once str_replace('_', '/', $className) . '.php';
- $signatureObject = new $className($consumerSecret, $tokenSecret, $hashAlgo);
- return $signatureObject->sign($params, $method, $url);
- }
-
- /**
- * Parse query string
- *
- * @param mixed $query
- * @return array
- */
- public function parseQueryString($query)
- {
- $params = array();
- if (empty($query)) {
- return array();
- }
-
- // Not remotely perfect but beats parse_str() which converts
- // periods and uses urldecode, not rawurldecode.
- $parts = explode('&', $query);
- foreach ($parts as $pair) {
- $kv = explode('=', $pair);
- $params[rawurldecode($kv[0])] = rawurldecode($kv[1]);
- }
- return $params;
- }
-
- /**
- * Generate nonce
- *
- * @return string
- */
- public function generateNonce()
- {
- return md5(uniqid(rand(), true));
- }
-
- /**
- * Generate timestamp
- *
- * @return int
- */
- public function generateTimestamp()
- {
- return time();
- }
-
- /**
- * urlencode a value
- *
- * @param string $value
- * @return string
- */
- public static function urlEncode($value)
- {
- $encoded = rawurlencode($value);
- $encoded = str_replace('%7E', '~', $encoded);
- return $encoded;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Signature/Hmac.php b/airtime_mvc/library/Zend/Oauth/Signature/Hmac.php
deleted file mode 100644
index ff95e9b86..000000000
--- a/airtime_mvc/library/Zend/Oauth/Signature/Hmac.php
+++ /dev/null
@@ -1,54 +0,0 @@
-_key,
- $this->_hashAlgorithm,
- $this->_getBaseSignatureString($params, $method, $url),
- Zend_Crypt_Hmac::BINARY
- );
- return base64_encode($binaryHash);
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Signature/Plaintext.php b/airtime_mvc/library/Zend/Oauth/Signature/Plaintext.php
deleted file mode 100644
index 7d1e6d9ff..000000000
--- a/airtime_mvc/library/Zend/Oauth/Signature/Plaintext.php
+++ /dev/null
@@ -1,49 +0,0 @@
-_tokenSecret)) {
- return $this->_consumerSecret . '&';
- }
- $return = implode('&', array($this->_consumerSecret, $this->_tokenSecret));
- return $return;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Signature/Rsa.php b/airtime_mvc/library/Zend/Oauth/Signature/Rsa.php
deleted file mode 100644
index 20587ccf1..000000000
--- a/airtime_mvc/library/Zend/Oauth/Signature/Rsa.php
+++ /dev/null
@@ -1,65 +0,0 @@
-setHashAlgorithm($this->_hashAlgorithm);
- $sign = $rsa->sign(
- $this->_getBaseSignatureString($params, $method, $url),
- $this->_key,
- Zend_Crypt_Rsa::BASE64
- );
- return $sign;
- }
-
- /**
- * Assemble encryption key
- *
- * @return string
- */
- protected function _assembleKey()
- {
- return $this->_consumerSecret;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Signature/SignatureAbstract.php b/airtime_mvc/library/Zend/Oauth/Signature/SignatureAbstract.php
deleted file mode 100644
index 9f3b210f5..000000000
--- a/airtime_mvc/library/Zend/Oauth/Signature/SignatureAbstract.php
+++ /dev/null
@@ -1,183 +0,0 @@
-_consumerSecret = $consumerSecret;
- if (isset($tokenSecret)) {
- $this->_tokenSecret = $tokenSecret;
- }
- $this->_key = $this->_assembleKey();
- if (isset($hashAlgo)) {
- $this->_hashAlgorithm = $hashAlgo;
- }
- }
-
- /**
- * Sign a request
- *
- * @param array $params
- * @param null|string $method
- * @param null|string $url
- * @return string
- */
- public abstract function sign(array $params, $method = null, $url = null);
-
- /**
- * Normalize the base signature URL
- *
- * @param string $url
- * @return string
- */
- public function normaliseBaseSignatureUrl($url)
- {
- $uri = Zend_Uri_Http::fromString($url);
- if ($uri->getScheme() == 'http' && $uri->getPort() == '80') {
- $uri->setPort('');
- } elseif ($uri->getScheme() == 'https' && $uri->getPort() == '443') {
- $uri->setPort('');
- }
- $uri->setQuery('');
- $uri->setFragment('');
- $uri->setHost(strtolower($uri->getHost()));
- return $uri->getUri(true);
- }
-
- /**
- * Assemble key from consumer and token secrets
- *
- * @return string
- */
- protected function _assembleKey()
- {
- $parts = array($this->_consumerSecret);
- if (!is_null($this->_tokenSecret)) {
- $parts[] = $this->_tokenSecret;
- }
- foreach ($parts as $key => $secret) {
- $parts[$key] = Zend_Oauth_Http_Utility::urlEncode($secret);
- }
- return implode('&', $parts);
- }
-
- /**
- * Get base signature string
- *
- * @param array $params
- * @param null|string $method
- * @param null|string $url
- * @return string
- */
- protected function _getBaseSignatureString(array $params, $method = null, $url = null)
- {
- $encodedParams = array();
- foreach ($params as $key => $value) {
- $encodedParams[Zend_Oauth_Http_Utility::urlEncode($key)] =
- Zend_Oauth_Http_Utility::urlEncode($value);
- }
- $baseStrings = array();
- if (isset($method)) {
- $baseStrings[] = strtoupper($method);
- }
- if (isset($url)) {
- // should normalise later
- $baseStrings[] = Zend_Oauth_Http_Utility::urlEncode(
- $this->normaliseBaseSignatureUrl($url)
- );
- }
- if (isset($encodedParams['oauth_signature'])) {
- unset($encodedParams['oauth_signature']);
- }
- $baseStrings[] = Zend_Oauth_Http_Utility::urlEncode(
- $this->_toByteValueOrderedQueryString($encodedParams)
- );
- return implode('&', $baseStrings);
- }
-
- /**
- * Transform an array to a byte value ordered query string
- *
- * @param array $params
- * @return string
- */
- protected function _toByteValueOrderedQueryString(array $params)
- {
- $return = array();
- uksort($params, 'strnatcmp');
- foreach ($params as $key => $value) {
- if (is_array($value)) {
- natsort($value);
- foreach ($value as $keyduplicate) {
- $return[] = $key . '=' . $keyduplicate;
- }
- } else {
- $return[] = $key . '=' . $value;
- }
- }
- return implode('&', $return);
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Token.php b/airtime_mvc/library/Zend/Oauth/Token.php
deleted file mode 100644
index 3b2b51253..000000000
--- a/airtime_mvc/library/Zend/Oauth/Token.php
+++ /dev/null
@@ -1,285 +0,0 @@
-_response = $response;
- $params = $this->_parseParameters($response);
- if (count($params) > 0) {
- $this->setParams($params);
- }
- }
- if (!is_null($utility)) {
- $this->_httpUtility = $utility;
- } else {
- $this->_httpUtility = new Zend_Oauth_Http_Utility;
- }
- }
-
- /**
- * Attempts to validate the Token parsed from the HTTP response - really
- * it's just very basic existence checks which are minimal.
- *
- * @return bool
- */
- public function isValid()
- {
- if (isset($this->_params[self::TOKEN_PARAM_KEY])
- && !empty($this->_params[self::TOKEN_PARAM_KEY])
- && isset($this->_params[self::TOKEN_SECRET_PARAM_KEY])
- ) {
- return true;
- }
- return false;
- }
-
- /**
- * Return the HTTP response object used to initialise this instance.
- *
- * @return Zend_Http_Response
- */
- public function getResponse()
- {
- return $this->_response;
- }
-
- /**
- * Sets the value for the this Token's secret which may be used when signing
- * requests with this Token.
- *
- * @param string $secret
- * @return Zend_Oauth_Token
- */
- public function setTokenSecret($secret)
- {
- $this->setParam(self::TOKEN_SECRET_PARAM_KEY, $secret);
- return $this;
- }
-
- /**
- * Retrieve this Token's secret which may be used when signing
- * requests with this Token.
- *
- * @return string
- */
- public function getTokenSecret()
- {
- return $this->getParam(self::TOKEN_SECRET_PARAM_KEY);
- }
-
- /**
- * Sets the value for a parameter (e.g. token secret or other) and run
- * a simple filter to remove any trailing newlines.
- *
- * @param string $key
- * @param string $value
- * @return Zend_Oauth_Token
- */
- public function setParam($key, $value)
- {
- $this->_params[$key] = trim($value, "\n");
- return $this;
- }
-
- /**
- * Sets the value for some parameters (e.g. token secret or other) and run
- * a simple filter to remove any trailing newlines.
- *
- * @param array $params
- * @return Zend_Oauth_Token
- */
- public function setParams(array $params)
- {
- foreach ($params as $key=>$value) {
- $this->setParam($key, $value);
- }
- return $this;
- }
-
- /**
- * Get the value for a parameter (e.g. token secret or other).
- *
- * @param string $key
- * @return mixed
- */
- public function getParam($key)
- {
- if (isset($this->_params[$key])) {
- return $this->_params[$key];
- }
- return null;
- }
-
- /**
- * Sets the value for a Token.
- *
- * @param string $token
- * @return Zend_Oauth_Token
- */
- public function setToken($token)
- {
- $this->setParam(self::TOKEN_PARAM_KEY, $token);
- return $this;
- }
-
- /**
- * Gets the value for a Token.
- *
- * @return string
- */
- public function getToken()
- {
- return $this->getParam(self::TOKEN_PARAM_KEY);
- }
-
- /**
- * Generic accessor to enable access as public properties.
- *
- * @return string
- */
- public function __get($key)
- {
- return $this->getParam($key);
- }
-
- /**
- * Generic mutator to enable access as public properties.
- *
- * @param string $key
- * @param string $value
- * @return void
- */
- public function __set($key, $value)
- {
- $this->setParam($key, $value);
- }
-
- /**
- * Convert Token to a string, specifically a raw encoded query string.
- *
- * @return string
- */
- public function toString()
- {
- return $this->_httpUtility->toEncodedQueryString($this->_params);
- }
-
- /**
- * Convert Token to a string, specifically a raw encoded query string.
- * Aliases to self::toString()
- *
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-
- /**
- * Parse a HTTP response body and collect returned parameters
- * as raw url decoded key-value pairs in an associative array.
- *
- * @param Zend_Http_Response $response
- * @return array
- */
- protected function _parseParameters(Zend_Http_Response $response)
- {
- $params = array();
- $body = $response->getBody();
- if (empty($body)) {
- return;
- }
-
- // validate body based on acceptable characters...todo
- $parts = explode('&', $body);
- foreach ($parts as $kvpair) {
- $pair = explode('=', $kvpair);
- $params[rawurldecode($pair[0])] = rawurldecode($pair[1]);
- }
- return $params;
- }
-
- /**
- * Limit serialisation stored data to the parameters
- */
- public function __sleep()
- {
- return array('_params');
- }
-
- /**
- * After serialisation, re-instantiate a HTTP utility class for use
- */
- public function __wakeup()
- {
- if (is_null($this->_httpUtility)) {
- $this->_httpUtility = new Zend_Oauth_Http_Utility;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Token/Access.php b/airtime_mvc/library/Zend/Oauth/Token/Access.php
deleted file mode 100644
index 402330043..000000000
--- a/airtime_mvc/library/Zend/Oauth/Token/Access.php
+++ /dev/null
@@ -1,99 +0,0 @@
-_httpUtility->assembleParams($url, $config, $customParams);
- return $this->_httpUtility->toAuthorizationHeader($params, $realm);
- }
-
- /**
- * Cast to HTTP query string
- *
- * @param mixed $url
- * @param Zend_Oauth_Config_ConfigInterface $config
- * @param null|array $params
- * @return string
- */
- public function toQueryString($url, Zend_Oauth_Config_ConfigInterface $config, array $params = null)
- {
- if (!Zend_Uri::check($url)) {
- require_once 'Zend/Oauth/Exception.php';
- throw new Zend_Oauth_Exception(
- '\'' . $url . '\' is not a valid URI'
- );
- }
- $params = $this->_httpUtility->assembleParams($url, $config, $params);
- return $this->_httpUtility->toEncodedQueryString($params);
- }
-
- /**
- * Get OAuth client
- *
- * @param array $oauthOptions
- * @param null|string $uri
- * @param null|array|Zend_Config $config
- * @param bool $excludeCustomParamsFromHeader
- * @return Zend_Oauth_Client
- */
- public function getHttpClient(array $oauthOptions, $uri = null, $config = null, $excludeCustomParamsFromHeader = true)
- {
- $client = new Zend_Oauth_Client($oauthOptions, $uri, $config, $excludeCustomParamsFromHeader);
- $client->setToken($this);
- return $client;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Token/AuthorizedRequest.php b/airtime_mvc/library/Zend/Oauth/Token/AuthorizedRequest.php
deleted file mode 100644
index aa9f75e51..000000000
--- a/airtime_mvc/library/Zend/Oauth/Token/AuthorizedRequest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-_data = $data;
- $params = $this->_parseData();
- if (count($params) > 0) {
- $this->setParams($params);
- }
- }
- if (!is_null($utility)) {
- $this->_httpUtility = $utility;
- } else {
- $this->_httpUtility = new Zend_Oauth_Http_Utility;
- }
- }
-
- /**
- * Retrieve token data
- *
- * @return array
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * Indicate if token is valid
- *
- * @return bool
- */
- public function isValid()
- {
- if (isset($this->_params[self::TOKEN_PARAM_KEY])
- && !empty($this->_params[self::TOKEN_PARAM_KEY])
- ) {
- return true;
- }
- return false;
- }
-
- /**
- * Parse string data into array
- *
- * @return array
- */
- protected function _parseData()
- {
- $params = array();
- if (empty($this->_data)) {
- return;
- }
- foreach ($this->_data as $key => $value) {
- $params[rawurldecode($key)] = rawurldecode($value);
- }
- return $params;
- }
-}
diff --git a/airtime_mvc/library/Zend/Oauth/Token/Request.php b/airtime_mvc/library/Zend/Oauth/Token/Request.php
deleted file mode 100644
index 0d449d78b..000000000
--- a/airtime_mvc/library/Zend/Oauth/Token/Request.php
+++ /dev/null
@@ -1,50 +0,0 @@
-_params[Zend_Oauth_Token::TOKEN_PARAM_CALLBACK_CONFIRMED])) {
- Zend_Oauth_Client::$supportsRevisionA = true;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/OpenId.php b/airtime_mvc/library/Zend/OpenId.php
deleted file mode 100644
index 48853d19b..000000000
--- a/airtime_mvc/library/Zend/OpenId.php
+++ /dev/null
@@ -1,753 +0,0 @@
- 1 ? $dir : '')
- . '/'
- . $url;
- }
- }
- }
- return $url;
- }
-
- /**
- * Converts variable/value pairs into URL encoded query string
- *
- * @param array $params variable/value pairs
- * @return string URL encoded query string
- */
- static public function paramsToQuery($params)
- {
- foreach($params as $key => $value) {
- if (isset($query)) {
- $query .= '&' . $key . '=' . urlencode($value);
- } else {
- $query = $key . '=' . urlencode($value);
- }
- }
- return isset($query) ? $query : '';
- }
-
- /**
- * Normalizes URL according to RFC 3986 to use it in comparison operations.
- * The function gets URL argument by reference and modifies it.
- * It returns true on success and false of failure.
- *
- * @param string &$id url to be normalized
- * @return bool
- */
- static public function normalizeUrl(&$id)
- {
- // RFC 3986, 6.2.2. Syntax-Based Normalization
-
- // RFC 3986, 6.2.2.2 Percent-Encoding Normalization
- $i = 0;
- $n = strlen($id);
- $res = '';
- while ($i < $n) {
- if ($id[$i] == '%') {
- if ($i + 2 >= $n) {
- return false;
- }
- ++$i;
- if ($id[$i] >= '0' && $id[$i] <= '9') {
- $c = ord($id[$i]) - ord('0');
- } else if ($id[$i] >= 'A' && $id[$i] <= 'F') {
- $c = ord($id[$i]) - ord('A') + 10;
- } else if ($id[$i] >= 'a' && $id[$i] <= 'f') {
- $c = ord($id[$i]) - ord('a') + 10;
- } else {
- return false;
- }
- ++$i;
- if ($id[$i] >= '0' && $id[$i] <= '9') {
- $c = ($c << 4) | (ord($id[$i]) - ord('0'));
- } else if ($id[$i] >= 'A' && $id[$i] <= 'F') {
- $c = ($c << 4) | (ord($id[$i]) - ord('A') + 10);
- } else if ($id[$i] >= 'a' && $id[$i] <= 'f') {
- $c = ($c << 4) | (ord($id[$i]) - ord('a') + 10);
- } else {
- return false;
- }
- ++$i;
- $ch = chr($c);
- if (($ch >= 'A' && $ch <= 'Z') ||
- ($ch >= 'a' && $ch <= 'z') ||
- $ch == '-' ||
- $ch == '.' ||
- $ch == '_' ||
- $ch == '~') {
- $res .= $ch;
- } else {
- $res .= '%';
- if (($c >> 4) < 10) {
- $res .= chr(($c >> 4) + ord('0'));
- } else {
- $res .= chr(($c >> 4) - 10 + ord('A'));
- }
- $c = $c & 0xf;
- if ($c < 10) {
- $res .= chr($c + ord('0'));
- } else {
- $res .= chr($c - 10 + ord('A'));
- }
- }
- } else {
- $res .= $id[$i++];
- }
- }
-
- if (!preg_match('|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?#]*)?((?:[?](?:[^#]*))?)((?:#.*)?)$|', $res, $reg)) {
- return false;
- }
- $scheme = $reg[1];
- $auth = $reg[2];
- $host = $reg[3];
- $port = $reg[4];
- $path = $reg[5];
- $query = $reg[6];
- $fragment = $reg[7]; /* strip it */
-
- if (empty($scheme) || empty($host)) {
- return false;
- }
-
- // RFC 3986, 6.2.2.1. Case Normalization
- $scheme = strtolower($scheme);
- $host = strtolower($host);
-
- // RFC 3986, 6.2.2.3. Path Segment Normalization
- if (!empty($path)) {
- $i = 0;
- $n = strlen($path);
- $res = "";
- while ($i < $n) {
- if ($path[$i] == '/') {
- ++$i;
- while ($i < $n && $path[$i] == '/') {
- ++$i;
- }
- if ($i < $n && $path[$i] == '.') {
- ++$i;
- if ($i < $n && $path[$i] == '.') {
- ++$i;
- if ($i == $n || $path[$i] == '/') {
- if (($pos = strrpos($res, '/')) !== false) {
- $res = substr($res, 0, $pos);
- }
- } else {
- $res .= '/..';
- }
- } else if ($i != $n && $path[$i] != '/') {
- $res .= '/.';
- }
- } else {
- $res .= '/';
- }
- } else {
- $res .= $path[$i++];
- }
- }
- $path = $res;
- }
-
- // RFC 3986,6.2.3. Scheme-Based Normalization
- if ($scheme == 'http') {
- if ($port == 80) {
- $port = '';
- }
- } else if ($scheme == 'https') {
- if ($port == 443) {
- $port = '';
- }
- }
- if (empty($path)) {
- $path = '/';
- }
-
- $id = $scheme
- . '://'
- . $auth
- . $host
- . (empty($port) ? '' : (':' . $port))
- . $path
- . $query;
- return true;
- }
-
- /**
- * Normalizes OpenID identifier that can be URL or XRI name.
- * Returns true on success and false of failure.
- *
- * Normalization is performed according to the following rules:
- * 1. If the user's input starts with one of the "xri://", "xri://$ip*",
- * or "xri://$dns*" prefixes, they MUST be stripped off, so that XRIs
- * are used in the canonical form, and URI-authority XRIs are further
- * considered URL identifiers.
- * 2. If the first character of the resulting string is an XRI Global
- * Context Symbol ("=", "@", "+", "$", "!"), then the input SHOULD be
- * treated as an XRI.
- * 3. Otherwise, the input SHOULD be treated as an http URL; if it does
- * not include a "http" or "https" scheme, the Identifier MUST be
- * prefixed with the string "http://".
- * 4. URL identifiers MUST then be further normalized by both following
- * redirects when retrieving their content and finally applying the
- * rules in Section 6 of [RFC3986] to the final destination URL.
- * @param string &$id identifier to be normalized
- * @return bool
- */
- static public function normalize(&$id)
- {
- $id = trim($id);
- if (strlen($id) === 0) {
- return true;
- }
-
- // 7.2.1
- if (strpos($id, 'xri://$ip*') === 0) {
- $id = substr($id, strlen('xri://$ip*'));
- } else if (strpos($id, 'xri://$dns*') === 0) {
- $id = substr($id, strlen('xri://$dns*'));
- } else if (strpos($id, 'xri://') === 0) {
- $id = substr($id, strlen('xri://'));
- }
-
- // 7.2.2
- if ($id[0] == '=' ||
- $id[0] == '@' ||
- $id[0] == '+' ||
- $id[0] == '$' ||
- $id[0] == '!') {
- return true;
- }
-
- // 7.2.3
- if (strpos($id, "://") === false) {
- $id = 'http://' . $id;
- }
-
- // 7.2.4
- return self::normalizeURL($id);
- }
-
- /**
- * Performs a HTTP redirection to specified URL with additional data.
- * It may generate redirected request using GET or POST HTTP method.
- * The function never returns.
- *
- * @param string $url URL to redirect to
- * @param array $params additional variable/value pairs to send
- * @param Zend_Controller_Response_Abstract $response
- * @param string $method redirection method ('GET' or 'POST')
- */
- static public function redirect($url, $params = null,
- Zend_Controller_Response_Abstract $response = null, $method = 'GET')
- {
- $url = Zend_OpenId::absoluteUrl($url);
- $body = "";
- if (null === $response) {
- require_once "Zend/Controller/Response/Http.php";
- $response = new Zend_Controller_Response_Http();
- }
-
- if ($method == 'POST') {
- $body = "\n";
- $body .= "\n";
- } else if (is_array($params) && count($params) > 0) {
- if (strpos($url, '?') === false) {
- $url .= '?' . self::paramsToQuery($params);
- } else {
- $url .= '&' . self::paramsToQuery($params);
- }
- }
- if (!empty($body)) {
- $response->setBody($body);
- } else if (!$response->canSendHeaders()) {
- $response->setBody("");
- } else {
- $response->setRedirect($url);
- }
- $response->sendResponse();
- if (self::$exitOnRedirect) {
- exit();
- }
- }
-
- /**
- * Produces string of random byte of given length.
- *
- * @param integer $len length of requested string
- * @return string RAW random binary string
- */
- static public function randomBytes($len)
- {
- $key = '';
- for($i=0; $i < $len; $i++) {
- $key .= chr(mt_rand(0, 255));
- }
- return $key;
- }
-
- /**
- * Generates a hash value (message digest) according to given algorithm.
- * It returns RAW binary string.
- *
- * This is a wrapper function that uses one of available internal function
- * dependent on given PHP configuration. It may use various functions from
- * ext/openssl, ext/hash, ext/mhash or ext/standard.
- *
- * @param string $func digest algorithm
- * @param string $data data to sign
- * @return string RAW digital signature
- * @throws Zend_OpenId_Exception
- */
- static public function digest($func, $data)
- {
- if (function_exists('openssl_digest')) {
- return openssl_digest($data, $func, true);
- } else if (function_exists('hash')) {
- return hash($func, $data, true);
- } else if ($func === 'sha1') {
- return sha1($data, true);
- } else if ($func === 'sha256') {
- if (function_exists('mhash')) {
- return mhash(MHASH_SHA256 , $data);
- }
- }
- require_once "Zend/OpenId/Exception.php";
- throw new Zend_OpenId_Exception(
- 'Unsupported digest algorithm "' . $func . '".',
- Zend_OpenId_Exception::UNSUPPORTED_DIGEST);
- }
-
- /**
- * Generates a keyed hash value using the HMAC method. It uses ext/hash
- * if available or user-level PHP implementation, that is not significantly
- * slower.
- *
- * @param string $macFunc name of selected hashing algorithm (sha1, sha256)
- * @param string $data data to sign
- * @param string $secret shared secret key used for generating the HMAC
- * variant of the message digest
- * @return string RAW HMAC value
- */
- static public function hashHmac($macFunc, $data, $secret)
- {
-// require_once "Zend/Crypt/Hmac.php";
-// return Zend_Crypt_Hmac::compute($secret, $macFunc, $data, Zend_Crypt_Hmac::BINARY);
- if (function_exists('hash_hmac')) {
- return hash_hmac($macFunc, $data, $secret, 1);
- } else {
- if (Zend_OpenId::strlen($secret) > 64) {
- $secret = self::digest($macFunc, $secret);
- }
- $secret = str_pad($secret, 64, chr(0x00));
- $ipad = str_repeat(chr(0x36), 64);
- $opad = str_repeat(chr(0x5c), 64);
- $hash1 = self::digest($macFunc, ($secret ^ $ipad) . $data);
- return self::digest($macFunc, ($secret ^ $opad) . $hash1);
- }
- }
-
- /**
- * Converts binary representation into ext/gmp or ext/bcmath big integer
- * representation.
- *
- * @param string $bin binary representation of big number
- * @return mixed
- * @throws Zend_OpenId_Exception
- */
- static protected function binToBigNum($bin)
- {
- if (extension_loaded('gmp')) {
- return gmp_init(bin2hex($bin), 16);
- } else if (extension_loaded('bcmath')) {
- $bn = 0;
- $len = Zend_OpenId::strlen($bin);
- for ($i = 0; $i < $len; $i++) {
- $bn = bcmul($bn, 256);
- $bn = bcadd($bn, ord($bin[$i]));
- }
- return $bn;
- }
- require_once "Zend/OpenId/Exception.php";
- throw new Zend_OpenId_Exception(
- 'The system doesn\'t have proper big integer extension',
- Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH);
- }
-
- /**
- * Converts internal ext/gmp or ext/bcmath big integer representation into
- * binary string.
- *
- * @param mixed $bn big number
- * @return string
- * @throws Zend_OpenId_Exception
- */
- static protected function bigNumToBin($bn)
- {
- if (extension_loaded('gmp')) {
- $s = gmp_strval($bn, 16);
- if (strlen($s) % 2 != 0) {
- $s = '0' . $s;
- } else if ($s[0] > '7') {
- $s = '00' . $s;
- }
- return pack("H*", $s);
- } else if (extension_loaded('bcmath')) {
- $cmp = bccomp($bn, 0);
- if ($cmp == 0) {
- return (chr(0));
- } else if ($cmp < 0) {
- require_once "Zend/OpenId/Exception.php";
- throw new Zend_OpenId_Exception(
- 'Big integer arithmetic error',
- Zend_OpenId_Exception::ERROR_LONG_MATH);
- }
- $bin = "";
- while (bccomp($bn, 0) > 0) {
- $bin = chr(bcmod($bn, 256)) . $bin;
- $bn = bcdiv($bn, 256);
- }
- if (ord($bin[0]) > 127) {
- $bin = chr(0) . $bin;
- }
- return $bin;
- }
- require_once "Zend/OpenId/Exception.php";
- throw new Zend_OpenId_Exception(
- 'The system doesn\'t have proper big integer extension',
- Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH);
- }
-
- /**
- * Performs the first step of a Diffie-Hellman key exchange by generating
- * private and public DH values based on given prime number $p and
- * generator $g. Both sides of key exchange MUST have the same prime number
- * and generator. In this case they will able to create a random shared
- * secret that is never send from one to the other.
- *
- * @param string $p prime number in binary representation
- * @param string $g generator in binary representation
- * @param string $priv_key private key in binary representation
- * @return mixed
- */
- static public function createDhKey($p, $g, $priv_key = null)
- {
- if (function_exists('openssl_dh_compute_key')) {
- $dh_details = array(
- 'p' => $p,
- 'g' => $g
- );
- if ($priv_key !== null) {
- $dh_details['priv_key'] = $priv_key;
- }
- return openssl_pkey_new(array('dh'=>$dh_details));
- } else {
- $bn_p = self::binToBigNum($p);
- $bn_g = self::binToBigNum($g);
- if ($priv_key === null) {
- $priv_key = self::randomBytes(Zend_OpenId::strlen($p));
- }
- $bn_priv_key = self::binToBigNum($priv_key);
- if (extension_loaded('gmp')) {
- $bn_pub_key = gmp_powm($bn_g, $bn_priv_key, $bn_p);
- } else if (extension_loaded('bcmath')) {
- $bn_pub_key = bcpowmod($bn_g, $bn_priv_key, $bn_p);
- }
- $pub_key = self::bigNumToBin($bn_pub_key);
-
- return array(
- 'p' => $bn_p,
- 'g' => $bn_g,
- 'priv_key' => $bn_priv_key,
- 'pub_key' => $bn_pub_key,
- 'details' => array(
- 'p' => $p,
- 'g' => $g,
- 'priv_key' => $priv_key,
- 'pub_key' => $pub_key));
- }
- }
-
- /**
- * Returns an associative array with Diffie-Hellman key components in
- * binary representation. The array includes original prime number 'p' and
- * generator 'g', random private key 'priv_key' and corresponding public
- * key 'pub_key'.
- *
- * @param mixed $dh Diffie-Hellman key
- * @return array
- */
- static public function getDhKeyDetails($dh)
- {
- if (function_exists('openssl_dh_compute_key')) {
- $details = openssl_pkey_get_details($dh);
- if (isset($details['dh'])) {
- return $details['dh'];
- }
- } else {
- return $dh['details'];
- }
- }
-
- /**
- * Computes the shared secret from the private DH value $dh and the other
- * party's public value in $pub_key
- *
- * @param string $pub_key other party's public value
- * @param mixed $dh Diffie-Hellman key
- * @return string
- * @throws Zend_OpenId_Exception
- */
- static public function computeDhSecret($pub_key, $dh)
- {
- if (function_exists('openssl_dh_compute_key')) {
- $ret = openssl_dh_compute_key($pub_key, $dh);
- if (ord($ret[0]) > 127) {
- $ret = chr(0) . $ret;
- }
- return $ret;
- } else if (extension_loaded('gmp')) {
- $bn_pub_key = self::binToBigNum($pub_key);
- $bn_secret = gmp_powm($bn_pub_key, $dh['priv_key'], $dh['p']);
- return self::bigNumToBin($bn_secret);
- } else if (extension_loaded('bcmath')) {
- $bn_pub_key = self::binToBigNum($pub_key);
- $bn_secret = bcpowmod($bn_pub_key, $dh['priv_key'], $dh['p']);
- return self::bigNumToBin($bn_secret);
- }
- require_once "Zend/OpenId/Exception.php";
- throw new Zend_OpenId_Exception(
- 'The system doesn\'t have proper big integer extension',
- Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH);
- }
-
- /**
- * Takes an arbitrary precision integer and returns its shortest big-endian
- * two's complement representation.
- *
- * Arbitrary precision integers MUST be encoded as big-endian signed two's
- * complement binary strings. Henceforth, "btwoc" is a function that takes
- * an arbitrary precision integer and returns its shortest big-endian two's
- * complement representation. All integers that are used with
- * Diffie-Hellman Key Exchange are positive. This means that the left-most
- * bit of the two's complement representation MUST be zero. If it is not,
- * implementations MUST add a zero byte at the front of the string.
- *
- * @param string $str binary representation of arbitrary precision integer
- * @return string big-endian signed representation
- */
- static public function btwoc($str)
- {
- if (ord($str[0]) > 127) {
- return chr(0) . $str;
- }
- return $str;
- }
-
- /**
- * Returns lenght of binary string in bytes
- *
- * @param string $str
- * @return int the string lenght
- */
- static public function strlen($str)
- {
- if (extension_loaded('mbstring') &&
- (((int)ini_get('mbstring.func_overload')) & 2)) {
- return mb_strlen($str, 'latin1');
- } else {
- return strlen($str);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Consumer.php b/airtime_mvc/library/Zend/OpenId/Consumer.php
deleted file mode 100644
index f6daf5d16..000000000
--- a/airtime_mvc/library/Zend/OpenId/Consumer.php
+++ /dev/null
@@ -1,958 +0,0 @@
-_storage = new Zend_OpenId_Consumer_Storage_File();
- } else {
- $this->_storage = $storage;
- }
- $this->_dumbMode = $dumbMode;
- }
-
- /**
- * Performs check (with possible user interaction) of OpenID identity.
- *
- * This is the first step of OpenID authentication process.
- * On success the function does not return (it does HTTP redirection to
- * server and exits). On failure it returns false.
- *
- * @param string $id OpenID identity
- * @param string $returnTo URL to redirect response from server to
- * @param string $root HTTP URL to identify consumer on server
- * @param mixed $extensions extension object or array of extensions objects
- * @param Zend_Controller_Response_Abstract $response an optional response
- * object to perform HTTP or HTML form redirection
- * @return bool
- */
- public function login($id, $returnTo = null, $root = null, $extensions = null,
- Zend_Controller_Response_Abstract $response = null)
- {
- return $this->_checkId(
- false,
- $id,
- $returnTo,
- $root,
- $extensions,
- $response);
- }
-
- /**
- * Performs immediate check (without user interaction) of OpenID identity.
- *
- * This is the first step of OpenID authentication process.
- * On success the function does not return (it does HTTP redirection to
- * server and exits). On failure it returns false.
- *
- * @param string $id OpenID identity
- * @param string $returnTo HTTP URL to redirect response from server to
- * @param string $root HTTP URL to identify consumer on server
- * @param mixed $extensions extension object or array of extensions objects
- * @param Zend_Controller_Response_Abstract $response an optional response
- * object to perform HTTP or HTML form redirection
- * @return bool
- */
- public function check($id, $returnTo=null, $root=null, $extensions = null,
- Zend_Controller_Response_Abstract $response = null)
-
- {
- return $this->_checkId(
- true,
- $id,
- $returnTo,
- $root,
- $extensions,
- $response);
- }
-
- /**
- * Verifies authentication response from OpenID server.
- *
- * This is the second step of OpenID authentication process.
- * The function returns true on successful authentication and false on
- * failure.
- *
- * @param array $params HTTP query data from OpenID server
- * @param string &$identity this argument is set to end-user's claimed
- * identifier or OpenID provider local identifier.
- * @param mixed $extensions extension object or array of extensions objects
- * @return bool
- */
- public function verify($params, &$identity = "", $extensions = null)
- {
- $this->_setError('');
-
- $version = 1.1;
- if (isset($params['openid_ns']) &&
- $params['openid_ns'] == Zend_OpenId::NS_2_0) {
- $version = 2.0;
- }
-
- if (isset($params["openid_claimed_id"])) {
- $identity = $params["openid_claimed_id"];
- } else if (isset($params["openid_identity"])){
- $identity = $params["openid_identity"];
- } else {
- $identity = "";
- }
-
- if ($version < 2.0 && !isset($params["openid_claimed_id"])) {
- if ($this->_session !== null) {
- if ($this->_session->identity === $identity) {
- $identity = $this->_session->claimed_id;
- }
- } else if (defined('SID')) {
- if (isset($_SESSION["zend_openid"]["identity"]) &&
- isset($_SESSION["zend_openid"]["claimed_id"]) &&
- $_SESSION["zend_openid"]["identity"] === $identity) {
- $identity = $_SESSION["zend_openid"]["claimed_id"];
- }
- } else {
- require_once "Zend/Session/Namespace.php";
- $this->_session = new Zend_Session_Namespace("zend_openid");
- if ($this->_session->identity === $identity) {
- $identity = $this->_session->claimed_id;
- }
- }
- }
-
- if (empty($params['openid_mode'])) {
- $this->_setError("Missing openid.mode");
- return false;
- }
- if (empty($params['openid_return_to'])) {
- $this->_setError("Missing openid.return_to");
- return false;
- }
- if (empty($params['openid_signed'])) {
- $this->_setError("Missing openid.signed");
- return false;
- }
- if (empty($params['openid_sig'])) {
- $this->_setError("Missing openid.sig");
- return false;
- }
- if ($params['openid_mode'] != 'id_res') {
- $this->_setError("Wrong openid.mode '".$params['openid_mode']."' != 'id_res'");
- return false;
- }
- if (empty($params['openid_assoc_handle'])) {
- $this->_setError("Missing openid.assoc_handle");
- return false;
- }
- if ($params['openid_return_to'] != Zend_OpenId::selfUrl()) {
- /* Ignore query part in openid.return_to */
- $pos = strpos($params['openid_return_to'], '?');
- if ($pos === false ||
- SUBSTR($params['openid_return_to'], 0 , $pos) != Zend_OpenId::selfUrl()) {
-
- $this->_setError("Wrong openid.return_to '".
- $params['openid_return_to']."' != '" . Zend_OpenId::selfUrl() ."'");
- return false;
- }
- }
-
- if ($version >= 2.0) {
- if (empty($params['openid_response_nonce'])) {
- $this->_setError("Missing openid.response_nonce");
- return false;
- }
- if (empty($params['openid_op_endpoint'])) {
- $this->_setError("Missing openid.op_endpoint");
- return false;
- /* OpenID 2.0 (11.3) Checking the Nonce */
- } else if (!$this->_storage->isUniqueNonce($params['openid_op_endpoint'], $params['openid_response_nonce'])) {
- $this->_setError("Duplicate openid.response_nonce");
- return false;
- }
- }
-
-
- if (!empty($params['openid_invalidate_handle'])) {
- if ($this->_storage->getAssociationByHandle(
- $params['openid_invalidate_handle'],
- $url,
- $macFunc,
- $secret,
- $expires)) {
- $this->_storage->delAssociation($url);
- }
- }
-
- if ($this->_storage->getAssociationByHandle(
- $params['openid_assoc_handle'],
- $url,
- $macFunc,
- $secret,
- $expires)) {
- $signed = explode(',', $params['openid_signed']);
- $data = '';
- foreach ($signed as $key) {
- $data .= $key . ':' . $params['openid_' . strtr($key,'.','_')] . "\n";
- }
- if (base64_decode($params['openid_sig']) ==
- Zend_OpenId::hashHmac($macFunc, $data, $secret)) {
- if (!Zend_OpenId_Extension::forAll($extensions, 'parseResponse', $params)) {
- $this->_setError("Extension::parseResponse failure");
- return false;
- }
- /* OpenID 2.0 (11.2) Verifying Discovered Information */
- if (isset($params['openid_claimed_id'])) {
- $id = $params['openid_claimed_id'];
- if (!Zend_OpenId::normalize($id)) {
- $this->_setError("Normalization failed");
- return false;
- } else if (!$this->_discovery($id, $discovered_server, $discovered_version)) {
- $this->_setError("Discovery failed: " . $this->getError());
- return false;
- } else if ((!empty($params['openid_identity']) &&
- $params["openid_identity"] != $id) ||
- (!empty($params['openid_op_endpoint']) &&
- $params['openid_op_endpoint'] != $discovered_server) ||
- $discovered_version != $version) {
- $this->_setError("Discovery information verification failed");
- return false;
- }
- }
- return true;
- }
- $this->_storage->delAssociation($url);
- $this->_setError("Signature check failed");
- return false;
- }
- else
- {
- /* Use dumb mode */
- if (isset($params['openid_claimed_id'])) {
- $id = $params['openid_claimed_id'];
- } else if (isset($params['openid_identity'])) {
- $id = $params['openid_identity'];
- } else {
- $this->_setError("Missing openid.claimed_id and openid.identity");
- return false;
- }
-
- if (!Zend_OpenId::normalize($id)) {
- $this->_setError("Normalization failed");
- return false;
- } else if (!$this->_discovery($id, $server, $discovered_version)) {
- $this->_setError("Discovery failed: " . $this->getError());
- return false;
- }
-
- /* OpenID 2.0 (11.2) Verifying Discovered Information */
- if ((isset($params['openid_identity']) &&
- $params["openid_identity"] != $id) ||
- (isset($params['openid_op_endpoint']) &&
- $params['openid_op_endpoint'] != $server) ||
- $discovered_version != $version) {
- $this->_setError("Discovery information verification failed");
- return false;
- }
-
- $params2 = array();
- foreach ($params as $key => $val) {
- if (strpos($key, 'openid_ns_') === 0) {
- $key = 'openid.ns.' . substr($key, strlen('openid_ns_'));
- } else if (strpos($key, 'openid_sreg_') === 0) {
- $key = 'openid.sreg.' . substr($key, strlen('openid_sreg_'));
- } else if (strpos($key, 'openid_') === 0) {
- $key = 'openid.' . substr($key, strlen('openid_'));
- }
- $params2[$key] = $val;
- }
- $params2['openid.mode'] = 'check_authentication';
- $ret = $this->_httpRequest($server, 'POST', $params2, $status);
- if ($status != 200) {
- $this->_setError("'Dumb' signature verification HTTP request failed");
- return false;
- }
- $r = array();
- if (is_string($ret)) {
- foreach(explode("\n", $ret) as $line) {
- $line = trim($line);
- if (!empty($line)) {
- $x = explode(':', $line, 2);
- if (is_array($x) && count($x) == 2) {
- list($key, $value) = $x;
- $r[trim($key)] = trim($value);
- }
- }
- }
- }
- $ret = $r;
- if (!empty($ret['invalidate_handle'])) {
- if ($this->_storage->getAssociationByHandle(
- $ret['invalidate_handle'],
- $url,
- $macFunc,
- $secret,
- $expires)) {
- $this->_storage->delAssociation($url);
- }
- }
- if (isset($ret['is_valid']) && $ret['is_valid'] == 'true') {
- if (!Zend_OpenId_Extension::forAll($extensions, 'parseResponse', $params)) {
- $this->_setError("Extension::parseResponse failure");
- return false;
- }
- return true;
- }
- $this->_setError("'Dumb' signature verification failed");
- return false;
- }
- }
-
- /**
- * Store assiciation in internal chace and external storage
- *
- * @param string $url OpenID server url
- * @param string $handle association handle
- * @param string $macFunc HMAC function (sha1 or sha256)
- * @param string $secret shared secret
- * @param integer $expires expiration UNIX time
- * @return void
- */
- protected function _addAssociation($url, $handle, $macFunc, $secret, $expires)
- {
- $this->_cache[$url] = array($handle, $macFunc, $secret, $expires);
- return $this->_storage->addAssociation(
- $url,
- $handle,
- $macFunc,
- $secret,
- $expires);
- }
-
- /**
- * Retrive assiciation information for given $url from internal cahce or
- * external storage
- *
- * @param string $url OpenID server url
- * @param string &$handle association handle
- * @param string &$macFunc HMAC function (sha1 or sha256)
- * @param string &$secret shared secret
- * @param integer &$expires expiration UNIX time
- * @return void
- */
- protected function _getAssociation($url, &$handle, &$macFunc, &$secret, &$expires)
- {
- if (isset($this->_cache[$url])) {
- $handle = $this->_cache[$url][0];
- $macFunc = $this->_cache[$url][1];
- $secret = $this->_cache[$url][2];
- $expires = $this->_cache[$url][3];
- return true;
- }
- if ($this->_storage->getAssociation(
- $url,
- $handle,
- $macFunc,
- $secret,
- $expires)) {
- $this->_cache[$url] = array($handle, $macFunc, $secret, $expires);
- return true;
- }
- return false;
- }
-
- /**
- * Performs HTTP request to given $url using given HTTP $method.
- * Send additinal query specified by variable/value array,
- * On success returns HTTP response without headers, false on failure.
- *
- * @param string $url OpenID server url
- * @param string $method HTTP request method 'GET' or 'POST'
- * @param array $params additional qwery parameters to be passed with
- * @param int &$staus HTTP status code
- * request
- * @return mixed
- */
- protected function _httpRequest($url, $method = 'GET', array $params = array(), &$status = null)
- {
- $client = $this->_httpClient;
- if ($client === null) {
- $client = new Zend_Http_Client(
- $url,
- array(
- 'maxredirects' => 4,
- 'timeout' => 15,
- 'useragent' => 'Zend_OpenId'
- )
- );
- } else {
- $client->setUri($url);
- }
-
- $client->resetParameters();
- if ($method == 'POST') {
- $client->setMethod(Zend_Http_Client::POST);
- $client->setParameterPost($params);
- } else {
- $client->setMethod(Zend_Http_Client::GET);
- $client->setParameterGet($params);
- }
-
- try {
- $response = $client->request();
- } catch (Exception $e) {
- $this->_setError('HTTP Request failed: ' . $e->getMessage());
- return false;
- }
- $status = $response->getStatus();
- $body = $response->getBody();
- if ($status == 200 || ($status == 400 && !empty($body))) {
- return $body;
- }else{
- $this->_setError('Bad HTTP response');
- return false;
- }
- }
-
- /**
- * Create (or reuse existing) association between OpenID consumer and
- * OpenID server based on Diffie-Hellman key agreement. Returns true
- * on success and false on failure.
- *
- * @param string $url OpenID server url
- * @param float $version OpenID protocol version
- * @param string $priv_key for testing only
- * @return bool
- */
- protected function _associate($url, $version, $priv_key=null)
- {
-
- /* Check if we already have association in chace or storage */
- if ($this->_getAssociation(
- $url,
- $handle,
- $macFunc,
- $secret,
- $expires)) {
- return true;
- }
-
- if ($this->_dumbMode) {
- /* Use dumb mode */
- return true;
- }
-
- $params = array();
-
- if ($version >= 2.0) {
- $params = array(
- 'openid.ns' => Zend_OpenId::NS_2_0,
- 'openid.mode' => 'associate',
- 'openid.assoc_type' => 'HMAC-SHA256',
- 'openid.session_type' => 'DH-SHA256',
- );
- } else {
- $params = array(
- 'openid.mode' => 'associate',
- 'openid.assoc_type' => 'HMAC-SHA1',
- 'openid.session_type' => 'DH-SHA1',
- );
- }
-
- $dh = Zend_OpenId::createDhKey(pack('H*', Zend_OpenId::DH_P),
- pack('H*', Zend_OpenId::DH_G),
- $priv_key);
- $dh_details = Zend_OpenId::getDhKeyDetails($dh);
-
- $params['openid.dh_modulus'] = base64_encode(
- Zend_OpenId::btwoc($dh_details['p']));
- $params['openid.dh_gen'] = base64_encode(
- Zend_OpenId::btwoc($dh_details['g']));
- $params['openid.dh_consumer_public'] = base64_encode(
- Zend_OpenId::btwoc($dh_details['pub_key']));
-
- while(1) {
- $ret = $this->_httpRequest($url, 'POST', $params, $status);
- if ($ret === false) {
- $this->_setError("HTTP request failed");
- return false;
- }
-
- $r = array();
- $bad_response = false;
- foreach(explode("\n", $ret) as $line) {
- $line = trim($line);
- if (!empty($line)) {
- $x = explode(':', $line, 2);
- if (is_array($x) && count($x) == 2) {
- list($key, $value) = $x;
- $r[trim($key)] = trim($value);
- } else {
- $bad_response = true;
- }
- }
- }
- if ($bad_response && strpos($ret, 'Unknown session type') !== false) {
- $r['error_code'] = 'unsupported-type';
- }
- $ret = $r;
-
- if (isset($ret['error_code']) &&
- $ret['error_code'] == 'unsupported-type') {
- if ($params['openid.session_type'] == 'DH-SHA256') {
- $params['openid.session_type'] = 'DH-SHA1';
- $params['openid.assoc_type'] = 'HMAC-SHA1';
- } else if ($params['openid.session_type'] == 'DH-SHA1') {
- $params['openid.session_type'] = 'no-encryption';
- } else {
- $this->_setError("The OpenID service responded with: " . $ret['error_code']);
- return false;
- }
- } else {
- break;
- }
- }
-
- if ($status != 200) {
- $this->_setError("The server responded with status code: " . $status);
- return false;
- }
-
- if ($version >= 2.0 &&
- isset($ret['ns']) &&
- $ret['ns'] != Zend_OpenId::NS_2_0) {
- $this->_setError("Wrong namespace definition in the server response");
- return false;
- }
-
- if (!isset($ret['assoc_handle']) ||
- !isset($ret['expires_in']) ||
- !isset($ret['assoc_type']) ||
- $params['openid.assoc_type'] != $ret['assoc_type']) {
- if ($params['openid.assoc_type'] != $ret['assoc_type']) {
- $this->_setError("The returned assoc_type differed from the supplied openid.assoc_type");
- } else {
- $this->_setError("Missing required data from provider (assoc_handle, expires_in, assoc_type are required)");
- }
- return false;
- }
-
- $handle = $ret['assoc_handle'];
- $expiresIn = $ret['expires_in'];
-
- if ($ret['assoc_type'] == 'HMAC-SHA1') {
- $macFunc = 'sha1';
- } else if ($ret['assoc_type'] == 'HMAC-SHA256' &&
- $version >= 2.0) {
- $macFunc = 'sha256';
- } else {
- $this->_setError("Unsupported assoc_type");
- return false;
- }
-
- if ((empty($ret['session_type']) ||
- ($version >= 2.0 && $ret['session_type'] == 'no-encryption')) &&
- isset($ret['mac_key'])) {
- $secret = base64_decode($ret['mac_key']);
- } else if (isset($ret['session_type']) &&
- $ret['session_type'] == 'DH-SHA1' &&
- !empty($ret['dh_server_public']) &&
- !empty($ret['enc_mac_key'])) {
- $dhFunc = 'sha1';
- } else if (isset($ret['session_type']) &&
- $ret['session_type'] == 'DH-SHA256' &&
- $version >= 2.0 &&
- !empty($ret['dh_server_public']) &&
- !empty($ret['enc_mac_key'])) {
- $dhFunc = 'sha256';
- } else {
- $this->_setError("Unsupported session_type");
- return false;
- }
- if (isset($dhFunc)) {
- $serverPub = base64_decode($ret['dh_server_public']);
- $dhSec = Zend_OpenId::computeDhSecret($serverPub, $dh);
- if ($dhSec === false) {
- $this->_setError("DH secret comutation failed");
- return false;
- }
- $sec = Zend_OpenId::digest($dhFunc, $dhSec);
- if ($sec === false) {
- $this->_setError("Could not create digest");
- return false;
- }
- $secret = $sec ^ base64_decode($ret['enc_mac_key']);
- }
- if ($macFunc == 'sha1') {
- if (Zend_OpenId::strlen($secret) != 20) {
- $this->_setError("The length of the sha1 secret must be 20");
- return false;
- }
- } else if ($macFunc == 'sha256') {
- if (Zend_OpenId::strlen($secret) != 32) {
- $this->_setError("The length of the sha256 secret must be 32");
- return false;
- }
- }
- $this->_addAssociation(
- $url,
- $handle,
- $macFunc,
- $secret,
- time() + $expiresIn);
- return true;
- }
-
- /**
- * Performs discovery of identity and finds OpenID URL, OpenID server URL
- * and OpenID protocol version. Returns true on succees and false on
- * failure.
- *
- * @param string &$id OpenID identity URL
- * @param string &$server OpenID server URL
- * @param float &$version OpenID protocol version
- * @return bool
- * @todo OpenID 2.0 (7.3) XRI and Yadis discovery
- */
- protected function _discovery(&$id, &$server, &$version)
- {
- $realId = $id;
- if ($this->_storage->getDiscoveryInfo(
- $id,
- $realId,
- $server,
- $version,
- $expire)) {
- $id = $realId;
- return true;
- }
-
- /* TODO: OpenID 2.0 (7.3) XRI and Yadis discovery */
-
- /* HTML-based discovery */
- $response = $this->_httpRequest($id, 'GET', array(), $status);
- if ($status != 200 || !is_string($response)) {
- return false;
- }
- if (preg_match(
- '/ ]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.provider[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i',
- $response,
- $r)) {
- $version = 2.0;
- $server = $r[3];
- } else if (preg_match(
- '/ ]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.provider[ \t]*[^"\']*\\3[^>]*\/?>/i',
- $response,
- $r)) {
- $version = 2.0;
- $server = $r[2];
- } else if (preg_match(
- '/ ]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.server[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i',
- $response,
- $r)) {
- $version = 1.1;
- $server = $r[3];
- } else if (preg_match(
- '/ ]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.server[ \t]*[^"\']*\\3[^>]*\/?>/i',
- $response,
- $r)) {
- $version = 1.1;
- $server = $r[2];
- } else {
- return false;
- }
- if ($version >= 2.0) {
- if (preg_match(
- '/ ]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.local_id[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i',
- $response,
- $r)) {
- $realId = $r[3];
- } else if (preg_match(
- '/ ]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.local_id[ \t]*[^"\']*\\3[^>]*\/?>/i',
- $response,
- $r)) {
- $realId = $r[2];
- }
- } else {
- if (preg_match(
- '/ ]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.delegate[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i',
- $response,
- $r)) {
- $realId = $r[3];
- } else if (preg_match(
- '/ ]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.delegate[ \t]*[^"\']*\\3[^>]*\/?>/i',
- $response,
- $r)) {
- $realId = $r[2];
- }
- }
-
- $expire = time() + 60 * 60;
- $this->_storage->addDiscoveryInfo($id, $realId, $server, $version, $expire);
- $id = $realId;
- return true;
- }
-
- /**
- * Performs check of OpenID identity.
- *
- * This is the first step of OpenID authentication process.
- * On success the function does not return (it does HTTP redirection to
- * server and exits). On failure it returns false.
- *
- * @param bool $immediate enables or disables interaction with user
- * @param string $id OpenID identity
- * @param string $returnTo HTTP URL to redirect response from server to
- * @param string $root HTTP URL to identify consumer on server
- * @param mixed $extensions extension object or array of extensions objects
- * @param Zend_Controller_Response_Abstract $response an optional response
- * object to perform HTTP or HTML form redirection
- * @return bool
- */
- protected function _checkId($immediate, $id, $returnTo=null, $root=null,
- $extensions=null, Zend_Controller_Response_Abstract $response = null)
- {
- $this->_setError('');
-
- if (!Zend_OpenId::normalize($id)) {
- $this->_setError("Normalisation failed");
- return false;
- }
- $claimedId = $id;
-
- if (!$this->_discovery($id, $server, $version)) {
- $this->_setError("Discovery failed: " . $this->getError());
- return false;
- }
- if (!$this->_associate($server, $version)) {
- $this->_setError("Association failed: " . $this->getError());
- return false;
- }
- if (!$this->_getAssociation(
- $server,
- $handle,
- $macFunc,
- $secret,
- $expires)) {
- /* Use dumb mode */
- unset($handle);
- unset($macFunc);
- unset($secret);
- unset($expires);
- }
-
- $params = array();
- if ($version >= 2.0) {
- $params['openid.ns'] = Zend_OpenId::NS_2_0;
- }
-
- $params['openid.mode'] = $immediate ?
- 'checkid_immediate' : 'checkid_setup';
-
- $params['openid.identity'] = $id;
-
- $params['openid.claimed_id'] = $claimedId;
-
- if ($version <= 2.0) {
- if ($this->_session !== null) {
- $this->_session->identity = $id;
- $this->_session->claimed_id = $claimedId;
- } else if (defined('SID')) {
- $_SESSION["zend_openid"] = array(
- "identity" => $id,
- "claimed_id" => $claimedId);
- } else {
- require_once "Zend/Session/Namespace.php";
- $this->_session = new Zend_Session_Namespace("zend_openid");
- $this->_session->identity = $id;
- $this->_session->claimed_id = $claimedId;
- }
- }
-
- if (isset($handle)) {
- $params['openid.assoc_handle'] = $handle;
- }
-
- $params['openid.return_to'] = Zend_OpenId::absoluteUrl($returnTo);
-
- if (empty($root)) {
- $root = Zend_OpenId::selfUrl();
- if ($root[strlen($root)-1] != '/') {
- $root = dirname($root);
- }
- }
- if ($version >= 2.0) {
- $params['openid.realm'] = $root;
- } else {
- $params['openid.trust_root'] = $root;
- }
-
- if (!Zend_OpenId_Extension::forAll($extensions, 'prepareRequest', $params)) {
- $this->_setError("Extension::prepareRequest failure");
- return false;
- }
-
- Zend_OpenId::redirect($server, $params, $response);
- return true;
- }
-
- /**
- * Sets HTTP client object to make HTTP requests
- *
- * @param Zend_Http_Client $client HTTP client object to be used
- */
- public function setHttpClient($client) {
- $this->_httpClient = $client;
- }
-
- /**
- * Returns HTTP client object that will be used to make HTTP requests
- *
- * @return Zend_Http_Client
- */
- public function getHttpClient() {
- return $this->_httpClient;
- }
-
- /**
- * Sets session object to store climed_id
- *
- * @param Zend_Session_Namespace $session HTTP client object to be used
- */
- public function setSession(Zend_Session_Namespace $session) {
- $this->_session = $session;
- }
-
- /**
- * Returns session object that is used to store climed_id
- *
- * @return Zend_Session_Namespace
- */
- public function getSession() {
- return $this->_session;
- }
-
- /**
- * Saves error message
- *
- * @param string $message error message
- */
- protected function _setError($message)
- {
- $this->_error = $message;
- }
-
- /**
- * Returns error message that explains failure of login, check or verify
- *
- * @return string
- */
- public function getError()
- {
- return $this->_error;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Consumer/Storage.php b/airtime_mvc/library/Zend/OpenId/Consumer/Storage.php
deleted file mode 100644
index 91b8bb010..000000000
--- a/airtime_mvc/library/Zend/OpenId/Consumer/Storage.php
+++ /dev/null
@@ -1,132 +0,0 @@
-_dir = $dir;
- if (!is_dir($this->_dir)) {
- if (!@mkdir($this->_dir, 0700, 1)) {
- /**
- * @see Zend_OpenId_Exception
- */
- require_once 'Zend/OpenId/Exception.php';
- throw new Zend_OpenId_Exception(
- 'Cannot access storage directory ' . $dir,
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- }
- if (($f = fopen($this->_dir.'/assoc.lock', 'w+')) === null) {
- /**
- * @see Zend_OpenId_Exception
- */
- require_once 'Zend/OpenId/Exception.php';
- throw new Zend_OpenId_Exception(
- 'Cannot create a lock file in the directory ' . $dir,
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- fclose($f);
- if (($f = fopen($this->_dir.'/discovery.lock', 'w+')) === null) {
- /**
- * @see Zend_OpenId_Exception
- */
- require_once 'Zend/OpenId/Exception.php';
- throw new Zend_OpenId_Exception(
- 'Cannot create a lock file in the directory ' . $dir,
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- fclose($f);
- if (($f = fopen($this->_dir.'/nonce.lock', 'w+')) === null) {
- /**
- * @see Zend_OpenId_Exception
- */
- require_once 'Zend/OpenId/Exception.php';
- throw new Zend_OpenId_Exception(
- 'Cannot create a lock file in the directory ' . $dir,
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- fclose($f);
- }
-
- /**
- * Stores information about association identified by $url/$handle
- *
- * @param string $url OpenID server URL
- * @param string $handle assiciation handle
- * @param string $macFunc HMAC function (sha1 or sha256)
- * @param string $secret shared secret
- * @param long $expires expiration UNIX time
- * @return bool
- */
- public function addAssociation($url, $handle, $macFunc, $secret, $expires)
- {
- $name1 = $this->_dir . '/assoc_url_' . md5($url);
- $name2 = $this->_dir . '/assoc_handle_' . md5($handle);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name1, 'w+');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $data = serialize(array($url, $handle, $macFunc, $secret, $expires));
- fwrite($f, $data);
- if (function_exists('symlink')) {
- @unlink($name2);
- if (symlink($name1, $name2)) {
- fclose($f);
- fclose($lock);
- return true;
- }
- }
- $f2 = @fopen($name2, 'w+');
- if ($f2) {
- fwrite($f2, $data);
- fclose($f2);
- @unlink($name1);
- $ret = true;
- } else {
- $ret = false;
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Gets information about association identified by $url
- * Returns true if given association found and not expired and false
- * otherwise
- *
- * @param string $url OpenID server URL
- * @param string &$handle assiciation handle
- * @param string &$macFunc HMAC function (sha1 or sha256)
- * @param string &$secret shared secret
- * @param long &$expires expiration UNIX time
- * @return bool
- */
- public function getAssociation($url, &$handle, &$macFunc, &$secret, &$expires)
- {
- $name1 = $this->_dir . '/assoc_url_' . md5($url);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name1, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedUrl, $handle, $macFunc, $secret, $expires) = unserialize($data);
- if ($url === $storedUrl && $expires > time()) {
- $ret = true;
- } else {
- $name2 = $this->_dir . '/assoc_handle_' . md5($handle);
- fclose($f);
- @unlink($name2);
- @unlink($name1);
- fclose($lock);
- return false;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Gets information about association identified by $handle
- * Returns true if given association found and not expired and false
- * otherwise
- *
- * @param string $handle assiciation handle
- * @param string &$url OpenID server URL
- * @param string &$macFunc HMAC function (sha1 or sha256)
- * @param string &$secret shared secret
- * @param long &$expires expiration UNIX time
- * @return bool
- */
- public function getAssociationByHandle($handle, &$url, &$macFunc, &$secret, &$expires)
- {
- $name2 = $this->_dir . '/assoc_handle_' . md5($handle);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name2, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($url, $storedHandle, $macFunc, $secret, $expires) = unserialize($data);
- if ($handle === $storedHandle && $expires > time()) {
- $ret = true;
- } else {
- fclose($f);
- @unlink($name2);
- $name1 = $this->_dir . '/assoc_url_' . md5($url);
- @unlink($name1);
- fclose($lock);
- return false;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Deletes association identified by $url
- *
- * @param string $url OpenID server URL
- * @return bool
- */
- public function delAssociation($url)
- {
- $name1 = $this->_dir . '/assoc_url_' . md5($url);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name1, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedUrl, $handle, $macFunc, $secret, $expires) = unserialize($data);
- if ($url === $storedUrl) {
- $name2 = $this->_dir . '/assoc_handle_' . md5($handle);
- fclose($f);
- @unlink($name2);
- @unlink($name1);
- fclose($lock);
- return true;
- }
- }
- fclose($f);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Stores information discovered from identity $id
- *
- * @param string $id identity
- * @param string $realId discovered real identity URL
- * @param string $server discovered OpenID server URL
- * @param float $version discovered OpenID protocol version
- * @param long $expires expiration UNIX time
- * @return bool
- */
- public function addDiscoveryInfo($id, $realId, $server, $version, $expires)
- {
- $name = $this->_dir . '/discovery_' . md5($id);
- $lock = @fopen($this->_dir . '/discovery.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'w+');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $data = serialize(array($id, $realId, $server, $version, $expires));
- fwrite($f, $data);
- fclose($f);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Gets information discovered from identity $id
- * Returns true if such information exists and false otherwise
- *
- * @param string $id identity
- * @param string &$realId discovered real identity URL
- * @param string &$server discovered OpenID server URL
- * @param float &$version discovered OpenID protocol version
- * @param long &$expires expiration UNIX time
- * @return bool
- */
- public function getDiscoveryInfo($id, &$realId, &$server, &$version, &$expires)
- {
- $name = $this->_dir . '/discovery_' . md5($id);
- $lock = @fopen($this->_dir . '/discovery.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedId, $realId, $server, $version, $expires) = unserialize($data);
- if ($id === $storedId && $expires > time()) {
- $ret = true;
- } else {
- fclose($f);
- @unlink($name);
- fclose($lock);
- return false;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Removes cached information discovered from identity $id
- *
- * @param string $id identity
- * @return bool
- */
- public function delDiscoveryInfo($id)
- {
- $name = $this->_dir . '/discovery_' . md5($id);
- $lock = @fopen($this->_dir . '/discovery.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- @unlink($name);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * The function checks the uniqueness of openid.response_nonce
- *
- * @param string $provider openid.openid_op_endpoint field from authentication response
- * @param string $nonce openid.response_nonce field from authentication response
- * @return bool
- */
- public function isUniqueNonce($provider, $nonce)
- {
- $name = $this->_dir . '/nonce_' . md5($provider.';'.$nonce);
- $lock = @fopen($this->_dir . '/nonce.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'x');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- fwrite($f, $provider.';'.$nonce);
- fclose($f);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Removes data from the uniqueness database that is older then given date
- *
- * @param mixed $date date of expired data
- */
- public function purgeNonces($date=null)
- {
- $lock = @fopen($this->_dir . '/nonce.lock', 'w+');
- if ($lock !== false) {
- flock($lock, LOCK_EX);
- }
- try {
- if (!is_int($date) && !is_string($date)) {
- foreach (glob($this->_dir . '/nonce_*') as $name) {
- @unlink($name);
- }
- } else {
- if (is_string($date)) {
- $time = time($date);
- } else {
- $time = $date;
- }
- foreach (glob($this->_dir . '/nonce_*') as $name) {
- if (filemtime($name) < $time) {
- @unlink($name);
- }
- }
- }
- if ($lock !== false) {
- fclose($lock);
- }
- } catch (Exception $e) {
- if ($lock !== false) {
- fclose($lock);
- }
- throw $e;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Exception.php b/airtime_mvc/library/Zend/OpenId/Exception.php
deleted file mode 100644
index f8205a0e5..000000000
--- a/airtime_mvc/library/Zend/OpenId/Exception.php
+++ /dev/null
@@ -1,58 +0,0 @@
-$func($params)) {
- return false;
- }
- } else {
- return false;
- }
- }
- } else if (!is_object($extensions) ||
- !($extensions instanceof Zend_OpenId_Extension) ||
- !$extensions->$func($params)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Method to add additional data to OpenId 'checkid_immediate' or
- * 'checkid_setup' request. This method addes nothing but inherited class
- * may add additional data into request.
- *
- * @param array &$params request's var/val pairs
- * @return bool
- */
- public function prepareRequest(&$params)
- {
- return true;
- }
-
- /**
- * Method to parse OpenId 'checkid_immediate' or 'checkid_setup' request
- * and initialize object with passed data. This method parses nothing but
- * inherited class may override this method to do somthing.
- *
- * @param array $params request's var/val pairs
- * @return bool
- */
- public function parseRequest($params)
- {
- return true;
- }
-
- /**
- * Method to add additional data to OpenId 'id_res' response. This method
- * addes nothing but inherited class may add additional data into response.
- *
- * @param array &$params response's var/val pairs
- * @return bool
- */
- public function prepareResponse(&$params)
- {
- return true;
- }
-
- /**
- * Method to parse OpenId 'id_res' response and initialize object with
- * passed data. This method parses nothing but inherited class may override
- * this method to do somthing.
- *
- * @param array $params response's var/val pairs
- * @return bool
- */
- public function parseResponse($params)
- {
- return true;
- }
-
- /**
- * Method to prepare data to store it in trusted servers database.
- *
- * @param array &$data data to be stored in tusted servers database
- * @return bool
- */
- public function getTrustData(&$data)
- {
- return true;
- }
-
- /**
- * Method to check if data from trusted servers database is enough to
- * sutisfy request.
- *
- * @param array $data data from tusted servers database
- * @return bool
- */
- public function checkTrustData($data)
- {
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Extension/Sreg.php b/airtime_mvc/library/Zend/OpenId/Extension/Sreg.php
deleted file mode 100644
index 7ed7ec641..000000000
--- a/airtime_mvc/library/Zend/OpenId/Extension/Sreg.php
+++ /dev/null
@@ -1,300 +0,0 @@
-_props = $props;
- $this->_policy_url = $policy_url;
- $this->_version = $version;
- }
-
- /**
- * Returns associative array of SREG variables
- *
- * @return array
- */
- public function getProperties() {
- if (is_array($this->_props)) {
- return $this->_props;
- } else {
- return array();
- }
- }
-
- /**
- * Returns SREG policy URL
- *
- * @return string
- */
- public function getPolicyUrl() {
- return $this->_policy_url;
- }
-
- /**
- * Returns SREG protocol version
- *
- * @return float
- */
- public function getVersion() {
- return $this->_version;
- }
-
- /**
- * Returns array of allowed SREG variable names.
- *
- * @return array
- */
- public static function getSregProperties()
- {
- return array(
- "nickname",
- "email",
- "fullname",
- "dob",
- "gender",
- "postcode",
- "country",
- "language",
- "timezone"
- );
- }
-
- /**
- * Adds additional SREG data to OpenId 'checkid_immediate' or
- * 'checkid_setup' request.
- *
- * @param array &$params request's var/val pairs
- * @return bool
- */
- public function prepareRequest(&$params)
- {
- if (is_array($this->_props) && count($this->_props) > 0) {
- foreach ($this->_props as $prop => $req) {
- if ($req) {
- if (isset($required)) {
- $required .= ','.$prop;
- } else {
- $required = $prop;
- }
- } else {
- if (isset($optional)) {
- $optional .= ','.$prop;
- } else {
- $optional = $prop;
- }
- }
- }
- if ($this->_version >= 1.1) {
- $params['openid.ns.sreg'] = Zend_OpenId_Extension_Sreg::NAMESPACE_1_1;
- }
- if (!empty($required)) {
- $params['openid.sreg.required'] = $required;
- }
- if (!empty($optional)) {
- $params['openid.sreg.optional'] = $optional;
- }
- if (!empty($this->_policy_url)) {
- $params['openid.sreg.policy_url'] = $this->_policy_url;
- }
- }
- return true;
- }
-
- /**
- * Parses OpenId 'checkid_immediate' or 'checkid_setup' request,
- * extracts SREG variables and sets ovject properties to corresponding
- * values.
- *
- * @param array $params request's var/val pairs
- * @return bool
- */
- public function parseRequest($params)
- {
- if (isset($params['openid_ns_sreg']) &&
- $params['openid_ns_sreg'] === Zend_OpenId_Extension_Sreg::NAMESPACE_1_1) {
- $this->_version= 1.1;
- } else {
- $this->_version= 1.0;
- }
- if (!empty($params['openid_sreg_policy_url'])) {
- $this->_policy_url = $params['openid_sreg_policy_url'];
- } else {
- $this->_policy_url = null;
- }
- $props = array();
- if (!empty($params['openid_sreg_optional'])) {
- foreach (explode(',', $params['openid_sreg_optional']) as $prop) {
- $prop = trim($prop);
- $props[$prop] = false;
- }
- }
- if (!empty($params['openid_sreg_required'])) {
- foreach (explode(',', $params['openid_sreg_required']) as $prop) {
- $prop = trim($prop);
- $props[$prop] = true;
- }
- }
- $props2 = array();
- foreach (self::getSregProperties() as $prop) {
- if (isset($props[$prop])) {
- $props2[$prop] = $props[$prop];
- }
- }
-
- $this->_props = (count($props2) > 0) ? $props2 : null;
- return true;
- }
-
- /**
- * Adds additional SREG data to OpenId 'id_res' response.
- *
- * @param array &$params response's var/val pairs
- * @return bool
- */
- public function prepareResponse(&$params)
- {
- if (is_array($this->_props) && count($this->_props) > 0) {
- if ($this->_version >= 1.1) {
- $params['openid.ns.sreg'] = Zend_OpenId_Extension_Sreg::NAMESPACE_1_1;
- }
- foreach (self::getSregProperties() as $prop) {
- if (!empty($this->_props[$prop])) {
- $params['openid.sreg.' . $prop] = $this->_props[$prop];
- }
- }
- }
- return true;
- }
-
- /**
- * Parses OpenId 'id_res' response and sets object's properties according
- * to 'openid.sreg.*' variables in response
- *
- * @param array $params response's var/val pairs
- * @return bool
- */
- public function parseResponse($params)
- {
- if (isset($params['openid_ns_sreg']) &&
- $params['openid_ns_sreg'] === Zend_OpenId_Extension_Sreg::NAMESPACE_1_1) {
- $this->_version= 1.1;
- } else {
- $this->_version= 1.0;
- }
- $props = array();
- foreach (self::getSregProperties() as $prop) {
- if (!empty($params['openid_sreg_' . $prop])) {
- $props[$prop] = $params['openid_sreg_' . $prop];
- }
- }
- if (isset($this->_props) && is_array($this->_props)) {
- foreach (self::getSregProperties() as $prop) {
- if (isset($this->_props[$prop]) &&
- $this->_props[$prop] &&
- !isset($props[$prop])) {
- return false;
- }
- }
- }
- $this->_props = (count($props) > 0) ? $props : null;
- return true;
- }
-
- /**
- * Addes SREG properties that are allowed to be send to consumer to
- * the given $data argument.
- *
- * @param array &$data data to be stored in tusted servers database
- * @return bool
- */
- public function getTrustData(&$data)
- {
- $data[get_class()] = $this->getProperties();
- return true;
- }
-
- /**
- * Check if given $data contains necessury SREG properties to sutisfy
- * OpenId request. On success sets SREG response properties from given
- * $data and returns true, on failure returns false.
- *
- * @param array $data data from tusted servers database
- * @return bool
- */
- public function checkTrustData($data)
- {
- if (is_array($this->_props) && count($this->_props) > 0) {
- $props = array();
- $name = get_class();
- if (isset($data[$name])) {
- $props = $data[$name];
- } else {
- $props = array();
- }
- $props2 = array();
- foreach ($this->_props as $prop => $req) {
- if (empty($props[$prop])) {
- if ($req) {
- return false;
- }
- } else {
- $props2[$prop] = $props[$prop];
- }
- }
- $this->_props = (count($props2) > 0) ? $props2 : null;
- }
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Provider.php b/airtime_mvc/library/Zend/OpenId/Provider.php
deleted file mode 100644
index 0d5abc8ae..000000000
--- a/airtime_mvc/library/Zend/OpenId/Provider.php
+++ /dev/null
@@ -1,781 +0,0 @@
-_loginUrl = $loginUrl;
- if ($trustUrl === null) {
- $trustUrl = Zend_OpenId::selfUrl() . '?openid.action=trust';
- } else {
- $trustUrl = Zend_OpenId::absoluteUrl($trustUrl);
- }
- $this->_trustUrl = $trustUrl;
- if ($user === null) {
- require_once "Zend/OpenId/Provider/User/Session.php";
- $this->_user = new Zend_OpenId_Provider_User_Session();
- } else {
- $this->_user = $user;
- }
- if ($storage === null) {
- require_once "Zend/OpenId/Provider/Storage/File.php";
- $this->_storage = new Zend_OpenId_Provider_Storage_File();
- } else {
- $this->_storage = $storage;
- }
- $this->_sessionTtl = $sessionTtl;
- }
-
- /**
- * Sets the OP Endpoint URL
- *
- * @param string $url the OP Endpoint URL
- * @return null
- */
- public function setOpEndpoint($url)
- {
- $this->_opEndpoint = $url;
- }
-
- /**
- * Registers a new user with given $id and $password
- * Returns true in case of success and false if user with given $id already
- * exists
- *
- * @param string $id user identity URL
- * @param string $password encoded user password
- * @return bool
- */
- public function register($id, $password)
- {
- if (!Zend_OpenId::normalize($id) || empty($id)) {
- return false;
- }
- return $this->_storage->addUser($id, md5($id.$password));
- }
-
- /**
- * Returns true if user with given $id exists and false otherwise
- *
- * @param string $id user identity URL
- * @return bool
- */
- public function hasUser($id) {
- if (!Zend_OpenId::normalize($id)) {
- return false;
- }
- return $this->_storage->hasUser($id);
- }
-
- /**
- * Performs login of user with given $id and $password
- * Returns true in case of success and false otherwise
- *
- * @param string $id user identity URL
- * @param string $password user password
- * @return bool
- */
- public function login($id, $password)
- {
- if (!Zend_OpenId::normalize($id)) {
- return false;
- }
- if (!$this->_storage->checkUser($id, md5($id.$password))) {
- return false;
- }
- $this->_user->setLoggedInUser($id);
- return true;
- }
-
- /**
- * Performs logout. Clears information about logged in user.
- *
- * @return void
- */
- public function logout()
- {
- $this->_user->delLoggedInUser();
- return true;
- }
-
- /**
- * Returns identity URL of current logged in user or false
- *
- * @return mixed
- */
- public function getLoggedInUser() {
- return $this->_user->getLoggedInUser();
- }
-
- /**
- * Retrieve consumer's root URL from request query.
- * Returns URL or false in case of failure
- *
- * @param array $params query arguments
- * @return mixed
- */
- public function getSiteRoot($params)
- {
- $version = 1.1;
- if (isset($params['openid_ns']) &&
- $params['openid_ns'] == Zend_OpenId::NS_2_0) {
- $version = 2.0;
- }
- if ($version >= 2.0 && isset($params['openid_realm'])) {
- $root = $params['openid_realm'];
- } else if ($version < 2.0 && isset($params['openid_trust_root'])) {
- $root = $params['openid_trust_root'];
- } else if (isset($params['openid_return_to'])) {
- $root = $params['openid_return_to'];
- } else {
- return false;
- }
- if (Zend_OpenId::normalizeUrl($root) && !empty($root)) {
- return $root;
- }
- return false;
- }
-
- /**
- * Allows consumer with given root URL to authenticate current logged
- * in user. Returns true on success and false on error.
- *
- * @param string $root root URL
- * @param mixed $extensions extension object or array of extensions objects
- * @return bool
- */
- public function allowSite($root, $extensions=null)
- {
- $id = $this->getLoggedInUser();
- if ($id === false) {
- return false;
- }
- if ($extensions !== null) {
- $data = array();
- Zend_OpenId_Extension::forAll($extensions, 'getTrustData', $data);
- } else {
- $data = true;
- }
- $this->_storage->addSite($id, $root, $data);
- return true;
- }
-
- /**
- * Prohibit consumer with given root URL to authenticate current logged
- * in user. Returns true on success and false on error.
- *
- * @param string $root root URL
- * @return bool
- */
- public function denySite($root)
- {
- $id = $this->getLoggedInUser();
- if ($id === false) {
- return false;
- }
- $this->_storage->addSite($id, $root, false);
- return true;
- }
-
- /**
- * Delete consumer with given root URL from known sites of current logged
- * in user. Next time this consumer will try to authenticate the user,
- * Provider will ask user's confirmation.
- * Returns true on success and false on error.
- *
- * @param string $root root URL
- * @return bool
- */
- public function delSite($root)
- {
- $id = $this->getLoggedInUser();
- if ($id === false) {
- return false;
- }
- $this->_storage->addSite($id, $root, null);
- return true;
- }
-
- /**
- * Returns list of known consumers for current logged in user or false
- * if he is not logged in.
- *
- * @return mixed
- */
- public function getTrustedSites()
- {
- $id = $this->getLoggedInUser();
- if ($id === false) {
- return false;
- }
- return $this->_storage->getTrustedSites($id);
- }
-
- /**
- * Handles HTTP request from consumer
- *
- * @param array $params GET or POST variables. If this parameter is omited
- * or set to null, then $_GET or $_POST superglobal variable is used
- * according to REQUEST_METHOD.
- * @param mixed $extensions extension object or array of extensions objects
- * @param Zend_Controller_Response_Abstract $response an optional response
- * object to perform HTTP or HTML form redirection
- * @return mixed
- */
- public function handle($params=null, $extensions=null,
- Zend_Controller_Response_Abstract $response = null)
- {
- if ($params === null) {
- if ($_SERVER["REQUEST_METHOD"] == "GET") {
- $params = $_GET;
- } else if ($_SERVER["REQUEST_METHOD"] == "POST") {
- $params = $_POST;
- } else {
- return false;
- }
- }
- $version = 1.1;
- if (isset($params['openid_ns']) &&
- $params['openid_ns'] == Zend_OpenId::NS_2_0) {
- $version = 2.0;
- }
- if (isset($params['openid_mode'])) {
- if ($params['openid_mode'] == 'associate') {
- $response = $this->_associate($version, $params);
- $ret = '';
- foreach ($response as $key => $val) {
- $ret .= $key . ':' . $val . "\n";
- }
- return $ret;
- } else if ($params['openid_mode'] == 'checkid_immediate') {
- $ret = $this->_checkId($version, $params, 1, $extensions, $response);
- if (is_bool($ret)) return $ret;
- if (!empty($params['openid_return_to'])) {
- Zend_OpenId::redirect($params['openid_return_to'], $ret, $response);
- }
- return true;
- } else if ($params['openid_mode'] == 'checkid_setup') {
- $ret = $this->_checkId($version, $params, 0, $extensions, $response);
- if (is_bool($ret)) return $ret;
- if (!empty($params['openid_return_to'])) {
- Zend_OpenId::redirect($params['openid_return_to'], $ret, $response);
- }
- return true;
- } else if ($params['openid_mode'] == 'check_authentication') {
- $response = $this->_checkAuthentication($version, $params);
- $ret = '';
- foreach ($response as $key => $val) {
- $ret .= $key . ':' . $val . "\n";
- }
- return $ret;
- }
- }
- return false;
- }
-
- /**
- * Generates a secret key for given hash function, returns RAW key or false
- * if function is not supported
- *
- * @param string $func hash function (sha1 or sha256)
- * @return mixed
- */
- protected function _genSecret($func)
- {
- if ($func == 'sha1') {
- $macLen = 20; /* 160 bit */
- } else if ($func == 'sha256') {
- $macLen = 32; /* 256 bit */
- } else {
- return false;
- }
- return Zend_OpenId::randomBytes($macLen);
- }
-
- /**
- * Processes association request from OpenID consumerm generates secret
- * shared key and send it back using Diffie-Hellman encruption.
- * Returns array of variables to push back to consumer.
- *
- * @param float $version OpenID version
- * @param array $params GET or POST request variables
- * @return array
- */
- protected function _associate($version, $params)
- {
- $ret = array();
-
- if ($version >= 2.0) {
- $ret['ns'] = Zend_OpenId::NS_2_0;
- }
-
- if (isset($params['openid_assoc_type']) &&
- $params['openid_assoc_type'] == 'HMAC-SHA1') {
- $macFunc = 'sha1';
- } else if (isset($params['openid_assoc_type']) &&
- $params['openid_assoc_type'] == 'HMAC-SHA256' &&
- $version >= 2.0) {
- $macFunc = 'sha256';
- } else {
- $ret['error'] = 'Wrong "openid.assoc_type"';
- $ret['error-code'] = 'unsupported-type';
- return $ret;
- }
-
- $ret['assoc_type'] = $params['openid_assoc_type'];
-
- $secret = $this->_genSecret($macFunc);
-
- if (empty($params['openid_session_type']) ||
- $params['openid_session_type'] == 'no-encryption') {
- $ret['mac_key'] = base64_encode($secret);
- } else if (isset($params['openid_session_type']) &&
- $params['openid_session_type'] == 'DH-SHA1') {
- $dhFunc = 'sha1';
- } else if (isset($params['openid_session_type']) &&
- $params['openid_session_type'] == 'DH-SHA256' &&
- $version >= 2.0) {
- $dhFunc = 'sha256';
- } else {
- $ret['error'] = 'Wrong "openid.session_type"';
- $ret['error-code'] = 'unsupported-type';
- return $ret;
- }
-
- if (isset($params['openid_session_type'])) {
- $ret['session_type'] = $params['openid_session_type'];
- }
-
- if (isset($dhFunc)) {
- if (empty($params['openid_dh_consumer_public'])) {
- $ret['error'] = 'Wrong "openid.dh_consumer_public"';
- return $ret;
- }
- if (empty($params['openid_dh_gen'])) {
- $g = pack('H*', Zend_OpenId::DH_G);
- } else {
- $g = base64_decode($params['openid_dh_gen']);
- }
- if (empty($params['openid_dh_modulus'])) {
- $p = pack('H*', Zend_OpenId::DH_P);
- } else {
- $p = base64_decode($params['openid_dh_modulus']);
- }
-
- $dh = Zend_OpenId::createDhKey($p, $g);
- $dh_details = Zend_OpenId::getDhKeyDetails($dh);
-
- $sec = Zend_OpenId::computeDhSecret(
- base64_decode($params['openid_dh_consumer_public']), $dh);
- if ($sec === false) {
- $ret['error'] = 'Wrong "openid.session_type"';
- $ret['error-code'] = 'unsupported-type';
- return $ret;
- }
- $sec = Zend_OpenId::digest($dhFunc, $sec);
- $ret['dh_server_public'] = base64_encode(
- Zend_OpenId::btwoc($dh_details['pub_key']));
- $ret['enc_mac_key'] = base64_encode($secret ^ $sec);
- }
-
- $handle = uniqid();
- $expiresIn = $this->_sessionTtl;
-
- $ret['assoc_handle'] = $handle;
- $ret['expires_in'] = $expiresIn;
-
- $this->_storage->addAssociation($handle,
- $macFunc, $secret, time() + $expiresIn);
-
- return $ret;
- }
-
- /**
- * Performs authentication (or authentication check).
- *
- * @param float $version OpenID version
- * @param array $params GET or POST request variables
- * @param bool $immediate enables or disables interaction with user
- * @param mixed $extensions extension object or array of extensions objects
- * @param Zend_Controller_Response_Abstract $response
- * @return array
- */
- protected function _checkId($version, $params, $immediate, $extensions=null,
- Zend_Controller_Response_Abstract $response = null)
- {
- $ret = array();
-
- if ($version >= 2.0) {
- $ret['openid.ns'] = Zend_OpenId::NS_2_0;
- }
- $root = $this->getSiteRoot($params);
- if ($root === false) {
- return false;
- }
-
- if (isset($params['openid_identity']) &&
- !$this->_storage->hasUser($params['openid_identity'])) {
- $ret['openid.mode'] = ($immediate && $version >= 2.0) ? 'setup_needed': 'cancel';
- return $ret;
- }
-
- /* Check if user already logged in into the server */
- if (!isset($params['openid_identity']) ||
- $this->_user->getLoggedInUser() !== $params['openid_identity']) {
- $params2 = array();
- foreach ($params as $key => $val) {
- if (strpos($key, 'openid_ns_') === 0) {
- $key = 'openid.ns.' . substr($key, strlen('openid_ns_'));
- } else if (strpos($key, 'openid_sreg_') === 0) {
- $key = 'openid.sreg.' . substr($key, strlen('openid_sreg_'));
- } else if (strpos($key, 'openid_') === 0) {
- $key = 'openid.' . substr($key, strlen('openid_'));
- }
- $params2[$key] = $val;
- }
- if ($immediate) {
- $params2['openid.mode'] = 'checkid_setup';
- $ret['openid.mode'] = ($version >= 2.0) ? 'setup_needed': 'id_res';
- $ret['openid.user_setup_url'] = $this->_loginUrl
- . (strpos($this->_loginUrl, '?') === false ? '?' : '&')
- . Zend_OpenId::paramsToQuery($params2);
- return $ret;
- } else {
- /* Redirect to Server Login Screen */
- Zend_OpenId::redirect($this->_loginUrl, $params2, $response);
- return true;
- }
- }
-
- if (!Zend_OpenId_Extension::forAll($extensions, 'parseRequest', $params)) {
- $ret['openid.mode'] = ($immediate && $version >= 2.0) ? 'setup_needed': 'cancel';
- return $ret;
- }
-
- /* Check if user trusts to the consumer */
- $trusted = null;
- $sites = $this->_storage->getTrustedSites($params['openid_identity']);
- if (isset($params['openid_return_to'])) {
- $root = $params['openid_return_to'];
- }
- if (isset($sites[$root])) {
- $trusted = $sites[$root];
- } else {
- foreach ($sites as $site => $t) {
- if (strpos($root, $site) === 0) {
- $trusted = $t;
- break;
- } else {
- /* OpenID 2.0 (9.2) check for realm wild-card matching */
- $n = strpos($site, '://*.');
- if ($n != false) {
- $regex = '/^'
- . preg_quote(substr($site, 0, $n+3), '/')
- . '[A-Za-z1-9_\.]+?'
- . preg_quote(substr($site, $n+4), '/')
- . '/';
- if (preg_match($regex, $root)) {
- $trusted = $t;
- break;
- }
- }
- }
- }
- }
-
- if (is_array($trusted)) {
- if (!Zend_OpenId_Extension::forAll($extensions, 'checkTrustData', $trusted)) {
- $trusted = null;
- }
- }
-
- if ($trusted === false) {
- $ret['openid.mode'] = 'cancel';
- return $ret;
- } else if ($trusted === null) {
- /* Redirect to Server Trust Screen */
- $params2 = array();
- foreach ($params as $key => $val) {
- if (strpos($key, 'openid_ns_') === 0) {
- $key = 'openid.ns.' . substr($key, strlen('openid_ns_'));
- } else if (strpos($key, 'openid_sreg_') === 0) {
- $key = 'openid.sreg.' . substr($key, strlen('openid_sreg_'));
- } else if (strpos($key, 'openid_') === 0) {
- $key = 'openid.' . substr($key, strlen('openid_'));
- }
- $params2[$key] = $val;
- }
- if ($immediate) {
- $params2['openid.mode'] = 'checkid_setup';
- $ret['openid.mode'] = ($version >= 2.0) ? 'setup_needed': 'id_res';
- $ret['openid.user_setup_url'] = $this->_trustUrl
- . (strpos($this->_trustUrl, '?') === false ? '?' : '&')
- . Zend_OpenId::paramsToQuery($params2);
- return $ret;
- } else {
- Zend_OpenId::redirect($this->_trustUrl, $params2, $response);
- return true;
- }
- }
-
- return $this->_respond($version, $ret, $params, $extensions);
- }
-
- /**
- * Perepares information to send back to consumer's authentication request,
- * signs it using shared secret and send back through HTTP redirection
- *
- * @param array $params GET or POST request variables
- * @param mixed $extensions extension object or array of extensions objects
- * @param Zend_Controller_Response_Abstract $response an optional response
- * object to perform HTTP or HTML form redirection
- * @return bool
- */
- public function respondToConsumer($params, $extensions=null,
- Zend_Controller_Response_Abstract $response = null)
- {
- $version = 1.1;
- if (isset($params['openid_ns']) &&
- $params['openid_ns'] == Zend_OpenId::NS_2_0) {
- $version = 2.0;
- }
- $ret = array();
- if ($version >= 2.0) {
- $ret['openid.ns'] = Zend_OpenId::NS_2_0;
- }
- $ret = $this->_respond($version, $ret, $params, $extensions);
- if (!empty($params['openid_return_to'])) {
- Zend_OpenId::redirect($params['openid_return_to'], $ret, $response);
- }
- return true;
- }
-
- /**
- * Perepares information to send back to consumer's authentication request
- * and signs it using shared secret.
- *
- * @param float $version OpenID protcol version
- * @param array $ret arguments to be send back to consumer
- * @param array $params GET or POST request variables
- * @param mixed $extensions extension object or array of extensions objects
- * @return array
- */
- protected function _respond($version, $ret, $params, $extensions=null)
- {
- if (empty($params['openid_assoc_handle']) ||
- !$this->_storage->getAssociation($params['openid_assoc_handle'],
- $macFunc, $secret, $expires)) {
- /* Use dumb mode */
- if (!empty($params['openid_assoc_handle'])) {
- $ret['openid.invalidate_handle'] = $params['openid_assoc_handle'];
- }
- $macFunc = $version >= 2.0 ? 'sha256' : 'sha1';
- $secret = $this->_genSecret($macFunc);
- $handle = uniqid();
- $expiresIn = $this->_sessionTtl;
- $this->_storage->addAssociation($handle,
- $macFunc, $secret, time() + $expiresIn);
- $ret['openid.assoc_handle'] = $handle;
- } else {
- $ret['openid.assoc_handle'] = $params['openid_assoc_handle'];
- }
- if (isset($params['openid_return_to'])) {
- $ret['openid.return_to'] = $params['openid_return_to'];
- }
- if (isset($params['openid_claimed_id'])) {
- $ret['openid.claimed_id'] = $params['openid_claimed_id'];
- }
- if (isset($params['openid_identity'])) {
- $ret['openid.identity'] = $params['openid_identity'];
- }
-
- if ($version >= 2.0) {
- if (!empty($this->_opEndpoint)) {
- $ret['openid.op_endpoint'] = $this->_opEndpoint;
- } else {
- $ret['openid.op_endpoint'] = Zend_OpenId::selfUrl();
- }
- }
- $ret['openid.response_nonce'] = gmdate('Y-m-d\TH:i:s\Z') . uniqid();
- $ret['openid.mode'] = 'id_res';
-
- Zend_OpenId_Extension::forAll($extensions, 'prepareResponse', $ret);
-
- $signed = '';
- $data = '';
- foreach ($ret as $key => $val) {
- if (strpos($key, 'openid.') === 0) {
- $key = substr($key, strlen('openid.'));
- if (!empty($signed)) {
- $signed .= ',';
- }
- $signed .= $key;
- $data .= $key . ':' . $val . "\n";
- }
- }
- $signed .= ',signed';
- $data .= 'signed:' . $signed . "\n";
- $ret['openid.signed'] = $signed;
-
- $ret['openid.sig'] = base64_encode(
- Zend_OpenId::hashHmac($macFunc, $data, $secret));
-
- return $ret;
- }
-
- /**
- * Performs authentication validation for dumb consumers
- * Returns array of variables to push back to consumer.
- * It MUST contain 'is_valid' variable with value 'true' or 'false'.
- *
- * @param float $version OpenID version
- * @param array $params GET or POST request variables
- * @return array
- */
- protected function _checkAuthentication($version, $params)
- {
- $ret = array();
- if ($version >= 2.0) {
- $ret['ns'] = Zend_OpenId::NS_2_0;
- }
- $ret['openid.mode'] = 'id_res';
-
- if (empty($params['openid_assoc_handle']) ||
- empty($params['openid_signed']) ||
- empty($params['openid_sig']) ||
- !$this->_storage->getAssociation($params['openid_assoc_handle'],
- $macFunc, $secret, $expires)) {
- $ret['is_valid'] = 'false';
- return $ret;
- }
-
- $signed = explode(',', $params['openid_signed']);
- $data = '';
- foreach ($signed as $key) {
- $data .= $key . ':';
- if ($key == 'mode') {
- $data .= "id_res\n";
- } else {
- $data .= $params['openid_' . strtr($key,'.','_')]."\n";
- }
- }
- if (base64_decode($params['openid_sig']) ===
- Zend_OpenId::hashHmac($macFunc, $data, $secret)) {
- $ret['is_valid'] = 'true';
- } else {
- $ret['is_valid'] = 'false';
- }
- return $ret;
- }
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Provider/Storage.php b/airtime_mvc/library/Zend/OpenId/Provider/Storage.php
deleted file mode 100644
index ece488916..000000000
--- a/airtime_mvc/library/Zend/OpenId/Provider/Storage.php
+++ /dev/null
@@ -1,106 +0,0 @@
-_dir = $dir;
- if (!is_dir($this->_dir)) {
- if (!@mkdir($this->_dir, 0700, 1)) {
- throw new Zend_OpenId_Exception(
- "Cannot access storage directory $dir",
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- }
- if (($f = fopen($this->_dir.'/assoc.lock', 'w+')) === null) {
- throw new Zend_OpenId_Exception(
- 'Cannot create a lock file in the directory ' . $dir,
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- fclose($f);
- if (($f = fopen($this->_dir.'/user.lock', 'w+')) === null) {
- throw new Zend_OpenId_Exception(
- 'Cannot create a lock file in the directory ' . $dir,
- Zend_OpenId_Exception::ERROR_STORAGE);
- }
- fclose($f);
- }
-
- /**
- * Stores information about session identified by $handle
- *
- * @param string $handle assiciation handle
- * @param string $macFunc HMAC function (sha1 or sha256)
- * @param string $secret shared secret
- * @param string $expires expiration UNIX time
- * @return bool
- */
- public function addAssociation($handle, $macFunc, $secret, $expires)
- {
- $name = $this->_dir . '/assoc_' . md5($handle);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'w+');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $data = serialize(array($handle, $macFunc, $secret, $expires));
- fwrite($f, $data);
- fclose($f);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Gets information about association identified by $handle
- * Returns true if given association found and not expired and false
- * otherwise
- *
- * @param string $handle assiciation handle
- * @param string &$macFunc HMAC function (sha1 or sha256)
- * @param string &$secret shared secret
- * @param string &$expires expiration UNIX time
- * @return bool
- */
- public function getAssociation($handle, &$macFunc, &$secret, &$expires)
- {
- $name = $this->_dir . '/assoc_' . md5($handle);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedHandle, $macFunc, $secret, $expires) = unserialize($data);
- if ($handle === $storedHandle && $expires > time()) {
- $ret = true;
- } else {
- fclose($f);
- @unlink($name);
- fclose($lock);
- return false;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Removes information about association identified by $handle
- *
- * @param string $handle assiciation handle
- * @return bool
- */
- public function delAssociation($handle)
- {
- $name = $this->_dir . '/assoc_' . md5($handle);
- $lock = @fopen($this->_dir . '/assoc.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- @unlink($name);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Register new user with given $id and $password
- * Returns true in case of success and false if user with given $id already
- * exists
- *
- * @param string $id user identity URL
- * @param string $password encoded user password
- * @return bool
- */
- public function addUser($id, $password)
- {
- $name = $this->_dir . '/user_' . md5($id);
- $lock = @fopen($this->_dir . '/user.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'x');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $data = serialize(array($id, $password, array()));
- fwrite($f, $data);
- fclose($f);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Returns true if user with given $id exists and false otherwise
- *
- * @param string $id user identity URL
- * @return bool
- */
- public function hasUser($id)
- {
- $name = $this->_dir . '/user_' . md5($id);
- $lock = @fopen($this->_dir . '/user.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_SH)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedId, $storedPassword, $trusted) = unserialize($data);
- if ($id === $storedId) {
- $ret = true;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Verify if user with given $id exists and has specified $password
- *
- * @param string $id user identity URL
- * @param string $password user password
- * @return bool
- */
- public function checkUser($id, $password)
- {
- $name = $this->_dir . '/user_' . md5($id);
- $lock = @fopen($this->_dir . '/user.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_SH)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedId, $storedPassword, $trusted) = unserialize($data);
- if ($id === $storedId && $password === $storedPassword) {
- $ret = true;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Removes information abou specified user
- *
- * @param string $id user identity URL
- * @return bool
- */
- public function delUser($id)
- {
- $name = $this->_dir . '/user_' . md5($id);
- $lock = @fopen($this->_dir . '/user.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- @unlink($name);
- fclose($lock);
- return true;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Returns array of all trusted/untrusted sites for given user identified
- * by $id
- *
- * @param string $id user identity URL
- * @return array
- */
- public function getTrustedSites($id)
- {
- $name = $this->_dir . '/user_' . md5($id);
- $lock = @fopen($this->_dir . '/user.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_SH)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'r');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedId, $storedPassword, $trusted) = unserialize($data);
- if ($id === $storedId) {
- $ret = $trusted;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-
- /**
- * Stores information about trusted/untrusted site for given user
- *
- * @param string $id user identity URL
- * @param string $site site URL
- * @param mixed $trusted trust data from extension or just a boolean value
- * @return bool
- */
- public function addSite($id, $site, $trusted)
- {
- $name = $this->_dir . '/user_' . md5($id);
- $lock = @fopen($this->_dir . '/user.lock', 'w+');
- if ($lock === false) {
- return false;
- }
- if (!flock($lock, LOCK_EX)) {
- fclose($lock);
- return false;
- }
- try {
- $f = @fopen($name, 'r+');
- if ($f === false) {
- fclose($lock);
- return false;
- }
- $ret = false;
- $data = stream_get_contents($f);
- if (!empty($data)) {
- list($storedId, $storedPassword, $sites) = unserialize($data);
- if ($id === $storedId) {
- if ($trusted === null) {
- unset($sites[$site]);
- } else {
- $sites[$site] = $trusted;
- }
- rewind($f);
- ftruncate($f, 0);
- $data = serialize(array($id, $storedPassword, $sites));
- fwrite($f, $data);
- $ret = true;
- }
- }
- fclose($f);
- fclose($lock);
- return $ret;
- } catch (Exception $e) {
- fclose($lock);
- throw $e;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/OpenId/Provider/User.php b/airtime_mvc/library/Zend/OpenId/Provider/User.php
deleted file mode 100644
index 87cefab31..000000000
--- a/airtime_mvc/library/Zend/OpenId/Provider/User.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_session = new Zend_Session_Namespace("openid");
- } else {
- $this->_session = $session;
- }
- }
-
- /**
- * Stores information about logged in user in session data
- *
- * @param string $id user identity URL
- * @return bool
- */
- public function setLoggedInUser($id)
- {
- $this->_session->logged_in = $id;
- return true;
- }
-
- /**
- * Returns identity URL of logged in user or false
- *
- * @return mixed
- */
- public function getLoggedInUser()
- {
- if (isset($this->_session->logged_in)) {
- return $this->_session->logged_in;
- }
- return false;
- }
-
- /**
- * Performs logout. Clears information about logged in user.
- *
- * @return bool
- */
- public function delLoggedInUser()
- {
- unset($this->_session->logged_in);
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Paginator.php b/airtime_mvc/library/Zend/Paginator.php
deleted file mode 100644
index 2fd03c08b..000000000
--- a/airtime_mvc/library/Zend/Paginator.php
+++ /dev/null
@@ -1,1113 +0,0 @@
-addPrefixPath($prefix, $path);
- }
-
- /**
- * Adds an array of adapter prefix paths to the plugin
- * loader.
- *
- *
- * $prefixPaths = array(
- * 'My_Paginator_Adapter' => 'My/Paginator/Adapter/',
- * 'Your_Paginator_Adapter' => 'Your/Paginator/Adapter/'
- * );
- *
- *
- * @param array $prefixPaths
- */
- public static function addAdapterPrefixPaths(array $prefixPaths)
- {
- if (isset($prefixPaths['prefix']) && isset($prefixPaths['path'])) {
- self::addAdapterPrefixPath($prefixPaths['prefix'], $prefixPaths['path']);
- } else {
- foreach ($prefixPaths as $prefix => $path) {
- if (is_array($path) && isset($path['prefix']) && isset($path['path'])) {
- $prefix = $path['prefix'];
- $path = $path['path'];
- }
-
- self::addAdapterPrefixPath($prefix, $path);
- }
- }
- }
-
- /**
- * Adds a scrolling style prefix path to the plugin loader.
- *
- * @param string $prefix
- * @param string $path
- */
- public static function addScrollingStylePrefixPath($prefix, $path)
- {
- self::getScrollingStyleLoader()->addPrefixPath($prefix, $path);
- }
-
- /**
- * Adds an array of scrolling style prefix paths to the plugin
- * loader.
- *
- *
- * $prefixPaths = array(
- * 'My_Paginator_ScrollingStyle' => 'My/Paginator/ScrollingStyle/',
- * 'Your_Paginator_ScrollingStyle' => 'Your/Paginator/ScrollingStyle/'
- * );
- *
- *
- * @param array $prefixPaths
- */
- public static function addScrollingStylePrefixPaths(array $prefixPaths)
- {
- if (isset($prefixPaths['prefix']) && isset($prefixPaths['path'])) {
- self::addScrollingStylePrefixPath($prefixPaths['prefix'], $prefixPaths['path']);
- } else {
- foreach ($prefixPaths as $prefix => $path) {
- if (is_array($path) && isset($path['prefix']) && isset($path['path'])) {
- $prefix = $path['prefix'];
- $path = $path['path'];
- }
-
- self::addScrollingStylePrefixPath($prefix, $path);
- }
- }
- }
-
- /**
- * Factory.
- *
- * @param mixed $data
- * @param string $adapter
- * @param array $prefixPaths
- * @return Zend_Paginator
- */
- public static function factory($data, $adapter = self::INTERNAL_ADAPTER,
- array $prefixPaths = null)
- {
- if ($data instanceof Zend_Paginator_AdapterAggregate) {
- return new self($data->getPaginatorAdapter());
- } else {
- if ($adapter == self::INTERNAL_ADAPTER) {
- if (is_array($data)) {
- $adapter = 'Array';
- } else if ($data instanceof Zend_Db_Table_Select) {
- $adapter = 'DbTableSelect';
- } else if ($data instanceof Zend_Db_Select) {
- $adapter = 'DbSelect';
- } else if ($data instanceof Iterator) {
- $adapter = 'Iterator';
- } else if (is_integer($data)) {
- $adapter = 'Null';
- } else {
- $type = (is_object($data)) ? get_class($data) : gettype($data);
-
- /**
- * @see Zend_Paginator_Exception
- */
- require_once 'Zend/Paginator/Exception.php';
-
- throw new Zend_Paginator_Exception('No adapter for type ' . $type);
- }
- }
-
- $pluginLoader = self::getAdapterLoader();
-
- if (null !== $prefixPaths) {
- foreach ($prefixPaths as $prefix => $path) {
- $pluginLoader->addPrefixPath($prefix, $path);
- }
- }
-
- $adapterClassName = $pluginLoader->load($adapter);
-
- return new self(new $adapterClassName($data));
- }
- }
-
- /**
- * Returns the adapter loader. If it doesn't exist it's created.
- *
- * @return Zend_Loader_PluginLoader
- */
- public static function getAdapterLoader()
- {
- if (self::$_adapterLoader === null) {
- self::$_adapterLoader = new Zend_Loader_PluginLoader(
- array('Zend_Paginator_Adapter' => 'Zend/Paginator/Adapter')
- );
- }
-
- return self::$_adapterLoader;
- }
-
- /**
- * Set a global config
- *
- * @param Zend_Config $config
- */
- public static function setConfig(Zend_Config $config)
- {
- self::$_config = $config;
-
- $adapterPaths = $config->get('adapterpaths');
-
- if ($adapterPaths != null) {
- self::addAdapterPrefixPaths($adapterPaths->adapterpath->toArray());
- }
-
- $prefixPaths = $config->get('prefixpaths');
-
- if ($prefixPaths != null) {
- self::addScrollingStylePrefixPaths($prefixPaths->prefixpath->toArray());
- }
-
- $scrollingStyle = $config->get('scrollingstyle');
-
- if ($scrollingStyle != null) {
- self::setDefaultScrollingStyle($scrollingStyle);
- }
- }
-
- /**
- * Returns the default scrolling style.
- *
- * @return string
- */
- public static function getDefaultScrollingStyle()
- {
- return self::$_defaultScrollingStyle;
- }
-
- /**
- * Get the default item count per page
- *
- * @return int
- */
- public static function getDefaultItemCountPerPage()
- {
- return self::$_defaultItemCountPerPage;
- }
-
- /**
- * Set the default item count per page
- *
- * @param int $count
- */
- public static function setDefaultItemCountPerPage($count)
- {
- self::$_defaultItemCountPerPage = (int) $count;
- }
-
- /**
- * Sets a cache object
- *
- * @param Zend_Cache_Core $cache
- */
- public static function setCache(Zend_Cache_Core $cache)
- {
- self::$_cache = $cache;
- }
-
- /**
- * Sets the default scrolling style.
- *
- * @param string $scrollingStyle
- */
- public static function setDefaultScrollingStyle($scrollingStyle = 'Sliding')
- {
- self::$_defaultScrollingStyle = $scrollingStyle;
- }
-
- /**
- * Returns the scrolling style loader. If it doesn't exist it's
- * created.
- *
- * @return Zend_Loader_PluginLoader
- */
- public static function getScrollingStyleLoader()
- {
- if (self::$_scrollingStyleLoader === null) {
- self::$_scrollingStyleLoader = new Zend_Loader_PluginLoader(
- array('Zend_Paginator_ScrollingStyle' => 'Zend/Paginator/ScrollingStyle')
- );
- }
-
- return self::$_scrollingStyleLoader;
- }
-
- /**
- * Constructor.
- *
- * @param Zend_Paginator_Adapter_Interface|Zend_Paginator_AdapterAggregate $adapter
- */
- public function __construct($adapter)
- {
- if ($adapter instanceof Zend_Paginator_Adapter_Interface) {
- $this->_adapter = $adapter;
- } else if ($adapter instanceof Zend_Paginator_AdapterAggregate) {
- $this->_adapter = $adapter->getPaginatorAdapter();
- } else {
- /**
- * @see Zend_Paginator_Exception
- */
- require_once 'Zend/Paginator/Exception.php';
-
- throw new Zend_Paginator_Exception(
- 'Zend_Paginator only accepts instances of the type ' .
- 'Zend_Paginator_Adapter_Interface or Zend_Paginator_AdapterAggregate.'
- );
- }
-
- $config = self::$_config;
-
- if ($config != null) {
- $setupMethods = array('ItemCountPerPage', 'PageRange');
-
- foreach ($setupMethods as $setupMethod) {
- $value = $config->get(strtolower($setupMethod));
-
- if ($value != null) {
- $setupMethod = 'set' . $setupMethod;
- $this->$setupMethod($value);
- }
- }
- }
- }
-
- /**
- * Serializes the object as a string. Proxies to {@link render()}.
- *
- * @return string
- */
- public function __toString()
- {
- try {
- $return = $this->render();
- return $return;
- } catch (Exception $e) {
- trigger_error($e->getMessage(), E_USER_WARNING);
- }
-
- return '';
- }
-
- /**
- * Enables/Disables the cache for this instance
- *
- * @param bool $enable
- * @return Zend_Paginator
- */
- public function setCacheEnabled($enable)
- {
- $this->_cacheEnabled = (bool)$enable;
- return $this;
- }
-
- /**
- * Returns the number of pages.
- *
- * @return integer
- */
- public function count()
- {
- if (!$this->_pageCount) {
- $this->_pageCount = $this->_calculatePageCount();
- }
-
- return $this->_pageCount;
- }
-
- /**
- * Returns the total number of items available.
- *
- * @return integer
- */
- public function getTotalItemCount()
- {
- return count($this->getAdapter());
- }
-
- /**
- * Clear the page item cache.
- *
- * @param int $pageNumber
- * @return Zend_Paginator
- */
- public function clearPageItemCache($pageNumber = null)
- {
- if (!$this->_cacheEnabled()) {
- return $this;
- }
-
- if (null === $pageNumber) {
- $cleanTags = self::CACHE_TAG_PREFIX;
- foreach (self::$_cache->getIdsMatchingTags(array($this->_getCacheInternalId())) as $id) {
- if (preg_match('|'.self::CACHE_TAG_PREFIX."(\d+)_.*|", $id, $page)) {
- self::$_cache->remove($this->_getCacheId($page[1]));
- }
- }
- } else {
- $cleanId = $this->_getCacheId($pageNumber);
- self::$_cache->remove($cleanId);
- }
- return $this;
- }
-
- /**
- * Returns the absolute item number for the specified item.
- *
- * @param integer $relativeItemNumber Relative item number
- * @param integer $pageNumber Page number
- * @return integer
- */
- public function getAbsoluteItemNumber($relativeItemNumber, $pageNumber = null)
- {
- $relativeItemNumber = $this->normalizeItemNumber($relativeItemNumber);
-
- if ($pageNumber == null) {
- $pageNumber = $this->getCurrentPageNumber();
- }
-
- $pageNumber = $this->normalizePageNumber($pageNumber);
-
- return (($pageNumber - 1) * $this->getItemCountPerPage()) + $relativeItemNumber;
- }
-
- /**
- * Returns the adapter.
- *
- * @return Zend_Paginator_Adapter_Interface
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * Returns the number of items for the current page.
- *
- * @return integer
- */
- public function getCurrentItemCount()
- {
- if ($this->_currentItemCount === null) {
- $this->_currentItemCount = $this->getItemCount($this->getCurrentItems());
- }
-
- return $this->_currentItemCount;
- }
-
- /**
- * Returns the items for the current page.
- *
- * @return Traversable
- */
- public function getCurrentItems()
- {
- if ($this->_currentItems === null) {
- $this->_currentItems = $this->getItemsByPage($this->getCurrentPageNumber());
- }
-
- return $this->_currentItems;
- }
-
- /**
- * Returns the current page number.
- *
- * @return integer
- */
- public function getCurrentPageNumber()
- {
- return $this->normalizePageNumber($this->_currentPageNumber);
- }
-
- /**
- * Sets the current page number.
- *
- * @param integer $pageNumber Page number
- * @return Zend_Paginator $this
- */
- public function setCurrentPageNumber($pageNumber)
- {
- $this->_currentPageNumber = (integer) $pageNumber;
- $this->_currentItems = null;
- $this->_currentItemCount = null;
-
- return $this;
- }
-
- /**
- * Get the filter
- *
- * @return Zend_Filter_Interface
- */
- public function getFilter()
- {
- return $this->_filter;
- }
-
- /**
- * Set a filter chain
- *
- * @param Zend_Filter_Interface $filter
- * @return Zend_Paginator
- */
- public function setFilter(Zend_Filter_Interface $filter)
- {
- $this->_filter = $filter;
-
- return $this;
- }
-
- /**
- * Returns an item from a page. The current page is used if there's no
- * page sepcified.
- *
- * @param integer $itemNumber Item number (1 to itemCountPerPage)
- * @param integer $pageNumber
- * @return mixed
- */
- public function getItem($itemNumber, $pageNumber = null)
- {
- if ($pageNumber == null) {
- $pageNumber = $this->getCurrentPageNumber();
- } else if ($pageNumber < 0) {
- $pageNumber = ($this->count() + 1) + $pageNumber;
- }
-
- $page = $this->getItemsByPage($pageNumber);
- $itemCount = $this->getItemCount($page);
-
- if ($itemCount == 0) {
- /**
- * @see Zend_Paginator_Exception
- */
- require_once 'Zend/Paginator/Exception.php';
-
- throw new Zend_Paginator_Exception('Page ' . $pageNumber . ' does not exist');
- }
-
- if ($itemNumber < 0) {
- $itemNumber = ($itemCount + 1) + $itemNumber;
- }
-
- $itemNumber = $this->normalizeItemNumber($itemNumber);
-
- if ($itemNumber > $itemCount) {
- /**
- * @see Zend_Paginator_Exception
- */
- require_once 'Zend/Paginator/Exception.php';
-
- throw new Zend_Paginator_Exception('Page ' . $pageNumber . ' does not'
- . ' contain item number ' . $itemNumber);
- }
-
- return $page[$itemNumber - 1];
- }
-
- /**
- * Returns the number of items per page.
- *
- * @return integer
- */
- public function getItemCountPerPage()
- {
- if (empty($this->_itemCountPerPage)) {
- $this->_itemCountPerPage = self::getDefaultItemCountPerPage();
- }
-
- return $this->_itemCountPerPage;
- }
-
- /**
- * Sets the number of items per page.
- *
- * @param integer $itemCountPerPage
- * @return Zend_Paginator $this
- */
- public function setItemCountPerPage($itemCountPerPage)
- {
- $this->_itemCountPerPage = (integer) $itemCountPerPage;
- if ($this->_itemCountPerPage < 1) {
- $this->_itemCountPerPage = $this->getItemCountPerPage();
- }
- $this->_pageCount = $this->_calculatePageCount();
- $this->_currentItems = null;
- $this->_currentItemCount = null;
-
- return $this;
- }
-
- /**
- * Returns the number of items in a collection.
- *
- * @param mixed $items Items
- * @return integer
- */
- public function getItemCount($items)
- {
- $itemCount = 0;
-
- if (is_array($items) || $items instanceof Countable) {
- $itemCount = count($items);
- } else { // $items is something like LimitIterator
- $itemCount = iterator_count($items);
- }
-
- return $itemCount;
- }
-
- /**
- * Returns the items for a given page.
- *
- * @return Traversable
- */
- public function getItemsByPage($pageNumber)
- {
- $pageNumber = $this->normalizePageNumber($pageNumber);
-
- if ($this->_cacheEnabled()) {
- $data = self::$_cache->load($this->_getCacheId($pageNumber));
- if ($data !== false) {
- return $data;
- }
- }
-
- $offset = ($pageNumber - 1) * $this->getItemCountPerPage();
-
- $items = $this->_adapter->getItems($offset, $this->getItemCountPerPage());
-
- $filter = $this->getFilter();
-
- if ($filter !== null) {
- $items = $filter->filter($items);
- }
-
- if (!$items instanceof Traversable) {
- $items = new ArrayIterator($items);
- }
-
- if ($this->_cacheEnabled()) {
- self::$_cache->save($items, $this->_getCacheId($pageNumber), array($this->_getCacheInternalId()));
- }
-
- return $items;
- }
-
- /**
- * Returns a foreach-compatible iterator.
- *
- * @return Traversable
- */
- public function getIterator()
- {
- return $this->getCurrentItems();
- }
-
- /**
- * Returns the page range (see property declaration above).
- *
- * @return integer
- */
- public function getPageRange()
- {
- return $this->_pageRange;
- }
-
- /**
- * Sets the page range (see property declaration above).
- *
- * @param integer $pageRange
- * @return Zend_Paginator $this
- */
- public function setPageRange($pageRange)
- {
- $this->_pageRange = (integer) $pageRange;
-
- return $this;
- }
-
- /**
- * Returns the page collection.
- *
- * @param string $scrollingStyle Scrolling style
- * @return array
- */
- public function getPages($scrollingStyle = null)
- {
- if ($this->_pages === null) {
- $this->_pages = $this->_createPages($scrollingStyle);
- }
-
- return $this->_pages;
- }
-
- /**
- * Returns a subset of pages within a given range.
- *
- * @param integer $lowerBound Lower bound of the range
- * @param integer $upperBound Upper bound of the range
- * @return array
- */
- public function getPagesInRange($lowerBound, $upperBound)
- {
- $lowerBound = $this->normalizePageNumber($lowerBound);
- $upperBound = $this->normalizePageNumber($upperBound);
-
- $pages = array();
-
- for ($pageNumber = $lowerBound; $pageNumber <= $upperBound; $pageNumber++) {
- $pages[$pageNumber] = $pageNumber;
- }
-
- return $pages;
- }
-
- /**
- * Returns the page item cache.
- *
- * @return array
- */
- public function getPageItemCache()
- {
- $data = array();
- if ($this->_cacheEnabled()) {
- foreach (self::$_cache->getIdsMatchingTags(array($this->_getCacheInternalId())) as $id) {
- if (preg_match('|'.self::CACHE_TAG_PREFIX."(\d+)_.*|", $id, $page)) {
- $data[$page[1]] = self::$_cache->load($this->_getCacheId($page[1]));
- }
- }
- }
- return $data;
- }
-
- /**
- * Retrieves the view instance. If none registered, attempts to pull f
- * rom ViewRenderer.
- *
- * @return Zend_View_Interface|null
- */
- public function getView()
- {
- if ($this->_view === null) {
- /**
- * @see Zend_Controller_Action_HelperBroker
- */
- require_once 'Zend/Controller/Action/HelperBroker.php';
-
- $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
- if ($viewRenderer->view === null) {
- $viewRenderer->initView();
- }
- $this->_view = $viewRenderer->view;
- }
-
- return $this->_view;
- }
-
- /**
- * Sets the view object.
- *
- * @param Zend_View_Interface $view
- * @return Zend_Paginator
- */
- public function setView(Zend_View_Interface $view = null)
- {
- $this->_view = $view;
-
- return $this;
- }
-
- /**
- * Brings the item number in range of the page.
- *
- * @param integer $itemNumber
- * @return integer
- */
- public function normalizeItemNumber($itemNumber)
- {
- if ($itemNumber < 1) {
- $itemNumber = 1;
- }
-
- if ($itemNumber > $this->getItemCountPerPage()) {
- $itemNumber = $this->getItemCountPerPage();
- }
-
- return $itemNumber;
- }
-
- /**
- * Brings the page number in range of the paginator.
- *
- * @param integer $pageNumber
- * @return integer
- */
- public function normalizePageNumber($pageNumber)
- {
- if ($pageNumber < 1) {
- $pageNumber = 1;
- }
-
- $pageCount = $this->count();
-
- if ($pageCount > 0 && $pageNumber > $pageCount) {
- $pageNumber = $pageCount;
- }
-
- return $pageNumber;
- }
-
- /**
- * Renders the paginator.
- *
- * @param Zend_View_Interface $view
- * @return string
- */
- public function render(Zend_View_Interface $view = null)
- {
- if (null !== $view) {
- $this->setView($view);
- }
-
- $view = $this->getView();
-
- return $view->paginationControl($this);
- }
-
- /**
- * Returns the items of the current page as JSON.
- *
- * @return string
- */
- public function toJson()
- {
- $currentItems = $this->getCurrentItems();
-
- if ($currentItems instanceof Zend_Db_Table_Rowset_Abstract) {
- return Zend_Json::encode($currentItems->toArray());
- } else {
- return Zend_Json::encode($currentItems);
- }
- }
-
- /**
- * Tells if there is an active cache object
- * and if the cache has not been desabled
- *
- * @return bool
- */
- protected function _cacheEnabled()
- {
- return ((self::$_cache !== null) && $this->_cacheEnabled);
- }
-
- /**
- * Makes an Id for the cache
- * Depends on the adapter object and the page number
- *
- * Used to store item in cache from that Paginator instance
- * and that current page
- *
- * @param int $page
- * @return string
- */
- protected function _getCacheId($page = null)
- {
- if ($page === null) {
- $page = $this->getCurrentPageNumber();
- }
- return self::CACHE_TAG_PREFIX . $page . '_' . $this->_getCacheInternalId();
- }
-
- /**
- * Get the internal cache id
- * Depends on the adapter and the item count per page
- *
- * Used to tag that unique Paginator instance in cache
- *
- * @return string
- */
- protected function _getCacheInternalId()
- {
- return md5(serialize($this->getAdapter()) . $this->getItemCountPerPage());
- }
-
- /**
- * Calculates the page count.
- *
- * @return integer
- */
- protected function _calculatePageCount()
- {
- return (integer) ceil($this->getAdapter()->count() / $this->getItemCountPerPage());
- }
-
- /**
- * Creates the page collection.
- *
- * @param string $scrollingStyle Scrolling style
- * @return stdClass
- */
- protected function _createPages($scrollingStyle = null)
- {
- $pageCount = $this->count();
- $currentPageNumber = $this->getCurrentPageNumber();
-
- $pages = new stdClass();
- $pages->pageCount = $pageCount;
- $pages->itemCountPerPage = $this->getItemCountPerPage();
- $pages->first = 1;
- $pages->current = $currentPageNumber;
- $pages->last = $pageCount;
-
- // Previous and next
- if ($currentPageNumber - 1 > 0) {
- $pages->previous = $currentPageNumber - 1;
- }
-
- if ($currentPageNumber + 1 <= $pageCount) {
- $pages->next = $currentPageNumber + 1;
- }
-
- // Pages in range
- $scrollingStyle = $this->_loadScrollingStyle($scrollingStyle);
- $pages->pagesInRange = $scrollingStyle->getPages($this);
- $pages->firstPageInRange = min($pages->pagesInRange);
- $pages->lastPageInRange = max($pages->pagesInRange);
-
- // Item numbers
- if ($this->getCurrentItems() !== null) {
- $pages->currentItemCount = $this->getCurrentItemCount();
- $pages->itemCountPerPage = $this->getItemCountPerPage();
- $pages->totalItemCount = $this->getTotalItemCount();
- $pages->firstItemNumber = (($currentPageNumber - 1) * $this->getItemCountPerPage()) + 1;
- $pages->lastItemNumber = $pages->firstItemNumber + $pages->currentItemCount - 1;
- }
-
- return $pages;
- }
-
- /**
- * Loads a scrolling style.
- *
- * @param string $scrollingStyle
- * @return Zend_Paginator_ScrollingStyle_Interface
- */
- protected function _loadScrollingStyle($scrollingStyle = null)
- {
- if ($scrollingStyle === null) {
- $scrollingStyle = self::$_defaultScrollingStyle;
- }
-
- switch (strtolower(gettype($scrollingStyle))) {
- case 'object':
- if (!$scrollingStyle instanceof Zend_Paginator_ScrollingStyle_Interface) {
- /**
- * @see Zend_View_Exception
- */
- require_once 'Zend/View/Exception.php';
-
- throw new Zend_View_Exception('Scrolling style must implement ' .
- 'Zend_Paginator_ScrollingStyle_Interface');
- }
-
- return $scrollingStyle;
-
- case 'string':
- $className = self::getScrollingStyleLoader()->load($scrollingStyle);
-
- return new $className();
-
- case 'null':
- // Fall through to default case
-
- default:
- /**
- * @see Zend_View_Exception
- */
- require_once 'Zend/View/Exception.php';
-
- throw new Zend_View_Exception('Scrolling style must be a class ' .
- 'name or object implementing Zend_Paginator_ScrollingStyle_Interface');
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Paginator/Adapter/Array.php b/airtime_mvc/library/Zend/Paginator/Adapter/Array.php
deleted file mode 100644
index 570a505a4..000000000
--- a/airtime_mvc/library/Zend/Paginator/Adapter/Array.php
+++ /dev/null
@@ -1,81 +0,0 @@
-_array = $array;
- $this->_count = count($array);
- }
-
- /**
- * Returns an array of items for a page.
- *
- * @param integer $offset Page offset
- * @param integer $itemCountPerPage Number of items per page
- * @return array
- */
- public function getItems($offset, $itemCountPerPage)
- {
- return array_slice($this->_array, $offset, $itemCountPerPage);
- }
-
- /**
- * Returns the total number of rows in the array.
- *
- * @return integer
- */
- public function count()
- {
- return $this->_count;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/Adapter/DbSelect.php b/airtime_mvc/library/Zend/Paginator/Adapter/DbSelect.php
deleted file mode 100644
index 91bf3bc7d..000000000
--- a/airtime_mvc/library/Zend/Paginator/Adapter/DbSelect.php
+++ /dev/null
@@ -1,262 +0,0 @@
-_select = $select;
- }
-
- /**
- * Sets the total row count, either directly or through a supplied
- * query. Without setting this, {@link getPages()} selects the count
- * as a subquery (SELECT COUNT ... FROM (SELECT ...)). While this
- * yields an accurate count even with queries containing clauses like
- * LIMIT, it can be slow in some circumstances. For example, in MySQL,
- * subqueries are generally slow when using the InnoDB storage engine.
- * Users are therefore encouraged to profile their queries to find
- * the solution that best meets their needs.
- *
- * @param Zend_Db_Select|integer $totalRowCount Total row count integer
- * or query
- * @return Zend_Paginator_Adapter_DbSelect $this
- * @throws Zend_Paginator_Exception
- */
- public function setRowCount($rowCount)
- {
- if ($rowCount instanceof Zend_Db_Select) {
- $columns = $rowCount->getPart(Zend_Db_Select::COLUMNS);
-
- $countColumnPart = $columns[0][1];
-
- if ($countColumnPart instanceof Zend_Db_Expr) {
- $countColumnPart = $countColumnPart->__toString();
- }
-
- $rowCountColumn = $this->_select->getAdapter()->foldCase(self::ROW_COUNT_COLUMN);
-
- // The select query can contain only one column, which should be the row count column
- if (false === strpos($countColumnPart, $rowCountColumn)) {
- /**
- * @see Zend_Paginator_Exception
- */
- require_once 'Zend/Paginator/Exception.php';
-
- throw new Zend_Paginator_Exception('Row count column not found');
- }
-
- $result = $rowCount->query(Zend_Db::FETCH_ASSOC)->fetch();
-
- $this->_rowCount = count($result) > 0 ? $result[$rowCountColumn] : 0;
- } else if (is_integer($rowCount)) {
- $this->_rowCount = $rowCount;
- } else {
- /**
- * @see Zend_Paginator_Exception
- */
- require_once 'Zend/Paginator/Exception.php';
-
- throw new Zend_Paginator_Exception('Invalid row count');
- }
-
- return $this;
- }
-
- /**
- * Returns an array of items for a page.
- *
- * @param integer $offset Page offset
- * @param integer $itemCountPerPage Number of items per page
- * @return array
- */
- public function getItems($offset, $itemCountPerPage)
- {
- $this->_select->limit($itemCountPerPage, $offset);
-
- return $this->_select->query()->fetchAll();
- }
-
- /**
- * Returns the total number of rows in the result set.
- *
- * @return integer
- */
- public function count()
- {
- if ($this->_rowCount === null) {
- $this->setRowCount(
- $this->getCountSelect()
- );
- }
-
- return $this->_rowCount;
- }
-
- /**
- * Get the COUNT select object for the provided query
- *
- * TODO: Have a look at queries that have both GROUP BY and DISTINCT specified.
- * In that use-case I'm expecting problems when either GROUP BY or DISTINCT
- * has one column.
- *
- * @return Zend_Db_Select
- */
- public function getCountSelect()
- {
- /**
- * We only need to generate a COUNT query once. It will not change for
- * this instance.
- */
- if ($this->_countSelect !== null) {
- return $this->_countSelect;
- }
-
- $rowCount = clone $this->_select;
- $rowCount->__toString(); // Workaround for ZF-3719 and related
-
- $db = $rowCount->getAdapter();
-
- $countColumn = $db->quoteIdentifier($db->foldCase(self::ROW_COUNT_COLUMN));
- $countPart = 'COUNT(1) AS ';
- $groupPart = null;
- $unionParts = $rowCount->getPart(Zend_Db_Select::UNION);
-
- /**
- * If we're dealing with a UNION query, execute the UNION as a subquery
- * to the COUNT query.
- */
- if (!empty($unionParts)) {
- $expression = new Zend_Db_Expr($countPart . $countColumn);
-
- $rowCount = $db->select()->from($rowCount, $expression);
- } else {
- $columnParts = $rowCount->getPart(Zend_Db_Select::COLUMNS);
- $groupParts = $rowCount->getPart(Zend_Db_Select::GROUP);
- $havingParts = $rowCount->getPart(Zend_Db_Select::HAVING);
- $isDistinct = $rowCount->getPart(Zend_Db_Select::DISTINCT);
-
- /**
- * If there is more than one column AND it's a DISTINCT query, more
- * than one group, or if the query has a HAVING clause, then take
- * the original query and use it as a subquery os the COUNT query.
- */
- if (($isDistinct && count($columnParts) > 1) || count($groupParts) > 1 || !empty($havingParts)) {
- $rowCount = $db->select()->from($this->_select);
- } else if ($isDistinct) {
- $part = $columnParts[0];
-
- if ($part[1] !== Zend_Db_Select::SQL_WILDCARD && !($part[1] instanceof Zend_Db_Expr)) {
- $column = $db->quoteIdentifier($part[1], true);
-
- if (!empty($part[0])) {
- $column = $db->quoteIdentifier($part[0], true) . '.' . $column;
- }
-
- $groupPart = $column;
- }
- } else if (!empty($groupParts) && $groupParts[0] !== Zend_Db_Select::SQL_WILDCARD &&
- !($groupParts[0] instanceof Zend_Db_Expr)) {
- $groupPart = $db->quoteIdentifier($groupParts[0], true);
- }
-
- /**
- * If the original query had a GROUP BY or a DISTINCT part and only
- * one column was specified, create a COUNT(DISTINCT ) query instead
- * of a regular COUNT query.
- */
- if (!empty($groupPart)) {
- $countPart = 'COUNT(DISTINCT ' . $groupPart . ') AS ';
- }
-
- /**
- * Create the COUNT part of the query
- */
- $expression = new Zend_Db_Expr($countPart . $countColumn);
-
- $rowCount->reset(Zend_Db_Select::COLUMNS)
- ->reset(Zend_Db_Select::ORDER)
- ->reset(Zend_Db_Select::LIMIT_OFFSET)
- ->reset(Zend_Db_Select::GROUP)
- ->reset(Zend_Db_Select::DISTINCT)
- ->reset(Zend_Db_Select::HAVING)
- ->columns($expression);
- }
-
- $this->_countSelect = $rowCount;
-
- return $rowCount;
- }
-}
diff --git a/airtime_mvc/library/Zend/Paginator/Adapter/DbTableSelect.php b/airtime_mvc/library/Zend/Paginator/Adapter/DbTableSelect.php
deleted file mode 100644
index e60ddca94..000000000
--- a/airtime_mvc/library/Zend/Paginator/Adapter/DbTableSelect.php
+++ /dev/null
@@ -1,48 +0,0 @@
-_select->limit($itemCountPerPage, $offset);
-
- return $this->_select->getTable()->fetchAll($this->_select);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/Adapter/Interface.php b/airtime_mvc/library/Zend/Paginator/Adapter/Interface.php
deleted file mode 100644
index bf8eea44a..000000000
--- a/airtime_mvc/library/Zend/Paginator/Adapter/Interface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-_iterator = $iterator;
- $this->_count = count($iterator);
- }
-
- /**
- * Returns an iterator of items for a page, or an empty array.
- *
- * @param integer $offset Page offset
- * @param integer $itemCountPerPage Number of items per page
- * @return LimitIterator|array
- */
- public function getItems($offset, $itemCountPerPage)
- {
- if ($this->_count == 0) {
- return array();
- }
-
- // @link http://bugs.php.net/bug.php?id=49906 | ZF-8084
- // return new LimitIterator($this->_iterator, $offset, $itemCountPerPage);
- return new Zend_Paginator_SerializableLimitIterator($this->_iterator, $offset, $itemCountPerPage);
- }
-
- /**
- * Returns the total number of rows in the collection.
- *
- * @return integer
- */
- public function count()
- {
- return $this->_count;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/Adapter/Null.php b/airtime_mvc/library/Zend/Paginator/Adapter/Null.php
deleted file mode 100644
index 2097d9782..000000000
--- a/airtime_mvc/library/Zend/Paginator/Adapter/Null.php
+++ /dev/null
@@ -1,80 +0,0 @@
-_count = $count;
- }
-
- /**
- * Returns an array of items for a page.
- *
- * @param integer $offset Page offset
- * @param integer $itemCountPerPage Number of items per page
- * @return array
- */
- public function getItems($offset, $itemCountPerPage)
- {
- if ($offset >= $this->count()) {
- return array();
- }
-
- $remainItemCount = $this->count() - $offset;
- $currentItemCount = $remainItemCount > $itemCountPerPage ? $itemCountPerPage : $remainItemCount;
-
- return array_fill(0, $currentItemCount, null);
- }
-
- /**
- * Returns the total number of rows in the array.
- *
- * @return integer
- */
- public function count()
- {
- return $this->_count;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/AdapterAggregate.php b/airtime_mvc/library/Zend/Paginator/AdapterAggregate.php
deleted file mode 100644
index 1020e0d86..000000000
--- a/airtime_mvc/library/Zend/Paginator/AdapterAggregate.php
+++ /dev/null
@@ -1,40 +0,0 @@
-getPagesInRange(1, $paginator->count());
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Elastic.php b/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Elastic.php
deleted file mode 100644
index 574f9c492..000000000
--- a/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Elastic.php
+++ /dev/null
@@ -1,63 +0,0 @@
-getPageRange();
- $pageNumber = $paginator->getCurrentPageNumber();
-
- $originalPageRange = $pageRange;
- $pageRange = $pageRange * 2 - 1;
-
- if ($originalPageRange + $pageNumber - 1 < $pageRange) {
- $pageRange = $originalPageRange + $pageNumber - 1;
- } else if ($originalPageRange + $pageNumber - 1 > count($paginator)) {
- $pageRange = $originalPageRange + count($paginator) - $pageNumber;
- }
-
- return parent::getPages($paginator, $pageRange);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Interface.php b/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Interface.php
deleted file mode 100644
index abdfbc486..000000000
--- a/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Interface.php
+++ /dev/null
@@ -1,38 +0,0 @@
-getPageRange();
- $pageNumber = $paginator->getCurrentPageNumber();
-
- $delta = $pageNumber % $pageRange;
-
- if ($delta == 0) {
- $delta = $pageRange;
- }
-
- $offset = $pageNumber - $delta;
- $lowerBound = $offset + 1;
- $upperBound = $offset + $pageRange;
-
- return $paginator->getPagesInRange($lowerBound, $upperBound);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Sliding.php b/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Sliding.php
deleted file mode 100644
index 535ad936a..000000000
--- a/airtime_mvc/library/Zend/Paginator/ScrollingStyle/Sliding.php
+++ /dev/null
@@ -1,78 +0,0 @@
-getPageRange();
- }
-
- $pageNumber = $paginator->getCurrentPageNumber();
- $pageCount = count($paginator);
-
- if ($pageRange > $pageCount) {
- $pageRange = $pageCount;
- }
-
- $delta = ceil($pageRange / 2);
-
- if ($pageNumber - $delta > $pageCount - $pageRange) {
- $lowerBound = $pageCount - $pageRange + 1;
- $upperBound = $pageCount;
- } else {
- if ($pageNumber - $delta < 0) {
- $delta = $pageNumber;
- }
-
- $offset = $pageNumber - $delta;
- $lowerBound = $offset + 1;
- $upperBound = $offset + $pageRange;
- }
-
- return $paginator->getPagesInRange($lowerBound, $upperBound);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Paginator/SerializableLimitIterator.php b/airtime_mvc/library/Zend/Paginator/SerializableLimitIterator.php
deleted file mode 100644
index 4055d3d19..000000000
--- a/airtime_mvc/library/Zend/Paginator/SerializableLimitIterator.php
+++ /dev/null
@@ -1,83 +0,0 @@
-_offset = $offset;
- $this->_count = $count;
- }
-
- /**
- * @return string representation of the instance
- */
- public function serialize()
- {
- return serialize(array(
- 'it' => $this->getInnerIterator(),
- 'offset' => $this->_offset,
- 'count' => $this->_count,
- 'pos' => $this->getPosition(),
- ));
- }
-
- /**
- * @param string $data representation of the instance
- */
- public function unserialize($data)
- {
- $dataArr = unserialize($data);
- $this->__construct($dataArr['it'], $dataArr['offset'], $dataArr['count']);
- $this->seek($dataArr['pos']+$dataArr['offset']);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf.php b/airtime_mvc/library/Zend/Pdf.php
deleted file mode 100644
index 436aa5c68..000000000
--- a/airtime_mvc/library/Zend/Pdf.php
+++ /dev/null
@@ -1,1404 +0,0 @@
-render($updateOnly, $file);
-
- fclose($file);
- }
-
- /**
- * Creates or loads PDF document.
- *
- * If $source is null, then it creates a new document.
- *
- * If $source is a string and $load is false, then it loads document
- * from a binary string.
- *
- * If $source is a string and $load is true, then it loads document
- * from a file.
-
- * $revision used to roll back document to specified version
- * (0 - currtent version, 1 - previous version, 2 - ...)
- *
- * @param string $source - PDF file to load
- * @param integer $revision
- * @throws Zend_Pdf_Exception
- * @return Zend_Pdf
- */
- public function __construct($source = null, $revision = null, $load = false)
- {
- require_once 'Zend/Pdf/ElementFactory.php';
- $this->_objFactory = Zend_Pdf_ElementFactory::createFactory(1);
-
- if ($source !== null) {
- require_once 'Zend/Pdf/Parser.php';
- $this->_parser = new Zend_Pdf_Parser($source, $this->_objFactory, $load);
- $this->_pdfHeaderVersion = $this->_parser->getPDFVersion();
- $this->_trailer = $this->_parser->getTrailer();
- if ($this->_trailer->Encrypt !== null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Encrypted document modification is not supported');
- }
- if ($revision !== null) {
- $this->rollback($revision);
- } else {
- $this->_loadPages($this->_trailer->Root->Pages);
- }
-
- $this->_loadNamedDestinations($this->_trailer->Root, $this->_parser->getPDFVersion());
- $this->_loadOutlines($this->_trailer->Root);
-
- if ($this->_trailer->Info !== null) {
- $this->properties = $this->_trailer->Info->toPhp();
-
- if (isset($this->properties['Trapped'])) {
- switch ($this->properties['Trapped']) {
- case 'True':
- $this->properties['Trapped'] = true;
- break;
-
- case 'False':
- $this->properties['Trapped'] = false;
- break;
-
- case 'Unknown':
- $this->properties['Trapped'] = null;
- break;
-
- default:
- // Wrong property value
- // Do nothing
- break;
- }
- }
-
- $this->_originalProperties = $this->properties;
- }
- } else {
- $this->_pdfHeaderVersion = Zend_Pdf::PDF_VERSION;
-
- $trailerDictionary = new Zend_Pdf_Element_Dictionary();
-
- /**
- * Document id
- */
- $docId = md5(uniqid(rand(), true)); // 32 byte (128 bit) identifier
- $docIdLow = substr($docId, 0, 16); // first 16 bytes
- $docIdHigh = substr($docId, 16, 16); // second 16 bytes
-
- $trailerDictionary->ID = new Zend_Pdf_Element_Array();
- $trailerDictionary->ID->items[] = new Zend_Pdf_Element_String_Binary($docIdLow);
- $trailerDictionary->ID->items[] = new Zend_Pdf_Element_String_Binary($docIdHigh);
-
- $trailerDictionary->Size = new Zend_Pdf_Element_Numeric(0);
-
- require_once 'Zend/Pdf/Trailer/Generator.php';
- $this->_trailer = new Zend_Pdf_Trailer_Generator($trailerDictionary);
-
- /**
- * Document catalog indirect object.
- */
- $docCatalog = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
- $docCatalog->Type = new Zend_Pdf_Element_Name('Catalog');
- $docCatalog->Version = new Zend_Pdf_Element_Name(Zend_Pdf::PDF_VERSION);
- $this->_trailer->Root = $docCatalog;
-
- /**
- * Pages container
- */
- $docPages = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
- $docPages->Type = new Zend_Pdf_Element_Name('Pages');
- $docPages->Kids = new Zend_Pdf_Element_Array();
- $docPages->Count = new Zend_Pdf_Element_Numeric(0);
- $docCatalog->Pages = $docPages;
- }
- }
-
- /**
- * Retrive number of revisions.
- *
- * @return integer
- */
- public function revisions()
- {
- $revisions = 1;
- $currentTrailer = $this->_trailer;
-
- while ($currentTrailer->getPrev() !== null && $currentTrailer->getPrev()->Root !== null ) {
- $revisions++;
- $currentTrailer = $currentTrailer->getPrev();
- }
-
- return $revisions++;
- }
-
- /**
- * Rollback document $steps number of revisions.
- * This method must be invoked before any changes, applied to the document.
- * Otherwise behavior is undefined.
- *
- * @param integer $steps
- */
- public function rollback($steps)
- {
- for ($count = 0; $count < $steps; $count++) {
- if ($this->_trailer->getPrev() !== null && $this->_trailer->getPrev()->Root !== null) {
- $this->_trailer = $this->_trailer->getPrev();
- } else {
- break;
- }
- }
- $this->_objFactory->setObjectCount($this->_trailer->Size->value);
-
- // Mark content as modified to force new trailer generation at render time
- $this->_trailer->Root->touch();
-
- $this->pages = array();
- $this->_loadPages($this->_trailer->Root->Pages);
- }
-
-
- /**
- * Load pages recursively
- *
- * @param Zend_Pdf_Element_Reference $pages
- * @param array|null $attributes
- */
- protected function _loadPages(Zend_Pdf_Element_Reference $pages, $attributes = array())
- {
- if ($pages->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong argument');
- }
-
- foreach ($pages->getKeys() as $property) {
- if (in_array($property, self::$_inheritableAttributes)) {
- $attributes[$property] = $pages->$property;
- $pages->$property = null;
- }
- }
-
-
- foreach ($pages->Kids->items as $child) {
- if ($child->Type->value == 'Pages') {
- $this->_loadPages($child, $attributes);
- } else if ($child->Type->value == 'Page') {
- foreach (self::$_inheritableAttributes as $property) {
- if ($child->$property === null && array_key_exists($property, $attributes)) {
- /**
- * Important note.
- * If any attribute or dependant object is an indirect object, then it's still
- * shared between pages.
- */
- if ($attributes[$property] instanceof Zend_Pdf_Element_Object ||
- $attributes[$property] instanceof Zend_Pdf_Element_Reference) {
- $child->$property = $attributes[$property];
- } else {
- $child->$property = $this->_objFactory->newObject($attributes[$property]);
- }
- }
- }
-
- require_once 'Zend/Pdf/Page.php';
- $this->pages[] = new Zend_Pdf_Page($child, $this->_objFactory);
- }
- }
- }
-
- /**
- * Load named destinations recursively
- *
- * @param Zend_Pdf_Element_Reference $root Document catalog entry
- * @param string $pdfHeaderVersion
- * @throws Zend_Pdf_Exception
- */
- protected function _loadNamedDestinations(Zend_Pdf_Element_Reference $root, $pdfHeaderVersion)
- {
- if ($root->Version !== null && version_compare($root->Version->value, $pdfHeaderVersion, '>')) {
- $versionIs_1_2_plus = version_compare($root->Version->value, '1.1', '>');
- } else {
- $versionIs_1_2_plus = version_compare($pdfHeaderVersion, '1.1', '>');
- }
-
- if ($versionIs_1_2_plus) {
- // PDF version is 1.2+
- // Look for Destinations structure at Name dictionary
- if ($root->Names !== null && $root->Names->Dests !== null) {
- require_once 'Zend/Pdf/NameTree.php';
- require_once 'Zend/Pdf/Target.php';
- foreach (new Zend_Pdf_NameTree($root->Names->Dests) as $name => $destination) {
- $this->_namedTargets[$name] = Zend_Pdf_Target::load($destination);
- }
- }
- } else {
- // PDF version is 1.1 (or earlier)
- // Look for Destinations sructure at Dest entry of document catalog
- if ($root->Dests !== null) {
- if ($root->Dests->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Document catalog Dests entry must be a dictionary.');
- }
-
- require_once 'Zend/Pdf/Target.php';
- foreach ($root->Dests->getKeys() as $destKey) {
- $this->_namedTargets[$destKey] = Zend_Pdf_Target::load($root->Dests->$destKey);
- }
- }
- }
- }
-
- /**
- * Load outlines recursively
- *
- * @param Zend_Pdf_Element_Reference $root Document catalog entry
- */
- protected function _loadOutlines(Zend_Pdf_Element_Reference $root)
- {
- if ($root->Outlines === null) {
- return;
- }
-
- if ($root->Outlines->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Document catalog Outlines entry must be a dictionary.');
- }
-
- if ($root->Outlines->Type !== null && $root->Outlines->Type->value != 'Outlines') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outlines Type entry must be an \'Outlines\' string.');
- }
-
- if ($root->Outlines->First === null) {
- return;
- }
-
- $outlineDictionary = $root->Outlines->First;
- $processedDictionaries = new SplObjectStorage();
- while ($outlineDictionary !== null && !$processedDictionaries->contains($outlineDictionary)) {
- $processedDictionaries->attach($outlineDictionary);
-
- require_once 'Zend/Pdf/Outline/Loaded.php';
- $this->outlines[] = new Zend_Pdf_Outline_Loaded($outlineDictionary);
-
- $outlineDictionary = $outlineDictionary->Next;
- }
-
- $this->_originalOutlines = $this->outlines;
-
- if ($root->Outlines->Count !== null) {
- $this->_originalOpenOutlinesCount = $root->Outlines->Count->value;
- }
- }
-
- /**
- * Orginize pages to tha pages tree structure.
- *
- * @todo atomatically attach page to the document, if it's not done yet.
- * @todo check, that page is attached to the current document
- *
- * @todo Dump pages as a balanced tree instead of a plain set.
- */
- protected function _dumpPages()
- {
- $root = $this->_trailer->Root;
- $pagesContainer = $root->Pages;
-
- $pagesContainer->touch();
- $pagesContainer->Kids->items = array();
-
- foreach ($this->pages as $page ) {
- $page->render($this->_objFactory);
-
- $pageDictionary = $page->getPageDictionary();
- $pageDictionary->touch();
- $pageDictionary->Parent = $pagesContainer;
-
- $pagesContainer->Kids->items[] = $pageDictionary;
- }
-
- $this->_refreshPagesHash();
-
- $pagesContainer->Count->touch();
- $pagesContainer->Count->value = count($this->pages);
-
-
- // Refresh named destinations list
- foreach ($this->_namedTargets as $name => $namedTarget) {
- if ($namedTarget instanceof Zend_Pdf_Destination_Explicit) {
- // Named target is an explicit destination
- if ($this->resolveDestination($namedTarget, false) === null) {
- unset($this->_namedTargets[$name]);
- }
- } else if ($namedTarget instanceof Zend_Pdf_Action) {
- // Named target is an action
- if ($this->_cleanUpAction($namedTarget, false) === null) {
- // Action is a GoTo action with an unresolved destination
- unset($this->_namedTargets[$name]);
- }
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong type of named targed (\'' . get_class($namedTarget) . '\').');
- }
- }
-
- // Refresh outlines
- require_once 'Zend/Pdf/RecursivelyIteratableObjectsContainer.php';
- $iterator = new RecursiveIteratorIterator(new Zend_Pdf_RecursivelyIteratableObjectsContainer($this->outlines), RecursiveIteratorIterator::SELF_FIRST);
- foreach ($iterator as $outline) {
- $target = $outline->getTarget();
-
- if ($target !== null) {
- if ($target instanceof Zend_Pdf_Destination) {
- // Outline target is a destination
- if ($this->resolveDestination($target, false) === null) {
- $outline->setTarget(null);
- }
- } else if ($target instanceof Zend_Pdf_Action) {
- // Outline target is an action
- if ($this->_cleanUpAction($target, false) === null) {
- // Action is a GoTo action with an unresolved destination
- $outline->setTarget(null);
- }
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong outline target.');
- }
- }
- }
-
- $openAction = $this->getOpenAction();
- if ($openAction !== null) {
- if ($openAction instanceof Zend_Pdf_Action) {
- // OpenAction is an action
- if ($this->_cleanUpAction($openAction, false) === null) {
- // Action is a GoTo action with an unresolved destination
- $this->setOpenAction(null);
- }
- } else if ($openAction instanceof Zend_Pdf_Destination) {
- // OpenAction target is a destination
- if ($this->resolveDestination($openAction, false) === null) {
- $this->setOpenAction(null);
- }
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('OpenAction has to be either PDF Action or Destination.');
- }
- }
- }
-
- /**
- * Dump named destinations
- *
- * @todo Create a balanced tree instead of plain structure.
- */
- protected function _dumpNamedDestinations()
- {
- ksort($this->_namedTargets, SORT_STRING);
-
- $destArrayItems = array();
- foreach ($this->_namedTargets as $name => $destination) {
- $destArrayItems[] = new Zend_Pdf_Element_String($name);
-
- if ($destination instanceof Zend_Pdf_Target) {
- $destArrayItems[] = $destination->getResource();
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('PDF named destinations must be a Zend_Pdf_Target object.');
- }
- }
- $destArray = $this->_objFactory->newObject(new Zend_Pdf_Element_Array($destArrayItems));
-
- $DestTree = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
- $DestTree->Names = $destArray;
-
- $root = $this->_trailer->Root;
-
- if ($root->Names === null) {
- $root->touch();
- $root->Names = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
- } else {
- $root->Names->touch();
- }
- $root->Names->Dests = $DestTree;
- }
-
- /**
- * Dump outlines recursively
- */
- protected function _dumpOutlines()
- {
- $root = $this->_trailer->Root;
-
- if ($root->Outlines === null) {
- if (count($this->outlines) == 0) {
- return;
- } else {
- $root->Outlines = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
- $root->Outlines->Type = new Zend_Pdf_Element_Name('Outlines');
- $updateOutlinesNavigation = true;
- }
- } else {
- $updateOutlinesNavigation = false;
- if (count($this->_originalOutlines) != count($this->outlines)) {
- // If original and current outlines arrays have different size then outlines list was updated
- $updateOutlinesNavigation = true;
- } else if ( !(array_keys($this->_originalOutlines) === array_keys($this->outlines)) ) {
- // If original and current outlines arrays have different keys (with a glance to an order) then outlines list was updated
- $updateOutlinesNavigation = true;
- } else {
- foreach ($this->outlines as $key => $outline) {
- if ($this->_originalOutlines[$key] !== $outline) {
- $updateOutlinesNavigation = true;
- }
- }
- }
- }
-
- $lastOutline = null;
- $openOutlinesCount = 0;
- if ($updateOutlinesNavigation) {
- $root->Outlines->touch();
- $root->Outlines->First = null;
-
- foreach ($this->outlines as $outline) {
- if ($lastOutline === null) {
- // First pass. Update Outlines dictionary First entry using corresponding value
- $lastOutline = $outline->dumpOutline($this->_objFactory, $updateOutlinesNavigation, $root->Outlines);
- $root->Outlines->First = $lastOutline;
- } else {
- // Update previous outline dictionary Next entry (Prev is updated within dumpOutline() method)
- $currentOutlineDictionary = $outline->dumpOutline($this->_objFactory, $updateOutlinesNavigation, $root->Outlines, $lastOutline);
- $lastOutline->Next = $currentOutlineDictionary;
- $lastOutline = $currentOutlineDictionary;
- }
- $openOutlinesCount += $outline->openOutlinesCount();
- }
-
- $root->Outlines->Last = $lastOutline;
- } else {
- foreach ($this->outlines as $outline) {
- $lastOutline = $outline->dumpOutline($this->_objFactory, $updateOutlinesNavigation, $root->Outlines, $lastOutline);
- $openOutlinesCount += $outline->openOutlinesCount();
- }
- }
-
- if ($openOutlinesCount != $this->_originalOpenOutlinesCount) {
- $root->Outlines->touch;
- $root->Outlines->Count = new Zend_Pdf_Element_Numeric($openOutlinesCount);
- }
- }
-
- /**
- * Create page object, attached to the PDF document.
- * Method signatures:
- *
- * 1. Create new page with a specified pagesize.
- * If $factory is null then it will be created and page must be attached to the document to be
- * included into output.
- * ---------------------------------------------------------
- * new Zend_Pdf_Page(string $pagesize);
- * ---------------------------------------------------------
- *
- * 2. Create new page with a specified pagesize (in default user space units).
- * If $factory is null then it will be created and page must be attached to the document to be
- * included into output.
- * ---------------------------------------------------------
- * new Zend_Pdf_Page(numeric $width, numeric $height);
- * ---------------------------------------------------------
- *
- * @param mixed $param1
- * @param mixed $param2
- * @return Zend_Pdf_Page
- */
- public function newPage($param1, $param2 = null)
- {
- require_once 'Zend/Pdf/Page.php';
- if ($param2 === null) {
- return new Zend_Pdf_Page($param1, $this->_objFactory);
- } else {
- return new Zend_Pdf_Page($param1, $param2, $this->_objFactory);
- }
- }
-
- /**
- * Return the document-level Metadata
- * or null Metadata stream is not presented
- *
- * @return string
- */
- public function getMetadata()
- {
- if ($this->_trailer->Root->Metadata !== null) {
- return $this->_trailer->Root->Metadata->value;
- } else {
- return null;
- }
- }
-
- /**
- * Sets the document-level Metadata (mast be valid XMP document)
- *
- * @param string $metadata
- */
- public function setMetadata($metadata)
- {
- $metadataObject = $this->_objFactory->newStreamObject($metadata);
- $metadataObject->dictionary->Type = new Zend_Pdf_Element_Name('Metadata');
- $metadataObject->dictionary->Subtype = new Zend_Pdf_Element_Name('XML');
-
- $this->_trailer->Root->Metadata = $metadataObject;
- $this->_trailer->Root->touch();
- }
-
- /**
- * Return the document-level JavaScript
- * or null if there is no JavaScript for this document
- *
- * @return string
- */
- public function getJavaScript()
- {
- return $this->_javaScript;
- }
-
- /**
- * Get open Action
- * Returns Zend_Pdf_Target (Zend_Pdf_Destination or Zend_Pdf_Action object)
- *
- * @return Zend_Pdf_Target
- */
- public function getOpenAction()
- {
- if ($this->_trailer->Root->OpenAction !== null) {
- require_once 'Zend/Pdf/Target.php';
- return Zend_Pdf_Target::load($this->_trailer->Root->OpenAction);
- } else {
- return null;
- }
- }
-
- /**
- * Set open Action which is actually Zend_Pdf_Destination or Zend_Pdf_Action object
- *
- * @param Zend_Pdf_Target $openAction
- * @returns Zend_Pdf
- */
- public function setOpenAction(Zend_Pdf_Target $openAction = null)
- {
- $root = $this->_trailer->Root;
- $root->touch();
-
- if ($openAction === null) {
- $root->OpenAction = null;
- } else {
- $root->OpenAction = $openAction->getResource();
-
- if ($openAction instanceof Zend_Pdf_Action) {
- $openAction->dumpAction($this->_objFactory);
- }
- }
-
- return $this;
- }
-
- /**
- * Return an associative array containing all the named destinations (or GoTo actions) in the PDF.
- * Named targets can be used to reference from outside
- * the PDF, ex: 'http://www.something.com/mydocument.pdf#MyAction'
- *
- * @return array
- */
- public function getNamedDestinations()
- {
- return $this->_namedTargets;
- }
-
- /**
- * Return specified named destination
- *
- * @param string $name
- * @return Zend_Pdf_Destination_Explicit|Zend_Pdf_Action_GoTo
- */
- public function getNamedDestination($name)
- {
- if (isset($this->_namedTargets[$name])) {
- return $this->_namedTargets[$name];
- } else {
- return null;
- }
- }
-
- /**
- * Set specified named destination
- *
- * @param string $name
- * @param Zend_Pdf_Destination_Explicit|Zend_Pdf_Action_GoTo $target
- */
- public function setNamedDestination($name, $destination = null)
- {
- if ($destination !== null &&
- !$destination instanceof Zend_Pdf_Action_GoTo &&
- !$destination instanceof Zend_Pdf_Destination_Explicit) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('PDF named destination must refer an explicit destination or a GoTo PDF action.');
- }
-
- if ($destination !== null) {
- $this->_namedTargets[$name] = $destination;
- } else {
- unset($this->_namedTargets[$name]);
- }
- }
-
- /**
- * Pages collection hash:
- * => Zend_Pdf_Page
- *
- * @var SplObjectStorage
- */
- protected $_pageReferences = null;
-
- /**
- * Pages collection hash:
- * => Zend_Pdf_Page
- *
- * @var array
- */
- protected $_pageNumbers = null;
-
- /**
- * Refresh page collection hashes
- *
- * @return Zend_Pdf
- */
- protected function _refreshPagesHash()
- {
- $this->_pageReferences = array();
- $this->_pageNumbers = array();
- $count = 1;
- foreach ($this->pages as $page) {
- $pageDictionaryHashId = spl_object_hash($page->getPageDictionary()->getObject());
- $this->_pageReferences[$pageDictionaryHashId] = $page;
- $this->_pageNumbers[$count++] = $page;
- }
-
- return $this;
- }
-
- /**
- * Resolve destination.
- *
- * Returns Zend_Pdf_Page page object or null if destination is not found within PDF document.
- *
- * @param Zend_Pdf_Destination $destination Destination to resolve
- * @param boolean $refreshPagesHash Refresh page collection hashes before processing
- * @return Zend_Pdf_Page|null
- * @throws Zend_Pdf_Exception
- */
- public function resolveDestination(Zend_Pdf_Destination $destination, $refreshPageCollectionHashes = true)
- {
- if ($this->_pageReferences === null || $refreshPageCollectionHashes) {
- $this->_refreshPagesHash();
- }
-
- if ($destination instanceof Zend_Pdf_Destination_Named) {
- if (!isset($this->_namedTargets[$destination->getName()])) {
- return null;
- }
- $destination = $this->getNamedDestination($destination->getName());
-
- if ($destination instanceof Zend_Pdf_Action) {
- if (!$destination instanceof Zend_Pdf_Action_GoTo) {
- return null;
- }
- $destination = $destination->getDestination();
- }
-
- if (!$destination instanceof Zend_Pdf_Destination_Explicit) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Named destination target has to be an explicit destination.');
- }
- }
-
- // Named target is an explicit destination
- $pageElement = $destination->getResource()->items[0];
-
- if ($pageElement->getType() == Zend_Pdf_Element::TYPE_NUMERIC) {
- // Page reference is a PDF number
- if (!isset($this->_pageNumbers[$pageElement->value])) {
- return null;
- }
-
- return $this->_pageNumbers[$pageElement->value];
- }
-
- // Page reference is a PDF page dictionary reference
- $pageDictionaryHashId = spl_object_hash($pageElement->getObject());
- if (!isset($this->_pageReferences[$pageDictionaryHashId])) {
- return null;
- }
- return $this->_pageReferences[$pageDictionaryHashId];
- }
-
- /**
- * Walk through action and its chained actions tree and remove nodes
- * if they are GoTo actions with an unresolved target.
- *
- * Returns null if root node is deleted or updated action overwise.
- *
- * @todo Give appropriate name and make method public
- *
- * @param Zend_Pdf_Action $action
- * @param boolean $refreshPagesHash Refresh page collection hashes before processing
- * @return Zend_Pdf_Action|null
- */
- protected function _cleanUpAction(Zend_Pdf_Action $action, $refreshPageCollectionHashes = true)
- {
- if ($this->_pageReferences === null || $refreshPageCollectionHashes) {
- $this->_refreshPagesHash();
- }
-
- // Named target is an action
- if ($action instanceof Zend_Pdf_Action_GoTo &&
- $this->resolveDestination($action->getDestination(), false) === null) {
- // Action itself is a GoTo action with an unresolved destination
- return null;
- }
-
- // Walk through child actions
- $iterator = new RecursiveIteratorIterator($action, RecursiveIteratorIterator::SELF_FIRST);
-
- $actionsToClean = array();
- $deletionCandidateKeys = array();
- foreach ($iterator as $chainedAction) {
- if ($chainedAction instanceof Zend_Pdf_Action_GoTo &&
- $this->resolveDestination($chainedAction->getDestination(), false) === null) {
- // Some child action is a GoTo action with an unresolved destination
- // Mark it as a candidate for deletion
- $actionsToClean[] = $iterator->getSubIterator();
- $deletionCandidateKeys[] = $iterator->getSubIterator()->key();
- }
- }
- foreach ($actionsToClean as $id => $action) {
- unset($action->next[$deletionCandidateKeys[$id]]);
- }
-
- return $action;
- }
-
- /**
- * Extract fonts attached to the document
- *
- * returns array of Zend_Pdf_Resource_Font_Extracted objects
- *
- * @return array
- * @throws Zend_Pdf_Exception
- */
- public function extractFonts()
- {
- $fontResourcesUnique = array();
- foreach ($this->pages as $page) {
- $pageResources = $page->extractResources();
-
- if ($pageResources->Font === null) {
- // Page doesn't contain have any font reference
- continue;
- }
-
- $fontResources = $pageResources->Font;
-
- foreach ($fontResources->getKeys() as $fontResourceName) {
- $fontDictionary = $fontResources->$fontResourceName;
-
- if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference ||
- $fontDictionary instanceof Zend_Pdf_Element_Object) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.');
- }
-
- $fontResourcesUnique[spl_object_hash($fontDictionary->getObject())] = $fontDictionary;
- }
- }
-
- $fonts = array();
- require_once 'Zend/Pdf/Exception.php';
- foreach ($fontResourcesUnique as $resourceId => $fontDictionary) {
- try {
- // Try to extract font
- require_once 'Zend/Pdf/Resource/Font/Extracted.php';
- $extractedFont = new Zend_Pdf_Resource_Font_Extracted($fontDictionary);
-
- $fonts[$resourceId] = $extractedFont;
- } catch (Zend_Pdf_Exception $e) {
- if ($e->getMessage() != 'Unsupported font type.') {
- throw $e;
- }
- }
- }
-
- return $fonts;
- }
-
- /**
- * Extract font attached to the page by specific font name
- *
- * $fontName should be specified in UTF-8 encoding
- *
- * @return Zend_Pdf_Resource_Font_Extracted|null
- * @throws Zend_Pdf_Exception
- */
- public function extractFont($fontName)
- {
- $fontResourcesUnique = array();
- require_once 'Zend/Pdf/Exception.php';
- foreach ($this->pages as $page) {
- $pageResources = $page->extractResources();
-
- if ($pageResources->Font === null) {
- // Page doesn't contain have any font reference
- continue;
- }
-
- $fontResources = $pageResources->Font;
-
- foreach ($fontResources->getKeys() as $fontResourceName) {
- $fontDictionary = $fontResources->$fontResourceName;
-
- if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference ||
- $fontDictionary instanceof Zend_Pdf_Element_Object) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.');
- }
-
- $resourceId = spl_object_hash($fontDictionary->getObject());
- if (isset($fontResourcesUnique[$resourceId])) {
- continue;
- } else {
- // Mark resource as processed
- $fontResourcesUnique[$resourceId] = 1;
- }
-
- if ($fontDictionary->BaseFont->value != $fontName) {
- continue;
- }
-
- try {
- // Try to extract font
- require_once 'Zend/Pdf/Resource/Font/Extracted.php';
- return new Zend_Pdf_Resource_Font_Extracted($fontDictionary);
- } catch (Zend_Pdf_Exception $e) {
- if ($e->getMessage() != 'Unsupported font type.') {
- throw $e;
- }
- // Continue searhing
- }
- }
- }
-
- return null;
- }
-
- /**
- * Render the completed PDF to a string.
- * If $newSegmentOnly is true, then only appended part of PDF is returned.
- *
- * @param boolean $newSegmentOnly
- * @param resource $outputStream
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function render($newSegmentOnly = false, $outputStream = null)
- {
- // Save document properties if necessary
- if ($this->properties != $this->_originalProperties) {
- $docInfo = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
-
- foreach ($this->properties as $key => $value) {
- switch ($key) {
- case 'Trapped':
- switch ($value) {
- case true:
- $docInfo->$key = new Zend_Pdf_Element_Name('True');
- break;
-
- case false:
- $docInfo->$key = new Zend_Pdf_Element_Name('False');
- break;
-
- case null:
- $docInfo->$key = new Zend_Pdf_Element_Name('Unknown');
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong Trapped document property vale: \'' . $value . '\'. Only true, false and null values are allowed.');
- break;
- }
-
- case 'CreationDate':
- // break intentionally omitted
- case 'ModDate':
- $docInfo->$key = new Zend_Pdf_Element_String((string)$value);
- break;
-
- case 'Title':
- // break intentionally omitted
- case 'Author':
- // break intentionally omitted
- case 'Subject':
- // break intentionally omitted
- case 'Keywords':
- // break intentionally omitted
- case 'Creator':
- // break intentionally omitted
- case 'Producer':
- if (extension_loaded('mbstring') === true) {
- $detected = mb_detect_encoding($value);
- if ($detected !== 'ASCII') {
- $value = chr(254) . chr(255) . mb_convert_encoding($value, 'UTF-16', $detected);
- }
- }
- $docInfo->$key = new Zend_Pdf_Element_String((string)$value);
- break;
-
- default:
- // Set property using PDF type based on PHP type
- $docInfo->$key = Zend_Pdf_Element::phpToPdf($value);
- break;
- }
- }
-
- $this->_trailer->Info = $docInfo;
- }
-
- $this->_dumpPages();
- $this->_dumpNamedDestinations();
- $this->_dumpOutlines();
-
- // Check, that PDF file was modified
- // File is always modified by _dumpPages() now, but future implementations may eliminate this.
- if (!$this->_objFactory->isModified()) {
- if ($newSegmentOnly) {
- // Do nothing, return
- return '';
- }
-
- if ($outputStream === null) {
- return $this->_trailer->getPDFString();
- } else {
- $pdfData = $this->_trailer->getPDFString();
- while ( strlen($pdfData) > 0 && ($byteCount = fwrite($outputStream, $pdfData)) != false ) {
- $pdfData = substr($pdfData, $byteCount);
- }
-
- return '';
- }
- }
-
- // offset (from a start of PDF file) of new PDF file segment
- $offset = $this->_trailer->getPDFLength();
- // Last Object number in a list of free objects
- $lastFreeObject = $this->_trailer->getLastFreeObject();
-
- // Array of cross-reference table subsections
- $xrefTable = array();
- // Object numbers of first objects in each subsection
- $xrefSectionStartNums = array();
-
- // Last cross-reference table subsection
- $xrefSection = array();
- // Dummy initialization of the first element (specail case - header of linked list of free objects).
- $xrefSection[] = 0;
- $xrefSectionStartNums[] = 0;
- // Object number of last processed PDF object.
- // Used to manage cross-reference subsections.
- // Initialized by zero (specail case - header of linked list of free objects).
- $lastObjNum = 0;
-
- if ($outputStream !== null) {
- if (!$newSegmentOnly) {
- $pdfData = $this->_trailer->getPDFString();
- while ( strlen($pdfData) > 0 && ($byteCount = fwrite($outputStream, $pdfData)) != false ) {
- $pdfData = substr($pdfData, $byteCount);
- }
- }
- } else {
- $pdfSegmentBlocks = ($newSegmentOnly) ? array() : array($this->_trailer->getPDFString());
- }
-
- // Iterate objects to create new reference table
- foreach ($this->_objFactory->listModifiedObjects() as $updateInfo) {
- $objNum = $updateInfo->getObjNum();
-
- if ($objNum - $lastObjNum != 1) {
- // Save cross-reference table subsection and start new one
- $xrefTable[] = $xrefSection;
- $xrefSection = array();
- $xrefSectionStartNums[] = $objNum;
- }
-
- if ($updateInfo->isFree()) {
- // Free object cross-reference table entry
- $xrefSection[] = sprintf("%010d %05d f \n", $lastFreeObject, $updateInfo->getGenNum());
- $lastFreeObject = $objNum;
- } else {
- // In-use object cross-reference table entry
- $xrefSection[] = sprintf("%010d %05d n \n", $offset, $updateInfo->getGenNum());
-
- $pdfBlock = $updateInfo->getObjectDump();
- $offset += strlen($pdfBlock);
-
- if ($outputStream === null) {
- $pdfSegmentBlocks[] = $pdfBlock;
- } else {
- while ( strlen($pdfBlock) > 0 && ($byteCount = fwrite($outputStream, $pdfBlock)) != false ) {
- $pdfBlock = substr($pdfBlock, $byteCount);
- }
- }
- }
- $lastObjNum = $objNum;
- }
- // Save last cross-reference table subsection
- $xrefTable[] = $xrefSection;
-
- // Modify first entry (specail case - header of linked list of free objects).
- $xrefTable[0][0] = sprintf("%010d 65535 f \n", $lastFreeObject);
-
- $xrefTableStr = "xref\n";
- foreach ($xrefTable as $sectId => $xrefSection) {
- $xrefTableStr .= sprintf("%d %d \n", $xrefSectionStartNums[$sectId], count($xrefSection));
- foreach ($xrefSection as $xrefTableEntry) {
- $xrefTableStr .= $xrefTableEntry;
- }
- }
-
- $this->_trailer->Size->value = $this->_objFactory->getObjectCount();
-
- $pdfBlock = $xrefTableStr
- . $this->_trailer->toString()
- . "startxref\n" . $offset . "\n"
- . "%%EOF\n";
-
- $this->_objFactory->cleanEnumerationShiftCache();
-
- if ($outputStream === null) {
- $pdfSegmentBlocks[] = $pdfBlock;
-
- return implode('', $pdfSegmentBlocks);
- } else {
- while ( strlen($pdfBlock) > 0 && ($byteCount = fwrite($outputStream, $pdfBlock)) != false ) {
- $pdfBlock = substr($pdfBlock, $byteCount);
- }
-
- return '';
- }
- }
-
-
- /**
- * Set the document-level JavaScript
- *
- * @param string $javascript
- */
- public function setJavaScript($javascript)
- {
- $this->_javaScript = $javascript;
- }
-
-
- /**
- * Convert date to PDF format (it's close to ASN.1 (Abstract Syntax Notation
- * One) defined in ISO/IEC 8824).
- *
- * @todo This really isn't the best location for this method. It should
- * probably actually exist as Zend_Pdf_Element_Date or something like that.
- *
- * @todo Address the following E_STRICT issue:
- * PHP Strict Standards: date(): It is not safe to rely on the system's
- * timezone settings. Please use the date.timezone setting, the TZ
- * environment variable or the date_default_timezone_set() function. In
- * case you used any of those methods and you are still getting this
- * warning, you most likely misspelled the timezone identifier.
- *
- * @param integer $timestamp (optional) If omitted, uses the current time.
- * @return string
- */
- public static function pdfDate($timestamp = null)
- {
- if ($timestamp === null) {
- $date = date('\D\:YmdHisO');
- } else {
- $date = date('\D\:YmdHisO', $timestamp);
- }
- return substr_replace($date, '\'', -2, 0) . '\'';
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Action.php b/airtime_mvc/library/Zend/Pdf/Action.php
deleted file mode 100644
index d649893b5..000000000
--- a/airtime_mvc/library/Zend/Pdf/Action.php
+++ /dev/null
@@ -1,404 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$dictionary mast be a direct or an indirect dictionary object.');
- }
-
- $this->_actionDictionary = $dictionary;
-
- if ($dictionary->Next !== null) {
- if ($dictionary->Next instanceof Zend_Pdf_Element_Dictionary) {
- // Check if dictionary object is not already processed
- if (!$processedActions->contains($dictionary->Next)) {
- $processedActions->attach($dictionary->Next);
- $this->next[] = Zend_Pdf_Action::load($dictionary->Next, $processedActions);
- }
- } else if ($dictionary->Next instanceof Zend_Pdf_Element_Array) {
- foreach ($dictionary->Next->items as $chainedActionDictionary) {
- // Check if dictionary object is not already processed
- if (!$processedActions->contains($chainedActionDictionary)) {
- $processedActions->attach($chainedActionDictionary);
- $this->next[] = Zend_Pdf_Action::load($chainedActionDictionary, $processedActions);
- }
- }
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('PDF Action dictionary Next entry must be a dictionary or an array.');
- }
- }
-
- $this->_originalNextList = $this->next;
- }
-
- /**
- * Load PDF action object using specified dictionary
- *
- * @internal
- * @param Zend_Pdf_Element $dictionary (It's actually Dictionary or Dictionary Object or Reference to a Dictionary Object)
- * @param SplObjectStorage $processedActions list of already processed action dictionaries, used to avoid cyclic references
- * @return Zend_Pdf_Action
- * @throws Zend_Pdf_Exception
- */
- public static function load(Zend_Pdf_Element $dictionary, SplObjectStorage $processedActions = null)
- {
- if ($processedActions === null) {
- $processedActions = new SplObjectStorage();
- }
-
- require_once 'Zend/Pdf/Element.php';
- if ($dictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$dictionary mast be a direct or an indirect dictionary object.');
- }
- if (isset($dictionary->Type) && $dictionary->Type->value != 'Action') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Action dictionary Type entry must be set to \'Action\'.');
- }
-
- if ($dictionary->S === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Action dictionary must contain S entry');
- }
-
- switch ($dictionary->S->value) {
- case 'GoTo':
- require_once 'Zend/Pdf/Action/GoTo.php';
- return new Zend_Pdf_Action_GoTo($dictionary, $processedActions);
- brake;
-
- case 'GoToR':
- require_once 'Zend/Pdf/Action/GoToR.php';
- return new Zend_Pdf_Action_GoToR($dictionary, $processedActions);
- brake;
-
- case 'GoToE':
- require_once 'Zend/Pdf/Action/GoToE.php';
- return new Zend_Pdf_Action_GoToE($dictionary, $processedActions);
- brake;
-
- case 'Launch':
- require_once 'Zend/Pdf/Action/Launch.php';
- return new Zend_Pdf_Action_Launch($dictionary, $processedActions);
- brake;
-
- case 'Thread':
- require_once 'Zend/Pdf/Action/Thread.php';
- return new Zend_Pdf_Action_Thread($dictionary, $processedActions);
- brake;
-
- case 'URI':
- require_once 'Zend/Pdf/Action/URI.php';
- return new Zend_Pdf_Action_URI($dictionary, $processedActions);
- brake;
-
- case 'Sound':
- require_once 'Zend/Pdf/Action/Sound.php';
- return new Zend_Pdf_Action_Sound($dictionary, $processedActions);
- brake;
-
- case 'Movie':
- require_once 'Zend/Pdf/Action/Movie.php';
- return new Zend_Pdf_Action_Movie($dictionary, $processedActions);
- brake;
-
- case 'Hide':
- require_once 'Zend/Pdf/Action/Hide.php';
- return new Zend_Pdf_Action_Hide($dictionary, $processedActions);
- brake;
-
- case 'Named':
- require_once 'Zend/Pdf/Action/Named.php';
- return new Zend_Pdf_Action_Named($dictionary, $processedActions);
- brake;
-
- case 'SubmitForm':
- require_once 'Zend/Pdf/Action/SubmitForm.php';
- return new Zend_Pdf_Action_SubmitForm($dictionary, $processedActions);
- brake;
-
- case 'ResetForm':
- require_once 'Zend/Pdf/Action/ResetForm.php';
- return new Zend_Pdf_Action_ResetForm($dictionary, $processedActions);
- brake;
-
- case 'ImportData':
- require_once 'Zend/Pdf/Action/ImportData.php';
- return new Zend_Pdf_Action_ImportData($dictionary, $processedActions);
- brake;
-
- case 'JavaScript':
- require_once 'Zend/Pdf/Action/JavaScript.php';
- return new Zend_Pdf_Action_JavaScript($dictionary, $processedActions);
- brake;
-
- case 'SetOCGState':
- require_once 'Zend/Pdf/Action/SetOCGState.php';
- return new Zend_Pdf_Action_SetOCGState($dictionary, $processedActions);
- brake;
-
- case 'Rendition':
- require_once 'Zend/Pdf/Action/Rendition.php';
- return new Zend_Pdf_Action_Rendition($dictionary, $processedActions);
- brake;
-
- case 'Trans':
- require_once 'Zend/Pdf/Action/Trans.php';
- return new Zend_Pdf_Action_Trans($dictionary, $processedActions);
- brake;
-
- case 'GoTo3DView':
- require_once 'Zend/Pdf/Action/GoTo3DView.php';
- return new Zend_Pdf_Action_GoTo3DView($dictionary, $processedActions);
- brake;
-
- default:
- require_once 'Zend/Pdf/Action/Unknown.php';
- return new Zend_Pdf_Action_Unknown($dictionary, $processedActions);
- brake;
- }
- }
-
- /**
- * Get resource
- *
- * @internal
- * @return Zend_Pdf_Element
- */
- public function getResource()
- {
- return $this->_actionDictionary;
- }
-
- /**
- * Dump Action and its child actions into PDF structures
- *
- * Returns dictionary indirect object or reference
- *
- * @internal
- * @param Zend_Pdf_ElementFactory $factory Object factory for newly created indirect objects
- * @param SplObjectStorage $processedActions list of already processed actions (used to prevent infinity loop caused by cyclic references)
- * @return Zend_Pdf_Element_Object|Zend_Pdf_Element_Reference Dictionary indirect object
- */
- public function dumpAction(Zend_Pdf_ElementFactory_Interface $factory, SplObjectStorage $processedActions = null)
- {
- if ($processedActions === null) {
- $processedActions = new SplObjectStorage();
- }
- if ($processedActions->contains($this)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Action chain cyclyc reference is detected.');
- }
- $processedActions->attach($this);
-
- $childListUpdated = false;
- if (count($this->_originalNextList) != count($this->next)) {
- // If original and current children arrays have different size then children list was updated
- $childListUpdated = true;
- } else if ( !(array_keys($this->_originalNextList) === array_keys($this->next)) ) {
- // If original and current children arrays have different keys (with a glance to an order) then children list was updated
- $childListUpdated = true;
- } else {
- foreach ($this->next as $key => $childAction) {
- if ($this->_originalNextList[$key] !== $childAction) {
- $childListUpdated = true;
- break;
- }
- }
- }
-
- if ($childListUpdated) {
- $this->_actionDictionary->touch();
- switch (count($this->next)) {
- case 0:
- $this->_actionDictionary->Next = null;
- break;
-
- case 1:
- $child = reset($this->next);
- $this->_actionDictionary->Next = $child->dumpAction($factory, $processedActions);
- break;
-
- default:
- require_once 'Zend/Pdf/Element/Array.php';
- $pdfChildArray = new Zend_Pdf_Element_Array();
- foreach ($this->next as $child) {
-
- $pdfChildArray->items[] = $child->dumpAction($factory, $processedActions);
- }
- $this->_actionDictionary->Next = $pdfChildArray;
- break;
- }
- } else {
- foreach ($this->next as $child) {
- $child->dumpAction($factory, $processedActions);
- }
- }
-
- if ($this->_actionDictionary instanceof Zend_Pdf_Element_Dictionary) {
- // It's a newly created action. Register it within object factory and return indirect object
- return $factory->newObject($this->_actionDictionary);
- } else {
- // It's a loaded object
- return $this->_actionDictionary;
- }
- }
-
-
- ////////////////////////////////////////////////////////////////////////
- // RecursiveIterator interface methods
- //////////////
-
- /**
- * Returns current child action.
- *
- * @return Zend_Pdf_Action
- */
- public function current()
- {
- return current($this->next);
- }
-
- /**
- * Returns current iterator key
- *
- * @return integer
- */
- public function key()
- {
- return key($this->next);
- }
-
- /**
- * Go to next child
- */
- public function next()
- {
- return next($this->next);
- }
-
- /**
- * Rewind children
- */
- public function rewind()
- {
- return reset($this->next);
- }
-
- /**
- * Check if current position is valid
- *
- * @return boolean
- */
- public function valid()
- {
- return current($this->next) !== false;
- }
-
- /**
- * Returns the child action.
- *
- * @return Zend_Pdf_Action|null
- */
- public function getChildren()
- {
- return current($this->next);
- }
-
- /**
- * Implements RecursiveIterator interface.
- *
- * @return bool whether container has any pages
- */
- public function hasChildren()
- {
- return count($this->next) > 0;
- }
-
-
- ////////////////////////////////////////////////////////////////////////
- // Countable interface methods
- //////////////
-
- /**
- * count()
- *
- * @return int
- */
- public function count()
- {
- return count($this->childOutlines);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Action/GoTo.php b/airtime_mvc/library/Zend/Pdf/Action/GoTo.php
deleted file mode 100644
index 91bc286bc..000000000
--- a/airtime_mvc/library/Zend/Pdf/Action/GoTo.php
+++ /dev/null
@@ -1,116 +0,0 @@
-_destination = Zend_Pdf_Destination::load($dictionary->D);
- }
-
- /**
- * Create new Zend_Pdf_Action_GoTo object using specified destination
- *
- * @param Zend_Pdf_Destination|string $destination
- * @return Zend_Pdf_Action_GoTo
- */
- public static function create($destination)
- {
- if (is_string($destination)) {
- require_once 'Zend/Pdf/Destination/Named.php';
- $destination = Zend_Pdf_Destination_Named::create($destination);
- }
-
- if (!$destination instanceof Zend_Pdf_Destination) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$destination parameter must be a Zend_Pdf_Destination object or string.');
- }
-
- $dictionary = new Zend_Pdf_Element_Dictionary();
- $dictionary->Type = new Zend_Pdf_Element_Name('Action');
- $dictionary->S = new Zend_Pdf_Element_Name('GoTo');
- $dictionary->Next = null;
- $dictionary->D = $destination->getResource();
-
- return new Zend_Pdf_Action_GoTo($dictionary, new SplObjectStorage());
- }
-
- /**
- * Set goto action destination
- *
- * @param Zend_Pdf_Destination|string $destination
- * @return Zend_Pdf_Action_GoTo
- */
- public function setDestination(Zend_Pdf_Destination $destination)
- {
- $this->_destination = $destination;
-
- $this->_actionDictionary->touch();
- $this->_actionDictionary->D = $destination->getResource();
-
- return $this;
- }
-
- /**
- * Get goto action destination
- *
- * @return Zend_Pdf_Destination
- */
- public function getDestination()
- {
- return $this->_destination;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Action/GoTo3DView.php b/airtime_mvc/library/Zend/Pdf/Action/GoTo3DView.php
deleted file mode 100644
index 8b786e8e5..000000000
--- a/airtime_mvc/library/Zend/Pdf/Action/GoTo3DView.php
+++ /dev/null
@@ -1,39 +0,0 @@
-URI === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('URI action dictionary entry is required');
- }
- }
-
- /**
- * Validate URI
- *
- * @param string $uri
- * @return true
- * @throws Zend_Pdf_Exception
- */
- protected static function _validateUri($uri)
- {
- $scheme = parse_url((string)$uri, PHP_URL_SCHEME);
- if ($scheme === false || $scheme === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Invalid URI');
- }
- }
-
- /**
- * Create new Zend_Pdf_Action_URI object using specified uri
- *
- * @param string $uri The URI to resolve, encoded in 7-bit ASCII
- * @param boolean $isMap A flag specifying whether to track the mouse position when the URI is resolved
- * @return Zend_Pdf_Action_URI
- */
- public static function create($uri, $isMap = false)
- {
- self::_validateUri($uri);
-
- $dictionary = new Zend_Pdf_Element_Dictionary();
- $dictionary->Type = new Zend_Pdf_Element_Name('Action');
- $dictionary->S = new Zend_Pdf_Element_Name('URI');
- $dictionary->Next = null;
- $dictionary->URI = new Zend_Pdf_Element_String($uri);
- if ($isMap) {
- $dictionary->IsMap = new Zend_Pdf_Element_Boolean(true);
- }
-
- return new Zend_Pdf_Action_URI($dictionary, new SplObjectStorage());
- }
-
- /**
- * Set URI to resolve
- *
- * @param string $uri The uri to resolve, encoded in 7-bit ASCII.
- * @return Zend_Pdf_Action_URI
- */
- public function setUri($uri)
- {
- $this->_validateUri($uri);
-
- $this->_actionDictionary->touch();
- $this->_actionDictionary->URI = new Zend_Pdf_Element_String($uri);
-
- return $this;
- }
-
- /**
- * Get URI to resolve
- *
- * @return string
- */
- public function getUri()
- {
- return $this->_actionDictionary->URI->value;
- }
-
- /**
- * Set IsMap property
- *
- * If the IsMap flag is true and the user has triggered the URI action by clicking
- * an annotation, the coordinates of the mouse position at the time the action is
- * performed should be transformed from device space to user space and then offset
- * relative to the upper-left corner of the annotation rectangle.
- *
- * @param boolean $isMap A flag specifying whether to track the mouse position when the URI is resolved
- * @return Zend_Pdf_Action_URI
- */
- public function setIsMap($isMap)
- {
- $this->_actionDictionary->touch();
-
- if ($isMap) {
- $this->_actionDictionary->IsMap = new Zend_Pdf_Element_Boolean(true);
- } else {
- $this->_actionDictionary->IsMap = null;
- }
-
- return $this;
- }
-
- /**
- * Get IsMap property
- *
- * If the IsMap flag is true and the user has triggered the URI action by clicking
- * an annotation, the coordinates of the mouse position at the time the action is
- * performed should be transformed from device space to user space and then offset
- * relative to the upper-left corner of the annotation rectangle.
- *
- * @return boolean
- */
- public function getIsMap()
- {
- return $this->_actionDictionary->IsMap !== null &&
- $this->_actionDictionary->IsMap->value;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Action/Unknown.php b/airtime_mvc/library/Zend/Pdf/Action/Unknown.php
deleted file mode 100644
index 0131f55ae..000000000
--- a/airtime_mvc/library/Zend/Pdf/Action/Unknown.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_annotationDictionary;
- }
-
-
- /**
- * Set bottom edge of the annotation rectangle.
- *
- * @param float $bottom
- * @return Zend_Pdf_Annotation
- */
- public function setBottom($bottom) {
- $this->_annotationDictionary->Rect->items[1]->touch();
- $this->_annotationDictionary->Rect->items[1]->value = $bottom;
-
- return $this;
- }
-
- /**
- * Get bottom edge of the annotation rectangle.
- *
- * @return float
- */
- public function getBottom() {
- return $this->_annotationDictionary->Rect->items[1]->value;
- }
-
- /**
- * Set top edge of the annotation rectangle.
- *
- * @param float $top
- * @return Zend_Pdf_Annotation
- */
- public function setTop($top) {
- $this->_annotationDictionary->Rect->items[3]->touch();
- $this->_annotationDictionary->Rect->items[3]->value = $top;
-
- return $this;
- }
-
- /**
- * Get top edge of the annotation rectangle.
- *
- * @return float
- */
- public function getTop() {
- return $this->_annotationDictionary->Rect->items[3]->value;
- }
-
- /**
- * Set right edge of the annotation rectangle.
- *
- * @param float $right
- * @return Zend_Pdf_Annotation
- */
- public function setRight($right) {
- $this->_annotationDictionary->Rect->items[2]->touch();
- $this->_annotationDictionary->Rect->items[2]->value = $right;
-
- return $this;
- }
-
- /**
- * Get right edge of the annotation rectangle.
- *
- * @return float
- */
- public function getRight() {
- return $this->_annotationDictionary->Rect->items[2]->value;
- }
-
- /**
- * Set left edge of the annotation rectangle.
- *
- * @param float $left
- * @return Zend_Pdf_Annotation
- */
- public function setLeft($left) {
- $this->_annotationDictionary->Rect->items[0]->touch();
- $this->_annotationDictionary->Rect->items[0]->value = $left;
-
- return $this;
- }
-
- /**
- * Get left edge of the annotation rectangle.
- *
- * @return float
- */
- public function getLeft() {
- return $this->_annotationDictionary->Rect->items[0]->value;
- }
-
- /**
- * Return text to be displayed for the annotation or, if this type of annotation
- * does not display text, an alternate description of the annotation’s contents
- * in human-readable form.
- *
- * @return string
- */
- public function getText() {
- if ($this->_annotationDictionary->Contents === null) {
- return '';
- }
-
- return $this->_annotationDictionary->Contents->value;
- }
-
- /**
- * Set text to be displayed for the annotation or, if this type of annotation
- * does not display text, an alternate description of the annotation’s contents
- * in human-readable form.
- *
- * @param string $text
- * @return Zend_Pdf_Annotation
- */
- public function setText($text) {
- require_once 'Zend/Pdf/Element/String.php';
-
- if ($this->_annotationDictionary->Contents === null) {
- $this->_annotationDictionary->touch();
- $this->_annotationDictionary->Contents = new Zend_Pdf_Element_String($text);
- } else {
- $this->_annotationDictionary->Contents->touch();
- $this->_annotationDictionary->Contents->value = new Zend_Pdf_Element_String($text);
- }
-
- return $this;
- }
-
- /**
- * Annotation object constructor
- *
- * @throws Zend_Pdf_Exception
- */
- public function __construct(Zend_Pdf_Element $annotationDictionary)
- {
- if ($annotationDictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.');
- }
-
- $this->_annotationDictionary = $annotationDictionary;
-
- if ($this->_annotationDictionary->Type !== null &&
- $this->_annotationDictionary->Type->value != 'Annot') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong resource type. \'Annot\' expected.');
- }
-
- if ($this->_annotationDictionary->Rect === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('\'Rect\' dictionary entry is required.');
- }
-
- if (count($this->_annotationDictionary->Rect->items) != 4 ||
- $this->_annotationDictionary->Rect->items[0]->getType() != Zend_Pdf_Element::TYPE_NUMERIC ||
- $this->_annotationDictionary->Rect->items[1]->getType() != Zend_Pdf_Element::TYPE_NUMERIC ||
- $this->_annotationDictionary->Rect->items[2]->getType() != Zend_Pdf_Element::TYPE_NUMERIC ||
- $this->_annotationDictionary->Rect->items[3]->getType() != Zend_Pdf_Element::TYPE_NUMERIC ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('\'Rect\' dictionary entry must be an array of four numeric elements.');
- }
- }
-
- /**
- * Load Annotation object from a specified resource
- *
- * @internal
- * @param $destinationArray
- * @return Zend_Pdf_Annotation
- */
- public static function load(Zend_Pdf_Element $resource)
- {
- /** @todo implementation */
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Annotation/FileAttachment.php b/airtime_mvc/library/Zend/Pdf/Annotation/FileAttachment.php
deleted file mode 100644
index a17aea14c..000000000
--- a/airtime_mvc/library/Zend/Pdf/Annotation/FileAttachment.php
+++ /dev/null
@@ -1,101 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.');
- }
-
- if ($annotationDictionary->Subtype === null ||
- $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME ||
- $annotationDictionary->Subtype->value != 'FileAttachment') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Subtype => FileAttachment entry is requires');
- }
-
- parent::__construct($annotationDictionary);
- }
-
- /**
- * Create link annotation object
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param string $fileSpecification
- * @return Zend_Pdf_Annotation_FileAttachment
- */
- public static function create($x1, $y1, $x2, $y2, $fileSpecification)
- {
- $annotationDictionary = new Zend_Pdf_Element_Dictionary();
-
- $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot');
- $annotationDictionary->Subtype = new Zend_Pdf_Element_Name('FileAttachment');
-
- $rectangle = new Zend_Pdf_Element_Array();
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2);
- $annotationDictionary->Rect = $rectangle;
-
- $fsDictionary = new Zend_Pdf_Element_Dictionary();
- $fsDictionary->Type = new Zend_Pdf_Element_Name('Filespec');
- $fsDictionary->F = new Zend_Pdf_Element_String($fileSpecification);
-
- $annotationDictionary->FS = $fsDictionary;
-
-
- return new Zend_Pdf_Annotation_FileAttachment($annotationDictionary);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Annotation/Link.php b/airtime_mvc/library/Zend/Pdf/Annotation/Link.php
deleted file mode 100644
index cb8a70a41..000000000
--- a/airtime_mvc/library/Zend/Pdf/Annotation/Link.php
+++ /dev/null
@@ -1,162 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.');
- }
-
- if ($annotationDictionary->Subtype === null ||
- $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME ||
- $annotationDictionary->Subtype->value != 'Link') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Subtype => Link entry is requires');
- }
-
- parent::__construct($annotationDictionary);
- }
-
- /**
- * Create link annotation object
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param Zend_Pdf_Target|string $target
- * @return Zend_Pdf_Annotation_Link
- */
- public static function create($x1, $y1, $x2, $y2, $target)
- {
- if (is_string($target)) {
- require_once 'Zend/Pdf/Destination/Named.php';
- $destination = Zend_Pdf_Destination_Named::create($target);
- }
- if (!$target instanceof Zend_Pdf_Target) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$target parameter must be a Zend_Pdf_Target object or a string.');
- }
-
- $annotationDictionary = new Zend_Pdf_Element_Dictionary();
-
- $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot');
- $annotationDictionary->Subtype = new Zend_Pdf_Element_Name('Link');
-
- $rectangle = new Zend_Pdf_Element_Array();
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2);
- $annotationDictionary->Rect = $rectangle;
-
- if ($target instanceof Zend_Pdf_Destination) {
- $annotationDictionary->Dest = $target->getResource();
- } else {
- $annotationDictionary->A = $target->getResource();
- }
-
- return new Zend_Pdf_Annotation_Link($annotationDictionary);
- }
-
- /**
- * Set link annotation destination
- *
- * @param Zend_Pdf_Target|string $target
- * @return Zend_Pdf_Annotation_Link
- */
- public function setDestination($target)
- {
- if (is_string($target)) {
- require_once 'Zend/Pdf/Destination/Named.php';
- $destination = Zend_Pdf_Destination_Named::create($target);
- }
- if (!$target instanceof Zend_Pdf_Target) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$target parameter must be a Zend_Pdf_Target object or a string.');
- }
-
- $this->_annotationDictionary->touch();
- $this->_annotationDictionary->Dest = $destination->getResource();
- if ($target instanceof Zend_Pdf_Destination) {
- $this->_annotationDictionary->Dest = $target->getResource();
- $this->_annotationDictionary->A = null;
- } else {
- $this->_annotationDictionary->Dest = null;
- $this->_annotationDictionary->A = $target->getResource();
- }
-
- return $this;
- }
-
- /**
- * Get link annotation destination
- *
- * @return Zend_Pdf_Target|null
- */
- public function getDestination()
- {
- if ($this->_annotationDictionary->Dest === null &&
- $this->_annotationDictionary->A === null) {
- return null;
- }
-
- if ($this->_annotationDictionary->Dest !== null) {
- require_once 'Zend/Pdf/Destination.php';
- return Zend_Pdf_Destination::load($this->_annotationDictionary->Dest);
- } else {
- require_once 'Zend/Pdf/Action.php';
- return Zend_Pdf_Action::load($this->_annotationDictionary->A);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Annotation/Markup.php b/airtime_mvc/library/Zend/Pdf/Annotation/Markup.php
deleted file mode 100644
index 17c355e68..000000000
--- a/airtime_mvc/library/Zend/Pdf/Annotation/Markup.php
+++ /dev/null
@@ -1,141 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.');
- }
-
- if ($annotationDictionary->Subtype === null ||
- $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME ||
- !in_array( $annotationDictionary->Subtype->value,
- array(self::SUBTYPE_HIGHLIGHT,
- self::SUBTYPE_UNDERLINE,
- self::SUBTYPE_SQUIGGLY,
- self::SUBTYPE_STRIKEOUT) )) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Subtype => Markup entry is omitted or has wrong value.');
- }
-
- parent::__construct($annotationDictionary);
- }
-
- /**
- * Create markup annotation object
- *
- * Text markup annotations appear as highlights, underlines, strikeouts or
- * jagged ("squiggly") underlines in the text of a document. When opened,
- * they display a pop-up window containing the text of the associated note.
- *
- * $subType parameter may contain
- * Zend_Pdf_Annotation_Markup::SUBTYPE_HIGHLIGHT
- * Zend_Pdf_Annotation_Markup::SUBTYPE_UNDERLINE
- * Zend_Pdf_Annotation_Markup::SUBTYPE_SQUIGGLY
- * Zend_Pdf_Annotation_Markup::SUBTYPE_STRIKEOUT
- * for for a highlight, underline, squiggly-underline, or strikeout annotation,
- * respectively.
- *
- * $quadPoints is an array of 8xN numbers specifying the coordinates of
- * N quadrilaterals default user space. Each quadrilateral encompasses a word or
- * group of contiguous words in the text underlying the annotation.
- * The coordinates for each quadrilateral are given in the order
- * x1 y1 x2 y2 x3 y3 x4 y4
- * specifying the quadrilateral’s four vertices in counterclockwise order
- * starting from left bottom corner.
- * The text is oriented with respect to the edge connecting points
- * (x1, y1) and (x2, y2).
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param string $text
- * @param string $subType
- * @param array $quadPoints [x1 y1 x2 y2 x3 y3 x4 y4]
- * @return Zend_Pdf_Annotation_Markup
- * @throws Zend_Pdf_Exception
- */
- public static function create($x1, $y1, $x2, $y2, $text, $subType, $quadPoints)
- {
- $annotationDictionary = new Zend_Pdf_Element_Dictionary();
-
- $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot');
- $annotationDictionary->Subtype = new Zend_Pdf_Element_Name($subType);
-
- $rectangle = new Zend_Pdf_Element_Array();
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2);
- $annotationDictionary->Rect = $rectangle;
-
- $annotationDictionary->Contents = new Zend_Pdf_Element_String($text);
-
- if (!is_array($quadPoints) || count($quadPoints) == 0 || count($quadPoints) % 8 != 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$quadPoints parameter must be an array of 8xN numbers');
- }
- $points = new Zend_Pdf_Element_Array();
- foreach ($quadPoints as $quadPoint) {
- $points->items[] = new Zend_Pdf_Element_Numeric($quadPoint);
- }
- $annotationDictionary->QuadPoints = $points;
-
- return new Zend_Pdf_Annotation_Markup($annotationDictionary);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Annotation/Text.php b/airtime_mvc/library/Zend/Pdf/Annotation/Text.php
deleted file mode 100644
index 1895485ea..000000000
--- a/airtime_mvc/library/Zend/Pdf/Annotation/Text.php
+++ /dev/null
@@ -1,95 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Annotation dictionary resource has to be a dictionary.');
- }
-
- if ($annotationDictionary->Subtype === null ||
- $annotationDictionary->Subtype->getType() != Zend_Pdf_Element::TYPE_NAME ||
- $annotationDictionary->Subtype->value != 'Text') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Subtype => Text entry is requires');
- }
-
- parent::__construct($annotationDictionary);
- }
-
- /**
- * Create link annotation object
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param string $text
- * @return Zend_Pdf_Annotation_Text
- */
- public static function create($x1, $y1, $x2, $y2, $text)
- {
- $annotationDictionary = new Zend_Pdf_Element_Dictionary();
-
- $annotationDictionary->Type = new Zend_Pdf_Element_Name('Annot');
- $annotationDictionary->Subtype = new Zend_Pdf_Element_Name('Text');
-
- $rectangle = new Zend_Pdf_Element_Array();
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y1);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($x2);
- $rectangle->items[] = new Zend_Pdf_Element_Numeric($y2);
- $annotationDictionary->Rect = $rectangle;
-
- $annotationDictionary->Contents = new Zend_Pdf_Element_String($text);
-
- return new Zend_Pdf_Annotation_Text($annotationDictionary);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Cmap.php b/airtime_mvc/library/Zend/Pdf/Cmap.php
deleted file mode 100644
index d009e4127..000000000
--- a/airtime_mvc/library/Zend/Pdf/Cmap.php
+++ /dev/null
@@ -1,336 +0,0 @@
-
- * {@link http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6cmap.html}
- * {@link http://www.microsoft.com/OpenType/OTSpec/cmap.htm}
- * {@link http://partners.adobe.com/public/developer/opentype/index_cmap.html}
- *
- *
- * @todo Write code for Zend_Pdf_FontCmap_HighByteMapping class.
- * @todo Write code for Zend_Pdf_FontCmap_MixedCoverage class.
- * @todo Write code for Zend_Pdf_FontCmap_TrimmedArray class.
- * @todo Write code for Zend_Pdf_FontCmap_SegmentedCoverage class.
- *
- * @package Zend_Pdf
- * @subpackage Fonts
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-abstract class Zend_Pdf_Cmap
-{
- /**** Class Constants ****/
-
-
- /* Cmap Table Types */
-
- /**
- * Byte Encoding character map table type.
- */
- const TYPE_BYTE_ENCODING = 0x00;
-
- /**
- * High Byte Mapping character map table type.
- */
- const TYPE_HIGH_BYTE_MAPPING = 0x02;
-
- /**
- * Segment Value to Delta Mapping character map table type.
- */
- const TYPE_SEGMENT_TO_DELTA = 0x04;
-
- /**
- * Trimmed Table character map table type.
- */
- const TYPE_TRIMMED_TABLE = 0x06;
-
- /**
- * Mixed Coverage character map table type.
- */
- const TYPE_MIXED_COVERAGE = 0x08;
-
- /**
- * Trimmed Array character map table type.
- */
- const TYPE_TRIMMED_ARRAY = 0x0a;
-
- /**
- * Segmented Coverage character map table type.
- */
- const TYPE_SEGMENTED_COVERAGE = 0x0c;
-
- /**
- * Static Byte Encoding character map table type. Variant of
- * {@link TYPE_BYTEENCODING}.
- */
- const TYPE_BYTE_ENCODING_STATIC = 0xf1;
-
- /**
- * Unknown character map table type.
- */
- const TYPE_UNKNOWN = 0xff;
-
-
- /* Special Glyph Names */
-
- /**
- * Glyph representing missing characters.
- */
- const MISSING_CHARACTER_GLYPH = 0x00;
-
-
-
- /**** Public Interface ****/
-
-
- /* Factory Methods */
-
- /**
- * Instantiates the appropriate concrete subclass based on the type of cmap
- * table and returns the instance.
- *
- * The cmap type must be one of the following values:
- *
- * {@link Zend_Pdf_Cmap::TYPE_BYTE_ENCODING}
- * {@link Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC}
- * {@link Zend_Pdf_Cmap::TYPE_HIGH_BYTE_MAPPING}
- * {@link Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA}
- * {@link Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE}
- * {@link Zend_Pdf_Cmap::TYPE_MIXED_COVERAGE}
- * {@link Zend_Pdf_Cmap::TYPE_TRIMMED_ARRAY}
- * {@link Zend_Pdf_Cmap::TYPE_SEGMENTED_COVERAGE}
- *
- *
- * Throws an exception if the table type is invalid or the cmap table data
- * cannot be validated.
- *
- * @param integer $cmapType Type of cmap.
- * @param mixed $cmapData Cmap table data. Usually a string or array.
- * @return Zend_Pdf_Cmap
- * @throws Zend_Pdf_Exception
- */
- public static function cmapWithTypeData($cmapType, $cmapData)
- {
- switch ($cmapType) {
- case Zend_Pdf_Cmap::TYPE_BYTE_ENCODING:
- require_once 'Zend/Pdf/Cmap/ByteEncoding.php';
- return new Zend_Pdf_Cmap_ByteEncoding($cmapData);
-
- case Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC:
- require_once 'Zend/Pdf/Cmap/ByteEncoding/Static.php';
- return new Zend_Pdf_Cmap_ByteEncoding_Static($cmapData);
-
- case Zend_Pdf_Cmap::TYPE_HIGH_BYTE_MAPPING:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('High byte mapping cmap currently unsupported',
- Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED);
-
- case Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA:
- require_once 'Zend/Pdf/Cmap/SegmentToDelta.php';
- return new Zend_Pdf_Cmap_SegmentToDelta($cmapData);
-
- case Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE:
- require_once 'Zend/Pdf/Cmap/TrimmedTable.php';
- return new Zend_Pdf_Cmap_TrimmedTable($cmapData);
-
- case Zend_Pdf_Cmap::TYPE_MIXED_COVERAGE:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Mixed coverage cmap currently unsupported',
- Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED);
-
- case Zend_Pdf_Cmap::TYPE_TRIMMED_ARRAY:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Trimmed array cmap currently unsupported',
- Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED);
-
- case Zend_Pdf_Cmap::TYPE_SEGMENTED_COVERAGE:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Segmented coverage cmap currently unsupported',
- Zend_Pdf_Exception::CMAP_TYPE_UNSUPPORTED);
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unknown cmap type: $cmapType",
- Zend_Pdf_Exception::CMAP_UNKNOWN_TYPE);
- }
- }
-
-
- /* Abstract Methods */
-
- /**
- * Object constructor
- *
- * Parses the raw binary table data. Throws an exception if the table is
- * malformed.
- *
- * @param string $cmapData Raw binary cmap table data.
- * @throws Zend_Pdf_Exception
- */
- abstract public function __construct($cmapData);
-
- /**
- * Returns an array of glyph numbers corresponding to the Unicode characters.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumberForCharacter()}.
- *
- * @param array $characterCodes Array of Unicode character codes (code points).
- * @return array Array of glyph numbers.
- */
- abstract public function glyphNumbersForCharacters($characterCodes);
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- abstract public function glyphNumberForCharacter($characterCode);
-
- /**
- * Returns an array containing the Unicode characters that have entries in
- * this character map.
- *
- * @return array Unicode character codes.
- */
- abstract public function getCoveredCharacters();
-
- /**
- * Returns an array containing the glyphs numbers that have entries in this character map.
- * Keys are Unicode character codes (integers)
- *
- * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters())
- * call, but this method do it in more effective way (prepare complete list instead of searching
- * glyph for each character code).
- *
- * @internal
- * @return array Array representing => pairs.
- */
- abstract public function getCoveredCharactersGlyphs();
-
-
- /**** Internal Methods ****/
-
-
- /* Internal Utility Methods */
-
- /**
- * Extracts a signed 2-byte integer from a string.
- *
- * Integers are always big-endian. Throws an exception if the index is out
- * of range.
- *
- * @param string &$data
- * @param integer $index Position in string of integer.
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- protected function _extractInt2(&$data, $index)
- {
- if (($index < 0) | (($index + 1) > strlen($data))) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Index out of range: $index",
- Zend_Pdf_Exception::INDEX_OUT_OF_RANGE);
- }
- $number = ord($data[$index]);
- if (($number & 0x80) == 0x80) { // negative
- $number = ~((((~ $number) & 0xff) << 8) | ((~ ord($data[++$index])) & 0xff));
- } else {
- $number = ($number << 8) | ord($data[++$index]);
- }
- return $number;
- }
-
- /**
- * Extracts an unsigned 2-byte integer from a string.
- *
- * Integers are always big-endian. Throws an exception if the index is out
- * of range.
- *
- * @param string &$data
- * @param integer $index Position in string of integer.
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- protected function _extractUInt2(&$data, $index)
- {
- if (($index < 0) | (($index + 1) > strlen($data))) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Index out of range: $index",
- Zend_Pdf_Exception::INDEX_OUT_OF_RANGE);
- }
- $number = (ord($data[$index]) << 8) | ord($data[++$index]);
- return $number;
- }
-
- /**
- * Extracts an unsigned 4-byte integer from a string.
- *
- * Integers are always big-endian. Throws an exception if the index is out
- * of range.
- *
- * NOTE: If you ask for a 4-byte unsigned integer on a 32-bit machine, the
- * resulting value WILL BE SIGNED because PHP uses signed integers internally
- * for everything. To guarantee portability, be sure to use bitwise or
- * similar operators on large integers!
- *
- * @param string &$data
- * @param integer $index Position in string of integer.
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- protected function _extractUInt4(&$data, $index)
- {
- if (($index < 0) | (($index + 3) > strlen($data))) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Index out of range: $index",
- Zend_Pdf_Exception::INDEX_OUT_OF_RANGE);
- }
- $number = (ord($data[$index]) << 24) | (ord($data[++$index]) << 16) |
- (ord($data[++$index]) << 8) | ord($data[++$index]);
- return $number;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Cmap/ByteEncoding.php b/airtime_mvc/library/Zend/Pdf/Cmap/ByteEncoding.php
deleted file mode 100644
index 7e7395c49..000000000
--- a/airtime_mvc/library/Zend/Pdf/Cmap/ByteEncoding.php
+++ /dev/null
@@ -1,447 +0,0 @@
- $characterCode) {
-
- if (! isset($this->_glyphIndexArray[$characterCode])) {
- $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- continue;
- }
-
- $glyphNumbers[$key] = $this->_glyphIndexArray[$characterCode];
-
- }
- return $glyphNumbers;
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- if (! isset($this->_glyphIndexArray[$characterCode])) {
- return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- }
- return $this->_glyphIndexArray[$characterCode];
- }
-
- /**
- * Returns an array containing the Unicode characters that have entries in
- * this character map.
- *
- * @return array Unicode character codes.
- */
- public function getCoveredCharacters()
- {
- return array_keys($this->_glyphIndexArray);
- }
-
- /**
- * Returns an array containing the glyphs numbers that have entries in this character map.
- * Keys are Unicode character codes (integers)
- *
- * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters())
- * call, but this method do it in more effective way (prepare complete list instead of searching
- * glyph for each character code).
- *
- * @internal
- * @return array Array representing => pairs.
- */
- public function getCoveredCharactersGlyphs()
- {
- return $this->_glyphIndexArray;
- }
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor
- *
- * Parses the raw binary table data. Throws an exception if the table is
- * malformed.
- *
- * @param string $cmapData Raw binary cmap table data.
- * @throws Zend_Pdf_Exception
- */
- public function __construct($cmapData)
- {
- /* Sanity check: This table must be exactly 262 bytes long.
- */
- $actualLength = strlen($cmapData);
- if ($actualLength != 262) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Insufficient table data',
- Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL);
- }
-
- /* Sanity check: Make sure this is right data for this table type.
- */
- $type = $this->_extractUInt2($cmapData, 0);
- if ($type != Zend_Pdf_Cmap::TYPE_BYTE_ENCODING) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong cmap table type',
- Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE);
- }
-
- $length = $this->_extractUInt2($cmapData, 2);
- if ($length != $actualLength) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)",
- Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH);
- }
-
- /* Mapping tables should be language-independent. The font may not work
- * as expected if they are not. Unfortunately, many font files in the
- * wild incorrectly record a language ID in this field, so we can't
- * call this a failure.
- */
- $language = $this->_extractUInt2($cmapData, 4);
- if ($language != 0) {
- // Record a warning here somehow?
- }
-
- /* The mapping between the Mac Roman and Unicode characters is static.
- * For simplicity, just put all 256 glyph indices into one array keyed
- * off the corresponding Unicode character.
- */
- $i = 6;
- $this->_glyphIndexArray[0x00] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x01] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x03] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x04] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x05] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x06] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x07] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x08] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x09] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x10] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x11] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x12] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x13] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x14] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x15] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x16] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x17] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x18] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x19] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x1a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x1b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x1c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x1d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x1e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x1f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x20] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x21] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x22] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x23] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x24] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x25] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x26] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x27] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x28] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x29] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x30] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x31] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x32] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x33] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x34] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x35] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x36] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x37] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x38] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x39] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x3a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x3b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x3c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x3d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x3e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x3f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x40] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x41] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x42] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x43] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x44] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x45] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x46] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x47] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x48] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x49] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x4a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x4b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x4c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x4d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x4e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x4f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x50] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x51] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x52] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x53] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x54] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x55] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x56] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x57] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x58] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x59] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x5a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x5b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x5c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x5d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x5e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x5f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x60] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x61] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x62] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x63] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x64] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x65] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x66] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x67] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x68] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x69] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x6a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x6b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x6c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x6d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x6e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x6f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x70] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x71] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x72] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x73] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x74] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x75] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x76] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x77] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x78] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x79] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x7a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x7b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x7c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x7d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x7e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x7f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc4] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc5] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc7] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd1] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd6] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xdc] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe1] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe0] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe2] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe4] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe3] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe5] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe7] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xea] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xeb] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xed] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xec] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xee] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xef] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf1] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf3] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf2] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf4] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf6] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf5] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xfa] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xfb] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xfc] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2020] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb0] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa2] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa3] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa7] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2022] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb6] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xdf] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xae] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2122] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb4] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2260] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc6] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x221e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb1] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2264] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2265] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa5] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb5] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2202] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2211] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x220f] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x03c0] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x222b] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xaa] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xba] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x03a9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xe6] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xbf] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa1] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xac] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x221a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0192] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2248] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2206] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xab] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xbb] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2026] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xa0] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc0] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc3] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd5] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0152] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0153] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2013] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2014] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x201c] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x201d] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2018] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2019] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf7] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x25ca] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xff] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0178] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2044] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x20ac] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2039] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x203a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xfb01] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xfb02] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2021] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb7] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x201a] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x201e] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x2030] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc2] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xca] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc1] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xcb] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xc8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xcd] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xce] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xcf] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xcc] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd3] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd4] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xf8ff] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd2] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xda] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xdb] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xd9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x0131] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02c6] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02dc] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xaf] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02d8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02d9] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02da] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0xb8] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02dd] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02db] = ord($cmapData[$i++]);
- $this->_glyphIndexArray[0x02c7] = ord($cmapData[$i]);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Cmap/ByteEncoding/Static.php b/airtime_mvc/library/Zend/Pdf/Cmap/ByteEncoding/Static.php
deleted file mode 100644
index a10f7b7a8..000000000
--- a/airtime_mvc/library/Zend/Pdf/Cmap/ByteEncoding/Static.php
+++ /dev/null
@@ -1,62 +0,0 @@
-_glyphIndexArray = $cmapData;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Cmap/SegmentToDelta.php b/airtime_mvc/library/Zend/Pdf/Cmap/SegmentToDelta.php
deleted file mode 100644
index b46e87648..000000000
--- a/airtime_mvc/library/Zend/Pdf/Cmap/SegmentToDelta.php
+++ /dev/null
@@ -1,407 +0,0 @@
- $characterCode) {
-
- /* These tables only cover the 16-bit character range.
- */
- if ($characterCode > 0xffff) {
- $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- continue;
- }
-
- /* Determine where to start the binary search. The segments are
- * ordered from lowest-to-highest. We are looking for the first
- * segment whose end code is greater than or equal to our character
- * code.
- *
- * If the end code at the top of the search range is larger, then
- * our target is probably below it.
- *
- * If it is smaller, our target is probably above it, so move the
- * search range to the end of the segment list.
- */
- if ($this->_searchRangeEndCode >= $characterCode) {
- $searchIndex = $this->_searchRange;
- } else {
- $searchIndex = $this->_segmentCount;
- }
-
- /* Now do a binary search to find the first segment whose end code
- * is greater or equal to our character code. No matter the number
- * of segments (there may be hundreds in a large font), we will only
- * need to perform $this->_searchIterations.
- */
- for ($i = 1; $i <= $this->_searchIterations; $i++) {
- if ($this->_segmentTableEndCodes[$searchIndex] >= $characterCode) {
- $subtableIndex = $searchIndex;
- $searchIndex -= $this->_searchRange >> $i;
- } else {
- $searchIndex += $this->_searchRange >> $i;
- }
- }
-
- /* If the segment's start code is greater than our character code,
- * that character is not represented in this font. Move on.
- */
- if ($this->_segmentTableStartCodes[$subtableIndex] > $characterCode) {
- $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- continue;
- }
-
- if ($this->_segmentTableIdRangeOffsets[$subtableIndex] == 0) {
- /* This segment uses a simple mapping from character code to
- * glyph number.
- */
- $glyphNumbers[$key] = ($characterCode + $this->_segmentTableIdDeltas[$subtableIndex]) % 65536;
-
- } else {
- /* This segment relies on the glyph index array to determine the
- * glyph number. The calculation below determines the correct
- * index into that array. It's a little odd because the range
- * offset in the font file is designed to quickly provide an
- * address of the index in the raw binary data instead of the
- * index itself. Since we've parsed the data into arrays, we
- * must process it a bit differently.
- */
- $glyphIndex = ($characterCode - $this->_segmentTableStartCodes[$subtableIndex] +
- $this->_segmentTableIdRangeOffsets[$subtableIndex] - $this->_segmentCount +
- $subtableIndex - 1);
- $glyphNumbers[$key] = $this->_glyphIndexArray[$glyphIndex];
-
- }
-
- }
- return $glyphNumbers;
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- /* This code is pretty much a copy of glyphNumbersForCharacters().
- * See that method for inline documentation.
- */
-
- if ($characterCode > 0xffff) {
- return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- }
-
- if ($this->_searchRangeEndCode >= $characterCode) {
- $searchIndex = $this->_searchRange;
- } else {
- $searchIndex = $this->_segmentCount;
- }
-
- for ($i = 1; $i <= $this->_searchIterations; $i++) {
- if ($this->_segmentTableEndCodes[$searchIndex] >= $characterCode) {
- $subtableIndex = $searchIndex;
- $searchIndex -= $this->_searchRange >> $i;
- } else {
- $searchIndex += $this->_searchRange >> $i;
- }
- }
-
- if ($this->_segmentTableStartCodes[$subtableIndex] > $characterCode) {
- return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- }
-
- if ($this->_segmentTableIdRangeOffsets[$subtableIndex] == 0) {
- $glyphNumber = ($characterCode + $this->_segmentTableIdDeltas[$subtableIndex]) % 65536;
- } else {
- $glyphIndex = ($characterCode - $this->_segmentTableStartCodes[$subtableIndex] +
- $this->_segmentTableIdRangeOffsets[$subtableIndex] - $this->_segmentCount +
- $subtableIndex - 1);
- $glyphNumber = $this->_glyphIndexArray[$glyphIndex];
- }
- return $glyphNumber;
- }
-
- /**
- * Returns an array containing the Unicode characters that have entries in
- * this character map.
- *
- * @return array Unicode character codes.
- */
- public function getCoveredCharacters()
- {
- $characterCodes = array();
- for ($i = 1; $i <= $this->_segmentCount; $i++) {
- for ($code = $this->_segmentTableStartCodes[$i]; $code <= $this->_segmentTableEndCodes[$i]; $code++) {
- $characterCodes[] = $code;
- }
- }
- return $characterCodes;
- }
-
-
- /**
- * Returns an array containing the glyphs numbers that have entries in this character map.
- * Keys are Unicode character codes (integers)
- *
- * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters())
- * call, but this method do it in more effective way (prepare complete list instead of searching
- * glyph for each character code).
- *
- * @internal
- * @return array Array representing => pairs.
- */
- public function getCoveredCharactersGlyphs()
- {
- $glyphNumbers = array();
-
- for ($segmentNum = 1; $segmentNum <= $this->_segmentCount; $segmentNum++) {
- if ($this->_segmentTableIdRangeOffsets[$segmentNum] == 0) {
- $delta = $this->_segmentTableIdDeltas[$segmentNum];
-
- for ($code = $this->_segmentTableStartCodes[$segmentNum];
- $code <= $this->_segmentTableEndCodes[$segmentNum];
- $code++) {
- $glyphNumbers[$code] = ($code + $delta) % 65536;
- }
- } else {
- $code = $this->_segmentTableStartCodes[$segmentNum];
- $glyphIndex = $this->_segmentTableIdRangeOffsets[$segmentNum] - ($this->_segmentCount - $segmentNum) - 1;
-
- while ($code <= $this->_segmentTableEndCodes[$segmentNum]) {
- $glyphNumbers[$code] = $this->_glyphIndexArray[$glyphIndex];
-
- $code++;
- $glyphIndex++;
- }
- }
- }
-
- return $glyphNumbers;
- }
-
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor
- *
- * Parses the raw binary table data. Throws an exception if the table is
- * malformed.
- *
- * @param string $cmapData Raw binary cmap table data.
- * @throws Zend_Pdf_Exception
- */
- public function __construct($cmapData)
- {
- /* Sanity check: The table should be at least 23 bytes in size.
- */
- $actualLength = strlen($cmapData);
- if ($actualLength < 23) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Insufficient table data',
- Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL);
- }
-
- /* Sanity check: Make sure this is right data for this table type.
- */
- $type = $this->_extractUInt2($cmapData, 0);
- if ($type != Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong cmap table type',
- Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE);
- }
-
- $length = $this->_extractUInt2($cmapData, 2);
- if ($length != $actualLength) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)",
- Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH);
- }
-
- /* Mapping tables should be language-independent. The font may not work
- * as expected if they are not. Unfortunately, many font files in the
- * wild incorrectly record a language ID in this field, so we can't
- * call this a failure.
- */
- $language = $this->_extractUInt2($cmapData, 4);
- if ($language != 0) {
- // Record a warning here somehow?
- }
-
- /* These two values are stored premultiplied by two which is convienent
- * when using the binary data directly, but we're parsing it out to
- * native PHP data types, so divide by two.
- */
- $this->_segmentCount = $this->_extractUInt2($cmapData, 6) >> 1;
- $this->_searchRange = $this->_extractUInt2($cmapData, 8) >> 1;
-
- $this->_searchIterations = $this->_extractUInt2($cmapData, 10) + 1;
-
- $offset = 14;
- for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) {
- $this->_segmentTableEndCodes[$i] = $this->_extractUInt2($cmapData, $offset);
- }
-
- $this->_searchRangeEndCode = $this->_segmentTableEndCodes[$this->_searchRange];
-
- $offset += 2; // reserved bytes
-
- for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) {
- $this->_segmentTableStartCodes[$i] = $this->_extractUInt2($cmapData, $offset);
- }
-
- for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) {
- $this->_segmentTableIdDeltas[$i] = $this->_extractInt2($cmapData, $offset); // signed
- }
-
- /* The range offset helps determine the index into the glyph index array.
- * Like the segment count and search range above, it's stored as a byte
- * multiple in the font, so divide by two as we extract the values.
- */
- for ($i = 1; $i <= $this->_segmentCount; $i++, $offset += 2) {
- $this->_segmentTableIdRangeOffsets[$i] = $this->_extractUInt2($cmapData, $offset) >> 1;
- }
-
- /* The size of the glyph index array varies by font and depends on the
- * extent of the usage of range offsets versus deltas. Some fonts may
- * not have any entries in this array.
- */
- for (; $offset < $length; $offset += 2) {
- $this->_glyphIndexArray[] = $this->_extractUInt2($cmapData, $offset);
- }
-
- /* Sanity check: After reading all of the data, we should be at the end
- * of the table.
- */
- if ($offset != $length) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Ending offset ($offset) does not match length ($length)",
- Zend_Pdf_Exception::CMAP_FINAL_OFFSET_NOT_LENGTH);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Cmap/TrimmedTable.php b/airtime_mvc/library/Zend/Pdf/Cmap/TrimmedTable.php
deleted file mode 100644
index 30ced8d19..000000000
--- a/airtime_mvc/library/Zend/Pdf/Cmap/TrimmedTable.php
+++ /dev/null
@@ -1,231 +0,0 @@
- $characterCode) {
-
- if (($characterCode < $this->_startCode) || ($characterCode > $this->_endCode)) {
- $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- continue;
- }
-
- $glyphIndex = $characterCode - $this->_startCode;
- $glyphNumbers[$key] = $this->_glyphIndexArray[$glyphIndex];
-
- }
- return $glyphNumbers;
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- if (($characterCode < $this->_startCode) || ($characterCode > $this->_endCode)) {
- return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH;
- }
- $glyphIndex = $characterCode - $this->_startCode;
- return $this->_glyphIndexArray[$glyphIndex];
- }
-
- /**
- * Returns an array containing the Unicode characters that have entries in
- * this character map.
- *
- * @return array Unicode character codes.
- */
- public function getCoveredCharacters()
- {
- $characterCodes = array();
- for ($code = $this->_startCode; $code <= $this->_endCode; $code++) {
- $characterCodes[] = $code;
- }
- return $characterCodes;
- }
-
-
- /**
- * Returns an array containing the glyphs numbers that have entries in this character map.
- * Keys are Unicode character codes (integers)
- *
- * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters())
- * call, but this method do it in more effective way (prepare complete list instead of searching
- * glyph for each character code).
- *
- * @internal
- * @return array Array representing => pairs.
- */
- public function getCoveredCharactersGlyphs()
- {
- $glyphNumbers = array();
- for ($code = $this->_startCode; $code <= $this->_endCode; $code++) {
- $glyphNumbers[$code] = $this->_glyphIndexArray[$code - $this->_startCode];
- }
-
- return $glyphNumbers;
- }
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor
- *
- * Parses the raw binary table data. Throws an exception if the table is
- * malformed.
- *
- * @param string $cmapData Raw binary cmap table data.
- * @throws Zend_Pdf_Exception
- */
- public function __construct($cmapData)
- {
- /* Sanity check: The table should be at least 9 bytes in size.
- */
- $actualLength = strlen($cmapData);
- if ($actualLength < 9) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Insufficient table data',
- Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL);
- }
-
- /* Sanity check: Make sure this is right data for this table type.
- */
- $type = $this->_extractUInt2($cmapData, 0);
- if ($type != Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong cmap table type',
- Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE);
- }
-
- $length = $this->_extractUInt2($cmapData, 2);
- if ($length != $actualLength) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)",
- Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH);
- }
-
- /* Mapping tables should be language-independent. The font may not work
- * as expected if they are not. Unfortunately, many font files in the
- * wild incorrectly record a language ID in this field, so we can't
- * call this a failure.
- */
- $language = $this->_extractUInt2($cmapData, 4);
- if ($language != 0) {
- // Record a warning here somehow?
- }
-
- $this->_startCode = $this->_extractUInt2($cmapData, 6);
-
- $entryCount = $this->_extractUInt2($cmapData, 8);
- $expectedCount = ($length - 10) >> 1;
- if ($entryCount != $expectedCount) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Entry count is wrong; expected: $expectedCount; actual: $entryCount",
- Zend_Pdf_Exception::CMAP_WRONG_ENTRY_COUNT);
- }
-
- $this->_endCode = $this->_startCode + $entryCount - 1;
-
- $offset = 10;
- for ($i = 0; $i < $entryCount; $i++, $offset += 2) {
- $this->_glyphIndexArray[] = $this->_extractUInt2($cmapData, $offset);
- }
-
- /* Sanity check: After reading all of the data, we should be at the end
- * of the table.
- */
- if ($offset != $length) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Ending offset ($offset) does not match length ($length)",
- Zend_Pdf_Exception::CMAP_FINAL_OFFSET_NOT_LENGTH);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Color.php b/airtime_mvc/library/Zend/Pdf/Color.php
deleted file mode 100644
index 652fca88e..000000000
--- a/airtime_mvc/library/Zend/Pdf/Color.php
+++ /dev/null
@@ -1,53 +0,0 @@
- 1) { $c = 1; }
-
- if ($m < 0) { $m = 0; }
- if ($m > 1) { $m = 1; }
-
- if ($y < 0) { $y = 0; }
- if ($y > 1) { $y = 1; }
-
- if ($k < 0) { $k = 0; }
- if ($k > 1) { $k = 1; }
-
- $this->_c = new Zend_Pdf_Element_Numeric($c);
- $this->_m = new Zend_Pdf_Element_Numeric($m);
- $this->_y = new Zend_Pdf_Element_Numeric($y);
- $this->_k = new Zend_Pdf_Element_Numeric($k);
- }
-
- /**
- * Instructions, which can be directly inserted into content stream
- * to switch color.
- * Color set instructions differ for stroking and nonstroking operations.
- *
- * @param boolean $stroking
- * @return string
- */
- public function instructions($stroking)
- {
- return $this->_c->toString() . ' '
- . $this->_m->toString() . ' '
- . $this->_y->toString() . ' '
- . $this->_k->toString() . ($stroking? " K\n" : " k\n");
- }
-
- /**
- * Get color components (color space dependent)
- *
- * @return array
- */
- public function getComponents()
- {
- return array($this->_c->value, $this->_m->value, $this->_y->value, $this->_k->value);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Color/GrayScale.php b/airtime_mvc/library/Zend/Pdf/Color/GrayScale.php
deleted file mode 100644
index b68c30f04..000000000
--- a/airtime_mvc/library/Zend/Pdf/Color/GrayScale.php
+++ /dev/null
@@ -1,84 +0,0 @@
- 1) { $grayLevel = 1; }
-
- $this->_grayLevel = new Zend_Pdf_Element_Numeric($grayLevel);
- }
-
- /**
- * Instructions, which can be directly inserted into content stream
- * to switch color.
- * Color set instructions differ for stroking and nonstroking operations.
- *
- * @param boolean $stroking
- * @return string
- */
- public function instructions($stroking)
- {
- return $this->_grayLevel->toString() . ($stroking? " G\n" : " g\n");
- }
-
- /**
- * Get color components (color space dependent)
- *
- * @return array
- */
- public function getComponents()
- {
- return array($this->_grayLevel->value);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Color/Html.php b/airtime_mvc/library/Zend/Pdf/Color/Html.php
deleted file mode 100644
index b931d3af0..000000000
--- a/airtime_mvc/library/Zend/Pdf/Color/Html.php
+++ /dev/null
@@ -1,412 +0,0 @@
-_color = self::color($color);
- }
-
-
- /**
- * Instructions, which can be directly inserted into content stream
- * to switch color.
- * Color set instructions differ for stroking and nonstroking operations.
- *
- * @param boolean $stroking
- * @return string
- */
- public function instructions($stroking)
- {
- return $this->_color->instructions($stroking);
- }
-
- /**
- * Get color components (color space dependent)
- *
- * @return array
- */
- public function getComponents()
- {
- return $this->_color->getComponents();
- }
-
- /**
- * Creates a Zend_Pdf_Color object from the HTML representation.
- *
- * @param string $color May either be a hexidecimal number of the form
- * #rrggbb or one of the 140 well-known names (black, white, blue, etc.)
- * @return Zend_Pdf_Color
- */
- public static function color($color)
- {
- $pattern = '/^#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})$/';
- if (preg_match($pattern, $color, $matches)) {
- $r = round((hexdec($matches[1]) / 255), 3);
- $g = round((hexdec($matches[2]) / 255), 3);
- $b = round((hexdec($matches[3]) / 255), 3);
- if (($r == $g) && ($g == $b)) {
- require_once 'Zend/Pdf/Color/GrayScale.php';
- return new Zend_Pdf_Color_GrayScale($r);
- } else {
- require_once 'Zend/Pdf/Color/Rgb.php';
- return new Zend_Pdf_Color_Rgb($r, $g, $b);
- }
- } else {
- return Zend_Pdf_Color_Html::namedColor($color);
- }
- }
-
- /**
- * Creates a Zend_Pdf_Color object from the named color.
- *
- * @param string $color One of the 140 well-known color names (black, white,
- * blue, etc.)
- * @return Zend_Pdf_Color
- */
- public static function namedColor($color)
- {
- switch (strtolower($color)) {
- case 'aqua':
- $r = 0.0; $g = 1.0; $b = 1.0; break;
- case 'black':
- $r = 0.0; $g = 0.0; $b = 0.0; break;
- case 'blue':
- $r = 0.0; $g = 0.0; $b = 1.0; break;
- case 'fuchsia':
- $r = 1.0; $g = 0.0; $b = 1.0; break;
- case 'gray':
- $r = 0.502; $g = 0.502; $b = 0.502; break;
- case 'green':
- $r = 0.0; $g = 0.502; $b = 0.0; break;
- case 'lime':
- $r = 0.0; $g = 1.0; $b = 0.0; break;
- case 'maroon':
- $r = 0.502; $g = 0.0; $b = 0.0; break;
- case 'navy':
- $r = 0.0; $g = 0.0; $b = 0.502; break;
- case 'olive':
- $r = 0.502; $g = 0.502; $b = 0.0; break;
- case 'purple':
- $r = 0.502; $g = 0.0; $b = 0.502; break;
- case 'red':
- $r = 1.0; $g = 0.0; $b = 0.0; break;
- case 'silver':
- $r = 0.753; $g = 0.753; $b = 0.753; break;
- case 'teal':
- $r = 0.0; $g = 0.502; $b = 0.502; break;
- case 'white':
- $r = 1.0; $g = 1.0; $b = 1.0; break;
- case 'yellow':
- $r = 1.0; $g = 1.0; $b = 0.0; break;
-
- case 'aliceblue':
- $r = 0.941; $g = 0.973; $b = 1.0; break;
- case 'antiquewhite':
- $r = 0.980; $g = 0.922; $b = 0.843; break;
- case 'aquamarine':
- $r = 0.498; $g = 1.0; $b = 0.831; break;
- case 'azure':
- $r = 0.941; $g = 1.0; $b = 1.0; break;
- case 'beige':
- $r = 0.961; $g = 0.961; $b = 0.863; break;
- case 'bisque':
- $r = 1.0; $g = 0.894; $b = 0.769; break;
- case 'blanchedalmond':
- $r = 1.0; $g = 1.0; $b = 0.804; break;
- case 'blueviolet':
- $r = 0.541; $g = 0.169; $b = 0.886; break;
- case 'brown':
- $r = 0.647; $g = 0.165; $b = 0.165; break;
- case 'burlywood':
- $r = 0.871; $g = 0.722; $b = 0.529; break;
- case 'cadetblue':
- $r = 0.373; $g = 0.620; $b = 0.627; break;
- case 'chartreuse':
- $r = 0.498; $g = 1.0; $b = 0.0; break;
- case 'chocolate':
- $r = 0.824; $g = 0.412; $b = 0.118; break;
- case 'coral':
- $r = 1.0; $g = 0.498; $b = 0.314; break;
- case 'cornflowerblue':
- $r = 0.392; $g = 0.584; $b = 0.929; break;
- case 'cornsilk':
- $r = 1.0; $g = 0.973; $b = 0.863; break;
- case 'crimson':
- $r = 0.863; $g = 0.078; $b = 0.235; break;
- case 'cyan':
- $r = 0.0; $g = 1.0; $b = 1.0; break;
- case 'darkblue':
- $r = 0.0; $g = 0.0; $b = 0.545; break;
- case 'darkcyan':
- $r = 0.0; $g = 0.545; $b = 0.545; break;
- case 'darkgoldenrod':
- $r = 0.722; $g = 0.525; $b = 0.043; break;
- case 'darkgray':
- $r = 0.663; $g = 0.663; $b = 0.663; break;
- case 'darkgreen':
- $r = 0.0; $g = 0.392; $b = 0.0; break;
- case 'darkkhaki':
- $r = 0.741; $g = 0.718; $b = 0.420; break;
- case 'darkmagenta':
- $r = 0.545; $g = 0.0; $b = 0.545; break;
- case 'darkolivegreen':
- $r = 0.333; $g = 0.420; $b = 0.184; break;
- case 'darkorange':
- $r = 1.0; $g = 0.549; $b = 0.0; break;
- case 'darkorchid':
- $r = 0.6; $g = 0.196; $b = 0.8; break;
- case 'darkred':
- $r = 0.545; $g = 0.0; $b = 0.0; break;
- case 'darksalmon':
- $r = 0.914; $g = 0.588; $b = 0.478; break;
- case 'darkseagreen':
- $r = 0.561; $g = 0.737; $b = 0.561; break;
- case 'darkslateblue':
- $r = 0.282; $g = 0.239; $b = 0.545; break;
- case 'darkslategray':
- $r = 0.184; $g = 0.310; $b = 0.310; break;
- case 'darkturquoise':
- $r = 0.0; $g = 0.808; $b = 0.820; break;
- case 'darkviolet':
- $r = 0.580; $g = 0.0; $b = 0.827; break;
- case 'deeppink':
- $r = 1.0; $g = 0.078; $b = 0.576; break;
- case 'deepskyblue':
- $r = 0.0; $g = 0.749; $b = 1.0; break;
- case 'dimgray':
- $r = 0.412; $g = 0.412; $b = 0.412; break;
- case 'dodgerblue':
- $r = 0.118; $g = 0.565; $b = 1.0; break;
- case 'firebrick':
- $r = 0.698; $g = 0.133; $b = 0.133; break;
- case 'floralwhite':
- $r = 1.0; $g = 0.980; $b = 0.941; break;
- case 'forestgreen':
- $r = 0.133; $g = 0.545; $b = 0.133; break;
- case 'gainsboro':
- $r = 0.863; $g = 0.863; $b = 0.863; break;
- case 'ghostwhite':
- $r = 0.973; $g = 0.973; $b = 1.0; break;
- case 'gold':
- $r = 1.0; $g = 0.843; $b = 0.0; break;
- case 'goldenrod':
- $r = 0.855; $g = 0.647; $b = 0.125; break;
- case 'greenyellow':
- $r = 0.678; $g = 1.0; $b = 0.184; break;
- case 'honeydew':
- $r = 0.941; $g = 1.0; $b = 0.941; break;
- case 'hotpink':
- $r = 1.0; $g = 0.412; $b = 0.706; break;
- case 'indianred':
- $r = 0.804; $g = 0.361; $b = 0.361; break;
- case 'indigo':
- $r = 0.294; $g = 0.0; $b = 0.510; break;
- case 'ivory':
- $r = 1.0; $g = 0.941; $b = 0.941; break;
- case 'khaki':
- $r = 0.941; $g = 0.902; $b = 0.549; break;
- case 'lavender':
- $r = 0.902; $g = 0.902; $b = 0.980; break;
- case 'lavenderblush':
- $r = 1.0; $g = 0.941; $b = 0.961; break;
- case 'lawngreen':
- $r = 0.486; $g = 0.988; $b = 0.0; break;
- case 'lemonchiffon':
- $r = 1.0; $g = 0.980; $b = 0.804; break;
- case 'lightblue':
- $r = 0.678; $g = 0.847; $b = 0.902; break;
- case 'lightcoral':
- $r = 0.941; $g = 0.502; $b = 0.502; break;
- case 'lightcyan':
- $r = 0.878; $g = 1.0; $b = 1.0; break;
- case 'lightgoldenrodyellow':
- $r = 0.980; $g = 0.980; $b = 0.824; break;
- case 'lightgreen':
- $r = 0.565; $g = 0.933; $b = 0.565; break;
- case 'lightgrey':
- $r = 0.827; $g = 0.827; $b = 0.827; break;
- case 'lightpink':
- $r = 1.0; $g = 0.714; $b = 0.757; break;
- case 'lightsalmon':
- $r = 1.0; $g = 0.627; $b = 0.478; break;
- case 'lightseagreen':
- $r = 0.125; $g = 0.698; $b = 0.667; break;
- case 'lightskyblue':
- $r = 0.529; $g = 0.808; $b = 0.980; break;
- case 'lightslategray':
- $r = 0.467; $g = 0.533; $b = 0.6; break;
- case 'lightsteelblue':
- $r = 0.690; $g = 0.769; $b = 0.871; break;
- case 'lightyellow':
- $r = 1.0; $g = 1.0; $b = 0.878; break;
- case 'limegreen':
- $r = 0.196; $g = 0.804; $b = 0.196; break;
- case 'linen':
- $r = 0.980; $g = 0.941; $b = 0.902; break;
- case 'magenta':
- $r = 1.0; $g = 0.0; $b = 1.0; break;
- case 'mediumaquamarine':
- $r = 0.4; $g = 0.804; $b = 0.667; break;
- case 'mediumblue':
- $r = 0.0; $g = 0.0; $b = 0.804; break;
- case 'mediumorchid':
- $r = 0.729; $g = 0.333; $b = 0.827; break;
- case 'mediumpurple':
- $r = 0.576; $g = 0.439; $b = 0.859; break;
- case 'mediumseagreen':
- $r = 0.235; $g = 0.702; $b = 0.443; break;
- case 'mediumslateblue':
- $r = 0.482; $g = 0.408; $b = 0.933; break;
- case 'mediumspringgreen':
- $r = 0.0; $g = 0.980; $b = 0.604; break;
- case 'mediumturquoise':
- $r = 0.282; $g = 0.820; $b = 0.8; break;
- case 'mediumvioletred':
- $r = 0.780; $g = 0.082; $b = 0.522; break;
- case 'midnightblue':
- $r = 0.098; $g = 0.098; $b = 0.439; break;
- case 'mintcream':
- $r = 0.961; $g = 1.0; $b = 0.980; break;
- case 'mistyrose':
- $r = 1.0; $g = 0.894; $b = 0.882; break;
- case 'moccasin':
- $r = 1.0; $g = 0.894; $b = 0.710; break;
- case 'navajowhite':
- $r = 1.0; $g = 0.871; $b = 0.678; break;
- case 'oldlace':
- $r = 0.992; $g = 0.961; $b = 0.902; break;
- case 'olivedrab':
- $r = 0.420; $g = 0.557; $b = 0.137; break;
- case 'orange':
- $r = 1.0; $g = 0.647; $b = 0.0; break;
- case 'orangered':
- $r = 1.0; $g = 0.271; $b = 0.0; break;
- case 'orchid':
- $r = 0.855; $g = 0.439; $b = 0.839; break;
- case 'palegoldenrod':
- $r = 0.933; $g = 0.910; $b = 0.667; break;
- case 'palegreen':
- $r = 0.596; $g = 0.984; $b = 0.596; break;
- case 'paleturquoise':
- $r = 0.686; $g = 0.933; $b = 0.933; break;
- case 'palevioletred':
- $r = 0.859; $g = 0.439; $b = 0.576; break;
- case 'papayawhip':
- $r = 1.0; $g = 0.937; $b = 0.835; break;
- case 'peachpuff':
- $r = 1.0; $g = 0.937; $b = 0.835; break;
- case 'peru':
- $r = 0.804; $g = 0.522; $b = 0.247; break;
- case 'pink':
- $r = 1.0; $g = 0.753; $b = 0.796; break;
- case 'plum':
- $r = 0.867; $g = 0.627; $b = 0.867; break;
- case 'powderblue':
- $r = 0.690; $g = 0.878; $b = 0.902; break;
- case 'rosybrown':
- $r = 0.737; $g = 0.561; $b = 0.561; break;
- case 'royalblue':
- $r = 0.255; $g = 0.412; $b = 0.882; break;
- case 'saddlebrown':
- $r = 0.545; $g = 0.271; $b = 0.075; break;
- case 'salmon':
- $r = 0.980; $g = 0.502; $b = 0.447; break;
- case 'sandybrown':
- $r = 0.957; $g = 0.643; $b = 0.376; break;
- case 'seagreen':
- $r = 0.180; $g = 0.545; $b = 0.341; break;
- case 'seashell':
- $r = 1.0; $g = 0.961; $b = 0.933; break;
- case 'sienna':
- $r = 0.627; $g = 0.322; $b = 0.176; break;
- case 'skyblue':
- $r = 0.529; $g = 0.808; $b = 0.922; break;
- case 'slateblue':
- $r = 0.416; $g = 0.353; $b = 0.804; break;
- case 'slategray':
- $r = 0.439; $g = 0.502; $b = 0.565; break;
- case 'snow':
- $r = 1.0; $g = 0.980; $b = 0.980; break;
- case 'springgreen':
- $r = 0.0; $g = 1.0; $b = 0.498; break;
- case 'steelblue':
- $r = 0.275; $g = 0.510; $b = 0.706; break;
- case 'tan':
- $r = 0.824; $g = 0.706; $b = 0.549; break;
- case 'thistle':
- $r = 0.847; $g = 0.749; $b = 0.847; break;
- case 'tomato':
- $r = 0.992; $g = 0.388; $b = 0.278; break;
- case 'turquoise':
- $r = 0.251; $g = 0.878; $b = 0.816; break;
- case 'violet':
- $r = 0.933; $g = 0.510; $b = 0.933; break;
- case 'wheat':
- $r = 0.961; $g = 0.871; $b = 0.702; break;
- case 'whitesmoke':
- $r = 0.961; $g = 0.961; $b = 0.961; break;
- case 'yellowgreen':
- $r = 0.604; $g = 0.804; $b = 0.196; break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unknown color name: ' . $color);
- }
- if (($r == $g) && ($g == $b)) {
- require_once 'Zend/Pdf/Color/GrayScale.php';
- return new Zend_Pdf_Color_GrayScale($r);
- } else {
- require_once 'Zend/Pdf/Color/Rgb.php';
- return new Zend_Pdf_Color_Rgb($r, $g, $b);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Color/Rgb.php b/airtime_mvc/library/Zend/Pdf/Color/Rgb.php
deleted file mode 100644
index 7a7e14c27..000000000
--- a/airtime_mvc/library/Zend/Pdf/Color/Rgb.php
+++ /dev/null
@@ -1,114 +0,0 @@
- 1) { $r = 1; }
-
- if ($g < 0) { $g = 0; }
- if ($g > 1) { $g = 1; }
-
- if ($b < 0) { $b = 0; }
- if ($b > 1) { $b = 1; }
-
- $this->_r = new Zend_Pdf_Element_Numeric($r);
- $this->_g = new Zend_Pdf_Element_Numeric($g);
- $this->_b = new Zend_Pdf_Element_Numeric($b);
- }
-
- /**
- * Instructions, which can be directly inserted into content stream
- * to switch color.
- * Color set instructions differ for stroking and nonstroking operations.
- *
- * @param boolean $stroking
- * @return string
- */
- public function instructions($stroking)
- {
- return $this->_r->toString() . ' '
- . $this->_g->toString() . ' '
- . $this->_b->toString() . ($stroking? " RG\n" : " rg\n");
- }
-
- /**
- * Get color components (color space dependent)
- *
- * @return array
- */
- public function getComponents()
- {
- return array($this->_r->value, $this->_g->value, $this->_b->value);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Destination.php b/airtime_mvc/library/Zend/Pdf/Destination.php
deleted file mode 100644
index f47337962..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination.php
+++ /dev/null
@@ -1,113 +0,0 @@
-getType() == Zend_Pdf_Element::TYPE_NAME || $resource->getType() == Zend_Pdf_Element::TYPE_STRING) {
- require_once 'Zend/Pdf/Destination/Named.php';
- return new Zend_Pdf_Destination_Named($resource);
- }
-
- if ($resource->getType() != Zend_Pdf_Element::TYPE_ARRAY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('An explicit destination must be a direct or an indirect array object.');
- }
- if (count($resource->items) < 2) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('An explicit destination array must contain at least two elements.');
- }
-
- switch ($resource->items[1]->value) {
- case 'XYZ':
- require_once 'Zend/Pdf/Destination/Zoom.php';
- return new Zend_Pdf_Destination_Zoom($resource);
- break;
-
- case 'Fit':
- require_once 'Zend/Pdf/Destination/Fit.php';
- return new Zend_Pdf_Destination_Fit($resource);
- break;
-
- case 'FitH':
- require_once 'Zend/Pdf/Destination/FitHorizontally.php';
- return new Zend_Pdf_Destination_FitHorizontally($resource);
- break;
-
- case 'FitV':
- require_once 'Zend/Pdf/Destination/FitVertically.php';
- return new Zend_Pdf_Destination_FitVertically($resource);
- break;
-
- case 'FitR':
- require_once 'Zend/Pdf/Destination/FitRectangle.php';
- return new Zend_Pdf_Destination_FitRectangle($resource);
- break;
-
- case 'FitB':
- require_once 'Zend/Pdf/Destination/FitBoundingBox.php';
- return new Zend_Pdf_Destination_FitBoundingBox($resource);
- break;
-
- case 'FitBH':
- require_once 'Zend/Pdf/Destination/FitBoundingBoxHorizontally.php';
- return new Zend_Pdf_Destination_FitBoundingBoxHorizontally($resource);
- break;
-
- case 'FitBV':
- require_once 'Zend/Pdf/Destination/FitBoundingBoxVertically.php';
- return new Zend_Pdf_Destination_FitBoundingBoxVertically($resource);
- break;
-
- default:
- require_once 'Zend/Pdf/Destination/Unknown.php';
- return new Zend_Pdf_Destination_Unknown($resource);
- break;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/Explicit.php b/airtime_mvc/library/Zend/Pdf/Destination/Explicit.php
deleted file mode 100644
index 695d437ee..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/Explicit.php
+++ /dev/null
@@ -1,122 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_ARRAY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Explicit destination resource Array must be a direct or an indirect array object.');
- }
-
- $this->_destinationArray = $destinationArray;
-
- switch (count($this->_destinationArray->items)) {
- case 0:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Destination array must contain a page reference.');
- break;
-
- case 1:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Destination array must contain a destination type name.');
- break;
-
- default:
- // Do nothing
- break;
- }
-
- switch ($this->_destinationArray->items[0]->getType()) {
- case Zend_Pdf_Element::TYPE_NUMERIC:
- $this->_isRemote = true;
- break;
-
- case Zend_Pdf_Element::TYPE_DICTIONARY:
- $this->_isRemote = false;
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Destination target must be a page number or page dictionary object.');
- break;
- }
- }
-
- /**
- * Returns true if it's a remote destination
- *
- * @return boolean
- */
- public function isRemote()
- {
- return $this->_isRemote;
- }
-
- /**
- * Get resource
- *
- * @internal
- * @return Zend_Pdf_Element
- */
- public function getResource()
- {
- return $this->_destinationArray;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/Fit.php b/airtime_mvc/library/Zend/Pdf/Destination/Fit.php
deleted file mode 100644
index 9f0758eda..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/Fit.php
+++ /dev/null
@@ -1,75 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('Fit');
-
- return new Zend_Pdf_Destination_Fit($destinationArray);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBox.php b/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBox.php
deleted file mode 100644
index 4995f5d4c..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBox.php
+++ /dev/null
@@ -1,75 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('FitB');
-
- return new Zend_Pdf_Destination_FitBoundingBox($destinationArray);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php b/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php
deleted file mode 100644
index c5eb0bb5a..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBoxHorizontally.php
+++ /dev/null
@@ -1,98 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('FitBH');
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top);
-
- return new Zend_Pdf_Destination_FitBoundingBoxHorizontally($destinationArray);
- }
-
- /**
- * Get top edge of the displayed page
- *
- * @return float
- */
- public function getTopEdge()
- {
- return $this->_destinationArray->items[2]->value;
- }
-
- /**
- * Set top edge of the displayed page
- *
- * @param float $top
- * @return Zend_Pdf_Action_FitBoundingBoxHorizontally
- */
- public function setTopEdge($top)
- {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($top);
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBoxVertically.php b/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBoxVertically.php
deleted file mode 100644
index c38e8145d..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/FitBoundingBoxVertically.php
+++ /dev/null
@@ -1,98 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('FitBV');
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left);
-
- return new Zend_Pdf_Destination_FitBoundingBoxVertically($destinationArray);
- }
-
- /**
- * Get left edge of the displayed page
- *
- * @return float
- */
- public function getLeftEdge()
- {
- return $this->_destinationArray->items[2]->value;
- }
-
- /**
- * Set left edge of the displayed page
- *
- * @param float $left
- * @return Zend_Pdf_Action_FitBoundingBoxVertically
- */
- public function setLeftEdge($left)
- {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left);
- return $this;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/FitHorizontally.php b/airtime_mvc/library/Zend/Pdf/Destination/FitHorizontally.php
deleted file mode 100644
index 780c465f0..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/FitHorizontally.php
+++ /dev/null
@@ -1,98 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('FitH');
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top);
-
- return new Zend_Pdf_Destination_FitHorizontally($destinationArray);
- }
-
- /**
- * Get top edge of the displayed page
- *
- * @return float
- */
- public function getTopEdge()
- {
- return $this->_destinationArray->items[2]->value;
- }
-
- /**
- * Set top edge of the displayed page
- *
- * @param float $top
- * @return Zend_Pdf_Action_FitHorizontally
- */
- public function setTopEdge($top)
- {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($top);
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/FitRectangle.php b/airtime_mvc/library/Zend/Pdf/Destination/FitRectangle.php
deleted file mode 100644
index 8740e60f1..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/FitRectangle.php
+++ /dev/null
@@ -1,171 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('FitR');
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left);
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($bottom);
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($right);
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top);
-
- return new Zend_Pdf_Destination_FitRectangle($destinationArray);
- }
-
- /**
- * Get left edge of the displayed page
- *
- * @return float
- */
- public function getLeftEdge()
- {
- return $this->_destinationArray->items[2]->value;
- }
-
- /**
- * Set left edge of the displayed page
- *
- * @param float $left
- * @return Zend_Pdf_Action_FitRectangle
- */
- public function setLeftEdge($left)
- {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left);
- return $this;
- }
-
- /**
- * Get bottom edge of the displayed page
- *
- * @return float
- */
- public function getBottomEdge()
- {
- return $this->_destinationArray->items[3]->value;
- }
-
- /**
- * Set bottom edge of the displayed page
- *
- * @param float $bottom
- * @return Zend_Pdf_Action_FitRectangle
- */
- public function setBottomEdge($bottom)
- {
- $this->_destinationArray->items[3] = new Zend_Pdf_Element_Numeric($bottom);
- return $this;
- }
-
- /**
- * Get right edge of the displayed page
- *
- * @return float
- */
- public function getRightEdge()
- {
- return $this->_destinationArray->items[4]->value;
- }
-
- /**
- * Set right edge of the displayed page
- *
- * @param float $right
- * @return Zend_Pdf_Action_FitRectangle
- */
- public function setRightEdge($right)
- {
- $this->_destinationArray->items[4] = new Zend_Pdf_Element_Numeric($right);
- return $this;
- }
-
- /**
- * Get top edge of the displayed page
- *
- * @return float
- */
- public function getTopEdge()
- {
- return $this->_destinationArray->items[5]->value;
- }
-
- /**
- * Set top edge of the displayed page
- *
- * @param float $top
- * @return Zend_Pdf_Action_FitRectangle
- */
- public function setTopEdge($top)
- {
- $this->_destinationArray->items[5] = new Zend_Pdf_Element_Numeric($top);
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/FitVertically.php b/airtime_mvc/library/Zend/Pdf/Destination/FitVertically.php
deleted file mode 100644
index a3e74ec10..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/FitVertically.php
+++ /dev/null
@@ -1,98 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('FitV');
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left);
-
- return new Zend_Pdf_Destination_FitVertically($destinationArray);
- }
-
- /**
- * Get left edge of the displayed page
- *
- * @return float
- */
- public function getLeftEdge()
- {
- return $this->_destinationArray->items[2]->value;
- }
-
- /**
- * Set left edge of the displayed page
- *
- * @param float $left
- * @return Zend_Pdf_Action_FitVertically
- */
- public function setLeftEdge($left)
- {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left);
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/Named.php b/airtime_mvc/library/Zend/Pdf/Destination/Named.php
deleted file mode 100644
index d3291818e..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/Named.php
+++ /dev/null
@@ -1,101 +0,0 @@
-getType() != Zend_Pdf_Element::TYPE_NAME && $resource->getType() != Zend_Pdf_Element::TYPE_STRING) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Named destination resource must be a PDF name or a PDF string.');
- }
-
- $this->_nameElement = $resource;
- }
-
- /**
- * Create named destination object
- *
- * @param string $name
- * @return Zend_Pdf_Destination_Named
- */
- public static function create($name)
- {
- return new Zend_Pdf_Destination_Named(new Zend_Pdf_Element_String($name));
- }
-
- /**
- * Get name
- *
- * @return Zend_Pdf_Element
- */
- public function getName()
- {
- return $this->_nameElement->value;
- }
-
- /**
- * Get resource
- *
- * @internal
- * @return Zend_Pdf_Element
- */
- public function getResource()
- {
- return $this->_nameElement;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Destination/Unknown.php b/airtime_mvc/library/Zend/Pdf/Destination/Unknown.php
deleted file mode 100644
index 455203c16..000000000
--- a/airtime_mvc/library/Zend/Pdf/Destination/Unknown.php
+++ /dev/null
@@ -1,37 +0,0 @@
-items[] = $page->getPageDictionary();
- } else if (is_integer($page)) {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($page);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page entry must be a Zend_Pdf_Page object or a page number.');
- }
-
- $destinationArray->items[] = new Zend_Pdf_Element_Name('XYZ');
-
- if ($left === null) {
- $destinationArray->items[] = new Zend_Pdf_Element_Null();
- } else {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($left);
- }
-
- if ($top === null) {
- $destinationArray->items[] = new Zend_Pdf_Element_Null();
- } else {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($top);
- }
-
- if ($zoom === null) {
- $destinationArray->items[] = new Zend_Pdf_Element_Null();
- } else {
- $destinationArray->items[] = new Zend_Pdf_Element_Numeric($zoom);
- }
-
- return new Zend_Pdf_Destination_Zoom($destinationArray);
- }
-
- /**
- * Get left edge of the displayed page (null means viewer application 'current value')
- *
- * @return float
- */
- public function getLeftEdge()
- {
- return $this->_destinationArray->items[2]->value;
- }
-
- /**
- * Set left edge of the displayed page (null means viewer application 'current value')
- *
- * @param float $left
- * @return Zend_Pdf_Action_Zoom
- */
- public function setLeftEdge($left)
- {
- if ($left === null) {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Null();
- } else {
- $this->_destinationArray->items[2] = new Zend_Pdf_Element_Numeric($left);
- }
-
- return $this;
- }
-
- /**
- * Get top edge of the displayed page (null means viewer application 'current value')
- *
- * @return float
- */
- public function getTopEdge()
- {
- return $this->_destinationArray->items[3]->value;
- }
-
- /**
- * Set top edge of the displayed page (null means viewer application 'current viewer')
- *
- * @param float $top
- * @return Zend_Pdf_Action_Zoom
- */
- public function setTopEdge($top)
- {
- if ($top === null) {
- $this->_destinationArray->items[3] = new Zend_Pdf_Element_Null();
- } else {
- $this->_destinationArray->items[3] = new Zend_Pdf_Element_Numeric($top);
- }
-
- return $this;
- }
-
- /**
- * Get ZoomFactor of the displayed page (null or 0 means viewer application 'current value')
- *
- * @return float
- */
- public function getZoomFactor()
- {
- return $this->_destinationArray->items[4]->value;
- }
-
- /**
- * Set ZoomFactor of the displayed page (null or 0 means viewer application 'current viewer')
- *
- * @param float $zoom
- * @return Zend_Pdf_Action_Zoom
- */
- public function setZoomFactor($zoom)
- {
- if ($zoom === null) {
- $this->_destinationArray->items[4] = new Zend_Pdf_Element_Null();
- } else {
- $this->_destinationArray->items[4] = new Zend_Pdf_Element_Numeric($zoom);
- }
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element.php b/airtime_mvc/library/Zend/Pdf/Element.php
deleted file mode 100644
index dbfa2077e..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element.php
+++ /dev/null
@@ -1,158 +0,0 @@
-_parentObject = $parent;
- }
-
-
- /**
- * Get top level parent indirect object.
- *
- * @return Zend_Pdf_Element_Object
- */
- public function getParentObject()
- {
- return $this->_parentObject;
- }
-
-
- /**
- * Mark object as modified, to include it into new PDF file segment.
- *
- * We don't automate this action to keep control on PDF update process.
- * All new objects are treated as "modified" automatically.
- */
- public function touch()
- {
- if ($this->_parentObject !== null) {
- $this->_parentObject->touch();
- }
- }
-
- /**
- * Clean up resources, used by object
- */
- public function cleanUp()
- {
- // Do nothing
- }
-
- /**
- * Convert PDF element to PHP type.
- *
- * @return mixed
- */
- public function toPhp()
- {
- return $this->value;
- }
-
- /**
- * Convert PHP value into PDF element.
- *
- * @param mixed $input
- * @return Zend_Pdf_Element
- */
- public static function phpToPdf($input)
- {
- if (is_numeric($input)) {
- require_once 'Zend/Pdf/Element/Numeric.php';
- return new Zend_Pdf_Element_Numeric($input);
- } else if (is_bool($input)) {
- require_once 'Zend/Pdf/Element/Boolean.php';
- return new Zend_Pdf_Element_Boolean($input);
- } else if (is_array($input)) {
- $pdfElementsArray = array();
- $isDictionary = false;
-
- foreach ($input as $key => $value) {
- if (is_string($key)) {
- $isDictionary = true;
- }
- $pdfElementsArray[$key] = Zend_Pdf_Element::phpToPdf($value);
- }
-
- if ($isDictionary) {
- require_once 'Zend/Pdf/Element/Dictionary.php';
- return new Zend_Pdf_Element_Dictionary($pdfElementsArray);
- } else {
- require_once 'Zend/Pdf/Element/Array.php';
- return new Zend_Pdf_Element_Array($pdfElementsArray);
- }
- } else {
- require_once 'Zend/Pdf/Element/String.php';
- return new Zend_Pdf_Element_String((string)$input);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Array.php b/airtime_mvc/library/Zend/Pdf/Element/Array.php
deleted file mode 100644
index 01209d967..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Array.php
+++ /dev/null
@@ -1,148 +0,0 @@
-items = new ArrayObject();
-
- if ($val !== null && is_array($val)) {
- foreach ($val as $element) {
- if (!$element instanceof Zend_Pdf_Element) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Array elements must be Zend_Pdf_Element objects');
- }
- $this->items[] = $element;
- }
- } else if ($val !== null){
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Argument must be an array');
- }
- }
-
-
- /**
- * Getter
- *
- * @param string $property
- * @throws Zend_Pdf_Exception
- */
- public function __get($property) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Undefined property: Zend_Pdf_Element_Array::$' . $property);
- }
-
-
- /**
- * Setter
- *
- * @param mixed $offset
- * @param mixed $value
- * @throws Zend_Pdf_Exception
- */
- public function __set($property, $value) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Undefined property: Zend_Pdf_Element_Array::$' . $property);
- }
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_ARRAY;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- $outStr = '[';
- $lastNL = 0;
-
- foreach ($this->items as $element) {
- if (strlen($outStr) - $lastNL > 128) {
- $outStr .= "\n";
- $lastNL = strlen($outStr);
- }
-
- $outStr .= $element->toString($factory) . ' ';
- }
- $outStr .= ']';
-
- return $outStr;
- }
-
- /**
- * Convert PDF element to PHP type.
- *
- * Dictionary is returned as an associative array
- *
- * @return mixed
- */
- public function toPhp()
- {
- $phpArray = array();
-
- foreach ($this->items as $item) {
- $phpArray[] = $item->toPhp();
- }
-
- return $phpArray;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Boolean.php b/airtime_mvc/library/Zend/Pdf/Element/Boolean.php
deleted file mode 100644
index 656292a9f..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Boolean.php
+++ /dev/null
@@ -1,83 +0,0 @@
-value = $val;
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_BOOL;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- return $this->value ? 'true' : 'false';
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Dictionary.php b/airtime_mvc/library/Zend/Pdf/Element/Dictionary.php
deleted file mode 100644
index a946e64a3..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Dictionary.php
+++ /dev/null
@@ -1,189 +0,0 @@
- Zend_Pdf_Element)
- *
- * @var array
- */
- private $_items = array();
-
-
- /**
- * Object constructor
- *
- * @param array $val - array of Zend_Pdf_Element objects
- * @throws Zend_Pdf_Exception
- */
- public function __construct($val = null)
- {
- if ($val === null) {
- return;
- } else if (!is_array($val)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Argument must be an array');
- }
-
- foreach ($val as $name => $element) {
- if (!$element instanceof Zend_Pdf_Element) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Array elements must be Zend_Pdf_Element objects');
- }
- if (!is_string($name)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Array keys must be strings');
- }
- $this->_items[$name] = $element;
- }
- }
-
-
- /**
- * Add element to an array
- *
- * @name Zend_Pdf_Element_Name $name
- * @param Zend_Pdf_Element $val - Zend_Pdf_Element object
- * @throws Zend_Pdf_Exception
- */
- public function add(Zend_Pdf_Element_Name $name, Zend_Pdf_Element $val)
- {
- $this->_items[$name->value] = $val;
- }
-
- /**
- * Return dictionary keys
- *
- * @return array
- */
- public function getKeys()
- {
- return array_keys($this->_items);
- }
-
-
- /**
- * Get handler
- *
- * @param string $property
- * @return Zend_Pdf_Element | null
- */
- public function __get($item)
- {
- $element = isset($this->_items[$item]) ? $this->_items[$item]
- : null;
-
- return $element;
- }
-
- /**
- * Set handler
- *
- * @param string $property
- * @param mixed $value
- */
- public function __set($item, $value)
- {
- if ($value === null) {
- unset($this->_items[$item]);
- } else {
- $this->_items[$item] = $value;
- }
- }
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_DICTIONARY;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- $outStr = '<<';
- $lastNL = 0;
-
- foreach ($this->_items as $name => $element) {
- if (!is_object($element)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong data');
- }
-
- if (strlen($outStr) - $lastNL > 128) {
- $outStr .= "\n";
- $lastNL = strlen($outStr);
- }
-
- $nameObj = new Zend_Pdf_Element_Name($name);
- $outStr .= $nameObj->toString($factory) . ' ' . $element->toString($factory) . ' ';
- }
- $outStr .= '>>';
-
- return $outStr;
- }
-
-
- /**
- * Convert PDF element to PHP type.
- *
- * Dictionary is returned as an associative array
- *
- * @return mixed
- */
- public function toPhp()
- {
- $phpArray = array();
-
- foreach ($this->_items as $itemName => $item) {
- $phpArray[$itemName] = $item->toPhp();
- }
-
- return $phpArray;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Name.php b/airtime_mvc/library/Zend/Pdf/Element/Name.php
deleted file mode 100644
index 129749e04..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Name.php
+++ /dev/null
@@ -1,161 +0,0 @@
-value = (string)$val;
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_NAME;
- }
-
-
- /**
- * Escape string according to the PDF rules
- *
- * @param string $inStr
- * @return string
- */
- public static function escape($inStr)
- {
- $outStr = '';
-
- for ($count = 0; $count < strlen($inStr); $count++) {
- $nextCode = ord($inStr[$count]);
-
- switch ($inStr[$count]) {
- case '(':
- // fall through to next case
- case ')':
- // fall through to next case
- case '<':
- // fall through to next case
- case '>':
- // fall through to next case
- case '[':
- // fall through to next case
- case ']':
- // fall through to next case
- case '{':
- // fall through to next case
- case '}':
- // fall through to next case
- case '/':
- // fall through to next case
- case '%':
- // fall through to next case
- case '\\':
- // fall through to next case
- case '#':
- $outStr .= sprintf('#%02X', $nextCode);
- break;
-
- default:
- if ($nextCode >= 33 && $nextCode <= 126 ) {
- // Visible ASCII symbol
- $outStr .= $inStr[$count];
- } else {
- $outStr .= sprintf('#%02X', $nextCode);
- }
- }
-
- }
-
- return $outStr;
- }
-
-
- /**
- * Unescape string according to the PDF rules
- *
- * @param string $inStr
- * @return string
- */
- public static function unescape($inStr)
- {
- $outStr = '';
-
- for ($count = 0; $count < strlen($inStr); $count++) {
- if ($inStr[$count] != '#' ) {
- $outStr .= $inStr[$count];
- } else {
- // Escape sequence
- $outStr .= chr(base_convert(substr($inStr, $count+1, 2), 16, 10 ));
- $count +=2;
- }
- }
- return $outStr;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- return '/' . self::escape((string)$this->value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Null.php b/airtime_mvc/library/Zend/Pdf/Element/Null.php
deleted file mode 100644
index 2332c5cdc..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Null.php
+++ /dev/null
@@ -1,75 +0,0 @@
-value = null;
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_NULL;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- return 'null';
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Numeric.php b/airtime_mvc/library/Zend/Pdf/Element/Numeric.php
deleted file mode 100644
index b49cfc908..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Numeric.php
+++ /dev/null
@@ -1,95 +0,0 @@
-value = $val;
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_NUMERIC;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- if (is_integer($this->value)) {
- return (string)$this->value;
- }
-
- /**
- * PDF doesn't support exponental format.
- * Fixed point format must be used instead
- */
- $prec = 0; $v = $this->value;
- while (abs( floor($v) - $v ) > 1e-10) {
- $prec++; $v *= 10;
- }
- return sprintf("%.{$prec}F", $this->value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Object.php b/airtime_mvc/library/Zend/Pdf/Element/Object.php
deleted file mode 100644
index 6bb295706..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Object.php
+++ /dev/null
@@ -1,250 +0,0 @@
- 0) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object number must be positive integer.');
- }
-
- if ( !(is_integer($genNum) && $genNum >= 0) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Generation number must be non-negative integer.');
- }
-
- $this->_value = $val;
- $this->_objNum = $objNum;
- $this->_genNum = $genNum;
- $this->_factory = $factory;
-
- $this->setParentObject($this);
-
- $factory->registerObject($this, $objNum . ' ' . $genNum);
- }
-
-
- /**
- * Check, that object is generated by specified factory
- *
- * @return Zend_Pdf_ElementFactory
- */
- public function getFactory()
- {
- return $this->_factory;
- }
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return $this->_value->getType();
- }
-
-
- /**
- * Get object number
- *
- * @return integer
- */
- public function getObjNum()
- {
- return $this->_objNum;
- }
-
-
- /**
- * Get generation number
- *
- * @return integer
- */
- public function getGenNum()
- {
- return $this->_genNum;
- }
-
-
- /**
- * Return reference to the object
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- if ($factory === null) {
- $shift = 0;
- } else {
- $shift = $factory->getEnumerationShift($this->_factory);
- }
-
- return $this->_objNum + $shift . ' ' . $this->_genNum . ' R';
- }
-
-
- /**
- * Dump object to a string to save within PDF file.
- *
- * $factory parameter defines operation context.
- *
- * @param Zend_Pdf_ElementFactory $factory
- * @return string
- */
- public function dump(Zend_Pdf_ElementFactory $factory)
- {
- $shift = $factory->getEnumerationShift($this->_factory);
-
- return $this->_objNum + $shift . " " . $this->_genNum . " obj \n"
- . $this->_value->toString($factory) . "\n"
- . "endobj\n";
- }
-
- /**
- * Get handler
- *
- * @param string $property
- * @return mixed
- */
- public function __get($property)
- {
- return $this->_value->$property;
- }
-
- /**
- * Set handler
- *
- * @param string $property
- * @param mixed $value
- */
- public function __set($property, $value)
- {
- $this->_value->$property = $value;
- }
-
- /**
- * Call handler
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- return call_user_func_array(array($this->_value, $method), $args);
- }
-
-
- /**
- * Mark object as modified, to include it into new PDF file segment
- */
- public function touch()
- {
- $this->_factory->markAsModified($this);
- }
-
- /**
- * Return object, which can be used to identify object and its references identity
- *
- * @return Zend_Pdf_Element_Object
- */
- public function getObject()
- {
- return $this;
- }
-
- /**
- * Clean up resources, used by object
- */
- public function cleanUp()
- {
- $this->_value = null;
- }
-
- /**
- * Convert PDF element to PHP type.
- *
- * @return mixed
- */
- public function toPhp()
- {
- return $this->_value->toPhp();
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Object/Stream.php b/airtime_mvc/library/Zend/Pdf/Element/Object/Stream.php
deleted file mode 100644
index 5d7926d67..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Object/Stream.php
+++ /dev/null
@@ -1,422 +0,0 @@
-_dictionary = new Zend_Pdf_Element_Dictionary();
- $this->_dictionary->Length = new Zend_Pdf_Element_Numeric(strlen( $val ));
- $this->_streamDecoded = true;
- } else {
- $this->_dictionary = $dictionary;
- $this->_streamDecoded = false;
- }
- }
-
-
- /**
- * Store original dictionary information in $_originalDictionary class member.
- * Used to store information and to normalize filters information before defiltering.
- *
- */
- private function _storeOriginalDictionary()
- {
- $this->_originalDictionary = array();
-
- $this->_originalDictionary['Filter'] = array();
- $this->_originalDictionary['DecodeParms'] = array();
- if ($this->_dictionary->Filter === null) {
- // Do nothing.
- } else if ($this->_dictionary->Filter->getType() == Zend_Pdf_Element::TYPE_ARRAY) {
- foreach ($this->_dictionary->Filter->items as $id => $filter) {
- $this->_originalDictionary['Filter'][$id] = $filter->value;
- $this->_originalDictionary['DecodeParms'][$id] = array();
-
- if ($this->_dictionary->DecodeParms !== null ) {
- if ($this->_dictionary->DecodeParms->items[$id] !== null &&
- $this->_dictionary->DecodeParms->items[$id]->value !== null ) {
- foreach ($this->_dictionary->DecodeParms->items[$id]->getKeys() as $paramKey) {
- $this->_originalDictionary['DecodeParms'][$id][$paramKey] =
- $this->_dictionary->DecodeParms->items[$id]->$paramKey->value;
- }
- }
- }
- }
- } else if ($this->_dictionary->Filter->getType() != Zend_Pdf_Element::TYPE_NULL) {
- $this->_originalDictionary['Filter'][0] = $this->_dictionary->Filter->value;
- $this->_originalDictionary['DecodeParms'][0] = array();
- if ($this->_dictionary->DecodeParms !== null ) {
- foreach ($this->_dictionary->DecodeParms->getKeys() as $paramKey) {
- $this->_originalDictionary['DecodeParms'][0][$paramKey] =
- $this->_dictionary->DecodeParms->$paramKey->value;
- }
- }
- }
-
- if ($this->_dictionary->F !== null) {
- $this->_originalDictionary['F'] = $this->_dictionary->F->value;
- }
-
- $this->_originalDictionary['FFilter'] = array();
- $this->_originalDictionary['FDecodeParms'] = array();
- if ($this->_dictionary->FFilter === null) {
- // Do nothing.
- } else if ($this->_dictionary->FFilter->getType() == Zend_Pdf_Element::TYPE_ARRAY) {
- foreach ($this->_dictionary->FFilter->items as $id => $filter) {
- $this->_originalDictionary['FFilter'][$id] = $filter->value;
- $this->_originalDictionary['FDecodeParms'][$id] = array();
-
- if ($this->_dictionary->FDecodeParms !== null ) {
- if ($this->_dictionary->FDecodeParms->items[$id] !== null &&
- $this->_dictionary->FDecodeParms->items[$id]->value !== null) {
- foreach ($this->_dictionary->FDecodeParms->items[$id]->getKeys() as $paramKey) {
- $this->_originalDictionary['FDecodeParms'][$id][$paramKey] =
- $this->_dictionary->FDecodeParms->items[$id]->items[$paramKey]->value;
- }
- }
- }
- }
- } else {
- $this->_originalDictionary['FFilter'][0] = $this->_dictionary->FFilter->value;
- $this->_originalDictionary['FDecodeParms'][0] = array();
- if ($this->_dictionary->FDecodeParms !== null ) {
- foreach ($this->_dictionary->FDecodeParms->getKeys() as $paramKey) {
- $this->_originalDictionary['FDecodeParms'][0][$paramKey] =
- $this->_dictionary->FDecodeParms->items[$paramKey]->value;
- }
- }
- }
- }
-
- /**
- * Decode stream
- *
- * @throws Zend_Pdf_Exception
- */
- private function _decodeStream()
- {
- if ($this->_originalDictionary === null) {
- $this->_storeOriginalDictionary();
- }
-
- /**
- * All applied stream filters must be processed to decode stream.
- * If we don't recognize any of applied filetrs an exception should be thrown here
- */
- if (isset($this->_originalDictionary['F'])) {
- /** @todo Check, how external files can be processed. */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('External filters are not supported now.');
- }
-
- foreach ($this->_originalDictionary['Filter'] as $id => $filterName ) {
- $valueRef = &$this->_value->value->getRef();
- $this->_value->value->touch();
- switch ($filterName) {
- case 'ASCIIHexDecode':
- require_once 'Zend/Pdf/Filter/AsciiHex.php';
- $valueRef = Zend_Pdf_Filter_AsciiHex::decode($valueRef);
- break;
-
- case 'ASCII85Decode':
- require_once 'Zend/Pdf/Filter/Ascii85.php';
- $valueRef = Zend_Pdf_Filter_Ascii85::decode($valueRef);
- break;
-
- case 'FlateDecode':
- require_once 'Zend/Pdf/Filter/Compression/Flate.php';
- $valueRef = Zend_Pdf_Filter_Compression_Flate::decode($valueRef,
- $this->_originalDictionary['DecodeParms'][$id]);
- break;
-
- case 'LZWDecode':
- require_once 'Zend/Pdf/Filter/Compression/Lzw.php';
- $valueRef = Zend_Pdf_Filter_Compression_Lzw::decode($valueRef,
- $this->_originalDictionary['DecodeParms'][$id]);
- break;
-
- case 'RunLengthDecode':
- require_once 'Zend/Pdf/Filter/RunLength.php';
- $valueRef = Zend_Pdf_Filter_RunLength::decode($valueRef);
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unknown stream filter: \'' . $filterName . '\'.');
- }
- }
-
- $this->_streamDecoded = true;
- }
-
- /**
- * Encode stream
- *
- * @throws Zend_Pdf_Exception
- */
- private function _encodeStream()
- {
- /**
- * All applied stream filters must be processed to encode stream.
- * If we don't recognize any of applied filetrs an exception should be thrown here
- */
- if (isset($this->_originalDictionary['F'])) {
- /** @todo Check, how external files can be processed. */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('External filters are not supported now.');
- }
-
- $filters = array_reverse($this->_originalDictionary['Filter'], true);
-
- foreach ($filters as $id => $filterName ) {
- $valueRef = &$this->_value->value->getRef();
- $this->_value->value->touch();
- switch ($filterName) {
- case 'ASCIIHexDecode':
- require_once 'Zend/Pdf/Filter/AsciiHex.php';
- $valueRef = Zend_Pdf_Filter_AsciiHex::encode($valueRef);
- break;
-
- case 'ASCII85Decode':
- require_once 'Zend/Pdf/Filter/Ascii85.php';
- $valueRef = Zend_Pdf_Filter_Ascii85::encode($valueRef);
- break;
-
- case 'FlateDecode':
- require_once 'Zend/Pdf/Filter/Compression/Flate.php';
- $valueRef = Zend_Pdf_Filter_Compression_Flate::encode($valueRef,
- $this->_originalDictionary['DecodeParms'][$id]);
- break;
-
- case 'LZWDecode':
- require_once 'Zend/Pdf/Filter/Compression/Lzw.php';
- $valueRef = Zend_Pdf_Filter_Compression_Lzw::encode($valueRef,
- $this->_originalDictionary['DecodeParms'][$id]);
- break;
-
- case 'RunLengthDecode':
- require_once 'Zend/Pdf/Filter/RunLength.php';
- $valueRef = Zend_Pdf_Filter_RunLength::encode($valueRef);
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unknown stream filter: \'' . $filterName . '\'.');
- }
- }
-
- $this->_streamDecoded = false;
- }
-
- /**
- * Get handler
- *
- * @param string $property
- * @return mixed
- * @throws Zend_Pdf_Exception
- */
- public function __get($property)
- {
- if ($property == 'dictionary') {
- /**
- * If stream is note decoded yet, then store original decoding options (do it only once).
- */
- if (( !$this->_streamDecoded ) && ($this->_originalDictionary === null)) {
- $this->_storeOriginalDictionary();
- }
-
- return $this->_dictionary;
- }
-
- if ($property == 'value') {
- if (!$this->_streamDecoded) {
- $this->_decodeStream();
- }
-
- return $this->_value->value->getRef();
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unknown stream object property requested.');
- }
-
-
- /**
- * Set handler
- *
- * @param string $property
- * @param mixed $value
- */
- public function __set($property, $value)
- {
- if ($property == 'value') {
- $valueRef = &$this->_value->value->getRef();
- $valueRef = $value;
- $this->_value->value->touch();
-
- $this->_streamDecoded = true;
-
- return;
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unknown stream object property: \'' . $property . '\'.');
- }
-
-
- /**
- * Treat stream data as already encoded
- */
- public function skipFilters()
- {
- $this->_streamDecoded = false;
- }
-
-
- /**
- * Call handler
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- if (!$this->_streamDecoded) {
- $this->_decodeStream();
- }
-
- switch (count($args)) {
- case 0:
- return $this->_value->$method();
- case 1:
- return $this->_value->$method($args[0]);
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unsupported number of arguments');
- }
- }
-
- /**
- * Dump object to a string to save within PDF file
- *
- * $factory parameter defines operation context.
- *
- * @param Zend_Pdf_ElementFactory $factory
- * @return string
- */
- public function dump(Zend_Pdf_ElementFactory $factory)
- {
- $shift = $factory->getEnumerationShift($this->_factory);
-
- if ($this->_streamDecoded) {
- $this->_storeOriginalDictionary();
- $this->_encodeStream();
- } else if ($this->_originalDictionary != null) {
- $startDictionary = $this->_originalDictionary;
- $this->_storeOriginalDictionary();
- $newDictionary = $this->_originalDictionary;
-
- if ($startDictionary !== $newDictionary) {
- $this->_originalDictionary = $startDictionary;
- $this->_decodeStream();
-
- $this->_originalDictionary = $newDictionary;
- $this->_encodeStream();
- }
- }
-
- // Update stream length
- $this->dictionary->Length->value = $this->_value->length();
-
- return $this->_objNum + $shift . " " . $this->_genNum . " obj \n"
- . $this->dictionary->toString($factory) . "\n"
- . $this->_value->toString($factory) . "\n"
- . "endobj\n";
- }
-
- /**
- * Clean up resources, used by object
- */
- public function cleanUp()
- {
- $this->_dictionary = null;
- $this->_value = null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Reference.php b/airtime_mvc/library/Zend/Pdf/Element/Reference.php
deleted file mode 100644
index ca79b8b3a..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Reference.php
+++ /dev/null
@@ -1,277 +0,0 @@
- 0) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object number must be positive integer');
- }
- if ( !(is_integer($genNum) && $genNum >= 0) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Generation number must be non-negative integer');
- }
-
- $this->_objNum = $objNum;
- $this->_genNum = $genNum;
- $this->_ref = null;
- $this->_context = $context;
- $this->_factory = $factory;
- }
-
- /**
- * Check, that object is generated by specified factory
- *
- * @return Zend_Pdf_ElementFactory
- */
- public function getFactory()
- {
- return $this->_factory;
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- return $this->_ref->getType();
- }
-
-
- /**
- * Return reference to the object
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- if ($factory === null) {
- $shift = 0;
- } else {
- $shift = $factory->getEnumerationShift($this->_factory);
- }
-
- return $this->_objNum + $shift . ' ' . $this->_genNum . ' R';
- }
-
-
- /**
- * Dereference.
- * Take inderect object, take $value member of this object (must be Zend_Pdf_Element),
- * take reference to the $value member of this object and assign it to
- * $value member of current PDF Reference object
- * $obj can be null
- *
- * @throws Zend_Pdf_Exception
- */
- private function _dereference()
- {
- if (($obj = $this->_factory->fetchObject($this->_objNum . ' ' . $this->_genNum)) === null) {
- $obj = $this->_context->getParser()->getObject(
- $this->_context->getRefTable()->getOffset($this->_objNum . ' ' . $this->_genNum . ' R'),
- $this->_context
- );
- }
-
- if ($obj === null ) {
- $this->_ref = new Zend_Pdf_Element_Null();
- return;
- }
-
- if ($obj->toString() != $this->_objNum . ' ' . $this->_genNum . ' R') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Incorrect reference to the object');
- }
-
- $this->_ref = $obj;
- }
-
- /**
- * Mark object as modified, to include it into new PDF file segment.
- */
- public function touch()
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- $this->_ref->touch();
- }
-
- /**
- * Return object, which can be used to identify object and its references identity
- *
- * @return Zend_Pdf_Element_Object
- */
- public function getObject()
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- return $this->_ref;
- }
-
- /**
- * Get handler
- *
- * @param string $property
- * @return mixed
- */
- public function __get($property)
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- return $this->_ref->$property;
- }
-
- /**
- * Set handler
- *
- * @param string $property
- * @param mixed $value
- */
- public function __set($property, $value)
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- $this->_ref->$property = $value;
- }
-
- /**
- * Call handler
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- return call_user_func_array(array($this->_ref, $method), $args);
- }
-
- /**
- * Clean up resources
- */
- public function cleanUp()
- {
- $this->_ref = null;
- }
-
- /**
- * Convert PDF element to PHP type.
- *
- * @return mixed
- */
- public function toPhp()
- {
- if ($this->_ref === null) {
- $this->_dereference();
- }
-
- return $this->_ref->toPhp();
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Reference/Context.php b/airtime_mvc/library/Zend/Pdf/Element/Reference/Context.php
deleted file mode 100644
index 2d3cc1d89..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Reference/Context.php
+++ /dev/null
@@ -1,83 +0,0 @@
-_stringParser = $parser;
- $this->_refTable = $refTable;
- }
-
-
- /**
- * Context parser
- *
- * @return Zend_Pdf_StringParser
- */
- public function getParser()
- {
- return $this->_stringParser;
- }
-
-
- /**
- * Context reference table
- *
- * @return Zend_Pdf_Element_Reference_Table
- */
- public function getRefTable()
- {
- return $this->_refTable;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Reference/Table.php b/airtime_mvc/library/Zend/Pdf/Element/Reference/Table.php
deleted file mode 100644
index d76f719e7..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Reference/Table.php
+++ /dev/null
@@ -1,198 +0,0 @@
- next free object number
- *
- * @var array
- */
- private $_free;
-
- /**
- * Generation numbers for free objects.
- * Array: objNum => nextGeneration
- *
- * @var array
- */
- private $_generations;
-
- /**
- * In use entries
- * 'reference' => offset
- *
- * @var array
- */
- private $_inuse;
-
- /**
- * Generation numbers for free objects.
- * Array: objNum => objGeneration
- *
- * @var array
- */
- private $_usedObjects;
-
-
-
- /**
- * Object constructor
- */
- public function __construct()
- {
- $this->_parent = null;
- $this->_free = array(); $this->_generations = array();
- $this->_inuse = array(); $this->_usedObjects = array();
- }
-
-
- /**
- * Add reference to the reference table
- *
- * @param string $ref
- * @param integer $offset
- * @param boolean $inuse
- */
- public function addReference($ref, $offset, $inuse = true)
- {
- $refElements = explode(' ', $ref);
- if (!is_numeric($refElements[0]) || !is_numeric($refElements[1]) || $refElements[2] != 'R') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Incorrect reference: '$ref'");
- }
- $objNum = (int)$refElements[0];
- $genNum = (int)$refElements[1];
-
- if ($inuse) {
- $this->_inuse[$ref] = $offset;
- $this->_usedObjects[$objNum] = $objNum;
- } else {
- $this->_free[$ref] = $offset;
- $this->_generations[$objNum] = $genNum;
- }
- }
-
-
- /**
- * Set parent reference table
- *
- * @param Zend_Pdf_Element_Reference_Table $parent
- */
- public function setParent(self $parent)
- {
- $this->_parent = $parent;
- }
-
-
- /**
- * Get object offset
- *
- * @param string $ref
- * @return integer
- */
- public function getOffset($ref)
- {
- if (isset($this->_inuse[$ref])) {
- return $this->_inuse[$ref];
- }
-
- if (isset($this->_free[$ref])) {
- return null;
- }
-
- if (isset($this->_parent)) {
- return $this->_parent->getOffset($ref);
- }
-
- return null;
- }
-
-
- /**
- * Get next object from a list of free objects.
- *
- * @param string $ref
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function getNextFree($ref)
- {
- if (isset($this->_inuse[$ref])) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object is not free');
- }
-
- if (isset($this->_free[$ref])) {
- return $this->_free[$ref];
- }
-
- if (isset($this->_parent)) {
- return $this->_parent->getNextFree($ref);
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object not found.');
- }
-
-
- /**
- * Get next generation number for free object
- *
- * @param integer $objNum
- * @return unknown
- */
- public function getNewGeneration($objNum)
- {
- if (isset($this->_usedObjects[$objNum])) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object is not free');
- }
-
- if (isset($this->_generations[$objNum])) {
- return $this->_generations[$objNum];
- }
-
- if (isset($this->_parent)) {
- return $this->_parent->getNewGeneration($objNum);
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object not found.');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/Stream.php b/airtime_mvc/library/Zend/Pdf/Element/Stream.php
deleted file mode 100644
index c5939ce15..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/Stream.php
+++ /dev/null
@@ -1,117 +0,0 @@
-value = Zend_Pdf::getMemoryManager()->create($val);
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_STREAM;
- }
-
-
- /**
- * Stream length.
- * (Method is used to avoid string copying, which may occurs in some cases)
- *
- * @return integer
- */
- public function length()
- {
- return strlen($this->value->getRef());
- }
-
-
- /**
- * Clear stream
- *
- */
- public function clear()
- {
- $ref = &$this->value->getRef();
- $ref = '';
- $this->value->touch();
- }
-
-
- /**
- * Append value to a stream
- *
- * @param mixed $val
- */
- public function append($val)
- {
- $ref = &$this->value->getRef();
- $ref .= (string)$val;
- $this->value->touch();
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- return "stream\n" . $this->value->getRef() . "\nendstream";
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/String.php b/airtime_mvc/library/Zend/Pdf/Element/String.php
deleted file mode 100644
index 3840fd4eb..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/String.php
+++ /dev/null
@@ -1,263 +0,0 @@
-value = (string)$val;
- }
-
-
- /**
- * Return type of the element.
- *
- * @return integer
- */
- public function getType()
- {
- return Zend_Pdf_Element::TYPE_STRING;
- }
-
-
- /**
- * Return object as string
- *
- * @param Zend_Pdf_Factory $factory
- * @return string
- */
- public function toString($factory = null)
- {
- return '(' . self::escape((string)$this->value) . ')';
- }
-
-
- /**
- * Escape string according to the PDF rules
- *
- * @param string $str
- * @return string
- */
- public static function escape($str)
- {
- $outEntries = array();
-
- foreach (str_split($str, 128) as $chunk) {
- // Collect sequence of unescaped characters
- $offset = strcspn($chunk, "\n\r\t\x08\x0C()\\");
- $chunkOut = substr($chunk, 0, $offset);
-
- while ($offset < strlen($chunk)) {
- $nextCode = ord($chunk[$offset++]);
- switch ($nextCode) {
- // "\n" - line feed (LF)
- case 10:
- $chunkOut .= '\\n';
- break;
-
- // "\r" - carriage return (CR)
- case 13:
- $chunkOut .= '\\r';
- break;
-
- // "\t" - horizontal tab (HT)
- case 9:
- $chunkOut .= '\\t';
- break;
-
- // "\b" - backspace (BS)
- case 8:
- $chunkOut .= '\\b';
- break;
-
- // "\f" - form feed (FF)
- case 12:
- $chunkOut .= '\\f';
- break;
-
- // '(' - left paranthesis
- case 40:
- $chunkOut .= '\\(';
- break;
-
- // ')' - right paranthesis
- case 41:
- $chunkOut .= '\\)';
- break;
-
- // '\' - backslash
- case 92:
- $chunkOut .= '\\\\';
- break;
-
- default:
- // This code is never executed extually
- //
- // Don't use non-ASCII characters escaping
- // if ($nextCode >= 32 && $nextCode <= 126 ) {
- // // Visible ASCII symbol
- // $chunkEntries[] = chr($nextCode);
- // } else {
- // $chunkEntries[] = sprintf('\\%03o', $nextCode);
- // }
-
- break;
- }
-
- // Collect sequence of unescaped characters
- $start = $offset;
- $offset += strcspn($chunk, "\n\r\t\x08\x0C()\\", $offset);
- $chunkOut .= substr($chunk, $start, $offset - $start);
- }
-
- $outEntries[] = $chunkOut;
- }
-
- return implode("\\\n", $outEntries);
- }
-
-
- /**
- * Unescape string according to the PDF rules
- *
- * @param string $str
- * @return string
- */
- public static function unescape($str)
- {
- $outEntries = array();
-
- $offset = 0;
- while ($offset < strlen($str)) {
- // Searche for the next escaped character/sequence
- $escapeCharOffset = strpos($str, '\\', $offset);
- if ($escapeCharOffset === false || $escapeCharOffset == strlen($str) - 1) {
- // There are no escaped characters or '\' char has came at the end of string
- $outEntries[] = substr($str, $offset);
- break;
- } else {
- // Collect unescaped characters sequence
- $outEntries[] = substr($str, $offset, $escapeCharOffset - $offset);
- // Go to the escaped character
- $offset = $escapeCharOffset + 1;
-
- switch ($str[$offset]) {
- // '\\n' - line feed (LF)
- case 'n':
- $outEntries[] = "\n";
- break;
-
- // '\\r' - carriage return (CR)
- case 'r':
- $outEntries[] = "\r";
- break;
-
- // '\\t' - horizontal tab (HT)
- case 't':
- $outEntries[] = "\t";
- break;
-
- // '\\b' - backspace (BS)
- case 'b':
- $outEntries[] = "\x08";
- break;
-
- // '\\f' - form feed (FF)
- case 'f':
- $outEntries[] = "\x0C";
- break;
-
- // '\\(' - left paranthesis
- case '(':
- $outEntries[] = '(';
- break;
-
- // '\\)' - right paranthesis
- case ')':
- $outEntries[] = ')';
- break;
-
- // '\\\\' - backslash
- case '\\':
- $outEntries[] = '\\';
- break;
-
- // "\\\n" or "\\\n\r"
- case "\n":
- // skip new line symbol
- if ($str[$offset + 1] == "\r") {
- $offset++;
- }
- break;
-
- default:
- if (strpos('0123456789', $str[$offset]) !== false) {
- // Character in octal representation
- // '\\xxx'
- $nextCode = '0' . $str[$offset];
-
- if (strpos('0123456789', $str[$offset + 1]) !== false) {
- $nextCode .= $str[++$offset];
-
- if (strpos('0123456789', $str[$offset + 1]) !== false) {
- $nextCode .= $str[++$offset];
- }
- }
-
- $outEntries[] = chr(octdec($nextCode));
- } else {
- $outEntries[] = $str[$offset];
- }
- break;
- }
-
- $offset++;
- }
- }
-
- return implode($outEntries);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Element/String/Binary.php b/airtime_mvc/library/Zend/Pdf/Element/String/Binary.php
deleted file mode 100644
index d19e04cf8..000000000
--- a/airtime_mvc/library/Zend/Pdf/Element/String/Binary.php
+++ /dev/null
@@ -1,98 +0,0 @@
-value) . '>';
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/ElementFactory.php b/airtime_mvc/library/Zend/Pdf/ElementFactory.php
deleted file mode 100644
index 857867398..000000000
--- a/airtime_mvc/library/Zend/Pdf/ElementFactory.php
+++ /dev/null
@@ -1,436 +0,0 @@
- Zend_Pdf_Element_Object
- *
- * @var array
- */
- private $_modifiedObjects = array();
-
- /**
- * List of the removed objects
- *
- * Array: ojbectNumber => Zend_Pdf_Element_Object
- *
- * @var SplObjectStorage
- */
- private $_removedObjects;
-
- /**
- * List of registered objects.
- * Used for resources clean up when factory is destroyed.
- *
- * Array of Zend_Pdf_Element objects
- *
- * @var array
- */
- private $_registeredObjects = array();
-
- /**
- * PDF object counter.
- * Actually it's an object number for new PDF object
- *
- * @var integer
- */
- private $_objectCount;
-
-
- /**
- * List of the attached object factories.
- * Array of Zend_Pdf_ElementFactory_Interface objects
- *
- * @var array
- */
- private $_attachedFactories = array();
-
-
- /**
- * Factory internal id
- *
- * @var integer
- */
- private $_factoryId;
-
- /**
- * Identity, used for factory id generation
- *
- * @var integer
- */
- private static $_identity = 0;
-
-
- /**
- * Internal cache to save calculated shifts
- *
- * @var array
- */
- private $_shiftCalculationCache = array();
-
-
- /**
- * Object constructor
- *
- * @param integer $objCount
- */
- public function __construct($objCount)
- {
- $this->_objectCount = (int)$objCount;
- $this->_factoryId = self::$_identity++;
- $this->_removedObjects = new SplObjectStorage();
- }
-
-
- /**
- * Factory generator
- *
- * @param integer $objCount
- * @return Zend_Pdf_ElementFactory_Interface
- */
- static public function createFactory($objCount)
- {
- require_once 'Zend/Pdf/ElementFactory/Proxy.php';
- return new Zend_Pdf_ElementFactory_Proxy(new Zend_Pdf_ElementFactory($objCount));
- }
-
- /**
- * Close factory and clean-up resources
- *
- * @internal
- */
- public function close()
- {
- $this->_modifiedObjects = null;
- $this->_removedObjects = null;
- $this->_attachedFactories = null;
-
- foreach ($this->_registeredObjects as $obj) {
- $obj->cleanUp();
- }
- $this->_registeredObjects = null;
- }
-
- /**
- * Get source factory object
- *
- * @return Zend_Pdf_ElementFactory
- */
- public function resolve()
- {
- return $this;
- }
-
- /**
- * Get factory ID
- *
- * @return integer
- */
- public function getId()
- {
- return $this->_factoryId;
- }
-
- /**
- * Set object counter
- *
- * @param integer $objCount
- */
- public function setObjectCount($objCount)
- {
- $this->_objectCount = (int)$objCount;
- }
-
- /**
- * Get object counter
- *
- * @return integer
- */
- public function getObjectCount()
- {
- $count = $this->_objectCount;
-
- foreach ($this->_attachedFactories as $attached) {
- $count += $attached->getObjectCount() - 1; // -1 as "0" object is a special case and shared between factories
- }
-
- return $count;
- }
-
-
- /**
- * Attach factory to the current;
- *
- * @param Zend_Pdf_ElementFactory_Interface $factory
- */
- public function attach(Zend_Pdf_ElementFactory_Interface $factory)
- {
- if ( $factory === $this || isset($this->_attachedFactories[$factory->getId()])) {
- /**
- * Don't attach factory twice.
- * We do not check recusively because of nature of attach operation
- * (Pages are always attached to the Documents, Fonts are always attached
- * to the pages even if pages already use Document level object factory and so on)
- */
- return;
- }
-
- $this->_attachedFactories[$factory->getId()] = $factory;
- }
-
-
- /**
- * Calculate object enumeration shift.
- *
- * @param Zend_Pdf_ElementFactory_Interface $factory
- * @return integer
- */
- public function calculateShift(Zend_Pdf_ElementFactory_Interface $factory)
- {
- if ($factory === $this) {
- return 0;
- }
-
- if (isset($this->_shiftCalculationCache[$factory->_factoryId])) {
- return $this->_shiftCalculationCache[$factory->_factoryId];
- }
-
- $shift = $this->_objectCount - 1;
-
- foreach ($this->_attachedFactories as $subFactory) {
- $subFactoryShift = $subFactory->calculateShift($factory);
-
- if ($subFactoryShift != -1) {
- // context found
- $this->_shiftCalculationCache[$factory->_factoryId] = $shift + $subFactoryShift;
- return $shift + $subFactoryShift;
- } else {
- $shift += $subFactory->getObjectCount()-1;
- }
- }
-
- $this->_shiftCalculationCache[$factory->_factoryId] = -1;
- return -1;
- }
-
- /**
- * Clean enumeration shift cache.
- * Has to be used after PDF render operation to let followed updates be correct.
- */
- public function cleanEnumerationShiftCache()
- {
- $this->_shiftCalculationCache = array();
-
- foreach ($this->_attachedFactories as $attached) {
- $attached->cleanEnumerationShiftCache();
- }
- }
-
- /**
- * Retrive object enumeration shift.
- *
- * @param Zend_Pdf_ElementFactory_Interface $factory
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function getEnumerationShift(Zend_Pdf_ElementFactory_Interface $factory)
- {
- if (($shift = $this->calculateShift($factory)) == -1) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong object context');
- }
-
- return $shift;
- }
-
- /**
- * Mark object as modified in context of current factory.
- *
- * @param Zend_Pdf_Element_Object $obj
- * @throws Zend_Pdf_Exception
- */
- public function markAsModified(Zend_Pdf_Element_Object $obj)
- {
- if ($obj->getFactory() !== $this) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object is not generated by this factory');
- }
-
- $this->_modifiedObjects[$obj->getObjNum()] = $obj;
- }
-
-
- /**
- * Remove object in context of current factory.
- *
- * @param Zend_Pdf_Element_Object $obj
- * @throws Zend_Pdf_Exception
- */
- public function remove(Zend_Pdf_Element_Object $obj)
- {
- if (!$obj->compareFactory($this)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Object is not generated by this factory');
- }
-
- $this->_modifiedObjects[$obj->getObjNum()] = $obj;
- $this->_removedObjects->attach($obj);
- }
-
-
- /**
- * Generate new Zend_Pdf_Element_Object
- *
- * @todo Reusage of the freed object. It's not a support of new feature, but only improvement.
- *
- * @param Zend_Pdf_Element $objectValue
- * @return Zend_Pdf_Element_Object
- */
- public function newObject(Zend_Pdf_Element $objectValue)
- {
- require_once 'Zend/Pdf/Element/Object.php';
- $obj = new Zend_Pdf_Element_Object($objectValue, $this->_objectCount++, 0, $this);
- $this->_modifiedObjects[$obj->getObjNum()] = $obj;
- return $obj;
- }
-
- /**
- * Generate new Zend_Pdf_Element_Object_Stream
- *
- * @todo Reusage of the freed object. It's not a support of new feature, but only improvement.
- *
- * @param mixed $objectValue
- * @return Zend_Pdf_Element_Object_Stream
- */
- public function newStreamObject($streamValue)
- {
- require_once 'Zend/Pdf/Element/Object/Stream.php';
- $obj = new Zend_Pdf_Element_Object_Stream($streamValue, $this->_objectCount++, 0, $this);
- $this->_modifiedObjects[$obj->getObjNum()] = $obj;
- return $obj;
- }
-
-
- /**
- * Enumerate modified objects.
- * Returns array of Zend_Pdf_UpdateInfoContainer
- *
- * @param Zend_Pdf_ElementFactory_Interface $rootFactory
- * @return array
- */
- public function listModifiedObjects($rootFactory = null)
- {
- if ($rootFactory == null) {
- $rootFactory = $this;
- $shift = 0;
- } else {
- $shift = $rootFactory->getEnumerationShift($this);
- }
-
- ksort($this->_modifiedObjects);
-
- $result = array();
- require_once 'Zend/Pdf/UpdateInfoContainer.php';
- foreach ($this->_modifiedObjects as $objNum => $obj) {
- if ($this->_removedObjects->contains($obj)) {
- $result[$objNum+$shift] = new Zend_Pdf_UpdateInfoContainer($objNum + $shift,
- $obj->getGenNum()+1,
- true);
- } else {
- $result[$objNum+$shift] = new Zend_Pdf_UpdateInfoContainer($objNum + $shift,
- $obj->getGenNum(),
- false,
- $obj->dump($rootFactory));
- }
- }
-
- foreach ($this->_attachedFactories as $factory) {
- $result += $factory->listModifiedObjects($rootFactory);
- }
-
- return $result;
- }
-
- /**
- * Register object in the factory
- *
- * It's used to clear "parent object" referencies when factory is closed and clean up resources
- *
- * @param string $refString
- * @param Zend_Pdf_Element_Object $obj
- */
- public function registerObject(Zend_Pdf_Element_Object $obj, $refString)
- {
- $this->_registeredObjects[$refString] = $obj;
- }
-
- /**
- * Fetch object specified by reference
- *
- * @param string $refString
- * @return Zend_Pdf_Element_Object|null
- */
- public function fetchObject($refString)
- {
- if (!isset($this->_registeredObjects[$refString])) {
- return null;
- }
- return $this->_registeredObjects[$refString];
- }
-
-
- /**
- * Check if PDF file was modified
- *
- * @return boolean
- */
- public function isModified()
- {
- if (count($this->_modifiedObjects) != 0) {
- return true;
- }
-
- foreach ($this->_attachedFactories as $subFactory) {
- if ($subFactory->isModified()) {
- return true;
- }
- }
-
- return false;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/ElementFactory/Interface.php b/airtime_mvc/library/Zend/Pdf/ElementFactory/Interface.php
deleted file mode 100644
index 1e09213e8..000000000
--- a/airtime_mvc/library/Zend/Pdf/ElementFactory/Interface.php
+++ /dev/null
@@ -1,151 +0,0 @@
-_factory = $factory;
- }
-
- public function __destruct()
- {
- $this->_factory->close();
- $this->_factory = null;
- }
-
- /**
- * Close factory and clean-up resources
- *
- * @internal
- */
- public function close()
- {
- // Do nothing
- }
-
- /**
- * Get source factory object
- *
- * @return Zend_Pdf_ElementFactory
- */
- public function resolve()
- {
- return $this->_factory->resolve();
- }
-
- /**
- * Get factory ID
- *
- * @return integer
- */
- public function getId()
- {
- return $this->_factory->getId();
- }
-
- /**
- * Set object counter
- *
- * @param integer $objCount
- */
- public function setObjectCount($objCount)
- {
- $this->_factory->setObjectCount($objCount);
- }
-
- /**
- * Get object counter
- *
- * @return integer
- */
- public function getObjectCount()
- {
- return $this->_factory->getObjectCount();
- }
-
- /**
- * Attach factory to the current;
- *
- * @param Zend_Pdf_ElementFactory_Interface $factory
- */
- public function attach(Zend_Pdf_ElementFactory_Interface $factory)
- {
- $this->_factory->attach($factory);
- }
-
- /**
- * Calculate object enumeration shift.
- *
- * @internal
- * @param Zend_Pdf_ElementFactory_Interface $factory
- * @return integer
- */
- public function calculateShift(Zend_Pdf_ElementFactory_Interface $factory)
- {
- return $this->_factory->calculateShift($factory);
- }
-
- /**
- * Clean enumeration shift cache.
- * Has to be used after PDF render operation to let followed updates be correct.
- *
- * @param Zend_Pdf_ElementFactory_Interface $factory
- * @return integer
- */
- public function cleanEnumerationShiftCache()
- {
- return $this->_factory->cleanEnumerationShiftCache();
- }
-
- /**
- * Retrive object enumeration shift.
- *
- * @param Zend_Pdf_ElementFactory_Interface $factory
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function getEnumerationShift(Zend_Pdf_ElementFactory_Interface $factory)
- {
- return $this->_factory->getEnumerationShift($factory);
- }
-
- /**
- * Mark object as modified in context of current factory.
- *
- * @param Zend_Pdf_Element_Object $obj
- * @throws Zend_Pdf_Exception
- */
- public function markAsModified(Zend_Pdf_Element_Object $obj)
- {
- $this->_factory->markAsModified($obj);
- }
-
- /**
- * Remove object in context of current factory.
- *
- * @param Zend_Pdf_Element_Object $obj
- * @throws Zend_Pdf_Exception
- */
- public function remove(Zend_Pdf_Element_Object $obj)
- {
- $this->_factory->remove($obj);
- }
-
- /**
- * Generate new Zend_Pdf_Element_Object
- *
- * @todo Reusage of the freed object. It's not a support of new feature, but only improvement.
- *
- * @param Zend_Pdf_Element $objectValue
- * @return Zend_Pdf_Element_Object
- */
- public function newObject(Zend_Pdf_Element $objectValue)
- {
- return $this->_factory->newObject($objectValue);
- }
-
- /**
- * Generate new Zend_Pdf_Element_Object_Stream
- *
- * @todo Reusage of the freed object. It's not a support of new feature, but only improvement.
- *
- * @param mixed $objectValue
- * @return Zend_Pdf_Element_Object_Stream
- */
- public function newStreamObject($streamValue)
- {
- return $this->_factory->newStreamObject($streamValue);
- }
-
- /**
- * Enumerate modified objects.
- * Returns array of Zend_Pdf_UpdateInfoContainer
- *
- * @param Zend_Pdf_ElementFactory $rootFactory
- * @return array
- */
- public function listModifiedObjects($rootFactory = null)
- {
- return $this->_factory->listModifiedObjects($rootFactory);
- }
-
- /**
- * Check if PDF file was modified
- *
- * @return boolean
- */
- public function isModified()
- {
- return $this->_factory->isModified();
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Exception.php b/airtime_mvc/library/Zend/Pdf/Exception.php
deleted file mode 100644
index df04f1cd9..000000000
--- a/airtime_mvc/library/Zend/Pdf/Exception.php
+++ /dev/null
@@ -1,343 +0,0 @@
-_isScreened to true if successful.
- *
- * @throws Zend_Pdf_Exception
- */
- abstract public function screen();
-
- /**
- * Reads and parses the complete binary file.
- *
- * Must set $this->_isParsed to true if successful.
- *
- * @throws Zend_Pdf_Exception
- */
- abstract public function parse();
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor.
- *
- * Verifies that the data source has been properly initialized.
- *
- * @param Zend_Pdf_FileParserDataSource $dataSource
- * @throws Zend_Pdf_Exception
- */
- public function __construct(Zend_Pdf_FileParserDataSource $dataSource)
- {
- if ($dataSource->getSize() == 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('The data source has not been properly initialized',
- Zend_Pdf_Exception::BAD_DATA_SOURCE);
- }
- $this->_dataSource = $dataSource;
- }
-
- /**
- * Object destructor.
- *
- * Discards the data source object.
- */
- public function __destruct()
- {
- $this->_dataSource = null;
- }
-
-
- /* Accessors */
-
- /**
- * Returns true if the file has passed a cursory validation check.
- *
- * @return boolean
- */
- public function isScreened()
- {
- return $this->_isScreened;
- }
-
- /**
- * Returns true if the file has been successfully parsed.
- *
- * @return boolean
- */
- public function isParsed()
- {
- return $this->_isParsed;
- }
-
- /**
- * Returns the data source object representing the file being parsed.
- *
- * @return Zend_Pdf_FileParserDataSource
- */
- public function getDataSource()
- {
- return $this->_dataSource;
- }
-
-
- /* Primitive Methods */
-
- /**
- * Convenience wrapper for the data source object's moveToOffset() method.
- *
- * @param integer $offset Destination byte offset.
- * @throws Zend_Pdf_Exception
- */
- public function moveToOffset($offset)
- {
- $this->_dataSource->moveToOffset($offset);
- }
-
- public function getOffset() {
- return $this->_dataSource->getOffset();
- }
-
- public function getSize() {
- return $this->_dataSource->getSize();
- }
-
- /**
- * Convenience wrapper for the data source object's readBytes() method.
- *
- * @param integer $byteCount Number of bytes to read.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readBytes($byteCount)
- {
- return $this->_dataSource->readBytes($byteCount);
- }
-
- /**
- * Convenience wrapper for the data source object's skipBytes() method.
- *
- * @param integer $byteCount Number of bytes to skip.
- * @throws Zend_Pdf_Exception
- */
- public function skipBytes($byteCount)
- {
- $this->_dataSource->skipBytes($byteCount);
- }
-
-
- /* Parser Methods */
-
- /**
- * Reads the signed integer value from the binary file at the current byte
- * offset.
- *
- * Advances the offset by the number of bytes read. Throws an exception if
- * an error occurs.
- *
- * @param integer $size Size of integer in bytes: 1-4
- * @param integer $byteOrder (optional) Big- or little-endian byte order.
- * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}.
- * If omitted, uses big-endian.
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function readInt($size, $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN)
- {
- if (($size < 1) || ($size > 4)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Invalid signed integer size: $size",
- Zend_Pdf_Exception::INVALID_INTEGER_SIZE);
- }
- $bytes = $this->_dataSource->readBytes($size);
- /* unpack() will not work for this method because it always works in
- * the host byte order for signed integers. It also does not allow for
- * variable integer sizes.
- */
- if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) {
- $number = ord($bytes[0]);
- if (($number & 0x80) == 0x80) {
- /* This number is negative. Extract the positive equivalent.
- */
- $number = (~ $number) & 0xff;
- for ($i = 1; $i < $size; $i++) {
- $number = ($number << 8) | ((~ ord($bytes[$i])) & 0xff);
- }
- /* Now turn this back into a negative number by taking the
- * two's complement (we didn't add one above so won't
- * subtract it below). This works reliably on both 32- and
- * 64-bit systems.
- */
- $number = ~$number;
- } else {
- for ($i = 1; $i < $size; $i++) {
- $number = ($number << 8) | ord($bytes[$i]);
- }
- }
- } else if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_LITTLE_ENDIAN) {
- $number = ord($bytes[$size - 1]);
- if (($number & 0x80) == 0x80) {
- /* Negative number. See discussion above.
- */
- $number = 0;
- for ($i = --$size; $i >= 0; $i--) {
- $number |= ((~ ord($bytes[$i])) & 0xff) << ($i * 8);
- }
- $number = ~$number;
- } else {
- $number = 0;
- for ($i = --$size; $i >= 0; $i--) {
- $number |= ord($bytes[$i]) << ($i * 8);
- }
- }
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Invalid byte order: $byteOrder",
- Zend_Pdf_Exception::INVALID_BYTE_ORDER);
- }
- return $number;
- }
-
- /**
- * Reads the unsigned integer value from the binary file at the current byte
- * offset.
- *
- * Advances the offset by the number of bytes read. Throws an exception if
- * an error occurs.
- *
- * NOTE: If you ask for a 4-byte unsigned integer on a 32-bit machine, the
- * resulting value WILL BE SIGNED because PHP uses signed integers internally
- * for everything. To guarantee portability, be sure to use bitwise operators
- * operators on large unsigned integers!
- *
- * @param integer $size Size of integer in bytes: 1-4
- * @param integer $byteOrder (optional) Big- or little-endian byte order.
- * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}.
- * If omitted, uses big-endian.
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function readUInt($size, $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN)
- {
- if (($size < 1) || ($size > 4)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Invalid unsigned integer size: $size",
- Zend_Pdf_Exception::INVALID_INTEGER_SIZE);
- }
- $bytes = $this->_dataSource->readBytes($size);
- /* unpack() is a bit heavyweight for this simple conversion. Just
- * work the bytes directly.
- */
- if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) {
- $number = ord($bytes[0]);
- for ($i = 1; $i < $size; $i++) {
- $number = ($number << 8) | ord($bytes[$i]);
- }
- } else if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_LITTLE_ENDIAN) {
- $number = 0;
- for ($i = --$size; $i >= 0; $i--) {
- $number |= ord($bytes[$i]) << ($i * 8);
- }
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Invalid byte order: $byteOrder",
- Zend_Pdf_Exception::INVALID_BYTE_ORDER);
- }
- return $number;
- }
-
- /**
- * Returns true if the specified bit is set in the integer bitfield.
- *
- * @param integer $bit Bit number to test (i.e. - 0-31)
- * @param integer $bitField
- * @return boolean
- */
- public function isBitSet($bit, $bitField)
- {
- $bitMask = 1 << $bit;
- $isSet = (($bitField & $bitMask) == $bitMask);
- return $isSet;
- }
-
- /**
- * Reads the signed fixed-point number from the binary file at the current
- * byte offset.
- *
- * Common fixed-point sizes are 2.14 and 16.16.
- *
- * Advances the offset by the number of bytes read. Throws an exception if
- * an error occurs.
- *
- * @param integer $mantissaBits Number of bits in the mantissa
- * @param integer $fractionBits Number of bits in the fraction
- * @param integer $byteOrder (optional) Big- or little-endian byte order.
- * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}.
- * If omitted, uses big-endian.
- * @return float
- * @throws Zend_Pdf_Exception
- */
- public function readFixed($mantissaBits, $fractionBits,
- $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN)
- {
- $bitsToRead = $mantissaBits + $fractionBits;
- if (($bitsToRead % 8) !== 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Fixed-point numbers are whole bytes',
- Zend_Pdf_Exception::BAD_FIXED_POINT_SIZE);
- }
- $number = $this->readInt(($bitsToRead >> 3), $byteOrder) / (1 << $fractionBits);
- return $number;
- }
-
- /**
- * Reads the Unicode UTF-16-encoded string from the binary file at the
- * current byte offset.
- *
- * The byte order of the UTF-16 string must be specified. You must also
- * supply the desired resulting character set.
- *
- * Advances the offset by the number of bytes read. Throws an exception if
- * an error occurs.
- *
- * @todo Consider changing $byteCount to a character count. They are not
- * always equivalent (in the case of surrogates).
- * @todo Make $byteOrder optional if there is a byte-order mark (BOM) in the
- * string being extracted.
- *
- * @param integer $byteCount Number of bytes (characters * 2) to return.
- * @param integer $byteOrder (optional) Big- or little-endian byte order.
- * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}.
- * If omitted, uses big-endian.
- * @param string $characterSet (optional) Desired resulting character set.
- * You may use any character set supported by {@link iconv()}. If omitted,
- * uses 'current locale'.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readStringUTF16($byteCount,
- $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN,
- $characterSet = '')
- {
- if ($byteCount == 0) {
- return '';
- }
- $bytes = $this->_dataSource->readBytes($byteCount);
- if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN) {
- if ($characterSet == 'UTF-16BE') {
- return $bytes;
- }
- return iconv('UTF-16BE', $characterSet, $bytes);
- } else if ($byteOrder == Zend_Pdf_FileParser::BYTE_ORDER_LITTLE_ENDIAN) {
- if ($characterSet == 'UTF-16LE') {
- return $bytes;
- }
- return iconv('UTF-16LE', $characterSet, $bytes);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Invalid byte order: $byteOrder",
- Zend_Pdf_Exception::INVALID_BYTE_ORDER);
- }
- }
-
- /**
- * Reads the Mac Roman-encoded string from the binary file at the current
- * byte offset.
- *
- * You must supply the desired resulting character set.
- *
- * Advances the offset by the number of bytes read. Throws an exception if
- * an error occurs.
- *
- * @param integer $byteCount Number of bytes (characters) to return.
- * @param string $characterSet (optional) Desired resulting character set.
- * You may use any character set supported by {@link iconv()}. If omitted,
- * uses 'current locale'.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readStringMacRoman($byteCount, $characterSet = '')
- {
- if ($byteCount == 0) {
- return '';
- }
- $bytes = $this->_dataSource->readBytes($byteCount);
- if ($characterSet == 'MacRoman') {
- return $bytes;
- }
- return iconv('MacRoman', $characterSet, $bytes);
- }
-
- /**
- * Reads the Pascal string from the binary file at the current byte offset.
- *
- * The length of the Pascal string is determined by reading the length bytes
- * which preceed the character data. You must supply the desired resulting
- * character set.
- *
- * Advances the offset by the number of bytes read. Throws an exception if
- * an error occurs.
- *
- * @param string $characterSet (optional) Desired resulting character set.
- * You may use any character set supported by {@link iconv()}. If omitted,
- * uses 'current locale'.
- * @param integer $lengthBytes (optional) Number of bytes that make up the
- * length. Default is 1.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readStringPascal($characterSet = '', $lengthBytes = 1)
- {
- $byteCount = $this->readUInt($lengthBytes);
- if ($byteCount == 0) {
- return '';
- }
- $bytes = $this->_dataSource->readBytes($byteCount);
- if ($characterSet == 'ASCII') {
- return $bytes;
- }
- return iconv('ASCII', $characterSet, $bytes);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParser/Font.php b/airtime_mvc/library/Zend/Pdf/FileParser/Font.php
deleted file mode 100644
index 56a728413..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParser/Font.php
+++ /dev/null
@@ -1,217 +0,0 @@
-fontType = Zend_Pdf_Font::TYPE_UNKNOWN;
- }
-
-
- /* Accessors */
-
- /**
- * Get handler
- *
- * @param string $property
- * @return mixed
- */
- public function __get($property)
- {
- if (isset($this->_fontProperties[$property])) {
- return $this->_fontProperties[$property];
- } else {
- return null;
- }
- }
-
- /* NOTE: The set handler is defined below in the internal methods group. */
-
-
- /* Parser Methods */
-
- /**
- * Reads the Unicode UTF-16-encoded string from the binary file at the
- * current offset location. Overridden to fix return character set at UTF-16BE.
- *
- * @todo Deal with to-dos in the parent method.
- *
- * @param integer $byteCount Number of bytes (characters * 2) to return.
- * @param integer $byteOrder (optional) Big- or little-endian byte order.
- * Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. If
- * omitted, uses big-endian.
- * @param string $characterSet (optional) --Ignored--
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readStringUTF16($byteCount,
- $byteOrder = Zend_Pdf_FileParser::BYTE_ORDER_BIG_ENDIAN,
- $characterSet = '')
- {
- return parent::readStringUTF16($byteCount, $byteOrder, 'UTF-16BE');
- }
-
- /**
- * Reads the Mac Roman-encoded string from the binary file at the current
- * offset location. Overridden to fix return character set at UTF-16BE.
- *
- * @param integer $byteCount Number of bytes (characters) to return.
- * @param string $characterSet (optional) --Ignored--
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readStringMacRoman($byteCount, $characterSet = '')
- {
- return parent::readStringMacRoman($byteCount, 'UTF-16BE');
- }
-
- /**
- * Reads the Pascal string from the binary file at the current offset
- * location. Overridden to fix return character set at UTF-16BE.
- *
- * @param string $characterSet (optional) --Ignored--
- * @param integer $lengthBytes (optional) Number of bytes that make up the
- * length. Default is 1.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readStringPascal($characterSet = '', $lengthBytes = 1)
- {
- return parent::readStringPascal('UTF-16BE');
- }
-
-
- /* Utility Methods */
-
- /**
- * Writes the entire font properties array to STDOUT. Used only for debugging.
- */
- public function writeDebug()
- {
- print_r($this->_fontProperties);
- }
-
-
-
- /**** Internal Methods ****/
-
-
- /* Internal Accessors */
-
- /**
- * Set handler
- *
- * NOTE: This method is protected. Other classes may freely interrogate
- * the font properties, but only this and its subclasses may set them.
- *
- * @param string $property
- * @param mixed $value
- */
- public function __set($property, $value)
- {
- if ($value === null) {
- unset($this->_fontProperties[$property]);
- } else {
- $this->_fontProperties[$property] = $value;
- }
- }
-
-
- /* Internal Utility Methods */
-
- /**
- * If debug logging is enabled, writes the log message.
- *
- * The log message is a sprintf() style string and any number of arguments
- * may accompany it as additional parameters.
- *
- * @param string $message
- * @param mixed (optional, multiple) Additional arguments
- */
- protected function _debugLog($message)
- {
- if (! $this->_debug) {
- return;
- }
- if (func_num_args() > 1) {
- $args = func_get_args();
- $message = array_shift($args);
- $message = vsprintf($message, $args);
- }
-
- require_once 'Zend/Log.php';
- $logger = new Zend_Log();
- $logger->log($message, Zend_Log::DEBUG);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParser/Font/OpenType.php b/airtime_mvc/library/Zend/Pdf/FileParser/Font/OpenType.php
deleted file mode 100644
index c08a8afc1..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParser/Font/OpenType.php
+++ /dev/null
@@ -1,1126 +0,0 @@
-
- * {@link http://developer.apple.com/textfonts/TTRefMan/}
- * {@link http://www.microsoft.com/typography/OTSPEC/}
- * {@link http://partners.adobe.com/public/developer/opentype/index_spec.html}
- *
- *
- * @package Zend_Pdf
- * @subpackage FileParser
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-abstract class Zend_Pdf_FileParser_Font_OpenType extends Zend_Pdf_FileParser_Font
-{
- /**** Instance Variables ****/
-
-
- /**
- * Stores the scaler type (font type) for the font file. See
- * {@link _readScalerType()}.
- * @var integer
- */
- protected $_scalerType = 0;
-
- /**
- * Stores the byte offsets to the various information tables.
- * @var array
- */
- protected $_tableDirectory = array();
-
-
-
- /**** Public Interface ****/
-
-
- /* Semi-Concrete Class Implementation */
-
- /**
- * Verifies that the font file is in the expected format.
- *
- * NOTE: This method should be overridden in subclasses to check the
- * specific format and set $this->_isScreened!
- *
- * @throws Zend_Pdf_Exception
- */
- public function screen()
- {
- if ($this->_isScreened) {
- return;
- }
- $this->_readScalerType();
- }
-
- /**
- * Reads and parses the font data from the file on disk.
- *
- * NOTE: This method should be overridden in subclasses to add type-
- * specific parsing and set $this->isParsed.
- *
- * @throws Zend_Pdf_Exception
- */
- public function parse()
- {
- if ($this->_isParsed) {
- return;
- }
-
- /* Screen the font file first, if it hasn't been done yet.
- */
- $this->screen();
-
- /* Start by reading the table directory.
- */
- $this->_parseTableDirectory();
-
- /* Then parse all of the required tables.
- */
- $this->_parseHeadTable();
- $this->_parseNameTable();
- $this->_parsePostTable();
- $this->_parseHheaTable();
- $this->_parseMaxpTable();
- $this->_parseOs2Table();
- $this->_parseHmtxTable();
- $this->_parseCmapTable();
-
- /* If present, parse the optional tables.
- */
- /**
- * @todo Add parser for kerning pairs.
- * @todo Add parser for ligatures.
- * @todo Add parser for other useful hinting tables.
- */
- }
-
-
-
- /**** Internal Methods ****/
-
-
- /* Parser Methods */
-
- /**
- * Parses the OpenType table directory.
- *
- * The table directory contains the identifier, checksum, byte offset, and
- * length of each of the information tables housed in the font file.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseTableDirectory()
- {
- $this->moveToOffset(4);
-
- $tableCount = $this->readUInt(2);
- $this->_debugLog('%d tables', $tableCount);
-
- /* Sanity check, in case we're not actually reading a OpenType file and
- * the first four bytes coincidentally matched an OpenType signature in
- * screen() above.
- *
- * There are at minimum 7 required tables: cmap, head, hhea, hmtx, maxp,
- * name, and post. In the current OpenType standard, only 32 table types
- * are defined, so use 50 as a practical limit.
- */
- if (($tableCount < 7) || ($tableCount > 50)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Table count not within expected range',
- Zend_Pdf_Exception::BAD_TABLE_COUNT);
- }
-
- /* Skip the next 6 bytes, which contain values to aid a binary search.
- */
- $this->skipBytes(6);
-
- /* The directory contains four values: the name of the table, checksum,
- * offset to the table from the beginning of the font, and actual data
- * length of the table.
- */
- for ($tableIndex = 0; $tableIndex < $tableCount; $tableIndex++) {
- $tableName = $this->readBytes(4);
-
- /* We ignore the checksum here for two reasons: First, the PDF viewer
- * will do this later anyway; Second, calculating the checksum would
- * require unsigned integers, which PHP does not currently provide.
- * We may revisit this in the future.
- */
- $this->skipBytes(4);
-
- $tableOffset = $this->readUInt(4);
- $tableLength = $this->readUInt(4);
- $this->_debugLog('%s offset: 0x%x; length: %d', $tableName, $tableOffset, $tableLength);
-
- /* Sanity checks for offset and length values.
- */
- $fileSize = $this->_dataSource->getSize();
- if (($tableOffset < 0) || ($tableOffset > $fileSize)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Table offset ($tableOffset) not within expected range",
- Zend_Pdf_Exception::INDEX_OUT_OF_RANGE);
- }
- if (($tableLength < 0) || (($tableOffset + $tableLength) > $fileSize)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Table length ($tableLength) not within expected range",
- Zend_Pdf_Exception::INDEX_OUT_OF_RANGE);
- }
-
- $this->_tableDirectory[$tableName]['offset'] = $tableOffset;
- $this->_tableDirectory[$tableName]['length'] = $tableLength;
- }
- }
-
-
- /**
- * Parses the OpenType head (Font Header) table.
- *
- * The head table contains global information about the font such as the
- * revision number and global metrics.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseHeadTable()
- {
- $this->_jumpToTable('head');
-
- /* We can read any version 1 table.
- */
- $tableVersion = $this->_readTableVersion(1, 1);
-
- /* Skip the font revision number and checksum adjustment.
- */
- $this->skipBytes(8);
-
- $magicNumber = $this->readUInt(4);
- if ($magicNumber != 0x5f0f3cf5) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong magic number. Expected: 0x5f0f3cf5; actual: '
- . sprintf('%x', $magicNumber),
- Zend_Pdf_Exception::BAD_MAGIC_NUMBER);
- }
-
- /* Most of the flags we ignore, but there are a few values that are
- * useful for our layout routines.
- */
- $flags = $this->readUInt(2);
- $this->baselineAtZero = $this->isBitSet(0, $flags);
- $this->useIntegerScaling = $this->isBitSet(3, $flags);
-
- $this->unitsPerEm = $this->readUInt(2);
- $this->_debugLog('Units per em: %d', $this->unitsPerEm);
-
- /* Skip creation and modification date/time.
- */
- $this->skipBytes(16);
-
- $this->xMin = $this->readInt(2);
- $this->yMin = $this->readInt(2);
- $this->xMax = $this->readInt(2);
- $this->yMax = $this->readInt(2);
- $this->_debugLog('Font bounding box: %d %d %d %d',
- $this->xMin, $this->yMin, $this->xMax, $this->yMax);
-
- /* The style bits here must match the fsSelection bits in the OS/2
- * table, if present.
- */
- $macStyleBits = $this->readUInt(2);
- $this->isBold = $this->isBitSet(0, $macStyleBits);
- $this->isItalic = $this->isBitSet(1, $macStyleBits);
-
- /* We don't need the remainder of data in this table: smallest readable
- * size, font direction hint, indexToLocFormat, and glyphDataFormat.
- */
- }
-
-
- /**
- * Parses the OpenType name (Naming) table.
- *
- * The name table contains all of the identifying strings associated with
- * the font such as its name, copyright, trademark, license, etc.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseNameTable()
- {
- $this->_jumpToTable('name');
- $baseOffset = $this->_tableDirectory['name']['offset'];
-
- /* The name table begins with a short header, followed by each of the
- * fixed-length name records, followed by the variable-length strings.
- */
-
- /* We only understand version 0 tables.
- */
- $tableFormat = $this->readUInt(2);
- if ($tableFormat != 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unable to read format $tableFormat table",
- Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION);
- }
- $this->_debugLog('Format %d table', $tableFormat);
-
- $nameCount = $this->readUInt(2);
- $this->_debugLog('%d name strings', $nameCount);
-
- $storageOffset = $this->readUInt(2) + $baseOffset;
- $this->_debugLog('Storage offset: 0x%x', $storageOffset);
-
- /* Scan the name records for those we're interested in. We'll skip over
- * encodings and languages we don't understand or support. Prefer the
- * Microsoft Unicode encoding for a given name/language combination, but
- * use Mac Roman if nothing else is available. We will extract the
- * actual strings later.
- */
- $nameRecords = array();
- for ($nameIndex = 0; $nameIndex < $nameCount; $nameIndex++) {
-
- $platformID = $this->readUInt(2);
- $encodingID = $this->readUInt(2);
-
- if (! ( (($platformID == 3) && ($encodingID == 1)) || // Microsoft Unicode
- (($platformID == 1) && ($encodingID == 0)) // Mac Roman
- ) ) {
- $this->skipBytes(8); // Not a supported encoding. Move on.
- continue;
- }
-
- $languageID = $this->readUInt(2);
- $nameID = $this->readUInt(2);
- $nameLength = $this->readUInt(2);
- $nameOffset = $this->readUInt(2);
-
- $languageCode = $this->_languageCodeForPlatform($platformID, $languageID);
- if ($languageCode === null) {
- $this->_debugLog('Skipping languageID: 0x%x; platformID %d', $languageID, $platformID);
- continue; // Not a supported language. Move on.
- }
-
- $this->_debugLog('Adding nameID: %d; languageID: 0x%x; platformID: %d; offset: 0x%x (0x%x); length: %d',
- $nameID, $languageID, $platformID, $baseOffset + $nameOffset, $nameOffset, $nameLength);
-
- /* Entries in the name table are sorted by platform ID. If an entry
- * exists for both Mac Roman and Microsoft Unicode, the Unicode entry
- * will prevail since it is processed last.
- */
- $nameRecords[$nameID][$languageCode] = array('platform' => $platformID,
- 'offset' => $nameOffset,
- 'length' => $nameLength );
- }
-
- /* Now go back and extract the interesting strings.
- */
- $fontNames = array();
- foreach ($nameRecords as $name => $languages) {
- foreach ($languages as $language => $attributes) {
- $stringOffset = $storageOffset + $attributes['offset'];
- $this->moveToOffset($stringOffset);
- if ($attributes['platform'] == 3) {
- $string = $this->readStringUTF16($attributes['length']);
- } else {
- $string = $this->readStringMacRoman($attributes['length']);
- }
- $fontNames[$name][$language] = $string;
- }
- }
-
- $this->names = $fontNames;
- }
-
-
- /**
- * Parses the OpenType post (PostScript Information) table.
- *
- * The post table contains additional information required for using the font
- * on PostScript printers. It also contains the preferred location and
- * thickness for an underline, which is used by our layout code.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parsePostTable()
- {
- $this->_jumpToTable('post');
-
- /* We can read versions 1-4 tables.
- */
- $tableVersion = $this->_readTableVersion(1, 4);
-
- $this->italicAngle = $this->readFixed(16, 16);
-
- $this->underlinePosition = $this->readInt(2);
- $this->underlineThickness = $this->readInt(2);
-
- $fixedPitch = $this->readUInt(4);
- $this->isMonospaced = ($fixedPitch !== 0);
-
- /* Skip over PostScript virtual memory usage.
- */
- $this->skipBytes(16);
-
- /* The format of the remainder of this table is dependent on the table
- * version. However, since it contains glyph ordering information and
- * PostScript names which we don't use, move on. (This may change at
- * some point in the future though...)
- */
- }
-
-
- /**
- * Parses the OpenType hhea (Horizontal Header) table.
- *
- * The hhea table contains information used for horizontal layout. It also
- * contains some vertical layout information for Apple systems. The vertical
- * layout information for the PDF file is usually taken from the OS/2 table.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseHheaTable()
- {
- $this->_jumpToTable('hhea');
-
- /* We can read any version 1 table.
- */
- $tableVersion = $this->_readTableVersion(1, 1);
-
- /* The typographic ascent, descent, and line gap values are Apple-
- * specific. Similar values exist in the OS/2 table. We'll use these
- * values unless better values are found in OS/2.
- */
- $this->ascent = $this->readInt(2);
- $this->descent = $this->readInt(2);
- $this->lineGap = $this->readInt(2);
-
- /* The descent value is supposed to be negative--it's the distance
- * relative to the baseline. However, some fonts improperly store a
- * positive value in this field. If a positive value is found, flip the
- * sign and record a warning in the debug log that we did this.
- */
- if ($this->descent > 0) {
- $this->_debugLog('Warning: Font should specify negative descent. Actual: %d; Using %d',
- $this->descent, -$this->descent);
- $this->descent = -$this->descent;
- }
-
- /* Skip over advance width, left and right sidebearing, max x extent,
- * caret slope rise, run, and offset, and the four reserved fields.
- */
- $this->skipBytes(22);
-
- /* These values are needed to read the hmtx table.
- */
- $this->metricDataFormat = $this->readInt(2);
- $this->numberHMetrics = $this->readUInt(2);
- $this->_debugLog('hmtx data format: %d; number of metrics: %d',
- $this->metricDataFormat, $this->numberHMetrics);
- }
-
-
- /**
- * Parses the OpenType hhea (Horizontal Header) table.
- *
- * The hhea table contains information used for horizontal layout. It also
- * contains some vertical layout information for Apple systems. The vertical
- * layout information for the PDF file is usually taken from the OS/2 table.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseMaxpTable()
- {
- $this->_jumpToTable('maxp');
-
- /* We don't care about table version.
- */
- $this->_readTableVersion(0, 1);
-
- /* The number of glyphs in the font.
- */
- $this->numGlyphs = $this->readUInt(2);
- $this->_debugLog('number of glyphs: %d', $this->numGlyphs);
-
- // Skip other maxp table entries (if presented with table version 1.0)...
- }
-
-
- /**
- * Parses the OpenType OS/2 (OS/2 and Windows Metrics) table.
- *
- * The OS/2 table contains additional metrics data that is required to use
- * the font on the OS/2 or Microsoft Windows platforms. It is not required
- * for Macintosh fonts, so may not always be present. When available, we use
- * this table to determine most of the vertical layout and stylistic
- * information and for the font.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseOs2Table()
- {
- if (! $this->numberHMetrics) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("hhea table must be parsed prior to calling this method",
- Zend_Pdf_Exception::PARSED_OUT_OF_ORDER);
- }
-
- try {
- $this->_jumpToTable('OS/2');
- } catch (Zend_Pdf_Exception $e) {
- /* This table is not always present. If missing, use default values.
- */
- require_once 'Zend/Pdf/Exception.php';
- if ($e->getCode() == Zend_Pdf_Exception::REQUIRED_TABLE_NOT_FOUND) {
- $this->_debugLog('No OS/2 table found. Using default values');
- $this->fontWeight = Zend_Pdf_Font::WEIGHT_NORMAL;
- $this->fontWidth = Zend_Pdf_Font::WIDTH_NORMAL;
- $this->isEmbeddable = true;
- $this->isSubsettable = true;
- $this->strikeThickness = $this->unitsPerEm * 0.05;
- $this->strikePosition = $this->unitsPerEm * 0.225;
- $this->isSerifFont = false; // the style of the font is unknown
- $this->isSansSerifFont = false;
- $this->isOrnamentalFont = false;
- $this->isScriptFont = false;
- $this->isSymbolicFont = false;
- $this->isAdobeLatinSubset = false;
- $this->vendorID = '';
- $this->xHeight = 0;
- $this->capitalHeight = 0;
- return;
- } else {
- /* Something else went wrong. Throw this exception higher up the chain.
- */
- throw $e;
- throw new Zend_Pdf_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
-
- /* Version 0 tables are becoming rarer these days. They are only found
- * in older fonts.
- *
- * Version 1 formally defines the Unicode character range bits and adds
- * two new fields to the end of the table.
- *
- * Version 2 defines several additional flags to the embedding bits
- * (fsType field) and five new fields to the end of the table.
- *
- * Versions 2 and 3 are structurally identical. There are only two
- * significant differences between the two: First, in version 3, the
- * average character width (xAvgCharWidth field) is calculated using all
- * non-zero width glyphs in the font instead of just the Latin lower-
- * case alphabetic characters; this doesn't affect us. Second, in
- * version 3, the embedding bits (fsType field) have been made mutually
- * exclusive; see additional discusson on this below.
- *
- * We can understand all four of these table versions.
- */
- $tableVersion = $this->readUInt(2);
- if (($tableVersion < 0) || ($tableVersion > 3)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unable to read version $tableVersion table",
- Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION);
- }
- $this->_debugLog('Version %d table', $tableVersion);
-
- $this->averageCharWidth = $this->readInt(2);
-
- /* Indicates the visual weight and aspect ratio of the characters. Used
- * primarily to logically sort fonts in lists. Also used to help choose
- * a more appropriate substitute font when necessary. See the WEIGHT_
- * and WIDTH_ constants defined in Zend_Pdf_Font.
- */
- $this->fontWeight = $this->readUInt(2);
- $this->fontWidth = $this->readUInt(2);
-
- /* Describes the font embedding licensing rights. We can only embed and
- * subset a font when given explicit permission.
- *
- * NOTE: We always interpret these bits according to the rules defined
- * in version 3 of this table, regardless of the actual version. This
- * means we will perform our checks in order from the most-restrictive
- * to the least.
- */
- $embeddingFlags = $this->readUInt(2);
- $this->_debugLog('Embedding flags: %d', $embeddingFlags);
- if ($this->isBitSet(9, $embeddingFlags)) {
- /* Only bitmaps may be embedded. We don't have the ability to strip
- * outlines from fonts yet, so this means no embed.
- */
- $this->isEmbeddable = false;
- } else if ($this->isBitSet(1, $embeddingFlags)) {
- /* Restricted license embedding. We currently don't have any way to
- * enforce this, so interpret this as no embed. This may be revised
- * in the future...
- */
- $this->isEmbeddable = false;
- } else {
- /* The remainder of the bit settings grant us permission to embed
- * the font. There may be additional usage rights granted or denied
- * but those only affect the PDF viewer application, not our code.
- */
- $this->isEmbeddable = true;
- }
- $this->_debugLog('Font ' . ($this->isEmbeddable ? 'may' : 'may not') . ' be embedded');
- $isSubsettable = $this->isBitSet($embeddingFlags, 8);
-
- /* Recommended size and offset for synthesized subscript characters.
- */
- $this->subscriptXSize = $this->readInt(2);
- $this->subscriptYSize = $this->readInt(2);
- $this->subscriptXOffset = $this->readInt(2);
- $this->subscriptYOffset = $this->readInt(2);
-
- /* Recommended size and offset for synthesized superscript characters.
- */
- $this->superscriptXSize = $this->readInt(2);
- $this->superscriptYSize = $this->readInt(2);
- $this->superscriptXOffset = $this->readInt(2);
- $this->superscriptYOffset = $this->readInt(2);
-
- /* Size and vertical offset for the strikethrough.
- */
- $this->strikeThickness = $this->readInt(2);
- $this->strikePosition = $this->readInt(2);
-
- /* Describes the class of font: serif, sans serif, script. etc. These
- * values are defined here:
- * http://www.microsoft.com/OpenType/OTSpec/ibmfc.htm
- */
- $familyClass = ($this->readUInt(2) >> 8); // don't care about subclass
- $this->_debugLog('Font family class: %d', $familyClass);
- $this->isSerifFont = ((($familyClass >= 1) && ($familyClass <= 5)) ||
- ($familyClass == 7));
- $this->isSansSerifFont = ($familyClass == 8);
- $this->isOrnamentalFont = ($familyClass == 9);
- $this->isScriptFont = ($familyClass == 10);
- $this->isSymbolicFont = ($familyClass == 12);
-
- /* Skip over the PANOSE number. The interesting values for us overlap
- * with the font family class defined above.
- */
- $this->skipBytes(10);
-
- /* The Unicode range is made up of four 4-byte unsigned long integers
- * which are used as bitfields covering a 128-bit range. Each bit
- * represents a Unicode code block. If the bit is set, this font at
- * least partially covers the characters in that block.
- */
- $unicodeRange1 = $this->readUInt(4);
- $unicodeRange2 = $this->readUInt(4);
- $unicodeRange3 = $this->readUInt(4);
- $unicodeRange4 = $this->readUInt(4);
- $this->_debugLog('Unicode ranges: 0x%x 0x%x 0x%x 0x%x',
- $unicodeRange1, $unicodeRange2, $unicodeRange3, $unicodeRange4);
-
- /* The Unicode range is currently only used to decide if the character
- * set covered by the font is a subset of the Adobe Latin set, meaning
- * it only has the basic latin set. If it covers any other characters,
- * even any of the extended latin characters, it is considered symbolic
- * to PDF and must be described differently in the Font Descriptor.
- */
- /**
- * @todo Font is recognized as Adobe Latin subset font if it only contains
- * Basic Latin characters (only bit 0 of Unicode range bits is set).
- * Actually, other Unicode subranges like General Punctuation (bit 31) also
- * fall into Adobe Latin characters. So this code has to be modified.
- */
- $this->isAdobeLatinSubset = (($unicodeRange1 == 1) && ($unicodeRange2 == 0) &&
- ($unicodeRange3 == 0) && ($unicodeRange4 == 0));
- $this->_debugLog(($this->isAdobeLatinSubset ? 'Is' : 'Is not') . ' a subset of Adobe Latin');
-
- $this->vendorID = $this->readBytes(4);
-
- /* Skip the font style bits. We use the values found in the 'head' table.
- * Also skip the first Unicode and last Unicode character indicies. Our
- * cmap implementation does not need these values.
- */
- $this->skipBytes(6);
-
- /* Typographic ascender, descender, and line gap. These values are
- * preferred to those in the 'hhea' table.
- */
- $this->ascent = $this->readInt(2);
- $this->descent = $this->readInt(2);
- $this->lineGap = $this->readInt(2);
-
- /* The descent value is supposed to be negative--it's the distance
- * relative to the baseline. However, some fonts improperly store a
- * positive value in this field. If a positive value is found, flip the
- * sign and record a warning in the debug log that we did this.
- */
- if ($this->descent > 0) {
- $this->_debugLog('Warning: Font should specify negative descent. Actual: %d; Using %d',
- $this->descent, -$this->descent);
- $this->descent = -$this->descent;
- }
-
- /* Skip over Windows-specific ascent and descent.
- */
- $this->skipBytes(4);
-
- /* Versions 0 and 1 tables do not contain the x or capital height
- * fields. Record zero for unknown.
- */
- if ($tableVersion < 2) {
- $this->xHeight = 0;
- $this->capitalHeight = 0;
- } else {
-
- /* Skip over the Windows code page coverages. We are only concerned
- * with Unicode coverage.
- */
- $this->skipBytes(8);
-
- $this->xHeight = $this->readInt(2);
- $this->capitalHeight = $this->readInt(2);
-
- /* Ignore the remaining fields in this table. They are Windows-specific.
- */
- }
- /**
- * @todo Obtain the x and capital heights from the 'glyf' table if they
- * haven't been supplied here instead of storing zero.
- */
- }
-
-
- /**
- * Parses the OpenType hmtx (Horizontal Metrics) table.
- *
- * The hmtx table contains the horizontal metrics for every glyph contained
- * within the font. These are the critical values for horizontal layout of
- * text.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseHmtxTable()
- {
- $this->_jumpToTable('hmtx');
-
- if (! $this->numberHMetrics) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("hhea table must be parsed prior to calling this method",
- Zend_Pdf_Exception::PARSED_OUT_OF_ORDER);
- }
-
- /* We only understand version 0 tables.
- */
- if ($this->metricDataFormat != 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unable to read format $this->metricDataFormat table.",
- Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION);
- }
-
- /* The hmtx table has no header. For each glpyh in the font, it contains
- * the glyph's advance width and its left side bearing. We don't use the
- * left side bearing.
- */
- $glyphWidths = array();
- for ($i = 0; $i < $this->numberHMetrics; $i++) {
- $glyphWidths[$i] = $this->readUInt(2);
- $this->skipBytes(2);
- }
- /* Populate last value for the rest of array
- */
- while (count($glyphWidths) < $this->numGlyphs) {
- $glyphWidths[] = end($glyphWidths);
- }
- $this->glyphWidths = $glyphWidths;
-
- /* There is an optional table of left side bearings which is sometimes
- * used for monospaced fonts. We don't use the left side bearing, so
- * we can safely ignore it.
- */
- }
-
-
- /**
- * Parses the OpenType cmap (Character to Glyph Mapping) table.
- *
- * The cmap table provides the maps from character codes to font glyphs.
- * There are usually at least two character maps in a font: Microsoft Unicode
- * and Macintosh Roman. For very complex fonts, there may also be mappings
- * for the characters in the Unicode Surrogates Area, which are UCS-4
- * characters.
- *
- * @todo Need to rework the selection logic for picking a subtable. We should
- * have an explicit list of preferences, followed by a list of those that
- * are tolerable. Most specifically, since everything above this layer deals
- * in Unicode, we need to be sure to only accept format 0 MacRoman tables.
- *
- * @throws Zend_Pdf_Exception
- */
- protected function _parseCmapTable()
- {
- $this->_jumpToTable('cmap');
- $baseOffset = $this->_tableDirectory['cmap']['offset'];
-
- /* We only understand version 0 tables.
- */
- $tableVersion = $this->readUInt(2);
- if ($tableVersion != 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unable to read version $tableVersion table",
- Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION);
- }
- $this->_debugLog('Version %d table', $tableVersion);
-
- $subtableCount = $this->readUInt(2);
- $this->_debugLog('%d subtables', $subtableCount);
-
- /* Like the name table, there may be many different encoding subtables
- * present. Ideally, we are looking for an acceptable Unicode table.
- */
- $subtables = array();
- for ($subtableIndex = 0; $subtableIndex < $subtableCount; $subtableIndex++) {
-
- $platformID = $this->readUInt(2);
- $encodingID = $this->readUInt(2);
-
- if (! ( (($platformID == 0) && ($encodingID == 3)) || // Unicode 2.0 or later
- (($platformID == 0) && ($encodingID == 0)) || // Unicode
- (($platformID == 3) && ($encodingID == 1)) || // Microsoft Unicode
- (($platformID == 1) && ($encodingID == 0)) // Mac Roman
- ) ) {
- $this->_debugLog('Unsupported encoding: platformID: %d; encodingID: %d; skipping',
- $platformID, $encodingID);
- $this->skipBytes(4);
- continue;
- }
-
- $subtableOffset = $this->readUInt(4);
- if ($subtableOffset < 0) { // Sanity check for 4-byte unsigned on 32-bit platform
- $this->_debugLog('Offset 0x%x out of range for platformID: %d; skipping',
- $subtableOffset, $platformID);
- continue;
- }
-
- $this->_debugLog('Found subtable; platformID: %d; encodingID: %d; offset: 0x%x (0x%x)',
- $platformID, $encodingID, $baseOffset + $subtableOffset, $subtableOffset);
-
- $subtables[$platformID][$encodingID][] = $subtableOffset;
- }
-
- /* In preferred order, find a subtable to use.
- */
- $offsets = array();
-
- /* Unicode 2.0 or later semantics
- */
- if (isset($subtables[0][3])) {
- foreach ($subtables[0][3] as $offset) {
- $offsets[] = $offset;
- }
- }
-
- /* Unicode default semantics
- */
- if (isset($subtables[0][0])) {
- foreach ($subtables[0][0] as $offset) {
- $offsets[] = $offset;
- }
- }
-
- /* Microsoft Unicode
- */
- if (isset($subtables[3][1])) {
- foreach ($subtables[3][1] as $offset) {
- $offsets[] = $offset;
- }
- }
-
- /* Mac Roman.
- */
- if (isset($subtables[1][0])) {
- foreach ($subtables[1][0] as $offset) {
- $offsets[] = $offset;
- }
- }
-
- $cmapType = -1;
-
- foreach ($offsets as $offset) {
- $cmapOffset = $baseOffset + $offset;
- $this->moveToOffset($cmapOffset);
- $format = $this->readUInt(2);
- $language = -1;
- switch ($format) {
- case 0x0:
- $cmapLength = $this->readUInt(2);
- $language = $this->readUInt(2);
- if ($language != 0) {
- $this->_debugLog('Type 0 cmap tables must be language-independent;'
- . ' language: %d; skipping', $language);
- continue;
- }
- break;
-
- case 0x4: // break intentionally omitted
- case 0x6:
- $cmapLength = $this->readUInt(2);
- $language = $this->readUInt(2);
- if ($language != 0) {
- $this->_debugLog('Warning: cmap tables must be language-independent - this font'
- . ' may not work properly; language: %d', $language);
- }
- break;
-
- case 0x2: // break intentionally omitted
- case 0x8: // break intentionally omitted
- case 0xa: // break intentionally omitted
- case 0xc:
- $this->_debugLog('Format: 0x%x currently unsupported; skipping', $format);
- continue;
- //$this->skipBytes(2);
- //$cmapLength = $this->readUInt(4);
- //$language = $this->readUInt(4);
- //if ($language != 0) {
- // $this->_debugLog('Warning: cmap tables must be language-independent - this font'
- // . ' may not work properly; language: %d', $language);
- //}
- //break;
-
- default:
- $this->_debugLog('Unknown subtable format: 0x%x; skipping', $format);
- continue;
- }
- $cmapType = $format;
- break;
- }
- if ($cmapType == -1) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unable to find usable cmap table',
- Zend_Pdf_Exception::CANT_FIND_GOOD_CMAP);
- }
-
- /* Now extract the subtable data and create a Zend_Pdf_FontCmap object.
- */
- $this->_debugLog('Using cmap type %d; offset: 0x%x; length: %d',
- $cmapType, $cmapOffset, $cmapLength);
- $this->moveToOffset($cmapOffset);
- $cmapData = $this->readBytes($cmapLength);
-
- require_once 'Zend/Pdf/Cmap.php';
- $this->cmap = Zend_Pdf_Cmap::cmapWithTypeData($cmapType, $cmapData);
- }
-
-
- /**
- * Reads the scaler type from the header of the OpenType font file and
- * returns it as an unsigned long integer.
- *
- * The scaler type defines the type of font: OpenType font files may contain
- * TrueType or PostScript outlines. Throws an exception if the scaler type
- * is not recognized.
- *
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- protected function _readScalerType()
- {
- if ($this->_scalerType != 0) {
- return $this->_scalerType;
- }
-
- $this->moveToOffset(0);
-
- $this->_scalerType = $this->readUInt(4);
-
- switch ($this->_scalerType) {
- case 0x00010000: // version 1.0 - Windows TrueType signature
- $this->_debugLog('Windows TrueType signature');
- break;
-
- case 0x74727565: // 'true' - Macintosh TrueType signature
- $this->_debugLog('Macintosh TrueType signature');
- break;
-
- case 0x4f54544f: // 'OTTO' - the CFF signature
- $this->_debugLog('PostScript CFF signature');
- break;
-
- case 0x74797031: // 'typ1'
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unsupported font type: PostScript in sfnt wrapper',
- Zend_Pdf_Exception::WRONG_FONT_TYPE);
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Not an OpenType font file',
- Zend_Pdf_Exception::WRONG_FONT_TYPE);
- }
- return $this->_scalerType;
- }
-
- /**
- * Validates a given table's existence, then sets the file pointer to the
- * start of that table.
- *
- * @param string $tableName
- * @throws Zend_Pdf_Exception
- */
- protected function _jumpToTable($tableName)
- {
- if (empty($this->_tableDirectory[$tableName])) { // do not allow NULL or zero
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Required table '$tableName' not found!",
- Zend_Pdf_Exception::REQUIRED_TABLE_NOT_FOUND);
- }
- $this->_debugLog("Parsing $tableName table...");
- $this->moveToOffset($this->_tableDirectory[$tableName]['offset']);
- }
-
- /**
- * Reads the fixed 16.16 table version number and checks for compatibility.
- * If the version is incompatible, throws an exception. If it is compatible,
- * returns the version number.
- *
- * @param float $minVersion Minimum compatible version number.
- * @param float $maxVertion Maximum compatible version number.
- * @return float Table version number.
- * @throws Zend_Pdf_Exception
- */
- protected function _readTableVersion($minVersion, $maxVersion)
- {
- $tableVersion = $this->readFixed(16, 16);
- if (($tableVersion < $minVersion) || ($tableVersion > $maxVersion)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unable to read version $tableVersion table",
- Zend_Pdf_Exception::DONT_UNDERSTAND_TABLE_VERSION);
- }
- $this->_debugLog('Version %.2f table', $tableVersion);
- return $tableVersion;
- }
-
- /**
- * Utility method that returns ISO 639 two-letter language codes from the
- * TrueType platform and language ID. Returns NULL for languages that are
- * not supported.
- *
- * @param integer $platformID
- * @param integer $encodingID
- * @return string | null
- */
- protected function _languageCodeForPlatform($platformID, $languageID)
- {
- if ($platformID == 3) { // Microsoft encoding.
- /* The low-order bytes specify the language, the high-order bytes
- * specify the dialect. We just care about the language. For the
- * complete list, see:
- * http://www.microsoft.com/globaldev/reference/lcid-all.mspx
- */
- $languageID &= 0xff;
- switch ($languageID) {
- case 0x09:
- return 'en';
- case 0x0c:
- return 'fr';
- case 0x07:
- return 'de';
- case 0x10:
- return 'it';
- case 0x13:
- return 'nl';
- case 0x1d:
- return 'sv';
- case 0x0a:
- return 'es';
- case 0x06:
- return 'da';
- case 0x16:
- return 'pt';
- case 0x14:
- return 'no';
- case 0x0d:
- return 'he';
- case 0x11:
- return 'ja';
- case 0x01:
- return 'ar';
- case 0x0b:
- return 'fi';
- case 0x08:
- return 'el';
-
- default:
- return null;
- }
-
- } else if ($platformID == 1) { // Macintosh encoding.
- switch ($languageID) {
- case 0:
- return 'en';
- case 1:
- return 'fr';
- case 2:
- return 'de';
- case 3:
- return 'it';
- case 4:
- return 'nl';
- case 5:
- return 'sv';
- case 6:
- return 'es';
- case 7:
- return 'da';
- case 8:
- return 'pt';
- case 9:
- return 'no';
- case 10:
- return 'he';
- case 11:
- return 'ja';
- case 12:
- return 'ar';
- case 13:
- return 'fi';
- case 14:
- return 'el';
-
- default:
- return null;
- }
-
- } else { // Unknown encoding.
- return null;
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParser/Font/OpenType/TrueType.php b/airtime_mvc/library/Zend/Pdf/FileParser/Font/OpenType/TrueType.php
deleted file mode 100644
index e14fd4583..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParser/Font/OpenType/TrueType.php
+++ /dev/null
@@ -1,90 +0,0 @@
-_isScreened) {
- return;
- }
-
- parent::screen();
-
- switch ($this->_readScalerType()) {
- case 0x00010000: // version 1.0 - Windows TrueType signature
- break;
-
- case 0x74727565: // 'true' - Macintosh TrueType signature
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Not a TrueType font file',
- Zend_Pdf_Exception::WRONG_FONT_TYPE);
- }
-
- $this->fontType = Zend_Pdf_Font::TYPE_TRUETYPE;
- $this->_isScreened = true;
- }
-
- /**
- * Reads and parses the TrueType font data from the file on disk.
- *
- * @throws Zend_Pdf_Exception
- */
- public function parse()
- {
- if ($this->_isParsed) {
- return;
- }
-
- parent::parse();
-
- /* There is nothing additional to parse for TrueType fonts at this time.
- */
-
- $this->_isParsed = true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParser/Image.php b/airtime_mvc/library/Zend/Pdf/FileParser/Image.php
deleted file mode 100644
index c42208340..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParser/Image.php
+++ /dev/null
@@ -1,63 +0,0 @@
-imageType = Zend_Pdf_Image::TYPE_UNKNOWN;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParser/Image/Png.php b/airtime_mvc/library/Zend/Pdf/FileParser/Image/Png.php
deleted file mode 100644
index 41de792f1..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParser/Image/Png.php
+++ /dev/null
@@ -1,329 +0,0 @@
-_isParsed) {
- $this->parse();
- }
- return $this->_width;
- }
-
- public function getHeight() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_width;
- }
-
- public function getBitDepth() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_bits;
- }
-
- public function getColorSpace() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_color;
- }
-
- public function getCompressionStrategy() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_compression;
- }
-
- public function getPaethFilter() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_preFilter;
- }
-
- public function getInterlacingMode() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_interlacing;
- }
-
- public function getRawImageData() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_imageData;
- }
-
- public function getRawPaletteData() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_paletteData;
- }
-
- public function getRawTransparencyData() {
- if(!$this->_isParsed) {
- $this->parse();
- }
- return $this->_transparencyData;
- }
-
- /* Semi-Concrete Class Implementation */
-
- /**
- * Verifies that the image file is in the expected format.
- *
- * @throws Zend_Pdf_Exception
- */
- public function screen()
- {
- if ($this->_isScreened) {
- return;
- }
- return $this->_checkSignature();
- }
-
- /**
- * Reads and parses the image data from the file on disk.
- *
- * @throws Zend_Pdf_Exception
- */
- public function parse()
- {
- if ($this->_isParsed) {
- return;
- }
-
- /* Screen the font file first, if it hasn't been done yet.
- */
- $this->screen();
-
- $this->_parseIHDRChunk();
- $this->_parseChunks();
- }
-
-
- protected function _parseSignature() {
- $this->moveToOffset(1); //Skip the first byte (%)
- if('PNG' != $this->readBytes(3)) {
- $this->_isPNG = false;
- } else {
- $this->_isPNG = true;
- }
- }
-
- protected function _checkSignature() {
- if(!isset($this->_isPNG)) {
- $this->_parseSignature();
- }
- return $this->_isPNG;
- }
-
- protected function _parseChunks() {
- $this->moveToOffset(33); //Variable chunks start at the end of IHDR
-
- //Start processing chunks. If there are no more bytes to read parsing is complete.
- $size = $this->getSize();
- while($size - $this->getOffset() >= 8) {
- $chunkLength = $this->readUInt(4);
- if($chunkLength < 0 || ($chunkLength + $this->getOffset() + 4) > $size) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("PNG Corrupt: Invalid Chunk Size In File.");
- }
-
- $chunkType = $this->readBytes(4);
- $offset = $this->getOffset();
-
- //If we know how to process the chunk, do it here, else ignore the chunk and move on to the next
- switch($chunkType) {
- case 'IDAT': // This chunk may appear more than once. It contains the actual image data.
- $this->_parseIDATChunk($offset, $chunkLength);
- break;
-
- case 'PLTE': // This chunk contains the image palette.
- $this->_parsePLTEChunk($offset, $chunkLength);
- break;
-
- case 'tRNS': // This chunk contains non-alpha channel transparency data
- $this->_parseTRNSChunk($offset, $chunkLength);
- break;
-
- case 'IEND':
- break 2; //End the loop too
-
- //@TODO Implement the rest of the PNG chunks. (There are many not implemented here)
- }
- if($offset + $chunkLength + 4 < $size) {
- $this->moveToOffset($offset + $chunkLength + 4); //Skip past the data finalizer. (Don't rely on the parse to leave the offsets correct)
- }
- }
- if(empty($this->_imageData)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception ( "This PNG is corrupt. All png must contain IDAT chunks." );
- }
- }
-
- protected function _parseIHDRChunk() {
- $this->moveToOffset(12); //IHDR must always start at offset 12 and run for 17 bytes
- if(!$this->readBytes(4) == 'IHDR') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "This PNG is corrupt. The first chunk in a PNG file must be IHDR." );
- }
- $this->_width = $this->readUInt(4);
- $this->_height = $this->readUInt(4);
- $this->_bits = $this->readInt(1);
- $this->_color = $this->readInt(1);
- $this->_compression = $this->readInt(1);
- $this->_preFilter = $this->readInt(1);
- $this->_interlacing = $this->readInt(1);
- if($this->_interlacing != Zend_Pdf_Image::PNG_INTERLACING_DISABLED) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Only non-interlaced images are currently supported." );
- }
- }
-
- protected function _parseIDATChunk($chunkOffset, $chunkLength) {
- $this->moveToOffset($chunkOffset);
- if(!isset($this->_imageData)) {
- $this->_imageData = $this->readBytes($chunkLength);
- } else {
- $this->_imageData .= $this->readBytes($chunkLength);
- }
- }
-
- protected function _parsePLTEChunk($chunkOffset, $chunkLength) {
- $this->moveToOffset($chunkOffset);
- $this->_paletteData = $this->readBytes($chunkLength);
- }
-
- protected function _parseTRNSChunk($chunkOffset, $chunkLength) {
- $this->moveToOffset($chunkOffset);
-
- //Processing of tRNS data varies dependending on the color depth
-
- switch($this->_color) {
- case Zend_Pdf_Image::PNG_CHANNEL_GRAY:
- $baseColor = $this->readInt(1);
- $this->_transparencyData = array($baseColor, $baseColor);
- break;
-
- case Zend_Pdf_Image::PNG_CHANNEL_RGB:
-
- //@TODO Fix this hack.
- //This parser cheats and only uses the lsb's (and only works with < 16 bit depth images)
-
- /*
- From the standard:
-
- For color type 2 (truecolor), the tRNS chunk contains a single RGB color value, stored in the format:
-
- Red: 2 bytes, range 0 .. (2^bitdepth)-1
- Green: 2 bytes, range 0 .. (2^bitdepth)-1
- Blue: 2 bytes, range 0 .. (2^bitdepth)-1
-
- (If the image bit depth is less than 16, the least significant bits are used and the others are 0.)
- Pixels of the specified color value are to be treated as transparent (equivalent to alpha value 0);
- all other pixels are to be treated as fully opaque (alpha value 2bitdepth-1).
-
- */
-
- $red = $this->readInt(1);
- $this->skipBytes(1);
- $green = $this->readInt(1);
- $this->skipBytes(1);
- $blue = $this->readInt(1);
-
- $this->_transparencyData = array($red, $red, $green, $green, $blue, $blue);
-
- break;
-
- case Zend_Pdf_Image::PNG_CHANNEL_INDEXED:
-
- //@TODO Fix this hack.
- //This parser cheats too. It only masks the first color in the palette.
-
- /*
- From the standard:
-
- For color type 3 (indexed color), the tRNS chunk contains a series of one-byte alpha values, corresponding to entries in the PLTE chunk:
-
- Alpha for palette index 0: 1 byte
- Alpha for palette index 1: 1 byte
- ...etc...
-
- Each entry indicates that pixels of the corresponding palette index must be treated as having the specified alpha value.
- Alpha values have the same interpretation as in an 8-bit full alpha channel: 0 is fully transparent, 255 is fully opaque,
- regardless of image bit depth. The tRNS chunk must not contain more alpha values than there are palette entries,
- but tRNS can contain fewer values than there are palette entries. In this case, the alpha value for all remaining palette
- entries is assumed to be 255. In the common case in which only palette index 0 need be made transparent, only a one-byte
- tRNS chunk is needed.
-
- */
-
- $tmpData = $this->readBytes($chunkLength);
- if(($trnsIdx = strpos($tmpData, chr(0))) !== false) {
- $this->_transparencyData = array($trnsIdx, $trnsIdx);
- }
-
- break;
-
- case Zend_Pdf_Image::PNG_CHANNEL_GRAY_ALPHA:
- //Fall through to the next case
- case Zend_Pdf_Image::PNG_CHANNEL_RGB_ALPHA:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "tRNS chunk illegal for Alpha Channel Images" );
- break;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParserDataSource.php b/airtime_mvc/library/Zend/Pdf/FileParserDataSource.php
deleted file mode 100644
index cee217911..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParserDataSource.php
+++ /dev/null
@@ -1,204 +0,0 @@
-_size to the total size in bytes of the data source.
- *
- * Upon return the data source can be interrogated using the primitive
- * methods described here.
- *
- * If the data source cannot be opened for any reason (such as insufficient
- * permissions, missing file, etc.), will throw an appropriate exception.
- *
- * @throws Zend_Pdf_Exception
- */
- abstract public function __construct();
-
- /**
- * Object destructor. Closes the data source.
- *
- * May also perform cleanup tasks such as deleting temporary files.
- */
- abstract public function __destruct();
-
- /**
- * Returns the specified number of raw bytes from the data source at the
- * byte offset of the current read position.
- *
- * Must advance the read position by the number of bytes read by updating
- * $this->_offset.
- *
- * Throws an exception if there is insufficient data to completely fulfill
- * the request or if an error occurs.
- *
- * @param integer $byteCount Number of bytes to read.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- abstract public function readBytes($byteCount);
-
- /**
- * Returns the entire contents of the data source as a string.
- *
- * This method may be called at any time and so must preserve the byte
- * offset of the read position, both through $this->_offset and whatever
- * other additional pointers (such as the seek position of a file pointer)
- * that might be used.
- *
- * @return string
- */
- abstract public function readAllBytes();
-
-
- /* Object Magic Methods */
-
- /**
- * Returns a description of the object for debugging purposes.
- *
- * Subclasses should override this method to provide a more specific
- * description of the actual object being represented.
- *
- * @return string
- */
- public function __toString()
- {
- return get_class($this);
- }
-
-
- /* Accessors */
-
- /**
- * Returns the byte offset of the current read position within the data
- * source.
- *
- * @return integer
- */
- public function getOffset()
- {
- return $this->_offset;
- }
-
- /**
- * Returns the total size in bytes of the data source.
- *
- * @return integer
- */
- public function getSize()
- {
- return $this->_size;
- }
-
-
- /* Primitive Methods */
-
- /**
- * Moves the current read position to the specified byte offset.
- *
- * Throws an exception you attempt to move before the beginning or beyond
- * the end of the data source.
- *
- * If a subclass needs to perform additional tasks (such as performing a
- * fseek() on a filesystem source), it should do so after calling this
- * parent method.
- *
- * @param integer $offset Destination byte offset.
- * @throws Zend_Pdf_Exception
- */
- public function moveToOffset($offset)
- {
- if ($this->_offset == $offset) {
- return; // Not moving; do nothing.
- }
- if ($offset < 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Attempt to move before start of data source',
- Zend_Pdf_Exception::MOVE_BEFORE_START_OF_FILE);
- }
- if ($offset >= $this->_size) { // Offsets are zero-based.
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Attempt to move beyond end of data source',
- Zend_Pdf_Exception::MOVE_BEYOND_END_OF_FILE);
- }
- $this->_offset = $offset;
- }
-
- /**
- * Shifts the current read position within the data source by the specified
- * number of bytes.
- *
- * You may move forward (positive numbers) or backward (negative numbers).
- * Throws an exception you attempt to move before the beginning or beyond
- * the end of the data source.
- *
- * @param integer $byteCount Number of bytes to skip.
- * @throws Zend_Pdf_Exception
- */
- public function skipBytes($byteCount)
- {
- $this->moveToOffset($this->_offset + $byteCount);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParserDataSource/File.php b/airtime_mvc/library/Zend/Pdf/FileParserDataSource/File.php
deleted file mode 100644
index d555dd332..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParserDataSource/File.php
+++ /dev/null
@@ -1,198 +0,0 @@
-_size = @filesize($filePath)) === false) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Error while obtaining file size: $filePath",
- Zend_Pdf_Exception::CANT_GET_FILE_SIZE);
- }
- if (($this->_fileResource = @fopen($filePath, 'rb')) === false) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Cannot open file for reading: $filePath",
- Zend_Pdf_Exception::CANT_OPEN_FILE);
- }
- $this->_filePath = $filePath;
- }
-
- /**
- * Object destructor.
- *
- * Closes the file if it had been successfully opened.
- */
- public function __destruct()
- {
- if (is_resource($this->_fileResource)) {
- @fclose($this->_fileResource);
- }
- }
-
- /**
- * Returns the specified number of raw bytes from the file at the byte
- * offset of the current read position.
- *
- * Advances the read position by the number of bytes read.
- *
- * Throws an exception if an error was encountered while reading the file or
- * if there is insufficient data to completely fulfill the request.
- *
- * @param integer $byteCount Number of bytes to read.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readBytes($byteCount)
- {
- $bytes = @fread($this->_fileResource, $byteCount);
- if ($bytes === false) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unexpected error while reading file',
- Zend_Pdf_Exception::ERROR_DURING_READ);
- }
- if (strlen($bytes) != $byteCount) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Insufficient data to read $byteCount bytes",
- Zend_Pdf_Exception::INSUFFICIENT_DATA);
- }
- $this->_offset += $byteCount;
- return $bytes;
- }
-
- /**
- * Returns the entire contents of the file as a string.
- *
- * Preserves the current file seek position.
- *
- * @return string
- */
- public function readAllBytes()
- {
- return file_get_contents($this->_filePath);
- }
-
-
- /* Object Magic Methods */
-
- /**
- * Returns the full filesystem path of the file.
- *
- * @return string
- */
- public function __toString()
- {
- return $this->_filePath;
- }
-
-
- /* Primitive Methods */
-
- /**
- * Seeks the file read position to the specified byte offset.
- *
- * Throws an exception if the file pointer cannot be moved or if it is
- * moved beyond EOF (end of file).
- *
- * @param integer $offset Destination byte offset.
- * @throws Zend_Pdf_Exception
- */
- public function moveToOffset($offset)
- {
- if ($this->_offset == $offset) {
- return; // Not moving; do nothing.
- }
- parent::moveToOffset($offset);
- $result = @fseek($this->_fileResource, $offset, SEEK_SET);
- if ($result !== 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Error while setting new file position',
- Zend_Pdf_Exception::CANT_SET_FILE_POSITION);
- }
- if (feof($this->_fileResource)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Moved beyond the end of the file',
- Zend_Pdf_Exception::MOVE_BEYOND_END_OF_FILE);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/FileParserDataSource/String.php b/airtime_mvc/library/Zend/Pdf/FileParserDataSource/String.php
deleted file mode 100644
index aead15b97..000000000
--- a/airtime_mvc/library/Zend/Pdf/FileParserDataSource/String.php
+++ /dev/null
@@ -1,128 +0,0 @@
-_size = strlen($string);
- $this->_string = $string;
- }
-
- /**
- * Object destructor.
- */
- public function __destruct()
- {
- $this->_string = '';
- }
-
- /**
- * Returns the specified number of raw bytes from the string at the byte
- * offset of the current read position.
- *
- * Advances the read position by the number of bytes read.
- *
- * Throws an exception if there is insufficient data to completely fulfill
- * the request.
- *
- * @param integer $byteCount Number of bytes to read.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function readBytes($byteCount)
- {
- if (($this->_offset + $byteCount) > $this->_size) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Insufficient data to read $byteCount bytes",
- Zend_Pdf_Exception::INSUFFICIENT_DATA);
- }
- $bytes = substr($this->_string, $this->_offset, $byteCount);
- $this->_offset += $byteCount;
- return $bytes;
- }
-
- /**
- * Returns the entire string.
- *
- * Preserves the current read position.
- *
- * @return string
- */
- public function readAllBytes()
- {
- return $this->_string;
- }
-
-
- /* Object Magic Methods */
-
- /**
- * Returns a string containing the parsed string's length.
- *
- * @return string
- */
- public function __toString()
- {
- return "String ($this->_size bytes)";
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Filter/Ascii85.php b/airtime_mvc/library/Zend/Pdf/Filter/Ascii85.php
deleted file mode 100644
index 2da2e7569..000000000
--- a/airtime_mvc/library/Zend/Pdf/Filter/Ascii85.php
+++ /dev/null
@@ -1,181 +0,0 @@
-= 0; $j--) {
- $foo = (int) (($b / pow(85,$j)) + 33);
- $b %= pow(85,$j);
- $output .= chr($foo);
- }
- }
-
- //encode partial chunk
- if ($i < $dataLength) {
- $n = $dataLength - $i;
- $chunk = substr($data, -$n);
-
- //0 pad the rest
- for ($j = $n;$j < 4;$j++) {
- $chunk .= chr(0);
- }
-
- $b = unpack("N", $chunk);
- $b = $b[1];
-
- //encode just $n + 1
- for ($j = 4; $j >= (4 - $n); $j--) {
- $foo = (int) (($b / pow(85,$j)) + 33);
- $b %= pow(85,$j);
- $output .= chr($foo);
- }
- }
-
- //EOD
- $output .= '~>';
-
- //make sure lines are split
- $output = chunk_split($output, 76, "\n");
-
- //get rid of new line at the end
- $output = substr($output, 0, -1);
- return $output;
- }
-
- /**
- * Decode data
- *
- * @param string $data
- * @param array $params
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public static function decode($data, $params = null)
- {
- $output = '';
-
- //get rid of the whitespaces
- $whiteSpace = array("\x00", "\x09", "\x0A", "\x0C", "\x0D", "\x20");
- $data = str_replace($whiteSpace, '', $data);
-
- if (substr($data, -2) != '~>') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Invalid EOF marker');
- return '';
- }
-
- $data = substr($data, 0, (strlen($data) - 2));
- $dataLength = strlen($data);
-
- for ($i = 0; $i < $dataLength; $i += 5) {
- $b = 0;
-
- if (substr($data, $i, 1) == "z") {
- $i -= 4;
- $output .= pack("N", 0);
- next;
- }
-
- $c = substr($data, $i, 5);
-
- if(strlen($c) < 5) {
- //partial chunk
- break;
- }
-
- $c = unpack('C5', $c);
- $value = 0;
-
- for ($j = 1; $j <= 5; $j++) {
- $value += (($c[$j] - 33) * pow(85, (5 - $j)));
- }
-
- $output .= pack("N", $value);
- }
-
- //decode partial
- if ($i < $dataLength) {
- $value = 0;
- $chunk = substr($data, $i);
- $partialLength = strlen($chunk);
-
- //pad the rest of the chunk with u's
- //until the lenght of the chunk is 5
- for ($j = 0; $j < (5 - $partialLength); $j++) {
- $chunk .= 'u';
- }
-
- $c = unpack('C5', $chunk);
-
- for ($j = 1; $j <= 5; $j++) {
- $value += (($c[$j] - 33) * pow(85, (5 - $j)));
- }
-
- $foo = pack("N", $value);
- $output .= substr($foo, 0, ($partialLength - 1));
- }
-
- return $output;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Filter/AsciiHex.php b/airtime_mvc/library/Zend/Pdf/Filter/AsciiHex.php
deleted file mode 100644
index c3498139f..000000000
--- a/airtime_mvc/library/Zend/Pdf/Filter/AsciiHex.php
+++ /dev/null
@@ -1,135 +0,0 @@
-';
- }
-
- /**
- * Decode data
- *
- * @param string $data
- * @param array $params
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public static function decode($data, $params = null)
- {
- $output = '';
- $oddCode = true;
- $commentMode = false;
-
- for ($count = 0; $count < strlen($data) && $data[$count] != '>'; $count++) {
- $charCode = ord($data[$count]);
-
- if ($commentMode) {
- if ($charCode == 0x0A || $charCode == 0x0D ) {
- $commentMode = false;
- }
-
- continue;
- }
-
- switch ($charCode) {
- //Skip white space
- case 0x00: // null character
- // fall through to next case
- case 0x09: // Tab
- // fall through to next case
- case 0x0A: // Line feed
- // fall through to next case
- case 0x0C: // Form Feed
- // fall through to next case
- case 0x0D: // Carriage return
- // fall through to next case
- case 0x20: // Space
- // Do nothing
- break;
-
- case 0x25: // '%'
- // Switch to comment mode
- $commentMode = true;
- break;
-
- default:
- if ($charCode >= 0x30 /*'0'*/ && $charCode <= 0x39 /*'9'*/) {
- $code = $charCode - 0x30;
- } else if ($charCode >= 0x41 /*'A'*/ && $charCode <= 0x46 /*'F'*/) {
- $code = $charCode - 0x37/*0x41 - 0x0A*/;
- } else if ($charCode >= 0x61 /*'a'*/ && $charCode <= 0x66 /*'f'*/) {
- $code = $charCode - 0x57/*0x61 - 0x0A*/;
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong character in a encoded stream');
- }
-
- if ($oddCode) {
- // Odd pass. Store hex digit for next pass
- // Scope of $hexCodeHigh variable is whole function
- $hexCodeHigh = $code;
- } else {
- // Even pass.
- // Add decoded character to the output
- // ($hexCodeHigh is stored in previous pass)
- $output .= chr($hexCodeHigh*16 + $code);
- }
- $oddCode = !$oddCode;
-
- break;
- }
- }
-
- /* Check that stream is terminated by End Of Data marker */
- if ($data[$count] != '>') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong encoded stream End Of Data marker.');
- }
-
- /* Last '0' character is omitted */
- if (!$oddCode) {
- $output .= chr($hexCodeHigh*16);
- }
-
- return $output;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Filter/Compression.php b/airtime_mvc/library/Zend/Pdf/Filter/Compression.php
deleted file mode 100644
index 5a430f81c..000000000
--- a/airtime_mvc/library/Zend/Pdf/Filter/Compression.php
+++ /dev/null
@@ -1,391 +0,0 @@
- 2) {
- if ($chainStartOffset != $offset) {
- // Drop down previouse (non-repeatable chars) run
- $output .= chr($offset - $chainStartOffset - 1)
- . substr($data, $chainStartOffset, $offset - $chainStartOffset);
- }
-
- $output .= chr(257 - $repeatedCharChainLength) . $data[$offset];
-
- $offset += $repeatedCharChainLength;
- $chainStartOffset = $offset;
- } else {
- $offset++;
-
- if ($offset - $chainStartOffset == 128) {
- // Maximum run length is reached
- // Drop down non-repeatable chars run
- $output .= "\x7F" . substr($data, $chainStartOffset, 128);
-
- $chainStartOffset = $offset;
- }
- }
- }
-
- if ($chainStartOffset != $offset) {
- // Drop down non-repeatable chars run
- $output .= chr($offset - $chainStartOffset - 1) . substr($data, $chainStartOffset, $offset - $chainStartOffset);
- }
-
- $output .= "\x80";
-
- return $output;
- }
-
- /**
- * Decode data
- *
- * @param string $data
- * @param array $params
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public static function decode($data, $params = null)
- {
- $dataLength = strlen($data);
- $output = '';
- $offset = 0;
-
- while($offset < $dataLength) {
- $length = ord($data[$offset]);
-
- $offset++;
-
- if ($length == 128) {
- // EOD byte
- break;
- } else if ($length < 128) {
- $length++;
-
- $output .= substr($data, $offset, $length);
-
- $offset += $length;
- } else if ($length > 128) {
- $output .= str_repeat($data[$offset], 257 - $length);
-
- $offset++;
- }
- }
-
- return $output;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Font.php b/airtime_mvc/library/Zend/Pdf/Font.php
deleted file mode 100644
index 2a04e6fdd..000000000
--- a/airtime_mvc/library/Zend/Pdf/Font.php
+++ /dev/null
@@ -1,732 +0,0 @@
-getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, '', '');
- Zend_Pdf_Font::$_fontNames[$fontName] = $font;
- $filePathKey = md5($filePath);
- Zend_Pdf_Font::$_fontFilePaths[$filePathKey] = $font;
- return $font;
-
- } else {
- /* The type of font could not be determined. Give up.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Cannot determine font type: $filePath",
- Zend_Pdf_Exception::CANT_DETERMINE_FONT_TYPE);
- }
-
- }
-
-
-
- /**** Internal Methods ****/
-
-
- /* Font Extraction Methods */
-
- /**
- * Attempts to extract a TrueType font from the data source.
- *
- * If the font parser throws an exception that suggests the data source
- * simply doesn't contain a TrueType font, catches it and returns null. If
- * an exception is thrown that suggests the TrueType font is corrupt or
- * otherwise unusable, throws that exception. If successful, returns the
- * font object.
- *
- * @param Zend_Pdf_FileParserDataSource $dataSource
- * @param integer $embeddingOptions Options for font embedding.
- * @return Zend_Pdf_Resource_Font_OpenType_TrueType May also return null if
- * the data source does not appear to contain a TrueType font.
- * @throws Zend_Pdf_Exception
- */
- protected static function _extractTrueTypeFont($dataSource, $embeddingOptions)
- {
- try {
- require_once 'Zend/Pdf/FileParser/Font/OpenType/TrueType.php';
- $fontParser = new Zend_Pdf_FileParser_Font_OpenType_TrueType($dataSource);
-
- $fontParser->parse();
- if ($fontParser->isAdobeLatinSubset) {
- require_once 'Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php';
- $font = new Zend_Pdf_Resource_Font_Simple_Parsed_TrueType($fontParser, $embeddingOptions);
- } else {
- require_once 'Zend/Pdf/Resource/Font/CidFont/TrueType.php';
- require_once 'Zend/Pdf/Resource/Font/Type0.php';
- /* Use Composite Type 0 font which supports Unicode character mapping */
- $cidFont = new Zend_Pdf_Resource_Font_CidFont_TrueType($fontParser, $embeddingOptions);
- $font = new Zend_Pdf_Resource_Font_Type0($cidFont);
- }
- } catch (Zend_Pdf_Exception $e) {
- /* The following exception codes suggest that this isn't really a
- * TrueType font. If we caught such an exception, simply return
- * null. For all other cases, it probably is a TrueType font but has
- * a problem; throw the exception again.
- */
- $fontParser = null;
- require_once 'Zend/Pdf/Exception.php';
- switch ($e->getCode()) {
- case Zend_Pdf_Exception::WRONG_FONT_TYPE: // break intentionally omitted
- case Zend_Pdf_Exception::BAD_TABLE_COUNT: // break intentionally omitted
- case Zend_Pdf_Exception::BAD_MAGIC_NUMBER:
- return null;
-
- default:
- throw new Zend_Pdf_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
- return $font;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Image.php b/airtime_mvc/library/Zend/Pdf/Image.php
deleted file mode 100644
index 96392d7e1..000000000
--- a/airtime_mvc/library/Zend/Pdf/Image.php
+++ /dev/null
@@ -1,247 +0,0 @@
- object tree entries
- *
- * @var array
- */
- protected $_items = array();
-
- /**
- * Object constructor
- *
- * @param $rootDictionary root of name dictionary
- */
- public function __construct(Zend_Pdf_Element $rootDictionary)
- {
- if ($rootDictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Name tree root must be a dictionary.');
- }
-
- $intermediateNodes = array();
- $leafNodes = array();
- if ($rootDictionary->Kids !== null) {
- $intermediateNodes[] = $rootDictionary;
- } else {
- $leafNodes[] = $rootDictionary;
- }
-
- while (count($intermediateNodes) != 0) {
- $newIntermediateNodes = array();
- foreach ($intermediateNodes as $node) {
- foreach ($node->Kids->items as $childNode) {
- if ($childNode->Kids !== null) {
- $newIntermediateNodes[] = $childNode;
- } else {
- $leafNodes[] = $childNode;
- }
- }
- }
- $intermediateNodes = $newIntermediateNodes;
- }
-
- foreach ($leafNodes as $leafNode) {
- $destinationsCount = count($leafNode->Names->items)/2;
- for ($count = 0; $count < $destinationsCount; $count++) {
- $this->_items[$leafNode->Names->items[$count*2]->value] = $leafNode->Names->items[$count*2 + 1];
- }
- }
- }
-
- public function current()
- {
- return current($this->_items);
- }
-
-
- public function next()
- {
- return next($this->_items);
- }
-
-
- public function key()
- {
- return key($this->_items);
- }
-
-
- public function valid() {
- return current($this->_items)!==false;
- }
-
-
- public function rewind()
- {
- reset($this->_items);
- }
-
-
- public function offsetExists($offset)
- {
- return array_key_exists($offset, $this->_items);
- }
-
-
- public function offsetGet($offset)
- {
- return $this->_items[$offset];
- }
-
-
- public function offsetSet($offset, $value)
- {
- if ($offset === null) {
- $this->_items[] = $value;
- } else {
- $this->_items[$offset] = $value;
- }
- }
-
-
- public function offsetUnset($offset)
- {
- unset($this->_items[$offset]);
- }
-
-
- public function clear()
- {
- $this->_items = array();
- }
-
- public function count()
- {
- return count($this->_items);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Outline.php b/airtime_mvc/library/Zend/Pdf/Outline.php
deleted file mode 100644
index 328a9a067..000000000
--- a/airtime_mvc/library/Zend/Pdf/Outline.php
+++ /dev/null
@@ -1,373 +0,0 @@
-_open;
- }
-
- /**
- * Sets 'isOpen' outline flag
- *
- * @param boolean $isOpen
- * @return Zend_Pdf_Outline
- */
- public function setIsOpen($isOpen)
- {
- $this->_open = $isOpen;
- return $this;
- }
-
- /**
- * Returns true if outline item is displayed in italic
- *
- * @return boolean
- */
- abstract public function isItalic();
-
- /**
- * Sets 'isItalic' outline flag
- *
- * @param boolean $isItalic
- * @return Zend_Pdf_Outline
- */
- abstract public function setIsItalic($isItalic);
-
- /**
- * Returns true if outline item is displayed in bold
- *
- * @return boolean
- */
- abstract public function isBold();
-
- /**
- * Sets 'isBold' outline flag
- *
- * @param boolean $isBold
- * @return Zend_Pdf_Outline
- */
- abstract public function setIsBold($isBold);
-
-
- /**
- * Get outline text color.
- *
- * @return Zend_Pdf_Color_Rgb
- */
- abstract public function getColor();
-
- /**
- * Set outline text color.
- * (null means default color which is black)
- *
- * @param Zend_Pdf_Color_Rgb $color
- * @return Zend_Pdf_Outline
- */
- abstract public function setColor(Zend_Pdf_Color_Rgb $color);
-
- /**
- * Get outline target.
- *
- * @return Zend_Pdf_Target
- */
- abstract public function getTarget();
-
- /**
- * Set outline target.
- * Null means no target
- *
- * @param Zend_Pdf_Target|string $target
- * @return Zend_Pdf_Outline
- */
- abstract public function setTarget($target = null);
-
- /**
- * Get outline options
- *
- * @return array
- */
- public function getOptions()
- {
- return array('title' => $this->_title,
- 'open' => $this->_open,
- 'color' => $this->_color,
- 'italic' => $this->_italic,
- 'bold' => $this->_bold,
- 'target' => $this->_target);
- }
-
- /**
- * Set outline options
- *
- * @param array $options
- * @return Zend_Pdf_Action
- * @throws Zend_Pdf_Exception
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- switch ($key) {
- case 'title':
- $this->setTitle($value);
- break;
-
- case 'open':
- $this->setIsOpen($value);
- break;
-
- case 'color':
- $this->setColor($value);
- break;
- case 'italic':
- $this->setIsItalic($value);
- break;
-
- case 'bold':
- $this->setIsBold($value);
- break;
-
- case 'target':
- $this->setTarget($value);
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Unknown option name - '$key'.");
- break;
- }
- }
-
- return $this;
- }
-
- /**
- * Create new Outline object
- *
- * It provides two forms of input parameters:
- *
- * 1. Zend_Pdf_Outline::create(string $title[, Zend_Pdf_Target $target])
- * 2. Zend_Pdf_Outline::create(array $options)
- *
- * Second form allows to provide outline options as an array.
- * The followed options are supported:
- * 'title' - string, outline title, required
- * 'open' - boolean, true if outline entry is open (default value is false)
- * 'color' - Zend_Pdf_Color_Rgb object, true if outline entry is open (default value is null - black)
- * 'italic' - boolean, true if outline entry is displayed in italic (default value is false)
- * 'bold' - boolean, true if outline entry is displayed in bold (default value is false)
- * 'target' - Zend_Pdf_Target object or string, outline item destination
- *
- * @return Zend_Pdf_Outline
- * @throws Zend_Pdf_Exception
- */
- public static function create($param1, $param2 = null)
- {
- require_once 'Zend/Pdf/Outline/Created.php';
- if (is_string($param1)) {
- if ($param2 !== null && !($param2 instanceof Zend_Pdf_Target || is_string($param2))) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline create method takes $title (string) and $target (Zend_Pdf_Target or string) or an array as an input');
- }
-
- return new Zend_Pdf_Outline_Created(array('title' => $param1,
- 'target' => $param2));
- } else {
- if (!is_array($param1) || $param2 !== null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline create method takes $title (string) and $destination (Zend_Pdf_Destination) or an array as an input');
- }
-
- return new Zend_Pdf_Outline_Created($param1);
- }
- }
-
- /**
- * Returns number of the total number of open items at all levels of the outline.
- *
- * @internal
- * @return integer
- */
- public function openOutlinesCount()
- {
- $count = 1; // Include this outline
-
- if ($this->isOpen()) {
- foreach ($this->childOutlines as $child) {
- $count += $child->openOutlinesCount();
- }
- }
-
- return $count;
- }
-
- /**
- * Dump Outline and its child outlines into PDF structures
- *
- * Returns dictionary indirect object or reference
- *
- * @param Zend_Pdf_ElementFactory $factory object factory for newly created indirect objects
- * @param boolean $updateNavigation Update navigation flag
- * @param Zend_Pdf_Element $parent Parent outline dictionary reference
- * @param Zend_Pdf_Element $prev Previous outline dictionary reference
- * @param SplObjectStorage $processedOutlines List of already processed outlines
- * @return Zend_Pdf_Element
- */
- abstract public function dumpOutline(Zend_Pdf_ElementFactory_Interface $factory,
- $updateNavigation,
- Zend_Pdf_Element $parent,
- Zend_Pdf_Element $prev = null,
- SplObjectStorage $processedOutlines = null);
-
-
- ////////////////////////////////////////////////////////////////////////
- // RecursiveIterator interface methods
- //////////////
-
- /**
- * Returns the child outline.
- *
- * @return Zend_Pdf_Outline
- */
- public function current()
- {
- return current($this->childOutlines);
- }
-
- /**
- * Returns current iterator key
- *
- * @return integer
- */
- public function key()
- {
- return key($this->childOutlines);
- }
-
- /**
- * Go to next child
- */
- public function next()
- {
- return next($this->childOutlines);
- }
-
- /**
- * Rewind children
- */
- public function rewind()
- {
- return reset($this->childOutlines);
- }
-
- /**
- * Check if current position is valid
- *
- * @return boolean
- */
- public function valid()
- {
- return current($this->childOutlines) !== false;
- }
-
- /**
- * Returns the child outline.
- *
- * @return Zend_Pdf_Outline|null
- */
- public function getChildren()
- {
- return current($this->childOutlines);
- }
-
- /**
- * Implements RecursiveIterator interface.
- *
- * @return bool whether container has any pages
- */
- public function hasChildren()
- {
- return count($this->childOutlines) > 0;
- }
-
-
- ////////////////////////////////////////////////////////////////////////
- // Countable interface methods
- //////////////
-
- /**
- * count()
- *
- * @return int
- */
- public function count()
- {
- return count($this->childOutlines);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Outline/Created.php b/airtime_mvc/library/Zend/Pdf/Outline/Created.php
deleted file mode 100644
index b7ae42dd2..000000000
--- a/airtime_mvc/library/Zend/Pdf/Outline/Created.php
+++ /dev/null
@@ -1,315 +0,0 @@
-_title;
- }
-
- /**
- * Set outline title
- *
- * @param string $title
- * @return Zend_Pdf_Outline
- */
- public function setTitle($title)
- {
- $this->_title = $title;
- return $this;
- }
-
- /**
- * Returns true if outline item is displayed in italic
- *
- * @return boolean
- */
- public function isItalic()
- {
- return $this->_italic;
- }
-
- /**
- * Sets 'isItalic' outline flag
- *
- * @param boolean $isItalic
- * @return Zend_Pdf_Outline
- */
- public function setIsItalic($isItalic)
- {
- $this->_italic = $isItalic;
- return $this;
- }
-
- /**
- * Returns true if outline item is displayed in bold
- *
- * @return boolean
- */
- public function isBold()
- {
- return $this->_bold;
- }
-
- /**
- * Sets 'isBold' outline flag
- *
- * @param boolean $isBold
- * @return Zend_Pdf_Outline
- */
- public function setIsBold($isBold)
- {
- $this->_bold = $isBold;
- return $this;
- }
-
-
- /**
- * Get outline text color.
- *
- * @return Zend_Pdf_Color_Rgb
- */
- public function getColor()
- {
- return $this->_color;
- }
-
- /**
- * Set outline text color.
- * (null means default color which is black)
- *
- * @param Zend_Pdf_Color_Rgb $color
- * @return Zend_Pdf_Outline
- */
- public function setColor(Zend_Pdf_Color_Rgb $color)
- {
- $this->_color = $color;
- return $this;
- }
-
- /**
- * Get outline target.
- *
- * @return Zend_Pdf_Target
- */
- public function getTarget()
- {
- return $this->_target;
- }
-
- /**
- * Set outline target.
- * Null means no target
- *
- * @param Zend_Pdf_Target|string $target
- * @return Zend_Pdf_Outline
- * @throws Zend_Pdf_Exception
- */
- public function setTarget($target = null)
- {
- if (is_string($target)) {
- require_once 'Zend/Pdf/Destination/Named.php';
- $target = new Zend_Pdf_Destination_Named($target);
- }
-
- if ($target === null || $target instanceof Zend_Pdf_Target) {
- $this->_target = $target;
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline target has to be Zend_Pdf_Destination or Zend_Pdf_Action object or string');
- }
-
- return $this;
- }
-
-
- /**
- * Object constructor
- *
- * @param array $options
- * @throws Zend_Pdf_Exception
- */
- public function __construct($options = array())
- {
- if (!isset($options['title'])) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Title parameter is required.');
- }
-
- $this->setOptions($options);
- }
-
- /**
- * Dump Outline and its child outlines into PDF structures
- *
- * Returns dictionary indirect object or reference
- *
- * @internal
- * @param Zend_Pdf_ElementFactory $factory object factory for newly created indirect objects
- * @param boolean $updateNavigation Update navigation flag
- * @param Zend_Pdf_Element $parent Parent outline dictionary reference
- * @param Zend_Pdf_Element $prev Previous outline dictionary reference
- * @param SplObjectStorage $processedOutlines List of already processed outlines
- * @return Zend_Pdf_Element
- * @throws Zend_Pdf_Exception
- */
- public function dumpOutline(Zend_Pdf_ElementFactory_Interface $factory,
- $updateNavigation,
- Zend_Pdf_Element $parent,
- Zend_Pdf_Element $prev = null,
- SplObjectStorage $processedOutlines = null)
- {
- if ($processedOutlines === null) {
- $processedOutlines = new SplObjectStorage();
- }
- $processedOutlines->attach($this);
-
- $outlineDictionary = $factory->newObject(new Zend_Pdf_Element_Dictionary());
-
- $outlineDictionary->Title = new Zend_Pdf_Element_String($this->getTitle());
-
- $target = $this->getTarget();
- if ($target === null) {
- // Do nothing
- } else if ($target instanceof Zend_Pdf_Destination) {
- $outlineDictionary->Dest = $target->getResource();
- } else if ($target instanceof Zend_Pdf_Action) {
- $outlineDictionary->A = $target->getResource();
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline target has to be Zend_Pdf_Destination, Zend_Pdf_Action object or null');
- }
-
- $color = $this->getColor();
- if ($color !== null) {
- $components = $color->getComponents();
- $colorComponentElements = array(new Zend_Pdf_Element_Numeric($components[0]),
- new Zend_Pdf_Element_Numeric($components[1]),
- new Zend_Pdf_Element_Numeric($components[2]));
- $outlineDictionary->C = new Zend_Pdf_Element_Array($colorComponentElements);
- }
-
- if ($this->isItalic() || $this->isBold()) {
- $outlineDictionary->F = new Zend_Pdf_Element_Numeric(($this->isItalic()? 1 : 0) | // Bit 1 - Italic
- ($this->isBold()? 2 : 0)); // Bit 2 - Bold
- }
-
-
- $outlineDictionary->Parent = $parent;
- $outlineDictionary->Prev = $prev;
-
- $lastChild = null;
- foreach ($this->childOutlines as $childOutline) {
- if ($processedOutlines->contains($childOutline)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outlines cyclyc reference is detected.');
- }
-
- if ($lastChild === null) {
- $lastChild = $childOutline->dumpOutline($factory, true, $outlineDictionary, null, $processedOutlines);
- $outlineDictionary->First = $lastChild;
- } else {
- $childOutlineDictionary = $childOutline->dumpOutline($factory, true, $outlineDictionary, $lastChild, $processedOutlines);
- $lastChild->Next = $childOutlineDictionary;
- $lastChild = $childOutlineDictionary;
- }
- }
- $outlineDictionary->Last = $lastChild;
-
- if (count($this->childOutlines) != 0) {
- $outlineDictionary->Count = new Zend_Pdf_Element_Numeric(($this->isOpen()? 1 : -1)*count($this->childOutlines));
- }
-
- return $outlineDictionary;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Outline/Loaded.php b/airtime_mvc/library/Zend/Pdf/Outline/Loaded.php
deleted file mode 100644
index 5558756fe..000000000
--- a/airtime_mvc/library/Zend/Pdf/Outline/Loaded.php
+++ /dev/null
@@ -1,462 +0,0 @@
-_outlineDictionary->Title === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline dictionary Title entry is required.');
- }
- return $this->_outlineDictionary->Title->value;
- }
-
- /**
- * Set outline title
- *
- * @param string $title
- * @return Zend_Pdf_Outline
- */
- public function setTitle($title)
- {
- $this->_outlineDictionary->Title->touch();
- $this->_outlineDictionary->Title = new Zend_Pdf_Element_String($title);
- return $this;
- }
-
- /**
- * Sets 'isOpen' outline flag
- *
- * @param boolean $isOpen
- * @return Zend_Pdf_Outline
- */
- public function setIsOpen($isOpen)
- {
- parent::setIsOpen($isOpen);
-
- if ($this->_outlineDictionary->Count === null) {
- // Do Nothing.
- return this;
- }
-
- $childrenCount = $this->_outlineDictionary->Count->value;
- $isOpenCurrentState = ($childrenCount > 0);
- if ($isOpen != $isOpenCurrentState) {
- $this->_outlineDictionary->Count->touch();
- $this->_outlineDictionary->Count->value = ($isOpen? 1 : -1)*abs($childrenCount);
- }
-
- return $this;
- }
-
- /**
- * Returns true if outline item is displayed in italic
- *
- * @return boolean
- */
- public function isItalic()
- {
- if ($this->_outlineDictionary->F === null) {
- return false;
- }
- return $this->_outlineDictionary->F->value & 1;
- }
-
- /**
- * Sets 'isItalic' outline flag
- *
- * @param boolean $isItalic
- * @return Zend_Pdf_Outline
- */
- public function setIsItalic($isItalic)
- {
- if ($this->_outlineDictionary->F === null) {
- $this->_outlineDictionary->touch();
- $this->_outlineDictionary->F = new Zend_Pdf_Element_Numeric($isItalic? 1 : 0);
- } else {
- $this->_outlineDictionary->F->touch();
- if ($isItalic) {
- $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | 1;
- } else {
- $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | ~1;
- }
- }
- return $this;
- }
-
- /**
- * Returns true if outline item is displayed in bold
- *
- * @return boolean
- */
- public function isBold()
- {
- if ($this->_outlineDictionary->F === null) {
- return false;
- }
- return $this->_outlineDictionary->F->value & 2;
- }
-
- /**
- * Sets 'isBold' outline flag
- *
- * @param boolean $isBold
- * @return Zend_Pdf_Outline
- */
- public function setIsBold($isBold)
- {
- if ($this->_outlineDictionary->F === null) {
- $this->_outlineDictionary->touch();
- $this->_outlineDictionary->F = new Zend_Pdf_Element_Numeric($isBold? 2 : 0);
- } else {
- $this->_outlineDictionary->F->touch();
- if ($isBold) {
- $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | 2;
- } else {
- $this->_outlineDictionary->F->value = $this->_outlineDictionary->F->value | ~2;
- }
- }
- return $this;
- }
-
-
- /**
- * Get outline text color.
- *
- * @return Zend_Pdf_Color_Rgb
- */
- public function getColor()
- {
- if ($this->_outlineDictionary->C === null) {
- return null;
- }
-
- $components = $this->_outlineDictionary->C->items;
-
- require_once 'Zend/Pdf/Color/Rgb.php';
- return new Zend_Pdf_Color_Rgb($components[0], $components[1], $components[2]);
- }
-
- /**
- * Set outline text color.
- * (null means default color which is black)
- *
- * @param Zend_Pdf_Color_Rgb $color
- * @return Zend_Pdf_Outline
- */
- public function setColor(Zend_Pdf_Color_Rgb $color)
- {
- $this->_outlineDictionary->touch();
-
- if ($color === null) {
- $this->_outlineDictionary->C = null;
- } else {
- $components = $color->getComponents();
- $colorComponentElements = array(new Zend_Pdf_Element_Numeric($components[0]),
- new Zend_Pdf_Element_Numeric($components[1]),
- new Zend_Pdf_Element_Numeric($components[2]));
- $this->_outlineDictionary->C = new Zend_Pdf_Element_Array($colorComponentElements);
- }
-
- return $this;
- }
-
- /**
- * Get outline target.
- *
- * @return Zend_Pdf_Target
- * @throws Zend_Pdf_Exception
- */
- public function getTarget()
- {
- if ($this->_outlineDictionary->Dest !== null) {
- if ($this->_outlineDictionary->A !== null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline dictionary may contain Dest or A entry, but not both.');
- }
-
- require_once 'Zend/Pdf/Destination.php';
- return Zend_Pdf_Destination::load($this->_outlineDictionary->Dest);
- } else if ($this->_outlineDictionary->A !== null) {
- require_once 'Zend/Pdf/Action.php';
- return Zend_Pdf_Action::load($this->_outlineDictionary->A);
- }
-
- return null;
- }
-
- /**
- * Set outline target.
- * Null means no target
- *
- * @param Zend_Pdf_Target|string $target
- * @return Zend_Pdf_Outline
- * @throws Zend_Pdf_Exception
- */
- public function setTarget($target = null)
- {
- $this->_outlineDictionary->touch();
-
- if (is_string($target)) {
- require_once 'Zend/Pdf/Destination/Named.php';
- $target = Zend_Pdf_Destination_Named::create($target);
- }
-
- if ($target === null) {
- $this->_outlineDictionary->Dest = null;
- $this->_outlineDictionary->A = null;
- } else if ($target instanceof Zend_Pdf_Destination) {
- $this->_outlineDictionary->Dest = $target->getResource();
- $this->_outlineDictionary->A = null;
- } else if ($target instanceof Zend_Pdf_Action) {
- $this->_outlineDictionary->Dest = null;
- $this->_outlineDictionary->A = $target->getResource();
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline target has to be Zend_Pdf_Destination or Zend_Pdf_Action object or string');
- }
-
- return $this;
- }
-
- /**
- * Set outline options
- *
- * @param array $options
- * @return Zend_Pdf_Actions_Traceable
- * @throws Zend_Pdf_Exception
- */
- public function setOptions(array $options)
- {
- parent::setOptions($options);
-
- return $this;
- }
-
-
-
- /**
- * Create PDF outline object using specified dictionary
- *
- * @internal
- * @param Zend_Pdf_Element $dictionary (It's actually Dictionary or Dictionary Object or Reference to a Dictionary Object)
- * @param Zend_Pdf_Action $parentAction
- * @param SplObjectStorage $processedOutlines List of already processed Outline dictionaries,
- * used to avoid cyclic references
- * @return Zend_Pdf_Action
- * @throws Zend_Pdf_Exception
- */
- public function __construct(Zend_Pdf_Element $dictionary, SplObjectStorage $processedDictionaries = null)
- {
- if ($dictionary->getType() != Zend_Pdf_Element::TYPE_DICTIONARY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('$dictionary mast be an indirect dictionary object.');
- }
-
- if ($processedDictionaries === null) {
- $processedDictionaries = new SplObjectStorage();
- }
- $processedDictionaries->attach($dictionary);
-
- $this->_outlineDictionary = $dictionary;
-
- if ($dictionary->Count !== null) {
- if ($dictionary->Count->getType() != Zend_Pdf_Element::TYPE_NUMERIC) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline dictionary Count entry must be a numeric element.');
- }
-
- $childOutlinesCount = $dictionary->Count->value;
- if ($childOutlinesCount > 0) {
- $this->_open = true;
- }
- $childOutlinesCount = abs($childOutlinesCount);
-
- $childDictionary = $dictionary->First;
- for ($count = 0; $count < $childOutlinesCount; $count++) {
- if ($childDictionary === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline childs load error.');
- }
-
- if (!$processedDictionaries->contains($childDictionary)) {
- $this->childOutlines[] = new Zend_Pdf_Outline_Loaded($childDictionary, $processedDictionaries);
- }
-
- $childDictionary = $childDictionary->Next;
- }
-
- if ($childDictionary !== null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outline childs load error.');
- }
-
- $this->_originalChildOutlines = $this->childOutlines;
- }
- }
-
- /**
- * Dump Outline and its child outlines into PDF structures
- *
- * Returns dictionary indirect object or reference
- *
- * @internal
- * @param Zend_Pdf_ElementFactory $factory object factory for newly created indirect objects
- * @param boolean $updateNavigation Update navigation flag
- * @param Zend_Pdf_Element $parent Parent outline dictionary reference
- * @param Zend_Pdf_Element $prev Previous outline dictionary reference
- * @param SplObjectStorage $processedOutlines List of already processed outlines
- * @return Zend_Pdf_Element
- * @throws Zend_Pdf_Exception
- */
- public function dumpOutline(Zend_Pdf_ElementFactory_Interface $factory,
- $updateNavigation,
- Zend_Pdf_Element $parent,
- Zend_Pdf_Element $prev = null,
- SplObjectStorage $processedOutlines = null)
- {
- if ($processedOutlines === null) {
- $processedOutlines = new SplObjectStorage();
- }
- $processedOutlines->attach($this);
-
- if ($updateNavigation) {
- $this->_outlineDictionary->touch();
-
- $this->_outlineDictionary->Parent = $parent;
- $this->_outlineDictionary->Prev = $prev;
- $this->_outlineDictionary->Next = null;
- }
-
- $updateChildNavigation = false;
- if (count($this->_originalChildOutlines) != count($this->childOutlines)) {
- // If original and current children arrays have different size then children list was updated
- $updateChildNavigation = true;
- } else if ( !(array_keys($this->_originalChildOutlines) === array_keys($this->childOutlines)) ) {
- // If original and current children arrays have different keys (with a glance to an order) then children list was updated
- $updateChildNavigation = true;
- } else {
- foreach ($this->childOutlines as $key => $childOutline) {
- if ($this->_originalChildOutlines[$key] !== $childOutline) {
- $updateChildNavigation = true;
- break;
- }
- }
- }
-
- $lastChild = null;
- if ($updateChildNavigation) {
- $this->_outlineDictionary->touch();
- $this->_outlineDictionary->First = null;
-
- foreach ($this->childOutlines as $childOutline) {
- if ($processedOutlines->contains($childOutline)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outlines cyclyc reference is detected.');
- }
-
- if ($lastChild === null) {
- // First pass. Update Outlines dictionary First entry using corresponding value
- $lastChild = $childOutline->dumpOutline($factory, $updateChildNavigation, $this->_outlineDictionary, null, $processedOutlines);
- $this->_outlineDictionary->First = $lastChild;
- } else {
- // Update previous outline dictionary Next entry (Prev is updated within dumpOutline() method)
- $childOutlineDictionary = $childOutline->dumpOutline($factory, $updateChildNavigation, $this->_outlineDictionary, $lastChild, $processedOutlines);
- $lastChild->Next = $childOutlineDictionary;
- $lastChild = $childOutlineDictionary;
- }
- }
-
- $this->_outlineDictionary->Last = $lastChild;
-
- if (count($this->childOutlines) != 0) {
- $this->_outlineDictionary->Count = new Zend_Pdf_Element_Numeric(($this->isOpen()? 1 : -1)*count($this->childOutlines));
- } else {
- $this->_outlineDictionary->Count = null;
- }
- } else {
- foreach ($this->childOutlines as $childOutline) {
- if ($processedOutlines->contains($childOutline)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Outlines cyclyc reference is detected.');
- }
- $lastChild = $childOutline->dumpOutline($factory, $updateChildNavigation, $this->_outlineDictionary, $lastChild, $processedOutlines);
- }
- }
-
- return $this->_outlineDictionary;
- }
-
- public function dump($level = 0)
- {
- printf(":%3d:%s:%s:%s%s :\n", count($this->childOutlines),$this->isItalic()? 'i':' ', $this->isBold()? 'b':' ', str_pad('', 4*$level), $this->getTitle());
-
- if ($this->isOpen() || true) {
- foreach ($this->childOutlines as $child) {
- $child->dump($level + 1);
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Page.php b/airtime_mvc/library/Zend/Pdf/Page.php
deleted file mode 100644
index a42146890..000000000
--- a/airtime_mvc/library/Zend/Pdf/Page.php
+++ /dev/null
@@ -1,1781 +0,0 @@
-getType() == Zend_Pdf_Element::TYPE_DICTIONARY &&
- $param2 instanceof Zend_Pdf_ElementFactory_Interface &&
- $param3 === null
- ) {
- $this->_pageDictionary = $param1;
- $this->_objFactory = $param2;
- $this->_attached = true;
- $this->_safeGS = false;
-
- return;
-
- } else if ($param1 instanceof Zend_Pdf_Page && $param2 === null && $param3 === null) {
- // Clone existing page.
- // Let already existing content and resources to be shared between pages
- // We don't give existing content modification functionality, so we don't need "deep copy"
- $this->_objFactory = $param1->_objFactory;
- $this->_attached = &$param1->_attached;
- $this->_safeGS = false;
-
- $this->_pageDictionary = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
-
- foreach ($param1->_pageDictionary->getKeys() as $key) {
- if ($key == 'Contents') {
- // Clone Contents property
-
- $this->_pageDictionary->Contents = new Zend_Pdf_Element_Array();
-
- if ($param1->_pageDictionary->Contents->getType() != Zend_Pdf_Element::TYPE_ARRAY) {
- // Prepare array of content streams and add existing stream
- $this->_pageDictionary->Contents->items[] = $param1->_pageDictionary->Contents;
- } else {
- // Clone array of the content streams
- foreach ($param1->_pageDictionary->Contents->items as $srcContentStream) {
- $this->_pageDictionary->Contents->items[] = $srcContentStream;
- }
- }
- } else {
- $this->_pageDictionary->$key = $param1->_pageDictionary->$key;
- }
- }
-
- return;
- } else if (is_string($param1) &&
- ($param2 === null || $param2 instanceof Zend_Pdf_ElementFactory_Interface) &&
- $param3 === null) {
- if ($param2 !== null) {
- $this->_objFactory = $param2;
- } else {
- require_once 'Zend/Pdf/ElementFactory.php';
- $this->_objFactory = Zend_Pdf_ElementFactory::createFactory(1);
- }
- $this->_attached = false;
- $this->_safeGS = true; /** New page created. That's users App responsibility to track GS changes */
-
- switch (strtolower($param1)) {
- case 'a4':
- $param1 = Zend_Pdf_Page::SIZE_A4;
- break;
- case 'a4-landscape':
- $param1 = Zend_Pdf_Page::SIZE_A4_LANDSCAPE;
- break;
- case 'letter':
- $param1 = Zend_Pdf_Page::SIZE_LETTER;
- break;
- case 'letter-landscape':
- $param1 = Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE;
- break;
- default:
- // should be in "x:y" or "x:y:" form
- }
-
- $pageDim = explode(':', $param1);
- if(count($pageDim) == 2 || count($pageDim) == 3) {
- $pageWidth = $pageDim[0];
- $pageHeight = $pageDim[1];
- } else {
- /**
- * @todo support of user defined pagesize notations, like:
- * "210x297mm", "595x842", "8.5x11in", "612x792"
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong pagesize notation.');
- }
- /**
- * @todo support of pagesize recalculation to "default user space units"
- */
-
- } else if (is_numeric($param1) && is_numeric($param2) &&
- ($param3 === null || $param3 instanceof Zend_Pdf_ElementFactory_Interface)) {
- if ($param3 !== null) {
- $this->_objFactory = $param3;
- } else {
- require_once 'Zend/Pdf/ElementFactory.php';
- $this->_objFactory = Zend_Pdf_ElementFactory::createFactory(1);
- }
-
- $this->_attached = false;
- $this->_safeGS = true; /** New page created. That's users App responsibility to track GS changes */
- $pageWidth = $param1;
- $pageHeight = $param2;
-
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unrecognized method signature, wrong number of arguments or wrong argument types.');
- }
-
- $this->_pageDictionary = $this->_objFactory->newObject(new Zend_Pdf_Element_Dictionary());
- $this->_pageDictionary->Type = new Zend_Pdf_Element_Name('Page');
- require_once 'Zend/Pdf.php';
- $this->_pageDictionary->LastModified = new Zend_Pdf_Element_String(Zend_Pdf::pdfDate());
- $this->_pageDictionary->Resources = new Zend_Pdf_Element_Dictionary();
- $this->_pageDictionary->MediaBox = new Zend_Pdf_Element_Array();
- $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric(0);
- $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric(0);
- $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric($pageWidth);
- $this->_pageDictionary->MediaBox->items[] = new Zend_Pdf_Element_Numeric($pageHeight);
- $this->_pageDictionary->Contents = new Zend_Pdf_Element_Array();
- }
-
-
- /**
- * Clone operator
- *
- * @throws Zend_Pdf_Exception
- */
- public function __clone()
- {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Cloning Zend_Pdf_Page object using \'clone\' keyword is not supported. Use \'new Zend_Pdf_Page($srcPage)\' syntax');
- }
-
- /**
- * Attach resource to the page
- *
- * @param string $type
- * @param Zend_Pdf_Resource $resource
- * @return string
- */
- protected function _attachResource($type, Zend_Pdf_Resource $resource)
- {
- // Check that Resources dictionary contains appropriate resource set
- if ($this->_pageDictionary->Resources->$type === null) {
- $this->_pageDictionary->Resources->touch();
- $this->_pageDictionary->Resources->$type = new Zend_Pdf_Element_Dictionary();
- } else {
- $this->_pageDictionary->Resources->$type->touch();
- }
-
- // Check, that resource is already attached to resource set.
- $resObject = $resource->getResource();
- foreach ($this->_pageDictionary->Resources->$type->getKeys() as $ResID) {
- if ($this->_pageDictionary->Resources->$type->$ResID === $resObject) {
- return $ResID;
- }
- }
-
- $idCounter = 1;
- do {
- $newResName = $type[0] . $idCounter++;
- } while ($this->_pageDictionary->Resources->$type->$newResName !== null);
-
- $this->_pageDictionary->Resources->$type->$newResName = $resObject;
- $this->_objFactory->attach($resource->getFactory());
-
- return $newResName;
- }
-
- /**
- * Add procedureSet to the Page description
- *
- * @param string $procSetName
- */
- protected function _addProcSet($procSetName)
- {
- // Check that Resources dictionary contains ProcSet entry
- if ($this->_pageDictionary->Resources->ProcSet === null) {
- $this->_pageDictionary->Resources->touch();
- $this->_pageDictionary->Resources->ProcSet = new Zend_Pdf_Element_Array();
- } else {
- $this->_pageDictionary->Resources->ProcSet->touch();
- }
-
- foreach ($this->_pageDictionary->Resources->ProcSet->items as $procSetEntry) {
- if ($procSetEntry->value == $procSetName) {
- // Procset is already included into a ProcSet array
- return;
- }
- }
-
- $this->_pageDictionary->Resources->ProcSet->items[] = new Zend_Pdf_Element_Name($procSetName);
- }
-
- /**
- * Retrive PDF file reference to the page
- *
- * @internal
- * @return Zend_Pdf_Element_Dictionary
- */
- public function getPageDictionary()
- {
- return $this->_pageDictionary;
- }
-
- /**
- * Dump current drawing instructions into the content stream.
- *
- * @todo Don't forget to close all current graphics operations (like path drawing)
- *
- * @throws Zend_Pdf_Exception
- */
- public function flush()
- {
- if ($this->_saveCount != 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Saved graphics state is not restored');
- }
-
- if ($this->_contents == '') {
- return;
- }
-
- if ($this->_pageDictionary->Contents->getType() != Zend_Pdf_Element::TYPE_ARRAY) {
- /**
- * It's a stream object.
- * Prepare Contents page attribute for update.
- */
- $this->_pageDictionary->touch();
-
- $currentPageContents = $this->_pageDictionary->Contents;
- $this->_pageDictionary->Contents = new Zend_Pdf_Element_Array();
- $this->_pageDictionary->Contents->items[] = $currentPageContents;
- } else {
- $this->_pageDictionary->Contents->touch();
- }
-
- if ((!$this->_safeGS) && (count($this->_pageDictionary->Contents->items) != 0)) {
- /**
- * Page already has some content which is not treated as safe.
- *
- * Add save/restore GS operators
- */
- $this->_addProcSet('PDF');
-
- $newContentsArray = new Zend_Pdf_Element_Array();
- $newContentsArray->items[] = $this->_objFactory->newStreamObject(" q\n");
- foreach ($this->_pageDictionary->Contents->items as $contentStream) {
- $newContentsArray->items[] = $contentStream;
- }
- $newContentsArray->items[] = $this->_objFactory->newStreamObject(" Q\n");
-
- $this->_pageDictionary->touch();
- $this->_pageDictionary->Contents = $newContentsArray;
-
- $this->_safeGS = true;
- }
-
- $this->_pageDictionary->Contents->items[] =
- $this->_objFactory->newStreamObject($this->_contents);
-
- $this->_contents = '';
- }
-
- /**
- * Prepare page to be rendered into PDF.
- *
- * @todo Don't forget to close all current graphics operations (like path drawing)
- *
- * @param Zend_Pdf_ElementFactory_Interface $objFactory
- * @throws Zend_Pdf_Exception
- */
- public function render(Zend_Pdf_ElementFactory_Interface $objFactory)
- {
- $this->flush();
-
- if ($objFactory === $this->_objFactory) {
- // Page is already attached to the document.
- return;
- }
-
- if ($this->_attached) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Page is attached to one documen, but rendered in context of another.');
- /**
- * @todo Page cloning must be implemented here instead of exception.
- * PDF objects (ex. fonts) can be shared between pages.
- * Thus all referenced objects, which can be modified, must be cloned recursively,
- * to avoid producing wrong object references in a context of source PDF.
- */
-
- //...
- } else {
- $objFactory->attach($this->_objFactory);
- }
- }
-
-
-
- /**
- * Set fill color.
- *
- * @param Zend_Pdf_Color $color
- * @return Zend_Pdf_Page
- */
- public function setFillColor(Zend_Pdf_Color $color)
- {
- $this->_addProcSet('PDF');
- $this->_contents .= $color->instructions(false);
-
- return $this;
- }
-
- /**
- * Set line color.
- *
- * @param Zend_Pdf_Color $color
- * @return Zend_Pdf_Page
- */
- public function setLineColor(Zend_Pdf_Color $color)
- {
- $this->_addProcSet('PDF');
- $this->_contents .= $color->instructions(true);
-
- return $this;
- }
-
- /**
- * Set line width.
- *
- * @param float $width
- * @return Zend_Pdf_Page
- */
- public function setLineWidth($width)
- {
- $this->_addProcSet('PDF');
- $widthObj = new Zend_Pdf_Element_Numeric($width);
- $this->_contents .= $widthObj->toString() . " w\n";
-
- return $this;
- }
-
- /**
- * Set line dashing pattern
- *
- * Pattern is an array of floats: array(on_length, off_length, on_length, off_length, ...)
- * Phase is shift from the beginning of line.
- *
- * @param array $pattern
- * @param array $phase
- * @return Zend_Pdf_Page
- */
- public function setLineDashingPattern($pattern, $phase = 0)
- {
- $this->_addProcSet('PDF');
-
- if ($pattern === Zend_Pdf_Page::LINE_DASHING_SOLID) {
- $pattern = array();
- $phase = 0;
- }
-
- $dashPattern = new Zend_Pdf_Element_Array();
- $phaseEleemnt = new Zend_Pdf_Element_Numeric($phase);
-
- foreach ($pattern as $dashItem) {
- $dashElement = new Zend_Pdf_Element_Numeric($dashItem);
- $dashPattern->items[] = $dashElement;
- }
-
- $this->_contents .= $dashPattern->toString() . ' '
- . $phaseEleemnt->toString() . " d\n";
-
- return $this;
- }
-
- /**
- * Set current font.
- *
- * @param Zend_Pdf_Resource_Font $font
- * @param float $fontSize
- * @return Zend_Pdf_Page
- */
- public function setFont(Zend_Pdf_Resource_Font $font, $fontSize)
- {
- $this->_addProcSet('Text');
- $fontName = $this->_attachResource('Font', $font);
-
- $this->_font = $font;
- $this->_fontSize = $fontSize;
-
- $fontNameObj = new Zend_Pdf_Element_Name($fontName);
- $fontSizeObj = new Zend_Pdf_Element_Numeric($fontSize);
- $this->_contents .= $fontNameObj->toString() . ' ' . $fontSizeObj->toString() . " Tf\n";
-
- return $this;
- }
-
- /**
- * Set the style to use for future drawing operations on this page
- *
- * @param Zend_Pdf_Style $style
- * @return Zend_Pdf_Page
- */
- public function setStyle(Zend_Pdf_Style $style)
- {
- $this->_style = $style;
-
- $this->_addProcSet('Text');
- $this->_addProcSet('PDF');
- if ($style->getFont() !== null) {
- $this->setFont($style->getFont(), $style->getFontSize());
- }
- $this->_contents .= $style->instructions($this->_pageDictionary->Resources);
-
- return $this;
- }
-
- /**
- * Set the transparancy
- *
- * $alpha == 0 - transparent
- * $alpha == 1 - opaque
- *
- * Transparency modes, supported by PDF:
- * Normal (default), Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight,
- * SoftLight, Difference, Exclusion
- *
- * @param float $alpha
- * @param string $mode
- * @throws Zend_Pdf_Exception
- * @return Zend_Pdf_Page
- */
- public function setAlpha($alpha, $mode = 'Normal')
- {
- if (!in_array($mode, array('Normal', 'Multiply', 'Screen', 'Overlay', 'Darken', 'Lighten', 'ColorDodge',
- 'ColorBurn', 'HardLight', 'SoftLight', 'Difference', 'Exclusion'))) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Unsupported transparency mode.');
- }
- if (!is_numeric($alpha) || $alpha < 0 || $alpha > 1) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Alpha value must be numeric between 0 (transparent) and 1 (opaque).');
- }
-
- $this->_addProcSet('Text');
- $this->_addProcSet('PDF');
-
- $resources = $this->_pageDictionary->Resources;
-
- // Check if Resources dictionary contains ExtGState entry
- if ($resources->ExtGState === null) {
- $resources->touch();
- $resources->ExtGState = new Zend_Pdf_Element_Dictionary();
- } else {
- $resources->ExtGState->touch();
- }
-
- $idCounter = 1;
- do {
- $gStateName = 'GS' . $idCounter++;
- } while ($resources->ExtGState->$gStateName !== null);
-
-
- $gStateDictionary = new Zend_Pdf_Element_Dictionary();
- $gStateDictionary->Type = new Zend_Pdf_Element_Name('ExtGState');
- $gStateDictionary->BM = new Zend_Pdf_Element_Name($mode);
- $gStateDictionary->CA = new Zend_Pdf_Element_Numeric($alpha);
- $gStateDictionary->ca = new Zend_Pdf_Element_Numeric($alpha);
-
- $resources->ExtGState->$gStateName = $this->_objFactory->newObject($gStateDictionary);
-
- $gStateNameObj = new Zend_Pdf_Element_Name($gStateName);
- $this->_contents .= $gStateNameObj->toString() . " gs\n";
-
- return $this;
- }
-
-
- /**
- * Get current font.
- *
- * @return Zend_Pdf_Resource_Font $font
- */
- public function getFont()
- {
- return $this->_font;
- }
-
- /**
- * Extract resources attached to the page
- *
- * This method is not intended to be used in userland, but helps to optimize some document wide operations
- *
- * returns array of Zend_Pdf_Element_Dictionary objects
- *
- * @internal
- * @return array
- */
- public function extractResources()
- {
- return $this->_pageDictionary->Resources;
- }
-
- /**
- * Extract fonts attached to the page
- *
- * returns array of Zend_Pdf_Resource_Font_Extracted objects
- *
- * @return array
- * @throws Zend_Pdf_Exception
- */
- public function extractFonts()
- {
- if ($this->_pageDictionary->Resources->Font === null) {
- // Page doesn't have any font attached
- // Return empty array
- return array();
- }
-
- $fontResources = $this->_pageDictionary->Resources->Font;
-
- $fontResourcesUnique = array();
- foreach ($fontResources->getKeys() as $fontResourceName) {
- $fontDictionary = $fontResources->$fontResourceName;
-
- if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference ||
- $fontDictionary instanceof Zend_Pdf_Element_Object) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.');
- }
-
- $fontResourcesUnique[spl_object_hash($fontDictionary->getObject())] = $fontDictionary;
- }
-
- $fonts = array();
- require_once 'Zend/Pdf/Exception.php';
- foreach ($fontResourcesUnique as $resourceId => $fontDictionary) {
- try {
- require_once 'Zend/Pdf/Resource/Font/Extracted.php';
- // Try to extract font
- $extractedFont = new Zend_Pdf_Resource_Font_Extracted($fontDictionary);
-
- $fonts[$resourceId] = $extractedFont;
- } catch (Zend_Pdf_Exception $e) {
- if ($e->getMessage() != 'Unsupported font type.') {
- throw new Zend_Pdf_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
- }
-
- return $fonts;
- }
-
- /**
- * Extract font attached to the page by specific font name
- *
- * $fontName should be specified in UTF-8 encoding
- *
- * @return Zend_Pdf_Resource_Font_Extracted|null
- * @throws Zend_Pdf_Exception
- */
- public function extractFont($fontName)
- {
- if ($this->_pageDictionary->Resources->Font === null) {
- // Page doesn't have any font attached
- return null;
- }
-
- $fontResources = $this->_pageDictionary->Resources->Font;
-
- $fontResourcesUnique = array();
-
- require_once 'Zend/Pdf/Exception.php';
- foreach ($fontResources->getKeys() as $fontResourceName) {
- $fontDictionary = $fontResources->$fontResourceName;
-
- if (! ($fontDictionary instanceof Zend_Pdf_Element_Reference ||
- $fontDictionary instanceof Zend_Pdf_Element_Object) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Font dictionary has to be an indirect object or object reference.');
- }
-
- $resourceId = spl_object_hash($fontDictionary->getObject());
- if (isset($fontResourcesUnique[$resourceId])) {
- continue;
- } else {
- // Mark resource as processed
- $fontResourcesUnique[$resourceId] = 1;
- }
-
- if ($fontDictionary->BaseFont->value != $fontName) {
- continue;
- }
-
- try {
- // Try to extract font
- require_once 'Zend/Pdf/Resource/Font/Extracted.php';
- return new Zend_Pdf_Resource_Font_Extracted($fontDictionary);
- } catch (Zend_Pdf_Exception $e) {
- if ($e->getMessage() != 'Unsupported font type.') {
- throw new Zend_Pdf_Exception($e->getMessage(), $e->getCode(), $e);
- }
-
- // Continue searhing font with specified name
- }
- }
-
- return null;
- }
-
- /**
- * Get current font size
- *
- * @return float $fontSize
- */
- public function getFontSize()
- {
- return $this->_fontSize;
- }
-
- /**
- * Return the style, applied to the page.
- *
- * @return Zend_Pdf_Style|null
- */
- public function getStyle()
- {
- return $this->_style;
- }
-
-
- /**
- * Save the graphics state of this page.
- * This takes a snapshot of the currently applied style, position, clipping area and
- * any rotation/translation/scaling that has been applied.
- *
- * @todo check for the open paths
- * @throws Zend_Pdf_Exception - if a save is performed with an open path
- * @return Zend_Pdf_Page
- */
- public function saveGS()
- {
- $this->_saveCount++;
-
- $this->_addProcSet('PDF');
- $this->_contents .= " q\n";
-
- return $this;
- }
-
- /**
- * Restore the graphics state that was saved with the last call to saveGS().
- *
- * @throws Zend_Pdf_Exception - if there is no previously saved state
- * @return Zend_Pdf_Page
- */
- public function restoreGS()
- {
- if ($this->_saveCount-- <= 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Restoring graphics state which is not saved');
- }
- $this->_contents .= " Q\n";
-
- return $this;
- }
-
-
- /**
- * Intersect current clipping area with a circle.
- *
- * @param float $x
- * @param float $y
- * @param float $radius
- * @param float $startAngle
- * @param float $endAngle
- * @return Zend_Pdf_Page
- */
- public function clipCircle($x, $y, $radius, $startAngle = null, $endAngle = null)
- {
- $this->clipEllipse($x - $radius, $y - $radius,
- $x + $radius, $y + $radius,
- $startAngle, $endAngle);
-
- return $this;
- }
-
- /**
- * Intersect current clipping area with a polygon.
- *
- * Method signatures:
- * drawEllipse($x1, $y1, $x2, $y2);
- * drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle);
- *
- * @todo process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param float $startAngle
- * @param float $endAngle
- * @return Zend_Pdf_Page
- */
- public function clipEllipse($x1, $y1, $x2, $y2, $startAngle = null, $endAngle = null)
- {
- $this->_addProcSet('PDF');
-
- if ($x2 < $x1) {
- $temp = $x1;
- $x1 = $x2;
- $x2 = $temp;
- }
- if ($y2 < $y1) {
- $temp = $y1;
- $y1 = $y2;
- $y2 = $temp;
- }
-
- $x = ($x1 + $x2)/2.;
- $y = ($y1 + $y2)/2.;
-
- $xC = new Zend_Pdf_Element_Numeric($x);
- $yC = new Zend_Pdf_Element_Numeric($y);
-
- if ($startAngle !== null) {
- if ($startAngle != 0) { $startAngle = fmod($startAngle, M_PI*2); }
- if ($endAngle != 0) { $endAngle = fmod($endAngle, M_PI*2); }
-
- if ($startAngle > $endAngle) {
- $endAngle += M_PI*2;
- }
-
- $clipPath = $xC->toString() . ' ' . $yC->toString() . " m\n";
- $clipSectors = (int)ceil(($endAngle - $startAngle)/M_PI_4);
- $clipRadius = max($x2 - $x1, $y2 - $y1);
-
- for($count = 0; $count <= $clipSectors; $count++) {
- $pAngle = $startAngle + ($endAngle - $startAngle)*$count/(float)$clipSectors;
-
- $pX = new Zend_Pdf_Element_Numeric($x + cos($pAngle)*$clipRadius);
- $pY = new Zend_Pdf_Element_Numeric($y + sin($pAngle)*$clipRadius);
- $clipPath .= $pX->toString() . ' ' . $pY->toString() . " l\n";
- }
-
- $this->_contents .= $clipPath . "h\nW\nn\n";
- }
-
- $xLeft = new Zend_Pdf_Element_Numeric($x1);
- $xRight = new Zend_Pdf_Element_Numeric($x2);
- $yUp = new Zend_Pdf_Element_Numeric($y2);
- $yDown = new Zend_Pdf_Element_Numeric($y1);
-
- $xDelta = 2*(M_SQRT2 - 1)*($x2 - $x1)/3.;
- $yDelta = 2*(M_SQRT2 - 1)*($y2 - $y1)/3.;
- $xr = new Zend_Pdf_Element_Numeric($x + $xDelta);
- $xl = new Zend_Pdf_Element_Numeric($x - $xDelta);
- $yu = new Zend_Pdf_Element_Numeric($y + $yDelta);
- $yd = new Zend_Pdf_Element_Numeric($y - $yDelta);
-
- $this->_contents .= $xC->toString() . ' ' . $yUp->toString() . " m\n"
- . $xr->toString() . ' ' . $yUp->toString() . ' '
- . $xRight->toString() . ' ' . $yu->toString() . ' '
- . $xRight->toString() . ' ' . $yC->toString() . " c\n"
- . $xRight->toString() . ' ' . $yd->toString() . ' '
- . $xr->toString() . ' ' . $yDown->toString() . ' '
- . $xC->toString() . ' ' . $yDown->toString() . " c\n"
- . $xl->toString() . ' ' . $yDown->toString() . ' '
- . $xLeft->toString() . ' ' . $yd->toString() . ' '
- . $xLeft->toString() . ' ' . $yC->toString() . " c\n"
- . $xLeft->toString() . ' ' . $yu->toString() . ' '
- . $xl->toString() . ' ' . $yUp->toString() . ' '
- . $xC->toString() . ' ' . $yUp->toString() . " c\n"
- . "h\nW\nn\n";
-
- return $this;
- }
-
-
- /**
- * Intersect current clipping area with a polygon.
- *
- * @param array $x - array of float (the X co-ordinates of the vertices)
- * @param array $y - array of float (the Y co-ordinates of the vertices)
- * @param integer $fillMethod
- * @return Zend_Pdf_Page
- */
- public function clipPolygon($x, $y, $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING)
- {
- $this->_addProcSet('PDF');
-
- $firstPoint = true;
- foreach ($x as $id => $xVal) {
- $xObj = new Zend_Pdf_Element_Numeric($xVal);
- $yObj = new Zend_Pdf_Element_Numeric($y[$id]);
-
- if ($firstPoint) {
- $path = $xObj->toString() . ' ' . $yObj->toString() . " m\n";
- $firstPoint = false;
- } else {
- $path .= $xObj->toString() . ' ' . $yObj->toString() . " l\n";
- }
- }
-
- $this->_contents .= $path;
-
- if ($fillMethod == Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) {
- $this->_contents .= " h\n W\nn\n";
- } else {
- // Even-Odd fill method.
- $this->_contents .= " h\n W*\nn\n";
- }
-
- return $this;
- }
-
- /**
- * Intersect current clipping area with a rectangle.
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @return Zend_Pdf_Page
- */
- public function clipRectangle($x1, $y1, $x2, $y2)
- {
- $this->_addProcSet('PDF');
-
- $x1Obj = new Zend_Pdf_Element_Numeric($x1);
- $y1Obj = new Zend_Pdf_Element_Numeric($y1);
- $widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1);
- $height2Obj = new Zend_Pdf_Element_Numeric($y2 - $y1);
-
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' '
- . $widthObj->toString() . ' ' . $height2Obj->toString() . " re\n"
- . " W\nn\n";
-
- return $this;
- }
-
- /**
- * Draw a Zend_Pdf_ContentStream at the specified position on the page
- *
- * @param ZPdfContentStream $cs
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @return Zend_Pdf_Page
- */
- public function drawContentStream($cs, $x1, $y1, $x2, $y2)
- {
- /** @todo implementation */
- return $this;
- }
-
- /**
- * Draw a circle centered on x, y with a radius of radius.
- *
- * Method signatures:
- * drawCircle($x, $y, $radius);
- * drawCircle($x, $y, $radius, $fillType);
- * drawCircle($x, $y, $radius, $startAngle, $endAngle);
- * drawCircle($x, $y, $radius, $startAngle, $endAngle, $fillType);
- *
- *
- * It's not a really circle, because PDF supports only cubic Bezier curves.
- * But _very_ good approximation.
- * It differs from a real circle on a maximum 0.00026 radiuses
- * (at PI/8, 3*PI/8, 5*PI/8, 7*PI/8, 9*PI/8, 11*PI/8, 13*PI/8 and 15*PI/8 angles).
- * At 0, PI/4, PI/2, 3*PI/4, PI, 5*PI/4, 3*PI/2 and 7*PI/4 it's exactly a tangent to a circle.
- *
- * @param float $x
- * @param float $y
- * @param float $radius
- * @param mixed $param4
- * @param mixed $param5
- * @param mixed $param6
- * @return Zend_Pdf_Page
- */
- public function drawCircle($x, $y, $radius, $param4 = null, $param5 = null, $param6 = null)
- {
- $this->drawEllipse($x - $radius, $y - $radius,
- $x + $radius, $y + $radius,
- $param4, $param5, $param6);
-
- return $this;
- }
-
- /**
- * Draw an ellipse inside the specified rectangle.
- *
- * Method signatures:
- * drawEllipse($x1, $y1, $x2, $y2);
- * drawEllipse($x1, $y1, $x2, $y2, $fillType);
- * drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle);
- * drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle, $fillType);
- *
- * @todo process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param mixed $param5
- * @param mixed $param6
- * @param mixed $param7
- * @return Zend_Pdf_Page
- */
- public function drawEllipse($x1, $y1, $x2, $y2, $param5 = null, $param6 = null, $param7 = null)
- {
- if ($param5 === null) {
- // drawEllipse($x1, $y1, $x2, $y2);
- $startAngle = null;
- $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE;
- } else if ($param6 === null) {
- // drawEllipse($x1, $y1, $x2, $y2, $fillType);
- $startAngle = null;
- $fillType = $param5;
- } else {
- // drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle);
- // drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle, $fillType);
- $startAngle = $param5;
- $endAngle = $param6;
-
- if ($param7 === null) {
- $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE;
- } else {
- $fillType = $param7;
- }
- }
-
- $this->_addProcSet('PDF');
-
- if ($x2 < $x1) {
- $temp = $x1;
- $x1 = $x2;
- $x2 = $temp;
- }
- if ($y2 < $y1) {
- $temp = $y1;
- $y1 = $y2;
- $y2 = $temp;
- }
-
- $x = ($x1 + $x2)/2.;
- $y = ($y1 + $y2)/2.;
-
- $xC = new Zend_Pdf_Element_Numeric($x);
- $yC = new Zend_Pdf_Element_Numeric($y);
-
- if ($startAngle !== null) {
- if ($startAngle != 0) { $startAngle = fmod($startAngle, M_PI*2); }
- if ($endAngle != 0) { $endAngle = fmod($endAngle, M_PI*2); }
-
- if ($startAngle > $endAngle) {
- $endAngle += M_PI*2;
- }
-
- $clipPath = $xC->toString() . ' ' . $yC->toString() . " m\n";
- $clipSectors = (int)ceil(($endAngle - $startAngle)/M_PI_4);
- $clipRadius = max($x2 - $x1, $y2 - $y1);
-
- for($count = 0; $count <= $clipSectors; $count++) {
- $pAngle = $startAngle + ($endAngle - $startAngle)*$count/(float)$clipSectors;
-
- $pX = new Zend_Pdf_Element_Numeric($x + cos($pAngle)*$clipRadius);
- $pY = new Zend_Pdf_Element_Numeric($y + sin($pAngle)*$clipRadius);
- $clipPath .= $pX->toString() . ' ' . $pY->toString() . " l\n";
- }
-
- $this->_contents .= "q\n" . $clipPath . "h\nW\nn\n";
- }
-
- $xLeft = new Zend_Pdf_Element_Numeric($x1);
- $xRight = new Zend_Pdf_Element_Numeric($x2);
- $yUp = new Zend_Pdf_Element_Numeric($y2);
- $yDown = new Zend_Pdf_Element_Numeric($y1);
-
- $xDelta = 2*(M_SQRT2 - 1)*($x2 - $x1)/3.;
- $yDelta = 2*(M_SQRT2 - 1)*($y2 - $y1)/3.;
- $xr = new Zend_Pdf_Element_Numeric($x + $xDelta);
- $xl = new Zend_Pdf_Element_Numeric($x - $xDelta);
- $yu = new Zend_Pdf_Element_Numeric($y + $yDelta);
- $yd = new Zend_Pdf_Element_Numeric($y - $yDelta);
-
- $this->_contents .= $xC->toString() . ' ' . $yUp->toString() . " m\n"
- . $xr->toString() . ' ' . $yUp->toString() . ' '
- . $xRight->toString() . ' ' . $yu->toString() . ' '
- . $xRight->toString() . ' ' . $yC->toString() . " c\n"
- . $xRight->toString() . ' ' . $yd->toString() . ' '
- . $xr->toString() . ' ' . $yDown->toString() . ' '
- . $xC->toString() . ' ' . $yDown->toString() . " c\n"
- . $xl->toString() . ' ' . $yDown->toString() . ' '
- . $xLeft->toString() . ' ' . $yd->toString() . ' '
- . $xLeft->toString() . ' ' . $yC->toString() . " c\n"
- . $xLeft->toString() . ' ' . $yu->toString() . ' '
- . $xl->toString() . ' ' . $yUp->toString() . ' '
- . $xC->toString() . ' ' . $yUp->toString() . " c\n";
-
- switch ($fillType) {
- case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE:
- $this->_contents .= " B*\n";
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_FILL:
- $this->_contents .= " f*\n";
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_STROKE:
- $this->_contents .= " S\n";
- break;
- }
-
- if ($startAngle !== null) {
- $this->_contents .= "Q\n";
- }
-
- return $this;
- }
-
- /**
- * Draw an image at the specified position on the page.
- *
- * @param Zend_Pdf_Image $image
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @return Zend_Pdf_Page
- */
- public function drawImage(Zend_Pdf_Resource_Image $image, $x1, $y1, $x2, $y2)
- {
- $this->_addProcSet('PDF');
-
- $imageName = $this->_attachResource('XObject', $image);
- $imageNameObj = new Zend_Pdf_Element_Name($imageName);
-
- $x1Obj = new Zend_Pdf_Element_Numeric($x1);
- $y1Obj = new Zend_Pdf_Element_Numeric($y1);
- $widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1);
- $heightObj = new Zend_Pdf_Element_Numeric($y2 - $y1);
-
- $this->_contents .= "q\n"
- . '1 0 0 1 ' . $x1Obj->toString() . ' ' . $y1Obj->toString() . " cm\n"
- . $widthObj->toString() . ' 0 0 ' . $heightObj->toString() . " 0 0 cm\n"
- . $imageNameObj->toString() . " Do\n"
- . "Q\n";
-
- return $this;
- }
-
- /**
- * Draw a LayoutBox at the specified position on the page.
- *
- * @param Zend_Pdf_Element_LayoutBox $box
- * @param float $x
- * @param float $y
- * @return Zend_Pdf_Page
- */
- public function drawLayoutBox($box, $x, $y)
- {
- /** @todo implementation */
- return $this;
- }
-
- /**
- * Draw a line from x1,y1 to x2,y2.
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @return Zend_Pdf_Page
- */
- public function drawLine($x1, $y1, $x2, $y2)
- {
- $this->_addProcSet('PDF');
-
- $x1Obj = new Zend_Pdf_Element_Numeric($x1);
- $y1Obj = new Zend_Pdf_Element_Numeric($y1);
- $x2Obj = new Zend_Pdf_Element_Numeric($x2);
- $y2Obj = new Zend_Pdf_Element_Numeric($y2);
-
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " m\n"
- . $x2Obj->toString() . ' ' . $y2Obj->toString() . " l\n S\n";
-
- return $this;
- }
-
- /**
- * Draw a polygon.
- *
- * If $fillType is Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE or
- * Zend_Pdf_Page::SHAPE_DRAW_FILL, then polygon is automatically closed.
- * See detailed description of these methods in a PDF documentation
- * (section 4.4.2 Path painting Operators, Filling)
- *
- * @param array $x - array of float (the X co-ordinates of the vertices)
- * @param array $y - array of float (the Y co-ordinates of the vertices)
- * @param integer $fillType
- * @param integer $fillMethod
- * @return Zend_Pdf_Page
- */
- public function drawPolygon($x, $y,
- $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE,
- $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING)
- {
- $this->_addProcSet('PDF');
-
- $firstPoint = true;
- foreach ($x as $id => $xVal) {
- $xObj = new Zend_Pdf_Element_Numeric($xVal);
- $yObj = new Zend_Pdf_Element_Numeric($y[$id]);
-
- if ($firstPoint) {
- $path = $xObj->toString() . ' ' . $yObj->toString() . " m\n";
- $firstPoint = false;
- } else {
- $path .= $xObj->toString() . ' ' . $yObj->toString() . " l\n";
- }
- }
-
- $this->_contents .= $path;
-
- switch ($fillType) {
- case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE:
- if ($fillMethod == Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) {
- $this->_contents .= " b\n";
- } else {
- // Even-Odd fill method.
- $this->_contents .= " b*\n";
- }
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_FILL:
- if ($fillMethod == Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING) {
- $this->_contents .= " h\n f\n";
- } else {
- // Even-Odd fill method.
- $this->_contents .= " h\n f*\n";
- }
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_STROKE:
- $this->_contents .= " S\n";
- break;
- }
-
- return $this;
- }
-
- /**
- * Draw a rectangle.
- *
- * Fill types:
- * Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - fill rectangle and stroke (default)
- * Zend_Pdf_Page::SHAPE_DRAW_STROKE - stroke rectangle
- * Zend_Pdf_Page::SHAPE_DRAW_FILL - fill rectangle
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param integer $fillType
- * @return Zend_Pdf_Page
- */
- public function drawRectangle($x1, $y1, $x2, $y2, $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE)
- {
- $this->_addProcSet('PDF');
-
- $x1Obj = new Zend_Pdf_Element_Numeric($x1);
- $y1Obj = new Zend_Pdf_Element_Numeric($y1);
- $widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1);
- $height2Obj = new Zend_Pdf_Element_Numeric($y2 - $y1);
-
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' '
- . $widthObj->toString() . ' ' . $height2Obj->toString() . " re\n";
-
- switch ($fillType) {
- case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE:
- $this->_contents .= " B*\n";
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_FILL:
- $this->_contents .= " f*\n";
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_STROKE:
- $this->_contents .= " S\n";
- break;
- }
-
- return $this;
- }
-
- /**
- * Draw a rounded rectangle.
- *
- * Fill types:
- * Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - fill rectangle and stroke (default)
- * Zend_Pdf_Page::SHAPE_DRAW_STROKE - stroke rectangle
- * Zend_Pdf_Page::SHAPE_DRAW_FILL - fill rectangle
- *
- * radius is an integer representing radius of the four corners, or an array
- * of four integers representing the radius starting at top left, going
- * clockwise
- *
- * @param float $x1
- * @param float $y1
- * @param float $x2
- * @param float $y2
- * @param integer|array $radius
- * @param integer $fillType
- * @return Zend_Pdf_Page
- */
- public function drawRoundedRectangle($x1, $y1, $x2, $y2, $radius,
- $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE)
- {
-
- $this->_addProcSet('PDF');
-
- if(!is_array($radius)) {
- $radius = array($radius, $radius, $radius, $radius);
- } else {
- for ($i = 0; $i < 4; $i++) {
- if(!isset($radius[$i])) {
- $radius[$i] = 0;
- }
- }
- }
-
- $topLeftX = $x1;
- $topLeftY = $y2;
- $topRightX = $x2;
- $topRightY = $y2;
- $bottomRightX = $x2;
- $bottomRightY = $y1;
- $bottomLeftX = $x1;
- $bottomLeftY = $y1;
-
- //draw top side
- $x1Obj = new Zend_Pdf_Element_Numeric($topLeftX + $radius[0]);
- $y1Obj = new Zend_Pdf_Element_Numeric($topLeftY);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " m\n";
- $x1Obj = new Zend_Pdf_Element_Numeric($topRightX - $radius[1]);
- $y1Obj = new Zend_Pdf_Element_Numeric($topRightY);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " l\n";
-
- //draw top right corner if needed
- if ($radius[1] != 0) {
- $x1Obj = new Zend_Pdf_Element_Numeric($topRightX);
- $y1Obj = new Zend_Pdf_Element_Numeric($topRightY);
- $x2Obj = new Zend_Pdf_Element_Numeric($topRightX);
- $y2Obj = new Zend_Pdf_Element_Numeric($topRightY);
- $x3Obj = new Zend_Pdf_Element_Numeric($topRightX);
- $y3Obj = new Zend_Pdf_Element_Numeric($topRightY - $radius[1]);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' '
- . $x2Obj->toString() . ' ' . $y2Obj->toString() . ' '
- . $x3Obj->toString() . ' ' . $y3Obj->toString() . ' '
- . " c\n";
- }
-
- //draw right side
- $x1Obj = new Zend_Pdf_Element_Numeric($bottomRightX);
- $y1Obj = new Zend_Pdf_Element_Numeric($bottomRightY + $radius[2]);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " l\n";
-
- //draw bottom right corner if needed
- if ($radius[2] != 0) {
- $x1Obj = new Zend_Pdf_Element_Numeric($bottomRightX);
- $y1Obj = new Zend_Pdf_Element_Numeric($bottomRightY);
- $x2Obj = new Zend_Pdf_Element_Numeric($bottomRightX);
- $y2Obj = new Zend_Pdf_Element_Numeric($bottomRightY);
- $x3Obj = new Zend_Pdf_Element_Numeric($bottomRightX - $radius[2]);
- $y3Obj = new Zend_Pdf_Element_Numeric($bottomRightY);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' '
- . $x2Obj->toString() . ' ' . $y2Obj->toString() . ' '
- . $x3Obj->toString() . ' ' . $y3Obj->toString() . ' '
- . " c\n";
- }
-
- //draw bottom side
- $x1Obj = new Zend_Pdf_Element_Numeric($bottomLeftX + $radius[3]);
- $y1Obj = new Zend_Pdf_Element_Numeric($bottomLeftY);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " l\n";
-
- //draw bottom left corner if needed
- if ($radius[3] != 0) {
- $x1Obj = new Zend_Pdf_Element_Numeric($bottomLeftX);
- $y1Obj = new Zend_Pdf_Element_Numeric($bottomLeftY);
- $x2Obj = new Zend_Pdf_Element_Numeric($bottomLeftX);
- $y2Obj = new Zend_Pdf_Element_Numeric($bottomLeftY);
- $x3Obj = new Zend_Pdf_Element_Numeric($bottomLeftX);
- $y3Obj = new Zend_Pdf_Element_Numeric($bottomLeftY + $radius[3]);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' '
- . $x2Obj->toString() . ' ' . $y2Obj->toString() . ' '
- . $x3Obj->toString() . ' ' . $y3Obj->toString() . ' '
- . " c\n";
- }
-
- //draw left side
- $x1Obj = new Zend_Pdf_Element_Numeric($topLeftX);
- $y1Obj = new Zend_Pdf_Element_Numeric($topLeftY - $radius[0]);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . " l\n";
-
- //draw top left corner if needed
- if ($radius[0] != 0) {
- $x1Obj = new Zend_Pdf_Element_Numeric($topLeftX);
- $y1Obj = new Zend_Pdf_Element_Numeric($topLeftY);
- $x2Obj = new Zend_Pdf_Element_Numeric($topLeftX);
- $y2Obj = new Zend_Pdf_Element_Numeric($topLeftY);
- $x3Obj = new Zend_Pdf_Element_Numeric($topLeftX + $radius[0]);
- $y3Obj = new Zend_Pdf_Element_Numeric($topLeftY);
- $this->_contents .= $x1Obj->toString() . ' ' . $y1Obj->toString() . ' '
- . $x2Obj->toString() . ' ' . $y2Obj->toString() . ' '
- . $x3Obj->toString() . ' ' . $y3Obj->toString() . ' '
- . " c\n";
- }
-
- switch ($fillType) {
- case Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE:
- $this->_contents .= " B*\n";
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_FILL:
- $this->_contents .= " f*\n";
- break;
- case Zend_Pdf_Page::SHAPE_DRAW_STROKE:
- $this->_contents .= " S\n";
- break;
- }
-
- return $this;
- }
-
- /**
- * Draw a line of text at the specified position.
- *
- * @param string $text
- * @param float $x
- * @param float $y
- * @param string $charEncoding (optional) Character encoding of source text.
- * Defaults to current locale.
- * @throws Zend_Pdf_Exception
- * @return Zend_Pdf_Page
- */
- public function drawText($text, $x, $y, $charEncoding = '')
- {
- if ($this->_font === null) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Font has not been set');
- }
-
- $this->_addProcSet('Text');
-
- $textObj = new Zend_Pdf_Element_String($this->_font->encodeString($text, $charEncoding));
- $xObj = new Zend_Pdf_Element_Numeric($x);
- $yObj = new Zend_Pdf_Element_Numeric($y);
-
- $this->_contents .= "BT\n"
- . $xObj->toString() . ' ' . $yObj->toString() . " Td\n"
- . $textObj->toString() . " Tj\n"
- . "ET\n";
-
- return $this;
- }
-
- /**
- *
- * @param Zend_Pdf_Annotation $annotation
- * @return Zend_Pdf_Page
- */
- public function attachAnnotation(Zend_Pdf_Annotation $annotation)
- {
- $annotationDictionary = $annotation->getResource();
- if (!$annotationDictionary instanceof Zend_Pdf_Element_Object &&
- !$annotationDictionary instanceof Zend_Pdf_Element_Reference) {
- $annotationDictionary = $this->_objFactory->newObject($annotationDictionary);
- }
-
- if ($this->_pageDictionary->Annots === null) {
- $this->_pageDictionary->touch();
- $this->_pageDictionary->Annots = new Zend_Pdf_Element_Array();
- } else {
- $this->_pageDictionary->Annots->touch();
- }
-
- $this->_pageDictionary->Annots->items[] = $annotationDictionary;
-
- $annotationDictionary->touch();
- $annotationDictionary->P = $this->_pageDictionary;
-
- return $this;
- }
-
- /**
- * Return the height of this page in points.
- *
- * @return float
- */
- public function getHeight()
- {
- return $this->_pageDictionary->MediaBox->items[3]->value -
- $this->_pageDictionary->MediaBox->items[1]->value;
- }
-
- /**
- * Return the width of this page in points.
- *
- * @return float
- */
- public function getWidth()
- {
- return $this->_pageDictionary->MediaBox->items[2]->value -
- $this->_pageDictionary->MediaBox->items[0]->value;
- }
-
- /**
- * Close the path by drawing a straight line back to it's beginning.
- *
- * @throws Zend_Pdf_Exception - if a path hasn't been started with pathMove()
- * @return Zend_Pdf_Page
- */
- public function pathClose()
- {
- /** @todo implementation */
- return $this;
- }
-
- /**
- * Continue the open path in a straight line to the specified position.
- *
- * @param float $x - the X co-ordinate to move to
- * @param float $y - the Y co-ordinate to move to
- * @return Zend_Pdf_Page
- */
- public function pathLine($x, $y)
- {
- /** @todo implementation */
- return $this;
- }
-
- /**
- * Start a new path at the specified position. If a path has already been started,
- * move the cursor without drawing a line.
- *
- * @param float $x - the X co-ordinate to move to
- * @param float $y - the Y co-ordinate to move to
- * @return Zend_Pdf_Page
- */
- public function pathMove($x, $y)
- {
- /** @todo implementation */
- return $this;
- }
-
- /**
- * Writes the raw data to the page's content stream.
- *
- * Be sure to consult the PDF reference to ensure your syntax is correct. No
- * attempt is made to ensure the validity of the stream data.
- *
- * @param string $data
- * @param string $procSet (optional) Name of ProcSet to add.
- * @return Zend_Pdf_Page
- */
- public function rawWrite($data, $procSet = null)
- {
- if (! empty($procSet)) {
- $this->_addProcSet($procSet);
- }
- $this->_contents .= $data;
-
- return $this;
- }
-
- /**
- * Rotate the page.
- *
- * @param float $x - the X co-ordinate of rotation point
- * @param float $y - the Y co-ordinate of rotation point
- * @param float $angle - rotation angle
- * @return Zend_Pdf_Page
- */
- public function rotate($x, $y, $angle)
- {
- $cos = new Zend_Pdf_Element_Numeric(cos($angle));
- $sin = new Zend_Pdf_Element_Numeric(sin($angle));
- $mSin = new Zend_Pdf_Element_Numeric(-$sin->value);
-
- $xObj = new Zend_Pdf_Element_Numeric($x);
- $yObj = new Zend_Pdf_Element_Numeric($y);
-
- $mXObj = new Zend_Pdf_Element_Numeric(-$x);
- $mYObj = new Zend_Pdf_Element_Numeric(-$y);
-
-
- $this->_addProcSet('PDF');
- $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n"
- . $cos->toString() . ' ' . $sin->toString() . ' ' . $mSin->toString() . ' ' . $cos->toString() . " 0 0 cm\n"
- . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n";
-
- return $this;
- }
-
- /**
- * Scale coordination system.
- *
- * @param float $xScale - X dimention scale factor
- * @param float $yScale - Y dimention scale factor
- * @return Zend_Pdf_Page
- */
- public function scale($xScale, $yScale)
- {
- $xScaleObj = new Zend_Pdf_Element_Numeric($xScale);
- $yScaleObj = new Zend_Pdf_Element_Numeric($yScale);
-
- $this->_addProcSet('PDF');
- $this->_contents .= $xScaleObj->toString() . ' 0 0 ' . $yScaleObj->toString() . " 0 0 cm\n";
-
- return $this;
- }
-
- /**
- * Translate coordination system.
- *
- * @param float $xShift - X coordinate shift
- * @param float $yShift - Y coordinate shift
- * @return Zend_Pdf_Page
- */
- public function translate($xShift, $yShift)
- {
- $xShiftObj = new Zend_Pdf_Element_Numeric($xShift);
- $yShiftObj = new Zend_Pdf_Element_Numeric($yShift);
-
- $this->_addProcSet('PDF');
- $this->_contents .= '1 0 0 1 ' . $xShiftObj->toString() . ' ' . $yShiftObj->toString() . " cm\n";
-
- return $this;
- }
-
- /**
- * Translate coordination system.
- *
- * @param float $x - the X co-ordinate of axis skew point
- * @param float $y - the Y co-ordinate of axis skew point
- * @param float $xAngle - X axis skew angle
- * @param float $yAngle - Y axis skew angle
- * @return Zend_Pdf_Page
- */
- public function skew($x, $y, $xAngle, $yAngle)
- {
- $tanXObj = new Zend_Pdf_Element_Numeric(tan($xAngle));
- $tanYObj = new Zend_Pdf_Element_Numeric(-tan($yAngle));
-
- $xObj = new Zend_Pdf_Element_Numeric($x);
- $yObj = new Zend_Pdf_Element_Numeric($y);
-
- $mXObj = new Zend_Pdf_Element_Numeric(-$x);
- $mYObj = new Zend_Pdf_Element_Numeric(-$y);
-
- $this->_addProcSet('PDF');
- $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n"
- . '1 ' . $tanXObj->toString() . ' ' . $tanYObj->toString() . " 1 0 0 cm\n"
- . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n";
-
- return $this;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Parser.php b/airtime_mvc/library/Zend/Pdf/Parser.php
deleted file mode 100644
index 3dc344ea8..000000000
--- a/airtime_mvc/library/Zend/Pdf/Parser.php
+++ /dev/null
@@ -1,464 +0,0 @@
-_stringParser->data);
- }
-
- /**
- * Get PDF String
- *
- * @return string
- */
- public function getPDFString()
- {
- return $this->_stringParser->data;
- }
-
- /**
- * PDF version specified in the file header
- *
- * @return string
- */
- public function getPDFVersion()
- {
- return $this->_pdfVersion;
- }
-
- /**
- * Load XReference table and referenced objects
- *
- * @param integer $offset
- * @throws Zend_Pdf_Exception
- * @return Zend_Pdf_Trailer_Keeper
- */
- private function _loadXRefTable($offset)
- {
- $this->_stringParser->offset = $offset;
-
- require_once 'Zend/Pdf/Element/Reference/Table.php';
- $refTable = new Zend_Pdf_Element_Reference_Table();
- require_once 'Zend/Pdf/Element/Reference/Context.php';
- $context = new Zend_Pdf_Element_Reference_Context($this->_stringParser, $refTable);
- $this->_stringParser->setContext($context);
-
- $nextLexeme = $this->_stringParser->readLexeme();
- if ($nextLexeme == 'xref') {
- /**
- * Common cross-reference table
- */
- $this->_stringParser->skipWhiteSpace();
- while ( ($nextLexeme = $this->_stringParser->readLexeme()) != 'trailer' ) {
- if (!ctype_digit($nextLexeme)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference table subheader values must contain only digits.', $this->_stringParser->offset-strlen($nextLexeme)));
- }
- $objNum = (int)$nextLexeme;
-
- $refCount = $this->_stringParser->readLexeme();
- if (!ctype_digit($refCount)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference table subheader values must contain only digits.', $this->_stringParser->offset-strlen($refCount)));
- }
-
- $this->_stringParser->skipWhiteSpace();
- while ($refCount > 0) {
- $objectOffset = substr($this->_stringParser->data, $this->_stringParser->offset, 10);
- if (!ctype_digit($objectOffset)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Offset must contain only digits.', $this->_stringParser->offset));
- }
- // Force $objectOffset to be treated as decimal instead of octal number
- for ($numStart = 0; $numStart < strlen($objectOffset)-1; $numStart++) {
- if ($objectOffset[$numStart] != '0') {
- break;
- }
- }
- $objectOffset = substr($objectOffset, $numStart);
- $this->_stringParser->offset += 10;
-
- if (strpos("\x00\t\n\f\r ", $this->_stringParser->data[$this->_stringParser->offset]) === false) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset));
- }
- $this->_stringParser->offset++;
-
- $genNumber = substr($this->_stringParser->data, $this->_stringParser->offset, 5);
- if (!ctype_digit($objectOffset)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Offset must contain only digits.', $this->_stringParser->offset));
- }
- // Force $objectOffset to be treated as decimal instead of octal number
- for ($numStart = 0; $numStart < strlen($genNumber)-1; $numStart++) {
- if ($genNumber[$numStart] != '0') {
- break;
- }
- }
- $genNumber = substr($genNumber, $numStart);
- $this->_stringParser->offset += 5;
-
- if (strpos("\x00\t\n\f\r ", $this->_stringParser->data[$this->_stringParser->offset]) === false) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset));
- }
- $this->_stringParser->offset++;
-
- $inUseKey = $this->_stringParser->data[$this->_stringParser->offset];
- $this->_stringParser->offset++;
-
- switch ($inUseKey) {
- case 'f':
- // free entry
- unset( $this->_refTable[$objNum . ' ' . $genNumber . ' R'] );
- $refTable->addReference($objNum . ' ' . $genNumber . ' R',
- $objectOffset,
- false);
- break;
-
- case 'n':
- // in-use entry
-
- $refTable->addReference($objNum . ' ' . $genNumber . ' R',
- $objectOffset,
- true);
- }
-
- if ( !Zend_Pdf_StringParser::isWhiteSpace(ord( $this->_stringParser->data[$this->_stringParser->offset] )) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset));
- }
- $this->_stringParser->offset++;
- if ( !Zend_Pdf_StringParser::isWhiteSpace(ord( $this->_stringParser->data[$this->_stringParser->offset] )) ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file cross-reference table syntax error. Offset - 0x%X. Value separator must be white space.', $this->_stringParser->offset));
- }
- $this->_stringParser->offset++;
-
- $refCount--;
- $objNum++;
- }
- }
-
- $trailerDictOffset = $this->_stringParser->offset;
- $trailerDict = $this->_stringParser->readElement();
- if (!$trailerDict instanceof Zend_Pdf_Element_Dictionary) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Dictionary expected after \'trailer\' keyword.', $trailerDictOffset));
- }
- } else {
- $xrefStream = $this->_stringParser->getObject($offset, $context);
-
- if (!$xrefStream instanceof Zend_Pdf_Element_Object_Stream) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference stream expected.', $offset));
- }
-
- $trailerDict = $xrefStream->dictionary;
- if ($trailerDict->Type->value != 'XRef') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross-reference stream object must have /Type property assigned to /XRef.', $offset));
- }
- if ($trailerDict->W === null || $trailerDict->W->getType() != Zend_Pdf_Element::TYPE_ARRAY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross reference stream dictionary doesn\'t have W entry or it\'s not an array.', $offset));
- }
-
- $entryField1Size = $trailerDict->W->items[0]->value;
- $entryField2Size = $trailerDict->W->items[1]->value;
- $entryField3Size = $trailerDict->W->items[2]->value;
-
- if ($entryField2Size == 0 || $entryField3Size == 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Wrong W dictionary entry. Only type field of stream entries has default value and could be zero length.', $offset));
- }
-
- $xrefStreamData = $xrefStream->value;
-
- if ($trailerDict->Index !== null) {
- if ($trailerDict->Index->getType() != Zend_Pdf_Element::TYPE_ARRAY) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Cross reference stream dictionary Index entry must be an array.', $offset));
- }
- $sections = count($trailerDict->Index->items)/2;
- } else {
- $sections = 1;
- }
-
- $streamOffset = 0;
-
- $size = $entryField1Size + $entryField2Size + $entryField3Size;
- $entries = strlen($xrefStreamData)/$size;
-
- for ($count = 0; $count < $sections; $count++) {
- if ($trailerDict->Index !== null) {
- $objNum = $trailerDict->Index->items[$count*2 ]->value;
- $entries = $trailerDict->Index->items[$count*2 + 1]->value;
- } else {
- $objNum = 0;
- $entries = $trailerDict->Size->value;
- }
-
- for ($count2 = 0; $count2 < $entries; $count2++) {
- if ($entryField1Size == 0) {
- $type = 1;
- } else if ($entryField1Size == 1) { // Optimyze one-byte field case
- $type = ord($xrefStreamData[$streamOffset++]);
- } else {
- $type = Zend_Pdf_StringParser::parseIntFromStream($xrefStreamData, $streamOffset, $entryField1Size);
- $streamOffset += $entryField1Size;
- }
-
- if ($entryField2Size == 1) { // Optimyze one-byte field case
- $field2 = ord($xrefStreamData[$streamOffset++]);
- } else {
- $field2 = Zend_Pdf_StringParser::parseIntFromStream($xrefStreamData, $streamOffset, $entryField2Size);
- $streamOffset += $entryField2Size;
- }
-
- if ($entryField3Size == 1) { // Optimyze one-byte field case
- $field3 = ord($xrefStreamData[$streamOffset++]);
- } else {
- $field3 = Zend_Pdf_StringParser::parseIntFromStream($xrefStreamData, $streamOffset, $entryField3Size);
- $streamOffset += $entryField3Size;
- }
-
- switch ($type) {
- case 0:
- // Free object
- $refTable->addReference($objNum . ' ' . $field3 . ' R', $field2, false);
- // Debug output:
- // echo "Free object - $objNum $field3 R, next free - $field2\n";
- break;
-
- case 1:
- // In use object
- $refTable->addReference($objNum . ' ' . $field3 . ' R', $field2, true);
- // Debug output:
- // echo "In-use object - $objNum $field3 R, offset - $field2\n";
- break;
-
- case 2:
- // Object in an object stream
- // Debug output:
- // echo "Compressed object - $objNum 0 R, object stream - $field2 0 R, offset - $field3\n";
- break;
- }
-
- $objNum++;
- }
- }
-
- // $streamOffset . ' ' . strlen($xrefStreamData) . "\n";
- // "$entries\n";
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Cross-reference streams are not supported yet.');
- }
-
-
- require_once 'Zend/Pdf/Trailer/Keeper.php';
- $trailerObj = new Zend_Pdf_Trailer_Keeper($trailerDict, $context);
- if ($trailerDict->Prev instanceof Zend_Pdf_Element_Numeric ||
- $trailerDict->Prev instanceof Zend_Pdf_Element_Reference ) {
- $trailerObj->setPrev($this->_loadXRefTable($trailerDict->Prev->value));
- $context->getRefTable()->setParent($trailerObj->getPrev()->getRefTable());
- }
-
- /**
- * We set '/Prev' dictionary property to the current cross-reference section offset.
- * It doesn't correspond to the actual data, but is true when trailer will be used
- * as a trailer for next generated PDF section.
- */
- $trailerObj->Prev = new Zend_Pdf_Element_Numeric($offset);
-
- return $trailerObj;
- }
-
-
- /**
- * Get Trailer object
- *
- * @return Zend_Pdf_Trailer_Keeper
- */
- public function getTrailer()
- {
- return $this->_trailer;
- }
-
- /**
- * Object constructor
- *
- * Note: PHP duplicates string, which is sent by value, only of it's updated.
- * Thus we don't need to care about overhead
- *
- * @param mixed $source
- * @param Zend_Pdf_ElementFactory_Interface $factory
- * @param boolean $load
- * @throws Zend_Exception
- */
- public function __construct($source, Zend_Pdf_ElementFactory_Interface $factory, $load)
- {
- if ($load) {
- if (($pdfFile = @fopen($source, 'rb')) === false ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Can not open '$source' file for reading." );
- }
-
- $byteCount = filesize($source);
-
- $data = fread($pdfFile, $byteCount);
- $byteCount -= strlen($data);
- while ( $byteCount > 0 && ($nextBlock = fread($pdfFile, $byteCount)) != false ) {
- $data .= $nextBlock;
- $byteCount -= strlen($nextBlock);
- }
- fclose($pdfFile);
-
- $this->_stringParser = new Zend_Pdf_StringParser($data, $factory);
- } else {
- $this->_stringParser = new Zend_Pdf_StringParser($source, $factory);
- }
-
- $pdfVersionComment = $this->_stringParser->readComment();
- if (substr($pdfVersionComment, 0, 5) != '%PDF-') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('File is not a PDF.');
- }
-
- $pdfVersion = substr($pdfVersionComment, 5);
- if (version_compare($pdfVersion, '0.9', '<') ||
- version_compare($pdfVersion, '1.61', '>=')
- ) {
- /**
- * @todo
- * To support PDF versions 1.5 (Acrobat 6) and PDF version 1.7 (Acrobat 7)
- * Stream compression filter must be implemented (for compressed object streams).
- * Cross reference streams must be implemented
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('Unsupported PDF version. Zend_Pdf supports PDF 1.0-1.4. Current version - \'%f\'', $pdfVersion));
- }
- $this->_pdfVersion = $pdfVersion;
-
- $this->_stringParser->offset = strrpos($this->_stringParser->data, '%%EOF');
- if ($this->_stringParser->offset === false ||
- strlen($this->_stringParser->data) - $this->_stringParser->offset > 7) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Pdf file syntax error. End-of-fle marker expected at the end of file.');
- }
-
- $this->_stringParser->offset--;
- /**
- * Go to end of cross-reference table offset
- */
- while (Zend_Pdf_StringParser::isWhiteSpace( ord($this->_stringParser->data[$this->_stringParser->offset]) )&&
- ($this->_stringParser->offset > 0)) {
- $this->_stringParser->offset--;
- }
- /**
- * Go to the start of cross-reference table offset
- */
- while ( (!Zend_Pdf_StringParser::isWhiteSpace( ord($this->_stringParser->data[$this->_stringParser->offset]) ))&&
- ($this->_stringParser->offset > 0)) {
- $this->_stringParser->offset--;
- }
- /**
- * Go to the end of 'startxref' keyword
- */
- while (Zend_Pdf_StringParser::isWhiteSpace( ord($this->_stringParser->data[$this->_stringParser->offset]) )&&
- ($this->_stringParser->offset > 0)) {
- $this->_stringParser->offset--;
- }
- /**
- * Go to the white space (eol marker) before 'startxref' keyword
- */
- $this->_stringParser->offset -= 9;
-
- $nextLexeme = $this->_stringParser->readLexeme();
- if ($nextLexeme != 'startxref') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('Pdf file syntax error. \'startxref\' keyword expected. Offset - 0x%X.', $this->_stringParser->offset-strlen($nextLexeme)));
- }
-
- $startXref = $this->_stringParser->readLexeme();
- if (!ctype_digit($startXref)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('Pdf file syntax error. Cross-reference table offset must contain only digits. Offset - 0x%X.', $this->_stringParser->offset-strlen($nextLexeme)));
- }
-
- $this->_trailer = $this->_loadXRefTable($startXref);
- $factory->setObjectCount($this->_trailer->Size->value);
- }
-
-
- /**
- * Object destructor
- */
- public function __destruct()
- {
- $this->_stringParser->cleanUp();
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/RecursivelyIteratableObjectsContainer.php b/airtime_mvc/library/Zend/Pdf/RecursivelyIteratableObjectsContainer.php
deleted file mode 100644
index 456c58f5f..000000000
--- a/airtime_mvc/library/Zend/Pdf/RecursivelyIteratableObjectsContainer.php
+++ /dev/null
@@ -1,45 +0,0 @@
-_objects = $objects; }
-
- public function current() { return current($this->_objects); }
- public function key() { return key($this->_objects); }
- public function next() { return next($this->_objects); }
- public function rewind() { return reset($this->_objects); }
- public function valid() { return current($this->_objects) !== false; }
- public function getChildren() { return current($this->_objects); }
- public function hasChildren() { return count($this->_objects) > 0; }
-
- public function count() { return count($this->_objects); }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource.php b/airtime_mvc/library/Zend/Pdf/Resource.php
deleted file mode 100644
index 9df14317f..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource.php
+++ /dev/null
@@ -1,101 +0,0 @@
-_objectFactory = Zend_Pdf_ElementFactory::createFactory(1);
- if ($resource instanceof Zend_Pdf_Element) {
- $this->_resource = $this->_objectFactory->newObject($resource);
- } else {
- $this->_resource = $this->_objectFactory->newStreamObject($resource);
- }
- }
-
- /**
- * Get resource.
- * Used to reference resource in an internal PDF data structures (resource dictionaries)
- *
- * @internal
- * @return Zend_Pdf_Element_Object
- */
- public function getResource()
- {
- return $this->_resource;
- }
-
- /**
- * Get factory.
- *
- * @internal
- * @return Zend_Pdf_ElementFactory_Interface
- */
- public function getFactory()
- {
- return $this->_objectFactory;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font.php b/airtime_mvc/library/Zend/Pdf/Resource/Font.php
deleted file mode 100644
index 84b16e3ac..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font.php
+++ /dev/null
@@ -1,530 +0,0 @@
-_resource->Type = new Zend_Pdf_Element_Name('Font');
- }
-
-
- /* Object Magic Methods */
-
- /**
- * Returns the full name of the font in the encoding method of the current
- * locale. Transliterates any characters that cannot be naturally
- * represented in that character set.
- *
- * @return string
- */
- public function __toString()
- {
- return $this->getFontName(Zend_Pdf_Font::NAME_FULL, '', '//TRANSLIT');
- }
-
-
- /* Accessors */
-
- /**
- * Returns the type of font.
- *
- * @return integer One of the TYPE_ constants defined in
- * {@link Zend_Pdf_Font}.
- */
- public function getFontType()
- {
- return $this->_fontType;
- }
-
- /**
- * Returns the specified descriptive name for the font.
- *
- * The font name type is usually one of the following:
- *
- * {@link Zend_Pdf_Font::NAME_FULL}
- * {@link Zend_Pdf_Font::NAME_FAMILY}
- * {@link Zend_Pdf_Font::NAME_PREFERRED_FAMILY}
- * {@link Zend_Pdf_Font::NAME_STYLE}
- * {@link Zend_Pdf_Font::NAME_PREFERRED_STYLE}
- * {@link Zend_Pdf_Font::NAME_DESCRIPTION}
- * {@link Zend_Pdf_Font::NAME_SAMPLE_TEXT}
- * {@link Zend_Pdf_Font::NAME_ID}
- * {@link Zend_Pdf_Font::NAME_VERSION}
- * {@link Zend_Pdf_Font::NAME_POSTSCRIPT}
- * {@link Zend_Pdf_Font::NAME_CID_NAME}
- * {@link Zend_Pdf_Font::NAME_DESIGNER}
- * {@link Zend_Pdf_Font::NAME_DESIGNER_URL}
- * {@link Zend_Pdf_Font::NAME_MANUFACTURER}
- * {@link Zend_Pdf_Font::NAME_VENDOR_URL}
- * {@link Zend_Pdf_Font::NAME_COPYRIGHT}
- * {@link Zend_Pdf_Font::NAME_TRADEMARK}
- * {@link Zend_Pdf_Font::NAME_LICENSE}
- * {@link Zend_Pdf_Font::NAME_LICENSE_URL}
- *
- *
- * Note that not all names are available for all fonts. In addition, some
- * fonts may contain additional names, whose indicies are in the range
- * 256 to 32767 inclusive, which are used for certain font layout features.
- *
- * If the preferred language translation is not available, uses the first
- * available translation for the name, which is usually English.
- *
- * If the requested name does not exist, returns null.
- *
- * All names are stored internally as Unicode strings, using UTF-16BE
- * encoding. You may optionally supply a different resulting character set.
- *
- * @param integer $nameType Type of name requested.
- * @param mixed $language Preferred language (string) or array of languages
- * in preferred order. Use the ISO 639 standard 2-letter language codes.
- * @param string $characterSet (optional) Desired resulting character set.
- * You may use any character set supported by {@link iconv()};
- * @return string
- */
- public function getFontName($nameType, $language, $characterSet = null)
- {
- if (! isset($this->_fontNames[$nameType])) {
- return null;
- }
- $name = null;
- if (is_array($language)) {
- foreach ($language as $code) {
- if (isset($this->_fontNames[$nameType][$code])) {
- $name = $this->_fontNames[$nameType][$code];
- break;
- }
- }
- } else {
- if (isset($this->_fontNames[$nameType][$language])) {
- $name = $this->_fontNames[$nameType][$language];
- }
- }
- /* If the preferred language could not be found, use whatever is first.
- */
- if ($name === null) {
- $names = $this->_fontNames[$nameType];
- $name = reset($names);
- }
- /* Convert the character set if requested.
- */
- if (($characterSet !== null) && ($characterSet != 'UTF-16BE') && PHP_OS != 'AIX') { // AIX knows not this charset
- $name = iconv('UTF-16BE', $characterSet, $name);
- }
- return $name;
- }
-
- /**
- * Returns whole set of font names.
- *
- * @return array
- */
- public function getFontNames()
- {
- return $this->_fontNames;
- }
-
- /**
- * Returns true if font is bold.
- *
- * @return boolean
- */
- public function isBold()
- {
- return $this->_isBold;
- }
-
- /**
- * Returns true if font is italic.
- *
- * @return boolean
- */
- public function isItalic()
- {
- return $this->_isItalic;
- }
-
- /**
- * Returns true if font is monospace.
- *
- * @return boolean
- */
- public function isMonospace()
- {
- return $this->_isMonospace;
- }
-
- /**
- * Returns the suggested position below the text baseline of the underline
- * in glyph units.
- *
- * This value is usually negative.
- *
- * @return integer
- */
- public function getUnderlinePosition()
- {
- return $this->_underlinePosition;
- }
-
- /**
- * Returns the suggested line thickness of the underline in glyph units.
- *
- * @return integer
- */
- public function getUnderlineThickness()
- {
- return $this->_underlineThickness;
- }
-
- /**
- * Returns the suggested position above the text baseline of the
- * strikethrough in glyph units.
- *
- * @return integer
- */
- public function getStrikePosition()
- {
- return $this->_strikePosition;
- }
-
- /**
- * Returns the suggested line thickness of the strikethrough in glyph units.
- *
- * @return integer
- */
- public function getStrikeThickness()
- {
- return $this->_strikeThickness;
- }
-
- /**
- * Returns the number of glyph units per em.
- *
- * Used to convert glyph space to user space. Frequently used in conjunction
- * with {@link widthsForGlyphs()} to calculate the with of a run of text.
- *
- * @return integer
- */
- public function getUnitsPerEm()
- {
- return $this->_unitsPerEm;
- }
-
- /**
- * Returns the typographic ascent in font glyph units.
- *
- * The typographic ascent is the distance from the font's baseline to the
- * top of the text frame. It is frequently used to locate the initial
- * baseline for a paragraph of text inside a given rectangle.
- *
- * @return integer
- */
- public function getAscent()
- {
- return $this->_ascent;
- }
-
- /**
- * Returns the typographic descent in font glyph units.
- *
- * The typographic descent is the distance below the font's baseline to the
- * bottom of the text frame. It is always negative.
- *
- * @return integer
- */
- public function getDescent()
- {
- return $this->_descent;
- }
-
- /**
- * Returns the typographic line gap in font glyph units.
- *
- * The typographic line gap is the distance between the bottom of the text
- * frame of one line to the top of the text frame of the next. It is
- * typically combined with the typographical ascent and descent to determine
- * the font's total line height (or leading).
- *
- * @return integer
- */
- public function getLineGap()
- {
- return $this->_lineGap;
- }
-
- /**
- * Returns the suggested line height (or leading) in font glyph units.
- *
- * This value is determined by adding together the values of the typographic
- * ascent, descent, and line gap. This value yields the suggested line
- * spacing as determined by the font developer.
- *
- * It should be noted that this is only a guideline; layout engines will
- * frequently modify this value to achieve special effects such as double-
- * spacing.
- *
- * @return integer
- */
- public function getLineHeight()
- {
- return $this->_ascent - $this->_descent + $this->_lineGap;
- }
-
-
- /* Information and Conversion Methods */
-
- /**
- * Returns an array of glyph numbers corresponding to the Unicode characters.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumberForCharacter()}.
- *
- * @param array $characterCodes Array of Unicode character codes (code points).
- * @return array Array of glyph numbers.
- */
- abstract public function glyphNumbersForCharacters($characterCodes);
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- abstract public function glyphNumberForCharacter($characterCode);
-
- /**
- * Returns a number between 0 and 1 inclusive that indicates the percentage
- * of characters in the string which are covered by glyphs in this font.
- *
- * Since no one font will contain glyphs for the entire Unicode character
- * range, this method can be used to help locate a suitable font when the
- * actual contents of the string are not known.
- *
- * Note that some fonts lie about the characters they support. Additionally,
- * fonts don't usually contain glyphs for control characters such as tabs
- * and line breaks, so it is rare that you will get back a full 1.0 score.
- * The resulting value should be considered informational only.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source text.
- * If omitted, uses 'current locale'.
- * @return float
- */
- abstract public function getCoveredPercentage($string, $charEncoding = '');
-
- /**
- * Returns the widths of the glyphs.
- *
- * The widths are expressed in the font's glyph space. You are responsible
- * for converting to user space as necessary. See {@link unitsPerEm()}.
- *
- * See also {@link widthForGlyph()}.
- *
- * @param array $glyphNumbers Array of glyph numbers.
- * @return array Array of glyph widths (integers).
- * @throws Zend_Pdf_Exception
- */
- abstract public function widthsForGlyphs($glyphNumbers);
-
- /**
- * Returns the width of the glyph.
- *
- * Like {@link widthsForGlyphs()} but used for one glyph at a time.
- *
- * @param integer $glyphNumber
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- abstract public function widthForGlyph($glyphNumber);
-
- /**
- * Convert string to the font encoding.
- *
- * The method is used to prepare string for text drawing operators
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- */
- abstract public function encodeString($string, $charEncoding);
-
- /**
- * Convert string from the font encoding.
- *
- * The method is used to convert strings retrieved from existing content streams
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- */
- abstract public function decodeString($string, $charEncoding);
-
-
-
- /**** Internal Methods ****/
-
-
- /**
- * If the font's glyph space is not 1000 units per em, converts the value.
- *
- * @internal
- * @param integer $value
- * @return integer
- */
- public function toEmSpace($value)
- {
- if ($this->_unitsPerEm == 1000) {
- return $value;
- }
- return ceil(($value / $this->_unitsPerEm) * 1000); // always round up
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/CidFont.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/CidFont.php
deleted file mode 100644
index a5001e9a7..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/CidFont.php
+++ /dev/null
@@ -1,490 +0,0 @@
-parse();
-
-
- /* Object properties */
-
- $this->_fontNames = $fontParser->names;
-
- $this->_isBold = $fontParser->isBold;
- $this->_isItalic = $fontParser->isItalic;
- $this->_isMonospaced = $fontParser->isMonospaced;
-
- $this->_underlinePosition = $fontParser->underlinePosition;
- $this->_underlineThickness = $fontParser->underlineThickness;
- $this->_strikePosition = $fontParser->strikePosition;
- $this->_strikeThickness = $fontParser->strikeThickness;
-
- $this->_unitsPerEm = $fontParser->unitsPerEm;
-
- $this->_ascent = $fontParser->ascent;
- $this->_descent = $fontParser->descent;
- $this->_lineGap = $fontParser->lineGap;
-
-
- $this->_cmap = $fontParser->cmap;
-
-
- /* Resource dictionary */
-
- $baseFont = $this->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8');
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name($baseFont);
-
-
- /**
- * Prepare widths array.
- */
- /* Constract characters widths array using font CMap and glyphs widths array */
- $glyphWidths = $fontParser->glyphWidths;
- $charGlyphs = $this->_cmap->getCoveredCharactersGlyphs();
- $charWidths = array();
- foreach ($charGlyphs as $charCode => $glyph) {
- $charWidths[$charCode] = $glyphWidths[$glyph];
- }
- $this->_charWidths = $charWidths;
- $this->_missingCharWidth = $glyphWidths[0];
-
- /* Width array optimization. Step1: extract default value */
- $widthFrequencies = array_count_values($charWidths);
- $defaultWidth = null;
- $defaultWidthFrequency = -1;
- foreach ($widthFrequencies as $width => $frequency) {
- if ($frequency > $defaultWidthFrequency) {
- $defaultWidth = $width;
- $defaultWidthFrequency = $frequency;
- }
- }
-
- // Store default value in the font dictionary
- $this->_resource->DW = new Zend_Pdf_Element_Numeric($this->toEmSpace($defaultWidth));
-
- // Remove characters which corresponds to default width from the widths array
- $defWidthChars = array_keys($charWidths, $defaultWidth);
- foreach ($defWidthChars as $charCode) {
- unset($charWidths[$charCode]);
- }
-
- // Order cheracter widths aray by character codes
- ksort($charWidths, SORT_NUMERIC);
-
- /* Width array optimization. Step2: Compact character codes sequences */
- $lastCharCode = -1;
- $widthsSequences = array();
- foreach ($charWidths as $charCode => $width) {
- if ($lastCharCode == -1) {
- $charCodesSequense = array();
- $sequenceStartCode = $charCode;
- } else if ($charCode != $lastCharCode + 1) {
- // New chracters sequence detected
- $widthsSequences[$sequenceStartCode] = $charCodesSequense;
- $charCodesSequense = array();
- $sequenceStartCode = $charCode;
- }
- $charCodesSequense[] = $width;
- $lastCharCode = $charCode;
- }
- // Save last sequence, if widths array is not empty (it may happens for monospaced fonts)
- if (count($charWidths) != 0) {
- $widthsSequences[$sequenceStartCode] = $charCodesSequense;
- }
-
- $pdfCharsWidths = array();
- foreach ($widthsSequences as $startCode => $widthsSequence) {
- /* Width array optimization. Step3: Compact widths sequences */
- $pdfWidths = array();
- $lastWidth = -1;
- $widthsInSequence = 0;
- foreach ($widthsSequence as $width) {
- if ($lastWidth != $width) {
- // New width is detected
- if ($widthsInSequence != 0) {
- // Previous width value was a part of the widths sequence. Save it as 'c_1st c_last w'.
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode + $widthsInSequence - 1); // Last character code
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($lastWidth)); // Width
-
- // Reset widths sequence
- $startCode = $startCode + $widthsInSequence;
- $widthsInSequence = 0;
- }
-
- // Collect new width
- $pdfWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($width));
-
- $lastWidth = $width;
- } else {
- // Width is equal to previous
- if (count($pdfWidths) != 0) {
- // We already have some widths collected
- // So, we've just detected new widths sequence
-
- // Remove last element from widths list, since it's a part of widths sequence
- array_pop($pdfWidths);
-
- // and write the rest if it's not empty
- if (count($pdfWidths) != 0) {
- // Save it as 'c_1st [w1 w2 ... wn]'.
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code
- $pdfCharsWidths[] = new Zend_Pdf_Element_Array($pdfWidths); // Widths array
-
- // Reset widths collection
- $startCode += count($pdfWidths);
- $pdfWidths = array();
- }
-
- $widthsInSequence = 2;
- } else {
- // Continue widths sequence
- $widthsInSequence++;
- }
- }
- }
-
- // Check if we have widths collection or widths sequence to wite it down
- if (count($pdfWidths) != 0) {
- // We have some widths collected
- // Save it as 'c_1st [w1 w2 ... wn]'.
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code
- $pdfCharsWidths[] = new Zend_Pdf_Element_Array($pdfWidths); // Widths array
- } else if ($widthsInSequence != 0){
- // We have widths sequence
- // Save it as 'c_1st c_last w'.
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode); // First character code
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($startCode + $widthsInSequence - 1); // Last character code
- $pdfCharsWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($lastWidth)); // Width
- }
- }
-
- /* Create the Zend_Pdf_Element_Array object and add it to the font's
- * object factory and resource dictionary.
- */
- $widthsArrayElement = new Zend_Pdf_Element_Array($pdfCharsWidths);
- $widthsObject = $this->_objectFactory->newObject($widthsArrayElement);
- $this->_resource->W = $widthsObject;
-
-
- /* CIDSystemInfo dictionary */
- $cidSystemInfo = new Zend_Pdf_Element_Dictionary();
- $cidSystemInfo->Registry = new Zend_Pdf_Element_String('Adobe');
- $cidSystemInfo->Ordering = new Zend_Pdf_Element_String('UCS');
- $cidSystemInfo->Supplement = new Zend_Pdf_Element_Numeric(0);
- $cidSystemInfoObject = $this->_objectFactory->newObject($cidSystemInfo);
- $this->_resource->CIDSystemInfo = $cidSystemInfoObject;
- }
-
-
-
- /**
- * Returns an array of glyph numbers corresponding to the Unicode characters.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumberForCharacter()}.
- *
- * @param array $characterCodes Array of Unicode character codes (code points).
- * @return array Array of glyph numbers.
- */
- public function glyphNumbersForCharacters($characterCodes)
- {
- /**
- * CIDFont object is not actually a font. It does not have an Encoding entry,
- * it cannot be listed in the Font subdictionary of a resource dictionary, and
- * it cannot be used as the operand of the Tf operator.
- *
- * Throw an exception.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators');
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- /**
- * CIDFont object is not actually a font. It does not have an Encoding entry,
- * it cannot be listed in the Font subdictionary of a resource dictionary, and
- * it cannot be used as the operand of the Tf operator.
- *
- * Throw an exception.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators');
- }
-
-
- /**
- * Returns a number between 0 and 1 inclusive that indicates the percentage
- * of characters in the string which are covered by glyphs in this font.
- *
- * Since no one font will contain glyphs for the entire Unicode character
- * range, this method can be used to help locate a suitable font when the
- * actual contents of the string are not known.
- *
- * Note that some fonts lie about the characters they support. Additionally,
- * fonts don't usually contain glyphs for control characters such as tabs
- * and line breaks, so it is rare that you will get back a full 1.0 score.
- * The resulting value should be considered informational only.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source text.
- * If omitted, uses 'current locale'.
- * @return float
- */
- public function getCoveredPercentage($string, $charEncoding = '')
- {
- /* Convert the string to UTF-16BE encoding so we can match the string's
- * character codes to those found in the cmap.
- */
- if ($charEncoding != 'UTF-16BE') {
- $string = iconv($charEncoding, 'UTF-16BE', $string);
- }
-
- $charCount = iconv_strlen($string, 'UTF-16BE');
- if ($charCount == 0) {
- return 0;
- }
-
- /* Calculate the score by doing a lookup for each character.
- */
- $score = 0;
- $maxIndex = strlen($string);
- for ($i = 0; $i < $maxIndex; $i++) {
- /**
- * @todo Properly handle characters encoded as surrogate pairs.
- */
- $charCode = (ord($string[$i]) << 8) | ord($string[++$i]);
- /* This could probably be optimized a bit with a binary search...
- */
- if (isset($this->_charWidths[$charCode])) {
- $score++;
- }
- }
- return $score / $charCount;
- }
-
- /**
- * Returns the widths of the Chars.
- *
- * The widths are expressed in the font's glyph space. You are responsible
- * for converting to user space as necessary. See {@link unitsPerEm()}.
- *
- * See also {@link widthForChar()}.
- *
- * @param array &$glyphNumbers Array of glyph numbers.
- * @return array Array of glyph widths (integers).
- */
- public function widthsForChars($charCodes)
- {
- $widths = array();
- foreach ($charCodes as $key => $charCode) {
- if (!isset($this->_charWidths[$charCode])) {
- $widths[$key] = $this->_missingCharWidth;
- } else {
- $widths[$key] = $this->_charWidths[$charCode];
- }
- }
- return $widths;
- }
-
- /**
- * Returns the width of the character.
- *
- * Like {@link widthsForChars()} but used for one char at a time.
- *
- * @param integer $charCode
- * @return integer
- */
- public function widthForChar($charCode)
- {
- if (!isset($this->_charWidths[$charCode])) {
- return $this->_missingCharWidth;
- }
- return $this->_charWidths[$charCode];
- }
-
- /**
- * Returns the widths of the glyphs.
- *
- * @param array &$glyphNumbers Array of glyph numbers.
- * @return array Array of glyph widths (integers).
- * @throws Zend_Pdf_Exception
- */
- public function widthsForGlyphs($glyphNumbers)
- {
- /**
- * CIDFont object is not actually a font. It does not have an Encoding entry,
- * it cannot be listed in the Font subdictionary of a resource dictionary, and
- * it cannot be used as the operand of the Tf operator.
- *
- * Throw an exception.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators');
- }
-
- /**
- * Returns the width of the glyph.
- *
- * Like {@link widthsForGlyphs()} but used for one glyph at a time.
- *
- * @param integer $glyphNumber
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function widthForGlyph($glyphNumber)
- {
- /**
- * CIDFont object is not actually a font. It does not have an Encoding entry,
- * it cannot be listed in the Font subdictionary of a resource dictionary, and
- * it cannot be used as the operand of the Tf operator.
- *
- * Throw an exception.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators');
- }
-
- /**
- * Convert string to the font encoding.
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- * @throws Zend_Pdf_Exception
- * */
- public function encodeString($string, $charEncoding)
- {
- /**
- * CIDFont object is not actually a font. It does not have an Encoding entry,
- * it cannot be listed in the Font subdictionary of a resource dictionary, and
- * it cannot be used as the operand of the Tf operator.
- *
- * Throw an exception.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators');
- }
-
- /**
- * Convert string from the font encoding.
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- * @throws Zend_Pdf_Exception
- */
- public function decodeString($string, $charEncoding)
- {
- /**
- * CIDFont object is not actually a font. It does not have an Encoding entry,
- * it cannot be listed in the Font subdictionary of a resource dictionary, and
- * it cannot be used as the operand of the Tf operator.
- *
- * Throw an exception.
- */
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('CIDFont PDF objects could not be used as the operand of the text drawing operators');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/CidFont/TrueType.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/CidFont/TrueType.php
deleted file mode 100644
index b6bf04a58..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/CidFont/TrueType.php
+++ /dev/null
@@ -1,88 +0,0 @@
-_fontType = Zend_Pdf_Font::TYPE_CIDFONT_TYPE_2;
-
- $this->_resource->Subtype = new Zend_Pdf_Element_Name('CIDFontType2');
-
- $fontDescriptor = Zend_Pdf_Resource_Font_FontDescriptor::factory($this, $fontParser, $embeddingOptions);
- $this->_resource->FontDescriptor = $this->_objectFactory->newObject($fontDescriptor);
-
- /* Prepare CIDToGIDMap */
- // Initialize 128K string of null characters (65536 2 byte integers)
- $cidToGidMapData = str_repeat("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 8192);
- // Fill the index
- $charGlyphs = $this->_cmap->getCoveredCharactersGlyphs();
- foreach ($charGlyphs as $charCode => $glyph) {
- $cidToGidMapData[$charCode*2 ] = chr($glyph >> 8);
- $cidToGidMapData[$charCode*2 + 1] = chr($glyph & 0xFF);
- }
- // Store CIDToGIDMap within compressed stream object
- $cidToGidMap = $this->_objectFactory->newStreamObject($cidToGidMapData);
- $cidToGidMap->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode');
- $this->_resource->CIDToGIDMap = $cidToGidMap;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Extracted.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Extracted.php
deleted file mode 100644
index f927eeac5..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Extracted.php
+++ /dev/null
@@ -1,274 +0,0 @@
-_objectFactory = $fontDictionary->getFactory();
- $this->_resource = $fontDictionary;
-
- if ($fontDictionary->Encoding !== null) {
- $this->_encoding = $fontDictionary->Encoding->value;
- }
-
- switch ($fontDictionary->Subtype->value) {
- case 'Type0':
- // Composite type 0 font
- if (count($fontDictionary->DescendantFonts->items) != 1) {
- // Multiple descendant fonts are not supported
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::TYPE_NOT_SUPPORTED);
- }
-
- $fontDictionaryIterator = $fontDictionary->DescendantFonts->items->getIterator();
- $fontDictionaryIterator->rewind();
- $descendantFont = $fontDictionaryIterator->current();
- $fontDescriptor = $descendantFont->FontDescriptor;
- break;
-
- case 'Type1':
- if ($fontDictionary->FontDescriptor === null) {
- // That's one of the standard fonts
- $standardFont = Zend_Pdf_Font::fontWithName($fontDictionary->BaseFont->value);
-
- $this->_fontNames = $standardFont->getFontNames();
- $this->_isBold = $standardFont->isBold();
- $this->_isItalic = $standardFont->isItalic();
- $this->_isMonospace = $standardFont->isMonospace();
- $this->_underlinePosition = $standardFont->getUnderlinePosition();
- $this->_underlineThickness = $standardFont->getUnderlineThickness();
- $this->_strikePosition = $standardFont->getStrikePosition();
- $this->_strikeThickness = $standardFont->getStrikeThickness();
- $this->_unitsPerEm = $standardFont->getUnitsPerEm();
- $this->_ascent = $standardFont->getAscent();
- $this->_descent = $standardFont->getDescent();
- $this->_lineGap = $standardFont->getLineGap();
-
- return;
- }
-
- $fontDescriptor = $fontDictionary->FontDescriptor;
- break;
-
- case 'TrueType':
- $fontDescriptor = $fontDictionary->FontDescriptor;
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::TYPE_NOT_SUPPORTED);
- }
-
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] = iconv('UTF-8', 'UTF-16BE', $fontDictionary->BaseFont->value);
-
- $this->_isBold = false; // this property is actually not used anywhere
- $this->_isItalic = ( ($fontDescriptor->Flags->value & (1 << 6)) != 0 ); // Bit-7 is set
- $this->_isMonospace = ( ($fontDescriptor->Flags->value & (1 << 0)) != 0 ); // Bit-1 is set
- $this->_underlinePosition = null; // Can't be extracted
- $this->_underlineThickness = null; // Can't be extracted
- $this->_strikePosition = null; // Can't be extracted
- $this->_strikeThickness = null; // Can't be extracted
- $this->_unitsPerEm = null; // Can't be extracted
- $this->_ascent = $fontDescriptor->Ascent->value;
- $this->_descent = $fontDescriptor->Descent->value;
- $this->_lineGap = null; // Can't be extracted
- }
-
- /**
- * Returns an array of glyph numbers corresponding to the Unicode characters.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumberForCharacter()}.
- *
- * @param array $characterCodes Array of Unicode character codes (code points).
- * @return array Array of glyph numbers.
- */
- public function glyphNumbersForCharacters($characterCodes)
- {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::OPERATION_NOT_SUPPORTED);
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::OPERATION_NOT_SUPPORTED);
- }
-
- /**
- * Returns a number between 0 and 1 inclusive that indicates the percentage
- * of characters in the string which are covered by glyphs in this font.
- *
- * Since no one font will contain glyphs for the entire Unicode character
- * range, this method can be used to help locate a suitable font when the
- * actual contents of the string are not known.
- *
- * Note that some fonts lie about the characters they support. Additionally,
- * fonts don't usually contain glyphs for control characters such as tabs
- * and line breaks, so it is rare that you will get back a full 1.0 score.
- * The resulting value should be considered informational only.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source text.
- * If omitted, uses 'current locale'.
- * @return float
- */
- public function getCoveredPercentage($string, $charEncoding = '')
- {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::OPERATION_NOT_SUPPORTED);
- }
-
- /**
- * Returns the widths of the glyphs.
- *
- * The widths are expressed in the font's glyph space. You are responsible
- * for converting to user space as necessary. See {@link unitsPerEm()}.
- *
- * See also {@link widthForGlyph()}.
- *
- * @param array $glyphNumbers Array of glyph numbers.
- * @return array Array of glyph widths (integers).
- * @throws Zend_Pdf_Exception
- */
- public function widthsForGlyphs($glyphNumbers)
- {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::OPERATION_NOT_SUPPORTED);
- }
-
- /**
- * Returns the width of the glyph.
- *
- * Like {@link widthsForGlyphs()} but used for one glyph at a time.
- *
- * @param integer $glyphNumber
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function widthForGlyph($glyphNumber)
- {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::OPERATION_NOT_SUPPORTED);
- }
-
- /**
- * Convert string to the font encoding.
- *
- * The method is used to prepare string for text drawing operators
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- */
- public function encodeString($string, $charEncoding)
- {
- if ($this->_encoding == 'Identity-H') {
- return iconv($charEncoding, 'UTF-16BE', $string);
- }
-
- if ($this->_encoding == 'WinAnsiEncoding') {
- return iconv($charEncoding, 'CP1252//IGNORE', $string);
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::ENCODING_NOT_SUPPORTED);
- }
-
- /**
- * Convert string from the font encoding.
- *
- * The method is used to convert strings retrieved from existing content streams
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- */
- public function decodeString($string, $charEncoding)
- {
- if ($this->_encoding == 'Identity-H') {
- return iconv('UTF-16BE', $charEncoding, $string);
- }
-
- if ($this->_encoding == 'WinAnsiEncoding') {
- return iconv('CP1252', $charEncoding, $string);
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(self::ENCODING_NOT_SUPPORTED);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/FontDescriptor.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/FontDescriptor.php
deleted file mode 100644
index 8687d55e8..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/FontDescriptor.php
+++ /dev/null
@@ -1,204 +0,0 @@
-Type = new Zend_Pdf_Element_Name('FontDescriptor');
- $fontDescriptor->FontName = new Zend_Pdf_Element_Name($font->getResource()->BaseFont->value);
-
- /* The font flags value is a bitfield that describes the stylistic
- * attributes of the font. We will set as many of the bits as can be
- * determined from the font parser.
- */
- $flags = 0;
- if ($fontParser->isMonospaced) { // bit 1: FixedPitch
- $flags |= 1 << 0;
- }
- if ($fontParser->isSerifFont) { // bit 2: Serif
- $flags |= 1 << 1;
- }
- if (! $fontParser->isAdobeLatinSubset) { // bit 3: Symbolic
- $flags |= 1 << 2;
- }
- if ($fontParser->isScriptFont) { // bit 4: Script
- $flags |= 1 << 3;
- }
- if ($fontParser->isAdobeLatinSubset) { // bit 6: Nonsymbolic
- $flags |= 1 << 5;
- }
- if ($fontParser->isItalic) { // bit 7: Italic
- $flags |= 1 << 6;
- }
- // bits 17-19: AllCap, SmallCap, ForceBold; not available
- $fontDescriptor->Flags = new Zend_Pdf_Element_Numeric($flags);
-
- $fontBBox = array(new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->xMin)),
- new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->yMin)),
- new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->xMax)),
- new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->yMax)));
- $fontDescriptor->FontBBox = new Zend_Pdf_Element_Array($fontBBox);
-
- $fontDescriptor->ItalicAngle = new Zend_Pdf_Element_Numeric($fontParser->italicAngle);
-
- $fontDescriptor->Ascent = new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->ascent));
- $fontDescriptor->Descent = new Zend_Pdf_Element_Numeric($font->toEmSpace($fontParser->descent));
-
- $fontDescriptor->CapHeight = new Zend_Pdf_Element_Numeric($fontParser->capitalHeight);
- /**
- * The vertical stem width is not yet extracted from the OpenType font
- * file. For now, record zero which is interpreted as 'unknown'.
- * @todo Calculate value for StemV.
- */
- $fontDescriptor->StemV = new Zend_Pdf_Element_Numeric(0);
-
- $fontDescriptor->MissingWidth = new Zend_Pdf_Element_Numeric($fontParser->glyphWidths[0]);
-
- /* Set up font embedding. This is where the actual font program itself
- * is embedded within the PDF document.
- *
- * Note that it is not requried that fonts be embedded within the PDF
- * document to use them. If the recipient of the PDF has the font
- * installed on their computer, they will see the correct fonts in the
- * document. If they don't, the PDF viewer will substitute or synthesize
- * a replacement.
- *
- * There are several guidelines for font embedding:
- *
- * First, the developer might specifically request not to embed the font.
- */
- if (!($embeddingOptions & Zend_Pdf_Font::EMBED_DONT_EMBED)) {
-
- /* Second, the font author may have set copyright bits that prohibit
- * the font program from being embedded. Yes this is controversial,
- * but it's the rules:
- * http://partners.adobe.com/public/developer/en/acrobat/sdk/FontPolicies.pdf
- *
- * To keep the developer in the loop, and to prevent surprising bug
- * reports of "your PDF doesn't have the right fonts," throw an
- * exception if the font cannot be embedded.
- */
- if (! $fontParser->isEmbeddable) {
- /* This exception may be suppressed if the developer decides that
- * it's not a big deal that the font program can't be embedded.
- */
- if (!($embeddingOptions & Zend_Pdf_Font::EMBED_SUPPRESS_EMBED_EXCEPTION)) {
- $message = 'This font cannot be embedded in the PDF document. If you would like to use '
- . 'it anyway, you must pass Zend_Pdf_Font::EMBED_SUPPRESS_EMBED_EXCEPTION '
- . 'in the $options parameter of the font constructor.';
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception($message, Zend_Pdf_Exception::FONT_CANT_BE_EMBEDDED);
- }
-
- } else {
- /* Otherwise, the default behavior is to embed all custom fonts.
- */
- /* This section will change soon to a stream object data
- * provider model so that we don't have to keep a copy of the
- * entire font in memory.
- *
- * We also cannot build font subsetting until the data provider
- * model is in place.
- */
- $fontFile = $fontParser->getDataSource()->readAllBytes();
- $fontFileObject = $font->getFactory()->newStreamObject($fontFile);
- $fontFileObject->dictionary->Length1 = new Zend_Pdf_Element_Numeric(strlen($fontFile));
- if (!($embeddingOptions & Zend_Pdf_Font::EMBED_DONT_COMPRESS)) {
- /* Compress the font file using Flate. This generally cuts file
- * sizes by about half!
- */
- $fontFileObject->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode');
- }
- if ($fontParser instanceof Zend_Pdf_FileParser_Font_OpenType_Type1 /* not implemented now */) {
- $fontDescriptor->FontFile = $fontFileObject;
- } else if ($fontParser instanceof Zend_Pdf_FileParser_Font_OpenType_TrueType) {
- $fontDescriptor->FontFile2 = $fontFileObject;
- } else {
- $fontDescriptor->FontFile3 = $fontFileObject;
- }
- }
- }
-
- return $fontDescriptor;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple.php
deleted file mode 100644
index f72b2bf64..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple.php
+++ /dev/null
@@ -1,283 +0,0 @@
-_resource->Encoding = new Zend_Pdf_Element_Name('WinAnsiEncoding');
- }
-
- /**
- * Returns an array of glyph numbers corresponding to the Unicode characters.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumberForCharacter()}.
- *
- * @param array $characterCodes Array of Unicode character codes (code points).
- * @return array Array of glyph numbers.
- */
- public function glyphNumbersForCharacters($characterCodes)
- {
- return $this->_cmap->glyphNumbersForCharacters($characterCodes);
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * If a particular character doesn't exist in this font, the special 'missing
- * character glyph' will be substituted.
- *
- * See also {@link glyphNumbersForCharacters()} which is optimized for bulk
- * operations.
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- return $this->_cmap->glyphNumberForCharacter($characterCode);
- }
-
- /**
- * Returns a number between 0 and 1 inclusive that indicates the percentage
- * of characters in the string which are covered by glyphs in this font.
- *
- * Since no one font will contain glyphs for the entire Unicode character
- * range, this method can be used to help locate a suitable font when the
- * actual contents of the string are not known.
- *
- * Note that some fonts lie about the characters they support. Additionally,
- * fonts don't usually contain glyphs for control characters such as tabs
- * and line breaks, so it is rare that you will get back a full 1.0 score.
- * The resulting value should be considered informational only.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source text.
- * If omitted, uses 'current locale'.
- * @return float
- */
- public function getCoveredPercentage($string, $charEncoding = '')
- {
- /* Convert the string to UTF-16BE encoding so we can match the string's
- * character codes to those found in the cmap.
- */
- if ($charEncoding != 'UTF-16BE') {
- if (PHP_OS != 'AIX') { // AIX doesnt know what UTF-16BE is
- $string = iconv($charEncoding, 'UTF-16BE', $string);
- }
- }
-
- $charCount = (PHP_OS != 'AIX') ? iconv_strlen($string, 'UTF-16BE') : strlen($string);
- if ($charCount == 0) {
- return 0;
- }
-
- /* Fetch the covered character code list from the font's cmap.
- */
- $coveredCharacters = $this->_cmap->getCoveredCharacters();
-
- /* Calculate the score by doing a lookup for each character.
- */
- $score = 0;
- $maxIndex = strlen($string);
- for ($i = 0; $i < $maxIndex; $i++) {
- /**
- * @todo Properly handle characters encoded as surrogate pairs.
- */
- $charCode = (ord($string[$i]) << 8) | ord($string[++$i]);
- /* This could probably be optimized a bit with a binary search...
- */
- if (in_array($charCode, $coveredCharacters)) {
- $score++;
- }
- }
- return $score / $charCount;
- }
-
- /**
- * Returns the widths of the glyphs.
- *
- * The widths are expressed in the font's glyph space. You are responsible
- * for converting to user space as necessary. See {@link unitsPerEm()}.
- *
- * See also {@link widthForGlyph()}.
- *
- * @param array &$glyphNumbers Array of glyph numbers.
- * @return array Array of glyph widths (integers).
- */
- public function widthsForGlyphs($glyphNumbers)
- {
- $widths = array();
- foreach ($glyphNumbers as $key => $glyphNumber) {
- if (!isset($this->_glyphWidths[$glyphNumber])) {
- $widths[$key] = $this->_missingGlyphWidth;
- } else {
- $widths[$key] = $this->_glyphWidths[$glyphNumber];
- }
- }
- return $widths;
- }
-
- /**
- * Returns the width of the glyph.
- *
- * Like {@link widthsForGlyphs()} but used for one glyph at a time.
- *
- * @param integer $glyphNumber
- * @return integer
- */
- public function widthForGlyph($glyphNumber)
- {
- if (!isset($this->_glyphWidths[$glyphNumber])) {
- return $this->_missingGlyphWidth;
- }
- return $this->_glyphWidths[$glyphNumber];
- }
-
- /**
- * Convert string to the font encoding.
- *
- * The method is used to prepare string for text drawing operators
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- */
- public function encodeString($string, $charEncoding)
- {
- if (PHP_OS == 'AIX') {
- return $string; // returning here b/c AIX doesnt know what CP1252 is
- }
-
- return iconv($charEncoding, 'CP1252//IGNORE', $string);
- }
-
- /**
- * Convert string from the font encoding.
- *
- * The method is used to convert strings retrieved from existing content streams
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- */
- public function decodeString($string, $charEncoding)
- {
- return iconv('CP1252', $charEncoding, $string);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Parsed.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Parsed.php
deleted file mode 100644
index 8c6bcf2b9..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Parsed.php
+++ /dev/null
@@ -1,105 +0,0 @@
-parse();
-
- /* Object properties */
-
- $this->_fontNames = $fontParser->names;
-
- $this->_isBold = $fontParser->isBold;
- $this->_isItalic = $fontParser->isItalic;
- $this->_isMonospaced = $fontParser->isMonospaced;
-
- $this->_underlinePosition = $fontParser->underlinePosition;
- $this->_underlineThickness = $fontParser->underlineThickness;
- $this->_strikePosition = $fontParser->strikePosition;
- $this->_strikeThickness = $fontParser->strikeThickness;
-
- $this->_unitsPerEm = $fontParser->unitsPerEm;
-
- $this->_ascent = $fontParser->ascent;
- $this->_descent = $fontParser->descent;
- $this->_lineGap = $fontParser->lineGap;
-
- $this->_glyphWidths = $fontParser->glyphWidths;
- $this->_missingGlyphWidth = $this->_glyphWidths[0];
-
-
- $this->_cmap = $fontParser->cmap;
-
-
- /* Resource dictionary */
-
- $baseFont = $this->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8');
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name($baseFont);
-
- $this->_resource->FirstChar = new Zend_Pdf_Element_Numeric(0);
- $this->_resource->LastChar = new Zend_Pdf_Element_Numeric(count($this->_glyphWidths) - 1);
-
- /* Now convert the scalar glyph widths to Zend_Pdf_Element_Numeric objects.
- */
- $pdfWidths = array();
- foreach ($this->_glyphWidths as $width) {
- $pdfWidths[] = new Zend_Pdf_Element_Numeric($this->toEmSpace($width));
- }
- /* Create the Zend_Pdf_Element_Array object and add it to the font's
- * object factory and resource dictionary.
- */
- $widthsArrayElement = new Zend_Pdf_Element_Array($pdfWidths);
- $widthsObject = $this->_objectFactory->newObject($widthsArrayElement);
- $this->_resource->Widths = $widthsObject;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php
deleted file mode 100644
index 41b3e9968..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Parsed/TrueType.php
+++ /dev/null
@@ -1,67 +0,0 @@
-_fontType = Zend_Pdf_Font::TYPE_TRUETYPE;
-
- $this->_resource->Subtype = new Zend_Pdf_Element_Name('TrueType');
-
- $fontDescriptor = Zend_Pdf_Resource_Font_FontDescriptor::factory($this, $fontParser, $embeddingOptions);
- $this->_resource->FontDescriptor = $this->_objectFactory->newObject($fontDescriptor);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard.php
deleted file mode 100644
index 2779319dd..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard.php
+++ /dev/null
@@ -1,82 +0,0 @@
-
- * Courier - {@link Zend_Pdf_Resource_Font_Simple_Standard_Courier}
- * Courier-Bold - {@link Zend_Pdf_Resource_Font_Simple_Standard_CourierBold}
- * Courier-Oblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_CourierOblique}
- * Courier-BoldOblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_CourierBoldOblique}
- * Helvetica - {@link Zend_Pdf_Resource_Font_Simple_Standard_Helvetica}
- * Helvetica-Bold - {@link Zend_Pdf_Resource_Font_Simple_Standard_HelveticaBold}
- * Helvetica-Oblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_HelveticaOblique}
- * Helvetica-BoldOblique - {@link Zend_Pdf_Resource_Font_Simple_Standard_HelveticaBoldOblique}
- * Symbol - {@link Zend_Pdf_Resource_Font_Simple_Standard_Symbol}
- * Times - {@link Zend_Pdf_Resource_Font_Simple_Standard_Times}
- * Times-Bold - {@link Zend_Pdf_Resource_Font_Simple_Standard_TimesBold}
- * Times-Italic - {@link Zend_Pdf_Resource_Font_Simple_Standard_TimesItalic}
- * Times-BoldItalic - {@link Zend_Pdf_Resource_Font_Simple_Standard_TimesBoldItalic}
- * ZapfDingbats - {@link Zend_Pdf_Resource_Font_Simple_Standard_ZapfDingbats}
- *
- *
- * Font objects should be normally be obtained from the factory methods
- * {@link Zend_Pdf_Font::fontWithName} and {@link Zend_Pdf_Font::fontWithPath}.
- *
- * @package Zend_Pdf
- * @subpackage Fonts
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-abstract class Zend_Pdf_Resource_Font_Simple_Standard extends Zend_Pdf_Resource_Font_Simple
-{
- /**** Public Interface ****/
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor
- */
- public function __construct()
- {
- $this->_fontType = Zend_Pdf_Font::TYPE_STANDARD;
-
- parent::__construct();
- $this->_resource->Subtype = new Zend_Pdf_Element_Name('Type1');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php
deleted file mode 100644
index d5dc99f92..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Courier.php
+++ /dev/null
@@ -1,295 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x32\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00"
- . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00"
- . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00"
- . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00"
- . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00"
- . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00"
- . "\x64\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x20\x00"
- . "\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72";
-
- $this->_isBold = false;
- $this->_isItalic = false;
- $this->_isMonospaced = true;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 629;
- $this->_descent = -157;
- $this->_lineGap = 414;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258,
- 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258,
- 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258,
- 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258,
- 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258,
- 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258,
- 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258,
- 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258,
- 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258,
- 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258,
- 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258,
- 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258,
- 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258,
- 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258,
- 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258,
- 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258,
- 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258,
- 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258,
- 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258,
- 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258,
- 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258,
- 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258,
- 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258,
- 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258,
- 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258,
- 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258,
- 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258,
- 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258,
- 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258,
- 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258,
- 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258,
- 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258,
- 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258,
- 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258,
- 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258,
- 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258,
- 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258,
- 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258,
- 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258,
- 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258,
- 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258,
- 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258,
- 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258,
- 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258,
- 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258,
- 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258,
- 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258,
- 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258,
- 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258,
- 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258,
- 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258,
- 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258,
- 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258,
- 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258,
- 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258,
- 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258,
- 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258,
- 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258,
- 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258,
- 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258,
- 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258,
- 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258,
- 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258,
- 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258,
- 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258,
- 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258,
- 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258,
- 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258,
- 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258,
- 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258,
- 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258,
- 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258,
- 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258,
- 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258,
- 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258,
- 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258,
- 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258,
- 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258,
- 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php
deleted file mode 100644
index 8025ae961..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierBold.php
+++ /dev/null
@@ -1,296 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00"
- . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00"
- . "\x76\x00\x65\x00\x64\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x34\x00\x38";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00"
- . "\x42\x00\x6f\x00\x6c\x00\x64\x00\x20\x00\x42\x00\x6f\x00\x6c\x00"
- . "\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00"
- . "\x42\x00\x6f\x00\x6c\x00\x64";
-
- $this->_isBold = true;
- $this->_isItalic = false;
- $this->_isMonospaced = true;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 629;
- $this->_descent = -157;
- $this->_lineGap = 414;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258,
- 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258,
- 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258,
- 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258,
- 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258,
- 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258,
- 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258,
- 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258,
- 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258,
- 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258,
- 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258,
- 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258,
- 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258,
- 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258,
- 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258,
- 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258,
- 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258,
- 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258,
- 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258,
- 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258,
- 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258,
- 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258,
- 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258,
- 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258,
- 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258,
- 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258,
- 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258,
- 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258,
- 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258,
- 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258,
- 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258,
- 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258,
- 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258,
- 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258,
- 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258,
- 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258,
- 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258,
- 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258,
- 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258,
- 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258,
- 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258,
- 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258,
- 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258,
- 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258,
- 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258,
- 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258,
- 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258,
- 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258,
- 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258,
- 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258,
- 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258,
- 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258,
- 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258,
- 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258,
- 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258,
- 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258,
- 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258,
- 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258,
- 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258,
- 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258,
- 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258,
- 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258,
- 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258,
- 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258,
- 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258,
- 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258,
- 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258,
- 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258,
- 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258,
- 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258,
- 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258,
- 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258,
- 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258,
- 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258,
- 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258,
- 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258,
- 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258,
- 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258,
- 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier-Bold');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php
deleted file mode 100644
index b65ab1a85..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierBoldOblique.php
+++ /dev/null
@@ -1,297 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00"
- . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00"
- . "\x76\x00\x65\x00\x64\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x34\x00\x39";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00"
- . "\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00\x6c\x00\x69\x00"
- . "\x71\x00\x75\x00\x65\x00\x20\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00"
- . "\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00\x6c\x00\x69\x00"
- . "\x71\x00\x75\x00\x65";
-
- $this->_isBold = true;
- $this->_isItalic = true;
- $this->_isMonospaced = true;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 629;
- $this->_descent = -157;
- $this->_lineGap = 414;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258,
- 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258,
- 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258,
- 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258,
- 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258,
- 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258,
- 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258,
- 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258,
- 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258,
- 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258,
- 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258,
- 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258,
- 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258,
- 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258,
- 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258,
- 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258,
- 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258,
- 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258,
- 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258,
- 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258,
- 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258,
- 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258,
- 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258,
- 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258,
- 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258,
- 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258,
- 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258,
- 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258,
- 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258,
- 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258,
- 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258,
- 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258,
- 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258,
- 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258,
- 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258,
- 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258,
- 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258,
- 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258,
- 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258,
- 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258,
- 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258,
- 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258,
- 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258,
- 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258,
- 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258,
- 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258,
- 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258,
- 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258,
- 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258,
- 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258,
- 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258,
- 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258,
- 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258,
- 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258,
- 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258,
- 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258,
- 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258,
- 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258,
- 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258,
- 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258,
- 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258,
- 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258,
- 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258,
- 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258,
- 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258,
- 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258,
- 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258,
- 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258,
- 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258,
- 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258,
- 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258,
- 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258,
- 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258,
- 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258,
- 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258,
- 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258,
- 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258,
- 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258,
- 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier-BoldOblique');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php
deleted file mode 100644
index 90e632c2c..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/CourierOblique.php
+++ /dev/null
@@ -1,297 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x30\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x31\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x32\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00"
- . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00"
- . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00"
- . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00"
- . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00"
- . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00"
- . "\x64\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x31";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00"
- . "\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00\x65\x00\x20\x00"
- . "\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x33\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x43\x00\x6f\x00\x75\x00\x72\x00\x69\x00\x65\x00\x72\x00\x2d\x00"
- . "\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00\x65";
-
- $this->_isBold = false;
- $this->_isItalic = true;
- $this->_isMonospaced = true;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 629;
- $this->_descent = -157;
- $this->_lineGap = 414;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0258, 0x02 => 0x0258, 0x03 => 0x0258,
- 0x04 => 0x0258, 0x05 => 0x0258, 0x06 => 0x0258, 0x07 => 0x0258,
- 0x08 => 0x0258, 0x09 => 0x0258, 0x0a => 0x0258, 0x0b => 0x0258,
- 0x0c => 0x0258, 0x0d => 0x0258, 0x0e => 0x0258, 0x0f => 0x0258,
- 0x10 => 0x0258, 0x11 => 0x0258, 0x12 => 0x0258, 0x13 => 0x0258,
- 0x14 => 0x0258, 0x15 => 0x0258, 0x16 => 0x0258, 0x17 => 0x0258,
- 0x18 => 0x0258, 0x19 => 0x0258, 0x1a => 0x0258, 0x1b => 0x0258,
- 0x1c => 0x0258, 0x1d => 0x0258, 0x1e => 0x0258, 0x1f => 0x0258,
- 0x20 => 0x0258, 0x21 => 0x0258, 0x22 => 0x0258, 0x23 => 0x0258,
- 0x24 => 0x0258, 0x25 => 0x0258, 0x26 => 0x0258, 0x27 => 0x0258,
- 0x28 => 0x0258, 0x29 => 0x0258, 0x2a => 0x0258, 0x2b => 0x0258,
- 0x2c => 0x0258, 0x2d => 0x0258, 0x2e => 0x0258, 0x2f => 0x0258,
- 0x30 => 0x0258, 0x31 => 0x0258, 0x32 => 0x0258, 0x33 => 0x0258,
- 0x34 => 0x0258, 0x35 => 0x0258, 0x36 => 0x0258, 0x37 => 0x0258,
- 0x38 => 0x0258, 0x39 => 0x0258, 0x3a => 0x0258, 0x3b => 0x0258,
- 0x3c => 0x0258, 0x3d => 0x0258, 0x3e => 0x0258, 0x3f => 0x0258,
- 0x40 => 0x0258, 0x41 => 0x0258, 0x42 => 0x0258, 0x43 => 0x0258,
- 0x44 => 0x0258, 0x45 => 0x0258, 0x46 => 0x0258, 0x47 => 0x0258,
- 0x48 => 0x0258, 0x49 => 0x0258, 0x4a => 0x0258, 0x4b => 0x0258,
- 0x4c => 0x0258, 0x4d => 0x0258, 0x4e => 0x0258, 0x4f => 0x0258,
- 0x50 => 0x0258, 0x51 => 0x0258, 0x52 => 0x0258, 0x53 => 0x0258,
- 0x54 => 0x0258, 0x55 => 0x0258, 0x56 => 0x0258, 0x57 => 0x0258,
- 0x58 => 0x0258, 0x59 => 0x0258, 0x5a => 0x0258, 0x5b => 0x0258,
- 0x5c => 0x0258, 0x5d => 0x0258, 0x5e => 0x0258, 0x5f => 0x0258,
- 0x60 => 0x0258, 0x61 => 0x0258, 0x62 => 0x0258, 0x63 => 0x0258,
- 0x64 => 0x0258, 0x65 => 0x0258, 0x66 => 0x0258, 0x67 => 0x0258,
- 0x68 => 0x0258, 0x69 => 0x0258, 0x6a => 0x0258, 0x6b => 0x0258,
- 0x6c => 0x0258, 0x6d => 0x0258, 0x6e => 0x0258, 0x6f => 0x0258,
- 0x70 => 0x0258, 0x71 => 0x0258, 0x72 => 0x0258, 0x73 => 0x0258,
- 0x74 => 0x0258, 0x75 => 0x0258, 0x76 => 0x0258, 0x77 => 0x0258,
- 0x78 => 0x0258, 0x79 => 0x0258, 0x7a => 0x0258, 0x7b => 0x0258,
- 0x7c => 0x0258, 0x7d => 0x0258, 0x7e => 0x0258, 0x7f => 0x0258,
- 0x80 => 0x0258, 0x81 => 0x0258, 0x82 => 0x0258, 0x83 => 0x0258,
- 0x84 => 0x0258, 0x85 => 0x0258, 0x86 => 0x0258, 0x87 => 0x0258,
- 0x88 => 0x0258, 0x89 => 0x0258, 0x8a => 0x0258, 0x8b => 0x0258,
- 0x8c => 0x0258, 0x8d => 0x0258, 0x8e => 0x0258, 0x8f => 0x0258,
- 0x90 => 0x0258, 0x91 => 0x0258, 0x92 => 0x0258, 0x93 => 0x0258,
- 0x94 => 0x0258, 0x95 => 0x0258, 0x96 => 0x0258, 0x97 => 0x0258,
- 0x98 => 0x0258, 0x99 => 0x0258, 0x9a => 0x0258, 0x9b => 0x0258,
- 0x9c => 0x0258, 0x9d => 0x0258, 0x9e => 0x0258, 0x9f => 0x0258,
- 0xa0 => 0x0258, 0xa1 => 0x0258, 0xa2 => 0x0258, 0xa3 => 0x0258,
- 0xa4 => 0x0258, 0xa5 => 0x0258, 0xa6 => 0x0258, 0xa7 => 0x0258,
- 0xa8 => 0x0258, 0xa9 => 0x0258, 0xaa => 0x0258, 0xab => 0x0258,
- 0xac => 0x0258, 0xad => 0x0258, 0xae => 0x0258, 0xaf => 0x0258,
- 0xb0 => 0x0258, 0xb1 => 0x0258, 0xb2 => 0x0258, 0xb3 => 0x0258,
- 0xb4 => 0x0258, 0xb5 => 0x0258, 0xb6 => 0x0258, 0xb7 => 0x0258,
- 0xb8 => 0x0258, 0xb9 => 0x0258, 0xba => 0x0258, 0xbb => 0x0258,
- 0xbc => 0x0258, 0xbd => 0x0258, 0xbe => 0x0258, 0xbf => 0x0258,
- 0xc0 => 0x0258, 0xc1 => 0x0258, 0xc2 => 0x0258, 0xc3 => 0x0258,
- 0xc4 => 0x0258, 0xc5 => 0x0258, 0xc6 => 0x0258, 0xc7 => 0x0258,
- 0xc8 => 0x0258, 0xc9 => 0x0258, 0xca => 0x0258, 0xcb => 0x0258,
- 0xcc => 0x0258, 0xcd => 0x0258, 0xce => 0x0258, 0xcf => 0x0258,
- 0xd0 => 0x0258, 0xd1 => 0x0258, 0xd2 => 0x0258, 0xd3 => 0x0258,
- 0xd4 => 0x0258, 0xd5 => 0x0258, 0xd6 => 0x0258, 0xd7 => 0x0258,
- 0xd8 => 0x0258, 0xd9 => 0x0258, 0xda => 0x0258, 0xdb => 0x0258,
- 0xdc => 0x0258, 0xdd => 0x0258, 0xde => 0x0258, 0xdf => 0x0258,
- 0xe0 => 0x0258, 0xe1 => 0x0258, 0xe2 => 0x0258, 0xe3 => 0x0258,
- 0xe4 => 0x0258, 0xe5 => 0x0258, 0xe6 => 0x0258, 0xe7 => 0x0258,
- 0xe8 => 0x0258, 0xe9 => 0x0258, 0xea => 0x0258, 0xeb => 0x0258,
- 0xec => 0x0258, 0xed => 0x0258, 0xee => 0x0258, 0xef => 0x0258,
- 0xf0 => 0x0258, 0xf1 => 0x0258, 0xf2 => 0x0258, 0xf3 => 0x0258,
- 0xf4 => 0x0258, 0xf5 => 0x0258, 0xf6 => 0x0258, 0xf7 => 0x0258,
- 0xf8 => 0x0258, 0xf9 => 0x0258, 0xfa => 0x0258, 0xfb => 0x0258,
- 0xfc => 0x0258, 0xfd => 0x0258, 0xfe => 0x0258, 0xff => 0x0258,
- 0x0100 => 0x0258, 0x0101 => 0x0258, 0x0102 => 0x0258, 0x0103 => 0x0258,
- 0x0104 => 0x0258, 0x0105 => 0x0258, 0x0106 => 0x0258, 0x0107 => 0x0258,
- 0x0108 => 0x0258, 0x0109 => 0x0258, 0x010a => 0x0258, 0x010b => 0x0258,
- 0x010c => 0x0258, 0x010d => 0x0258, 0x010e => 0x0258, 0x010f => 0x0258,
- 0x0110 => 0x0258, 0x0111 => 0x0258, 0x0112 => 0x0258, 0x0113 => 0x0258,
- 0x0114 => 0x0258, 0x0115 => 0x0258, 0x0116 => 0x0258, 0x0117 => 0x0258,
- 0x0118 => 0x0258, 0x0119 => 0x0258, 0x011a => 0x0258, 0x011b => 0x0258,
- 0x011c => 0x0258, 0x011d => 0x0258, 0x011e => 0x0258, 0x011f => 0x0258,
- 0x0120 => 0x0258, 0x0121 => 0x0258, 0x0122 => 0x0258, 0x0123 => 0x0258,
- 0x0124 => 0x0258, 0x0125 => 0x0258, 0x0126 => 0x0258, 0x0127 => 0x0258,
- 0x0128 => 0x0258, 0x0129 => 0x0258, 0x012a => 0x0258, 0x012b => 0x0258,
- 0x012c => 0x0258, 0x012d => 0x0258, 0x012e => 0x0258, 0x012f => 0x0258,
- 0x0130 => 0x0258, 0x0131 => 0x0258, 0x0132 => 0x0258, 0x0133 => 0x0258,
- 0x0134 => 0x0258, 0x0135 => 0x0258, 0x0136 => 0x0258, 0x0137 => 0x0258,
- 0x0138 => 0x0258, 0x0139 => 0x0258, 0x013a => 0x0258, 0x013b => 0x0258,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Courier-Oblique');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php
deleted file mode 100644
index cf081b0b5..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Helvetica.php
+++ /dev/null
@@ -1,305 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00"
- . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00"
- . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00"
- . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00"
- . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00"
- . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00"
- . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00"
- . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00"
- . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00"
- . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00"
- . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00"
- . "\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x34";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x20\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61";
-
- $this->_isBold = false;
- $this->_isItalic = false;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 718;
- $this->_descent = -207;
- $this->_lineGap = 275;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x0116, 0x03 => 0x0163,
- 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x029b,
- 0x08 => 0xde, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185,
- 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116,
- 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c,
- 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c,
- 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x0116,
- 0x1c => 0x0116, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248,
- 0x20 => 0x022c, 0x21 => 0x03f7, 0x22 => 0x029b, 0x23 => 0x029b,
- 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263,
- 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x01f4,
- 0x2c => 0x029b, 0x2d => 0x022c, 0x2e => 0x0341, 0x2f => 0x02d2,
- 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2,
- 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b,
- 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263,
- 0x3c => 0x0116, 0x3d => 0x0116, 0x3e => 0x0116, 0x3f => 0x01d5,
- 0x40 => 0x022c, 0x41 => 0xde, 0x42 => 0x022c, 0x43 => 0x022c,
- 0x44 => 0x01f4, 0x45 => 0x022c, 0x46 => 0x022c, 0x47 => 0x0116,
- 0x48 => 0x022c, 0x49 => 0x022c, 0x4a => 0xde, 0x4b => 0xde,
- 0x4c => 0x01f4, 0x4d => 0xde, 0x4e => 0x0341, 0x4f => 0x022c,
- 0x50 => 0x022c, 0x51 => 0x022c, 0x52 => 0x022c, 0x53 => 0x014d,
- 0x54 => 0x01f4, 0x55 => 0x0116, 0x56 => 0x022c, 0x57 => 0x01f4,
- 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01f4,
- 0x5c => 0x014e, 0x5d => 0x0104, 0x5e => 0x014e, 0x5f => 0x0248,
- 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7,
- 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c,
- 0x68 => 0xbf, 0x69 => 0x014d, 0x6a => 0x022c, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x01f4, 0x6e => 0x01f4, 0x6f => 0x022c,
- 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x0219,
- 0x74 => 0x015e, 0x75 => 0xde, 0x76 => 0x014d, 0x77 => 0x014d,
- 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172,
- 0x8c => 0x022c, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d,
- 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0xde, 0x93 => 0x0263,
- 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c,
- 0x98 => 0x022c, 0x99 => 0x022c, 0x9a => 0x022c, 0x9b => 0x029b,
- 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x029b, 0x9f => 0x022c,
- 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x01f4, 0xa3 => 0x022c,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2,
- 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x01f4, 0xaf => 0x022c,
- 0xb0 => 0x02d2, 0xb1 => 0xde, 0xb2 => 0x022c, 0xb3 => 0x0263,
- 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x01f4,
- 0xb8 => 0x01f4, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x02d2,
- 0xbc => 0x030a, 0xbd => 0x022c, 0xbe => 0x022c, 0xbf => 0x029b,
- 0xc0 => 0x014d, 0xc1 => 0x01f4, 0xc2 => 0x0263, 0xc3 => 0x029b,
- 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x0283,
- 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x014d, 0xcb => 0x030a,
- 0xcc => 0x029b, 0xcd => 0x029b, 0xce => 0x0248, 0xcf => 0x022c,
- 0xd0 => 0x0263, 0xd1 => 0x01dc, 0xd2 => 0x01f4, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c,
- 0xd8 => 0x01f4, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2,
- 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0104, 0xdf => 0x02e1,
- 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b,
- 0xe4 => 0x014d, 0xe5 => 0x022c, 0xe6 => 0x0263, 0xe7 => 0x0263,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0xde,
- 0xec => 0x013d, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x029b,
- 0xf0 => 0x029b, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0xde,
- 0xf4 => 0x030a, 0xf5 => 0x022c, 0xf6 => 0x022c, 0xf7 => 0x01f4,
- 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x022c, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x022c,
- 0x0100 => 0x0116, 0x0101 => 0x022c, 0x0102 => 0x029b, 0x0103 => 0x022c,
- 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x012b, 0x0107 => 0x029b,
- 0x0108 => 0x022c, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116,
- 0x010c => 0x0116, 0x010d => 0x022c, 0x010e => 0x0342, 0x010f => 0x0225,
- 0x0110 => 0x022c, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b,
- 0x0114 => 0x022c, 0x0115 => 0x022c, 0x0116 => 0x0342, 0x0117 => 0x029b,
- 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x022c,
- 0x011c => 0x02d2, 0x011d => 0x022c, 0x011e => 0x01c5, 0x011f => 0x02d2,
- 0x0120 => 0x014d, 0x0121 => 0x02d2, 0x0122 => 0x022c, 0x0123 => 0x02d2,
- 0x0124 => 0x022c, 0x0125 => 0x029b, 0x0126 => 0x029b, 0x0127 => 0x029b,
- 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116,
- 0x012c => 0x01f4, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x022c,
- 0x0130 => 0x0116, 0x0131 => 0x0248, 0x0132 => 0x022c, 0x0133 => 0x022c,
- 0x0134 => 0x0225, 0x0135 => 0x022c, 0x0136 => 0x022c, 0x0137 => 0x01f4,
- 0x0138 => 0x022c, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php
deleted file mode 100644
index 843139ebc..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBold.php
+++ /dev/null
@@ -1,305 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00"
- . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00"
- . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00"
- . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00"
- . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00"
- . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00"
- . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00"
- . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00"
- . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00"
- . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00"
- . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00"
- . "\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x32";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64\x00\x20\x00\x42\x00"
- . "\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64";
-
- $this->_isBold = true;
- $this->_isItalic = false;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 718;
- $this->_descent = -207;
- $this->_lineGap = 275;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x014d, 0x03 => 0x01da,
- 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x02d2,
- 0x08 => 0x0116, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185,
- 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116,
- 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c,
- 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c,
- 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x014d,
- 0x1c => 0x014d, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248,
- 0x20 => 0x0263, 0x21 => 0x03cf, 0x22 => 0x02d2, 0x23 => 0x02d2,
- 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263,
- 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x022c,
- 0x2c => 0x02d2, 0x2d => 0x0263, 0x2e => 0x0341, 0x2f => 0x02d2,
- 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2,
- 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b,
- 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263,
- 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x0248,
- 0x40 => 0x022c, 0x41 => 0x0116, 0x42 => 0x022c, 0x43 => 0x0263,
- 0x44 => 0x022c, 0x45 => 0x0263, 0x46 => 0x022c, 0x47 => 0x014d,
- 0x48 => 0x0263, 0x49 => 0x0263, 0x4a => 0x0116, 0x4b => 0x0116,
- 0x4c => 0x022c, 0x4d => 0x0116, 0x4e => 0x0379, 0x4f => 0x0263,
- 0x50 => 0x0263, 0x51 => 0x0263, 0x52 => 0x0263, 0x53 => 0x0185,
- 0x54 => 0x022c, 0x55 => 0x014d, 0x56 => 0x0263, 0x57 => 0x022c,
- 0x58 => 0x030a, 0x59 => 0x022c, 0x5a => 0x022c, 0x5b => 0x01f4,
- 0x5c => 0x0185, 0x5d => 0x0118, 0x5e => 0x0185, 0x5f => 0x0248,
- 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7,
- 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c,
- 0x68 => 0xee, 0x69 => 0x01f4, 0x6a => 0x022c, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x0263, 0x6e => 0x0263, 0x6f => 0x022c,
- 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x022c,
- 0x74 => 0x015e, 0x75 => 0x0116, 0x76 => 0x01f4, 0x77 => 0x01f4,
- 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172,
- 0x8c => 0x0263, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d,
- 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x0263,
- 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c,
- 0x98 => 0x022c, 0x99 => 0x0263, 0x9a => 0x022c, 0x9b => 0x029b,
- 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x02d2, 0x9f => 0x022c,
- 0xa0 => 0x02d2, 0xa1 => 0x022c, 0xa2 => 0x022c, 0xa3 => 0x022c,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2,
- 0xa8 => 0x0263, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x022c, 0xaf => 0x022c,
- 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x022c, 0xb3 => 0x0263,
- 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x022c,
- 0xb8 => 0x022c, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x02d2,
- 0xbc => 0x030a, 0xbd => 0x0263, 0xbe => 0x022c, 0xbf => 0x02d2,
- 0xc0 => 0x0185, 0xc1 => 0x022c, 0xc2 => 0x0263, 0xc3 => 0x029b,
- 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x02e7,
- 0xc8 => 0x02d2, 0xc9 => 0x0263, 0xca => 0x014d, 0xcb => 0x030a,
- 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x0248, 0xcf => 0x0263,
- 0xd0 => 0x0263, 0xd1 => 0x01ee, 0xd2 => 0x022c, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c,
- 0xd8 => 0x022c, 0xd9 => 0x0263, 0xda => 0x0263, 0xdb => 0x02d2,
- 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0118, 0xdf => 0x02e1,
- 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b,
- 0xe4 => 0x0185, 0xe5 => 0x0263, 0xe6 => 0x0263, 0xe7 => 0x0263,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0x0116,
- 0xec => 0x0185, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x02d2,
- 0xf0 => 0x02d2, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0x0116,
- 0xf4 => 0x030a, 0xf5 => 0x0263, 0xf6 => 0x022c, 0xf7 => 0x022c,
- 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x0263, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x0263,
- 0x0100 => 0x0116, 0x0101 => 0x0263, 0x0102 => 0x029b, 0x0103 => 0x0263,
- 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x0190, 0x0107 => 0x02d2,
- 0x0108 => 0x0263, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116,
- 0x010c => 0x0116, 0x010d => 0x0263, 0x010e => 0x0342, 0x010f => 0x0225,
- 0x0110 => 0x0263, 0x0111 => 0x0263, 0x0112 => 0x02d2, 0x0113 => 0x029b,
- 0x0114 => 0x022c, 0x0115 => 0x0263, 0x0116 => 0x0342, 0x0117 => 0x029b,
- 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x0263,
- 0x011c => 0x02d2, 0x011d => 0x0263, 0x011e => 0x0225, 0x011f => 0x02d2,
- 0x0120 => 0x0185, 0x0121 => 0x02d2, 0x0122 => 0x0263, 0x0123 => 0x02d2,
- 0x0124 => 0x0263, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2,
- 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116,
- 0x012c => 0x022c, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x0263,
- 0x0130 => 0x014d, 0x0131 => 0x0248, 0x0132 => 0x0263, 0x0133 => 0x0263,
- 0x0134 => 0x0225, 0x0135 => 0x0263, 0x0136 => 0x0263, 0x0137 => 0x01f4,
- 0x0138 => 0x0263, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica-Bold');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php
deleted file mode 100644
index e8fbd0f80..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaBoldOblique.php
+++ /dev/null
@@ -1,308 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00"
- . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00"
- . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00"
- . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00"
- . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00"
- . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00"
- . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00"
- . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00"
- . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00"
- . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00"
- . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00"
- . "\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x33";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00"
- . "\x6c\x00\x69\x00\x71\x00\x75\x00\x65\x00\x20\x00\x42\x00\x6f\x00"
- . "\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x2d\x00\x42\x00\x6f\x00\x6c\x00\x64\x00\x4f\x00\x62\x00"
- . "\x6c\x00\x69\x00\x71\x00\x75\x00\x65";
-
- $this->_isBold = true;
- $this->_isItalic = true;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 718;
- $this->_descent = -207;
- $this->_lineGap = 275;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x014d, 0x03 => 0x01da,
- 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x02d2,
- 0x08 => 0x0116, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185,
- 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116,
- 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c,
- 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c,
- 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x014d,
- 0x1c => 0x014d, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248,
- 0x20 => 0x0263, 0x21 => 0x03cf, 0x22 => 0x02d2, 0x23 => 0x02d2,
- 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263,
- 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x022c,
- 0x2c => 0x02d2, 0x2d => 0x0263, 0x2e => 0x0341, 0x2f => 0x02d2,
- 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2,
- 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b,
- 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263,
- 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x0248,
- 0x40 => 0x022c, 0x41 => 0x0116, 0x42 => 0x022c, 0x43 => 0x0263,
- 0x44 => 0x022c, 0x45 => 0x0263, 0x46 => 0x022c, 0x47 => 0x014d,
- 0x48 => 0x0263, 0x49 => 0x0263, 0x4a => 0x0116, 0x4b => 0x0116,
- 0x4c => 0x022c, 0x4d => 0x0116, 0x4e => 0x0379, 0x4f => 0x0263,
- 0x50 => 0x0263, 0x51 => 0x0263, 0x52 => 0x0263, 0x53 => 0x0185,
- 0x54 => 0x022c, 0x55 => 0x014d, 0x56 => 0x0263, 0x57 => 0x022c,
- 0x58 => 0x030a, 0x59 => 0x022c, 0x5a => 0x022c, 0x5b => 0x01f4,
- 0x5c => 0x0185, 0x5d => 0x0118, 0x5e => 0x0185, 0x5f => 0x0248,
- 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7,
- 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c,
- 0x68 => 0xee, 0x69 => 0x01f4, 0x6a => 0x022c, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x0263, 0x6e => 0x0263, 0x6f => 0x022c,
- 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x022c,
- 0x74 => 0x015e, 0x75 => 0x0116, 0x76 => 0x01f4, 0x77 => 0x01f4,
- 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172,
- 0x8c => 0x0263, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d,
- 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x0263,
- 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c,
- 0x98 => 0x022c, 0x99 => 0x0263, 0x9a => 0x022c, 0x9b => 0x029b,
- 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x02d2, 0x9f => 0x022c,
- 0xa0 => 0x02d2, 0xa1 => 0x022c, 0xa2 => 0x022c, 0xa3 => 0x022c,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2,
- 0xa8 => 0x0263, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x022c, 0xaf => 0x022c,
- 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x022c, 0xb3 => 0x0263,
- 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x022c,
- 0xb8 => 0x022c, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x02d2,
- 0xbc => 0x030a, 0xbd => 0x0263, 0xbe => 0x022c, 0xbf => 0x02d2,
- 0xc0 => 0x0185, 0xc1 => 0x022c, 0xc2 => 0x0263, 0xc3 => 0x029b,
- 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x02e7,
- 0xc8 => 0x02d2, 0xc9 => 0x0263, 0xca => 0x014d, 0xcb => 0x030a,
- 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x0248, 0xcf => 0x0263,
- 0xd0 => 0x0263, 0xd1 => 0x01ee, 0xd2 => 0x022c, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c,
- 0xd8 => 0x022c, 0xd9 => 0x0263, 0xda => 0x0263, 0xdb => 0x02d2,
- 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0118, 0xdf => 0x02e1,
- 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b,
- 0xe4 => 0x0185, 0xe5 => 0x0263, 0xe6 => 0x0263, 0xe7 => 0x0263,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0x0116,
- 0xec => 0x0185, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x02d2,
- 0xf0 => 0x02d2, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0x0116,
- 0xf4 => 0x030a, 0xf5 => 0x0263, 0xf6 => 0x022c, 0xf7 => 0x022c,
- 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x0263, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x0263,
- 0x0100 => 0x0116, 0x0101 => 0x0263, 0x0102 => 0x029b, 0x0103 => 0x0263,
- 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x0190, 0x0107 => 0x02d2,
- 0x0108 => 0x0263, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116,
- 0x010c => 0x0116, 0x010d => 0x0263, 0x010e => 0x0342, 0x010f => 0x0225,
- 0x0110 => 0x0263, 0x0111 => 0x0263, 0x0112 => 0x02d2, 0x0113 => 0x029b,
- 0x0114 => 0x022c, 0x0115 => 0x0263, 0x0116 => 0x0342, 0x0117 => 0x029b,
- 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x0263,
- 0x011c => 0x02d2, 0x011d => 0x0263, 0x011e => 0x0225, 0x011f => 0x02d2,
- 0x0120 => 0x0185, 0x0121 => 0x02d2, 0x0122 => 0x0263, 0x0123 => 0x02d2,
- 0x0124 => 0x0263, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2,
- 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116,
- 0x012c => 0x022c, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x0263,
- 0x0130 => 0x014d, 0x0131 => 0x0248, 0x0132 => 0x0263, 0x0133 => 0x0263,
- 0x0134 => 0x0225, 0x0135 => 0x0263, 0x0136 => 0x0263, 0x0137 => 0x01f4,
- 0x0138 => 0x0263, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica-BoldOblique');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php
deleted file mode 100644
index 532c9b8e2..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/HelveticaOblique.php
+++ /dev/null
@@ -1,307 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00"
- . "\x41\x00\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00"
- . "\x76\x00\x65\x00\x64\x00\x2e\x00\x48\x00\x65\x00\x6c\x00\x76\x00"
- . "\x65\x00\x74\x00\x69\x00\x63\x00\x61\x00\x20\x00\x69\x00\x73\x00"
- . "\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00\x64\x00\x65\x00"
- . "\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00\x66\x00\x20\x00"
- . "\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00\x70\x00\x65\x00"
- . "\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00\x41\x00\x47\x00"
- . "\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00\x72\x00\x20\x00"
- . "\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00\x62\x00\x73\x00"
- . "\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00\x65\x00\x73\x00"
- . "\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x35\x00\x35";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x2d\x00\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00"
- . "\x65\x00\x20\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x48\x00\x65\x00\x6c\x00\x76\x00\x65\x00\x74\x00\x69\x00\x63\x00"
- . "\x61\x00\x2d\x00\x4f\x00\x62\x00\x6c\x00\x69\x00\x71\x00\x75\x00"
- . "\x65";
-
- $this->_isBold = false;
- $this->_isItalic = true;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 718;
- $this->_descent = -207;
- $this->_lineGap = 275;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x0116, 0x03 => 0x0163,
- 0x04 => 0x022c, 0x05 => 0x022c, 0x06 => 0x0379, 0x07 => 0x029b,
- 0x08 => 0xde, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x0185,
- 0x0c => 0x0248, 0x0d => 0x0116, 0x0e => 0x014d, 0x0f => 0x0116,
- 0x10 => 0x0116, 0x11 => 0x022c, 0x12 => 0x022c, 0x13 => 0x022c,
- 0x14 => 0x022c, 0x15 => 0x022c, 0x16 => 0x022c, 0x17 => 0x022c,
- 0x18 => 0x022c, 0x19 => 0x022c, 0x1a => 0x022c, 0x1b => 0x0116,
- 0x1c => 0x0116, 0x1d => 0x0248, 0x1e => 0x0248, 0x1f => 0x0248,
- 0x20 => 0x022c, 0x21 => 0x03f7, 0x22 => 0x029b, 0x23 => 0x029b,
- 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263,
- 0x28 => 0x030a, 0x29 => 0x02d2, 0x2a => 0x0116, 0x2b => 0x01f4,
- 0x2c => 0x029b, 0x2d => 0x022c, 0x2e => 0x0341, 0x2f => 0x02d2,
- 0x30 => 0x030a, 0x31 => 0x029b, 0x32 => 0x030a, 0x33 => 0x02d2,
- 0x34 => 0x029b, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b,
- 0x38 => 0x03b0, 0x39 => 0x029b, 0x3a => 0x029b, 0x3b => 0x0263,
- 0x3c => 0x0116, 0x3d => 0x0116, 0x3e => 0x0116, 0x3f => 0x01d5,
- 0x40 => 0x022c, 0x41 => 0xde, 0x42 => 0x022c, 0x43 => 0x022c,
- 0x44 => 0x01f4, 0x45 => 0x022c, 0x46 => 0x022c, 0x47 => 0x0116,
- 0x48 => 0x022c, 0x49 => 0x022c, 0x4a => 0xde, 0x4b => 0xde,
- 0x4c => 0x01f4, 0x4d => 0xde, 0x4e => 0x0341, 0x4f => 0x022c,
- 0x50 => 0x022c, 0x51 => 0x022c, 0x52 => 0x022c, 0x53 => 0x014d,
- 0x54 => 0x01f4, 0x55 => 0x0116, 0x56 => 0x022c, 0x57 => 0x01f4,
- 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01f4,
- 0x5c => 0x014e, 0x5d => 0x0104, 0x5e => 0x014e, 0x5f => 0x0248,
- 0x60 => 0x014d, 0x61 => 0x022c, 0x62 => 0x022c, 0x63 => 0xa7,
- 0x64 => 0x022c, 0x65 => 0x022c, 0x66 => 0x022c, 0x67 => 0x022c,
- 0x68 => 0xbf, 0x69 => 0x014d, 0x6a => 0x022c, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x01f4, 0x6e => 0x01f4, 0x6f => 0x022c,
- 0x70 => 0x022c, 0x71 => 0x022c, 0x72 => 0x0116, 0x73 => 0x0219,
- 0x74 => 0x015e, 0x75 => 0xde, 0x76 => 0x014d, 0x77 => 0x014d,
- 0x78 => 0x022c, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x0263,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x0172,
- 0x8c => 0x022c, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x016d,
- 0x90 => 0x0379, 0x91 => 0x0116, 0x92 => 0xde, 0x93 => 0x0263,
- 0x94 => 0x03b0, 0x95 => 0x0263, 0x96 => 0x0116, 0x97 => 0x022c,
- 0x98 => 0x022c, 0x99 => 0x022c, 0x9a => 0x022c, 0x9b => 0x029b,
- 0x9c => 0x0248, 0x9d => 0x029b, 0x9e => 0x029b, 0x9f => 0x022c,
- 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x01f4, 0xa3 => 0x022c,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x022c, 0xa7 => 0x02d2,
- 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02e1, 0xad => 0x029b, 0xae => 0x01f4, 0xaf => 0x022c,
- 0xb0 => 0x02d2, 0xb1 => 0xde, 0xb2 => 0x022c, 0xb3 => 0x0263,
- 0xb4 => 0x02d2, 0xb5 => 0x022c, 0xb6 => 0x029b, 0xb7 => 0x01f4,
- 0xb8 => 0x01f4, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x02d2,
- 0xbc => 0x030a, 0xbd => 0x022c, 0xbe => 0x022c, 0xbf => 0x029b,
- 0xc0 => 0x014d, 0xc1 => 0x01f4, 0xc2 => 0x0263, 0xc3 => 0x029b,
- 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x029b, 0xc7 => 0x0283,
- 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x014d, 0xcb => 0x030a,
- 0xcc => 0x029b, 0xcd => 0x029b, 0xce => 0x0248, 0xcf => 0x022c,
- 0xd0 => 0x0263, 0xd1 => 0x01dc, 0xd2 => 0x01f4, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x022c, 0xd7 => 0x022c,
- 0xd8 => 0x01f4, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2,
- 0xdc => 0x0116, 0xdd => 0x0248, 0xde => 0x0104, 0xdf => 0x02e1,
- 0xe0 => 0x030a, 0xe1 => 0x0116, 0xe2 => 0x0258, 0xe3 => 0x029b,
- 0xe4 => 0x014d, 0xe5 => 0x022c, 0xe6 => 0x0263, 0xe7 => 0x0263,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0xde,
- 0xec => 0x013d, 0xed => 0x022c, 0xee => 0x02d2, 0xef => 0x029b,
- 0xf0 => 0x029b, 0xf1 => 0x022c, 0xf2 => 0x01f4, 0xf3 => 0xde,
- 0xf4 => 0x030a, 0xf5 => 0x022c, 0xf6 => 0x022c, 0xf7 => 0x01f4,
- 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x022c, 0xfd => 0x014d, 0xfe => 0x030a, 0xff => 0x022c,
- 0x0100 => 0x0116, 0x0101 => 0x022c, 0x0102 => 0x029b, 0x0103 => 0x022c,
- 0x0104 => 0x0342, 0x0105 => 0x029b, 0x0106 => 0x012b, 0x0107 => 0x029b,
- 0x0108 => 0x022c, 0x0109 => 0x03e8, 0x010a => 0x022c, 0x010b => 0x0116,
- 0x010c => 0x0116, 0x010d => 0x022c, 0x010e => 0x0342, 0x010f => 0x0225,
- 0x0110 => 0x022c, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b,
- 0x0114 => 0x022c, 0x0115 => 0x022c, 0x0116 => 0x0342, 0x0117 => 0x029b,
- 0x0118 => 0x029b, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x022c,
- 0x011c => 0x02d2, 0x011d => 0x022c, 0x011e => 0x01c5, 0x011f => 0x02d2,
- 0x0120 => 0x014d, 0x0121 => 0x02d2, 0x0122 => 0x022c, 0x0123 => 0x02d2,
- 0x0124 => 0x022c, 0x0125 => 0x029b, 0x0126 => 0x029b, 0x0127 => 0x029b,
- 0x0128 => 0x030a, 0x0129 => 0x01f4, 0x012a => 0x029b, 0x012b => 0x0116,
- 0x012c => 0x01f4, 0x012d => 0x0248, 0x012e => 0x0116, 0x012f => 0x022c,
- 0x0130 => 0x0116, 0x0131 => 0x0248, 0x0132 => 0x022c, 0x0133 => 0x022c,
- 0x0134 => 0x0225, 0x0135 => 0x022c, 0x0136 => 0x022c, 0x0137 => 0x01f4,
- 0x0138 => 0x022c, 0x0139 => 0x014d, 0x013a => 0x0116, 0x013b => 0x022c,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Helvetica-Oblique');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php
deleted file mode 100644
index 7e0ca8792..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/Symbol.php
+++ /dev/null
@@ -1,465 +0,0 @@
- "\x20", 0x21 => "\x21", 0x2200 => "\x22", 0x23 => "\x23",
- 0x2203 => "\x24", 0x25 => "\x25", 0x26 => "\x26", 0x220b => "\x27",
- 0x28 => "\x28", 0x29 => "\x29", 0x2217 => "\x2a", 0x2b => "\x2b",
- 0x2c => "\x2c", 0x2212 => "\x2d", 0x2e => "\x2e", 0x2f => "\x2f",
- 0x30 => "\x30", 0x31 => "\x31", 0x32 => "\x32", 0x33 => "\x33",
- 0x34 => "\x34", 0x35 => "\x35", 0x36 => "\x36", 0x37 => "\x37",
- 0x38 => "\x38", 0x39 => "\x39", 0x3a => "\x3a", 0x3b => "\x3b",
- 0x3c => "\x3c", 0x3d => "\x3d", 0x3e => "\x3e", 0x3f => "\x3f",
- 0x2245 => "\x40", 0x0391 => "\x41", 0x0392 => "\x42", 0x03a7 => "\x43",
- 0x2206 => "\x44", 0x0395 => "\x45", 0x03a6 => "\x46", 0x0393 => "\x47",
- 0x0397 => "\x48", 0x0399 => "\x49", 0x03d1 => "\x4a", 0x039a => "\x4b",
- 0x039b => "\x4c", 0x039c => "\x4d", 0x039d => "\x4e", 0x039f => "\x4f",
- 0x03a0 => "\x50", 0x0398 => "\x51", 0x03a1 => "\x52", 0x03a3 => "\x53",
- 0x03a4 => "\x54", 0x03a5 => "\x55", 0x03c2 => "\x56", 0x2126 => "\x57",
- 0x039e => "\x58", 0x03a8 => "\x59", 0x0396 => "\x5a", 0x5b => "\x5b",
- 0x2234 => "\x5c", 0x5d => "\x5d", 0x22a5 => "\x5e", 0x5f => "\x5f",
- 0xf8e5 => "\x60", 0x03b1 => "\x61", 0x03b2 => "\x62", 0x03c7 => "\x63",
- 0x03b4 => "\x64", 0x03b5 => "\x65", 0x03c6 => "\x66", 0x03b3 => "\x67",
- 0x03b7 => "\x68", 0x03b9 => "\x69", 0x03d5 => "\x6a", 0x03ba => "\x6b",
- 0x03bb => "\x6c", 0xb5 => "\x6d", 0x03bd => "\x6e", 0x03bf => "\x6f",
- 0x03c0 => "\x70", 0x03b8 => "\x71", 0x03c1 => "\x72", 0x03c3 => "\x73",
- 0x03c4 => "\x74", 0x03c5 => "\x75", 0x03d6 => "\x76", 0x03c9 => "\x77",
- 0x03be => "\x78", 0x03c8 => "\x79", 0x03b6 => "\x7a", 0x7b => "\x7b",
- 0x7c => "\x7c", 0x7d => "\x7d", 0x223c => "\x7e", 0x20ac => "\xa0",
- 0x03d2 => "\xa1", 0x2032 => "\xa2", 0x2264 => "\xa3", 0x2044 => "\xa4",
- 0x221e => "\xa5", 0x0192 => "\xa6", 0x2663 => "\xa7", 0x2666 => "\xa8",
- 0x2665 => "\xa9", 0x2660 => "\xaa", 0x2194 => "\xab", 0x2190 => "\xac",
- 0x2191 => "\xad", 0x2192 => "\xae", 0x2193 => "\xaf", 0xb0 => "\xb0",
- 0xb1 => "\xb1", 0x2033 => "\xb2", 0x2265 => "\xb3", 0xd7 => "\xb4",
- 0x221d => "\xb5", 0x2202 => "\xb6", 0x2022 => "\xb7", 0xf7 => "\xb8",
- 0x2260 => "\xb9", 0x2261 => "\xba", 0x2248 => "\xbb", 0x2026 => "\xbc",
- 0xf8e6 => "\xbd", 0xf8e7 => "\xbe", 0x21b5 => "\xbf", 0x2135 => "\xc0",
- 0x2111 => "\xc1", 0x211c => "\xc2", 0x2118 => "\xc3", 0x2297 => "\xc4",
- 0x2295 => "\xc5", 0x2205 => "\xc6", 0x2229 => "\xc7", 0x222a => "\xc8",
- 0x2283 => "\xc9", 0x2287 => "\xca", 0x2284 => "\xcb", 0x2282 => "\xcc",
- 0x2286 => "\xcd", 0x2208 => "\xce", 0x2209 => "\xcf", 0x2220 => "\xd0",
- 0x2207 => "\xd1", 0xf6da => "\xd2", 0xf6d9 => "\xd3", 0xf6db => "\xd4",
- 0x220f => "\xd5", 0x221a => "\xd6", 0x22c5 => "\xd7", 0xac => "\xd8",
- 0x2227 => "\xd9", 0x2228 => "\xda", 0x21d4 => "\xdb", 0x21d0 => "\xdc",
- 0x21d1 => "\xdd", 0x21d2 => "\xde", 0x21d3 => "\xdf", 0x25ca => "\xe0",
- 0x2329 => "\xe1", 0xf8e8 => "\xe2", 0xf8e9 => "\xe3", 0xf8ea => "\xe4",
- 0x2211 => "\xe5", 0xf8eb => "\xe6", 0xf8ec => "\xe7", 0xf8ed => "\xe8",
- 0xf8ee => "\xe9", 0xf8ef => "\xea", 0xf8f0 => "\xeb", 0xf8f1 => "\xec",
- 0xf8f2 => "\xed", 0xf8f3 => "\xee", 0xf8f4 => "\xef", 0x232a => "\xf1",
- 0x222b => "\xf2", 0x2320 => "\xf3", 0xf8f5 => "\xf4", 0x2321 => "\xf5",
- 0xf8f6 => "\xf6", 0xf8f7 => "\xf7", 0xf8f8 => "\xf8", 0xf8f9 => "\xf9",
- 0xf8fa => "\xfa", 0xf8fb => "\xfb", 0xf8fc => "\xfc", 0xf8fd => "\xfd",
- 0xf8fe => "\xfe");
-
- /**
- * Array for conversion from special font encoding to local encoding.
- * See {@link decodeString()}.
- * @var array
- */
- protected $_fromFontEncoding = array(
- 0x20 => "\x00\x20", 0x21 => "\x00\x21", 0x22 => "\x22\x00",
- 0x23 => "\x00\x23", 0x24 => "\x22\x03", 0x25 => "\x00\x25",
- 0x26 => "\x00\x26", 0x27 => "\x22\x0b", 0x28 => "\x00\x28",
- 0x29 => "\x00\x29", 0x2a => "\x22\x17", 0x2b => "\x00\x2b",
- 0x2c => "\x00\x2c", 0x2d => "\x22\x12", 0x2e => "\x00\x2e",
- 0x2f => "\x00\x2f", 0x30 => "\x00\x30", 0x31 => "\x00\x31",
- 0x32 => "\x00\x32", 0x33 => "\x00\x33", 0x34 => "\x00\x34",
- 0x35 => "\x00\x35", 0x36 => "\x00\x36", 0x37 => "\x00\x37",
- 0x38 => "\x00\x38", 0x39 => "\x00\x39", 0x3a => "\x00\x3a",
- 0x3b => "\x00\x3b", 0x3c => "\x00\x3c", 0x3d => "\x00\x3d",
- 0x3e => "\x00\x3e", 0x3f => "\x00\x3f", 0x40 => "\x22\x45",
- 0x41 => "\x03\x91", 0x42 => "\x03\x92", 0x43 => "\x03\xa7",
- 0x44 => "\x22\x06", 0x45 => "\x03\x95", 0x46 => "\x03\xa6",
- 0x47 => "\x03\x93", 0x48 => "\x03\x97", 0x49 => "\x03\x99",
- 0x4a => "\x03\xd1", 0x4b => "\x03\x9a", 0x4c => "\x03\x9b",
- 0x4d => "\x03\x9c", 0x4e => "\x03\x9d", 0x4f => "\x03\x9f",
- 0x50 => "\x03\xa0", 0x51 => "\x03\x98", 0x52 => "\x03\xa1",
- 0x53 => "\x03\xa3", 0x54 => "\x03\xa4", 0x55 => "\x03\xa5",
- 0x56 => "\x03\xc2", 0x57 => "\x21\x26", 0x58 => "\x03\x9e",
- 0x59 => "\x03\xa8", 0x5a => "\x03\x96", 0x5b => "\x00\x5b",
- 0x5c => "\x22\x34", 0x5d => "\x00\x5d", 0x5e => "\x22\xa5",
- 0x5f => "\x00\x5f", 0x60 => "\xf8\xe5", 0x61 => "\x03\xb1",
- 0x62 => "\x03\xb2", 0x63 => "\x03\xc7", 0x64 => "\x03\xb4",
- 0x65 => "\x03\xb5", 0x66 => "\x03\xc6", 0x67 => "\x03\xb3",
- 0x68 => "\x03\xb7", 0x69 => "\x03\xb9", 0x6a => "\x03\xd5",
- 0x6b => "\x03\xba", 0x6c => "\x03\xbb", 0x6d => "\x00\xb5",
- 0x6e => "\x03\xbd", 0x6f => "\x03\xbf", 0x70 => "\x03\xc0",
- 0x71 => "\x03\xb8", 0x72 => "\x03\xc1", 0x73 => "\x03\xc3",
- 0x74 => "\x03\xc4", 0x75 => "\x03\xc5", 0x76 => "\x03\xd6",
- 0x77 => "\x03\xc9", 0x78 => "\x03\xbe", 0x79 => "\x03\xc8",
- 0x7a => "\x03\xb6", 0x7b => "\x00\x7b", 0x7c => "\x00\x7c",
- 0x7d => "\x00\x7d", 0x7e => "\x22\x3c", 0xa0 => "\x20\xac",
- 0xa1 => "\x03\xd2", 0xa2 => "\x20\x32", 0xa3 => "\x22\x64",
- 0xa4 => "\x20\x44", 0xa5 => "\x22\x1e", 0xa6 => "\x01\x92",
- 0xa7 => "\x26\x63", 0xa8 => "\x26\x66", 0xa9 => "\x26\x65",
- 0xaa => "\x26\x60", 0xab => "\x21\x94", 0xac => "\x21\x90",
- 0xad => "\x21\x91", 0xae => "\x21\x92", 0xaf => "\x21\x93",
- 0xb0 => "\x00\xb0", 0xb1 => "\x00\xb1", 0xb2 => "\x20\x33",
- 0xb3 => "\x22\x65", 0xb4 => "\x00\xd7", 0xb5 => "\x22\x1d",
- 0xb6 => "\x22\x02", 0xb7 => "\x20\x22", 0xb8 => "\x00\xf7",
- 0xb9 => "\x22\x60", 0xba => "\x22\x61", 0xbb => "\x22\x48",
- 0xbc => "\x20\x26", 0xbd => "\xf8\xe6", 0xbe => "\xf8\xe7",
- 0xbf => "\x21\xb5", 0xc0 => "\x21\x35", 0xc1 => "\x21\x11",
- 0xc2 => "\x21\x1c", 0xc3 => "\x21\x18", 0xc4 => "\x22\x97",
- 0xc5 => "\x22\x95", 0xc6 => "\x22\x05", 0xc7 => "\x22\x29",
- 0xc8 => "\x22\x2a", 0xc9 => "\x22\x83", 0xca => "\x22\x87",
- 0xcb => "\x22\x84", 0xcc => "\x22\x82", 0xcd => "\x22\x86",
- 0xce => "\x22\x08", 0xcf => "\x22\x09", 0xd0 => "\x22\x20",
- 0xd1 => "\x22\x07", 0xd2 => "\xf6\xda", 0xd3 => "\xf6\xd9",
- 0xd4 => "\xf6\xdb", 0xd5 => "\x22\x0f", 0xd6 => "\x22\x1a",
- 0xd7 => "\x22\xc5", 0xd8 => "\x00\xac", 0xd9 => "\x22\x27",
- 0xda => "\x22\x28", 0xdb => "\x21\xd4", 0xdc => "\x21\xd0",
- 0xdd => "\x21\xd1", 0xde => "\x21\xd2", 0xdf => "\x21\xd3",
- 0xe0 => "\x25\xca", 0xe1 => "\x23\x29", 0xe2 => "\xf8\xe8",
- 0xe3 => "\xf8\xe9", 0xe4 => "\xf8\xea", 0xe5 => "\x22\x11",
- 0xe6 => "\xf8\xeb", 0xe7 => "\xf8\xec", 0xe8 => "\xf8\xed",
- 0xe9 => "\xf8\xee", 0xea => "\xf8\xef", 0xeb => "\xf8\xf0",
- 0xec => "\xf8\xf1", 0xed => "\xf8\xf2", 0xee => "\xf8\xf3",
- 0xef => "\xf8\xf4", 0xf1 => "\x23\x2a", 0xf2 => "\x22\x2b",
- 0xf3 => "\x23\x20", 0xf4 => "\xf8\xf5", 0xf5 => "\x23\x21",
- 0xf6 => "\xf8\xf6", 0xf7 => "\xf8\xf7", 0xf8 => "\xf8\xf8",
- 0xf9 => "\xf8\xf9", 0xfa => "\xf8\xfa", 0xfb => "\xf8\xfb",
- 0xfc => "\xf8\xfc", 0xfd => "\xf8\xfd", 0xfe => "\xf8\xfe",
- );
-
-
-
- /**** Public Interface ****/
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor
- */
- public function __construct()
- {
- parent::__construct();
-
-
- /* Object properties */
-
- /* The font names are stored internally as Unicode UTF-16BE-encoded
- * strings. Since this information is static, save unnecessary trips
- * through iconv() and just use pre-encoded hexidecimal strings.
- */
- $this->_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x41\x00"
- . "\x6c\x00\x6c\x00\x20\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00"
- . "\x73\x00\x20\x00\x72\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00"
- . "\x65\x00\x64\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x53\x00\x79\x00\x6d\x00\x62\x00\x6f\x00\x6c";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x34";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x53\x00\x79\x00\x6d\x00\x62\x00\x6f\x00\x6c\x00\x20\x00\x4d\x00"
- . "\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x31\x00\x2e\x00\x30\x00\x30\x00\x38";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x53\x00\x79\x00\x6d\x00\x62\x00\x6f\x00\x6c";
-
- $this->_isBold = false;
- $this->_isItalic = false;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 1000;
- $this->_descent = 0;
- $this->_lineGap = 200;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x02c9,
- 0x04 => 0x01f4, 0x05 => 0x0225, 0x06 => 0x0341, 0x07 => 0x030a,
- 0x08 => 0x01b7, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4,
- 0x0c => 0x0225, 0x0d => 0xfa, 0x0e => 0x0225, 0x0f => 0xfa,
- 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4,
- 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4,
- 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x0116,
- 0x1c => 0x0116, 0x1d => 0x0225, 0x1e => 0x0225, 0x1f => 0x0225,
- 0x20 => 0x01bc, 0x21 => 0x0225, 0x22 => 0x02d2, 0x23 => 0x029b,
- 0x24 => 0x02d2, 0x25 => 0x0264, 0x26 => 0x0263, 0x27 => 0x02fb,
- 0x28 => 0x025b, 0x29 => 0x02d2, 0x2a => 0x014d, 0x2b => 0x0277,
- 0x2c => 0x02d2, 0x2d => 0x02ae, 0x2e => 0x0379, 0x2f => 0x02d2,
- 0x30 => 0x02d2, 0x31 => 0x0300, 0x32 => 0x02e5, 0x33 => 0x022c,
- 0x34 => 0x0250, 0x35 => 0x0263, 0x36 => 0x02b2, 0x37 => 0x01b7,
- 0x38 => 0x0300, 0x39 => 0x0285, 0x3a => 0x031b, 0x3b => 0x0263,
- 0x3c => 0x014d, 0x3d => 0x035f, 0x3e => 0x014d, 0x3f => 0x0292,
- 0x40 => 0x01f4, 0x41 => 0x01f4, 0x42 => 0x0277, 0x43 => 0x0225,
- 0x44 => 0x0225, 0x45 => 0x01ee, 0x46 => 0x01b7, 0x47 => 0x0209,
- 0x48 => 0x019b, 0x49 => 0x025b, 0x4a => 0x0149, 0x4b => 0x025b,
- 0x4c => 0x0225, 0x4d => 0x0225, 0x4e => 0x0240, 0x4f => 0x0209,
- 0x50 => 0x0225, 0x51 => 0x0225, 0x52 => 0x0209, 0x53 => 0x0225,
- 0x54 => 0x025b, 0x55 => 0x01b7, 0x56 => 0x0240, 0x57 => 0x02c9,
- 0x58 => 0x02ae, 0x59 => 0x01ed, 0x5a => 0x02ae, 0x5b => 0x01ee,
- 0x5c => 0x01e0, 0x5d => 0xc8, 0x5e => 0x01e0, 0x5f => 0x0225,
- 0x60 => 0x02ee, 0x61 => 0x026c, 0x62 => 0xf7, 0x63 => 0x0225,
- 0x64 => 0xa7, 0x65 => 0x02c9, 0x66 => 0x01f4, 0x67 => 0x02f1,
- 0x68 => 0x02f1, 0x69 => 0x02f1, 0x6a => 0x02f1, 0x6b => 0x0412,
- 0x6c => 0x03db, 0x6d => 0x025b, 0x6e => 0x03db, 0x6f => 0x025b,
- 0x70 => 0x0190, 0x71 => 0x0225, 0x72 => 0x019b, 0x73 => 0x0225,
- 0x74 => 0x0225, 0x75 => 0x02c9, 0x76 => 0x01ee, 0x77 => 0x01cc,
- 0x78 => 0x0225, 0x79 => 0x0225, 0x7a => 0x0225, 0x7b => 0x0225,
- 0x7c => 0x03e8, 0x7d => 0x025b, 0x7e => 0x03e8, 0x7f => 0x0292,
- 0x80 => 0x0337, 0x81 => 0x02ae, 0x82 => 0x031b, 0x83 => 0x03db,
- 0x84 => 0x0300, 0x85 => 0x0300, 0x86 => 0x0337, 0x87 => 0x0300,
- 0x88 => 0x0300, 0x89 => 0x02c9, 0x8a => 0x02c9, 0x8b => 0x02c9,
- 0x8c => 0x02c9, 0x8d => 0x02c9, 0x8e => 0x02c9, 0x8f => 0x02c9,
- 0x90 => 0x0300, 0x91 => 0x02c9, 0x92 => 0x0316, 0x93 => 0x0316,
- 0x94 => 0x037a, 0x95 => 0x0337, 0x96 => 0x0225, 0x97 => 0xfa,
- 0x98 => 0x02c9, 0x99 => 0x025b, 0x9a => 0x025b, 0x9b => 0x0412,
- 0x9c => 0x03db, 0x9d => 0x025b, 0x9e => 0x03db, 0x9f => 0x025b,
- 0xa0 => 0x01ee, 0xa1 => 0x0149, 0xa2 => 0x0316, 0xa3 => 0x0316,
- 0xa4 => 0x0312, 0xa5 => 0x02c9, 0xa6 => 0x0180, 0xa7 => 0x0180,
- 0xa8 => 0x0180, 0xa9 => 0x0180, 0xaa => 0x0180, 0xab => 0x0180,
- 0xac => 0x01ee, 0xad => 0x01ee, 0xae => 0x01ee, 0xaf => 0x01ee,
- 0xb0 => 0x0149, 0xb1 => 0x0112, 0xb2 => 0x02ae, 0xb3 => 0x02ae,
- 0xb4 => 0x02ae, 0xb5 => 0x0180, 0xb6 => 0x0180, 0xb7 => 0x0180,
- 0xb8 => 0x0180, 0xb9 => 0x0180, 0xba => 0x0180, 0xbb => 0x01ee,
- 0xbc => 0x01ee, 0xbd => 0x01ee, 0xbe => 0x0316);
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x2200 => 0x03, 0x23 => 0x04,
- 0x2203 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x220b => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2217 => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2212 => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x2245 => 0x21, 0x0391 => 0x22, 0x0392 => 0x23, 0x03a7 => 0x24,
- 0x2206 => 0x25, 0x0395 => 0x26, 0x03a6 => 0x27, 0x0393 => 0x28,
- 0x0397 => 0x29, 0x0399 => 0x2a, 0x03d1 => 0x2b, 0x039a => 0x2c,
- 0x039b => 0x2d, 0x039c => 0x2e, 0x039d => 0x2f, 0x039f => 0x30,
- 0x03a0 => 0x31, 0x0398 => 0x32, 0x03a1 => 0x33, 0x03a3 => 0x34,
- 0x03a4 => 0x35, 0x03a5 => 0x36, 0x03c2 => 0x37, 0x2126 => 0x38,
- 0x039e => 0x39, 0x03a8 => 0x3a, 0x0396 => 0x3b, 0x5b => 0x3c,
- 0x2234 => 0x3d, 0x5d => 0x3e, 0x22a5 => 0x3f, 0x5f => 0x40,
- 0xf8e5 => 0x41, 0x03b1 => 0x42, 0x03b2 => 0x43, 0x03c7 => 0x44,
- 0x03b4 => 0x45, 0x03b5 => 0x46, 0x03c6 => 0x47, 0x03b3 => 0x48,
- 0x03b7 => 0x49, 0x03b9 => 0x4a, 0x03d5 => 0x4b, 0x03ba => 0x4c,
- 0x03bb => 0x4d, 0xb5 => 0x4e, 0x03bd => 0x4f, 0x03bf => 0x50,
- 0x03c0 => 0x51, 0x03b8 => 0x52, 0x03c1 => 0x53, 0x03c3 => 0x54,
- 0x03c4 => 0x55, 0x03c5 => 0x56, 0x03d6 => 0x57, 0x03c9 => 0x58,
- 0x03be => 0x59, 0x03c8 => 0x5a, 0x03b6 => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x223c => 0x5f, 0x20ac => 0x60,
- 0x03d2 => 0x61, 0x2032 => 0x62, 0x2264 => 0x63, 0x2044 => 0x64,
- 0x221e => 0x65, 0x0192 => 0x66, 0x2663 => 0x67, 0x2666 => 0x68,
- 0x2665 => 0x69, 0x2660 => 0x6a, 0x2194 => 0x6b, 0x2190 => 0x6c,
- 0x2191 => 0x6d, 0x2192 => 0x6e, 0x2193 => 0x6f, 0xb0 => 0x70,
- 0xb1 => 0x71, 0x2033 => 0x72, 0x2265 => 0x73, 0xd7 => 0x74,
- 0x221d => 0x75, 0x2202 => 0x76, 0x2022 => 0x77, 0xf7 => 0x78,
- 0x2260 => 0x79, 0x2261 => 0x7a, 0x2248 => 0x7b, 0x2026 => 0x7c,
- 0xf8e6 => 0x7d, 0xf8e7 => 0x7e, 0x21b5 => 0x7f, 0x2135 => 0x80,
- 0x2111 => 0x81, 0x211c => 0x82, 0x2118 => 0x83, 0x2297 => 0x84,
- 0x2295 => 0x85, 0x2205 => 0x86, 0x2229 => 0x87, 0x222a => 0x88,
- 0x2283 => 0x89, 0x2287 => 0x8a, 0x2284 => 0x8b, 0x2282 => 0x8c,
- 0x2286 => 0x8d, 0x2208 => 0x8e, 0x2209 => 0x8f, 0x2220 => 0x90,
- 0x2207 => 0x91, 0xf6da => 0x92, 0xf6d9 => 0x93, 0xf6db => 0x94,
- 0x220f => 0x95, 0x221a => 0x96, 0x22c5 => 0x97, 0xac => 0x98,
- 0x2227 => 0x99, 0x2228 => 0x9a, 0x21d4 => 0x9b, 0x21d0 => 0x9c,
- 0x21d1 => 0x9d, 0x21d2 => 0x9e, 0x21d3 => 0x9f, 0x25ca => 0xa0,
- 0x2329 => 0xa1, 0xf8e8 => 0xa2, 0xf8e9 => 0xa3, 0xf8ea => 0xa4,
- 0x2211 => 0xa5, 0xf8eb => 0xa6, 0xf8ec => 0xa7, 0xf8ed => 0xa8,
- 0xf8ee => 0xa9, 0xf8ef => 0xaa, 0xf8f0 => 0xab, 0xf8f1 => 0xac,
- 0xf8f2 => 0xad, 0xf8f3 => 0xae, 0xf8f4 => 0xaf, 0x232a => 0xb0,
- 0x222b => 0xb1, 0x2320 => 0xb2, 0xf8f5 => 0xb3, 0x2321 => 0xb4,
- 0xf8f6 => 0xb5, 0xf8f7 => 0xb6, 0xf8f8 => 0xb7, 0xf8f9 => 0xb8,
- 0xf8fa => 0xb9, 0xf8fb => 0xba, 0xf8fc => 0xbb, 0xf8fd => 0xbc,
- 0xf8fe => 0xbd, 0xf8ff => 0xbe);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Symbol');
-
- /* This font has a built-in custom character encoding method. Don't
- * override with WinAnsi like the other built-in fonts or else it will
- * not work as expected.
- */
- $this->_resource->Encoding = null;
- }
-
-
- /* Information and Conversion Methods */
-
- /**
- * Convert string encoding from local encoding to font encoding. Overridden
- * to defeat the conversion behavior for this ornamental font.
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- */
- public function encodeString($string, $charEncoding)
- {
- /* This isn't the optimal time to perform this conversion, but it must
- * live here until the remainder of the layout code is completed. This,
- * and the $charEncoding parameter, will go away soon...
- */
- if ($charEncoding != 'UTF-16BE') {
- $string = iconv($charEncoding, 'UTF-16BE', $string);
- }
- /**
- * @todo Properly handle characters encoded as surrogate pairs.
- */
- $encodedString = '';
- for ($i = 0; $i < strlen($string); $i++) {
- $characterCode = (ord($string[$i++]) << 8) | ord($string[$i]);
- if (isset($this->_toFontEncoding[$characterCode])) {
- $encodedString .= $this->_toFontEncoding[$characterCode];
- } else {
- /* For now, mimic the behavior in Zend_Pdf_Font::encodeString()
- * where unknown characters are removed completely. This is not
- * perfect, but we should be consistent. In a future revision,
- * we will use the well-known substitution character 0x1a
- * (Control-Z).
- */
- }
- }
- return $encodedString;
- }
-
- /**
- * Convert string encoding from font encoding to local encoding. Overridden
- * to defeat the conversion behavior for this ornamental font.
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- */
- public function decodeString($string, $charEncoding)
- {
- $decodedString = '';
- for ($i = 0; $i < strlen($string); $i++) {
- $characterCode = ord($string[$i]);
- if (isset($this->_fromFontEncoding[$characterCode])) {
- $decodedString .= $this->_fromFontEncoding[$characterCode];
- } else {
- /* For now, mimic the behavior in Zend_Pdf_Font::encodeString()
- * where unknown characters are removed completely. This is not
- * perfect, but we should be consistent. In a future revision,
- * we will use the Unicode substitution character (U+FFFD).
- */
- }
- }
- if ($charEncoding != 'UTF-16BE') {
- $decodedString = iconv('UTF-16BE', $charEncoding, $decodedString);
- }
- return $decodedString;
- }
-
- /**
- * Converts a Latin-encoded string that fakes the font's internal encoding
- * to the proper Unicode characters, in UTF-16BE encoding.
- *
- * Used to maintain backwards compatibility with the 20 year-old legacy
- * method of using this font, which is still employed by recent versions of
- * some popular word processors.
- *
- * Note that using this method adds overhead due to the additional
- * character conversion. Don't use this for new code; it is more efficient
- * to use the appropriate Unicode characters directly.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source
- * string. Defaults to current locale.
- * @return string
- */
- public function toUnicode($string, $charEncoding = '')
- {
- /* When using these faked strings, the closest match to the font's
- * internal encoding is ISO-8859-1.
- */
- if ($charEncoding != 'ISO-8859-1') {
- $string = iconv($charEncoding, 'ISO-8859-1', $string);
- }
- return $this->decodeString($string, 'UTF-16BE');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php
deleted file mode 100644
index 8d0e399a7..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesBold.php
+++ /dev/null
@@ -1,304 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00"
- . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00"
- . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00"
- . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00"
- . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00"
- . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00"
- . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00"
- . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00"
- . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00"
- . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00"
- . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00"
- . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00"
- . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00"
- . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00"
- . "\x65\x00\x73\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x35";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00"
- . "\x6c\x00\x64\x00\x20\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00"
- . "\x6c\x00\x64";
-
- $this->_isBold = true;
- $this->_isItalic = false;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 683;
- $this->_descent = -217;
- $this->_lineGap = 300;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x022b,
- 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x03e8, 0x07 => 0x0341,
- 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4,
- 0x0c => 0x023a, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa,
- 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4,
- 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4,
- 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x014d,
- 0x1c => 0x014d, 0x1d => 0x023a, 0x1e => 0x023a, 0x1f => 0x023a,
- 0x20 => 0x01f4, 0x21 => 0x03a2, 0x22 => 0x02d2, 0x23 => 0x029b,
- 0x24 => 0x02d2, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x0263,
- 0x28 => 0x030a, 0x29 => 0x030a, 0x2a => 0x0185, 0x2b => 0x01f4,
- 0x2c => 0x030a, 0x2d => 0x029b, 0x2e => 0x03b0, 0x2f => 0x02d2,
- 0x30 => 0x030a, 0x31 => 0x0263, 0x32 => 0x030a, 0x33 => 0x02d2,
- 0x34 => 0x022c, 0x35 => 0x029b, 0x36 => 0x02d2, 0x37 => 0x02d2,
- 0x38 => 0x03e8, 0x39 => 0x02d2, 0x3a => 0x02d2, 0x3b => 0x029b,
- 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x0245,
- 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01f4, 0x43 => 0x022c,
- 0x44 => 0x01bc, 0x45 => 0x022c, 0x46 => 0x01bc, 0x47 => 0x014d,
- 0x48 => 0x01f4, 0x49 => 0x022c, 0x4a => 0x0116, 0x4b => 0x014d,
- 0x4c => 0x022c, 0x4d => 0x0116, 0x4e => 0x0341, 0x4f => 0x022c,
- 0x50 => 0x01f4, 0x51 => 0x022c, 0x52 => 0x022c, 0x53 => 0x01bc,
- 0x54 => 0x0185, 0x55 => 0x014d, 0x56 => 0x022c, 0x57 => 0x01f4,
- 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01bc,
- 0x5c => 0x018a, 0x5d => 0xdc, 0x5e => 0x018a, 0x5f => 0x0208,
- 0x60 => 0x014d, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7,
- 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4,
- 0x68 => 0x0116, 0x69 => 0x01f4, 0x6a => 0x01f4, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x022c, 0x6e => 0x022c, 0x6f => 0x01f4,
- 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x021c,
- 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x01f4, 0x77 => 0x01f4,
- 0x78 => 0x01f4, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x01f4,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03e8, 0x8b => 0x012c,
- 0x8c => 0x029b, 0x8d => 0x030a, 0x8e => 0x03e8, 0x8f => 0x014a,
- 0x90 => 0x02d2, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4,
- 0x94 => 0x02d2, 0x95 => 0x022c, 0x96 => 0x0185, 0x97 => 0x01bc,
- 0x98 => 0x01f4, 0x99 => 0x022c, 0x9a => 0x01bc, 0x9b => 0x02d2,
- 0x9c => 0x023a, 0x9d => 0x02d2, 0x9e => 0x02d2, 0x9f => 0x01f4,
- 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x0185, 0xa3 => 0x01bc,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01f4, 0xa7 => 0x02d2,
- 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02eb, 0xad => 0x029b, 0xae => 0x01bc, 0xaf => 0x01f4,
- 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x01f4, 0xb3 => 0x029b,
- 0xb4 => 0x02d2, 0xb5 => 0x01f4, 0xb6 => 0x029b, 0xb7 => 0x0185,
- 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x02d2,
- 0xbc => 0x030a, 0xbd => 0x022c, 0xbe => 0x01f4, 0xbf => 0x02d2,
- 0xc0 => 0x01bc, 0xc1 => 0x01bc, 0xc2 => 0x029b, 0xc3 => 0x0263,
- 0xc4 => 0x030a, 0xc5 => 0x02d2, 0xc6 => 0x022c, 0xc7 => 0x02a0,
- 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x012c, 0xcb => 0x030a,
- 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x023a, 0xcf => 0x022c,
- 0xd0 => 0x029b, 0xd1 => 0x01ee, 0xd2 => 0x01f4, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x01f4, 0xd7 => 0x01bc,
- 0xd8 => 0x01bc, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2,
- 0xdc => 0x0185, 0xdd => 0x023a, 0xde => 0xdc, 0xdf => 0x02eb,
- 0xe0 => 0x030a, 0xe1 => 0x0185, 0xe2 => 0x0258, 0xe3 => 0x029b,
- 0xe4 => 0x01bc, 0xe5 => 0x01f4, 0xe6 => 0x029b, 0xe7 => 0x029b,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x02d2, 0xeb => 0x0116,
- 0xec => 0x01a0, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x02d2,
- 0xf0 => 0x02d2, 0xf1 => 0x01bc, 0xf2 => 0x01bc, 0xf3 => 0x0116,
- 0xf4 => 0x030a, 0xf5 => 0x01f4, 0xf6 => 0x01f4, 0xf7 => 0x0185,
- 0xf8 => 0x0116, 0xf9 => 0x030a, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x022c, 0xfd => 0x012c, 0xfe => 0x030a, 0xff => 0x022c,
- 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x029b, 0x0103 => 0x022c,
- 0x0104 => 0x02ee, 0x0105 => 0x022c, 0x0106 => 0x018a, 0x0107 => 0x030a,
- 0x0108 => 0x029b, 0x0109 => 0x03e8, 0x010a => 0x01bc, 0x010b => 0x0185,
- 0x010c => 0x0185, 0x010d => 0x029b, 0x010e => 0x02ee, 0x010f => 0x0225,
- 0x0110 => 0x01f4, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b,
- 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x022c,
- 0x0118 => 0x022c, 0x0119 => 0x030a, 0x011a => 0x0190, 0x011b => 0x01f4,
- 0x011c => 0x02d2, 0x011d => 0x022c, 0x011e => 0x0225, 0x011f => 0x02d2,
- 0x0120 => 0x01bc, 0x0121 => 0x02d2, 0x0122 => 0x01f4, 0x0123 => 0x02d2,
- 0x0124 => 0x029b, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2,
- 0x0128 => 0x030a, 0x0129 => 0x01bc, 0x012a => 0x029b, 0x012b => 0x0185,
- 0x012c => 0x022c, 0x012d => 0x023a, 0x012e => 0x0185, 0x012f => 0x022c,
- 0x0130 => 0x014d, 0x0131 => 0x023a, 0x0132 => 0x01f4, 0x0133 => 0x022c,
- 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x01bc,
- 0x0138 => 0x022c, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-Bold');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php
deleted file mode 100644
index e8645746c..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesBoldItalic.php
+++ /dev/null
@@ -1,305 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00"
- . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00"
- . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00"
- . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00"
- . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00"
- . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00"
- . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00"
- . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00"
- . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00"
- . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00"
- . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00"
- . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00"
- . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00"
- . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00"
- . "\x65\x00\x73\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x36";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00"
- . "\x6c\x00\x64\x00\x49\x00\x74\x00\x61\x00\x6c\x00\x69\x00\x63\x00"
- . "\x20\x00\x42\x00\x6f\x00\x6c\x00\x64";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x42\x00\x6f\x00"
- . "\x6c\x00\x64\x00\x49\x00\x74\x00\x61\x00\x6c\x00\x69\x00\x63";
-
- $this->_isBold = true;
- $this->_isItalic = true;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 683;
- $this->_descent = -217;
- $this->_lineGap = 300;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x0185, 0x03 => 0x022b,
- 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x0341, 0x07 => 0x030a,
- 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4,
- 0x0c => 0x023a, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa,
- 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4,
- 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4,
- 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x014d,
- 0x1c => 0x014d, 0x1d => 0x023a, 0x1e => 0x023a, 0x1f => 0x023a,
- 0x20 => 0x01f4, 0x21 => 0x0340, 0x22 => 0x029b, 0x23 => 0x029b,
- 0x24 => 0x029b, 0x25 => 0x02d2, 0x26 => 0x029b, 0x27 => 0x029b,
- 0x28 => 0x02d2, 0x29 => 0x030a, 0x2a => 0x0185, 0x2b => 0x01f4,
- 0x2c => 0x029b, 0x2d => 0x0263, 0x2e => 0x0379, 0x2f => 0x02d2,
- 0x30 => 0x02d2, 0x31 => 0x0263, 0x32 => 0x02d2, 0x33 => 0x029b,
- 0x34 => 0x022c, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x029b,
- 0x38 => 0x0379, 0x39 => 0x029b, 0x3a => 0x0263, 0x3b => 0x0263,
- 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x023a,
- 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01f4, 0x43 => 0x01f4,
- 0x44 => 0x01bc, 0x45 => 0x01f4, 0x46 => 0x01bc, 0x47 => 0x014d,
- 0x48 => 0x01f4, 0x49 => 0x022c, 0x4a => 0x0116, 0x4b => 0x0116,
- 0x4c => 0x01f4, 0x4d => 0x0116, 0x4e => 0x030a, 0x4f => 0x022c,
- 0x50 => 0x01f4, 0x51 => 0x01f4, 0x52 => 0x01f4, 0x53 => 0x0185,
- 0x54 => 0x0185, 0x55 => 0x0116, 0x56 => 0x022c, 0x57 => 0x01bc,
- 0x58 => 0x029b, 0x59 => 0x01f4, 0x5a => 0x01bc, 0x5b => 0x0185,
- 0x5c => 0x015c, 0x5d => 0xdc, 0x5e => 0x015c, 0x5f => 0x023a,
- 0x60 => 0x0185, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7,
- 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4,
- 0x68 => 0x0116, 0x69 => 0x01f4, 0x6a => 0x01f4, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x022c, 0x6e => 0x022c, 0x6f => 0x01f4,
- 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x01f4,
- 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x01f4, 0x77 => 0x01f4,
- 0x78 => 0x01f4, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x01f4,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x03b0, 0x8b => 0x010a,
- 0x8c => 0x0263, 0x8d => 0x02d2, 0x8e => 0x03b0, 0x8f => 0x012c,
- 0x90 => 0x02d2, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4,
- 0x94 => 0x02d2, 0x95 => 0x01f4, 0x96 => 0x0185, 0x97 => 0x01bc,
- 0x98 => 0x01f4, 0x99 => 0x022c, 0x9a => 0x01bc, 0x9b => 0x0263,
- 0x9c => 0x023a, 0x9d => 0x0263, 0x9e => 0x029b, 0x9f => 0x01f4,
- 0xa0 => 0x02d2, 0xa1 => 0x01bc, 0xa2 => 0x0185, 0xa3 => 0x01bc,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01f4, 0xa7 => 0x02d2,
- 0xa8 => 0x022c, 0xa9 => 0x029b, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02eb, 0xad => 0x029b, 0xae => 0x01bc, 0xaf => 0x01f4,
- 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x01f4, 0xb3 => 0x0263,
- 0xb4 => 0x029b, 0xb5 => 0x01f4, 0xb6 => 0x029b, 0xb7 => 0x0185,
- 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01ee, 0xbb => 0x029b,
- 0xbc => 0x02d2, 0xbd => 0x022c, 0xbe => 0x01f4, 0xbf => 0x029b,
- 0xc0 => 0x0185, 0xc1 => 0x01bc, 0xc2 => 0x0263, 0xc3 => 0x0263,
- 0xc4 => 0x02d2, 0xc5 => 0x029b, 0xc6 => 0x022c, 0xc7 => 0x0260,
- 0xc8 => 0x02d2, 0xc9 => 0x022c, 0xca => 0x012c, 0xcb => 0x02d2,
- 0xcc => 0x029b, 0xcd => 0x029b, 0xce => 0x023a, 0xcf => 0x022c,
- 0xd0 => 0x0263, 0xd1 => 0x01ee, 0xd2 => 0x01bc, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x029b, 0xd6 => 0x01f4, 0xd7 => 0x01bc,
- 0xd8 => 0x01bc, 0xd9 => 0x022c, 0xda => 0x022c, 0xdb => 0x02d2,
- 0xdc => 0x0185, 0xdd => 0x023a, 0xde => 0xdc, 0xdf => 0x02eb,
- 0xe0 => 0x02d2, 0xe1 => 0x0185, 0xe2 => 0x0258, 0xe3 => 0x029b,
- 0xe4 => 0x0185, 0xe5 => 0x01f4, 0xe6 => 0x0263, 0xe7 => 0x0263,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x029b, 0xeb => 0x0116,
- 0xec => 0x016e, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x029b,
- 0xf0 => 0x029b, 0xf1 => 0x01bc, 0xf2 => 0x0185, 0xf3 => 0x0116,
- 0xf4 => 0x02d2, 0xf5 => 0x01f4, 0xf6 => 0x01f4, 0xf7 => 0x0185,
- 0xf8 => 0x0116, 0xf9 => 0x02d2, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x01f4, 0xfd => 0x012c, 0xfe => 0x02d2, 0xff => 0x0240,
- 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x029b, 0x0103 => 0x01f4,
- 0x0104 => 0x02ee, 0x0105 => 0x022c, 0x0106 => 0x017e, 0x0107 => 0x029b,
- 0x0108 => 0x0263, 0x0109 => 0x03e8, 0x010a => 0x01bc, 0x010b => 0x0185,
- 0x010c => 0x0185, 0x010d => 0x0263, 0x010e => 0x02ee, 0x010f => 0x0225,
- 0x0110 => 0x01f4, 0x0111 => 0x022c, 0x0112 => 0x02d2, 0x0113 => 0x029b,
- 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x022c,
- 0x0118 => 0x022c, 0x0119 => 0x02d2, 0x011a => 0x0190, 0x011b => 0x01f4,
- 0x011c => 0x029b, 0x011d => 0x022c, 0x011e => 0x0225, 0x011f => 0x02d2,
- 0x0120 => 0x0185, 0x0121 => 0x02d2, 0x0122 => 0x01f4, 0x0123 => 0x029b,
- 0x0124 => 0x0263, 0x0125 => 0x029b, 0x0126 => 0x029b, 0x0127 => 0x029b,
- 0x0128 => 0x02d2, 0x0129 => 0x0185, 0x012a => 0x029b, 0x012b => 0x0185,
- 0x012c => 0x01f4, 0x012d => 0x025e, 0x012e => 0x0185, 0x012f => 0x022c,
- 0x0130 => 0x0116, 0x0131 => 0x025e, 0x0132 => 0x01f4, 0x0133 => 0x022c,
- 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x0185,
- 0x0138 => 0x022c, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-BoldItalic');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php
deleted file mode 100644
index d6b4ce107..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesItalic.php
+++ /dev/null
@@ -1,305 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00"
- . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00"
- . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00"
- . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00"
- . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00"
- . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00"
- . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00"
- . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00"
- . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00"
- . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00"
- . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00"
- . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00"
- . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00"
- . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00"
- . "\x65\x00\x73\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x37";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x49\x00\x74\x00"
- . "\x61\x00\x6c\x00\x69\x00\x63\x00\x20\x00\x4d\x00\x65\x00\x64\x00"
- . "\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x49\x00\x74\x00"
- . "\x61\x00\x6c\x00\x69\x00\x63";
-
- $this->_isBold = false;
- $this->_isItalic = true;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 683;
- $this->_descent = -217;
- $this->_lineGap = 300;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x01a4,
- 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x0341, 0x07 => 0x030a,
- 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4,
- 0x0c => 0x02a3, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa,
- 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4,
- 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4,
- 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x014d,
- 0x1c => 0x014d, 0x1d => 0x02a3, 0x1e => 0x02a3, 0x1f => 0x02a3,
- 0x20 => 0x01f4, 0x21 => 0x0398, 0x22 => 0x0263, 0x23 => 0x0263,
- 0x24 => 0x029b, 0x25 => 0x02d2, 0x26 => 0x0263, 0x27 => 0x0263,
- 0x28 => 0x02d2, 0x29 => 0x02d2, 0x2a => 0x014d, 0x2b => 0x01bc,
- 0x2c => 0x029b, 0x2d => 0x022c, 0x2e => 0x0341, 0x2f => 0x029b,
- 0x30 => 0x02d2, 0x31 => 0x0263, 0x32 => 0x02d2, 0x33 => 0x0263,
- 0x34 => 0x01f4, 0x35 => 0x022c, 0x36 => 0x02d2, 0x37 => 0x0263,
- 0x38 => 0x0341, 0x39 => 0x0263, 0x3a => 0x022c, 0x3b => 0x022c,
- 0x3c => 0x0185, 0x3d => 0x0116, 0x3e => 0x0185, 0x3f => 0x01a6,
- 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01f4, 0x43 => 0x01f4,
- 0x44 => 0x01bc, 0x45 => 0x01f4, 0x46 => 0x01bc, 0x47 => 0x0116,
- 0x48 => 0x01f4, 0x49 => 0x01f4, 0x4a => 0x0116, 0x4b => 0x0116,
- 0x4c => 0x01bc, 0x4d => 0x0116, 0x4e => 0x02d2, 0x4f => 0x01f4,
- 0x50 => 0x01f4, 0x51 => 0x01f4, 0x52 => 0x01f4, 0x53 => 0x0185,
- 0x54 => 0x0185, 0x55 => 0x0116, 0x56 => 0x01f4, 0x57 => 0x01bc,
- 0x58 => 0x029b, 0x59 => 0x01bc, 0x5a => 0x01bc, 0x5b => 0x0185,
- 0x5c => 0x0190, 0x5d => 0x0113, 0x5e => 0x0190, 0x5f => 0x021d,
- 0x60 => 0x0185, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7,
- 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4,
- 0x68 => 0xd6, 0x69 => 0x022c, 0x6a => 0x01f4, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x01f4, 0x6e => 0x01f4, 0x6f => 0x01f4,
- 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x020b,
- 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x022c, 0x77 => 0x022c,
- 0x78 => 0x01f4, 0x79 => 0x0379, 0x7a => 0x03e8, 0x7b => 0x01f4,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x0379, 0x8a => 0x0379, 0x8b => 0x0114,
- 0x8c => 0x022c, 0x8d => 0x02d2, 0x8e => 0x03b0, 0x8f => 0x0136,
- 0x90 => 0x029b, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4,
- 0x94 => 0x029b, 0x95 => 0x01f4, 0x96 => 0x014d, 0x97 => 0x01bc,
- 0x98 => 0x01f4, 0x99 => 0x01f4, 0x9a => 0x01bc, 0x9b => 0x022c,
- 0x9c => 0x02a3, 0x9d => 0x022c, 0x9e => 0x0263, 0x9f => 0x01f4,
- 0xa0 => 0x02d2, 0xa1 => 0x01bc, 0xa2 => 0x0185, 0xa3 => 0x01bc,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01f4, 0xa7 => 0x02d2,
- 0xa8 => 0x01f4, 0xa9 => 0x0263, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02f8, 0xad => 0x0263, 0xae => 0x01bc, 0xaf => 0x01f4,
- 0xb0 => 0x029b, 0xb1 => 0x0116, 0xb2 => 0x01f4, 0xb3 => 0x022c,
- 0xb4 => 0x029b, 0xb5 => 0x01f4, 0xb6 => 0x0263, 0xb7 => 0x0185,
- 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x0263,
- 0xbc => 0x02d2, 0xbd => 0x01f4, 0xbe => 0x01f4, 0xbf => 0x0263,
- 0xc0 => 0x0185, 0xc1 => 0x01bc, 0xc2 => 0x022c, 0xc3 => 0x0263,
- 0xc4 => 0x02d2, 0xc5 => 0x0263, 0xc6 => 0x01f4, 0xc7 => 0x0220,
- 0xc8 => 0x02d2, 0xc9 => 0x01f4, 0xca => 0x012c, 0xcb => 0x02d2,
- 0xcc => 0x0263, 0xcd => 0x0263, 0xce => 0x02a3, 0xcf => 0x01f4,
- 0xd0 => 0x022c, 0xd1 => 0x01dc, 0xd2 => 0x01bc, 0xd3 => 0x029b,
- 0xd4 => 0x0116, 0xd5 => 0x0263, 0xd6 => 0x01f4, 0xd7 => 0x01bc,
- 0xd8 => 0x01bc, 0xd9 => 0x01f4, 0xda => 0x01f4, 0xdb => 0x029b,
- 0xdc => 0x014d, 0xdd => 0x02a3, 0xde => 0x0113, 0xdf => 0x02f8,
- 0xe0 => 0x02d2, 0xe1 => 0x014d, 0xe2 => 0x0258, 0xe3 => 0x0263,
- 0xe4 => 0x0185, 0xe5 => 0x01f4, 0xe6 => 0x022c, 0xe7 => 0x022c,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x029b, 0xeb => 0x0116,
- 0xec => 0x012c, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x0263,
- 0xf0 => 0x0263, 0xf1 => 0x01bc, 0xf2 => 0x0185, 0xf3 => 0x0116,
- 0xf4 => 0x02d2, 0xf5 => 0x01f4, 0xf6 => 0x01f4, 0xf7 => 0x0185,
- 0xf8 => 0x0116, 0xf9 => 0x02d2, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x01f4, 0xfd => 0x012c, 0xfe => 0x02d2, 0xff => 0x01f4,
- 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x0263, 0x0103 => 0x01f4,
- 0x0104 => 0x02ee, 0x0105 => 0x01f4, 0x0106 => 0x012c, 0x0107 => 0x029b,
- 0x0108 => 0x022c, 0x0109 => 0x03d4, 0x010a => 0x01bc, 0x010b => 0x014d,
- 0x010c => 0x014d, 0x010d => 0x0263, 0x010e => 0x02ee, 0x010f => 0x0225,
- 0x0110 => 0x01f4, 0x0111 => 0x01f4, 0x0112 => 0x02d2, 0x0113 => 0x0263,
- 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x01f4,
- 0x0118 => 0x01f4, 0x0119 => 0x02d2, 0x011a => 0x0190, 0x011b => 0x01f4,
- 0x011c => 0x029b, 0x011d => 0x01f4, 0x011e => 0x01c5, 0x011f => 0x02d2,
- 0x0120 => 0x0185, 0x0121 => 0x029b, 0x0122 => 0x01f4, 0x0123 => 0x0263,
- 0x0124 => 0x022c, 0x0125 => 0x0263, 0x0126 => 0x0263, 0x0127 => 0x0263,
- 0x0128 => 0x02d2, 0x0129 => 0x0185, 0x012a => 0x0263, 0x012b => 0x014d,
- 0x012c => 0x01bc, 0x012d => 0x02a3, 0x012e => 0x014d, 0x012f => 0x01f4,
- 0x0130 => 0x0116, 0x0131 => 0x02a3, 0x0132 => 0x01f4, 0x0133 => 0x01f4,
- 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x0185,
- 0x0138 => 0x01f4, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-Italic');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php
deleted file mode 100644
index aa715fe1d..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/TimesRoman.php
+++ /dev/null
@@ -1,305 +0,0 @@
-_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x39\x00\x30\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x33\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x39\x00\x37\x00"
- . "\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00\x20\x00\x53\x00"
- . "\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00\x20\x00\x49\x00"
- . "\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x20\x00\x41\x00\x6c\x00"
- . "\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00\x73\x00"
- . "\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00\x65\x00"
- . "\x64\x00\x2e\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x20\x00"
- . "\x69\x00\x73\x00\x20\x00\x61\x00\x20\x00\x74\x00\x72\x00\x61\x00"
- . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00"
- . "\x66\x00\x20\x00\x4c\x00\x69\x00\x6e\x00\x6f\x00\x74\x00\x79\x00"
- . "\x70\x00\x65\x00\x2d\x00\x48\x00\x65\x00\x6c\x00\x6c\x00\x20\x00"
- . "\x41\x00\x47\x00\x20\x00\x61\x00\x6e\x00\x64\x00\x2f\x00\x6f\x00"
- . "\x72\x00\x20\x00\x69\x00\x74\x00\x73\x00\x20\x00\x73\x00\x75\x00"
- . "\x62\x00\x73\x00\x69\x00\x64\x00\x69\x00\x61\x00\x72\x00\x69\x00"
- . "\x65\x00\x73\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x52\x00\x6f\x00\x6d\x00\x61\x00\x6e";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x36\x00\x38";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x52\x00\x6f\x00"
- . "\x6d\x00\x61\x00\x6e\x00\x20\x00\x52\x00\x6f\x00\x6d\x00\x61\x00"
- . "\x6e";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x54\x00\x69\x00\x6d\x00\x65\x00\x73\x00\x2d\x00\x52\x00\x6f\x00"
- . "\x6d\x00\x61\x00\x6e";
-
- $this->_isBold = false;
- $this->_isItalic = false;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 683;
- $this->_descent = -217;
- $this->_lineGap = 300;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0xfa, 0x02 => 0x014d, 0x03 => 0x0198,
- 0x04 => 0x01f4, 0x05 => 0x01f4, 0x06 => 0x0341, 0x07 => 0x030a,
- 0x08 => 0x014d, 0x09 => 0x014d, 0x0a => 0x014d, 0x0b => 0x01f4,
- 0x0c => 0x0234, 0x0d => 0xfa, 0x0e => 0x014d, 0x0f => 0xfa,
- 0x10 => 0x0116, 0x11 => 0x01f4, 0x12 => 0x01f4, 0x13 => 0x01f4,
- 0x14 => 0x01f4, 0x15 => 0x01f4, 0x16 => 0x01f4, 0x17 => 0x01f4,
- 0x18 => 0x01f4, 0x19 => 0x01f4, 0x1a => 0x01f4, 0x1b => 0x0116,
- 0x1c => 0x0116, 0x1d => 0x0234, 0x1e => 0x0234, 0x1f => 0x0234,
- 0x20 => 0x01bc, 0x21 => 0x0399, 0x22 => 0x02d2, 0x23 => 0x029b,
- 0x24 => 0x029b, 0x25 => 0x02d2, 0x26 => 0x0263, 0x27 => 0x022c,
- 0x28 => 0x02d2, 0x29 => 0x02d2, 0x2a => 0x014d, 0x2b => 0x0185,
- 0x2c => 0x02d2, 0x2d => 0x0263, 0x2e => 0x0379, 0x2f => 0x02d2,
- 0x30 => 0x02d2, 0x31 => 0x022c, 0x32 => 0x02d2, 0x33 => 0x029b,
- 0x34 => 0x022c, 0x35 => 0x0263, 0x36 => 0x02d2, 0x37 => 0x02d2,
- 0x38 => 0x03b0, 0x39 => 0x02d2, 0x3a => 0x02d2, 0x3b => 0x0263,
- 0x3c => 0x014d, 0x3d => 0x0116, 0x3e => 0x014d, 0x3f => 0x01d5,
- 0x40 => 0x01f4, 0x41 => 0x014d, 0x42 => 0x01bc, 0x43 => 0x01f4,
- 0x44 => 0x01bc, 0x45 => 0x01f4, 0x46 => 0x01bc, 0x47 => 0x014d,
- 0x48 => 0x01f4, 0x49 => 0x01f4, 0x4a => 0x0116, 0x4b => 0x0116,
- 0x4c => 0x01f4, 0x4d => 0x0116, 0x4e => 0x030a, 0x4f => 0x01f4,
- 0x50 => 0x01f4, 0x51 => 0x01f4, 0x52 => 0x01f4, 0x53 => 0x014d,
- 0x54 => 0x0185, 0x55 => 0x0116, 0x56 => 0x01f4, 0x57 => 0x01f4,
- 0x58 => 0x02d2, 0x59 => 0x01f4, 0x5a => 0x01f4, 0x5b => 0x01bc,
- 0x5c => 0x01e0, 0x5d => 0xc8, 0x5e => 0x01e0, 0x5f => 0x021d,
- 0x60 => 0x014d, 0x61 => 0x01f4, 0x62 => 0x01f4, 0x63 => 0xa7,
- 0x64 => 0x01f4, 0x65 => 0x01f4, 0x66 => 0x01f4, 0x67 => 0x01f4,
- 0x68 => 0xb4, 0x69 => 0x01bc, 0x6a => 0x01f4, 0x6b => 0x014d,
- 0x6c => 0x014d, 0x6d => 0x022c, 0x6e => 0x022c, 0x6f => 0x01f4,
- 0x70 => 0x01f4, 0x71 => 0x01f4, 0x72 => 0xfa, 0x73 => 0x01c5,
- 0x74 => 0x015e, 0x75 => 0x014d, 0x76 => 0x01bc, 0x77 => 0x01bc,
- 0x78 => 0x01f4, 0x79 => 0x03e8, 0x7a => 0x03e8, 0x7b => 0x01bc,
- 0x7c => 0x014d, 0x7d => 0x014d, 0x7e => 0x014d, 0x7f => 0x014d,
- 0x80 => 0x014d, 0x81 => 0x014d, 0x82 => 0x014d, 0x83 => 0x014d,
- 0x84 => 0x014d, 0x85 => 0x014d, 0x86 => 0x014d, 0x87 => 0x014d,
- 0x88 => 0x014d, 0x89 => 0x03e8, 0x8a => 0x0379, 0x8b => 0x0114,
- 0x8c => 0x0263, 0x8d => 0x02d2, 0x8e => 0x0379, 0x8f => 0x0136,
- 0x90 => 0x029b, 0x91 => 0x0116, 0x92 => 0x0116, 0x93 => 0x01f4,
- 0x94 => 0x02d2, 0x95 => 0x01f4, 0x96 => 0x014d, 0x97 => 0x01bc,
- 0x98 => 0x01bc, 0x99 => 0x01f4, 0x9a => 0x01bc, 0x9b => 0x02d2,
- 0x9c => 0x0234, 0x9d => 0x02d2, 0x9e => 0x02d2, 0x9f => 0x01bc,
- 0xa0 => 0x02d2, 0xa1 => 0x01f4, 0xa2 => 0x0185, 0xa3 => 0x01bc,
- 0xa4 => 0x02d2, 0xa5 => 0x02d2, 0xa6 => 0x01bc, 0xa7 => 0x02d2,
- 0xa8 => 0x01f4, 0xa9 => 0x0263, 0xaa => 0x02d2, 0xab => 0xfa,
- 0xac => 0x02f8, 0xad => 0x0263, 0xae => 0x01bc, 0xaf => 0x01bc,
- 0xb0 => 0x02d2, 0xb1 => 0x0116, 0xb2 => 0x01bc, 0xb3 => 0x0263,
- 0xb4 => 0x029b, 0xb5 => 0x01bc, 0xb6 => 0x0263, 0xb7 => 0x0185,
- 0xb8 => 0x0185, 0xb9 => 0x0116, 0xba => 0x01d7, 0xbb => 0x029b,
- 0xbc => 0x02d2, 0xbd => 0x01f4, 0xbe => 0x01bc, 0xbf => 0x02d2,
- 0xc0 => 0x014d, 0xc1 => 0x01bc, 0xc2 => 0x0263, 0xc3 => 0x022c,
- 0xc4 => 0x02d2, 0xc5 => 0x029b, 0xc6 => 0x022c, 0xc7 => 0x024c,
- 0xc8 => 0x02d2, 0xc9 => 0x01f4, 0xca => 0x012c, 0xcb => 0x02d2,
- 0xcc => 0x02d2, 0xcd => 0x02d2, 0xce => 0x0234, 0xcf => 0x01f4,
- 0xd0 => 0x0263, 0xd1 => 0x01dc, 0xd2 => 0x01f4, 0xd3 => 0x02d2,
- 0xd4 => 0x0116, 0xd5 => 0x0263, 0xd6 => 0x01bc, 0xd7 => 0x01bc,
- 0xd8 => 0x01bc, 0xd9 => 0x01f4, 0xda => 0x01f4, 0xdb => 0x02d2,
- 0xdc => 0x014d, 0xdd => 0x0234, 0xde => 0xc8, 0xdf => 0x02f8,
- 0xe0 => 0x02d2, 0xe1 => 0x014d, 0xe2 => 0x0258, 0xe3 => 0x0263,
- 0xe4 => 0x014d, 0xe5 => 0x01f4, 0xe6 => 0x0263, 0xe7 => 0x0263,
- 0xe8 => 0x0225, 0xe9 => 0x02d2, 0xea => 0x029b, 0xeb => 0x0116,
- 0xec => 0x0146, 0xed => 0x01bc, 0xee => 0x02d2, 0xef => 0x02d2,
- 0xf0 => 0x02d2, 0xf1 => 0x01bc, 0xf2 => 0x01bc, 0xf3 => 0x0116,
- 0xf4 => 0x02d2, 0xf5 => 0x01f4, 0xf6 => 0x01bc, 0xf7 => 0x0185,
- 0xf8 => 0x0116, 0xf9 => 0x02d2, 0xfa => 0x02d2, 0xfb => 0x0264,
- 0xfc => 0x01f4, 0xfd => 0x012c, 0xfe => 0x02d2, 0xff => 0x01f4,
- 0x0100 => 0x0116, 0x0101 => 0x01f4, 0x0102 => 0x0263, 0x0103 => 0x01f4,
- 0x0104 => 0x02ee, 0x0105 => 0x022c, 0x0106 => 0x0158, 0x0107 => 0x02d2,
- 0x0108 => 0x0263, 0x0109 => 0x03d4, 0x010a => 0x01bc, 0x010b => 0x014d,
- 0x010c => 0x014d, 0x010d => 0x0263, 0x010e => 0x02ee, 0x010f => 0x0225,
- 0x0110 => 0x01f4, 0x0111 => 0x01f4, 0x0112 => 0x02d2, 0x0113 => 0x0263,
- 0x0114 => 0x01bc, 0x0115 => 0x01f4, 0x0116 => 0x02ee, 0x0117 => 0x022c,
- 0x0118 => 0x022c, 0x0119 => 0x02d2, 0x011a => 0x0190, 0x011b => 0x01f4,
- 0x011c => 0x029b, 0x011d => 0x01f4, 0x011e => 0x01c5, 0x011f => 0x02d2,
- 0x0120 => 0x014d, 0x0121 => 0x02d2, 0x0122 => 0x01f4, 0x0123 => 0x029b,
- 0x0124 => 0x0263, 0x0125 => 0x02d2, 0x0126 => 0x02d2, 0x0127 => 0x02d2,
- 0x0128 => 0x02d2, 0x0129 => 0x01bc, 0x012a => 0x0263, 0x012b => 0x014d,
- 0x012c => 0x01f4, 0x012d => 0x0234, 0x012e => 0x014d, 0x012f => 0x01f4,
- 0x0130 => 0x0116, 0x0131 => 0x0234, 0x0132 => 0x01f4, 0x0133 => 0x01f4,
- 0x0134 => 0x0225, 0x0135 => 0x01f4, 0x0136 => 0x01f4, 0x0137 => 0x01bc,
- 0x0138 => 0x01f4, 0x0139 => 0x012c, 0x013a => 0x0116, 0x013b => 0x01f4,
- );
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x21 => 0x02, 0x22 => 0x03, 0x23 => 0x04,
- 0x24 => 0x05, 0x25 => 0x06, 0x26 => 0x07, 0x2019 => 0x08,
- 0x28 => 0x09, 0x29 => 0x0a, 0x2a => 0x0b, 0x2b => 0x0c,
- 0x2c => 0x0d, 0x2d => 0x0e, 0x2e => 0x0f, 0x2f => 0x10,
- 0x30 => 0x11, 0x31 => 0x12, 0x32 => 0x13, 0x33 => 0x14,
- 0x34 => 0x15, 0x35 => 0x16, 0x36 => 0x17, 0x37 => 0x18,
- 0x38 => 0x19, 0x39 => 0x1a, 0x3a => 0x1b, 0x3b => 0x1c,
- 0x3c => 0x1d, 0x3d => 0x1e, 0x3e => 0x1f, 0x3f => 0x20,
- 0x40 => 0x21, 0x41 => 0x22, 0x42 => 0x23, 0x43 => 0x24,
- 0x44 => 0x25, 0x45 => 0x26, 0x46 => 0x27, 0x47 => 0x28,
- 0x48 => 0x29, 0x49 => 0x2a, 0x4a => 0x2b, 0x4b => 0x2c,
- 0x4c => 0x2d, 0x4d => 0x2e, 0x4e => 0x2f, 0x4f => 0x30,
- 0x50 => 0x31, 0x51 => 0x32, 0x52 => 0x33, 0x53 => 0x34,
- 0x54 => 0x35, 0x55 => 0x36, 0x56 => 0x37, 0x57 => 0x38,
- 0x58 => 0x39, 0x59 => 0x3a, 0x5a => 0x3b, 0x5b => 0x3c,
- 0x5c => 0x3d, 0x5d => 0x3e, 0x5e => 0x3f, 0x5f => 0x40,
- 0x2018 => 0x41, 0x61 => 0x42, 0x62 => 0x43, 0x63 => 0x44,
- 0x64 => 0x45, 0x65 => 0x46, 0x66 => 0x47, 0x67 => 0x48,
- 0x68 => 0x49, 0x69 => 0x4a, 0x6a => 0x4b, 0x6b => 0x4c,
- 0x6c => 0x4d, 0x6d => 0x4e, 0x6e => 0x4f, 0x6f => 0x50,
- 0x70 => 0x51, 0x71 => 0x52, 0x72 => 0x53, 0x73 => 0x54,
- 0x74 => 0x55, 0x75 => 0x56, 0x76 => 0x57, 0x77 => 0x58,
- 0x78 => 0x59, 0x79 => 0x5a, 0x7a => 0x5b, 0x7b => 0x5c,
- 0x7c => 0x5d, 0x7d => 0x5e, 0x7e => 0x5f, 0xa1 => 0x60,
- 0xa2 => 0x61, 0xa3 => 0x62, 0x2044 => 0x63, 0xa5 => 0x64,
- 0x0192 => 0x65, 0xa7 => 0x66, 0xa4 => 0x67, 0x27 => 0x68,
- 0x201c => 0x69, 0xab => 0x6a, 0x2039 => 0x6b, 0x203a => 0x6c,
- 0xfb01 => 0x6d, 0xfb02 => 0x6e, 0x2013 => 0x6f, 0x2020 => 0x70,
- 0x2021 => 0x71, 0xb7 => 0x72, 0xb6 => 0x73, 0x2022 => 0x74,
- 0x201a => 0x75, 0x201e => 0x76, 0x201d => 0x77, 0xbb => 0x78,
- 0x2026 => 0x79, 0x2030 => 0x7a, 0xbf => 0x7b, 0x60 => 0x7c,
- 0xb4 => 0x7d, 0x02c6 => 0x7e, 0x02dc => 0x7f, 0xaf => 0x80,
- 0x02d8 => 0x81, 0x02d9 => 0x82, 0xa8 => 0x83, 0x02da => 0x84,
- 0xb8 => 0x85, 0x02dd => 0x86, 0x02db => 0x87, 0x02c7 => 0x88,
- 0x2014 => 0x89, 0xc6 => 0x8a, 0xaa => 0x8b, 0x0141 => 0x8c,
- 0xd8 => 0x8d, 0x0152 => 0x8e, 0xba => 0x8f, 0xe6 => 0x90,
- 0x0131 => 0x91, 0x0142 => 0x92, 0xf8 => 0x93, 0x0153 => 0x94,
- 0xdf => 0x95, 0xcf => 0x96, 0xe9 => 0x97, 0x0103 => 0x98,
- 0x0171 => 0x99, 0x011b => 0x9a, 0x0178 => 0x9b, 0xf7 => 0x9c,
- 0xdd => 0x9d, 0xc2 => 0x9e, 0xe1 => 0x9f, 0xdb => 0xa0,
- 0xfd => 0xa1, 0x0219 => 0xa2, 0xea => 0xa3, 0x016e => 0xa4,
- 0xdc => 0xa5, 0x0105 => 0xa6, 0xda => 0xa7, 0x0173 => 0xa8,
- 0xcb => 0xa9, 0x0110 => 0xaa, 0xf6c3 => 0xab, 0xa9 => 0xac,
- 0x0112 => 0xad, 0x010d => 0xae, 0xe5 => 0xaf, 0x0145 => 0xb0,
- 0x013a => 0xb1, 0xe0 => 0xb2, 0x0162 => 0xb3, 0x0106 => 0xb4,
- 0xe3 => 0xb5, 0x0116 => 0xb6, 0x0161 => 0xb7, 0x015f => 0xb8,
- 0xed => 0xb9, 0x25ca => 0xba, 0x0158 => 0xbb, 0x0122 => 0xbc,
- 0xfb => 0xbd, 0xe2 => 0xbe, 0x0100 => 0xbf, 0x0159 => 0xc0,
- 0xe7 => 0xc1, 0x017b => 0xc2, 0xde => 0xc3, 0x014c => 0xc4,
- 0x0154 => 0xc5, 0x015a => 0xc6, 0x010f => 0xc7, 0x016a => 0xc8,
- 0x016f => 0xc9, 0xb3 => 0xca, 0xd2 => 0xcb, 0xc0 => 0xcc,
- 0x0102 => 0xcd, 0xd7 => 0xce, 0xfa => 0xcf, 0x0164 => 0xd0,
- 0x2202 => 0xd1, 0xff => 0xd2, 0x0143 => 0xd3, 0xee => 0xd4,
- 0xca => 0xd5, 0xe4 => 0xd6, 0xeb => 0xd7, 0x0107 => 0xd8,
- 0x0144 => 0xd9, 0x016b => 0xda, 0x0147 => 0xdb, 0xcd => 0xdc,
- 0xb1 => 0xdd, 0xa6 => 0xde, 0xae => 0xdf, 0x011e => 0xe0,
- 0x0130 => 0xe1, 0x2211 => 0xe2, 0xc8 => 0xe3, 0x0155 => 0xe4,
- 0x014d => 0xe5, 0x0179 => 0xe6, 0x017d => 0xe7, 0x2265 => 0xe8,
- 0xd0 => 0xe9, 0xc7 => 0xea, 0x013c => 0xeb, 0x0165 => 0xec,
- 0x0119 => 0xed, 0x0172 => 0xee, 0xc1 => 0xef, 0xc4 => 0xf0,
- 0xe8 => 0xf1, 0x017a => 0xf2, 0x012f => 0xf3, 0xd3 => 0xf4,
- 0xf3 => 0xf5, 0x0101 => 0xf6, 0x015b => 0xf7, 0xef => 0xf8,
- 0xd4 => 0xf9, 0xd9 => 0xfa, 0x2206 => 0xfb, 0xfe => 0xfc,
- 0xb2 => 0xfd, 0xd6 => 0xfe, 0xb5 => 0xff, 0xec => 0x0100,
- 0x0151 => 0x0101, 0x0118 => 0x0102, 0x0111 => 0x0103, 0xbe => 0x0104,
- 0x015e => 0x0105, 0x013e => 0x0106, 0x0136 => 0x0107, 0x0139 => 0x0108,
- 0x2122 => 0x0109, 0x0117 => 0x010a, 0xcc => 0x010b, 0x012a => 0x010c,
- 0x013d => 0x010d, 0xbd => 0x010e, 0x2264 => 0x010f, 0xf4 => 0x0110,
- 0xf1 => 0x0111, 0x0170 => 0x0112, 0xc9 => 0x0113, 0x0113 => 0x0114,
- 0x011f => 0x0115, 0xbc => 0x0116, 0x0160 => 0x0117, 0x0218 => 0x0118,
- 0x0150 => 0x0119, 0xb0 => 0x011a, 0xf2 => 0x011b, 0x010c => 0x011c,
- 0xf9 => 0x011d, 0x221a => 0x011e, 0x010e => 0x011f, 0x0157 => 0x0120,
- 0xd1 => 0x0121, 0xf5 => 0x0122, 0x0156 => 0x0123, 0x013b => 0x0124,
- 0xc3 => 0x0125, 0x0104 => 0x0126, 0xc5 => 0x0127, 0xd5 => 0x0128,
- 0x017c => 0x0129, 0x011a => 0x012a, 0x012e => 0x012b, 0x0137 => 0x012c,
- 0x2212 => 0x012d, 0xce => 0x012e, 0x0148 => 0x012f, 0x0163 => 0x0130,
- 0xac => 0x0131, 0xf6 => 0x0132, 0xfc => 0x0133, 0x2260 => 0x0134,
- 0x0123 => 0x0135, 0xf0 => 0x0136, 0x017e => 0x0137, 0x0146 => 0x0138,
- 0xb9 => 0x0139, 0x012b => 0x013a, 0x20ac => 0x013b);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('Times-Roman');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php
deleted file mode 100644
index c13cb066c..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Simple/Standard/ZapfDingbats.php
+++ /dev/null
@@ -1,491 +0,0 @@
- "\x20", 0x2701 => "\x21", 0x2702 => "\x22", 0x2703 => "\x23",
- 0x2704 => "\x24", 0x260e => "\x25", 0x2706 => "\x26", 0x2707 => "\x27",
- 0x2708 => "\x28", 0x2709 => "\x29", 0x261b => "\x2a", 0x261e => "\x2b",
- 0x270c => "\x2c", 0x270d => "\x2d", 0x270e => "\x2e", 0x270f => "\x2f",
- 0x2710 => "\x30", 0x2711 => "\x31", 0x2712 => "\x32", 0x2713 => "\x33",
- 0x2714 => "\x34", 0x2715 => "\x35", 0x2716 => "\x36", 0x2717 => "\x37",
- 0x2718 => "\x38", 0x2719 => "\x39", 0x271a => "\x3a", 0x271b => "\x3b",
- 0x271c => "\x3c", 0x271d => "\x3d", 0x271e => "\x3e", 0x271f => "\x3f",
- 0x2720 => "\x40", 0x2721 => "\x41", 0x2722 => "\x42", 0x2723 => "\x43",
- 0x2724 => "\x44", 0x2725 => "\x45", 0x2726 => "\x46", 0x2727 => "\x47",
- 0x2605 => "\x48", 0x2729 => "\x49", 0x272a => "\x4a", 0x272b => "\x4b",
- 0x272c => "\x4c", 0x272d => "\x4d", 0x272e => "\x4e", 0x272f => "\x4f",
- 0x2730 => "\x50", 0x2731 => "\x51", 0x2732 => "\x52", 0x2733 => "\x53",
- 0x2734 => "\x54", 0x2735 => "\x55", 0x2736 => "\x56", 0x2737 => "\x57",
- 0x2738 => "\x58", 0x2739 => "\x59", 0x273a => "\x5a", 0x273b => "\x5b",
- 0x273c => "\x5c", 0x273d => "\x5d", 0x273e => "\x5e", 0x273f => "\x5f",
- 0x2740 => "\x60", 0x2741 => "\x61", 0x2742 => "\x62", 0x2743 => "\x63",
- 0x2744 => "\x64", 0x2745 => "\x65", 0x2746 => "\x66", 0x2747 => "\x67",
- 0x2748 => "\x68", 0x2749 => "\x69", 0x274a => "\x6a", 0x274b => "\x6b",
- 0x25cf => "\x6c", 0x274d => "\x6d", 0x25a0 => "\x6e", 0x274f => "\x6f",
- 0x2750 => "\x70", 0x2751 => "\x71", 0x2752 => "\x72", 0x25b2 => "\x73",
- 0x25bc => "\x74", 0x25c6 => "\x75", 0x2756 => "\x76", 0x25d7 => "\x77",
- 0x2758 => "\x78", 0x2759 => "\x79", 0x275a => "\x7a", 0x275b => "\x7b",
- 0x275c => "\x7c", 0x275d => "\x7d", 0x275e => "\x7e", 0x2768 => "\x80",
- 0x2769 => "\x81", 0x276a => "\x82", 0x276b => "\x83", 0x276c => "\x84",
- 0x276d => "\x85", 0x276e => "\x86", 0x276f => "\x87", 0x2770 => "\x88",
- 0x2771 => "\x89", 0x2772 => "\x8a", 0x2773 => "\x8b", 0x2774 => "\x8c",
- 0x2775 => "\x8d", 0x2761 => "\xa1", 0x2762 => "\xa2", 0x2763 => "\xa3",
- 0x2764 => "\xa4", 0x2765 => "\xa5", 0x2766 => "\xa6", 0x2767 => "\xa7",
- 0x2663 => "\xa8", 0x2666 => "\xa9", 0x2665 => "\xaa", 0x2660 => "\xab",
- 0x2460 => "\xac", 0x2461 => "\xad", 0x2462 => "\xae", 0x2463 => "\xaf",
- 0x2464 => "\xb0", 0x2465 => "\xb1", 0x2466 => "\xb2", 0x2467 => "\xb3",
- 0x2468 => "\xb4", 0x2469 => "\xb5", 0x2776 => "\xb6", 0x2777 => "\xb7",
- 0x2778 => "\xb8", 0x2779 => "\xb9", 0x277a => "\xba", 0x277b => "\xbb",
- 0x277c => "\xbc", 0x277d => "\xbd", 0x277e => "\xbe", 0x277f => "\xbf",
- 0x2780 => "\xc0", 0x2781 => "\xc1", 0x2782 => "\xc2", 0x2783 => "\xc3",
- 0x2784 => "\xc4", 0x2785 => "\xc5", 0x2786 => "\xc6", 0x2787 => "\xc7",
- 0x2788 => "\xc8", 0x2789 => "\xc9", 0x278a => "\xca", 0x278b => "\xcb",
- 0x278c => "\xcc", 0x278d => "\xcd", 0x278e => "\xce", 0x278f => "\xcf",
- 0x2790 => "\xd0", 0x2791 => "\xd1", 0x2792 => "\xd2", 0x2793 => "\xd3",
- 0x2794 => "\xd4", 0x2192 => "\xd5", 0x2194 => "\xd6", 0x2195 => "\xd7",
- 0x2798 => "\xd8", 0x2799 => "\xd9", 0x279a => "\xda", 0x279b => "\xdb",
- 0x279c => "\xdc", 0x279d => "\xdd", 0x279e => "\xde", 0x279f => "\xdf",
- 0x27a0 => "\xe0", 0x27a1 => "\xe1", 0x27a2 => "\xe2", 0x27a3 => "\xe3",
- 0x27a4 => "\xe4", 0x27a5 => "\xe5", 0x27a6 => "\xe6", 0x27a7 => "\xe7",
- 0x27a8 => "\xe8", 0x27a9 => "\xe9", 0x27aa => "\xea", 0x27ab => "\xeb",
- 0x27ac => "\xec", 0x27ad => "\xed", 0x27ae => "\xee", 0x27af => "\xef",
- 0x27b1 => "\xf1", 0x27b2 => "\xf2", 0x27b3 => "\xf3", 0x27b4 => "\xf4",
- 0x27b5 => "\xf5", 0x27b6 => "\xf6", 0x27b7 => "\xf7", 0x27b8 => "\xf8",
- 0x27b9 => "\xf9", 0x27ba => "\xfa", 0x27bb => "\xfb", 0x27bc => "\xfc",
- 0x27bd => "\xfd", 0x27be => "\xfe");
-
- /**
- * Array for conversion from special font encoding to local encoding.
- * See {@link decodeString()}.
- * @var array
- */
- protected $_fromFontEncoding = array(
- 0x20 => "\x00\x20", 0x21 => "\x27\x01", 0x22 => "\x27\x02",
- 0x23 => "\x27\x03", 0x24 => "\x27\x04", 0x25 => "\x26\x0e",
- 0x26 => "\x27\x06", 0x27 => "\x27\x07", 0x28 => "\x27\x08",
- 0x29 => "\x27\x09", 0x2a => "\x26\x1b", 0x2b => "\x26\x1e",
- 0x2c => "\x27\x0c", 0x2d => "\x27\x0d", 0x2e => "\x27\x0e",
- 0x2f => "\x27\x0f", 0x30 => "\x27\x10", 0x31 => "\x27\x11",
- 0x32 => "\x27\x12", 0x33 => "\x27\x13", 0x34 => "\x27\x14",
- 0x35 => "\x27\x15", 0x36 => "\x27\x16", 0x37 => "\x27\x17",
- 0x38 => "\x27\x18", 0x39 => "\x27\x19", 0x3a => "\x27\x1a",
- 0x3b => "\x27\x1b", 0x3c => "\x27\x1c", 0x3d => "\x27\x1d",
- 0x3e => "\x27\x1e", 0x3f => "\x27\x1f", 0x40 => "\x27\x20",
- 0x41 => "\x27\x21", 0x42 => "\x27\x22", 0x43 => "\x27\x23",
- 0x44 => "\x27\x24", 0x45 => "\x27\x25", 0x46 => "\x27\x26",
- 0x47 => "\x27\x27", 0x48 => "\x26\x05", 0x49 => "\x27\x29",
- 0x4a => "\x27\x2a", 0x4b => "\x27\x2b", 0x4c => "\x27\x2c",
- 0x4d => "\x27\x2d", 0x4e => "\x27\x2e", 0x4f => "\x27\x2f",
- 0x50 => "\x27\x30", 0x51 => "\x27\x31", 0x52 => "\x27\x32",
- 0x53 => "\x27\x33", 0x54 => "\x27\x34", 0x55 => "\x27\x35",
- 0x56 => "\x27\x36", 0x57 => "\x27\x37", 0x58 => "\x27\x38",
- 0x59 => "\x27\x39", 0x5a => "\x27\x3a", 0x5b => "\x27\x3b",
- 0x5c => "\x27\x3c", 0x5d => "\x27\x3d", 0x5e => "\x27\x3e",
- 0x5f => "\x27\x3f", 0x60 => "\x27\x40", 0x61 => "\x27\x41",
- 0x62 => "\x27\x42", 0x63 => "\x27\x43", 0x64 => "\x27\x44",
- 0x65 => "\x27\x45", 0x66 => "\x27\x46", 0x67 => "\x27\x47",
- 0x68 => "\x27\x48", 0x69 => "\x27\x49", 0x6a => "\x27\x4a",
- 0x6b => "\x27\x4b", 0x6c => "\x25\xcf", 0x6d => "\x27\x4d",
- 0x6e => "\x25\xa0", 0x6f => "\x27\x4f", 0x70 => "\x27\x50",
- 0x71 => "\x27\x51", 0x72 => "\x27\x52", 0x73 => "\x25\xb2",
- 0x74 => "\x25\xbc", 0x75 => "\x25\xc6", 0x76 => "\x27\x56",
- 0x77 => "\x25\xd7", 0x78 => "\x27\x58", 0x79 => "\x27\x59",
- 0x7a => "\x27\x5a", 0x7b => "\x27\x5b", 0x7c => "\x27\x5c",
- 0x7d => "\x27\x5d", 0x7e => "\x27\x5e", 0x80 => "\x27\x68",
- 0x81 => "\x27\x69", 0x82 => "\x27\x6a", 0x83 => "\x27\x6b",
- 0x84 => "\x27\x6c", 0x85 => "\x27\x6d", 0x86 => "\x27\x6e",
- 0x87 => "\x27\x6f", 0x88 => "\x27\x70", 0x89 => "\x27\x71",
- 0x8a => "\x27\x72", 0x8b => "\x27\x73", 0x8c => "\x27\x74",
- 0x8d => "\x27\x75", 0xa1 => "\x27\x61", 0xa2 => "\x27\x62",
- 0xa3 => "\x27\x63", 0xa4 => "\x27\x64", 0xa5 => "\x27\x65",
- 0xa6 => "\x27\x66", 0xa7 => "\x27\x67", 0xa8 => "\x26\x63",
- 0xa9 => "\x26\x66", 0xaa => "\x26\x65", 0xab => "\x26\x60",
- 0xac => "\x24\x60", 0xad => "\x24\x61", 0xae => "\x24\x62",
- 0xaf => "\x24\x63", 0xb0 => "\x24\x64", 0xb1 => "\x24\x65",
- 0xb2 => "\x24\x66", 0xb3 => "\x24\x67", 0xb4 => "\x24\x68",
- 0xb5 => "\x24\x69", 0xb6 => "\x27\x76", 0xb7 => "\x27\x77",
- 0xb8 => "\x27\x78", 0xb9 => "\x27\x79", 0xba => "\x27\x7a",
- 0xbb => "\x27\x7b", 0xbc => "\x27\x7c", 0xbd => "\x27\x7d",
- 0xbe => "\x27\x7e", 0xbf => "\x27\x7f", 0xc0 => "\x27\x80",
- 0xc1 => "\x27\x81", 0xc2 => "\x27\x82", 0xc3 => "\x27\x83",
- 0xc4 => "\x27\x84", 0xc5 => "\x27\x85", 0xc6 => "\x27\x86",
- 0xc7 => "\x27\x87", 0xc8 => "\x27\x88", 0xc9 => "\x27\x89",
- 0xca => "\x27\x8a", 0xcb => "\x27\x8b", 0xcc => "\x27\x8c",
- 0xcd => "\x27\x8d", 0xce => "\x27\x8e", 0xcf => "\x27\x8f",
- 0xd0 => "\x27\x90", 0xd1 => "\x27\x91", 0xd2 => "\x27\x92",
- 0xd3 => "\x27\x93", 0xd4 => "\x27\x94", 0xd5 => "\x21\x92",
- 0xd6 => "\x21\x94", 0xd7 => "\x21\x95", 0xd8 => "\x27\x98",
- 0xd9 => "\x27\x99", 0xda => "\x27\x9a", 0xdb => "\x27\x9b",
- 0xdc => "\x27\x9c", 0xdd => "\x27\x9d", 0xde => "\x27\x9e",
- 0xdf => "\x27\x9f", 0xe0 => "\x27\xa0", 0xe1 => "\x27\xa1",
- 0xe2 => "\x27\xa2", 0xe3 => "\x27\xa3", 0xe4 => "\x27\xa4",
- 0xe5 => "\x27\xa5", 0xe6 => "\x27\xa6", 0xe7 => "\x27\xa7",
- 0xe8 => "\x27\xa8", 0xe9 => "\x27\xa9", 0xea => "\x27\xaa",
- 0xeb => "\x27\xab", 0xec => "\x27\xac", 0xed => "\x27\xad",
- 0xee => "\x27\xae", 0xef => "\x27\xaf", 0xf1 => "\x27\xb1",
- 0xf2 => "\x27\xb2", 0xf3 => "\x27\xb3", 0xf4 => "\x27\xb4",
- 0xf5 => "\x27\xb5", 0xf6 => "\x27\xb6", 0xf7 => "\x27\xb7",
- 0xf8 => "\x27\xb8", 0xf9 => "\x27\xb9", 0xfa => "\x27\xba",
- 0xfb => "\x27\xbb", 0xfc => "\x27\xbc", 0xfd => "\x27\xbd",
- 0xfe => "\x27\xbe");
-
-
-
- /**** Public Interface ****/
-
-
- /* Object Lifecycle */
-
- /**
- * Object constructor
- */
- public function __construct()
- {
- parent::__construct();
-
-
- /* Object properties */
-
- /* The font names are stored internally as Unicode UTF-16BE-encoded
- * strings. Since this information is static, save unnecessary trips
- * through iconv() and just use pre-encoded hexidecimal strings.
- */
- $this->_fontNames[Zend_Pdf_Font::NAME_COPYRIGHT]['en'] =
- "\x00\x43\x00\x6f\x00\x70\x00\x79\x00\x72\x00\x69\x00\x67\x00\x68\x00"
- . "\x74\x00\x20\x00\x28\x00\x63\x00\x29\x00\x20\x00\x31\x00\x39\x00"
- . "\x38\x00\x35\x00\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x37\x00"
- . "\x2c\x00\x20\x00\x31\x00\x39\x00\x38\x00\x38\x00\x2c\x00\x20\x00"
- . "\x31\x00\x39\x00\x38\x00\x39\x00\x2c\x00\x20\x00\x31\x00\x39\x00"
- . "\x39\x00\x37\x00\x20\x00\x41\x00\x64\x00\x6f\x00\x62\x00\x65\x00"
- . "\x20\x00\x53\x00\x79\x00\x73\x00\x74\x00\x65\x00\x6d\x00\x73\x00"
- . "\x20\x00\x49\x00\x6e\x00\x63\x00\x6f\x00\x72\x00\x70\x00\x6f\x00"
- . "\x72\x00\x61\x00\x74\x00\x65\x00\x64\x00\x2e\x00\x20\x00\x41\x00"
- . "\x6c\x00\x6c\x00\x20\x00\x52\x00\x69\x00\x67\x00\x68\x00\x74\x00"
- . "\x73\x00\x20\x00\x52\x00\x65\x00\x73\x00\x65\x00\x72\x00\x76\x00"
- . "\x65\x00\x64\x00\x2e\x00\x49\x00\x54\x00\x43\x00\x20\x00\x5a\x00"
- . "\x61\x00\x70\x00\x66\x00\x20\x00\x44\x00\x69\x00\x6e\x00\x67\x00"
- . "\x62\x00\x61\x00\x74\x00\x73\x00\x20\x00\x69\x00\x73\x00\x20\x00"
- . "\x61\x00\x20\x00\x72\x00\x65\x00\x67\x00\x69\x00\x73\x00\x74\x00"
- . "\x65\x00\x72\x00\x65\x00\x64\x00\x20\x00\x74\x00\x72\x00\x61\x00"
- . "\x64\x00\x65\x00\x6d\x00\x61\x00\x72\x00\x6b\x00\x20\x00\x6f\x00"
- . "\x66\x00\x20\x00\x49\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6e\x00"
- . "\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x61\x00\x6c\x00\x20\x00"
- . "\x54\x00\x79\x00\x70\x00\x65\x00\x66\x00\x61\x00\x63\x00\x65\x00"
- . "\x20\x00\x43\x00\x6f\x00\x72\x00\x70\x00\x6f\x00\x72\x00\x61\x00"
- . "\x74\x00\x69\x00\x6f\x00\x6e\x00\x2e";
- $this->_fontNames[Zend_Pdf_Font::NAME_FAMILY]['en'] =
- "\x00\x5a\x00\x61\x00\x70\x00\x66\x00\x44\x00\x69\x00\x6e\x00\x67\x00"
- . "\x62\x00\x61\x00\x74\x00\x73";
- $this->_fontNames[Zend_Pdf_Font::NAME_STYLE]['en'] =
- "\x00\x4d\x00\x65\x00\x64\x00\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_ID]['en'] =
- "\x00\x34\x00\x33\x00\x30\x00\x38\x00\x32";
- $this->_fontNames[Zend_Pdf_Font::NAME_FULL]['en'] =
- "\x00\x5a\x00\x61\x00\x70\x00\x66\x00\x44\x00\x69\x00\x6e\x00\x67\x00"
- . "\x62\x00\x61\x00\x74\x00\x73\x00\x20\x00\x4d\x00\x65\x00\x64\x00"
- . "\x69\x00\x75\x00\x6d";
- $this->_fontNames[Zend_Pdf_Font::NAME_VERSION]['en'] =
- "\x00\x30\x00\x30\x00\x32\x00\x2e\x00\x30\x00\x30\x00\x30";
- $this->_fontNames[Zend_Pdf_Font::NAME_POSTSCRIPT]['en'] =
- "\x00\x5a\x00\x61\x00\x70\x00\x66\x00\x44\x00\x69\x00\x6e\x00\x67\x00"
- . "\x62\x00\x61\x00\x74\x00\x73";
-
- $this->_isBold = false;
- $this->_isItalic = false;
- $this->_isMonospaced = false;
-
- $this->_underlinePosition = -100;
- $this->_underlineThickness = 50;
- $this->_strikePosition = 225;
- $this->_strikeThickness = 50;
-
- $this->_unitsPerEm = 1000;
-
- $this->_ascent = 1000;
- $this->_descent = 0;
- $this->_lineGap = 200;
-
- /* The glyph numbers assigned here are synthetic; they do not match the
- * actual glyph numbers used by the font. This is not a big deal though
- * since this data never makes it to the PDF file. It is only used
- * internally for layout calculations.
- */
- $this->_glyphWidths = array(
- 0x00 => 0x01f4, 0x01 => 0x0116, 0x02 => 0x03ce, 0x03 => 0x03c1,
- 0x04 => 0x03ce, 0x05 => 0x03d4, 0x06 => 0x02cf, 0x07 => 0x0315,
- 0x08 => 0x0316, 0x09 => 0x0317, 0x0a => 0x02b2, 0x0b => 0x03c0,
- 0x0c => 0x03ab, 0x0d => 0x0225, 0x0e => 0x0357, 0x0f => 0x038f,
- 0x10 => 0x03a5, 0x11 => 0x038f, 0x12 => 0x03b1, 0x13 => 0x03ce,
- 0x14 => 0x02f3, 0x15 => 0x034e, 0x16 => 0x02fa, 0x17 => 0x02f9,
- 0x18 => 0x023b, 0x19 => 0x02a5, 0x1a => 0x02fb, 0x1b => 0x02f8,
- 0x1c => 0x02f7, 0x1d => 0x02f2, 0x1e => 0x01ee, 0x1f => 0x0228,
- 0x20 => 0x0219, 0x21 => 0x0241, 0x22 => 0x02b4, 0x23 => 0x0312,
- 0x24 => 0x0314, 0x25 => 0x0314, 0x26 => 0x0316, 0x27 => 0x0319,
- 0x28 => 0x031a, 0x29 => 0x0330, 0x2a => 0x0337, 0x2b => 0x0315,
- 0x2c => 0x0349, 0x2d => 0x0337, 0x2e => 0x0341, 0x2f => 0x0330,
- 0x30 => 0x033f, 0x31 => 0x039b, 0x32 => 0x02e8, 0x33 => 0x02d3,
- 0x34 => 0x02ed, 0x35 => 0x0316, 0x36 => 0x0318, 0x37 => 0x02b7,
- 0x38 => 0x0308, 0x39 => 0x0300, 0x3a => 0x0318, 0x3b => 0x02f7,
- 0x3c => 0x02c3, 0x3d => 0x02c4, 0x3e => 0x02aa, 0x3f => 0x02bd,
- 0x40 => 0x033a, 0x41 => 0x032f, 0x42 => 0x0315, 0x43 => 0x0315,
- 0x44 => 0x02c3, 0x45 => 0x02af, 0x46 => 0x02b8, 0x47 => 0x02b1,
- 0x48 => 0x0312, 0x49 => 0x0313, 0x4a => 0x02c9, 0x4b => 0x0317,
- 0x4c => 0x0311, 0x4d => 0x0317, 0x4e => 0x0369, 0x4f => 0x02f9,
- 0x50 => 0x02fa, 0x51 => 0x02fa, 0x52 => 0x02f7, 0x53 => 0x02f7,
- 0x54 => 0x037c, 0x55 => 0x037c, 0x56 => 0x0314, 0x57 => 0x0310,
- 0x58 => 0x01b6, 0x59 => 0x8a, 0x5a => 0x0115, 0x5b => 0x019f,
- 0x5c => 0x0188, 0x5d => 0x0188, 0x5e => 0x029c, 0x5f => 0x029c,
- 0x60 => 0x0186, 0x61 => 0x0186, 0x62 => 0x013d, 0x63 => 0x013d,
- 0x64 => 0x0114, 0x65 => 0x0114, 0x66 => 0x01fd, 0x67 => 0x01fd,
- 0x68 => 0x019a, 0x69 => 0x019a, 0x6a => 0xea, 0x6b => 0xea,
- 0x6c => 0x014e, 0x6d => 0x014e, 0x6e => 0x02dc, 0x6f => 0x0220,
- 0x70 => 0x0220, 0x71 => 0x038e, 0x72 => 0x029b, 0x73 => 0x02f8,
- 0x74 => 0x02f8, 0x75 => 0x0308, 0x76 => 0x0253, 0x77 => 0x02b6,
- 0x78 => 0x0272, 0x79 => 0x0314, 0x7a => 0x0314, 0x7b => 0x0314,
- 0x7c => 0x0314, 0x7d => 0x0314, 0x7e => 0x0314, 0x7f => 0x0314,
- 0x80 => 0x0314, 0x81 => 0x0314, 0x82 => 0x0314, 0x83 => 0x0314,
- 0x84 => 0x0314, 0x85 => 0x0314, 0x86 => 0x0314, 0x87 => 0x0314,
- 0x88 => 0x0314, 0x89 => 0x0314, 0x8a => 0x0314, 0x8b => 0x0314,
- 0x8c => 0x0314, 0x8d => 0x0314, 0x8e => 0x0314, 0x8f => 0x0314,
- 0x90 => 0x0314, 0x91 => 0x0314, 0x92 => 0x0314, 0x93 => 0x0314,
- 0x94 => 0x0314, 0x95 => 0x0314, 0x96 => 0x0314, 0x97 => 0x0314,
- 0x98 => 0x0314, 0x99 => 0x0314, 0x9a => 0x0314, 0x9b => 0x0314,
- 0x9c => 0x0314, 0x9d => 0x0314, 0x9e => 0x0314, 0x9f => 0x0314,
- 0xa0 => 0x0314, 0xa1 => 0x037e, 0xa2 => 0x0346, 0xa3 => 0x03f8,
- 0xa4 => 0x01ca, 0xa5 => 0x02ec, 0xa6 => 0x039c, 0xa7 => 0x02ec,
- 0xa8 => 0x0396, 0xa9 => 0x039f, 0xaa => 0x03a0, 0xab => 0x03a0,
- 0xac => 0x0342, 0xad => 0x0369, 0xae => 0x033c, 0xaf => 0x039c,
- 0xb0 => 0x039c, 0xb1 => 0x0395, 0xb2 => 0x03a2, 0xb3 => 0x03a3,
- 0xb4 => 0x01cf, 0xb5 => 0x0373, 0xb6 => 0x0344, 0xb7 => 0x0344,
- 0xb8 => 0x0363, 0xb9 => 0x0363, 0xba => 0x02b8, 0xbb => 0x02b8,
- 0xbc => 0x036a, 0xbd => 0x036a, 0xbe => 0x02f8, 0xbf => 0x03b2,
- 0xc0 => 0x0303, 0xc1 => 0x0361, 0xc2 => 0x0303, 0xc3 => 0x0378,
- 0xc4 => 0x03c7, 0xc5 => 0x0378, 0xc6 => 0x033f, 0xc7 => 0x0369,
- 0xc8 => 0x039f, 0xc9 => 0x03ca, 0xca => 0x0396);
-
- /* The cmap table is similarly synthesized.
- */
- $cmapData = array(
- 0x20 => 0x01, 0x2701 => 0x02, 0x2702 => 0x03, 0x2703 => 0x04,
- 0x2704 => 0x05, 0x260e => 0x06, 0x2706 => 0x07, 0x2707 => 0x08,
- 0x2708 => 0x09, 0x2709 => 0x0a, 0x261b => 0x0b, 0x261e => 0x0c,
- 0x270c => 0x0d, 0x270d => 0x0e, 0x270e => 0x0f, 0x270f => 0x10,
- 0x2710 => 0x11, 0x2711 => 0x12, 0x2712 => 0x13, 0x2713 => 0x14,
- 0x2714 => 0x15, 0x2715 => 0x16, 0x2716 => 0x17, 0x2717 => 0x18,
- 0x2718 => 0x19, 0x2719 => 0x1a, 0x271a => 0x1b, 0x271b => 0x1c,
- 0x271c => 0x1d, 0x271d => 0x1e, 0x271e => 0x1f, 0x271f => 0x20,
- 0x2720 => 0x21, 0x2721 => 0x22, 0x2722 => 0x23, 0x2723 => 0x24,
- 0x2724 => 0x25, 0x2725 => 0x26, 0x2726 => 0x27, 0x2727 => 0x28,
- 0x2605 => 0x29, 0x2729 => 0x2a, 0x272a => 0x2b, 0x272b => 0x2c,
- 0x272c => 0x2d, 0x272d => 0x2e, 0x272e => 0x2f, 0x272f => 0x30,
- 0x2730 => 0x31, 0x2731 => 0x32, 0x2732 => 0x33, 0x2733 => 0x34,
- 0x2734 => 0x35, 0x2735 => 0x36, 0x2736 => 0x37, 0x2737 => 0x38,
- 0x2738 => 0x39, 0x2739 => 0x3a, 0x273a => 0x3b, 0x273b => 0x3c,
- 0x273c => 0x3d, 0x273d => 0x3e, 0x273e => 0x3f, 0x273f => 0x40,
- 0x2740 => 0x41, 0x2741 => 0x42, 0x2742 => 0x43, 0x2743 => 0x44,
- 0x2744 => 0x45, 0x2745 => 0x46, 0x2746 => 0x47, 0x2747 => 0x48,
- 0x2748 => 0x49, 0x2749 => 0x4a, 0x274a => 0x4b, 0x274b => 0x4c,
- 0x25cf => 0x4d, 0x274d => 0x4e, 0x25a0 => 0x4f, 0x274f => 0x50,
- 0x2750 => 0x51, 0x2751 => 0x52, 0x2752 => 0x53, 0x25b2 => 0x54,
- 0x25bc => 0x55, 0x25c6 => 0x56, 0x2756 => 0x57, 0x25d7 => 0x58,
- 0x2758 => 0x59, 0x2759 => 0x5a, 0x275a => 0x5b, 0x275b => 0x5c,
- 0x275c => 0x5d, 0x275d => 0x5e, 0x275e => 0x5f, 0x2768 => 0x60,
- 0x2769 => 0x61, 0x276a => 0x62, 0x276b => 0x63, 0x276c => 0x64,
- 0x276d => 0x65, 0x276e => 0x66, 0x276f => 0x67, 0x2770 => 0x68,
- 0x2771 => 0x69, 0x2772 => 0x6a, 0x2773 => 0x6b, 0x2774 => 0x6c,
- 0x2775 => 0x6d, 0x2761 => 0x6e, 0x2762 => 0x6f, 0x2763 => 0x70,
- 0x2764 => 0x71, 0x2765 => 0x72, 0x2766 => 0x73, 0x2767 => 0x74,
- 0x2663 => 0x75, 0x2666 => 0x76, 0x2665 => 0x77, 0x2660 => 0x78,
- 0x2460 => 0x79, 0x2461 => 0x7a, 0x2462 => 0x7b, 0x2463 => 0x7c,
- 0x2464 => 0x7d, 0x2465 => 0x7e, 0x2466 => 0x7f, 0x2467 => 0x80,
- 0x2468 => 0x81, 0x2469 => 0x82, 0x2776 => 0x83, 0x2777 => 0x84,
- 0x2778 => 0x85, 0x2779 => 0x86, 0x277a => 0x87, 0x277b => 0x88,
- 0x277c => 0x89, 0x277d => 0x8a, 0x277e => 0x8b, 0x277f => 0x8c,
- 0x2780 => 0x8d, 0x2781 => 0x8e, 0x2782 => 0x8f, 0x2783 => 0x90,
- 0x2784 => 0x91, 0x2785 => 0x92, 0x2786 => 0x93, 0x2787 => 0x94,
- 0x2788 => 0x95, 0x2789 => 0x96, 0x278a => 0x97, 0x278b => 0x98,
- 0x278c => 0x99, 0x278d => 0x9a, 0x278e => 0x9b, 0x278f => 0x9c,
- 0x2790 => 0x9d, 0x2791 => 0x9e, 0x2792 => 0x9f, 0x2793 => 0xa0,
- 0x2794 => 0xa1, 0x2192 => 0xa2, 0x2194 => 0xa3, 0x2195 => 0xa4,
- 0x2798 => 0xa5, 0x2799 => 0xa6, 0x279a => 0xa7, 0x279b => 0xa8,
- 0x279c => 0xa9, 0x279d => 0xaa, 0x279e => 0xab, 0x279f => 0xac,
- 0x27a0 => 0xad, 0x27a1 => 0xae, 0x27a2 => 0xaf, 0x27a3 => 0xb0,
- 0x27a4 => 0xb1, 0x27a5 => 0xb2, 0x27a6 => 0xb3, 0x27a7 => 0xb4,
- 0x27a8 => 0xb5, 0x27a9 => 0xb6, 0x27aa => 0xb7, 0x27ab => 0xb8,
- 0x27ac => 0xb9, 0x27ad => 0xba, 0x27ae => 0xbb, 0x27af => 0xbc,
- 0x27b1 => 0xbd, 0x27b2 => 0xbe, 0x27b3 => 0xbf, 0x27b4 => 0xc0,
- 0x27b5 => 0xc1, 0x27b6 => 0xc2, 0x27b7 => 0xc3, 0x27b8 => 0xc4,
- 0x27b9 => 0xc5, 0x27ba => 0xc6, 0x27bb => 0xc7, 0x27bc => 0xc8,
- 0x27bd => 0xc9, 0x27be => 0xca);
- require_once 'Zend/Pdf/Cmap.php';
- $this->_cmap = Zend_Pdf_Cmap::cmapWithTypeData(
- Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC, $cmapData);
-
-
- /* Resource dictionary */
-
- /* The resource dictionary for the standard fonts is sparse because PDF
- * viewers already have all of the metrics data. We only need to provide
- * the font name and encoding method.
- */
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name('ZapfDingbats');
-
- /* This font has a built-in custom character encoding method. Don't
- * override with WinAnsi like the other built-in fonts or else it will
- * not work as expected.
- */
- $this->_resource->Encoding = null;
- }
-
-
- /* Information and Conversion Methods */
-
- /**
- * Convert string encoding from local encoding to font encoding. Overridden
- * to defeat the conversion behavior for this ornamental font.
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- */
- public function encodeString($string, $charEncoding)
- {
- /* This isn't the optimal time to perform this conversion, but it must
- * live here until the remainder of the layout code is completed. This,
- * and the $charEncoding parameter, will go away soon...
- */
- if ($charEncoding != 'UTF-16BE') {
- $string = iconv($charEncoding, 'UTF-16BE', $string);
- }
- /**
- * @todo Properly handle characters encoded as surrogate pairs.
- */
- $encodedString = '';
- for ($i = 0; $i < strlen($string); $i++) {
- $characterCode = (ord($string[$i++]) << 8) | ord($string[$i]);
- if (isset($this->_toFontEncoding[$characterCode])) {
- $encodedString .= $this->_toFontEncoding[$characterCode];
- } else {
- /* For now, mimic the behavior in Zend_Pdf_Font::encodeString()
- * where unknown characters are removed completely. This is not
- * perfect, but we should be consistent. In a future revision,
- * we will use the well-known substitution character 0x1a
- * (Control-Z).
- */
- }
- }
- return $encodedString;
- }
-
- /**
- * Convert string encoding from font encoding to local encoding. Overridden
- * to defeat the conversion behavior for this ornamental font.
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- */
- public function decodeString($string, $charEncoding)
- {
- $decodedString = '';
- for ($i = 0; $i < strlen($string); $i++) {
- $characterCode = ord($string[$i]);
- if (isset($this->_fromFontEncoding[$characterCode])) {
- $decodedString .= $this->_fromFontEncoding[$characterCode];
- } else {
- /* For now, mimic the behavior in Zend_Pdf_Font::encodeString()
- * where unknown characters are removed completely. This is not
- * perfect, but we should be consistent. In a future revision,
- * we will use the Unicode substitution character (U+FFFD).
- */
- }
- }
- if ($charEncoding != 'UTF-16BE') {
- $decodedString = iconv('UTF-16BE', $charEncoding, $decodedString);
- }
- return $decodedString;
- }
-
- /**
- * Converts a Latin-encoded string that fakes the font's internal encoding
- * to the proper Unicode characters, in UTF-16BE encoding.
- *
- * Used to maintain backwards compatibility with the 20 year-old legacy
- * method of using this font, which is still employed by recent versions of
- * some popular word processors.
- *
- * Note that using this method adds overhead due to the additional
- * character conversion. Don't use this for new code; it is more efficient
- * to use the appropriate Unicode characters directly.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source
- * string. Defaults to current locale.
- * @return string
- */
- public function toUnicode($string, $charEncoding = '')
- {
- /* When using these faked strings, the closest match to the font's
- * internal encoding is ISO-8859-1.
- */
- if ($charEncoding != 'ISO-8859-1') {
- $string = iconv($charEncoding, 'ISO-8859-1', $string);
- }
- return $this->decodeString($string, 'UTF-16BE');
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Font/Type0.php b/airtime_mvc/library/Zend/Pdf/Resource/Font/Type0.php
deleted file mode 100644
index 84571ca09..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Font/Type0.php
+++ /dev/null
@@ -1,257 +0,0 @@
-> def' . "\n"
- . '/CMapName /Adobe-Identity-UCS def ' . "\n"
- . '/CMapType 2 def ' . "\n"
- . '1 begincodespacerange' . "\n"
- . '<0000> ' . "\n"
- . 'endcodespacerange ' . "\n"
- . '1 beginbfrange ' . "\n"
- . '<0000> <0000> ' . "\n"
- . 'endbfrange ' . "\n"
- . 'endcmap ' . "\n"
- . 'CMapName currentdict /CMap defineresource pop ' . "\n"
- . 'end '
- . 'end ';
- }
-
- /**
- * Object constructor
- *
- */
- public function __construct(Zend_Pdf_Resource_Font_CidFont $descendantFont)
- {
- parent::__construct();
-
- $this->_objectFactory->attach($descendantFont->getFactory());
-
- $this->_fontType = Zend_Pdf_Font::TYPE_TYPE_0;
- $this->_descendantFont = $descendantFont;
-
-
- $this->_fontNames = $descendantFont->getFontNames();
-
- $this->_isBold = $descendantFont->isBold();
- $this->_isItalic = $descendantFont->isItalic();
- $this->_isMonospaced = $descendantFont->isMonospace();
-
- $this->_underlinePosition = $descendantFont->getUnderlinePosition();
- $this->_underlineThickness = $descendantFont->getUnderlineThickness();
- $this->_strikePosition = $descendantFont->getStrikePosition();
- $this->_strikeThickness = $descendantFont->getStrikeThickness();
-
- $this->_unitsPerEm = $descendantFont->getUnitsPerEm();
-
- $this->_ascent = $descendantFont->getAscent();
- $this->_descent = $descendantFont->getDescent();
- $this->_lineGap = $descendantFont->getLineGap();
-
-
- $this->_resource->Subtype = new Zend_Pdf_Element_Name('Type0');
- $this->_resource->BaseFont = new Zend_Pdf_Element_Name($descendantFont->getResource()->BaseFont->value);
- $this->_resource->DescendantFonts = new Zend_Pdf_Element_Array(array( $descendantFont->getResource() ));
- $this->_resource->Encoding = new Zend_Pdf_Element_Name('Identity-H');
-
- $toUnicode = $this->_objectFactory->newStreamObject(self::getToUnicodeCMapData());
- $this->_resource->ToUnicode = $toUnicode;
-
- }
-
- /**
- * Returns an array of glyph numbers corresponding to the Unicode characters.
- *
- * Zend_Pdf uses 'Identity-H' encoding for Type 0 fonts.
- * So we don't need to perform any conversion
- *
- * See also {@link glyphNumberForCharacter()}.
- *
- * @param array $characterCodes Array of Unicode character codes (code points).
- * @return array Array of glyph numbers.
- */
- public function glyphNumbersForCharacters($characterCodes)
- {
- return $characterCodes;
- }
-
- /**
- * Returns the glyph number corresponding to the Unicode character.
- *
- * Zend_Pdf uses 'Identity-H' encoding for Type 0 fonts.
- * So we don't need to perform any conversion
- *
- * @param integer $characterCode Unicode character code (code point).
- * @return integer Glyph number.
- */
- public function glyphNumberForCharacter($characterCode)
- {
- return $characterCode;
- }
-
- /**
- * Returns a number between 0 and 1 inclusive that indicates the percentage
- * of characters in the string which are covered by glyphs in this font.
- *
- * Since no one font will contain glyphs for the entire Unicode character
- * range, this method can be used to help locate a suitable font when the
- * actual contents of the string are not known.
- *
- * Note that some fonts lie about the characters they support. Additionally,
- * fonts don't usually contain glyphs for control characters such as tabs
- * and line breaks, so it is rare that you will get back a full 1.0 score.
- * The resulting value should be considered informational only.
- *
- * @param string $string
- * @param string $charEncoding (optional) Character encoding of source text.
- * If omitted, uses 'current locale'.
- * @return float
- */
- public function getCoveredPercentage($string, $charEncoding = '')
- {
- return $this->_descendantFont->getCoveredPercentage($string, $charEncoding);
- }
-
- /**
- * Returns the widths of the glyphs.
- *
- * The widths are expressed in the font's glyph space. You are responsible
- * for converting to user space as necessary. See {@link unitsPerEm()}.
- *
- * Throws an exception if the glyph number is out of range.
- *
- * See also {@link widthForGlyph()}.
- *
- * @param array &$glyphNumbers Array of glyph numbers.
- * @return array Array of glyph widths (integers).
- * @throws Zend_Pdf_Exception
- */
- public function widthsForGlyphs($glyphNumbers)
- {
- return $this->_descendantFont->widthsForChars($glyphNumbers);
- }
-
- /**
- * Returns the width of the glyph.
- *
- * Like {@link widthsForGlyphs()} but used for one glyph at a time.
- *
- * @param integer $glyphNumber
- * @return integer
- * @throws Zend_Pdf_Exception
- */
- public function widthForGlyph($glyphNumber)
- {
- return $this->_descendantFont->widthForChar($glyphNumber);
- }
-
- /**
- * Convert string to the font encoding.
- *
- * The method is used to prepare string for text drawing operators
- *
- * @param string $string
- * @param string $charEncoding Character encoding of source text.
- * @return string
- */
- public function encodeString($string, $charEncoding)
- {
- return iconv($charEncoding, 'UTF-16BE', $string);
- }
-
- /**
- * Convert string from the font encoding.
- *
- * The method is used to convert strings retrieved from existing content streams
- *
- * @param string $string
- * @param string $charEncoding Character encoding of resulting text.
- * @return string
- */
- public function decodeString($string, $charEncoding)
- {
- return iconv('UTF-16BE', $charEncoding, $string);
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Image.php b/airtime_mvc/library/Zend/Pdf/Resource/Image.php
deleted file mode 100644
index a220bb646..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Image.php
+++ /dev/null
@@ -1,77 +0,0 @@
-_resource->dictionary->Type = new Zend_Pdf_Element_Name('XObject');
- $this->_resource->dictionary->Subtype = new Zend_Pdf_Element_Name('Image');
- }
- /**
- * get the height in pixels of the image
- *
- * @return integer
- */
- abstract public function getPixelHeight();
-
- /**
- * get the width in pixels of the image
- *
- * @return integer
- */
- abstract public function getPixelWidth();
-
- /**
- * gets an associative array of information about an image
- *
- * @return array
- */
- abstract public function getProperties();
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Image/Jpeg.php b/airtime_mvc/library/Zend/Pdf/Resource/Image/Jpeg.php
deleted file mode 100644
index 76278086b..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Image/Jpeg.php
+++ /dev/null
@@ -1,141 +0,0 @@
-_resource->dictionary;
- $imageDictionary->Width = new Zend_Pdf_Element_Numeric($imageInfo[0]);
- $imageDictionary->Height = new Zend_Pdf_Element_Numeric($imageInfo[1]);
- $imageDictionary->ColorSpace = new Zend_Pdf_Element_Name($colorSpace);
- $imageDictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($imageInfo['bits']);
- if ($imageInfo[2] == IMAGETYPE_JPEG) {
- $imageDictionary->Filter = new Zend_Pdf_Element_Name('DCTDecode');
- } else if ($imageInfo[2] == IMAGETYPE_JPEG2000){
- $imageDictionary->Filter = new Zend_Pdf_Element_Name('JPXDecode');
- }
-
- if (($imageFile = @fopen($imageFileName, 'rb')) === false ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Can not open '$imageFileName' file for reading." );
- }
- $byteCount = filesize($imageFileName);
- $this->_resource->value = '';
- while ( $byteCount > 0 && ($nextBlock = fread($imageFile, $byteCount)) != false ) {
- $this->_resource->value .= $nextBlock;
- $byteCount -= strlen($nextBlock);
- }
- fclose($imageFile);
- $this->_resource->skipFilters();
-
- $this->_width = $imageInfo[0];
- $this->_height = $imageInfo[1];
- $this->_imageProperties = array();
- $this->_imageProperties['bitDepth'] = $imageInfo['bits'];
- $this->_imageProperties['jpegImageType'] = $imageInfo[2];
- $this->_imageProperties['jpegColorType'] = $imageInfo['channels'];
- }
-
- /**
- * Image width
- */
- public function getPixelWidth() {
- return $this->_width;
- }
-
- /**
- * Image height
- */
- public function getPixelHeight() {
- return $this->_height;
- }
-
- /**
- * Image properties
- */
- public function getProperties() {
- return $this->_imageProperties;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Image/Png.php b/airtime_mvc/library/Zend/Pdf/Resource/Image/Png.php
deleted file mode 100644
index d9ac6d9e9..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Image/Png.php
+++ /dev/null
@@ -1,374 +0,0 @@
-_width = $width;
- $this->_height = $height;
- $this->_imageProperties = array();
- $this->_imageProperties['bitDepth'] = $bits;
- $this->_imageProperties['pngColorType'] = $color;
- $this->_imageProperties['pngFilterType'] = $prefilter;
- $this->_imageProperties['pngCompressionType'] = $compression;
- $this->_imageProperties['pngInterlacingType'] = $interlacing;
-
- fseek($imageFile, 4, SEEK_CUR); //4 Byte Ending Sequence
- $imageData = '';
-
- /*
- * The following loop processes PNG chunks. 4 Byte Longs are packed first give the chunk length
- * followed by the chunk signature, a four byte code. IDAT and IEND are manditory in any PNG.
- */
- while(($chunkLengthBytes = fread($imageFile, 4)) !== false) {
- $chunkLengthtmp = unpack('Ni', $chunkLengthBytes);
- $chunkLength = $chunkLengthtmp['i'];
- $chunkType = fread($imageFile, 4);
- switch($chunkType) {
- case 'IDAT': //Image Data
- /*
- * Reads the actual image data from the PNG file. Since we know at this point that the compression
- * strategy is the default strategy, we also know that this data is Zip compressed. We will either copy
- * the data directly to the PDF and provide the correct FlateDecode predictor, or decompress the data
- * decode the filters and output the data as a raw pixel map.
- */
- $imageData .= fread($imageFile, $chunkLength);
- fseek($imageFile, 4, SEEK_CUR);
- break;
-
- case 'PLTE': //Palette
- $paletteData = fread($imageFile, $chunkLength);
- fseek($imageFile, 4, SEEK_CUR);
- break;
-
- case 'tRNS': //Basic (non-alpha channel) transparency.
- $trnsData = fread($imageFile, $chunkLength);
- switch ($color) {
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY:
- $baseColor = ord(substr($trnsData, 1, 1));
- $transparencyData = array(new Zend_Pdf_Element_Numeric($baseColor),
- new Zend_Pdf_Element_Numeric($baseColor));
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB:
- $red = ord(substr($trnsData,1,1));
- $green = ord(substr($trnsData,3,1));
- $blue = ord(substr($trnsData,5,1));
- $transparencyData = array(new Zend_Pdf_Element_Numeric($red),
- new Zend_Pdf_Element_Numeric($red),
- new Zend_Pdf_Element_Numeric($green),
- new Zend_Pdf_Element_Numeric($green),
- new Zend_Pdf_Element_Numeric($blue),
- new Zend_Pdf_Element_Numeric($blue));
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_INDEXED:
- //Find the first transparent color in the index, we will mask that. (This is a bit of a hack. This should be a SMask and mask all entries values).
- if(($trnsIdx = strpos($trnsData, chr(0))) !== false) {
- $transparencyData = array(new Zend_Pdf_Element_Numeric($trnsIdx),
- new Zend_Pdf_Element_Numeric($trnsIdx));
- }
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY_ALPHA:
- // Fall through to the next case
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB_ALPHA:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "tRNS chunk illegal for Alpha Channel Images" );
- break;
- }
- fseek($imageFile, 4, SEEK_CUR); //4 Byte Ending Sequence
- break;
-
- case 'IEND';
- break 2; //End the loop too
-
- default:
- fseek($imageFile, $chunkLength + 4, SEEK_CUR); //Skip the section
- break;
- }
- }
- fclose($imageFile);
-
- $compressed = true;
- $imageDataTmp = '';
- $smaskData = '';
- switch ($color) {
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB:
- $colorSpace = new Zend_Pdf_Element_Name('DeviceRGB');
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY:
- $colorSpace = new Zend_Pdf_Element_Name('DeviceGray');
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_INDEXED:
- if(empty($paletteData)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "PNG Corruption: No palette data read for indexed type PNG." );
- }
- $colorSpace = new Zend_Pdf_Element_Array();
- $colorSpace->items[] = new Zend_Pdf_Element_Name('Indexed');
- $colorSpace->items[] = new Zend_Pdf_Element_Name('DeviceRGB');
- $colorSpace->items[] = new Zend_Pdf_Element_Numeric((strlen($paletteData)/3-1));
- $paletteObject = $this->_objectFactory->newObject(new Zend_Pdf_Element_String_Binary($paletteData));
- $colorSpace->items[] = $paletteObject;
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_GRAY_ALPHA:
- /*
- * To decode PNG's with alpha data we must create two images from one. One image will contain the Gray data
- * the other will contain the Gray transparency overlay data. The former will become the object data and the latter
- * will become the Shadow Mask (SMask).
- */
- if($bits > 8) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Alpha PNGs with bit depth > 8 are not yet supported");
- }
-
- $colorSpace = new Zend_Pdf_Element_Name('DeviceGray');
-
- require_once 'Zend/Pdf/ElementFactory.php';
- $decodingObjFactory = Zend_Pdf_ElementFactory::createFactory(1);
- $decodingStream = $decodingObjFactory->newStreamObject($imageData);
- $decodingStream->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode');
- $decodingStream->dictionary->DecodeParms = new Zend_Pdf_Element_Dictionary();
- $decodingStream->dictionary->DecodeParms->Predictor = new Zend_Pdf_Element_Numeric(15);
- $decodingStream->dictionary->DecodeParms->Columns = new Zend_Pdf_Element_Numeric($width);
- $decodingStream->dictionary->DecodeParms->Colors = new Zend_Pdf_Element_Numeric(2); //GreyAlpha
- $decodingStream->dictionary->DecodeParms->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits);
- $decodingStream->skipFilters();
-
- $pngDataRawDecoded = $decodingStream->value;
-
- //Iterate every pixel and copy out gray data and alpha channel (this will be slow)
- for($pixel = 0, $pixelcount = ($width * $height); $pixel < $pixelcount; $pixel++) {
- $imageDataTmp .= $pngDataRawDecoded[($pixel*2)];
- $smaskData .= $pngDataRawDecoded[($pixel*2)+1];
- }
- $compressed = false;
- $imageData = $imageDataTmp; //Overwrite image data with the gray channel without alpha
- break;
-
- case Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB_ALPHA:
- /*
- * To decode PNG's with alpha data we must create two images from one. One image will contain the RGB data
- * the other will contain the Gray transparency overlay data. The former will become the object data and the latter
- * will become the Shadow Mask (SMask).
- */
- if($bits > 8) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Alpha PNGs with bit depth > 8 are not yet supported");
- }
-
- $colorSpace = new Zend_Pdf_Element_Name('DeviceRGB');
-
- require_once 'Zend/Pdf/ElementFactory.php';
- $decodingObjFactory = Zend_Pdf_ElementFactory::createFactory(1);
- $decodingStream = $decodingObjFactory->newStreamObject($imageData);
- $decodingStream->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode');
- $decodingStream->dictionary->DecodeParms = new Zend_Pdf_Element_Dictionary();
- $decodingStream->dictionary->DecodeParms->Predictor = new Zend_Pdf_Element_Numeric(15);
- $decodingStream->dictionary->DecodeParms->Columns = new Zend_Pdf_Element_Numeric($width);
- $decodingStream->dictionary->DecodeParms->Colors = new Zend_Pdf_Element_Numeric(4); //RGBA
- $decodingStream->dictionary->DecodeParms->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits);
- $decodingStream->skipFilters();
-
- $pngDataRawDecoded = $decodingStream->value;
-
- //Iterate every pixel and copy out rgb data and alpha channel (this will be slow)
- for($pixel = 0, $pixelcount = ($width * $height); $pixel < $pixelcount; $pixel++) {
- $imageDataTmp .= $pngDataRawDecoded[($pixel*4)+0] . $pngDataRawDecoded[($pixel*4)+1] . $pngDataRawDecoded[($pixel*4)+2];
- $smaskData .= $pngDataRawDecoded[($pixel*4)+3];
- }
-
- $compressed = false;
- $imageData = $imageDataTmp; //Overwrite image data with the RGB channel without alpha
- break;
-
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "PNG Corruption: Invalid color space." );
- }
-
- if(empty($imageData)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Corrupt PNG Image. Mandatory IDAT chunk not found." );
- }
-
- $imageDictionary = $this->_resource->dictionary;
- if(!empty($smaskData)) {
- /*
- * Includes the Alpha transparency data as a Gray Image, then assigns the image as the Shadow Mask for the main image data.
- */
- $smaskStream = $this->_objectFactory->newStreamObject($smaskData);
- $smaskStream->dictionary->Type = new Zend_Pdf_Element_Name('XObject');
- $smaskStream->dictionary->Subtype = new Zend_Pdf_Element_Name('Image');
- $smaskStream->dictionary->Width = new Zend_Pdf_Element_Numeric($width);
- $smaskStream->dictionary->Height = new Zend_Pdf_Element_Numeric($height);
- $smaskStream->dictionary->ColorSpace = new Zend_Pdf_Element_Name('DeviceGray');
- $smaskStream->dictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits);
- $imageDictionary->SMask = $smaskStream;
-
- // Encode stream with FlateDecode filter
- $smaskStreamDecodeParms = array();
- $smaskStreamDecodeParms['Predictor'] = new Zend_Pdf_Element_Numeric(15);
- $smaskStreamDecodeParms['Columns'] = new Zend_Pdf_Element_Numeric($width);
- $smaskStreamDecodeParms['Colors'] = new Zend_Pdf_Element_Numeric(1);
- $smaskStreamDecodeParms['BitsPerComponent'] = new Zend_Pdf_Element_Numeric(8);
- $smaskStream->dictionary->DecodeParms = new Zend_Pdf_Element_Dictionary($smaskStreamDecodeParms);
- $smaskStream->dictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode');
- }
-
- if(!empty($transparencyData)) {
- //This is experimental and not properly tested.
- $imageDictionary->Mask = new Zend_Pdf_Element_Array($transparencyData);
- }
-
- $imageDictionary->Width = new Zend_Pdf_Element_Numeric($width);
- $imageDictionary->Height = new Zend_Pdf_Element_Numeric($height);
- $imageDictionary->ColorSpace = $colorSpace;
- $imageDictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($bits);
- $imageDictionary->Filter = new Zend_Pdf_Element_Name('FlateDecode');
-
- $decodeParms = array();
- $decodeParms['Predictor'] = new Zend_Pdf_Element_Numeric(15); // Optimal prediction
- $decodeParms['Columns'] = new Zend_Pdf_Element_Numeric($width);
- $decodeParms['Colors'] = new Zend_Pdf_Element_Numeric((($color==Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB || $color==Zend_Pdf_Resource_Image_Png::PNG_CHANNEL_RGB_ALPHA)?(3):(1)));
- $decodeParms['BitsPerComponent'] = new Zend_Pdf_Element_Numeric($bits);
- $imageDictionary->DecodeParms = new Zend_Pdf_Element_Dictionary($decodeParms);
-
- //Include only the image IDAT section data.
- $this->_resource->value = $imageData;
-
- //Skip double compression
- if ($compressed) {
- $this->_resource->skipFilters();
- }
- }
-
- /**
- * Image width
- */
- public function getPixelWidth() {
- return $this->_width;
- }
-
- /**
- * Image height
- */
- public function getPixelHeight() {
- return $this->_height;
- }
-
- /**
- * Image properties
- */
- public function getProperties() {
- return $this->_imageProperties;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/Image/Tiff.php b/airtime_mvc/library/Zend/Pdf/Resource/Image/Tiff.php
deleted file mode 100644
index 4a41ac0d4..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/Image/Tiff.php
+++ /dev/null
@@ -1,442 +0,0 @@
-_endianType)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("The unpackBytes function can only be used after the endianness of the file is known");
- }
- switch($type) {
- case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_BYTE:
- $format = 'C';
- $unpacked = unpack($format, $bytes);
- return $unpacked[1];
- break;
- case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT:
- $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'v':'n';
- $unpacked = unpack($format, $bytes);
- return $unpacked[1];
- break;
- case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG:
- $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V':'N';
- $unpacked = unpack($format, $bytes);
- return $unpacked[1];
- break;
- case Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_RATIONAL:
- $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V2':'N2';
- $unpacked = unpack($format, $bytes);
- return ($unpacked[1]/$unpacked[2]);
- break;
- }
- }
-
- /**
- * Object constructor
- *
- * @param string $imageFileName
- * @throws Zend_Pdf_Exception
- */
- public function __construct($imageFileName)
- {
- if (($imageFile = @fopen($imageFileName, 'rb')) === false ) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Can not open '$imageFileName' file for reading." );
- }
-
- $byteOrderIndicator = fread($imageFile, 2);
- if($byteOrderIndicator == 'II') {
- $this->_endianType = Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE;
- } else if($byteOrderIndicator == 'MM') {
- $this->_endianType = Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_BIG;
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Not a tiff file or Tiff corrupt. No byte order indication found" );
- }
-
- $version = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2));
-
- if($version != 42) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( "Not a tiff file or Tiff corrupt. Incorrect version number." );
- }
- $ifdOffset = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, fread($imageFile, 4));
-
- $fileStats = fstat($imageFile);
- $this->_fileSize = $fileStats['size'];
-
- /*
- * Tiff files are stored as a series of Image File Directories (IFD) each direcctory
- * has a specific number of entries each 12 bytes in length. At the end of the directories
- * is four bytes pointing to the offset of the next IFD.
- */
-
- while($ifdOffset > 0) {
- if(fseek($imageFile, $ifdOffset, SEEK_SET) == -1 || $ifdOffset+2 >= $this->_fileSize) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Could not seek to the image file directory as indexed by the file. Likely cause is TIFF corruption. Offset: ". $ifdOffset);
- }
-
- $numDirEntries = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2));
-
- /*
- * Since we now know how many entries are in this (IFD) we can extract the data.
- * The format of a TIFF directory entry is:
- *
- * 2 bytes (short) tag code; See TIFF_TAG constants at the top for supported values. (There are many more in the spec)
- * 2 bytes (short) field type
- * 4 bytes (long) number of values, or value count.
- * 4 bytes (mixed) data if the data will fit into 4 bytes or an offset if the data is too large.
- */
- for($dirEntryIdx = 1; $dirEntryIdx <= $numDirEntries; $dirEntryIdx++) {
- $tag = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2));
- $fieldType = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2));
- $valueCount = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, fread($imageFile, 4));
-
- switch($fieldType) {
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_BYTE:
- $fieldLength = $valueCount;
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_ASCII:
- $fieldLength = $valueCount;
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_SHORT:
- $fieldLength = $valueCount * 2;
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_LONG:
- $fieldLength = $valueCount * 4;
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_RATIONAL:
- $fieldLength = $valueCount * 8;
- break;
- default:
- $fieldLength = $valueCount;
- }
-
- $offsetBytes = fread($imageFile, 4);
-
- if($fieldLength <= 4) {
- switch($fieldType) {
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_BYTE:
- $value = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_BYTE, $offsetBytes);
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_ASCII:
- //Fall through to next case
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_LONG:
- $value = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, $offsetBytes);
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_FIELD_TYPE_SHORT:
- //Fall through to next case
- default:
- $value = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, $offsetBytes);
- }
- } else {
- $refOffset = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, $offsetBytes);
- }
- /*
- * Linear tag processing is probably not the best way to do this. I've processed the tags according to the
- * Tiff 6 specification and make some assumptions about when tags will be < 4 bytes and fit into $value and when
- * they will be > 4 bytes and require seek/extraction of the offset. Same goes for extracting arrays of data, like
- * the data offsets and length. This should be fixed in the future.
- */
- switch($tag) {
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_IMAGE_WIDTH:
- $this->_width = $value;
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_IMAGE_LENGTH:
- $this->_height = $value;
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_BITS_PER_SAMPLE:
- if($valueCount>1) {
- $fp = ftell($imageFile);
- fseek($imageFile, $refOffset, SEEK_SET);
- $this->_bitsPerSample = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_SHORT, fread($imageFile, 2));
- fseek($imageFile, $fp, SEEK_SET);
- } else {
- $this->_bitsPerSample = $value;
- }
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_COMPRESSION:
- $this->_compression = $value;
- switch($value) {
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_UNCOMPRESSED:
- $this->_filter = 'None';
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_CCITT1D:
- //Fall through to next case
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_GROUP_3_FAX:
- //Fall through to next case
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_GROUP_4_FAX:
- $this->_filter = 'CCITTFaxDecode';
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("CCITTFaxDecode Compression Mode Not Currently Supported");
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_LZW:
- $this->_filter = 'LZWDecode';
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("LZWDecode Compression Mode Not Currently Supported");
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_JPEG:
- $this->_filter = 'DCTDecode'; //Should work, doesnt...
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("JPEG Compression Mode Not Currently Supported");
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_FLATE:
- //fall through to next case
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_FLATE_OBSOLETE_CODE:
- $this->_filter = 'FlateDecode';
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("ZIP/Flate Compression Mode Not Currently Supported");
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_COMPRESSION_PACKBITS:
- $this->_filter = 'RunLengthDecode';
- break;
- }
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_PHOTOMETRIC_INTERPRETATION:
- $this->_colorCode = $value;
- $this->_whiteIsZero = false;
- $this->_blackIsZero = false;
- switch($value) {
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO:
- $this->_whiteIsZero = true;
- $this->_colorSpace = 'DeviceGray';
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO:
- $this->_blackIsZero = true;
- $this->_colorSpace = 'DeviceGray';
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_YCBCR:
- //fall through to next case
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_RGB:
- $this->_colorSpace = 'DeviceRGB';
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_RGB_INDEXED:
- $this->_colorSpace = 'Indexed';
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_CMYK:
- $this->_colorSpace = 'DeviceCMYK';
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_PHOTOMETRIC_INTERPRETATION_CIELAB:
- $this->_colorSpace = 'Lab';
- break;
- default:
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('TIFF: Unknown or Unsupported Color Type: '. $value);
- }
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_STRIP_OFFSETS:
- if($valueCount>1) {
- $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V*':'N*';
- $fp = ftell($imageFile);
- fseek($imageFile, $refOffset, SEEK_SET);
- $stripOffsetsBytes = fread($imageFile, $fieldLength);
- $this->_imageDataOffset = unpack($format, $stripOffsetsBytes);
- fseek($imageFile, $fp, SEEK_SET);
- } else {
- $this->_imageDataOffset = $value;
- }
- break;
- case Zend_Pdf_Resource_Image_Tiff::TIFF_TAG_STRIP_BYTE_COUNTS:
- if($valueCount>1) {
- $format = ($this->_endianType == Zend_Pdf_Resource_Image_Tiff::TIFF_ENDIAN_LITTLE)?'V*':'N*';
- $fp = ftell($imageFile);
- fseek($imageFile, $refOffset, SEEK_SET);
- $stripByteCountsBytes = fread($imageFile, $fieldLength);
- $this->_imageDataLength = unpack($format, $stripByteCountsBytes);
- fseek($imageFile, $fp, SEEK_SET);
- } else {
- $this->_imageDataLength = $value;
- }
- break;
- default:
- //For debugging. It should be harmless to ignore unknown tags, though there is some good info in them.
- //echo "Unknown tag detected: ". $tag . " value: ". $value;
- }
- }
- $ifdOffset = $this->unpackBytes(Zend_Pdf_Resource_Image_Tiff::UNPACK_TYPE_LONG, fread($imageFile, 4));
- }
-
- if(!isset($this->_imageDataOffset) || !isset($this->_imageDataLength)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("TIFF: The image processed did not contain image data as expected.");
- }
-
- $imageDataBytes = '';
- if(is_array($this->_imageDataOffset)) {
- if(!is_array($this->_imageDataLength)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("TIFF: The image contained multiple data offsets but not multiple data lengths. Tiff may be corrupt.");
- }
- foreach($this->_imageDataOffset as $idx => $offset) {
- fseek($imageFile, $this->_imageDataOffset[$idx], SEEK_SET);
- $imageDataBytes .= fread($imageFile, $this->_imageDataLength[$idx]);
- }
- } else {
- fseek($imageFile, $this->_imageDataOffset, SEEK_SET);
- $imageDataBytes = fread($imageFile, $this->_imageDataLength);
- }
- if($imageDataBytes === '') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("TIFF: No data. Image Corruption");
- }
-
- fclose($imageFile);
-
- parent::__construct();
-
- $imageDictionary = $this->_resource->dictionary;
- if(!isset($this->_width) || !isset($this->_width)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception("Problem reading tiff file. Tiff is probably corrupt.");
- }
-
- $this->_imageProperties = array();
- $this->_imageProperties['bitDepth'] = $this->_bitsPerSample;
- $this->_imageProperties['fileSize'] = $this->_fileSize;
- $this->_imageProperties['TIFFendianType'] = $this->_endianType;
- $this->_imageProperties['TIFFcompressionType'] = $this->_compression;
- $this->_imageProperties['TIFFwhiteIsZero'] = $this->_whiteIsZero;
- $this->_imageProperties['TIFFblackIsZero'] = $this->_blackIsZero;
- $this->_imageProperties['TIFFcolorCode'] = $this->_colorCode;
- $this->_imageProperties['TIFFimageDataOffset'] = $this->_imageDataOffset;
- $this->_imageProperties['TIFFimageDataLength'] = $this->_imageDataLength;
- $this->_imageProperties['PDFfilter'] = $this->_filter;
- $this->_imageProperties['PDFcolorSpace'] = $this->_colorSpace;
-
- $imageDictionary->Width = new Zend_Pdf_Element_Numeric($this->_width);
- if($this->_whiteIsZero === true) {
- $imageDictionary->Decode = new Zend_Pdf_Element_Array(array(new Zend_Pdf_Element_Numeric(1), new Zend_Pdf_Element_Numeric(0)));
- }
- $imageDictionary->Height = new Zend_Pdf_Element_Numeric($this->_height);
- $imageDictionary->ColorSpace = new Zend_Pdf_Element_Name($this->_colorSpace);
- $imageDictionary->BitsPerComponent = new Zend_Pdf_Element_Numeric($this->_bitsPerSample);
- if(isset($this->_filter) && $this->_filter != 'None') {
- $imageDictionary->Filter = new Zend_Pdf_Element_Name($this->_filter);
- }
-
- $this->_resource->value = $imageDataBytes;
- $this->_resource->skipFilters();
- }
- /**
- * Image width (defined in Zend_Pdf_Resource_Image_Interface)
- */
- public function getPixelWidth() {
- return $this->_width;
- }
-
- /**
- * Image height (defined in Zend_Pdf_Resource_Image_Interface)
- */
- public function getPixelHeight() {
- return $this->_height;
- }
-
- /**
- * Image properties (defined in Zend_Pdf_Resource_Image_Interface)
- */
- public function getProperties() {
- return $this->_imageProperties;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Resource/ImageFactory.php b/airtime_mvc/library/Zend/Pdf/Resource/ImageFactory.php
deleted file mode 100644
index a321ac9a6..000000000
--- a/airtime_mvc/library/Zend/Pdf/Resource/ImageFactory.php
+++ /dev/null
@@ -1,71 +0,0 @@
-_context = null;
- $this->_elements = array();
- $this->_objFactory = null;
- }
-
- /**
- * Character with code $chCode is white space
- *
- * @param integer $chCode
- * @return boolean
- */
- public static function isWhiteSpace($chCode)
- {
- if ($chCode == 0x00 || // null character
- $chCode == 0x09 || // Tab
- $chCode == 0x0A || // Line feed
- $chCode == 0x0C || // Form Feed
- $chCode == 0x0D || // Carriage return
- $chCode == 0x20 // Space
- ) {
- return true;
- } else {
- return false;
- }
- }
-
-
- /**
- * Character with code $chCode is a delimiter character
- *
- * @param integer $chCode
- * @return boolean
- */
- public static function isDelimiter($chCode )
- {
- if ($chCode == 0x28 || // '('
- $chCode == 0x29 || // ')'
- $chCode == 0x3C || // '<'
- $chCode == 0x3E || // '>'
- $chCode == 0x5B || // '['
- $chCode == 0x5D || // ']'
- $chCode == 0x7B || // '{'
- $chCode == 0x7D || // '}'
- $chCode == 0x2F || // '/'
- $chCode == 0x25 // '%'
- ) {
- return true;
- } else {
- return false;
- }
- }
-
-
- /**
- * Skip white space
- *
- * @param boolean $skipComment
- */
- public function skipWhiteSpace($skipComment = true)
- {
- if ($skipComment) {
- while (true) {
- $this->offset += strspn($this->data, "\x00\t\n\f\r ", $this->offset);
-
- if ($this->offset < strlen($this->data) && $this->data[$this->offset] == '%') {
- // Skip comment
- $this->offset += strcspn($this->data, "\r\n", $this->offset);
- } else {
- // Non white space character not equal to '%' is found
- return;
- }
- }
- } else {
- $this->offset += strspn($this->data, "\x00\t\n\f\r ", $this->offset);
- }
-
-// /** Original (non-optimized) implementation. */
-//
-// while ($this->offset < strlen($this->data)) {
-// if (strpos("\x00\t\n\f\r ", $this->data[$this->offset]) !== false) {
-// $this->offset++;
-// } else if (ord($this->data[$this->offset]) == 0x25 && $skipComment) { // '%'
-// $this->skipComment();
-// } else {
-// return;
-// }
-// }
- }
-
-
- /**
- * Skip comment
- */
- public function skipComment()
- {
- while ($this->offset < strlen($this->data))
- {
- if (ord($this->data[$this->offset]) != 0x0A || // Line feed
- ord($this->data[$this->offset]) != 0x0d // Carriage return
- ) {
- $this->offset++;
- } else {
- return;
- }
- }
- }
-
-
- /**
- * Read comment line
- *
- * @return string
- */
- public function readComment()
- {
- $this->skipWhiteSpace(false);
-
- /** Check if it's a comment line */
- if ($this->data[$this->offset] != '%') {
- return '';
- }
-
- for ($start = $this->offset;
- $this->offset < strlen($this->data);
- $this->offset++) {
- if (ord($this->data[$this->offset]) == 0x0A || // Line feed
- ord($this->data[$this->offset]) == 0x0d // Carriage return
- ) {
- break;
- }
- }
-
- return substr($this->data, $start, $this->offset-$start);
- }
-
-
- /**
- * Returns next lexeme from a pdf stream
- *
- * @return string
- */
- public function readLexeme()
- {
- // $this->skipWhiteSpace();
- while (true) {
- $this->offset += strspn($this->data, "\x00\t\n\f\r ", $this->offset);
-
- if ($this->offset < strlen($this->data) && $this->data[$this->offset] == '%') {
- $this->offset += strcspn($this->data, "\r\n", $this->offset);
- } else {
- break;
- }
- }
-
- if ($this->offset >= strlen($this->data)) {
- return '';
- }
-
- if ( /* self::isDelimiter( ord($this->data[$start]) ) */
- strpos('()<>[]{}/%', $this->data[$this->offset]) !== false ) {
-
- switch (substr($this->data, $this->offset, 2)) {
- case '<<':
- $this->offset += 2;
- return '<<';
- break;
-
- case '>>':
- $this->offset += 2;
- return '>>';
- break;
-
- default:
- return $this->data[$this->offset++];
- break;
- }
- } else {
- $start = $this->offset;
- $this->offset += strcspn($this->data, "()<>[]{}/%\x00\t\n\f\r ", $this->offset);
-
- return substr($this->data, $start, $this->offset - $start);
- }
- }
-
-
- /**
- * Read elemental object from a PDF stream
- *
- * @return Zend_Pdf_Element
- * @throws Zend_Pdf_Exception
- */
- public function readElement($nextLexeme = null)
- {
- if ($nextLexeme === null) {
- $nextLexeme = $this->readLexeme();
- }
-
- /**
- * Note: readElement() method is a public method and could be invoked from other classes.
- * If readElement() is used not by Zend_Pdf_StringParser::getObject() method, then we should not care
- * about _elements member management.
- */
- switch ($nextLexeme) {
- case '(':
- return ($this->_elements[] = $this->_readString());
-
- case '<':
- return ($this->_elements[] = $this->_readBinaryString());
-
- case '/':
- return ($this->_elements[] = new Zend_Pdf_Element_Name(
- Zend_Pdf_Element_Name::unescape( $this->readLexeme() )
- ));
-
- case '[':
- return ($this->_elements[] = $this->_readArray());
-
- case '<<':
- return ($this->_elements[] = $this->_readDictionary());
-
- case ')':
- // fall through to next case
- case '>':
- // fall through to next case
- case ']':
- // fall through to next case
- case '>>':
- // fall through to next case
- case '{':
- // fall through to next case
- case '}':
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X.',
- $this->offset));
-
- default:
- if (strcasecmp($nextLexeme, 'true') == 0) {
- return ($this->_elements[] = new Zend_Pdf_Element_Boolean(true));
- } else if (strcasecmp($nextLexeme, 'false') == 0) {
- return ($this->_elements[] = new Zend_Pdf_Element_Boolean(false));
- } else if (strcasecmp($nextLexeme, 'null') == 0) {
- return ($this->_elements[] = new Zend_Pdf_Element_Null());
- }
-
- $ref = $this->_readReference($nextLexeme);
- if ($ref !== null) {
- return ($this->_elements[] = $ref);
- }
-
- return ($this->_elements[] = $this->_readNumeric($nextLexeme));
- }
- }
-
-
- /**
- * Read string PDF object
- * Also reads trailing ')' from a pdf stream
- *
- * @return Zend_Pdf_Element_String
- * @throws Zend_Pdf_Exception
- */
- private function _readString()
- {
- $start = $this->offset;
- $openedBrackets = 1;
-
- $this->offset += strcspn($this->data, '()\\', $this->offset);
-
- while ($this->offset < strlen($this->data)) {
- switch (ord( $this->data[$this->offset] )) {
- case 0x28: // '(' - opened bracket in the string, needs balanced pair.
- $this->offset++;
- $openedBrackets++;
- break;
-
- case 0x29: // ')' - pair to the opened bracket
- $this->offset++;
- $openedBrackets--;
- break;
-
- case 0x5C: // '\\' - escape sequence, skip next char from a check
- $this->offset += 2;
- }
-
- if ($openedBrackets == 0) {
- break; // end of string
- }
-
- $this->offset += strcspn($this->data, '()\\', $this->offset);
- }
- if ($openedBrackets != 0) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while string reading. Offset - 0x%X. \')\' expected.', $start));
- }
-
- return new Zend_Pdf_Element_String(Zend_Pdf_Element_String::unescape( substr($this->data,
- $start,
- $this->offset - $start - 1) ));
- }
-
-
- /**
- * Read binary string PDF object
- * Also reads trailing '>' from a pdf stream
- *
- * @return Zend_Pdf_Element_String_Binary
- * @throws Zend_Pdf_Exception
- */
- private function _readBinaryString()
- {
- $start = $this->offset;
-
- $this->offset += strspn($this->data, "\x00\t\n\f\r 0123456789abcdefABCDEF", $this->offset);
-
- if ($this->offset >= strlen($this->data) - 1) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while reading binary string. Offset - 0x%X. \'>\' expected.', $start));
- }
-
- if ($this->data[$this->offset++] != '>') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected character while binary string reading. Offset - 0x%X.', $this->offset));
- }
-
- return new Zend_Pdf_Element_String_Binary(
- Zend_Pdf_Element_String_Binary::unescape( substr($this->data,
- $start,
- $this->offset - $start - 1) ));
- }
-
-
- /**
- * Read array PDF object
- * Also reads trailing ']' from a pdf stream
- *
- * @return Zend_Pdf_Element_Array
- * @throws Zend_Pdf_Exception
- */
- private function _readArray()
- {
- $elements = array();
-
- while ( strlen($nextLexeme = $this->readLexeme()) != 0 ) {
- if ($nextLexeme != ']') {
- $elements[] = $this->readElement($nextLexeme);
- } else {
- return new Zend_Pdf_Element_Array($elements);
- }
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while array reading. Offset - 0x%X. \']\' expected.', $this->offset));
- }
-
-
- /**
- * Read dictionary PDF object
- * Also reads trailing '>>' from a pdf stream
- *
- * @return Zend_Pdf_Element_Dictionary
- * @throws Zend_Pdf_Exception
- */
- private function _readDictionary()
- {
- $dictionary = new Zend_Pdf_Element_Dictionary();
-
- while ( strlen($nextLexeme = $this->readLexeme()) != 0 ) {
- if ($nextLexeme != '>>') {
- $nameStart = $this->offset - strlen($nextLexeme);
-
- $name = $this->readElement($nextLexeme);
- $value = $this->readElement();
-
- if (!$name instanceof Zend_Pdf_Element_Name) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Name object expected while dictionary reading. Offset - 0x%X.', $nameStart));
- }
-
- $dictionary->add($name, $value);
- } else {
- return $dictionary;
- }
- }
-
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Unexpected end of file while dictionary reading. Offset - 0x%X. \'>>\' expected.', $this->offset));
- }
-
-
- /**
- * Read reference PDF object
- *
- * @param string $nextLexeme
- * @return Zend_Pdf_Element_Reference
- */
- private function _readReference($nextLexeme = null)
- {
- $start = $this->offset;
-
- if ($nextLexeme === null) {
- $objNum = $this->readLexeme();
- } else {
- $objNum = $nextLexeme;
- }
- if (!ctype_digit($objNum)) { // it's not a reference
- $this->offset = $start;
- return null;
- }
-
- $genNum = $this->readLexeme();
- if (!ctype_digit($genNum)) { // it's not a reference
- $this->offset = $start;
- return null;
- }
-
- $rMark = $this->readLexeme();
- if ($rMark != 'R') { // it's not a reference
- $this->offset = $start;
- return null;
- }
-
- $ref = new Zend_Pdf_Element_Reference((int)$objNum, (int)$genNum, $this->_context, $this->_objFactory->resolve());
-
- return $ref;
- }
-
-
- /**
- * Read numeric PDF object
- *
- * @param string $nextLexeme
- * @return Zend_Pdf_Element_Numeric
- */
- private function _readNumeric($nextLexeme = null)
- {
- if ($nextLexeme === null) {
- $nextLexeme = $this->readLexeme();
- }
-
- return new Zend_Pdf_Element_Numeric($nextLexeme);
- }
-
-
- /**
- * Read inderect object from a PDF stream
- *
- * @param integer $offset
- * @param Zend_Pdf_Element_Reference_Context $context
- * @return Zend_Pdf_Element_Object
- */
- public function getObject($offset, Zend_Pdf_Element_Reference_Context $context)
- {
- if ($offset === null ) {
- return new Zend_Pdf_Element_Null();
- }
-
- // Save current offset to make getObject() reentrant
- $offsetSave = $this->offset;
-
- $this->offset = $offset;
- $this->_context = $context;
- $this->_elements = array();
-
- $objNum = $this->readLexeme();
- if (!ctype_digit($objNum)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Object number expected.', $this->offset - strlen($objNum)));
- }
-
- $genNum = $this->readLexeme();
- if (!ctype_digit($genNum)) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Object generation number expected.', $this->offset - strlen($genNum)));
- }
-
- $objKeyword = $this->readLexeme();
- if ($objKeyword != 'obj') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'obj\' keyword expected.', $this->offset - strlen($objKeyword)));
- }
-
- $objValue = $this->readElement();
-
- $nextLexeme = $this->readLexeme();
-
- if( $nextLexeme == 'endobj' ) {
- /**
- * Object is not generated by factory (thus it's not marked as modified object).
- * But factory is assigned to the obect.
- */
- $obj = new Zend_Pdf_Element_Object($objValue, (int)$objNum, (int)$genNum, $this->_objFactory->resolve());
-
- foreach ($this->_elements as $element) {
- $element->setParentObject($obj);
- }
-
- // Restore offset value
- $this->offset = $offsetSave;
-
- return $obj;
- }
-
- /**
- * It's a stream object
- */
- if ($nextLexeme != 'stream') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'endobj\' or \'stream\' keywords expected.', $this->offset - strlen($nextLexeme)));
- }
-
- if (!$objValue instanceof Zend_Pdf_Element_Dictionary) {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. Stream extent must be preceded by stream dictionary.', $this->offset - strlen($nextLexeme)));
- }
-
- /**
- * References are automatically dereferenced at this moment.
- */
- $streamLength = $objValue->Length->value;
-
- /**
- * 'stream' keyword must be followed by either cr-lf sequence or lf character only.
- * This restriction gives the possibility to recognize all cases exactly
- */
- if ($this->data[$this->offset] == "\r" &&
- $this->data[$this->offset + 1] == "\n" ) {
- $this->offset += 2;
- } else if ($this->data[$this->offset] == "\n" ) {
- $this->offset++;
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'stream\' must be followed by either cr-lf sequence or lf character only.', $this->offset - strlen($nextLexeme)));
- }
-
- $dataOffset = $this->offset;
-
- $this->offset += $streamLength;
-
- $nextLexeme = $this->readLexeme();
- if ($nextLexeme != 'endstream') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'endstream\' keyword expected.', $this->offset - strlen($nextLexeme)));
- }
-
- $nextLexeme = $this->readLexeme();
- if ($nextLexeme != 'endobj') {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception(sprintf('PDF file syntax error. Offset - 0x%X. \'endobj\' keyword expected.', $this->offset - strlen($nextLexeme)));
- }
-
- $obj = new Zend_Pdf_Element_Object_Stream(substr($this->data,
- $dataOffset,
- $streamLength),
- (int)$objNum,
- (int)$genNum,
- $this->_objFactory->resolve(),
- $objValue);
-
- foreach ($this->_elements as $element) {
- $element->setParentObject($obj);
- }
-
- // Restore offset value
- $this->offset = $offsetSave;
-
- return $obj;
- }
-
-
- /**
- * Get length of source string
- *
- * @return integer
- */
- public function getLength()
- {
- return strlen($this->data);
- }
-
- /**
- * Get source string
- *
- * @return string
- */
- public function getString()
- {
- return $this->data;
- }
-
-
- /**
- * Parse integer value from a binary stream
- *
- * @param string $stream
- * @param integer $offset
- * @param integer $size
- * @return integer
- */
- public static function parseIntFromStream($stream, $offset, $size)
- {
- $value = 0;
- for ($count = 0; $count < $size; $count++) {
- $value *= 256;
- $value += ord($stream[$offset + $count]);
- }
-
- return $value;
- }
-
-
-
- /**
- * Set current context
- *
- * @param Zend_Pdf_Element_Reference_Context $context
- */
- public function setContext(Zend_Pdf_Element_Reference_Context $context)
- {
- $this->_context = $context;
- }
-
- /**
- * Object constructor
- *
- * Note: PHP duplicates string, which is sent by value, only of it's updated.
- * Thus we don't need to care about overhead
- *
- * @param string $pdfString
- * @param Zend_Pdf_ElementFactory_Interface $factory
- */
- public function __construct($source, Zend_Pdf_ElementFactory_Interface $factory)
- {
- $this->data = $source;
- $this->_objFactory = $factory;
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Style.php b/airtime_mvc/library/Zend/Pdf/Style.php
deleted file mode 100644
index 475c8b93b..000000000
--- a/airtime_mvc/library/Zend/Pdf/Style.php
+++ /dev/null
@@ -1,295 +0,0 @@
-_fillColor = $anotherStyle->_fillColor;
- $this->_color = $anotherStyle->_color;
- $this->_lineWidth = $anotherStyle->_lineWidth;
- $this->_lineDashingPattern = $anotherStyle->_lineDashingPattern;
- $this->_lineDashingPhase = $anotherStyle->_lineDashingPhase;
- $this->_font = $anotherStyle->_font;
- $this->_fontSize = $anotherStyle->_fontSize;
- }
- }
-
-
- /**
- * Set fill color.
- *
- * @param Zend_Pdf_Color $color
- */
- public function setFillColor(Zend_Pdf_Color $color)
- {
- $this->_fillColor = $color;
- }
-
- /**
- * Set line color.
- *
- * @param Zend_Pdf_Color $color
- */
- public function setLineColor(Zend_Pdf_Color $color)
- {
- $this->_color = $color;
- }
-
- /**
- * Set line width.
- *
- * @param float $width
- */
- public function setLineWidth($width)
- {
- require_once 'Zend/Pdf/Element/Numeric.php';
- $this->_lineWidth = new Zend_Pdf_Element_Numeric($width);
- }
-
-
- /**
- * Set line dashing pattern
- *
- * @param array $pattern
- * @param float $phase
- */
- public function setLineDashingPattern($pattern, $phase = 0)
- {
- require_once 'Zend/Pdf/Page.php';
- if ($pattern === Zend_Pdf_Page::LINE_DASHING_SOLID) {
- $pattern = array();
- $phase = 0;
- }
-
- require_once 'Zend/Pdf/Element/Numeric.php';
- $this->_lineDashingPattern = $pattern;
- $this->_lineDashingPhase = new Zend_Pdf_Element_Numeric($phase);
- }
-
-
- /**
- * Set current font.
- *
- * @param Zend_Pdf_Resource_Font $font
- * @param float $fontSize
- */
- public function setFont(Zend_Pdf_Resource_Font $font, $fontSize)
- {
- $this->_font = $font;
- $this->_fontSize = $fontSize;
- }
-
- /**
- * Modify current font size
- *
- * @param float $fontSize
- */
- public function setFontSize($fontSize)
- {
- $this->_fontSize = $fontSize;
- }
-
- /**
- * Get fill color.
- *
- * @return Zend_Pdf_Color|null
- */
- public function getFillColor()
- {
- return $this->_fillColor;
- }
-
- /**
- * Get line color.
- *
- * @return Zend_Pdf_Color|null
- */
- public function getLineColor()
- {
- return $this->_color;
- }
-
- /**
- * Get line width.
- *
- * @return float
- */
- public function getLineWidth()
- {
- return $this->_lineWidth->value;
- }
-
- /**
- * Get line dashing pattern
- *
- * @return array
- */
- public function getLineDashingPattern()
- {
- return $this->_lineDashingPattern;
- }
-
-
- /**
- * Get current font.
- *
- * @return Zend_Pdf_Resource_Font $font
- */
- public function getFont()
- {
- return $this->_font;
- }
-
- /**
- * Get current font size
- *
- * @return float $fontSize
- */
- public function getFontSize()
- {
- return $this->_fontSize;
- }
-
- /**
- * Get line dashing phase
- *
- * @return float
- */
- public function getLineDashingPhase()
- {
- return $this->_lineDashingPhase->value;
- }
-
-
- /**
- * Dump style to a string, which can be directly inserted into content stream
- *
- * @return string
- */
- public function instructions()
- {
- $instructions = '';
-
- if ($this->_fillColor !== null) {
- $instructions .= $this->_fillColor->instructions(false);
- }
-
- if ($this->_color !== null) {
- $instructions .= $this->_color->instructions(true);
- }
-
- if ($this->_lineWidth !== null) {
- $instructions .= $this->_lineWidth->toString() . " w\n";
- }
-
- if ($this->_lineDashingPattern !== null) {
- require_once 'Zend/Pdf/Element/Array.php';
- $dashPattern = new Zend_Pdf_Element_Array();
-
- require_once 'Zend/Pdf/Element/Numeric.php';
- foreach ($this->_lineDashingPattern as $dashItem) {
- $dashElement = new Zend_Pdf_Element_Numeric($dashItem);
- $dashPattern->items[] = $dashElement;
- }
-
- $instructions .= $dashPattern->toString() . ' '
- . $this->_lineDashingPhase->toString() . " d\n";
- }
-
- return $instructions;
- }
-
-}
-
diff --git a/airtime_mvc/library/Zend/Pdf/Target.php b/airtime_mvc/library/Zend/Pdf/Target.php
deleted file mode 100644
index ee3e2c6b0..000000000
--- a/airtime_mvc/library/Zend/Pdf/Target.php
+++ /dev/null
@@ -1,76 +0,0 @@
-getType() == Zend_Pdf_Element::TYPE_DICTIONARY) {
- if (($resource->Type === null || $resource->Type->value =='Action') && $resource->S !== null) {
- // It's a well-formed action, load it
- require_once 'Zend/Pdf/Action.php';
- return Zend_Pdf_Action::load($resource);
- } else if ($resource->D !== null) {
- // It's a destination
- $resource = $resource->D;
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception('Wrong resource type.');
- }
- }
-
- if ($resource->getType() == Zend_Pdf_Element::TYPE_ARRAY ||
- $resource->getType() == Zend_Pdf_Element::TYPE_NAME ||
- $resource->getType() == Zend_Pdf_Element::TYPE_STRING) {
- // Resource is an array, just treat it as an explicit destination array
- require_once 'Zend/Pdf/Destination.php';
- return Zend_Pdf_Destination::load($resource);
- } else {
- require_once 'Zend/Pdf/Exception.php';
- throw new Zend_Pdf_Exception( 'Wrong resource type.' );
- }
- }
-
- /**
- * Get resource
- *
- * @internal
- * @return Zend_Pdf_Element
- */
- abstract public function getResource();
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Trailer.php b/airtime_mvc/library/Zend/Pdf/Trailer.php
deleted file mode 100644
index f607b7139..000000000
--- a/airtime_mvc/library/Zend/Pdf/Trailer.php
+++ /dev/null
@@ -1,126 +0,0 @@
-_dict = $dict;
-
- foreach ($this->_dict->getKeys() as $dictKey) {
- $this->_checkDictKey($dictKey);
- }
- }
-
- /**
- * Get handler
- *
- * @param string $property
- * @return mixed
- */
- public function __get($property)
- {
- return $this->_dict->$property;
- }
-
- /**
- * Set handler
- *
- * @param string $property
- * @param mixed $value
- */
- public function __set($property, $value)
- {
- $this->_checkDictKey($property);
- $this->_dict->$property = $value;
- }
-
- /**
- * Return string trailer representation
- *
- * @return string
- */
- public function toString()
- {
- return "trailer\n" . $this->_dict->toString() . "\n";
- }
-
-
- /**
- * Get length of source PDF
- *
- * @return string
- */
- abstract public function getPDFLength();
-
- /**
- * Get PDF String
- *
- * @return string
- */
- abstract public function getPDFString();
-
- /**
- * Get header of free objects list
- * Returns object number of last free object
- *
- * @return integer
- */
- abstract public function getLastFreeObject();
-}
diff --git a/airtime_mvc/library/Zend/Pdf/Trailer/Generator.php b/airtime_mvc/library/Zend/Pdf/Trailer/Generator.php
deleted file mode 100644
index 5448abf12..000000000
--- a/airtime_mvc/library/Zend/Pdf/Trailer/Generator.php
+++ /dev/null
@@ -1,77 +0,0 @@
-_context = $context;
- $this->_prev = $prev;
- }
-
- /**
- * Setter for $this->_prev
- *
- * @param Zend_Pdf_Trailer_Keeper $prev
- */
- public function setPrev(Zend_Pdf_Trailer_Keeper $prev)
- {
- $this->_prev = $prev;
- }
-
- /**
- * Getter for $this->_prev
- *
- * @return Zend_Pdf_Trailer
- */
- public function getPrev()
- {
- return $this->_prev;
- }
-
- /**
- * Get length of source PDF
- *
- * @return string
- */
- public function getPDFLength()
- {
- return $this->_context->getParser()->getLength();
- }
-
- /**
- * Get PDF String
- *
- * @return string
- */
- public function getPDFString()
- {
- return $this->_context->getParser()->getString();
- }
-
- /**
- * Get reference table, which corresponds to the trailer.
- * Proxy to the $_context member methad call
- *
- * @return Zend_Pdf_Element_Reference_Context
- */
- public function getRefTable()
- {
- return $this->_context->getRefTable();
- }
-
- /**
- * Get header of free objects list
- * Returns object number of last free object
- *
- * @throws Zend_Pdf_Exception
- * @return integer
- */
- public function getLastFreeObject()
- {
- try {
- $this->_context->getRefTable()->getNextFree('0 65535 R');
- } catch (Zend_Pdf_Exception $e) {
- if ($e->getMessage() == 'Object not found.') {
- /**
- * Here is work around for some wrong generated PDFs.
- * We have not found reference to the header of free object list,
- * thus we treat it as there are no free objects.
- */
- return 0;
- }
-
- throw new Zend_Pdf_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Pdf/UpdateInfoContainer.php b/airtime_mvc/library/Zend/Pdf/UpdateInfoContainer.php
deleted file mode 100644
index 9df95bad3..000000000
--- a/airtime_mvc/library/Zend/Pdf/UpdateInfoContainer.php
+++ /dev/null
@@ -1,131 +0,0 @@
-_objNum = $objNum;
- $this->_genNum = $genNum;
- $this->_isFree = $isFree;
-
- if ($dump !== null) {
- if (strlen($dump) > 1024) {
- require_once 'Zend/Pdf.php';
- $this->_dump = Zend_Pdf::getMemoryManager()->create($dump);
- } else {
- $this->_dump = $dump;
- }
- }
- }
-
-
- /**
- * Get object number
- *
- * @return integer
- */
- public function getObjNum()
- {
- return $this->_objNum;
- }
-
- /**
- * Get generation number
- *
- * @return integer
- */
- public function getGenNum()
- {
- return $this->_genNum;
- }
-
- /**
- * Check, that object is free
- *
- * @return boolean
- */
- public function isFree()
- {
- return $this->_isFree;
- }
-
- /**
- * Get string representation of the object
- *
- * @return string
- */
- public function getObjectDump()
- {
- if ($this->_dump === null) {
- return '';
- }
-
- if (is_string($this->_dump)) {
- return $this->_dump;
- }
-
- return $this->_dump->getRef();
- }
-}
-
diff --git a/airtime_mvc/library/Zend/ProgressBar.php b/airtime_mvc/library/Zend/ProgressBar.php
deleted file mode 100644
index c6607590c..000000000
--- a/airtime_mvc/library/Zend/ProgressBar.php
+++ /dev/null
@@ -1,209 +0,0 @@
- $max) {
- require_once 'Zend/ProgressBar/Exception.php';
- throw new Zend_ProgressBar_Exception('$max must be greater than $min');
- }
-
- $this->_min = (float) $min;
- $this->_max = (float) $max;
- $this->_current = (float) $min;
-
- // See if we have to open a session namespace
- if ($persistenceNamespace !== null) {
- require_once 'Zend/Session/Namespace.php';
-
- $this->_persistenceNamespace = new Zend_Session_Namespace($persistenceNamespace);
- }
-
- // Set adapter
- $this->_adapter = $adapter;
-
- // Track the start time
- $this->_startTime = time();
-
- // See If a persistenceNamespace exists and handle accordingly
- if ($this->_persistenceNamespace !== null) {
- if (isset($this->_persistenceNamespace->isSet)) {
- $this->_startTime = $this->_persistenceNamespace->startTime;
- $this->_current = $this->_persistenceNamespace->current;
- $this->_statusText = $this->_persistenceNamespace->statusText;
- } else {
- $this->_persistenceNamespace->isSet = true;
- $this->_persistenceNamespace->startTime = $this->_startTime;
- $this->_persistenceNamespace->current = $this->_current;
- $this->_persistenceNamespace->statusText = $this->_statusText;
- }
- } else {
- $this->update();
- }
- }
-
- /**
- * Get the current adapter
- *
- * @return Zend_ProgressBar_Adapter
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * Update the progressbar
- *
- * @param float $value
- * @param string $text
- * @return void
- */
- public function update($value = null, $text = null)
- {
- // Update value if given
- if ($value !== null) {
- $this->_current = min($this->_max, max($this->_min, $value));
- }
-
- // Update text if given
- if ($text !== null) {
- $this->_statusText = $text;
- }
-
- // See if we have to update a namespace
- if ($this->_persistenceNamespace !== null) {
- $this->_persistenceNamespace->current = $this->_current;
- $this->_persistenceNamespace->statusText = $this->_statusText;
- }
-
- // Calculate percent
- if ($this->_min === $this->_max) {
- $percent = false;
- } else {
- $percent = (float) ($this->_current - $this->_min) / ($this->_max - $this->_min);
- }
-
- // Calculate ETA
- $timeTaken = time() - $this->_startTime;
-
- if ($percent === .0 || $percent === false) {
- $timeRemaining = null;
- } else {
- $timeRemaining = round(((1 / $percent) * $timeTaken) - $timeTaken);
- }
-
- // Poll the adapter
- $this->_adapter->notify($this->_current, $this->_max, $percent, $timeTaken, $timeRemaining, $this->_statusText);
- }
-
- /**
- * Update the progressbar to the next value
- *
- * @param string $text
- * @return void
- */
- public function next($diff = 1, $text = null)
- {
- $this->update(max($this->_min, min($this->_max, $this->_current + $diff)), $text);
- }
-
- /**
- * Call the adapters finish() behaviour
- *
- * @return void
- */
- public function finish()
- {
- if ($this->_persistenceNamespace !== null) {
- unset($this->_persistenceNamespace->isSet);
- }
-
- $this->_adapter->finish();
- }
-}
diff --git a/airtime_mvc/library/Zend/ProgressBar/Adapter.php b/airtime_mvc/library/Zend/ProgressBar/Adapter.php
deleted file mode 100644
index 7661a5a68..000000000
--- a/airtime_mvc/library/Zend/ProgressBar/Adapter.php
+++ /dev/null
@@ -1,113 +0,0 @@
-setOptions($options);
- } elseif ($options instanceof Zend_Config) {
- $this->setConfig($options);
- }
- }
-
- /**
- * Set options via a Zend_Config instance
- *
- * @param Zend_Config $config
- * @return Zend_ProgressBar_Adapter
- */
- public function setConfig(Zend_Config $config)
- {
- $this->setOptions($config->toArray());
-
- return $this;
- }
-
- /**
- * Set options via an array
- *
- * @param array $options
- * @return Zend_ProgressBar_Adapter
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Notify the adapter about an update
- *
- * @param float $current Current progress value
- * @param float $max Max progress value
- * @param float $percent Current percent value
- * @param integer $timeTaken Taken time in seconds
- * @param integer $timeRemaining Remaining time in seconds
- * @param string $text Status text
- * @return void
- */
- abstract public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text);
-
- /**
- * Called when the progress is explicitly finished
- *
- * @return void
- */
- abstract public function finish();
-}
diff --git a/airtime_mvc/library/Zend/ProgressBar/Adapter/Console.php b/airtime_mvc/library/Zend/ProgressBar/Adapter/Console.php
deleted file mode 100644
index c323a8b3c..000000000
--- a/airtime_mvc/library/Zend/ProgressBar/Adapter/Console.php
+++ /dev/null
@@ -1,534 +0,0 @@
-_width === null) {
- $this->setWidth();
- }
- }
-
- /**
- * Close local stdout, when open
- */
- public function __destruct()
- {
- if ($this->_outputStream !== null) {
- fclose($this->_outputStream);
- }
- }
-
- /**
- * Set a different output-stream
- *
- * @param string $resource
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setOutputStream($resource)
- {
- $stream = @fopen($resource, 'w');
-
- if ($stream === false) {
- require_once 'Zend/ProgressBar/Adapter/Exception.php';
- throw new Zend_ProgressBar_Adapter_Exception('Unable to open stream');
- }
-
- if ($this->_outputStream !== null) {
- fclose($this->_outputStream);
- }
-
- $this->_outputStream = $stream;
- }
-
- /**
- * Get the current output stream
- *
- * @return resource
- */
- public function getOutputStream()
- {
- if ($this->_outputStream === null) {
- if (!defined('STDOUT')) {
- $this->_outputStream = fopen('php://stdout', 'w');
- } else {
- return STDOUT;
- }
- }
-
- return $this->_outputStream;
- }
-
- /**
- * Set the width of the progressbar
- *
- * @param integer $width
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setWidth($width = null)
- {
- if ($width === null || !is_integer($width)) {
- if (substr(PHP_OS, 0, 3) === 'WIN') {
- // We have to default to 79 on windows, because the windows
- // terminal always has a fixed width of 80 characters and the
- // cursor is counted to the line, else windows would line break
- // after every update.
- $this->_width = 79;
- } else {
- // Set the default width of 80
- $this->_width = 80;
-
- // Try to determine the width through stty
- if (preg_match('#\d+ (\d+)#', @shell_exec('stty size'), $match) === 1) {
- $this->_width = (int) $match[1];
- } else if (preg_match('#columns = (\d+);#', @shell_exec('stty'), $match) === 1) {
- $this->_width = (int) $match[1];
- }
- }
- } else {
- $this->_width = (int) $width;
- }
-
- $this->_calculateBarWidth();
-
- return $this;
- }
-
- /**
- * Set the elements to display with the progressbar
- *
- * @param array $elements
- * @throws Zend_ProgressBar_Adapter_Exception When an invalid element is foudn in the array
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setElements(array $elements)
- {
- $allowedElements = array(self::ELEMENT_PERCENT,
- self::ELEMENT_BAR,
- self::ELEMENT_ETA,
- self::ELEMENT_TEXT);
-
- if (count(array_diff($elements, $allowedElements)) > 0) {
- require_once 'Zend/ProgressBar/Adapter/Exception.php';
- throw new Zend_ProgressBar_Adapter_Exception('Invalid element found in $elements array');
- }
-
- $this->_elements = $elements;
-
- $this->_calculateBarWidth();
-
- return $this;
- }
-
- /**
- * Set the left-hand character for the bar
- *
- * @param string $char
- * @throws Zend_ProgressBar_Adapter_Exception When character is empty
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setBarLeftChar($char)
- {
- if (empty($char)) {
- require_once 'Zend/ProgressBar/Adapter/Exception.php';
- throw new Zend_ProgressBar_Adapter_Exception('Character may not be empty');
- }
-
- $this->_barLeftChar = (string) $char;
-
- return $this;
- }
-
- /**
- * Set the right-hand character for the bar
- *
- * @param string $char
- * @throws Zend_ProgressBar_Adapter_Exception When character is empty
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setBarRightChar($char)
- {
- if (empty($char)) {
- require_once 'Zend/ProgressBar/Adapter/Exception.php';
- throw new Zend_ProgressBar_Adapter_Exception('Character may not be empty');
- }
-
- $this->_barRightChar = (string) $char;
-
- return $this;
- }
-
- /**
- * Set the indicator character for the bar
- *
- * @param string $char
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setBarIndicatorChar($char)
- {
- $this->_barIndicatorChar = (string) $char;
-
- return $this;
- }
-
- /**
- * Set the width of the text element
- *
- * @param integer $width
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setTextWidth($width)
- {
- $this->_textWidth = (int) $width;
-
- $this->_calculateBarWidth();
-
- return $this;
- }
-
- /**
- * Set the charset of the text element
- *
- * @param string $charset
- */
- public function setCharset($charset)
- {
- $this->_charset = $charset;
- }
-
- /**
- * Set the finish action
- *
- * @param string $action
- * @throws Zend_ProgressBar_Adapter_Exception When an invalid action is specified
- * @return Zend_ProgressBar_Adapter_Console
- */
- public function setFinishAction($action)
- {
- $allowedActions = array(self::FINISH_ACTION_CLEAR_LINE,
- self::FINISH_ACTION_EOL,
- self::FINISH_ACTION_NONE);
-
- if (!in_array($action, $allowedActions)) {
- require_once 'Zend/ProgressBar/Adapter/Exception.php';
- throw new Zend_ProgressBar_Adapter_Exception('Invalid finish action specified');
- }
-
- $this->_finishAction = $action;
-
- return $this;
- }
-
- /**
- * Defined by Zend_ProgressBar_Adapter_Interface
- *
- * @param float $current Current progress value
- * @param float $max Max progress value
- * @param float $percent Current percent value
- * @param integer $timeTaken Taken time in seconds
- * @param integer $timeRemaining Remaining time in seconds
- * @param string $text Status text
- * @return void
- */
- public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text)
- {
- // See if we must clear the line
- if ($this->_outputStarted) {
- $data = str_repeat("\x08", $this->_width);
- } else {
- $data = '';
- $this->_outputStarted = true;
- }
-
- // Build all elements
- $renderedElements = array();
-
- foreach ($this->_elements as $element) {
- switch ($element) {
- case self::ELEMENT_BAR:
- $visualWidth = $this->_barWidth - 2;
- $bar = '[';
-
- $indicatorWidth = strlen($this->_barIndicatorChar);
-
- $doneWidth = min($visualWidth - $indicatorWidth, round($visualWidth * $percent));
- if ($doneWidth > 0) {
- $bar .= substr(str_repeat($this->_barLeftChar, ceil($doneWidth / strlen($this->_barLeftChar))), 0, $doneWidth);
- }
-
- $bar .= $this->_barIndicatorChar;
-
- $leftWidth = $visualWidth - $doneWidth - $indicatorWidth;
- if ($leftWidth > 0) {
- $bar .= substr(str_repeat($this->_barRightChar, ceil($leftWidth / strlen($this->_barRightChar))), 0, $leftWidth);
- }
-
- $bar .= ']';
-
- $renderedElements[] = $bar;
- break;
-
- case self::ELEMENT_PERCENT:
- $renderedElements[] = str_pad(round($percent * 100), 3, ' ', STR_PAD_LEFT) . '%';
- break;
-
- case self::ELEMENT_ETA:
- // In the first 5 seconds we don't get accurate results,
- // this skipping technique is found in many progressbar
- // implementations.
- if ($timeTaken < 5) {
- $renderedElements[] = str_repeat(' ', 12);
- break;
- }
-
- if ($timeRemaining === null || $timeRemaining > 86400) {
- $etaFormatted = '??:??:??';
- } else {
- $hours = floor($timeRemaining / 3600);
- $minutes = floor(($timeRemaining % 3600) / 60);
- $seconds = ($timeRemaining % 3600 % 60);
-
- $etaFormatted = sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
- }
-
- $renderedElements[] = 'ETA ' . $etaFormatted;
- break;
-
- case self::ELEMENT_TEXT:
- $renderedElements[] = Zend_Text_MultiByte::strPad(substr($text, 0, $this->_textWidth), $this->_textWidth, ' ', STR_PAD_RIGHT, $this->_charset);
- break;
- }
- }
-
- $data .= implode(' ', $renderedElements);
-
- // Output line data
- $this->_outputData($data);
- }
-
- /**
- * Defined by Zend_ProgressBar_Adapter_Interface
- *
- * @return void
- */
- public function finish()
- {
- switch ($this->_finishAction) {
- case self::FINISH_ACTION_EOL:
- $this->_outputData(PHP_EOL);
- break;
-
- case self::FINISH_ACTION_CLEAR_LINE:
- if ($this->_outputStarted) {
- $data = str_repeat("\x08", $this->_width)
- . str_repeat(' ', $this->_width)
- . str_repeat("\x08", $this->_width);
-
- $this->_outputData($data);
- }
- break;
-
- case self::FINISH_ACTION_NONE:
- break;
- }
- }
-
- /**
- * Calculate the bar width when other elements changed
- *
- * @return void
- */
- protected function _calculateBarWidth()
- {
- if (in_array(self::ELEMENT_BAR, $this->_elements)) {
- $barWidth = $this->_width;
-
- if (in_array(self::ELEMENT_PERCENT, $this->_elements)) {
- $barWidth -= 4;
- }
-
- if (in_array(self::ELEMENT_ETA, $this->_elements)) {
- $barWidth -= 12;
- }
-
- if (in_array(self::ELEMENT_TEXT, $this->_elements)) {
- $barWidth -= $this->_textWidth;
- }
-
- $this->_barWidth = $barWidth - (count($this->_elements) - 1);
- }
- }
-
- /**
- * Outputs given data to STDOUT.
- *
- * This split-off is required for unit-testing.
- *
- * @param string $data
- * @return void
- */
- protected function _outputData($data)
- {
- fwrite($this->getOutputStream(), $data);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/ProgressBar/Adapter/Exception.php b/airtime_mvc/library/Zend/ProgressBar/Adapter/Exception.php
deleted file mode 100644
index 6fa203286..000000000
--- a/airtime_mvc/library/Zend/ProgressBar/Adapter/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_exitAfterSend = $exitAfterSend;
- }
-
- /**
- * Defined by Zend_ProgressBar_Adapter_Interface
- *
- * @param float $current Current progress value
- * @param float $max Max progress value
- * @param float $percent Current percent value
- * @param integer $timeTaken Taken time in seconds
- * @param integer $timeRemaining Remaining time in seconds
- * @param string $text Status text
- * @return void
- */
- public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text)
- {
- $arguments = array(
- 'current' => $current,
- 'max' => $max,
- 'percent' => ($percent * 100),
- 'timeTaken' => $timeTaken,
- 'timeRemaining' => $timeRemaining,
- 'text' => $text,
- 'finished' => false
- );
-
- $data = Zend_Json::encode($arguments);
-
- // Output the data
- $this->_outputData($data);
- }
-
- /**
- * Defined by Zend_ProgressBar_Adapter_Interface
- *
- * @return void
- */
- public function finish()
- {
- $data = Zend_Json::encode(array('finished' => true));
-
- $this->_outputData($data);
- }
-
- /**
- * Outputs given data the user agent.
- *
- * This split-off is required for unit-testing.
- *
- * @param string $data
- * @return void
- */
- protected function _outputData($data)
- {
- echo $data;
-
- if ($this->_exitAfterSend) {
- exit;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/ProgressBar/Adapter/JsPush.php b/airtime_mvc/library/Zend/ProgressBar/Adapter/JsPush.php
deleted file mode 100644
index 4f7becfa5..000000000
--- a/airtime_mvc/library/Zend/ProgressBar/Adapter/JsPush.php
+++ /dev/null
@@ -1,148 +0,0 @@
-_updateMethodName = $methodName;
-
- return $this;
- }
-
- /**
- * Set the finish method name
- *
- * @param string $methodName
- * @return Zend_ProgressBar_Adapter_JsPush
- */
- public function setFinishMethodName($methodName)
- {
- $this->_finishMethodName = $methodName;
-
- return $this;
- }
-
- /**
- * Defined by Zend_ProgressBar_Adapter_Interface
- *
- * @param float $current Current progress value
- * @param float $max Max progress value
- * @param float $percent Current percent value
- * @param integer $timeTaken Taken time in seconds
- * @param integer $timeRemaining Remaining time in seconds
- * @param string $text Status text
- * @return void
- */
- public function notify($current, $max, $percent, $timeTaken, $timeRemaining, $text)
- {
- $arguments = array(
- 'current' => $current,
- 'max' => $max,
- 'percent' => ($percent * 100),
- 'timeTaken' => $timeTaken,
- 'timeRemaining' => $timeRemaining,
- 'text' => $text
- );
-
- $data = '';
-
- // Output the data
- $this->_outputData($data);
- }
-
- /**
- * Defined by Zend_ProgressBar_Adapter_Interface
- *
- * @return void
- */
- public function finish()
- {
- if ($this->_finishMethodName === null) {
- return;
- }
-
- $data = '';
-
- $this->_outputData($data);
- }
-
- /**
- * Outputs given data the user agent.
- *
- * This split-off is required for unit-testing.
- *
- * @param string $data
- * @return void
- */
- protected function _outputData($data)
- {
- // 1024 padding is required for Safari, while 256 padding is required
- // for Internet Explorer. The is required so Safari actually
- // executes the
- echo str_pad($data . ' ', 1024, ' ', STR_PAD_RIGHT) . "\n";
-
- flush();
- ob_flush();
- }
-}
diff --git a/airtime_mvc/library/Zend/ProgressBar/Exception.php b/airtime_mvc/library/Zend/ProgressBar/Exception.php
deleted file mode 100644
index 20add877f..000000000
--- a/airtime_mvc/library/Zend/ProgressBar/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-createQueue();
- *
- * @param string|Zend_Queue_Adapter|array|Zend_Config|null String or adapter instance, or options array or Zend_Config instance
- * @param Zend_Config|array $options Zend_Config or a configuration array
- * @return void
- */
- public function __construct($spec, $options = array())
- {
- $adapter = null;
- if ($spec instanceof Zend_Queue_Adapter_AdapterInterface) {
- $adapter = $spec;
- } elseif (is_string($spec)) {
- $adapter = $spec;
- } elseif ($spec instanceof Zend_Config) {
- $options = $spec->toArray();
- } elseif (is_array($spec)) {
- $options = $spec;
- }
-
- // last minute error checking
- if ((null === $adapter)
- && (!is_array($options) && (!$options instanceof Zend_Config))
- ) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('No valid params passed to constructor');
- }
-
- // Now continue as we would if we were a normal constructor
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (!is_array($options)) {
- $options = array();
- }
-
- // Make sure we have some defaults to work with
- if (!isset($options[self::TIMEOUT])) {
- $options[self::TIMEOUT] = self::VISIBILITY_TIMEOUT;
- }
-
- // Make sure all defaults are appropriately set.
- if (!array_key_exists('timeout', $options)) {
- $options[self::TIMEOUT] = self::VISIBILITY_TIMEOUT;
- }
- if (array_key_exists('messageClass', $options)) {
- $this->setMessageClass($options['messageClass']);
- }
- if (array_key_exists('messageSetClass', $options)) {
- $this->setMessageSetClass($options['messageSetClass']);
- }
-
- $this->setOptions($options);
-
- // if we were passed an adapter we either build the $adapter or use it
- if (null !== $adapter) {
- $this->setAdapter($adapter);
- }
- }
-
- /**
- * Set queue options
- *
- * @param array $options
- * @return Zend_Queue
- */
- public function setOptions(array $options)
- {
- $this->_options = array_merge($this->_options, $options);
- return $this;
- }
-
- /**
- * Set an individual configuration option
- *
- * @param string $name
- * @param mixed $value
- * @return Zend_Queue
- */
- public function setOption($name, $value)
- {
- $this->_options[(string) $name] = $value;
- return $this;
- }
-
- /**
- * Returns the configuration options for the queue
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Determine if a requested option has been defined
- *
- * @param string $name
- * @return bool
- */
- public function hasOption($name)
- {
- return array_key_exists($name, $this->_options);
- }
-
- /**
- * Retrieve a single option
- *
- * @param string $name
- * @return null|mixed Returns null if option does not exist; option value otherwise
- */
- public function getOption($name)
- {
- if ($this->hasOption($name)) {
- return $this->_options[$name];
- }
- return null;
- }
-
- /**
- * Set the adapter for this queue
- *
- * @param string|Zend_Queue_Adapter_AdapterInterface $adapter
- * @return Zend_Queue Provides a fluent interface
- */
- public function setAdapter($adapter)
- {
- if (is_string($adapter)) {
- if (null === ($adapterNamespace = $this->getOption('adapterNamespace'))) {
- $adapterNamespace = 'Zend_Queue_Adapter';
- }
-
- $adapterName = str_replace(
- ' ',
- '_',
- ucwords(
- str_replace(
- '_',
- ' ',
- strtolower($adapterNamespace . '_' . $adapter)
- )
- )
- );
-
- if (!class_exists($adapterName)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($adapterName);
- }
-
- /*
- * Create an instance of the adapter class.
- * Pass the configuration to the adapter class constructor.
- */
- $adapter = new $adapterName($this->getOptions(), $this);
- }
-
- if (!$adapter instanceof Zend_Queue_Adapter_AdapterInterface) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Adapter class '" . get_class($adapterName) . "' does not implement Zend_Queue_Adapter_AdapterInterface");
- }
-
- $this->_adapter = $adapter;
-
- $this->_adapter->setQueue($this);
-
- if (null !== ($name = $this->getOption(self::NAME))) {
- $this->_setName($name);
- }
-
- return $this;
- }
-
- /**
- * Get the adapter for this queue
- *
- * @return Zend_Queue_Adapter_AdapterInterface
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * @param string $className
- * @return Zend_Queue Provides a fluent interface
- */
- public function setMessageClass($className)
- {
- $this->_messageClass = (string) $className;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getMessageClass()
- {
- return $this->_messageClass;
- }
-
- /**
- * @param string $className
- * @return Zend_Queue Provides a fluent interface
- */
- public function setMessageSetClass($className)
- {
- $this->_messageSetClass = (string) $className;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getMessageSetClass()
- {
- return $this->_messageSetClass;
- }
-
- /**
- * Get the name of the queue
- *
- * Note: _setName() used to exist, but it caused confusion with createQueue
- * Will evaluate later to see if we should add it back in.
- *
- * @return string
- */
- public function getName()
- {
- return $this->getOption(self::NAME);
- }
-
- /**
- * Create a new queue
- *
- * @param string $name queue name
- * @param integer $timeout default visibility timeout
- * @return Zend_Queue|false
- * @throws Zend_Queue_Exception
- */
- public function createQueue($name, $timeout = null)
- {
- if (!is_string($name)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$name is not a string');
- }
-
- if ((null !== $timeout) && !is_integer($timeout)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$timeout must be an integer');
- }
-
- // Default to standard timeout
- if (null === $timeout) {
- $timeout = $this->getOption(self::TIMEOUT);
- }
-
- // Some queues allow you to create on the fly, but cannot return
- // a list of queues. Stomp protocol for example.
- if ($this->isSupported('create')) {
- if ($this->getAdapter()->isExists($name)) {
- return false;
- }
-
- if (!$this->getAdapter()->create($name, $timeout)) {
- return false;
- }
- }
-
- $options = array(
- self::NAME => $name,
- 'timeout' => $timeout
- );
-
- return new self($this->getAdapter(), $options);
- }
-
- /**
- * Delete the queue this object is working on.
- *
- * This queue is disabled, regardless of the outcome of the deletion
- * of the queue, because the programmers intent is to disable this queue.
- *
- * @return boolean
- */
- public function deleteQueue()
- {
- if ($this->isSupported('delete')) {
- $deleted = $this->getAdapter()->delete($this->getName());
- }
- else {
- $deleted = true;
- }
-
- /**
- * @see Zend_Queue_Adapter_Null
- */
- require_once('Zend/Queue/Adapter/Null.php');
- $this->setAdapter(new Zend_Queue_Adapter_Null($this->getOptions()));
-
- return $deleted;
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * Returns true if the adapter doesn't support message deletion.
- *
- * @param Zend_Queue_Message $message
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function deleteMessage(Zend_Queue_Message $message)
- {
- if ($this->getAdapter()->isSupported('deleteMessage')) {
- return $this->getAdapter()->deleteMessage($message);
- }
- return true;
- }
-
- /**
- * Send a message to the queue
- *
- * @param mixed $message message
- * @return Zend_Queue_Message
- * @throws Zend_Queue_Exception
- */
- public function send($message)
- {
- return $this->getAdapter()->send($message);
- }
-
- /**
- * Returns the approximate number of messages in the queue
- *
- * @return integer
- */
- public function count()
- {
- if ($this->getAdapter()->isSupported('count')) {
- return $this->getAdapter()->count();
- }
- return 0;
- }
-
- /**
- * Return the first element in the queue
- *
- * @param integer $maxMessages
- * @param integer $timeout
- * @return Zend_Queue_Message_Iterator
- */
- public function receive($maxMessages=null, $timeout=null)
- {
- if (($maxMessages !== null) && !is_integer($maxMessages)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$maxMessages must be an integer or null');
- }
-
- if (($timeout !== null) && !is_integer($timeout)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$timeout must be an integer or null');
- }
-
- // Default to returning only one message
- if ($maxMessages === null) {
- $maxMessages = 1;
- }
-
- // Default to standard timeout
- if ($timeout === null) {
- $timeout = $this->getOption(self::TIMEOUT);
- }
-
- return $this->getAdapter()->receive($maxMessages, $timeout);
- }
-
- /**
- * Return a list of queue capabilities functions
- *
- * $array['function name'] = true or false
- * true is supported, false is not supported.
- *
- * @param string $name
- * @return array
- */
- public function getCapabilities()
- {
- return $this->getAdapter()->getCapabilities();
- }
-
- /**
- * Indicates if a function is supported or not.
- *
- * @param string $name
- * @return boolean
- */
- public function isSupported($name)
- {
- $translation = array(
- 'deleteQueue' => 'delete',
- 'createQueue' => 'create'
- );
-
- if (isset($translation[$name])) {
- $name = $translation[$name];
- }
-
- return $this->getAdapter()->isSupported($name);
- }
-
- /**
- * Get an array of all available queues
- *
- * @return array
- * @throws Zend_Queue_Exception
- */
- public function getQueues()
- {
- if (!$this->isSupported('getQueues')) {
- throw new Zend_Queue_Exception( __FUNCTION__ . '() is not supported by ' . get_class($this->getAdapter()));
- }
-
- return $this->getAdapter()->getQueues();
- }
-
- /**
- * Set the name of the queue
- *
- * This is AN UNSUPPORTED FUNCTION
- *
- * @param string $name
- * @return Zend_Queue|false Provides a fluent interface
- */
- protected function _setName($name)
- {
- if (!is_string($name)) {
- /**
- * @see Zend_Queue_Exception
- */
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("$name is not a string");
- }
-
- if ($this->getAdapter()->isSupported('create')) {
- if (!$this->getAdapter()->isExists($name)) {
- $timeout = $this->getOption(self::TIMEOUT);
-
- if (!$this->getAdapter()->create($name, $timeout)) {
- // Unable to create the new queue
- return false;
- }
- }
- }
-
- $this->setOption(self::NAME, $name);
-
- return $this;
- }
-
- /**
- * returns a listing of Zend_Queue details.
- * useful for debugging
- *
- * @return array
- */
- public function debugInfo()
- {
- $info = array();
- $info['self'] = get_class($this);
- $info['adapter'] = get_class($this->getAdapter());
- foreach ($this->getAdapter()->getCapabilities() as $feature => $supported) {
- $info['adapter-' . $feature] = ($supported) ? 'yes' : 'no';
- }
- $info['options'] = $this->getOptions();
- $info['options']['driverOptions'] = '[hidden]';
- $info['currentQueue'] = $this->getName();
- $info['messageClass'] = $this->getMessageClass();
- $info['messageSetClass'] = $this->getMessageSetClass();
-
- return $info;
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/Activemq.php b/airtime_mvc/library/Zend/Queue/Adapter/Activemq.php
deleted file mode 100644
index 78ff84fe6..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/Activemq.php
+++ /dev/null
@@ -1,336 +0,0 @@
-_options['driverOptions'];
- if (!array_key_exists('scheme', $options)) {
- $options['scheme'] = self::DEFAULT_SCHEME;
- }
- if (!array_key_exists('host', $options)) {
- $options['host'] = self::DEFAULT_HOST;
- }
- if (!array_key_exists('port', $options)) {
- $options['port'] = self::DEFAULT_PORT;
- }
-
- if (array_key_exists('stompClient', $options)) {
- $this->_client = $options['stompClient'];
- } else {
- $this->_client = new Zend_Queue_Stomp_Client($options['scheme'], $options['host'], $options['port']);
- }
-
- $connect = $this->_client->createFrame();
-
- // Username and password are optional on some messaging servers
- // such as Apache's ActiveMQ
- $connect->setCommand('CONNECT');
- if (isset($options['username'])) {
- $connect->setHeader('login', $options['username']);
- $connect->setHeader('passcode', $options['password']);
- }
-
- $response = $this->_client->send($connect)->receive();
-
- if ((false !== $response)
- && ($response->getCommand() != 'CONNECTED')
- ) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Unable to authenticate to '".$options['scheme'].'://'.$options['host'].':'.$options['port']."'");
- }
- }
-
- /**
- * Close the socket explicitly when destructed
- *
- * @return void
- */
- public function __destruct()
- {
- // Gracefully disconnect
- $frame = $this->_client->createFrame();
- $frame->setCommand('DISCONNECT');
- $this->_client->send($frame);
- unset($this->_client);
- }
-
- /**
- * Create a new queue
- *
- * @param string $name queue name
- * @param integer $timeout default visibility timeout
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function create($name, $timeout=null)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('create() is not supported in ' . get_class($this));
- }
-
- /**
- * Delete a queue and all of its messages
- *
- * @param string $name queue name
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function delete($name)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('delete() is not supported in ' . get_class($this));
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * @param Zend_Queue_Message $message
- * @return boolean
- */
- public function deleteMessage(Zend_Queue_Message $message)
- {
- $frame = $this->_client->createFrame();
- $frame->setCommand('ACK');
- $frame->setHeader('message-id', $message->handle);
-
- $this->_client->send($frame);
-
- return true;
- }
-
- /**
- * Get an array of all available queues
- *
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function getQueues()
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('getQueues() is not supported in this adapter');
- }
-
- /**
- * Return the first element in the queue
- *
- * @param integer $maxMessages
- * @param integer $timeout
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message_Iterator
- */
- public function receive($maxMessages=null, $timeout=null, Zend_Queue $queue=null)
- {
- if ($maxMessages === null) {
- $maxMessages = 1;
- }
- if ($timeout === null) {
- $timeout = self::RECEIVE_TIMEOUT_DEFAULT;
- }
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- // read
- $data = array();
-
- // signal that we are reading
- $frame = $this->_client->createFrame();
- $frame->setCommand('SUBSCRIBE');
- $frame->setHeader('destination', $queue->getName());
- $frame->setHeader('ack','client');
- $this->_client->send($frame);
-
- if ($maxMessages > 0) {
- if ($this->_client->canRead()) {
- for ($i = 0; $i < $maxMessages; $i++) {
- $response = $this->_client->receive();
-
- switch ($response->getCommand()) {
- case 'MESSAGE':
- $datum = array(
- 'message_id' => $response->getHeader('message-id'),
- 'handle' => $response->getHeader('message-id'),
- 'body' => $response->getBody(),
- 'md5' => md5($response->getBody())
- );
- $data[] = $datum;
- break;
- default:
- $block = print_r($response, true);
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Invalid response received: ' . $block);
- }
- }
- }
- }
-
- $options = array(
- 'queue' => $queue,
- 'data' => $data,
- 'messageClass' => $queue->getMessageClass()
- );
-
- $classname = $queue->getMessageSetClass();
-
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Push an element onto the end of the queue
- *
- * @param string $message message to send to the queue
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message
- */
- public function send($message, Zend_Queue $queue=null)
- {
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- $frame = $this->_client->createFrame();
- $frame->setCommand('SEND');
- $frame->setHeader('destination', $queue->getName());
- $frame->setHeader('content-length', strlen($message));
- $frame->setBody((string) $message);
- $this->_client->send($frame);
-
- $data = array(
- 'message_id' => null,
- 'body' => $message,
- 'md5' => md5($message),
- 'handle' => null
- );
-
- $options = array(
- 'queue' => $queue,
- 'data' => $data
- );
-
- $classname = $queue->getMessageClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Returns the length of the queue
- *
- * @param Zend_Queue $queue
- * @return integer
- * @throws Zend_Queue_Exception (not supported)
- */
- public function count(Zend_Queue $queue=null)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('count() is not supported in this adapter');
- }
-
- /**
- * Does a queue already exist?
- *
- * @param string $name
- * @return boolean
- * @throws Zend_Queue_Exception (not supported)
- */
- public function isExists($name)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('isExists() is not supported in this adapter');
- }
-
- /**
- * Return a list of queue capabilities functions
- *
- * $array['function name'] = true or false
- * true is supported, false is not supported.
- *
- * @param string $name
- * @return array
- */
- public function getCapabilities()
- {
- return array(
- 'create' => false,
- 'delete' => false,
- 'send' => true,
- 'receive' => true,
- 'deleteMessage' => true,
- 'getQueues' => false,
- 'count' => false,
- 'isExists' => false,
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/AdapterAbstract.php b/airtime_mvc/library/Zend/Queue/Adapter/AdapterAbstract.php
deleted file mode 100644
index 98f7463cf..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/AdapterAbstract.php
+++ /dev/null
@@ -1,191 +0,0 @@
- (string) Amazon AWS Access Key
- * secret_key => (string) Amazon AWS Secret Key
- * dbname => (string) The name of the database to user
- * username => (string) Connect to the database as this username.
- * password => (string) Password associated with the username.
- * host => (string) What host to connect to, defaults to localhost
- * port => (string) The port of the database
- *
- * @param array|Zend_Config $config An array having configuration data
- * @param Zend_Queue The Zend_Queue object that created this class
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function __construct($options, Zend_Queue $queue = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- /*
- * Verify that adapter parameters are in an array.
- */
- if (!is_array($options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Adapter options must be an array or Zend_Config object');
- }
-
- // set the queue
- if ($queue !== null) {
- $this->setQueue($queue);
- }
-
- $adapterOptions = array();
- $driverOptions = array();
-
- // Normalize the options and merge with the defaults
- if (array_key_exists('options', $options)) {
- if (!is_array($options['options'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Configuration array 'options' must be an array");
- }
-
- // Can't use array_merge() because keys might be integers
- foreach ($options['options'] as $key => $value) {
- $adapterOptions[$key] = $value;
- }
- }
- if (array_key_exists('driverOptions', $options)) {
- // can't use array_merge() because keys might be integers
- foreach ((array)$options['driverOptions'] as $key => $value) {
- $driverOptions[$key] = $value;
- }
- }
- $this->_options = array_merge($this->_options, $options);
- $this->_options['options'] = $adapterOptions;
- $this->_options['driverOptions'] = $driverOptions;
- }
-
- /********************************************************************
- * Queue management functions
- *********************************************************************/
- /**
- * get the Zend_Queue class that is attached to this object
- *
- * @return Zend_Queue|null
- */
- public function getQueue()
- {
- return $this->_queue;
- }
-
- /**
- * set the Zend_Queue class for this object
- *
- * @param Zend_Queue $queue
- * @return Zend_Queue_Adapter_AdapterInterface
- */
- public function setQueue(Zend_Queue $queue)
- {
- $this->_queue = $queue;
- return $this;
- }
-
- /**
- * Returns the configuration options in this adapter.
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Indicates if a function is supported or not.
- *
- * @param string $name
- * @return boolean
- */
- public function isSupported($name)
- {
- $list = $this->getCapabilities();
-
- return (isset($list[$name]) && $list[$name]);
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/AdapterInterface.php b/airtime_mvc/library/Zend/Queue/Adapter/AdapterInterface.php
deleted file mode 100644
index e4053a3f5..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/AdapterInterface.php
+++ /dev/null
@@ -1,174 +0,0 @@
-_data);
- }
-
- /**
- * Create a new queue
- *
- * Visibility timeout is how long a message is left in the queue "invisible"
- * to other readers. If the message is acknowleged (deleted) before the
- * timeout, then the message is deleted. However, if the timeout expires
- * then the message will be made available to other queue readers.
- *
- * @param string $name queue name
- * @param integer $timeout default visibility timeout
- * @return boolean
- */
- public function create($name, $timeout=null)
- {
- if ($this->isExists($name)) {
- return false;
- }
- if ($timeout === null) {
- $timeout = self::CREATE_TIMEOUT_DEFAULT;
- }
- $this->_data[$name] = array();
-
- return true;
- }
-
- /**
- * Delete a queue and all of it's messages
- *
- * Returns false if the queue is not found, true if the queue exists
- *
- * @param string $name queue name
- * @return boolean
- */
- public function delete($name)
- {
- $found = isset($this->_data[$name]);
-
- if ($found) {
- unset($this->_data[$name]);
- }
-
- return $found;
- }
-
- /**
- * Get an array of all available queues
- *
- * Not all adapters support getQueues(), use isSupported('getQueues')
- * to determine if the adapter supports this feature.
- *
- * @return array
- */
- public function getQueues()
- {
- return array_keys($this->_data);
- }
-
- /**
- * Return the approximate number of messages in the queue
- *
- * @param Zend_Queue $queue
- * @return integer
- * @throws Zend_Queue_Exception
- */
- public function count(Zend_Queue $queue=null)
- {
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- if (!isset($this->_data[$queue->getName()])) {
- /**
- * @see Zend_Queue_Exception
- */
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue does not exist');
- }
-
- return count($this->_data[$queue->getName()]);
- }
-
- /********************************************************************
- * Messsage management functions
- *********************************************************************/
-
- /**
- * Send a message to the queue
- *
- * @param string $message Message to send to the active queue
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message
- * @throws Zend_Queue_Exception
- */
- public function send($message, Zend_Queue $queue=null)
- {
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- if (!$this->isExists($queue->getName())) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue does not exist:' . $queue->getName());
- }
-
- // create the message
- $data = array(
- 'message_id' => md5(uniqid(rand(), true)),
- 'body' => $message,
- 'md5' => md5($message),
- 'handle' => null,
- 'created' => time(),
- 'queue_name' => $queue->getName(),
- );
-
- // add $data to the "queue"
- $this->_data[$queue->getName()][] = $data;
-
- $options = array(
- 'queue' => $queue,
- 'data' => $data,
- );
-
- $classname = $queue->getMessageClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Get messages in the queue
- *
- * @param integer $maxMessages Maximum number of messages to return
- * @param integer $timeout Visibility timeout for these messages
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message_Iterator
- */
- public function receive($maxMessages = null, $timeout = null, Zend_Queue $queue = null)
- {
- if ($maxMessages === null) {
- $maxMessages = 1;
- }
- if ($timeout === null) {
- $timeout = self::RECEIVE_TIMEOUT_DEFAULT;
- }
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- $data = array();
- if ($maxMessages > 0) {
- $start_time = microtime(true);
-
- $count = 0;
- $temp = &$this->_data[$queue->getName()];
- foreach ($temp as $key=>&$msg) {
- // count check has to be first, as someone can ask for 0 messages
- // ZF-7650
- if ($count >= $maxMessages) {
- break;
- }
-
- if (($msg['handle'] === null)
- || ($msg['timeout'] + $timeout < $start_time)
- ) {
- $msg['handle'] = md5(uniqid(rand(), true));
- $msg['timeout'] = microtime(true);
- $data[] = $msg;
- $count++;
- }
-
- }
- }
-
- $options = array(
- 'queue' => $queue,
- 'data' => $data,
- 'messageClass' => $queue->getMessageClass(),
- );
-
- $classname = $queue->getMessageSetClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * @param Zend_Queue_Message $message
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function deleteMessage(Zend_Queue_Message $message)
- {
- // load the queue
- $queue = &$this->_data[$message->queue_name];
-
- foreach ($queue as $key => &$msg) {
- if ($msg['handle'] == $message->handle) {
- unset($queue[$key]);
- return true;
- }
- }
-
- return false;
- }
-
- /********************************************************************
- * Supporting functions
- *********************************************************************/
-
- /**
- * Return a list of queue capabilities functions
- *
- * $array['function name'] = true or false
- * true is supported, false is not supported.
- *
- * @param string $name
- * @return array
- */
- public function getCapabilities()
- {
- return array(
- 'create' => true,
- 'delete' => true,
- 'send' => true,
- 'receive' => true,
- 'deleteMessage' => true,
- 'getQueues' => true,
- 'count' => true,
- 'isExists' => true,
- );
- }
-
- /********************************************************************
- * Functions that are not part of the Zend_Queue_Adapter_Abstract
- *********************************************************************/
-
- /**
- * serialize
- */
- public function __sleep()
- {
- return array('_data');
- }
-
- /*
- * These functions are debug helpers.
- */
-
- /**
- * returns underlying _data array
- * $queue->getAdapter()->getData();
- *
- * @return $this;
- */
- public function getData()
- {
- return $this->_data;
- }
-
- /**
- * sets the underlying _data array
- * $queue->getAdapter()->setData($data);
- *
- * @param $data array
- * @return $this;
- */
- public function setData($data)
- {
- $this->_data = $data;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/Db.php b/airtime_mvc/library/Zend/Queue/Adapter/Db.php
deleted file mode 100644
index 542c673e9..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/Db.php
+++ /dev/null
@@ -1,536 +0,0 @@
-_options['options'][Zend_Db_Select::FOR_UPDATE])) {
- // turn off auto update by default
- $this->_options['options'][Zend_Db_Select::FOR_UPDATE] = false;
- }
-
- if (!is_bool($this->_options['options'][Zend_Db_Select::FOR_UPDATE])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Options array item: Zend_Db_Select::FOR_UPDATE must be boolean');
- }
-
- if (isset($this->_options['dbAdapter'])
- && $this->_options['dbAdapter'] instanceof Zend_Db_Adapter_Abstract) {
- $db = $this->_options['dbAdapter'];
- } else {
- $db = $this->_initDbAdapter();
- }
-
- $this->_queueTable = new Zend_Queue_Adapter_Db_Queue(array(
- 'db' => $db,
- ));
-
- $this->_messageTable = new Zend_Queue_Adapter_Db_Message(array(
- 'db' => $db,
- ));
-
- }
-
- /**
- * Initialize Db adapter using 'driverOptions' section of the _options array
- *
- * Throws an exception if the adapter cannot connect to DB.
- *
- * @return Zend_Db_Adapter_Abstract
- * @throws Zend_Queue_Exception
- */
- protected function _initDbAdapter()
- {
- $options = &$this->_options['driverOptions'];
- if (!array_key_exists('type', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Configuration array must have a key for 'type' for the database type to use");
- }
-
- if (!array_key_exists('host', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Configuration array must have a key for 'host' for the host to use");
- }
-
- if (!array_key_exists('username', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Configuration array must have a key for 'username' for the username to use");
- }
-
- if (!array_key_exists('password', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Configuration array must have a key for 'password' for the password to use");
- }
-
- if (!array_key_exists('dbname', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Configuration array must have a key for 'dbname' for the database to use");
- }
-
- $type = $options['type'];
- unset($options['type']);
-
- try {
- $db = Zend_Db::factory($type, $options);
- } catch (Zend_Db_Exception $e) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Error connecting to database: ' . $e->getMessage(), $e->getCode(), $e);
- }
-
- return $db;
- }
-
- /********************************************************************
- * Queue management functions
- *********************************************************************/
-
- /**
- * Does a queue already exist?
- *
- * Throws an exception if the adapter cannot determine if a queue exists.
- * use isSupported('isExists') to determine if an adapter can test for
- * queue existance.
- *
- * @param string $name
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function isExists($name)
- {
- $id = 0;
-
- try {
- $id = $this->getQueueId($name);
- } catch (Zend_Queue_Exception $e) {
- return false;
- }
-
- return ($id > 0);
- }
-
- /**
- * Create a new queue
- *
- * Visibility timeout is how long a message is left in the queue "invisible"
- * to other readers. If the message is acknowleged (deleted) before the
- * timeout, then the message is deleted. However, if the timeout expires
- * then the message will be made available to other queue readers.
- *
- * @param string $name queue name
- * @param integer $timeout default visibility timeout
- * @return boolean
- * @throws Zend_Queue_Exception - database error
- */
- public function create($name, $timeout = null)
- {
- if ($this->isExists($name)) {
- return false;
- }
-
- $queue = $this->_queueTable->createRow();
- $queue->queue_name = $name;
- $queue->timeout = ($timeout === null) ? self::CREATE_TIMEOUT_DEFAULT : (int)$timeout;
-
- try {
- if ($queue->save()) {
- return true;
- }
- } catch (Exception $e) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception($e->getMessage(), $e->getCode(), $e);
- }
-
- return false;
- }
-
- /**
- * Delete a queue and all of it's messages
- *
- * Returns false if the queue is not found, true if the queue exists
- *
- * @param string $name queue name
- * @return boolean
- * @throws Zend_Queue_Exception - database error
- */
- public function delete($name)
- {
- $id = $this->getQueueId($name); // get primary key
-
- // if the queue does not exist then it must already be deleted.
- $list = $this->_queueTable->find($id);
- if (count($list) === 0) {
- return false;
- }
- $queue = $list->current();
-
- if ($queue instanceof Zend_Db_Table_Row_Abstract) {
- try {
- $queue->delete();
- } catch (Exception $e) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
-
- if (array_key_exists($name, $this->_queues)) {
- unset($this->_queues[$name]);
- }
-
- return true;
- }
-
- /*
- * Get an array of all available queues
- *
- * Not all adapters support getQueues(), use isSupported('getQueues')
- * to determine if the adapter supports this feature.
- *
- * @return array
- * @throws Zend_Queue_Exception - database error
- */
- public function getQueues()
- {
- $query = $this->_queueTable->select();
- $query->from($this->_queueTable, array('queue_id', 'queue_name'));
-
- $this->_queues = array();
- foreach ($this->_queueTable->fetchAll($query) as $queue) {
- $this->_queues[$queue->queue_name] = (int)$queue->queue_id;
- }
-
- $list = array_keys($this->_queues);
-
- return $list;
- }
-
- /**
- * Return the approximate number of messages in the queue
- *
- * @param Zend_Queue $queue
- * @return integer
- * @throws Zend_Queue_Exception
- */
- public function count(Zend_Queue $queue = null)
- {
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- $info = $this->_messageTable->info();
- $db = $this->_messageTable->getAdapter();
- $query = $db->select();
- $query->from($info['name'], array(new Zend_Db_Expr('COUNT(1)')))
- ->where('queue_id=?', $this->getQueueId($queue->getName()));
-
- // return count results
- return (int) $db->fetchOne($query);
- }
-
- /********************************************************************
- * Messsage management functions
- *********************************************************************/
-
- /**
- * Send a message to the queue
- *
- * @param string $message Message to send to the active queue
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message
- * @throws Zend_Queue_Exception - database error
- */
- public function send($message, Zend_Queue $queue = null)
- {
- if ($this->_messageRow === null) {
- $this->_messageRow = $this->_messageTable->createRow();
- }
-
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- if (is_scalar($message)) {
- $message = (string) $message;
- }
- if (is_string($message)) {
- $message = trim($message);
- }
-
- if (!$this->isExists($queue->getName())) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue does not exist:' . $queue->getName());
- }
-
- $msg = clone $this->_messageRow;
- $msg->queue_id = $this->getQueueId($queue->getName());
- $msg->created = time();
- $msg->body = $message;
- $msg->md5 = md5($message);
- // $msg->timeout = ??? @TODO
-
- try {
- $msg->save();
- } catch (Exception $e) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception($e->getMessage(), $e->getCode(), $e);
- }
-
- $options = array(
- 'queue' => $queue,
- 'data' => $msg->toArray(),
- );
-
- $classname = $queue->getMessageClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Get messages in the queue
- *
- * @param integer $maxMessages Maximum number of messages to return
- * @param integer $timeout Visibility timeout for these messages
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message_Iterator
- * @throws Zend_Queue_Exception - database error
- */
- public function receive($maxMessages = null, $timeout = null, Zend_Queue $queue = null)
- {
- if ($maxMessages === null) {
- $maxMessages = 1;
- }
- if ($timeout === null) {
- $timeout = self::RECEIVE_TIMEOUT_DEFAULT;
- }
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- $msgs = array();
- $info = $this->_messageTable->info();
- $microtime = microtime(true); // cache microtime
- $db = $this->_messageTable->getAdapter();
-
- // start transaction handling
- try {
- if ( $maxMessages > 0 ) { // ZF-7666 LIMIT 0 clause not included.
- $db->beginTransaction();
-
- $query = $db->select();
- if ($this->_options['options'][Zend_Db_Select::FOR_UPDATE]) {
- // turn on forUpdate
- $query->forUpdate();
- }
- $query->from($info['name'], array('*'))
- ->where('queue_id=?', $this->getQueueId($queue->getName()))
- ->where('handle IS NULL OR timeout+' . (int)$timeout . ' < ' . (int)$microtime)
- ->limit($maxMessages);
-
- foreach ($db->fetchAll($query) as $data) {
- // setup our changes to the message
- $data['handle'] = md5(uniqid(rand(), true));
-
- $update = array(
- 'handle' => $data['handle'],
- 'timeout' => $microtime,
- );
-
- // update the database
- $where = array();
- $where[] = $db->quoteInto('message_id=?', $data['message_id']);
- $where[] = 'handle IS NULL OR timeout+' . (int)$timeout . ' < ' . (int)$microtime;
-
- $count = $db->update($info['name'], $update, $where);
-
- // we check count to make sure no other thread has gotten
- // the rows after our select, but before our update.
- if ($count > 0) {
- $msgs[] = $data;
- }
- }
- $db->commit();
- }
- } catch (Exception $e) {
- $db->rollBack();
-
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception($e->getMessage(), $e->getCode(), $e);
- }
-
- $options = array(
- 'queue' => $queue,
- 'data' => $msgs,
- 'messageClass' => $queue->getMessageClass(),
- );
-
- $classname = $queue->getMessageSetClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * @param Zend_Queue_Message $message
- * @return boolean
- * @throws Zend_Queue_Exception - database error
- */
- public function deleteMessage(Zend_Queue_Message $message)
- {
- $db = $this->_messageTable->getAdapter();
- $where = $db->quoteInto('handle=?', $message->handle);
-
- if ($this->_messageTable->delete($where)) {
- return true;
- }
-
- return false;
- }
-
- /********************************************************************
- * Supporting functions
- *********************************************************************/
-
- /**
- * Return a list of queue capabilities functions
- *
- * $array['function name'] = true or false
- * true is supported, false is not supported.
- *
- * @param string $name
- * @return array
- */
- public function getCapabilities()
- {
- return array(
- 'create' => true,
- 'delete' => true,
- 'send' => true,
- 'receive' => true,
- 'deleteMessage' => true,
- 'getQueues' => true,
- 'count' => true,
- 'isExists' => true,
- );
- }
-
- /********************************************************************
- * Functions that are not part of the Zend_Queue_Adapter_Abstract
- *********************************************************************/
- /**
- * Get the queue ID
- *
- * Returns the queue's row identifier.
- *
- * @param string $name
- * @return integer|null
- * @throws Zend_Queue_Exception
- */
- protected function getQueueId($name)
- {
- if (array_key_exists($name, $this->_queues)) {
- return $this->_queues[$name];
- }
-
- $query = $this->_queueTable->select();
- $query->from($this->_queueTable, array('queue_id'))
- ->where('queue_name=?', $name);
-
- $queue = $this->_queueTable->fetchRow($query);
-
- if ($queue === null) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue does not exist: ' . $name);
- }
-
- $this->_queues[$name] = (int)$queue->queue_id;
-
- return $this->_queues[$name];
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/Db/Message.php b/airtime_mvc/library/Zend/Queue/Adapter/Db/Message.php
deleted file mode 100644
index d50ea5d36..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/Db/Message.php
+++ /dev/null
@@ -1,51 +0,0 @@
-_options['driverOptions'];
-
- if (!array_key_exists('host', $options)) {
- $options['host'] = self::DEFAULT_HOST;
- }
- if (!array_key_exists('port', $options)) {
- $options['port'] = self::DEFAULT_PORT;
- }
-
- $this->_cache = new Memcache();
-
- $result = $this->_cache->connect($options['host'], $options['port']);
-
- if ($result === false) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Could not connect to MemcacheQ');
- }
-
- $this->_host = $options['host'];
- $this->_port = (int)$options['port'];
- }
-
- /**
- * Destructor
- *
- * @return void
- */
- public function __destruct()
- {
- if ($this->_cache instanceof Memcache) {
- $this->_cache->close();
- }
- if (is_resource($this->_socket)) {
- $cmd = 'quit' . self::EOL;
- fwrite($this->_socket, $cmd);
- fclose($this->_socket);
- }
- }
-
- /********************************************************************
- * Queue management functions
- *********************************************************************/
-
- /**
- * Does a queue already exist?
- *
- * Throws an exception if the adapter cannot determine if a queue exists.
- * use isSupported('isExists') to determine if an adapter can test for
- * queue existance.
- *
- * @param string $name
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function isExists($name)
- {
- if (empty($this->_queues)) {
- $this->getQueues();
- }
-
- return in_array($name, $this->_queues);
- }
-
- /**
- * Create a new queue
- *
- * Visibility timeout is how long a message is left in the queue "invisible"
- * to other readers. If the message is acknowleged (deleted) before the
- * timeout, then the message is deleted. However, if the timeout expires
- * then the message will be made available to other queue readers.
- *
- * @param string $name queue name
- * @param integer $timeout default visibility timeout
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function create($name, $timeout=null)
- {
- if ($this->isExists($name)) {
- return false;
- }
- if ($timeout === null) {
- $timeout = self::CREATE_TIMEOUT_DEFAULT;
- }
-
- // MemcacheQ does not have a method to "create" a queue
- // queues are created upon sending a packet.
- // We cannot use the send() and receive() functions because those
- // depend on the current name.
- $result = $this->_cache->set($name, 'creating queue', 0, 15);
- $result = $this->_cache->get($name);
-
- $this->_queues[] = $name;
-
- return true;
- }
-
- /**
- * Delete a queue and all of it's messages
- *
- * Returns false if the queue is not found, true if the queue exists
- *
- * @param string $name queue name
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function delete($name)
- {
- $response = $this->_sendCommand('delete ' . $name, array('DELETED', 'NOT_FOUND'), true);
-
- if (in_array('DELETED', $response)) {
- $key = array_search($name, $this->_queues);
-
- if ($key !== false) {
- unset($this->_queues[$key]);
- }
- return true;
- }
-
- return false;
- }
-
- /**
- * Get an array of all available queues
- *
- * Not all adapters support getQueues(), use isSupported('getQueues')
- * to determine if the adapter supports this feature.
- *
- * @return array
- * @throws Zend_Queue_Exception
- */
- public function getQueues()
- {
- $this->_queues = array();
-
- $response = $this->_sendCommand('stats queue', array('END'));
-
- foreach ($response as $i => $line) {
- $this->_queues[] = str_replace('STAT ', '', $line);
- }
-
- return $this->_queues;
- }
-
- /**
- * Return the approximate number of messages in the queue
- *
- * @param Zend_Queue $queue
- * @return integer
- * @throws Zend_Queue_Exception (not supported)
- */
- public function count(Zend_Queue $queue=null)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('count() is not supported in this adapter');
- }
-
- /********************************************************************
- * Messsage management functions
- *********************************************************************/
-
- /**
- * Send a message to the queue
- *
- * @param string $message Message to send to the active queue
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message
- * @throws Zend_Queue_Exception
- */
- public function send($message, Zend_Queue $queue=null)
- {
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- if (!$this->isExists($queue->getName())) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue does not exist:' . $queue->getName());
- }
-
- $message = (string) $message;
- $data = array(
- 'message_id' => md5(uniqid(rand(), true)),
- 'handle' => null,
- 'body' => $message,
- 'md5' => md5($message),
- );
-
- $result = $this->_cache->set($queue->getName(), $message, 0, 0);
- if ($result === false) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('failed to insert message into queue:' . $queue->getName());
- }
-
- $options = array(
- 'queue' => $queue,
- 'data' => $data,
- );
-
- $classname = $queue->getMessageClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Get messages in the queue
- *
- * @param integer $maxMessages Maximum number of messages to return
- * @param integer $timeout Visibility timeout for these messages
- * @param Zend_Queue $queue
- * @return Zend_Queue_Message_Iterator
- * @throws Zend_Queue_Exception
- */
- public function receive($maxMessages=null, $timeout=null, Zend_Queue $queue=null)
- {
- if ($maxMessages === null) {
- $maxMessages = 1;
- }
-
- if ($timeout === null) {
- $timeout = self::RECEIVE_TIMEOUT_DEFAULT;
- }
- if ($queue === null) {
- $queue = $this->_queue;
- }
-
- $msgs = array();
- if ($maxMessages > 0 ) {
- for ($i = 0; $i < $maxMessages; $i++) {
- $data = array(
- 'handle' => md5(uniqid(rand(), true)),
- 'body' => $this->_cache->get($queue->getName()),
- );
-
- $msgs[] = $data;
- }
- }
-
- $options = array(
- 'queue' => $queue,
- 'data' => $msgs,
- 'messageClass' => $queue->getMessageClass(),
- );
-
- $classname = $queue->getMessageSetClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * @param Zend_Queue_Message $message
- * @return boolean
- * @throws Zend_Queue_Exception (unsupported)
- */
- public function deleteMessage(Zend_Queue_Message $message)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('deleteMessage() is not supported in ' . get_class($this));
- }
-
- /********************************************************************
- * Supporting functions
- *********************************************************************/
-
- /**
- * Return a list of queue capabilities functions
- *
- * $array['function name'] = true or false
- * true is supported, false is not supported.
- *
- * @param string $name
- * @return array
- */
- public function getCapabilities()
- {
- return array(
- 'create' => true,
- 'delete' => true,
- 'send' => true,
- 'receive' => true,
- 'deleteMessage' => false,
- 'getQueues' => true,
- 'count' => false,
- 'isExists' => true,
- );
- }
-
- /********************************************************************
- * Functions that are not part of the Zend_Queue_Adapter_Abstract
- *********************************************************************/
-
- /**
- * sends a command to MemcacheQ
- *
- * The memcache functions by php cannot handle all types of requests
- * supported by MemcacheQ
- * Non-standard requests are handled by this function.
- *
- * @param string $command - command to send to memcacheQ
- * @param array $terminator - strings to indicate end of memcacheQ response
- * @param boolean $include_term - include terminator in response
- * @return array
- * @throws Zend_Queue_Exception if connection cannot be opened
- */
- protected function _sendCommand($command, array $terminator, $include_term=false)
- {
- if (!is_resource($this->_socket)) {
- $this->_socket = fsockopen($this->_host, $this->_port, $errno, $errstr, 10);
- }
- if ($this->_socket === false) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Could not open a connection to $this->_host:$this->_port errno=$errno : $errstr");
- }
-
- $response = array();
-
- $cmd = $command . self::EOL;
- fwrite($this->_socket, $cmd);
-
- $continue_reading = true;
- while (!feof($this->_socket) && $continue_reading) {
- $resp = trim(fgets($this->_socket, 1024));
- if (in_array($resp, $terminator)) {
- if ($include_term) {
- $response[] = $resp;
- }
- $continue_reading = false;
- } else {
- $response[] = $resp;
- }
- }
-
- return $response;
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/Null.php b/airtime_mvc/library/Zend/Queue/Adapter/Null.php
deleted file mode 100644
index eba1d0a49..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/Null.php
+++ /dev/null
@@ -1,174 +0,0 @@
- false,
- 'delete' => false,
- 'send' => false,
- 'receive' => false,
- 'deleteMessage' => false,
- 'getQueues' => false,
- 'count' => false,
- 'isExists' => false,
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Adapter/PlatformJobQueue.php b/airtime_mvc/library/Zend/Queue/Adapter/PlatformJobQueue.php
deleted file mode 100644
index c3e69cd0e..000000000
--- a/airtime_mvc/library/Zend/Queue/Adapter/PlatformJobQueue.php
+++ /dev/null
@@ -1,343 +0,0 @@
-_options['daemonOptions'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Job Queue host and password should be provided');
- }
-
- $options = $this->_options['daemonOptions'];
-
- if (!array_key_exists('host', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Platform Job Queue host should be provided');
- }
- if (!array_key_exists('password', $options)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Platform Job Queue password should be provided');
- }
-
- $this->_zendQueue = new ZendApi_Queue($options['host']);
-
- if (!$this->_zendQueue) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Platform Job Queue connection failed');
- }
- if (!$this->_zendQueue->login($options['password'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Job Queue login failed');
- }
-
- if ($this->_queue) {
- $this->_queue->setMessageClass('Zend_Queue_Message_PlatformJob');
- }
- }
-
- /********************************************************************
- * Queue management functions
- ********************************************************************/
-
- /**
- * Does a queue already exist?
- *
- * @param string $name
- * @return boolean
- * @throws Zend_Queue_Exception (not supported)
- */
- public function isExists($name)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('isExists() is not supported in this adapter');
- }
-
- /**
- * Create a new queue
- *
- * @param string $name queue name
- * @param integer $timeout default visibility timeout
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function create($name, $timeout=null)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('create() is not supported in ' . get_class($this));
- }
-
- /**
- * Delete a queue and all of its messages
- *
- * @param string $name queue name
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function delete($name)
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('delete() is not supported in ' . get_class($this));
- }
-
- /**
- * Get an array of all available queues
- *
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function getQueues()
- {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('getQueues() is not supported in this adapter');
- }
-
- /**
- * Return the approximate number of messages in the queue
- *
- * @param Zend_Queue|null $queue
- * @return integer
- */
- public function count(Zend_Queue $queue = null)
- {
- if ($queue !== null) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue parameter is not supported');
- }
-
- return $this->_zendQueue->getNumOfJobsInQueue();
- }
-
- /********************************************************************
- * Messsage management functions
- ********************************************************************/
-
- /**
- * Send a message to the queue
- *
- * @param array | ZendAPI_job $message Message to send to the active queue
- * @param Zend_Queue $queue Not supported
- * @return Zend_Queue_Message
- * @throws Zend_Queue_Exception
- */
- public function send($message, Zend_Queue $queue = null)
- {
- if ($queue !== null) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue parameter is not supported');
- }
-
- // This adapter can work only for this message type
- $classname = $this->_queue->getMessageClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
-
- if ($message instanceof ZendAPI_Job) {
- $message = array('data' => $message);
- }
-
- $zendApiJob = new $classname($message);
-
- // Unfortunately, the Platform JQ API is PHP4-style...
- $platformJob = $zendApiJob->getJob();
-
- $jobId = $this->_zendQueue->addJob($platformJob);
-
- if (!$jobId) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Failed to add a job to queue: '
- . $this->_zendQueue->getLastError());
- }
-
- $zendApiJob->setJobId($jobId);
- return $zendApiJob;
- }
-
- /**
- * Get messages in the queue
- *
- * @param integer $maxMessages Maximum number of messages to return
- * @param integer $timeout Ignored
- * @param Zend_Queue $queue Not supported
- * @throws Zend_Queue_Exception
- * @return ArrayIterator
- */
- public function receive($maxMessages = null, $timeout = null, Zend_Queue $queue = null)
- {
- if ($maxMessages === null) {
- $maxMessages = 1;
- }
-
- if ($queue !== null) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Queue shouldn\'t be set');
- }
-
- $jobs = $this->_zendQueue->getJobsInQueue(null, $maxMessages, true);
-
- $classname = $this->_queue->getMessageClass();
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
-
- $options = array(
- 'queue' => $this->_queue,
- 'data' => $jobs,
- 'messageClass' => $this->_queue->getMessageClass(),
- );
-
- $classname = $this->_queue->getMessageSetClass();
-
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
- return new $classname($options);
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * @param Zend_Queue_Message $message
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function deleteMessage(Zend_Queue_Message $message)
- {
- if (get_class($message) != $this->_queue->getMessageClass()) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception(
- 'Failed to remove job from the queue; only messages of type '
- . 'Zend_Queue_Message_PlatformJob may be used'
- );
- }
-
- return $this->_zendQueue->removeJob($message->getJobId());
- }
-
- public function isJobIdExist($id)
- {
- return (($this->_zendQueue->getJob($id))? true : false);
- }
-
- /********************************************************************
- * Supporting functions
- ********************************************************************/
-
- /**
- * Return a list of queue capabilities functions
- *
- * $array['function name'] = true or false
- * true is supported, false is not supported.
- *
- * @param string $name
- * @return array
- */
- public function getCapabilities()
- {
- return array(
- 'create' => false,
- 'delete' => false,
- 'getQueues' => false,
- 'isExists' => false,
- 'count' => true,
- 'send' => true,
- 'receive' => true,
- 'deleteMessage' => true,
- );
- }
-
- /********************************************************************
- * Functions that are not part of the Zend_Queue_Adapter_AdapterAbstract
- ********************************************************************/
-
- /**
- * Serialize
- *
- * @return array
- */
- public function __sleep()
- {
- return array('_options');
- }
-
- /**
- * Unserialize
- *
- * @return void
- */
- public function __wakeup()
- {
- $options = $this->_options['daemonOptions'];
-
- $this->_zendQueue = new ZendApi_Queue($options['host']);
-
- if (!$this->_zendQueue) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Platform Job Queue connection failed');
- }
- if (!$this->_zendQueue->login($options['password'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Job Queue login failed');
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Exception.php b/airtime_mvc/library/Zend/Queue/Exception.php
deleted file mode 100644
index efbeec8f8..000000000
--- a/airtime_mvc/library/Zend/Queue/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_queue = $options['queue'];
- $this->_queueClass = get_class($this->_queue);
- } else {
- $result = gettype($options['queue']);
- if ($result === 'object') {
- $result = get_class($options['queue']);
- }
-
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception(
- '$options[\'queue\'] = '
- . $result
- . ': must be instanceof Zend_Queue'
- );
- }
- }
- if (isset($options['data'])) {
- if (!is_array($options['data'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Data must be an array');
- }
- $this->_data = $options['data'];
- }
- }
-
- /**
- * Retrieve message field value
- *
- * @param string $key The user-specified key name.
- * @return string The corresponding key value.
- * @throws Zend_Queue_Exception if the $key is not a column in the message.
- */
- public function __get($key)
- {
- if (!array_key_exists($key, $this->_data)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Specified field \"$key\" is not in the message");
- }
- return $this->_data[$key];
- }
-
- /**
- * Set message field value
- *
- * @param string $key The message key.
- * @param mixed $value The value for the property.
- * @return void
- * @throws Zend_Queue_Exception
- */
- public function __set($key, $value)
- {
- if (!array_key_exists($key, $this->_data)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Specified field \"$key\" is not in the message");
- }
- $this->_data[$key] = $value;
- }
-
- /**
- * Test existence of message field
- *
- * @param string $key The column key.
- * @return boolean
- */
- public function __isset($key)
- {
- return array_key_exists($key, $this->_data);
- }
-
- /*
- * Serialize
- */
-
- /**
- * Store queue and data in serialized object
- *
- * @return array
- */
- public function __sleep()
- {
- return array('_queueClass', '_data');
- }
-
- /**
- * Setup to do on wakeup.
- * A de-serialized Message should not be assumed to have access to a live
- * queue connection, so set _connected = false.
- *
- * @return void
- */
- public function __wakeup()
- {
- $this->_connected = false;
- }
-
- /**
- * Returns the queue object, or null if this is disconnected message
- *
- * @return Zend_Queue|null
- */
- public function getQueue()
- {
- return $this->_queue;
- }
-
- /**
- * Set the queue object, to re-establish a live connection
- * to the queue for a Message that has been de-serialized.
- *
- * @param Zend_Queue $queue
- * @return boolean
- */
- public function setQueue(Zend_Queue $queue)
- {
- $queueClass = get_class($queue);
- $this->_queue = $queue;
- $this->_queueClass = $queueClass;
- $this->_connected = true;
- return true;
- }
-
- /**
- * Query the class name of the Queue object for which this
- * Message was created.
- *
- * @return string
- */
- public function getQueueClass()
- {
- return $this->_queueClass;
- }
-
- /**
- * Returns the column/value data as an array.
- *
- * @return array
- */
- public function toArray()
- {
- return $this->_data;
- }
-
- /**
- * Sets all data in the row from an array.
- *
- * @param array $data
- * @return Zend_Queue_Message Provides a fluent interface
- */
- public function setFromArray(array $data)
- {
- foreach ($data as $columnName => $value) {
- $this->$columnName = $value;
- }
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Message/Iterator.php b/airtime_mvc/library/Zend/Queue/Message/Iterator.php
deleted file mode 100644
index 4c4279bce..000000000
--- a/airtime_mvc/library/Zend/Queue/Message/Iterator.php
+++ /dev/null
@@ -1,285 +0,0 @@
-array());
- * @return void
- */
- public function __construct(array $options = array())
- {
- if (isset($options['queue'])) {
- $this->_queue = $options['queue'];
- $this->_queueClass = get_class($this->_queue);
- $this->_connected = true;
- } else {
- $this->_connected = false;
- }
- if (isset($options['messageClass'])) {
- $this->_messageClass = $options['messageClass'];
- }
-
- if (!is_array($options['data'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('array optionsuration must have $options[\'data\'] = array');
- }
-
- // load the message class
- $classname = $this->_messageClass;
- if (!class_exists($classname)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($classname);
- }
-
- // for each of the messages
- foreach ($options['data'] as $data) {
- // construct the message parameters
- $message = array('data' => $data);
-
- // If queue has not been set, then use the default.
- if (empty($message['queue'])) {
- $message['queue'] = $this->_queue;
- }
-
- // construct the message and add it to _data[];
- $this->_data[] = new $classname($message);
- }
- }
-
- /**
- * Store queue and data in serialized object
- *
- * @return array
- */
- public function __sleep()
- {
- return array('_data', '_queueClass', '_messageClass', '_pointer');
- }
-
- /**
- * Setup to do on wakeup.
- * A de-serialized Message should not be assumed to have access to a live
- * queue connection, so set _connected = false.
- *
- * @return void
- */
- public function __wakeup()
- {
- $this->_connected = false;
- }
-
- /**
- * Returns all data as an array.
- *
- * Used for debugging.
- *
- * @return array
- */
- public function toArray()
- {
- // @todo This works only if we have iterated through
- // the result set once to instantiate the messages.
- foreach ($this->_data as $i => $message) {
- $this->_data[$i] = $message->toArray();
- }
- return $this->_data;
- }
-
- /**
- * Returns the queue object, or null if this is disconnected message set
- *
- * @return Zend_Queue|null
- */
- public function getQueue()
- {
- return $this->_queue;
- }
-
- /**
- * Set the queue object, to re-establish a live connection
- * to the queue for a Message that has been de-serialized.
- *
- * @param Zend_Queue_Adapter_AdapterInterface $queue
- * @return boolean
- * @throws Zend_Queue_Exception
- */
- public function setQueue(Zend_Queue $queue)
- {
- $this->_queue = $queue;
- $this->_connected = false;
-
- // @todo This works only if we have iterated through
- // the result set once to instantiate the rows.
- foreach ($this->_data as $i => $message) {
- $this->_connected = $this->_connected || $message->setQueue($queue);
- }
-
- return $this->_connected;
- }
-
- /**
- * Query the class name of the Queue object for which this
- * Message was created.
- *
- * @return string
- */
- public function getQueueClass()
- {
- return $this->_queueClass;
- }
-
- /*
- * Iterator implementation
- */
-
- /**
- * Rewind the Iterator to the first element.
- * Similar to the reset() function for arrays in PHP.
- * Required by interface Iterator.
- *
- * @return void
- */
- public function rewind()
- {
- $this->_pointer = 0;
- }
-
- /**
- * Return the current element.
- * Similar to the current() function for arrays in PHP
- * Required by interface Iterator.
- *
- * @return Zend_Queue_Message current element from the collection
- */
- public function current()
- {
- return (($this->valid() === false)
- ? null
- : $this->_data[$this->_pointer]); // return the messages object
- }
-
- /**
- * Return the identifying key of the current element.
- * Similar to the key() function for arrays in PHP.
- * Required by interface Iterator.
- *
- * @return integer
- */
- public function key()
- {
- return $this->_pointer;
- }
-
- /**
- * Move forward to next element.
- * Similar to the next() function for arrays in PHP.
- * Required by interface Iterator.
- *
- * @return void
- */
- public function next()
- {
- ++$this->_pointer;
- }
-
- /**
- * Check if there is a current element after calls to rewind() or next().
- * Used to check if we've iterated to the end of the collection.
- * Required by interface Iterator.
- *
- * @return bool False if there's nothing more to iterate over
- */
- public function valid()
- {
- return $this->_pointer < count($this);
- }
-
- /*
- * Countable Implementation
- */
-
- /**
- * Returns the number of elements in the collection.
- *
- * Implements Countable::count()
- *
- * @return integer
- */
- public function count()
- {
- return count($this->_data);
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Message/PlatformJob.php b/airtime_mvc/library/Zend/Queue/Message/PlatformJob.php
deleted file mode 100644
index 971e861b9..000000000
--- a/airtime_mvc/library/Zend/Queue/Message/PlatformJob.php
+++ /dev/null
@@ -1,194 +0,0 @@
-_job = $options['data'];
- parent::__construct($this->_job->getProperties());
- } else {
- parent::__construct($options);
-
- if (!isset($options['script'])) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('The script is mandatory data');
- }
-
- $this->_job = new ZendApi_Job($options['script']);
- $this->_setJobProperties();
- }
- }
-
- /**
- * Set the job identifier
- *
- * Used within Zend_Queue only.
- *
- * @param string $id
- * @return Zend_Queue_Message_PlatformJob
- */
- public function setJobId($id)
- {
- $this->_id = $id;
- return $this;
- }
-
- /**
- * Retrieve the job identifier
- *
- * @return string
- */
- public function getJobId()
- {
- return (($this->_id) ? $this->_id : $this->_job->getID());
- }
-
- /**
- * Retrieve the internal ZendApi_Job instance
- *
- * @return ZendApi_Job
- */
- public function getJob()
- {
- return $this->_job;
- }
-
- /**
- * Store queue and data in serialized object
- *
- * @return array
- */
- public function __sleep()
- {
- return serialize('_job', '_id', '_data');
- }
-
- /**
- * Query the class name of the Queue object for which this
- * Message was created.
- *
- * @return string
- */
- public function getQueueClass()
- {
- return 'Zend_Queue_Adapter_Platform_JQ';
- }
-
- /**
- * Sets properties on the ZendApi_Job instance
- *
- * Any options in the {@link $_data} array will be checked. Those matching
- * options in ZendApi_Job will be used to set those options in that
- * instance.
- *
- * @return void
- */
- protected function _setJobProperties() {
-
- if (isset($this->_data['script'])) {
- $this->_job->setScript($this->_data['script']);
- }
-
- if (isset($this->_data['priority'])) {
- $this->_job->setJobPriority($this->_data['priority']);
- }
-
- if (isset($this->_data['name'])) {
- $this->_job->setJobName($this->_data['name']);
- }
-
- if (isset($this->_data['predecessor'])) {
- $this->_job->setJobDependency($this->_data['predecessor']);
- }
-
- if (isset($this->_data['preserved'])) {
- $this->_job->setPreserved($this->_data['preserved']);
- }
-
- if (isset($this->_data['user_variables'])) {
- $this->_job->setUserVariables($this->_data['user_variables']);
- }
-
- if (!empty($this->_data['interval'])) {
- $endTime = isset($this->_data['end_time']) ? $this->_data['end_time'] : null;
- $this->_job->setRecurrenceData($this->_data['interval'], $endTime);
- } elseif (isset($this->_data['interval']) && ($this->_data['interval'] === '')) {
- $this->_job->setRecurrenceData(0,0);
- }
-
- if (isset($this->_data['scheduled_time'])) {
- $this->_job->setScheduledTime($this->_data['scheduled_time']);
- }
-
- if (isset($this->_data['application_id'])) {
- $this->_job->setApplicationID($this->_data['application_id']);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Stomp/Client.php b/airtime_mvc/library/Zend/Queue/Stomp/Client.php
deleted file mode 100644
index 347ebf0bc..000000000
--- a/airtime_mvc/library/Zend/Queue/Stomp/Client.php
+++ /dev/null
@@ -1,173 +0,0 @@
-addConnection($scheme, $host, $port, $connectionClass);
- $this->getConnection()->setFrameClass($frameClass);
- }
- }
-
- /**
- * Shutdown
- *
- * @return void
- */
- public function __destruct()
- {
- if ($this->getConnection()) {
- $this->getConnection()->close(true);
- }
- }
-
- /**
- * Add a connection to this client.
- *
- * Attempts to add this class to the client. Returns a boolean value
- * indicating success of operation.
- *
- * You cannot add more than 1 connection to the client at this time.
- *
- * @param string $scheme ['tcp', 'udp']
- * @param string host
- * @param integer port
- * @param string class - create a connection with this class; class must support Zend_Queue_Stomp_Client_ConnectionInterface
- * @return boolean
- */
- public function addConnection($scheme, $host, $port, $class = 'Zend_Queue_Stomp_Client_Connection')
- {
- if (!class_exists($class)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($class);
- }
-
- $connection = new $class();
-
- if ($connection->open($scheme, $host, $port)) {
- $this->setConnection($connection);
- return true;
- }
-
- $connection->close();
- return false;
- }
-
- /**
- * Set client connection
- *
- * @param Zend_Queue_Stomp_Client_ConnectionInterface $connection
- * @return void
- */
- public function setConnection(Zend_Queue_Stomp_Client_ConnectionInterface $connection)
- {
- $this->_connection = $connection;
- return $this;
- }
-
- /**
- * Get client connection
- *
- * @return Zend_Queue_Stomp_Client_ConnectionInterface|null
- */
- public function getConnection()
- {
- return $this->_connection;
- }
-
- /**
- * Send a stomp frame
- *
- * Returns true if the frame was successfully sent.
- *
- * @param Zend_Queue_Stomp_FrameInterface $frame
- * @return boolean
- */
- public function send(Zend_Queue_Stomp_FrameInterface $frame)
- {
- $this->getConnection()->write($frame);
- return $this;
- }
-
- /**
- * Receive a frame
- *
- * Returns a frame or false if none were to be read.
- *
- * @return Zend_Queue_Stomp_FrameInterface|boolean
- */
- public function receive()
- {
- return $this->getConnection()->read();
- }
-
- /**
- * canRead()
- *
- * @return boolean
- */
- public function canRead()
- {
- return $this->getConnection()->canRead();
- }
-
- /**
- * creates a frame class
- *
- * @return Zend_Queue_Stomp_FrameInterface
- */
- public function createFrame()
- {
- return $this->getConnection()->createFrame();
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Stomp/Client/Connection.php b/airtime_mvc/library/Zend/Queue/Stomp/Client/Connection.php
deleted file mode 100644
index 21bb7819f..000000000
--- a/airtime_mvc/library/Zend/Queue/Stomp/Client/Connection.php
+++ /dev/null
@@ -1,280 +0,0 @@
-_socket = fsockopen($str, $port, $errno, $errstr);
-
- if ($this->_socket === false) {
- // aparently there is some reason that fsockopen will return false
- // but it normally throws an error.
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception("Unable to connect to $str; error = $errstr ( errno = $errno )");
- }
-
- stream_set_blocking($this->_socket, 0); // non blocking
-
- if (!isset($options['timeout_sec'])) {
- $options['timeout_sec'] = self::READ_TIMEOUT_DEFAULT_SEC;
- }
- if (! isset($options['timeout_usec'])) {
- $options['timeout_usec'] = self::READ_TIMEOUT_DEFAULT_USEC;
- }
-
- $this->_options = $options;
-
- return true;
- }
-
- /**
- * Close the socket explicitly when destructed
- *
- * @return void
- */
- public function __destruct()
- {
- }
-
- /**
- * Close connection
- *
- * @param boolean $destructor
- * @return void
- */
- public function close($destructor = false)
- {
- // Gracefully disconnect
- if (!$destructor) {
- $frame = $this->createFrame();
- $frame->setCommand('DISCONNECT');
- $this->write($frame);
- }
-
- // @todo: Should be fixed.
- // When the socket is "closed", it will trigger the below error when php exits
- // Fatal error: Exception thrown without a stack frame in Unknown on line 0
-
- // Danlo: I suspect this is because this has already been claimed by the interpeter
- // thus trying to shutdown this resources, which is already shutdown is a problem.
- if (is_resource($this->_socket)) {
- // fclose($this->_socket);
- }
-
- // $this->_socket = null;
- }
-
- /**
- * Check whether we are connected to the server
- *
- * @return true
- * @throws Zend_Queue_Exception
- */
- public function ping()
- {
- if (!is_resource($this->_socket)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Not connected to Stomp server');
- }
- return true;
- }
-
- /**
- * Write a frame to the stomp server
- *
- * example: $response = $client->write($frame)->read();
- *
- * @param Zend_Queue_Stom_FrameInterface $frame
- * @return $this
- */
- public function write(Zend_Queue_Stomp_FrameInterface $frame)
- {
- $this->ping();
- $output = $frame->toFrame();
-
- $bytes = fwrite($this->_socket, $output, strlen($output));
- if ($bytes === false || $bytes == 0) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('No bytes written');
- }
-
- return $this;
- }
-
- /**
- * Tests the socket to see if there is data for us
- *
- * @return boolean
- */
- public function canRead()
- {
- $read = array($this->_socket);
- $write = null;
- $except = null;
-
- return stream_select(
- $read,
- $write,
- $except,
- $this->_options['timeout_sec'],
- $this->_options['timeout_usec']
- ) == 1;
- // see http://us.php.net/manual/en/function.stream-select.php
- }
-
- /**
- * Reads in a frame from the socket or returns false.
- *
- * @return Zend_Queue_Stomp_FrameInterface|false
- * @throws Zend_Queue_Exception
- */
- public function read()
- {
- $this->ping();
-
- $response = '';
- $prev = '';
-
- // while not end of file.
- while (!feof($this->_socket)) {
- // read in one character until "\0\n" is found
- $data = fread($this->_socket, 1);
-
- // check to make sure that the connection is not lost.
- if ($data === false) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Connection lost');
- }
-
- // append last character read to $response
- $response .= $data;
-
- // is this \0 (prev) \n (data)? END_OF_FRAME
- if (ord($data) == 10 && ord($prev) == 0) {
- break;
- }
- $prev = $data;
- }
-
- if ($response === '') {
- return false;
- }
-
- $frame = $this->createFrame();
- $frame->fromFrame($response);
- return $frame;
- }
-
- /**
- * Set the frameClass to be used
- *
- * This must be a Zend_Queue_Stomp_FrameInterface.
- *
- * @param string $classname - class is an instance of Zend_Queue_Stomp_FrameInterface
- * @return $this;
- */
- public function setFrameClass($classname)
- {
- $this->_options['frameClass'] = $classname;
- return $this;
- }
-
- /**
- * Get the frameClass
- *
- * @return string
- */
- public function getFrameClass()
- {
- return isset($this->_options['frameClass'])
- ? $this->_options['frameClass']
- : 'Zend_Queue_Stomp_Frame';
- }
-
- /**
- * Create an empty frame
- *
- * @return Zend_Queue_Stomp_FrameInterface
- */
- public function createFrame()
- {
- $class = $this->getFrameClass();
-
- if (!class_exists($class)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($class);
- }
-
- $frame = new $class();
-
- if (!$frame instanceof Zend_Queue_Stomp_FrameInterface) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('Invalid Frame class provided; must implement Zend_Queue_Stomp_FrameInterface');
- }
-
- return $frame;
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Stomp/Client/ConnectionInterface.php b/airtime_mvc/library/Zend/Queue/Stomp/Client/ConnectionInterface.php
deleted file mode 100644
index 3c1a8dccf..000000000
--- a/airtime_mvc/library/Zend/Queue/Stomp/Client/ConnectionInterface.php
+++ /dev/null
@@ -1,103 +0,0 @@
-write($frame)->read();
- *
- * @param Zend_Queue_Stomp_FrameInterface $frame
- * @return $this
- */
- public function write(Zend_Queue_Stomp_FrameInterface $frame);
-
- /**
- * tests the socket to see if there is data for us
- */
- public function canRead();
-
- /**
- * reads in a frame from the socket or returns false.
- *
- * @return Zend_Queue_Stomp_Frame|false
- * @throws Zend_Queue_Exception
- */
- public function read();
-
- /**
- * Set the frame class to be used
- *
- * This must be a Zend_Queue_Stomp_FrameInterface.
- *
- * @param string $class
- * @return Zend_Queue_Stomp_Client_ConnectionInterface;
- */
- public function setFrameClass($class);
-
- /**
- * Get the frameClass
- *
- * @return string
- */
- public function getFrameClass();
-
- /**
- * create an empty frame
- *
- * @return Zend_Queue_Stomp_FrameInterface class
- */
- public function createFrame();
-}
diff --git a/airtime_mvc/library/Zend/Queue/Stomp/Frame.php b/airtime_mvc/library/Zend/Queue/Stomp/Frame.php
deleted file mode 100644
index 21b0d46af..000000000
--- a/airtime_mvc/library/Zend/Queue/Stomp/Frame.php
+++ /dev/null
@@ -1,363 +0,0 @@
-setHeaders(array());
- $this->setBody(null);
- $this->setCommand(null);
- $this->setAutoContentLength(true);
- }
-
- /**
- * get the status of the auto content length
- *
- * If AutoContentLength is true this code will automatically put the
- * content-length header in, even if it is already set by the user.
- *
- * This is done to make the message sending more reliable.
- *
- * @return boolean
- */
- public function getAutoContentLength()
- {
- return $this->_autoContentLength;
- }
-
- /**
- * setAutoContentLength()
- *
- * Set the value on or off.
- *
- * @param boolean $auto
- * @return $this;
- * @throws Zend_Queue_Exception
- */
- public function setAutoContentLength($auto)
- {
- if (!is_bool($auto)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$auto is not a boolean');
- }
-
- $this->_autoContentLength = $auto;
- return $this;
- }
-
- /**
- * Get the headers
- *
- * @return array
- */
- public function getHeaders()
- {
- return $this->_headers;
- }
-
- /**
- * Set the headers
- *
- * Throws an exception if the array values are not strings.
- *
- * @param array $headers
- * @return $this
- * @throws Zend_Queue_Exception
- */
- public function setHeaders(array $headers)
- {
- foreach ($headers as $header => $value) {
- $this->setHeader($header, $value);
- }
-
- return $this;
- }
-
- /**
- * Sets a value for a header
- *
- * @param string $header
- * @param string $value
- * @return Zend_Queue_Stomp_Frame
- * @throws Zend_Queue_Exception
- */
- public function setHeader($header, $value) {
- if (!is_string($header)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$header is not a string: ' . print_r($header, true));
- }
-
- if (!is_scalar($value)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$value is not a string: ' . print_r($value, true));
- }
-
- $this->_headers[$header] = $value;
- return $this;
- }
-
-
- /**
- * Returns a value for a header
- *
- * Returns false if the header does not exist.
- *
- * @param string $header
- * @return string|false
- * @throws Zend_Queue_Exception
- */
- public function getHeader($header)
- {
- if (!is_string($header)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$header is not a string');
- }
-
- return isset($this->_headers[$header])
- ? $this->_headers[$header]
- : false;
- }
-
- /**
- * Return the body for this frame
- *
- * Returns false if the body does not exist
- *
- * @return false|string
- */
- public function getBody()
- {
- return is_null($this->_body)
- ? false
- : $this->_body;
- }
-
- /**
- * Set the body for this frame
- *
- * Set to null for no body.
- *
- * @param string|null $body
- * @return Zend_Queue_Stomp_Frame
- * @throws Zend_Queue_Exception
- */
- public function setBody($body)
- {
- if (!is_string($body) && !is_null($body)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$body is not a string or null');
- }
-
- $this->_body = $body;
- return $this;
- }
-
- /**
- * Return the command for this frame
- *
- * Return false if the command does not exist
- *
- * @return string|false
- */
- public function getCommand()
- {
- return is_null($this->_command)
- ? false
- : $this->_command;
- }
-
- /**
- * Set the body for this frame
- *
- * @param string|null
- * @return Zend_Queue_Stomp_Frame
- * @throws Zend_Queue_Exception
- */
- public function setCommand($command)
- {
- if (!is_string($command) && !is_null($command)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$command is not a string or null');
- }
-
- $this->_command = $command;
- return $this;
- }
-
- /**
- * Takes the current parameters and returns a Stomp Frame
- *
- * @return string
- * @throws Zend_Queue_Exception
- */
- public function toFrame()
- {
- if ($this->getCommand() === false) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('You must set the command');
- }
-
- $command = $this->getCommand();
- $headers = $this->getHeaders();
- $body = $this->getBody();
- $frame = '';
-
- // add a content-length to the SEND command.
- // @see http://stomp.codehaus.org/Protocol
- if ($this->getAutoContentLength()) {
- $headers[self::CONTENT_LENGTH] = strlen($this->getBody());
- }
-
- // Command
- $frame = $command . self::EOL;
-
- // Headers
- foreach ($headers as $key=>$value) {
- $frame .= $key . ': ' . $value . self::EOL;
- }
-
- // Seperator
- $frame .= self::EOL; // blank line required by protocol
-
- // add the body if any
- if ($body !== false) {
- $frame .= $body;
- }
- $frame .= self::END_OF_FRAME;
-
- return $frame;
- }
-
- /**
- * @see toFrame()
- * @return string
- */
- public function __toString()
- {
- try {
- $return = $this->toFrame();
- } catch (Zend_Queue_Exception $e) {
- $return = '';
- }
- return $return;
- }
-
- /**
- * Accepts a frame and deconstructs the frame into its component parts
- *
- * @param string $frame - a stomp frame
- * @return $this
- */
- public function fromFrame($frame)
- {
- if (!is_string($frame)) {
- require_once 'Zend/Queue/Exception.php';
- throw new Zend_Queue_Exception('$frame is not a string');
- }
-
- $headers = array();
- $body = null;
- $command = false;
- $header = '';
-
- // separate the headers and the body
- $match = self::EOL . self::EOL;
- if (preg_match('/' . $match . '/', $frame)) {
- list ($header, $body) = explode($match, $frame, 2);
- } else {
- $header = $frame;
- }
-
- // blow up headers
- $headers = explode(self::EOL, $header);
- unset($header);
-
- // get the command (first line)
- $this->setCommand(array_shift($headers));
-
- // set each of the headers.
- foreach ($headers as $header) {
- if (strpos($header, ':') > 0) {
- list($name, $value) = explode(':', $header, 2);
- $this->setHeader($name, $value);
- }
- }
-
- // crop the body if content-length is present
- if ($this->getHeader(self::CONTENT_LENGTH) !== false ) {
- $length = (int) $this->getHeader(self::CONTENT_LENGTH);
- $body = substr($body, 0, $length);
- }
-
- $this->setBody($body);
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Queue/Stomp/FrameInterface.php b/airtime_mvc/library/Zend/Queue/Stomp/FrameInterface.php
deleted file mode 100644
index c653efb12..000000000
--- a/airtime_mvc/library/Zend/Queue/Stomp/FrameInterface.php
+++ /dev/null
@@ -1,154 +0,0 @@
-getFileName());
- if (!$instance instanceof Zend_Reflection_File) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_File');
- }
- return $instance;
- }
-
- /**
- * Return the classes Docblock reflection object
- *
- * @param string $reflectionClass Name of reflection class to use
- * @return Zend_Reflection_Docblock
- * @throws Zend_Reflection_Exception for missing docblock or invalid reflection class
- */
- public function getDocblock($reflectionClass = 'Zend_Reflection_Docblock')
- {
- if ('' == $this->getDocComment()) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception($this->getName() . ' does not have a docblock');
- }
-
- $instance = new $reflectionClass($this);
- if (!$instance instanceof Zend_Reflection_Docblock) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Docblock');
- }
- return $instance;
- }
-
- /**
- * Return the start line of the class
- *
- * @param bool $includeDocComment
- * @return int
- */
- public function getStartLine($includeDocComment = false)
- {
- if ($includeDocComment) {
- if ($this->getDocComment() != '') {
- return $this->getDocblock()->getStartLine();
- }
- }
-
- return parent::getStartLine();
- }
-
- /**
- * Return the contents of the class
- *
- * @param bool $includeDocblock
- * @return string
- */
- public function getContents($includeDocblock = true)
- {
- $filename = $this->getFileName();
- $filelines = file($filename);
- $startnum = $this->getStartLine($includeDocblock);
- $endnum = $this->getEndLine() - $this->getStartLine();
-
- return implode('', array_splice($filelines, $startnum, $endnum, true));
- }
-
- /**
- * Get all reflection objects of implemented interfaces
- *
- * @param string $reflectionClass Name of reflection class to use
- * @return array Array of Zend_Reflection_Class
- */
- public function getInterfaces($reflectionClass = 'Zend_Reflection_Class')
- {
- $phpReflections = parent::getInterfaces();
- $zendReflections = array();
- while ($phpReflections && ($phpReflection = array_shift($phpReflections))) {
- $instance = new $reflectionClass($phpReflection->getName());
- if (!$instance instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Class');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-
- /**
- * Return method reflection by name
- *
- * @param string $name
- * @param string $reflectionClass Reflection class to utilize
- * @return Zend_Reflection_Method
- */
- public function getMethod($name, $reflectionClass = 'Zend_Reflection_Method')
- {
- $phpReflection = parent::getMethod($name);
- $zendReflection = new $reflectionClass($this->getName(), $phpReflection->getName());
-
- if (!$zendReflection instanceof Zend_Reflection_Method) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Method');
- }
-
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Get reflection objects of all methods
- *
- * @param string $filter
- * @param string $reflectionClass Reflection class to use for methods
- * @return array Array of Zend_Reflection_Method objects
- */
- public function getMethods($filter = -1, $reflectionClass = 'Zend_Reflection_Method')
- {
- $phpReflections = parent::getMethods($filter);
- $zendReflections = array();
- while ($phpReflections && ($phpReflection = array_shift($phpReflections))) {
- $instance = new $reflectionClass($this->getName(), $phpReflection->getName());
- if (!$instance instanceof Zend_Reflection_Method) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Method');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-
- /**
- * Get parent reflection class of reflected class
- *
- * @param string $reflectionClass Name of Reflection class to use
- * @return Zend_Reflection_Class
- */
- public function getParentClass($reflectionClass = 'Zend_Reflection_Class')
- {
- $phpReflection = parent::getParentClass();
- if ($phpReflection) {
- $zendReflection = new $reflectionClass($phpReflection->getName());
- if (!$zendReflection instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Class');
- }
- unset($phpReflection);
- return $zendReflection;
- } else {
- return false;
- }
- }
-
- /**
- * Return reflection property of this class by name
- *
- * @param string $name
- * @param string $reflectionClass Name of reflection class to use
- * @return Zend_Reflection_Property
- */
- public function getProperty($name, $reflectionClass = 'Zend_Reflection_Property')
- {
- $phpReflection = parent::getProperty($name);
- $zendReflection = new $reflectionClass($this->getName(), $phpReflection->getName());
- if (!$zendReflection instanceof Zend_Reflection_Property) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Property');
- }
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Return reflection properties of this class
- *
- * @param int $filter
- * @param string $reflectionClass Name of reflection class to use
- * @return array Array of Zend_Reflection_Property
- */
- public function getProperties($filter = -1, $reflectionClass = 'Zend_Reflection_Property')
- {
- $phpReflections = parent::getProperties($filter);
- $zendReflections = array();
- while ($phpReflections && ($phpReflection = array_shift($phpReflections))) {
- $instance = new $reflectionClass($this->getName(), $phpReflection->getName());
- if (!$instance instanceof Zend_Reflection_Property) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Property');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Docblock.php b/airtime_mvc/library/Zend/Reflection/Docblock.php
deleted file mode 100644
index fbefdf2bb..000000000
--- a/airtime_mvc/library/Zend/Reflection/Docblock.php
+++ /dev/null
@@ -1,294 +0,0 @@
-_tags)."] {".PHP_EOL;
-
- foreach($this->_tags AS $tag) {
- $str .= " ".$tag;
- }
-
- $str .= " }".PHP_EOL;
- $str .= "}".PHP_EOL;
-
- return $str;
- }
-
- /**
- * Constructor
- *
- * @param Reflector|string $commentOrReflector
- */
- public function __construct($commentOrReflector)
- {
- if ($commentOrReflector instanceof Reflector) {
- $this->_reflector = $commentOrReflector;
- if (!method_exists($commentOrReflector, 'getDocComment')) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Reflector must contain method "getDocComment"');
- }
- $docComment = $commentOrReflector->getDocComment();
-
- $lineCount = substr_count($docComment, "\n");
-
- $this->_startLine = $this->_reflector->getStartLine() - $lineCount - 1;
- $this->_endLine = $this->_reflector->getStartLine() - 1;
-
- } elseif (is_string($commentOrReflector)) {
- $docComment = $commentOrReflector;
- } else {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception(get_class($this) . ' must have a (string) DocComment or a Reflector in the constructor');
- }
-
- if ($docComment == '') {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('DocComment cannot be empty');
- }
-
- $this->_docComment = $docComment;
- $this->_parse();
- }
-
- /**
- * Retrieve contents of docblock
- *
- * @return string
- */
- public function getContents()
- {
- return $this->_cleanDocComment;
- }
-
- /**
- * Get start line (position) of docblock
- *
- * @return int
- */
- public function getStartLine()
- {
- return $this->_startLine;
- }
-
- /**
- * Get last line (position) of docblock
- *
- * @return int
- */
- public function getEndLine()
- {
- return $this->_endLine;
- }
-
- /**
- * Get docblock short description
- *
- * @return string
- */
- public function getShortDescription()
- {
- return $this->_shortDescription;
- }
-
- /**
- * Get docblock long description
- *
- * @return string
- */
- public function getLongDescription()
- {
- return $this->_longDescription;
- }
-
- /**
- * Does the docblock contain the given annotation tag?
- *
- * @param string $name
- * @return bool
- */
- public function hasTag($name)
- {
- foreach ($this->_tags as $tag) {
- if ($tag->getName() == $name) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Retrieve the given docblock tag
- *
- * @param string $name
- * @return Zend_Reflection_Docblock_Tag|false
- */
- public function getTag($name)
- {
- foreach ($this->_tags as $tag) {
- if ($tag->getName() == $name) {
- return $tag;
- }
- }
-
- return false;
- }
-
- /**
- * Get all docblock annotation tags
- *
- * @param string $filter
- * @return array Array of Zend_Reflection_Docblock_Tag
- */
- public function getTags($filter = null)
- {
- if ($filter === null || !is_string($filter)) {
- return $this->_tags;
- }
-
- $returnTags = array();
- foreach ($this->_tags as $tag) {
- if ($tag->getName() == $filter) {
- $returnTags[] = $tag;
- }
- }
- return $returnTags;
- }
-
- /**
- * Parse the docblock
- *
- * @return void
- */
- protected function _parse()
- {
- $docComment = $this->_docComment;
-
- // First remove doc block line starters
- $docComment = preg_replace('#[ \t]*(?:\/\*\*|\*\/|\*)?[ ]{0,1}(.*)?#', '$1', $docComment);
- $docComment = ltrim($docComment, "\r\n"); // @todo should be changed to remove first and last empty line
-
- $this->_cleanDocComment = $docComment;
-
- // Next parse out the tags and descriptions
- $parsedDocComment = $docComment;
- $lineNumber = $firstBlandLineEncountered = 0;
- while (($newlinePos = strpos($parsedDocComment, "\n")) !== false) {
- $lineNumber++;
- $line = substr($parsedDocComment, 0, $newlinePos);
-
- $matches = array();
-
- if ((strpos($line, '@') === 0) && (preg_match('#^(@\w+.*?)(\n)(?:@|\r?\n|$)#s', $parsedDocComment, $matches))) {
- $this->_tags[] = Zend_Reflection_Docblock_Tag::factory($matches[1]);
- $parsedDocComment = str_replace($matches[1] . $matches[2], '', $parsedDocComment);
- } else {
- if ($lineNumber < 3 && !$firstBlandLineEncountered) {
- $this->_shortDescription .= $line . "\n";
- } else {
- $this->_longDescription .= $line . "\n";
- }
-
- if ($line == '') {
- $firstBlandLineEncountered = true;
- }
-
- $parsedDocComment = substr($parsedDocComment, $newlinePos + 1);
- }
-
- }
-
- $this->_shortDescription = rtrim($this->_shortDescription);
- $this->_longDescription = rtrim($this->_longDescription);
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Docblock/Tag.php b/airtime_mvc/library/Zend/Reflection/Docblock/Tag.php
deleted file mode 100644
index 236beb5f8..000000000
--- a/airtime_mvc/library/Zend/Reflection/Docblock/Tag.php
+++ /dev/null
@@ -1,145 +0,0 @@
- 'Zend_Reflection_Docblock_Tag_Param',
- 'return' => 'Zend_Reflection_Docblock_Tag_Return',
- );
-
- /**
- * @var string
- */
- protected $_name = null;
-
- /**
- * @var string
- */
- protected $_description = null;
-
- /**
- * Factory: Create the appropriate annotation tag object
- *
- * @param string $tagDocblockLine
- * @return Zend_Reflection_Docblock_Tag
- */
- public static function factory($tagDocblockLine)
- {
- $matches = array();
-
- if (!preg_match('#^@(\w+)(\s|$)#', $tagDocblockLine, $matches)) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('No valid tag name found within provided docblock line.');
- }
-
- $tagName = $matches[1];
- if (array_key_exists($tagName, self::$_tagClasses)) {
- $tagClass = self::$_tagClasses[$tagName];
- if (!class_exists($tagClass)) {
- Zend_Loader::loadClass($tagClass);
- }
- return new $tagClass($tagDocblockLine);
- }
- return new self($tagDocblockLine);
- }
-
- /**
- * Export reflection
- *
- * Required by Reflector
- *
- * @todo What should this do?
- * @return void
- */
- public static function export()
- {
- }
-
- /**
- * Serialize to string
- *
- * Required by Reflector
- *
- * @todo What should this do?
- * @return string
- */
- public function __toString()
- {
- $str = "Docblock Tag [ * @".$this->_name." ]".PHP_EOL;
-
- return $str;
- }
-
- /**
- * Constructor
- *
- * @param string $tagDocblockLine
- * @return void
- */
- public function __construct($tagDocblockLine)
- {
- $matches = array();
-
- // find the line
- if (!preg_match('#^@(\w+)(?:\s+([^\s].*)|$)?#', $tagDocblockLine, $matches)) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Provided docblock line does not contain a valid tag');
- }
-
- $this->_name = $matches[1];
- if (isset($matches[2]) && $matches[2]) {
- $this->_description = $matches[2];
- }
- }
-
- /**
- * Get annotation tag name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Get annotation tag description
- *
- * @return string
- */
- public function getDescription()
- {
- return $this->_description;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Docblock/Tag/Param.php b/airtime_mvc/library/Zend/Reflection/Docblock/Tag/Param.php
deleted file mode 100644
index 7efdf2a3e..000000000
--- a/airtime_mvc/library/Zend/Reflection/Docblock/Tag/Param.php
+++ /dev/null
@@ -1,93 +0,0 @@
-_name = 'param';
- $this->_type = $matches[2];
-
- if (isset($matches[3])) {
- $this->_variableName = $matches[3];
- }
-
- if (isset($matches[4])) {
- $this->_description = preg_replace('#\s+#', ' ', $matches[4]);
- }
- }
-
- /**
- * Get parameter variable type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Get parameter name
- *
- * @return string
- */
- public function getVariableName()
- {
- return $this->_variableName;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Docblock/Tag/Return.php b/airtime_mvc/library/Zend/Reflection/Docblock/Tag/Return.php
deleted file mode 100644
index 5fcf40af8..000000000
--- a/airtime_mvc/library/Zend/Reflection/Docblock/Tag/Return.php
+++ /dev/null
@@ -1,72 +0,0 @@
-_name = 'return';
- $this->_type = $matches[2];
- if (isset($matches[3])) {
- $this->_description = $matches[3];
- }
- }
-
- /**
- * Get return variable type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Exception.php b/airtime_mvc/library/Zend/Reflection/Exception.php
deleted file mode 100644
index d1ad8f02b..000000000
--- a/airtime_mvc/library/Zend/Reflection/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-getName());
- if (!$instance instanceof Zend_Reflection_Function) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Function');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-
- /**
- * Get extension class reflection objects
- *
- * @param string $reflectionClass Name of reflection class to use
- * @return array Array of Zend_Reflection_Class objects
- */
- public function getClasses($reflectionClass = 'Zend_Reflection_Class')
- {
- $phpReflections = parent::getClasses();
- $zendReflections = array();
- while ($phpReflections && ($phpReflection = array_shift($phpReflections))) {
- $instance = new $reflectionClass($phpReflection->getName());
- if (!$instance instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/File.php b/airtime_mvc/library/Zend/Reflection/File.php
deleted file mode 100644
index dd2fef7f9..000000000
--- a/airtime_mvc/library/Zend/Reflection/File.php
+++ /dev/null
@@ -1,412 +0,0 @@
-_fileName = $fileRealpath;
- $this->_contents = file_get_contents($this->_fileName);
- $this->_reflect();
- }
-
- /**
- * Find realpath of file based on include_path
- *
- * @param string $fileName
- * @return string
- */
- public static function findRealpathInIncludePath($fileName)
- {
- require_once 'Zend/Loader.php';
- $includePaths = Zend_Loader::explodeIncludePath();
- while (count($includePaths) > 0) {
- $filePath = array_shift($includePaths) . DIRECTORY_SEPARATOR . $fileName;
-
- if ( ($foundRealpath = realpath($filePath)) !== false) {
- break;
- }
- }
-
- return $foundRealpath;
- }
-
- /**
- * Export
- *
- * Required by the Reflector interface.
- *
- * @todo What should this do?
- * @return null
- */
- public static function export()
- {
- return null;
- }
-
- /**
- * Return the file name of the reflected file
- *
- * @return string
- */
- public function getFileName()
- {
- return $this->_fileName;
- }
-
- /**
- * Get the start line - Always 1, staying consistent with the Reflection API
- *
- * @return int
- */
- public function getStartLine()
- {
- return $this->_startLine;
- }
-
- /**
- * Get the end line / number of lines
- *
- * @return int
- */
- public function getEndLine()
- {
- return $this->_endLine;
- }
-
- /**
- * Return the doc comment
- *
- * @return string
- */
- public function getDocComment()
- {
- return $this->_docComment;
- }
-
- /**
- * Return the docblock
- *
- * @param string $reflectionClass Reflection class to use
- * @return Zend_Reflection_Docblock
- */
- public function getDocblock($reflectionClass = 'Zend_Reflection_Docblock')
- {
- $instance = new $reflectionClass($this);
- if (!$instance instanceof Zend_Reflection_Docblock) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class specified; must extend Zend_Reflection_Docblock');
- }
- return $instance;
- }
-
- /**
- * Return the reflection classes of the classes found inside this file
- *
- * @param string $reflectionClass Name of reflection class to use for instances
- * @return array Array of Zend_Reflection_Class instances
- */
- public function getClasses($reflectionClass = 'Zend_Reflection_Class')
- {
- $classes = array();
- foreach ($this->_classes as $class) {
- $instance = new $reflectionClass($class);
- if (!$instance instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class');
- }
- $classes[] = $instance;
- }
- return $classes;
- }
-
- /**
- * Return the reflection functions of the functions found inside this file
- *
- * @param string $reflectionClass Name of reflection class to use for instances
- * @return array Array of Zend_Reflection_Functions
- */
- public function getFunctions($reflectionClass = 'Zend_Reflection_Function')
- {
- $functions = array();
- foreach ($this->_functions as $function) {
- $instance = new $reflectionClass($function);
- if (!$instance instanceof Zend_Reflection_Function) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Function');
- }
- $functions[] = $instance;
- }
- return $functions;
- }
-
- /**
- * Retrieve the reflection class of a given class found in this file
- *
- * @param null|string $name
- * @param string $reflectionClass Reflection class to use when creating reflection instance
- * @return Zend_Reflection_Class
- * @throws Zend_Reflection_Exception for invalid class name or invalid reflection class
- */
- public function getClass($name = null, $reflectionClass = 'Zend_Reflection_Class')
- {
- if ($name === null) {
- reset($this->_classes);
- $selected = current($this->_classes);
- $instance = new $reflectionClass($selected);
- if (!$instance instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class given; must extend Zend_Reflection_Class');
- }
- return $instance;
- }
-
- if (in_array($name, $this->_classes)) {
- $instance = new $reflectionClass($name);
- if (!$instance instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class given; must extend Zend_Reflection_Class');
- }
- return $instance;
- }
-
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Class by name ' . $name . ' not found.');
- }
-
- /**
- * Return the full contents of file
- *
- * @return string
- */
- public function getContents()
- {
- return $this->_contents;
- }
-
- /**
- * Serialize to string
- *
- * Required by the Reflector interface
- *
- * @todo What should this serialization look like?
- * @return string
- */
- public function __toString()
- {
- return '';
- }
-
- /**
- * This method does the work of "reflecting" the file
- *
- * Uses PHP's tokenizer to perform file reflection.
- *
- * @return void
- */
- protected function _reflect()
- {
- $contents = $this->_contents;
- $tokens = token_get_all($contents);
-
- $functionTrapped = false;
- $classTrapped = false;
- $requireTrapped = false;
- $openBraces = 0;
-
- $this->_checkFileDocBlock($tokens);
-
- foreach ($tokens as $token) {
- /*
- * Tokens are characters representing symbols or arrays
- * representing strings. The keys/values in the arrays are
- *
- * - 0 => token id,
- * - 1 => string,
- * - 2 => line number
- *
- * Token ID's are explained here:
- * http://www.php.net/manual/en/tokens.php.
- */
-
- if (is_array($token)) {
- $type = $token[0];
- $value = $token[1];
- $lineNum = $token[2];
- } else {
- // It's a symbol
- // Maintain the count of open braces
- if ($token == '{') {
- $openBraces++;
- } else if ($token == '}') {
- $openBraces--;
- }
-
- continue;
- }
-
- switch ($type) {
- // Name of something
- case T_STRING:
- if ($functionTrapped) {
- $this->_functions[] = $value;
- $functionTrapped = false;
- } elseif ($classTrapped) {
- $this->_classes[] = $value;
- $classTrapped = false;
- }
- continue;
-
- // Required file names are T_CONSTANT_ENCAPSED_STRING
- case T_CONSTANT_ENCAPSED_STRING:
- if ($requireTrapped) {
- $this->_requiredFiles[] = $value ."\n";
- $requireTrapped = false;
- }
- continue;
-
- // Functions
- case T_FUNCTION:
- if ($openBraces == 0) {
- $functionTrapped = true;
- }
- break;
-
- // Classes
- case T_CLASS:
- case T_INTERFACE:
- $classTrapped = true;
- break;
-
- // All types of requires
- case T_REQUIRE:
- case T_REQUIRE_ONCE:
- case T_INCLUDE:
- case T_INCLUDE_ONCE:
- $requireTrapped = true;
- break;
-
- // Default case: do nothing
- default:
- break;
- }
- }
-
- $this->_endLine = count(explode("\n", $this->_contents));
- }
-
- /**
- * Validate / check a file level docblock
- *
- * @param array $tokens Array of tokenizer tokens
- * @return void
- */
- protected function _checkFileDocBlock($tokens) {
- foreach ($tokens as $token) {
- $type = $token[0];
- $value = $token[1];
- $lineNum = $token[2];
- if(($type == T_OPEN_TAG) || ($type == T_WHITESPACE)) {
- continue;
- } elseif ($type == T_DOC_COMMENT) {
- $this->_docComment = $value;
- $this->_startLine = $lineNum + substr_count($value, "\n") + 1;
- return;
- } else {
- // Only whitespace is allowed before file docblocks
- return;
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Function.php b/airtime_mvc/library/Zend/Reflection/Function.php
deleted file mode 100644
index aab4e75c5..000000000
--- a/airtime_mvc/library/Zend/Reflection/Function.php
+++ /dev/null
@@ -1,129 +0,0 @@
-getDocComment())) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception($this->getName() . ' does not have a docblock');
- }
- $instance = new $reflectionClass($comment);
- if (!$instance instanceof Zend_Reflection_Docblock) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Docblock');
- }
- return $instance;
- }
-
- /**
- * Get start line (position) of function
- *
- * @param bool $includeDocComment
- * @return int
- */
- public function getStartLine($includeDocComment = false)
- {
- if ($includeDocComment) {
- if ($this->getDocComment() != '') {
- return $this->getDocblock()->getStartLine();
- }
- }
-
- return parent::getStartLine();
- }
-
- /**
- * Get contents of function
- *
- * @param bool $includeDocblock
- * @return string
- */
- public function getContents($includeDocblock = true)
- {
- return implode("\n",
- array_splice(
- file($this->getFileName()),
- $this->getStartLine($includeDocblock),
- ($this->getEndLine() - $this->getStartLine()),
- true
- )
- );
- }
-
- /**
- * Get function parameters
- *
- * @param string $reflectionClass Name of reflection class to use
- * @return array Array of Zend_Reflection_Parameter
- */
- public function getParameters($reflectionClass = 'Zend_Reflection_Parameter')
- {
- $phpReflections = parent::getParameters();
- $zendReflections = array();
- while ($phpReflections && ($phpReflection = array_shift($phpReflections))) {
- $instance = new $reflectionClass($this->getName(), $phpReflection->getName());
- if (!$instance instanceof Zend_Reflection_Parameter) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Parameter');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-
- /**
- * Get return type tag
- *
- * @return Zend_Reflection_Docblock_Tag_Return
- */
- public function getReturn()
- {
- $docblock = $this->getDocblock();
- if (!$docblock->hasTag('return')) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Function does not specify an @return annotation tag; cannot determine return type');
- }
- $tag = $docblock->getTag('return');
- $return = Zend_Reflection_Docblock_Tag::factory('@return ' . $tag->getDescription());
- return $return;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Method.php b/airtime_mvc/library/Zend/Reflection/Method.php
deleted file mode 100644
index c95429f92..000000000
--- a/airtime_mvc/library/Zend/Reflection/Method.php
+++ /dev/null
@@ -1,168 +0,0 @@
-getDocComment()) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception($this->getName() . ' does not have a docblock');
- }
-
- $instance = new $reflectionClass($this);
- if (!$instance instanceof Zend_Reflection_Docblock) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Docblock');
- }
- return $instance;
- }
-
- /**
- * Get start line (position) of method
- *
- * @param bool $includeDocComment
- * @return int
- */
- public function getStartLine($includeDocComment = false)
- {
- if ($includeDocComment) {
- if ($this->getDocComment() != '') {
- return $this->getDocblock()->getStartLine();
- }
- }
-
- return parent::getStartLine();
- }
-
- /**
- * Get reflection of declaring class
- *
- * @param string $reflectionClass Name of reflection class to use
- * @return Zend_Reflection_Class
- */
- public function getDeclaringClass($reflectionClass = 'Zend_Reflection_Class')
- {
- $phpReflection = parent::getDeclaringClass();
- $zendReflection = new $reflectionClass($phpReflection->getName());
- if (!$zendReflection instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class');
- }
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Get all method parameter reflection objects
- *
- * @param string $reflectionClass Name of reflection class to use
- * @return array of Zend_Reflection_Parameter objects
- */
- public function getParameters($reflectionClass = 'Zend_Reflection_Parameter')
- {
- $phpReflections = parent::getParameters();
- $zendReflections = array();
- while ($phpReflections && ($phpReflection = array_shift($phpReflections))) {
- $instance = new $reflectionClass(array($this->getDeclaringClass()->getName(), $this->getName()), $phpReflection->getName());
- if (!$instance instanceof Zend_Reflection_Parameter) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Parameter');
- }
- $zendReflections[] = $instance;
- unset($phpReflection);
- }
- unset($phpReflections);
- return $zendReflections;
- }
-
- /**
- * Get method contents
- *
- * @param bool $includeDocblock
- * @return string
- */
- public function getContents($includeDocblock = true)
- {
- $fileContents = file($this->getFileName());
- $startNum = $this->getStartLine($includeDocblock);
- $endNum = ($this->getEndLine() - $this->getStartLine());
-
- return implode("\n", array_splice($fileContents, $startNum, $endNum, true));
- }
-
- /**
- * Get method body
- *
- * @return string
- */
- public function getBody()
- {
- $lines = array_slice(
- file($this->getDeclaringClass()->getFileName(), FILE_IGNORE_NEW_LINES),
- $this->getStartLine(),
- ($this->getEndLine() - $this->getStartLine()),
- true
- );
-
- $firstLine = array_shift($lines);
-
- if (trim($firstLine) !== '{') {
- array_unshift($lines, $firstLine);
- }
-
- $lastLine = array_pop($lines);
-
- if (trim($lastLine) !== '}') {
- array_push($lines, $lastLine);
- }
-
- // just in case we had code on the bracket lines
- return rtrim(ltrim(implode("\n", $lines), '{'), '}');
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Parameter.php b/airtime_mvc/library/Zend/Reflection/Parameter.php
deleted file mode 100644
index 042c3000d..000000000
--- a/airtime_mvc/library/Zend/Reflection/Parameter.php
+++ /dev/null
@@ -1,123 +0,0 @@
-getName());
- if (!$zendReflection instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class');
- }
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Get class reflection object
- *
- * @param string $reflectionClass Reflection class to use
- * @return Zend_Reflection_Class
- */
- public function getClass($reflectionClass = 'Zend_Reflection_Class')
- {
- $phpReflection = parent::getClass();
- if($phpReflection == null) {
- return null;
- }
-
- $zendReflection = new $reflectionClass($phpReflection->getName());
- if (!$zendReflection instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class');
- }
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Get declaring function reflection object
- *
- * @param string $reflectionClass Reflection class to use
- * @return Zend_Reflection_Function|Zend_Reflection_Method
- */
- public function getDeclaringFunction($reflectionClass = null)
- {
- $phpReflection = parent::getDeclaringFunction();
- if ($phpReflection instanceof ReflectionMethod) {
- $baseClass = 'Zend_Reflection_Method';
- if (null === $reflectionClass) {
- $reflectionClass = $baseClass;
- }
- $zendReflection = new $reflectionClass($this->getDeclaringClass()->getName(), $phpReflection->getName());
- } else {
- $baseClass = 'Zend_Reflection_Function';
- if (null === $reflectionClass) {
- $reflectionClass = $baseClass;
- }
- $zendReflection = new $reflectionClass($phpReflection->getName());
- }
- if (!$zendReflection instanceof $baseClass) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend ' . $baseClass);
- }
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Get parameter type
- *
- * @return string
- */
- public function getType()
- {
- if ($docblock = $this->getDeclaringFunction()->getDocblock()) {
- $params = $docblock->getTags('param');
-
- if (isset($params[$this->getPosition()])) {
- return $params[$this->getPosition()]->getType();
- }
-
- }
-
- return null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Reflection/Property.php b/airtime_mvc/library/Zend/Reflection/Property.php
deleted file mode 100644
index 38a774acb..000000000
--- a/airtime_mvc/library/Zend/Reflection/Property.php
+++ /dev/null
@@ -1,68 +0,0 @@
-getName());
- if (!$zendReflection instanceof Zend_Reflection_Class) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Class');
- }
- unset($phpReflection);
- return $zendReflection;
- }
-
- /**
- * Get docblock comment
- *
- * @param string $reflectionClass
- * @return Zend_Reflection_Docblock|false False if no docblock defined
- */
- public function getDocComment($reflectionClass = 'Zend_Reflection_Docblock')
- {
- $docblock = parent::getDocComment();
- if (!$docblock) {
- return false;
- }
-
- $r = new $reflectionClass($docblock);
- if (!$r instanceof Zend_Reflection_Docblock) {
- require_once 'Zend/Reflection/Exception.php';
- throw new Zend_Reflection_Exception('Invalid reflection class provided; must extend Zend_Reflection_Docblock');
- }
- return $r;
- }
-}
diff --git a/airtime_mvc/library/Zend/Registry.php b/airtime_mvc/library/Zend/Registry.php
deleted file mode 100644
index 6623da260..000000000
--- a/airtime_mvc/library/Zend/Registry.php
+++ /dev/null
@@ -1,209 +0,0 @@
-offsetExists($index)) {
- require_once 'Zend/Exception.php';
- throw new Zend_Exception("No entry is registered for key '$index'");
- }
-
- return $instance->offsetGet($index);
- }
-
- /**
- * setter method, basically same as offsetSet().
- *
- * This method can be called from an object of type Zend_Registry, or it
- * can be called statically. In the latter case, it uses the default
- * static instance stored in the class.
- *
- * @param string $index The location in the ArrayObject in which to store
- * the value.
- * @param mixed $value The object to store in the ArrayObject.
- * @return void
- */
- public static function set($index, $value)
- {
- $instance = self::getInstance();
- $instance->offsetSet($index, $value);
- }
-
- /**
- * Returns TRUE if the $index is a named value in the registry,
- * or FALSE if $index was not found in the registry.
- *
- * @param string $index
- * @return boolean
- */
- public static function isRegistered($index)
- {
- if (self::$_registry === null) {
- return false;
- }
- return self::$_registry->offsetExists($index);
- }
-
- /**
- * Constructs a parent ArrayObject with default
- * ARRAY_AS_PROPS to allow acces as an object
- *
- * @param array $array data array
- * @param integer $flags ArrayObject flags
- */
- public function __construct($array = array(), $flags = parent::ARRAY_AS_PROPS)
- {
- parent::__construct($array, $flags);
- }
-
- /**
- * @param string $index
- * @returns mixed
- *
- * Workaround for http://bugs.php.net/bug.php?id=40442 (ZF-960).
- */
- public function offsetExists($index)
- {
- return array_key_exists($index, $this);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Rest/Client.php b/airtime_mvc/library/Zend/Rest/Client.php
deleted file mode 100644
index 7f45287e6..000000000
--- a/airtime_mvc/library/Zend/Rest/Client.php
+++ /dev/null
@@ -1,258 +0,0 @@
-setUri($uri);
- }
- }
-
- /**
- * Set the URI to use in the request
- *
- * @param string|Zend_Uri_Http $uri URI for the web service
- * @return Zend_Rest_Client
- */
- public function setUri($uri)
- {
- if ($uri instanceof Zend_Uri_Http) {
- $this->_uri = $uri;
- } else {
- $this->_uri = Zend_Uri::factory($uri);
- }
-
- return $this;
- }
-
- /**
- * Retrieve the current request URI object
- *
- * @return Zend_Uri_Http
- */
- public function getUri()
- {
- return $this->_uri;
- }
-
- /**
- * Call a remote REST web service URI and return the Zend_Http_Response object
- *
- * @param string $path The path to append to the URI
- * @throws Zend_Rest_Client_Exception
- * @return void
- */
- final private function _prepareRest($path)
- {
- // Get the URI object and configure it
- if (!$this->_uri instanceof Zend_Uri_Http) {
- require_once 'Zend/Rest/Client/Exception.php';
- throw new Zend_Rest_Client_Exception('URI object must be set before performing call');
- }
-
- $uri = $this->_uri->getUri();
-
- if ($path[0] != '/' && $uri[strlen($uri)-1] != '/') {
- $path = '/' . $path;
- }
-
- $this->_uri->setPath($path);
-
- /**
- * Get the HTTP client and configure it for the endpoint URI. Do this each time
- * because the Zend_Http_Client instance is shared among all Zend_Service_Abstract subclasses.
- */
- self::getHttpClient()->resetParameters()->setUri($this->_uri);
- }
-
- /**
- * Performs an HTTP GET request to the $path.
- *
- * @param string $path
- * @param array $query Array of GET parameters
- * @throws Zend_Http_Client_Exception
- * @return Zend_Http_Response
- */
- final public function restGet($path, array $query = null)
- {
- $this->_prepareRest($path);
- $client = self::getHttpClient();
- $client->setParameterGet($query);
- return $client->request('GET');
- }
-
- /**
- * Perform a POST or PUT
- *
- * Performs a POST or PUT request. Any data provided is set in the HTTP
- * client. String data is pushed in as raw POST data; array or object data
- * is pushed in as POST parameters.
- *
- * @param mixed $method
- * @param mixed $data
- * @return Zend_Http_Response
- */
- protected function _performPost($method, $data = null)
- {
- $client = self::getHttpClient();
- if (is_string($data)) {
- $client->setRawData($data);
- } elseif (is_array($data) || is_object($data)) {
- $client->setParameterPost((array) $data);
- }
- return $client->request($method);
- }
-
- /**
- * Performs an HTTP POST request to $path.
- *
- * @param string $path
- * @param mixed $data Raw data to send
- * @throws Zend_Http_Client_Exception
- * @return Zend_Http_Response
- */
- final public function restPost($path, $data = null)
- {
- $this->_prepareRest($path);
- return $this->_performPost('POST', $data);
- }
-
- /**
- * Performs an HTTP PUT request to $path.
- *
- * @param string $path
- * @param mixed $data Raw data to send in request
- * @throws Zend_Http_Client_Exception
- * @return Zend_Http_Response
- */
- final public function restPut($path, $data = null)
- {
- $this->_prepareRest($path);
- return $this->_performPost('PUT', $data);
- }
-
- /**
- * Performs an HTTP DELETE request to $path.
- *
- * @param string $path
- * @throws Zend_Http_Client_Exception
- * @return Zend_Http_Response
- */
- final public function restDelete($path)
- {
- $this->_prepareRest($path);
- return self::getHttpClient()->request('DELETE');
- }
-
- /**
- * Method call overload
- *
- * Allows calling REST actions as object methods; however, you must
- * follow-up by chaining the request with a request to an HTTP request
- * method (post, get, delete, put):
- *
- * $response = $rest->sayHello('Foo', 'Manchu')->get();
- *
- *
- * Or use them together, but in sequential calls:
- *
- * $rest->sayHello('Foo', 'Manchu');
- * $response = $rest->get();
- *
- *
- * @param string $method Method name
- * @param array $args Method args
- * @return Zend_Rest_Client_Result|Zend_Rest_Client Zend_Rest_Client if using
- * a remote method, Zend_Rest_Client_Result if using an HTTP request method
- */
- public function __call($method, $args)
- {
- $methods = array('post', 'get', 'delete', 'put');
-
- if (in_array(strtolower($method), $methods)) {
- if (!isset($args[0])) {
- $args[0] = $this->_uri->getPath();
- }
- $this->_data['rest'] = 1;
- $data = array_slice($args, 1) + $this->_data;
- $response = $this->{'rest' . $method}($args[0], $data);
- $this->_data = array();//Initializes for next Rest method.
- return new Zend_Rest_Client_Result($response->getBody());
- } else {
- // More than one arg means it's definitely a Zend_Rest_Server
- if (sizeof($args) == 1) {
- // Uses first called function name as method name
- if (!isset($this->_data['method'])) {
- $this->_data['method'] = $method;
- $this->_data['arg1'] = $args[0];
- }
- $this->_data[$method] = $args[0];
- } else {
- $this->_data['method'] = $method;
- if (sizeof($args) > 0) {
- foreach ($args as $key => $arg) {
- $key = 'arg' . $key;
- $this->_data[$key] = $arg;
- }
- }
- }
- return $this;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Rest/Client/Exception.php b/airtime_mvc/library/Zend/Rest/Client/Exception.php
deleted file mode 100644
index 85757f5a5..000000000
--- a/airtime_mvc/library/Zend/Rest/Client/Exception.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_sxml = simplexml_load_string($data);
- restore_error_handler();
- if($this->_sxml === false) {
- if ($this->_errstr === null) {
- $message = "An error occured while parsing the REST response with simplexml.";
- } else {
- $message = "REST Response Error: " . $this->_errstr;
- $this->_errstr = null;
- }
- require_once "Zend/Rest/Client/Result/Exception.php";
- throw new Zend_Rest_Client_Result_Exception($message);
- }
- }
-
- /**
- * Temporary error handler for parsing REST responses.
- *
- * @param int $errno
- * @param string $errstr
- * @param string $errfile
- * @param string $errline
- * @param array $errcontext
- * @return true
- */
- public function handleXmlErrors($errno, $errstr, $errfile = null, $errline = null, array $errcontext = null)
- {
- $this->_errstr = $errstr;
- return true;
- }
-
- /**
- * Casts a SimpleXMLElement to its appropriate PHP value
- *
- * @param SimpleXMLElement $value
- * @return mixed
- */
- public function toValue(SimpleXMLElement $value)
- {
- $node = dom_import_simplexml($value);
- return $node->nodeValue;
- }
-
- /**
- * Get Property Overload
- *
- * @param string $name
- * @return null|SimpleXMLElement|array Null if not found, SimpleXMLElement if only one value found, array of Zend_Rest_Client_Result objects otherwise
- */
- public function __get($name)
- {
- if (isset($this->_sxml->{$name})) {
- return $this->_sxml->{$name};
- }
-
- $result = $this->_sxml->xpath("//$name");
- $count = count($result);
-
- if ($count == 0) {
- return null;
- } elseif ($count == 1) {
- return $result[0];
- } else {
- return $result;
- }
- }
-
- /**
- * Cast properties to PHP values
- *
- * For arrays, loops through each element and casts to a value as well.
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- if (null !== ($value = $this->__get($method))) {
- if (!is_array($value)) {
- return $this->toValue($value);
- } else {
- $return = array();
- foreach ($value as $element) {
- $return[] = $this->toValue($element);
- }
- return $return;
- }
- }
-
- return null;
- }
-
-
- /**
- * Isset Overload
- *
- * @param string $name
- * @return boolean
- */
- public function __isset($name)
- {
- if (isset($this->_sxml->{$name})) {
- return true;
- }
-
- $result = $this->_sxml->xpath("//$name");
-
- if (sizeof($result) > 0) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Implement IteratorAggregate::getIterator()
- *
- * @return SimpleXMLIterator
- */
- public function getIterator()
- {
- return $this->_sxml;
- }
-
- /**
- * Get Request Status
- *
- * @return boolean
- */
- public function getStatus()
- {
- $status = $this->_sxml->xpath('//status/text()');
-
- $status = strtolower($status[0]);
-
- if (ctype_alpha($status) && $status == 'success') {
- return true;
- } elseif (ctype_alpha($status) && $status != 'success') {
- return false;
- } else {
- return (bool) $status;
- }
- }
-
- public function isError()
- {
- $status = $this->getStatus();
- if ($status) {
- return false;
- } else {
- return true;
- }
- }
-
- public function isSuccess()
- {
- $status = $this->getStatus();
- if ($status) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * toString overload
- *
- * Be sure to only call this when the result is a single value!
- *
- * @return string
- */
- public function __toString()
- {
- if (!$this->getStatus()) {
- $message = $this->_sxml->xpath('//message');
- return (string) $message[0];
- } else {
- $result = $this->_sxml->xpath('//response');
- if (sizeof($result) > 1) {
- return (string) "An error occured.";
- } else {
- return (string) $result[0];
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Rest/Client/Result/Exception.php b/airtime_mvc/library/Zend/Rest/Client/Result/Exception.php
deleted file mode 100644
index d51a6e56d..000000000
--- a/airtime_mvc/library/Zend/Rest/Client/Result/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-Controllers to receive RESTful routes
- * @var array
- */
- protected $_restfulControllers = null;
-
- /**
- * @var Zend_Controller_Front
- */
- protected $_front;
-
- /**
- * Constructor
- *
- * @param Zend_Controller_Front $front Front Controller object
- * @param array $defaults Defaults for map variables with keys as variable names
- * @param array $responders Modules or controllers to receive RESTful routes
- */
- public function __construct(Zend_Controller_Front $front,
- array $defaults = array(),
- array $responders = array()
- ) {
- $this->_defaults = $defaults;
-
- if ($responders) {
- $this->_parseResponders($responders);
- }
-
- $this->_front = $front;
- $this->_dispatcher = $front->getDispatcher();
- }
-
- /**
- * Instantiates route based on passed Zend_Config structure
- */
- public static function getInstance(Zend_Config $config)
- {
- $frontController = Zend_Controller_Front::getInstance();
- $defaultsArray = array();
- $restfulConfigArray = array();
- foreach ($config as $key => $values) {
- if ($key == 'type') {
- // do nothing
- } elseif ($key == 'defaults') {
- $defaultsArray = $values->toArray();
- } else {
- $restfulConfigArray[$key] = explode(',', $values);
- }
- }
- $instance = new self($frontController, $defaultsArray, $restfulConfigArray);
- return $instance;
- }
-
- /**
- * Matches a user submitted request. Assigns and returns an array of variables
- * on a successful match.
- *
- * If a request object is registered, it uses its setModuleName(),
- * setControllerName(), and setActionName() accessors to set those values.
- * Always returns the values as an array.
- *
- * @param Zend_Controller_Request_Http $request Request used to match against this routing ruleset
- * @return array An array of assigned values or a false on a mismatch
- */
- public function match($request, $partial = false)
- {
- if (!$request instanceof Zend_Controller_Request_Http) {
- $request = $this->_front->getRequest();
- }
- $this->_request = $request;
- $this->_setRequestKeys();
-
- $path = $request->getPathInfo();
- $params = $request->getParams();
- $values = array();
- $path = trim($path, self::URI_DELIMITER);
-
- if ($path != '') {
-
- $path = explode(self::URI_DELIMITER, $path);
- // Determine Module
- $moduleName = $this->_defaults[$this->_moduleKey];
- $dispatcher = $this->_front->getDispatcher();
- if ($dispatcher && $dispatcher->isValidModule($path[0])) {
- $moduleName = $path[0];
- if ($this->_checkRestfulModule($moduleName)) {
- $values[$this->_moduleKey] = array_shift($path);
- $this->_moduleValid = true;
- }
- }
-
- // Determine Controller
- $controllerName = $this->_defaults[$this->_controllerKey];
- if (count($path) && !empty($path[0])) {
- if ($this->_checkRestfulController($moduleName, $path[0])) {
- $controllerName = $path[0];
- $values[$this->_controllerKey] = array_shift($path);
- $values[$this->_actionKey] = 'get';
- } else {
- // If Controller in URI is not found to be a RESTful
- // Controller, return false to fall back to other routes
- return false;
- }
- } elseif ($this->_checkRestfulController($moduleName, $controllerName)) {
- $values[$this->_controllerKey] = $controllerName;
- $values[$this->_actionKey] = 'get';
- } else {
- return false;
- }
-
- //Store path count for method mapping
- $pathElementCount = count($path);
-
- // Check for "special get" URI's
- $specialGetTarget = false;
- if ($pathElementCount && array_search($path[0], array('index', 'new')) > -1) {
- $specialGetTarget = array_shift($path);
- } elseif ($pathElementCount && $path[$pathElementCount-1] == 'edit') {
- $specialGetTarget = 'edit';
- $params['id'] = $path[$pathElementCount-2];
- } elseif ($pathElementCount == 1) {
- $params['id'] = urldecode(array_shift($path));
- } elseif ($pathElementCount == 0 && !isset($params['id'])) {
- $specialGetTarget = 'index';
- }
-
- // Digest URI params
- if ($numSegs = count($path)) {
- for ($i = 0; $i < $numSegs; $i = $i + 2) {
- $key = urldecode($path[$i]);
- $val = isset($path[$i + 1]) ? urldecode($path[$i + 1]) : null;
- $params[$key] = $val;
- }
- }
-
- // Determine Action
- $requestMethod = strtolower($request->getMethod());
- if ($requestMethod != 'get') {
- if ($request->getParam('_method')) {
- $values[$this->_actionKey] = strtolower($request->getParam('_method'));
- } elseif ( $request->getHeader('X-HTTP-Method-Override') ) {
- $values[$this->_actionKey] = strtolower($request->getHeader('X-HTTP-Method-Override'));
- } else {
- $values[$this->_actionKey] = $requestMethod;
- }
-
- // Map PUT and POST to actual create/update actions
- // based on parameter count (posting to resource or collection)
- switch( $values[$this->_actionKey] ){
- case 'post':
- if ($pathElementCount > 0) {
- $values[$this->_actionKey] = 'put';
- } else {
- $values[$this->_actionKey] = 'post';
- }
- break;
- case 'put':
- $values[$this->_actionKey] = 'put';
- break;
- }
-
- } elseif ($specialGetTarget) {
- $values[$this->_actionKey] = $specialGetTarget;
- }
-
- }
- $this->_values = $values + $params;
-
- $result = $this->_values + $this->_defaults;
-
- if ($partial && $result)
- $this->setMatchedPath($request->getPathInfo());
-
- return $result;
- }
-
- /**
- * Assembles user submitted parameters forming a URL path defined by this route
- *
- * @param array $data An array of variable and value pairs used as parameters
- * @param bool $reset Weither to reset the current params
- * @param bool $encode Weither to return urlencoded string
- * @return string Route path with user submitted parameters
- */
- public function assemble($data = array(), $reset = false, $encode = true)
- {
- if (!$this->_keysSet) {
- if (null === $this->_request) {
- $this->_request = $this->_front->getRequest();
- }
- $this->_setRequestKeys();
- }
-
- $params = (!$reset) ? $this->_values : array();
-
- foreach ($data as $key => $value) {
- if ($value !== null) {
- $params[$key] = $value;
- } elseif (isset($params[$key])) {
- unset($params[$key]);
- }
- }
-
- $params += $this->_defaults;
-
- $url = '';
-
- if ($this->_moduleValid || array_key_exists($this->_moduleKey, $data)) {
- if ($params[$this->_moduleKey] != $this->_defaults[$this->_moduleKey]) {
- $module = $params[$this->_moduleKey];
- }
- }
- unset($params[$this->_moduleKey]);
-
- $controller = $params[$this->_controllerKey];
- unset($params[$this->_controllerKey]);
-
- unset($params[$this->_actionKey]);
-
- if (isset($params['index']) && $params['index']) {
- unset($params['index']);
- $url .= '/index';
- foreach ($params as $key => $value) {
- if ($encode) $value = urlencode($value);
- $url .= '/' . $key . '/' . $value;
- }
- } elseif (isset($params['id'])) {
- $url .= '/' . $params['id'];
- }
-
- if (!empty($url) || $controller !== $this->_defaults[$this->_controllerKey]) {
- $url = '/' . $controller . $url;
- }
-
- if (isset($module)) {
- $url = '/' . $module . $url;
- }
-
- return ltrim($url, self::URI_DELIMITER);
- }
-
- /**
- * Tells Rewrite Router which version this Route is
- *
- * @return int Route "version"
- */
- public function getVersion()
- {
- return 2;
- }
-
- /**
- * Parses the responders array sent to constructor to know
- * which modules and/or controllers are RESTful
- *
- * @param array $responders
- */
- protected function _parseResponders($responders)
- {
- $modulesOnly = true;
- foreach ($responders as $responder) {
- if(is_array($responder)) {
- $modulesOnly = false;
- break;
- }
- }
- if ($modulesOnly) {
- $this->_restfulModules = $responders;
- } else {
- $this->_restfulControllers = $responders;
- }
- }
-
- /**
- * Determine if a specified module supports RESTful routing
- *
- * @param string $moduleName
- * @return bool
- */
- protected function _checkRestfulModule($moduleName)
- {
- if ($this->_allRestful()) {
- return true;
- }
- if ($this->_fullRestfulModule($moduleName)) {
- return true;
- }
- if ($this->_restfulControllers && array_key_exists($moduleName, $this->_restfulControllers)) {
- return true;
- }
- return false;
- }
-
- /**
- * Determine if a specified module + controller combination supports
- * RESTful routing
- *
- * @param string $moduleName
- * @param string $controllerName
- * @return bool
- */
- protected function _checkRestfulController($moduleName, $controllerName)
- {
- if ($this->_allRestful()) {
- return true;
- }
- if ($this->_fullRestfulModule($moduleName)) {
- return true;
- }
- if ($this->_checkRestfulModule($moduleName)
- && $this->_restfulControllers
- && (false !== array_search($controllerName, $this->_restfulControllers[$moduleName]))
- ) {
- return true;
- }
- return false;
- }
-
- /**
- * Determines if RESTful routing applies to the entire app
- *
- * @return bool
- */
- protected function _allRestful()
- {
- return (!$this->_restfulModules && !$this->_restfulControllers);
- }
-
- /**
- * Determines if RESTful routing applies to an entire module
- *
- * @param string $moduleName
- * @return bool
- */
- protected function _fullRestfulModule($moduleName)
- {
- return (
- $this->_restfulModules
- && (false !==array_search($moduleName, $this->_restfulModules))
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Rest/Server.php b/airtime_mvc/library/Zend/Rest/Server.php
deleted file mode 100644
index 5862c0cd8..000000000
--- a/airtime_mvc/library/Zend/Rest/Server.php
+++ /dev/null
@@ -1,616 +0,0 @@
-_reflection = new Zend_Server_Reflection();
- }
-
- /**
- * Set XML encoding
- *
- * @param string $encoding
- * @return Zend_Rest_Server
- */
- public function setEncoding($encoding)
- {
- $this->_encoding = (string) $encoding;
- return $this;
- }
-
- /**
- * Get XML encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Lowercase a string
- *
- * Lowercase's a string by reference
- *
- * @param string $value
- * @param string $key
- * @return string Lower cased string
- */
- public static function lowerCase(&$value, &$key)
- {
- return $value = strtolower($value);
- }
-
- /**
- * Whether or not to return a response
- *
- * If called without arguments, returns the value of the flag. If called
- * with an argument, sets the flag.
- *
- * When 'return response' is true, {@link handle()} will not send output,
- * but will instead return the response from the dispatched function/method.
- *
- * @param boolean $flag
- * @return boolean|Zend_Rest_Server Returns Zend_Rest_Server when used to set the flag; returns boolean flag value otherwise.
- */
- public function returnResponse($flag = null)
- {
- if (null === $flag) {
- return $this->_returnResponse;
- }
-
- $this->_returnResponse = ($flag) ? true : false;
- return $this;
- }
-
- /**
- * Implement Zend_Server_Interface::handle()
- *
- * @param array $request
- * @throws Zend_Rest_Server_Exception
- * @return string|void
- */
- public function handle($request = false)
- {
- $this->_headers = array('Content-Type: text/xml');
- if (!$request) {
- $request = $_REQUEST;
- }
- if (isset($request['method'])) {
- $this->_method = $request['method'];
- if (isset($this->_functions[$this->_method])) {
- if ($this->_functions[$this->_method] instanceof Zend_Server_Reflection_Function || $this->_functions[$this->_method] instanceof Zend_Server_Reflection_Method && $this->_functions[$this->_method]->isPublic()) {
- $request_keys = array_keys($request);
- array_walk($request_keys, array(__CLASS__, "lowerCase"));
- $request = array_combine($request_keys, $request);
-
- $func_args = $this->_functions[$this->_method]->getParameters();
-
- $calling_args = array();
- $missing_args = array();
- foreach ($func_args as $arg) {
- if (isset($request[strtolower($arg->getName())])) {
- $calling_args[] = $request[strtolower($arg->getName())];
- } elseif ($arg->isOptional()) {
- $calling_args[] = $arg->getDefaultValue();
- } else {
- $missing_args[] = $arg->getName();
- }
- }
-
- foreach ($request as $key => $value) {
- if (substr($key, 0, 3) == 'arg') {
- $key = str_replace('arg', '', $key);
- $calling_args[$key] = $value;
- if (($index = array_search($key, $missing_args)) !== false) {
- unset($missing_args[$index]);
- }
- }
- }
-
- // Sort arguments by key -- @see ZF-2279
- ksort($calling_args);
-
- $result = false;
- if (count($calling_args) < count($func_args)) {
- require_once 'Zend/Rest/Server/Exception.php';
- $result = $this->fault(new Zend_Rest_Server_Exception('Invalid Method Call to ' . $this->_method . '. Missing argument(s): ' . implode(', ', $missing_args) . '.'), 400);
- }
-
- if (!$result && $this->_functions[$this->_method] instanceof Zend_Server_Reflection_Method) {
- // Get class
- $class = $this->_functions[$this->_method]->getDeclaringClass()->getName();
-
- if ($this->_functions[$this->_method]->isStatic()) {
- // for some reason, invokeArgs() does not work the same as
- // invoke(), and expects the first argument to be an object.
- // So, using a callback if the method is static.
- $result = $this->_callStaticMethod($class, $calling_args);
- } else {
- // Object method
- $result = $this->_callObjectMethod($class, $calling_args);
- }
- } elseif (!$result) {
- try {
- $result = call_user_func_array($this->_functions[$this->_method]->getName(), $calling_args); //$this->_functions[$this->_method]->invokeArgs($calling_args);
- } catch (Exception $e) {
- $result = $this->fault($e);
- }
- }
- } else {
- require_once "Zend/Rest/Server/Exception.php";
- $result = $this->fault(
- new Zend_Rest_Server_Exception("Unknown Method '$this->_method'."),
- 404
- );
- }
- } else {
- require_once "Zend/Rest/Server/Exception.php";
- $result = $this->fault(
- new Zend_Rest_Server_Exception("Unknown Method '$this->_method'."),
- 404
- );
- }
- } else {
- require_once "Zend/Rest/Server/Exception.php";
- $result = $this->fault(
- new Zend_Rest_Server_Exception("No Method Specified."),
- 404
- );
- }
-
- if ($result instanceof SimpleXMLElement) {
- $response = $result->asXML();
- } elseif ($result instanceof DOMDocument) {
- $response = $result->saveXML();
- } elseif ($result instanceof DOMNode) {
- $response = $result->ownerDocument->saveXML($result);
- } elseif (is_array($result) || is_object($result)) {
- $response = $this->_handleStruct($result);
- } else {
- $response = $this->_handleScalar($result);
- }
-
- if (!$this->returnResponse()) {
- if (!headers_sent()) {
- foreach ($this->_headers as $header) {
- header($header);
- }
- }
-
- echo $response;
- return;
- }
-
- return $response;
- }
-
- /**
- * Implement Zend_Server_Interface::setClass()
- *
- * @param string $classname Class name
- * @param string $namespace Class namespace (unused)
- * @param array $argv An array of Constructor Arguments
- */
- public function setClass($classname, $namespace = '', $argv = array())
- {
- $this->_args = $argv;
- foreach ($this->_reflection->reflectClass($classname, $argv)->getMethods() as $method) {
- $this->_functions[$method->getName()] = $method;
- }
- }
-
- /**
- * Handle an array or object result
- *
- * @param array|object $struct Result Value
- * @return string XML Response
- */
- protected function _handleStruct($struct)
- {
- $function = $this->_functions[$this->_method];
- if ($function instanceof Zend_Server_Reflection_Method) {
- $class = $function->getDeclaringClass()->getName();
- } else {
- $class = false;
- }
-
- $method = $function->getName();
-
- $dom = new DOMDocument('1.0', $this->getEncoding());
- if ($class) {
- $root = $dom->createElement($class);
- $method = $dom->createElement($method);
- $root->appendChild($method);
- } else {
- $root = $dom->createElement($method);
- $method = $root;
- }
- $root->setAttribute('generator', 'zend');
- $root->setAttribute('version', '1.0');
- $dom->appendChild($root);
-
- $this->_structValue($struct, $dom, $method);
-
- $struct = (array) $struct;
- if (!isset($struct['status'])) {
- $status = $dom->createElement('status', 'success');
- $method->appendChild($status);
- }
-
- return $dom->saveXML();
- }
-
- /**
- * Recursively iterate through a struct
- *
- * Recursively iterates through an associative array or object's properties
- * to build XML response.
- *
- * @param mixed $struct
- * @param DOMDocument $dom
- * @param DOMElement $parent
- * @return void
- */
- protected function _structValue($struct, DOMDocument $dom, DOMElement $parent)
- {
- $struct = (array) $struct;
-
- foreach ($struct as $key => $value) {
- if ($value === false) {
- $value = 0;
- } elseif ($value === true) {
- $value = 1;
- }
-
- if (ctype_digit((string) $key)) {
- $key = 'key_' . $key;
- }
-
- if (is_array($value) || is_object($value)) {
- $element = $dom->createElement($key);
- $this->_structValue($value, $dom, $element);
- } else {
- $element = $dom->createElement($key);
- $element->appendChild($dom->createTextNode($value));
- }
-
- $parent->appendChild($element);
- }
- }
-
- /**
- * Handle a single value
- *
- * @param string|int|boolean $value Result value
- * @return string XML Response
- */
- protected function _handleScalar($value)
- {
- $function = $this->_functions[$this->_method];
- if ($function instanceof Zend_Server_Reflection_Method) {
- $class = $function->getDeclaringClass()->getName();
- } else {
- $class = false;
- }
-
- $method = $function->getName();
-
- $dom = new DOMDocument('1.0', $this->getEncoding());
- if ($class) {
- $xml = $dom->createElement($class);
- $methodNode = $dom->createElement($method);
- $xml->appendChild($methodNode);
- } else {
- $xml = $dom->createElement($method);
- $methodNode = $xml;
- }
- $xml->setAttribute('generator', 'zend');
- $xml->setAttribute('version', '1.0');
- $dom->appendChild($xml);
-
- if ($value === false) {
- $value = 0;
- } elseif ($value === true) {
- $value = 1;
- }
-
- if (isset($value)) {
- $element = $dom->createElement('response');
- $element->appendChild($dom->createTextNode($value));
- $methodNode->appendChild($element);
- } else {
- $methodNode->appendChild($dom->createElement('response'));
- }
-
- $methodNode->appendChild($dom->createElement('status', 'success'));
-
- return $dom->saveXML();
- }
-
- /**
- * Implement Zend_Server_Interface::fault()
- *
- * Creates XML error response, returning DOMDocument with response.
- *
- * @param string|Exception $fault Message
- * @param int $code Error Code
- * @return DOMDocument
- */
- public function fault($exception = null, $code = null)
- {
- if (isset($this->_functions[$this->_method])) {
- $function = $this->_functions[$this->_method];
- } elseif (isset($this->_method)) {
- $function = $this->_method;
- } else {
- $function = 'rest';
- }
-
- if ($function instanceof Zend_Server_Reflection_Method) {
- $class = $function->getDeclaringClass()->getName();
- } else {
- $class = false;
- }
-
- if ($function instanceof Zend_Server_Reflection_Function_Abstract) {
- $method = $function->getName();
- } else {
- $method = $function;
- }
-
- $dom = new DOMDocument('1.0', $this->getEncoding());
- if ($class) {
- $xml = $dom->createElement($class);
- $xmlMethod = $dom->createElement($method);
- $xml->appendChild($xmlMethod);
- } else {
- $xml = $dom->createElement($method);
- $xmlMethod = $xml;
- }
- $xml->setAttribute('generator', 'zend');
- $xml->setAttribute('version', '1.0');
- $dom->appendChild($xml);
-
- $xmlResponse = $dom->createElement('response');
- $xmlMethod->appendChild($xmlResponse);
-
- if ($exception instanceof Exception) {
- $element = $dom->createElement('message');
- $element->appendChild($dom->createTextNode($exception->getMessage()));
- $xmlResponse->appendChild($element);
- $code = $exception->getCode();
- } elseif (($exception !== null) || 'rest' == $function) {
- $xmlResponse->appendChild($dom->createElement('message', 'An unknown error occured. Please try again.'));
- } else {
- $xmlResponse->appendChild($dom->createElement('message', 'Call to ' . $method . ' failed.'));
- }
-
- $xmlMethod->appendChild($xmlResponse);
- $xmlMethod->appendChild($dom->createElement('status', 'failed'));
-
- // Headers to send
- if ($code === null || (404 != $code)) {
- $this->_headers[] = 'HTTP/1.0 400 Bad Request';
- } else {
- $this->_headers[] = 'HTTP/1.0 404 File Not Found';
- }
-
- return $dom;
- }
-
- /**
- * Retrieve any HTTP extra headers set by the server
- *
- * @return array
- */
- public function getHeaders()
- {
- return $this->_headers;
- }
-
- /**
- * Implement Zend_Server_Interface::addFunction()
- *
- * @param string $function Function Name
- * @param string $namespace Function namespace (unused)
- */
- public function addFunction($function, $namespace = '')
- {
- if (!is_array($function)) {
- $function = (array) $function;
- }
-
- foreach ($function as $func) {
- if (is_callable($func) && !in_array($func, self::$magicMethods)) {
- $this->_functions[$func] = $this->_reflection->reflectFunction($func);
- } else {
- require_once 'Zend/Rest/Server/Exception.php';
- throw new Zend_Rest_Server_Exception("Invalid Method Added to Service.");
- }
- }
- }
-
- /**
- * Implement Zend_Server_Interface::getFunctions()
- *
- * @return array An array of Zend_Server_Reflection_Method's
- */
- public function getFunctions()
- {
- return $this->_functions;
- }
-
- /**
- * Implement Zend_Server_Interface::loadFunctions()
- *
- * @todo Implement
- * @param array $functions
- */
- public function loadFunctions($functions)
- {
- }
-
- /**
- * Implement Zend_Server_Interface::setPersistence()
- *
- * @todo Implement
- * @param int $mode
- */
- public function setPersistence($mode)
- {
- }
-
- /**
- * Call a static class method and return the result
- *
- * @param string $class
- * @param array $args
- * @return mixed
- */
- protected function _callStaticMethod($class, array $args)
- {
- try {
- $result = call_user_func_array(array($class, $this->_functions[$this->_method]->getName()), $args);
- } catch (Exception $e) {
- $result = $this->fault($e);
- }
- return $result;
- }
-
- /**
- * Call an instance method of an object
- *
- * @param string $class
- * @param array $args
- * @return mixed
- * @throws Zend_Rest_Server_Exception For invalid class name
- */
- protected function _callObjectMethod($class, array $args)
- {
- try {
- if ($this->_functions[$this->_method]->getDeclaringClass()->getConstructor()) {
- $object = $this->_functions[$this->_method]->getDeclaringClass()->newInstanceArgs($this->_args);
- } else {
- $object = $this->_functions[$this->_method]->getDeclaringClass()->newInstance();
- }
- } catch (Exception $e) {
- require_once 'Zend/Rest/Server/Exception.php';
- throw new Zend_Rest_Server_Exception('Error instantiating class ' . $class .
- ' to invoke method ' . $this->_functions[$this->_method]->getName() .
- ' (' . $e->getMessage() . ') ',
- 500, $e);
- }
-
- try {
- $result = $this->_functions[$this->_method]->invokeArgs($object, $args);
- } catch (Exception $e) {
- $result = $this->fault($e);
- }
-
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/Rest/Server/Exception.php b/airtime_mvc/library/Zend/Rest/Server/Exception.php
deleted file mode 100644
index c5cc5f888..000000000
--- a/airtime_mvc/library/Zend/Rest/Server/Exception.php
+++ /dev/null
@@ -1,41 +0,0 @@
-getFileObject('segments.gen', false);
-
- $format = $genFile->readInt();
- if ($format != (int)0xFFFFFFFE) {
- throw new Zend_Search_Lucene_Exception('Wrong segments.gen file format');
- }
-
- $gen1 = $genFile->readLong();
- $gen2 = $genFile->readLong();
-
- if ($gen1 == $gen2) {
- return $gen1;
- }
-
- usleep(self::GENERATION_RETRIEVE_PAUSE * 1000);
- }
-
- // All passes are failed
- throw new Zend_Search_Lucene_Exception('Index is under processing now');
- } catch (Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'is not readable') !== false) {
- try {
- // Try to open old style segments file
- $segmentsFile = $directory->getFileObject('segments', false);
-
- // It's pre-2.1 index
- return 0;
- } catch (Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'is not readable') !== false) {
- return -1;
- } else {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
- } else {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
-
- return -1;
- }
-
- /**
- * Get generation number associated with this index instance
- *
- * The same generation number in pair with document number or query string
- * guarantees to give the same result while index retrieving.
- * So it may be used for search result caching.
- *
- * @return integer
- */
- public function getGeneration()
- {
- return $this->_generation;
- }
-
-
- /**
- * Get segments file name
- *
- * @param integer $generation
- * @return string
- */
- public static function getSegmentFileName($generation)
- {
- if ($generation == 0) {
- return 'segments';
- }
-
- return 'segments_' . base_convert($generation, 10, 36);
- }
-
- /**
- * Get index format version
- *
- * @return integer
- */
- public function getFormatVersion()
- {
- return $this->_formatVersion;
- }
-
- /**
- * Set index format version.
- * Index is converted to this format at the nearest upfdate time
- *
- * @param int $formatVersion
- * @throws Zend_Search_Lucene_Exception
- */
- public function setFormatVersion($formatVersion)
- {
- if ($formatVersion != self::FORMAT_PRE_2_1 &&
- $formatVersion != self::FORMAT_2_1 &&
- $formatVersion != self::FORMAT_2_3) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Unsupported index format');
- }
-
- $this->_formatVersion = $formatVersion;
- }
-
- /**
- * Read segments file for pre-2.1 Lucene index format
- *
- * @throws Zend_Search_Lucene_Exception
- */
- private function _readPre21SegmentsFile()
- {
- $segmentsFile = $this->_directory->getFileObject('segments');
-
- $format = $segmentsFile->readInt();
-
- if ($format != (int)0xFFFFFFFF) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong segments file format');
- }
-
- // read version
- $segmentsFile->readLong();
-
- // read segment name counter
- $segmentsFile->readInt();
-
- $segments = $segmentsFile->readInt();
-
- $this->_docCount = 0;
-
- // read segmentInfos
- for ($count = 0; $count < $segments; $count++) {
- $segName = $segmentsFile->readString();
- $segSize = $segmentsFile->readInt();
- $this->_docCount += $segSize;
-
- $this->_segmentInfos[$segName] =
- new Zend_Search_Lucene_Index_SegmentInfo($this->_directory,
- $segName,
- $segSize);
- }
-
- // Use 2.1 as a target version. Index will be reorganized at update time.
- $this->_formatVersion = self::FORMAT_2_1;
- }
-
- /**
- * Read segments file
- *
- * @throws Zend_Search_Lucene_Exception
- */
- private function _readSegmentsFile()
- {
- $segmentsFile = $this->_directory->getFileObject(self::getSegmentFileName($this->_generation));
-
- $format = $segmentsFile->readInt();
-
- if ($format == (int)0xFFFFFFFC) {
- $this->_formatVersion = self::FORMAT_2_3;
- } else if ($format == (int)0xFFFFFFFD) {
- $this->_formatVersion = self::FORMAT_2_1;
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Unsupported segments file format');
- }
-
- // read version
- $segmentsFile->readLong();
-
- // read segment name counter
- $segmentsFile->readInt();
-
- $segments = $segmentsFile->readInt();
-
- $this->_docCount = 0;
-
- // read segmentInfos
- for ($count = 0; $count < $segments; $count++) {
- $segName = $segmentsFile->readString();
- $segSize = $segmentsFile->readInt();
-
- // 2.1+ specific properties
- $delGen = $segmentsFile->readLong();
-
- if ($this->_formatVersion == self::FORMAT_2_3) {
- $docStoreOffset = $segmentsFile->readInt();
-
- if ($docStoreOffset != (int)0xFFFFFFFF) {
- $docStoreSegment = $segmentsFile->readString();
- $docStoreIsCompoundFile = $segmentsFile->readByte();
-
- $docStoreOptions = array('offset' => $docStoreOffset,
- 'segment' => $docStoreSegment,
- 'isCompound' => ($docStoreIsCompoundFile == 1));
- } else {
- $docStoreOptions = null;
- }
- } else {
- $docStoreOptions = null;
- }
-
- $hasSingleNormFile = $segmentsFile->readByte();
- $numField = $segmentsFile->readInt();
-
- $normGens = array();
- if ($numField != (int)0xFFFFFFFF) {
- for ($count1 = 0; $count1 < $numField; $count1++) {
- $normGens[] = $segmentsFile->readLong();
- }
-
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Separate norm files are not supported. Optimize index to use it with Zend_Search_Lucene.');
- }
-
- $isCompoundByte = $segmentsFile->readByte();
-
- if ($isCompoundByte == 0xFF) {
- // The segment is not a compound file
- $isCompound = false;
- } else if ($isCompoundByte == 0x00) {
- // The status is unknown
- $isCompound = null;
- } else if ($isCompoundByte == 0x01) {
- // The segment is a compound file
- $isCompound = true;
- }
-
- $this->_docCount += $segSize;
-
- $this->_segmentInfos[$segName] =
- new Zend_Search_Lucene_Index_SegmentInfo($this->_directory,
- $segName,
- $segSize,
- $delGen,
- $docStoreOptions,
- $hasSingleNormFile,
- $isCompound);
- }
- }
-
- /**
- * Opens the index.
- *
- * IndexReader constructor needs Directory as a parameter. It should be
- * a string with a path to the index folder or a Directory object.
- *
- * @param Zend_Search_Lucene_Storage_Directory_Filesystem|string $directory
- * @throws Zend_Search_Lucene_Exception
- */
- public function __construct($directory = null, $create = false)
- {
- if ($directory === null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Exception('No index directory specified');
- }
-
- if (is_string($directory)) {
- require_once 'Zend/Search/Lucene/Storage/Directory/Filesystem.php';
- $this->_directory = new Zend_Search_Lucene_Storage_Directory_Filesystem($directory);
- $this->_closeDirOnExit = true;
- } else {
- $this->_directory = $directory;
- $this->_closeDirOnExit = false;
- }
-
- $this->_segmentInfos = array();
-
- // Mark index as "under processing" to prevent other processes from premature index cleaning
- Zend_Search_Lucene_LockManager::obtainReadLock($this->_directory);
-
- $this->_generation = self::getActualGeneration($this->_directory);
-
- if ($create) {
- require_once 'Zend/Search/Lucene/Exception.php';
- try {
- Zend_Search_Lucene_LockManager::obtainWriteLock($this->_directory);
- } catch (Zend_Search_Lucene_Exception $e) {
- Zend_Search_Lucene_LockManager::releaseReadLock($this->_directory);
-
- if (strpos($e->getMessage(), 'Can\'t obtain exclusive index lock') === false) {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- } else {
- throw new Zend_Search_Lucene_Exception('Can\'t create index. It\'s under processing now', 0, $e);
- }
- }
-
- if ($this->_generation == -1) {
- // Directory doesn't contain existing index, start from 1
- $this->_generation = 1;
- $nameCounter = 0;
- } else {
- // Directory contains existing index
- $segmentsFile = $this->_directory->getFileObject(self::getSegmentFileName($this->_generation));
- $segmentsFile->seek(12); // 12 = 4 (int, file format marker) + 8 (long, index version)
-
- $nameCounter = $segmentsFile->readInt();
- $this->_generation++;
- }
-
- require_once 'Zend/Search/Lucene/Index/Writer.php';
- Zend_Search_Lucene_Index_Writer::createIndex($this->_directory, $this->_generation, $nameCounter);
-
- Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
- }
-
- if ($this->_generation == -1) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Index doesn\'t exists in the specified directory.');
- } else if ($this->_generation == 0) {
- $this->_readPre21SegmentsFile();
- } else {
- $this->_readSegmentsFile();
- }
- }
-
- /**
- * Close current index and free resources
- */
- private function _close()
- {
- if ($this->_closed) {
- // index is already closed and resources are cleaned up
- return;
- }
-
- $this->commit();
-
- // Release "under processing" flag
- Zend_Search_Lucene_LockManager::releaseReadLock($this->_directory);
-
- if ($this->_closeDirOnExit) {
- $this->_directory->close();
- }
-
- $this->_directory = null;
- $this->_writer = null;
- $this->_segmentInfos = null;
-
- $this->_closed = true;
- }
-
- /**
- * Add reference to the index object
- *
- * @internal
- */
- public function addReference()
- {
- $this->_refCount++;
- }
-
- /**
- * Remove reference from the index object
- *
- * When reference count becomes zero, index is closed and resources are cleaned up
- *
- * @internal
- */
- public function removeReference()
- {
- $this->_refCount--;
-
- if ($this->_refCount == 0) {
- $this->_close();
- }
- }
-
- /**
- * Object destructor
- */
- public function __destruct()
- {
- $this->_close();
- }
-
- /**
- * Returns an instance of Zend_Search_Lucene_Index_Writer for the index
- *
- * @return Zend_Search_Lucene_Index_Writer
- */
- private function _getIndexWriter()
- {
- if ($this->_writer === null) {
- require_once 'Zend/Search/Lucene/Index/Writer.php';
- $this->_writer = new Zend_Search_Lucene_Index_Writer($this->_directory,
- $this->_segmentInfos,
- $this->_formatVersion);
- }
-
- return $this->_writer;
- }
-
-
- /**
- * Returns the Zend_Search_Lucene_Storage_Directory instance for this index.
- *
- * @return Zend_Search_Lucene_Storage_Directory
- */
- public function getDirectory()
- {
- return $this->_directory;
- }
-
-
- /**
- * Returns the total number of documents in this index (including deleted documents).
- *
- * @return integer
- */
- public function count()
- {
- return $this->_docCount;
- }
-
- /**
- * Returns one greater than the largest possible document number.
- * This may be used to, e.g., determine how big to allocate a structure which will have
- * an element for every document number in an index.
- *
- * @return integer
- */
- public function maxDoc()
- {
- return $this->count();
- }
-
- /**
- * Returns the total number of non-deleted documents in this index.
- *
- * @return integer
- */
- public function numDocs()
- {
- $numDocs = 0;
-
- foreach ($this->_segmentInfos as $segmentInfo) {
- $numDocs += $segmentInfo->numDocs();
- }
-
- return $numDocs;
- }
-
- /**
- * Checks, that document is deleted
- *
- * @param integer $id
- * @return boolean
- * @throws Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
- */
- public function isDeleted($id)
- {
- if ($id >= $this->_docCount) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document id is out of the range.');
- }
-
- $segmentStartId = 0;
- foreach ($this->_segmentInfos as $segmentInfo) {
- if ($segmentStartId + $segmentInfo->count() > $id) {
- break;
- }
-
- $segmentStartId += $segmentInfo->count();
- }
-
- return $segmentInfo->isDeleted($id - $segmentStartId);
- }
-
- /**
- * Set default search field.
- *
- * Null means, that search is performed through all fields by default
- *
- * Default value is null
- *
- * @param string $fieldName
- */
- public static function setDefaultSearchField($fieldName)
- {
- self::$_defaultSearchField = $fieldName;
- }
-
- /**
- * Get default search field.
- *
- * Null means, that search is performed through all fields by default
- *
- * @return string
- */
- public static function getDefaultSearchField()
- {
- return self::$_defaultSearchField;
- }
-
- /**
- * Set result set limit.
- *
- * 0 (default) means no limit
- *
- * @param integer $limit
- */
- public static function setResultSetLimit($limit)
- {
- self::$_resultSetLimit = $limit;
- }
-
- /**
- * Get result set limit.
- *
- * 0 means no limit
- *
- * @return integer
- */
- public static function getResultSetLimit()
- {
- return self::$_resultSetLimit;
- }
-
- /**
- * Set terms per query limit.
- *
- * 0 means no limit
- *
- * @param integer $limit
- */
- public static function setTermsPerQueryLimit($limit)
- {
- self::$_termsPerQueryLimit = $limit;
- }
-
- /**
- * Get result set limit.
- *
- * 0 (default) means no limit
- *
- * @return integer
- */
- public static function getTermsPerQueryLimit()
- {
- return self::$_termsPerQueryLimit;
- }
-
- /**
- * Retrieve index maxBufferedDocs option
- *
- * maxBufferedDocs is a minimal number of documents required before
- * the buffered in-memory documents are written into a new Segment
- *
- * Default value is 10
- *
- * @return integer
- */
- public function getMaxBufferedDocs()
- {
- return $this->_getIndexWriter()->maxBufferedDocs;
- }
-
- /**
- * Set index maxBufferedDocs option
- *
- * maxBufferedDocs is a minimal number of documents required before
- * the buffered in-memory documents are written into a new Segment
- *
- * Default value is 10
- *
- * @param integer $maxBufferedDocs
- */
- public function setMaxBufferedDocs($maxBufferedDocs)
- {
- $this->_getIndexWriter()->maxBufferedDocs = $maxBufferedDocs;
- }
-
- /**
- * Retrieve index maxMergeDocs option
- *
- * maxMergeDocs is a largest number of documents ever merged by addDocument().
- * Small values (e.g., less than 10,000) are best for interactive indexing,
- * as this limits the length of pauses while indexing to a few seconds.
- * Larger values are best for batched indexing and speedier searches.
- *
- * Default value is PHP_INT_MAX
- *
- * @return integer
- */
- public function getMaxMergeDocs()
- {
- return $this->_getIndexWriter()->maxMergeDocs;
- }
-
- /**
- * Set index maxMergeDocs option
- *
- * maxMergeDocs is a largest number of documents ever merged by addDocument().
- * Small values (e.g., less than 10,000) are best for interactive indexing,
- * as this limits the length of pauses while indexing to a few seconds.
- * Larger values are best for batched indexing and speedier searches.
- *
- * Default value is PHP_INT_MAX
- *
- * @param integer $maxMergeDocs
- */
- public function setMaxMergeDocs($maxMergeDocs)
- {
- $this->_getIndexWriter()->maxMergeDocs = $maxMergeDocs;
- }
-
- /**
- * Retrieve index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @return integer
- */
- public function getMergeFactor()
- {
- return $this->_getIndexWriter()->mergeFactor;
- }
-
- /**
- * Set index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @param integer $maxMergeDocs
- */
- public function setMergeFactor($mergeFactor)
- {
- $this->_getIndexWriter()->mergeFactor = $mergeFactor;
- }
-
- /**
- * Performs a query against the index and returns an array
- * of Zend_Search_Lucene_Search_QueryHit objects.
- * Input is a string or Zend_Search_Lucene_Search_Query.
- *
- * @param Zend_Search_Lucene_Search_QueryParser|string $query
- * @return array Zend_Search_Lucene_Search_QueryHit
- * @throws Zend_Search_Lucene_Exception
- */
- public function find($query)
- {
- if (is_string($query)) {
- require_once 'Zend/Search/Lucene/Search/QueryParser.php';
-
- $query = Zend_Search_Lucene_Search_QueryParser::parse($query);
- }
-
- if (!$query instanceof Zend_Search_Lucene_Search_Query) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Query must be a string or Zend_Search_Lucene_Search_Query object');
- }
-
- $this->commit();
-
- $hits = array();
- $scores = array();
- $ids = array();
-
- $query = $query->rewrite($this)->optimize($this);
-
- $query->execute($this);
-
- $topScore = 0;
-
- /** Zend_Search_Lucene_Search_QueryHit */
- require_once 'Zend/Search/Lucene/Search/QueryHit.php';
-
- foreach ($query->matchedDocs() as $id => $num) {
- $docScore = $query->score($id, $this);
- if( $docScore != 0 ) {
- $hit = new Zend_Search_Lucene_Search_QueryHit($this);
- $hit->id = $id;
- $hit->score = $docScore;
-
- $hits[] = $hit;
- $ids[] = $id;
- $scores[] = $docScore;
-
- if ($docScore > $topScore) {
- $topScore = $docScore;
- }
- }
-
- if (self::$_resultSetLimit != 0 && count($hits) >= self::$_resultSetLimit) {
- break;
- }
- }
-
- if (count($hits) == 0) {
- // skip sorting, which may cause a error on empty index
- return array();
- }
-
- if ($topScore > 1) {
- foreach ($hits as $hit) {
- $hit->score /= $topScore;
- }
- }
-
- if (func_num_args() == 1) {
- // sort by scores
- array_multisort($scores, SORT_DESC, SORT_NUMERIC,
- $ids, SORT_ASC, SORT_NUMERIC,
- $hits);
- } else {
- // sort by given field names
-
- $argList = func_get_args();
- $fieldNames = $this->getFieldNames();
- $sortArgs = array();
-
- // PHP 5.3 now expects all arguments to array_multisort be passed by
- // reference (if it's invoked through call_user_func_array());
- // since constants can't be passed by reference, create some placeholder variables.
- $sortReg = SORT_REGULAR;
- $sortAsc = SORT_ASC;
- $sortNum = SORT_NUMERIC;
-
- $sortFieldValues = array();
-
- require_once 'Zend/Search/Lucene/Exception.php';
- for ($count = 1; $count < count($argList); $count++) {
- $fieldName = $argList[$count];
-
- if (!is_string($fieldName)) {
- throw new Zend_Search_Lucene_Exception('Field name must be a string.');
- }
-
- if (strtolower($fieldName) == 'score') {
- $sortArgs[] = &$scores;
- } else {
- if (!in_array($fieldName, $fieldNames)) {
- throw new Zend_Search_Lucene_Exception('Wrong field name.');
- }
-
- if (!isset($sortFieldValues[$fieldName])) {
- $valuesArray = array();
- foreach ($hits as $hit) {
- try {
- $value = $hit->getDocument()->getFieldValue($fieldName);
- } catch (Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'not found') === false) {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- } else {
- $value = null;
- }
- }
-
- $valuesArray[] = $value;
- }
-
- // Collect loaded values in $sortFieldValues
- // Required for PHP 5.3 which translates references into values when source
- // variable is destroyed
- $sortFieldValues[$fieldName] = $valuesArray;
- }
-
- $sortArgs[] = &$sortFieldValues[$fieldName];
- }
-
- if ($count + 1 < count($argList) && is_integer($argList[$count+1])) {
- $count++;
- $sortArgs[] = &$argList[$count];
-
- if ($count + 1 < count($argList) && is_integer($argList[$count+1])) {
- $count++;
- $sortArgs[] = &$argList[$count];
- } else {
- if ($argList[$count] == SORT_ASC || $argList[$count] == SORT_DESC) {
- $sortArgs[] = &$sortReg;
- } else {
- $sortArgs[] = &$sortAsc;
- }
- }
- } else {
- $sortArgs[] = &$sortAsc;
- $sortArgs[] = &$sortReg;
- }
- }
-
- // Sort by id's if values are equal
- $sortArgs[] = &$ids;
- $sortArgs[] = &$sortAsc;
- $sortArgs[] = &$sortNum;
-
- // Array to be sorted
- $sortArgs[] = &$hits;
-
- // Do sort
- call_user_func_array('array_multisort', $sortArgs);
- }
-
- return $hits;
- }
-
-
- /**
- * Returns a list of all unique field names that exist in this index.
- *
- * @param boolean $indexed
- * @return array
- */
- public function getFieldNames($indexed = false)
- {
- $result = array();
- foreach( $this->_segmentInfos as $segmentInfo ) {
- $result = array_merge($result, $segmentInfo->getFields($indexed));
- }
- return $result;
- }
-
-
- /**
- * Returns a Zend_Search_Lucene_Document object for the document
- * number $id in this index.
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @return Zend_Search_Lucene_Document
- * @throws Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
- */
- public function getDocument($id)
- {
- if ($id instanceof Zend_Search_Lucene_Search_QueryHit) {
- /* @var $id Zend_Search_Lucene_Search_QueryHit */
- $id = $id->id;
- }
-
- if ($id >= $this->_docCount) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document id is out of the range.');
- }
-
- $segmentStartId = 0;
- foreach ($this->_segmentInfos as $segmentInfo) {
- if ($segmentStartId + $segmentInfo->count() > $id) {
- break;
- }
-
- $segmentStartId += $segmentInfo->count();
- }
-
- $fdxFile = $segmentInfo->openCompoundFile('.fdx');
- $fdxFile->seek(($id-$segmentStartId)*8, SEEK_CUR);
- $fieldValuesPosition = $fdxFile->readLong();
-
- $fdtFile = $segmentInfo->openCompoundFile('.fdt');
- $fdtFile->seek($fieldValuesPosition, SEEK_CUR);
- $fieldCount = $fdtFile->readVInt();
-
- $doc = new Zend_Search_Lucene_Document();
- for ($count = 0; $count < $fieldCount; $count++) {
- $fieldNum = $fdtFile->readVInt();
- $bits = $fdtFile->readByte();
-
- $fieldInfo = $segmentInfo->getField($fieldNum);
-
- if (!($bits & 2)) { // Text data
- $field = new Zend_Search_Lucene_Field($fieldInfo->name,
- $fdtFile->readString(),
- 'UTF-8',
- true,
- $fieldInfo->isIndexed,
- $bits & 1 );
- } else { // Binary data
- $field = new Zend_Search_Lucene_Field($fieldInfo->name,
- $fdtFile->readBinary(),
- '',
- true,
- $fieldInfo->isIndexed,
- $bits & 1,
- true );
- }
-
- $doc->addField($field);
- }
-
- return $doc;
- }
-
-
- /**
- * Returns true if index contain documents with specified term.
- *
- * Is used for query optimization.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return boolean
- */
- public function hasTerm(Zend_Search_Lucene_Index_Term $term)
- {
- foreach ($this->_segmentInfos as $segInfo) {
- if ($segInfo->getTermInfo($term) !== null) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Returns IDs of all documents containing term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termDocs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- $subResults = array();
- $segmentStartDocId = 0;
-
- foreach ($this->_segmentInfos as $segmentInfo) {
- $subResults[] = $segmentInfo->termDocs($term, $segmentStartDocId, $docsFilter);
-
- $segmentStartDocId += $segmentInfo->count();
- }
-
- if (count($subResults) == 0) {
- return array();
- } else if (count($subResults) == 1) {
- // Index is optimized (only one segment)
- // Do not perform array reindexing
- return reset($subResults);
- } else {
- $result = call_user_func_array('array_merge', $subResults);
- }
-
- return $result;
- }
-
- /**
- * Returns documents filter for all documents containing term.
- *
- * It performs the same operation as termDocs, but return result as
- * Zend_Search_Lucene_Index_DocsFilter object
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return Zend_Search_Lucene_Index_DocsFilter
- */
- public function termDocsFilter(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- $segmentStartDocId = 0;
- $result = new Zend_Search_Lucene_Index_DocsFilter();
-
- foreach ($this->_segmentInfos as $segmentInfo) {
- $subResults[] = $segmentInfo->termDocs($term, $segmentStartDocId, $docsFilter);
-
- $segmentStartDocId += $segmentInfo->count();
- }
-
- if (count($subResults) == 0) {
- return array();
- } else if (count($subResults) == 1) {
- // Index is optimized (only one segment)
- // Do not perform array reindexing
- return reset($subResults);
- } else {
- $result = call_user_func_array('array_merge', $subResults);
- }
-
- return $result;
- }
-
-
- /**
- * Returns an array of all term freqs.
- * Result array structure: array(docId => freq, ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return integer
- */
- public function termFreqs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- $result = array();
- $segmentStartDocId = 0;
- foreach ($this->_segmentInfos as $segmentInfo) {
- $result += $segmentInfo->termFreqs($term, $segmentStartDocId, $docsFilter);
-
- $segmentStartDocId += $segmentInfo->count();
- }
-
- return $result;
- }
-
- /**
- * Returns an array of all term positions in the documents.
- * Result array structure: array(docId => array(pos1, pos2, ...), ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termPositions(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- $result = array();
- $segmentStartDocId = 0;
- foreach ($this->_segmentInfos as $segmentInfo) {
- $result += $segmentInfo->termPositions($term, $segmentStartDocId, $docsFilter);
-
- $segmentStartDocId += $segmentInfo->count();
- }
-
- return $result;
- }
-
-
- /**
- * Returns the number of documents in this index containing the $term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return integer
- */
- public function docFreq(Zend_Search_Lucene_Index_Term $term)
- {
- $result = 0;
- foreach ($this->_segmentInfos as $segInfo) {
- $termInfo = $segInfo->getTermInfo($term);
- if ($termInfo !== null) {
- $result += $termInfo->docFreq;
- }
- }
-
- return $result;
- }
-
-
- /**
- * Retrive similarity used by index reader
- *
- * @return Zend_Search_Lucene_Search_Similarity
- */
- public function getSimilarity()
- {
- /** Zend_Search_Lucene_Search_Similarity */
- require_once 'Zend/Search/Lucene/Search/Similarity.php';
-
- return Zend_Search_Lucene_Search_Similarity::getDefault();
- }
-
-
- /**
- * Returns a normalization factor for "field, document" pair.
- *
- * @param integer $id
- * @param string $fieldName
- * @return float
- */
- public function norm($id, $fieldName)
- {
- if ($id >= $this->_docCount) {
- return null;
- }
-
- $segmentStartId = 0;
- foreach ($this->_segmentInfos as $segInfo) {
- if ($segmentStartId + $segInfo->count() > $id) {
- break;
- }
-
- $segmentStartId += $segInfo->count();
- }
-
- if ($segInfo->isDeleted($id - $segmentStartId)) {
- return 0;
- }
-
- return $segInfo->norm($id - $segmentStartId, $fieldName);
- }
-
- /**
- * Returns true if any documents have been deleted from this index.
- *
- * @return boolean
- */
- public function hasDeletions()
- {
- foreach ($this->_segmentInfos as $segmentInfo) {
- if ($segmentInfo->hasDeletions()) {
- return true;
- }
- }
-
- return false;
- }
-
-
- /**
- * Deletes a document from the index.
- * $id is an internal document id
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @throws Zend_Search_Lucene_Exception
- */
- public function delete($id)
- {
- if ($id instanceof Zend_Search_Lucene_Search_QueryHit) {
- /* @var $id Zend_Search_Lucene_Search_QueryHit */
- $id = $id->id;
- }
-
- if ($id >= $this->_docCount) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document id is out of the range.');
- }
-
- $segmentStartId = 0;
- foreach ($this->_segmentInfos as $segmentInfo) {
- if ($segmentStartId + $segmentInfo->count() > $id) {
- break;
- }
-
- $segmentStartId += $segmentInfo->count();
- }
- $segmentInfo->delete($id - $segmentStartId);
-
- $this->_hasChanges = true;
- }
-
-
-
- /**
- * Adds a document to this index.
- *
- * @param Zend_Search_Lucene_Document $document
- */
- public function addDocument(Zend_Search_Lucene_Document $document)
- {
- $this->_getIndexWriter()->addDocument($document);
- $this->_docCount++;
-
- $this->_hasChanges = true;
- }
-
-
- /**
- * Update document counter
- */
- private function _updateDocCount()
- {
- $this->_docCount = 0;
- foreach ($this->_segmentInfos as $segInfo) {
- $this->_docCount += $segInfo->count();
- }
- }
-
- /**
- * Commit changes resulting from delete() or undeleteAll() operations.
- *
- * @todo undeleteAll processing.
- */
- public function commit()
- {
- if ($this->_hasChanges) {
- $this->_getIndexWriter()->commit();
-
- $this->_updateDocCount();
-
- $this->_hasChanges = false;
- }
- }
-
-
- /**
- * Optimize index.
- *
- * Merges all segments into one
- */
- public function optimize()
- {
- // Commit changes if any changes have been made
- $this->commit();
-
- if (count($this->_segmentInfos) > 1 || $this->hasDeletions()) {
- $this->_getIndexWriter()->optimize();
- $this->_updateDocCount();
- }
- }
-
-
- /**
- * Returns an array of all terms in this index.
- *
- * @return array
- */
- public function terms()
- {
- $result = array();
-
- /** Zend_Search_Lucene_Index_TermsPriorityQueue */
- require_once 'Zend/Search/Lucene/Index/TermsPriorityQueue.php';
-
- $segmentInfoQueue = new Zend_Search_Lucene_Index_TermsPriorityQueue();
-
- foreach ($this->_segmentInfos as $segmentInfo) {
- $segmentInfo->resetTermsStream();
-
- // Skip "empty" segments
- if ($segmentInfo->currentTerm() !== null) {
- $segmentInfoQueue->put($segmentInfo);
- }
- }
-
- while (($segmentInfo = $segmentInfoQueue->pop()) !== null) {
- if ($segmentInfoQueue->top() === null ||
- $segmentInfoQueue->top()->currentTerm()->key() !=
- $segmentInfo->currentTerm()->key()) {
- // We got new term
- $result[] = $segmentInfo->currentTerm();
- }
-
- if ($segmentInfo->nextTerm() !== null) {
- // Put segment back into the priority queue
- $segmentInfoQueue->put($segmentInfo);
- }
- }
-
- return $result;
- }
-
-
- /**
- * Terms stream priority queue object
- *
- * @var Zend_Search_Lucene_TermStreamsPriorityQueue
- */
- private $_termsStream = null;
-
- /**
- * Reset terms stream.
- */
- public function resetTermsStream()
- {
- if ($this->_termsStream === null) {
- /** Zend_Search_Lucene_TermStreamsPriorityQueue */
- require_once 'Zend/Search/Lucene/TermStreamsPriorityQueue.php';
-
- $this->_termsStream = new Zend_Search_Lucene_TermStreamsPriorityQueue($this->_segmentInfos);
- } else {
- $this->_termsStream->resetTermsStream();
- }
- }
-
- /**
- * Skip terms stream up to specified term preffix.
- *
- * Prefix contains fully specified field info and portion of searched term
- *
- * @param Zend_Search_Lucene_Index_Term $prefix
- */
- public function skipTo(Zend_Search_Lucene_Index_Term $prefix)
- {
- $this->_termsStream->skipTo($prefix);
- }
-
- /**
- * Scans terms dictionary and returns next term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function nextTerm()
- {
- return $this->_termsStream->nextTerm();
- }
-
- /**
- * Returns term in current position
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function currentTerm()
- {
- return $this->_termsStream->currentTerm();
- }
-
- /**
- * Close terms stream
- *
- * Should be used for resources clean up if stream is not read up to the end
- */
- public function closeTermsStream()
- {
- $this->_termsStream->closeTermsStream();
- $this->_termsStream = null;
- }
-
-
- /*************************************************************************
- @todo UNIMPLEMENTED
- *************************************************************************/
- /**
- * Undeletes all documents currently marked as deleted in this index.
- *
- * @todo Implementation
- */
- public function undeleteAll()
- {}
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer.php
deleted file mode 100644
index 7ff81a88d..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer.php
+++ /dev/null
@@ -1,175 +0,0 @@
-setInput($data, $encoding);
-
- $tokenList = array();
- while (($nextToken = $this->nextToken()) !== null) {
- $tokenList[] = $nextToken;
- }
-
- return $tokenList;
- }
-
-
- /**
- * Tokenization stream API
- * Set input
- *
- * @param string $data
- */
- public function setInput($data, $encoding = '')
- {
- $this->_input = $data;
- $this->_encoding = $encoding;
- $this->reset();
- }
-
- /**
- * Reset token stream
- */
- abstract public function reset();
-
- /**
- * Tokenization stream API
- * Get next token
- * Returns null at the end of stream
- *
- * Tokens are returned in UTF-8 (internal Zend_Search_Lucene encoding)
- *
- * @return Zend_Search_Lucene_Analysis_Token|null
- */
- abstract public function nextToken();
-
-
-
-
- /**
- * Set the default Analyzer implementation used by indexing code.
- *
- * @param Zend_Search_Lucene_Analysis_Analyzer $similarity
- */
- public static function setDefault(Zend_Search_Lucene_Analysis_Analyzer $analyzer)
- {
- self::$_defaultImpl = $analyzer;
- }
-
-
- /**
- * Return the default Analyzer implementation used by indexing code.
- *
- * @return Zend_Search_Lucene_Analysis_Analyzer
- */
- public static function getDefault()
- {
- /** Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive */
- require_once 'Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php';
-
- if (!self::$_defaultImpl instanceof Zend_Search_Lucene_Analysis_Analyzer) {
- self::$_defaultImpl = new Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive();
- }
-
- return self::$_defaultImpl;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common.php
deleted file mode 100644
index 1caa058ad..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common.php
+++ /dev/null
@@ -1,92 +0,0 @@
-_filters[] = $filter;
- }
-
- /**
- * Apply filters to the token. Can return null when the token was removed.
- *
- * @param Zend_Search_Lucene_Analysis_Token $token
- * @return Zend_Search_Lucene_Analysis_Token
- */
- public function normalize(Zend_Search_Lucene_Analysis_Token $token)
- {
- foreach ($this->_filters as $filter) {
- $token = $filter->normalize($token);
-
- // resulting token can be null if the filter removes it
- if ($token === null) {
- return null;
- }
- }
-
- return $token;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php
deleted file mode 100644
index bb329b5ea..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php
+++ /dev/null
@@ -1,96 +0,0 @@
-_position = 0;
-
- if ($this->_input === null) {
- return;
- }
-
- // convert input into ascii
- if (PHP_OS != 'AIX') {
- $this->_input = iconv($this->_encoding, 'ASCII//TRANSLIT', $this->_input);
- }
- $this->_encoding = 'ASCII';
- }
-
- /**
- * Tokenization stream API
- * Get next token
- * Returns null at the end of stream
- *
- * @return Zend_Search_Lucene_Analysis_Token|null
- */
- public function nextToken()
- {
- if ($this->_input === null) {
- return null;
- }
-
-
- do {
- if (! preg_match('/[a-zA-Z]+/', $this->_input, $match, PREG_OFFSET_CAPTURE, $this->_position)) {
- // It covers both cases a) there are no matches (preg_match(...) === 0)
- // b) error occured (preg_match(...) === FALSE)
- return null;
- }
-
- $str = $match[0][0];
- $pos = $match[0][1];
- $endpos = $pos + strlen($str);
-
- $this->_position = $endpos;
-
- $token = $this->normalize(new Zend_Search_Lucene_Analysis_Token($str, $pos, $endpos));
- } while ($token === null); // try again if token is skipped
-
- return $token;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php
deleted file mode 100644
index 54280418e..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php
+++ /dev/null
@@ -1,47 +0,0 @@
-addFilter(new Zend_Search_Lucene_Analysis_TokenFilter_LowerCase());
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php
deleted file mode 100644
index a619712e5..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php
+++ /dev/null
@@ -1,95 +0,0 @@
-_position = 0;
-
- if ($this->_input === null) {
- return;
- }
-
- // convert input into ascii
- if (PHP_OS != 'AIX') {
- $this->_input = iconv($this->_encoding, 'ASCII//TRANSLIT', $this->_input);
- }
- $this->_encoding = 'ASCII';
- }
-
- /**
- * Tokenization stream API
- * Get next token
- * Returns null at the end of stream
- *
- * @return Zend_Search_Lucene_Analysis_Token|null
- */
- public function nextToken()
- {
- if ($this->_input === null) {
- return null;
- }
-
- do {
- if (! preg_match('/[a-zA-Z0-9]+/', $this->_input, $match, PREG_OFFSET_CAPTURE, $this->_position)) {
- // It covers both cases a) there are no matches (preg_match(...) === 0)
- // b) error occured (preg_match(...) === FALSE)
- return null;
- }
-
- $str = $match[0][0];
- $pos = $match[0][1];
- $endpos = $pos + strlen($str);
-
- $this->_position = $endpos;
-
- $token = $this->normalize(new Zend_Search_Lucene_Analysis_Token($str, $pos, $endpos));
- } while ($token === null); // try again if token is skipped
-
- return $token;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php
deleted file mode 100644
index 78021b4c5..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php
+++ /dev/null
@@ -1,47 +0,0 @@
-addFilter(new Zend_Search_Lucene_Analysis_TokenFilter_LowerCase());
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php
deleted file mode 100644
index 1dd3072f3..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php
+++ /dev/null
@@ -1,126 +0,0 @@
-_position = 0;
- $this->_bytePosition = 0;
-
- // convert input into UTF-8
- if (strcasecmp($this->_encoding, 'utf8' ) != 0 &&
- strcasecmp($this->_encoding, 'utf-8') != 0 ) {
- $this->_input = iconv($this->_encoding, 'UTF-8', $this->_input);
- $this->_encoding = 'UTF-8';
- }
- }
-
- /**
- * Tokenization stream API
- * Get next token
- * Returns null at the end of stream
- *
- * @return Zend_Search_Lucene_Analysis_Token|null
- */
- public function nextToken()
- {
- if ($this->_input === null) {
- return null;
- }
-
- do {
- if (! preg_match('/[\p{L}]+/u', $this->_input, $match, PREG_OFFSET_CAPTURE, $this->_bytePosition)) {
- // It covers both cases a) there are no matches (preg_match(...) === 0)
- // b) error occured (preg_match(...) === FALSE)
- return null;
- }
-
- // matched string
- $matchedWord = $match[0][0];
-
- // binary position of the matched word in the input stream
- $binStartPos = $match[0][1];
-
- // character position of the matched word in the input stream
- $startPos = $this->_position +
- iconv_strlen(substr($this->_input,
- $this->_bytePosition,
- $binStartPos - $this->_bytePosition),
- 'UTF-8');
- // character postion of the end of matched word in the input stream
- $endPos = $startPos + iconv_strlen($matchedWord, 'UTF-8');
-
- $this->_bytePosition = $binStartPos + strlen($matchedWord);
- $this->_position = $endPos;
-
- $token = $this->normalize(new Zend_Search_Lucene_Analysis_Token($matchedWord, $startPos, $endPos));
- } while ($token === null); // try again if token is skipped
-
- return $token;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php
deleted file mode 100644
index 0ce2b18ec..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php
+++ /dev/null
@@ -1,49 +0,0 @@
-addFilter(new Zend_Search_Lucene_Analysis_TokenFilter_LowerCaseUtf8());
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php
deleted file mode 100644
index 2898af819..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php
+++ /dev/null
@@ -1,126 +0,0 @@
-_position = 0;
- $this->_bytePosition = 0;
-
- // convert input into UTF-8
- if (strcasecmp($this->_encoding, 'utf8' ) != 0 &&
- strcasecmp($this->_encoding, 'utf-8') != 0 ) {
- $this->_input = iconv($this->_encoding, 'UTF-8', $this->_input);
- $this->_encoding = 'UTF-8';
- }
- }
-
- /**
- * Tokenization stream API
- * Get next token
- * Returns null at the end of stream
- *
- * @return Zend_Search_Lucene_Analysis_Token|null
- */
- public function nextToken()
- {
- if ($this->_input === null) {
- return null;
- }
-
- do {
- if (! preg_match('/[\p{L}\p{N}]+/u', $this->_input, $match, PREG_OFFSET_CAPTURE, $this->_bytePosition)) {
- // It covers both cases a) there are no matches (preg_match(...) === 0)
- // b) error occured (preg_match(...) === FALSE)
- return null;
- }
-
- // matched string
- $matchedWord = $match[0][0];
-
- // binary position of the matched word in the input stream
- $binStartPos = $match[0][1];
-
- // character position of the matched word in the input stream
- $startPos = $this->_position +
- iconv_strlen(substr($this->_input,
- $this->_bytePosition,
- $binStartPos - $this->_bytePosition),
- 'UTF-8');
- // character postion of the end of matched word in the input stream
- $endPos = $startPos + iconv_strlen($matchedWord, 'UTF-8');
-
- $this->_bytePosition = $binStartPos + strlen($matchedWord);
- $this->_position = $endPos;
-
- $token = $this->normalize(new Zend_Search_Lucene_Analysis_Token($matchedWord, $startPos, $endPos));
- } while ($token === null); // try again if token is skipped
-
- return $token;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php
deleted file mode 100644
index b67a44424..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php
+++ /dev/null
@@ -1,49 +0,0 @@
-addFilter(new Zend_Search_Lucene_Analysis_TokenFilter_LowerCaseUtf8());
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Token.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/Token.php
deleted file mode 100644
index b31513595..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/Token.php
+++ /dev/null
@@ -1,154 +0,0 @@
-_termText = $text;
- $this->_startOffset = $start;
- $this->_endOffset = $end;
-
- $this->_positionIncrement = 1;
- }
-
-
- /**
- * positionIncrement setter
- *
- * @param integer $positionIncrement
- */
- public function setPositionIncrement($positionIncrement)
- {
- $this->_positionIncrement = $positionIncrement;
- }
-
- /**
- * Returns the position increment of this Token.
- *
- * @return integer
- */
- public function getPositionIncrement()
- {
- return $this->_positionIncrement;
- }
-
- /**
- * Returns the Token's term text.
- *
- * @return string
- */
- public function getTermText()
- {
- return $this->_termText;
- }
-
- /**
- * Returns this Token's starting offset, the position of the first character
- * corresponding to this token in the source text.
- *
- * Note:
- * The difference between getEndOffset() and getStartOffset() may not be equal
- * to strlen(Zend_Search_Lucene_Analysis_Token::getTermText()), as the term text may have been altered
- * by a stemmer or some other filter.
- *
- * @return integer
- */
- public function getStartOffset()
- {
- return $this->_startOffset;
- }
-
- /**
- * Returns this Token's ending offset, one greater than the position of the
- * last character corresponding to this token in the source text.
- *
- * @return integer
- */
- public function getEndOffset()
- {
- return $this->_endOffset;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter.php
deleted file mode 100644
index 30bd81662..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter.php
+++ /dev/null
@@ -1,47 +0,0 @@
-getTermText() ),
- $srcToken->getStartOffset(),
- $srcToken->getEndOffset());
-
- $newToken->setPositionIncrement($srcToken->getPositionIncrement());
-
- return $newToken;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php
deleted file mode 100644
index 56aa0ebf9..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php
+++ /dev/null
@@ -1,70 +0,0 @@
-getTermText(), 'UTF-8'),
- $srcToken->getStartOffset(),
- $srcToken->getEndOffset());
-
- $newToken->setPositionIncrement($srcToken->getPositionIncrement());
-
- return $newToken;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php
deleted file mode 100644
index 5a236ea3d..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php
+++ /dev/null
@@ -1,69 +0,0 @@
-length = $length;
- }
-
- /**
- * Normalize Token or remove it (if null is returned)
- *
- * @param Zend_Search_Lucene_Analysis_Token $srcToken
- * @return Zend_Search_Lucene_Analysis_Token
- */
- public function normalize(Zend_Search_Lucene_Analysis_Token $srcToken) {
- if (strlen($srcToken->getTermText()) < $this->length) {
- return null;
- } else {
- return $srcToken;
- }
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php b/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php
deleted file mode 100644
index 42d0047ca..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php
+++ /dev/null
@@ -1,101 +0,0 @@
- 1, 'an' => '1');
- *
- * We do recommend to provide all words in lowercase and concatenate this class after the lowercase filter.
- *
- * @category Zend
- * @package Zend_Search_Lucene
- * @subpackage Analysis
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-
-class Zend_Search_Lucene_Analysis_TokenFilter_StopWords extends Zend_Search_Lucene_Analysis_TokenFilter
-{
- /**
- * Stop Words
- * @var array
- */
- private $_stopSet;
-
- /**
- * Constructs new instance of this filter.
- *
- * @param array $stopwords array (set) of words that will be filtered out
- */
- public function __construct($stopwords = array()) {
- $this->_stopSet = array_flip($stopwords);
- }
-
- /**
- * Normalize Token or remove it (if null is returned)
- *
- * @param Zend_Search_Lucene_Analysis_Token $srcToken
- * @return Zend_Search_Lucene_Analysis_Token
- */
- public function normalize(Zend_Search_Lucene_Analysis_Token $srcToken) {
- if (array_key_exists($srcToken->getTermText(), $this->_stopSet)) {
- return null;
- } else {
- return $srcToken;
- }
- }
-
- /**
- * Fills stopwords set from a text file. Each line contains one stopword, lines with '#' in the first
- * column are ignored (as comments).
- *
- * You can call this method one or more times. New stopwords are always added to current set.
- *
- * @param string $filepath full path for text file with stopwords
- * @throws Zend_Search_Exception When the file doesn`t exists or is not readable.
- */
- public function loadFromFile($filepath = null) {
- if (! $filepath || ! file_exists($filepath)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('You have to provide valid file path');
- }
- $fd = fopen($filepath, "r");
- if (! $fd) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Cannot open file ' . $filepath);
- }
- while (!feof ($fd)) {
- $buffer = trim(fgets($fd));
- if (strlen($buffer) > 0 && $buffer[0] != '#') {
- $this->_stopSet[$buffer] = 1;
- }
- }
- if (!fclose($fd)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Cannot close file ' . $filepath);
- }
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Document.php b/airtime_mvc/library/Zend/Search/Lucene/Document.php
deleted file mode 100644
index f86970e6f..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Document.php
+++ /dev/null
@@ -1,131 +0,0 @@
-getFieldValue($offset);
- }
-
-
- /**
- * Add a field object to this document.
- *
- * @param Zend_Search_Lucene_Field $field
- * @return Zend_Search_Lucene_Document
- */
- public function addField(Zend_Search_Lucene_Field $field)
- {
- $this->_fields[$field->name] = $field;
-
- return $this;
- }
-
-
- /**
- * Return an array with the names of the fields in this document.
- *
- * @return array
- */
- public function getFieldNames()
- {
- return array_keys($this->_fields);
- }
-
-
- /**
- * Returns Zend_Search_Lucene_Field object for a named field in this document.
- *
- * @param string $fieldName
- * @return Zend_Search_Lucene_Field
- */
- public function getField($fieldName)
- {
- if (!array_key_exists($fieldName, $this->_fields)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception("Field name \"$fieldName\" not found in document.");
- }
- return $this->_fields[$fieldName];
- }
-
-
- /**
- * Returns the string value of a named field in this document.
- *
- * @see __get()
- * @return string
- */
- public function getFieldValue($fieldName)
- {
- return $this->getField($fieldName)->value;
- }
-
- /**
- * Returns the string value of a named field in UTF-8 encoding.
- *
- * @see __get()
- * @return string
- */
- public function getFieldUtf8Value($fieldName)
- {
- return $this->getField($fieldName)->getUtf8Value();
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Document/Docx.php b/airtime_mvc/library/Zend/Search/Lucene/Document/Docx.php
deleted file mode 100644
index b2863fae5..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Document/Docx.php
+++ /dev/null
@@ -1,151 +0,0 @@
-open($fileName);
-
- // Read relations and search for officeDocument
- $relationsXml = $package->getFromName('_rels/.rels');
- if ($relationsXml === false) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Invalid archive or corrupted .docx file.');
- }
- $relations = simplexml_load_string($relationsXml);
- foreach($relations->Relationship as $rel) {
- if ($rel ["Type"] == Zend_Search_Lucene_Document_OpenXml::SCHEMA_OFFICEDOCUMENT) {
- // Found office document! Read in contents...
- $contents = simplexml_load_string($package->getFromName(
- $this->absoluteZipPath(dirname($rel['Target'])
- . '/'
- . basename($rel['Target']))
- ));
-
- $contents->registerXPathNamespace('w', Zend_Search_Lucene_Document_Docx::SCHEMA_WORDPROCESSINGML);
- $paragraphs = $contents->xpath('//w:body/w:p');
-
- foreach ($paragraphs as $paragraph) {
- $runs = $paragraph->xpath('.//w:r/*[name() = "w:t" or name() = "w:br"]');
-
- if ($runs === false) {
- // Paragraph doesn't contain any text or breaks
- continue;
- }
-
- foreach ($runs as $run) {
- if ($run->getName() == 'br') {
- // Break element
- $documentBody[] = ' ';
- } else {
- $documentBody[] = (string)$run;
- }
- }
-
- // Add space after each paragraph. So they are not bound together.
- $documentBody[] = ' ';
- }
-
- break;
- }
- }
-
- // Read core properties
- $coreProperties = $this->extractMetaData($package);
-
- // Close file
- $package->close();
-
- // Store filename
- $this->addField(Zend_Search_Lucene_Field::Text('filename', $fileName, 'UTF-8'));
-
- // Store contents
- if ($storeContent) {
- $this->addField(Zend_Search_Lucene_Field::Text('body', implode('', $documentBody), 'UTF-8'));
- } else {
- $this->addField(Zend_Search_Lucene_Field::UnStored('body', implode('', $documentBody), 'UTF-8'));
- }
-
- // Store meta data properties
- foreach ($coreProperties as $key => $value) {
- $this->addField(Zend_Search_Lucene_Field::Text($key, $value, 'UTF-8'));
- }
-
- // Store title (if not present in meta data)
- if (! isset($coreProperties['title'])) {
- $this->addField(Zend_Search_Lucene_Field::Text('title', $fileName, 'UTF-8'));
- }
- }
-
- /**
- * Load Docx document from a file
- *
- * @param string $fileName
- * @param boolean $storeContent
- * @return Zend_Search_Lucene_Document_Docx
- * @throws Zend_Search_Lucene_Document_Exception
- */
- public static function loadDocxFile($fileName, $storeContent = false) {
- if (!is_readable($fileName)) {
- require_once 'Zend/Search/Lucene/Document/Exception.php';
- throw new Zend_Search_Lucene_Document_Exception('Provided file \'' . $fileName . '\' is not readable.');
- }
-
- return new Zend_Search_Lucene_Document_Docx($fileName, $storeContent);
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Document/Exception.php b/airtime_mvc/library/Zend/Search/Lucene/Document/Exception.php
deleted file mode 100644
index 808a2927a..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Document/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_doc = new DOMDocument();
- $this->_doc->substituteEntities = true;
-
- if ($isFile) {
- $htmlData = file_get_contents($data);
- } else {
- $htmlData = $data;
- }
- @$this->_doc->loadHTML($htmlData);
-
- if ($this->_doc->encoding === null) {
- // Document encoding is not recognized
-
- /** @todo improve HTML vs HTML fragment recognition */
- if (preg_match('//i', $htmlData, $matches, PREG_OFFSET_CAPTURE)) {
- // It's an HTML document
- // Add additional HEAD section and recognize document
- $htmlTagOffset = $matches[0][1] + strlen($matches[0][0]);
-
- @$this->_doc->loadHTML(iconv($defaultEncoding, 'UTF-8//IGNORE', substr($htmlData, 0, $htmlTagOffset))
- . ' '
- . iconv($defaultEncoding, 'UTF-8//IGNORE', substr($htmlData, $htmlTagOffset)));
-
- // Remove additional HEAD section
- $xpath = new DOMXPath($this->_doc);
- $head = $xpath->query('/html/head')->item(0);
- $head->parentNode->removeChild($head);
- } else {
- // It's an HTML fragment
- @$this->_doc->loadHTML(' '
- . iconv($defaultEncoding, 'UTF-8//IGNORE', $htmlData)
- . '');
- }
-
- }
- /** @todo Add correction of wrong HTML encoding recognition processing
- * The case is:
- * Content-type HTTP-EQUIV meta tag is presented, but ISO-8859-5 encoding is actually used,
- * even $this->_doc->encoding demonstrates another recognized encoding
- */
-
- $xpath = new DOMXPath($this->_doc);
-
- $docTitle = '';
- $titleNodes = $xpath->query('/html/head/title');
- foreach ($titleNodes as $titleNode) {
- // title should always have only one entry, but we process all nodeset entries
- $docTitle .= $titleNode->nodeValue . ' ';
- }
- $this->addField(Zend_Search_Lucene_Field::Text('title', $docTitle, 'UTF-8'));
-
- $metaNodes = $xpath->query('/html/head/meta[@name]');
- foreach ($metaNodes as $metaNode) {
- $this->addField(Zend_Search_Lucene_Field::Text($metaNode->getAttribute('name'),
- $metaNode->getAttribute('content'),
- 'UTF-8'));
- }
-
- $docBody = '';
- $bodyNodes = $xpath->query('/html/body');
- foreach ($bodyNodes as $bodyNode) {
- // body should always have only one entry, but we process all nodeset entries
- $this->_retrieveNodeText($bodyNode, $docBody);
- }
- if ($storeContent) {
- $this->addField(Zend_Search_Lucene_Field::Text('body', $docBody, 'UTF-8'));
- } else {
- $this->addField(Zend_Search_Lucene_Field::UnStored('body', $docBody, 'UTF-8'));
- }
-
- $linkNodes = $this->_doc->getElementsByTagName('a');
- foreach ($linkNodes as $linkNode) {
- if (($href = $linkNode->getAttribute('href')) != '' &&
- (!self::$_excludeNoFollowLinks || strtolower($linkNode->getAttribute('rel')) != 'nofollow' )
- ) {
- $this->_links[] = $href;
- }
- }
- $this->_links = array_unique($this->_links);
-
- $linkNodes = $xpath->query('/html/head/link');
- foreach ($linkNodes as $linkNode) {
- if (($href = $linkNode->getAttribute('href')) != '') {
- $this->_headerLinks[] = $href;
- }
- }
- $this->_headerLinks = array_unique($this->_headerLinks);
- }
-
- /**
- * Set exclude nofollow links flag
- *
- * @param boolean $newValue
- */
- public static function setExcludeNoFollowLinks($newValue)
- {
- self::$_excludeNoFollowLinks = $newValue;
- }
-
- /**
- * Get exclude nofollow links flag
- *
- * @return boolean
- */
- public static function getExcludeNoFollowLinks()
- {
- return self::$_excludeNoFollowLinks;
- }
-
- /**
- * Get node text
- *
- * We should exclude scripts, which may be not included into comment tags, CDATA sections,
- *
- * @param DOMNode $node
- * @param string &$text
- */
- private function _retrieveNodeText(DOMNode $node, &$text)
- {
- if ($node->nodeType == XML_TEXT_NODE) {
- $text .= $node->nodeValue ;
- $text .= ' ';
- } else if ($node->nodeType == XML_ELEMENT_NODE && $node->nodeName != 'script') {
- foreach ($node->childNodes as $childNode) {
- $this->_retrieveNodeText($childNode, $text);
- }
- }
- }
-
- /**
- * Get document HREF links
- *
- * @return array
- */
- public function getLinks()
- {
- return $this->_links;
- }
-
- /**
- * Get document header links
- *
- * @return array
- */
- public function getHeaderLinks()
- {
- return $this->_headerLinks;
- }
-
- /**
- * Load HTML document from a string
- *
- * @param string $data
- * @param boolean $storeContent
- * @param string $defaultEncoding HTML encoding, is used if it's not specified using Content-type HTTP-EQUIV meta tag.
- * @return Zend_Search_Lucene_Document_Html
- */
- public static function loadHTML($data, $storeContent = false, $defaultEncoding = '')
- {
- return new Zend_Search_Lucene_Document_Html($data, false, $storeContent, $defaultEncoding);
- }
-
- /**
- * Load HTML document from a file
- *
- * @param string $file
- * @param boolean $storeContent
- * @param string $defaultEncoding HTML encoding, is used if it's not specified using Content-type HTTP-EQUIV meta tag.
- * @return Zend_Search_Lucene_Document_Html
- */
- public static function loadHTMLFile($file, $storeContent = false, $defaultEncoding = '')
- {
- return new Zend_Search_Lucene_Document_Html($file, true, $storeContent, $defaultEncoding);
- }
-
-
- /**
- * Highlight text in text node
- *
- * @param DOMText $node
- * @param array $wordsToHighlight
- * @param callback $callback Callback method, used to transform (highlighting) text.
- * @param array $params Array of additionall callback parameters (first non-optional parameter is a text to transform)
- * @throws Zend_Search_Lucene_Exception
- */
- protected function _highlightTextNode(DOMText $node, $wordsToHighlight, $callback, $params)
- {
- /** Zend_Search_Lucene_Analysis_Analyzer */
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
-
- $analyzer = Zend_Search_Lucene_Analysis_Analyzer::getDefault();
- $analyzer->setInput($node->nodeValue, 'UTF-8');
-
- $matchedTokens = array();
-
- while (($token = $analyzer->nextToken()) !== null) {
- if (isset($wordsToHighlight[$token->getTermText()])) {
- $matchedTokens[] = $token;
- }
- }
-
- if (count($matchedTokens) == 0) {
- return;
- }
-
- $matchedTokens = array_reverse($matchedTokens);
-
- foreach ($matchedTokens as $token) {
- // Cut text after matched token
- $node->splitText($token->getEndOffset());
-
- // Cut matched node
- $matchedWordNode = $node->splitText($token->getStartOffset());
-
- // Retrieve HTML string representation for highlihted word
- $fullCallbackparamsList = $params;
- array_unshift($fullCallbackparamsList, $matchedWordNode->nodeValue);
- $highlightedWordNodeSetHtml = call_user_func_array($callback, $fullCallbackparamsList);
-
- // Transform HTML string to a DOM representation and automatically transform retrieved string
- // into valid XHTML (It's automatically done by loadHTML() method)
- $highlightedWordNodeSetDomDocument = new DOMDocument('1.0', 'UTF-8');
- $success = @$highlightedWordNodeSetDomDocument->
- loadHTML(' '
- . $highlightedWordNodeSetHtml
- . '');
- if (!$success) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception("Error occured while loading highlighted text fragment: '$highlightedNodeHtml'.");
- }
- $highlightedWordNodeSetXpath = new DOMXPath($highlightedWordNodeSetDomDocument);
- $highlightedWordNodeSet = $highlightedWordNodeSetXpath->query('/html/body')->item(0)->childNodes;
-
- for ($count = 0; $count < $highlightedWordNodeSet->length; $count++) {
- $nodeToImport = $highlightedWordNodeSet->item($count);
- $node->parentNode->insertBefore($this->_doc->importNode($nodeToImport, true /* deep copy */),
- $matchedWordNode);
- }
-
- $node->parentNode->removeChild($matchedWordNode);
- }
- }
-
-
- /**
- * highlight words in content of the specified node
- *
- * @param DOMNode $contextNode
- * @param array $wordsToHighlight
- * @param callback $callback Callback method, used to transform (highlighting) text.
- * @param array $params Array of additionall callback parameters (first non-optional parameter is a text to transform)
- */
- protected function _highlightNodeRecursive(DOMNode $contextNode, $wordsToHighlight, $callback, $params)
- {
- $textNodes = array();
-
- if (!$contextNode->hasChildNodes()) {
- return;
- }
-
- foreach ($contextNode->childNodes as $childNode) {
- if ($childNode->nodeType == XML_TEXT_NODE) {
- // process node later to leave childNodes structure untouched
- $textNodes[] = $childNode;
- } else {
- // Process node if it's not a script node
- if ($childNode->nodeName != 'script') {
- $this->_highlightNodeRecursive($childNode, $wordsToHighlight, $callback, $params);
- }
- }
- }
-
- foreach ($textNodes as $textNode) {
- $this->_highlightTextNode($textNode, $wordsToHighlight, $callback, $params);
- }
- }
-
- /**
- * Standard callback method used to highlight words.
- *
- * @param string $stringToHighlight
- * @return string
- * @internal
- */
- public function applyColour($stringToHighlight, $colour)
- {
- return '' . $stringToHighlight . ' ';
- }
-
- /**
- * Highlight text with specified color
- *
- * @param string|array $words
- * @param string $colour
- * @return string
- */
- public function highlight($words, $colour = '#66ffff')
- {
- return $this->highlightExtended($words, array($this, 'applyColour'), array($colour));
- }
-
-
-
- /**
- * Highlight text using specified View helper or callback function.
- *
- * @param string|array $words Words to highlight. Words could be organized using the array or string.
- * @param callback $callback Callback method, used to transform (highlighting) text.
- * @param array $params Array of additionall callback parameters passed through into it
- * (first non-optional parameter is an HTML fragment for highlighting)
- * @return string
- * @throws Zend_Search_Lucene_Exception
- */
- public function highlightExtended($words, $callback, $params = array())
- {
- /** Zend_Search_Lucene_Analysis_Analyzer */
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
-
- if (!is_array($words)) {
- $words = array($words);
- }
-
- $wordsToHighlightList = array();
- $analyzer = Zend_Search_Lucene_Analysis_Analyzer::getDefault();
- foreach ($words as $wordString) {
- $wordsToHighlightList[] = $analyzer->tokenize($wordString);
- }
- $wordsToHighlight = call_user_func_array('array_merge', $wordsToHighlightList);
-
- if (count($wordsToHighlight) == 0) {
- return $this->_doc->saveHTML();
- }
-
- $wordsToHighlightFlipped = array();
- foreach ($wordsToHighlight as $id => $token) {
- $wordsToHighlightFlipped[$token->getTermText()] = $id;
- }
-
- if (!is_callable($callback)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('$viewHelper parameter mast be a View Helper name, View Helper object or callback.');
- }
-
- $xpath = new DOMXPath($this->_doc);
-
- $matchedNodes = $xpath->query("/html/body");
- foreach ($matchedNodes as $matchedNode) {
- $this->_highlightNodeRecursive($matchedNode, $wordsToHighlightFlipped, $callback, $params);
- }
- }
-
-
- /**
- * Get HTML
- *
- * @return string
- */
- public function getHTML()
- {
- return $this->_doc->saveHTML();
- }
-
- /**
- * Get HTML body
- *
- * @return string
- */
- public function getHtmlBody()
- {
- $xpath = new DOMXPath($this->_doc);
- $bodyNodes = $xpath->query('/html/body')->item(0)->childNodes;
-
- $outputFragments = array();
- for ($count = 0; $count < $bodyNodes->length; $count++) {
- $outputFragments[] = $this->_doc->saveXML($bodyNodes->item($count));
- }
-
- return implode($outputFragments);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Document/OpenXml.php b/airtime_mvc/library/Zend/Search/Lucene/Document/OpenXml.php
deleted file mode 100644
index d9d73acff..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Document/OpenXml.php
+++ /dev/null
@@ -1,129 +0,0 @@
-getFromName("_rels/.rels"));
- foreach ($relations->Relationship as $rel) {
- if ($rel["Type"] == Zend_Search_Lucene_Document_OpenXml::SCHEMA_COREPROPERTIES) {
- // Found core properties! Read in contents...
- $contents = simplexml_load_string(
- $package->getFromName(dirname($rel["Target"]) . "/" . basename($rel["Target"]))
- );
-
- foreach ($contents->children(Zend_Search_Lucene_Document_OpenXml::SCHEMA_DUBLINCORE) as $child) {
- $coreProperties[$child->getName()] = (string)$child;
- }
- foreach ($contents->children(Zend_Search_Lucene_Document_OpenXml::SCHEMA_COREPROPERTIES) as $child) {
- $coreProperties[$child->getName()] = (string)$child;
- }
- foreach ($contents->children(Zend_Search_Lucene_Document_OpenXml::SCHEMA_DUBLINCORETERMS) as $child) {
- $coreProperties[$child->getName()] = (string)$child;
- }
- }
- }
-
- return $coreProperties;
- }
-
- /**
- * Determine absolute zip path
- *
- * @param string $path
- * @return string
- */
- protected function absoluteZipPath($path) {
- $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
- $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
- $absolutes = array();
- foreach ($parts as $part) {
- if ('.' == $part) continue;
- if ('..' == $part) {
- array_pop($absolutes);
- } else {
- $absolutes[] = $part;
- }
- }
- return implode('/', $absolutes);
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Document/Pptx.php b/airtime_mvc/library/Zend/Search/Lucene/Document/Pptx.php
deleted file mode 100644
index 0b634c80e..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Document/Pptx.php
+++ /dev/null
@@ -1,200 +0,0 @@
-open($fileName);
-
- // Read relations and search for officeDocument
- $relationsXml = $package->getFromName('_rels/.rels');
- if ($relationsXml === false) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Invalid archive or corrupted .pptx file.');
- }
- $relations = simplexml_load_string($relationsXml);
- foreach ($relations->Relationship as $rel) {
- if ($rel["Type"] == Zend_Search_Lucene_Document_OpenXml::SCHEMA_OFFICEDOCUMENT) {
- // Found office document! Search for slides...
- $slideRelations = simplexml_load_string($package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/_rels/" . basename($rel["Target"]) . ".rels")) );
- foreach ($slideRelations->Relationship as $slideRel) {
- if ($slideRel["Type"] == Zend_Search_Lucene_Document_Pptx::SCHEMA_SLIDERELATION) {
- // Found slide!
- $slides[ str_replace( 'rId', '', (string)$slideRel["Id"] ) ] = simplexml_load_string(
- $package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/" . dirname($slideRel["Target"]) . "/" . basename($slideRel["Target"])) )
- );
-
- // Search for slide notes
- $slideNotesRelations = simplexml_load_string($package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/" . dirname($slideRel["Target"]) . "/_rels/" . basename($slideRel["Target"]) . ".rels")) );
- foreach ($slideNotesRelations->Relationship as $slideNoteRel) {
- if ($slideNoteRel["Type"] == Zend_Search_Lucene_Document_Pptx::SCHEMA_SLIDENOTESRELATION) {
- // Found slide notes!
- $slideNotes[ str_replace( 'rId', '', (string)$slideRel["Id"] ) ] = simplexml_load_string(
- $package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/" . dirname($slideRel["Target"]) . "/" . dirname($slideNoteRel["Target"]) . "/" . basename($slideNoteRel["Target"])) )
- );
-
- break;
- }
- }
- }
- }
-
- break;
- }
- }
-
- // Sort slides
- ksort($slides);
- ksort($slideNotes);
-
- // Extract contents from slides
- foreach ($slides as $slideKey => $slide) {
- // Register namespaces
- $slide->registerXPathNamespace("p", Zend_Search_Lucene_Document_Pptx::SCHEMA_PRESENTATIONML);
- $slide->registerXPathNamespace("a", Zend_Search_Lucene_Document_Pptx::SCHEMA_DRAWINGML);
-
- // Fetch all text
- $textElements = $slide->xpath('//a:t');
- foreach ($textElements as $textElement) {
- $documentBody[] = (string)$textElement;
- }
-
- // Extract contents from slide notes
- if (isset($slideNotes[$slideKey])) {
- // Fetch slide note
- $slideNote = $slideNotes[$slideKey];
-
- // Register namespaces
- $slideNote->registerXPathNamespace("p", Zend_Search_Lucene_Document_Pptx::SCHEMA_PRESENTATIONML);
- $slideNote->registerXPathNamespace("a", Zend_Search_Lucene_Document_Pptx::SCHEMA_DRAWINGML);
-
- // Fetch all text
- $textElements = $slideNote->xpath('//a:t');
- foreach ($textElements as $textElement) {
- $documentBody[] = (string)$textElement;
- }
- }
- }
-
- // Read core properties
- $coreProperties = $this->extractMetaData($package);
-
- // Close file
- $package->close();
-
- // Store filename
- $this->addField(Zend_Search_Lucene_Field::Text('filename', $fileName, 'UTF-8'));
-
- // Store contents
- if ($storeContent) {
- $this->addField(Zend_Search_Lucene_Field::Text('body', implode(' ', $documentBody), 'UTF-8'));
- } else {
- $this->addField(Zend_Search_Lucene_Field::UnStored('body', implode(' ', $documentBody), 'UTF-8'));
- }
-
- // Store meta data properties
- foreach ($coreProperties as $key => $value)
- {
- $this->addField(Zend_Search_Lucene_Field::Text($key, $value, 'UTF-8'));
- }
-
- // Store title (if not present in meta data)
- if (!isset($coreProperties['title']))
- {
- $this->addField(Zend_Search_Lucene_Field::Text('title', $fileName, 'UTF-8'));
- }
- }
-
- /**
- * Load Pptx document from a file
- *
- * @param string $fileName
- * @param boolean $storeContent
- * @return Zend_Search_Lucene_Document_Pptx
- */
- public static function loadPptxFile($fileName, $storeContent = false)
- {
- return new Zend_Search_Lucene_Document_Pptx($fileName, $storeContent);
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Document/Xlsx.php b/airtime_mvc/library/Zend/Search/Lucene/Document/Xlsx.php
deleted file mode 100644
index afe7eb80e..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Document/Xlsx.php
+++ /dev/null
@@ -1,263 +0,0 @@
-open($fileName);
-
- // Read relations and search for officeDocument
- $relationsXml = $package->getFromName('_rels/.rels');
- if ($relationsXml === false) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Invalid archive or corrupted .xlsx file.');
- }
- $relations = simplexml_load_string($relationsXml);
- foreach ($relations->Relationship as $rel) {
- if ($rel["Type"] == Zend_Search_Lucene_Document_OpenXml::SCHEMA_OFFICEDOCUMENT) {
- // Found office document! Read relations for workbook...
- $workbookRelations = simplexml_load_string($package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/_rels/" . basename($rel["Target"]) . ".rels")) );
- $workbookRelations->registerXPathNamespace("rel", Zend_Search_Lucene_Document_OpenXml::SCHEMA_RELATIONSHIP);
-
- // Read shared strings
- $sharedStringsPath = $workbookRelations->xpath("rel:Relationship[@Type='" . Zend_Search_Lucene_Document_Xlsx::SCHEMA_SHAREDSTRINGS . "']");
- $sharedStringsPath = (string)$sharedStringsPath[0]['Target'];
- $xmlStrings = simplexml_load_string($package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/" . $sharedStringsPath)) );
- if (isset($xmlStrings) && isset($xmlStrings->si)) {
- foreach ($xmlStrings->si as $val) {
- if (isset($val->t)) {
- $sharedStrings[] = (string)$val->t;
- } elseif (isset($val->r)) {
- $sharedStrings[] = $this->_parseRichText($val);
- }
- }
- }
-
- // Loop relations for workbook and extract worksheets...
- foreach ($workbookRelations->Relationship as $workbookRelation) {
- if ($workbookRelation["Type"] == Zend_Search_Lucene_Document_Xlsx::SCHEMA_WORKSHEETRELATION) {
- $worksheets[ str_replace( 'rId', '', (string)$workbookRelation["Id"]) ] = simplexml_load_string(
- $package->getFromName( $this->absoluteZipPath(dirname($rel["Target"]) . "/" . dirname($workbookRelation["Target"]) . "/" . basename($workbookRelation["Target"])) )
- );
- }
- }
-
- break;
- }
- }
-
- // Sort worksheets
- ksort($worksheets);
-
- // Extract contents from worksheets
- foreach ($worksheets as $sheetKey => $worksheet) {
- foreach ($worksheet->sheetData->row as $row) {
- foreach ($row->c as $c) {
- // Determine data type
- $dataType = (string)$c["t"];
- switch ($dataType) {
- case "s":
- // Value is a shared string
- if ((string)$c->v != '') {
- $value = $sharedStrings[intval($c->v)];
- } else {
- $value = '';
- }
-
- break;
-
- case "b":
- // Value is boolean
- $value = (string)$c->v;
- if ($value == '0') {
- $value = false;
- } else if ($value == '1') {
- $value = true;
- } else {
- $value = (bool)$c->v;
- }
-
- break;
-
- case "inlineStr":
- // Value is rich text inline
- $value = $this->_parseRichText($c->is);
-
- break;
-
- case "e":
- // Value is an error message
- if ((string)$c->v != '') {
- $value = (string)$c->v;
- } else {
- $value = '';
- }
-
- break;
-
- default:
- // Value is a string
- $value = (string)$c->v;
-
- // Check for numeric values
- if (is_numeric($value) && $dataType != 's') {
- if ($value == (int)$value) $value = (int)$value;
- elseif ($value == (float)$value) $value = (float)$value;
- elseif ($value == (double)$value) $value = (double)$value;
- }
- }
-
- $documentBody[] = $value;
- }
- }
- }
-
- // Read core properties
- $coreProperties = $this->extractMetaData($package);
-
- // Close file
- $package->close();
-
- // Store filename
- $this->addField(Zend_Search_Lucene_Field::Text('filename', $fileName, 'UTF-8'));
-
- // Store contents
- if ($storeContent) {
- $this->addField(Zend_Search_Lucene_Field::Text('body', implode(' ', $documentBody), 'UTF-8'));
- } else {
- $this->addField(Zend_Search_Lucene_Field::UnStored('body', implode(' ', $documentBody), 'UTF-8'));
- }
-
- // Store meta data properties
- foreach ($coreProperties as $key => $value)
- {
- $this->addField(Zend_Search_Lucene_Field::Text($key, $value, 'UTF-8'));
- }
-
- // Store title (if not present in meta data)
- if (!isset($coreProperties['title']))
- {
- $this->addField(Zend_Search_Lucene_Field::Text('title', $fileName, 'UTF-8'));
- }
- }
-
- /**
- * Parse rich text XML
- *
- * @param SimpleXMLElement $is
- * @return string
- */
- private function _parseRichText($is = null) {
- $value = array();
-
- if (isset($is->t)) {
- $value[] = (string)$is->t;
- } else {
- foreach ($is->r as $run) {
- $value[] = (string)$run->t;
- }
- }
-
- return implode('', $value);
- }
-
- /**
- * Load Xlsx document from a file
- *
- * @param string $fileName
- * @param boolean $storeContent
- * @return Zend_Search_Lucene_Document_Xlsx
- */
- public static function loadXlsxFile($fileName, $storeContent = false)
- {
- return new Zend_Search_Lucene_Document_Xlsx($fileName, $storeContent);
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Exception.php b/airtime_mvc/library/Zend/Search/Lucene/Exception.php
deleted file mode 100644
index 7d8fb6e49..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
- targetState
- *
- * @var array
- */
- private $_rules = array();
-
- /**
- * List of entry actions
- * Each action executes when entering the state
- *
- * [state] => action
- *
- * @var array
- */
- private $_entryActions = array();
-
- /**
- * List of exit actions
- * Each action executes when exiting the state
- *
- * [state] => action
- *
- * @var array
- */
- private $_exitActions = array();
-
- /**
- * List of input actions
- * Each action executes when entering the state
- *
- * [state][input] => action
- *
- * @var array
- */
- private $_inputActions = array();
-
- /**
- * List of input actions
- * Each action executes when entering the state
- *
- * [state1][state2] => action
- *
- * @var array
- */
- private $_transitionActions = array();
-
- /**
- * Finite State machine constructor
- *
- * $states is an array of integers or strings with a list of possible machine states
- * constructor treats fist list element as a sturt state (assignes it to $_current state).
- * It may be reassigned by setState() call.
- * States list may be empty and can be extended later by addState() or addStates() calls.
- *
- * $inputAphabet is the same as $states, but represents input alphabet
- * it also may be extended later by addInputSymbols() or addInputSymbol() calls.
- *
- * $rules parameter describes FSM transitions and has a structure:
- * array( array(sourseState, input, targetState[, inputAction]),
- * array(sourseState, input, targetState[, inputAction]),
- * array(sourseState, input, targetState[, inputAction]),
- * ...
- * )
- * Rules also can be added later by addRules() and addRule() calls.
- *
- * FSM actions are very flexible and may be defined by addEntryAction(), addExitAction(),
- * addInputAction() and addTransitionAction() calls.
- *
- * @param array $states
- * @param array $inputAphabet
- * @param array $rules
- */
- public function __construct($states = array(), $inputAphabet = array(), $rules = array())
- {
- $this->addStates($states);
- $this->addInputSymbols($inputAphabet);
- $this->addRules($rules);
- }
-
- /**
- * Add states to the state machine
- *
- * @param array $states
- */
- public function addStates($states)
- {
- foreach ($states as $state) {
- $this->addState($state);
- }
- }
-
- /**
- * Add state to the state machine
- *
- * @param integer|string $state
- */
- public function addState($state)
- {
- $this->_states[$state] = $state;
-
- if ($this->_currentState === null) {
- $this->_currentState = $state;
- }
- }
-
- /**
- * Set FSM state.
- * No any action is invoked
- *
- * @param integer|string $state
- * @throws Zend_Search_Exception
- */
- public function setState($state)
- {
- if (!isset($this->_states[$state])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('State \'' . $state . '\' is not on of the possible FSM states.');
- }
-
- $this->_currentState = $state;
- }
-
- /**
- * Get FSM state.
- *
- * @return integer|string $state|null
- */
- public function getState()
- {
- return $this->_currentState;
- }
-
- /**
- * Add symbols to the input alphabet
- *
- * @param array $inputAphabet
- */
- public function addInputSymbols($inputAphabet)
- {
- foreach ($inputAphabet as $inputSymbol) {
- $this->addInputSymbol($inputSymbol);
- }
- }
-
- /**
- * Add symbol to the input alphabet
- *
- * @param integer|string $inputSymbol
- */
- public function addInputSymbol($inputSymbol)
- {
- $this->_inputAphabet[$inputSymbol] = $inputSymbol;
- }
-
-
- /**
- * Add transition rules
- *
- * array structure:
- * array( array(sourseState, input, targetState[, inputAction]),
- * array(sourseState, input, targetState[, inputAction]),
- * array(sourseState, input, targetState[, inputAction]),
- * ...
- * )
- *
- * @param array $rules
- */
- public function addRules($rules)
- {
- foreach ($rules as $rule) {
- $this->addrule($rule[0], $rule[1], $rule[2], isset($rule[3])?$rule[3]:null);
- }
- }
-
- /**
- * Add symbol to the input alphabet
- *
- * @param integer|string $sourceState
- * @param integer|string $input
- * @param integer|string $targetState
- * @param Zend_Search_Lucene_FSMAction|null $inputAction
- * @throws Zend_Search_Exception
- */
- public function addRule($sourceState, $input, $targetState, $inputAction = null)
- {
- if (!isset($this->_states[$sourceState])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined source state (' . $sourceState . ').');
- }
- if (!isset($this->_states[$targetState])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined target state (' . $targetState . ').');
- }
- if (!isset($this->_inputAphabet[$input])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined input symbol (' . $input . ').');
- }
-
- if (!isset($this->_rules[$sourceState])) {
- $this->_rules[$sourceState] = array();
- }
- if (isset($this->_rules[$sourceState][$input])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Rule for {state,input} pair (' . $sourceState . ', '. $input . ') is already defined.');
- }
-
- $this->_rules[$sourceState][$input] = $targetState;
-
-
- if ($inputAction !== null) {
- $this->addInputAction($sourceState, $input, $inputAction);
- }
- }
-
-
- /**
- * Add state entry action.
- * Several entry actions are allowed.
- * Action execution order is defined by addEntryAction() calls
- *
- * @param integer|string $state
- * @param Zend_Search_Lucene_FSMAction $action
- */
- public function addEntryAction($state, Zend_Search_Lucene_FSMAction $action)
- {
- if (!isset($this->_states[$state])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined state (' . $state. ').');
- }
-
- if (!isset($this->_entryActions[$state])) {
- $this->_entryActions[$state] = array();
- }
-
- $this->_entryActions[$state][] = $action;
- }
-
- /**
- * Add state exit action.
- * Several exit actions are allowed.
- * Action execution order is defined by addEntryAction() calls
- *
- * @param integer|string $state
- * @param Zend_Search_Lucene_FSMAction $action
- */
- public function addExitAction($state, Zend_Search_Lucene_FSMAction $action)
- {
- if (!isset($this->_states[$state])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined state (' . $state. ').');
- }
-
- if (!isset($this->_exitActions[$state])) {
- $this->_exitActions[$state] = array();
- }
-
- $this->_exitActions[$state][] = $action;
- }
-
- /**
- * Add input action (defined by {state, input} pair).
- * Several input actions are allowed.
- * Action execution order is defined by addInputAction() calls
- *
- * @param integer|string $state
- * @param integer|string $input
- * @param Zend_Search_Lucene_FSMAction $action
- */
- public function addInputAction($state, $inputSymbol, Zend_Search_Lucene_FSMAction $action)
- {
- if (!isset($this->_states[$state])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined state (' . $state. ').');
- }
- if (!isset($this->_inputAphabet[$inputSymbol])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined input symbol (' . $inputSymbol. ').');
- }
-
- if (!isset($this->_inputActions[$state])) {
- $this->_inputActions[$state] = array();
- }
- if (!isset($this->_inputActions[$state][$inputSymbol])) {
- $this->_inputActions[$state][$inputSymbol] = array();
- }
-
- $this->_inputActions[$state][$inputSymbol][] = $action;
- }
-
- /**
- * Add transition action (defined by {state, input} pair).
- * Several transition actions are allowed.
- * Action execution order is defined by addTransitionAction() calls
- *
- * @param integer|string $sourceState
- * @param integer|string $targetState
- * @param Zend_Search_Lucene_FSMAction $action
- */
- public function addTransitionAction($sourceState, $targetState, Zend_Search_Lucene_FSMAction $action)
- {
- if (!isset($this->_states[$sourceState])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined source state (' . $sourceState. ').');
- }
- if (!isset($this->_states[$targetState])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('Undefined source state (' . $targetState. ').');
- }
-
- if (!isset($this->_transitionActions[$sourceState])) {
- $this->_transitionActions[$sourceState] = array();
- }
- if (!isset($this->_transitionActions[$sourceState][$targetState])) {
- $this->_transitionActions[$sourceState][$targetState] = array();
- }
-
- $this->_transitionActions[$sourceState][$targetState][] = $action;
- }
-
-
- /**
- * Process an input
- *
- * @param mixed $input
- * @throws Zend_Search_Exception
- */
- public function process($input)
- {
- if (!isset($this->_rules[$this->_currentState])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('There is no any rule for current state (' . $this->_currentState . ').');
- }
- if (!isset($this->_rules[$this->_currentState][$input])) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('There is no any rule for {current state, input} pair (' . $this->_currentState . ', ' . $input . ').');
- }
-
- $sourceState = $this->_currentState;
- $targetState = $this->_rules[$this->_currentState][$input];
-
- if ($sourceState != $targetState && isset($this->_exitActions[$sourceState])) {
- foreach ($this->_exitActions[$sourceState] as $action) {
- $action->doAction();
- }
- }
- if (isset($this->_inputActions[$sourceState]) &&
- isset($this->_inputActions[$sourceState][$input])) {
- foreach ($this->_inputActions[$sourceState][$input] as $action) {
- $action->doAction();
- }
- }
-
-
- $this->_currentState = $targetState;
-
- if (isset($this->_transitionActions[$sourceState]) &&
- isset($this->_transitionActions[$sourceState][$targetState])) {
- foreach ($this->_transitionActions[$sourceState][$targetState] as $action) {
- $action->doAction();
- }
- }
- if ($sourceState != $targetState && isset($this->_entryActions[$targetState])) {
- foreach ($this->_entryActions[$targetState] as $action) {
- $action->doAction();
- }
- }
- }
-
- public function reset()
- {
- if (count($this->_states) == 0) {
- require_once 'Zend/Search/Exception.php';
- throw new Zend_Search_Exception('There is no any state defined for FSM.');
- }
-
- $this->_currentState = $this->_states[0];
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/FSMAction.php b/airtime_mvc/library/Zend/Search/Lucene/FSMAction.php
deleted file mode 100644
index 54fa2b38f..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/FSMAction.php
+++ /dev/null
@@ -1,66 +0,0 @@
-_object = $object;
- $this->_method = $method;
- }
-
- public function doAction()
- {
- $methodName = $this->_method;
- $this->_object->$methodName();
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Field.php b/airtime_mvc/library/Zend/Search/Lucene/Field.php
deleted file mode 100644
index 3e2679810..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Field.php
+++ /dev/null
@@ -1,226 +0,0 @@
-name = $name;
- $this->value = $value;
-
- if (!$isBinary) {
- $this->encoding = $encoding;
- $this->isTokenized = $isTokenized;
- } else {
- $this->encoding = '';
- $this->isTokenized = false;
- }
-
- $this->isStored = $isStored;
- $this->isIndexed = $isIndexed;
- $this->isBinary = $isBinary;
-
- $this->storeTermVector = false;
- $this->boost = 1.0;
- }
-
-
- /**
- * Constructs a String-valued Field that is not tokenized, but is indexed
- * and stored. Useful for non-text fields, e.g. date or url.
- *
- * @param string $name
- * @param string $value
- * @param string $encoding
- * @return Zend_Search_Lucene_Field
- */
- public static function keyword($name, $value, $encoding = '')
- {
- return new self($name, $value, $encoding, true, true, false);
- }
-
-
- /**
- * Constructs a String-valued Field that is not tokenized nor indexed,
- * but is stored in the index, for return with hits.
- *
- * @param string $name
- * @param string $value
- * @param string $encoding
- * @return Zend_Search_Lucene_Field
- */
- public static function unIndexed($name, $value, $encoding = '')
- {
- return new self($name, $value, $encoding, true, false, false);
- }
-
-
- /**
- * Constructs a Binary String valued Field that is not tokenized nor indexed,
- * but is stored in the index, for return with hits.
- *
- * @param string $name
- * @param string $value
- * @param string $encoding
- * @return Zend_Search_Lucene_Field
- */
- public static function binary($name, $value)
- {
- return new self($name, $value, '', true, false, false, true);
- }
-
- /**
- * Constructs a String-valued Field that is tokenized and indexed,
- * and is stored in the index, for return with hits. Useful for short text
- * fields, like "title" or "subject". Term vector will not be stored for this field.
- *
- * @param string $name
- * @param string $value
- * @param string $encoding
- * @return Zend_Search_Lucene_Field
- */
- public static function text($name, $value, $encoding = '')
- {
- return new self($name, $value, $encoding, true, true, true);
- }
-
-
- /**
- * Constructs a String-valued Field that is tokenized and indexed,
- * but that is not stored in the index.
- *
- * @param string $name
- * @param string $value
- * @param string $encoding
- * @return Zend_Search_Lucene_Field
- */
- public static function unStored($name, $value, $encoding = '')
- {
- return new self($name, $value, $encoding, false, true, true);
- }
-
- /**
- * Get field value in UTF-8 encoding
- *
- * @return string
- */
- public function getUtf8Value()
- {
- if (strcasecmp($this->encoding, 'utf8' ) == 0 ||
- strcasecmp($this->encoding, 'utf-8') == 0 ) {
- return $this->value;
- } else {
-
- return (PHP_OS != 'AIX') ? iconv($this->encoding, 'UTF-8', $this->value) : iconv('ISO8859-1', 'UTF-8', $this->value);
- }
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/DictionaryLoader.php b/airtime_mvc/library/Zend/Search/Lucene/Index/DictionaryLoader.php
deleted file mode 100644
index 2888179f5..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/DictionaryLoader.php
+++ /dev/null
@@ -1,268 +0,0 @@
-.tii index file data and
- * returns two arrays - term and tremInfo lists.
- *
- * See Zend_Search_Lucene_Index_SegmintInfo class for details
- *
- * @param string $data
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public static function load($data)
- {
- $termDictionary = array();
- $termInfos = array();
- $pos = 0;
-
- // $tiVersion = $tiiFile->readInt();
- $tiVersion = ord($data[0]) << 24 | ord($data[1]) << 16 | ord($data[2]) << 8 | ord($data[3]);
- $pos += 4;
- if ($tiVersion != (int)0xFFFFFFFE /* pre-2.1 format */ &&
- $tiVersion != (int)0xFFFFFFFD /* 2.1+ format */) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong TermInfoIndexFile file format');
- }
-
- // $indexTermCount = $tiiFile->readLong();
- if (PHP_INT_SIZE > 4) {
- $indexTermCount = ord($data[$pos]) << 56 |
- ord($data[$pos+1]) << 48 |
- ord($data[$pos+2]) << 40 |
- ord($data[$pos+3]) << 32 |
- ord($data[$pos+4]) << 24 |
- ord($data[$pos+5]) << 16 |
- ord($data[$pos+6]) << 8 |
- ord($data[$pos+7]);
- } else {
- if ((ord($data[$pos]) != 0) ||
- (ord($data[$pos+1]) != 0) ||
- (ord($data[$pos+2]) != 0) ||
- (ord($data[$pos+3]) != 0) ||
- ((ord($data[$pos+4]) & 0x80) != 0)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Largest supported segment size (for 32-bit mode) is 2Gb');
- }
-
- $indexTermCount = ord($data[$pos+4]) << 24 |
- ord($data[$pos+5]) << 16 |
- ord($data[$pos+6]) << 8 |
- ord($data[$pos+7]);
- }
- $pos += 8;
-
- // $tiiFile->readInt(); // IndexInterval
- $pos += 4;
-
- // $skipInterval = $tiiFile->readInt();
- $skipInterval = ord($data[$pos]) << 24 | ord($data[$pos+1]) << 16 | ord($data[$pos+2]) << 8 | ord($data[$pos+3]);
- $pos += 4;
- if ($indexTermCount < 1) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong number of terms in a term dictionary index');
- }
-
- if ($tiVersion == (int)0xFFFFFFFD /* 2.1+ format */) {
- /* Skip MaxSkipLevels value */
- $pos += 4;
- }
-
- $prevTerm = '';
- $freqPointer = 0;
- $proxPointer = 0;
- $indexPointer = 0;
- for ($count = 0; $count < $indexTermCount; $count++) {
- //$termPrefixLength = $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $termPrefixLength = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $termPrefixLength |= ($nbyte & 0x7F) << $shift;
- }
-
- // $termSuffix = $tiiFile->readString();
- $nbyte = ord($data[$pos++]);
- $len = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $len |= ($nbyte & 0x7F) << $shift;
- }
- if ($len == 0) {
- $termSuffix = '';
- } else {
- $termSuffix = substr($data, $pos, $len);
- $pos += $len;
- for ($count1 = 0; $count1 < $len; $count1++ ) {
- if (( ord($termSuffix[$count1]) & 0xC0 ) == 0xC0) {
- $addBytes = 1;
- if (ord($termSuffix[$count1]) & 0x20 ) {
- $addBytes++;
-
- // Never used for Java Lucene created index.
- // Java2 doesn't encode strings in four bytes
- if (ord($termSuffix[$count1]) & 0x10 ) {
- $addBytes++;
- }
- }
- $termSuffix .= substr($data, $pos, $addBytes);
- $pos += $addBytes;
- $len += $addBytes;
-
- // Check for null character. Java2 encodes null character
- // in two bytes.
- if (ord($termSuffix[$count1]) == 0xC0 &&
- ord($termSuffix[$count1+1]) == 0x80 ) {
- $termSuffix[$count1] = 0;
- $termSuffix = substr($termSuffix,0,$count1+1)
- . substr($termSuffix,$count1+2);
- }
- $count1 += $addBytes;
- }
- }
- }
-
- // $termValue = Zend_Search_Lucene_Index_Term::getPrefix($prevTerm, $termPrefixLength) . $termSuffix;
- $pb = 0; $pc = 0;
- while ($pb < strlen($prevTerm) && $pc < $termPrefixLength) {
- $charBytes = 1;
- if ((ord($prevTerm[$pb]) & 0xC0) == 0xC0) {
- $charBytes++;
- if (ord($prevTerm[$pb]) & 0x20 ) {
- $charBytes++;
- if (ord($prevTerm[$pb]) & 0x10 ) {
- $charBytes++;
- }
- }
- }
-
- if ($pb + $charBytes > strlen($data)) {
- // wrong character
- break;
- }
-
- $pc++;
- $pb += $charBytes;
- }
- $termValue = substr($prevTerm, 0, $pb) . $termSuffix;
-
- // $termFieldNum = $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $termFieldNum = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $termFieldNum |= ($nbyte & 0x7F) << $shift;
- }
-
- // $docFreq = $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $docFreq = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $docFreq |= ($nbyte & 0x7F) << $shift;
- }
-
- // $freqPointer += $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $vint = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $vint |= ($nbyte & 0x7F) << $shift;
- }
- $freqPointer += $vint;
-
- // $proxPointer += $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $vint = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $vint |= ($nbyte & 0x7F) << $shift;
- }
- $proxPointer += $vint;
-
- if( $docFreq >= $skipInterval ) {
- // $skipDelta = $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $vint = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $vint |= ($nbyte & 0x7F) << $shift;
- }
- $skipDelta = $vint;
- } else {
- $skipDelta = 0;
- }
-
- // $indexPointer += $tiiFile->readVInt();
- $nbyte = ord($data[$pos++]);
- $vint = $nbyte & 0x7F;
- for ($shift=7; ($nbyte & 0x80) != 0; $shift += 7) {
- $nbyte = ord($data[$pos++]);
- $vint |= ($nbyte & 0x7F) << $shift;
- }
- $indexPointer += $vint;
-
-
- // $this->_termDictionary[] = new Zend_Search_Lucene_Index_Term($termValue, $termFieldNum);
- $termDictionary[] = array($termFieldNum, $termValue);
-
- $termInfos[] =
- // new Zend_Search_Lucene_Index_TermInfo($docFreq, $freqPointer, $proxPointer, $skipDelta, $indexPointer);
- array($docFreq, $freqPointer, $proxPointer, $skipDelta, $indexPointer);
-
- $prevTerm = $termValue;
- }
-
- // Check special index entry mark
- if ($termDictionary[0][0] != (int)0xFFFFFFFF) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong TermInfoIndexFile file format');
- }
-
- if (PHP_INT_SIZE > 4) {
- // Treat 64-bit 0xFFFFFFFF as -1
- $termDictionary[0][0] = -1;
- }
-
- return array($termDictionary, $termInfos);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/DocsFilter.php b/airtime_mvc/library/Zend/Search/Lucene/Index/DocsFilter.php
deleted file mode 100644
index bd5262321..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/DocsFilter.php
+++ /dev/null
@@ -1,59 +0,0 @@
- => array( => ,
- * => ,
- * => ,
- * ... ),
- * => array( => ,
- * => ,
- * => ,
- * ... ),
- * => array( => ,
- * => ,
- * => ,
- * ... ),
- * ...
- * )
- *
- * @var array
- */
- public $segmentFilters = array();
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/FieldInfo.php b/airtime_mvc/library/Zend/Search/Lucene/Index/FieldInfo.php
deleted file mode 100644
index 47b2d2149..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/FieldInfo.php
+++ /dev/null
@@ -1,50 +0,0 @@
-name = $name;
- $this->isIndexed = $isIndexed;
- $this->number = $number;
- $this->storeTermVector = $storeTermVector;
- $this->normsOmitted = $normsOmitted;
- $this->payloadsStored = $payloadsStored;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentInfo.php b/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentInfo.php
deleted file mode 100644
index c6a065e61..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentInfo.php
+++ /dev/null
@@ -1,2130 +0,0 @@
- $termValue
- * [1] -> $termFieldNum
- *
- * Corresponding Zend_Search_Lucene_Index_TermInfo object stored in the $_termDictionaryInfos
- *
- * @var array
- */
- private $_termDictionary;
-
- /**
- * Term Dictionary Index TermInfos
- *
- * Array of arrays (Zend_Search_Lucene_Index_TermInfo objects are represented as arrays because
- * of performance considerations)
- * [0] -> $docFreq
- * [1] -> $freqPointer
- * [2] -> $proxPointer
- * [3] -> $skipOffset
- * [4] -> $indexPointer
- *
- * @var array
- */
- private $_termDictionaryInfos;
-
- /**
- * Segment fields. Array of Zend_Search_Lucene_Index_FieldInfo objects for this segment
- *
- * @var array
- */
- private $_fields;
-
- /**
- * Field positions in a dictionary.
- * (Term dictionary contains filelds ordered by names)
- *
- * @var array
- */
- private $_fieldsDicPositions;
-
-
- /**
- * Associative array where the key is the file name and the value is data offset
- * in a compound segment file (.csf).
- *
- * @var array
- */
- private $_segFiles;
-
- /**
- * Associative array where the key is the file name and the value is file size (.csf).
- *
- * @var array
- */
- private $_segFileSizes;
-
- /**
- * Delete file generation number
- *
- * -2 means autodetect latest delete generation
- * -1 means 'there is no delete file'
- * 0 means pre-2.1 format delete file
- * X specifies used delete file
- *
- * @var integer
- */
- private $_delGen;
-
- /**
- * Segment has single norms file
- *
- * If true then one .nrm file is used for all fields
- * Otherwise .fN files are used
- *
- * @var boolean
- */
- private $_hasSingleNormFile;
-
- /**
- * Use compound segment file (*.cfs) to collect all other segment files
- * (excluding .del files)
- *
- * @var boolean
- */
- private $_isCompound;
-
-
- /**
- * File system adapter.
- *
- * @var Zend_Search_Lucene_Storage_Directory_Filesystem
- */
- private $_directory;
-
- /**
- * Normalization factors.
- * An array fieldName => normVector
- * normVector is a binary string.
- * Each byte corresponds to an indexed document in a segment and
- * encodes normalization factor (float value, encoded by
- * Zend_Search_Lucene_Search_Similarity::encodeNorm())
- *
- * @var array
- */
- private $_norms = array();
-
- /**
- * List of deleted documents.
- * bitset if bitset extension is loaded or array otherwise.
- *
- * @var mixed
- */
- private $_deleted = null;
-
- /**
- * $this->_deleted update flag
- *
- * @var boolean
- */
- private $_deletedDirty = false;
-
- /**
- * True if segment uses shared doc store
- *
- * @var boolean
- */
- private $_usesSharedDocStore;
-
- /*
- * Shared doc store options.
- * It's an assotiative array with the following items:
- * - 'offset' => $docStoreOffset The starting document in the shared doc store files where this segment's documents begin
- * - 'segment' => $docStoreSegment The name of the segment that has the shared doc store files.
- * - 'isCompound' => $docStoreIsCompoundFile True, if compound file format is used for the shared doc store files (.cfx file).
- */
- private $_sharedDocStoreOptions;
-
-
- /**
- * Zend_Search_Lucene_Index_SegmentInfo constructor
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @param string $name
- * @param integer $docCount
- * @param integer $delGen
- * @param array|null $docStoreOptions
- * @param boolean $hasSingleNormFile
- * @param boolean $isCompound
- */
- public function __construct(Zend_Search_Lucene_Storage_Directory $directory, $name, $docCount, $delGen = 0, $docStoreOptions = null, $hasSingleNormFile = false, $isCompound = null)
- {
- $this->_directory = $directory;
- $this->_name = $name;
- $this->_docCount = $docCount;
-
- if ($docStoreOptions !== null) {
- $this->_usesSharedDocStore = true;
- $this->_sharedDocStoreOptions = $docStoreOptions;
-
- if ($docStoreOptions['isCompound']) {
- $cfxFile = $this->_directory->getFileObject($docStoreOptions['segment'] . '.cfx');
- $cfxFilesCount = $cfxFile->readVInt();
-
- $cfxFiles = array();
- $cfxFileSizes = array();
-
- for ($count = 0; $count < $cfxFilesCount; $count++) {
- $dataOffset = $cfxFile->readLong();
- if ($count != 0) {
- $cfxFileSizes[$fileName] = $dataOffset - end($cfxFiles);
- }
- $fileName = $cfxFile->readString();
- $cfxFiles[$fileName] = $dataOffset;
- }
- if ($count != 0) {
- $cfxFileSizes[$fileName] = $this->_directory->fileLength($docStoreOptions['segment'] . '.cfx') - $dataOffset;
- }
-
- $this->_sharedDocStoreOptions['files'] = $cfxFiles;
- $this->_sharedDocStoreOptions['fileSizes'] = $cfxFileSizes;
- }
- }
-
- $this->_hasSingleNormFile = $hasSingleNormFile;
- $this->_delGen = $delGen;
- $this->_termDictionary = null;
-
-
- if ($isCompound !== null) {
- $this->_isCompound = $isCompound;
- } else {
- // It's a pre-2.1 segment or isCompound is set to 'unknown'
- // Detect if segment uses compound file
- require_once 'Zend/Search/Lucene/Exception.php';
- try {
- // Try to open compound file
- $this->_directory->getFileObject($name . '.cfs');
-
- // Compound file is found
- $this->_isCompound = true;
- } catch (Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'is not readable') !== false) {
- // Compound file is not found or is not readable
- $this->_isCompound = false;
- } else {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
- }
-
- $this->_segFiles = array();
- if ($this->_isCompound) {
- $cfsFile = $this->_directory->getFileObject($name . '.cfs');
- $segFilesCount = $cfsFile->readVInt();
-
- for ($count = 0; $count < $segFilesCount; $count++) {
- $dataOffset = $cfsFile->readLong();
- if ($count != 0) {
- $this->_segFileSizes[$fileName] = $dataOffset - end($this->_segFiles);
- }
- $fileName = $cfsFile->readString();
- $this->_segFiles[$fileName] = $dataOffset;
- }
- if ($count != 0) {
- $this->_segFileSizes[$fileName] = $this->_directory->fileLength($name . '.cfs') - $dataOffset;
- }
- }
-
- $fnmFile = $this->openCompoundFile('.fnm');
- $fieldsCount = $fnmFile->readVInt();
- $fieldNames = array();
- $fieldNums = array();
- $this->_fields = array();
-
- for ($count=0; $count < $fieldsCount; $count++) {
- $fieldName = $fnmFile->readString();
- $fieldBits = $fnmFile->readByte();
- $this->_fields[$count] = new Zend_Search_Lucene_Index_FieldInfo($fieldName,
- $fieldBits & 0x01 /* field is indexed */,
- $count,
- $fieldBits & 0x02 /* termvectors are stored */,
- $fieldBits & 0x10 /* norms are omitted */,
- $fieldBits & 0x20 /* payloads are stored */);
- if ($fieldBits & 0x10) {
- // norms are omitted for the indexed field
- $this->_norms[$count] = str_repeat(chr(Zend_Search_Lucene_Search_Similarity::encodeNorm(1.0)), $docCount);
- }
-
- $fieldNums[$count] = $count;
- $fieldNames[$count] = $fieldName;
- }
- array_multisort($fieldNames, SORT_ASC, SORT_REGULAR, $fieldNums);
- $this->_fieldsDicPositions = array_flip($fieldNums);
-
- if ($this->_delGen == -2) {
- // SegmentInfo constructor is invoked from index writer
- // Autodetect current delete file generation number
- $this->_delGen = $this->_detectLatestDelGen();
- }
-
- // Load deletions
- $this->_deleted = $this->_loadDelFile();
- }
-
- /**
- * Load detetions file
- *
- * Returns bitset or an array depending on bitset extension availability
- *
- * @return mixed
- * @throws Zend_Search_Lucene_Exception
- */
- private function _loadDelFile()
- {
- if ($this->_delGen == -1) {
- // There is no delete file for this segment
- return null;
- } else if ($this->_delGen == 0) {
- // It's a segment with pre-2.1 format delete file
- // Try to load deletions file
- return $this->_loadPre21DelFile();
- } else {
- // It's 2.1+ format deleteions file
- return $this->_load21DelFile();
- }
- }
-
- /**
- * Load pre-2.1 detetions file
- *
- * Returns bitset or an array depending on bitset extension availability
- *
- * @return mixed
- * @throws Zend_Search_Lucene_Exception
- */
- private function _loadPre21DelFile()
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- try {
- // '.del' files always stored in a separate file
- // Segment compound is not used
- $delFile = $this->_directory->getFileObject($this->_name . '.del');
-
- $byteCount = $delFile->readInt();
- $byteCount = ceil($byteCount/8);
- $bitCount = $delFile->readInt();
-
- if ($bitCount == 0) {
- $delBytes = '';
- } else {
- $delBytes = $delFile->readBytes($byteCount);
- }
-
- if (extension_loaded('bitset')) {
- return $delBytes;
- } else {
- $deletions = array();
- for ($count = 0; $count < $byteCount; $count++) {
- $byte = ord($delBytes[$count]);
- for ($bit = 0; $bit < 8; $bit++) {
- if ($byte & (1<<$bit)) {
- $deletions[$count*8 + $bit] = 1;
- }
- }
- }
-
- return $deletions;
- }
- } catch(Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'is not readable') === false) {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- // There is no deletion file
- $this->_delGen = -1;
-
- return null;
- }
- }
-
- /**
- * Load 2.1+ format detetions file
- *
- * Returns bitset or an array depending on bitset extension availability
- *
- * @return mixed
- */
- private function _load21DelFile()
- {
- $delFile = $this->_directory->getFileObject($this->_name . '_' . base_convert($this->_delGen, 10, 36) . '.del');
-
- $format = $delFile->readInt();
-
- if ($format == (int)0xFFFFFFFF) {
- if (extension_loaded('bitset')) {
- $deletions = bitset_empty();
- } else {
- $deletions = array();
- }
-
- $byteCount = $delFile->readInt();
- $bitCount = $delFile->readInt();
-
- $delFileSize = $this->_directory->fileLength($this->_name . '_' . base_convert($this->_delGen, 10, 36) . '.del');
- $byteNum = 0;
-
- do {
- $dgap = $delFile->readVInt();
- $nonZeroByte = $delFile->readByte();
-
- $byteNum += $dgap;
-
-
- if (extension_loaded('bitset')) {
- for ($bit = 0; $bit < 8; $bit++) {
- if ($nonZeroByte & (1<<$bit)) {
- bitset_incl($deletions, $byteNum*8 + $bit);
- }
- }
- return $deletions;
- } else {
- for ($bit = 0; $bit < 8; $bit++) {
- if ($nonZeroByte & (1<<$bit)) {
- $deletions[$byteNum*8 + $bit] = 1;
- }
- }
- return (count($deletions) > 0) ? $deletions : null;
- }
-
- } while ($delFile->tell() < $delFileSize);
- } else {
- // $format is actually byte count
- $byteCount = ceil($format/8);
- $bitCount = $delFile->readInt();
-
- if ($bitCount == 0) {
- $delBytes = '';
- } else {
- $delBytes = $delFile->readBytes($byteCount);
- }
-
- if (extension_loaded('bitset')) {
- return $delBytes;
- } else {
- $deletions = array();
- for ($count = 0; $count < $byteCount; $count++) {
- $byte = ord($delBytes[$count]);
- for ($bit = 0; $bit < 8; $bit++) {
- if ($byte & (1<<$bit)) {
- $deletions[$count*8 + $bit] = 1;
- }
- }
- }
-
- return (count($deletions) > 0) ? $deletions : null;
- }
- }
- }
-
- /**
- * Opens index file stoted within compound index file
- *
- * @param string $extension
- * @param boolean $shareHandler
- * @throws Zend_Search_Lucene_Exception
- * @return Zend_Search_Lucene_Storage_File
- */
- public function openCompoundFile($extension, $shareHandler = true)
- {
- if (($extension == '.fdx' || $extension == '.fdt') && $this->_usesSharedDocStore) {
- $fdxFName = $this->_sharedDocStoreOptions['segment'] . '.fdx';
- $fdtFName = $this->_sharedDocStoreOptions['segment'] . '.fdt';
-
- if (!$this->_sharedDocStoreOptions['isCompound']) {
- $fdxFile = $this->_directory->getFileObject($fdxFName, $shareHandler);
- $fdxFile->seek($this->_sharedDocStoreOptions['offset']*8, SEEK_CUR);
-
- if ($extension == '.fdx') {
- // '.fdx' file is requested
- return $fdxFile;
- } else {
- // '.fdt' file is requested
- $fdtStartOffset = $fdxFile->readLong();
-
- $fdtFile = $this->_directory->getFileObject($fdtFName, $shareHandler);
- $fdtFile->seek($fdtStartOffset, SEEK_CUR);
-
- return $fdtFile;
- }
- }
-
- if( !isset($this->_sharedDocStoreOptions['files'][$fdxFName]) ) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Shared doc storage segment compound file doesn\'t contain '
- . $fdxFName . ' file.' );
- }
- if( !isset($this->_sharedDocStoreOptions['files'][$fdtFName]) ) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Shared doc storage segment compound file doesn\'t contain '
- . $fdtFName . ' file.' );
- }
-
- // Open shared docstore segment file
- $cfxFile = $this->_directory->getFileObject($this->_sharedDocStoreOptions['segment'] . '.cfx', $shareHandler);
- // Seek to the start of '.fdx' file within compound file
- $cfxFile->seek($this->_sharedDocStoreOptions['files'][$fdxFName]);
- // Seek to the start of current segment documents section
- $cfxFile->seek($this->_sharedDocStoreOptions['offset']*8, SEEK_CUR);
-
- if ($extension == '.fdx') {
- // '.fdx' file is requested
- return $cfxFile;
- } else {
- // '.fdt' file is requested
- $fdtStartOffset = $cfxFile->readLong();
-
- // Seek to the start of '.fdt' file within compound file
- $cfxFile->seek($this->_sharedDocStoreOptions['files'][$fdtFName]);
- // Seek to the start of current segment documents section
- $cfxFile->seek($fdtStartOffset, SEEK_CUR);
-
- return $fdtFile;
- }
- }
-
- $filename = $this->_name . $extension;
-
- if (!$this->_isCompound) {
- return $this->_directory->getFileObject($filename, $shareHandler);
- }
-
- if( !isset($this->_segFiles[$filename]) ) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Segment compound file doesn\'t contain '
- . $filename . ' file.' );
- }
-
- $file = $this->_directory->getFileObject($this->_name . '.cfs', $shareHandler);
- $file->seek($this->_segFiles[$filename]);
- return $file;
- }
-
- /**
- * Get compound file length
- *
- * @param string $extension
- * @return integer
- */
- public function compoundFileLength($extension)
- {
- if (($extension == '.fdx' || $extension == '.fdt') && $this->_usesSharedDocStore) {
- $filename = $this->_sharedDocStoreOptions['segment'] . $extension;
-
- if (!$this->_sharedDocStoreOptions['isCompound']) {
- return $this->_directory->fileLength($filename);
- }
-
- if( !isset($this->_sharedDocStoreOptions['fileSizes'][$filename]) ) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Shared doc store compound file doesn\'t contain '
- . $filename . ' file.' );
- }
-
- return $this->_sharedDocStoreOptions['fileSizes'][$filename];
- }
-
-
- $filename = $this->_name . $extension;
-
- // Try to get common file first
- if ($this->_directory->fileExists($filename)) {
- return $this->_directory->fileLength($filename);
- }
-
- if( !isset($this->_segFileSizes[$filename]) ) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Index compound file doesn\'t contain '
- . $filename . ' file.' );
- }
-
- return $this->_segFileSizes[$filename];
- }
-
- /**
- * Returns field index or -1 if field is not found
- *
- * @param string $fieldName
- * @return integer
- */
- public function getFieldNum($fieldName)
- {
- foreach( $this->_fields as $field ) {
- if( $field->name == $fieldName ) {
- return $field->number;
- }
- }
-
- return -1;
- }
-
- /**
- * Returns field info for specified field
- *
- * @param integer $fieldNum
- * @return Zend_Search_Lucene_Index_FieldInfo
- */
- public function getField($fieldNum)
- {
- return $this->_fields[$fieldNum];
- }
-
- /**
- * Returns array of fields.
- * if $indexed parameter is true, then returns only indexed fields.
- *
- * @param boolean $indexed
- * @return array
- */
- public function getFields($indexed = false)
- {
- $result = array();
- foreach( $this->_fields as $field ) {
- if( (!$indexed) || $field->isIndexed ) {
- $result[ $field->name ] = $field->name;
- }
- }
- return $result;
- }
-
- /**
- * Returns array of FieldInfo objects.
- *
- * @return array
- */
- public function getFieldInfos()
- {
- return $this->_fields;
- }
-
- /**
- * Returns actual deletions file generation number.
- *
- * @return integer
- */
- public function getDelGen()
- {
- return $this->_delGen;
- }
-
- /**
- * Returns the total number of documents in this segment (including deleted documents).
- *
- * @return integer
- */
- public function count()
- {
- return $this->_docCount;
- }
-
- /**
- * Returns number of deleted documents.
- *
- * @return integer
- */
- private function _deletedCount()
- {
- if ($this->_deleted === null) {
- return 0;
- }
-
- if (extension_loaded('bitset')) {
- return count(bitset_to_array($this->_deleted));
- } else {
- return count($this->_deleted);
- }
- }
-
- /**
- * Returns the total number of non-deleted documents in this segment.
- *
- * @return integer
- */
- public function numDocs()
- {
- if ($this->hasDeletions()) {
- return $this->_docCount - $this->_deletedCount();
- } else {
- return $this->_docCount;
- }
- }
-
- /**
- * Get field position in a fields dictionary
- *
- * @param integer $fieldNum
- * @return integer
- */
- private function _getFieldPosition($fieldNum) {
- // Treat values which are not in a translation table as a 'direct value'
- return isset($this->_fieldsDicPositions[$fieldNum]) ?
- $this->_fieldsDicPositions[$fieldNum] : $fieldNum;
- }
-
- /**
- * Return segment name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
-
- /**
- * TermInfo cache
- *
- * Size is 1024.
- * Numbers are used instead of class constants because of performance considerations
- *
- * @var array
- */
- private $_termInfoCache = array();
-
- private function _cleanUpTermInfoCache()
- {
- // Clean 256 term infos
- foreach ($this->_termInfoCache as $key => $termInfo) {
- unset($this->_termInfoCache[$key]);
-
- // leave 768 last used term infos
- if (count($this->_termInfoCache) == 768) {
- break;
- }
- }
- }
-
- /**
- * Load terms dictionary index
- *
- * @throws Zend_Search_Lucene_Exception
- */
- private function _loadDictionaryIndex()
- {
- // Check, if index is already serialized
- if ($this->_directory->fileExists($this->_name . '.sti')) {
- // Load serialized dictionary index data
- $stiFile = $this->_directory->getFileObject($this->_name . '.sti');
- $stiFileData = $stiFile->readBytes($this->_directory->fileLength($this->_name . '.sti'));
-
- // Load dictionary index data
- if (($unserializedData = @unserialize($stiFileData)) !== false) {
- list($this->_termDictionary, $this->_termDictionaryInfos) = $unserializedData;
- return;
- }
- }
-
- // Load data from .tii file and generate .sti file
-
- // Prefetch dictionary index data
- $tiiFile = $this->openCompoundFile('.tii');
- $tiiFileData = $tiiFile->readBytes($this->compoundFileLength('.tii'));
-
- /** Zend_Search_Lucene_Index_DictionaryLoader */
- require_once 'Zend/Search/Lucene/Index/DictionaryLoader.php';
-
- // Load dictionary index data
- list($this->_termDictionary, $this->_termDictionaryInfos) =
- Zend_Search_Lucene_Index_DictionaryLoader::load($tiiFileData);
-
- $stiFileData = serialize(array($this->_termDictionary, $this->_termDictionaryInfos));
- $stiFile = $this->_directory->createFile($this->_name . '.sti');
- $stiFile->writeBytes($stiFileData);
- }
-
- /**
- * Scans terms dictionary and returns term info
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return Zend_Search_Lucene_Index_TermInfo
- */
- public function getTermInfo(Zend_Search_Lucene_Index_Term $term)
- {
- $termKey = $term->key();
- if (isset($this->_termInfoCache[$termKey])) {
- $termInfo = $this->_termInfoCache[$termKey];
-
- // Move termInfo to the end of cache
- unset($this->_termInfoCache[$termKey]);
- $this->_termInfoCache[$termKey] = $termInfo;
-
- return $termInfo;
- }
-
-
- if ($this->_termDictionary === null) {
- $this->_loadDictionaryIndex();
- }
-
- $searchField = $this->getFieldNum($term->field);
-
- if ($searchField == -1) {
- return null;
- }
- $searchDicField = $this->_getFieldPosition($searchField);
-
- // search for appropriate value in dictionary
- $lowIndex = 0;
- $highIndex = count($this->_termDictionary)-1;
- while ($highIndex >= $lowIndex) {
- // $mid = ($highIndex - $lowIndex)/2;
- $mid = ($highIndex + $lowIndex) >> 1;
- $midTerm = $this->_termDictionary[$mid];
-
- $fieldNum = $this->_getFieldPosition($midTerm[0] /* field */);
- $delta = $searchDicField - $fieldNum;
- if ($delta == 0) {
- $delta = strcmp($term->text, $midTerm[1] /* text */);
- }
-
- if ($delta < 0) {
- $highIndex = $mid-1;
- } elseif ($delta > 0) {
- $lowIndex = $mid+1;
- } else {
- // return $this->_termDictionaryInfos[$mid]; // We got it!
- $a = $this->_termDictionaryInfos[$mid];
- $termInfo = new Zend_Search_Lucene_Index_TermInfo($a[0], $a[1], $a[2], $a[3], $a[4]);
-
- // Put loaded termInfo into cache
- $this->_termInfoCache[$termKey] = $termInfo;
-
- return $termInfo;
- }
- }
-
- if ($highIndex == -1) {
- // Term is out of the dictionary range
- return null;
- }
-
- $prevPosition = $highIndex;
- $prevTerm = $this->_termDictionary[$prevPosition];
- $prevTermInfo = $this->_termDictionaryInfos[$prevPosition];
-
- $tisFile = $this->openCompoundFile('.tis');
- $tiVersion = $tisFile->readInt();
- if ($tiVersion != (int)0xFFFFFFFE /* pre-2.1 format */ &&
- $tiVersion != (int)0xFFFFFFFD /* 2.1+ format */) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong TermInfoFile file format');
- }
-
- $termCount = $tisFile->readLong();
- $indexInterval = $tisFile->readInt();
- $skipInterval = $tisFile->readInt();
- if ($tiVersion == (int)0xFFFFFFFD /* 2.1+ format */) {
- $maxSkipLevels = $tisFile->readInt();
- }
-
- $tisFile->seek($prevTermInfo[4] /* indexPointer */ - (($tiVersion == (int)0xFFFFFFFD)? 24 : 20) /* header size*/, SEEK_CUR);
-
- $termValue = $prevTerm[1] /* text */;
- $termFieldNum = $prevTerm[0] /* field */;
- $freqPointer = $prevTermInfo[1] /* freqPointer */;
- $proxPointer = $prevTermInfo[2] /* proxPointer */;
- for ($count = $prevPosition*$indexInterval + 1;
- $count <= $termCount &&
- ( $this->_getFieldPosition($termFieldNum) < $searchDicField ||
- ($this->_getFieldPosition($termFieldNum) == $searchDicField &&
- strcmp($termValue, $term->text) < 0) );
- $count++) {
- $termPrefixLength = $tisFile->readVInt();
- $termSuffix = $tisFile->readString();
- $termFieldNum = $tisFile->readVInt();
- $termValue = Zend_Search_Lucene_Index_Term::getPrefix($termValue, $termPrefixLength) . $termSuffix;
-
- $docFreq = $tisFile->readVInt();
- $freqPointer += $tisFile->readVInt();
- $proxPointer += $tisFile->readVInt();
- if( $docFreq >= $skipInterval ) {
- $skipOffset = $tisFile->readVInt();
- } else {
- $skipOffset = 0;
- }
- }
-
- if ($termFieldNum == $searchField && $termValue == $term->text) {
- $termInfo = new Zend_Search_Lucene_Index_TermInfo($docFreq, $freqPointer, $proxPointer, $skipOffset);
- } else {
- $termInfo = null;
- }
-
- // Put loaded termInfo into cache
- $this->_termInfoCache[$termKey] = $termInfo;
-
- if (count($this->_termInfoCache) == 1024) {
- $this->_cleanUpTermInfoCache();
- }
-
- return $termInfo;
- }
-
- /**
- * Returns IDs of all the documents containing term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param integer $shift
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termDocs(Zend_Search_Lucene_Index_Term $term, $shift = 0, $docsFilter = null)
- {
- $termInfo = $this->getTermInfo($term);
-
- if (!$termInfo instanceof Zend_Search_Lucene_Index_TermInfo) {
- if ($docsFilter !== null && $docsFilter instanceof Zend_Search_Lucene_Index_DocsFilter) {
- $docsFilter->segmentFilters[$this->_name] = array();
- }
- return array();
- }
-
- $frqFile = $this->openCompoundFile('.frq');
- $frqFile->seek($termInfo->freqPointer,SEEK_CUR);
- $docId = 0;
- $result = array();
-
- if ($docsFilter !== null) {
- if (!$docsFilter instanceof Zend_Search_Lucene_Index_DocsFilter) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Documents filter must be an instance of Zend_Search_Lucene_Index_DocsFilter or null.');
- }
-
- if (isset($docsFilter->segmentFilters[$this->_name])) {
- // Filter already has some data for the current segment
-
- // Make short name for the filter (which doesn't need additional dereferencing)
- $filter = &$docsFilter->segmentFilters[$this->_name];
-
- // Check if filter is not empty
- if (count($filter) == 0) {
- return array();
- }
-
- if ($this->_docCount/count($filter) < self::FULL_SCAN_VS_FETCH_BOUNDARY) {
- // Perform fetching
-// ---------------------------------------------------------------
- $updatedFilterData = array();
-
- for( $count=0; $count < $termInfo->docFreq; $count++ ) {
- $docDelta = $frqFile->readVInt();
- if( $docDelta % 2 == 1 ) {
- $docId += ($docDelta-1)/2;
- } else {
- $docId += $docDelta/2;
- // read freq
- $frqFile->readVInt();
- }
-
- if (isset($filter[$docId])) {
- $result[] = $shift + $docId;
- $updatedFilterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- }
- }
- $docsFilter->segmentFilters[$this->_name] = $updatedFilterData;
-// ---------------------------------------------------------------
- } else {
- // Perform full scan
- $updatedFilterData = array();
-
- for( $count=0; $count < $termInfo->docFreq; $count++ ) {
- $docDelta = $frqFile->readVInt();
- if( $docDelta % 2 == 1 ) {
- $docId += ($docDelta-1)/2;
- } else {
- $docId += $docDelta/2;
- // read freq
- $frqFile->readVInt();
- }
-
- if (isset($filter[$docId])) {
- $result[] = $shift + $docId;
- $updatedFilterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- }
- }
- $docsFilter->segmentFilters[$this->_name] = $updatedFilterData;
- }
- } else {
- // Filter is present, but doesn't has data for the current segment yet
- $filterData = array();
- for( $count=0; $count < $termInfo->docFreq; $count++ ) {
- $docDelta = $frqFile->readVInt();
- if( $docDelta % 2 == 1 ) {
- $docId += ($docDelta-1)/2;
- } else {
- $docId += $docDelta/2;
- // read freq
- $frqFile->readVInt();
- }
-
- $result[] = $shift + $docId;
- $filterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- }
- $docsFilter->segmentFilters[$this->_name] = $filterData;
- }
- } else {
- for( $count=0; $count < $termInfo->docFreq; $count++ ) {
- $docDelta = $frqFile->readVInt();
- if( $docDelta % 2 == 1 ) {
- $docId += ($docDelta-1)/2;
- } else {
- $docId += $docDelta/2;
- // read freq
- $frqFile->readVInt();
- }
-
- $result[] = $shift + $docId;
- }
- }
-
- return $result;
- }
-
- /**
- * Returns term freqs array.
- * Result array structure: array(docId => freq, ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param integer $shift
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return Zend_Search_Lucene_Index_TermInfo
- */
- public function termFreqs(Zend_Search_Lucene_Index_Term $term, $shift = 0, $docsFilter = null)
- {
- $termInfo = $this->getTermInfo($term);
-
- if (!$termInfo instanceof Zend_Search_Lucene_Index_TermInfo) {
- if ($docsFilter !== null && $docsFilter instanceof Zend_Search_Lucene_Index_DocsFilter) {
- $docsFilter->segmentFilters[$this->_name] = array();
- }
- return array();
- }
-
- $frqFile = $this->openCompoundFile('.frq');
- $frqFile->seek($termInfo->freqPointer,SEEK_CUR);
- $result = array();
- $docId = 0;
-
- $result = array();
-
- if ($docsFilter !== null) {
- if (!$docsFilter instanceof Zend_Search_Lucene_Index_DocsFilter) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Documents filter must be an instance of Zend_Search_Lucene_Index_DocsFilter or null.');
- }
-
- if (isset($docsFilter->segmentFilters[$this->_name])) {
- // Filter already has some data for the current segment
-
- // Make short name for the filter (which doesn't need additional dereferencing)
- $filter = &$docsFilter->segmentFilters[$this->_name];
-
- // Check if filter is not empty
- if (count($filter) == 0) {
- return array();
- }
-
-
- if ($this->_docCount/count($filter) < self::FULL_SCAN_VS_FETCH_BOUNDARY) {
- // Perform fetching
-// ---------------------------------------------------------------
- $updatedFilterData = array();
-
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- if (isset($filter[$docId])) {
- $result[$shift + $docId] = 1;
- $updatedFilterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- }
- } else {
- $docId += $docDelta/2;
- if (isset($filter[$docId])) {
- $result[$shift + $docId] = $frqFile->readVInt();
- $updatedFilterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- }
- }
- }
- $docsFilter->segmentFilters[$this->_name] = $updatedFilterData;
-// ---------------------------------------------------------------
- } else {
- // Perform full scan
- $updatedFilterData = array();
-
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- if (isset($filter[$docId])) {
- $result[$shift + $docId] = 1;
- $updatedFilterData[$docId] = 1; // 1 is just some constant value, so we don't need additional var dereference here
- }
- } else {
- $docId += $docDelta/2;
- if (isset($filter[$docId])) {
- $result[$shift + $docId] = $frqFile->readVInt();
- $updatedFilterData[$docId] = 1; // 1 is just some constant value, so we don't need additional var dereference here
- }
- }
- }
- $docsFilter->segmentFilters[$this->_name] = $updatedFilterData;
- }
- } else {
- // Filter doesn't has data for current segment
- $filterData = array();
-
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- $result[$shift + $docId] = 1;
- $filterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- } else {
- $docId += $docDelta/2;
- $result[$shift + $docId] = $frqFile->readVInt();
- $filterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- }
- }
-
- $docsFilter->segmentFilters[$this->_name] = $filterData;
- }
- } else {
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- $result[$shift + $docId] = 1;
- } else {
- $docId += $docDelta/2;
- $result[$shift + $docId] = $frqFile->readVInt();
- }
- }
- }
-
- return $result;
- }
-
- /**
- * Returns term positions array.
- * Result array structure: array(docId => array(pos1, pos2, ...), ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param integer $shift
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return Zend_Search_Lucene_Index_TermInfo
- */
- public function termPositions(Zend_Search_Lucene_Index_Term $term, $shift = 0, $docsFilter = null)
- {
- $termInfo = $this->getTermInfo($term);
-
- if (!$termInfo instanceof Zend_Search_Lucene_Index_TermInfo) {
- if ($docsFilter !== null && $docsFilter instanceof Zend_Search_Lucene_Index_DocsFilter) {
- $docsFilter->segmentFilters[$this->_name] = array();
- }
- return array();
- }
-
- $frqFile = $this->openCompoundFile('.frq');
- $frqFile->seek($termInfo->freqPointer,SEEK_CUR);
-
- $docId = 0;
- $freqs = array();
-
-
- if ($docsFilter !== null) {
- if (!$docsFilter instanceof Zend_Search_Lucene_Index_DocsFilter) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Documents filter must be an instance of Zend_Search_Lucene_Index_DocsFilter or null.');
- }
-
- if (isset($docsFilter->segmentFilters[$this->_name])) {
- // Filter already has some data for the current segment
-
- // Make short name for the filter (which doesn't need additional dereferencing)
- $filter = &$docsFilter->segmentFilters[$this->_name];
-
- // Check if filter is not empty
- if (count($filter) == 0) {
- return array();
- }
-
- if ($this->_docCount/count($filter) < self::FULL_SCAN_VS_FETCH_BOUNDARY) {
- // Perform fetching
-// ---------------------------------------------------------------
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- $freqs[$docId] = 1;
- } else {
- $docId += $docDelta/2;
- $freqs[$docId] = $frqFile->readVInt();
- }
- }
-
- $updatedFilterData = array();
- $result = array();
- $prxFile = $this->openCompoundFile('.prx');
- $prxFile->seek($termInfo->proxPointer, SEEK_CUR);
- foreach ($freqs as $docId => $freq) {
- $termPosition = 0;
- $positions = array();
-
- // we have to read .prx file to get right position for next doc
- // even filter doesn't match current document
- for ($count = 0; $count < $freq; $count++ ) {
- $termPosition += $prxFile->readVInt();
- $positions[] = $termPosition;
- }
-
- // Include into updated filter and into result only if doc is matched by filter
- if (isset($filter[$docId])) {
- $updatedFilterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- $result[$shift + $docId] = $positions;
- }
- }
-
- $docsFilter->segmentFilters[$this->_name] = $updatedFilterData;
-// ---------------------------------------------------------------
- } else {
- // Perform full scan
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- $freqs[$docId] = 1;
- } else {
- $docId += $docDelta/2;
- $freqs[$docId] = $frqFile->readVInt();
- }
- }
-
- $updatedFilterData = array();
- $result = array();
- $prxFile = $this->openCompoundFile('.prx');
- $prxFile->seek($termInfo->proxPointer, SEEK_CUR);
- foreach ($freqs as $docId => $freq) {
- $termPosition = 0;
- $positions = array();
-
- // we have to read .prx file to get right position for next doc
- // even filter doesn't match current document
- for ($count = 0; $count < $freq; $count++ ) {
- $termPosition += $prxFile->readVInt();
- $positions[] = $termPosition;
- }
-
- // Include into updated filter and into result only if doc is matched by filter
- if (isset($filter[$docId])) {
- $updatedFilterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
- $result[$shift + $docId] = $positions;
- }
- }
-
- $docsFilter->segmentFilters[$this->_name] = $updatedFilterData;
- }
- } else {
- // Filter doesn't has data for current segment
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- $freqs[$docId] = 1;
- } else {
- $docId += $docDelta/2;
- $freqs[$docId] = $frqFile->readVInt();
- }
- }
-
- $filterData = array();
- $result = array();
- $prxFile = $this->openCompoundFile('.prx');
- $prxFile->seek($termInfo->proxPointer, SEEK_CUR);
- foreach ($freqs as $docId => $freq) {
- $filterData[$docId] = 1; // 1 is just a some constant value, so we don't need additional var dereference here
-
- $termPosition = 0;
- $positions = array();
-
- for ($count = 0; $count < $freq; $count++ ) {
- $termPosition += $prxFile->readVInt();
- $positions[] = $termPosition;
- }
-
- $result[$shift + $docId] = $positions;
- }
-
- $docsFilter->segmentFilters[$this->_name] = $filterData;
- }
- } else {
- for ($count = 0; $count < $termInfo->docFreq; $count++) {
- $docDelta = $frqFile->readVInt();
- if ($docDelta % 2 == 1) {
- $docId += ($docDelta-1)/2;
- $freqs[$docId] = 1;
- } else {
- $docId += $docDelta/2;
- $freqs[$docId] = $frqFile->readVInt();
- }
- }
-
- $result = array();
- $prxFile = $this->openCompoundFile('.prx');
- $prxFile->seek($termInfo->proxPointer, SEEK_CUR);
- foreach ($freqs as $docId => $freq) {
- $termPosition = 0;
- $positions = array();
-
- for ($count = 0; $count < $freq; $count++ ) {
- $termPosition += $prxFile->readVInt();
- $positions[] = $termPosition;
- }
-
- $result[$shift + $docId] = $positions;
- }
- }
-
- return $result;
- }
-
- /**
- * Load normalizatin factors from an index file
- *
- * @param integer $fieldNum
- * @throws Zend_Search_Lucene_Exception
- */
- private function _loadNorm($fieldNum)
- {
- if ($this->_hasSingleNormFile) {
- $normfFile = $this->openCompoundFile('.nrm');
-
- $header = $normfFile->readBytes(3);
- $headerFormatVersion = $normfFile->readByte();
-
- if ($header != 'NRM' || $headerFormatVersion != (int)0xFF) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong norms file format.');
- }
-
- foreach ($this->_fields as $fNum => $fieldInfo) {
- if ($fieldInfo->isIndexed) {
- $this->_norms[$fNum] = $normfFile->readBytes($this->_docCount);
- }
- }
- } else {
- $fFile = $this->openCompoundFile('.f' . $fieldNum);
- $this->_norms[$fieldNum] = $fFile->readBytes($this->_docCount);
- }
- }
-
- /**
- * Returns normalization factor for specified documents
- *
- * @param integer $id
- * @param string $fieldName
- * @return float
- */
- public function norm($id, $fieldName)
- {
- $fieldNum = $this->getFieldNum($fieldName);
-
- if ( !($this->_fields[$fieldNum]->isIndexed) ) {
- return null;
- }
-
- if (!isset($this->_norms[$fieldNum])) {
- $this->_loadNorm($fieldNum);
- }
-
- return Zend_Search_Lucene_Search_Similarity::decodeNorm( ord($this->_norms[$fieldNum][$id]) );
- }
-
- /**
- * Returns norm vector, encoded in a byte string
- *
- * @param string $fieldName
- * @return string
- */
- public function normVector($fieldName)
- {
- $fieldNum = $this->getFieldNum($fieldName);
-
- if ($fieldNum == -1 || !($this->_fields[$fieldNum]->isIndexed)) {
- $similarity = Zend_Search_Lucene_Search_Similarity::getDefault();
-
- return str_repeat(chr($similarity->encodeNorm( $similarity->lengthNorm($fieldName, 0) )),
- $this->_docCount);
- }
-
- if (!isset($this->_norms[$fieldNum])) {
- $this->_loadNorm($fieldNum);
- }
-
- return $this->_norms[$fieldNum];
- }
-
-
- /**
- * Returns true if any documents have been deleted from this index segment.
- *
- * @return boolean
- */
- public function hasDeletions()
- {
- return $this->_deleted !== null;
- }
-
-
- /**
- * Returns true if segment has single norms file.
- *
- * @return boolean
- */
- public function hasSingleNormFile()
- {
- return $this->_hasSingleNormFile ? true : false;
- }
-
- /**
- * Returns true if segment is stored using compound segment file.
- *
- * @return boolean
- */
- public function isCompound()
- {
- return $this->_isCompound;
- }
-
- /**
- * Deletes a document from the index segment.
- * $id is an internal document id
- *
- * @param integer
- */
- public function delete($id)
- {
- $this->_deletedDirty = true;
-
- if (extension_loaded('bitset')) {
- if ($this->_deleted === null) {
- $this->_deleted = bitset_empty($id);
- }
- bitset_incl($this->_deleted, $id);
- } else {
- if ($this->_deleted === null) {
- $this->_deleted = array();
- }
-
- $this->_deleted[$id] = 1;
- }
- }
-
- /**
- * Checks, that document is deleted
- *
- * @param integer
- * @return boolean
- */
- public function isDeleted($id)
- {
- if ($this->_deleted === null) {
- return false;
- }
-
- if (extension_loaded('bitset')) {
- return bitset_in($this->_deleted, $id);
- } else {
- return isset($this->_deleted[$id]);
- }
- }
-
- /**
- * Detect latest delete generation
- *
- * Is actualy used from writeChanges() method or from the constructor if it's invoked from
- * Index writer. In both cases index write lock is already obtained, so we shouldn't care
- * about it
- *
- * @return integer
- */
- private function _detectLatestDelGen()
- {
- $delFileList = array();
- foreach ($this->_directory->fileList() as $file) {
- if ($file == $this->_name . '.del') {
- // Matches .del file name
- $delFileList[] = 0;
- } else if (preg_match('/^' . $this->_name . '_([a-zA-Z0-9]+)\.del$/i', $file, $matches)) {
- // Matches _NNN.del file names
- $delFileList[] = (int)base_convert($matches[1], 36, 10);
- }
- }
-
- if (count($delFileList) == 0) {
- // There is no deletions file for current segment in the directory
- // Set deletions file generation number to 1
- return -1;
- } else {
- // There are some deletions files for current segment in the directory
- // Set deletions file generation number to the highest nuber
- return max($delFileList);
- }
- }
-
- /**
- * Write changes if it's necessary.
- *
- * This method must be invoked only from the Writer _updateSegments() method,
- * so index Write lock has to be already obtained.
- *
- * @internal
- * @throws Zend_Search_Lucene_Exceptions
- */
- public function writeChanges()
- {
- // Get new generation number
- $latestDelGen = $this->_detectLatestDelGen();
-
- if (!$this->_deletedDirty) {
- // There was no deletions by current process
-
- if ($latestDelGen == $this->_delGen) {
- // Delete file hasn't been updated by any concurrent process
- return;
- } else if ($latestDelGen > $this->_delGen) {
- // Delete file has been updated by some concurrent process
- // Reload deletions file
- $this->_delGen = $latestDelGen;
- $this->_deleted = $this->_loadDelFile();
-
- return;
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Delete file processing workflow is corrupted for the segment \'' . $this->_name . '\'.');
- }
- }
-
- if ($latestDelGen > $this->_delGen) {
- // Merge current deletions with latest deletions file
- $this->_delGen = $latestDelGen;
-
- $latestDelete = $this->_loadDelFile();
-
- if (extension_loaded('bitset')) {
- $this->_deleted = bitset_union($this->_deleted, $latestDelete);
- } else {
- $this->_deleted += $latestDelete;
- }
- }
-
- if (extension_loaded('bitset')) {
- $delBytes = $this->_deleted;
- $bitCount = count(bitset_to_array($delBytes));
- } else {
- $byteCount = floor($this->_docCount/8)+1;
- $delBytes = str_repeat(chr(0), $byteCount);
- for ($count = 0; $count < $byteCount; $count++) {
- $byte = 0;
- for ($bit = 0; $bit < 8; $bit++) {
- if (isset($this->_deleted[$count*8 + $bit])) {
- $byte |= (1<<$bit);
- }
- }
- $delBytes[$count] = chr($byte);
- }
- $bitCount = count($this->_deleted);
- }
-
- if ($this->_delGen == -1) {
- // Set delete file generation number to 1
- $this->_delGen = 1;
- } else {
- // Increase delete file generation number by 1
- $this->_delGen++;
- }
-
- $delFile = $this->_directory->createFile($this->_name . '_' . base_convert($this->_delGen, 10, 36) . '.del');
- $delFile->writeInt($this->_docCount);
- $delFile->writeInt($bitCount);
- $delFile->writeBytes($delBytes);
-
- $this->_deletedDirty = false;
- }
-
-
- /**
- * Term Dictionary File object for stream like terms reading
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_tisFile = null;
-
- /**
- * Actual offset of the .tis file data
- *
- * @var integer
- */
- private $_tisFileOffset;
-
- /**
- * Frequencies File object for stream like terms reading
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_frqFile = null;
-
- /**
- * Actual offset of the .frq file data
- *
- * @var integer
- */
- private $_frqFileOffset;
-
- /**
- * Positions File object for stream like terms reading
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_prxFile = null;
-
- /**
- * Actual offset of the .prx file in the compound file
- *
- * @var integer
- */
- private $_prxFileOffset;
-
-
- /**
- * Actual number of terms in term stream
- *
- * @var integer
- */
- private $_termCount = 0;
-
- /**
- * Overall number of terms in term stream
- *
- * @var integer
- */
- private $_termNum = 0;
-
- /**
- * Segment index interval
- *
- * @var integer
- */
- private $_indexInterval;
-
- /**
- * Segment skip interval
- *
- * @var integer
- */
- private $_skipInterval;
-
- /**
- * Last TermInfo in a terms stream
- *
- * @var Zend_Search_Lucene_Index_TermInfo
- */
- private $_lastTermInfo = null;
-
- /**
- * Last Term in a terms stream
- *
- * @var Zend_Search_Lucene_Index_Term
- */
- private $_lastTerm = null;
-
- /**
- * Map of the document IDs
- * Used to get new docID after removing deleted documents.
- * It's not very effective from memory usage point of view,
- * but much more faster, then other methods
- *
- * @var array|null
- */
- private $_docMap = null;
-
- /**
- * An array of all term positions in the documents.
- * Array structure: array( docId => array( pos1, pos2, ...), ...)
- *
- * Is set to null if term positions loading has to be skipped
- *
- * @var array|null
- */
- private $_lastTermPositions;
-
-
- /**
- * Terms scan mode
- *
- * Values:
- *
- * self::SM_TERMS_ONLY - terms are scanned, no additional info is retrieved
- * self::SM_FULL_INFO - terms are scanned, frequency and position info is retrieved
- * self::SM_MERGE_INFO - terms are scanned, frequency and position info is retrieved
- * document numbers are compacted (shifted if segment has deleted documents)
- *
- * @var integer
- */
- private $_termsScanMode;
-
- /** Scan modes */
- const SM_TERMS_ONLY = 0; // terms are scanned, no additional info is retrieved
- const SM_FULL_INFO = 1; // terms are scanned, frequency and position info is retrieved
- const SM_MERGE_INFO = 2; // terms are scanned, frequency and position info is retrieved
- // document numbers are compacted (shifted if segment contains deleted documents)
-
- /**
- * Reset terms stream
- *
- * $startId - id for the fist document
- * $compact - remove deleted documents
- *
- * Returns start document id for the next segment
- *
- * @param integer $startId
- * @param integer $mode
- * @throws Zend_Search_Lucene_Exception
- * @return integer
- */
- public function resetTermsStream(/** $startId = 0, $mode = self::SM_TERMS_ONLY */)
- {
- /**
- * SegmentInfo->resetTermsStream() method actually takes two optional parameters:
- * $startId (default value is 0)
- * $mode (default value is self::SM_TERMS_ONLY)
- */
- $argList = func_get_args();
- if (count($argList) > 2) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong number of arguments');
- } else if (count($argList) == 2) {
- $startId = $argList[0];
- $mode = $argList[1];
- } else if (count($argList) == 1) {
- $startId = $argList[0];
- $mode = self::SM_TERMS_ONLY;
- } else {
- $startId = 0;
- $mode = self::SM_TERMS_ONLY;
- }
-
- if ($this->_tisFile !== null) {
- $this->_tisFile = null;
- }
-
- $this->_tisFile = $this->openCompoundFile('.tis', false);
- $this->_tisFileOffset = $this->_tisFile->tell();
-
- $tiVersion = $this->_tisFile->readInt();
- if ($tiVersion != (int)0xFFFFFFFE /* pre-2.1 format */ &&
- $tiVersion != (int)0xFFFFFFFD /* 2.1+ format */) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong TermInfoFile file format');
- }
-
- $this->_termCount =
- $this->_termNum = $this->_tisFile->readLong(); // Read terms count
- $this->_indexInterval = $this->_tisFile->readInt(); // Read Index interval
- $this->_skipInterval = $this->_tisFile->readInt(); // Read skip interval
- if ($tiVersion == (int)0xFFFFFFFD /* 2.1+ format */) {
- $maxSkipLevels = $this->_tisFile->readInt();
- }
-
- if ($this->_frqFile !== null) {
- $this->_frqFile = null;
- }
- if ($this->_prxFile !== null) {
- $this->_prxFile = null;
- }
- $this->_docMap = array();
-
- $this->_lastTerm = new Zend_Search_Lucene_Index_Term('', -1);
- $this->_lastTermInfo = new Zend_Search_Lucene_Index_TermInfo(0, 0, 0, 0);
- $this->_lastTermPositions = null;
-
- $this->_termsScanMode = $mode;
-
- switch ($mode) {
- case self::SM_TERMS_ONLY:
- // Do nothing
- break;
-
- case self::SM_FULL_INFO:
- // break intentionally omitted
- case self::SM_MERGE_INFO:
- $this->_frqFile = $this->openCompoundFile('.frq', false);
- $this->_frqFileOffset = $this->_frqFile->tell();
-
- $this->_prxFile = $this->openCompoundFile('.prx', false);
- $this->_prxFileOffset = $this->_prxFile->tell();
-
- for ($count = 0; $count < $this->_docCount; $count++) {
- if (!$this->isDeleted($count)) {
- $this->_docMap[$count] = $startId + (($mode == self::SM_MERGE_INFO) ? count($this->_docMap) : $count);
- }
- }
- break;
-
- default:
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong terms scaning mode specified.');
- break;
- }
-
- // Calculate next segment start id (since $this->_docMap structure may be cleaned by $this->nextTerm() call)
- $nextSegmentStartId = $startId + (($mode == self::SM_MERGE_INFO) ? count($this->_docMap) : $this->_docCount);
- $this->nextTerm();
-
- return $nextSegmentStartId;
- }
-
-
- /**
- * Skip terms stream up to specified term preffix.
- *
- * Prefix contains fully specified field info and portion of searched term
- *
- * @param Zend_Search_Lucene_Index_Term $prefix
- * @throws Zend_Search_Lucene_Exception
- */
- public function skipTo(Zend_Search_Lucene_Index_Term $prefix)
- {
- if ($this->_termDictionary === null) {
- $this->_loadDictionaryIndex();
- }
-
- $searchField = $this->getFieldNum($prefix->field);
-
- if ($searchField == -1) {
- /**
- * Field is not presented in this segment
- * Go to the end of dictionary
- */
- $this->_tisFile = null;
- $this->_frqFile = null;
- $this->_prxFile = null;
-
- $this->_lastTerm = null;
- $this->_lastTermInfo = null;
- $this->_lastTermPositions = null;
-
- return;
- }
- $searchDicField = $this->_getFieldPosition($searchField);
-
- // search for appropriate value in dictionary
- $lowIndex = 0;
- $highIndex = count($this->_termDictionary)-1;
- while ($highIndex >= $lowIndex) {
- // $mid = ($highIndex - $lowIndex)/2;
- $mid = ($highIndex + $lowIndex) >> 1;
- $midTerm = $this->_termDictionary[$mid];
-
- $fieldNum = $this->_getFieldPosition($midTerm[0] /* field */);
- $delta = $searchDicField - $fieldNum;
- if ($delta == 0) {
- $delta = strcmp($prefix->text, $midTerm[1] /* text */);
- }
-
- if ($delta < 0) {
- $highIndex = $mid-1;
- } elseif ($delta > 0) {
- $lowIndex = $mid+1;
- } else {
- // We have reached term we are looking for
- break;
- }
- }
-
- if ($highIndex == -1) {
- // Term is out of the dictionary range
- $this->_tisFile = null;
- $this->_frqFile = null;
- $this->_prxFile = null;
-
- $this->_lastTerm = null;
- $this->_lastTermInfo = null;
- $this->_lastTermPositions = null;
-
- return;
- }
-
- $prevPosition = $highIndex;
- $prevTerm = $this->_termDictionary[$prevPosition];
- $prevTermInfo = $this->_termDictionaryInfos[$prevPosition];
-
- if ($this->_tisFile === null) {
- // The end of terms stream is reached and terms dictionary file is closed
- // Perform mini-reset operation
- $this->_tisFile = $this->openCompoundFile('.tis', false);
-
- if ($this->_termsScanMode == self::SM_FULL_INFO || $this->_termsScanMode == self::SM_MERGE_INFO) {
- $this->_frqFile = $this->openCompoundFile('.frq', false);
- $this->_prxFile = $this->openCompoundFile('.prx', false);
- }
- }
- $this->_tisFile->seek($this->_tisFileOffset + $prevTermInfo[4], SEEK_SET);
-
- $this->_lastTerm = new Zend_Search_Lucene_Index_Term($prevTerm[1] /* text */,
- ($prevTerm[0] == -1) ? '' : $this->_fields[$prevTerm[0] /* field */]->name);
- $this->_lastTermInfo = new Zend_Search_Lucene_Index_TermInfo($prevTermInfo[0] /* docFreq */,
- $prevTermInfo[1] /* freqPointer */,
- $prevTermInfo[2] /* proxPointer */,
- $prevTermInfo[3] /* skipOffset */);
- $this->_termCount = $this->_termNum - $prevPosition*$this->_indexInterval;
-
- if ($highIndex == 0) {
- // skip start entry
- $this->nextTerm();
- } else if ($prefix->field == $this->_lastTerm->field && $prefix->text == $this->_lastTerm->text) {
- // We got exact match in the dictionary index
-
- if ($this->_termsScanMode == self::SM_FULL_INFO || $this->_termsScanMode == self::SM_MERGE_INFO) {
- $this->_lastTermPositions = array();
-
- $this->_frqFile->seek($this->_lastTermInfo->freqPointer + $this->_frqFileOffset, SEEK_SET);
- $freqs = array(); $docId = 0;
- for( $count = 0; $count < $this->_lastTermInfo->docFreq; $count++ ) {
- $docDelta = $this->_frqFile->readVInt();
- if( $docDelta % 2 == 1 ) {
- $docId += ($docDelta-1)/2;
- $freqs[ $docId ] = 1;
- } else {
- $docId += $docDelta/2;
- $freqs[ $docId ] = $this->_frqFile->readVInt();
- }
- }
-
- $this->_prxFile->seek($this->_lastTermInfo->proxPointer + $this->_prxFileOffset, SEEK_SET);
- foreach ($freqs as $docId => $freq) {
- $termPosition = 0; $positions = array();
-
- for ($count = 0; $count < $freq; $count++ ) {
- $termPosition += $this->_prxFile->readVInt();
- $positions[] = $termPosition;
- }
-
- if (isset($this->_docMap[$docId])) {
- $this->_lastTermPositions[$this->_docMap[$docId]] = $positions;
- }
- }
- }
-
- return;
- }
-
- // Search term matching specified prefix
- while ($this->_lastTerm !== null) {
- if ( strcmp($this->_lastTerm->field, $prefix->field) > 0 ||
- ($prefix->field == $this->_lastTerm->field && strcmp($this->_lastTerm->text, $prefix->text) >= 0) ) {
- // Current term matches or greate than the pattern
- return;
- }
-
- $this->nextTerm();
- }
- }
-
-
- /**
- * Scans terms dictionary and returns next term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function nextTerm()
- {
- if ($this->_tisFile === null || $this->_termCount == 0) {
- $this->_lastTerm = null;
- $this->_lastTermInfo = null;
- $this->_lastTermPositions = null;
- $this->_docMap = null;
-
- // may be necessary for "empty" segment
- $this->_tisFile = null;
- $this->_frqFile = null;
- $this->_prxFile = null;
-
- return null;
- }
-
- $termPrefixLength = $this->_tisFile->readVInt();
- $termSuffix = $this->_tisFile->readString();
- $termFieldNum = $this->_tisFile->readVInt();
- $termValue = Zend_Search_Lucene_Index_Term::getPrefix($this->_lastTerm->text, $termPrefixLength) . $termSuffix;
-
- $this->_lastTerm = new Zend_Search_Lucene_Index_Term($termValue, $this->_fields[$termFieldNum]->name);
-
- $docFreq = $this->_tisFile->readVInt();
- $freqPointer = $this->_lastTermInfo->freqPointer + $this->_tisFile->readVInt();
- $proxPointer = $this->_lastTermInfo->proxPointer + $this->_tisFile->readVInt();
- if ($docFreq >= $this->_skipInterval) {
- $skipOffset = $this->_tisFile->readVInt();
- } else {
- $skipOffset = 0;
- }
-
- $this->_lastTermInfo = new Zend_Search_Lucene_Index_TermInfo($docFreq, $freqPointer, $proxPointer, $skipOffset);
-
-
- if ($this->_termsScanMode == self::SM_FULL_INFO || $this->_termsScanMode == self::SM_MERGE_INFO) {
- $this->_lastTermPositions = array();
-
- $this->_frqFile->seek($this->_lastTermInfo->freqPointer + $this->_frqFileOffset, SEEK_SET);
- $freqs = array(); $docId = 0;
- for( $count = 0; $count < $this->_lastTermInfo->docFreq; $count++ ) {
- $docDelta = $this->_frqFile->readVInt();
- if( $docDelta % 2 == 1 ) {
- $docId += ($docDelta-1)/2;
- $freqs[ $docId ] = 1;
- } else {
- $docId += $docDelta/2;
- $freqs[ $docId ] = $this->_frqFile->readVInt();
- }
- }
-
- $this->_prxFile->seek($this->_lastTermInfo->proxPointer + $this->_prxFileOffset, SEEK_SET);
- foreach ($freqs as $docId => $freq) {
- $termPosition = 0; $positions = array();
-
- for ($count = 0; $count < $freq; $count++ ) {
- $termPosition += $this->_prxFile->readVInt();
- $positions[] = $termPosition;
- }
-
- if (isset($this->_docMap[$docId])) {
- $this->_lastTermPositions[$this->_docMap[$docId]] = $positions;
- }
- }
- }
-
- $this->_termCount--;
- if ($this->_termCount == 0) {
- $this->_tisFile = null;
- $this->_frqFile = null;
- $this->_prxFile = null;
- }
-
- return $this->_lastTerm;
- }
-
- /**
- * Close terms stream
- *
- * Should be used for resources clean up if stream is not read up to the end
- */
- public function closeTermsStream()
- {
- $this->_tisFile = null;
- $this->_frqFile = null;
- $this->_prxFile = null;
-
- $this->_lastTerm = null;
- $this->_lastTermInfo = null;
- $this->_lastTermPositions = null;
-
- $this->_docMap = null;
- }
-
-
- /**
- * Returns term in current position
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function currentTerm()
- {
- return $this->_lastTerm;
- }
-
-
- /**
- * Returns an array of all term positions in the documents.
- * Return array structure: array( docId => array( pos1, pos2, ...), ...)
- *
- * @return array
- */
- public function currentTermPositions()
- {
- return $this->_lastTermPositions;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentMerger.php b/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentMerger.php
deleted file mode 100644
index 0c958344b..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentMerger.php
+++ /dev/null
@@ -1,271 +0,0 @@
-][] =>
- *
- * @var array
- */
- private $_fieldsMap = array();
-
-
-
- /**
- * Object constructor.
- *
- * Creates new segment merger with $directory as target to merge segments into
- * and $name as a name of new segment
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @param string $name
- */
- public function __construct($directory, $name)
- {
- /** Zend_Search_Lucene_Index_SegmentWriter_StreamWriter */
- require_once 'Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php';
- $this->_writer = new Zend_Search_Lucene_Index_SegmentWriter_StreamWriter($directory, $name);
- }
-
-
- /**
- * Add segmnet to a collection of segments to be merged
- *
- * @param Zend_Search_Lucene_Index_SegmentInfo $segment
- */
- public function addSource(Zend_Search_Lucene_Index_SegmentInfo $segmentInfo)
- {
- $this->_segmentInfos[$segmentInfo->getName()] = $segmentInfo;
- }
-
-
- /**
- * Do merge.
- *
- * Returns number of documents in newly created segment
- *
- * @return Zend_Search_Lucene_Index_SegmentInfo
- * @throws Zend_Search_Lucene_Exception
- */
- public function merge()
- {
- if ($this->_mergeDone) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Merge is already done.');
- }
-
- if (count($this->_segmentInfos) < 1) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wrong number of segments to be merged ('
- . count($this->_segmentInfos)
- . ').');
- }
-
- $this->_mergeFields();
- $this->_mergeNorms();
- $this->_mergeStoredFields();
- $this->_mergeTerms();
-
- $this->_mergeDone = true;
-
- return $this->_writer->close();
- }
-
-
- /**
- * Merge fields information
- */
- private function _mergeFields()
- {
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- foreach ($segmentInfo->getFieldInfos() as $fieldInfo) {
- $this->_fieldsMap[$segName][$fieldInfo->number] = $this->_writer->addFieldInfo($fieldInfo);
- }
- }
- }
-
- /**
- * Merge field's normalization factors
- */
- private function _mergeNorms()
- {
- foreach ($this->_writer->getFieldInfos() as $fieldInfo) {
- if ($fieldInfo->isIndexed) {
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- if ($segmentInfo->hasDeletions()) {
- $srcNorm = $segmentInfo->normVector($fieldInfo->name);
- $norm = '';
- $docs = $segmentInfo->count();
- for ($count = 0; $count < $docs; $count++) {
- if (!$segmentInfo->isDeleted($count)) {
- $norm .= $srcNorm[$count];
- }
- }
- $this->_writer->addNorm($fieldInfo->name, $norm);
- } else {
- $this->_writer->addNorm($fieldInfo->name, $segmentInfo->normVector($fieldInfo->name));
- }
- }
- }
- }
- }
-
- /**
- * Merge fields information
- */
- private function _mergeStoredFields()
- {
- $this->_docCount = 0;
-
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- $fdtFile = $segmentInfo->openCompoundFile('.fdt');
-
- for ($count = 0; $count < $segmentInfo->count(); $count++) {
- $fieldCount = $fdtFile->readVInt();
- $storedFields = array();
-
- for ($count2 = 0; $count2 < $fieldCount; $count2++) {
- $fieldNum = $fdtFile->readVInt();
- $bits = $fdtFile->readByte();
- $fieldInfo = $segmentInfo->getField($fieldNum);
-
- if (!($bits & 2)) { // Text data
- $storedFields[] =
- new Zend_Search_Lucene_Field($fieldInfo->name,
- $fdtFile->readString(),
- 'UTF-8',
- true,
- $fieldInfo->isIndexed,
- $bits & 1 );
- } else { // Binary data
- $storedFields[] =
- new Zend_Search_Lucene_Field($fieldInfo->name,
- $fdtFile->readBinary(),
- '',
- true,
- $fieldInfo->isIndexed,
- $bits & 1,
- true);
- }
- }
-
- if (!$segmentInfo->isDeleted($count)) {
- $this->_docCount++;
- $this->_writer->addStoredFields($storedFields);
- }
- }
- }
- }
-
-
- /**
- * Merge fields information
- */
- private function _mergeTerms()
- {
- /** Zend_Search_Lucene_Index_TermsPriorityQueue */
- require_once 'Zend/Search/Lucene/Index/TermsPriorityQueue.php';
-
- $segmentInfoQueue = new Zend_Search_Lucene_Index_TermsPriorityQueue();
-
- $segmentStartId = 0;
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- $segmentStartId = $segmentInfo->resetTermsStream($segmentStartId, Zend_Search_Lucene_Index_SegmentInfo::SM_MERGE_INFO);
-
- // Skip "empty" segments
- if ($segmentInfo->currentTerm() !== null) {
- $segmentInfoQueue->put($segmentInfo);
- }
- }
-
- $this->_writer->initializeDictionaryFiles();
-
- $termDocs = array();
- while (($segmentInfo = $segmentInfoQueue->pop()) !== null) {
- // Merge positions array
- $termDocs += $segmentInfo->currentTermPositions();
-
- if ($segmentInfoQueue->top() === null ||
- $segmentInfoQueue->top()->currentTerm()->key() !=
- $segmentInfo->currentTerm()->key()) {
- // We got new term
- ksort($termDocs, SORT_NUMERIC);
-
- // Add term if it's contained in any document
- if (count($termDocs) > 0) {
- $this->_writer->addTerm($segmentInfo->currentTerm(), $termDocs);
- }
- $termDocs = array();
- }
-
- $segmentInfo->nextTerm();
- // check, if segment dictionary is finished
- if ($segmentInfo->currentTerm() !== null) {
- // Put segment back into the priority queue
- $segmentInfoQueue->put($segmentInfo);
- }
- }
-
- $this->_writer->closeDictionaryFiles();
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter.php b/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter.php
deleted file mode 100644
index 49268980b..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter.php
+++ /dev/null
@@ -1,634 +0,0 @@
- normVector
- * normVector is a binary string.
- * Each byte corresponds to an indexed document in a segment and
- * encodes normalization factor (float value, encoded by
- * Zend_Search_Lucene_Search_Similarity::encodeNorm())
- *
- * @var array
- */
- protected $_norms = array();
-
-
- /**
- * '.fdx' file - Stored Fields, the field index.
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- protected $_fdxFile = null;
-
- /**
- * '.fdt' file - Stored Fields, the field data.
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- protected $_fdtFile = null;
-
-
- /**
- * Object constructor.
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @param string $name
- */
- public function __construct(Zend_Search_Lucene_Storage_Directory $directory, $name)
- {
- $this->_directory = $directory;
- $this->_name = $name;
- }
-
-
- /**
- * Add field to the segment
- *
- * Returns actual field number
- *
- * @param Zend_Search_Lucene_Field $field
- * @return integer
- */
- public function addField(Zend_Search_Lucene_Field $field)
- {
- if (!isset($this->_fields[$field->name])) {
- $fieldNumber = count($this->_fields);
- $this->_fields[$field->name] =
- new Zend_Search_Lucene_Index_FieldInfo($field->name,
- $field->isIndexed,
- $fieldNumber,
- $field->storeTermVector);
-
- return $fieldNumber;
- } else {
- $this->_fields[$field->name]->isIndexed |= $field->isIndexed;
- $this->_fields[$field->name]->storeTermVector |= $field->storeTermVector;
-
- return $this->_fields[$field->name]->number;
- }
- }
-
- /**
- * Add fieldInfo to the segment
- *
- * Returns actual field number
- *
- * @param Zend_Search_Lucene_Index_FieldInfo $fieldInfo
- * @return integer
- */
- public function addFieldInfo(Zend_Search_Lucene_Index_FieldInfo $fieldInfo)
- {
- if (!isset($this->_fields[$fieldInfo->name])) {
- $fieldNumber = count($this->_fields);
- $this->_fields[$fieldInfo->name] =
- new Zend_Search_Lucene_Index_FieldInfo($fieldInfo->name,
- $fieldInfo->isIndexed,
- $fieldNumber,
- $fieldInfo->storeTermVector);
-
- return $fieldNumber;
- } else {
- $this->_fields[$fieldInfo->name]->isIndexed |= $fieldInfo->isIndexed;
- $this->_fields[$fieldInfo->name]->storeTermVector |= $fieldInfo->storeTermVector;
-
- return $this->_fields[$fieldInfo->name]->number;
- }
- }
-
- /**
- * Returns array of FieldInfo objects.
- *
- * @return array
- */
- public function getFieldInfos()
- {
- return $this->_fields;
- }
-
- /**
- * Add stored fields information
- *
- * @param array $storedFields array of Zend_Search_Lucene_Field objects
- */
- public function addStoredFields($storedFields)
- {
- if (!isset($this->_fdxFile)) {
- $this->_fdxFile = $this->_directory->createFile($this->_name . '.fdx');
- $this->_fdtFile = $this->_directory->createFile($this->_name . '.fdt');
-
- $this->_files[] = $this->_name . '.fdx';
- $this->_files[] = $this->_name . '.fdt';
- }
-
- $this->_fdxFile->writeLong($this->_fdtFile->tell());
- $this->_fdtFile->writeVInt(count($storedFields));
- foreach ($storedFields as $field) {
- $this->_fdtFile->writeVInt($this->_fields[$field->name]->number);
- $fieldBits = ($field->isTokenized ? 0x01 : 0x00) |
- ($field->isBinary ? 0x02 : 0x00) |
- 0x00; /* 0x04 - third bit, compressed (ZLIB) */
- $this->_fdtFile->writeByte($fieldBits);
- if ($field->isBinary) {
- $this->_fdtFile->writeVInt(strlen($field->value));
- $this->_fdtFile->writeBytes($field->value);
- } else {
- $this->_fdtFile->writeString($field->getUtf8Value());
- }
- }
-
- $this->_docCount++;
- }
-
- /**
- * Returns the total number of documents in this segment.
- *
- * @return integer
- */
- public function count()
- {
- return $this->_docCount;
- }
-
- /**
- * Return segment name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Dump Field Info (.fnm) segment file
- */
- protected function _dumpFNM()
- {
- $fnmFile = $this->_directory->createFile($this->_name . '.fnm');
- $fnmFile->writeVInt(count($this->_fields));
-
- $nrmFile = $this->_directory->createFile($this->_name . '.nrm');
- // Write header
- $nrmFile->writeBytes('NRM');
- // Write format specifier
- $nrmFile->writeByte((int)0xFF);
-
- foreach ($this->_fields as $field) {
- $fnmFile->writeString($field->name);
- $fnmFile->writeByte(($field->isIndexed ? 0x01 : 0x00) |
- ($field->storeTermVector ? 0x02 : 0x00)
-// not supported yet 0x04 /* term positions are stored with the term vectors */ |
-// not supported yet 0x08 /* term offsets are stored with the term vectors */ |
- );
-
- if ($field->isIndexed) {
- // pre-2.1 index mode (not used now)
- // $normFileName = $this->_name . '.f' . $field->number;
- // $fFile = $this->_directory->createFile($normFileName);
- // $fFile->writeBytes($this->_norms[$field->name]);
- // $this->_files[] = $normFileName;
-
- $nrmFile->writeBytes($this->_norms[$field->name]);
- }
- }
-
- $this->_files[] = $this->_name . '.fnm';
- $this->_files[] = $this->_name . '.nrm';
- }
-
-
-
- /**
- * Term Dictionary file
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_tisFile = null;
-
- /**
- * Term Dictionary index file
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_tiiFile = null;
-
- /**
- * Frequencies file
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_frqFile = null;
-
- /**
- * Positions file
- *
- * @var Zend_Search_Lucene_Storage_File
- */
- private $_prxFile = null;
-
- /**
- * Number of written terms
- *
- * @var integer
- */
- private $_termCount;
-
-
- /**
- * Last saved term
- *
- * @var Zend_Search_Lucene_Index_Term
- */
- private $_prevTerm;
-
- /**
- * Last saved term info
- *
- * @var Zend_Search_Lucene_Index_TermInfo
- */
- private $_prevTermInfo;
-
- /**
- * Last saved index term
- *
- * @var Zend_Search_Lucene_Index_Term
- */
- private $_prevIndexTerm;
-
- /**
- * Last saved index term info
- *
- * @var Zend_Search_Lucene_Index_TermInfo
- */
- private $_prevIndexTermInfo;
-
- /**
- * Last term dictionary file position
- *
- * @var integer
- */
- private $_lastIndexPosition;
-
- /**
- * Create dicrionary, frequency and positions files and write necessary headers
- */
- public function initializeDictionaryFiles()
- {
- $this->_tisFile = $this->_directory->createFile($this->_name . '.tis');
- $this->_tisFile->writeInt((int)0xFFFFFFFD);
- $this->_tisFile->writeLong(0 /* dummy data for terms count */);
- $this->_tisFile->writeInt(self::$indexInterval);
- $this->_tisFile->writeInt(self::$skipInterval);
- $this->_tisFile->writeInt(self::$maxSkipLevels);
-
- $this->_tiiFile = $this->_directory->createFile($this->_name . '.tii');
- $this->_tiiFile->writeInt((int)0xFFFFFFFD);
- $this->_tiiFile->writeLong(0 /* dummy data for terms count */);
- $this->_tiiFile->writeInt(self::$indexInterval);
- $this->_tiiFile->writeInt(self::$skipInterval);
- $this->_tiiFile->writeInt(self::$maxSkipLevels);
-
- /** Dump dictionary header */
- $this->_tiiFile->writeVInt(0); // preffix length
- $this->_tiiFile->writeString(''); // suffix
- $this->_tiiFile->writeInt((int)0xFFFFFFFF); // field number
- $this->_tiiFile->writeByte((int)0x0F);
- $this->_tiiFile->writeVInt(0); // DocFreq
- $this->_tiiFile->writeVInt(0); // FreqDelta
- $this->_tiiFile->writeVInt(0); // ProxDelta
- $this->_tiiFile->writeVInt(24); // IndexDelta
-
- $this->_frqFile = $this->_directory->createFile($this->_name . '.frq');
- $this->_prxFile = $this->_directory->createFile($this->_name . '.prx');
-
- $this->_files[] = $this->_name . '.tis';
- $this->_files[] = $this->_name . '.tii';
- $this->_files[] = $this->_name . '.frq';
- $this->_files[] = $this->_name . '.prx';
-
- $this->_prevTerm = null;
- $this->_prevTermInfo = null;
- $this->_prevIndexTerm = null;
- $this->_prevIndexTermInfo = null;
- $this->_lastIndexPosition = 24;
- $this->_termCount = 0;
-
- }
-
- /**
- * Add term
- *
- * Term positions is an array( docId => array(pos1, pos2, pos3, ...), ... )
- *
- * @param Zend_Search_Lucene_Index_Term $termEntry
- * @param array $termDocs
- */
- public function addTerm($termEntry, $termDocs)
- {
- $freqPointer = $this->_frqFile->tell();
- $proxPointer = $this->_prxFile->tell();
-
- $prevDoc = 0;
- foreach ($termDocs as $docId => $termPositions) {
- $docDelta = ($docId - $prevDoc)*2;
- $prevDoc = $docId;
- if (count($termPositions) > 1) {
- $this->_frqFile->writeVInt($docDelta);
- $this->_frqFile->writeVInt(count($termPositions));
- } else {
- $this->_frqFile->writeVInt($docDelta + 1);
- }
-
- $prevPosition = 0;
- foreach ($termPositions as $position) {
- $this->_prxFile->writeVInt($position - $prevPosition);
- $prevPosition = $position;
- }
- }
-
- if (count($termDocs) >= self::$skipInterval) {
- /**
- * @todo Write Skip Data to a freq file.
- * It's not used now, but make index more optimal
- */
- $skipOffset = $this->_frqFile->tell() - $freqPointer;
- } else {
- $skipOffset = 0;
- }
-
- $term = new Zend_Search_Lucene_Index_Term($termEntry->text,
- $this->_fields[$termEntry->field]->number);
- $termInfo = new Zend_Search_Lucene_Index_TermInfo(count($termDocs),
- $freqPointer, $proxPointer, $skipOffset);
-
- $this->_dumpTermDictEntry($this->_tisFile, $this->_prevTerm, $term, $this->_prevTermInfo, $termInfo);
-
- if (($this->_termCount + 1) % self::$indexInterval == 0) {
- $this->_dumpTermDictEntry($this->_tiiFile, $this->_prevIndexTerm, $term, $this->_prevIndexTermInfo, $termInfo);
-
- $indexPosition = $this->_tisFile->tell();
- $this->_tiiFile->writeVInt($indexPosition - $this->_lastIndexPosition);
- $this->_lastIndexPosition = $indexPosition;
-
- }
- $this->_termCount++;
- }
-
- /**
- * Close dictionary
- */
- public function closeDictionaryFiles()
- {
- $this->_tisFile->seek(4);
- $this->_tisFile->writeLong($this->_termCount);
-
- $this->_tiiFile->seek(4);
- // + 1 is used to count an additional special index entry (empty term at the start of the list)
- $this->_tiiFile->writeLong(($this->_termCount - $this->_termCount % self::$indexInterval)/self::$indexInterval + 1);
- }
-
-
- /**
- * Dump Term Dictionary segment file entry.
- * Used to write entry to .tis or .tii files
- *
- * @param Zend_Search_Lucene_Storage_File $dicFile
- * @param Zend_Search_Lucene_Index_Term $prevTerm
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_TermInfo $prevTermInfo
- * @param Zend_Search_Lucene_Index_TermInfo $termInfo
- */
- protected function _dumpTermDictEntry(Zend_Search_Lucene_Storage_File $dicFile,
- &$prevTerm, Zend_Search_Lucene_Index_Term $term,
- &$prevTermInfo, Zend_Search_Lucene_Index_TermInfo $termInfo)
- {
- if (isset($prevTerm) && $prevTerm->field == $term->field) {
- $matchedBytes = 0;
- $maxBytes = min(strlen($prevTerm->text), strlen($term->text));
- while ($matchedBytes < $maxBytes &&
- $prevTerm->text[$matchedBytes] == $term->text[$matchedBytes]) {
- $matchedBytes++;
- }
-
- // Calculate actual matched UTF-8 pattern
- $prefixBytes = 0;
- $prefixChars = 0;
- while ($prefixBytes < $matchedBytes) {
- $charBytes = 1;
- if ((ord($term->text[$prefixBytes]) & 0xC0) == 0xC0) {
- $charBytes++;
- if (ord($term->text[$prefixBytes]) & 0x20 ) {
- $charBytes++;
- if (ord($term->text[$prefixBytes]) & 0x10 ) {
- $charBytes++;
- }
- }
- }
-
- if ($prefixBytes + $charBytes > $matchedBytes) {
- // char crosses matched bytes boundary
- // skip char
- break;
- }
-
- $prefixChars++;
- $prefixBytes += $charBytes;
- }
-
- // Write preffix length
- $dicFile->writeVInt($prefixChars);
- // Write suffix
- $dicFile->writeString(substr($term->text, $prefixBytes));
- } else {
- // Write preffix length
- $dicFile->writeVInt(0);
- // Write suffix
- $dicFile->writeString($term->text);
- }
- // Write field number
- $dicFile->writeVInt($term->field);
- // DocFreq (the count of documents which contain the term)
- $dicFile->writeVInt($termInfo->docFreq);
-
- $prevTerm = $term;
-
- if (!isset($prevTermInfo)) {
- // Write FreqDelta
- $dicFile->writeVInt($termInfo->freqPointer);
- // Write ProxDelta
- $dicFile->writeVInt($termInfo->proxPointer);
- } else {
- // Write FreqDelta
- $dicFile->writeVInt($termInfo->freqPointer - $prevTermInfo->freqPointer);
- // Write ProxDelta
- $dicFile->writeVInt($termInfo->proxPointer - $prevTermInfo->proxPointer);
- }
- // Write SkipOffset - it's not 0 when $termInfo->docFreq > self::$skipInterval
- if ($termInfo->skipOffset != 0) {
- $dicFile->writeVInt($termInfo->skipOffset);
- }
-
- $prevTermInfo = $termInfo;
- }
-
-
- /**
- * Generate compound index file
- */
- protected function _generateCFS()
- {
- $cfsFile = $this->_directory->createFile($this->_name . '.cfs');
- $cfsFile->writeVInt(count($this->_files));
-
- $dataOffsetPointers = array();
- foreach ($this->_files as $fileName) {
- $dataOffsetPointers[$fileName] = $cfsFile->tell();
- $cfsFile->writeLong(0); // write dummy data
- $cfsFile->writeString($fileName);
- }
-
- foreach ($this->_files as $fileName) {
- // Get actual data offset
- $dataOffset = $cfsFile->tell();
- // Seek to the data offset pointer
- $cfsFile->seek($dataOffsetPointers[$fileName]);
- // Write actual data offset value
- $cfsFile->writeLong($dataOffset);
- // Seek back to the end of file
- $cfsFile->seek($dataOffset);
-
- $dataFile = $this->_directory->getFileObject($fileName);
-
- $byteCount = $this->_directory->fileLength($fileName);
- while ($byteCount > 0) {
- $data = $dataFile->readBytes(min($byteCount, 131072 /*128Kb*/));
- $byteCount -= strlen($data);
- $cfsFile->writeBytes($data);
- }
-
- $this->_directory->deleteFile($fileName);
- }
- }
-
-
- /**
- * Close segment, write it to disk and return segment info
- *
- * @return Zend_Search_Lucene_Index_SegmentInfo
- */
- abstract public function close();
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php b/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php
deleted file mode 100644
index 1090f7055..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php
+++ /dev/null
@@ -1,230 +0,0 @@
-_termDocs = array();
- $this->_termDictionary = array();
- }
-
-
- /**
- * Adds a document to this segment.
- *
- * @param Zend_Search_Lucene_Document $document
- * @throws Zend_Search_Lucene_Exception
- */
- public function addDocument(Zend_Search_Lucene_Document $document)
- {
- /** Zend_Search_Lucene_Search_Similarity */
- require_once 'Zend/Search/Lucene/Search/Similarity.php';
-
- $storedFields = array();
- $docNorms = array();
- $similarity = Zend_Search_Lucene_Search_Similarity::getDefault();
-
- foreach ($document->getFieldNames() as $fieldName) {
- $field = $document->getField($fieldName);
-
- if ($field->storeTermVector) {
- /**
- * @todo term vector storing support
- */
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Store term vector functionality is not supported yet.');
- }
-
- if ($field->isIndexed) {
- if ($field->isTokenized) {
- /** Zend_Search_Lucene_Analysis_Analyzer */
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
-
- $analyzer = Zend_Search_Lucene_Analysis_Analyzer::getDefault();
- $analyzer->setInput($field->value, $field->encoding);
-
- $position = 0;
- $tokenCounter = 0;
- while (($token = $analyzer->nextToken()) !== null) {
- $tokenCounter++;
-
- $term = new Zend_Search_Lucene_Index_Term($token->getTermText(), $field->name);
- $termKey = $term->key();
-
- if (!isset($this->_termDictionary[$termKey])) {
- // New term
- $this->_termDictionary[$termKey] = $term;
- $this->_termDocs[$termKey] = array();
- $this->_termDocs[$termKey][$this->_docCount] = array();
- } else if (!isset($this->_termDocs[$termKey][$this->_docCount])) {
- // Existing term, but new term entry
- $this->_termDocs[$termKey][$this->_docCount] = array();
- }
- $position += $token->getPositionIncrement();
- $this->_termDocs[$termKey][$this->_docCount][] = $position;
- }
-
- if ($tokenCounter == 0) {
- // Field contains empty value. Treat it as non-indexed and non-tokenized
- $field = clone($field);
- $field->isIndexed = $field->isTokenized = false;
- } else {
- $docNorms[$field->name] = chr($similarity->encodeNorm( $similarity->lengthNorm($field->name,
- $tokenCounter)*
- $document->boost*
- $field->boost ));
- }
- } else if (($fieldUtf8Value = $field->getUtf8Value()) == '') {
- // Field contains empty value. Treat it as non-indexed and non-tokenized
- $field = clone($field);
- $field->isIndexed = $field->isTokenized = false;
- } else {
- $term = new Zend_Search_Lucene_Index_Term($fieldUtf8Value, $field->name);
- $termKey = $term->key();
-
- if (!isset($this->_termDictionary[$termKey])) {
- // New term
- $this->_termDictionary[$termKey] = $term;
- $this->_termDocs[$termKey] = array();
- $this->_termDocs[$termKey][$this->_docCount] = array();
- } else if (!isset($this->_termDocs[$termKey][$this->_docCount])) {
- // Existing term, but new term entry
- $this->_termDocs[$termKey][$this->_docCount] = array();
- }
- $this->_termDocs[$termKey][$this->_docCount][] = 0; // position
-
- $docNorms[$field->name] = chr($similarity->encodeNorm( $similarity->lengthNorm($field->name, 1)*
- $document->boost*
- $field->boost ));
- }
- }
-
- if ($field->isStored) {
- $storedFields[] = $field;
- }
-
- $this->addField($field);
- }
-
- foreach ($this->_fields as $fieldName => $field) {
- if (!$field->isIndexed) {
- continue;
- }
-
- if (!isset($this->_norms[$fieldName])) {
- $this->_norms[$fieldName] = str_repeat(chr($similarity->encodeNorm( $similarity->lengthNorm($fieldName, 0) )),
- $this->_docCount);
- }
-
- if (isset($docNorms[$fieldName])){
- $this->_norms[$fieldName] .= $docNorms[$fieldName];
- } else {
- $this->_norms[$fieldName] .= chr($similarity->encodeNorm( $similarity->lengthNorm($fieldName, 0) ));
- }
- }
-
- $this->addStoredFields($storedFields);
- }
-
-
- /**
- * Dump Term Dictionary (.tis) and Term Dictionary Index (.tii) segment files
- */
- protected function _dumpDictionary()
- {
- ksort($this->_termDictionary, SORT_STRING);
-
- $this->initializeDictionaryFiles();
-
- foreach ($this->_termDictionary as $termId => $term) {
- $this->addTerm($term, $this->_termDocs[$termId]);
- }
-
- $this->closeDictionaryFiles();
- }
-
-
- /**
- * Close segment, write it to disk and return segment info
- *
- * @return Zend_Search_Lucene_Index_SegmentInfo
- */
- public function close()
- {
- if ($this->_docCount == 0) {
- return null;
- }
-
- $this->_dumpFNM();
- $this->_dumpDictionary();
-
- $this->_generateCFS();
-
- /** Zend_Search_Lucene_Index_SegmentInfo */
- require_once 'Zend/Search/Lucene/Index/SegmentInfo.php';
-
- return new Zend_Search_Lucene_Index_SegmentInfo($this->_directory,
- $this->_name,
- $this->_docCount,
- -1,
- null,
- true,
- true);
- }
-
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php b/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php
deleted file mode 100644
index 70bcb2cfe..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php
+++ /dev/null
@@ -1,94 +0,0 @@
-_fdxFile = $this->_directory->createFile($this->_name . '.fdx');
- $this->_fdtFile = $this->_directory->createFile($this->_name . '.fdt');
-
- $this->_files[] = $this->_name . '.fdx';
- $this->_files[] = $this->_name . '.fdt';
- }
-
- public function addNorm($fieldName, $normVector)
- {
- if (isset($this->_norms[$fieldName])) {
- $this->_norms[$fieldName] .= $normVector;
- } else {
- $this->_norms[$fieldName] = $normVector;
- }
- }
-
- /**
- * Close segment, write it to disk and return segment info
- *
- * @return Zend_Search_Lucene_Index_SegmentInfo
- */
- public function close()
- {
- if ($this->_docCount == 0) {
- return null;
- }
-
- $this->_dumpFNM();
- $this->_generateCFS();
-
- /** Zend_Search_Lucene_Index_SegmentInfo */
- require_once 'Zend/Search/Lucene/Index/SegmentInfo.php';
-
- return new Zend_Search_Lucene_Index_SegmentInfo($this->_directory,
- $this->_name,
- $this->_docCount,
- -1,
- null,
- true,
- true);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/Term.php b/airtime_mvc/library/Zend/Search/Lucene/Index/Term.php
deleted file mode 100644
index 333e4a5f1..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/Term.php
+++ /dev/null
@@ -1,144 +0,0 @@
-field = ($field === null)? Zend_Search_Lucene::getDefaultSearchField() : $field;
- $this->text = $text;
- }
-
-
- /**
- * Returns term key
- *
- * @return string
- */
- public function key()
- {
- return $this->field . chr(0) . $this->text;
- }
-
- /**
- * Get term prefix
- *
- * @param string $str
- * @param integer $length
- * @return string
- */
- public static function getPrefix($str, $length)
- {
- $prefixBytes = 0;
- $prefixChars = 0;
- while ($prefixBytes < strlen($str) && $prefixChars < $length) {
- $charBytes = 1;
- if ((ord($str[$prefixBytes]) & 0xC0) == 0xC0) {
- $charBytes++;
- if (ord($str[$prefixBytes]) & 0x20 ) {
- $charBytes++;
- if (ord($str[$prefixBytes]) & 0x10 ) {
- $charBytes++;
- }
- }
- }
-
- if ($prefixBytes + $charBytes > strlen($str)) {
- // wrong character
- break;
- }
-
- $prefixChars++;
- $prefixBytes += $charBytes;
- }
-
- return substr($str, 0, $prefixBytes);
- }
-
- /**
- * Get UTF-8 string length
- *
- * @param string $str
- * @return string
- */
- public static function getLength($str)
- {
- $bytes = 0;
- $chars = 0;
- while ($bytes < strlen($str)) {
- $charBytes = 1;
- if ((ord($str[$bytes]) & 0xC0) == 0xC0) {
- $charBytes++;
- if (ord($str[$bytes]) & 0x20 ) {
- $charBytes++;
- if (ord($str[$bytes]) & 0x10 ) {
- $charBytes++;
- }
- }
- }
-
- if ($bytes + $charBytes > strlen($str)) {
- // wrong character
- break;
- }
-
- $chars++;
- $bytes += $charBytes;
- }
-
- return $chars;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/TermInfo.php b/airtime_mvc/library/Zend/Search/Lucene/Index/TermInfo.php
deleted file mode 100644
index 679211430..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/TermInfo.php
+++ /dev/null
@@ -1,80 +0,0 @@
-docFreq = $docFreq;
- $this->freqPointer = $freqPointer;
- $this->proxPointer = $proxPointer;
- $this->skipOffset = $skipOffset;
- $this->indexPointer = $indexPointer;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/TermsPriorityQueue.php b/airtime_mvc/library/Zend/Search/Lucene/Index/TermsPriorityQueue.php
deleted file mode 100644
index 1547faef6..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/TermsPriorityQueue.php
+++ /dev/null
@@ -1,49 +0,0 @@
-currentTerm()->key(), $termsStream2->currentTerm()->key()) < 0;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Index/TermsStream/Interface.php b/airtime_mvc/library/Zend/Search/Lucene/Index/TermsStream/Interface.php
deleted file mode 100644
index b8a706424..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Index/TermsStream/Interface.php
+++ /dev/null
@@ -1,66 +0,0 @@
- 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @var integer
- */
- public $mergeFactor = 10;
-
- /**
- * File system adapter.
- *
- * @var Zend_Search_Lucene_Storage_Directory
- */
- private $_directory = null;
-
-
- /**
- * Changes counter.
- *
- * @var integer
- */
- private $_versionUpdate = 0;
-
- /**
- * List of the segments, created by index writer
- * Array of Zend_Search_Lucene_Index_SegmentInfo objects
- *
- * @var array
- */
- private $_newSegments = array();
-
- /**
- * List of segments to be deleted on commit
- *
- * @var array
- */
- private $_segmentsToDelete = array();
-
- /**
- * Current segment to add documents
- *
- * @var Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter
- */
- private $_currentSegment = null;
-
- /**
- * Array of Zend_Search_Lucene_Index_SegmentInfo objects for this index.
- *
- * It's a reference to the corresponding Zend_Search_Lucene::$_segmentInfos array
- *
- * @var array Zend_Search_Lucene_Index_SegmentInfo
- */
- private $_segmentInfos;
-
- /**
- * Index target format version
- *
- * @var integer
- */
- private $_targetFormatVersion;
-
- /**
- * List of indexfiles extensions
- *
- * @var array
- */
- private static $_indexExtensions = array('.cfs' => '.cfs',
- '.cfx' => '.cfx',
- '.fnm' => '.fnm',
- '.fdx' => '.fdx',
- '.fdt' => '.fdt',
- '.tis' => '.tis',
- '.tii' => '.tii',
- '.frq' => '.frq',
- '.prx' => '.prx',
- '.tvx' => '.tvx',
- '.tvd' => '.tvd',
- '.tvf' => '.tvf',
- '.del' => '.del',
- '.sti' => '.sti' );
-
-
- /**
- * Create empty index
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @param integer $generation
- * @param integer $nameCount
- */
- public static function createIndex(Zend_Search_Lucene_Storage_Directory $directory, $generation, $nameCount)
- {
- if ($generation == 0) {
- // Create index in pre-2.1 mode
- foreach ($directory->fileList() as $file) {
- if ($file == 'deletable' ||
- $file == 'segments' ||
- isset(self::$_indexExtensions[ substr($file, strlen($file)-4)]) ||
- preg_match('/\.f\d+$/i', $file) /* matches .f file names */) {
- $directory->deleteFile($file);
- }
- }
-
- $segmentsFile = $directory->createFile('segments');
- $segmentsFile->writeInt((int)0xFFFFFFFF);
-
- // write version (initialized by current time)
- $segmentsFile->writeLong(round(microtime(true)));
-
- // write name counter
- $segmentsFile->writeInt($nameCount);
- // write segment counter
- $segmentsFile->writeInt(0);
-
- $deletableFile = $directory->createFile('deletable');
- // write counter
- $deletableFile->writeInt(0);
- } else {
- $genFile = $directory->createFile('segments.gen');
-
- $genFile->writeInt((int)0xFFFFFFFE);
- // Write generation two times
- $genFile->writeLong($generation);
- $genFile->writeLong($generation);
-
- $segmentsFile = $directory->createFile(Zend_Search_Lucene::getSegmentFileName($generation));
- $segmentsFile->writeInt((int)0xFFFFFFFD);
-
- // write version (initialized by current time)
- $segmentsFile->writeLong(round(microtime(true)));
-
- // write name counter
- $segmentsFile->writeInt($nameCount);
- // write segment counter
- $segmentsFile->writeInt(0);
- }
- }
-
- /**
- * Open the index for writing
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @param array $segmentInfos
- * @param integer $targetFormatVersion
- * @param Zend_Search_Lucene_Storage_File $cleanUpLock
- */
- public function __construct(Zend_Search_Lucene_Storage_Directory $directory, &$segmentInfos, $targetFormatVersion)
- {
- $this->_directory = $directory;
- $this->_segmentInfos = &$segmentInfos;
- $this->_targetFormatVersion = $targetFormatVersion;
- }
-
- /**
- * Adds a document to this index.
- *
- * @param Zend_Search_Lucene_Document $document
- */
- public function addDocument(Zend_Search_Lucene_Document $document)
- {
- /** Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter */
- require_once 'Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php';
-
- if ($this->_currentSegment === null) {
- $this->_currentSegment =
- new Zend_Search_Lucene_Index_SegmentWriter_DocumentWriter($this->_directory, $this->_newSegmentName());
- }
- $this->_currentSegment->addDocument($document);
-
- if ($this->_currentSegment->count() >= $this->maxBufferedDocs) {
- $this->commit();
- }
-
- $this->_maybeMergeSegments();
-
- $this->_versionUpdate++;
- }
-
-
- /**
- * Check if we have anything to merge
- *
- * @return boolean
- */
- private function _hasAnythingToMerge()
- {
- $segmentSizes = array();
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- $segmentSizes[$segName] = $segmentInfo->count();
- }
-
- $mergePool = array();
- $poolSize = 0;
- $sizeToMerge = $this->maxBufferedDocs;
- asort($segmentSizes, SORT_NUMERIC);
- foreach ($segmentSizes as $segName => $size) {
- // Check, if segment comes into a new merging block
- while ($size >= $sizeToMerge) {
- // Merge previous block if it's large enough
- if ($poolSize >= $sizeToMerge) {
- return true;
- }
- $mergePool = array();
- $poolSize = 0;
-
- $sizeToMerge *= $this->mergeFactor;
-
- if ($sizeToMerge > $this->maxMergeDocs) {
- return false;
- }
- }
-
- $mergePool[] = $this->_segmentInfos[$segName];
- $poolSize += $size;
- }
-
- if ($poolSize >= $sizeToMerge) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Merge segments if necessary
- */
- private function _maybeMergeSegments()
- {
- if (Zend_Search_Lucene_LockManager::obtainOptimizationLock($this->_directory) === false) {
- return;
- }
-
- if (!$this->_hasAnythingToMerge()) {
- Zend_Search_Lucene_LockManager::releaseOptimizationLock($this->_directory);
- return;
- }
-
- // Update segments list to be sure all segments are not merged yet by another process
- //
- // Segment merging functionality is concentrated in this class and surrounded
- // by optimization lock obtaining/releasing.
- // _updateSegments() refreshes segments list from the latest index generation.
- // So only new segments can be added to the index while we are merging some already existing
- // segments.
- // Newly added segments will be also included into the index by the _updateSegments() call
- // either by another process or by the current process with the commit() call at the end of _mergeSegments() method.
- // That's guaranteed by the serialisation of _updateSegments() execution using exclusive locks.
- $this->_updateSegments();
-
- // Perform standard auto-optimization procedure
- $segmentSizes = array();
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- $segmentSizes[$segName] = $segmentInfo->count();
- }
-
- $mergePool = array();
- $poolSize = 0;
- $sizeToMerge = $this->maxBufferedDocs;
- asort($segmentSizes, SORT_NUMERIC);
- foreach ($segmentSizes as $segName => $size) {
- // Check, if segment comes into a new merging block
- while ($size >= $sizeToMerge) {
- // Merge previous block if it's large enough
- if ($poolSize >= $sizeToMerge) {
- $this->_mergeSegments($mergePool);
- }
- $mergePool = array();
- $poolSize = 0;
-
- $sizeToMerge *= $this->mergeFactor;
-
- if ($sizeToMerge > $this->maxMergeDocs) {
- Zend_Search_Lucene_LockManager::releaseOptimizationLock($this->_directory);
- return;
- }
- }
-
- $mergePool[] = $this->_segmentInfos[$segName];
- $poolSize += $size;
- }
-
- if ($poolSize >= $sizeToMerge) {
- $this->_mergeSegments($mergePool);
- }
-
- Zend_Search_Lucene_LockManager::releaseOptimizationLock($this->_directory);
- }
-
- /**
- * Merge specified segments
- *
- * $segments is an array of SegmentInfo objects
- *
- * @param array $segments
- */
- private function _mergeSegments($segments)
- {
- $newName = $this->_newSegmentName();
-
- /** Zend_Search_Lucene_Index_SegmentMerger */
- require_once 'Zend/Search/Lucene/Index/SegmentMerger.php';
- $merger = new Zend_Search_Lucene_Index_SegmentMerger($this->_directory,
- $newName);
- foreach ($segments as $segmentInfo) {
- $merger->addSource($segmentInfo);
- $this->_segmentsToDelete[$segmentInfo->getName()] = $segmentInfo->getName();
- }
-
- $newSegment = $merger->merge();
- if ($newSegment !== null) {
- $this->_newSegments[$newSegment->getName()] = $newSegment;
- }
-
- $this->commit();
- }
-
- /**
- * Update segments file by adding current segment to a list
- *
- * @throws Zend_Search_Lucene_Exception
- */
- private function _updateSegments()
- {
- // Get an exclusive index lock
- Zend_Search_Lucene_LockManager::obtainWriteLock($this->_directory);
-
- // Write down changes for the segments
- foreach ($this->_segmentInfos as $segInfo) {
- $segInfo->writeChanges();
- }
-
-
- $generation = Zend_Search_Lucene::getActualGeneration($this->_directory);
- $segmentsFile = $this->_directory->getFileObject(Zend_Search_Lucene::getSegmentFileName($generation), false);
- $newSegmentFile = $this->_directory->createFile(Zend_Search_Lucene::getSegmentFileName(++$generation), false);
-
- try {
- $genFile = $this->_directory->getFileObject('segments.gen', false);
- } catch (Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'is not readable') !== false) {
- $genFile = $this->_directory->createFile('segments.gen');
- } else {
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
-
- $genFile->writeInt((int)0xFFFFFFFE);
- // Write generation (first copy)
- $genFile->writeLong($generation);
-
- try {
- // Write format marker
- if ($this->_targetFormatVersion == Zend_Search_Lucene::FORMAT_2_1) {
- $newSegmentFile->writeInt((int)0xFFFFFFFD);
- } else if ($this->_targetFormatVersion == Zend_Search_Lucene::FORMAT_2_3) {
- $newSegmentFile->writeInt((int)0xFFFFFFFC);
- }
-
- // Read src file format identifier
- $format = $segmentsFile->readInt();
- if ($format == (int)0xFFFFFFFF) {
- $srcFormat = Zend_Search_Lucene::FORMAT_PRE_2_1;
- } else if ($format == (int)0xFFFFFFFD) {
- $srcFormat = Zend_Search_Lucene::FORMAT_2_1;
- } else if ($format == (int)0xFFFFFFFC) {
- $srcFormat = Zend_Search_Lucene::FORMAT_2_3;
- } else {
- throw new Zend_Search_Lucene_Exception('Unsupported segments file format');
- }
-
- $version = $segmentsFile->readLong() + $this->_versionUpdate;
- $this->_versionUpdate = 0;
- $newSegmentFile->writeLong($version);
-
- // Write segment name counter
- $newSegmentFile->writeInt($segmentsFile->readInt());
-
- // Get number of segments offset
- $numOfSegmentsOffset = $newSegmentFile->tell();
- // Write dummy data (segment counter)
- $newSegmentFile->writeInt(0);
-
- // Read number of segemnts
- $segmentsCount = $segmentsFile->readInt();
-
- $segments = array();
- for ($count = 0; $count < $segmentsCount; $count++) {
- $segName = $segmentsFile->readString();
- $segSize = $segmentsFile->readInt();
-
- if ($srcFormat == Zend_Search_Lucene::FORMAT_PRE_2_1) {
- // pre-2.1 index format
- $delGen = 0;
- $hasSingleNormFile = false;
- $numField = (int)0xFFFFFFFF;
- $isCompoundByte = 0;
- $docStoreOptions = null;
- } else {
- $delGen = $segmentsFile->readLong();
-
- if ($srcFormat == Zend_Search_Lucene::FORMAT_2_3) {
- $docStoreOffset = $segmentsFile->readInt();
-
- if ($docStoreOffset != (int)0xFFFFFFFF) {
- $docStoreSegment = $segmentsFile->readString();
- $docStoreIsCompoundFile = $segmentsFile->readByte();
-
- $docStoreOptions = array('offset' => $docStoreOffset,
- 'segment' => $docStoreSegment,
- 'isCompound' => ($docStoreIsCompoundFile == 1));
- } else {
- $docStoreOptions = null;
- }
- } else {
- $docStoreOptions = null;
- }
-
- $hasSingleNormFile = $segmentsFile->readByte();
- $numField = $segmentsFile->readInt();
-
- $normGens = array();
- if ($numField != (int)0xFFFFFFFF) {
- for ($count1 = 0; $count1 < $numField; $count1++) {
- $normGens[] = $segmentsFile->readLong();
- }
- }
- $isCompoundByte = $segmentsFile->readByte();
- }
-
- if (!in_array($segName, $this->_segmentsToDelete)) {
- // Load segment if necessary
- if (!isset($this->_segmentInfos[$segName])) {
- if ($isCompoundByte == 0xFF) {
- // The segment is not a compound file
- $isCompound = false;
- } else if ($isCompoundByte == 0x00) {
- // The status is unknown
- $isCompound = null;
- } else if ($isCompoundByte == 0x01) {
- // The segment is a compound file
- $isCompound = true;
- }
-
- /** Zend_Search_Lucene_Index_SegmentInfo */
- require_once 'Zend/Search/Lucene/Index/SegmentInfo.php';
- $this->_segmentInfos[$segName] =
- new Zend_Search_Lucene_Index_SegmentInfo($this->_directory,
- $segName,
- $segSize,
- $delGen,
- $docStoreOptions,
- $hasSingleNormFile,
- $isCompound);
- } else {
- // Retrieve actual deletions file generation number
- $delGen = $this->_segmentInfos[$segName]->getDelGen();
- }
-
- $newSegmentFile->writeString($segName);
- $newSegmentFile->writeInt($segSize);
- $newSegmentFile->writeLong($delGen);
- if ($this->_targetFormatVersion == Zend_Search_Lucene::FORMAT_2_3) {
- if ($docStoreOptions !== null) {
- $newSegmentFile->writeInt($docStoreOffset);
- $newSegmentFile->writeString($docStoreSegment);
- $newSegmentFile->writeByte($docStoreIsCompoundFile);
- } else {
- // Set DocStoreOffset to -1
- $newSegmentFile->writeInt((int)0xFFFFFFFF);
- }
- } else if ($docStoreOptions !== null) {
- // Release index write lock
- Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
-
- throw new Zend_Search_Lucene_Exception('Index conversion to lower format version is not supported.');
- }
-
- $newSegmentFile->writeByte($hasSingleNormFile);
- $newSegmentFile->writeInt($numField);
- if ($numField != (int)0xFFFFFFFF) {
- foreach ($normGens as $normGen) {
- $newSegmentFile->writeLong($normGen);
- }
- }
- $newSegmentFile->writeByte($isCompoundByte);
-
- $segments[$segName] = $segSize;
- }
- }
- $segmentsFile->close();
-
- $segmentsCount = count($segments) + count($this->_newSegments);
-
- foreach ($this->_newSegments as $segName => $segmentInfo) {
- $newSegmentFile->writeString($segName);
- $newSegmentFile->writeInt($segmentInfo->count());
-
- // delete file generation: -1 (there is no delete file yet)
- $newSegmentFile->writeInt((int)0xFFFFFFFF);$newSegmentFile->writeInt((int)0xFFFFFFFF);
- if ($this->_targetFormatVersion == Zend_Search_Lucene::FORMAT_2_3) {
- // docStoreOffset: -1 (segment doesn't use shared doc store)
- $newSegmentFile->writeInt((int)0xFFFFFFFF);
- }
- // HasSingleNormFile
- $newSegmentFile->writeByte($segmentInfo->hasSingleNormFile());
- // NumField
- $newSegmentFile->writeInt((int)0xFFFFFFFF);
- // IsCompoundFile
- $newSegmentFile->writeByte($segmentInfo->isCompound() ? 1 : -1);
-
- $segments[$segmentInfo->getName()] = $segmentInfo->count();
- $this->_segmentInfos[$segName] = $segmentInfo;
- }
- $this->_newSegments = array();
-
- $newSegmentFile->seek($numOfSegmentsOffset);
- $newSegmentFile->writeInt($segmentsCount); // Update segments count
- $newSegmentFile->close();
- } catch (Exception $e) {
- /** Restore previous index generation */
- $generation--;
- $genFile->seek(4, SEEK_SET);
- // Write generation number twice
- $genFile->writeLong($generation); $genFile->writeLong($generation);
-
- // Release index write lock
- Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
-
- // Throw the exception
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
-
- // Write generation (second copy)
- $genFile->writeLong($generation);
-
-
- // Check if another update or read process is not running now
- // If yes, skip clean-up procedure
- if (Zend_Search_Lucene_LockManager::escalateReadLock($this->_directory)) {
- /**
- * Clean-up directory
- */
- $filesToDelete = array();
- $filesTypes = array();
- $filesNumbers = array();
-
- // list of .del files of currently used segments
- // each segment can have several generations of .del files
- // only last should not be deleted
- $delFiles = array();
-
- foreach ($this->_directory->fileList() as $file) {
- if ($file == 'deletable') {
- // 'deletable' file
- $filesToDelete[] = $file;
- $filesTypes[] = 0; // delete this file first, since it's not used starting from Lucene v2.1
- $filesNumbers[] = 0;
- } else if ($file == 'segments') {
- // 'segments' file
- $filesToDelete[] = $file;
- $filesTypes[] = 1; // second file to be deleted "zero" version of segments file (Lucene pre-2.1)
- $filesNumbers[] = 0;
- } else if (preg_match('/^segments_[a-zA-Z0-9]+$/i', $file)) {
- // 'segments_xxx' file
- // Check if it's not a just created generation file
- if ($file != Zend_Search_Lucene::getSegmentFileName($generation)) {
- $filesToDelete[] = $file;
- $filesTypes[] = 2; // first group of files for deletions
- $filesNumbers[] = (int)base_convert(substr($file, 9), 36, 10); // ordered by segment generation numbers
- }
- } else if (preg_match('/(^_([a-zA-Z0-9]+))\.f\d+$/i', $file, $matches)) {
- // one of per segment files ('.f')
- // Check if it's not one of the segments in the current segments set
- if (!isset($segments[$matches[1]])) {
- $filesToDelete[] = $file;
- $filesTypes[] = 3; // second group of files for deletions
- $filesNumbers[] = (int)base_convert($matches[2], 36, 10); // order by segment number
- }
- } else if (preg_match('/(^_([a-zA-Z0-9]+))(_([a-zA-Z0-9]+))\.del$/i', $file, $matches)) {
- // one of per segment files ('_.del' where is '_')
- // Check if it's not one of the segments in the current segments set
- if (!isset($segments[$matches[1]])) {
- $filesToDelete[] = $file;
- $filesTypes[] = 3; // second group of files for deletions
- $filesNumbers[] = (int)base_convert($matches[2], 36, 10); // order by segment number
- } else {
- $segmentNumber = (int)base_convert($matches[2], 36, 10);
- $delGeneration = (int)base_convert($matches[4], 36, 10);
- if (!isset($delFiles[$segmentNumber])) {
- $delFiles[$segmentNumber] = array();
- }
- $delFiles[$segmentNumber][$delGeneration] = $file;
- }
- } else if (isset(self::$_indexExtensions[substr($file, strlen($file)-4)])) {
- // one of per segment files ('.')
- $segmentName = substr($file, 0, strlen($file) - 4);
- // Check if it's not one of the segments in the current segments set
- if (!isset($segments[$segmentName]) &&
- ($this->_currentSegment === null || $this->_currentSegment->getName() != $segmentName)) {
- $filesToDelete[] = $file;
- $filesTypes[] = 3; // second group of files for deletions
- $filesNumbers[] = (int)base_convert(substr($file, 1 /* skip '_' */, strlen($file)-5), 36, 10); // order by segment number
- }
- }
- }
-
- $maxGenNumber = 0;
- // process .del files of currently used segments
- foreach ($delFiles as $segmentNumber => $segmentDelFiles) {
- ksort($delFiles[$segmentNumber], SORT_NUMERIC);
- array_pop($delFiles[$segmentNumber]); // remove last delete file generation from candidates for deleting
-
- end($delFiles[$segmentNumber]);
- $lastGenNumber = key($delFiles[$segmentNumber]);
- if ($lastGenNumber > $maxGenNumber) {
- $maxGenNumber = $lastGenNumber;
- }
- }
- foreach ($delFiles as $segmentNumber => $segmentDelFiles) {
- foreach ($segmentDelFiles as $delGeneration => $file) {
- $filesToDelete[] = $file;
- $filesTypes[] = 4; // third group of files for deletions
- $filesNumbers[] = $segmentNumber*$maxGenNumber + $delGeneration; // order by , pair
- }
- }
-
- // Reorder files for deleting
- array_multisort($filesTypes, SORT_ASC, SORT_NUMERIC,
- $filesNumbers, SORT_ASC, SORT_NUMERIC,
- $filesToDelete, SORT_ASC, SORT_STRING);
-
- foreach ($filesToDelete as $file) {
- try {
- /** Skip shared docstore segments deleting */
- /** @todo Process '.cfx' files to check if them are already unused */
- if (substr($file, strlen($file)-4) != '.cfx') {
- $this->_directory->deleteFile($file);
- }
- } catch (Zend_Search_Lucene_Exception $e) {
- if (strpos($e->getMessage(), 'Can\'t delete file') === false) {
- // That's not "file is under processing or already deleted" exception
- // Pass it through
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
- }
-
- // Return read lock into the previous state
- Zend_Search_Lucene_LockManager::deEscalateReadLock($this->_directory);
- } else {
- // Only release resources if another index reader is running now
- foreach ($this->_segmentsToDelete as $segName) {
- foreach (self::$_indexExtensions as $ext) {
- $this->_directory->purgeFile($segName . $ext);
- }
- }
- }
-
- // Clean-up _segmentsToDelete container
- $this->_segmentsToDelete = array();
-
-
- // Release index write lock
- Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
-
- // Remove unused segments from segments list
- foreach ($this->_segmentInfos as $segName => $segmentInfo) {
- if (!isset($segments[$segName])) {
- unset($this->_segmentInfos[$segName]);
- }
- }
- }
-
- /**
- * Commit current changes
- */
- public function commit()
- {
- if ($this->_currentSegment !== null) {
- $newSegment = $this->_currentSegment->close();
- if ($newSegment !== null) {
- $this->_newSegments[$newSegment->getName()] = $newSegment;
- }
- $this->_currentSegment = null;
- }
-
- $this->_updateSegments();
- }
-
-
- /**
- * Merges the provided indexes into this index.
- *
- * @param array $readers
- * @return void
- */
- public function addIndexes($readers)
- {
- /**
- * @todo implementation
- */
- }
-
- /**
- * Merges all segments together into new one
- *
- * Returns true on success and false if another optimization or auto-optimization process
- * is running now
- *
- * @return boolean
- */
- public function optimize()
- {
- if (Zend_Search_Lucene_LockManager::obtainOptimizationLock($this->_directory) === false) {
- return false;
- }
-
- // Update segments list to be sure all segments are not merged yet by another process
- //
- // Segment merging functionality is concentrated in this class and surrounded
- // by optimization lock obtaining/releasing.
- // _updateSegments() refreshes segments list from the latest index generation.
- // So only new segments can be added to the index while we are merging some already existing
- // segments.
- // Newly added segments will be also included into the index by the _updateSegments() call
- // either by another process or by the current process with the commit() call at the end of _mergeSegments() method.
- // That's guaranteed by the serialisation of _updateSegments() execution using exclusive locks.
- $this->_updateSegments();
-
- $this->_mergeSegments($this->_segmentInfos);
-
- Zend_Search_Lucene_LockManager::releaseOptimizationLock($this->_directory);
-
- return true;
- }
-
- /**
- * Get name for new segment
- *
- * @return string
- */
- private function _newSegmentName()
- {
- Zend_Search_Lucene_LockManager::obtainWriteLock($this->_directory);
-
- $generation = Zend_Search_Lucene::getActualGeneration($this->_directory);
- $segmentsFile = $this->_directory->getFileObject(Zend_Search_Lucene::getSegmentFileName($generation), false);
-
- $segmentsFile->seek(12); // 12 = 4 (int, file format marker) + 8 (long, index version)
- $segmentNameCounter = $segmentsFile->readInt();
-
- $segmentsFile->seek(12); // 12 = 4 (int, file format marker) + 8 (long, index version)
- $segmentsFile->writeInt($segmentNameCounter + 1);
-
- // Flash output to guarantee that wrong value will not be loaded between unlock and
- // return (which calls $segmentsFile destructor)
- $segmentsFile->flush();
-
- Zend_Search_Lucene_LockManager::releaseWriteLock($this->_directory);
-
- return '_' . base_convert($segmentNameCounter, 10, 36);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Interface.php b/airtime_mvc/library/Zend/Search/Lucene/Interface.php
deleted file mode 100644
index 900750dc2..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Interface.php
+++ /dev/null
@@ -1,417 +0,0 @@
- 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @return integer
- */
- public function getMergeFactor();
-
- /**
- * Set index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @param integer $maxMergeDocs
- */
- public function setMergeFactor($mergeFactor);
-
- /**
- * Performs a query against the index and returns an array
- * of Zend_Search_Lucene_Search_QueryHit objects.
- * Input is a string or Zend_Search_Lucene_Search_Query.
- *
- * @param mixed $query
- * @return array Zend_Search_Lucene_Search_QueryHit
- * @throws Zend_Search_Lucene_Exception
- */
- public function find($query);
-
- /**
- * Returns a list of all unique field names that exist in this index.
- *
- * @param boolean $indexed
- * @return array
- */
- public function getFieldNames($indexed = false);
-
- /**
- * Returns a Zend_Search_Lucene_Document object for the document
- * number $id in this index.
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @return Zend_Search_Lucene_Document
- */
- public function getDocument($id);
-
- /**
- * Returns true if index contain documents with specified term.
- *
- * Is used for query optimization.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return boolean
- */
- public function hasTerm(Zend_Search_Lucene_Index_Term $term);
-
- /**
- * Returns IDs of all the documents containing term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termDocs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null);
-
- /**
- * Returns documents filter for all documents containing term.
- *
- * It performs the same operation as termDocs, but return result as
- * Zend_Search_Lucene_Index_DocsFilter object
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return Zend_Search_Lucene_Index_DocsFilter
- */
- public function termDocsFilter(Zend_Search_Lucene_Index_Term $term, $docsFilter = null);
-
- /**
- * Returns an array of all term freqs.
- * Return array structure: array( docId => freq, ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return integer
- */
- public function termFreqs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null);
-
- /**
- * Returns an array of all term positions in the documents.
- * Return array structure: array( docId => array( pos1, pos2, ...), ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termPositions(Zend_Search_Lucene_Index_Term $term, $docsFilter = null);
-
- /**
- * Returns the number of documents in this index containing the $term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return integer
- */
- public function docFreq(Zend_Search_Lucene_Index_Term $term);
-
- /**
- * Retrive similarity used by index reader
- *
- * @return Zend_Search_Lucene_Search_Similarity
- */
- public function getSimilarity();
-
- /**
- * Returns a normalization factor for "field, document" pair.
- *
- * @param integer $id
- * @param string $fieldName
- * @return float
- */
- public function norm($id, $fieldName);
-
- /**
- * Returns true if any documents have been deleted from this index.
- *
- * @return boolean
- */
- public function hasDeletions();
-
- /**
- * Deletes a document from the index.
- * $id is an internal document id
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @throws Zend_Search_Lucene_Exception
- */
- public function delete($id);
-
- /**
- * Adds a document to this index.
- *
- * @param Zend_Search_Lucene_Document $document
- */
- public function addDocument(Zend_Search_Lucene_Document $document);
-
- /**
- * Commit changes resulting from delete() or undeleteAll() operations.
- */
- public function commit();
-
- /**
- * Optimize index.
- *
- * Merges all segments into one
- */
- public function optimize();
-
- /**
- * Returns an array of all terms in this index.
- *
- * @return array
- */
- public function terms();
-
- /**
- * Undeletes all documents currently marked as deleted in this index.
- */
- public function undeleteAll();
-
-
- /**
- * Add reference to the index object
- *
- * @internal
- */
- public function addReference();
-
- /**
- * Remove reference from the index object
- *
- * When reference count becomes zero, index is closed and resources are cleaned up
- *
- * @internal
- */
- public function removeReference();
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/LockManager.php b/airtime_mvc/library/Zend/Search/Lucene/LockManager.php
deleted file mode 100644
index 3e0dd20bd..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/LockManager.php
+++ /dev/null
@@ -1,236 +0,0 @@
-createFile(self::WRITE_LOCK_FILE);
- if (!$lock->lock(LOCK_EX)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Can\'t obtain exclusive index lock');
- }
- return $lock;
- }
-
- /**
- * Release exclusive write lock
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- */
- public static function releaseWriteLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->getFileObject(self::WRITE_LOCK_FILE);
- $lock->unlock();
- }
-
- /**
- * Obtain the exclusive "read escalation/de-escalation" lock
- *
- * Required to protect the escalate/de-escalate read lock process
- * on GFS (and potentially other) mounted filesystems.
- *
- * Why we need this:
- * While GFS supports cluster-wide locking via flock(), it's
- * implementation isn't quite what it should be. The locking
- * semantics that work consistently on a local filesystem tend to
- * fail on GFS mounted filesystems. This appears to be a design defect
- * in the implementation of GFS. How this manifests itself is that
- * conditional promotion of a shared lock to exclusive will always
- * fail, lock release requests are honored but not immediately
- * processed (causing erratic failures of subsequent conditional
- * requests) and the releasing of the exclusive lock before the
- * shared lock is set when a lock is demoted (which can open a window
- * of opportunity for another process to gain an exclusive lock when
- * it shoudln't be allowed to).
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- * @return Zend_Search_Lucene_Storage_File
- * @throws Zend_Search_Lucene_Exception
- */
- private static function _startReadLockProcessing(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->createFile(self::READ_LOCK_PROCESSING_LOCK_FILE);
- if (!$lock->lock(LOCK_EX)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Can\'t obtain exclusive lock for the read lock processing file');
- }
- return $lock;
- }
-
- /**
- * Release the exclusive "read escalation/de-escalation" lock
- *
- * Required to protect the escalate/de-escalate read lock process
- * on GFS (and potentially other) mounted filesystems.
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- */
- private static function _stopReadLockProcessing(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->getFileObject(self::READ_LOCK_PROCESSING_LOCK_FILE);
- $lock->unlock();
- }
-
-
- /**
- * Obtain shared read lock on the index
- *
- * It doesn't block other read or update processes, but prevent index from the premature cleaning-up
- *
- * @param Zend_Search_Lucene_Storage_Directory $defaultLockDirectory
- * @return Zend_Search_Lucene_Storage_File
- * @throws Zend_Search_Lucene_Exception
- */
- public static function obtainReadLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->createFile(self::READ_LOCK_FILE);
- if (!$lock->lock(LOCK_SH)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Can\'t obtain shared reading index lock');
- }
- return $lock;
- }
-
- /**
- * Release shared read lock
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- */
- public static function releaseReadLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->getFileObject(self::READ_LOCK_FILE);
- $lock->unlock();
- }
-
- /**
- * Escalate Read lock to exclusive level
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- * @return boolean
- */
- public static function escalateReadLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- self::_startReadLockProcessing($lockDirectory);
-
- $lock = $lockDirectory->getFileObject(self::READ_LOCK_FILE);
-
- // First, release the shared lock for the benefit of GFS since
- // it will fail the conditional request to promote the lock to
- // "exclusive" while the shared lock is held (even when we are
- // the only holder).
- $lock->unlock();
-
- // GFS is really poor. While the above "unlock" returns, GFS
- // doesn't clean up it's tables right away (which will potentially
- // cause the conditional locking for the "exclusive" lock to fail.
- // We will retry the conditional lock request several times on a
- // failure to get past this. The performance hit is negligible
- // in the grand scheme of things and only will occur with GFS
- // filesystems or if another local process has the shared lock
- // on local filesystems.
- for ($retries = 0; $retries < 10; $retries++) {
- if ($lock->lock(LOCK_EX, true)) {
- // Exclusive lock is obtained!
- self::_stopReadLockProcessing($lockDirectory);
- return true;
- }
-
- // wait 1 microsecond
- usleep(1);
- }
-
- // Restore lock state
- $lock->lock(LOCK_SH);
-
- self::_stopReadLockProcessing($lockDirectory);
- return false;
- }
-
- /**
- * De-escalate Read lock to shared level
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- */
- public static function deEscalateReadLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->getFileObject(self::READ_LOCK_FILE);
- $lock->lock(LOCK_SH);
- }
-
- /**
- * Obtain exclusive optimization lock on the index
- *
- * Returns lock object on success and false otherwise (doesn't block execution)
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- * @return mixed
- */
- public static function obtainOptimizationLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->createFile(self::OPTIMIZATION_LOCK_FILE);
- if (!$lock->lock(LOCK_EX, true)) {
- return false;
- }
- return $lock;
- }
-
- /**
- * Release exclusive optimization lock
- *
- * @param Zend_Search_Lucene_Storage_Directory $lockDirectory
- */
- public static function releaseOptimizationLock(Zend_Search_Lucene_Storage_Directory $lockDirectory)
- {
- $lock = $lockDirectory->getFileObject(self::OPTIMIZATION_LOCK_FILE);
- $lock->unlock();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/MultiSearcher.php b/airtime_mvc/library/Zend/Search/Lucene/MultiSearcher.php
deleted file mode 100644
index 82903396b..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/MultiSearcher.php
+++ /dev/null
@@ -1,973 +0,0 @@
-_indices = $indices;
-
- foreach ($this->_indices as $index) {
- if (!$index instanceof Zend_Search_Lucene_Interface) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('sub-index objects have to implement Zend_Search_Lucene_Interface.');
- }
- }
- }
-
- /**
- * Add index for searching.
- *
- * @param Zend_Search_Lucene_Interface $index
- */
- public function addIndex(Zend_Search_Lucene_Interface $index)
- {
- $this->_indices[] = $index;
- }
-
-
- /**
- * Get current generation number
- *
- * Returns generation number
- * 0 means pre-2.1 index format
- * -1 means there are no segments files.
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public static function getActualGeneration(Zend_Search_Lucene_Storage_Directory $directory)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception("Generation number can't be retrieved for multi-searcher");
- }
-
- /**
- * Get segments file name
- *
- * @param integer $generation
- * @return string
- */
- public static function getSegmentFileName($generation)
- {
- return Zend_Search_Lucene::getSegmentFileName($generation);
- }
-
- /**
- * Get index format version
- *
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public function getFormatVersion()
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception("Format version can't be retrieved for multi-searcher");
- }
-
- /**
- * Set index format version.
- * Index is converted to this format at the nearest upfdate time
- *
- * @param int $formatVersion
- */
- public function setFormatVersion($formatVersion)
- {
- foreach ($this->_indices as $index) {
- $index->setFormatVersion($formatVersion);
- }
- }
-
- /**
- * Returns the Zend_Search_Lucene_Storage_Directory instance for this index.
- *
- * @return Zend_Search_Lucene_Storage_Directory
- */
- public function getDirectory()
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception("Index directory can't be retrieved for multi-searcher");
- }
-
- /**
- * Returns the total number of documents in this index (including deleted documents).
- *
- * @return integer
- */
- public function count()
- {
- $count = 0;
-
- foreach ($this->_indices as $index) {
- $count += $this->_indices->count();
- }
-
- return $count;
- }
-
- /**
- * Returns one greater than the largest possible document number.
- * This may be used to, e.g., determine how big to allocate a structure which will have
- * an element for every document number in an index.
- *
- * @return integer
- */
- public function maxDoc()
- {
- return $this->count();
- }
-
- /**
- * Returns the total number of non-deleted documents in this index.
- *
- * @return integer
- */
- public function numDocs()
- {
- $docs = 0;
-
- foreach ($this->_indices as $index) {
- $docs += $this->_indices->numDocs();
- }
-
- return $docs;
- }
-
- /**
- * Checks, that document is deleted
- *
- * @param integer $id
- * @return boolean
- * @throws Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
- */
- public function isDeleted($id)
- {
- foreach ($this->_indices as $index) {
- $indexCount = $index->count();
-
- if ($indexCount > $id) {
- return $index->isDeleted($id);
- }
-
- $id -= $indexCount;
- }
-
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document id is out of the range.');
- }
-
- /**
- * Set default search field.
- *
- * Null means, that search is performed through all fields by default
- *
- * Default value is null
- *
- * @param string $fieldName
- */
- public static function setDefaultSearchField($fieldName)
- {
- foreach ($this->_indices as $index) {
- $index->setDefaultSearchField($fieldName);
- }
- }
-
-
- /**
- * Get default search field.
- *
- * Null means, that search is performed through all fields by default
- *
- * @return string
- * @throws Zend_Search_Lucene_Exception
- */
- public static function getDefaultSearchField()
- {
- if (count($this->_indices) == 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices list is empty');
- }
-
- $defaultSearchField = reset($this->_indices)->getDefaultSearchField();
-
- foreach ($this->_indices as $index) {
- if ($index->getDefaultSearchField() !== $defaultSearchField) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices have different default search field.');
- }
- }
-
- return $defaultSearchField;
- }
-
- /**
- * Set result set limit.
- *
- * 0 (default) means no limit
- *
- * @param integer $limit
- */
- public static function setResultSetLimit($limit)
- {
- foreach ($this->_indices as $index) {
- $index->setResultSetLimit($limit);
- }
- }
-
- /**
- * Set result set limit.
- *
- * 0 means no limit
- *
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public static function getResultSetLimit()
- {
- if (count($this->_indices) == 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices list is empty');
- }
-
- $defaultResultSetLimit = reset($this->_indices)->getResultSetLimit();
-
- foreach ($this->_indices as $index) {
- if ($index->getResultSetLimit() !== $defaultResultSetLimit) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices have different default search field.');
- }
- }
-
- return $defaultResultSetLimit;
- }
-
- /**
- * Retrieve index maxBufferedDocs option
- *
- * maxBufferedDocs is a minimal number of documents required before
- * the buffered in-memory documents are written into a new Segment
- *
- * Default value is 10
- *
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public function getMaxBufferedDocs()
- {
- if (count($this->_indices) == 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices list is empty');
- }
-
- $maxBufferedDocs = reset($this->_indices)->getMaxBufferedDocs();
-
- foreach ($this->_indices as $index) {
- if ($index->getMaxBufferedDocs() !== $maxBufferedDocs) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices have different default search field.');
- }
- }
-
- return $maxBufferedDocs;
- }
-
- /**
- * Set index maxBufferedDocs option
- *
- * maxBufferedDocs is a minimal number of documents required before
- * the buffered in-memory documents are written into a new Segment
- *
- * Default value is 10
- *
- * @param integer $maxBufferedDocs
- */
- public function setMaxBufferedDocs($maxBufferedDocs)
- {
- foreach ($this->_indices as $index) {
- $index->setMaxBufferedDocs($maxBufferedDocs);
- }
- }
-
- /**
- * Retrieve index maxMergeDocs option
- *
- * maxMergeDocs is a largest number of documents ever merged by addDocument().
- * Small values (e.g., less than 10,000) are best for interactive indexing,
- * as this limits the length of pauses while indexing to a few seconds.
- * Larger values are best for batched indexing and speedier searches.
- *
- * Default value is PHP_INT_MAX
- *
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public function getMaxMergeDocs()
- {
- if (count($this->_indices) == 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices list is empty');
- }
-
- $maxMergeDocs = reset($this->_indices)->getMaxMergeDocs();
-
- foreach ($this->_indices as $index) {
- if ($index->getMaxMergeDocs() !== $maxMergeDocs) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices have different default search field.');
- }
- }
-
- return $maxMergeDocs;
- }
-
- /**
- * Set index maxMergeDocs option
- *
- * maxMergeDocs is a largest number of documents ever merged by addDocument().
- * Small values (e.g., less than 10,000) are best for interactive indexing,
- * as this limits the length of pauses while indexing to a few seconds.
- * Larger values are best for batched indexing and speedier searches.
- *
- * Default value is PHP_INT_MAX
- *
- * @param integer $maxMergeDocs
- */
- public function setMaxMergeDocs($maxMergeDocs)
- {
- foreach ($this->_indices as $index) {
- $index->setMaxMergeDocs($maxMergeDocs);
- }
- }
-
- /**
- * Retrieve index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public function getMergeFactor()
- {
- if (count($this->_indices) == 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices list is empty');
- }
-
- $mergeFactor = reset($this->_indices)->getMergeFactor();
-
- foreach ($this->_indices as $index) {
- if ($index->getMergeFactor() !== $mergeFactor) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices have different default search field.');
- }
- }
-
- return $mergeFactor;
- }
-
- /**
- * Set index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @param integer $maxMergeDocs
- */
- public function setMergeFactor($mergeFactor)
- {
- foreach ($this->_indices as $index) {
- $index->setMaxMergeDocs($mergeFactor);
- }
- }
-
- /**
- * Performs a query against the index and returns an array
- * of Zend_Search_Lucene_Search_QueryHit objects.
- * Input is a string or Zend_Search_Lucene_Search_Query.
- *
- * @param mixed $query
- * @return array Zend_Search_Lucene_Search_QueryHit
- * @throws Zend_Search_Lucene_Exception
- */
- public function find($query)
- {
- if (count($this->_indices) == 0) {
- return array();
- }
-
- $hitsList = array();
-
- $indexShift = 0;
- foreach ($this->_indices as $index) {
- $hits = $index->find($query);
-
- if ($indexShift != 0) {
- foreach ($hits as $hit) {
- $hit->id += $indexShift;
- }
- }
-
- $indexShift += $index->count();
- $hitsList[] = $hits;
- }
-
- /** @todo Implement advanced sorting */
-
- return call_user_func_array('array_merge', $hitsList);
- }
-
- /**
- * Returns a list of all unique field names that exist in this index.
- *
- * @param boolean $indexed
- * @return array
- */
- public function getFieldNames($indexed = false)
- {
- $fieldNamesList = array();
-
- foreach ($this->_indices as $index) {
- $fieldNamesList[] = $index->getFieldNames($indexed);
- }
-
- return array_unique(call_user_func_array('array_merge', $fieldNamesList));
- }
-
- /**
- * Returns a Zend_Search_Lucene_Document object for the document
- * number $id in this index.
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @return Zend_Search_Lucene_Document
- * @throws Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
- */
- public function getDocument($id)
- {
- if ($id instanceof Zend_Search_Lucene_Search_QueryHit) {
- /* @var $id Zend_Search_Lucene_Search_QueryHit */
- $id = $id->id;
- }
-
- foreach ($this->_indices as $index) {
- $indexCount = $index->count();
-
- if ($indexCount > $id) {
- return $index->getDocument($id);
- }
-
- $id -= $indexCount;
- }
-
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document id is out of the range.');
- }
-
- /**
- * Returns true if index contain documents with specified term.
- *
- * Is used for query optimization.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return boolean
- */
- public function hasTerm(Zend_Search_Lucene_Index_Term $term)
- {
- foreach ($this->_indices as $index) {
- if ($index->hasTerm($term)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Returns IDs of all the documents containing term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function termDocs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- if ($docsFilter != null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document filters could not used with multi-searcher');
- }
-
- $docsList = array();
-
- $indexShift = 0;
- foreach ($this->_indices as $index) {
- $docs = $index->termDocs($term);
-
- if ($indexShift != 0) {
- foreach ($docs as $id => $docId) {
- $docs[$id] += $indexShift;
- }
- }
-
- $indexShift += $index->count();
- $docsList[] = $docs;
- }
-
- return call_user_func_array('array_merge', $docsList);
- }
-
- /**
- * Returns documents filter for all documents containing term.
- *
- * It performs the same operation as termDocs, but return result as
- * Zend_Search_Lucene_Index_DocsFilter object
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return Zend_Search_Lucene_Index_DocsFilter
- * @throws Zend_Search_Lucene_Exception
- */
- public function termDocsFilter(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document filters could not used with multi-searcher');
- }
-
- /**
- * Returns an array of all term freqs.
- * Return array structure: array( docId => freq, ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public function termFreqs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- if ($docsFilter != null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document filters could not used with multi-searcher');
- }
-
- $freqsList = array();
-
- $indexShift = 0;
- foreach ($this->_indices as $index) {
- $freqs = $index->termFreqs($term);
-
- if ($indexShift != 0) {
- $freqsShifted = array();
-
- foreach ($freqs as $docId => $freq) {
- $freqsShifted[$docId + $indexShift] = $freq;
- }
- $freqs = $freqsShifted;
- }
-
- $indexShift += $index->count();
- $freqsList[] = $freqs;
- }
-
- return call_user_func_array('array_merge', $freqsList);
- }
-
- /**
- * Returns an array of all term positions in the documents.
- * Return array structure: array( docId => array( pos1, pos2, ...), ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function termPositions(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- if ($docsFilter != null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document filters could not used with multi-searcher');
- }
-
- $termPositionsList = array();
-
- $indexShift = 0;
- foreach ($this->_indices as $index) {
- $termPositions = $index->termPositions($term);
-
- if ($indexShift != 0) {
- $termPositionsShifted = array();
-
- foreach ($termPositions as $docId => $positions) {
- $termPositions[$docId + $indexShift] = $positions;
- }
- $termPositions = $termPositionsShifted;
- }
-
- $indexShift += $index->count();
- $termPositionsList[] = $termPositions;
- }
-
- return call_user_func_array('array_merge', $termPositions);
- }
-
- /**
- * Returns the number of documents in this index containing the $term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return integer
- */
- public function docFreq(Zend_Search_Lucene_Index_Term $term)
- {
- $docFreq = 0;
-
- foreach ($this->_indices as $index) {
- $docFreq += $index->docFreq($term);
- }
-
- return $docFreq;
- }
-
- /**
- * Retrive similarity used by index reader
- *
- * @return Zend_Search_Lucene_Search_Similarity
- * @throws Zend_Search_Lucene_Exception
- */
- public function getSimilarity()
- {
- if (count($this->_indices) == 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices list is empty');
- }
-
- $similarity = reset($this->_indices)->getSimilarity();
-
- foreach ($this->_indices as $index) {
- if ($index->getSimilarity() !== $similarity) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Indices have different similarity.');
- }
- }
-
- return $similarity;
- }
-
- /**
- * Returns a normalization factor for "field, document" pair.
- *
- * @param integer $id
- * @param string $fieldName
- * @return float
- */
- public function norm($id, $fieldName)
- {
- foreach ($this->_indices as $index) {
- $indexCount = $index->count();
-
- if ($indexCount > $id) {
- return $index->norm($id, $fieldName);
- }
-
- $id -= $indexCount;
- }
-
- return null;
- }
-
- /**
- * Returns true if any documents have been deleted from this index.
- *
- * @return boolean
- */
- public function hasDeletions()
- {
- foreach ($this->_indices as $index) {
- if ($index->hasDeletions()) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Deletes a document from the index.
- * $id is an internal document id
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @throws Zend_Search_Lucene_Exception
- */
- public function delete($id)
- {
- foreach ($this->_indices as $index) {
- $indexCount = $index->count();
-
- if ($indexCount > $id) {
- $index->delete($id);
- return;
- }
-
- $id -= $indexCount;
- }
-
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Document id is out of the range.');
- }
-
-
- /**
- * Callback used to choose target index for new documents
- *
- * Function/method signature:
- * Zend_Search_Lucene_Interface callbackFunction(Zend_Search_Lucene_Document $document, array $indices);
- *
- * null means "default documents distributing algorithm"
- *
- * @var callback
- */
- protected $_documentDistributorCallBack = null;
-
- /**
- * Set callback for choosing target index.
- *
- * @param callback $callback
- * @throws Zend_Search_Lucene_Exception
- */
- public function setDocumentDistributorCallback($callback)
- {
- if ($callback !== null && !is_callable($callback)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('$callback parameter must be a valid callback.');
- }
-
- $this->_documentDistributorCallBack = $callback;
- }
-
- /**
- * Get callback for choosing target index.
- *
- * @return callback
- */
- public function getDocumentDistributorCallback()
- {
- return $this->_documentDistributorCallBack;
- }
-
- /**
- * Adds a document to this index.
- *
- * @param Zend_Search_Lucene_Document $document
- * @throws Zend_Search_Lucene_Exception
- */
- public function addDocument(Zend_Search_Lucene_Document $document)
- {
- if ($this->_documentDistributorCallBack !== null) {
- $index = call_user_func($this->_documentDistributorCallBack, $document, $this->_indices);
- } else {
- $index = $this->_indices[array_rand($this->_indices)];
- }
-
- $index->addDocument($document);
- }
-
- /**
- * Commit changes resulting from delete() or undeleteAll() operations.
- */
- public function commit()
- {
- foreach ($this->_indices as $index) {
- $index->commit();
- }
- }
-
- /**
- * Optimize index.
- *
- * Merges all segments into one
- */
- public function optimize()
- {
- foreach ($this->_indices as $index) {
- $index->optimise();
- }
- }
-
- /**
- * Returns an array of all terms in this index.
- *
- * @return array
- */
- public function terms()
- {
- $termsList = array();
-
- foreach ($this->_indices as $index) {
- $termsList[] = $index->terms();
- }
-
- return array_unique(call_user_func_array('array_merge', $termsList));
- }
-
-
- /**
- * Terms stream priority queue object
- *
- * @var Zend_Search_Lucene_TermStreamsPriorityQueue
- */
- private $_termsStream = null;
-
- /**
- * Reset terms stream.
- */
- public function resetTermsStream()
- {
- if ($this->_termsStream === null) {
- /** Zend_Search_Lucene_TermStreamsPriorityQueue */
- require_once 'Zend/Search/Lucene/TermStreamsPriorityQueue.php';
-
- $this->_termsStream = new Zend_Search_Lucene_TermStreamsPriorityQueue($this->_indices);
- } else {
- $this->_termsStream->resetTermsStream();
- }
- }
-
- /**
- * Skip terms stream up to specified term preffix.
- *
- * Prefix contains fully specified field info and portion of searched term
- *
- * @param Zend_Search_Lucene_Index_Term $prefix
- */
- public function skipTo(Zend_Search_Lucene_Index_Term $prefix)
- {
- $this->_termsStream->skipTo($prefix);
- }
-
- /**
- * Scans terms dictionary and returns next term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function nextTerm()
- {
- return $this->_termsStream->nextTerm();
- }
-
- /**
- * Returns term in current position
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function currentTerm()
- {
- return $this->_termsStream->currentTerm();
- }
-
- /**
- * Close terms stream
- *
- * Should be used for resources clean up if stream is not read up to the end
- */
- public function closeTermsStream()
- {
- $this->_termsStream->closeTermsStream();
- $this->_termsStream = null;
- }
-
-
- /**
- * Undeletes all documents currently marked as deleted in this index.
- */
- public function undeleteAll()
- {
- foreach ($this->_indices as $index) {
- $index->undeleteAll();
- }
- }
-
-
- /**
- * Add reference to the index object
- *
- * @internal
- */
- public function addReference()
- {
- // Do nothing, since it's never referenced by indices
- }
-
- /**
- * Remove reference from the index object
- *
- * When reference count becomes zero, index is closed and resources are cleaned up
- *
- * @internal
- */
- public function removeReference()
- {
- // Do nothing, since it's never referenced by indices
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/PriorityQueue.php b/airtime_mvc/library/Zend/Search/Lucene/PriorityQueue.php
deleted file mode 100644
index a34913635..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/PriorityQueue.php
+++ /dev/null
@@ -1,171 +0,0 @@
-_heap);
- $parentId = ($nodeId-1) >> 1; // floor( ($nodeId-1)/2 )
-
- while ($nodeId != 0 && $this->_less($element, $this->_heap[$parentId])) {
- // Move parent node down
- $this->_heap[$nodeId] = $this->_heap[$parentId];
-
- // Move pointer to the next level of tree
- $nodeId = $parentId;
- $parentId = ($nodeId-1) >> 1; // floor( ($nodeId-1)/2 )
- }
-
- // Put new node into the tree
- $this->_heap[$nodeId] = $element;
- }
-
-
- /**
- * Return least element of the queue
- *
- * Constant time
- *
- * @return mixed
- */
- public function top()
- {
- if (count($this->_heap) == 0) {
- return null;
- }
-
- return $this->_heap[0];
- }
-
-
- /**
- * Removes and return least element of the queue
- *
- * O(log(N)) time
- *
- * @return mixed
- */
- public function pop()
- {
- if (count($this->_heap) == 0) {
- return null;
- }
-
- $top = $this->_heap[0];
- $lastId = count($this->_heap) - 1;
-
- /**
- * Find appropriate position for last node
- */
- $nodeId = 0; // Start from a top
- $childId = 1; // First child
-
- // Choose smaller child
- if ($lastId > 2 && $this->_less($this->_heap[2], $this->_heap[1])) {
- $childId = 2;
- }
-
- while ($childId < $lastId &&
- $this->_less($this->_heap[$childId], $this->_heap[$lastId])
- ) {
- // Move child node up
- $this->_heap[$nodeId] = $this->_heap[$childId];
-
- $nodeId = $childId; // Go down
- $childId = ($nodeId << 1) + 1; // First child
-
- // Choose smaller child
- if (($childId+1) < $lastId &&
- $this->_less($this->_heap[$childId+1], $this->_heap[$childId])
- ) {
- $childId++;
- }
- }
-
- // Move last element to the new position
- $this->_heap[$nodeId] = $this->_heap[$lastId];
- unset($this->_heap[$lastId]);
-
- return $top;
- }
-
-
- /**
- * Clear queue
- */
- public function clear()
- {
- $this->_heap = array();
- }
-
-
- /**
- * Compare elements
- *
- * Returns true, if $el1 is less than $el2; else otherwise
- *
- * @param mixed $el1
- * @param mixed $el2
- * @return boolean
- */
- abstract protected function _less($el1, $el2);
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Proxy.php b/airtime_mvc/library/Zend/Search/Lucene/Proxy.php
deleted file mode 100644
index 0fb2c4f62..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Proxy.php
+++ /dev/null
@@ -1,612 +0,0 @@
-_index = $index;
- $this->_index->addReference();
- }
-
- /**
- * Object destructor
- */
- public function __destruct()
- {
- if ($this->_index !== null) {
- // This code is invoked if Zend_Search_Lucene_Interface object constructor throws an exception
- $this->_index->removeReference();
- }
- $this->_index = null;
- }
-
- /**
- * Get current generation number
- *
- * Returns generation number
- * 0 means pre-2.1 index format
- * -1 means there are no segments files.
- *
- * @param Zend_Search_Lucene_Storage_Directory $directory
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public static function getActualGeneration(Zend_Search_Lucene_Storage_Directory $directory)
- {
- Zend_Search_Lucene::getActualGeneration($directory);
- }
-
- /**
- * Get segments file name
- *
- * @param integer $generation
- * @return string
- */
- public static function getSegmentFileName($generation)
- {
- Zend_Search_Lucene::getSegmentFileName($generation);
- }
-
- /**
- * Get index format version
- *
- * @return integer
- */
- public function getFormatVersion()
- {
- return $this->_index->getFormatVersion();
- }
-
- /**
- * Set index format version.
- * Index is converted to this format at the nearest upfdate time
- *
- * @param int $formatVersion
- * @throws Zend_Search_Lucene_Exception
- */
- public function setFormatVersion($formatVersion)
- {
- $this->_index->setFormatVersion($formatVersion);
- }
-
- /**
- * Returns the Zend_Search_Lucene_Storage_Directory instance for this index.
- *
- * @return Zend_Search_Lucene_Storage_Directory
- */
- public function getDirectory()
- {
- return $this->_index->getDirectory();
- }
-
- /**
- * Returns the total number of documents in this index (including deleted documents).
- *
- * @return integer
- */
- public function count()
- {
- return $this->_index->count();
- }
-
- /**
- * Returns one greater than the largest possible document number.
- * This may be used to, e.g., determine how big to allocate a structure which will have
- * an element for every document number in an index.
- *
- * @return integer
- */
- public function maxDoc()
- {
- return $this->_index->maxDoc();
- }
-
- /**
- * Returns the total number of non-deleted documents in this index.
- *
- * @return integer
- */
- public function numDocs()
- {
- return $this->_index->numDocs();
- }
-
- /**
- * Checks, that document is deleted
- *
- * @param integer $id
- * @return boolean
- * @throws Zend_Search_Lucene_Exception Exception is thrown if $id is out of the range
- */
- public function isDeleted($id)
- {
- return $this->_index->isDeleted($id);
- }
-
- /**
- * Set default search field.
- *
- * Null means, that search is performed through all fields by default
- *
- * Default value is null
- *
- * @param string $fieldName
- */
- public static function setDefaultSearchField($fieldName)
- {
- Zend_Search_Lucene::setDefaultSearchField($fieldName);
- }
-
- /**
- * Get default search field.
- *
- * Null means, that search is performed through all fields by default
- *
- * @return string
- */
- public static function getDefaultSearchField()
- {
- return Zend_Search_Lucene::getDefaultSearchField();
- }
-
- /**
- * Set result set limit.
- *
- * 0 (default) means no limit
- *
- * @param integer $limit
- */
- public static function setResultSetLimit($limit)
- {
- Zend_Search_Lucene::setResultSetLimit($limit);
- }
-
- /**
- * Set result set limit.
- *
- * 0 means no limit
- *
- * @return integer
- */
- public static function getResultSetLimit()
- {
- return Zend_Search_Lucene::getResultSetLimit();
- }
-
- /**
- * Retrieve index maxBufferedDocs option
- *
- * maxBufferedDocs is a minimal number of documents required before
- * the buffered in-memory documents are written into a new Segment
- *
- * Default value is 10
- *
- * @return integer
- */
- public function getMaxBufferedDocs()
- {
- return $this->_index->getMaxBufferedDocs();
- }
-
- /**
- * Set index maxBufferedDocs option
- *
- * maxBufferedDocs is a minimal number of documents required before
- * the buffered in-memory documents are written into a new Segment
- *
- * Default value is 10
- *
- * @param integer $maxBufferedDocs
- */
- public function setMaxBufferedDocs($maxBufferedDocs)
- {
- $this->_index->setMaxBufferedDocs($maxBufferedDocs);
- }
-
-
- /**
- * Retrieve index maxMergeDocs option
- *
- * maxMergeDocs is a largest number of documents ever merged by addDocument().
- * Small values (e.g., less than 10,000) are best for interactive indexing,
- * as this limits the length of pauses while indexing to a few seconds.
- * Larger values are best for batched indexing and speedier searches.
- *
- * Default value is PHP_INT_MAX
- *
- * @return integer
- */
- public function getMaxMergeDocs()
- {
- return $this->_index->getMaxMergeDocs();
- }
-
- /**
- * Set index maxMergeDocs option
- *
- * maxMergeDocs is a largest number of documents ever merged by addDocument().
- * Small values (e.g., less than 10,000) are best for interactive indexing,
- * as this limits the length of pauses while indexing to a few seconds.
- * Larger values are best for batched indexing and speedier searches.
- *
- * Default value is PHP_INT_MAX
- *
- * @param integer $maxMergeDocs
- */
- public function setMaxMergeDocs($maxMergeDocs)
- {
- $this->_index->setMaxMergeDocs($maxMergeDocs);
- }
-
-
- /**
- * Retrieve index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @return integer
- */
- public function getMergeFactor()
- {
- return $this->_index->getMergeFactor();
- }
-
- /**
- * Set index mergeFactor option
- *
- * mergeFactor determines how often segment indices are merged by addDocument().
- * With smaller values, less RAM is used while indexing,
- * and searches on unoptimized indices are faster,
- * but indexing speed is slower.
- * With larger values, more RAM is used during indexing,
- * and while searches on unoptimized indices are slower,
- * indexing is faster.
- * Thus larger values (> 10) are best for batch index creation,
- * and smaller values (< 10) for indices that are interactively maintained.
- *
- * Default value is 10
- *
- * @param integer $maxMergeDocs
- */
- public function setMergeFactor($mergeFactor)
- {
- $this->_index->setMergeFactor($mergeFactor);
- }
-
- /**
- * Performs a query against the index and returns an array
- * of Zend_Search_Lucene_Search_QueryHit objects.
- * Input is a string or Zend_Search_Lucene_Search_Query.
- *
- * @param mixed $query
- * @return array Zend_Search_Lucene_Search_QueryHit
- * @throws Zend_Search_Lucene_Exception
- */
- public function find($query)
- {
- // actual parameter list
- $parameters = func_get_args();
-
- // invoke $this->_index->find() method with specified parameters
- return call_user_func_array(array(&$this->_index, 'find'), $parameters);
- }
-
- /**
- * Returns a list of all unique field names that exist in this index.
- *
- * @param boolean $indexed
- * @return array
- */
- public function getFieldNames($indexed = false)
- {
- return $this->_index->getFieldNames($indexed);
- }
-
- /**
- * Returns a Zend_Search_Lucene_Document object for the document
- * number $id in this index.
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @return Zend_Search_Lucene_Document
- */
- public function getDocument($id)
- {
- return $this->_index->getDocument($id);
- }
-
- /**
- * Returns true if index contain documents with specified term.
- *
- * Is used for query optimization.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return boolean
- */
- public function hasTerm(Zend_Search_Lucene_Index_Term $term)
- {
- return $this->_index->hasTerm($term);
- }
-
- /**
- * Returns IDs of all the documents containing term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termDocs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- return $this->_index->termDocs($term, $docsFilter);
- }
-
- /**
- * Returns documents filter for all documents containing term.
- *
- * It performs the same operation as termDocs, but return result as
- * Zend_Search_Lucene_Index_DocsFilter object
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return Zend_Search_Lucene_Index_DocsFilter
- */
- public function termDocsFilter(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- return $this->_index->termDocsFilter($term, $docsFilter);
- }
-
- /**
- * Returns an array of all term freqs.
- * Return array structure: array( docId => freq, ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return integer
- */
- public function termFreqs(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- return $this->_index->termFreqs($term, $docsFilter);
- }
-
- /**
- * Returns an array of all term positions in the documents.
- * Return array structure: array( docId => array( pos1, pos2, ...), ...)
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @return array
- */
- public function termPositions(Zend_Search_Lucene_Index_Term $term, $docsFilter = null)
- {
- return $this->_index->termPositions($term, $docsFilter);
- }
-
- /**
- * Returns the number of documents in this index containing the $term.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @return integer
- */
- public function docFreq(Zend_Search_Lucene_Index_Term $term)
- {
- return $this->_index->docFreq($term);
- }
-
- /**
- * Retrive similarity used by index reader
- *
- * @return Zend_Search_Lucene_Search_Similarity
- */
- public function getSimilarity()
- {
- return $this->_index->getSimilarity();
- }
-
- /**
- * Returns a normalization factor for "field, document" pair.
- *
- * @param integer $id
- * @param string $fieldName
- * @return float
- */
- public function norm($id, $fieldName)
- {
- return $this->_index->norm($id, $fieldName);
- }
-
- /**
- * Returns true if any documents have been deleted from this index.
- *
- * @return boolean
- */
- public function hasDeletions()
- {
- return $this->_index->hasDeletions();
- }
-
- /**
- * Deletes a document from the index.
- * $id is an internal document id
- *
- * @param integer|Zend_Search_Lucene_Search_QueryHit $id
- * @throws Zend_Search_Lucene_Exception
- */
- public function delete($id)
- {
- return $this->_index->delete($id);
- }
-
- /**
- * Adds a document to this index.
- *
- * @param Zend_Search_Lucene_Document $document
- */
- public function addDocument(Zend_Search_Lucene_Document $document)
- {
- $this->_index->addDocument($document);
- }
-
- /**
- * Commit changes resulting from delete() or undeleteAll() operations.
- */
- public function commit()
- {
- $this->_index->commit();
- }
-
- /**
- * Optimize index.
- *
- * Merges all segments into one
- */
- public function optimize()
- {
- $this->_index->optimize();
- }
-
- /**
- * Returns an array of all terms in this index.
- *
- * @return array
- */
- public function terms()
- {
- return $this->_index->terms();
- }
-
-
- /**
- * Reset terms stream.
- */
- public function resetTermsStream()
- {
- $this->_index->resetTermsStream();
- }
-
- /**
- * Skip terms stream up to specified term preffix.
- *
- * Prefix contains fully specified field info and portion of searched term
- *
- * @param Zend_Search_Lucene_Index_Term $prefix
- */
- public function skipTo(Zend_Search_Lucene_Index_Term $prefix)
- {
- return $this->_index->skipTo($prefix);
- }
-
- /**
- * Scans terms dictionary and returns next term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function nextTerm()
- {
- return $this->_index->nextTerm();
- }
-
- /**
- * Returns term in current position
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function currentTerm()
- {
- return $this->_index->currentTerm();
- }
-
- /**
- * Close terms stream
- *
- * Should be used for resources clean up if stream is not read up to the end
- */
- public function closeTermsStream()
- {
- $this->_index->closeTermsStream();
- }
-
-
- /**
- * Undeletes all documents currently marked as deleted in this index.
- */
- public function undeleteAll()
- {
- return $this->_index->undeleteAll();
- }
-
- /**
- * Add reference to the index object
- *
- * @internal
- */
- public function addReference()
- {
- return $this->_index->addReference();
- }
-
- /**
- * Remove reference from the index object
- *
- * When reference count becomes zero, index is closed and resources are cleaned up
- *
- * @internal
- */
- public function removeReference()
- {
- return $this->_index->removeReference();
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php b/airtime_mvc/library/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php
deleted file mode 100644
index 313880bd3..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php
+++ /dev/null
@@ -1,278 +0,0 @@
-, )
- *
- * So, it has a structure:
- * array( array( array(, ), // first literal of first conjuction
- * array(, ), // second literal of first conjuction
- * ...
- * array(, )
- * ), // end of first conjuction
- * array( array(, ), // first literal of second conjuction
- * array(, ), // second literal of second conjuction
- * ...
- * array(, )
- * ), // end of second conjuction
- * ...
- * ) // end of structure
- *
- * @var array
- */
- private $_conjunctions = array();
-
- /**
- * Current conjuction
- *
- * @var array
- */
- private $_currentConjunction = array();
-
-
- /**
- * Object constructor
- */
- public function __construct()
- {
- parent::__construct( array(self::ST_START,
- self::ST_LITERAL,
- self::ST_NOT_OPERATOR,
- self::ST_AND_OPERATOR,
- self::ST_OR_OPERATOR),
- array(self::IN_LITERAL,
- self::IN_NOT_OPERATOR,
- self::IN_AND_OPERATOR,
- self::IN_OR_OPERATOR));
-
- $emptyOperatorAction = new Zend_Search_Lucene_FSMAction($this, 'emptyOperatorAction');
- $emptyNotOperatorAction = new Zend_Search_Lucene_FSMAction($this, 'emptyNotOperatorAction');
-
- $this->addRules(array( array(self::ST_START, self::IN_LITERAL, self::ST_LITERAL),
- array(self::ST_START, self::IN_NOT_OPERATOR, self::ST_NOT_OPERATOR),
-
- array(self::ST_LITERAL, self::IN_AND_OPERATOR, self::ST_AND_OPERATOR),
- array(self::ST_LITERAL, self::IN_OR_OPERATOR, self::ST_OR_OPERATOR),
- array(self::ST_LITERAL, self::IN_LITERAL, self::ST_LITERAL, $emptyOperatorAction),
- array(self::ST_LITERAL, self::IN_NOT_OPERATOR, self::ST_NOT_OPERATOR, $emptyNotOperatorAction),
-
- array(self::ST_NOT_OPERATOR, self::IN_LITERAL, self::ST_LITERAL),
-
- array(self::ST_AND_OPERATOR, self::IN_LITERAL, self::ST_LITERAL),
- array(self::ST_AND_OPERATOR, self::IN_NOT_OPERATOR, self::ST_NOT_OPERATOR),
-
- array(self::ST_OR_OPERATOR, self::IN_LITERAL, self::ST_LITERAL),
- array(self::ST_OR_OPERATOR, self::IN_NOT_OPERATOR, self::ST_NOT_OPERATOR),
- ));
-
- $notOperatorAction = new Zend_Search_Lucene_FSMAction($this, 'notOperatorAction');
- $orOperatorAction = new Zend_Search_Lucene_FSMAction($this, 'orOperatorAction');
- $literalAction = new Zend_Search_Lucene_FSMAction($this, 'literalAction');
-
-
- $this->addEntryAction(self::ST_NOT_OPERATOR, $notOperatorAction);
- $this->addEntryAction(self::ST_OR_OPERATOR, $orOperatorAction);
- $this->addEntryAction(self::ST_LITERAL, $literalAction);
- }
-
-
- /**
- * Process next operator.
- *
- * Operators are defined by class constants: IN_AND_OPERATOR, IN_OR_OPERATOR and IN_NOT_OPERATOR
- *
- * @param integer $operator
- */
- public function processOperator($operator)
- {
- $this->process($operator);
- }
-
- /**
- * Process expression literal.
- *
- * @param integer $operator
- */
- public function processLiteral($literal)
- {
- $this->_literal = $literal;
-
- $this->process(self::IN_LITERAL);
- }
-
- /**
- * Finish an expression and return result
- *
- * Result is a set of boolean query conjunctions
- *
- * Each conjunction is an array of conjunction elements
- * Each conjunction element is presented with two-elements array:
- * array(, )
- *
- * So, it has a structure:
- * array( array( array(, ), // first literal of first conjuction
- * array(, ), // second literal of first conjuction
- * ...
- * array(, )
- * ), // end of first conjuction
- * array( array(, ), // first literal of second conjuction
- * array(, ), // second literal of second conjuction
- * ...
- * array(, )
- * ), // end of second conjuction
- * ...
- * ) // end of structure
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function finishExpression()
- {
- if ($this->getState() != self::ST_LITERAL) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Literal expected.');
- }
-
- $this->_conjunctions[] = $this->_currentConjunction;
-
- return $this->_conjunctions;
- }
-
-
-
- /*********************************************************************
- * Actions implementation
- *********************************************************************/
-
- /**
- * default (omitted) operator processing
- */
- public function emptyOperatorAction()
- {
- /** Zend_Search_Lucene_Search_QueryParser */
- require_once 'Zend/Search/Lucene/Search/QueryParser.php';
-
- if (Zend_Search_Lucene_Search_QueryParser::getDefaultOperator() == Zend_Search_Lucene_Search_QueryParser::B_AND) {
- // Do nothing
- } else {
- $this->orOperatorAction();
- }
-
- // Process literal
- $this->literalAction();
- }
-
- /**
- * default (omitted) + NOT operator processing
- */
- public function emptyNotOperatorAction()
- {
- /** Zend_Search_Lucene_Search_QueryParser */
- require_once 'Zend/Search/Lucene/Search/QueryParser.php';
-
- if (Zend_Search_Lucene_Search_QueryParser::getDefaultOperator() == Zend_Search_Lucene_Search_QueryParser::B_AND) {
- // Do nothing
- } else {
- $this->orOperatorAction();
- }
-
- // Process NOT operator
- $this->notOperatorAction();
- }
-
-
- /**
- * NOT operator processing
- */
- public function notOperatorAction()
- {
- $this->_negativeLiteral = true;
- }
-
- /**
- * OR operator processing
- * Close current conjunction
- */
- public function orOperatorAction()
- {
- $this->_conjunctions[] = $this->_currentConjunction;
- $this->_currentConjunction = array();
- }
-
- /**
- * Literal processing
- */
- public function literalAction()
- {
- // Add literal to the current conjunction
- $this->_currentConjunction[] = array($this->_literal, !$this->_negativeLiteral);
-
- // Switch off negative signal
- $this->_negativeLiteral = false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Highlighter/Default.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Highlighter/Default.php
deleted file mode 100644
index 0c3e900dd..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Highlighter/Default.php
+++ /dev/null
@@ -1,94 +0,0 @@
-_doc = $document;
- }
-
- /**
- * Get document for highlighting.
- *
- * @return Zend_Search_Lucene_Document_Html $document
- */
- public function getDocument()
- {
- return $this->_doc;
- }
-
- /**
- * Highlight specified words
- *
- * @param string|array $words Words to highlight. They could be organized using the array or string.
- */
- public function highlight($words)
- {
- $color = $this->_highlightColors[$this->_currentColorIndex];
- $this->_currentColorIndex = ($this->_currentColorIndex + 1) % count($this->_highlightColors);
-
- $this->_doc->highlight($words, $color);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Highlighter/Interface.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Highlighter/Interface.php
deleted file mode 100644
index f12e2d3f1..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Highlighter/Interface.php
+++ /dev/null
@@ -1,53 +0,0 @@
-_boost;
- }
-
- /**
- * Sets the boost for this query clause to $boost.
- *
- * @param float $boost
- */
- public function setBoost($boost)
- {
- $this->_boost = $boost;
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- abstract public function score($docId, Zend_Search_Lucene_Interface $reader);
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- */
- abstract public function matchedDocs();
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * Query specific implementation
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- */
- abstract public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null);
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- */
- abstract public function createWeight(Zend_Search_Lucene_Interface $reader);
-
- /**
- * Constructs an initializes a Weight for a _top-level_query_.
- *
- * @param Zend_Search_Lucene_Interface $reader
- */
- protected function _initWeight(Zend_Search_Lucene_Interface $reader)
- {
- // Check, that it's a top-level query and query weight is not initialized yet.
- if ($this->_weight !== null) {
- return $this->_weight;
- }
-
- $this->createWeight($reader);
- $sum = $this->_weight->sumOfSquaredWeights();
- $queryNorm = $reader->getSimilarity()->queryNorm($sum);
- $this->_weight->normalize($queryNorm);
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- abstract public function rewrite(Zend_Search_Lucene_Interface $index);
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- abstract public function optimize(Zend_Search_Lucene_Interface $index);
-
- /**
- * Reset query, so it can be reused within other queries or
- * with other indeces
- */
- public function reset()
- {
- $this->_weight = null;
- }
-
-
- /**
- * Print a query
- *
- * @return string
- */
- abstract public function __toString();
-
- /**
- * Return query terms
- *
- * @return array
- */
- abstract public function getQueryTerms();
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- abstract protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter);
-
- /**
- * Highlight matches in $inputHTML
- *
- * @param string $inputHTML
- * @param string $defaultEncoding HTML encoding, is used if it's not specified using Content-type HTTP-EQUIV meta tag.
- * @param Zend_Search_Lucene_Search_Highlighter_Interface|null $highlighter
- * @return string
- */
- public function highlightMatches($inputHTML, $defaultEncoding = '', $highlighter = null)
- {
- if ($highlighter === null) {
- require_once 'Zend/Search/Lucene/Search/Highlighter/Default.php';
- $highlighter = new Zend_Search_Lucene_Search_Highlighter_Default();
- }
-
- /** Zend_Search_Lucene_Document_Html */
- require_once 'Zend/Search/Lucene/Document/Html.php';
-
- $doc = Zend_Search_Lucene_Document_Html::loadHTML($inputHTML, false, $defaultEncoding);
- $highlighter->setDocument($doc);
-
- $this->_highlightMatches($highlighter);
-
- return $doc->getHTML();
- }
-
- /**
- * Highlight matches in $inputHtmlFragment and return it (without HTML header and body tag)
- *
- * @param string $inputHtmlFragment
- * @param string $encoding Input HTML string encoding
- * @param Zend_Search_Lucene_Search_Highlighter_Interface|null $highlighter
- * @return string
- */
- public function htmlFragmentHighlightMatches($inputHtmlFragment, $encoding = 'UTF-8', $highlighter = null)
- {
- if ($highlighter === null) {
- require_once 'Zend/Search/Lucene/Search/Highlighter/Default.php';
- $highlighter = new Zend_Search_Lucene_Search_Highlighter_Default();
- }
-
- $inputHTML = ' '
- . iconv($encoding, 'UTF-8//IGNORE', $inputHtmlFragment) . '';
-
- /** Zend_Search_Lucene_Document_Html */
- require_once 'Zend/Search/Lucene/Document/Html.php';
-
- $doc = Zend_Search_Lucene_Document_Html::loadHTML($inputHTML);
- $highlighter->setDocument($doc);
-
- $this->_highlightMatches($highlighter);
-
- return $doc->getHtmlBody();
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Boolean.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Boolean.php
deleted file mode 100644
index 5c5caf0f2..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Boolean.php
+++ /dev/null
@@ -1,815 +0,0 @@
-_subqueries = $subqueries;
-
- $this->_signs = null;
- // Check if all subqueries are required
- if (is_array($signs)) {
- foreach ($signs as $sign ) {
- if ($sign !== true) {
- $this->_signs = $signs;
- break;
- }
- }
- }
- }
- }
-
-
- /**
- * Add a $subquery (Zend_Search_Lucene_Search_Query) to this query.
- *
- * The sign is specified as:
- * TRUE - subquery is required
- * FALSE - subquery is prohibited
- * NULL - subquery is neither prohibited, nor required
- *
- * @param Zend_Search_Lucene_Search_Query $subquery
- * @param boolean|null $sign
- * @return void
- */
- public function addSubquery(Zend_Search_Lucene_Search_Query $subquery, $sign=null) {
- if ($sign !== true || $this->_signs !== null) { // Skip, if all subqueries are required
- if ($this->_signs === null) { // Check, If all previous subqueries are required
- $this->_signs = array();
- foreach ($this->_subqueries as $prevSubquery) {
- $this->_signs[] = true;
- }
- }
- $this->_signs[] = $sign;
- }
-
- $this->_subqueries[] = $subquery;
- }
-
- /**
- * Re-write queries into primitive queries
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
- $query->setBoost($this->getBoost());
-
- foreach ($this->_subqueries as $subqueryId => $subquery) {
- $query->addSubquery($subquery->rewrite($index),
- ($this->_signs === null)? true : $this->_signs[$subqueryId]);
- }
-
- return $query;
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- $subqueries = array();
- $signs = array();
-
- // Optimize all subqueries
- foreach ($this->_subqueries as $id => $subquery) {
- $subqueries[] = $subquery->optimize($index);
- $signs[] = ($this->_signs === null)? true : $this->_signs[$id];
- }
-
- // Remove insignificant subqueries
- foreach ($subqueries as $id => $subquery) {
- if ($subquery instanceof Zend_Search_Lucene_Search_Query_Insignificant) {
- // Insignificant subquery has to be removed anyway
- unset($subqueries[$id]);
- unset($signs[$id]);
- }
- }
- if (count($subqueries) == 0) {
- // Boolean query doesn't has non-insignificant subqueries
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
- // Check if all non-insignificant subqueries are prohibited
- $allProhibited = true;
- foreach ($signs as $sign) {
- if ($sign !== false) {
- $allProhibited = false;
- break;
- }
- }
- if ($allProhibited) {
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
-
-
- // Check for empty subqueries
- foreach ($subqueries as $id => $subquery) {
- if ($subquery instanceof Zend_Search_Lucene_Search_Query_Empty) {
- if ($signs[$id] === true) {
- // Matching is required, but is actually empty
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- } else {
- // Matching is optional or prohibited, but is empty
- // Remove it from subqueries and signs list
- unset($subqueries[$id]);
- unset($signs[$id]);
- }
- }
- }
-
- // Check, if reduced subqueries list is empty
- if (count($subqueries) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
- // Check if all non-empty subqueries are prohibited
- $allProhibited = true;
- foreach ($signs as $sign) {
- if ($sign !== false) {
- $allProhibited = false;
- break;
- }
- }
- if ($allProhibited) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
-
- // Check, if reduced subqueries list has only one entry
- if (count($subqueries) == 1) {
- // It's a query with only one required or optional clause
- // (it's already checked, that it's not a prohibited clause)
-
- if ($this->getBoost() == 1) {
- return reset($subqueries);
- }
-
- $optimizedQuery = clone reset($subqueries);
- $optimizedQuery->setBoost($optimizedQuery->getBoost()*$this->getBoost());
-
- return $optimizedQuery;
- }
-
-
- // Prepare first candidate for optimized query
- $optimizedQuery = new Zend_Search_Lucene_Search_Query_Boolean($subqueries, $signs);
- $optimizedQuery->setBoost($this->getBoost());
-
-
- $terms = array();
- $tsigns = array();
- $boostFactors = array();
-
- // Try to decompose term and multi-term subqueries
- foreach ($subqueries as $id => $subquery) {
- if ($subquery instanceof Zend_Search_Lucene_Search_Query_Term) {
- $terms[] = $subquery->getTerm();
- $tsigns[] = $signs[$id];
- $boostFactors[] = $subquery->getBoost();
-
- // remove subquery from a subqueries list
- unset($subqueries[$id]);
- unset($signs[$id]);
- } else if ($subquery instanceof Zend_Search_Lucene_Search_Query_MultiTerm) {
- $subTerms = $subquery->getTerms();
- $subSigns = $subquery->getSigns();
-
- if ($signs[$id] === true) {
- // It's a required multi-term subquery.
- // Something like '... +(+term1 -term2 term3 ...) ...'
-
- // Multi-term required subquery can be decomposed only if it contains
- // required terms and doesn't contain prohibited terms:
- // ... +(+term1 term2 ...) ... => ... +term1 term2 ...
- //
- // Check this
- $hasRequired = false;
- $hasProhibited = false;
- if ($subSigns === null) {
- // All subterms are required
- $hasRequired = true;
- } else {
- foreach ($subSigns as $sign) {
- if ($sign === true) {
- $hasRequired = true;
- } else if ($sign === false) {
- $hasProhibited = true;
- break;
- }
- }
- }
- // Continue if subquery has prohibited terms or doesn't have required terms
- if ($hasProhibited || !$hasRequired) {
- continue;
- }
-
- foreach ($subTerms as $termId => $term) {
- $terms[] = $term;
- $tsigns[] = ($subSigns === null)? true : $subSigns[$termId];
- $boostFactors[] = $subquery->getBoost();
- }
-
- // remove subquery from a subqueries list
- unset($subqueries[$id]);
- unset($signs[$id]);
-
- } else { // $signs[$id] === null || $signs[$id] === false
- // It's an optional or prohibited multi-term subquery.
- // Something like '... (+term1 -term2 term3 ...) ...'
- // or
- // something like '... -(+term1 -term2 term3 ...) ...'
-
- // Multi-term optional and required subqueries can be decomposed
- // only if all terms are optional.
- //
- // Check if all terms are optional.
- $onlyOptional = true;
- if ($subSigns === null) {
- // All subterms are required
- $onlyOptional = false;
- } else {
- foreach ($subSigns as $sign) {
- if ($sign !== null) {
- $onlyOptional = false;
- break;
- }
- }
- }
-
- // Continue if non-optional terms are presented in this multi-term subquery
- if (!$onlyOptional) {
- continue;
- }
-
- foreach ($subTerms as $termId => $term) {
- $terms[] = $term;
- $tsigns[] = ($signs[$id] === null)? null /* optional */ :
- false /* prohibited */;
- $boostFactors[] = $subquery->getBoost();
- }
-
- // remove subquery from a subqueries list
- unset($subqueries[$id]);
- unset($signs[$id]);
- }
- }
- }
-
-
- // Check, if there are no decomposed subqueries
- if (count($terms) == 0 ) {
- // return prepared candidate
- return $optimizedQuery;
- }
-
-
- // Check, if all subqueries have been decomposed and all terms has the same boost factor
- if (count($subqueries) == 0 && count(array_unique($boostFactors)) == 1) {
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $optimizedQuery = new Zend_Search_Lucene_Search_Query_MultiTerm($terms, $tsigns);
- $optimizedQuery->setBoost(reset($boostFactors)*$this->getBoost());
-
- return $optimizedQuery;
- }
-
-
- // This boolean query can't be transformed to Term/MultiTerm query and still contains
- // several subqueries
-
- // Separate prohibited terms
- $prohibitedTerms = array();
- foreach ($terms as $id => $term) {
- if ($tsigns[$id] === false) {
- $prohibitedTerms[] = $term;
-
- unset($terms[$id]);
- unset($tsigns[$id]);
- unset($boostFactors[$id]);
- }
- }
-
- if (count($terms) == 1) {
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $clause = new Zend_Search_Lucene_Search_Query_Term(reset($terms));
- $clause->setBoost(reset($boostFactors));
-
- $subqueries[] = $clause;
- $signs[] = reset($tsigns);
-
- // Clear terms list
- $terms = array();
- } else if (count($terms) > 1 && count(array_unique($boostFactors)) == 1) {
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $clause = new Zend_Search_Lucene_Search_Query_MultiTerm($terms, $tsigns);
- $clause->setBoost(reset($boostFactors));
-
- $subqueries[] = $clause;
- // Clause sign is 'required' if clause contains required terms. 'Optional' otherwise.
- $signs[] = (in_array(true, $tsigns))? true : null;
-
- // Clear terms list
- $terms = array();
- }
-
- if (count($prohibitedTerms) == 1) {
- // (boost factors are not significant for prohibited clauses)
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $subqueries[] = new Zend_Search_Lucene_Search_Query_Term(reset($prohibitedTerms));
- $signs[] = false;
-
- // Clear prohibited terms list
- $prohibitedTerms = array();
- } else if (count($prohibitedTerms) > 1) {
- // prepare signs array
- $prohibitedSigns = array();
- foreach ($prohibitedTerms as $id => $term) {
- // all prohibited term are grouped as optional into multi-term query
- $prohibitedSigns[$id] = null;
- }
-
- // (boost factors are not significant for prohibited clauses)
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $subqueries[] = new Zend_Search_Lucene_Search_Query_MultiTerm($prohibitedTerms, $prohibitedSigns);
- // Clause sign is 'prohibited'
- $signs[] = false;
-
- // Clear terms list
- $prohibitedTerms = array();
- }
-
- /** @todo Group terms with the same boost factors together */
-
- // Check, that all terms are processed
- // Replace candidate for optimized query
- if (count($terms) == 0 && count($prohibitedTerms) == 0) {
- $optimizedQuery = new Zend_Search_Lucene_Search_Query_Boolean($subqueries, $signs);
- $optimizedQuery->setBoost($this->getBoost());
- }
-
- return $optimizedQuery;
- }
-
- /**
- * Returns subqueries
- *
- * @return array
- */
- public function getSubqueries()
- {
- return $this->_subqueries;
- }
-
-
- /**
- * Return subqueries signs
- *
- * @return array
- */
- public function getSigns()
- {
- return $this->_signs;
- }
-
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Search/Weight/Boolean.php';
- $this->_weight = new Zend_Search_Lucene_Search_Weight_Boolean($this, $reader);
- return $this->_weight;
- }
-
-
- /**
- * Calculate result vector for Conjunction query
- * (like ' AND AND ')
- */
- private function _calculateConjunctionResult()
- {
- $this->_resVector = null;
-
- if (count($this->_subqueries) == 0) {
- $this->_resVector = array();
- }
-
- $resVectors = array();
- $resVectorsSizes = array();
- $resVectorsIds = array(); // is used to prevent arrays comparison
- foreach ($this->_subqueries as $subqueryId => $subquery) {
- $resVectors[] = $subquery->matchedDocs();
- $resVectorsSizes[] = count(end($resVectors));
- $resVectorsIds[] = $subqueryId;
- }
- // sort resvectors in order of subquery cardinality increasing
- array_multisort($resVectorsSizes, SORT_ASC, SORT_NUMERIC,
- $resVectorsIds, SORT_ASC, SORT_NUMERIC,
- $resVectors);
-
- foreach ($resVectors as $nextResVector) {
- if($this->_resVector === null) {
- $this->_resVector = $nextResVector;
- } else {
- //$this->_resVector = array_intersect_key($this->_resVector, $nextResVector);
-
- /**
- * This code is used as workaround for array_intersect_key() slowness problem.
- */
- $updatedVector = array();
- foreach ($this->_resVector as $id => $value) {
- if (isset($nextResVector[$id])) {
- $updatedVector[$id] = $value;
- }
- }
- $this->_resVector = $updatedVector;
- }
-
- if (count($this->_resVector) == 0) {
- // Empty result set, we don't need to check other terms
- break;
- }
- }
-
- // ksort($this->_resVector, SORT_NUMERIC);
- // Used algorithm doesn't change elements order
- }
-
-
- /**
- * Calculate result vector for non Conjunction query
- * (like ' AND AND NOT OR ')
- */
- private function _calculateNonConjunctionResult()
- {
- $requiredVectors = array();
- $requiredVectorsSizes = array();
- $requiredVectorsIds = array(); // is used to prevent arrays comparison
-
- $optional = array();
-
- foreach ($this->_subqueries as $subqueryId => $subquery) {
- if ($this->_signs[$subqueryId] === true) {
- // required
- $requiredVectors[] = $subquery->matchedDocs();
- $requiredVectorsSizes[] = count(end($requiredVectors));
- $requiredVectorsIds[] = $subqueryId;
- } elseif ($this->_signs[$subqueryId] === false) {
- // prohibited
- // Do nothing. matchedDocs() may include non-matching id's
- // Calculating prohibited vector may take significant time, but do not affect the result
- // Skipped.
- } else {
- // neither required, nor prohibited
- // array union
- $optional += $subquery->matchedDocs();
- }
- }
-
- // sort resvectors in order of subquery cardinality increasing
- array_multisort($requiredVectorsSizes, SORT_ASC, SORT_NUMERIC,
- $requiredVectorsIds, SORT_ASC, SORT_NUMERIC,
- $requiredVectors);
-
- $required = null;
- foreach ($requiredVectors as $nextResVector) {
- if($required === null) {
- $required = $nextResVector;
- } else {
- //$required = array_intersect_key($required, $nextResVector);
-
- /**
- * This code is used as workaround for array_intersect_key() slowness problem.
- */
- $updatedVector = array();
- foreach ($required as $id => $value) {
- if (isset($nextResVector[$id])) {
- $updatedVector[$id] = $value;
- }
- }
- $required = $updatedVector;
- }
-
- if (count($required) == 0) {
- // Empty result set, we don't need to check other terms
- break;
- }
- }
-
-
- if ($required !== null) {
- $this->_resVector = &$required;
- } else {
- $this->_resVector = &$optional;
- }
-
- ksort($this->_resVector, SORT_NUMERIC);
- }
-
-
- /**
- * Score calculator for conjunction queries (all subqueries are required)
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function _conjunctionScore($docId, Zend_Search_Lucene_Interface $reader)
- {
- if ($this->_coord === null) {
- $this->_coord = $reader->getSimilarity()->coord(count($this->_subqueries),
- count($this->_subqueries) );
- }
-
- $score = 0;
-
- foreach ($this->_subqueries as $subquery) {
- $subscore = $subquery->score($docId, $reader);
-
- if ($subscore == 0) {
- return 0;
- }
-
- $score += $subquery->score($docId, $reader) * $this->_coord;
- }
-
- return $score * $this->_coord * $this->getBoost();
- }
-
-
- /**
- * Score calculator for non conjunction queries (not all subqueries are required)
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function _nonConjunctionScore($docId, Zend_Search_Lucene_Interface $reader)
- {
- if ($this->_coord === null) {
- $this->_coord = array();
-
- $maxCoord = 0;
- foreach ($this->_signs as $sign) {
- if ($sign !== false /* not prohibited */) {
- $maxCoord++;
- }
- }
-
- for ($count = 0; $count <= $maxCoord; $count++) {
- $this->_coord[$count] = $reader->getSimilarity()->coord($count, $maxCoord);
- }
- }
-
- $score = 0;
- $matchedSubqueries = 0;
- foreach ($this->_subqueries as $subqueryId => $subquery) {
- $subscore = $subquery->score($docId, $reader);
-
- // Prohibited
- if ($this->_signs[$subqueryId] === false && $subscore != 0) {
- return 0;
- }
-
- // is required, but doen't match
- if ($this->_signs[$subqueryId] === true && $subscore == 0) {
- return 0;
- }
-
- if ($subscore != 0) {
- $matchedSubqueries++;
- $score += $subscore;
- }
- }
-
- return $score * $this->_coord[$matchedSubqueries] * $this->getBoost();
- }
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- // Initialize weight if it's not done yet
- $this->_initWeight($reader);
-
- if ($docsFilter === null) {
- // Create local documents filter if it's not provided by upper query
- require_once 'Zend/Search/Lucene/Index/DocsFilter.php';
- $docsFilter = new Zend_Search_Lucene_Index_DocsFilter();
- }
-
- foreach ($this->_subqueries as $subqueryId => $subquery) {
- if ($this->_signs == null || $this->_signs[$subqueryId] === true) {
- // Subquery is required
- $subquery->execute($reader, $docsFilter);
- } else {
- $subquery->execute($reader);
- }
- }
-
- if ($this->_signs === null) {
- $this->_calculateConjunctionResult();
- } else {
- $this->_calculateNonConjunctionResult();
- }
- }
-
-
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- */
- public function matchedDocs()
- {
- return $this->_resVector;
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- if (isset($this->_resVector[$docId])) {
- if ($this->_signs === null) {
- return $this->_conjunctionScore($docId, $reader);
- } else {
- return $this->_nonConjunctionScore($docId, $reader);
- }
- } else {
- return 0;
- }
- }
-
- /**
- * Return query terms
- *
- * @return array
- */
- public function getQueryTerms()
- {
- $terms = array();
-
- foreach ($this->_subqueries as $id => $subquery) {
- if ($this->_signs === null || $this->_signs[$id] !== false) {
- $terms = array_merge($terms, $subquery->getQueryTerms());
- }
- }
-
- return $terms;
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- foreach ($this->_subqueries as $id => $subquery) {
- if ($this->_signs === null || $this->_signs[$id] !== false) {
- $subquery->_highlightMatches($highlighter);
- }
- }
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
-
- $query = '';
-
- foreach ($this->_subqueries as $id => $subquery) {
- if ($id != 0) {
- $query .= ' ';
- }
-
- if ($this->_signs === null || $this->_signs[$id] === true) {
- $query .= '+';
- } else if ($this->_signs[$id] === false) {
- $query .= '-';
- }
-
- $query .= '(' . $subquery->__toString() . ')';
- }
-
- if ($this->getBoost() != 1) {
- $query = '(' . $query . ')^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Empty.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Empty.php
deleted file mode 100644
index 3f24299ca..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Empty.php
+++ /dev/null
@@ -1,138 +0,0 @@
-';
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Fuzzy.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Fuzzy.php
deleted file mode 100644
index 59658338a..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Fuzzy.php
+++ /dev/null
@@ -1,493 +0,0 @@
-= 1) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('minimumSimilarity cannot be greater than or equal to 1');
- }
- if ($prefixLength < 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('prefixLength cannot be less than 0');
- }
-
- $this->_term = $term;
- $this->_minimumSimilarity = $minimumSimilarity;
- $this->_prefixLength = ($prefixLength !== null)? $prefixLength : self::$_defaultPrefixLength;
- }
-
- /**
- * Get default non-fuzzy prefix length
- *
- * @return integer
- */
- public static function getDefaultPrefixLength()
- {
- return self::$_defaultPrefixLength;
- }
-
- /**
- * Set default non-fuzzy prefix length
- *
- * @param integer $defaultPrefixLength
- */
- public static function setDefaultPrefixLength($defaultPrefixLength)
- {
- self::$_defaultPrefixLength = $defaultPrefixLength;
- }
-
- /**
- * Calculate maximum distance for specified word length
- *
- * @param integer $prefixLength
- * @param integer $termLength
- * @param integer $length
- * @return integer
- */
- private function _calculateMaxDistance($prefixLength, $termLength, $length)
- {
- $this->_maxDistances[$length] = (int) ((1 - $this->_minimumSimilarity)*(min($termLength, $length) + $prefixLength));
- return $this->_maxDistances[$length];
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- * @throws Zend_Search_Lucene_Exception
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- $this->_matches = array();
- $this->_scores = array();
- $this->_termKeys = array();
-
- if ($this->_term->field === null) {
- // Search through all fields
- $fields = $index->getFieldNames(true /* indexed fields list */);
- } else {
- $fields = array($this->_term->field);
- }
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $prefix = Zend_Search_Lucene_Index_Term::getPrefix($this->_term->text, $this->_prefixLength);
- $prefixByteLength = strlen($prefix);
- $prefixUtf8Length = Zend_Search_Lucene_Index_Term::getLength($prefix);
-
- $termLength = Zend_Search_Lucene_Index_Term::getLength($this->_term->text);
-
- $termRest = substr($this->_term->text, $prefixByteLength);
- // we calculate length of the rest in bytes since levenshtein() is not UTF-8 compatible
- $termRestLength = strlen($termRest);
-
- $scaleFactor = 1/(1 - $this->_minimumSimilarity);
-
- require_once 'Zend/Search/Lucene.php';
- $maxTerms = Zend_Search_Lucene::getTermsPerQueryLimit();
- foreach ($fields as $field) {
- $index->resetTermsStream();
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- if ($prefix != '') {
- $index->skipTo(new Zend_Search_Lucene_Index_Term($prefix, $field));
-
- while ($index->currentTerm() !== null &&
- $index->currentTerm()->field == $field &&
- substr($index->currentTerm()->text, 0, $prefixByteLength) == $prefix) {
- // Calculate similarity
- $target = substr($index->currentTerm()->text, $prefixByteLength);
-
- $maxDistance = isset($this->_maxDistances[strlen($target)])?
- $this->_maxDistances[strlen($target)] :
- $this->_calculateMaxDistance($prefixUtf8Length, $termRestLength, strlen($target));
-
- if ($termRestLength == 0) {
- // we don't have anything to compare. That means if we just add
- // the letters for current term we get the new word
- $similarity = (($prefixUtf8Length == 0)? 0 : 1 - strlen($target)/$prefixUtf8Length);
- } else if (strlen($target) == 0) {
- $similarity = (($prefixUtf8Length == 0)? 0 : 1 - $termRestLength/$prefixUtf8Length);
- } else if ($maxDistance < abs($termRestLength - strlen($target))){
- //just adding the characters of term to target or vice-versa results in too many edits
- //for example "pre" length is 3 and "prefixes" length is 8. We can see that
- //given this optimal circumstance, the edit distance cannot be less than 5.
- //which is 8-3 or more precisesly abs(3-8).
- //if our maximum edit distance is 4, then we can discard this word
- //without looking at it.
- $similarity = 0;
- } else {
- $similarity = 1 - levenshtein($termRest, $target)/($prefixUtf8Length + min($termRestLength, strlen($target)));
- }
-
- if ($similarity > $this->_minimumSimilarity) {
- $this->_matches[] = $index->currentTerm();
- $this->_termKeys[] = $index->currentTerm()->key();
- $this->_scores[] = ($similarity - $this->_minimumSimilarity)*$scaleFactor;
-
- if ($maxTerms != 0 && count($this->_matches) > $maxTerms) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
- }
-
- $index->nextTerm();
- }
- } else {
- $index->skipTo(new Zend_Search_Lucene_Index_Term('', $field));
-
- while ($index->currentTerm() !== null && $index->currentTerm()->field == $field) {
- // Calculate similarity
- $target = $index->currentTerm()->text;
-
- $maxDistance = isset($this->_maxDistances[strlen($target)])?
- $this->_maxDistances[strlen($target)] :
- $this->_calculateMaxDistance(0, $termRestLength, strlen($target));
-
- if ($maxDistance < abs($termRestLength - strlen($target))){
- //just adding the characters of term to target or vice-versa results in too many edits
- //for example "pre" length is 3 and "prefixes" length is 8. We can see that
- //given this optimal circumstance, the edit distance cannot be less than 5.
- //which is 8-3 or more precisesly abs(3-8).
- //if our maximum edit distance is 4, then we can discard this word
- //without looking at it.
- $similarity = 0;
- } else {
- $similarity = 1 - levenshtein($termRest, $target)/min($termRestLength, strlen($target));
- }
-
- if ($similarity > $this->_minimumSimilarity) {
- $this->_matches[] = $index->currentTerm();
- $this->_termKeys[] = $index->currentTerm()->key();
- $this->_scores[] = ($similarity - $this->_minimumSimilarity)*$scaleFactor;
-
- if ($maxTerms != 0 && count($this->_matches) > $maxTerms) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
- }
-
- $index->nextTerm();
- }
- }
-
- $index->closeTermsStream();
- }
-
- if (count($this->_matches) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- } else if (count($this->_matches) == 1) {
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- return new Zend_Search_Lucene_Search_Query_Term(reset($this->_matches));
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $rewrittenQuery = new Zend_Search_Lucene_Search_Query_Boolean();
-
- array_multisort($this->_scores, SORT_DESC, SORT_NUMERIC,
- $this->_termKeys, SORT_ASC, SORT_STRING,
- $this->_matches);
-
- $termCount = 0;
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- foreach ($this->_matches as $id => $matchedTerm) {
- $subquery = new Zend_Search_Lucene_Search_Query_Term($matchedTerm);
- $subquery->setBoost($this->_scores[$id]);
-
- $rewrittenQuery->addSubquery($subquery);
-
- $termCount++;
- if ($termCount >= self::MAX_CLAUSE_COUNT) {
- break;
- }
- }
-
- return $rewrittenQuery;
- }
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Fuzzy query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Return query terms
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function getQueryTerms()
- {
- if ($this->_matches === null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Search or rewrite operations have to be performed before.');
- }
-
- return $this->_matches;
- }
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- * @throws Zend_Search_Lucene_Exception
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Fuzzy query should not be directly used for search. Use $query->rewrite($index)');
- }
-
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @throws Zend_Search_Lucene_Exception
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Fuzzy query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function matchedDocs()
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Fuzzy query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- * @throws Zend_Search_Lucene_Exception
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Fuzzy query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- $words = array();
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $prefix = Zend_Search_Lucene_Index_Term::getPrefix($this->_term->text, $this->_prefixLength);
- $prefixByteLength = strlen($prefix);
- $prefixUtf8Length = Zend_Search_Lucene_Index_Term::getLength($prefix);
-
- $termLength = Zend_Search_Lucene_Index_Term::getLength($this->_term->text);
-
- $termRest = substr($this->_term->text, $prefixByteLength);
- // we calculate length of the rest in bytes since levenshtein() is not UTF-8 compatible
- $termRestLength = strlen($termRest);
-
- $scaleFactor = 1/(1 - $this->_minimumSimilarity);
-
- $docBody = $highlighter->getDocument()->getFieldUtf8Value('body');
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($docBody, 'UTF-8');
- foreach ($tokens as $token) {
- $termText = $token->getTermText();
-
- if (substr($termText, 0, $prefixByteLength) == $prefix) {
- // Calculate similarity
- $target = substr($termText, $prefixByteLength);
-
- $maxDistance = isset($this->_maxDistances[strlen($target)])?
- $this->_maxDistances[strlen($target)] :
- $this->_calculateMaxDistance($prefixUtf8Length, $termRestLength, strlen($target));
-
- if ($termRestLength == 0) {
- // we don't have anything to compare. That means if we just add
- // the letters for current term we get the new word
- $similarity = (($prefixUtf8Length == 0)? 0 : 1 - strlen($target)/$prefixUtf8Length);
- } else if (strlen($target) == 0) {
- $similarity = (($prefixUtf8Length == 0)? 0 : 1 - $termRestLength/$prefixUtf8Length);
- } else if ($maxDistance < abs($termRestLength - strlen($target))){
- //just adding the characters of term to target or vice-versa results in too many edits
- //for example "pre" length is 3 and "prefixes" length is 8. We can see that
- //given this optimal circumstance, the edit distance cannot be less than 5.
- //which is 8-3 or more precisesly abs(3-8).
- //if our maximum edit distance is 4, then we can discard this word
- //without looking at it.
- $similarity = 0;
- } else {
- $similarity = 1 - levenshtein($termRest, $target)/($prefixUtf8Length + min($termRestLength, strlen($target)));
- }
-
- if ($similarity > $this->_minimumSimilarity) {
- $words[] = $termText;
- }
- }
- }
-
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- return (($this->_term->field === null)? '' : $this->_term->field . ':')
- . $this->_term->text . '~'
- . (($this->_minimumSimilarity != self::DEFAULT_MIN_SIMILARITY)? round($this->_minimumSimilarity, 4) : '')
- . (($this->getBoost() != 1)? '^' . round($this->getBoost(), 4) : '');
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Insignificant.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Insignificant.php
deleted file mode 100644
index 3f7153ec8..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Insignificant.php
+++ /dev/null
@@ -1,139 +0,0 @@
-';
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/MultiTerm.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/MultiTerm.php
deleted file mode 100644
index d5d9cb562..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/MultiTerm.php
+++ /dev/null
@@ -1,668 +0,0 @@
- (docId => freq, ...)
- * term2Id => (docId => freq, ...)
- *
- * @var array
- */
- private $_termsFreqs = array();
-
-
- /**
- * A score factor based on the fraction of all query terms
- * that a document contains.
- * float for conjunction queries
- * array of float for non conjunction queries
- *
- * @var mixed
- */
- private $_coord = null;
-
-
- /**
- * Terms weights
- * array of Zend_Search_Lucene_Search_Weight
- *
- * @var array
- */
- private $_weights = array();
-
-
- /**
- * Class constructor. Create a new multi-term query object.
- *
- * if $signs array is omitted then all terms are required
- * it differs from addTerm() behavior, but should never be used
- *
- * @param array $terms Array of Zend_Search_Lucene_Index_Term objects
- * @param array $signs Array of signs. Sign is boolean|null.
- * @throws Zend_Search_Lucene_Exception
- */
- public function __construct($terms = null, $signs = null)
- {
- if (is_array($terms)) {
- require_once 'Zend/Search/Lucene.php';
- if (count($terms) > Zend_Search_Lucene::getTermsPerQueryLimit()) {
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
-
- $this->_terms = $terms;
-
- $this->_signs = null;
- // Check if all terms are required
- if (is_array($signs)) {
- foreach ($signs as $sign ) {
- if ($sign !== true) {
- $this->_signs = $signs;
- break;
- }
- }
- }
- }
- }
-
-
- /**
- * Add a $term (Zend_Search_Lucene_Index_Term) to this query.
- *
- * The sign is specified as:
- * TRUE - term is required
- * FALSE - term is prohibited
- * NULL - term is neither prohibited, nor required
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param boolean|null $sign
- * @return void
- */
- public function addTerm(Zend_Search_Lucene_Index_Term $term, $sign = null) {
- if ($sign !== true || $this->_signs !== null) { // Skip, if all terms are required
- if ($this->_signs === null) { // Check, If all previous terms are required
- $this->_signs = array();
- foreach ($this->_terms as $prevTerm) {
- $this->_signs[] = true;
- }
- }
- $this->_signs[] = $sign;
- }
-
- $this->_terms[] = $term;
- }
-
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- if (count($this->_terms) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
- // Check, that all fields are qualified
- $allQualified = true;
- foreach ($this->_terms as $term) {
- if ($term->field === null) {
- $allQualified = false;
- break;
- }
- }
-
- if ($allQualified) {
- return $this;
- } else {
- /** transform multiterm query to boolean and apply rewrite() method to subqueries. */
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
- $query->setBoost($this->getBoost());
-
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- foreach ($this->_terms as $termId => $term) {
- $subquery = new Zend_Search_Lucene_Search_Query_Term($term);
-
- $query->addSubquery($subquery->rewrite($index),
- ($this->_signs === null)? true : $this->_signs[$termId]);
- }
-
- return $query;
- }
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- $terms = $this->_terms;
- $signs = $this->_signs;
-
- foreach ($terms as $id => $term) {
- if (!$index->hasTerm($term)) {
- if ($signs === null || $signs[$id] === true) {
- // Term is required
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- } else {
- // Term is optional or prohibited
- // Remove it from terms and signs list
- unset($terms[$id]);
- unset($signs[$id]);
- }
- }
- }
-
- // Check if all presented terms are prohibited
- $allProhibited = true;
- if ($signs === null) {
- $allProhibited = false;
- } else {
- foreach ($signs as $sign) {
- if ($sign !== false) {
- $allProhibited = false;
- break;
- }
- }
- }
- if ($allProhibited) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
- /**
- * @todo make an optimization for repeated terms
- * (they may have different signs)
- */
-
- if (count($terms) == 1) {
- // It's already checked, that it's not a prohibited term
-
- // It's one term query with one required or optional element
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $optimizedQuery = new Zend_Search_Lucene_Search_Query_Term(reset($terms));
- $optimizedQuery->setBoost($this->getBoost());
-
- return $optimizedQuery;
- }
-
- if (count($terms) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
- $optimizedQuery = new Zend_Search_Lucene_Search_Query_MultiTerm($terms, $signs);
- $optimizedQuery->setBoost($this->getBoost());
- return $optimizedQuery;
- }
-
-
- /**
- * Returns query term
- *
- * @return array
- */
- public function getTerms()
- {
- return $this->_terms;
- }
-
-
- /**
- * Return terms signs
- *
- * @return array
- */
- public function getSigns()
- {
- return $this->_signs;
- }
-
-
- /**
- * Set weight for specified term
- *
- * @param integer $num
- * @param Zend_Search_Lucene_Search_Weight_Term $weight
- */
- public function setWeight($num, $weight)
- {
- $this->_weights[$num] = $weight;
- }
-
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Search/Weight/MultiTerm.php';
- $this->_weight = new Zend_Search_Lucene_Search_Weight_MultiTerm($this, $reader);
- return $this->_weight;
- }
-
-
- /**
- * Calculate result vector for Conjunction query
- * (like '+something +another')
- *
- * @param Zend_Search_Lucene_Interface $reader
- */
- private function _calculateConjunctionResult(Zend_Search_Lucene_Interface $reader)
- {
- $this->_resVector = null;
-
- if (count($this->_terms) == 0) {
- $this->_resVector = array();
- }
-
- // Order terms by selectivity
- $docFreqs = array();
- $ids = array();
- foreach ($this->_terms as $id => $term) {
- $docFreqs[] = $reader->docFreq($term);
- $ids[] = $id; // Used to keep original order for terms with the same selectivity and omit terms comparison
- }
- array_multisort($docFreqs, SORT_ASC, SORT_NUMERIC,
- $ids, SORT_ASC, SORT_NUMERIC,
- $this->_terms);
-
- require_once 'Zend/Search/Lucene/Index/DocsFilter.php';
- $docsFilter = new Zend_Search_Lucene_Index_DocsFilter();
- foreach ($this->_terms as $termId => $term) {
- $termDocs = $reader->termDocs($term, $docsFilter);
- }
- // Treat last retrieved docs vector as a result set
- // (filter collects data for other terms)
- $this->_resVector = array_flip($termDocs);
-
- foreach ($this->_terms as $termId => $term) {
- $this->_termsFreqs[$termId] = $reader->termFreqs($term, $docsFilter);
- }
-
- // ksort($this->_resVector, SORT_NUMERIC);
- // Docs are returned ordered. Used algorithms doesn't change elements order.
- }
-
-
- /**
- * Calculate result vector for non Conjunction query
- * (like '+something -another')
- *
- * @param Zend_Search_Lucene_Interface $reader
- */
- private function _calculateNonConjunctionResult(Zend_Search_Lucene_Interface $reader)
- {
- $requiredVectors = array();
- $requiredVectorsSizes = array();
- $requiredVectorsIds = array(); // is used to prevent arrays comparison
-
- $optional = array();
- $prohibited = array();
-
- foreach ($this->_terms as $termId => $term) {
- $termDocs = array_flip($reader->termDocs($term));
-
- if ($this->_signs[$termId] === true) {
- // required
- $requiredVectors[] = $termDocs;
- $requiredVectorsSizes[] = count($termDocs);
- $requiredVectorsIds[] = $termId;
- } elseif ($this->_signs[$termId] === false) {
- // prohibited
- // array union
- $prohibited += $termDocs;
- } else {
- // neither required, nor prohibited
- // array union
- $optional += $termDocs;
- }
-
- $this->_termsFreqs[$termId] = $reader->termFreqs($term);
- }
-
- // sort resvectors in order of subquery cardinality increasing
- array_multisort($requiredVectorsSizes, SORT_ASC, SORT_NUMERIC,
- $requiredVectorsIds, SORT_ASC, SORT_NUMERIC,
- $requiredVectors);
-
- $required = null;
- foreach ($requiredVectors as $nextResVector) {
- if($required === null) {
- $required = $nextResVector;
- } else {
- //$required = array_intersect_key($required, $nextResVector);
-
- /**
- * This code is used as workaround for array_intersect_key() slowness problem.
- */
- $updatedVector = array();
- foreach ($required as $id => $value) {
- if (isset($nextResVector[$id])) {
- $updatedVector[$id] = $value;
- }
- }
- $required = $updatedVector;
- }
-
- if (count($required) == 0) {
- // Empty result set, we don't need to check other terms
- break;
- }
- }
-
- if ($required !== null) {
- $this->_resVector = $required;
- } else {
- $this->_resVector = $optional;
- }
-
- if (count($prohibited) != 0) {
- // $this->_resVector = array_diff_key($this->_resVector, $prohibited);
-
- /**
- * This code is used as workaround for array_diff_key() slowness problem.
- */
- if (count($this->_resVector) < count($prohibited)) {
- $updatedVector = $this->_resVector;
- foreach ($this->_resVector as $id => $value) {
- if (isset($prohibited[$id])) {
- unset($updatedVector[$id]);
- }
- }
- $this->_resVector = $updatedVector;
- } else {
- $updatedVector = $this->_resVector;
- foreach ($prohibited as $id => $value) {
- unset($updatedVector[$id]);
- }
- $this->_resVector = $updatedVector;
- }
- }
-
- ksort($this->_resVector, SORT_NUMERIC);
- }
-
-
- /**
- * Score calculator for conjunction queries (all terms are required)
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function _conjunctionScore($docId, Zend_Search_Lucene_Interface $reader)
- {
- if ($this->_coord === null) {
- $this->_coord = $reader->getSimilarity()->coord(count($this->_terms),
- count($this->_terms) );
- }
-
- $score = 0.0;
-
- foreach ($this->_terms as $termId => $term) {
- /**
- * We don't need to check that term freq is not 0
- * Score calculation is performed only for matched docs
- */
- $score += $reader->getSimilarity()->tf($this->_termsFreqs[$termId][$docId]) *
- $this->_weights[$termId]->getValue() *
- $reader->norm($docId, $term->field);
- }
-
- return $score * $this->_coord * $this->getBoost();
- }
-
-
- /**
- * Score calculator for non conjunction queries (not all terms are required)
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function _nonConjunctionScore($docId, $reader)
- {
- if ($this->_coord === null) {
- $this->_coord = array();
-
- $maxCoord = 0;
- foreach ($this->_signs as $sign) {
- if ($sign !== false /* not prohibited */) {
- $maxCoord++;
- }
- }
-
- for ($count = 0; $count <= $maxCoord; $count++) {
- $this->_coord[$count] = $reader->getSimilarity()->coord($count, $maxCoord);
- }
- }
-
- $score = 0.0;
- $matchedTerms = 0;
- foreach ($this->_terms as $termId=>$term) {
- // Check if term is
- if ($this->_signs[$termId] !== false && // not prohibited
- isset($this->_termsFreqs[$termId][$docId]) // matched
- ) {
- $matchedTerms++;
-
- /**
- * We don't need to check that term freq is not 0
- * Score calculation is performed only for matched docs
- */
- $score +=
- $reader->getSimilarity()->tf($this->_termsFreqs[$termId][$docId]) *
- $this->_weights[$termId]->getValue() *
- $reader->norm($docId, $term->field);
- }
- }
-
- return $score * $this->_coord[$matchedTerms] * $this->getBoost();
- }
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- if ($this->_signs === null) {
- $this->_calculateConjunctionResult($reader);
- } else {
- $this->_calculateNonConjunctionResult($reader);
- }
-
- // Initialize weight if it's not done yet
- $this->_initWeight($reader);
- }
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- */
- public function matchedDocs()
- {
- return $this->_resVector;
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- if (isset($this->_resVector[$docId])) {
- if ($this->_signs === null) {
- return $this->_conjunctionScore($docId, $reader);
- } else {
- return $this->_nonConjunctionScore($docId, $reader);
- }
- } else {
- return 0;
- }
- }
-
- /**
- * Return query terms
- *
- * @return array
- */
- public function getQueryTerms()
- {
- if ($this->_signs === null) {
- return $this->_terms;
- }
-
- $terms = array();
-
- foreach ($this->_signs as $id => $sign) {
- if ($sign !== false) {
- $terms[] = $this->_terms[$id];
- }
- }
-
- return $terms;
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- $words = array();
-
- if ($this->_signs === null) {
- foreach ($this->_terms as $term) {
- $words[] = $term->text;
- }
- } else {
- foreach ($this->_signs as $id => $sign) {
- if ($sign !== false) {
- $words[] = $this->_terms[$id]->text;
- }
- }
- }
-
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
-
- $query = '';
-
- foreach ($this->_terms as $id => $term) {
- if ($id != 0) {
- $query .= ' ';
- }
-
- if ($this->_signs === null || $this->_signs[$id] === true) {
- $query .= '+';
- } else if ($this->_signs[$id] === false) {
- $query .= '-';
- }
-
- if ($term->field !== null) {
- $query .= $term->field . ':';
- }
- $query .= $term->text;
- }
-
- if ($this->getBoost() != 1) {
- $query = '(' . $query . ')^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Phrase.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Phrase.php
deleted file mode 100644
index 1b2d6a7ad..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Phrase.php
+++ /dev/null
@@ -1,576 +0,0 @@
- (docId => array( pos1, pos2, ... ), ...)
- * term2Id => (docId => array( pos1, pos2, ... ), ...)
- *
- * @var array
- */
- private $_termsPositions = array();
-
- /**
- * Class constructor. Create a new prase query.
- *
- * @param string $field Field to search.
- * @param array $terms Terms to search Array of strings.
- * @param array $offsets Relative term positions. Array of integers.
- * @throws Zend_Search_Lucene_Exception
- */
- public function __construct($terms = null, $offsets = null, $field = null)
- {
- $this->_slop = 0;
-
- if (is_array($terms)) {
- $this->_terms = array();
- require_once 'Zend/Search/Lucene/Index/Term.php';
- foreach ($terms as $termId => $termText) {
- $this->_terms[$termId] = ($field !== null)? new Zend_Search_Lucene_Index_Term($termText, $field):
- new Zend_Search_Lucene_Index_Term($termText);
- }
- } else if ($terms === null) {
- $this->_terms = array();
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('terms argument must be array of strings or null');
- }
-
- if (is_array($offsets)) {
- if (count($this->_terms) != count($offsets)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('terms and offsets arguments must have the same size.');
- }
- $this->_offsets = $offsets;
- } else if ($offsets === null) {
- $this->_offsets = array();
- foreach ($this->_terms as $termId => $term) {
- $position = count($this->_offsets);
- $this->_offsets[$termId] = $position;
- }
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('offsets argument must be array of strings or null');
- }
- }
-
- /**
- * Set slop
- *
- * @param integer $slop
- */
- public function setSlop($slop)
- {
- $this->_slop = $slop;
- }
-
-
- /**
- * Get slop
- *
- * @return integer
- */
- public function getSlop()
- {
- return $this->_slop;
- }
-
-
- /**
- * Adds a term to the end of the query phrase.
- * The relative position of the term is specified explicitly or the one immediately
- * after the last term added.
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param integer $position
- */
- public function addTerm(Zend_Search_Lucene_Index_Term $term, $position = null) {
- if ((count($this->_terms) != 0)&&(end($this->_terms)->field != $term->field)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('All phrase terms must be in the same field: ' .
- $term->field . ':' . $term->text);
- }
-
- $this->_terms[] = $term;
- if ($position !== null) {
- $this->_offsets[] = $position;
- } else if (count($this->_offsets) != 0) {
- $this->_offsets[] = end($this->_offsets) + 1;
- } else {
- $this->_offsets[] = 0;
- }
- }
-
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- if (count($this->_terms) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- } else if ($this->_terms[0]->field !== null) {
- return $this;
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
- $query->setBoost($this->getBoost());
-
- foreach ($index->getFieldNames(true) as $fieldName) {
- $subquery = new Zend_Search_Lucene_Search_Query_Phrase();
- $subquery->setSlop($this->getSlop());
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- foreach ($this->_terms as $termId => $term) {
- $qualifiedTerm = new Zend_Search_Lucene_Index_Term($term->text, $fieldName);
-
- $subquery->addTerm($qualifiedTerm, $this->_offsets[$termId]);
- }
-
- $query->addSubquery($subquery);
- }
-
- return $query;
- }
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- // Check, that index contains all phrase terms
- foreach ($this->_terms as $term) {
- if (!$index->hasTerm($term)) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
- }
-
- if (count($this->_terms) == 1) {
- // It's one term query
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $optimizedQuery = new Zend_Search_Lucene_Search_Query_Term(reset($this->_terms));
- $optimizedQuery->setBoost($this->getBoost());
-
- return $optimizedQuery;
- }
-
- if (count($this->_terms) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
-
- return $this;
- }
-
- /**
- * Returns query term
- *
- * @return array
- */
- public function getTerms()
- {
- return $this->_terms;
- }
-
-
- /**
- * Set weight for specified term
- *
- * @param integer $num
- * @param Zend_Search_Lucene_Search_Weight_Term $weight
- */
- public function setWeight($num, $weight)
- {
- $this->_weights[$num] = $weight;
- }
-
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Search/Weight/Phrase.php';
- $this->_weight = new Zend_Search_Lucene_Search_Weight_Phrase($this, $reader);
- return $this->_weight;
- }
-
-
- /**
- * Score calculator for exact phrase queries (terms sequence is fixed)
- *
- * @param integer $docId
- * @return float
- */
- public function _exactPhraseFreq($docId)
- {
- $freq = 0;
-
- // Term Id with lowest cardinality
- $lowCardTermId = null;
-
- // Calculate $lowCardTermId
- foreach ($this->_terms as $termId => $term) {
- if ($lowCardTermId === null ||
- count($this->_termsPositions[$termId][$docId]) <
- count($this->_termsPositions[$lowCardTermId][$docId]) ) {
- $lowCardTermId = $termId;
- }
- }
-
- // Walk through positions of the term with lowest cardinality
- foreach ($this->_termsPositions[$lowCardTermId][$docId] as $lowCardPos) {
- // We expect phrase to be found
- $freq++;
-
- // Walk through other terms
- foreach ($this->_terms as $termId => $term) {
- if ($termId != $lowCardTermId) {
- $expectedPosition = $lowCardPos +
- ($this->_offsets[$termId] -
- $this->_offsets[$lowCardTermId]);
-
- if (!in_array($expectedPosition, $this->_termsPositions[$termId][$docId])) {
- $freq--; // Phrase wasn't found.
- break;
- }
- }
- }
- }
-
- return $freq;
- }
-
- /**
- * Score calculator for sloppy phrase queries (terms sequence is fixed)
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function _sloppyPhraseFreq($docId, Zend_Search_Lucene_Interface $reader)
- {
- $freq = 0;
-
- $phraseQueue = array();
- $phraseQueue[0] = array(); // empty phrase
- $lastTerm = null;
-
- // Walk through the terms to create phrases.
- foreach ($this->_terms as $termId => $term) {
- $queueSize = count($phraseQueue);
- $firstPass = true;
-
- // Walk through the term positions.
- // Each term position produces a set of phrases.
- foreach ($this->_termsPositions[$termId][$docId] as $termPosition ) {
- if ($firstPass) {
- for ($count = 0; $count < $queueSize; $count++) {
- $phraseQueue[$count][$termId] = $termPosition;
- }
- } else {
- for ($count = 0; $count < $queueSize; $count++) {
- if ($lastTerm !== null &&
- abs( $termPosition - $phraseQueue[$count][$lastTerm] -
- ($this->_offsets[$termId] - $this->_offsets[$lastTerm])) > $this->_slop) {
- continue;
- }
-
- $newPhraseId = count($phraseQueue);
- $phraseQueue[$newPhraseId] = $phraseQueue[$count];
- $phraseQueue[$newPhraseId][$termId] = $termPosition;
- }
-
- }
-
- $firstPass = false;
- }
- $lastTerm = $termId;
- }
-
-
- foreach ($phraseQueue as $phrasePos) {
- $minDistance = null;
-
- for ($shift = -$this->_slop; $shift <= $this->_slop; $shift++) {
- $distance = 0;
- $start = reset($phrasePos) - reset($this->_offsets) + $shift;
-
- foreach ($this->_terms as $termId => $term) {
- $distance += abs($phrasePos[$termId] - $this->_offsets[$termId] - $start);
-
- if($distance > $this->_slop) {
- break;
- }
- }
-
- if ($minDistance === null || $distance < $minDistance) {
- $minDistance = $distance;
- }
- }
-
- if ($minDistance <= $this->_slop) {
- $freq += $reader->getSimilarity()->sloppyFreq($minDistance);
- }
- }
-
- return $freq;
- }
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- $this->_resVector = null;
-
- if (count($this->_terms) == 0) {
- $this->_resVector = array();
- }
-
- $resVectors = array();
- $resVectorsSizes = array();
- $resVectorsIds = array(); // is used to prevent arrays comparison
- foreach ($this->_terms as $termId => $term) {
- $resVectors[] = array_flip($reader->termDocs($term));
- $resVectorsSizes[] = count(end($resVectors));
- $resVectorsIds[] = $termId;
-
- $this->_termsPositions[$termId] = $reader->termPositions($term);
- }
- // sort resvectors in order of subquery cardinality increasing
- array_multisort($resVectorsSizes, SORT_ASC, SORT_NUMERIC,
- $resVectorsIds, SORT_ASC, SORT_NUMERIC,
- $resVectors);
-
- foreach ($resVectors as $nextResVector) {
- if($this->_resVector === null) {
- $this->_resVector = $nextResVector;
- } else {
- //$this->_resVector = array_intersect_key($this->_resVector, $nextResVector);
-
- /**
- * This code is used as workaround for array_intersect_key() slowness problem.
- */
- $updatedVector = array();
- foreach ($this->_resVector as $id => $value) {
- if (isset($nextResVector[$id])) {
- $updatedVector[$id] = $value;
- }
- }
- $this->_resVector = $updatedVector;
- }
-
- if (count($this->_resVector) == 0) {
- // Empty result set, we don't need to check other terms
- break;
- }
- }
-
- // ksort($this->_resVector, SORT_NUMERIC);
- // Docs are returned ordered. Used algorithm doesn't change elements order.
-
- // Initialize weight if it's not done yet
- $this->_initWeight($reader);
- }
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- */
- public function matchedDocs()
- {
- return $this->_resVector;
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- if (isset($this->_resVector[$docId])) {
- if ($this->_slop == 0) {
- $freq = $this->_exactPhraseFreq($docId);
- } else {
- $freq = $this->_sloppyPhraseFreq($docId, $reader);
- }
-
- if ($freq != 0) {
- $tf = $reader->getSimilarity()->tf($freq);
- $weight = $this->_weight->getValue();
- $norm = $reader->norm($docId, reset($this->_terms)->field);
-
- return $tf * $weight * $norm * $this->getBoost();
- }
-
- // Included in result, but culculated freq is zero
- return 0;
- } else {
- return 0;
- }
- }
-
- /**
- * Return query terms
- *
- * @return array
- */
- public function getQueryTerms()
- {
- return $this->_terms;
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- $words = array();
- foreach ($this->_terms as $term) {
- $words[] = $term->text;
- }
-
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- if (isset($this->_terms[0]) && $this->_terms[0]->field !== null) {
- $query = $this->_terms[0]->field . ':';
- } else {
- $query = '';
- }
-
- $query .= '"';
-
- foreach ($this->_terms as $id => $term) {
- if ($id != 0) {
- $query .= ' ';
- }
- $query .= $term->text;
- }
-
- $query .= '"';
-
- if ($this->_slop != 0) {
- $query .= '~' . $this->_slop;
- }
-
- if ($this->getBoost() != 1) {
- $query .= '^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing.php
deleted file mode 100644
index e5f6fce62..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing.php
+++ /dev/null
@@ -1,127 +0,0 @@
-_word = $word;
- $this->_encoding = $encoding;
- $this->_field = $fieldName;
- $this->_minimumSimilarity = $minimumSimilarity;
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- if ($this->_field === null) {
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
-
- $hasInsignificantSubqueries = false;
-
- require_once 'Zend/Search/Lucene.php';
- if (Zend_Search_Lucene::getDefaultSearchField() === null) {
- $searchFields = $index->getFieldNames(true);
- } else {
- $searchFields = array(Zend_Search_Lucene::getDefaultSearchField());
- }
-
- require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php';
- foreach ($searchFields as $fieldName) {
- $subquery = new Zend_Search_Lucene_Search_Query_Preprocessing_Fuzzy($this->_word,
- $this->_encoding,
- $fieldName,
- $this->_minimumSimilarity);
-
- $rewrittenSubquery = $subquery->rewrite($index);
-
- if ( !($rewrittenSubquery instanceof Zend_Search_Lucene_Search_Query_Insignificant ||
- $rewrittenSubquery instanceof Zend_Search_Lucene_Search_Query_Empty) ) {
- $query->addSubquery($rewrittenSubquery);
- }
-
- if ($rewrittenSubquery instanceof Zend_Search_Lucene_Search_Query_Insignificant) {
- $hasInsignificantSubqueries = true;
- }
- }
-
- $subqueries = $query->getSubqueries();
-
- if (count($subqueries) == 0) {
- $this->_matches = array();
- if ($hasInsignificantSubqueries) {
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
- }
-
- if (count($subqueries) == 1) {
- $query = reset($subqueries);
- }
-
- $query->setBoost($this->getBoost());
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- // -------------------------------------
- // Recognize exact term matching (it corresponds to Keyword fields stored in the index)
- // encoding is not used since we expect binary matching
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($this->_word, $this->_field);
- if ($index->hasTerm($term)) {
- require_once 'Zend/Search/Lucene/Search/Query/Fuzzy.php';
- $query = new Zend_Search_Lucene_Search_Query_Fuzzy($term, $this->_minimumSimilarity);
- $query->setBoost($this->getBoost());
-
- // Get rewritten query. Important! It also fills terms matching container.
- $rewrittenQuery = $query->rewrite($index);
- $this->_matches = $query->getQueryTerms();
-
- return $rewrittenQuery;
- }
-
-
- // -------------------------------------
- // Recognize wildcard queries
-
- /** @todo check for PCRE unicode support may be performed through Zend_Environment in some future */
- if (@preg_match('/\pL/u', 'a') == 1) {
- $subPatterns = preg_split('/[*?]/u', iconv($this->_encoding, 'UTF-8', $this->_word));
- } else {
- $subPatterns = preg_split('/[*?]/', $this->_word);
- }
- if (count($subPatterns) > 1) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Fuzzy search doesn\'t support wildcards (except within Keyword fields).');
- }
-
-
- // -------------------------------------
- // Recognize one-term multi-term and "insignificant" queries
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_word, $this->_encoding);
-
- if (count($tokens) == 0) {
- $this->_matches = array();
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
-
- if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($tokens[0]->getTermText(), $this->_field);
- require_once 'Zend/Search/Lucene/Search/Query/Fuzzy.php';
- $query = new Zend_Search_Lucene_Search_Query_Fuzzy($term, $this->_minimumSimilarity);
- $query->setBoost($this->getBoost());
-
- // Get rewritten query. Important! It also fills terms matching container.
- $rewrittenQuery = $query->rewrite($index);
- $this->_matches = $query->getQueryTerms();
-
- return $rewrittenQuery;
- }
-
- // Word is tokenized into several tokens
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Fuzzy search is supported only for non-multiple word terms');
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- /** Skip fields detection. We don't need it, since we expect all fields presented in the HTML body and don't differentiate them */
-
- /** Skip exact term matching recognition, keyword fields highlighting is not supported */
-
- // -------------------------------------
- // Recognize wildcard queries
-
- /** @todo check for PCRE unicode support may be performed through Zend_Environment in some future */
- if (@preg_match('/\pL/u', 'a') == 1) {
- $subPatterns = preg_split('/[*?]/u', iconv($this->_encoding, 'UTF-8', $this->_word));
- } else {
- $subPatterns = preg_split('/[*?]/', $this->_word);
- }
- if (count($subPatterns) > 1) {
- // Do nothing
- return;
- }
-
-
- // -------------------------------------
- // Recognize one-term multi-term and "insignificant" queries
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_word, $this->_encoding);
- if (count($tokens) == 0) {
- // Do nothing
- return;
- }
- if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($tokens[0]->getTermText(), $this->_field);
- require_once 'Zend/Search/Lucene/Search/Query/Fuzzy.php';
- $query = new Zend_Search_Lucene_Search_Query_Fuzzy($term, $this->_minimumSimilarity);
-
- $query->_highlightMatches($highlighter);
- return;
- }
-
- // Word is tokenized into several tokens
- // But fuzzy search is supported only for non-multiple word terms
- // Do nothing
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- if ($this->_field !== null) {
- $query = $this->_field . ':';
- } else {
- $query = '';
- }
-
- $query .= $this->_word;
-
- if ($this->getBoost() != 1) {
- $query .= '^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php
deleted file mode 100644
index 2c0856d14..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php
+++ /dev/null
@@ -1,270 +0,0 @@
-_phrase = $phrase;
- $this->_phraseEncoding = $phraseEncoding;
- $this->_field = $fieldName;
- }
-
- /**
- * Set slop
- *
- * @param integer $slop
- */
- public function setSlop($slop)
- {
- $this->_slop = $slop;
- }
-
-
- /**
- * Get slop
- *
- * @return integer
- */
- public function getSlop()
- {
- return $this->_slop;
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
-// Allow to use wildcards within phrases
-// They are either removed by text analyzer or used as a part of keyword for keyword fields
-//
-// if (strpos($this->_phrase, '?') !== false || strpos($this->_phrase, '*') !== false) {
-// require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
-// throw new Zend_Search_Lucene_Search_QueryParserException('Wildcards are only allowed in a single terms.');
-// }
-
- // Split query into subqueries if field name is not specified
- if ($this->_field === null) {
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
- $query->setBoost($this->getBoost());
-
- require_once 'Zend/Search/Lucene.php';
- if (Zend_Search_Lucene::getDefaultSearchField() === null) {
- $searchFields = $index->getFieldNames(true);
- } else {
- $searchFields = array(Zend_Search_Lucene::getDefaultSearchField());
- }
-
- foreach ($searchFields as $fieldName) {
- $subquery = new Zend_Search_Lucene_Search_Query_Preprocessing_Phrase($this->_phrase,
- $this->_phraseEncoding,
- $fieldName);
- $subquery->setSlop($this->getSlop());
-
- $query->addSubquery($subquery->rewrite($index));
- }
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- // Recognize exact term matching (it corresponds to Keyword fields stored in the index)
- // encoding is not used since we expect binary matching
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($this->_phrase, $this->_field);
- if ($index->hasTerm($term)) {
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $query = new Zend_Search_Lucene_Search_Query_Term($term);
- $query->setBoost($this->getBoost());
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
-
- // tokenize phrase using current analyzer and process it as a phrase query
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_phrase, $this->_phraseEncoding);
-
- if (count($tokens) == 0) {
- $this->_matches = array();
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
-
- if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($tokens[0]->getTermText(), $this->_field);
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $query = new Zend_Search_Lucene_Search_Query_Term($term);
- $query->setBoost($this->getBoost());
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- //It's non-trivial phrase query
- $position = -1;
- require_once 'Zend/Search/Lucene/Search/Query/Phrase.php';
- $query = new Zend_Search_Lucene_Search_Query_Phrase();
- require_once 'Zend/Search/Lucene/Index/Term.php';
- foreach ($tokens as $token) {
- $position += $token->getPositionIncrement();
- $term = new Zend_Search_Lucene_Index_Term($token->getTermText(), $this->_field);
- $query->addTerm($term, $position);
- $query->setSlop($this->getSlop());
- }
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- /** Skip fields detection. We don't need it, since we expect all fields presented in the HTML body and don't differentiate them */
-
- /** Skip exact term matching recognition, keyword fields highlighting is not supported */
-
- /** Skip wildcard queries recognition. Supported wildcards are removed by text analyzer */
-
-
- // tokenize phrase using current analyzer and process it as a phrase query
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_phrase, $this->_phraseEncoding);
-
- if (count($tokens) == 0) {
- // Do nothing
- return;
- }
-
- if (count($tokens) == 1) {
- $highlighter->highlight($tokens[0]->getTermText());
- return;
- }
-
- //It's non-trivial phrase query
- $words = array();
- foreach ($tokens as $token) {
- $words[] = $token->getTermText();
- }
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- if ($this->_field !== null) {
- $query = $this->_field . ':';
- } else {
- $query = '';
- }
-
- $query .= '"' . $this->_phrase . '"';
-
- if ($this->_slop != 0) {
- $query .= '~' . $this->_slop;
- }
-
- if ($this->getBoost() != 1) {
- $query .= '^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php
deleted file mode 100644
index 933b89044..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php
+++ /dev/null
@@ -1,341 +0,0 @@
-_word = $word;
- $this->_encoding = $encoding;
- $this->_field = $fieldName;
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- if ($this->_field === null) {
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
- $query->setBoost($this->getBoost());
-
- $hasInsignificantSubqueries = false;
-
- require_once 'Zend/Search/Lucene.php';
- if (Zend_Search_Lucene::getDefaultSearchField() === null) {
- $searchFields = $index->getFieldNames(true);
- } else {
- $searchFields = array(Zend_Search_Lucene::getDefaultSearchField());
- }
-
- require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Term.php';
- foreach ($searchFields as $fieldName) {
- $subquery = new Zend_Search_Lucene_Search_Query_Preprocessing_Term($this->_word,
- $this->_encoding,
- $fieldName);
- $rewrittenSubquery = $subquery->rewrite($index);
- foreach ($rewrittenSubquery->getQueryTerms() as $term) {
- $query->addTerm($term);
- }
-
- if ($rewrittenSubquery instanceof Zend_Search_Lucene_Search_Query_Insignificant) {
- $hasInsignificantSubqueries = true;
- }
- }
-
- if (count($query->getTerms()) == 0) {
- $this->_matches = array();
- if ($hasInsignificantSubqueries) {
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
- }
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- // -------------------------------------
- // Recognize exact term matching (it corresponds to Keyword fields stored in the index)
- // encoding is not used since we expect binary matching
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($this->_word, $this->_field);
- if ($index->hasTerm($term)) {
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $query = new Zend_Search_Lucene_Search_Query_Term($term);
- $query->setBoost($this->getBoost());
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
-
- // -------------------------------------
- // Recognize wildcard queries
-
- /** @todo check for PCRE unicode support may be performed through Zend_Environment in some future */
- if (@preg_match('/\pL/u', 'a') == 1) {
- $word = iconv($this->_encoding, 'UTF-8', $this->_word);
- $wildcardsPattern = '/[*?]/u';
- $subPatternsEncoding = 'UTF-8';
- } else {
- $word = $this->_word;
- $wildcardsPattern = '/[*?]/';
- $subPatternsEncoding = $this->_encoding;
- }
-
- $subPatterns = preg_split($wildcardsPattern, $word, -1, PREG_SPLIT_OFFSET_CAPTURE);
-
- if (count($subPatterns) > 1) {
- // Wildcard query is recognized
-
- $pattern = '';
-
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- foreach ($subPatterns as $id => $subPattern) {
- // Append corresponding wildcard character to the pattern before each sub-pattern (except first)
- if ($id != 0) {
- $pattern .= $word[ $subPattern[1] - 1 ];
- }
-
- // Check if each subputtern is a single word in terms of current analyzer
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($subPattern[0], $subPatternsEncoding);
- if (count($tokens) > 1) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Wildcard search is supported only for non-multiple word terms');
- }
- foreach ($tokens as $token) {
- $pattern .= $token->getTermText();
- }
- }
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($pattern, $this->_field);
- require_once 'Zend/Search/Lucene/Search/Query/Wildcard.php';
- $query = new Zend_Search_Lucene_Search_Query_Wildcard($term);
- $query->setBoost($this->getBoost());
-
- // Get rewritten query. Important! It also fills terms matching container.
- $rewrittenQuery = $query->rewrite($index);
- $this->_matches = $query->getQueryTerms();
-
- return $rewrittenQuery;
- }
-
-
- // -------------------------------------
- // Recognize one-term multi-term and "insignificant" queries
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_word, $this->_encoding);
-
- if (count($tokens) == 0) {
- $this->_matches = array();
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
-
- if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($tokens[0]->getTermText(), $this->_field);
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- $query = new Zend_Search_Lucene_Search_Query_Term($term);
- $query->setBoost($this->getBoost());
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- //It's not insignificant or one term query
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
-
- /**
- * @todo Process $token->getPositionIncrement() to support stemming, synonyms and other
- * analizer design features
- */
- require_once 'Zend/Search/Lucene/Index/Term.php';
- foreach ($tokens as $token) {
- $term = new Zend_Search_Lucene_Index_Term($token->getTermText(), $this->_field);
- $query->addTerm($term, true); // all subterms are required
- }
-
- $query->setBoost($this->getBoost());
-
- $this->_matches = $query->getQueryTerms();
- return $query;
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- /** Skip fields detection. We don't need it, since we expect all fields presented in the HTML body and don't differentiate them */
-
- /** Skip exact term matching recognition, keyword fields highlighting is not supported */
-
- // -------------------------------------
- // Recognize wildcard queries
- /** @todo check for PCRE unicode support may be performed through Zend_Environment in some future */
- if (@preg_match('/\pL/u', 'a') == 1) {
- $word = iconv($this->_encoding, 'UTF-8', $this->_word);
- $wildcardsPattern = '/[*?]/u';
- $subPatternsEncoding = 'UTF-8';
- } else {
- $word = $this->_word;
- $wildcardsPattern = '/[*?]/';
- $subPatternsEncoding = $this->_encoding;
- }
- $subPatterns = preg_split($wildcardsPattern, $word, -1, PREG_SPLIT_OFFSET_CAPTURE);
- if (count($subPatterns) > 1) {
- // Wildcard query is recognized
-
- $pattern = '';
-
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- foreach ($subPatterns as $id => $subPattern) {
- // Append corresponding wildcard character to the pattern before each sub-pattern (except first)
- if ($id != 0) {
- $pattern .= $word[ $subPattern[1] - 1 ];
- }
-
- // Check if each subputtern is a single word in terms of current analyzer
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($subPattern[0], $subPatternsEncoding);
- if (count($tokens) > 1) {
- // Do nothing (nothing is highlighted)
- return;
- }
- foreach ($tokens as $token) {
- $pattern .= $token->getTermText();
- }
- }
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $term = new Zend_Search_Lucene_Index_Term($pattern, $this->_field);
- require_once 'Zend/Search/Lucene/Search/Query/Wildcard.php';
- $query = new Zend_Search_Lucene_Search_Query_Wildcard($term);
-
- $query->_highlightMatches($highlighter);
- return;
- }
-
-
- // -------------------------------------
- // Recognize one-term multi-term and "insignificant" queries
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_word, $this->_encoding);
-
- if (count($tokens) == 0) {
- // Do nothing
- return;
- }
-
- if (count($tokens) == 1) {
- $highlighter->highlight($tokens[0]->getTermText());
- return;
- }
-
- //It's not insignificant or one term query
- $words = array();
- foreach ($tokens as $token) {
- $words[] = $token->getTermText();
- }
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- if ($this->_field !== null) {
- $query = $this->_field . ':';
- } else {
- $query = '';
- }
-
- $query .= $this->_word;
-
- if ($this->getBoost() != 1) {
- $query .= '^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Range.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Range.php
deleted file mode 100644
index 55bee57af..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Range.php
+++ /dev/null
@@ -1,377 +0,0 @@
-field != $upperTerm->field) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Both terms must be for the same field');
- }
-
- $this->_field = ($lowerTerm !== null)? $lowerTerm->field : $upperTerm->field;
- $this->_lowerTerm = $lowerTerm;
- $this->_upperTerm = $upperTerm;
- $this->_inclusive = $inclusive;
- }
-
- /**
- * Get query field name
- *
- * @return string|null
- */
- public function getField()
- {
- return $this->_field;
- }
-
- /**
- * Get lower term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function getLowerTerm()
- {
- return $this->_lowerTerm;
- }
-
- /**
- * Get upper term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function getUpperTerm()
- {
- return $this->_upperTerm;
- }
-
- /**
- * Get upper term
- *
- * @return boolean
- */
- public function isInclusive()
- {
- return $this->_inclusive;
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- $this->_matches = array();
-
- if ($this->_field === null) {
- // Search through all fields
- $fields = $index->getFieldNames(true /* indexed fields list */);
- } else {
- $fields = array($this->_field);
- }
-
- require_once 'Zend/Search/Lucene.php';
- $maxTerms = Zend_Search_Lucene::getTermsPerQueryLimit();
- foreach ($fields as $field) {
- $index->resetTermsStream();
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- if ($this->_lowerTerm !== null) {
- $lowerTerm = new Zend_Search_Lucene_Index_Term($this->_lowerTerm->text, $field);
-
- $index->skipTo($lowerTerm);
-
- if (!$this->_inclusive &&
- $index->currentTerm() == $lowerTerm) {
- // Skip lower term
- $index->nextTerm();
- }
- } else {
- $index->skipTo(new Zend_Search_Lucene_Index_Term('', $field));
- }
-
-
- if ($this->_upperTerm !== null) {
- // Walk up to the upper term
- $upperTerm = new Zend_Search_Lucene_Index_Term($this->_upperTerm->text, $field);
-
- while ($index->currentTerm() !== null &&
- $index->currentTerm()->field == $field &&
- $index->currentTerm()->text < $upperTerm->text) {
- $this->_matches[] = $index->currentTerm();
-
- if ($maxTerms != 0 && count($this->_matches) > $maxTerms) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
-
- $index->nextTerm();
- }
-
- if ($this->_inclusive && $index->currentTerm() == $upperTerm) {
- // Include upper term into result
- $this->_matches[] = $upperTerm;
- }
- } else {
- // Walk up to the end of field data
- while ($index->currentTerm() !== null && $index->currentTerm()->field == $field) {
- $this->_matches[] = $index->currentTerm();
-
- if ($maxTerms != 0 && count($this->_matches) > $maxTerms) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
-
- $index->nextTerm();
- }
- }
-
- $index->closeTermsStream();
- }
-
- if (count($this->_matches) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- } else if (count($this->_matches) == 1) {
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- return new Zend_Search_Lucene_Search_Query_Term(reset($this->_matches));
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $rewrittenQuery = new Zend_Search_Lucene_Search_Query_MultiTerm();
-
- foreach ($this->_matches as $matchedTerm) {
- $rewrittenQuery->addTerm($matchedTerm);
- }
-
- return $rewrittenQuery;
- }
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Range query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Return query terms
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function getQueryTerms()
- {
- if ($this->_matches === null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Search or rewrite operations have to be performed before.');
- }
-
- return $this->_matches;
- }
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- * @throws Zend_Search_Lucene_Exception
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Range query should not be directly used for search. Use $query->rewrite($index)');
- }
-
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @throws Zend_Search_Lucene_Exception
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Range query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function matchedDocs()
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Range query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- * @throws Zend_Search_Lucene_Exception
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Range query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- $words = array();
-
- $docBody = $highlighter->getDocument()->getFieldUtf8Value('body');
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($docBody, 'UTF-8');
-
- $lowerTermText = ($this->_lowerTerm !== null)? $this->_lowerTerm->text : null;
- $upperTermText = ($this->_upperTerm !== null)? $this->_upperTerm->text : null;
-
- if ($this->_inclusive) {
- foreach ($tokens as $token) {
- $termText = $token->getTermText();
- if (($lowerTermText == null || $lowerTermText <= $termText) &&
- ($upperTermText == null || $termText <= $upperTermText)) {
- $words[] = $termText;
- }
- }
- } else {
- foreach ($tokens as $token) {
- $termText = $token->getTermText();
- if (($lowerTermText == null || $lowerTermText < $termText) &&
- ($upperTermText == null || $termText < $upperTermText)) {
- $words[] = $termText;
- }
- }
- }
-
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- return (($this->_field === null)? '' : $this->_field . ':')
- . (($this->_inclusive)? '[' : '{')
- . (($this->_lowerTerm !== null)? $this->_lowerTerm->text : 'null')
- . ' TO '
- . (($this->_upperTerm !== null)? $this->_upperTerm->text : 'null')
- . (($this->_inclusive)? ']' : '}')
- . (($this->getBoost() != 1)? '^' . round($this->getBoost(), 4) : '');
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Term.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Term.php
deleted file mode 100644
index 18a074f76..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Term.php
+++ /dev/null
@@ -1,228 +0,0 @@
- freq, ...)
- *
- * @var array
- */
- private $_termFreqs;
-
-
- /**
- * Zend_Search_Lucene_Search_Query_Term constructor
- *
- * @param Zend_Search_Lucene_Index_Term $term
- * @param boolean $sign
- */
- public function __construct(Zend_Search_Lucene_Index_Term $term)
- {
- $this->_term = $term;
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- if ($this->_term->field != null) {
- return $this;
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
- $query->setBoost($this->getBoost());
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- foreach ($index->getFieldNames(true) as $fieldName) {
- $term = new Zend_Search_Lucene_Index_Term($this->_term->text, $fieldName);
-
- $query->addTerm($term);
- }
-
- return $query->rewrite($index);
- }
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- // Check, that index contains specified term
- if (!$index->hasTerm($this->_term)) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- }
-
- return $this;
- }
-
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Search/Weight/Term.php';
- $this->_weight = new Zend_Search_Lucene_Search_Weight_Term($this->_term, $this, $reader);
- return $this->_weight;
- }
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- $this->_docVector = array_flip($reader->termDocs($this->_term, $docsFilter));
- $this->_termFreqs = $reader->termFreqs($this->_term, $docsFilter);
-
- // Initialize weight if it's not done yet
- $this->_initWeight($reader);
- }
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- */
- public function matchedDocs()
- {
- return $this->_docVector;
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- if (isset($this->_docVector[$docId])) {
- return $reader->getSimilarity()->tf($this->_termFreqs[$docId]) *
- $this->_weight->getValue() *
- $reader->norm($docId, $this->_term->field) *
- $this->getBoost();
- } else {
- return 0;
- }
- }
-
- /**
- * Return query terms
- *
- * @return array
- */
- public function getQueryTerms()
- {
- return array($this->_term);
- }
-
- /**
- * Return query term
- *
- * @return Zend_Search_Lucene_Index_Term
- */
- public function getTerm()
- {
- return $this->_term;
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- $highlighter->highlight($this->_term->text);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- if ($this->_term->field !== null) {
- $query = $this->_term->field . ':';
- } else {
- $query = '';
- }
-
- $query .= $this->_term->text;
-
- if ($this->getBoost() != 1) {
- $query = $query . '^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Wildcard.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Wildcard.php
deleted file mode 100644
index f3fe4cdc2..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Query/Wildcard.php
+++ /dev/null
@@ -1,362 +0,0 @@
-_pattern = $pattern;
- }
-
- /**
- * Get minimum prefix length
- *
- * @return integer
- */
- public static function getMinPrefixLength()
- {
- return self::$_minPrefixLength;
- }
-
- /**
- * Set minimum prefix length
- *
- * @param integer $minPrefixLength
- */
- public static function setMinPrefixLength($minPrefixLength)
- {
- self::$_minPrefixLength = $minPrefixLength;
- }
-
- /**
- * Get terms prefix
- *
- * @param string $word
- * @return string
- */
- private static function _getPrefix($word)
- {
- $questionMarkPosition = strpos($word, '?');
- $astrericPosition = strpos($word, '*');
-
- if ($questionMarkPosition !== false) {
- if ($astrericPosition !== false) {
- return substr($word, 0, min($questionMarkPosition, $astrericPosition));
- }
-
- return substr($word, 0, $questionMarkPosition);
- } else if ($astrericPosition !== false) {
- return substr($word, 0, $astrericPosition);
- }
-
- return $word;
- }
-
- /**
- * Re-write query into primitive queries in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- * @throws Zend_Search_Lucene_Exception
- */
- public function rewrite(Zend_Search_Lucene_Interface $index)
- {
- $this->_matches = array();
-
- if ($this->_pattern->field === null) {
- // Search through all fields
- $fields = $index->getFieldNames(true /* indexed fields list */);
- } else {
- $fields = array($this->_pattern->field);
- }
-
- $prefix = self::_getPrefix($this->_pattern->text);
- $prefixLength = strlen($prefix);
- $matchExpression = '/^' . str_replace(array('\\?', '\\*'), array('.', '.*') , preg_quote($this->_pattern->text, '/')) . '$/';
-
- if ($prefixLength < self::$_minPrefixLength) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('At least ' . self::$_minPrefixLength . ' non-wildcard characters are required at the beginning of pattern.');
- }
-
- /** @todo check for PCRE unicode support may be performed through Zend_Environment in some future */
- if (@preg_match('/\pL/u', 'a') == 1) {
- // PCRE unicode support is turned on
- // add Unicode modifier to the match expression
- $matchExpression .= 'u';
- }
-
- $maxTerms = Zend_Search_Lucene::getTermsPerQueryLimit();
- foreach ($fields as $field) {
- $index->resetTermsStream();
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- if ($prefix != '') {
- $index->skipTo(new Zend_Search_Lucene_Index_Term($prefix, $field));
-
- while ($index->currentTerm() !== null &&
- $index->currentTerm()->field == $field &&
- substr($index->currentTerm()->text, 0, $prefixLength) == $prefix) {
- if (preg_match($matchExpression, $index->currentTerm()->text) === 1) {
- $this->_matches[] = $index->currentTerm();
-
- if ($maxTerms != 0 && count($this->_matches) > $maxTerms) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
- }
-
- $index->nextTerm();
- }
- } else {
- $index->skipTo(new Zend_Search_Lucene_Index_Term('', $field));
-
- while ($index->currentTerm() !== null && $index->currentTerm()->field == $field) {
- if (preg_match($matchExpression, $index->currentTerm()->text) === 1) {
- $this->_matches[] = $index->currentTerm();
-
- if ($maxTerms != 0 && count($this->_matches) > $maxTerms) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Terms per query limit is reached.');
- }
- }
-
- $index->nextTerm();
- }
- }
-
- $index->closeTermsStream();
- }
-
- if (count($this->_matches) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Empty.php';
- return new Zend_Search_Lucene_Search_Query_Empty();
- } else if (count($this->_matches) == 1) {
- require_once 'Zend/Search/Lucene/Search/Query/Term.php';
- return new Zend_Search_Lucene_Search_Query_Term(reset($this->_matches));
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $rewrittenQuery = new Zend_Search_Lucene_Search_Query_MultiTerm();
-
- foreach ($this->_matches as $matchedTerm) {
- $rewrittenQuery->addTerm($matchedTerm);
- }
-
- return $rewrittenQuery;
- }
- }
-
- /**
- * Optimize query in the context of specified index
- *
- * @param Zend_Search_Lucene_Interface $index
- * @return Zend_Search_Lucene_Search_Query
- */
- public function optimize(Zend_Search_Lucene_Interface $index)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wildcard query should not be directly used for search. Use $query->rewrite($index)');
- }
-
-
- /**
- * Returns query pattern
- *
- * @return Zend_Search_Lucene_Index_Term
- */
- public function getPattern()
- {
- return $this->_pattern;
- }
-
-
- /**
- * Return query terms
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function getQueryTerms()
- {
- if ($this->_matches === null) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Search has to be performed first to get matched terms');
- }
-
- return $this->_matches;
- }
-
- /**
- * Constructs an appropriate Weight implementation for this query.
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @return Zend_Search_Lucene_Search_Weight
- * @throws Zend_Search_Lucene_Exception
- */
- public function createWeight(Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wildcard query should not be directly used for search. Use $query->rewrite($index)');
- }
-
-
- /**
- * Execute query in context of index reader
- * It also initializes necessary internal structures
- *
- * @param Zend_Search_Lucene_Interface $reader
- * @param Zend_Search_Lucene_Index_DocsFilter|null $docsFilter
- * @throws Zend_Search_Lucene_Exception
- */
- public function execute(Zend_Search_Lucene_Interface $reader, $docsFilter = null)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wildcard query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Get document ids likely matching the query
- *
- * It's an array with document ids as keys (performance considerations)
- *
- * @return array
- * @throws Zend_Search_Lucene_Exception
- */
- public function matchedDocs()
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wildcard query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Score specified document
- *
- * @param integer $docId
- * @param Zend_Search_Lucene_Interface $reader
- * @return float
- * @throws Zend_Search_Lucene_Exception
- */
- public function score($docId, Zend_Search_Lucene_Interface $reader)
- {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Wildcard query should not be directly used for search. Use $query->rewrite($index)');
- }
-
- /**
- * Query specific matches highlighting
- *
- * @param Zend_Search_Lucene_Search_Highlighter_Interface $highlighter Highlighter object (also contains doc for highlighting)
- */
- protected function _highlightMatches(Zend_Search_Lucene_Search_Highlighter_Interface $highlighter)
- {
- $words = array();
-
- $matchExpression = '/^' . str_replace(array('\\?', '\\*'), array('.', '.*') , preg_quote($this->_pattern->text, '/')) . '$/';
- if (@preg_match('/\pL/u', 'a') == 1) {
- // PCRE unicode support is turned on
- // add Unicode modifier to the match expression
- $matchExpression .= 'u';
- }
-
- $docBody = $highlighter->getDocument()->getFieldUtf8Value('body');
- require_once 'Zend/Search/Lucene/Analysis/Analyzer.php';
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($docBody, 'UTF-8');
- foreach ($tokens as $token) {
- if (preg_match($matchExpression, $token->getTermText()) === 1) {
- $words[] = $token->getTermText();
- }
- }
-
- $highlighter->highlight($words);
- }
-
- /**
- * Print a query
- *
- * @return string
- */
- public function __toString()
- {
- // It's used only for query visualisation, so we don't care about characters escaping
- if ($this->_pattern->field !== null) {
- $query = $this->_pattern->field . ':';
- } else {
- $query = '';
- }
-
- $query .= $this->_pattern->text;
-
- if ($this->getBoost() != 1) {
- $query = $query . '^' . round($this->getBoost(), 4);
- }
-
- return $query;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry.php
deleted file mode 100644
index 41c03aeb7..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry.php
+++ /dev/null
@@ -1,67 +0,0 @@
-_boost *= $boostFactor;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Phrase.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Phrase.php
deleted file mode 100644
index 923b6a51d..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Phrase.php
+++ /dev/null
@@ -1,116 +0,0 @@
-_phrase = $phrase;
- $this->_field = $field;
- }
-
- /**
- * Process modifier ('~')
- *
- * @param mixed $parameter
- */
- public function processFuzzyProximityModifier($parameter = null)
- {
- $this->_proximityQuery = true;
-
- if ($parameter !== null) {
- $this->_wordsDistance = $parameter;
- }
- }
-
- /**
- * Transform entry to a subquery
- *
- * @param string $encoding
- * @return Zend_Search_Lucene_Search_Query
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function getQuery($encoding)
- {
- /** Zend_Search_Lucene_Search_Query_Preprocessing_Phrase */
- require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php';
- $query = new Zend_Search_Lucene_Search_Query_Preprocessing_Phrase($this->_phrase,
- $encoding,
- ($this->_field !== null)?
- iconv($encoding, 'UTF-8', $this->_field) :
- null);
-
- if ($this->_proximityQuery) {
- $query->setSlop($this->_wordsDistance);
- }
-
- $query->setBoost($this->_boost);
-
- return $query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Subquery.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Subquery.php
deleted file mode 100644
index 9f70ad32b..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Subquery.php
+++ /dev/null
@@ -1,77 +0,0 @@
-_query = $query;
- }
-
- /**
- * Process modifier ('~')
- *
- * @param mixed $parameter
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function processFuzzyProximityModifier($parameter = null)
- {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('\'~\' sign must follow term or phrase');
- }
-
-
- /**
- * Transform entry to a subquery
- *
- * @param string $encoding
- * @return Zend_Search_Lucene_Search_Query
- */
- public function getQuery($encoding)
- {
- $this->_query->setBoost($this->_boost);
-
- return $this->_query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Term.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Term.php
deleted file mode 100644
index 0997b8eea..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryEntry/Term.php
+++ /dev/null
@@ -1,130 +0,0 @@
-_term = $term;
- $this->_field = $field;
- }
-
- /**
- * Process modifier ('~')
- *
- * @param mixed $parameter
- */
- public function processFuzzyProximityModifier($parameter = null)
- {
- $this->_fuzzyQuery = true;
-
- if ($parameter !== null) {
- $this->_similarity = $parameter;
- } else {
- /** Zend_Search_Lucene_Search_Query_Fuzzy */
- require_once 'Zend/Search/Lucene/Search/Query/Fuzzy.php';
- $this->_similarity = Zend_Search_Lucene_Search_Query_Fuzzy::DEFAULT_MIN_SIMILARITY;
- }
- }
-
- /**
- * Transform entry to a subquery
- *
- * @param string $encoding
- * @return Zend_Search_Lucene_Search_Query
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function getQuery($encoding)
- {
- if ($this->_fuzzyQuery) {
- /** Zend_Search_Lucene_Search_Query_Preprocessing_Fuzzy */
- require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php';
- $query = new Zend_Search_Lucene_Search_Query_Preprocessing_Fuzzy($this->_term,
- $encoding,
- ($this->_field !== null)?
- iconv($encoding, 'UTF-8', $this->_field) :
- null,
- $this->_similarity
- );
- $query->setBoost($this->_boost);
- return $query;
- }
-
-
- /** Zend_Search_Lucene_Search_Query_Preprocessing_Term */
- require_once 'Zend/Search/Lucene/Search/Query/Preprocessing/Term.php';
- $query = new Zend_Search_Lucene_Search_Query_Preprocessing_Term($this->_term,
- $encoding,
- ($this->_field !== null)?
- iconv($encoding, 'UTF-8', $this->_field) :
- null
- );
- $query->setBoost($this->_boost);
- return $query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryHit.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryHit.php
deleted file mode 100644
index 4aad093d3..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryHit.php
+++ /dev/null
@@ -1,110 +0,0 @@
-_index = new Zend_Search_Lucene_Proxy($index);
- }
-
-
- /**
- * Convenience function for getting fields from the document
- * associated with this hit.
- *
- * @param string $offset
- * @return string
- */
- public function __get($offset)
- {
- return $this->getDocument()->getFieldValue($offset);
- }
-
-
- /**
- * Return the document object for this hit
- *
- * @return Zend_Search_Lucene_Document
- */
- public function getDocument()
- {
- if (!$this->_document instanceof Zend_Search_Lucene_Document) {
- $this->_document = $this->_index->getDocument($this->id);
- }
-
- return $this->_document;
- }
-
-
- /**
- * Return the index object for this hit
- *
- * @return Zend_Search_Lucene_Interface
- */
- public function getIndex()
- {
- return $this->_index;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryLexer.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryLexer.php
deleted file mode 100644
index ce1876dda..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryLexer.php
+++ /dev/null
@@ -1,510 +0,0 @@
-addRules(array( array(self::ST_WHITE_SPACE, self::IN_WHITE_SPACE, self::ST_WHITE_SPACE),
- array(self::ST_WHITE_SPACE, self::IN_SYNT_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_WHITE_SPACE, self::IN_MUTABLE_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_WHITE_SPACE, self::IN_LEXEME_MODIFIER, self::ST_LEXEME_MODIFIER),
- array(self::ST_WHITE_SPACE, self::IN_ESCAPE_CHAR, self::ST_ESCAPED_CHAR),
- array(self::ST_WHITE_SPACE, self::IN_QUOTE, self::ST_QUOTED_LEXEME),
- array(self::ST_WHITE_SPACE, self::IN_DECIMAL_POINT, self::ST_LEXEME),
- array(self::ST_WHITE_SPACE, self::IN_ASCII_DIGIT, self::ST_LEXEME),
- array(self::ST_WHITE_SPACE, self::IN_CHAR, self::ST_LEXEME)
- ));
- $this->addRules(array( array(self::ST_SYNT_LEXEME, self::IN_WHITE_SPACE, self::ST_WHITE_SPACE),
- array(self::ST_SYNT_LEXEME, self::IN_SYNT_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_SYNT_LEXEME, self::IN_MUTABLE_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_SYNT_LEXEME, self::IN_LEXEME_MODIFIER, self::ST_LEXEME_MODIFIER),
- array(self::ST_SYNT_LEXEME, self::IN_ESCAPE_CHAR, self::ST_ESCAPED_CHAR),
- array(self::ST_SYNT_LEXEME, self::IN_QUOTE, self::ST_QUOTED_LEXEME),
- array(self::ST_SYNT_LEXEME, self::IN_DECIMAL_POINT, self::ST_LEXEME),
- array(self::ST_SYNT_LEXEME, self::IN_ASCII_DIGIT, self::ST_LEXEME),
- array(self::ST_SYNT_LEXEME, self::IN_CHAR, self::ST_LEXEME)
- ));
- $this->addRules(array( array(self::ST_LEXEME, self::IN_WHITE_SPACE, self::ST_WHITE_SPACE),
- array(self::ST_LEXEME, self::IN_SYNT_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_LEXEME, self::IN_MUTABLE_CHAR, self::ST_LEXEME),
- array(self::ST_LEXEME, self::IN_LEXEME_MODIFIER, self::ST_LEXEME_MODIFIER),
- array(self::ST_LEXEME, self::IN_ESCAPE_CHAR, self::ST_ESCAPED_CHAR),
-
- // IN_QUOTE not allowed
- array(self::ST_LEXEME, self::IN_QUOTE, self::ST_ERROR, $quoteWithinLexemeErrorAction),
-
- array(self::ST_LEXEME, self::IN_DECIMAL_POINT, self::ST_LEXEME),
- array(self::ST_LEXEME, self::IN_ASCII_DIGIT, self::ST_LEXEME),
- array(self::ST_LEXEME, self::IN_CHAR, self::ST_LEXEME)
- ));
- $this->addRules(array( array(self::ST_QUOTED_LEXEME, self::IN_WHITE_SPACE, self::ST_QUOTED_LEXEME),
- array(self::ST_QUOTED_LEXEME, self::IN_SYNT_CHAR, self::ST_QUOTED_LEXEME),
- array(self::ST_QUOTED_LEXEME, self::IN_MUTABLE_CHAR, self::ST_QUOTED_LEXEME),
- array(self::ST_QUOTED_LEXEME, self::IN_LEXEME_MODIFIER, self::ST_QUOTED_LEXEME),
- array(self::ST_QUOTED_LEXEME, self::IN_ESCAPE_CHAR, self::ST_ESCAPED_QCHAR),
- array(self::ST_QUOTED_LEXEME, self::IN_QUOTE, self::ST_WHITE_SPACE),
- array(self::ST_QUOTED_LEXEME, self::IN_DECIMAL_POINT, self::ST_QUOTED_LEXEME),
- array(self::ST_QUOTED_LEXEME, self::IN_ASCII_DIGIT, self::ST_QUOTED_LEXEME),
- array(self::ST_QUOTED_LEXEME, self::IN_CHAR, self::ST_QUOTED_LEXEME)
- ));
- $this->addRules(array( array(self::ST_ESCAPED_CHAR, self::IN_WHITE_SPACE, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_SYNT_CHAR, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_MUTABLE_CHAR, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_LEXEME_MODIFIER, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_ESCAPE_CHAR, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_QUOTE, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_DECIMAL_POINT, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_ASCII_DIGIT, self::ST_LEXEME),
- array(self::ST_ESCAPED_CHAR, self::IN_CHAR, self::ST_LEXEME)
- ));
- $this->addRules(array( array(self::ST_ESCAPED_QCHAR, self::IN_WHITE_SPACE, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_SYNT_CHAR, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_MUTABLE_CHAR, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_LEXEME_MODIFIER, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_ESCAPE_CHAR, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_QUOTE, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_DECIMAL_POINT, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_ASCII_DIGIT, self::ST_QUOTED_LEXEME),
- array(self::ST_ESCAPED_QCHAR, self::IN_CHAR, self::ST_QUOTED_LEXEME)
- ));
- $this->addRules(array( array(self::ST_LEXEME_MODIFIER, self::IN_WHITE_SPACE, self::ST_WHITE_SPACE),
- array(self::ST_LEXEME_MODIFIER, self::IN_SYNT_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_LEXEME_MODIFIER, self::IN_MUTABLE_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_LEXEME_MODIFIER, self::IN_LEXEME_MODIFIER, self::ST_LEXEME_MODIFIER),
-
- // IN_ESCAPE_CHAR not allowed
- array(self::ST_LEXEME_MODIFIER, self::IN_ESCAPE_CHAR, self::ST_ERROR, $lexemeModifierErrorAction),
-
- // IN_QUOTE not allowed
- array(self::ST_LEXEME_MODIFIER, self::IN_QUOTE, self::ST_ERROR, $lexemeModifierErrorAction),
-
-
- array(self::ST_LEXEME_MODIFIER, self::IN_DECIMAL_POINT, self::ST_MANTISSA),
- array(self::ST_LEXEME_MODIFIER, self::IN_ASCII_DIGIT, self::ST_NUMBER),
-
- // IN_CHAR not allowed
- array(self::ST_LEXEME_MODIFIER, self::IN_CHAR, self::ST_ERROR, $lexemeModifierErrorAction),
- ));
- $this->addRules(array( array(self::ST_NUMBER, self::IN_WHITE_SPACE, self::ST_WHITE_SPACE),
- array(self::ST_NUMBER, self::IN_SYNT_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_NUMBER, self::IN_MUTABLE_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_NUMBER, self::IN_LEXEME_MODIFIER, self::ST_LEXEME_MODIFIER),
-
- // IN_ESCAPE_CHAR not allowed
- array(self::ST_NUMBER, self::IN_ESCAPE_CHAR, self::ST_ERROR, $wrongNumberErrorAction),
-
- // IN_QUOTE not allowed
- array(self::ST_NUMBER, self::IN_QUOTE, self::ST_ERROR, $wrongNumberErrorAction),
-
- array(self::ST_NUMBER, self::IN_DECIMAL_POINT, self::ST_MANTISSA),
- array(self::ST_NUMBER, self::IN_ASCII_DIGIT, self::ST_NUMBER),
-
- // IN_CHAR not allowed
- array(self::ST_NUMBER, self::IN_CHAR, self::ST_ERROR, $wrongNumberErrorAction),
- ));
- $this->addRules(array( array(self::ST_MANTISSA, self::IN_WHITE_SPACE, self::ST_WHITE_SPACE),
- array(self::ST_MANTISSA, self::IN_SYNT_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_MANTISSA, self::IN_MUTABLE_CHAR, self::ST_SYNT_LEXEME),
- array(self::ST_MANTISSA, self::IN_LEXEME_MODIFIER, self::ST_LEXEME_MODIFIER),
-
- // IN_ESCAPE_CHAR not allowed
- array(self::ST_MANTISSA, self::IN_ESCAPE_CHAR, self::ST_ERROR, $wrongNumberErrorAction),
-
- // IN_QUOTE not allowed
- array(self::ST_MANTISSA, self::IN_QUOTE, self::ST_ERROR, $wrongNumberErrorAction),
-
- // IN_DECIMAL_POINT not allowed
- array(self::ST_MANTISSA, self::IN_DECIMAL_POINT, self::ST_ERROR, $wrongNumberErrorAction),
-
- array(self::ST_MANTISSA, self::IN_ASCII_DIGIT, self::ST_MANTISSA),
-
- // IN_CHAR not allowed
- array(self::ST_MANTISSA, self::IN_CHAR, self::ST_ERROR, $wrongNumberErrorAction),
- ));
-
-
- /** Actions */
- $syntaxLexemeAction = new Zend_Search_Lucene_FSMAction($this, 'addQuerySyntaxLexeme');
- $lexemeModifierAction = new Zend_Search_Lucene_FSMAction($this, 'addLexemeModifier');
- $addLexemeAction = new Zend_Search_Lucene_FSMAction($this, 'addLexeme');
- $addQuotedLexemeAction = new Zend_Search_Lucene_FSMAction($this, 'addQuotedLexeme');
- $addNumberLexemeAction = new Zend_Search_Lucene_FSMAction($this, 'addNumberLexeme');
- $addLexemeCharAction = new Zend_Search_Lucene_FSMAction($this, 'addLexemeChar');
-
-
- /** Syntax lexeme */
- $this->addEntryAction(self::ST_SYNT_LEXEME, $syntaxLexemeAction);
- // Two lexemes in succession
- $this->addTransitionAction(self::ST_SYNT_LEXEME, self::ST_SYNT_LEXEME, $syntaxLexemeAction);
-
-
- /** Lexeme */
- $this->addEntryAction(self::ST_LEXEME, $addLexemeCharAction);
- $this->addTransitionAction(self::ST_LEXEME, self::ST_LEXEME, $addLexemeCharAction);
- // ST_ESCAPED_CHAR => ST_LEXEME transition is covered by ST_LEXEME entry action
-
- $this->addTransitionAction(self::ST_LEXEME, self::ST_WHITE_SPACE, $addLexemeAction);
- $this->addTransitionAction(self::ST_LEXEME, self::ST_SYNT_LEXEME, $addLexemeAction);
- $this->addTransitionAction(self::ST_LEXEME, self::ST_QUOTED_LEXEME, $addLexemeAction);
- $this->addTransitionAction(self::ST_LEXEME, self::ST_LEXEME_MODIFIER, $addLexemeAction);
- $this->addTransitionAction(self::ST_LEXEME, self::ST_NUMBER, $addLexemeAction);
- $this->addTransitionAction(self::ST_LEXEME, self::ST_MANTISSA, $addLexemeAction);
-
-
- /** Quoted lexeme */
- // We don't need entry action (skeep quote)
- $this->addTransitionAction(self::ST_QUOTED_LEXEME, self::ST_QUOTED_LEXEME, $addLexemeCharAction);
- $this->addTransitionAction(self::ST_ESCAPED_QCHAR, self::ST_QUOTED_LEXEME, $addLexemeCharAction);
- // Closing quote changes state to the ST_WHITE_SPACE other states are not used
- $this->addTransitionAction(self::ST_QUOTED_LEXEME, self::ST_WHITE_SPACE, $addQuotedLexemeAction);
-
-
- /** Lexeme modifier */
- $this->addEntryAction(self::ST_LEXEME_MODIFIER, $lexemeModifierAction);
-
-
- /** Number */
- $this->addEntryAction(self::ST_NUMBER, $addLexemeCharAction);
- $this->addEntryAction(self::ST_MANTISSA, $addLexemeCharAction);
- $this->addTransitionAction(self::ST_NUMBER, self::ST_NUMBER, $addLexemeCharAction);
- // ST_NUMBER => ST_MANTISSA transition is covered by ST_MANTISSA entry action
- $this->addTransitionAction(self::ST_MANTISSA, self::ST_MANTISSA, $addLexemeCharAction);
-
- $this->addTransitionAction(self::ST_NUMBER, self::ST_WHITE_SPACE, $addNumberLexemeAction);
- $this->addTransitionAction(self::ST_NUMBER, self::ST_SYNT_LEXEME, $addNumberLexemeAction);
- $this->addTransitionAction(self::ST_NUMBER, self::ST_LEXEME_MODIFIER, $addNumberLexemeAction);
- $this->addTransitionAction(self::ST_MANTISSA, self::ST_WHITE_SPACE, $addNumberLexemeAction);
- $this->addTransitionAction(self::ST_MANTISSA, self::ST_SYNT_LEXEME, $addNumberLexemeAction);
- $this->addTransitionAction(self::ST_MANTISSA, self::ST_LEXEME_MODIFIER, $addNumberLexemeAction);
- }
-
-
-
-
- /**
- * Translate input char to an input symbol of state machine
- *
- * @param string $char
- * @return integer
- */
- private function _translateInput($char)
- {
- if (strpos(self::QUERY_WHITE_SPACE_CHARS, $char) !== false) { return self::IN_WHITE_SPACE;
- } else if (strpos(self::QUERY_SYNT_CHARS, $char) !== false) { return self::IN_SYNT_CHAR;
- } else if (strpos(self::QUERY_MUTABLE_CHARS, $char) !== false) { return self::IN_MUTABLE_CHAR;
- } else if (strpos(self::QUERY_LEXEMEMODIFIER_CHARS, $char) !== false) { return self::IN_LEXEME_MODIFIER;
- } else if (strpos(self::QUERY_ASCIIDIGITS_CHARS, $char) !== false) { return self::IN_ASCII_DIGIT;
- } else if ($char === '"' ) { return self::IN_QUOTE;
- } else if ($char === '.' ) { return self::IN_DECIMAL_POINT;
- } else if ($char === '\\') { return self::IN_ESCAPE_CHAR;
- } else { return self::IN_CHAR;
- }
- }
-
-
- /**
- * This method is used to tokenize query string into lexemes
- *
- * @param string $inputString
- * @param string $encoding
- * @return array
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function tokenize($inputString, $encoding)
- {
- $this->reset();
-
- $this->_lexemes = array();
- $this->_queryString = array();
-
- if (PHP_OS == 'AIX' && $encoding == '') {
- $encoding = 'ISO8859-1';
- }
- $strLength = iconv_strlen($inputString, $encoding);
-
- // Workaround for iconv_substr bug
- $inputString .= ' ';
-
- for ($count = 0; $count < $strLength; $count++) {
- $this->_queryString[$count] = iconv_substr($inputString, $count, 1, $encoding);
- }
-
- for ($this->_queryStringPosition = 0;
- $this->_queryStringPosition < count($this->_queryString);
- $this->_queryStringPosition++) {
- $this->process($this->_translateInput($this->_queryString[$this->_queryStringPosition]));
- }
-
- $this->process(self::IN_WHITE_SPACE);
-
- if ($this->getState() != self::ST_WHITE_SPACE) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Unexpected end of query');
- }
-
- $this->_queryString = null;
-
- return $this->_lexemes;
- }
-
-
-
- /*********************************************************************
- * Actions implementation
- *
- * Actions affect on recognized lexemes list
- *********************************************************************/
-
- /**
- * Add query syntax lexeme
- *
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function addQuerySyntaxLexeme()
- {
- $lexeme = $this->_queryString[$this->_queryStringPosition];
-
- // Process two char lexemes
- if (strpos(self::QUERY_DOUBLECHARLEXEME_CHARS, $lexeme) !== false) {
- // increase current position in a query string
- $this->_queryStringPosition++;
-
- // check,
- if ($this->_queryStringPosition == count($this->_queryString) ||
- $this->_queryString[$this->_queryStringPosition] != $lexeme) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Two chars lexeme expected. ' . $this->_positionMsg());
- }
-
- // duplicate character
- $lexeme .= $lexeme;
- }
-
- $token = new Zend_Search_Lucene_Search_QueryToken(
- Zend_Search_Lucene_Search_QueryToken::TC_SYNTAX_ELEMENT,
- $lexeme,
- $this->_queryStringPosition);
-
- // Skip this lexeme if it's a field indicator ':' and treat previous as 'field' instead of 'word'
- if ($token->type == Zend_Search_Lucene_Search_QueryToken::TT_FIELD_INDICATOR) {
- $token = array_pop($this->_lexemes);
- if ($token === null || $token->type != Zend_Search_Lucene_Search_QueryToken::TT_WORD) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Field mark \':\' must follow field name. ' . $this->_positionMsg());
- }
-
- $token->type = Zend_Search_Lucene_Search_QueryToken::TT_FIELD;
- }
-
- $this->_lexemes[] = $token;
- }
-
- /**
- * Add lexeme modifier
- */
- public function addLexemeModifier()
- {
- $this->_lexemes[] = new Zend_Search_Lucene_Search_QueryToken(
- Zend_Search_Lucene_Search_QueryToken::TC_SYNTAX_ELEMENT,
- $this->_queryString[$this->_queryStringPosition],
- $this->_queryStringPosition);
- }
-
-
- /**
- * Add lexeme
- */
- public function addLexeme()
- {
- $this->_lexemes[] = new Zend_Search_Lucene_Search_QueryToken(
- Zend_Search_Lucene_Search_QueryToken::TC_WORD,
- $this->_currentLexeme,
- $this->_queryStringPosition - 1);
-
- $this->_currentLexeme = '';
- }
-
- /**
- * Add quoted lexeme
- */
- public function addQuotedLexeme()
- {
- $this->_lexemes[] = new Zend_Search_Lucene_Search_QueryToken(
- Zend_Search_Lucene_Search_QueryToken::TC_PHRASE,
- $this->_currentLexeme,
- $this->_queryStringPosition);
-
- $this->_currentLexeme = '';
- }
-
- /**
- * Add number lexeme
- */
- public function addNumberLexeme()
- {
- $this->_lexemes[] = new Zend_Search_Lucene_Search_QueryToken(
- Zend_Search_Lucene_Search_QueryToken::TC_NUMBER,
- $this->_currentLexeme,
- $this->_queryStringPosition - 1);
- $this->_currentLexeme = '';
- }
-
- /**
- * Extend lexeme by one char
- */
- public function addLexemeChar()
- {
- $this->_currentLexeme .= $this->_queryString[$this->_queryStringPosition];
- }
-
-
- /**
- * Position message
- *
- * @return string
- */
- private function _positionMsg()
- {
- return 'Position is ' . $this->_queryStringPosition . '.';
- }
-
-
- /*********************************************************************
- * Syntax errors actions
- *********************************************************************/
- public function lexModifierErrException()
- {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Lexeme modifier character can be followed only by number, white space or query syntax element. ' . $this->_positionMsg());
- }
- public function quoteWithinLexemeErrException()
- {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Quote within lexeme must be escaped by \'\\\' char. ' . $this->_positionMsg());
- }
- public function wrongNumberErrException()
- {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Wrong number syntax.' . $this->_positionMsg());
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParser.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParser.php
deleted file mode 100644
index 58b8e7bdc..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParser.php
+++ /dev/null
@@ -1,635 +0,0 @@
-addRules(
- array(array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_WORD, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_PHRASE, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_FIELD, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_REQUIRED, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_PROHIBITED, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_FUZZY_PROX_MARK, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_BOOSTING_MARK, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_RANGE_INCL_START, self::ST_CLOSEDINT_RQ_START),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_RANGE_EXCL_START, self::ST_OPENEDINT_RQ_START),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_SUBQUERY_START, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_SUBQUERY_END, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_AND_LEXEME, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_OR_LEXEME, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_NOT_LEXEME, self::ST_COMMON_QUERY_ELEMENT),
- array(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_NUMBER, self::ST_COMMON_QUERY_ELEMENT)
- ));
- $this->addRules(
- array(array(self::ST_CLOSEDINT_RQ_START, Zend_Search_Lucene_Search_QueryToken::TT_WORD, self::ST_CLOSEDINT_RQ_FIRST_TERM),
- array(self::ST_CLOSEDINT_RQ_FIRST_TERM, Zend_Search_Lucene_Search_QueryToken::TT_TO_LEXEME, self::ST_CLOSEDINT_RQ_TO_TERM),
- array(self::ST_CLOSEDINT_RQ_TO_TERM, Zend_Search_Lucene_Search_QueryToken::TT_WORD, self::ST_CLOSEDINT_RQ_LAST_TERM),
- array(self::ST_CLOSEDINT_RQ_LAST_TERM, Zend_Search_Lucene_Search_QueryToken::TT_RANGE_INCL_END, self::ST_COMMON_QUERY_ELEMENT)
- ));
- $this->addRules(
- array(array(self::ST_OPENEDINT_RQ_START, Zend_Search_Lucene_Search_QueryToken::TT_WORD, self::ST_OPENEDINT_RQ_FIRST_TERM),
- array(self::ST_OPENEDINT_RQ_FIRST_TERM, Zend_Search_Lucene_Search_QueryToken::TT_TO_LEXEME, self::ST_OPENEDINT_RQ_TO_TERM),
- array(self::ST_OPENEDINT_RQ_TO_TERM, Zend_Search_Lucene_Search_QueryToken::TT_WORD, self::ST_OPENEDINT_RQ_LAST_TERM),
- array(self::ST_OPENEDINT_RQ_LAST_TERM, Zend_Search_Lucene_Search_QueryToken::TT_RANGE_EXCL_END, self::ST_COMMON_QUERY_ELEMENT)
- ));
-
-
-
- $addTermEntryAction = new Zend_Search_Lucene_FSMAction($this, 'addTermEntry');
- $addPhraseEntryAction = new Zend_Search_Lucene_FSMAction($this, 'addPhraseEntry');
- $setFieldAction = new Zend_Search_Lucene_FSMAction($this, 'setField');
- $setSignAction = new Zend_Search_Lucene_FSMAction($this, 'setSign');
- $setFuzzyProxAction = new Zend_Search_Lucene_FSMAction($this, 'processFuzzyProximityModifier');
- $processModifierParameterAction = new Zend_Search_Lucene_FSMAction($this, 'processModifierParameter');
- $subqueryStartAction = new Zend_Search_Lucene_FSMAction($this, 'subqueryStart');
- $subqueryEndAction = new Zend_Search_Lucene_FSMAction($this, 'subqueryEnd');
- $logicalOperatorAction = new Zend_Search_Lucene_FSMAction($this, 'logicalOperator');
- $openedRQFirstTermAction = new Zend_Search_Lucene_FSMAction($this, 'openedRQFirstTerm');
- $openedRQLastTermAction = new Zend_Search_Lucene_FSMAction($this, 'openedRQLastTerm');
- $closedRQFirstTermAction = new Zend_Search_Lucene_FSMAction($this, 'closedRQFirstTerm');
- $closedRQLastTermAction = new Zend_Search_Lucene_FSMAction($this, 'closedRQLastTerm');
-
-
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_WORD, $addTermEntryAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_PHRASE, $addPhraseEntryAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_FIELD, $setFieldAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_REQUIRED, $setSignAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_PROHIBITED, $setSignAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_FUZZY_PROX_MARK, $setFuzzyProxAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_NUMBER, $processModifierParameterAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_SUBQUERY_START, $subqueryStartAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_SUBQUERY_END, $subqueryEndAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_AND_LEXEME, $logicalOperatorAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_OR_LEXEME, $logicalOperatorAction);
- $this->addInputAction(self::ST_COMMON_QUERY_ELEMENT, Zend_Search_Lucene_Search_QueryToken::TT_NOT_LEXEME, $logicalOperatorAction);
-
- $this->addEntryAction(self::ST_OPENEDINT_RQ_FIRST_TERM, $openedRQFirstTermAction);
- $this->addEntryAction(self::ST_OPENEDINT_RQ_LAST_TERM, $openedRQLastTermAction);
- $this->addEntryAction(self::ST_CLOSEDINT_RQ_FIRST_TERM, $closedRQFirstTermAction);
- $this->addEntryAction(self::ST_CLOSEDINT_RQ_LAST_TERM, $closedRQLastTermAction);
-
-
- require_once 'Zend/Search/Lucene/Search/QueryLexer.php';
- $this->_lexer = new Zend_Search_Lucene_Search_QueryLexer();
- }
-
- /**
- * Get query parser instance
- *
- * @return Zend_Search_Lucene_Search_QueryParser
- */
- private static function _getInstance()
- {
- if (self::$_instance === null) {
- self::$_instance = new self();
- }
- return self::$_instance;
- }
-
- /**
- * Set query string default encoding
- *
- * @param string $encoding
- */
- public static function setDefaultEncoding($encoding)
- {
- self::_getInstance()->_defaultEncoding = $encoding;
- }
-
- /**
- * Get query string default encoding
- *
- * @return string
- */
- public static function getDefaultEncoding()
- {
- return self::_getInstance()->_defaultEncoding;
- }
-
- /**
- * Set default boolean operator
- *
- * @param integer $operator
- */
- public static function setDefaultOperator($operator)
- {
- self::_getInstance()->_defaultOperator = $operator;
- }
-
- /**
- * Get default boolean operator
- *
- * @return integer
- */
- public static function getDefaultOperator()
- {
- return self::_getInstance()->_defaultOperator;
- }
-
- /**
- * Turn on 'suppress query parser exceptions' mode.
- */
- public static function suppressQueryParsingExceptions()
- {
- self::_getInstance()->_suppressQueryParsingExceptions = true;
- }
- /**
- * Turn off 'suppress query parser exceptions' mode.
- */
- public static function dontSuppressQueryParsingExceptions()
- {
- self::_getInstance()->_suppressQueryParsingExceptions = false;
- }
- /**
- * Check 'suppress query parser exceptions' mode.
- * @return boolean
- */
- public static function queryParsingExceptionsSuppressed()
- {
- return self::_getInstance()->_suppressQueryParsingExceptions;
- }
-
-
- /**
- * Escape keyword to force it to be parsed as one term
- *
- * @param string $keyword
- * @return string
- */
- public static function escape($keyword)
- {
- return '\\' . implode('\\', str_split($keyword));
- }
-
- /**
- * Parses a query string
- *
- * @param string $strQuery
- * @param string $encoding
- * @return Zend_Search_Lucene_Search_Query
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public static function parse($strQuery, $encoding = null)
- {
- self::_getInstance();
-
- // Reset FSM if previous parse operation didn't return it into a correct state
- self::$_instance->reset();
-
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- try {
- require_once 'Zend/Search/Lucene/Search/QueryParserContext.php';
-
- self::$_instance->_encoding = ($encoding !== null) ? $encoding : self::$_instance->_defaultEncoding;
- self::$_instance->_lastToken = null;
- self::$_instance->_context = new Zend_Search_Lucene_Search_QueryParserContext(self::$_instance->_encoding);
- self::$_instance->_contextStack = array();
- self::$_instance->_tokens = self::$_instance->_lexer->tokenize($strQuery, self::$_instance->_encoding);
-
- // Empty query
- if (count(self::$_instance->_tokens) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
-
-
- foreach (self::$_instance->_tokens as $token) {
- try {
- self::$_instance->_currentToken = $token;
- self::$_instance->process($token->type);
-
- self::$_instance->_lastToken = $token;
- } catch (Exception $e) {
- if (strpos($e->getMessage(), 'There is no any rule for') !== false) {
- throw new Zend_Search_Lucene_Search_QueryParserException( 'Syntax error at char position ' . $token->position . '.', 0, $e);
- }
-
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
-
- if (count(self::$_instance->_contextStack) != 0) {
- throw new Zend_Search_Lucene_Search_QueryParserException('Syntax Error: mismatched parentheses, every opening must have closing.' );
- }
-
- return self::$_instance->_context->getQuery();
- } catch (Zend_Search_Lucene_Search_QueryParserException $e) {
- if (self::$_instance->_suppressQueryParsingExceptions) {
- $queryTokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($strQuery, self::$_instance->_encoding);
-
- require_once 'Zend/Search/Lucene/Search/Query/MultiTerm.php';
- $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
- $termsSign = (self::$_instance->_defaultOperator == self::B_AND) ? true /* required term */ :
- null /* optional term */;
-
- require_once 'Zend/Search/Lucene/Index/Term.php';
- foreach ($queryTokens as $token) {
- $query->addTerm(new Zend_Search_Lucene_Index_Term($token->getTermText()), $termsSign);
- }
-
-
- return $query;
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception($e->getMessage(), $e->getCode(), $e);
- }
- }
- }
-
- /*********************************************************************
- * Actions implementation
- *
- * Actions affect on recognized lexemes list
- *********************************************************************/
-
- /**
- * Add term to a query
- */
- public function addTermEntry()
- {
- require_once 'Zend/Search/Lucene/Search/QueryEntry/Term.php';
- $entry = new Zend_Search_Lucene_Search_QueryEntry_Term($this->_currentToken->text, $this->_context->getField());
- $this->_context->addEntry($entry);
- }
-
- /**
- * Add phrase to a query
- */
- public function addPhraseEntry()
- {
- require_once 'Zend/Search/Lucene/Search/QueryEntry/Phrase.php';
- $entry = new Zend_Search_Lucene_Search_QueryEntry_Phrase($this->_currentToken->text, $this->_context->getField());
- $this->_context->addEntry($entry);
- }
-
- /**
- * Set entry field
- */
- public function setField()
- {
- $this->_context->setNextEntryField($this->_currentToken->text);
- }
-
- /**
- * Set entry sign
- */
- public function setSign()
- {
- $this->_context->setNextEntrySign($this->_currentToken->type);
- }
-
-
- /**
- * Process fuzzy search/proximity modifier - '~'
- */
- public function processFuzzyProximityModifier()
- {
- $this->_context->processFuzzyProximityModifier();
- }
-
- /**
- * Process modifier parameter
- *
- * @throws Zend_Search_Lucene_Exception
- */
- public function processModifierParameter()
- {
- if ($this->_lastToken === null) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Lexeme modifier parameter must follow lexeme modifier. Char position 0.' );
- }
-
- switch ($this->_lastToken->type) {
- case Zend_Search_Lucene_Search_QueryToken::TT_FUZZY_PROX_MARK:
- $this->_context->processFuzzyProximityModifier($this->_currentToken->text);
- break;
-
- case Zend_Search_Lucene_Search_QueryToken::TT_BOOSTING_MARK:
- $this->_context->boost($this->_currentToken->text);
- break;
-
- default:
- // It's not a user input exception
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Lexeme modifier parameter must follow lexeme modifier. Char position 0.' );
- }
- }
-
-
- /**
- * Start subquery
- */
- public function subqueryStart()
- {
- require_once 'Zend/Search/Lucene/Search/QueryParserContext.php';
-
- $this->_contextStack[] = $this->_context;
- $this->_context = new Zend_Search_Lucene_Search_QueryParserContext($this->_encoding, $this->_context->getField());
- }
-
- /**
- * End subquery
- */
- public function subqueryEnd()
- {
- if (count($this->_contextStack) == 0) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Syntax Error: mismatched parentheses, every opening must have closing. Char position ' . $this->_currentToken->position . '.' );
- }
-
- $query = $this->_context->getQuery();
- $this->_context = array_pop($this->_contextStack);
-
- require_once 'Zend/Search/Lucene/Search/QueryEntry/Subquery.php';
- $this->_context->addEntry(new Zend_Search_Lucene_Search_QueryEntry_Subquery($query));
- }
-
- /**
- * Process logical operator
- */
- public function logicalOperator()
- {
- $this->_context->addLogicalOperator($this->_currentToken->type);
- }
-
- /**
- * Process first range query term (opened interval)
- */
- public function openedRQFirstTerm()
- {
- $this->_rqFirstTerm = $this->_currentToken->text;
- }
-
- /**
- * Process last range query term (opened interval)
- *
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function openedRQLastTerm()
- {
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_rqFirstTerm, $this->_encoding);
- if (count($tokens) > 1) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
- } else if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $from = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
- } else {
- $from = null;
- }
-
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_currentToken->text, $this->_encoding);
- if (count($tokens) > 1) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
- } else if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $to = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
- } else {
- $to = null;
- }
-
- if ($from === null && $to === null) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('At least one range query boundary term must be non-empty term');
- }
-
- require_once 'Zend/Search/Lucene/Search/Query/Range.php';
- $rangeQuery = new Zend_Search_Lucene_Search_Query_Range($from, $to, false);
- require_once 'Zend/Search/Lucene/Search/QueryEntry/Subquery.php';
- $entry = new Zend_Search_Lucene_Search_QueryEntry_Subquery($rangeQuery);
- $this->_context->addEntry($entry);
- }
-
- /**
- * Process first range query term (closed interval)
- */
- public function closedRQFirstTerm()
- {
- $this->_rqFirstTerm = $this->_currentToken->text;
- }
-
- /**
- * Process last range query term (closed interval)
- *
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function closedRQLastTerm()
- {
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_rqFirstTerm, $this->_encoding);
- if (count($tokens) > 1) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
- } else if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $from = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
- } else {
- $from = null;
- }
-
- $tokens = Zend_Search_Lucene_Analysis_Analyzer::getDefault()->tokenize($this->_currentToken->text, $this->_encoding);
- if (count($tokens) > 1) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Range query boundary terms must be non-multiple word terms');
- } else if (count($tokens) == 1) {
- require_once 'Zend/Search/Lucene/Index/Term.php';
- $to = new Zend_Search_Lucene_Index_Term(reset($tokens)->getTermText(), $this->_context->getField());
- } else {
- $to = null;
- }
-
- if ($from === null && $to === null) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('At least one range query boundary term must be non-empty term');
- }
-
- require_once 'Zend/Search/Lucene/Search/Query/Range.php';
- $rangeQuery = new Zend_Search_Lucene_Search_Query_Range($from, $to, true);
- require_once 'Zend/Search/Lucene/Search/QueryEntry/Subquery.php';
- $entry = new Zend_Search_Lucene_Search_QueryEntry_Subquery($rangeQuery);
- $this->_context->addEntry($entry);
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParserContext.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParserContext.php
deleted file mode 100644
index 95b33f321..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParserContext.php
+++ /dev/null
@@ -1,401 +0,0 @@
-_encoding = $encoding;
- $this->_defaultField = $defaultField;
- }
-
-
- /**
- * Get context default field
- *
- * @return string|null
- */
- public function getField()
- {
- return ($this->_nextEntryField !== null) ? $this->_nextEntryField : $this->_defaultField;
- }
-
- /**
- * Set field for next entry
- *
- * @param string $field
- */
- public function setNextEntryField($field)
- {
- $this->_nextEntryField = $field;
- }
-
-
- /**
- * Set sign for next entry
- *
- * @param integer $sign
- * @throws Zend_Search_Lucene_Exception
- */
- public function setNextEntrySign($sign)
- {
- if ($this->_mode === self::GM_BOOLEAN) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('It\'s not allowed to mix boolean and signs styles in the same subquery.');
- }
-
- $this->_mode = self::GM_SIGNS;
-
- if ($sign == Zend_Search_Lucene_Search_QueryToken::TT_REQUIRED) {
- $this->_nextEntrySign = true;
- } else if ($sign == Zend_Search_Lucene_Search_QueryToken::TT_PROHIBITED) {
- $this->_nextEntrySign = false;
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Unrecognized sign type.');
- }
- }
-
-
- /**
- * Add entry to a query
- *
- * @param Zend_Search_Lucene_Search_QueryEntry $entry
- */
- public function addEntry(Zend_Search_Lucene_Search_QueryEntry $entry)
- {
- if ($this->_mode !== self::GM_BOOLEAN) {
- $this->_signs[] = $this->_nextEntrySign;
- }
-
- $this->_entries[] = $entry;
-
- $this->_nextEntryField = null;
- $this->_nextEntrySign = null;
- }
-
-
- /**
- * Process fuzzy search or proximity search modifier
- *
- * @throws Zend_Search_Lucene_Search_QueryParserException
- */
- public function processFuzzyProximityModifier($parameter = null)
- {
- // Check, that modifier has came just after word or phrase
- if ($this->_nextEntryField !== null || $this->_nextEntrySign !== null) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('\'~\' modifier must follow word or phrase.');
- }
-
- $lastEntry = array_pop($this->_entries);
-
- if (!$lastEntry instanceof Zend_Search_Lucene_Search_QueryEntry) {
- // there are no entries or last entry is boolean operator
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('\'~\' modifier must follow word or phrase.');
- }
-
- $lastEntry->processFuzzyProximityModifier($parameter);
-
- $this->_entries[] = $lastEntry;
- }
-
- /**
- * Set boost factor to the entry
- *
- * @param float $boostFactor
- */
- public function boost($boostFactor)
- {
- // Check, that modifier has came just after word or phrase
- if ($this->_nextEntryField !== null || $this->_nextEntrySign !== null) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('\'^\' modifier must follow word, phrase or subquery.');
- }
-
- $lastEntry = array_pop($this->_entries);
-
- if (!$lastEntry instanceof Zend_Search_Lucene_Search_QueryEntry) {
- // there are no entries or last entry is boolean operator
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('\'^\' modifier must follow word, phrase or subquery.');
- }
-
- $lastEntry->boost($boostFactor);
-
- $this->_entries[] = $lastEntry;
- }
-
- /**
- * Process logical operator
- *
- * @param integer $operator
- */
- public function addLogicalOperator($operator)
- {
- if ($this->_mode === self::GM_SIGNS) {
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('It\'s not allowed to mix boolean and signs styles in the same subquery.');
- }
-
- $this->_mode = self::GM_BOOLEAN;
-
- $this->_entries[] = $operator;
- }
-
-
- /**
- * Generate 'signs style' query from the context
- * '+term1 term2 -term3 +() ...'
- *
- * @return Zend_Search_Lucene_Search_Query
- */
- public function _signStyleExpressionQuery()
- {
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
-
- require_once 'Zend/Search/Lucene/Search/QueryParser.php';
- if (Zend_Search_Lucene_Search_QueryParser::getDefaultOperator() == Zend_Search_Lucene_Search_QueryParser::B_AND) {
- $defaultSign = true; // required
- } else {
- // Zend_Search_Lucene_Search_QueryParser::B_OR
- $defaultSign = null; // optional
- }
-
- foreach ($this->_entries as $entryId => $entry) {
- $sign = ($this->_signs[$entryId] !== null) ? $this->_signs[$entryId] : $defaultSign;
- $query->addSubquery($entry->getQuery($this->_encoding), $sign);
- }
-
- return $query;
- }
-
-
- /**
- * Generate 'boolean style' query from the context
- * 'term1 and term2 or term3 and () and not ()'
- *
- * @return Zend_Search_Lucene_Search_Query
- * @throws Zend_Search_Lucene
- */
- private function _booleanExpressionQuery()
- {
- /**
- * We treat each level of an expression as a boolean expression in
- * a Disjunctive Normal Form
- *
- * AND operator has higher precedence than OR
- *
- * Thus logical query is a disjunction of one or more conjunctions of
- * one or more query entries
- */
-
- require_once 'Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php';
- $expressionRecognizer = new Zend_Search_Lucene_Search_BooleanExpressionRecognizer();
-
- require_once 'Zend/Search/Lucene/Exception.php';
- try {
- foreach ($this->_entries as $entry) {
- if ($entry instanceof Zend_Search_Lucene_Search_QueryEntry) {
- $expressionRecognizer->processLiteral($entry);
- } else {
- switch ($entry) {
- case Zend_Search_Lucene_Search_QueryToken::TT_AND_LEXEME:
- $expressionRecognizer->processOperator(Zend_Search_Lucene_Search_BooleanExpressionRecognizer::IN_AND_OPERATOR);
- break;
-
- case Zend_Search_Lucene_Search_QueryToken::TT_OR_LEXEME:
- $expressionRecognizer->processOperator(Zend_Search_Lucene_Search_BooleanExpressionRecognizer::IN_OR_OPERATOR);
- break;
-
- case Zend_Search_Lucene_Search_QueryToken::TT_NOT_LEXEME:
- $expressionRecognizer->processOperator(Zend_Search_Lucene_Search_BooleanExpressionRecognizer::IN_NOT_OPERATOR);
- break;
-
- default:
- throw new Zend_Search_Lucene('Boolean expression error. Unknown operator type.');
- }
- }
- }
-
- $conjuctions = $expressionRecognizer->finishExpression();
- } catch (Zend_Search_Exception $e) {
- // throw new Zend_Search_Lucene_Search_QueryParserException('Boolean expression error. Error message: \'' .
- // $e->getMessage() . '\'.' );
- // It's query syntax error message and it should be user friendly. So FSM message is omitted
- require_once 'Zend/Search/Lucene/Search/QueryParserException.php';
- throw new Zend_Search_Lucene_Search_QueryParserException('Boolean expression error.', 0, $e);
- }
-
- // Remove 'only negative' conjunctions
- foreach ($conjuctions as $conjuctionId => $conjuction) {
- $nonNegativeEntryFound = false;
-
- foreach ($conjuction as $conjuctionEntry) {
- if ($conjuctionEntry[1]) {
- $nonNegativeEntryFound = true;
- break;
- }
- }
-
- if (!$nonNegativeEntryFound) {
- unset($conjuctions[$conjuctionId]);
- }
- }
-
-
- $subqueries = array();
- foreach ($conjuctions as $conjuction) {
- // Check, if it's a one term conjuction
- if (count($conjuction) == 1) {
- $subqueries[] = $conjuction[0][0]->getQuery($this->_encoding);
- } else {
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $subquery = new Zend_Search_Lucene_Search_Query_Boolean();
-
- foreach ($conjuction as $conjuctionEntry) {
- $subquery->addSubquery($conjuctionEntry[0]->getQuery($this->_encoding), $conjuctionEntry[1]);
- }
-
- $subqueries[] = $subquery;
- }
- }
-
- if (count($subqueries) == 0) {
- require_once 'Zend/Search/Lucene/Search/Query/Insignificant.php';
- return new Zend_Search_Lucene_Search_Query_Insignificant();
- }
-
- if (count($subqueries) == 1) {
- return $subqueries[0];
- }
-
-
- require_once 'Zend/Search/Lucene/Search/Query/Boolean.php';
- $query = new Zend_Search_Lucene_Search_Query_Boolean();
-
- foreach ($subqueries as $subquery) {
- // Non-requirered entry/subquery
- $query->addSubquery($subquery);
- }
-
- return $query;
- }
-
- /**
- * Generate query from current context
- *
- * @return Zend_Search_Lucene_Search_Query
- */
- public function getQuery()
- {
- if ($this->_mode === self::GM_BOOLEAN) {
- return $this->_booleanExpressionQuery();
- } else {
- return $this->_signStyleExpressionQuery();
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParserException.php b/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParserException.php
deleted file mode 100644
index 06166c0fe..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/QueryParserException.php
+++ /dev/null
@@ -1,41 +0,0 @@
- or field:() pairs
- const TT_FIELD_INDICATOR = 3; // ':'
- const TT_REQUIRED = 4; // '+'
- const TT_PROHIBITED = 5; // '-'
- const TT_FUZZY_PROX_MARK = 6; // '~'
- const TT_BOOSTING_MARK = 7; // '^'
- const TT_RANGE_INCL_START = 8; // '['
- const TT_RANGE_INCL_END = 9; // ']'
- const TT_RANGE_EXCL_START = 10; // '{'
- const TT_RANGE_EXCL_END = 11; // '}'
- const TT_SUBQUERY_START = 12; // '('
- const TT_SUBQUERY_END = 13; // ')'
- const TT_AND_LEXEME = 14; // 'AND' or 'and'
- const TT_OR_LEXEME = 15; // 'OR' or 'or'
- const TT_NOT_LEXEME = 16; // 'NOT' or 'not'
- const TT_TO_LEXEME = 17; // 'TO' or 'to'
- const TT_NUMBER = 18; // Number, like: 10, 0.8, .64, ....
-
-
- /**
- * Returns all possible lexeme types.
- * It's used for syntax analyzer state machine initialization
- *
- * @return array
- */
- public static function getTypes()
- {
- return array( self::TT_WORD,
- self::TT_PHRASE,
- self::TT_FIELD,
- self::TT_FIELD_INDICATOR,
- self::TT_REQUIRED,
- self::TT_PROHIBITED,
- self::TT_FUZZY_PROX_MARK,
- self::TT_BOOSTING_MARK,
- self::TT_RANGE_INCL_START,
- self::TT_RANGE_INCL_END,
- self::TT_RANGE_EXCL_START,
- self::TT_RANGE_EXCL_END,
- self::TT_SUBQUERY_START,
- self::TT_SUBQUERY_END,
- self::TT_AND_LEXEME,
- self::TT_OR_LEXEME,
- self::TT_NOT_LEXEME,
- self::TT_TO_LEXEME,
- self::TT_NUMBER
- );
- }
-
-
- /**
- * TokenCategories
- */
- const TC_WORD = 0; // Word
- const TC_PHRASE = 1; // Phrase (one or several quoted words)
- const TC_NUMBER = 2; // Nubers, which are used with syntax elements. Ex. roam~0.8
- const TC_SYNTAX_ELEMENT = 3; // + - ( ) [ ] { } ! || && ~ ^
-
-
- /**
- * Token type.
- *
- * @var integer
- */
- public $type;
-
- /**
- * Token text.
- *
- * @var integer
- */
- public $text;
-
- /**
- * Token position within query.
- *
- * @var integer
- */
- public $position;
-
-
- /**
- * IndexReader constructor needs token type and token text as a parameters.
- *
- * @param integer $tokenCategory
- * @param string $tokText
- * @param integer $position
- */
- public function __construct($tokenCategory, $tokenText, $position)
- {
- $this->text = $tokenText;
- $this->position = $position + 1; // Start from 1
-
- switch ($tokenCategory) {
- case self::TC_WORD:
- if ( strtolower($tokenText) == 'and') {
- $this->type = self::TT_AND_LEXEME;
- } else if (strtolower($tokenText) == 'or') {
- $this->type = self::TT_OR_LEXEME;
- } else if (strtolower($tokenText) == 'not') {
- $this->type = self::TT_NOT_LEXEME;
- } else if (strtolower($tokenText) == 'to') {
- $this->type = self::TT_TO_LEXEME;
- } else {
- $this->type = self::TT_WORD;
- }
- break;
-
- case self::TC_PHRASE:
- $this->type = self::TT_PHRASE;
- break;
-
- case self::TC_NUMBER:
- $this->type = self::TT_NUMBER;
- break;
-
- case self::TC_SYNTAX_ELEMENT:
- switch ($tokenText) {
- case ':':
- $this->type = self::TT_FIELD_INDICATOR;
- break;
-
- case '+':
- $this->type = self::TT_REQUIRED;
- break;
-
- case '-':
- $this->type = self::TT_PROHIBITED;
- break;
-
- case '~':
- $this->type = self::TT_FUZZY_PROX_MARK;
- break;
-
- case '^':
- $this->type = self::TT_BOOSTING_MARK;
- break;
-
- case '[':
- $this->type = self::TT_RANGE_INCL_START;
- break;
-
- case ']':
- $this->type = self::TT_RANGE_INCL_END;
- break;
-
- case '{':
- $this->type = self::TT_RANGE_EXCL_START;
- break;
-
- case '}':
- $this->type = self::TT_RANGE_EXCL_END;
- break;
-
- case '(':
- $this->type = self::TT_SUBQUERY_START;
- break;
-
- case ')':
- $this->type = self::TT_SUBQUERY_END;
- break;
-
- case '!':
- $this->type = self::TT_NOT_LEXEME;
- break;
-
- case '&&':
- $this->type = self::TT_AND_LEXEME;
- break;
-
- case '||':
- $this->type = self::TT_OR_LEXEME;
- break;
-
- default:
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Unrecognized query syntax lexeme: \'' . $tokenText . '\'');
- }
- break;
-
- case self::TC_NUMBER:
- $this->type = self::TT_NUMBER;
-
- default:
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Unrecognized lexeme type: \'' . $tokenCategory . '\'');
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Similarity.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Similarity.php
deleted file mode 100644
index 4036a3856..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Similarity.php
+++ /dev/null
@@ -1,551 +0,0 @@
- 0.0,
- 1 => 5.820766E-10,
- 2 => 6.9849193E-10,
- 3 => 8.1490725E-10,
- 4 => 9.313226E-10,
- 5 => 1.1641532E-9,
- 6 => 1.3969839E-9,
- 7 => 1.6298145E-9,
- 8 => 1.8626451E-9,
- 9 => 2.3283064E-9,
- 10 => 2.7939677E-9,
- 11 => 3.259629E-9,
- 12 => 3.7252903E-9,
- 13 => 4.656613E-9,
- 14 => 5.5879354E-9,
- 15 => 6.519258E-9,
- 16 => 7.4505806E-9,
- 17 => 9.313226E-9,
- 18 => 1.1175871E-8,
- 19 => 1.3038516E-8,
- 20 => 1.4901161E-8,
- 21 => 1.8626451E-8,
- 22 => 2.2351742E-8,
- 23 => 2.6077032E-8,
- 24 => 2.9802322E-8,
- 25 => 3.7252903E-8,
- 26 => 4.4703484E-8,
- 27 => 5.2154064E-8,
- 28 => 5.9604645E-8,
- 29 => 7.4505806E-8,
- 30 => 8.940697E-8,
- 31 => 1.0430813E-7,
- 32 => 1.1920929E-7,
- 33 => 1.4901161E-7,
- 34 => 1.7881393E-7,
- 35 => 2.0861626E-7,
- 36 => 2.3841858E-7,
- 37 => 2.9802322E-7,
- 38 => 3.5762787E-7,
- 39 => 4.172325E-7,
- 40 => 4.7683716E-7,
- 41 => 5.9604645E-7,
- 42 => 7.1525574E-7,
- 43 => 8.34465E-7,
- 44 => 9.536743E-7,
- 45 => 1.1920929E-6,
- 46 => 1.4305115E-6,
- 47 => 1.66893E-6,
- 48 => 1.9073486E-6,
- 49 => 2.3841858E-6,
- 50 => 2.861023E-6,
- 51 => 3.33786E-6,
- 52 => 3.8146973E-6,
- 53 => 4.7683716E-6,
- 54 => 5.722046E-6,
- 55 => 6.67572E-6,
- 56 => 7.6293945E-6,
- 57 => 9.536743E-6,
- 58 => 1.1444092E-5,
- 59 => 1.335144E-5,
- 60 => 1.5258789E-5,
- 61 => 1.9073486E-5,
- 62 => 2.2888184E-5,
- 63 => 2.670288E-5,
- 64 => 3.0517578E-5,
- 65 => 3.8146973E-5,
- 66 => 4.5776367E-5,
- 67 => 5.340576E-5,
- 68 => 6.1035156E-5,
- 69 => 7.6293945E-5,
- 70 => 9.1552734E-5,
- 71 => 1.0681152E-4,
- 72 => 1.2207031E-4,
- 73 => 1.5258789E-4,
- 74 => 1.8310547E-4,
- 75 => 2.1362305E-4,
- 76 => 2.4414062E-4,
- 77 => 3.0517578E-4,
- 78 => 3.6621094E-4,
- 79 => 4.272461E-4,
- 80 => 4.8828125E-4,
- 81 => 6.1035156E-4,
- 82 => 7.324219E-4,
- 83 => 8.544922E-4,
- 84 => 9.765625E-4,
- 85 => 0.0012207031,
- 86 => 0.0014648438,
- 87 => 0.0017089844,
- 88 => 0.001953125,
- 89 => 0.0024414062,
- 90 => 0.0029296875,
- 91 => 0.0034179688,
- 92 => 0.00390625,
- 93 => 0.0048828125,
- 94 => 0.005859375,
- 95 => 0.0068359375,
- 96 => 0.0078125,
- 97 => 0.009765625,
- 98 => 0.01171875,
- 99 => 0.013671875,
- 100 => 0.015625,
- 101 => 0.01953125,
- 102 => 0.0234375,
- 103 => 0.02734375,
- 104 => 0.03125,
- 105 => 0.0390625,
- 106 => 0.046875,
- 107 => 0.0546875,
- 108 => 0.0625,
- 109 => 0.078125,
- 110 => 0.09375,
- 111 => 0.109375,
- 112 => 0.125,
- 113 => 0.15625,
- 114 => 0.1875,
- 115 => 0.21875,
- 116 => 0.25,
- 117 => 0.3125,
- 118 => 0.375,
- 119 => 0.4375,
- 120 => 0.5,
- 121 => 0.625,
- 122 => 0.75,
- 123 => 0.875,
- 124 => 1.0,
- 125 => 1.25,
- 126 => 1.5,
- 127 => 1.75,
- 128 => 2.0,
- 129 => 2.5,
- 130 => 3.0,
- 131 => 3.5,
- 132 => 4.0,
- 133 => 5.0,
- 134 => 6.0,
- 135 => 7.0,
- 136 => 8.0,
- 137 => 10.0,
- 138 => 12.0,
- 139 => 14.0,
- 140 => 16.0,
- 141 => 20.0,
- 142 => 24.0,
- 143 => 28.0,
- 144 => 32.0,
- 145 => 40.0,
- 146 => 48.0,
- 147 => 56.0,
- 148 => 64.0,
- 149 => 80.0,
- 150 => 96.0,
- 151 => 112.0,
- 152 => 128.0,
- 153 => 160.0,
- 154 => 192.0,
- 155 => 224.0,
- 156 => 256.0,
- 157 => 320.0,
- 158 => 384.0,
- 159 => 448.0,
- 160 => 512.0,
- 161 => 640.0,
- 162 => 768.0,
- 163 => 896.0,
- 164 => 1024.0,
- 165 => 1280.0,
- 166 => 1536.0,
- 167 => 1792.0,
- 168 => 2048.0,
- 169 => 2560.0,
- 170 => 3072.0,
- 171 => 3584.0,
- 172 => 4096.0,
- 173 => 5120.0,
- 174 => 6144.0,
- 175 => 7168.0,
- 176 => 8192.0,
- 177 => 10240.0,
- 178 => 12288.0,
- 179 => 14336.0,
- 180 => 16384.0,
- 181 => 20480.0,
- 182 => 24576.0,
- 183 => 28672.0,
- 184 => 32768.0,
- 185 => 40960.0,
- 186 => 49152.0,
- 187 => 57344.0,
- 188 => 65536.0,
- 189 => 81920.0,
- 190 => 98304.0,
- 191 => 114688.0,
- 192 => 131072.0,
- 193 => 163840.0,
- 194 => 196608.0,
- 195 => 229376.0,
- 196 => 262144.0,
- 197 => 327680.0,
- 198 => 393216.0,
- 199 => 458752.0,
- 200 => 524288.0,
- 201 => 655360.0,
- 202 => 786432.0,
- 203 => 917504.0,
- 204 => 1048576.0,
- 205 => 1310720.0,
- 206 => 1572864.0,
- 207 => 1835008.0,
- 208 => 2097152.0,
- 209 => 2621440.0,
- 210 => 3145728.0,
- 211 => 3670016.0,
- 212 => 4194304.0,
- 213 => 5242880.0,
- 214 => 6291456.0,
- 215 => 7340032.0,
- 216 => 8388608.0,
- 217 => 1.048576E7,
- 218 => 1.2582912E7,
- 219 => 1.4680064E7,
- 220 => 1.6777216E7,
- 221 => 2.097152E7,
- 222 => 2.5165824E7,
- 223 => 2.9360128E7,
- 224 => 3.3554432E7,
- 225 => 4.194304E7,
- 226 => 5.0331648E7,
- 227 => 5.8720256E7,
- 228 => 6.7108864E7,
- 229 => 8.388608E7,
- 230 => 1.00663296E8,
- 231 => 1.17440512E8,
- 232 => 1.34217728E8,
- 233 => 1.6777216E8,
- 234 => 2.01326592E8,
- 235 => 2.34881024E8,
- 236 => 2.68435456E8,
- 237 => 3.3554432E8,
- 238 => 4.02653184E8,
- 239 => 4.69762048E8,
- 240 => 5.3687091E8,
- 241 => 6.7108864E8,
- 242 => 8.0530637E8,
- 243 => 9.395241E8,
- 244 => 1.07374182E9,
- 245 => 1.34217728E9,
- 246 => 1.61061274E9,
- 247 => 1.87904819E9,
- 248 => 2.14748365E9,
- 249 => 2.68435456E9,
- 250 => 3.22122547E9,
- 251 => 3.75809638E9,
- 252 => 4.2949673E9,
- 253 => 5.3687091E9,
- 254 => 6.4424509E9,
- 255 => 7.5161928E9 );
-
-
- /**
- * Set the default Similarity implementation used by indexing and search
- * code.
- *
- * @param Zend_Search_Lucene_Search_Similarity $similarity
- */
- public static function setDefault(Zend_Search_Lucene_Search_Similarity $similarity)
- {
- self::$_defaultImpl = $similarity;
- }
-
-
- /**
- * Return the default Similarity implementation used by indexing and search
- * code.
- *
- * @return Zend_Search_Lucene_Search_Similarity
- */
- public static function getDefault()
- {
- if (!self::$_defaultImpl instanceof Zend_Search_Lucene_Search_Similarity) {
- require_once 'Zend/Search/Lucene/Search/Similarity/Default.php';
- self::$_defaultImpl = new Zend_Search_Lucene_Search_Similarity_Default();
- }
-
- return self::$_defaultImpl;
- }
-
-
- /**
- * Computes the normalization value for a field given the total number of
- * terms contained in a field. These values, together with field boosts, are
- * stored in an index and multipled into scores for hits on each field by the
- * search code.
- *
- * Matches in longer fields are less precise, so implemenations of this
- * method usually return smaller values when 'numTokens' is large,
- * and larger values when 'numTokens' is small.
- *
- * That these values are computed under
- * IndexWriter::addDocument(Document) and stored then using
- * encodeNorm(float). Thus they have limited precision, and documents
- * must be re-indexed if this method is altered.
- *
- * fieldName - name of field
- * numTokens - the total number of tokens contained in fields named
- * 'fieldName' of 'doc'.
- * Returns a normalization factor for hits on this field of this document
- *
- * @param string $fieldName
- * @param integer $numTokens
- * @return float
- */
- abstract public function lengthNorm($fieldName, $numTokens);
-
- /**
- * Computes the normalization value for a query given the sum of the squared
- * weights of each of the query terms. This value is then multipled into the
- * weight of each query term.
- *
- * This does not affect ranking, but rather just attempts to make scores
- * from different queries comparable.
- *
- * sumOfSquaredWeights - the sum of the squares of query term weights
- * Returns a normalization factor for query weights
- *
- * @param float $sumOfSquaredWeights
- * @return float
- */
- abstract public function queryNorm($sumOfSquaredWeights);
-
-
- /**
- * Decodes a normalization factor stored in an index.
- *
- * @param integer $byte
- * @return float
- */
- public static function decodeNorm($byte)
- {
- return self::$_normTable[$byte & 0xFF];
- }
-
-
- /**
- * Encodes a normalization factor for storage in an index.
- *
- * The encoding uses a five-bit exponent and three-bit mantissa, thus
- * representing values from around 7x10^9 to 2x10^-9 with about one
- * significant decimal digit of accuracy. Zero is also represented.
- * Negative numbers are rounded up to zero. Values too large to represent
- * are rounded down to the largest representable value. Positive values too
- * small to represent are rounded up to the smallest positive representable
- * value.
- *
- * @param float $f
- * @return integer
- */
- static function encodeNorm($f)
- {
- return self::_floatToByte($f);
- }
-
- /**
- * Float to byte conversion
- *
- * @param integer $b
- * @return float
- */
- private static function _floatToByte($f)
- {
- // round negatives up to zero
- if ($f <= 0.0) {
- return 0;
- }
-
- // search for appropriate value
- $lowIndex = 0;
- $highIndex = 255;
- while ($highIndex >= $lowIndex) {
- // $mid = ($highIndex - $lowIndex)/2;
- $mid = ($highIndex + $lowIndex) >> 1;
- $delta = $f - self::$_normTable[$mid];
-
- if ($delta < 0) {
- $highIndex = $mid-1;
- } elseif ($delta > 0) {
- $lowIndex = $mid+1;
- } else {
- return $mid; // We got it!
- }
- }
-
- // round to closest value
- if ($highIndex != 255 &&
- $f - self::$_normTable[$highIndex] > self::$_normTable[$highIndex+1] - $f ) {
- return $highIndex + 1;
- } else {
- return $highIndex;
- }
- }
-
-
- /**
- * Computes a score factor based on a term or phrase's frequency in a
- * document. This value is multiplied by the idf(Term, Searcher)
- * factor for each term in the query and these products are then summed to
- * form the initial score for a document.
- *
- * Terms and phrases repeated in a document indicate the topic of the
- * document, so implementations of this method usually return larger values
- * when 'freq' is large, and smaller values when 'freq'
- * is small.
- *
- * freq - the frequency of a term within a document
- * Returns a score factor based on a term's within-document frequency
- *
- * @param float $freq
- * @return float
- */
- abstract public function tf($freq);
-
- /**
- * Computes the amount of a sloppy phrase match, based on an edit distance.
- * This value is summed for each sloppy phrase match in a document to form
- * the frequency that is passed to tf(float).
- *
- * A phrase match with a small edit distance to a document passage more
- * closely matches the document, so implementations of this method usually
- * return larger values when the edit distance is small and smaller values
- * when it is large.
- *
- * distance - the edit distance of this sloppy phrase match
- * Returns the frequency increment for this match
- *
- * @param integer $distance
- * @return float
- */
- abstract public function sloppyFreq($distance);
-
-
- /**
- * Computes a score factor for a simple term or a phrase.
- *
- * The default implementation is:
- * return idfFreq(searcher.docFreq(term), searcher.maxDoc());
- *
- * input - the term in question or array of terms
- * reader - reader the document collection being searched
- * Returns a score factor for the term
- *
- * @param mixed $input
- * @param Zend_Search_Lucene_Interface $reader
- * @return a score factor for the term
- */
- public function idf($input, Zend_Search_Lucene_Interface $reader)
- {
- if (!is_array($input)) {
- return $this->idfFreq($reader->docFreq($input), $reader->count());
- } else {
- $idf = 0.0;
- foreach ($input as $term) {
- $idf += $this->idfFreq($reader->docFreq($term), $reader->count());
- }
- return $idf;
- }
- }
-
- /**
- * Computes a score factor based on a term's document frequency (the number
- * of documents which contain the term). This value is multiplied by the
- * tf(int) factor for each term in the query and these products are
- * then summed to form the initial score for a document.
- *
- * Terms that occur in fewer documents are better indicators of topic, so
- * implemenations of this method usually return larger values for rare terms,
- * and smaller values for common terms.
- *
- * docFreq - the number of documents which contain the term
- * numDocs - the total number of documents in the collection
- * Returns a score factor based on the term's document frequency
- *
- * @param integer $docFreq
- * @param integer $numDocs
- * @return float
- */
- abstract public function idfFreq($docFreq, $numDocs);
-
- /**
- * Computes a score factor based on the fraction of all query terms that a
- * document contains. This value is multiplied into scores.
- *
- * The presence of a large portion of the query terms indicates a better
- * match with the query, so implemenations of this method usually return
- * larger values when the ratio between these parameters is large and smaller
- * values when the ratio between them is small.
- *
- * overlap - the number of query terms matched in the document
- * maxOverlap - the total number of terms in the query
- * Returns a score factor based on term overlap with the query
- *
- * @param integer $overlap
- * @param integer $maxOverlap
- * @return float
- */
- abstract public function coord($overlap, $maxOverlap);
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Similarity/Default.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Similarity/Default.php
deleted file mode 100644
index 1e86053aa..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Similarity/Default.php
+++ /dev/null
@@ -1,110 +0,0 @@
-createWeight().
- * The sumOfSquaredWeights() method is then called on the top-level
- * query to compute the query normalization factor Similarity->queryNorm(float).
- * This factor is then passed to normalize(float). At this point the weighting
- * is complete.
- *
- * @category Zend
- * @package Zend_Search_Lucene
- * @subpackage Search
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-abstract class Zend_Search_Lucene_Search_Weight
-{
- /**
- * Normalization factor.
- * This value is stored only for query expanation purpose and not used in any other place
- *
- * @var float
- */
- protected $_queryNorm;
-
- /**
- * Weight value
- *
- * Weight value may be initialized in sumOfSquaredWeights() or normalize()
- * because they both are invoked either in Query::_initWeight (for top-level query) or
- * in corresponding methods of parent query's weights
- *
- * @var float
- */
- protected $_value;
-
-
- /**
- * The weight for this query.
- *
- * @return float
- */
- public function getValue()
- {
- return $this->_value;
- }
-
- /**
- * The sum of squared weights of contained query clauses.
- *
- * @return float
- */
- abstract public function sumOfSquaredWeights();
-
- /**
- * Assigns the query normalization factor to this.
- *
- * @param $norm
- */
- abstract public function normalize($norm);
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Boolean.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Boolean.php
deleted file mode 100644
index fbbae127e..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Boolean.php
+++ /dev/null
@@ -1,137 +0,0 @@
-_query = $query;
- $this->_reader = $reader;
- $this->_weights = array();
-
- $signs = $query->getSigns();
-
- foreach ($query->getSubqueries() as $num => $subquery) {
- if ($signs === null || $signs[$num] === null || $signs[$num]) {
- $this->_weights[$num] = $subquery->createWeight($reader);
- }
- }
- }
-
-
- /**
- * The weight for this query
- * Standard Weight::$_value is not used for boolean queries
- *
- * @return float
- */
- public function getValue()
- {
- return $this->_query->getBoost();
- }
-
-
- /**
- * The sum of squared weights of contained query clauses.
- *
- * @return float
- */
- public function sumOfSquaredWeights()
- {
- $sum = 0;
- foreach ($this->_weights as $weight) {
- // sum sub weights
- $sum += $weight->sumOfSquaredWeights();
- }
-
- // boost each sub-weight
- $sum *= $this->_query->getBoost() * $this->_query->getBoost();
-
- // check for empty query (like '-something -another')
- if ($sum == 0) {
- $sum = 1.0;
- }
- return $sum;
- }
-
-
- /**
- * Assigns the query normalization factor to this.
- *
- * @param float $queryNorm
- */
- public function normalize($queryNorm)
- {
- // incorporate boost
- $queryNorm *= $this->_query->getBoost();
-
- foreach ($this->_weights as $weight) {
- $weight->normalize($queryNorm);
- }
- }
-}
-
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Empty.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Empty.php
deleted file mode 100644
index 0378a1bbc..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Empty.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_query = $query;
- $this->_reader = $reader;
- $this->_weights = array();
-
- $signs = $query->getSigns();
-
- foreach ($query->getTerms() as $id => $term) {
- if ($signs === null || $signs[$id] === null || $signs[$id]) {
- require_once 'Zend/Search/Lucene/Search/Weight/Term.php';
- $this->_weights[$id] = new Zend_Search_Lucene_Search_Weight_Term($term, $query, $reader);
- $query->setWeight($id, $this->_weights[$id]);
- }
- }
- }
-
-
- /**
- * The weight for this query
- * Standard Weight::$_value is not used for boolean queries
- *
- * @return float
- */
- public function getValue()
- {
- return $this->_query->getBoost();
- }
-
-
- /**
- * The sum of squared weights of contained query clauses.
- *
- * @return float
- */
- public function sumOfSquaredWeights()
- {
- $sum = 0;
- foreach ($this->_weights as $weight) {
- // sum sub weights
- $sum += $weight->sumOfSquaredWeights();
- }
-
- // boost each sub-weight
- $sum *= $this->_query->getBoost() * $this->_query->getBoost();
-
- // check for empty query (like '-something -another')
- if ($sum == 0) {
- $sum = 1.0;
- }
- return $sum;
- }
-
-
- /**
- * Assigns the query normalization factor to this.
- *
- * @param float $queryNorm
- */
- public function normalize($queryNorm)
- {
- // incorporate boost
- $queryNorm *= $this->_query->getBoost();
-
- foreach ($this->_weights as $weight) {
- $weight->normalize($queryNorm);
- }
- }
-}
-
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Phrase.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Phrase.php
deleted file mode 100644
index 0aa1aca84..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Phrase.php
+++ /dev/null
@@ -1,108 +0,0 @@
-_query = $query;
- $this->_reader = $reader;
- }
-
- /**
- * The sum of squared weights of contained query clauses.
- *
- * @return float
- */
- public function sumOfSquaredWeights()
- {
- // compute idf
- $this->_idf = $this->_reader->getSimilarity()->idf($this->_query->getTerms(), $this->_reader);
-
- // compute query weight
- $this->_queryWeight = $this->_idf * $this->_query->getBoost();
-
- // square it
- return $this->_queryWeight * $this->_queryWeight;
- }
-
-
- /**
- * Assigns the query normalization factor to this.
- *
- * @param float $queryNorm
- */
- public function normalize($queryNorm)
- {
- $this->_queryNorm = $queryNorm;
-
- // normalize query weight
- $this->_queryWeight *= $queryNorm;
-
- // idf for documents
- $this->_value = $this->_queryWeight * $this->_idf;
- }
-}
-
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Term.php b/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Term.php
deleted file mode 100644
index 33b0017f5..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Search/Weight/Term.php
+++ /dev/null
@@ -1,125 +0,0 @@
-_term = $term;
- $this->_query = $query;
- $this->_reader = $reader;
- }
-
-
- /**
- * The sum of squared weights of contained query clauses.
- *
- * @return float
- */
- public function sumOfSquaredWeights()
- {
- // compute idf
- $this->_idf = $this->_reader->getSimilarity()->idf($this->_term, $this->_reader);
-
- // compute query weight
- $this->_queryWeight = $this->_idf * $this->_query->getBoost();
-
- // square it
- return $this->_queryWeight * $this->_queryWeight;
- }
-
-
- /**
- * Assigns the query normalization factor to this.
- *
- * @param float $queryNorm
- */
- public function normalize($queryNorm)
- {
- $this->_queryNorm = $queryNorm;
-
- // normalize query weight
- $this->_queryWeight *= $queryNorm;
-
- // idf for documents
- $this->_value = $this->_queryWeight * $this->_idf;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Storage/Directory.php b/airtime_mvc/library/Zend/Search/Lucene/Storage/Directory.php
deleted file mode 100644
index c83c253a4..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Storage/Directory.php
+++ /dev/null
@@ -1,136 +0,0 @@
- Zend_Search_Lucene_Storage_File object
- *
- * @var array
- * @throws Zend_Search_Lucene_Exception
- */
- protected $_fileHandlers;
-
- /**
- * Default file permissions
- *
- * @var integer
- */
- protected static $_defaultFilePermissions = 0666;
-
-
- /**
- * Get default file permissions
- *
- * @return integer
- */
- public static function getDefaultFilePermissions()
- {
- return self::$_defaultFilePermissions;
- }
-
- /**
- * Set default file permissions
- *
- * @param integer $mode
- */
- public static function setDefaultFilePermissions($mode)
- {
- self::$_defaultFilePermissions = $mode;
- }
-
-
- /**
- * Utility function to recursive directory creation
- *
- * @param string $dir
- * @param integer $mode
- * @param boolean $recursive
- * @return boolean
- */
-
- public static function mkdirs($dir, $mode = 0777, $recursive = true)
- {
- if (($dir === null) || $dir === '') {
- return false;
- }
- if (is_dir($dir) || $dir === '/') {
- return true;
- }
- if (self::mkdirs(dirname($dir), $mode, $recursive)) {
- return mkdir($dir, $mode);
- }
- return false;
- }
-
-
- /**
- * Object constructor
- * Checks if $path is a directory or tries to create it.
- *
- * @param string $path
- * @throws Zend_Search_Lucene_Exception
- */
- public function __construct($path)
- {
- if (!is_dir($path)) {
- if (file_exists($path)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Path exists, but it\'s not a directory');
- } else {
- if (!self::mkdirs($path)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception("Can't create directory '$path'.");
- }
- }
- }
- $this->_dirPath = $path;
- $this->_fileHandlers = array();
- }
-
-
- /**
- * Closes the store.
- *
- * @return void
- */
- public function close()
- {
- foreach ($this->_fileHandlers as $fileObject) {
- $fileObject->close();
- }
-
- $this->_fileHandlers = array();
- }
-
-
- /**
- * Returns an array of strings, one for each file in the directory.
- *
- * @return array
- */
- public function fileList()
- {
- $result = array();
-
- $dirContent = opendir( $this->_dirPath );
- while (($file = readdir($dirContent)) !== false) {
- if (($file == '..')||($file == '.')) continue;
-
- if( !is_dir($this->_dirPath . '/' . $file) ) {
- $result[] = $file;
- }
- }
- closedir($dirContent);
-
- return $result;
- }
-
- /**
- * Creates a new, empty file in the directory with the given $filename.
- *
- * @param string $filename
- * @return Zend_Search_Lucene_Storage_File
- * @throws Zend_Search_Lucene_Exception
- */
- public function createFile($filename)
- {
- if (isset($this->_fileHandlers[$filename])) {
- $this->_fileHandlers[$filename]->close();
- }
- unset($this->_fileHandlers[$filename]);
- require_once 'Zend/Search/Lucene/Storage/File/Filesystem.php';
- $this->_fileHandlers[$filename] = new Zend_Search_Lucene_Storage_File_Filesystem($this->_dirPath . '/' . $filename, 'w+b');
-
- // Set file permissions, but don't care about any possible failures, since file may be already
- // created by anther user which has to care about right permissions
- @chmod($this->_dirPath . '/' . $filename, self::$_defaultFilePermissions);
-
- return $this->_fileHandlers[$filename];
- }
-
-
- /**
- * Removes an existing $filename in the directory.
- *
- * @param string $filename
- * @return void
- * @throws Zend_Search_Lucene_Exception
- */
- public function deleteFile($filename)
- {
- if (isset($this->_fileHandlers[$filename])) {
- $this->_fileHandlers[$filename]->close();
- }
- unset($this->_fileHandlers[$filename]);
-
- global $php_errormsg;
- $trackErrors = ini_get('track_errors'); ini_set('track_errors', '1');
- if (!@unlink($this->_dirPath . '/' . $filename)) {
- ini_set('track_errors', $trackErrors);
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Can\'t delete file: ' . $php_errormsg);
- }
- ini_set('track_errors', $trackErrors);
- }
-
- /**
- * Purge file if it's cached by directory object
- *
- * Method is used to prevent 'too many open files' error
- *
- * @param string $filename
- * @return void
- */
- public function purgeFile($filename)
- {
- if (isset($this->_fileHandlers[$filename])) {
- $this->_fileHandlers[$filename]->close();
- }
- unset($this->_fileHandlers[$filename]);
- }
-
-
- /**
- * Returns true if a file with the given $filename exists.
- *
- * @param string $filename
- * @return boolean
- */
- public function fileExists($filename)
- {
- return isset($this->_fileHandlers[$filename]) ||
- file_exists($this->_dirPath . '/' . $filename);
- }
-
-
- /**
- * Returns the length of a $filename in the directory.
- *
- * @param string $filename
- * @return integer
- */
- public function fileLength($filename)
- {
- if (isset( $this->_fileHandlers[$filename] )) {
- return $this->_fileHandlers[$filename]->size();
- }
- return filesize($this->_dirPath .'/'. $filename);
- }
-
-
- /**
- * Returns the UNIX timestamp $filename was last modified.
- *
- * @param string $filename
- * @return integer
- */
- public function fileModified($filename)
- {
- return filemtime($this->_dirPath .'/'. $filename);
- }
-
-
- /**
- * Renames an existing file in the directory.
- *
- * @param string $from
- * @param string $to
- * @return void
- * @throws Zend_Search_Lucene_Exception
- */
- public function renameFile($from, $to)
- {
- global $php_errormsg;
-
- if (isset($this->_fileHandlers[$from])) {
- $this->_fileHandlers[$from]->close();
- }
- unset($this->_fileHandlers[$from]);
-
- if (isset($this->_fileHandlers[$to])) {
- $this->_fileHandlers[$to]->close();
- }
- unset($this->_fileHandlers[$to]);
-
- if (file_exists($this->_dirPath . '/' . $to)) {
- if (!unlink($this->_dirPath . '/' . $to)) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Delete operation failed');
- }
- }
-
- $trackErrors = ini_get('track_errors');
- ini_set('track_errors', '1');
-
- $success = @rename($this->_dirPath . '/' . $from, $this->_dirPath . '/' . $to);
- if (!$success) {
- ini_set('track_errors', $trackErrors);
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception($php_errormsg);
- }
-
- ini_set('track_errors', $trackErrors);
-
- return $success;
- }
-
-
- /**
- * Sets the modified time of $filename to now.
- *
- * @param string $filename
- * @return void
- */
- public function touchFile($filename)
- {
- return touch($this->_dirPath .'/'. $filename);
- }
-
-
- /**
- * Returns a Zend_Search_Lucene_Storage_File object for a given $filename in the directory.
- *
- * If $shareHandler option is true, then file handler can be shared between File Object
- * requests. It speed-ups performance, but makes problems with file position.
- * Shared handler are good for short atomic requests.
- * Non-shared handlers are useful for stream file reading (especial for compound files).
- *
- * @param string $filename
- * @param boolean $shareHandler
- * @return Zend_Search_Lucene_Storage_File
- */
- public function getFileObject($filename, $shareHandler = true)
- {
- $fullFilename = $this->_dirPath . '/' . $filename;
-
- require_once 'Zend/Search/Lucene/Storage/File/Filesystem.php';
- if (!$shareHandler) {
- return new Zend_Search_Lucene_Storage_File_Filesystem($fullFilename);
- }
-
- if (isset( $this->_fileHandlers[$filename] )) {
- $this->_fileHandlers[$filename]->seek(0);
- return $this->_fileHandlers[$filename];
- }
-
- $this->_fileHandlers[$filename] = new Zend_Search_Lucene_Storage_File_Filesystem($fullFilename);
- return $this->_fileHandlers[$filename];
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Storage/File.php b/airtime_mvc/library/Zend/Search/Lucene/Storage/File.php
deleted file mode 100644
index 72c227531..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Storage/File.php
+++ /dev/null
@@ -1,473 +0,0 @@
-_fread(1));
- }
-
- /**
- * Writes a byte to the end of the file.
- *
- * @param integer $byte
- */
- public function writeByte($byte)
- {
- return $this->_fwrite(chr($byte), 1);
- }
-
- /**
- * Read num bytes from the current position in the file
- * and advances the file pointer.
- *
- * @param integer $num
- * @return string
- */
- public function readBytes($num)
- {
- return $this->_fread($num);
- }
-
- /**
- * Writes num bytes of data (all, if $num===null) to the end
- * of the string.
- *
- * @param string $data
- * @param integer $num
- */
- public function writeBytes($data, $num=null)
- {
- $this->_fwrite($data, $num);
- }
-
-
- /**
- * Reads an integer from the current position in the file
- * and advances the file pointer.
- *
- * @return integer
- */
- public function readInt()
- {
- $str = $this->_fread(4);
-
- return ord($str[0]) << 24 |
- ord($str[1]) << 16 |
- ord($str[2]) << 8 |
- ord($str[3]);
- }
-
-
- /**
- * Writes an integer to the end of file.
- *
- * @param integer $value
- */
- public function writeInt($value)
- {
- settype($value, 'integer');
- $this->_fwrite( chr($value>>24 & 0xFF) .
- chr($value>>16 & 0xFF) .
- chr($value>>8 & 0xFF) .
- chr($value & 0xFF), 4 );
- }
-
-
- /**
- * Returns a long integer from the current position in the file
- * and advances the file pointer.
- *
- * @return integer|float
- * @throws Zend_Search_Lucene_Exception
- */
- public function readLong()
- {
- /**
- * Check, that we work in 64-bit mode.
- * fseek() uses long for offset. Thus, largest index segment file size in 32bit mode is 2Gb
- */
- if (PHP_INT_SIZE > 4) {
- $str = $this->_fread(8);
-
- return ord($str[0]) << 56 |
- ord($str[1]) << 48 |
- ord($str[2]) << 40 |
- ord($str[3]) << 32 |
- ord($str[4]) << 24 |
- ord($str[5]) << 16 |
- ord($str[6]) << 8 |
- ord($str[7]);
- } else {
- return $this->readLong32Bit();
- }
- }
-
- /**
- * Writes long integer to the end of file
- *
- * @param integer $value
- * @throws Zend_Search_Lucene_Exception
- */
- public function writeLong($value)
- {
- /**
- * Check, that we work in 64-bit mode.
- * fseek() and ftell() use long for offset. Thus, largest index segment file size in 32bit mode is 2Gb
- */
- if (PHP_INT_SIZE > 4) {
- settype($value, 'integer');
- $this->_fwrite( chr($value>>56 & 0xFF) .
- chr($value>>48 & 0xFF) .
- chr($value>>40 & 0xFF) .
- chr($value>>32 & 0xFF) .
- chr($value>>24 & 0xFF) .
- chr($value>>16 & 0xFF) .
- chr($value>>8 & 0xFF) .
- chr($value & 0xFF), 8 );
- } else {
- $this->writeLong32Bit($value);
- }
- }
-
-
- /**
- * Returns a long integer from the current position in the file,
- * advances the file pointer and return it as float (for 32-bit platforms).
- *
- * @return integer|float
- * @throws Zend_Search_Lucene_Exception
- */
- public function readLong32Bit()
- {
- $wordHigh = $this->readInt();
- $wordLow = $this->readInt();
-
- if ($wordHigh & (int)0x80000000) {
- // It's a negative value since the highest bit is set
- if ($wordHigh == (int)0xFFFFFFFF && ($wordLow & (int)0x80000000)) {
- return $wordLow;
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Long integers lower than -2147483648 (0x80000000) are not supported on 32-bit platforms.');
- }
-
- }
-
- if ($wordLow < 0) {
- // Value is large than 0x7FFF FFFF. Represent low word as float.
- $wordLow &= 0x7FFFFFFF;
- $wordLow += (float)0x80000000;
- }
-
- if ($wordHigh == 0) {
- // Return value as integer if possible
- return $wordLow;
- }
-
- return $wordHigh*(float)0x100000000/* 0x00000001 00000000 */ + $wordLow;
- }
-
-
- /**
- * Writes long integer to the end of file (32-bit platforms implementation)
- *
- * @param integer|float $value
- * @throws Zend_Search_Lucene_Exception
- */
- public function writeLong32Bit($value)
- {
- if ($value < (int)0x80000000) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Long integers lower than -2147483648 (0x80000000) are not supported on 32-bit platforms.');
- }
-
- if ($value < 0) {
- $wordHigh = (int)0xFFFFFFFF;
- $wordLow = (int)$value;
- } else {
- $wordHigh = (int)($value/(float)0x100000000/* 0x00000001 00000000 */);
- $wordLow = $value - $wordHigh*(float)0x100000000/* 0x00000001 00000000 */;
-
- if ($wordLow > 0x7FFFFFFF) {
- // Highest bit of low word is set. Translate it to the corresponding negative integer value
- $wordLow -= 0x80000000;
- $wordLow |= 0x80000000;
- }
- }
-
- $this->writeInt($wordHigh);
- $this->writeInt($wordLow);
- }
-
-
- /**
- * Returns a variable-length integer from the current
- * position in the file and advances the file pointer.
- *
- * @return integer
- */
- public function readVInt()
- {
- $nextByte = ord($this->_fread(1));
- $val = $nextByte & 0x7F;
-
- for ($shift=7; ($nextByte & 0x80) != 0; $shift += 7) {
- $nextByte = ord($this->_fread(1));
- $val |= ($nextByte & 0x7F) << $shift;
- }
- return $val;
- }
-
- /**
- * Writes a variable-length integer to the end of file.
- *
- * @param integer $value
- */
- public function writeVInt($value)
- {
- settype($value, 'integer');
- while ($value > 0x7F) {
- $this->_fwrite(chr( ($value & 0x7F)|0x80 ));
- $value >>= 7;
- }
- $this->_fwrite(chr($value));
- }
-
-
- /**
- * Reads a string from the current position in the file
- * and advances the file pointer.
- *
- * @return string
- */
- public function readString()
- {
- $strlen = $this->readVInt();
- if ($strlen == 0) {
- return '';
- } else {
- /**
- * This implementation supports only Basic Multilingual Plane
- * (BMP) characters (from 0x0000 to 0xFFFF) and doesn't support
- * "supplementary characters" (characters whose code points are
- * greater than 0xFFFF)
- * Java 2 represents these characters as a pair of char (16-bit)
- * values, the first from the high-surrogates range (0xD800-0xDBFF),
- * the second from the low-surrogates range (0xDC00-0xDFFF). Then
- * they are encoded as usual UTF-8 characters in six bytes.
- * Standard UTF-8 representation uses four bytes for supplementary
- * characters.
- */
-
- $str_val = $this->_fread($strlen);
-
- for ($count = 0; $count < $strlen; $count++ ) {
- if (( ord($str_val[$count]) & 0xC0 ) == 0xC0) {
- $addBytes = 1;
- if (ord($str_val[$count]) & 0x20 ) {
- $addBytes++;
-
- // Never used. Java2 doesn't encode strings in four bytes
- if (ord($str_val[$count]) & 0x10 ) {
- $addBytes++;
- }
- }
- $str_val .= $this->_fread($addBytes);
- $strlen += $addBytes;
-
- // Check for null character. Java2 encodes null character
- // in two bytes.
- if (ord($str_val[$count]) == 0xC0 &&
- ord($str_val[$count+1]) == 0x80 ) {
- $str_val[$count] = 0;
- $str_val = substr($str_val,0,$count+1)
- . substr($str_val,$count+2);
- }
- $count += $addBytes;
- }
- }
-
- return $str_val;
- }
- }
-
- /**
- * Writes a string to the end of file.
- *
- * @param string $str
- * @throws Zend_Search_Lucene_Exception
- */
- public function writeString($str)
- {
- /**
- * This implementation supports only Basic Multilingual Plane
- * (BMP) characters (from 0x0000 to 0xFFFF) and doesn't support
- * "supplementary characters" (characters whose code points are
- * greater than 0xFFFF)
- * Java 2 represents these characters as a pair of char (16-bit)
- * values, the first from the high-surrogates range (0xD800-0xDBFF),
- * the second from the low-surrogates range (0xDC00-0xDFFF). Then
- * they are encoded as usual UTF-8 characters in six bytes.
- * Standard UTF-8 representation uses four bytes for supplementary
- * characters.
- */
-
- // convert input to a string before iterating string characters
- settype($str, 'string');
-
- $chars = $strlen = strlen($str);
- $containNullChars = false;
-
- for ($count = 0; $count < $strlen; $count++ ) {
- /**
- * String is already in Java 2 representation.
- * We should only calculate actual string length and replace
- * \x00 by \xC0\x80
- */
- if ((ord($str[$count]) & 0xC0) == 0xC0) {
- $addBytes = 1;
- if (ord($str[$count]) & 0x20 ) {
- $addBytes++;
-
- // Never used. Java2 doesn't encode strings in four bytes
- // and we dont't support non-BMP characters
- if (ord($str[$count]) & 0x10 ) {
- $addBytes++;
- }
- }
- $chars -= $addBytes;
-
- if (ord($str[$count]) == 0 ) {
- $containNullChars = true;
- }
- $count += $addBytes;
- }
- }
-
- if ($chars < 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Invalid UTF-8 string');
- }
-
- $this->writeVInt($chars);
- if ($containNullChars) {
- $this->_fwrite(str_replace($str, "\x00", "\xC0\x80"));
- } else {
- $this->_fwrite($str);
- }
- }
-
-
- /**
- * Reads binary data from the current position in the file
- * and advances the file pointer.
- *
- * @return string
- */
- public function readBinary()
- {
- return $this->_fread($this->readVInt());
- }
-}
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Storage/File/Filesystem.php b/airtime_mvc/library/Zend/Search/Lucene/Storage/File/Filesystem.php
deleted file mode 100644
index 16c986216..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Storage/File/Filesystem.php
+++ /dev/null
@@ -1,220 +0,0 @@
-_fileHandle = @fopen($filename, $mode);
-
- if ($this->_fileHandle === false) {
- ini_set('track_errors', $trackErrors);
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception($php_errormsg);
- }
-
- ini_set('track_errors', $trackErrors);
- }
-
- /**
- * Sets the file position indicator and advances the file pointer.
- * The new position, measured in bytes from the beginning of the file,
- * is obtained by adding offset to the position specified by whence,
- * whose values are defined as follows:
- * SEEK_SET - Set position equal to offset bytes.
- * SEEK_CUR - Set position to current location plus offset.
- * SEEK_END - Set position to end-of-file plus offset. (To move to
- * a position before the end-of-file, you need to pass a negative value
- * in offset.)
- * SEEK_CUR is the only supported offset type for compound files
- *
- * Upon success, returns 0; otherwise, returns -1
- *
- * @param integer $offset
- * @param integer $whence
- * @return integer
- */
- public function seek($offset, $whence=SEEK_SET)
- {
- return fseek($this->_fileHandle, $offset, $whence);
- }
-
-
- /**
- * Get file position.
- *
- * @return integer
- */
- public function tell()
- {
- return ftell($this->_fileHandle);
- }
-
- /**
- * Flush output.
- *
- * Returns true on success or false on failure.
- *
- * @return boolean
- */
- public function flush()
- {
- return fflush($this->_fileHandle);
- }
-
- /**
- * Close File object
- */
- public function close()
- {
- if ($this->_fileHandle !== null ) {
- @fclose($this->_fileHandle);
- $this->_fileHandle = null;
- }
- }
-
- /**
- * Get the size of the already opened file
- *
- * @return integer
- */
- public function size()
- {
- $position = ftell($this->_fileHandle);
- fseek($this->_fileHandle, 0, SEEK_END);
- $size = ftell($this->_fileHandle);
- fseek($this->_fileHandle,$position);
-
- return $size;
- }
-
- /**
- * Read a $length bytes from the file and advance the file pointer.
- *
- * @param integer $length
- * @return string
- */
- protected function _fread($length=1)
- {
- if ($length == 0) {
- return '';
- }
-
- if ($length < 1024) {
- return fread($this->_fileHandle, $length);
- }
-
- $data = '';
- while ( $length > 0 && ($nextBlock = fread($this->_fileHandle, $length)) != false ) {
- $data .= $nextBlock;
- $length -= strlen($nextBlock);
- }
- return $data;
- }
-
-
- /**
- * Writes $length number of bytes (all, if $length===null) to the end
- * of the file.
- *
- * @param string $data
- * @param integer $length
- */
- protected function _fwrite($data, $length=null)
- {
- if ($length === null ) {
- fwrite($this->_fileHandle, $data);
- } else {
- fwrite($this->_fileHandle, $data, $length);
- }
- }
-
- /**
- * Lock file
- *
- * Lock type may be a LOCK_SH (shared lock) or a LOCK_EX (exclusive lock)
- *
- * @param integer $lockType
- * @param boolean $nonBlockingLock
- * @return boolean
- */
- public function lock($lockType, $nonBlockingLock = false)
- {
- if ($nonBlockingLock) {
- return flock($this->_fileHandle, $lockType | LOCK_NB);
- } else {
- return flock($this->_fileHandle, $lockType);
- }
- }
-
- /**
- * Unlock file
- *
- * Returns true on success
- *
- * @return boolean
- */
- public function unlock()
- {
- if ($this->_fileHandle !== null ) {
- return flock($this->_fileHandle, LOCK_UN);
- } else {
- return true;
- }
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/Storage/File/Memory.php b/airtime_mvc/library/Zend/Search/Lucene/Storage/File/Memory.php
deleted file mode 100644
index 3f3f1eea6..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/Storage/File/Memory.php
+++ /dev/null
@@ -1,601 +0,0 @@
-_data = $data;
- }
-
- /**
- * Reads $length number of bytes at the current position in the
- * file and advances the file pointer.
- *
- * @param integer $length
- * @return string
- */
- protected function _fread($length = 1)
- {
- $returnValue = substr($this->_data, $this->_position, $length);
- $this->_position += $length;
- return $returnValue;
- }
-
-
- /**
- * Sets the file position indicator and advances the file pointer.
- * The new position, measured in bytes from the beginning of the file,
- * is obtained by adding offset to the position specified by whence,
- * whose values are defined as follows:
- * SEEK_SET - Set position equal to offset bytes.
- * SEEK_CUR - Set position to current location plus offset.
- * SEEK_END - Set position to end-of-file plus offset. (To move to
- * a position before the end-of-file, you need to pass a negative value
- * in offset.)
- * Upon success, returns 0; otherwise, returns -1
- *
- * @param integer $offset
- * @param integer $whence
- * @return integer
- */
- public function seek($offset, $whence=SEEK_SET)
- {
- switch ($whence) {
- case SEEK_SET:
- $this->_position = $offset;
- break;
-
- case SEEK_CUR:
- $this->_position += $offset;
- break;
-
- case SEEK_END:
- $this->_position = strlen($this->_data);
- $this->_position += $offset;
- break;
-
- default:
- break;
- }
- }
-
- /**
- * Get file position.
- *
- * @return integer
- */
- public function tell()
- {
- return $this->_position;
- }
-
- /**
- * Flush output.
- *
- * Returns true on success or false on failure.
- *
- * @return boolean
- */
- public function flush()
- {
- // Do nothing
-
- return true;
- }
-
- /**
- * Writes $length number of bytes (all, if $length===null) to the end
- * of the file.
- *
- * @param string $data
- * @param integer $length
- */
- protected function _fwrite($data, $length=null)
- {
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- if ($length !== null) {
- $this->_data .= substr($data, 0, $length);
- } else {
- $this->_data .= $data;
- }
-
- $this->_position = strlen($this->_data);
- }
-
- /**
- * Lock file
- *
- * Lock type may be a LOCK_SH (shared lock) or a LOCK_EX (exclusive lock)
- *
- * @param integer $lockType
- * @return boolean
- */
- public function lock($lockType, $nonBlockinLock = false)
- {
- // Memory files can't be shared
- // do nothing
-
- return true;
- }
-
- /**
- * Unlock file
- */
- public function unlock()
- {
- // Memory files can't be shared
- // do nothing
- }
-
- /**
- * Reads a byte from the current position in the file
- * and advances the file pointer.
- *
- * @return integer
- */
- public function readByte()
- {
- return ord($this->_data[$this->_position++]);
- }
-
- /**
- * Writes a byte to the end of the file.
- *
- * @param integer $byte
- */
- public function writeByte($byte)
- {
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- $this->_data .= chr($byte);
- $this->_position = strlen($this->_data);
-
- return 1;
- }
-
- /**
- * Read num bytes from the current position in the file
- * and advances the file pointer.
- *
- * @param integer $num
- * @return string
- */
- public function readBytes($num)
- {
- $returnValue = substr($this->_data, $this->_position, $num);
- $this->_position += $num;
-
- return $returnValue;
- }
-
- /**
- * Writes num bytes of data (all, if $num===null) to the end
- * of the string.
- *
- * @param string $data
- * @param integer $num
- */
- public function writeBytes($data, $num=null)
- {
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- if ($num !== null) {
- $this->_data .= substr($data, 0, $num);
- } else {
- $this->_data .= $data;
- }
-
- $this->_position = strlen($this->_data);
- }
-
-
- /**
- * Reads an integer from the current position in the file
- * and advances the file pointer.
- *
- * @return integer
- */
- public function readInt()
- {
- $str = substr($this->_data, $this->_position, 4);
- $this->_position += 4;
-
- return ord($str[0]) << 24 |
- ord($str[1]) << 16 |
- ord($str[2]) << 8 |
- ord($str[3]);
- }
-
-
- /**
- * Writes an integer to the end of file.
- *
- * @param integer $value
- */
- public function writeInt($value)
- {
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- settype($value, 'integer');
- $this->_data .= chr($value>>24 & 0xFF) .
- chr($value>>16 & 0xFF) .
- chr($value>>8 & 0xFF) .
- chr($value & 0xFF);
-
- $this->_position = strlen($this->_data);
- }
-
-
- /**
- * Returns a long integer from the current position in the file
- * and advances the file pointer.
- *
- * @return integer
- * @throws Zend_Search_Lucene_Exception
- */
- public function readLong()
- {
- /**
- * Check, that we work in 64-bit mode.
- * fseek() uses long for offset. Thus, largest index segment file size in 32bit mode is 2Gb
- */
- if (PHP_INT_SIZE > 4) {
- $str = substr($this->_data, $this->_position, 8);
- $this->_position += 8;
-
- return ord($str[0]) << 56 |
- ord($str[1]) << 48 |
- ord($str[2]) << 40 |
- ord($str[3]) << 32 |
- ord($str[4]) << 24 |
- ord($str[5]) << 16 |
- ord($str[6]) << 8 |
- ord($str[7]);
- } else {
- return $this->readLong32Bit();
- }
- }
-
- /**
- * Writes long integer to the end of file
- *
- * @param integer $value
- * @throws Zend_Search_Lucene_Exception
- */
- public function writeLong($value)
- {
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- /**
- * Check, that we work in 64-bit mode.
- * fseek() and ftell() use long for offset. Thus, largest index segment file size in 32bit mode is 2Gb
- */
- if (PHP_INT_SIZE > 4) {
- settype($value, 'integer');
- $this->_data .= chr($value>>56 & 0xFF) .
- chr($value>>48 & 0xFF) .
- chr($value>>40 & 0xFF) .
- chr($value>>32 & 0xFF) .
- chr($value>>24 & 0xFF) .
- chr($value>>16 & 0xFF) .
- chr($value>>8 & 0xFF) .
- chr($value & 0xFF);
- } else {
- $this->writeLong32Bit($value);
- }
-
- $this->_position = strlen($this->_data);
- }
-
-
- /**
- * Returns a long integer from the current position in the file,
- * advances the file pointer and return it as float (for 32-bit platforms).
- *
- * @return integer|float
- * @throws Zend_Search_Lucene_Exception
- */
- public function readLong32Bit()
- {
- $wordHigh = $this->readInt();
- $wordLow = $this->readInt();
-
- if ($wordHigh & (int)0x80000000) {
- // It's a negative value since the highest bit is set
- if ($wordHigh == (int)0xFFFFFFFF && ($wordLow & (int)0x80000000)) {
- return $wordLow;
- } else {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Long integers lower than -2147483648 (0x80000000) are not supported on 32-bit platforms.');
- }
-
- }
-
- if ($wordLow < 0) {
- // Value is large than 0x7FFF FFFF. Represent low word as float.
- $wordLow &= 0x7FFFFFFF;
- $wordLow += (float)0x80000000;
- }
-
- if ($wordHigh == 0) {
- // Return value as integer if possible
- return $wordLow;
- }
-
- return $wordHigh*(float)0x100000000/* 0x00000001 00000000 */ + $wordLow;
- }
-
-
- /**
- * Writes long integer to the end of file (32-bit platforms implementation)
- *
- * @param integer|float $value
- * @throws Zend_Search_Lucene_Exception
- */
- public function writeLong32Bit($value)
- {
- if ($value < (int)0x80000000) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Long integers lower than -2147483648 (0x80000000) are not supported on 32-bit platforms.');
- }
-
- if ($value < 0) {
- $wordHigh = (int)0xFFFFFFFF;
- $wordLow = (int)$value;
- } else {
- $wordHigh = (int)($value/(float)0x100000000/* 0x00000001 00000000 */);
- $wordLow = $value - $wordHigh*(float)0x100000000/* 0x00000001 00000000 */;
-
- if ($wordLow > 0x7FFFFFFF) {
- // Highest bit of low word is set. Translate it to the corresponding negative integer value
- $wordLow -= 0x80000000;
- $wordLow |= 0x80000000;
- }
- }
-
- $this->writeInt($wordHigh);
- $this->writeInt($wordLow);
- }
-
- /**
- * Returns a variable-length integer from the current
- * position in the file and advances the file pointer.
- *
- * @return integer
- */
- public function readVInt()
- {
- $nextByte = ord($this->_data[$this->_position++]);
- $val = $nextByte & 0x7F;
-
- for ($shift=7; ($nextByte & 0x80) != 0; $shift += 7) {
- $nextByte = ord($this->_data[$this->_position++]);
- $val |= ($nextByte & 0x7F) << $shift;
- }
- return $val;
- }
-
- /**
- * Writes a variable-length integer to the end of file.
- *
- * @param integer $value
- */
- public function writeVInt($value)
- {
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- settype($value, 'integer');
- while ($value > 0x7F) {
- $this->_data .= chr( ($value & 0x7F)|0x80 );
- $value >>= 7;
- }
- $this->_data .= chr($value);
-
- $this->_position = strlen($this->_data);
- }
-
-
- /**
- * Reads a string from the current position in the file
- * and advances the file pointer.
- *
- * @return string
- */
- public function readString()
- {
- $strlen = $this->readVInt();
- if ($strlen == 0) {
- return '';
- } else {
- /**
- * This implementation supports only Basic Multilingual Plane
- * (BMP) characters (from 0x0000 to 0xFFFF) and doesn't support
- * "supplementary characters" (characters whose code points are
- * greater than 0xFFFF)
- * Java 2 represents these characters as a pair of char (16-bit)
- * values, the first from the high-surrogates range (0xD800-0xDBFF),
- * the second from the low-surrogates range (0xDC00-0xDFFF). Then
- * they are encoded as usual UTF-8 characters in six bytes.
- * Standard UTF-8 representation uses four bytes for supplementary
- * characters.
- */
-
- $str_val = substr($this->_data, $this->_position, $strlen);
- $this->_position += $strlen;
-
- for ($count = 0; $count < $strlen; $count++ ) {
- if (( ord($str_val[$count]) & 0xC0 ) == 0xC0) {
- $addBytes = 1;
- if (ord($str_val[$count]) & 0x20 ) {
- $addBytes++;
-
- // Never used. Java2 doesn't encode strings in four bytes
- if (ord($str_val[$count]) & 0x10 ) {
- $addBytes++;
- }
- }
- $str_val .= substr($this->_data, $this->_position, $addBytes);
- $this->_position += $addBytes;
- $strlen += $addBytes;
-
- // Check for null character. Java2 encodes null character
- // in two bytes.
- if (ord($str_val[$count]) == 0xC0 &&
- ord($str_val[$count+1]) == 0x80 ) {
- $str_val[$count] = 0;
- $str_val = substr($str_val,0,$count+1)
- . substr($str_val,$count+2);
- }
- $count += $addBytes;
- }
- }
-
- return $str_val;
- }
- }
-
- /**
- * Writes a string to the end of file.
- *
- * @param string $str
- * @throws Zend_Search_Lucene_Exception
- */
- public function writeString($str)
- {
- /**
- * This implementation supports only Basic Multilingual Plane
- * (BMP) characters (from 0x0000 to 0xFFFF) and doesn't support
- * "supplementary characters" (characters whose code points are
- * greater than 0xFFFF)
- * Java 2 represents these characters as a pair of char (16-bit)
- * values, the first from the high-surrogates range (0xD800-0xDBFF),
- * the second from the low-surrogates range (0xDC00-0xDFFF). Then
- * they are encoded as usual UTF-8 characters in six bytes.
- * Standard UTF-8 representation uses four bytes for supplementary
- * characters.
- */
-
- // We do not need to check if file position points to the end of "file".
- // Only append operation is supported now
-
- // convert input to a string before iterating string characters
- settype($str, 'string');
-
- $chars = $strlen = strlen($str);
- $containNullChars = false;
-
- for ($count = 0; $count < $strlen; $count++ ) {
- /**
- * String is already in Java 2 representation.
- * We should only calculate actual string length and replace
- * \x00 by \xC0\x80
- */
- if ((ord($str[$count]) & 0xC0) == 0xC0) {
- $addBytes = 1;
- if (ord($str[$count]) & 0x20 ) {
- $addBytes++;
-
- // Never used. Java2 doesn't encode strings in four bytes
- // and we dont't support non-BMP characters
- if (ord($str[$count]) & 0x10 ) {
- $addBytes++;
- }
- }
- $chars -= $addBytes;
-
- if (ord($str[$count]) == 0 ) {
- $containNullChars = true;
- }
- $count += $addBytes;
- }
- }
-
- if ($chars < 0) {
- require_once 'Zend/Search/Lucene/Exception.php';
- throw new Zend_Search_Lucene_Exception('Invalid UTF-8 string');
- }
-
- $this->writeVInt($chars);
- if ($containNullChars) {
- $this->_data .= str_replace($str, "\x00", "\xC0\x80");
-
- } else {
- $this->_data .= $str;
- }
-
- $this->_position = strlen($this->_data);
- }
-
-
- /**
- * Reads binary data from the current position in the file
- * and advances the file pointer.
- *
- * @return string
- */
- public function readBinary()
- {
- $length = $this->readVInt();
- $returnValue = substr($this->_data, $this->_position, $length);
- $this->_position += $length;
- return $returnValue;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Search/Lucene/TermStreamsPriorityQueue.php b/airtime_mvc/library/Zend/Search/Lucene/TermStreamsPriorityQueue.php
deleted file mode 100644
index 9cc29d210..000000000
--- a/airtime_mvc/library/Zend/Search/Lucene/TermStreamsPriorityQueue.php
+++ /dev/null
@@ -1,176 +0,0 @@
-_termStreams = $termStreams;
-
- $this->resetTermsStream();
- }
-
- /**
- * Reset terms stream.
- */
- public function resetTermsStream()
- {
- /** Zend_Search_Lucene_Index_TermsPriorityQueue */
- require_once 'Zend/Search/Lucene/Index/TermsPriorityQueue.php';
-
- $this->_termsStreamQueue = new Zend_Search_Lucene_Index_TermsPriorityQueue();
-
- foreach ($this->_termStreams as $termStream) {
- $termStream->resetTermsStream();
-
- // Skip "empty" containers
- if ($termStream->currentTerm() !== null) {
- $this->_termsStreamQueue->put($termStream);
- }
- }
-
- $this->nextTerm();
- }
-
- /**
- * Skip terms stream up to specified term preffix.
- *
- * Prefix contains fully specified field info and portion of searched term
- *
- * @param Zend_Search_Lucene_Index_Term $prefix
- */
- public function skipTo(Zend_Search_Lucene_Index_Term $prefix)
- {
- $termStreams = array();
-
- while (($termStream = $this->_termsStreamQueue->pop()) !== null) {
- $termStreams[] = $termStream;
- }
-
- foreach ($termStreams as $termStream) {
- $termStream->skipTo($prefix);
-
- if ($termStream->currentTerm() !== null) {
- $this->_termsStreamQueue->put($termStream);
- }
- }
-
- $this->nextTerm();
- }
-
- /**
- * Scans term streams and returns next term
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function nextTerm()
- {
- while (($termStream = $this->_termsStreamQueue->pop()) !== null) {
- if ($this->_termsStreamQueue->top() === null ||
- $this->_termsStreamQueue->top()->currentTerm()->key() !=
- $termStream->currentTerm()->key()) {
- // We got new term
- $this->_lastTerm = $termStream->currentTerm();
-
- if ($termStream->nextTerm() !== null) {
- // Put segment back into the priority queue
- $this->_termsStreamQueue->put($termStream);
- }
-
- return $this->_lastTerm;
- }
-
- if ($termStream->nextTerm() !== null) {
- // Put segment back into the priority queue
- $this->_termsStreamQueue->put($termStream);
- }
- }
-
- // End of stream
- $this->_lastTerm = null;
-
- return null;
- }
-
- /**
- * Returns term in current position
- *
- * @return Zend_Search_Lucene_Index_Term|null
- */
- public function currentTerm()
- {
- return $this->_lastTerm;
- }
-
- /**
- * Close terms stream
- *
- * Should be used for resources clean up if stream is not read up to the end
- */
- public function closeTermsStream()
- {
- while (($termStream = $this->_termsStreamQueue->pop()) !== null) {
- $termStream->closeTermsStream();
- }
-
- $this->_termsStreamQueue = null;
- $this->_lastTerm = null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer.php b/airtime_mvc/library/Zend/Serializer.php
deleted file mode 100644
index 93bffcf9a..000000000
--- a/airtime_mvc/library/Zend/Serializer.php
+++ /dev/null
@@ -1,188 +0,0 @@
-load($adapterName);
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Can\'t load serializer adapter "'.$adapterName.'"', 0, $e);
- }
-
- // ZF-8842:
- // check that the loaded class implements Zend_Serializer_Adapter_AdapterInterface without execute code
- if (!in_array('Zend_Serializer_Adapter_AdapterInterface', class_implements($adapterClass))) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('The serializer adapter class "'.$adapterClass.'" must implement Zend_Serializer_Adapter_AdapterInterface');
- }
-
- return new $adapterClass($opts);
- }
-
- /**
- * Get the adapter plugin loader.
- *
- * @return Zend_Loader_PluginLoader
- */
- public static function getAdapterLoader()
- {
- if (self::$_adapterLoader === null) {
- self::$_adapterLoader = self::_getDefaultAdapterLoader();
- }
- return self::$_adapterLoader;
- }
-
- /**
- * Change the adapter plugin load.
- *
- * @param Zend_Loader_PluginLoader $pluginLoader
- * @return void
- */
- public static function setAdapterLoader(Zend_Loader_PluginLoader $pluginLoader)
- {
- self::$_adapterLoader = $pluginLoader;
- }
-
- /**
- * Resets the internal adapter plugin loader
- *
- * @return Zend_Loader_PluginLoader
- */
- public static function resetAdapterLoader()
- {
- self::$_adapterLoader = self::_getDefaultAdapterLoader();
- return self::$_adapterLoader;
- }
-
- /**
- * Returns a default adapter plugin loader
- *
- * @return Zend_Loader_PluginLoader
- */
- protected static function _getDefaultAdapterLoader()
- {
- $loader = new Zend_Loader_PluginLoader();
- $loader->addPrefixPath('Zend_Serializer_Adapter', dirname(__FILE__).'/Serializer/Adapter');
- return $loader;
- }
-
- /**
- * Change the default adapter.
- *
- * @param string|Zend_Serializer_Adapter_AdapterInterface $adapter
- * @param array|Zend_Config $options
- */
- public static function setDefaultAdapter($adapter, $options = array())
- {
- self::$_defaultAdapter = self::factory($adapter, $options);
- }
-
- /**
- * Get the default adapter.
- *
- * @return Zend_Serializer_Adapter_AdapterInterface
- */
- public static function getDefaultAdapter()
- {
- if (!self::$_defaultAdapter instanceof Zend_Serializer_Adapter_AdapterInterface) {
- self::setDefaultAdapter(self::$_defaultAdapter);
- }
- return self::$_defaultAdapter;
- }
-
- /**
- * Generates a storable representation of a value using the default adapter.
- *
- * @param mixed $value
- * @param array $options
- * @return string
- * @throws Zend_Serializer_Exception
- */
- public static function serialize($value, array $options = array())
- {
- if (isset($options['adapter'])) {
- $adapter = self::factory($options['adapter']);
- unset($options['adapter']);
- } else {
- $adapter = self::getDefaultAdapter();
- }
-
- return $adapter->serialize($value, $options);
- }
-
- /**
- * Creates a PHP value from a stored representation using the default adapter.
- *
- * @param string $serialized
- * @param array $options
- * @return mixed
- * @throws Zend_Serializer_Exception
- */
- public static function unserialize($serialized, array $options = array())
- {
- if (isset($options['adapter'])) {
- $adapter = self::factory($options['adapter']);
- unset($options['adapter']);
- } else {
- $adapter = self::getDefaultAdapter();
- }
-
- return $adapter->unserialize($serialized, $options);
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Adapter/AdapterAbstract.php b/airtime_mvc/library/Zend/Serializer/Adapter/AdapterAbstract.php
deleted file mode 100644
index 535b9e7d2..000000000
--- a/airtime_mvc/library/Zend/Serializer/Adapter/AdapterAbstract.php
+++ /dev/null
@@ -1,112 +0,0 @@
-setOptions($opts);
- }
-
- /**
- * Set serializer options
- *
- * @param array|Zend_Config $opts Serializer options
- * @return Zend_Serializer_Adapter_AdapterAbstract
- */
- public function setOptions($opts)
- {
- if ($opts instanceof Zend_Config) {
- $opts = $opts->toArray();
- } else {
- $opts = (array) $opts;
- }
-
- foreach ($opts as $k => $v) {
- $this->setOption($k, $v);
- }
- return $this;
- }
-
- /**
- * Set a serializer option
- *
- * @param string $name Option name
- * @param mixed $value Option value
- * @return Zend_Serializer_Adapter_AdapterAbstract
- */
- public function setOption($name, $value)
- {
- $this->_options[(string) $name] = $value;
- return $this;
- }
-
- /**
- * Get serializer options
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Get a serializer option
- *
- * @param string $name
- * @return mixed
- * @throws Zend_Serializer_Exception
- */
- public function getOption($name)
- {
- $name = (string) $name;
- if (!array_key_exists($name, $this->_options)) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Unknown option name "'.$name.'"');
- }
-
- return $this->_options[$name];
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Adapter/AdapterInterface.php b/airtime_mvc/library/Zend/Serializer/Adapter/AdapterInterface.php
deleted file mode 100644
index 19d1d85b8..000000000
--- a/airtime_mvc/library/Zend/Serializer/Adapter/AdapterInterface.php
+++ /dev/null
@@ -1,92 +0,0 @@
-writeTypeMarker($value);
- return $stream->getStream();
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Serialization failed by previous error', 0, $e);
- }
- }
-
- /**
- * Unserialize an AMF0 value to PHP
- *
- * @param mixed $value
- * @param array $opts
- * @return void
- * @throws Zend_Serializer_Exception
- */
- public function unserialize($value, array $opts = array())
- {
- try {
- $stream = new Zend_Amf_Parse_InputStream($value);
- $deserializer = new Zend_Amf_Parse_Amf0_Deserializer($stream);
- return $deserializer->readTypeMarker();
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Unserialization failed by previous error', 0, $e);
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Adapter/Amf3.php b/airtime_mvc/library/Zend/Serializer/Adapter/Amf3.php
deleted file mode 100644
index f62a0f0ea..000000000
--- a/airtime_mvc/library/Zend/Serializer/Adapter/Amf3.php
+++ /dev/null
@@ -1,87 +0,0 @@
-writeTypeMarker($value);
- return $stream->getStream();
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Serialization failed by previous error', 0, $e);
- }
- }
-
- /**
- * Deserialize an AMF3 value to PHP
- *
- * @param mixed $value
- * @param array $opts
- * @return string
- * @throws Zend_Serializer_Exception
- */
- public function unserialize($value, array $opts = array())
- {
- try {
- $stream = new Zend_Amf_Parse_InputStream($value);
- $deserializer = new Zend_Amf_Parse_Amf3_Deserializer($stream);
- return $deserializer->readTypeMarker();
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Unserialization failed by previous error', 0, $e);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Adapter/Igbinary.php b/airtime_mvc/library/Zend/Serializer/Adapter/Igbinary.php
deleted file mode 100644
index 5f9587ea8..000000000
--- a/airtime_mvc/library/Zend/Serializer/Adapter/Igbinary.php
+++ /dev/null
@@ -1,98 +0,0 @@
- false,
- 'enableJsonExprFinder' => false,
- 'objectDecodeType' => Zend_Json::TYPE_ARRAY,
- );
-
- /**
- * Serialize PHP value to JSON
- *
- * @param mixed $value
- * @param array $opts
- * @return string
- * @throws Zend_Serializer_Exception on JSON encoding exception
- */
- public function serialize($value, array $opts = array())
- {
- $opts = $opts + $this->_options;
-
- try {
- return Zend_Json::encode($value, $opts['cycleCheck'], $opts);
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Serialization failed', 0, $e);
- }
- }
-
- /**
- * Deserialize JSON to PHP value
- *
- * @param string $json
- * @param array $opts
- * @return mixed
- */
- public function unserialize($json, array $opts = array())
- {
- $opts = $opts + $this->_options;
-
- try {
- $ret = Zend_Json::decode($json, $opts['objectDecodeType']);
- } catch (Exception $e) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Unserialization failed by previous error', 0, $e);
- }
-
- // json_decode returns null for invalid JSON
- if ($ret === null && $json !== 'null') {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Invalid json data');
- }
-
- return $ret;
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Adapter/PhpCode.php b/airtime_mvc/library/Zend/Serializer/Adapter/PhpCode.php
deleted file mode 100644
index d041cf196..000000000
--- a/airtime_mvc/library/Zend/Serializer/Adapter/PhpCode.php
+++ /dev/null
@@ -1,67 +0,0 @@
- '\\\\',
- "\x00" => '\\x00', "\x01" => '\\x01', "\x02" => '\\x02', "\x03" => '\\x03',
- "\x04" => '\\x04', "\x05" => '\\x05', "\x06" => '\\x06', "\x07" => '\\x07',
- "\x08" => '\\x08', "\x09" => '\\t', "\x0a" => '\\n', "\x0b" => '\\x0b',
- "\x0c" => '\\x0c', "\x0d" => '\\r', "\x0e" => '\\x0e', "\x0f" => '\\x0f',
- "\x10" => '\\x10', "\x11" => '\\x11', "\x12" => '\\x12', "\x13" => '\\x13',
- "\x14" => '\\x14', "\x15" => '\\x15', "\x16" => '\\x16', "\x17" => '\\x17',
- "\x18" => '\\x18', "\x19" => '\\x19', "\x1a" => '\\x1a', "\x1b" => '\\x1b',
- "\x1c" => '\\x1c', "\x1d" => '\\x1d', "\x1e" => '\\x1e', "\x1f" => '\\x1f',
- "\xff" => '\\xff'
- );
-
- /**
- * @var array Default options
- */
- protected $_options = array(
- 'protocol' => 0,
- );
-
- // process vars
- protected $_protocol = 0;
- protected $_binary = false;
- protected $_memo = array();
- protected $_pickle = '';
- protected $_pickleLen = 0;
- protected $_pos = 0;
- protected $_stack = array();
- protected $_marker = null;
-
- /**
- * Constructor
- *
- * @link Zend_Serializer_Adapter_AdapterAbstract::__construct()
- */
- public function __construct($opts=array())
- {
- parent::__construct($opts);
-
- // init
- if (self::$_isLittleEndian === null) {
- self::$_isLittleEndian = (pack('l', 1) === "\x01\x00\x00\x00");
- }
- if (self::$_isPhp6 === null) {
- self::$_isPhp6 = !version_compare(PHP_VERSION, '6.0.0', '<');
- }
-
- $this->_marker = new stdClass();
- }
-
- /**
- * Set an option
- *
- * @link Zend_Serializer_Adapter_AdapterAbstract::setOption()
- * @param string $name
- * @param mixed $value
- * @return Zend_Serializer_Adapter_PythonPickle
- */
- public function setOption($name, $value)
- {
- switch ($name) {
- case 'protocol':
- $value = $this->_checkProtocolNumber($value);
- break;
- }
-
- return parent::setOption($name, $value);
- }
-
- /**
- * Check and normalize pickle protocol number
- *
- * @param int $number
- * @return int
- * @throws Zend_Serializer_Exception
- */
- protected function _checkProtocolNumber($number)
- {
- $int = (int) $number;
- if ($int < 0 || $int > 3) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Invalid or unknown protocol version "'.$number.'"');
- }
- return $int;
- }
-
- /* serialize */
-
- /**
- * Serialize PHP to PythonPickle format
- *
- * @param mixed $value
- * @param array $opts
- * @return string
- */
- public function serialize($value, array $opts = array())
- {
- $opts = $opts + $this->_options;
-
- $this->_protocol = $this->_checkProtocolNumber($opts['protocol']);
- $this->_binary = $this->_protocol != 0;
-
- // clear process vars before serializing
- $this->_memo = array();
- $this->_pickle = '';
-
- // write
- if ($this->_protocol >= 2) {
- $this->_writeProto($this->_protocol);
- }
- $this->_write($value);
- $this->_writeStop();
-
- // clear process vars after serializing
- $this->_memo = array();
- $pickle = $this->_pickle;
- $this->_pickle = '';
-
- return $pickle;
- }
-
- /**
- * Write a value
- *
- * @param mixed $value
- * @return void
- * @throws Zend_Serializer_Exception on invalid or unrecognized value type
- */
- protected function _write($value)
- {
- if ($value === null) {
- $this->_writeNull();
- } elseif ($value === true) {
- $this->_writeTrue();
- } elseif ($value === false) {
- $this->_writeFalse();
- } elseif (is_int($value)) {
- $this->_writeInt($value);
- } elseif (is_float($value)) {
- $this->_writeFloat($value);
- } elseif (is_string($value)) {
- // TODO: write unicode / binary
- $this->_writeString($value);
- } elseif (is_array($value)) {
- if ($this->_isArrayAssoc($value)) {
- $this->_writeArrayDict($value);
- } else {
- $this->_writeArrayList($value);
- }
- } elseif (is_object($value)) {
- $this->_writeObject($value);
- } else {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception(
- 'PHP-Type "'.gettype($value).'" isn\'t serializable with '.get_class($this)
- );
- }
- }
-
- /**
- * Write pickle protocol
- *
- * @param int $protocol
- * @return void
- */
- protected function _writeProto($protocol)
- {
- $this->_pickle .= self::OP_PROTO . $protocol;
- }
-
- /**
- * Write a get
- *
- * @param int $id Id of memo
- * @return void
- */
- protected function _writeGet($id)
- {
- if ($this->_binary) {
- if ($id <= 0xff) {
- // BINGET + chr(i)
- $this->_pickle .= self::OP_BINGET . chr($id);
- } else {
- // LONG_BINGET + pack("_pickle .= self::OP_LONG_BINGET . $idBin;
- }
- } else {
- $this->_pickle .= self::OP_GET . $id . "\r\n";
- }
- }
-
- /**
- * Write a put
- *
- * @param int $id Id of memo
- * @return void
- */
- protected function _writePut($id)
- {
- if ($this->_binary) {
- if ($id <= 0xff) {
- // BINPUT + chr(i)
- $this->_pickle .= self::OP_BINPUT . chr($id);
- } else {
- // LONG_BINPUT + pack("_pickle .= self::OP_LONG_BINPUT . $idBin;
- }
- } else {
- $this->_pickle .= self::OP_PUT . $id . "\r\n";
- }
- }
-
- /**
- * Write a null as None
- *
- * @return void
- */
- protected function _writeNull()
- {
- $this->_pickle .= self::OP_NONE;
- }
-
- /**
- * Write a boolean true
- *
- * @return void
- */
- protected function _writeTrue()
- {
- if ($this->_protocol >= 2) {
- $this->_pickle .= self::OP_NEWTRUE;
- } else {
- $this->_pickle .= self::OP_INT . "01\r\n";
- }
- }
-
- /**
- * Write a boolean false
- *
- * @return void
- */
- protected function _writeFalse()
- {
- if ($this->_protocol >= 2) {
- $this->_pickle .= self::OP_NEWFALSE;
- } else {
- $this->_pickle .= self::OP_INT . "00\r\n";
- }
- }
-
- /**
- * Write an integer value
- *
- * @param int $value
- * @return void
- */
- protected function _writeInt($value)
- {
- if ($this->_binary) {
- if ($value >= 0) {
- if ($value <= 0xff) {
- // self.write(BININT1 + chr(obj))
- $this->_pickle .= self::OP_BININT1 . chr($value);
- } elseif ($value <= 0xffff) {
- // self.write("%c%c%c" % (BININT2, obj&0xff, obj>>8))
- $this->_pickle .= self::OP_BININT2 . pack('v', $value);
- }
- return;
- }
-
- // Next check for 4-byte signed ints:
- $highBits = $value >> 31; // note that Python shift sign-extends
- if ($highBits == 0 || $highBits == -1) {
- // All high bits are copies of bit 2**31, so the value
- // fits in a 4-byte signed int.
- // self.write(BININT + pack("_pickle .= self::OP_BININT . $bin;
- return;
- }
- }
-
- $this->_pickle .= self::OP_INT . $value . "\r\n";
- }
-
- /**
- * Write a float value
- *
- * @param float $value
- * @return void
- */
- protected function _writeFloat($value)
- {
- if ($this->_binary) {
- // self.write(BINFLOAT + pack('>d', obj))
- $bin = pack('d', $value);
- if (self::$_isLittleEndian === true) {
- $bin = strrev($bin);
- }
- $this->_pickle .= self::OP_BINFLOAT . $bin;
- } else {
- $this->_pickle .= self::OP_FLOAT . $value . "\r\n";
- }
- }
-
- /**
- * Write a string value
- *
- * @param string $value
- * @return void
- */
- protected function _writeString($value)
- {
- if ( ($id=$this->_searchMomo($value)) !== false ) {
- $this->_writeGet($id);
- return;
- }
-
- if ($this->_binary) {
- $n = strlen($value);
- if ($n <= 0xff) {
- // self.write(SHORT_BINSTRING + chr(n) + obj)
- $this->_pickle .= self::OP_SHORT_BINSTRING . chr($n) . $value;
- } else {
- // self.write(BINSTRING + pack("_pickle .= self::OP_BINSTRING . $binLen . $value;
- }
- } else {
- $this->_pickle .= self::OP_STRING . $this->_quoteString($value) . "\r\n";
- }
-
- $this->_momorize($value);
- }
-
- /**
- * Write an associative array value as dictionary
- *
- * @param array $value
- * @return void
- */
- protected function _writeArrayDict(array $value)
- {
- if (($id=$this->_searchMomo($value)) !== false) {
- $this->_writeGet($id);;
- return;
- }
-
- $this->_pickle .= self::OP_MARK . self::OP_DICT;
- $this->_momorize($value);
-
- foreach ($value as $k => $v) {
- $this->_pickle .= $this->_write($k)
- . $this->_write($v)
- . self::OP_SETITEM;
- }
- }
-
- /**
- * Write a simple array value as list
- *
- * @param array $value
- * @return void
- */
- protected function _writeArrayList(array $value)
- {
- if (($id = $this->_searchMomo($value)) !== false) {
- $this->_writeGet($id);
- return;
- }
-
- $this->_pickle .= self::OP_MARK . self::OP_LIST;
- $this->_momorize($value);
-
- foreach ($value as $k => $v) {
- $this->_pickle .= $this->_write($v) . self::OP_APPEND;
- }
- }
-
- /**
- * Write an object as an dictionary
- *
- * @param object $value
- * @return void
- */
- protected function _writeObject($value)
- {
- // can't serialize php objects to python objects yet
- $this->_writeArrayDict(get_object_vars($value));
- }
-
- /**
- * Write stop
- *
- * @return void
- */
- protected function _writeStop()
- {
- $this->_pickle .= self::OP_STOP;
- }
-
- /* serialize helper */
-
- /**
- * Add a value to the memo and write the id
- *
- * @param mixed $value
- * @return void
- */
- protected function _momorize($value)
- {
- $id = count($this->_memo);
- $this->_memo[$id] = $value;
- $this->_writePut($id);
- }
-
- /**
- * Search a value in the meno and return the id
- *
- * @param mixed $value
- * @return int|false The id or false
- */
- protected function _searchMomo($value)
- {
- return array_search($value, $this->_memo, true);
- }
-
- /**
- * Is an array associative?
- *
- * @param array $value
- * @return boolean
- */
- protected function _isArrayAssoc(array $value)
- {
- return array_diff_key($value, array_keys(array_keys($value)));
- }
-
- /**
- * Quote/Escape a string
- *
- * @param string $str
- * @return string quoted string
- */
- protected function _quoteString($str)
- {
- $quoteArr = self::$_quoteString;
-
- if (($cntSingleQuote = substr_count($str, "'"))
- && ($cntDoubleQuote = substr_count($str, '"'))
- && ($cntSingleQuote < $cntDoubleQuote)
- ) {
- $quoteArr['"'] = '\\"';
- $enclosure = '"';
- } else {
- $quoteArr["'"] = "\\'";
- $enclosure = "'";
- }
-
- return $enclosure . strtr($str, $quoteArr) . $enclosure;
- }
-
- /* unserialize */
-
- /**
- * Unserialize from Python Pickle format to PHP
- *
- * @param string $pickle
- * @param array $opts
- * @return mixed
- * @throws Zend_Serializer_Exception on invalid Pickle string
- */
- public function unserialize($pickle, array $opts = array())
- {
- // init process vars
- $this->_pos = 0;
- $this->_pickle = $pickle;
- $this->_pickleLen = strlen($this->_pickle);
- $this->_memo = array();
- $this->_stack = array();
-
- // read pickle string
- while (($op=$this->_read(1)) !== self::OP_STOP) {
- $this->_load($op);
- }
-
- if (!count($this->_stack)) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('No data found');
- }
-
- $ret = array_pop($this->_stack);
-
- // clear process vars
- $this->_pos = 0;
- $this->_pickle = '';
- $this->_pickleLen = 0;
- $this->_memo = array();
- $this->_stack = array();
-
- return $ret;
- }
-
- /**
- * Load a pickle opcode
- *
- * @param string $op
- * @return void
- * @throws Zend_Serializer_Exception on invalid opcode
- */
- protected function _load($op)
- {
- switch ($op) {
- case self::OP_PUT:
- $this->_loadPut();
- break;
- case self::OP_BINPUT:
- $this->_loadBinPut();
- break;
- case self::OP_LONG_BINPUT:
- $this->_loadLongBinPut();
- break;
- case self::OP_GET:
- $this->_loadGet();
- break;
- case self::OP_BINGET:
- $this->_loadBinGet();
- break;
- case self::OP_LONG_BINGET:
- $this->_loadLongBinGet();
- break;
- case self::OP_NONE:
- $this->_loadNone();
- break;
- case self::OP_NEWTRUE:
- $this->_loadNewTrue();
- break;
- case self::OP_NEWFALSE:
- $this->_loadNewFalse();
- break;
- case self::OP_INT:
- $this->_loadInt();
- break;
- case self::OP_BININT:
- $this->_loadBinInt();
- break;
- case self::OP_BININT1:
- $this->_loadBinInt1();
- break;
- case self::OP_BININT2:
- $this->_loadBinInt2();
- break;
- case self::OP_LONG:
- $this->_loadLong();
- break;
- case self::OP_LONG1:
- $this->_loadLong1();
- break;
- case self::OP_LONG4:
- $this->_loadLong4();
- break;
- case self::OP_FLOAT:
- $this->_loadFloat();
- break;
- case self::OP_BINFLOAT:
- $this->_loadBinFloat();
- break;
- case self::OP_STRING:
- $this->_loadString();
- break;
- case self::OP_BINSTRING:
- $this->_loadBinString();
- break;
- case self::OP_SHORT_BINSTRING:
- $this->_loadShortBinString();
- break;
- case self::OP_BINBYTES:
- $this->_loadBinBytes();
- break;
- case self::OP_SHORT_BINBYTES:
- $this->_loadShortBinBytes();
- break;
- case self::OP_UNICODE:
- $this->_loadUnicode();
- break;
- case self::OP_BINUNICODE:
- $this->_loadBinUnicode();
- break;
- case self::OP_MARK:
- $this->_loadMark();
- break;
- case self::OP_LIST:
- $this->_loadList();
- break;
- case self::OP_EMPTY_LIST:
- $this->_loadEmptyList();
- break;
- case self::OP_APPEND:
- $this->_loadAppend();
- break;
- case self::OP_APPENDS:
- $this->_loadAppends();
- break;
- case self::OP_DICT:
- $this->_loadDict();
- break;
- case self::OP_EMPTY_DICT:
- $this->_loadEmptyDict();
- break;
- case self::OP_SETITEM:
- $this->_loadSetItem();
- break;
- case self::OP_SETITEMS:
- $this->_loadSetItems();
- break;
- case self::OP_TUPLE:
- $this->_loadTuple();
- break;
- case self::OP_TUPLE1:
- $this->_loadTuple1();
- break;
- case self::OP_TUPLE2:
- $this->_loadTuple2();
- break;
- case self::OP_TUPLE3:
- $this->_loadTuple3();
- break;
- case self::OP_PROTO:
- $this->_loadProto();
- break;
- default:
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Invalid or unknown opcode "'.$op.'"');
- }
- }
-
- /**
- * Load a PUT opcode
- *
- * @return void
- * @throws Zend_Serializer_Exception on missing stack
- */
- protected function _loadPut()
- {
- $id = (int)$this->_readline();
-
- $lastStack = count($this->_stack)-1;
- if (!isset($this->_stack[$lastStack])) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('No stack exist');
- }
- $this->_memo[$id] = & $this->_stack[$lastStack];
- }
-
- /**
- * Load a binary PUT
- *
- * @return void
- * @throws Zend_Serializer_Exception on missing stack
- */
- protected function _loadBinPut()
- {
- $id = ord($this->_read(1));
-
- $lastStack = count($this->_stack)-1;
- if (!isset($this->_stack[$lastStack])) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('No stack exist');
- }
- $this->_memo[$id] = & $this->_stack[$lastStack];
- }
-
- /**
- * Load a long binary PUT
- *
- * @return void
- * @throws Zend_Serializer_Exception on missing stack
- */
- protected function _loadLongBinPut()
- {
- $bin = $this->_read(4);
- if (self::$_isLittleEndian === false) {
- $bin = strrev($bin);
- }
- list(, $id) = unpack('l', $bin);
-
- $lastStack = count($this->_stack)-1;
- if (!isset($this->_stack[$lastStack])) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('No stack exist');
- }
- $this->_memo[$id] = & $this->_stack[$lastStack];
- }
-
- /**
- * Load a GET operation
- *
- * @return void
- * @throws Zend_Serializer_Exception on missing GET identifier
- */
- protected function _loadGet()
- {
- $id = (int)$this->_readline();
-
- if (!array_key_exists($id, $this->_memo)) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Get id "' . $id . '" not found in momo');
- }
- $this->_stack[] = & $this->_memo[$id];
- }
-
- /**
- * Load a binary GET operation
- *
- * @return void
- * @throws Zend_Serializer_Exception on missing GET identifier
- */
- protected function _loadBinGet()
- {
- $id = ord($this->_read(1));
-
- if (!array_key_exists($id, $this->_memo)) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Get id "' . $id . '" not found in momo');
- }
- $this->_stack[] = & $this->_memo[$id];
- }
-
- /**
- * Load a long binary GET operation
- *
- * @return void
- * @throws Zend_Serializer_Exception on missing GET identifier
- */
- protected function _loadLongBinGet()
- {
- $bin = $this->_read(4);
- if (self::$_isLittleEndian === false) {
- $bin = strrev($bin);
- }
- list(, $id) = unpack('l', $bin);
-
- if (!array_key_exists($id, $this->_memo)) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Get id "' . $id . '" not found in momo');
- }
- $this->_stack[] = & $this->_memo[$id];
- }
-
- /**
- * Load a NONE operator
- *
- * @return void
- */
- protected function _loadNone()
- {
- $this->_stack[] = null;
- }
-
- /**
- * Load a boolean TRUE operator
- *
- * @return void
- */
- protected function _loadNewTrue()
- {
- $this->_stack[] = true;
- }
-
- /**
- * Load a boolean FALSE operator
- *
- * @return void
- */
- protected function _loadNewFalse()
- {
- $this->_stack[] = false;
- }
-
- /**
- * Load an integer operator
- *
- * @return void
- */
- protected function _loadInt()
- {
- $line = $this->_readline();
- if ($line === '01') {
- $this->_stack[] = true;
- } elseif ($line === '00') {
- $this->_stack[] = false;
- } else {
- $this->_stack[] = (int)$line;
- }
- }
-
- /**
- * Load a binary integer operator
- *
- * @return void
- */
- protected function _loadBinInt()
- {
- $bin = $this->_read(4);
- if (self::$_isLittleEndian === false) {
- $bin = strrev($bin);
- }
- list(, $int) = unpack('l', $bin);
- $this->_stack[] = $int;
- }
-
- /**
- * Load the first byte of a binary integer
- *
- * @return void
- */
- protected function _loadBinInt1()
- {
- $this->_stack[] = ord($this->_read(1));
- }
-
- /**
- * Load the second byte of a binary integer
- *
- * @return void
- */
- protected function _loadBinInt2()
- {
- $bin = $this->_read(2);
- list(, $int) = unpack('v', $bin);
- $this->_stack[] = $int;
- }
-
- /**
- * Load a long (float) operator
- *
- * @return void
- */
- protected function _loadLong()
- {
- $data = rtrim($this->_readline(), 'L');
- if ($data === '') {
- $this->_stack[] = 0;
- } else {
- $this->_stack[] = $data;
- }
- }
-
- /**
- * Load a one byte long integer
- *
- * @return void
- */
- protected function _loadLong1()
- {
- $n = ord($this->_read(1));
- $data = $this->_read($n);
- $this->_stack[] = $this->_decodeBinLong($data);
- }
-
- /**
- * Load a 4 byte long integer
- *
- * @return void
- */
- protected function _loadLong4()
- {
- $nBin = $this->_read(4);
- if (self::$_isLittleEndian === false) {
- $nBin = strrev($$nBin);
- }
- list(, $n) = unpack('l', $nBin);
- $data = $this->_read($n);
-
- $this->_stack[] = $this->_decodeBinLong($data);
- }
-
- /**
- * Load a float value
- *
- * @return void
- */
- protected function _loadFloat()
- {
- $float = (float)$this->_readline();
- $this->_stack[] = $float;
- }
-
- /**
- * Load a binary float value
- *
- * @return void
- */
- protected function _loadBinFloat()
- {
- $bin = $this->_read(8);
- if (self::$_isLittleEndian === true) {
- $bin = strrev($bin);
- }
- list(, $float) = unpack('d', $bin);
- $this->_stack[] = $float;
- }
-
- /**
- * Load a string
- *
- * @return void
- */
- protected function _loadString()
- {
- $this->_stack[] = $this->_unquoteString((string)$this->_readline());
- }
-
- /**
- * Load a binary string
- *
- * @return void
- */
- protected function _loadBinString()
- {
- $bin = $this->_read(4);
- if (!self::$_isLittleEndian) {
- $bin = strrev($bin);
- }
- list(, $len) = unpack('l', $bin);
- $this->_stack[] = (string)$this->_read($len);
- }
-
- /**
- * Load a short binary string
- *
- * @return void
- */
- protected function _loadShortBinString()
- {
- $len = ord($this->_read(1));
- $this->_stack[] = (string)$this->_read($len);
- }
-
- /**
- * Load arbitrary binary bytes
- *
- * @return void
- */
- protected function _loadBinBytes()
- {
- // read byte length
- $nBin = $this->_read(4);
- if (self::$_isLittleEndian === false) {
- $nBin = strrev($$nBin);
- }
- list(, $n) = unpack('l', $nBin);
- $this->_stack[] = $this->_read($n);
- }
-
- /**
- * Load a single binary byte
- *
- * @return void
- */
- protected function _loadShortBinBytes()
- {
- $n = ord($this->_read(1));
- $this->_stack[] = $this->_read($n);
- }
-
- /**
- * Load a unicode string
- *
- * @return void
- */
- protected function _loadUnicode()
- {
- $data = $this->_readline();
- $pattern = '/\\\\u([a-fA-F0-9]{4})/u'; // \uXXXX
- $data = preg_replace_callback($pattern, array($this, '_convertMatchingUnicodeSequence2Utf8'), $data);
-
- if (self::$_isPhp6) {
- $data = unicode_decode($data, 'UTF-8');
- }
-
- $this->_stack[] = $data;
- }
-
- /**
- * Convert a unicode sequence to UTF-8
- *
- * @param array $match
- * @return string
- */
- protected function _convertMatchingUnicodeSequence2Utf8(array $match)
- {
- return $this->_hex2Utf8($match[1]);
- }
-
- /**
- * Convert a hex string to a UTF-8 string
- *
- * @param string $sequence
- * @return string
- * @throws Zend_Serializer_Exception on unmatched unicode sequence
- */
- protected function _hex2Utf8($hex)
- {
- $uniCode = hexdec($hex);
-
- if ($uniCode < 0x80) { // 1Byte
- $utf8Char = chr($uniCode);
-
- } elseif ($uniCode < 0x800) { // 2Byte
- $utf8Char = chr(0xC0 | $uniCode >> 6)
- . chr(0x80 | $uniCode & 0x3F);
-
- } elseif ($uniCode < 0x10000) { // 3Byte
- $utf8Char = chr(0xE0 | $uniCode >> 12)
- . chr(0x80 | $uniCode >> 6 & 0x3F)
- . chr(0x80 | $uniCode & 0x3F);
-
- } elseif ($uniCode < 0x110000) { // 4Byte
- $utf8Char = chr(0xF0 | $uniCode >> 18)
- . chr(0x80 | $uniCode >> 12 & 0x3F)
- . chr(0x80 | $uniCode >> 6 & 0x3F)
- . chr(0x80 | $uniCode & 0x3F);
- } else {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('Unsupported unicode character found "' . dechex($uniCode) . '"');
- }
-
- return $utf8Char;
- }
-
- /**
- * Load binary unicode sequence
- *
- * @return void
- */
- protected function _loadBinUnicode()
- {
- // read byte length
- $n = $this->_read(4);
- if (self::$_isLittleEndian === false) {
- $n = strrev($n);
- }
- list(, $n) = unpack('l', $n);
- $data = $this->_read($n);
-
- if (self::$_isPhp6) {
- $data = unicode_decode($data, 'UTF-8');
- }
-
- $this->_stack[] = $data;
- }
-
- /**
- * Load a marker sequence
- *
- * @return void
- */
- protected function _loadMark()
- {
- $this->_stack[] = $this->_marker;
- }
-
- /**
- * Load an array (list)
- *
- * @return void
- */
- protected function _loadList()
- {
- $k = $this->_lastMarker();
- $this->_stack[$k] = array();
-
- // remove all elements after marker
- $max = count($this->_stack);
- for ($i = $k+1, $max; $i < $max; $i++) {
- unset($this->_stack[$i]);
- }
- }
-
- /**
- * Load an append (to list) sequence
- *
- * @return void
- */
- protected function _loadAppend()
- {
- $value = array_pop($this->_stack);
- $list =& $this->_stack[count($this->_stack)-1];
- $list[] = $value;
- }
-
- /**
- * Load an empty list sequence
- *
- * @return void
- */
- protected function _loadEmptyList()
- {
- $this->_stack[] = array();
- }
-
- /**
- * Load multiple append (to list) sequences at once
- *
- * @return void
- */
- protected function _loadAppends()
- {
- $k = $this->_lastMarker();
- $list =& $this->_stack[$k - 1];
- $max = count($this->_stack);
- for ($i = $k + 1; $i < $max; $i++) {
- $list[] = $this->_stack[$i];
- unset($this->_stack[$i]);
- }
- unset($this->_stack[$k]);
- }
-
- /**
- * Load an associative array (Python dictionary)
- *
- * @return void
- */
- protected function _loadDict()
- {
- $k = $this->_lastMarker();
- $this->_stack[$k] = array();
-
- // remove all elements after marker
- $max = count($this->_stack);
- for($i = $k + 1; $i < $max; $i++) {
- unset($this->_stack[$i]);
- }
- }
-
- /**
- * Load an item from a set
- *
- * @return void
- */
- protected function _loadSetItem()
- {
- $value = array_pop($this->_stack);
- $key = array_pop($this->_stack);
- $dict =& $this->_stack[count($this->_stack) - 1];
- $dict[$key] = $value;
- }
-
- /**
- * Load an empty dictionary
- *
- * @return void
- */
- protected function _loadEmptyDict()
- {
- $this->_stack[] = array();
- }
-
- /**
- * Load set items
- *
- * @return void
- */
- protected function _loadSetItems()
- {
- $k = $this->_lastMarker();
- $dict =& $this->_stack[$k - 1];
- $max = count($this->_stack);
- for ($i = $k + 1; $i < $max; $i += 2) {
- $key = $this->_stack[$i];
- $value = $this->_stack[$i + 1];
- $dict[$key] = $value;
- unset($this->_stack[$i], $this->_stack[$i+1]);
- }
- unset($this->_stack[$k]);
- }
-
- /**
- * Load a tuple
- *
- * @return void
- */
- protected function _loadTuple()
- {
- $k = $this->_lastMarker();
- $this->_stack[$k] = array();
- $tuple =& $this->_stack[$k];
- $max = count($this->_stack);
- for($i = $k + 1; $i < $max; $i++) {
- $tuple[] = $this->_stack[$i];
- unset($this->_stack[$i]);
- }
- }
-
- /**
- * Load single item tuple
- *
- * @return void
- */
- protected function _loadTuple1()
- {
- $value1 = array_pop($this->_stack);
- $this->_stack[] = array($value1);
- }
-
- /**
- * Load two item tuple
- *
- * @return void
- */
- protected function _loadTuple2()
- {
- $value2 = array_pop($this->_stack);
- $value1 = array_pop($this->_stack);
- $this->_stack[] = array($value1, $value2);
- }
-
- /**
- * Load three item tuple
- *
- * @return void
- */
- protected function _loadTuple3() {
- $value3 = array_pop($this->_stack);
- $value2 = array_pop($this->_stack);
- $value1 = array_pop($this->_stack);
- $this->_stack[] = array($value1, $value2, $value3);
- }
-
- /**
- * Load a proto value
- *
- * @return void
- * @throws Zend_Serializer_Exception if Pickle version does not support this feature
- */
- protected function _loadProto()
- {
- $proto = ord($this->_read(1));
- if ($proto < 2 || $proto > 3) {
- require_once 'Zend/Serializer/Excception.php';
- throw new Zend_Serializer_Exception('Invalid protocol version detected');
- }
- $this->_protocol = $proto;
- }
-
- /* unserialize helper */
-
- /**
- * Read a segment of the pickle
- *
- * @param mixed $len
- * @return string
- * @throws Zend_Serializer_Exception if position matches end of data
- */
- protected function _read($len)
- {
- if (($this->_pos + $len) > $this->_pickleLen) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('End of data');
- }
-
- $this->_pos+= $len;
- return substr($this->_pickle, ($this->_pos - $len), $len);
- }
-
- /**
- * Read a line of the pickle at once
- *
- * @return string
- * @throws Zend_Serializer_Exception if no EOL character found
- */
- protected function _readline()
- {
- $eolLen = 2;
- $eolPos = strpos($this->_pickle, "\r\n", $this->_pos);
- if ($eolPos === false) {
- $eolPos = strpos($this->_pickle, "\n", $this->_pos);
- $eolLen = 1;
- }
-
- if ($eolPos === false) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('No new line found');
- }
- $ret = substr($this->_pickle, $this->_pos, $eolPos-$this->_pos);
- $this->_pos = $eolPos + $eolLen;
-
- return $ret;
- }
-
- /**
- * Unquote/Unescape a quoted string
- *
- * @param string $str quoted string
- * @return string unquoted string
- */
- protected function _unquoteString($str)
- {
- $quoteArr = array_flip(self::$_quoteString);
-
- if ($str[0] == '"') {
- $quoteArr['\\"'] = '"';
- } else {
- $quoteArr["\\'"] = "'";
- }
-
- return strtr(substr(trim($str), 1, -1), $quoteArr);
- }
-
- /**
- * Return last marker position in stack
- *
- * @return int
- */
- protected function _lastMarker()
- {
- for ($k = count($this->_stack)-1; $k >= 0; $k -= 1) {
- if ($this->_stack[$k] === $this->_marker) {
- break;
- }
- }
- return $k;
- }
-
- /**
- * Decode a binary long sequence
- *
- * @param string $data
- * @return int|float|string
- */
- protected function _decodeBinLong($data)
- {
- $nbytes = strlen($data);
-
- if ($nbytes == 0) {
- return 0;
- }
-
- $long = 0;
-
- if ($nbytes > 7) {
- if (!extension_loaded('bcmath')) {
- return INF;
- }
-
- for ($i=0; $i<$nbytes; $i++) {
- $long = bcadd($long, bcmul(ord($data[$i]), bcpow(256, $i, 0)));
- }
- if (0x80 <= ord($data[$nbytes-1])) {
- $long = bcsub($long, bcpow(2, $nbytes * 8));
- }
-
- } else {
- for ($i=0; $i<$nbytes; $i++) {
- $long+= ord($data[$i]) * pow(256, $i);
- }
- if (0x80 <= ord($data[$nbytes-1])) {
- $long-= pow(2, $nbytes * 8);
- // $long-= 1 << ($nbytes * 8);
- }
- }
-
- return $long;
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Adapter/Wddx.php b/airtime_mvc/library/Zend/Serializer/Adapter/Wddx.php
deleted file mode 100644
index bd60dc4b1..000000000
--- a/airtime_mvc/library/Zend/Serializer/Adapter/Wddx.php
+++ /dev/null
@@ -1,118 +0,0 @@
- null,
- );
-
- /**
- * Constructor
- *
- * @param array $opts
- * @return void
- * @throws Zend_Serializer_Exception if wddx extension not found
- */
- public function __construct($opts = array())
- {
- if (!extension_loaded('wddx')) {
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception('PHP extension "wddx" is required for this adapter');
- }
-
- parent::__construct($opts);
- }
-
- /**
- * Serialize PHP to WDDX
- *
- * @param mixed $value
- * @param array $opts
- * @return string
- * @throws Zend_Serializer_Exception on wddx error
- */
- public function serialize($value, array $opts = array())
- {
- $opts = $opts + $this->_options;
-
- if (isset($opts['comment']) && $opts['comment']) {
- $wddx = wddx_serialize_value($value, (string)$opts['comment']);
- } else {
- $wddx = wddx_serialize_value($value);
- }
-
- if ($wddx === false) {
- $lastErr = error_get_last();
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception($lastErr['message']);
- }
- return $wddx;
- }
-
- /**
- * Unserialize from WDDX to PHP
- *
- * @param string $wddx
- * @param array $opts
- * @return mixed
- * @throws Zend_Serializer_Exception on wddx error
- */
- public function unserialize($wddx, array $opts = array())
- {
- $ret = wddx_deserialize($wddx);
-
- if ($ret === null) {
- // check if the returned NULL is valid
- // or based on an invalid wddx string
- try {
- $simpleXml = new SimpleXMLElement($wddx);
- if (isset($simpleXml->data[0]->null[0])) {
- return null; // valid null
- }
- $errMsg = 'Can\'t unserialize wddx string';
- } catch (Exception $e) {
- $errMsg = $e->getMessage();
- }
-
- require_once 'Zend/Serializer/Exception.php';
- throw new Zend_Serializer_Exception($errMsg);
- }
-
- return $ret;
- }
-}
diff --git a/airtime_mvc/library/Zend/Serializer/Exception.php b/airtime_mvc/library/Zend/Serializer/Exception.php
deleted file mode 100644
index eb00929f0..000000000
--- a/airtime_mvc/library/Zend/Serializer/Exception.php
+++ /dev/null
@@ -1,33 +0,0 @@
-_table = new Zend_Server_Definition();
- $this->_table->setOverwriteExistingMethods($this->_overwriteExistingMethods);
- }
-
- /**
- * Returns a list of registered methods
- *
- * Returns an array of method definitions.
- *
- * @return Zend_Server_Definition
- */
- public function getFunctions()
- {
- return $this->_table;
- }
-
- /**
- * Lowercase a string
- *
- * Lowercase's a string by reference
- *
- * @deprecated
- * @param string $string value
- * @param string $key
- * @return string Lower cased string
- */
- public static function lowerCase(&$value, &$key)
- {
- trigger_error(__CLASS__ . '::' . __METHOD__ . '() is deprecated and will be removed in a future version', E_USER_NOTICE);
- return $value = strtolower($value);
- }
-
- /**
- * Build callback for method signature
- *
- * @param Zend_Server_Reflection_Function_Abstract $reflection
- * @return Zend_Server_Method_Callback
- */
- protected function _buildCallback(Zend_Server_Reflection_Function_Abstract $reflection)
- {
- $callback = new Zend_Server_Method_Callback();
- if ($reflection instanceof Zend_Server_Reflection_Method) {
- $callback->setType($reflection->isStatic() ? 'static' : 'instance')
- ->setClass($reflection->getDeclaringClass()->getName())
- ->setMethod($reflection->getName());
- } elseif ($reflection instanceof Zend_Server_Reflection_Function) {
- $callback->setType('function')
- ->setFunction($reflection->getName());
- }
- return $callback;
- }
-
- /**
- * Build a method signature
- *
- * @param Zend_Server_Reflection_Function_Abstract $reflection
- * @param null|string|object $class
- * @return Zend_Server_Method_Definition
- * @throws Zend_Server_Exception on duplicate entry
- */
- protected function _buildSignature(Zend_Server_Reflection_Function_Abstract $reflection, $class = null)
- {
- $ns = $reflection->getNamespace();
- $name = $reflection->getName();
- $method = empty($ns) ? $name : $ns . '.' . $name;
-
- if (!$this->_overwriteExistingMethods && $this->_table->hasMethod($method)) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Duplicate method registered: ' . $method);
- }
-
- $definition = new Zend_Server_Method_Definition();
- $definition->setName($method)
- ->setCallback($this->_buildCallback($reflection))
- ->setMethodHelp($reflection->getDescription())
- ->setInvokeArguments($reflection->getInvokeArguments());
-
- foreach ($reflection->getPrototypes() as $proto) {
- $prototype = new Zend_Server_Method_Prototype();
- $prototype->setReturnType($this->_fixType($proto->getReturnType()));
- foreach ($proto->getParameters() as $parameter) {
- $param = new Zend_Server_Method_Parameter(array(
- 'type' => $this->_fixType($parameter->getType()),
- 'name' => $parameter->getName(),
- 'optional' => $parameter->isOptional(),
- ));
- if ($parameter->isDefaultValueAvailable()) {
- $param->setDefaultValue($parameter->getDefaultValue());
- }
- $prototype->addParameter($param);
- }
- $definition->addPrototype($prototype);
- }
- if (is_object($class)) {
- $definition->setObject($class);
- }
- $this->_table->addMethod($definition);
- return $definition;
- }
-
- /**
- * Dispatch method
- *
- * @param Zend_Server_Method_Definition $invocable
- * @param array $params
- * @return mixed
- */
- protected function _dispatch(Zend_Server_Method_Definition $invocable, array $params)
- {
- $callback = $invocable->getCallback();
- $type = $callback->getType();
-
- if ('function' == $type) {
- $function = $callback->getFunction();
- return call_user_func_array($function, $params);
- }
-
- $class = $callback->getClass();
- $method = $callback->getMethod();
-
- if ('static' == $type) {
- return call_user_func_array(array($class, $method), $params);
- }
-
- $object = $invocable->getObject();
- if (!is_object($object)) {
- $invokeArgs = $invocable->getInvokeArguments();
- if (!empty($invokeArgs)) {
- $reflection = new ReflectionClass($class);
- $object = $reflection->newInstanceArgs($invokeArgs);
- } else {
- $object = new $class;
- }
- }
- return call_user_func_array(array($object, $method), $params);
- }
-
- /**
- * Map PHP type to protocol type
- *
- * @param string $type
- * @return string
- */
- abstract protected function _fixType($type);
-}
diff --git a/airtime_mvc/library/Zend/Server/Cache.php b/airtime_mvc/library/Zend/Server/Cache.php
deleted file mode 100644
index aa8863be5..000000000
--- a/airtime_mvc/library/Zend/Server/Cache.php
+++ /dev/null
@@ -1,147 +0,0 @@
-getFunctions();
-
- if ($methods instanceof Zend_Server_Definition) {
- $definition = new Zend_Server_Definition();
- foreach ($methods as $method) {
- if (in_array($method->getName(), self::$_skipMethods)) {
- continue;
- }
- $definition->addMethod($method);
- }
- $methods = $definition;
- }
-
- if (0 === @file_put_contents($filename, serialize($methods))) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Load server definition from a file
- *
- * Unserializes a stored server definition from $filename. Returns false if
- * it fails in any way, true on success.
- *
- * Useful to prevent needing to build the server definition on each
- * request. Sample usage:
- *
- *
- * if (!Zend_Server_Cache::get($filename, $server)) {
- * require_once 'Some/Service/Class.php';
- * require_once 'Another/Service/Class.php';
- *
- * // Attach Some_Service_Class with namespace 'some'
- * $server->attach('Some_Service_Class', 'some');
- *
- * // Attach Another_Service_Class with namespace 'another'
- * $server->attach('Another_Service_Class', 'another');
- *
- * Zend_Server_Cache::save($filename, $server);
- * }
- *
- * $response = $server->handle();
- * echo $response;
- *
- *
- * @param string $filename
- * @param Zend_Server_Interface $server
- * @return bool
- */
- public static function get($filename, Zend_Server_Interface $server)
- {
- if (!is_string($filename)
- || !file_exists($filename)
- || !is_readable($filename))
- {
- return false;
- }
-
-
- if (false === ($dispatch = @file_get_contents($filename))) {
- return false;
- }
-
- if (false === ($dispatchArray = @unserialize($dispatch))) {
- return false;
- }
-
- $server->loadFunctions($dispatchArray);
-
- return true;
- }
-
- /**
- * Remove a cache file
- *
- * @param string $filename
- * @return boolean
- */
- public static function delete($filename)
- {
- if (is_string($filename) && file_exists($filename)) {
- unlink($filename);
- return true;
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Definition.php b/airtime_mvc/library/Zend/Server/Definition.php
deleted file mode 100644
index d29da7d2d..000000000
--- a/airtime_mvc/library/Zend/Server/Definition.php
+++ /dev/null
@@ -1,267 +0,0 @@
-setMethods($methods);
- }
- }
-
- /**
- * Set flag indicating whether or not overwriting existing methods is allowed
- *
- * @param mixed $flag
- * @return void
- */
- public function setOverwriteExistingMethods($flag)
- {
- $this->_overwriteExistingMethods = (bool) $flag;
- return $this;
- }
-
- /**
- * Add method to definition
- *
- * @param array|Zend_Server_Method_Definition $method
- * @param null|string $name
- * @return Zend_Server_Definition
- * @throws Zend_Server_Exception if duplicate or invalid method provided
- */
- public function addMethod($method, $name = null)
- {
- if (is_array($method)) {
- require_once 'Zend/Server/Method/Definition.php';
- $method = new Zend_Server_Method_Definition($method);
- } elseif (!$method instanceof Zend_Server_Method_Definition) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Invalid method provided');
- }
-
- if (is_numeric($name)) {
- $name = null;
- }
- if (null !== $name) {
- $method->setName($name);
- } else {
- $name = $method->getName();
- }
- if (null === $name) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('No method name provided');
- }
-
- if (!$this->_overwriteExistingMethods && array_key_exists($name, $this->_methods)) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception(sprintf('Method by name of "%s" already exists', $name));
- }
- $this->_methods[$name] = $method;
- return $this;
- }
-
- /**
- * Add multiple methods
- *
- * @param array $methods Array of Zend_Server_Method_Definition objects or arrays
- * @return Zend_Server_Definition
- */
- public function addMethods(array $methods)
- {
- foreach ($methods as $key => $method) {
- $this->addMethod($method, $key);
- }
- return $this;
- }
-
- /**
- * Set all methods at once (overwrite)
- *
- * @param array $methods Array of Zend_Server_Method_Definition objects or arrays
- * @return Zend_Server_Definition
- */
- public function setMethods(array $methods)
- {
- $this->clearMethods();
- $this->addMethods($methods);
- return $this;
- }
-
- /**
- * Does the definition have the given method?
- *
- * @param string $method
- * @return bool
- */
- public function hasMethod($method)
- {
- return array_key_exists($method, $this->_methods);
- }
-
- /**
- * Get a given method definition
- *
- * @param string $method
- * @return null|Zend_Server_Method_Definition
- */
- public function getMethod($method)
- {
- if ($this->hasMethod($method)) {
- return $this->_methods[$method];
- }
- return false;
- }
-
- /**
- * Get all method definitions
- *
- * @return array Array of Zend_Server_Method_Definition objects
- */
- public function getMethods()
- {
- return $this->_methods;
- }
-
- /**
- * Remove a method definition
- *
- * @param string $method
- * @return Zend_Server_Definition
- */
- public function removeMethod($method)
- {
- if ($this->hasMethod($method)) {
- unset($this->_methods[$method]);
- }
- return $this;
- }
-
- /**
- * Clear all method definitions
- *
- * @return Zend_Server_Definition
- */
- public function clearMethods()
- {
- $this->_methods = array();
- return $this;
- }
-
- /**
- * Cast definition to an array
- *
- * @return array
- */
- public function toArray()
- {
- $methods = array();
- foreach ($this->getMethods() as $key => $method) {
- $methods[$key] = $method->toArray();
- }
- return $methods;
- }
-
- /**
- * Countable: count of methods
- *
- * @return int
- */
- public function count()
- {
- return count($this->_methods);
- }
-
- /**
- * Iterator: current item
- *
- * @return mixed
- */
- public function current()
- {
- return current($this->_methods);
- }
-
- /**
- * Iterator: current item key
- *
- * @return int|string
- */
- public function key()
- {
- return key($this->_methods);
- }
-
- /**
- * Iterator: advance to next method
- *
- * @return void
- */
- public function next()
- {
- return next($this->_methods);
- }
-
- /**
- * Iterator: return to first method
- *
- * @return void
- */
- public function rewind()
- {
- return reset($this->_methods);
- }
-
- /**
- * Iterator: is the current index valid?
- *
- * @return bool
- */
- public function valid()
- {
- return (bool) $this->current();
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Exception.php b/airtime_mvc/library/Zend/Server/Exception.php
deleted file mode 100644
index af148e7e0..000000000
--- a/airtime_mvc/library/Zend/Server/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
-setOptions($options);
- }
- }
-
- /**
- * Set object state from array of options
- *
- * @param array $options
- * @return Zend_Server_Method_Callback
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
- return $this;
- }
-
- /**
- * Set callback class
- *
- * @param string $class
- * @return Zend_Server_Method_Callback
- */
- public function setClass($class)
- {
- if (is_object($class)) {
- $class = get_class($class);
- }
- $this->_class = $class;
- return $this;
- }
-
- /**
- * Get callback class
- *
- * @return string|null
- */
- public function getClass()
- {
- return $this->_class;
- }
-
- /**
- * Set callback function
- *
- * @param string $function
- * @return Zend_Server_Method_Callback
- */
- public function setFunction($function)
- {
- $this->_function = (string) $function;
- $this->setType('function');
- return $this;
- }
-
- /**
- * Get callback function
- *
- * @return null|string
- */
- public function getFunction()
- {
- return $this->_function;
- }
-
- /**
- * Set callback class method
- *
- * @param string $method
- * @return Zend_Server_Method_Callback
- */
- public function setMethod($method)
- {
- $this->_method = $method;
- return $this;
- }
-
- /**
- * Get callback class method
- *
- * @return null|string
- */
- public function getMethod()
- {
- return $this->_method;
- }
-
- /**
- * Set callback type
- *
- * @param string $type
- * @return Zend_Server_Method_Callback
- * @throws Zend_Server_Exception
- */
- public function setType($type)
- {
- if (!in_array($type, $this->_types)) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Invalid method callback type passed to ' . __CLASS__ . '::' . __METHOD__);
- }
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Get callback type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Cast callback to array
- *
- * @return array
- */
- public function toArray()
- {
- $type = $this->getType();
- $array = array(
- 'type' => $type,
- );
- if ('function' == $type) {
- $array['function'] = $this->getFunction();
- } else {
- $array['class'] = $this->getClass();
- $array['method'] = $this->getMethod();
- }
- return $array;
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Method/Definition.php b/airtime_mvc/library/Zend/Server/Method/Definition.php
deleted file mode 100644
index a0d53188e..000000000
--- a/airtime_mvc/library/Zend/Server/Method/Definition.php
+++ /dev/null
@@ -1,293 +0,0 @@
-setOptions($options);
- }
- }
-
- /**
- * Set object state from options
- *
- * @param array $options
- * @return Zend_Server_Method_Definition
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
- return $this;
- }
-
- /**
- * Set method name
- *
- * @param string $name
- * @return Zend_Server_Method_Definition
- */
- public function setName($name)
- {
- $this->_name = (string) $name;
- return $this;
- }
-
- /**
- * Get method name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Set method callback
- *
- * @param array|Zend_Server_Method_Callback $callback
- * @return Zend_Server_Method_Definition
- */
- public function setCallback($callback)
- {
- if (is_array($callback)) {
- require_once 'Zend/Server/Method/Callback.php';
- $callback = new Zend_Server_Method_Callback($callback);
- } elseif (!$callback instanceof Zend_Server_Method_Callback) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Invalid method callback provided');
- }
- $this->_callback = $callback;
- return $this;
- }
-
- /**
- * Get method callback
- *
- * @return Zend_Server_Method_Callback
- */
- public function getCallback()
- {
- return $this->_callback;
- }
-
- /**
- * Add prototype to method definition
- *
- * @param array|Zend_Server_Method_Prototype $prototype
- * @return Zend_Server_Method_Definition
- */
- public function addPrototype($prototype)
- {
- if (is_array($prototype)) {
- require_once 'Zend/Server/Method/Prototype.php';
- $prototype = new Zend_Server_Method_Prototype($prototype);
- } elseif (!$prototype instanceof Zend_Server_Method_Prototype) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Invalid method prototype provided');
- }
- $this->_prototypes[] = $prototype;
- return $this;
- }
-
- /**
- * Add multiple prototypes at once
- *
- * @param array $prototypes Array of Zend_Server_Method_Prototype objects or arrays
- * @return Zend_Server_Method_Definition
- */
- public function addPrototypes(array $prototypes)
- {
- foreach ($prototypes as $prototype) {
- $this->addPrototype($prototype);
- }
- return $this;
- }
-
- /**
- * Set all prototypes at once (overwrites)
- *
- * @param array $prototypes Array of Zend_Server_Method_Prototype objects or arrays
- * @return Zend_Server_Method_Definition
- */
- public function setPrototypes(array $prototypes)
- {
- $this->_prototypes = array();
- $this->addPrototypes($prototypes);
- return $this;
- }
-
- /**
- * Get all prototypes
- *
- * @return array $prototypes Array of Zend_Server_Method_Prototype objects or arrays
- */
- public function getPrototypes()
- {
- return $this->_prototypes;
- }
-
- /**
- * Set method help
- *
- * @param string $methodHelp
- * @return Zend_Server_Method_Definition
- */
- public function setMethodHelp($methodHelp)
- {
- $this->_methodHelp = (string) $methodHelp;
- return $this;
- }
-
- /**
- * Get method help
- *
- * @return string
- */
- public function getMethodHelp()
- {
- return $this->_methodHelp;
- }
-
- /**
- * Set object to use with method calls
- *
- * @param object $object
- * @return Zend_Server_Method_Definition
- */
- public function setObject($object)
- {
- if (!is_object($object) && (null !== $object)) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Invalid object passed to ' . __CLASS__ . '::' . __METHOD__);
- }
- $this->_object = $object;
- return $this;
- }
-
- /**
- * Get object to use with method calls
- *
- * @return null|object
- */
- public function getObject()
- {
- return $this->_object;
- }
-
- /**
- * Set invoke arguments
- *
- * @param array $invokeArguments
- * @return Zend_Server_Method_Definition
- */
- public function setInvokeArguments(array $invokeArguments)
- {
- $this->_invokeArguments = $invokeArguments;
- return $this;
- }
-
- /**
- * Retrieve invoke arguments
- *
- * @return array
- */
- public function getInvokeArguments()
- {
- return $this->_invokeArguments;
- }
-
- /**
- * Serialize to array
- *
- * @return array
- */
- public function toArray()
- {
- $prototypes = $this->getPrototypes();
- $signatures = array();
- foreach ($prototypes as $prototype) {
- $signatures[] = $prototype->toArray();
- }
-
- return array(
- 'name' => $this->getName(),
- 'callback' => $this->getCallback()->toArray(),
- 'prototypes' => $signatures,
- 'methodHelp' => $this->getMethodHelp(),
- 'invokeArguments' => $this->getInvokeArguments(),
- 'object' => $this->getObject(),
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Method/Parameter.php b/airtime_mvc/library/Zend/Server/Method/Parameter.php
deleted file mode 100644
index 6163b0bc0..000000000
--- a/airtime_mvc/library/Zend/Server/Method/Parameter.php
+++ /dev/null
@@ -1,214 +0,0 @@
-setOptions($options);
- }
- }
-
- /**
- * Set object state from array of options
- *
- * @param array $options
- * @return Zend_Server_Method_Parameter
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
- return $this;
- }
-
- /**
- * Set default value
- *
- * @param mixed $defaultValue
- * @return Zend_Server_Method_Parameter
- */
- public function setDefaultValue($defaultValue)
- {
- $this->_defaultValue = $defaultValue;
- return $this;
- }
-
- /**
- * Retrieve default value
- *
- * @return mixed
- */
- public function getDefaultValue()
- {
- return $this->_defaultValue;
- }
-
- /**
- * Set description
- *
- * @param string $description
- * @return Zend_Server_Method_Parameter
- */
- public function setDescription($description)
- {
- $this->_description = (string) $description;
- return $this;
- }
-
- /**
- * Retrieve description
- *
- * @return string
- */
- public function getDescription()
- {
- return $this->_description;
- }
-
- /**
- * Set name
- *
- * @param string $name
- * @return Zend_Server_Method_Parameter
- */
- public function setName($name)
- {
- $this->_name = (string) $name;
- return $this;
- }
-
- /**
- * Retrieve name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Set optional flag
- *
- * @param bool $flag
- * @return Zend_Server_Method_Parameter
- */
- public function setOptional($flag)
- {
- $this->_optional = (bool) $flag;
- return $this;
- }
-
- /**
- * Is the parameter optional?
- *
- * @return bool
- */
- public function isOptional()
- {
- return $this->_optional;
- }
-
- /**
- * Set parameter type
- *
- * @param string $type
- * @return Zend_Server_Method_Parameter
- */
- public function setType($type)
- {
- $this->_type = (string) $type;
- return $this;
- }
-
- /**
- * Retrieve parameter type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Cast to array
- *
- * @return array
- */
- public function toArray()
- {
- return array(
- 'type' => $this->getType(),
- 'name' => $this->getName(),
- 'optional' => $this->isOptional(),
- 'defaultValue' => $this->getDefaultValue(),
- 'description' => $this->getDescription(),
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Method/Prototype.php b/airtime_mvc/library/Zend/Server/Method/Prototype.php
deleted file mode 100644
index 352ae69e6..000000000
--- a/airtime_mvc/library/Zend/Server/Method/Prototype.php
+++ /dev/null
@@ -1,208 +0,0 @@
-setOptions($options);
- }
- }
-
- /**
- * Set return value
- *
- * @param string $returnType
- * @return Zend_Server_Method_Prototype
- */
- public function setReturnType($returnType)
- {
- $this->_returnType = $returnType;
- return $this;
- }
-
- /**
- * Retrieve return type
- *
- * @return string
- */
- public function getReturnType()
- {
- return $this->_returnType;
- }
-
- /**
- * Add a parameter
- *
- * @param string $parameter
- * @return Zend_Server_Method_Prototype
- */
- public function addParameter($parameter)
- {
- if ($parameter instanceof Zend_Server_Method_Parameter) {
- $this->_parameters[] = $parameter;
- if (null !== ($name = $parameter->getName())) {
- $this->_parameterNameMap[$name] = count($this->_parameters) - 1;
- }
- } else {
- require_once 'Zend/Server/Method/Parameter.php';
- $parameter = new Zend_Server_Method_Parameter(array(
- 'type' => (string) $parameter,
- ));
- $this->_parameters[] = $parameter;
- }
- return $this;
- }
-
- /**
- * Add parameters
- *
- * @param array $parameter
- * @return Zend_Server_Method_Prototype
- */
- public function addParameters(array $parameters)
- {
- foreach ($parameters as $parameter) {
- $this->addParameter($parameter);
- }
- return $this;
- }
-
- /**
- * Set parameters
- *
- * @param array $parameters
- * @return Zend_Server_Method_Prototype
- */
- public function setParameters(array $parameters)
- {
- $this->_parameters = array();
- $this->_parameterNameMap = array();
- $this->addParameters($parameters);
- return $this;
- }
-
- /**
- * Retrieve parameters as list of types
- *
- * @return array
- */
- public function getParameters()
- {
- $types = array();
- foreach ($this->_parameters as $parameter) {
- $types[] = $parameter->getType();
- }
- return $types;
- }
-
- /**
- * Get parameter objects
- *
- * @return array
- */
- public function getParameterObjects()
- {
- return $this->_parameters;
- }
-
- /**
- * Retrieve a single parameter by name or index
- *
- * @param string|int $index
- * @return null|Zend_Server_Method_Parameter
- */
- public function getParameter($index)
- {
- if (!is_string($index) && !is_numeric($index)) {
- return null;
- }
- if (array_key_exists($index, $this->_parameterNameMap)) {
- $index = $this->_parameterNameMap[$index];
- }
- if (array_key_exists($index, $this->_parameters)) {
- return $this->_parameters[$index];
- }
- return null;
- }
-
- /**
- * Set object state from array
- *
- * @param array $options
- * @return Zend_Server_Method_Prototype
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
- return $this;
- }
-
- /**
- * Serialize to array
- *
- * @return array
- */
- public function toArray()
- {
- return array(
- 'returnType' => $this->getReturnType(),
- 'parameters' => $this->getParameters(),
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection.php b/airtime_mvc/library/Zend/Server/Reflection.php
deleted file mode 100644
index edb5acf6a..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection.php
+++ /dev/null
@@ -1,111 +0,0 @@
-_reflection = $reflection;
- $this->setNamespace($namespace);
-
- foreach ($reflection->getMethods() as $method) {
- // Don't aggregate magic methods
- if ('__' == substr($method->getName(), 0, 2)) {
- continue;
- }
-
- if ($method->isPublic()) {
- // Get signatures and description
- $this->_methods[] = new Zend_Server_Reflection_Method($this, $method, $this->getNamespace(), $argv);
- }
- }
- }
-
- /**
- * Proxy reflection calls
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- if (method_exists($this->_reflection, $method)) {
- return call_user_func_array(array($this->_reflection, $method), $args);
- }
-
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid reflection method');
- }
-
- /**
- * Retrieve configuration parameters
- *
- * Values are retrieved by key from {@link $_config}. Returns null if no
- * value found.
- *
- * @param string $key
- * @return mixed
- */
- public function __get($key)
- {
- if (isset($this->_config[$key])) {
- return $this->_config[$key];
- }
-
- return null;
- }
-
- /**
- * Set configuration parameters
- *
- * Values are stored by $key in {@link $_config}.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- */
- public function __set($key, $value)
- {
- $this->_config[$key] = $value;
- }
-
- /**
- * Return array of dispatchable {@link Zend_Server_Reflection_Method}s.
- *
- * @access public
- * @return array
- */
- public function getMethods()
- {
- return $this->_methods;
- }
-
- /**
- * Get namespace for this class
- *
- * @return string
- */
- public function getNamespace()
- {
- return $this->_namespace;
- }
-
- /**
- * Set namespace for this class
- *
- * @param string $namespace
- * @return void
- */
- public function setNamespace($namespace)
- {
- if (empty($namespace)) {
- $this->_namespace = '';
- return;
- }
-
- if (!is_string($namespace) || !preg_match('/[a-z0-9_\.]+/i', $namespace)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid namespace');
- }
-
- $this->_namespace = $namespace;
- }
-
- /**
- * Wakeup from serialization
- *
- * Reflection needs explicit instantiation to work correctly. Re-instantiate
- * reflection object on wakeup.
- *
- * @return void
- */
- public function __wakeup()
- {
- $this->_reflection = new ReflectionClass($this->getName());
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection/Exception.php b/airtime_mvc/library/Zend/Server/Reflection/Exception.php
deleted file mode 100644
index 1b938cd5d..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_reflection = $r;
-
- // Determine namespace
- if (null !== $namespace){
- $this->setNamespace($namespace);
- }
-
- // Determine arguments
- if (is_array($argv)) {
- $this->_argv = $argv;
- }
-
- // If method call, need to store some info on the class
- if ($r instanceof ReflectionMethod) {
- $this->_class = $r->getDeclaringClass()->getName();
- }
-
- // Perform some introspection
- $this->_reflect();
- }
-
- /**
- * Create signature node tree
- *
- * Recursive method to build the signature node tree. Increments through
- * each array in {@link $_sigParams}, adding every value of the next level
- * to the current value (unless the current value is null).
- *
- * @param Zend_Server_Reflection_Node $parent
- * @param int $level
- * @return void
- */
- protected function _addTree(Zend_Server_Reflection_Node $parent, $level = 0)
- {
- if ($level >= $this->_sigParamsDepth) {
- return;
- }
-
- foreach ($this->_sigParams[$level] as $value) {
- $node = new Zend_Server_Reflection_Node($value, $parent);
- if ((null !== $value) && ($this->_sigParamsDepth > $level + 1)) {
- $this->_addTree($node, $level + 1);
- }
- }
- }
-
- /**
- * Build the signature tree
- *
- * Builds a signature tree starting at the return values and descending
- * through each method argument. Returns an array of
- * {@link Zend_Server_Reflection_Node}s.
- *
- * @return array
- */
- protected function _buildTree()
- {
- $returnTree = array();
- foreach ((array) $this->_return as $value) {
- $node = new Zend_Server_Reflection_Node($value);
- $this->_addTree($node);
- $returnTree[] = $node;
- }
-
- return $returnTree;
- }
-
- /**
- * Build method signatures
- *
- * Builds method signatures using the array of return types and the array of
- * parameters types
- *
- * @param array $return Array of return types
- * @param string $returnDesc Return value description
- * @param array $params Array of arguments (each an array of types)
- * @param array $paramDesc Array of parameter descriptions
- * @return array
- */
- protected function _buildSignatures($return, $returnDesc, $paramTypes, $paramDesc)
- {
- $this->_return = $return;
- $this->_returnDesc = $returnDesc;
- $this->_paramDesc = $paramDesc;
- $this->_sigParams = $paramTypes;
- $this->_sigParamsDepth = count($paramTypes);
- $signatureTrees = $this->_buildTree();
- $signatures = array();
-
- $endPoints = array();
- foreach ($signatureTrees as $root) {
- $tmp = $root->getEndPoints();
- if (empty($tmp)) {
- $endPoints = array_merge($endPoints, array($root));
- } else {
- $endPoints = array_merge($endPoints, $tmp);
- }
- }
-
- foreach ($endPoints as $node) {
- if (!$node instanceof Zend_Server_Reflection_Node) {
- continue;
- }
-
- $signature = array();
- do {
- array_unshift($signature, $node->getValue());
- $node = $node->getParent();
- } while ($node instanceof Zend_Server_Reflection_Node);
-
- $signatures[] = $signature;
- }
-
- // Build prototypes
- $params = $this->_reflection->getParameters();
- foreach ($signatures as $signature) {
- $return = new Zend_Server_Reflection_ReturnValue(array_shift($signature), $this->_returnDesc);
- $tmp = array();
- foreach ($signature as $key => $type) {
- $param = new Zend_Server_Reflection_Parameter($params[$key], $type, (isset($this->_paramDesc[$key]) ? $this->_paramDesc[$key] : null));
- $param->setPosition($key);
- $tmp[] = $param;
- }
-
- $this->_prototypes[] = new Zend_Server_Reflection_Prototype($return, $tmp);
- }
- }
-
- /**
- * Use code reflection to create method signatures
- *
- * Determines the method help/description text from the function DocBlock
- * comment. Determines method signatures using a combination of
- * ReflectionFunction and parsing of DocBlock @param and @return values.
- *
- * @param ReflectionFunction $function
- * @return array
- */
- protected function _reflect()
- {
- $function = $this->_reflection;
- $helpText = '';
- $signatures = array();
- $returnDesc = '';
- $paramCount = $function->getNumberOfParameters();
- $paramCountRequired = $function->getNumberOfRequiredParameters();
- $parameters = $function->getParameters();
- $docBlock = $function->getDocComment();
-
- if (!empty($docBlock)) {
- // Get help text
- if (preg_match(':/\*\*\s*\r?\n\s*\*\s(.*?)\r?\n\s*\*(\s@|/):s', $docBlock, $matches))
- {
- $helpText = $matches[1];
- $helpText = preg_replace('/(^\s*\*\s)/m', '', $helpText);
- $helpText = preg_replace('/\r?\n\s*\*\s*(\r?\n)*/s', "\n", $helpText);
- $helpText = trim($helpText);
- }
-
- // Get return type(s) and description
- $return = 'void';
- if (preg_match('/@return\s+(\S+)/', $docBlock, $matches)) {
- $return = explode('|', $matches[1]);
- if (preg_match('/@return\s+\S+\s+(.*?)(@|\*\/)/s', $docBlock, $matches))
- {
- $value = $matches[1];
- $value = preg_replace('/\s?\*\s/m', '', $value);
- $value = preg_replace('/\s{2,}/', ' ', $value);
- $returnDesc = trim($value);
- }
- }
-
- // Get param types and description
- if (preg_match_all('/@param\s+([^\s]+)/m', $docBlock, $matches)) {
- $paramTypesTmp = $matches[1];
- if (preg_match_all('/@param\s+\S+\s+(\$\S+)\s+(.*?)(@|\*\/)/s', $docBlock, $matches))
- {
- $paramDesc = $matches[2];
- foreach ($paramDesc as $key => $value) {
- $value = preg_replace('/\s?\*\s/m', '', $value);
- $value = preg_replace('/\s{2,}/', ' ', $value);
- $paramDesc[$key] = trim($value);
- }
- }
- }
- } else {
- $helpText = $function->getName();
- $return = 'void';
- }
-
- // Set method description
- $this->setDescription($helpText);
-
- // Get all param types as arrays
- if (!isset($paramTypesTmp) && (0 < $paramCount)) {
- $paramTypesTmp = array_fill(0, $paramCount, 'mixed');
- } elseif (!isset($paramTypesTmp)) {
- $paramTypesTmp = array();
- } elseif (count($paramTypesTmp) < $paramCount) {
- $start = $paramCount - count($paramTypesTmp);
- for ($i = $start; $i < $paramCount; ++$i) {
- $paramTypesTmp[$i] = 'mixed';
- }
- }
-
- // Get all param descriptions as arrays
- if (!isset($paramDesc) && (0 < $paramCount)) {
- $paramDesc = array_fill(0, $paramCount, '');
- } elseif (!isset($paramDesc)) {
- $paramDesc = array();
- } elseif (count($paramDesc) < $paramCount) {
- $start = $paramCount - count($paramDesc);
- for ($i = $start; $i < $paramCount; ++$i) {
- $paramDesc[$i] = '';
- }
- }
-
- if (count($paramTypesTmp) != $paramCount) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception(
- 'Variable number of arguments is not supported for services (except optional parameters). '
- . 'Number of function arguments must correspond to actual number of arguments described in a docblock.');
- }
-
- $paramTypes = array();
- foreach ($paramTypesTmp as $i => $param) {
- $tmp = explode('|', $param);
- if ($parameters[$i]->isOptional()) {
- array_unshift($tmp, null);
- }
- $paramTypes[] = $tmp;
- }
-
- $this->_buildSignatures($return, $returnDesc, $paramTypes, $paramDesc);
- }
-
-
- /**
- * Proxy reflection calls
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- if (method_exists($this->_reflection, $method)) {
- return call_user_func_array(array($this->_reflection, $method), $args);
- }
-
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid reflection method ("' .$method. '")');
- }
-
- /**
- * Retrieve configuration parameters
- *
- * Values are retrieved by key from {@link $_config}. Returns null if no
- * value found.
- *
- * @param string $key
- * @return mixed
- */
- public function __get($key)
- {
- if (isset($this->_config[$key])) {
- return $this->_config[$key];
- }
-
- return null;
- }
-
- /**
- * Set configuration parameters
- *
- * Values are stored by $key in {@link $_config}.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- */
- public function __set($key, $value)
- {
- $this->_config[$key] = $value;
- }
-
- /**
- * Set method's namespace
- *
- * @param string $namespace
- * @return void
- */
- public function setNamespace($namespace)
- {
- if (empty($namespace)) {
- $this->_namespace = '';
- return;
- }
-
- if (!is_string($namespace) || !preg_match('/[a-z0-9_\.]+/i', $namespace)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid namespace');
- }
-
- $this->_namespace = $namespace;
- }
-
- /**
- * Return method's namespace
- *
- * @return string
- */
- public function getNamespace()
- {
- return $this->_namespace;
- }
-
- /**
- * Set the description
- *
- * @param string $string
- * @return void
- */
- public function setDescription($string)
- {
- if (!is_string($string)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid description');
- }
-
- $this->_description = $string;
- }
-
- /**
- * Retrieve the description
- *
- * @return void
- */
- public function getDescription()
- {
- return $this->_description;
- }
-
- /**
- * Retrieve all prototypes as array of
- * {@link Zend_Server_Reflection_Prototype Zend_Server_Reflection_Prototypes}
- *
- * @return array
- */
- public function getPrototypes()
- {
- return $this->_prototypes;
- }
-
- /**
- * Retrieve additional invocation arguments
- *
- * @return array
- */
- public function getInvokeArguments()
- {
- return $this->_argv;
- }
-
- /**
- * Wakeup from serialization
- *
- * Reflection needs explicit instantiation to work correctly. Re-instantiate
- * reflection object on wakeup.
- *
- * @return void
- */
- public function __wakeup()
- {
- if ($this->_reflection instanceof ReflectionMethod) {
- $class = new ReflectionClass($this->_class);
- $this->_reflection = new ReflectionMethod($class->newInstance(), $this->getName());
- } else {
- $this->_reflection = new ReflectionFunction($this->getName());
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection/Method.php b/airtime_mvc/library/Zend/Server/Reflection/Method.php
deleted file mode 100644
index 500159d43..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection/Method.php
+++ /dev/null
@@ -1,110 +0,0 @@
-_classReflection = $class;
- $this->_reflection = $r;
-
- $classNamespace = $class->getNamespace();
-
- // Determine namespace
- if (!empty($namespace)) {
- $this->setNamespace($namespace);
- } elseif (!empty($classNamespace)) {
- $this->setNamespace($classNamespace);
- }
-
- // Determine arguments
- if (is_array($argv)) {
- $this->_argv = $argv;
- }
-
- // If method call, need to store some info on the class
- $this->_class = $class->getName();
-
- // Perform some introspection
- $this->_reflect();
- }
-
- /**
- * Return the reflection for the class that defines this method
- *
- * @return Zend_Server_Reflection_Class
- */
- public function getDeclaringClass()
- {
- return $this->_classReflection;
- }
-
- /**
- * Wakeup from serialization
- *
- * Reflection needs explicit instantiation to work correctly. Re-instantiate
- * reflection object on wakeup.
- *
- * @return void
- */
- public function __wakeup()
- {
- $this->_classReflection = new Zend_Server_Reflection_Class(new ReflectionClass($this->_class), $this->getNamespace(), $this->getInvokeArguments());
- $this->_reflection = new ReflectionMethod($this->_classReflection->getName(), $this->getName());
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection/Node.php b/airtime_mvc/library/Zend/Server/Reflection/Node.php
deleted file mode 100644
index 6c902053a..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection/Node.php
+++ /dev/null
@@ -1,201 +0,0 @@
-_value = $value;
- if (null !== $parent) {
- $this->setParent($parent, true);
- }
-
- return $this;
- }
-
- /**
- * Set parent node
- *
- * @param Zend_Server_Reflection_Node $node
- * @param boolean $new Whether or not the child node is newly created
- * and should always be attached
- * @return void
- */
- public function setParent(Zend_Server_Reflection_Node $node, $new = false)
- {
- $this->_parent = $node;
-
- if ($new) {
- $node->attachChild($this);
- return;
- }
- }
-
- /**
- * Create and attach a new child node
- *
- * @param mixed $value
- * @access public
- * @return Zend_Server_Reflection_Node New child node
- */
- public function createChild($value)
- {
- $child = new self($value, $this);
-
- return $child;
- }
-
- /**
- * Attach a child node
- *
- * @param Zend_Server_Reflection_Node $node
- * @return void
- */
- public function attachChild(Zend_Server_Reflection_Node $node)
- {
- $this->_children[] = $node;
-
- if ($node->getParent() !== $this) {
- $node->setParent($this);
- }
- }
-
- /**
- * Return an array of all child nodes
- *
- * @return array
- */
- public function getChildren()
- {
- return $this->_children;
- }
-
- /**
- * Does this node have children?
- *
- * @return boolean
- */
- public function hasChildren()
- {
- return count($this->_children) > 0;
- }
-
- /**
- * Return the parent node
- *
- * @return null|Zend_Server_Reflection_Node
- */
- public function getParent()
- {
- return $this->_parent;
- }
-
- /**
- * Return the node's current value
- *
- * @return mixed
- */
- public function getValue()
- {
- return $this->_value;
- }
-
- /**
- * Set the node value
- *
- * @param mixed $value
- * @return void
- */
- public function setValue($value)
- {
- $this->_value = $value;
- }
-
- /**
- * Retrieve the bottommost nodes of this node's tree
- *
- * Retrieves the bottommost nodes of the tree by recursively calling
- * getEndPoints() on all children. If a child is null, it returns the parent
- * as an end point.
- *
- * @return array
- */
- public function getEndPoints()
- {
- $endPoints = array();
- if (!$this->hasChildren()) {
- return $endPoints;
- }
-
- foreach ($this->_children as $child) {
- $value = $child->getValue();
-
- if (null === $value) {
- $endPoints[] = $this;
- } elseif ((null !== $value)
- && $child->hasChildren())
- {
- $childEndPoints = $child->getEndPoints();
- if (!empty($childEndPoints)) {
- $endPoints = array_merge($endPoints, $childEndPoints);
- }
- } elseif ((null !== $value) && !$child->hasChildren()) {
- $endPoints[] = $child;
- }
- }
-
- return $endPoints;
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection/Parameter.php b/airtime_mvc/library/Zend/Server/Reflection/Parameter.php
deleted file mode 100644
index 77a5021f4..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection/Parameter.php
+++ /dev/null
@@ -1,161 +0,0 @@
-_reflection = $r;
- $this->setType($type);
- $this->setDescription($description);
- }
-
- /**
- * Proxy reflection calls
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- if (method_exists($this->_reflection, $method)) {
- return call_user_func_array(array($this->_reflection, $method), $args);
- }
-
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid reflection method');
- }
-
- /**
- * Retrieve parameter type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set parameter type
- *
- * @param string|null $type
- * @return void
- */
- public function setType($type)
- {
- if (!is_string($type) && (null !== $type)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid parameter type');
- }
-
- $this->_type = $type;
- }
-
- /**
- * Retrieve parameter description
- *
- * @return string
- */
- public function getDescription()
- {
- return $this->_description;
- }
-
- /**
- * Set parameter description
- *
- * @param string|null $description
- * @return void
- */
- public function setDescription($description)
- {
- if (!is_string($description) && (null !== $description)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid parameter description');
- }
-
- $this->_description = $description;
- }
-
- /**
- * Set parameter position
- *
- * @param int $index
- * @return void
- */
- public function setPosition($index)
- {
- $this->_position = (int) $index;
- }
-
- /**
- * Return parameter position
- *
- * @return int
- */
- public function getPosition()
- {
- return $this->_position;
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection/Prototype.php b/airtime_mvc/library/Zend/Server/Reflection/Prototype.php
deleted file mode 100644
index 084264be5..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection/Prototype.php
+++ /dev/null
@@ -1,103 +0,0 @@
-_return = $return;
-
- if (!is_array($params) && (null !== $params)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid parameters');
- }
-
- if (is_array($params)) {
- foreach ($params as $param) {
- if (!$param instanceof Zend_Server_Reflection_Parameter) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('One or more params are invalid');
- }
- }
- }
-
- $this->_params = $params;
- }
-
- /**
- * Retrieve return type
- *
- * @return string
- */
- public function getReturnType()
- {
- return $this->_return->getType();
- }
-
- /**
- * Retrieve the return value object
- *
- * @access public
- * @return Zend_Server_Reflection_ReturnValue
- */
- public function getReturnValue()
- {
- return $this->_return;
- }
-
- /**
- * Retrieve method parameters
- *
- * @return array Array of {@link Zend_Server_Reflection_Parameter}s
- */
- public function getParameters()
- {
- return $this->_params;
- }
-}
diff --git a/airtime_mvc/library/Zend/Server/Reflection/ReturnValue.php b/airtime_mvc/library/Zend/Server/Reflection/ReturnValue.php
deleted file mode 100644
index 5c93d3723..000000000
--- a/airtime_mvc/library/Zend/Server/Reflection/ReturnValue.php
+++ /dev/null
@@ -1,110 +0,0 @@
-setType($type);
- $this->setDescription($description);
- }
-
- /**
- * Retrieve parameter type
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set parameter type
- *
- * @param string|null $type
- * @return void
- */
- public function setType($type)
- {
- if (!is_string($type) && (null !== $type)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid parameter type');
- }
-
- $this->_type = $type;
- }
-
- /**
- * Retrieve parameter description
- *
- * @return string
- */
- public function getDescription()
- {
- return $this->_description;
- }
-
- /**
- * Set parameter description
- *
- * @param string|null $description
- * @return void
- */
- public function setDescription($description)
- {
- if (!is_string($description) && (null !== $description)) {
- require_once 'Zend/Server/Reflection/Exception.php';
- throw new Zend_Server_Reflection_Exception('Invalid parameter description');
- }
-
- $this->_description = $description;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Abstract.php b/airtime_mvc/library/Zend/Service/Abstract.php
deleted file mode 100644
index 403e85814..000000000
--- a/airtime_mvc/library/Zend/Service/Abstract.php
+++ /dev/null
@@ -1,71 +0,0 @@
-setBlogUrl($blog)
- ->setApiKey($apiKey)
- ->setUserAgent('Zend Framework/' . Zend_Version::VERSION . ' | Akismet/1.11');
- }
-
- /**
- * Retrieve blog URL
- *
- * @return string
- */
- public function getBlogUrl()
- {
- return $this->_blogUrl;
- }
-
- /**
- * Set blog URL
- *
- * @param string $blogUrl
- * @return Zend_Service_Akismet
- * @throws Zend_Service_Exception if invalid URL provided
- */
- public function setBlogUrl($blogUrl)
- {
- require_once 'Zend/Uri.php';
- if (!Zend_Uri::check($blogUrl)) {
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Invalid url provided for blog');
- }
-
- $this->_blogUrl = $blogUrl;
- return $this;
- }
-
- /**
- * Retrieve API key
- *
- * @return string
- */
- public function getApiKey()
- {
- return $this->_apiKey;
- }
-
- /**
- * Set API key
- *
- * @param string $apiKey
- * @return Zend_Service_Akismet
- */
- public function setApiKey($apiKey)
- {
- $this->_apiKey = $apiKey;
- return $this;
- }
-
- /**
- * Retrieve charset
- *
- * @return string
- */
- public function getCharset()
- {
- return $this->_charset;
- }
-
- /**
- * Set charset
- *
- * @param string $charset
- * @return Zend_Service_Akismet
- */
- public function setCharset($charset)
- {
- $this->_charset = $charset;
- return $this;
- }
-
- /**
- * Retrieve TCP/IP port
- *
- * @return int
- */
- public function getPort()
- {
- return $this->_port;
- }
-
- /**
- * Set TCP/IP port
- *
- * @param int $port
- * @return Zend_Service_Akismet
- * @throws Zend_Service_Exception if non-integer value provided
- */
- public function setPort($port)
- {
- if (!is_int($port)) {
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Invalid port');
- }
-
- $this->_port = $port;
- return $this;
- }
-
- /**
- * Retrieve User Agent string
- *
- * @return string
- */
- public function getUserAgent()
- {
- return $this->_userAgent;
- }
-
- /**
- * Set User Agent
- *
- * Should be of form "Some user agent/version | Akismet/version"
- *
- * @param string $userAgent
- * @return Zend_Service_Akismet
- * @throws Zend_Service_Exception with invalid user agent string
- */
- public function setUserAgent($userAgent)
- {
- if (!is_string($userAgent)
- || !preg_match(":^[^\n/]*/[^ ]* \| Akismet/[0-9\.]*$:i", $userAgent))
- {
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Invalid User Agent string; must be of format "Application name/version | Akismet/version"');
- }
-
- $this->_userAgent = $userAgent;
- return $this;
- }
-
- /**
- * Post a request
- *
- * @param string $host
- * @param string $path
- * @param array $params
- * @return mixed
- */
- protected function _post($host, $path, array $params)
- {
- $uri = 'http://' . $host . ':' . $this->getPort() . $path;
- $client = self::getHttpClient();
- $client->setUri($uri);
- $client->setConfig(array(
- 'useragent' => $this->getUserAgent(),
- ));
-
- $client->setHeaders(array(
- 'Host' => $host,
- 'Content-Type' => 'application/x-www-form-urlencoded; charset=' . $this->getCharset()
- ));
- $client->setParameterPost($params);
-
- $client->setMethod(Zend_Http_Client::POST);
- return $client->request();
- }
-
- /**
- * Verify an API key
- *
- * @param string $key Optional; API key to verify
- * @param string $blog Optional; blog URL against which to verify key
- * @return boolean
- */
- public function verifyKey($key = null, $blog = null)
- {
- if (null === $key) {
- $key = $this->getApiKey();
- }
-
- if (null === $blog) {
- $blog = $this->getBlogUrl();
- }
-
- $response = $this->_post('rest.akismet.com', '/1.1/verify-key', array(
- 'key' => $key,
- 'blog' => $blog
- ));
-
- return ('valid' == $response->getBody());
- }
-
- /**
- * Perform an API call
- *
- * @param string $path
- * @param array $params
- * @return Zend_Http_Response
- * @throws Zend_Service_Exception if missing user_ip or user_agent fields
- */
- protected function _makeApiCall($path, $params)
- {
- if (empty($params['user_ip']) || empty($params['user_agent'])) {
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Missing required Akismet fields (user_ip and user_agent are required)');
- }
-
- if (!isset($params['blog'])) {
- $params['blog'] = $this->getBlogUrl();
- }
-
- return $this->_post($this->getApiKey() . '.rest.akismet.com', $path, $params);
- }
-
- /**
- * Check a comment for spam
- *
- * Checks a comment to see if it is spam. $params should be an associative
- * array with one or more of the following keys (unless noted, all keys are
- * optional):
- * - blog: URL of the blog. If not provided, uses value returned by {@link getBlogUrl()}
- * - user_ip (required): IP address of comment submitter
- * - user_agent (required): User Agent used by comment submitter
- * - referrer: contents of HTTP_REFERER header
- * - permalink: location of the entry to which the comment was submitted
- * - comment_type: typically, one of 'blank', 'comment', 'trackback', or 'pingback', but may be any value
- * - comment_author: name submitted with the content
- * - comment_author_email: email submitted with the content
- * - comment_author_url: URL submitted with the content
- * - comment_content: actual content
- *
- * Additionally, Akismet suggests returning the key/value pairs in the
- * $_SERVER array, and these may be included in the $params.
- *
- * This method implements the Akismet comment-check REST method.
- *
- * @param array $params
- * @return boolean
- * @throws Zend_Service_Exception with invalid API key
- */
- public function isSpam($params)
- {
- $response = $this->_makeApiCall('/1.1/comment-check', $params);
-
- $return = trim($response->getBody());
-
- if ('invalid' == $return) {
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Invalid API key');
- }
-
- if ('true' == $return) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Submit spam
- *
- * Takes the same arguments as {@link isSpam()}.
- *
- * Submits known spam content to Akismet to help train it.
- *
- * This method implements Akismet's submit-spam REST method.
- *
- * @param array $params
- * @return void
- * @throws Zend_Service_Exception with invalid API key
- */
- public function submitSpam($params)
- {
- $response = $this->_makeApiCall('/1.1/submit-spam', $params);
- $value = trim($response->getBody());
- if ('invalid' == $value) {
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Invalid API key');
- }
- }
-
- /**
- * Submit ham
- *
- * Takes the same arguments as {@link isSpam()}.
- *
- * Submits a comment that has been falsely categorized as spam by Akismet
- * as a false positive, telling Akismet's filters not to filter such
- * comments as spam in the future.
- *
- * Unlike {@link submitSpam()} and {@link isSpam()}, a valid API key is
- * never necessary; as a result, this method never throws an exception
- * (unless an exception happens with the HTTP client layer).
- *
- * this method implements Akismet's submit-ham REST method.
- *
- * @param array $params
- * @return void
- */
- public function submitHam($params)
- {
- $response = $this->_makeApiCall('/1.1/submit-ham', $params);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon.php b/airtime_mvc/library/Zend/Service/Amazon.php
deleted file mode 100644
index dea84d1b4..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon.php
+++ /dev/null
@@ -1,323 +0,0 @@
- 'http://webservices.amazon.com',
- 'UK' => 'http://webservices.amazon.co.uk',
- 'DE' => 'http://webservices.amazon.de',
- 'JP' => 'http://webservices.amazon.co.jp',
- 'FR' => 'http://webservices.amazon.fr',
- 'CA' => 'http://webservices.amazon.ca');
-
- /**
- * Reference to REST client object
- *
- * @var Zend_Rest_Client
- */
- protected $_rest = null;
-
-
- /**
- * Constructs a new Amazon Web Services Client
- *
- * @param string $appId Developer's Amazon appid
- * @param string $countryCode Country code for Amazon service; may be US, UK, DE, JP, FR, CA
- * @throws Zend_Service_Exception
- * @return Zend_Service_Amazon
- */
- public function __construct($appId, $countryCode = 'US', $secretKey = null)
- {
- $this->appId = (string) $appId;
- $this->_secretKey = $secretKey;
-
- $countryCode = (string) $countryCode;
- if (!isset($this->_baseUriList[$countryCode])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Unknown country code: $countryCode");
- }
-
- $this->_baseUri = $this->_baseUriList[$countryCode];
- }
-
-
- /**
- * Search for Items
- *
- * @param array $options Options to use for the Search Query
- * @throws Zend_Service_Exception
- * @return Zend_Service_Amazon_ResultSet
- * @see http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&v=2005-10-05&p=ApiReference/ItemSearchOperation
- */
- public function itemSearch(array $options)
- {
- $client = $this->getRestClient();
- $client->setUri($this->_baseUri);
-
- $defaultOptions = array('ResponseGroup' => 'Small');
- $options = $this->_prepareOptions('ItemSearch', $options, $defaultOptions);
- $client->getHttpClient()->resetParameters();
- $response = $client->restGet('/onca/xml', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: '
- . $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Amazon_ResultSet
- */
- require_once 'Zend/Service/Amazon/ResultSet.php';
- return new Zend_Service_Amazon_ResultSet($dom);
- }
-
-
- /**
- * Look up item(s) by ASIN
- *
- * @param string $asin Amazon ASIN ID
- * @param array $options Query Options
- * @see http://www.amazon.com/gp/aws/sdk/main.html/102-9041115-9057709?s=AWSEcommerceService&v=2005-10-05&p=ApiReference/ItemLookupOperation
- * @throws Zend_Service_Exception
- * @return Zend_Service_Amazon_Item|Zend_Service_Amazon_ResultSet
- */
- public function itemLookup($asin, array $options = array())
- {
- $client = $this->getRestClient();
- $client->setUri($this->_baseUri);
- $client->getHttpClient()->resetParameters();
-
- $defaultOptions = array('ResponseGroup' => 'Small');
- $options['ItemId'] = (string) $asin;
- $options = $this->_prepareOptions('ItemLookup', $options, $defaultOptions);
- $response = $client->restGet('/onca/xml', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception(
- 'An error occurred sending request. Status code: ' . $response->getStatus()
- );
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
- self::_checkErrors($dom);
- $xpath = new DOMXPath($dom);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- $items = $xpath->query('//az:Items/az:Item');
-
- if ($items->length == 1) {
- /**
- * @see Zend_Service_Amazon_Item
- */
- require_once 'Zend/Service/Amazon/Item.php';
- return new Zend_Service_Amazon_Item($items->item(0));
- }
-
- /**
- * @see Zend_Service_Amazon_ResultSet
- */
- require_once 'Zend/Service/Amazon/ResultSet.php';
- return new Zend_Service_Amazon_ResultSet($dom);
- }
-
-
- /**
- * Returns a reference to the REST client
- *
- * @return Zend_Rest_Client
- */
- public function getRestClient()
- {
- if($this->_rest === null) {
- $this->_rest = new Zend_Rest_Client();
- }
- return $this->_rest;
- }
-
- /**
- * Set REST client
- *
- * @param Zend_Rest_Client
- * @return Zend_Service_Amazon
- */
- public function setRestClient(Zend_Rest_Client $client)
- {
- $this->_rest = $client;
- return $this;
- }
-
-
- /**
- * Prepare options for request
- *
- * @param string $query Action to perform
- * @param array $options User supplied options
- * @param array $defaultOptions Default options
- * @return array
- */
- protected function _prepareOptions($query, array $options, array $defaultOptions)
- {
- $options['AWSAccessKeyId'] = $this->appId;
- $options['Service'] = 'AWSECommerceService';
- $options['Operation'] = (string) $query;
- $options['Version'] = '2005-10-05';
-
- // de-canonicalize out sort key
- if (isset($options['ResponseGroup'])) {
- $responseGroup = explode(',', $options['ResponseGroup']);
-
- if (!in_array('Request', $responseGroup)) {
- $responseGroup[] = 'Request';
- $options['ResponseGroup'] = implode(',', $responseGroup);
- }
- }
-
- $options = array_merge($defaultOptions, $options);
-
- if($this->_secretKey !== null) {
- $options['Timestamp'] = gmdate("Y-m-d\TH:i:s\Z");;
- ksort($options);
- $options['Signature'] = self::computeSignature($this->_baseUri, $this->_secretKey, $options);
- }
-
- return $options;
- }
-
- /**
- * Compute Signature for Authentication with Amazon Product Advertising Webservices
- *
- * @param string $baseUri
- * @param string $secretKey
- * @param array $options
- * @return string
- */
- static public function computeSignature($baseUri, $secretKey, array $options)
- {
- require_once "Zend/Crypt/Hmac.php";
-
- $signature = self::buildRawSignature($baseUri, $options);
- return base64_encode(
- Zend_Crypt_Hmac::compute($secretKey, 'sha256', $signature, Zend_Crypt_Hmac::BINARY)
- );
- }
-
- /**
- * Build the Raw Signature Text
- *
- * @param string $baseUri
- * @param array $options
- * @return string
- */
- static public function buildRawSignature($baseUri, $options)
- {
- ksort($options);
- $params = array();
- foreach($options AS $k => $v) {
- $params[] = $k."=".rawurlencode($v);
- }
-
- return sprintf("GET\n%s\n/onca/xml\n%s",
- str_replace('http://', '', $baseUri),
- implode("&", $params)
- );
- }
-
-
- /**
- * Check result for errors
- *
- * @param DOMDocument $dom
- * @throws Zend_Service_Exception
- * @return void
- */
- protected static function _checkErrors(DOMDocument $dom)
- {
- $xpath = new DOMXPath($dom);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
-
- if ($xpath->query('//az:Error')->length >= 1) {
- $code = $xpath->query('//az:Error/az:Code/text()')->item(0)->data;
- $message = $xpath->query('//az:Error/az:Message/text()')->item(0)->data;
-
- switch($code) {
- case 'AWS.ECommerceService.NoExactMatches':
- break;
- default:
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("$message ($code)");
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Abstract.php b/airtime_mvc/library/Zend/Service/Amazon/Abstract.php
deleted file mode 100644
index 8ad5e046f..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Abstract.php
+++ /dev/null
@@ -1,119 +0,0 @@
-_accessKey = $accessKey;
- $this->_secretKey = $secretKey;
- }
-
-
-
- /**
- * Method to fetch the Access Key
- *
- * @return string
- */
- protected function _getAccessKey()
- {
- return $this->_accessKey;
- }
-
- /**
- * Method to fetch the Secret AWS Key
- *
- * @return string
- */
- protected function _getSecretKey()
- {
- return $this->_secretKey;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Accessories.php b/airtime_mvc/library/Zend/Service/Amazon/Accessories.php
deleted file mode 100644
index 8e1eb2cda..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Accessories.php
+++ /dev/null
@@ -1,58 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- foreach (array('ASIN', 'Title') as $el) {
- $this->$el = (string) $xpath->query("./az:$el/text()", $dom)->item(0)->data;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/CustomerReview.php b/airtime_mvc/library/Zend/Service/Amazon/CustomerReview.php
deleted file mode 100644
index 02331b31c..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/CustomerReview.php
+++ /dev/null
@@ -1,86 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- foreach (array('Rating', 'HelpfulVotes', 'CustomerId', 'TotalVotes', 'Date', 'Summary', 'Content') as $el) {
- $result = $xpath->query("./az:$el/text()", $dom);
- if ($result->length == 1) {
- $this->$el = (string) $result->item(0)->data;
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2.php
deleted file mode 100644
index 7650403c9..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2.php
+++ /dev/null
@@ -1,87 +0,0 @@
-_region = $region;
-
- parent::__construct($accessKey, $secretKey);
- }
-
- /**
- * Set which region you are working in. It will append the
- * end point automaticly
- *
- * @param string $region
- */
- public static function setRegion($region)
- {
- if(in_array(strtolower($region), self::$_validEc2Regions, true)) {
- self::$_defaultRegion = $region;
- } else {
- require_once 'Zend/Service/Amazon/Exception.php';
- throw new Zend_Service_Amazon_Exception('Invalid Amazon Ec2 Region');
- }
- }
-
- /**
- * Method to fetch the AWS Region
- *
- * @return string
- */
- protected function _getRegion()
- {
- return (!empty($this->_region)) ? $this->_region . '.' : '';
- }
-
- /**
- * Sends a HTTP request to the queue service using Zend_Http_Client
- *
- * @param array $params List of parameters to send with the request
- * @return Zend_Service_Amazon_Ec2_Response
- * @throws Zend_Service_Amazon_Ec2_Exception
- */
- protected function sendRequest(array $params = array())
- {
- $url = 'https://' . $this->_getRegion() . $this->_ec2Endpoint . '/';
-
- $params = $this->addRequiredParameters($params);
-
- try {
- /* @var $request Zend_Http_Client */
- $request = self::getHttpClient();
- $request->resetParameters();
-
- $request->setConfig(array(
- 'timeout' => $this->_httpTimeout
- ));
-
- $request->setUri($url);
- $request->setMethod(Zend_Http_Client::POST);
- $request->setParameterPost($params);
-
- $httpResponse = $request->request();
-
-
- } catch (Zend_Http_Client_Exception $zhce) {
- $message = 'Error in request to AWS service: ' . $zhce->getMessage();
- throw new Zend_Service_Amazon_Ec2_Exception($message, $zhce->getCode(), $zhce);
- }
- $response = new Zend_Service_Amazon_Ec2_Response($httpResponse);
- $this->checkForErrors($response);
-
- return $response;
- }
-
- /**
- * Adds required authentication and version parameters to an array of
- * parameters
- *
- * The required parameters are:
- * - AWSAccessKey
- * - SignatureVersion
- * - Timestamp
- * - Version and
- * - Signature
- *
- * If a required parameter is already set in the $parameters array,
- * it is overwritten.
- *
- * @param array $parameters the array to which to add the required
- * parameters.
- *
- * @return array
- */
- protected function addRequiredParameters(array $parameters)
- {
- $parameters['AWSAccessKeyId'] = $this->_getAccessKey();
- $parameters['SignatureVersion'] = $this->_ec2SignatureVersion;
- $parameters['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
- $parameters['Version'] = $this->_ec2ApiVersion;
- $parameters['SignatureMethod'] = $this->_ec2SignatureMethod;
- $parameters['Signature'] = $this->signParameters($parameters);
-
- return $parameters;
- }
-
- /**
- * Computes the RFC 2104-compliant HMAC signature for request parameters
- *
- * This implements the Amazon Web Services signature, as per the following
- * specification:
- *
- * 1. Sort all request parameters (including SignatureVersion and
- * excluding Signature , the value of which is being created),
- * ignoring case.
- *
- * 2. Iterate over the sorted list and append the parameter name (in its
- * original case) and then its value. Do not URL-encode the parameter
- * values before constructing this string. Do not use any separator
- * characters when appending strings.
- *
- * @param array $parameters the parameters for which to get the signature.
- * @param string $secretKey the secret key to use to sign the parameters.
- *
- * @return string the signed data.
- */
- protected function signParameters(array $paramaters)
- {
- $data = "POST\n";
- $data .= $this->_getRegion() . $this->_ec2Endpoint . "\n";
- $data .= "/\n";
-
- uksort($paramaters, 'strcmp');
- unset($paramaters['Signature']);
-
- $arrData = array();
- foreach($paramaters as $key => $value) {
- $arrData[] = $key . '=' . str_replace("%7E", "~", rawurlencode($value));
- }
-
- $data .= implode('&', $arrData);
-
- require_once 'Zend/Crypt/Hmac.php';
- $hmac = Zend_Crypt_Hmac::compute($this->_getSecretKey(), 'SHA256', $data, Zend_Crypt_Hmac::BINARY);
-
- return base64_encode($hmac);
- }
-
- /**
- * Checks for errors responses from Amazon
- *
- * @param Zend_Service_Amazon_Ec2_Response $response the response object to
- * check.
- *
- * @return void
- *
- * @throws Zend_Service_Amazon_Ec2_Exception if one or more errors are
- * returned from Amazon.
- */
- private function checkForErrors(Zend_Service_Amazon_Ec2_Response $response)
- {
- $xpath = new DOMXPath($response->getDocument());
- $list = $xpath->query('//Error');
- if ($list->length > 0) {
- $node = $list->item(0);
- $code = $xpath->evaluate('string(Code/text())', $node);
- $message = $xpath->evaluate('string(Message/text())', $node);
- throw new Zend_Service_Amazon_Ec2_Exception($message, 0, $code);
- }
-
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Availabilityzones.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Availabilityzones.php
deleted file mode 100644
index 1cba26ac6..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Availabilityzones.php
+++ /dev/null
@@ -1,76 +0,0 @@
-$name) {
- $params['ZoneName.' . ($k+1)] = $name;
- }
- } elseif($zoneName) {
- $params['ZoneName.1'] = $zoneName;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:item');
-
- $return = array();
- foreach ($nodes as $k => $node) {
- $item = array();
- $item['zoneName'] = $xpath->evaluate('string(ec2:zoneName/text())', $node);
- $item['zoneState'] = $xpath->evaluate('string(ec2:zoneState/text())', $node);
-
- $return[] = $item;
- unset($item);
- }
-
- return $return;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/CloudWatch.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/CloudWatch.php
deleted file mode 100644
index a261c1738..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/CloudWatch.php
+++ /dev/null
@@ -1,357 +0,0 @@
-_validMetrics, true)) {
- throw new Zend_Service_Amazon_Ec2_Exception('Invalid Metric Type: ' . $options['MeasureName']);
- }
-
- if(!isset($options['Statistics'])) {
- $options['Statistics'][] = 'Average';
- } elseif(!is_array($options['Statistics'])) {
- $options['Statistics'][] = $options['Statistics'];
- }
-
- foreach($options['Statistics'] as $k=>$s) {
- if(!in_array($s, $this->_validStatistics, true)) continue;
- $options['Statistics.member.' . ($k+1)] = $s;
- $_usedStatistics[] = $s;
- }
- unset($options['Statistics']);
-
- if(isset($options['StartTime'])) {
- if(!is_numeric($options['StartTime'])) $options['StartTime'] = strtotime($options['StartTime']);
- $options['StartTime'] = gmdate('c', $options['StartTime']);
- } else {
- $options['StartTime'] = gmdate('c', strtotime('-1 hour'));
- }
-
- if(isset($options['EndTime'])) {
- if(!is_numeric($options['EndTime'])) $options['EndTime'] = strtotime($options['EndTime']);
- $options['EndTime'] = gmdate('c', $options['EndTime']);
- } else {
- $options['EndTime'] = gmdate('c');
- }
-
- if(isset($options['Dimensions'])) {
- $x = 1;
- foreach($options['Dimensions'] as $dimKey=>$dimVal) {
- if(!in_array($dimKey, $this->_validDimensionsKeys, true)) continue;
- $options['Dimensions.member.' . $x . '.Name'] = $dimKey;
- $options['Dimensions.member.' . $x . '.Value'] = $dimVal;
- $x++;
- }
-
- unset($options['Dimensions']);
- }
-
- $params = array_merge($params, $options);
-
- $response = $this->sendRequest($params);
- $response->setNamespace($this->_xmlNamespace);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:GetMetricStatisticsResult/ec2:Datapoints/ec2:member');
-
- $return = array();
- $return['label'] = $xpath->evaluate('string(//ec2:GetMetricStatisticsResult/ec2:Label/text())');
- foreach ( $nodes as $node ) {
- $item = array();
-
- $item['Timestamp'] = $xpath->evaluate('string(ec2:Timestamp/text())', $node);
- $item['Unit'] = $xpath->evaluate('string(ec2:Unit/text())', $node);
- $item['Samples'] = $xpath->evaluate('string(ec2:Samples/text())', $node);
- foreach($_usedStatistics as $us) {
- $item[$us] = $xpath->evaluate('string(ec2:' . $us . '/text())', $node);
- }
-
- $return['datapoints'][] = $item;
- unset($item, $node);
- }
-
- return $return;
-
- }
-
- /**
- * Return the Metrics that are aviable for your current monitored instances
- *
- * @param string $nextToken The NextToken parameter is an optional parameter
- * that allows you to retrieve the next set of results
- * for your ListMetrics query.
- * @return array
- */
- public function listMetrics($nextToken = null)
- {
- $params = array();
- $params['Action'] = 'ListMetrics';
- if (!empty($nextToken)) {
- $params['NextToken'] = $nextToken;
- }
-
- $response = $this->sendRequest($params);
- $response->setNamespace($this->_xmlNamespace);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:ListMetricsResult/ec2:Metrics/ec2:member');
-
- $return = array();
- foreach ( $nodes as $node ) {
- $item = array();
-
- $item['MeasureName'] = $xpath->evaluate('string(ec2:MeasureName/text())', $node);
- $item['Namespace'] = $xpath->evaluate('string(ec2:Namespace/text())', $node);
- $item['Deminsions']['name'] = $xpath->evaluate('string(ec2:Dimensions/ec2:member/ec2:Name/text())', $node);
- $item['Deminsions']['value'] = $xpath->evaluate('string(ec2:Dimensions/ec2:member/ec2:Value/text())', $node);
-
- if (empty($item['Deminsions']['name'])) {
- $item['Deminsions'] = array();
- }
-
- $return[] = $item;
- unset($item, $node);
- }
-
- return $return;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Ebs.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Ebs.php
deleted file mode 100644
index 25041924b..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Ebs.php
+++ /dev/null
@@ -1,342 +0,0 @@
-sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
- $return['volumeId'] = $xpath->evaluate('string(//ec2:volumeId/text())');
- $return['size'] = $xpath->evaluate('string(//ec2:size/text())');
- $return['status'] = $xpath->evaluate('string(//ec2:status/text())');
- $return['createTime'] = $xpath->evaluate('string(//ec2:createTime/text())');
- $return['availabilityZone'] = $xpath->evaluate('string(//ec2:availabilityZone/text())');
-
- return $return;
- }
-
- /**
- * Creates a new Amazon EBS volume that you can mount from any Amazon EC2 instance.
- *
- * You must specify an availability zone when creating a volume. The volume and
- * any instance to which it attaches must be in the same availability zone.
- *
- * @param string $snapshotId The snapshot from which to create the new volume.
- * @param string $availabilityZone The availability zone in which to create the new volume.
- * @return array
- */
- public function createVolumeFromSnapshot($snapshotId, $availabilityZone)
- {
- $params = array();
- $params['Action'] = 'CreateVolume';
- $params['AvailabilityZone'] = $availabilityZone;
- $params['SnapshotId'] = $snapshotId;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
- $return['volumeId'] = $xpath->evaluate('string(//ec2:volumeId/text())');
- $return['size'] = $xpath->evaluate('string(//ec2:size/text())');
- $return['status'] = $xpath->evaluate('string(//ec2:status/text())');
- $return['createTime'] = $xpath->evaluate('string(//ec2:createTime/text())');
- $return['availabilityZone'] = $xpath->evaluate('string(//ec2:availabilityZone/text())');
- $return['snapshotId'] = $xpath->evaluate('string(//ec2:snapshotId/text())');
-
- return $return;
- }
-
- /**
- * Lists one or more Amazon EBS volumes that you own, If you do not
- * specify any volumes, Amazon EBS returns all volumes that you own.
- *
- * @param string|array $volumeId The ID or array of ID's of the volume(s) to list
- * @return array
- */
- public function describeVolume($volumeId = null)
- {
- $params = array();
- $params['Action'] = 'DescribeVolumes';
-
- if(is_array($volumeId) && !empty($volumeId)) {
- foreach($volumeId as $k=>$name) {
- $params['VolumeId.' . ($k+1)] = $name;
- }
- } elseif($volumeId) {
- $params['VolumeId.1'] = $volumeId;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:volumeSet/ec2:item', $response->getDocument());
-
- $return = array();
- foreach ($nodes as $node) {
- $item = array();
-
- $item['volumeId'] = $xpath->evaluate('string(ec2:volumeId/text())', $node);
- $item['size'] = $xpath->evaluate('string(ec2:size/text())', $node);
- $item['status'] = $xpath->evaluate('string(ec2:status/text())', $node);
- $item['createTime'] = $xpath->evaluate('string(ec2:createTime/text())', $node);
-
- $attachmentSet = $xpath->query('ec2:attachmentSet/ec2:item', $node);
- if($attachmentSet->length == 1) {
- $_as = $attachmentSet->item(0);
- $as = array();
- $as['volumeId'] = $xpath->evaluate('string(ec2:volumeId/text())', $_as);
- $as['instanceId'] = $xpath->evaluate('string(ec2:instanceId/text())', $_as);
- $as['device'] = $xpath->evaluate('string(ec2:device/text())', $_as);
- $as['status'] = $xpath->evaluate('string(ec2:status/text())', $_as);
- $as['attachTime'] = $xpath->evaluate('string(ec2:attachTime/text())', $_as);
- $item['attachmentSet'] = $as;
- }
-
- $return[] = $item;
- unset($item, $node);
- }
-
- return $return;
- }
-
- public function describeAttachedVolumes($instanceId)
- {
- $volumes = $this->describeVolume();
-
- $return = array();
- foreach($volumes as $vol) {
- if(isset($vol['attachmentSet']) && $vol['attachmentSet']['instanceId'] == $instanceId) {
- $return[] = $vol;
- }
- }
-
- return $return;
- }
-
- /**
- * Attaches an Amazon EBS volume to an instance
- *
- * @param string $volumeId The ID of the Amazon EBS volume
- * @param string $instanceId The ID of the instance to which the volume attaches
- * @param string $device Specifies how the device is exposed to the instance (e.g., /dev/sdh).
- * @return array
- */
- public function attachVolume($volumeId, $instanceId, $device)
- {
- $params = array();
- $params['Action'] = 'AttachVolume';
- $params['VolumeId'] = $volumeId;
- $params['InstanceId'] = $instanceId;
- $params['Device'] = $device;
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $return = array();
- $return['volumeId'] = $xpath->evaluate('string(//ec2:volumeId/text())');
- $return['instanceId'] = $xpath->evaluate('string(//ec2:instanceId/text())');
- $return['device'] = $xpath->evaluate('string(//ec2:device/text())');
- $return['status'] = $xpath->evaluate('string(//ec2:status/text())');
- $return['attachTime'] = $xpath->evaluate('string(//ec2:attachTime/text())');
-
- return $return;
- }
-
- /**
- * Detaches an Amazon EBS volume from an instance
- *
- * @param string $volumeId The ID of the Amazon EBS volume
- * @param string $instanceId The ID of the instance from which the volume will detach
- * @param string $device The device name
- * @param boolean $force Forces detachment if the previous detachment attempt did not occur cleanly
- * (logging into an instance, unmounting the volume, and detaching normally).
- * This option can lead to data loss or a corrupted file system. Use this option
- * only as a last resort to detach an instance from a failed instance. The
- * instance will not have an opportunity to flush file system caches nor
- * file system meta data.
- * @return array
- */
- public function detachVolume($volumeId, $instanceId = null, $device = null, $force = false)
- {
- $params = array();
- $params['Action'] = 'DetachVolume';
- $params['VolumeId'] = $volumeId;
- $params['InstanceId'] = strval($instanceId);
- $params['Device'] = strval($device);
- $params['Force'] = strval($force);
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $return = array();
- $return['volumeId'] = $xpath->evaluate('string(//ec2:volumeId/text())');
- $return['instanceId'] = $xpath->evaluate('string(//ec2:instanceId/text())');
- $return['device'] = $xpath->evaluate('string(//ec2:device/text())');
- $return['status'] = $xpath->evaluate('string(//ec2:status/text())');
- $return['attachTime'] = $xpath->evaluate('string(//ec2:attachTime/text())');
-
- return $return;
- }
-
- /**
- * Deletes an Amazon EBS volume
- *
- * @param string $volumeId The ID of the volume to delete
- * @return boolean
- */
- public function deleteVolume($volumeId)
- {
- $params = array();
- $params['Action'] = 'DeleteVolume';
- $params['volumeId'] = $volumeId;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
- /**
- * Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. You can use snapshots for backups,
- * to launch instances from identical snapshots, and to save data before shutting down an instance
- *
- * @param string $volumeId The ID of the Amazon EBS volume to snapshot
- * @return array
- */
- public function createSnapshot($volumeId)
- {
- $params = array();
- $params['Action'] = 'CreateSnapshot';
- $params['VolumeId'] = $volumeId;
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $return = array();
- $return['snapshotId'] = $xpath->evaluate('string(//ec2:snapshotId/text())');
- $return['volumeId'] = $xpath->evaluate('string(//ec2:volumeId/text())');
- $return['status'] = $xpath->evaluate('string(//ec2:status/text())');
- $return['startTime'] = $xpath->evaluate('string(//ec2:startTime/text())');
- $return['progress'] = $xpath->evaluate('string(//ec2:progress/text())');
-
- return $return;
- }
-
- /**
- * Describes the status of Amazon EBS snapshots
- *
- * @param string|array $snapshotId The ID or arry of ID's of the Amazon EBS snapshot
- * @return array
- */
- public function describeSnapshot($snapshotId = null)
- {
- $params = array();
- $params['Action'] = 'DescribeSnapshots';
-
- if(is_array($snapshotId) && !empty($snapshotId)) {
- foreach($snapshotId as $k=>$name) {
- $params['SnapshotId.' . ($k+1)] = $name;
- }
- } elseif($snapshotId) {
- $params['SnapshotId.1'] = $snapshotId;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:snapshotSet/ec2:item', $response->getDocument());
-
- $return = array();
- foreach ($nodes as $node) {
- $item = array();
-
- $item['snapshotId'] = $xpath->evaluate('string(ec2:snapshotId/text())', $node);
- $item['volumeId'] = $xpath->evaluate('string(ec2:volumeId/text())', $node);
- $item['status'] = $xpath->evaluate('string(ec2:status/text())', $node);
- $item['startTime'] = $xpath->evaluate('string(ec2:startTime/text())', $node);
- $item['progress'] = $xpath->evaluate('string(ec2:progress/text())', $node);
-
- $return[] = $item;
- unset($item, $node);
- }
-
- return $return;
- }
-
- /**
- * Deletes a snapshot of an Amazon EBS volume that is stored in Amazon S3
- *
- * @param string $snapshotId The ID of the Amazon EBS snapshot to delete
- * @return boolean
- */
- public function deleteSnapshot($snapshotId)
- {
- $params = array();
- $params['Action'] = 'DeleteSnapshot';
- $params['SnapshotId'] = $snapshotId;
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Elasticip.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Elasticip.php
deleted file mode 100644
index a105bde81..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Elasticip.php
+++ /dev/null
@@ -1,158 +0,0 @@
-sendRequest($params);
-
- $xpath = $response->getXPath();
- $ip = $xpath->evaluate('string(//ec2:publicIp/text())');
-
- return $ip;
- }
-
- /**
- * Lists elastic IP addresses assigned to your account.
- *
- * @param string|array $publicIp Elastic IP or list of addresses to describe.
- * @return array
- */
- public function describe($publicIp = null)
- {
- $params = array();
- $params['Action'] = 'DescribeAddresses';
-
- if(is_array($publicIp) && !empty($publicIp)) {
- foreach($publicIp as $k=>$name) {
- $params['PublicIp.' . ($k+1)] = $name;
- }
- } elseif($publicIp) {
- $params['PublicIp.1'] = $publicIp;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:item');
-
- $return = array();
- foreach ($nodes as $k => $node) {
- $item = array();
- $item['publicIp'] = $xpath->evaluate('string(ec2:publicIp/text())', $node);
- $item['instanceId'] = $xpath->evaluate('string(ec2:instanceId/text())', $node);
-
- $return[] = $item;
- unset($item);
- }
-
- return $return;
- }
-
- /**
- * Releases an elastic IP address that is associated with your account
- *
- * @param string $publicIp IP address that you are releasing from your account.
- * @return boolean
- */
- public function release($publicIp)
- {
- $params = array();
- $params['Action'] = 'ReleaseAddress';
- $params['PublicIp'] = $publicIp;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
- /**
- * Associates an elastic IP address with an instance
- *
- * @param string $instanceId The instance to which the IP address is assigned
- * @param string $publicIp IP address that you are assigning to the instance.
- * @return boolean
- */
- public function associate($instanceId, $publicIp)
- {
- $params = array();
- $params['Action'] = 'AssociateAddress';
- $params['PublicIp'] = $publicIp;
- $params['InstanceId'] = $instanceId;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
- /**
- * Disassociates the specified elastic IP address from the instance to which it is assigned.
- * This is an idempotent operation. If you enter it more than once, Amazon EC2 does not return an error.
- *
- * @param string $publicIp IP address that you are disassociating from the instance.
- * @return boolean
- */
- public function disassocate($publicIp)
- {
- $params = array();
- $params['Action'] = 'DisssociateAddress';
- $params['PublicIp'] = $publicIp;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Exception.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Exception.php
deleted file mode 100644
index c43a4874e..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Exception.php
+++ /dev/null
@@ -1,51 +0,0 @@
-awsErrorCode = $awsErrorCode;
- }
-
- public function getErrorCode()
- {
- return $this->awsErrorCode;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Image.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Image.php
deleted file mode 100644
index d74d57cd0..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Image.php
+++ /dev/null
@@ -1,333 +0,0 @@
-sendRequest($params);
- $xpath = $response->getXPath();
-
- $amiId = $xpath->evaluate('string(//ec2:imageId/text())');
-
- return $amiId;
- }
-
- /**
- * Returns information about AMIs, AKIs, and ARIs available to the user.
- * Information returned includes image type, product codes, architecture,
- * and kernel and RAM disk IDs. Images available to the user include public
- * images available for any user to launch, private images owned by the user
- * making the request, and private images owned by other users for which the
- * user has explicit launch permissions.
- *
- * Launch permissions fall into three categories:
- * public: The owner of the AMI granted launch permissions for the AMI
- * to the all group. All users have launch permissions for these AMIs.
- * explicit: The owner of the AMI granted launch permissions to a specific user.
- * implicit: A user has implicit launch permissions for all AMIs he or she owns.
- *
- * The list of AMIs returned can be modified by specifying AMI IDs, AMI owners,
- * or users with launch permissions. If no options are specified, Amazon EC2 returns
- * all AMIs for which the user has launch permissions.
- *
- * If you specify one or more AMI IDs, only AMIs that have the specified IDs are returned.
- * If you specify an invalid AMI ID, a fault is returned. If you specify an AMI ID for which
- * you do not have access, it will not be included in the returned results.
- *
- * If you specify one or more AMI owners, only AMIs from the specified owners and for
- * which you have access are returned. The results can include the account IDs of the
- * specified owners, amazon for AMIs owned by Amazon or self for AMIs that you own.
- *
- * If you specify a list of executable users, only users that have launch permissions
- * for the AMIs are returned. You can specify account IDs (if you own the AMI(s)), self
- * for AMIs for which you own or have explicit permissions, or all for public AMIs.
- *
- * @param string|array $imageId A list of image descriptions
- * @param string|array $owner Owners of AMIs to describe.
- * @param string|array $executableBy AMIs for which specified users have access.
- * @return array
- */
- public function describe($imageId = null, $owner = null, $executableBy = null)
- {
- $params = array();
- $params['Action'] = 'DescribeImages';
-
- if(is_array($imageId) && !empty($imageId)) {
- foreach($imageId as $k=>$name) {
- $params['ImageId.' . ($k+1)] = $name;
- }
- } elseif($imageId) {
- $params['ImageId.1'] = $imageId;
- }
-
- if(is_array($owner) && !empty($owner)) {
- foreach($owner as $k=>$name) {
- $params['Owner.' . ($k+1)] = $name;
- }
- } elseif($owner) {
- $params['Owner.1'] = $owner;
- }
-
- if(is_array($executableBy) && !empty($executableBy)) {
- foreach($executableBy as $k=>$name) {
- $params['ExecutableBy.' . ($k+1)] = $name;
- }
- } elseif($executableBy) {
- $params['ExecutableBy.1'] = $executableBy;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:imagesSet/ec2:item');
-
- $return = array();
- foreach ($nodes as $node) {
- $item = array();
-
- $item['imageId'] = $xpath->evaluate('string(ec2:imageId/text())', $node);
- $item['imageLocation'] = $xpath->evaluate('string(ec2:imageLocation/text())', $node);
- $item['imageState'] = $xpath->evaluate('string(ec2:imageState/text())', $node);
- $item['imageOwnerId'] = $xpath->evaluate('string(ec2:imageOwnerId/text())', $node);
- $item['isPublic'] = $xpath->evaluate('string(ec2:isPublic/text())', $node);
- $item['architecture'] = $xpath->evaluate('string(ec2:architecture/text())', $node);
- $item['imageType'] = $xpath->evaluate('string(ec2:imageType/text())', $node);
- $item['kernelId'] = $xpath->evaluate('string(ec2:kernelId/text())', $node);
- $item['ramdiskId'] = $xpath->evaluate('string(ec2:ramdiskId/text())', $node);
- $item['platform'] = $xpath->evaluate('string(ec2:platform/text())', $node);
-
- $return[] = $item;
- unset($item, $node);
- }
-
- return $return;
- }
-
- /**
- * Deregisters an AMI. Once deregistered, instances of the AMI can no longer be launched.
- *
- * @param string $imageId Unique ID of a machine image, returned by a call
- * to RegisterImage or DescribeImages.
- * @return boolean
- */
- public function deregister($imageId)
- {
- $params = array();
- $params['Action'] = 'DeregisterImage';
- $params['ImageId'] = $imageId;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
- /**
- * Modifies an attribute of an AMI.
- *
- * Valid Attributes:
- * launchPermission: Controls who has permission to launch the AMI. Launch permissions
- * can be granted to specific users by adding userIds.
- * To make the AMI public, add the all group.
- * productCodes: Associates a product code with AMIs. This allows developers to
- * charge users for using AMIs. The user must be signed up for the
- * product before they can launch the AMI. This is a write once attribute;
- * after it is set, it cannot be changed or removed.
- *
- * @param string $imageId AMI ID to modify.
- * @param string $attribute Specifies the attribute to modify. See the preceding
- * attributes table for supported attributes.
- * @param string $operationType Specifies the operation to perform on the attribute.
- * See the preceding attributes table for supported operations for attributes.
- * Valid Values: add | remove
- * Required for launchPermssion Attribute
- *
- * @param string|array $userId User IDs to add to or remove from the launchPermission attribute.
- * Required for launchPermssion Attribute
- * @param string|array $userGroup User groups to add to or remove from the launchPermission attribute.
- * Currently, the all group is available, which will make it a public AMI.
- * Required for launchPermssion Attribute
- * @param string $productCode Attaches a product code to the AMI. Currently only one product code
- * can be associated with an AMI. Once set, the product code cannot be changed or reset.
- * Required for productCodes Attribute
- * @return boolean
- */
- public function modifyAttribute($imageId, $attribute, $operationType = 'add', $userId = null, $userGroup = null, $productCode = null)
- {
- $params = array();
- $params['Action'] = 'ModifyImageAttribute';
- $parmas['ImageId'] = $imageId;
- $params['Attribute'] = $attribute;
-
- switch($attribute) {
- case 'launchPermission':
- // break left out
- case 'launchpermission':
- $params['Attribute'] = 'launchPermission';
- $params['OperationType'] = $operationType;
-
- if(is_array($userId) && !empty($userId)) {
- foreach($userId as $k=>$name) {
- $params['UserId.' . ($k+1)] = $name;
- }
- } elseif($userId) {
- $params['UserId.1'] = $userId;
- }
-
- if(is_array($userGroup) && !empty($userGroup)) {
- foreach($userGroup as $k=>$name) {
- $params['UserGroup.' . ($k+1)] = $name;
- }
- } elseif($userGroup) {
- $params['UserGroup.1'] = $userGroup;
- }
-
- break;
- case 'productCodes':
- // break left out
- case 'productcodes':
- $params['Attribute'] = 'productCodes';
- $params['ProductCode.1'] = $productCode;
- break;
- default:
- require_once 'Zend/Service/Amazon/Ec2/Exception.php';
- throw new Zend_Service_Amazon_Ec2_Exception('Invalid Attribute Passed In. Valid Image Attributes are launchPermission and productCode.');
- break;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
- /**
- * Returns information about an attribute of an AMI. Only one attribute can be specified per call.
- *
- * @param string $imageId ID of the AMI for which an attribute will be described.
- * @param string $attribute Specifies the attribute to describe. Valid Attributes are
- * launchPermission, productCodes
- */
- public function describeAttribute($imageId, $attribute)
- {
- $params = array();
- $params['Action'] = 'DescribeImageAttribute';
- $params['ImageId'] = $imageId;
- $params['Attribute'] = $attribute;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
- $return['imageId'] = $xpath->evaluate('string(//ec2:imageId/text())');
-
- // check for launchPermission
- if($attribute == 'launchPermission') {
- $lPnodes = $xpath->query('//ec2:launchPermission/ec2:item');
-
- if($lPnodes->length > 0) {
- $return['launchPermission'] = array();
- foreach($lPnodes as $node) {
- $return['launchPermission'][] = $xpath->evaluate('string(ec2:userId/text())', $node);
- }
- }
- }
-
- // check for product codes
- if($attribute == 'productCodes') {
- $pCnodes = $xpath->query('//ec2:productCodes/ec2:item');
- if($pCnodes->length > 0) {
- $return['productCodes'] = array();
- foreach($pCnodes as $node) {
- $return['productCodes'][] = $xpath->evaluate('string(ec2:productCode/text())', $node);
- }
- }
- }
-
- return $return;
-
- }
-
- /**
- * Resets an attribute of an AMI to its default value. The productCodes attribute cannot be reset
- *
- * @param string $imageId ID of the AMI for which an attribute will be reset.
- * @param String $attribute Specifies the attribute to reset. Currently, only launchPermission is supported.
- * In the case of launchPermission, all public and explicit launch permissions for
- * the AMI are revoked.
- * @return boolean
- */
- public function resetAttribute($imageId, $attribute)
- {
- $params = array();
- $params['Action'] = 'ResetImageAttribute';
- $params['ImageId'] = $imageId;
- $params['Attribute'] = $attribute;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance.php
deleted file mode 100644
index d86f51930..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance.php
+++ /dev/null
@@ -1,529 +0,0 @@
- 1,
- 'maxCount' => 1,
- 'instanceType' => Zend_Service_Amazon_Ec2_Instance::SMALL
- );
-
- // set / override the defualt optoins if they are not passed into the array;
- $options = array_merge($_defaultOptions, $options);
-
- if(!isset($options['imageId'])) {
- require_once 'Zend/Service/Amazon/Ec2/Exception.php';
- throw new Zend_Service_Amazon_Ec2_Exception('No Image Id Provided');
- }
-
-
- $params = array();
- $params['Action'] = 'RunInstances';
- $params['ImageId'] = $options['imageId'];
- $params['MinCount'] = $options['minCount'];
- $params['MaxCount'] = $options['maxCount'];
-
- if(isset($options['keyName'])) {
- $params['KeyName'] = $options['keyName'];
- }
-
- if(is_array($options['securityGroup']) && !empty($options['securityGroup'])) {
- foreach($options['securityGroup'] as $k=>$name) {
- $params['SecurityGroup.' . ($k+1)] = $name;
- }
- } elseif(isset($options['securityGroup'])) {
- $params['SecurityGroup.1'] = $options['securityGroup'];
- }
-
- if(isset($options['userData'])) {
- $params['UserData'] = base64_encode($options['userData']);
- }
-
- if(isset($options['instanceType'])) {
- $params['InstanceType'] = $options['instanceType'];
- }
-
- if(isset($options['placement'])) {
- $params['Placement.AvailabilityZone'] = $options['placement'];
- }
-
- if(isset($options['kernelId'])) {
- $params['KernelId'] = $options['kernelId'];
- }
-
- if(isset($options['ramdiskId'])) {
- $params['RamdiskId'] = $options['ramdiskId'];
- }
-
- if(isset($options['blockDeviceVirtualName']) && isset($options['blockDeviceName'])) {
- $params['BlockDeviceMapping.n.VirtualName'] = $options['blockDeviceVirtualName'];
- $params['BlockDeviceMapping.n.DeviceName'] = $options['blockDeviceName'];
- }
-
- if(isset($options['monitor']) && $options['monitor'] === true) {
- $params['Monitoring.Enabled'] = true;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
-
- $return['reservationId'] = $xpath->evaluate('string(//ec2:reservationId/text())');
- $return['ownerId'] = $xpath->evaluate('string(//ec2:ownerId/text())');
-
- $gs = $xpath->query('//ec2:groupSet/ec2:item');
- foreach($gs as $gs_node) {
- $return['groupSet'][] = $xpath->evaluate('string(ec2:groupId/text())', $gs_node);
- unset($gs_node);
- }
- unset($gs);
-
- $is = $xpath->query('//ec2:instancesSet/ec2:item');
- foreach($is as $is_node) {
- $item = array();
-
- $item['instanceId'] = $xpath->evaluate('string(ec2:instanceId/text())', $is_node);
- $item['imageId'] = $xpath->evaluate('string(ec2:imageId/text())', $is_node);
- $item['instanceState']['code'] = $xpath->evaluate('string(ec2:instanceState/ec2:code/text())', $is_node);
- $item['instanceState']['name'] = $xpath->evaluate('string(ec2:instanceState/ec2:name/text())', $is_node);
- $item['privateDnsName'] = $xpath->evaluate('string(ec2:privateDnsName/text())', $is_node);
- $item['dnsName'] = $xpath->evaluate('string(ec2:dnsName/text())', $is_node);
- $item['keyName'] = $xpath->evaluate('string(ec2:keyName/text())', $is_node);
- $item['instanceType'] = $xpath->evaluate('string(ec2:instanceType/text())', $is_node);
- $item['amiLaunchIndex'] = $xpath->evaluate('string(ec2:amiLaunchIndex/text())', $is_node);
- $item['launchTime'] = $xpath->evaluate('string(ec2:launchTime/text())', $is_node);
- $item['availabilityZone'] = $xpath->evaluate('string(ec2:placement/ec2:availabilityZone/text())', $is_node);
-
- $return['instances'][] = $item;
- unset($item);
- unset($is_node);
- }
- unset($is);
-
- return $return;
-
- }
-
- /**
- * Returns information about instances that you own.
- *
- * If you specify one or more instance IDs, Amazon EC2 returns information
- * for those instances. If you do not specify instance IDs, Amazon EC2
- * returns information for all relevant instances. If you specify an invalid
- * instance ID, a fault is returned. If you specify an instance that you do
- * not own, it will not be included in the returned results.
- *
- * Recently terminated instances might appear in the returned results.
- * This interval is usually less than one hour.
- *
- * @param string|array $instaceId Set of instances IDs of which to get the status.
- * @param boolean Ture to ignore Terminated Instances.
- * @return array
- */
- public function describe($instanceId = null, $ignoreTerminated = false)
- {
- $params = array();
- $params['Action'] = 'DescribeInstances';
-
- if(is_array($instanceId) && !empty($instanceId)) {
- foreach($instanceId as $k=>$name) {
- $params['InstanceId.' . ($k+1)] = $name;
- }
- } elseif($instanceId) {
- $params['InstanceId.1'] = $instanceId;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $nodes = $xpath->query('//ec2:reservationSet/ec2:item');
-
- $return = array();
- $return['instances'] = array();
-
- foreach($nodes as $node) {
- if($xpath->evaluate('string(ec2:instancesSet/ec2:item/ec2:instanceState/ec2:code/text())', $node) == 48 && $ignoreTerminated) continue;
- $item = array();
-
- $item['reservationId'] = $xpath->evaluate('string(ec2:reservationId/text())', $node);
- $item['ownerId'] = $xpath->evaluate('string(ec2:ownerId/text())', $node);
-
- $gs = $xpath->query('ec2:groupSet/ec2:item', $node);
- foreach($gs as $gs_node) {
- $item['groupSet'][] = $xpath->evaluate('string(ec2:groupId/text())', $gs_node);
- unset($gs_node);
- }
- unset($gs);
-
- $is = $xpath->query('ec2:instancesSet/ec2:item', $node);
-
- foreach($is as $is_node) {
-
- $item['instanceId'] = $xpath->evaluate('string(ec2:instanceId/text())', $is_node);
- $item['imageId'] = $xpath->evaluate('string(ec2:imageId/text())', $is_node);
- $item['instanceState']['code'] = $xpath->evaluate('string(ec2:instanceState/ec2:code/text())', $is_node);
- $item['instanceState']['name'] = $xpath->evaluate('string(ec2:instanceState/ec2:name/text())', $is_node);
- $item['privateDnsName'] = $xpath->evaluate('string(ec2:privateDnsName/text())', $is_node);
- $item['dnsName'] = $xpath->evaluate('string(ec2:dnsName/text())', $is_node);
- $item['keyName'] = $xpath->evaluate('string(ec2:keyName/text())', $is_node);
- $item['productCode'] = $xpath->evaluate('string(ec2:productCodesSet/ec2:item/ec2:productCode/text())', $is_node);
- $item['instanceType'] = $xpath->evaluate('string(ec2:instanceType/text())', $is_node);
- $item['launchTime'] = $xpath->evaluate('string(ec2:launchTime/text())', $is_node);
- $item['availabilityZone'] = $xpath->evaluate('string(ec2:placement/ec2:availabilityZone/text())', $is_node);
- $item['kernelId'] = $xpath->evaluate('string(ec2:kernelId/text())', $is_node);
- $item['ramediskId'] = $xpath->evaluate('string(ec2:ramediskId/text())', $is_node);
- $item['amiLaunchIndex'] = $xpath->evaluate('string(ec2:amiLaunchIndex/text())', $is_node);
- $item['monitoringState'] = $xpath->evaluate('string(ec2:monitoring/ec2:state/text())', $is_node);
-
- unset($is_node);
- }
- $return['instances'][] = $item;
- unset($item);
- unset($is);
- }
-
- return $return;
- }
-
- /**
- * Returns information about instances that you own that were started from
- * a specific imageId
- *
- * Recently terminated instances might appear in the returned results.
- * This interval is usually less than one hour.
- *
- * @param string $imageId The imageId used to start the Instance.
- * @param boolean Ture to ignore Terminated Instances.
- * @return array
- */
- public function describeByImageId($imageId, $ignoreTerminated = false)
- {
- $arrInstances = $this->describe(null, $ignoreTerminated);
-
- $return = array();
-
- foreach($arrInstances['instances'] as $instance) {
- if($instance['imageId'] !== $imageId) continue;
- $return[] = $instance;
- }
-
- return $return;
- }
-
- /**
- * Shuts down one or more instances. This operation is idempotent; if you terminate
- * an instance more than once, each call will succeed.
- *
- * Terminated instances will remain visible after termination (approximately one hour).
- *
- * @param string|array $instanceId One or more instance IDs returned.
- * @return array
- */
- public function terminate($instanceId)
- {
- $params = array();
- $params['Action'] = 'TerminateInstances';
-
- if(is_array($instanceId) && !empty($instanceId)) {
- foreach($instanceId as $k=>$name) {
- $params['InstanceId.' . ($k+1)] = $name;
- }
- } elseif($instanceId) {
- $params['InstanceId.1'] = $instanceId;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $nodes = $xpath->query('//ec2:instancesSet/ec2:item');
-
- $return = array();
- foreach($nodes as $node) {
- $item = array();
-
- $item['instanceId'] = $xpath->evaluate('string(ec2:instanceId/text())', $node);
- $item['shutdownState']['code'] = $xpath->evaluate('string(ec2:shutdownState/ec2:code/text())', $node);
- $item['shutdownState']['name'] = $xpath->evaluate('string(ec2:shutdownState/ec2:name/text())', $node);
- $item['previousState']['code'] = $xpath->evaluate('string(ec2:previousState/ec2:code/text())', $node);
- $item['previousState']['name'] = $xpath->evaluate('string(ec2:previousState/ec2:name/text())', $node);
-
- $return[] = $item;
- unset($item);
- }
-
- return $return;
- }
-
- /**
- * Requests a reboot of one or more instances.
- *
- * This operation is asynchronous; it only queues a request to reboot the specified instance(s). The operation
- * will succeed if the instances are valid and belong to the user. Requests to reboot terminated instances are ignored.
- *
- * @param string|array $instanceId One or more instance IDs.
- * @return boolean
- */
- public function reboot($instanceId)
- {
- $params = array();
- $params['Action'] = 'RebootInstances';
-
- if(is_array($instanceId) && !empty($instanceId)) {
- foreach($instanceId as $k=>$name) {
- $params['InstanceId.' . ($k+1)] = $name;
- }
- } elseif($instanceId) {
- $params['InstanceId.1'] = $instanceId;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($return === "true");
- }
-
- /**
- * Retrieves console output for the specified instance.
- *
- * Instance console output is buffered and posted shortly after instance boot, reboot, and termination.
- * Amazon EC2 preserves the most recent 64 KB output which will be available for at least one hour after the most recent post.
- *
- * @param string $instanceId An instance ID
- * @return array
- */
- public function consoleOutput($instanceId)
- {
- $params = array();
- $params['Action'] = 'GetConsoleOutput';
- $params['InstanceId'] = $instanceId;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
-
- $return['instanceId'] = $xpath->evaluate('string(//ec2:instanceId/text())');
- $return['timestamp'] = $xpath->evaluate('string(//ec2:timestamp/text())');
- $return['output'] = base64_decode($xpath->evaluate('string(//ec2:output/text())'));
-
- return $return;
- }
-
- /**
- * Returns true if the specified product code is attached to the specified instance.
- * The operation returns false if the product code is not attached to the instance.
- *
- * The confirmProduct operation can only be executed by the owner of the AMI.
- * This feature is useful when an AMI owner is providing support and wants to
- * verify whether a user's instance is eligible.
- *
- * @param string $productCode The product code to confirm.
- * @param string $instanceId The instance for which to confirm the product code.
- * @return array|boolean An array if the product code is attached to the instance, false if it is not.
- */
- public function confirmProduct($productCode, $instanceId)
- {
- $params = array();
- $params['Action'] = 'ConfirmProductInstance';
- $params['ProductCode'] = $productCode;
- $params['InstanceId'] = $instanceId;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $result = $xpath->evaluate('string(//ec2:result/text())');
-
- if($result === "true") {
- $return['result'] = true;
- $return['ownerId'] = $xpath->evaluate('string(//ec2:ownerId/text())');
-
- return $return;
- }
-
- return false;
- }
-
- /**
- * Turn on Amazon CloudWatch Monitoring for an instance or a list of instances
- *
- * @param array|string $instanceId The instance or list of instances you want to enable monitoring for
- * @return array
- */
- public function monitor($instanceId)
- {
- $params = array();
- $params['Action'] = 'MonitorInstances';
-
- if(is_array($instanceId) && !empty($instanceId)) {
- foreach($instanceId as $k=>$name) {
- $params['InstanceId.' . ($k+1)] = $name;
- }
- } elseif($instanceId) {
- $params['InstanceId.1'] = $instanceId;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
-
- $items = $xpath->query('//ec2:instancesSet/ec2:item');
-
- $arrReturn = array();
- foreach($items as $item) {
- $i = array();
- $i['instanceid'] = $xpath->evaluate('string(//ec2:instanceId/text())', $item);
- $i['monitorstate'] = $xpath->evaluate('string(//ec2:monitoring/ec2:state/text())');
- $arrReturn[] = $i;
- unset($i);
- }
-
- return $arrReturn;
- }
- /**
- * Turn off Amazon CloudWatch Monitoring for an instance or a list of instances
- *
- * @param array|string $instanceId The instance or list of instances you want to disable monitoring for
- * @return array
- */
- public function unmonitor($instanceId)
- {
- $params = array();
- $params['Action'] = 'UnmonitorInstances';
-
- if(is_array($instanceId) && !empty($instanceId)) {
- foreach($instanceId as $k=>$name) {
- $params['InstanceId.' . ($k+1)] = $name;
- }
- } elseif($instanceId) {
- $params['InstanceId.1'] = $instanceId;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
-
- $items = $xpath->query('//ec2:instancesSet/ec2:item');
-
- $arrReturn = array();
- foreach($items as $item) {
- $i = array();
- $i['instanceid'] = $xpath->evaluate('string(//ec2:instanceId/text())', $item);
- $i['monitorstate'] = $xpath->evaluate('string(//ec2:monitoring/ec2:state/text())');
- $arrReturn[] = $i;
- unset($i);
- }
-
- return $arrReturn;
- }
-
-}
-
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance/Reserved.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance/Reserved.php
deleted file mode 100644
index e42a5fe0e..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance/Reserved.php
+++ /dev/null
@@ -1,143 +0,0 @@
-$name) {
- $params['ReservedInstancesId.' . ($k+1)] = $name;
- }
- } elseif($instanceId) {
- $params['ReservedInstancesId.1'] = $instanceId;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $items = $xpath->query('//ec2:reservedInstancesSet/ec2:item');
-
- $return = array();
- foreach($items as $item) {
- $i = array();
- $i['reservedInstancesId'] = $xpath->evaluate('string(ec2:reservedInstancesId/text())', $item);
- $i['instanceType'] = $xpath->evaluate('string(ec2:instanceType/text())', $item);
- $i['availabilityZone'] = $xpath->evaluate('string(ec2:availabilityZone/text())', $item);
- $i['duration'] = $xpath->evaluate('string(ec2:duration/text())', $item);
- $i['fixedPrice'] = $xpath->evaluate('string(ec2:fixedPrice/text())', $item);
- $i['usagePrice'] = $xpath->evaluate('string(ec2:usagePrice/text())', $item);
- $i['productDescription'] = $xpath->evaluate('string(ec2:productDescription/text())', $item);
- $i['instanceCount'] = $xpath->evaluate('string(ec2:instanceCount/text())', $item);
- $i['state'] = $xpath->evaluate('string(ec2:state/text())', $item);
-
- $return[] = $i;
- unset($i);
- }
-
- return $return;
- }
-
- /**
- * Describes Reserved Instance offerings that are available for purchase.
- * With Amazon EC2 Reserved Instances, you purchase the right to launch Amazon
- * EC2 instances for a period of time (without getting insufficient capacity
- * errors) and pay a lower usage rate for the actual time used.
- *
- * @return array
- */
- public function describeOfferings()
- {
- $params = array();
- $params['Action'] = 'DescribeReservedInstancesOfferings';
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $items = $xpath->query('//ec2:reservedInstancesOfferingsSet/ec2:item');
-
- $return = array();
- foreach($items as $item) {
- $i = array();
- $i['reservedInstancesOfferingId'] = $xpath->evaluate('string(ec2:reservedInstancesOfferingId/text())', $item);
- $i['instanceType'] = $xpath->evaluate('string(ec2:instanceType/text())', $item);
- $i['availabilityZone'] = $xpath->evaluate('string(ec2:availabilityZone/text())', $item);
- $i['duration'] = $xpath->evaluate('string(ec2:duration/text())', $item);
- $i['fixedPrice'] = $xpath->evaluate('string(ec2:fixedPrice/text())', $item);
- $i['usagePrice'] = $xpath->evaluate('string(ec2:usagePrice/text())', $item);
- $i['productDescription'] = $xpath->evaluate('string(ec2:productDescription/text())', $item);
-
- $return[] = $i;
- unset($i);
- }
-
- return $return;
- }
-
- /**
- * Purchases a Reserved Instance for use with your account. With Amazon EC2
- * Reserved Instances, you purchase the right to launch Amazon EC2 instances
- * for a period of time (without getting insufficient capacity errors) and
- * pay a lower usage rate for the actual time used.
- *
- * @param string $offeringId The offering ID of the Reserved Instance to purchase
- * @param integer $intanceCount The number of Reserved Instances to purchase.
- * @return string The ID of the purchased Reserved Instances.
- */
- public function purchaseOffering($offeringId, $intanceCount = 1)
- {
- $params = array();
- $params['Action'] = 'PurchaseReservedInstancesOffering';
- $params['OfferingId.1'] = $offeringId;
- $params['instanceCount.1'] = intval($intanceCount);
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $reservedInstancesId = $xpath->evaluate('string(//ec2:reservedInstancesId/text())');
-
- return $reservedInstancesId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance/Windows.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance/Windows.php
deleted file mode 100644
index d28d69c6a..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Instance/Windows.php
+++ /dev/null
@@ -1,195 +0,0 @@
-_getAccessKey();
- $params['Storage.S3.Bucket'] = $s3Bucket;
- $params['Storage.S3.Prefix'] = $s3Prefix;
- $uploadPolicy = $this->_getS3UploadPolicy($s3Bucket, $s3Prefix, $uploadExpiration);
- $params['Storage.S3.UploadPolicy'] = $uploadPolicy;
- $params['Storage.S3.UploadPolicySignature'] = $this->_signS3UploadPolicy($uploadPolicy);
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $return = array();
- $return['instanceId'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:instanceId/text())');
- $return['bundleId'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:bundleId/text())');
- $return['state'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:state/text())');
- $return['startTime'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:startTime/text())');
- $return['updateTime'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:updateTime/text())');
- $return['progress'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:progress/text())');
- $return['storage']['s3']['bucket'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:storage/ec2:S3/ec2:bucket/text())');
- $return['storage']['s3']['prefix'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:storage/ec2:S3/ec2:prefix/text())');
-
- return $return;
- }
-
- /**
- * Cancels an Amazon EC2 bundling operation
- *
- * @param string $bundleId The ID of the bundle task to cancel
- * @return array Information on the bundle task
- */
- public function cancelBundle($bundleId)
- {
- $params = array();
- $params['Action'] = 'CancelBundleTask';
- $params['BundleId'] = $bundleId;
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $return = array();
- $return['instanceId'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:instanceId/text())');
- $return['bundleId'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:bundleId/text())');
- $return['state'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:state/text())');
- $return['startTime'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:startTime/text())');
- $return['updateTime'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:updateTime/text())');
- $return['progress'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:progress/text())');
- $return['storage']['s3']['bucket'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:storage/ec2:S3/ec2:bucket/text())');
- $return['storage']['s3']['prefix'] = $xpath->evaluate('string(//ec2:bundleInstanceTask/ec2:storage/ec2:S3/ec2:prefix/text())');
-
- return $return;
- }
-
- /**
- * Describes current bundling tasks
- *
- * @param string|array $bundleId A single or a list of bundle tasks that you want
- * to find information for.
- * @return array Information for the task that you requested
- */
- public function describeBundle($bundleId = '')
- {
- $params = array();
- $params['Action'] = 'DescribeBundleTasks';
-
- if(is_array($bundleId) && !empty($bundleId)) {
- foreach($bundleId as $k=>$name) {
- $params['bundleId.' . ($k+1)] = $name;
- }
- } elseif(!empty($bundleId)) {
- $params['bundleId.1'] = $bundleId;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
-
- $items = $xpath->evaluate('//ec2:bundleInstanceTasksSet/ec2:item');
- $return = array();
-
- foreach($items as $item) {
- $i = array();
- $i['instanceId'] = $xpath->evaluate('string(ec2:instanceId/text())', $item);
- $i['bundleId'] = $xpath->evaluate('string(ec2:bundleId/text())', $item);
- $i['state'] = $xpath->evaluate('string(ec2:state/text())', $item);
- $i['startTime'] = $xpath->evaluate('string(ec2:startTime/text())', $item);
- $i['updateTime'] = $xpath->evaluate('string(ec2:updateTime/text())', $item);
- $i['progress'] = $xpath->evaluate('string(ec2:progress/text())', $item);
- $i['storage']['s3']['bucket'] = $xpath->evaluate('string(ec2:storage/ec2:S3/ec2:bucket/text())', $item);
- $i['storage']['s3']['prefix'] = $xpath->evaluate('string(ec2:storage/ec2:S3/ec2:prefix/text())', $item);
-
- $return[] = $i;
- unset($i);
- }
-
-
- return $return;
- }
-
- /**
- * Generates the S3 Upload Policy Information
- *
- * @param string $bucketName Which bucket you want the ami to live in on S3
- * @param string $prefix The prefix you want to assign to the AMI on S3
- * @param integer $expireInMinutes The expiration of the upload policy. Amazon recommends 12 hours or longer.
- * This is based in nubmer of minutes. Default is 1440 minutes (24 hours)
- * @return string Base64 encoded string that is the upload policy
- */
- protected function _getS3UploadPolicy($bucketName, $prefix, $expireInMinutes = 1440)
- {
- $arrParams = array();
- $arrParams['expiration'] = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", (time() + ($expireInMinutes * 60)));
- $arrParams['conditions'][] = array('bucket' => $bucketName);
- $arrParams['conditions'][] = array('acl' => 'ec2-bundle-read');
- $arrParams['conditions'][] = array('starts-with', '$key', $prefix);
-
- return base64_encode(Zend_Json::encode($arrParams));
- }
-
- /**
- * Signed S3 Upload Policy
- *
- * @param string $policy Base64 Encoded string that is the upload policy
- * @return string SHA1 encoded S3 Upload Policy
- */
- protected function _signS3UploadPolicy($policy)
- {
- $hmac = Zend_Crypt_Hmac::compute($this->_getSecretKey(), 'SHA1', $policy, Zend_Crypt_Hmac::BINARY);
- return $hmac;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Keypair.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Keypair.php
deleted file mode 100644
index 26dcbb6c0..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Keypair.php
+++ /dev/null
@@ -1,137 +0,0 @@
-sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
- $return['keyName'] = $xpath->evaluate('string(//ec2:keyName/text())');
- $return['keyFingerprint'] = $xpath->evaluate('string(//ec2:keyFingerprint/text())');
- $return['keyMaterial'] = $xpath->evaluate('string(//ec2:keyMaterial/text())');
-
- return $return;
- }
-
- /**
- * Returns information about key pairs available to you. If you specify
- * key pairs, information about those key pairs is returned. Otherwise,
- * information for all registered key pairs is returned.
- *
- * @param string|rarray $keyName Key pair IDs to describe.
- * @return array
- */
- public function describe($keyName = null)
- {
- $params = array();
-
- $params['Action'] = 'DescribeKeyPairs';
- if(is_array($keyName) && !empty($keyName)) {
- foreach($keyName as $k=>$name) {
- $params['KeyName.' . ($k+1)] = $name;
- }
- } elseif($keyName) {
- $params['KeyName.1'] = $keyName;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $nodes = $xpath->query('//ec2:keySet/ec2:item');
-
- $return = array();
- foreach ($nodes as $k => $node) {
- $item = array();
- $item['keyName'] = $xpath->evaluate('string(ec2:keyName/text())', $node);
- $item['keyFingerprint'] = $xpath->evaluate('string(ec2:keyFingerprint/text())', $node);
-
- $return[] = $item;
- unset($item);
- }
-
- return $return;
- }
-
- /**
- * Deletes a key pair
- *
- * @param string $keyName Name of the key pair to delete.
- * @throws Zend_Service_Amazon_Ec2_Exception
- * @return boolean Return true or false from the deletion.
- */
- public function delete($keyName)
- {
- $params = array();
-
- $params['Action'] = 'DeleteKeyPair';
-
- if(!$keyName) {
- require_once 'Zend/Service/Amazon/Ec2/Exception.php';
- throw new Zend_Service_Amazon_Ec2_Exception('Invalid Key Name');
- }
-
- $params['KeyName'] = $keyName;
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($success === "true");
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Region.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Region.php
deleted file mode 100644
index 3a254279e..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Region.php
+++ /dev/null
@@ -1,77 +0,0 @@
-$name) {
- $params['Region.' . ($k+1)] = $name;
- }
- } elseif($region) {
- $params['Region.1'] = $region;
- }
-
- $response = $this->sendRequest($params);
-
- $xpath = $response->getXPath();
- $nodes = $xpath->query('//ec2:item');
-
- $return = array();
- foreach ($nodes as $k => $node) {
- $item = array();
- $item['regionName'] = $xpath->evaluate('string(ec2:regionName/text())', $node);
- $item['regionUrl'] = $xpath->evaluate('string(ec2:regionUrl/text())', $node);
-
- $return[] = $item;
- unset($item);
- }
-
- return $return;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Response.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Response.php
deleted file mode 100644
index 65f01cc2d..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Response.php
+++ /dev/null
@@ -1,163 +0,0 @@
-_httpResponse = $httpResponse;
- }
-
- /**
- * Gets the XPath object for this response
- *
- * @return DOMXPath the XPath object for response.
- */
- public function getXPath()
- {
- if ($this->_xpath === null) {
- $document = $this->getDocument();
- if ($document === false) {
- $this->_xpath = false;
- } else {
- $this->_xpath = new DOMXPath($document);
- $this->_xpath->registerNamespace('ec2',
- $this->getNamespace());
- }
- }
-
- return $this->_xpath;
- }
-
- /**
- * Gets the document object for this response
- *
- * @return DOMDocument the DOM Document for this response.
- */
- public function getDocument()
- {
- try {
- $body = $this->_httpResponse->getBody();
- } catch (Zend_Http_Exception $e) {
- $body = false;
- }
-
- if ($this->_document === null) {
- if ($body !== false) {
- // turn off libxml error handling
- $errors = libxml_use_internal_errors();
-
- $this->_document = new DOMDocument();
- if (!$this->_document->loadXML($body)) {
- $this->_document = false;
- }
-
- // reset libxml error handling
- libxml_clear_errors();
- libxml_use_internal_errors($errors);
- } else {
- $this->_document = false;
- }
- }
-
- return $this->_document;
- }
-
- /**
- * Return the current set XML Namespace.
- *
- * @return string
- */
- public function getNamespace()
- {
- return $this->_xmlNamespace;
- }
-
- /**
- * Set a new XML Namespace
- *
- * @param string $namespace
- */
- public function setNamespace($namespace)
- {
- $this->_xmlNamespace = $namespace;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Securitygroups.php b/airtime_mvc/library/Zend/Service/Amazon/Ec2/Securitygroups.php
deleted file mode 100644
index 0764a5819..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Ec2/Securitygroups.php
+++ /dev/null
@@ -1,301 +0,0 @@
-sendRequest($params);
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($success === "true");
- }
-
- /**
- * Returns information about security groups that you own.
- *
- * If you specify security group names, information about those security group is returned.
- * Otherwise, information for all security group is returned. If you specify a group
- * that does not exist, a fault is returned.
- *
- * @param string|array $name List of security groups to describe
- * @return array
- */
- public function describe($name = null)
- {
- $params = array();
- $params['Action'] = 'DescribeSecurityGroups';
- if(is_array($name) && !empty($name)) {
- foreach($name as $k=>$name) {
- $params['GroupName.' . ($k+1)] = $name;
- }
- } elseif($name) {
- $params['GroupName.1'] = $name;
- }
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
-
- $return = array();
-
- $nodes = $xpath->query('//ec2:securityGroupInfo/ec2:item');
-
- foreach($nodes as $node) {
- $item = array();
-
- $item['ownerId'] = $xpath->evaluate('string(ec2:ownerId/text())', $node);
- $item['groupName'] = $xpath->evaluate('string(ec2:groupName/text())', $node);
- $item['groupDescription'] = $xpath->evaluate('string(ec2:groupDescription/text())', $node);
-
- $ip_nodes = $xpath->query('ec2:ipPermissions/ec2:item', $node);
-
- foreach($ip_nodes as $ip_node) {
- $sItem = array();
-
- $sItem['ipProtocol'] = $xpath->evaluate('string(ec2:ipProtocol/text())', $ip_node);
- $sItem['fromPort'] = $xpath->evaluate('string(ec2:fromPort/text())', $ip_node);
- $sItem['toPort'] = $xpath->evaluate('string(ec2:toPort/text())', $ip_node);
-
- $ips = $xpath->query('ec2:ipRanges/ec2:item', $ip_node);
-
- $sItem['ipRanges'] = array();
- foreach($ips as $ip) {
- $sItem['ipRanges'][] = $xpath->evaluate('string(ec2:cidrIp/text())', $ip);
- }
-
- if(count($sItem['ipRanges']) == 1) {
- $sItem['ipRanges'] = $sItem['ipRanges'][0];
- }
-
- $item['ipPermissions'][] = $sItem;
- unset($ip_node, $sItem);
- }
-
- $return[] = $item;
-
- unset($item, $node);
- }
-
-
- return $return;
- }
-
- /**
- * Deletes a security group.
- *
- * If you attempt to delete a security group that contains instances, a fault is returned.
- * If you attempt to delete a security group that is referenced by another security group,
- * a fault is returned. For example, if security group B has a rule that allows access
- * from security group A, security group A cannot be deleted until the allow rule is removed.
- *
- * @param string $name Name of the security group to delete.
- * @return boolean
- */
- public function delete($name)
- {
- $params = array();
- $params['Action'] = 'DeleteSecurityGroup';
- $params['GroupName'] = $name;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($success === "true");
- }
-
- /**
- * Adds permissions to a security group
- *
- * Permissions are specified by the IP protocol (TCP, UDP or ICMP), the source of the request
- * (by IP range or an Amazon EC2 user-group pair), the source and destination port ranges
- * (for TCP and UDP), and the ICMP codes and types (for ICMP). When authorizing ICMP, -1
- * can be used as a wildcard in the type and code fields.
- *
- * Permission changes are propagated to instances within the security group as quickly as
- * possible. However, depending on the number of instances, a small delay might occur.
- *
- *
- * @param string $name Name of the group to modify.
- * @param string $ipProtocol IP protocol to authorize access to when operating on a CIDR IP.
- * @param integer $fromPort Bottom of port range to authorize access to when operating on a CIDR IP.
- * This contains the ICMP type if ICMP is being authorized.
- * @param integer $toPort Top of port range to authorize access to when operating on a CIDR IP.
- * This contains the ICMP code if ICMP is being authorized.
- * @param string $cidrIp CIDR IP range to authorize access to when operating on a CIDR IP.
- * @return boolean
- */
- public function authorizeIp($name, $ipProtocol, $fromPort, $toPort, $cidrIp)
- {
- $params = array();
- $params['Action'] = 'AuthorizeSecurityGroupIngress';
- $params['GroupName'] = $name;
- $params['IpProtocol'] = $ipProtocol;
- $params['FromPort'] = $fromPort;
- $params['ToPort'] = $toPort;
- $params['CidrIp'] = $cidrIp;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($success === "true");
-
- }
-
- /**
- * Adds permissions to a security group
- *
- * When authorizing a user/group pair permission, GroupName, SourceSecurityGroupName and
- * SourceSecurityGroupOwnerId must be specified.
- *
- * Permission changes are propagated to instances within the security group as quickly as
- * possible. However, depending on the number of instances, a small delay might occur.
- *
- * @param string $name Name of the group to modify.
- * @param string $groupName Name of security group to authorize access to when operating on a user/group pair.
- * @param string $ownerId Owner of security group to authorize access to when operating on a user/group pair.
- * @return boolean
- */
- public function authorizeGroup($name, $groupName, $ownerId)
- {
- $params = array();
- $params['Action'] = 'AuthorizeSecurityGroupIngress';
- $params['GroupName'] = $name;
- $params['SourceSecurityGroupName'] = $groupName;
- $params['SourceSecurityGroupOwnerId'] = $ownerId;
-
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
-
- return ($success === "true");
- }
-
- /**
- * Revokes permissions from a security group. The permissions used to revoke must be specified
- * using the same values used to grant the permissions.
- *
- * Permissions are specified by the IP protocol (TCP, UDP or ICMP), the source of the request
- * (by IP range or an Amazon EC2 user-group pair), the source and destination port ranges
- * (for TCP and UDP), and the ICMP codes and types (for ICMP). When authorizing ICMP, -1
- * can be used as a wildcard in the type and code fields.
- *
- * Permission changes are propagated to instances within the security group as quickly as
- * possible. However, depending on the number of instances, a small delay might occur.
- *
- *
- * @param string $name Name of the group to modify.
- * @param string $ipProtocol IP protocol to revoke access to when operating on a CIDR IP.
- * @param integer $fromPort Bottom of port range to revoke access to when operating on a CIDR IP.
- * This contains the ICMP type if ICMP is being revoked.
- * @param integer $toPort Top of port range to revoked access to when operating on a CIDR IP.
- * This contains the ICMP code if ICMP is being revoked.
- * @param string $cidrIp CIDR IP range to revoke access to when operating on a CIDR IP.
- * @return boolean
- */
- public function revokeIp($name, $ipProtocol, $fromPort, $toPort, $cidrIp)
- {
- $params = array();
- $params['Action'] = 'RevokeSecurityGroupIngress';
- $params['GroupName'] = $name;
- $params['IpProtocol'] = $ipProtocol;
- $params['FromPort'] = $fromPort;
- $params['ToPort'] = $toPort;
- $params['CidrIp'] = $cidrIp;
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
- return ($success === "true");
- }
-
- /**
- * Revokes permissions from a security group. The permissions used to revoke must be specified
- * using the same values used to grant the permissions.
- *
- * Permission changes are propagated to instances within the security group as quickly as
- * possible. However, depending on the number of instances, a small delay might occur.
- *
- * When revoking a user/group pair permission, GroupName, SourceSecurityGroupName and
- * SourceSecurityGroupOwnerId must be specified.
- *
- * @param string $name Name of the group to modify.
- * @param string $groupName Name of security group to revoke access to when operating on a user/group pair.
- * @param string $ownerId Owner of security group to revoke access to when operating on a user/group pair.
- * @return boolean
- */
- public function revokeGroup($name, $groupName, $ownerId)
- {
- $params = array();
- $params['Action'] = 'RevokeSecurityGroupIngress';
- $params['GroupName'] = $name;
- $params['SourceSecurityGroupName'] = $groupName;
- $params['SourceSecurityGroupOwnerId'] = $ownerId;
-
-
- $response = $this->sendRequest($params);
- $xpath = $response->getXPath();
- $success = $xpath->evaluate('string(//ec2:return/text())');
-
-
- return ($success === "true");
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/EditorialReview.php b/airtime_mvc/library/Zend/Service/Amazon/EditorialReview.php
deleted file mode 100644
index 2eedc9042..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/EditorialReview.php
+++ /dev/null
@@ -1,58 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- foreach (array('Source', 'Content') as $el) {
- $this->$el = (string) $xpath->query("./az:$el/text()", $dom)->item(0)->data;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Exception.php b/airtime_mvc/library/Zend/Service/Amazon/Exception.php
deleted file mode 100644
index e580279d6..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- $this->Url = Zend_Uri::factory($xpath->query('./az:URL/text()', $dom)->item(0)->data);
- $this->Height = (int) $xpath->query('./az:Height/text()', $dom)->item(0)->data;
- $this->Width = (int) $xpath->query('./az:Width/text()', $dom)->item(0)->data;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Item.php b/airtime_mvc/library/Zend/Service/Amazon/Item.php
deleted file mode 100644
index 066d4de7b..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Item.php
+++ /dev/null
@@ -1,261 +0,0 @@
- element
- *
- * @param DOMElement $dom
- * @return void
- */
- public function __construct(DOMElement $dom)
- {
- $xpath = new DOMXPath($dom->ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- $this->ASIN = $xpath->query('./az:ASIN/text()', $dom)->item(0)->data;
-
- $result = $xpath->query('./az:DetailPageURL/text()', $dom);
- if ($result->length == 1) {
- $this->DetailPageURL = $result->item(0)->data;
- }
-
- if ($xpath->query('./az:ItemAttributes/az:ListPrice', $dom)->length >= 1) {
- $this->CurrencyCode = (string) $xpath->query('./az:ItemAttributes/az:ListPrice/az:CurrencyCode/text()', $dom)->item(0)->data;
- $this->Amount = (int) $xpath->query('./az:ItemAttributes/az:ListPrice/az:Amount/text()', $dom)->item(0)->data;
- $this->FormattedPrice = (string) $xpath->query('./az:ItemAttributes/az:ListPrice/az:FormattedPrice/text()', $dom)->item(0)->data;
- }
-
- $result = $xpath->query('./az:ItemAttributes/az:*/text()', $dom);
- if ($result->length >= 1) {
- foreach ($result as $v) {
- if (isset($this->{$v->parentNode->tagName})) {
- if (is_array($this->{$v->parentNode->tagName})) {
- array_push($this->{$v->parentNode->tagName}, (string) $v->data);
- } else {
- $this->{$v->parentNode->tagName} = array($this->{$v->parentNode->tagName}, (string) $v->data);
- }
- } else {
- $this->{$v->parentNode->tagName} = (string) $v->data;
- }
- }
- }
-
- foreach (array('SmallImage', 'MediumImage', 'LargeImage') as $im) {
- $result = $xpath->query("./az:ImageSets/az:ImageSet[position() = 1]/az:$im", $dom);
- if ($result->length == 1) {
- /**
- * @see Zend_Service_Amazon_Image
- */
- require_once 'Zend/Service/Amazon/Image.php';
- $this->$im = new Zend_Service_Amazon_Image($result->item(0));
- }
- }
-
- $result = $xpath->query('./az:SalesRank/text()', $dom);
- if ($result->length == 1) {
- $this->SalesRank = (int) $result->item(0)->data;
- }
-
- $result = $xpath->query('./az:CustomerReviews/az:Review', $dom);
- if ($result->length >= 1) {
- /**
- * @see Zend_Service_Amazon_CustomerReview
- */
- require_once 'Zend/Service/Amazon/CustomerReview.php';
- foreach ($result as $review) {
- $this->CustomerReviews[] = new Zend_Service_Amazon_CustomerReview($review);
- }
- $this->AverageRating = (float) $xpath->query('./az:CustomerReviews/az:AverageRating/text()', $dom)->item(0)->data;
- $this->TotalReviews = (int) $xpath->query('./az:CustomerReviews/az:TotalReviews/text()', $dom)->item(0)->data;
- }
-
- $result = $xpath->query('./az:EditorialReviews/az:*', $dom);
- if ($result->length >= 1) {
- /**
- * @see Zend_Service_Amazon_EditorialReview
- */
- require_once 'Zend/Service/Amazon/EditorialReview.php';
- foreach ($result as $r) {
- $this->EditorialReviews[] = new Zend_Service_Amazon_EditorialReview($r);
- }
- }
-
- $result = $xpath->query('./az:SimilarProducts/az:*', $dom);
- if ($result->length >= 1) {
- /**
- * @see Zend_Service_Amazon_SimilarProduct
- */
- require_once 'Zend/Service/Amazon/SimilarProduct.php';
- foreach ($result as $r) {
- $this->SimilarProducts[] = new Zend_Service_Amazon_SimilarProduct($r);
- }
- }
-
- $result = $xpath->query('./az:ListmaniaLists/*', $dom);
- if ($result->length >= 1) {
- /**
- * @see Zend_Service_Amazon_ListmaniaList
- */
- require_once 'Zend/Service/Amazon/ListmaniaList.php';
- foreach ($result as $r) {
- $this->ListmaniaLists[] = new Zend_Service_Amazon_ListmaniaList($r);
- }
- }
-
- $result = $xpath->query('./az:Tracks/az:Disc', $dom);
- if ($result->length > 1) {
- foreach ($result as $disk) {
- foreach ($xpath->query('./*/text()', $disk) as $t) {
- // TODO: For consistency in a bugfix all tracks are appended to one single array
- // Erroreous line: $this->Tracks[$disk->getAttribute('number')] = (string) $t->data;
- $this->Tracks[] = (string) $t->data;
- }
- }
- } else if ($result->length == 1) {
- foreach ($xpath->query('./*/text()', $result->item(0)) as $t) {
- $this->Tracks[] = (string) $t->data;
- }
- }
-
- $result = $xpath->query('./az:Offers', $dom);
- $resultSummary = $xpath->query('./az:OfferSummary', $dom);
- if ($result->length > 1 || $resultSummary->length == 1) {
- /**
- * @see Zend_Service_Amazon_OfferSet
- */
- require_once 'Zend/Service/Amazon/OfferSet.php';
- $this->Offers = new Zend_Service_Amazon_OfferSet($dom);
- }
-
- $result = $xpath->query('./az:Accessories/*', $dom);
- if ($result->length > 1) {
- /**
- * @see Zend_Service_Amazon_Accessories
- */
- require_once 'Zend/Service/Amazon/Accessories.php';
- foreach ($result as $r) {
- $this->Accessories[] = new Zend_Service_Amazon_Accessories($r);
- }
- }
-
- $this->_dom = $dom;
- }
-
-
- /**
- * Returns the item's original XML
- *
- * @return string
- */
- public function asXml()
- {
- return $this->_dom->ownerDocument->saveXML($this->_dom);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/ListmaniaList.php b/airtime_mvc/library/Zend/Service/Amazon/ListmaniaList.php
deleted file mode 100644
index d13f02733..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/ListmaniaList.php
+++ /dev/null
@@ -1,58 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- foreach (array('ListId', 'ListName') as $el) {
- $this->$el = (string) $xpath->query("./az:$el/text()", $dom)->item(0)->data;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Offer.php b/airtime_mvc/library/Zend/Service/Amazon/Offer.php
deleted file mode 100644
index f6f111d8f..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Offer.php
+++ /dev/null
@@ -1,111 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- $this->MerchantId = (string) $xpath->query('./az:Merchant/az:MerchantId/text()', $dom)->item(0)->data;
- $name = $xpath->query('./az:Merchant/az:Name/text()', $dom);
- if ($name->length == 1) {
- $this->MerchantName = (string) $name->item(0)->data;
- }
- $this->GlancePage = (string) $xpath->query('./az:Merchant/az:GlancePage/text()', $dom)->item(0)->data;
- $this->Condition = (string) $xpath->query('./az:OfferAttributes/az:Condition/text()', $dom)->item(0)->data;
- $this->OfferListingId = (string) $xpath->query('./az:OfferListing/az:OfferListingId/text()', $dom)->item(0)->data;
- $Price = $xpath->query('./az:OfferListing/az:Price/az:Amount', $dom);
- if ($Price->length == 1) {
- $this->Price = (int) $xpath->query('./az:OfferListing/az:Price/az:Amount/text()', $dom)->item(0)->data;
- $this->CurrencyCode = (string) $xpath->query('./az:OfferListing/az:Price/az:CurrencyCode/text()', $dom)->item(0)->data;
- }
- $availability = $xpath->query('./az:OfferListing/az:Availability/text()', $dom)->item(0);
- if($availability instanceof DOMText) {
- $this->Availability = (string) $availability->data;
- }
- $result = $xpath->query('./az:OfferListing/az:IsEligibleForSuperSaverShipping/text()', $dom);
- if ($result->length >= 1) {
- $this->IsEligibleForSuperSaverShipping = (bool) $result->item(0)->data;
- }
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/Amazon/OfferSet.php b/airtime_mvc/library/Zend/Service/Amazon/OfferSet.php
deleted file mode 100644
index de3654bf2..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/OfferSet.php
+++ /dev/null
@@ -1,118 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
-
- $offer = $xpath->query('./az:OfferSummary', $dom);
- if ($offer->length == 1) {
- $lowestNewPrice = $xpath->query('./az:OfferSummary/az:LowestNewPrice/az:Amount', $dom);
- if ($lowestNewPrice->length == 1) {
- $this->LowestNewPrice = (int) $xpath->query('./az:OfferSummary/az:LowestNewPrice/az:Amount/text()', $dom)->item(0)->data;
- $this->LowestNewPriceCurrency = (string) $xpath->query('./az:OfferSummary/az:LowestNewPrice/az:CurrencyCode/text()', $dom)->item(0)->data;
- }
- $lowestUsedPrice = $xpath->query('./az:OfferSummary/az:LowestUsedPrice/az:Amount', $dom);
- if ($lowestUsedPrice->length == 1) {
- $this->LowestUsedPrice = (int) $xpath->query('./az:OfferSummary/az:LowestUsedPrice/az:Amount/text()', $dom)->item(0)->data;
- $this->LowestUsedPriceCurrency = (string) $xpath->query('./az:OfferSummary/az:LowestUsedPrice/az:CurrencyCode/text()', $dom)->item(0)->data;
- }
- $this->TotalNew = (int) $xpath->query('./az:OfferSummary/az:TotalNew/text()', $dom)->item(0)->data;
- $this->TotalUsed = (int) $xpath->query('./az:OfferSummary/az:TotalUsed/text()', $dom)->item(0)->data;
- $this->TotalCollectible = (int) $xpath->query('./az:OfferSummary/az:TotalCollectible/text()', $dom)->item(0)->data;
- $this->TotalRefurbished = (int) $xpath->query('./az:OfferSummary/az:TotalRefurbished/text()', $dom)->item(0)->data;
- }
- $offers = $xpath->query('./az:Offers/az:Offer', $dom);
- if ($offers->length >= 1) {
- /**
- * @see Zend_Service_Amazon_Offer
- */
- require_once 'Zend/Service/Amazon/Offer.php';
- foreach ($offers as $offer) {
- $this->Offers[] = new Zend_Service_Amazon_Offer($offer);
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Query.php b/airtime_mvc/library/Zend/Service/Amazon/Query.php
deleted file mode 100644
index d97c3be78..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Query.php
+++ /dev/null
@@ -1,98 +0,0 @@
-_searchIndex = 'asin';
- $this->_search['ItemId'] = $args[0];
- return $this;
- }
-
- if (strtolower($method) === 'category') {
- $this->_searchIndex = $args[0];
- $this->_search['SearchIndex'] = $args[0];
- } else if (isset($this->_search['SearchIndex']) || $this->_searchIndex !== null || $this->_searchIndex === 'asin') {
- $this->_search[$method] = $args[0];
- } else {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('You must set a category before setting the search parameters');
- }
-
- return $this;
- }
-
- /**
- * Search using the prepared query
- *
- * @return Zend_Service_Amazon_Item|Zend_Service_Amazon_ResultSet
- */
- public function search()
- {
- if ($this->_searchIndex === 'asin') {
- return $this->itemLookup($this->_search['ItemId'], $this->_search);
- }
- return $this->itemSearch($this->_search);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/ResultSet.php b/airtime_mvc/library/Zend/Service/Amazon/ResultSet.php
deleted file mode 100644
index 9aac14e54..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/ResultSet.php
+++ /dev/null
@@ -1,170 +0,0 @@
- elements
- *
- * @var DOMNodeList
- */
- protected $_results = null;
-
- /**
- * Amazon Web Service Return Document
- *
- * @var DOMDocument
- */
- protected $_dom;
-
- /**
- * XPath Object for $this->_dom
- *
- * @var DOMXPath
- */
- protected $_xpath;
-
- /**
- * Current index for SeekableIterator
- *
- * @var int
- */
- protected $_currentIndex = 0;
-
- /**
- * Create an instance of Zend_Service_Amazon_ResultSet and create the necessary data objects
- *
- * @param DOMDocument $dom
- * @return void
- */
- public function __construct(DOMDocument $dom)
- {
- $this->_dom = $dom;
- $this->_xpath = new DOMXPath($dom);
- $this->_xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- $this->_results = $this->_xpath->query('//az:Item');
- }
-
- /**
- * Total Number of results returned
- *
- * @return int Total number of results returned
- */
- public function totalResults()
- {
- $result = $this->_xpath->query('//az:TotalResults/text()');
- return (int) $result->item(0)->data;
- }
-
- /**
- * Total Number of pages returned
- *
- * @return int Total number of pages returned
- */
- public function totalPages()
- {
- $result = $this->_xpath->query('//az:TotalPages/text()');
- return (int) $result->item(0)->data;
- }
-
- /**
- * Implement SeekableIterator::current()
- *
- * @return Zend_Service_Amazon_Item
- */
- public function current()
- {
- return new Zend_Service_Amazon_Item($this->_results->item($this->_currentIndex));
- }
-
- /**
- * Implement SeekableIterator::key()
- *
- * @return int
- */
- public function key()
- {
- return $this->_currentIndex;
- }
-
- /**
- * Implement SeekableIterator::next()
- *
- * @return void
- */
- public function next()
- {
- $this->_currentIndex += 1;
- }
-
- /**
- * Implement SeekableIterator::rewind()
- *
- * @return void
- */
- public function rewind()
- {
- $this->_currentIndex = 0;
- }
-
- /**
- * Implement SeekableIterator::seek()
- *
- * @param int $index
- * @throws OutOfBoundsException
- * @return void
- */
- public function seek($index)
- {
- $indexInt = (int) $index;
- if ($indexInt >= 0 && (null === $this->_results || $indexInt < $this->_results->length)) {
- $this->_currentIndex = $indexInt;
- } else {
- throw new OutOfBoundsException("Illegal index '$index'");
- }
- }
-
- /**
- * Implement SeekableIterator::valid()
- *
- * @return boolean
- */
- public function valid()
- {
- return null !== $this->_results && $this->_currentIndex < $this->_results->length;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/S3.php b/airtime_mvc/library/Zend/Service/Amazon/S3.php
deleted file mode 100644
index c1e422084..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/S3.php
+++ /dev/null
@@ -1,900 +0,0 @@
-valid()) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception('Invalid endpoint supplied');
- }
- $this->_endpoint = $endpoint;
- return $this;
- }
-
- /**
- * Get current S3 endpoint
- *
- * @return Zend_Uri_Http
- */
- public function getEndpoint()
- {
- return $this->_endpoint;
- }
-
- /**
- * Constructor
- *
- * @param string $accessKey
- * @param string $secretKey
- * @param string $region
- */
- public function __construct($accessKey=null, $secretKey=null, $region=null)
- {
- parent::__construct($accessKey, $secretKey, $region);
-
- $this->setEndpoint('http://'.self::S3_ENDPOINT);
- }
-
- /**
- * Verify if the bucket name is valid
- *
- * @param string $bucket
- * @return boolean
- */
- public function _validBucketName($bucket)
- {
- $len = strlen($bucket);
- if ($len < 3 || $len > 255) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Bucket name \"$bucket\" must be between 3 and 255 characters long");
- }
-
- if (preg_match('/[^a-z0-9\._-]/', $bucket)) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Bucket name \"$bucket\" contains invalid characters");
- }
-
- if (preg_match('/(\d){1,3}\.(\d){1,3}\.(\d){1,3}\.(\d){1,3}/', $bucket)) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Bucket name \"$bucket\" cannot be an IP address");
- }
- return true;
- }
-
- /**
- * Add a new bucket
- *
- * @param string $bucket
- * @return boolean
- */
- public function createBucket($bucket, $location = null)
- {
- $this->_validBucketName($bucket);
-
- if($location) {
- $data = ''.$location.' ';
- }
- else {
- $data = null;
- }
- $response = $this->_makeRequest('PUT', $bucket, null, array(), $data);
-
- return ($response->getStatus() == 200);
- }
-
- /**
- * Checks if a given bucket name is available
- *
- * @param string $bucket
- * @return boolean
- */
- public function isBucketAvailable($bucket)
- {
- $response = $this->_makeRequest('HEAD', $bucket, array('max-keys'=>0));
-
- return ($response->getStatus() != 404);
- }
-
- /**
- * Checks if a given object exists
- *
- * @param string $object
- * @return boolean
- */
- public function isObjectAvailable($object)
- {
- $response = $this->_makeRequest('HEAD', $object);
-
- return ($response->getStatus() == 200);
- }
-
- /**
- * Remove a given bucket. All objects in the bucket must be removed prior
- * to removing the bucket.
- *
- * @param string $bucket
- * @return boolean
- */
- public function removeBucket($bucket)
- {
- $response = $this->_makeRequest('DELETE', $bucket);
-
- // Look for a 204 No Content response
- return ($response->getStatus() == 204);
- }
-
- /**
- * Get metadata information for a given object
- *
- * @param string $object
- * @return array|false
- */
- public function getInfo($object)
- {
- $info = array();
-
- $object = $this->_fixupObjectName($object);
- $response = $this->_makeRequest('HEAD', $object);
-
- if ($response->getStatus() == 200) {
- $info['type'] = $response->getHeader('Content-type');
- $info['size'] = $response->getHeader('Content-length');
- $info['mtime'] = strtotime($response->getHeader('Last-modified'));
- $info['etag'] = $response->getHeader('ETag');
- }
- else {
- return false;
- }
-
- return $info;
- }
-
- /**
- * List the S3 buckets
- *
- * @return array|false
- */
- public function getBuckets()
- {
- $response = $this->_makeRequest('GET');
-
- if ($response->getStatus() != 200) {
- return false;
- }
-
- $xml = new SimpleXMLElement($response->getBody());
-
- $buckets = array();
- foreach ($xml->Buckets->Bucket as $bucket) {
- $buckets[] = (string)$bucket->Name;
- }
-
- return $buckets;
- }
-
- /**
- * Remove all objects in the bucket.
- *
- * @param string $bucket
- * @return boolean
- */
- public function cleanBucket($bucket)
- {
- $objects = $this->getObjectsByBucket($bucket);
- if (!$objects) {
- return false;
- }
-
- foreach ($objects as $object) {
- $this->removeObject("$bucket/$object");
- }
- return true;
- }
-
- /**
- * List the objects in a bucket.
- *
- * Provides the list of object keys that are contained in the bucket. Valid params include the following.
- * prefix - Limits the response to keys which begin with the indicated prefix. You can use prefixes to separate a bucket into different sets of keys in a way similar to how a file system uses folders.
- * marker - Indicates where in the bucket to begin listing. The list will only include keys that occur lexicographically after marker. This is convenient for pagination: To get the next page of results use the last key of the current page as the marker.
- * max-keys - The maximum number of keys you'd like to see in the response body. The server might return fewer than this many keys, but will not return more.
- * delimiter - Causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be rolled up into a single result element in the CommonPrefixes collection. These rolled-up keys are not returned elsewhere in the response.
- *
- * @param string $bucket
- * @param array $params S3 GET Bucket Paramater
- * @return array|false
- */
- public function getObjectsByBucket($bucket, $params = array())
- {
- $response = $this->_makeRequest('GET', $bucket, $params);
-
- if ($response->getStatus() != 200) {
- return false;
- }
-
- $xml = new SimpleXMLElement($response->getBody());
-
- $objects = array();
- if (isset($xml->Contents)) {
- foreach ($xml->Contents as $contents) {
- foreach ($contents->Key as $object) {
- $objects[] = (string)$object;
- }
- }
- }
-
- return $objects;
- }
-
- /**
- * Make sure the object name is valid
- *
- * @param string $object
- * @return string
- */
- protected function _fixupObjectName($object)
- {
- $nameparts = explode('/', $object);
-
- $this->_validBucketName($nameparts[0]);
-
- $firstpart = array_shift($nameparts);
- if (count($nameparts) == 0) {
- return $firstpart;
- }
-
- return $firstpart.'/'.join('/', array_map('rawurlencode', $nameparts));
- }
-
- /**
- * Get an object
- *
- * @param string $object
- * @param bool $paidobject This is "requestor pays" object
- * @return string|false
- */
- public function getObject($object, $paidobject=false)
- {
- $object = $this->_fixupObjectName($object);
- if ($paidobject) {
- $response = $this->_makeRequest('GET', $object, null, array(self::S3_REQUESTPAY_HEADER => 'requester'));
- }
- else {
- $response = $this->_makeRequest('GET', $object);
- }
-
- if ($response->getStatus() != 200) {
- return false;
- }
-
- return $response->getBody();
- }
-
- /**
- * Get an object using streaming
- *
- * Can use either provided filename for storage or create a temp file if none provided.
- *
- * @param string $object Object path
- * @param string $streamfile File to write the stream to
- * @param bool $paidobject This is "requestor pays" object
- * @return Zend_Http_Response_Stream|false
- */
- public function getObjectStream($object, $streamfile = null, $paidobject=false)
- {
- $object = $this->_fixupObjectName($object);
- self::getHttpClient()->setStream($streamfile?$streamfile:true);
- if ($paidobject) {
- $response = $this->_makeRequest('GET', $object, null, array(self::S3_REQUESTPAY_HEADER => 'requester'));
- }
- else {
- $response = $this->_makeRequest('GET', $object);
- }
- self::getHttpClient()->setStream(null);
-
- if ($response->getStatus() != 200 || !($response instanceof Zend_Http_Response_Stream)) {
- return false;
- }
-
- return $response;
- }
-
- /**
- * Upload an object by a PHP string
- *
- * @param string $object Object name
- * @param string|resource $data Object data (can be string or stream)
- * @param array $meta Metadata
- * @return boolean
- */
- public function putObject($object, $data, $meta=null)
- {
- $object = $this->_fixupObjectName($object);
- $headers = (is_array($meta)) ? $meta : array();
-
- if(!is_resource($data)) {
- $headers['Content-MD5'] = base64_encode(md5($data, true));
- }
- $headers['Expect'] = '100-continue';
-
- if (!isset($headers[self::S3_CONTENT_TYPE_HEADER])) {
- $headers[self::S3_CONTENT_TYPE_HEADER] = self::getMimeType($object);
- }
-
- $response = $this->_makeRequest('PUT', $object, null, $headers, $data);
-
- // Check the MD5 Etag returned by S3 against and MD5 of the buffer
- if ($response->getStatus() == 200) {
- // It is escaped by double quotes for some reason
- $etag = str_replace('"', '', $response->getHeader('Etag'));
-
- if (is_resource($data) || $etag == md5($data)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Put file to S3 as object
- *
- * @param string $path File name
- * @param string $object Object name
- * @param array $meta Metadata
- * @return boolean
- */
- public function putFile($path, $object, $meta=null)
- {
- $data = @file_get_contents($path);
- if ($data === false) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Cannot read file $path");
- }
-
- if (!is_array($meta)) {
- $meta = array();
- }
-
- if (!isset($meta[self::S3_CONTENT_TYPE_HEADER])) {
- $meta[self::S3_CONTENT_TYPE_HEADER] = self::getMimeType($path);
- }
-
- return $this->putObject($object, $data, $meta);
- }
-
- /**
- * Put file to S3 as object, using streaming
- *
- * @param string $path File name
- * @param string $object Object name
- * @param array $meta Metadata
- * @return boolean
- */
- public function putFileStream($path, $object, $meta=null)
- {
- $data = @fopen($path, "rb");
- if ($data === false) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Cannot open file $path");
- }
-
- if (!is_array($meta)) {
- $meta = array();
- }
-
- if (!isset($meta[self::S3_CONTENT_TYPE_HEADER])) {
- $meta[self::S3_CONTENT_TYPE_HEADER] = self::getMimeType($path);
- }
-
- if(!isset($meta['Content-MD5'])) {
- $headers['Content-MD5'] = base64_encode(md5_file($path, true));
- }
-
- return $this->putObject($object, $data, $meta);
- }
-
- /**
- * Remove a given object
- *
- * @param string $object
- * @return boolean
- */
- public function removeObject($object)
- {
- $object = $this->_fixupObjectName($object);
- $response = $this->_makeRequest('DELETE', $object);
-
- // Look for a 204 No Content response
- return ($response->getStatus() == 204);
- }
-
- /**
- * Make a request to Amazon S3
- *
- * @param string $method Request method
- * @param string $path Path to requested object
- * @param array $params Request parameters
- * @param array $headers HTTP headers
- * @param string|resource $data Request data
- * @return Zend_Http_Response
- */
- public function _makeRequest($method, $path='', $params=null, $headers=array(), $data=null)
- {
- $retry_count = 0;
-
- if (!is_array($headers)) {
- $headers = array($headers);
- }
-
- $headers['Date'] = gmdate(DATE_RFC1123, time());
-
- if(is_resource($data) && $method != 'PUT') {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Only PUT request supports stream data");
- }
-
- // build the end point out
- $parts = explode('/', $path, 2);
- $endpoint = clone($this->_endpoint);
- if ($parts[0]) {
- // prepend bucket name to the hostname
- $endpoint->setHost($parts[0].'.'.$endpoint->getHost());
- }
- if (!empty($parts[1])) {
- $endpoint->setPath('/'.$parts[1]);
- }
- else {
- $endpoint->setPath('/');
- if ($parts[0]) {
- $path = $parts[0].'/';
- }
- }
-
- self::addSignature($method, $path, $headers);
-
- $client = self::getHttpClient();
-
- $client->resetParameters();
- $client->setUri($endpoint);
- $client->setAuth(false);
- // Work around buglet in HTTP client - it doesn't clean headers
- // Remove when ZHC is fixed
- $client->setHeaders(array('Content-MD5' => null,
- 'Expect' => null,
- 'Range' => null,
- 'x-amz-acl' => null));
-
- $client->setHeaders($headers);
-
- if (is_array($params)) {
- foreach ($params as $name=>$value) {
- $client->setParameterGet($name, $value);
- }
- }
-
- if (($method == 'PUT') && ($data !== null)) {
- if (!isset($headers['Content-type'])) {
- $headers['Content-type'] = self::getMimeType($path);
- }
- $client->setRawData($data, $headers['Content-type']);
- }
- do {
- $retry = false;
-
- $response = $client->request($method);
- $response_code = $response->getStatus();
-
- // Some 5xx errors are expected, so retry automatically
- if ($response_code >= 500 && $response_code < 600 && $retry_count <= 5) {
- $retry = true;
- $retry_count++;
- sleep($retry_count / 4 * $retry_count);
- }
- else if ($response_code == 307) {
- // Need to redirect, new S3 endpoint given
- // This should never happen as Zend_Http_Client will redirect automatically
- }
- else if ($response_code == 100) {
- // echo 'OK to Continue';
- }
- } while ($retry);
-
- return $response;
- }
-
- /**
- * Add the S3 Authorization signature to the request headers
- *
- * @param string $method
- * @param string $path
- * @param array &$headers
- * @return string
- */
- protected function addSignature($method, $path, &$headers)
- {
- if (!is_array($headers)) {
- $headers = array($headers);
- }
-
- $type = $md5 = $date = '';
-
- // Search for the Content-type, Content-MD5 and Date headers
- foreach ($headers as $key=>$val) {
- if (strcasecmp($key, 'content-type') == 0) {
- $type = $val;
- }
- else if (strcasecmp($key, 'content-md5') == 0) {
- $md5 = $val;
- }
- else if (strcasecmp($key, 'date') == 0) {
- $date = $val;
- }
- }
-
- // If we have an x-amz-date header, use that instead of the normal Date
- if (isset($headers['x-amz-date']) && isset($date)) {
- $date = '';
- }
-
- $sig_str = "$method\n$md5\n$type\n$date\n";
- // For x-amz- headers, combine like keys, lowercase them, sort them
- // alphabetically and remove excess spaces around values
- $amz_headers = array();
- foreach ($headers as $key=>$val) {
- $key = strtolower($key);
- if (substr($key, 0, 6) == 'x-amz-') {
- if (is_array($val)) {
- $amz_headers[$key] = $val;
- }
- else {
- $amz_headers[$key][] = preg_replace('/\s+/', ' ', $val);
- }
- }
- }
- if (!empty($amz_headers)) {
- ksort($amz_headers);
- foreach ($amz_headers as $key=>$val) {
- $sig_str .= $key.':'.implode(',', $val)."\n";
- }
- }
-
- $sig_str .= '/'.parse_url($path, PHP_URL_PATH);
- if (strpos($path, '?location') !== false) {
- $sig_str .= '?location';
- }
- else if (strpos($path, '?acl') !== false) {
- $sig_str .= '?acl';
- }
- else if (strpos($path, '?torrent') !== false) {
- $sig_str .= '?torrent';
- }
-
- $signature = base64_encode(Zend_Crypt_Hmac::compute($this->_getSecretKey(), 'sha1', utf8_encode($sig_str), Zend_Crypt_Hmac::BINARY));
- $headers['Authorization'] = 'AWS '.$this->_getAccessKey().':'.$signature;
-
- return $sig_str;
- }
-
- /**
- * Attempt to get the content-type of a file based on the extension
- *
- * @param string $path
- * @return string
- */
- public static function getMimeType($path)
- {
- $ext = substr(strrchr($path, '.'), 1);
-
- if(!$ext) {
- // shortcut
- return 'binary/octet-stream';
- }
-
- switch (strtolower($ext)) {
- case 'xls':
- $content_type = 'application/excel';
- break;
- case 'hqx':
- $content_type = 'application/macbinhex40';
- break;
- case 'doc':
- case 'dot':
- case 'wrd':
- $content_type = 'application/msword';
- break;
- case 'pdf':
- $content_type = 'application/pdf';
- break;
- case 'pgp':
- $content_type = 'application/pgp';
- break;
- case 'ps':
- case 'eps':
- case 'ai':
- $content_type = 'application/postscript';
- break;
- case 'ppt':
- $content_type = 'application/powerpoint';
- break;
- case 'rtf':
- $content_type = 'application/rtf';
- break;
- case 'tgz':
- case 'gtar':
- $content_type = 'application/x-gtar';
- break;
- case 'gz':
- $content_type = 'application/x-gzip';
- break;
- case 'php':
- case 'php3':
- case 'php4':
- $content_type = 'application/x-httpd-php';
- break;
- case 'js':
- $content_type = 'application/x-javascript';
- break;
- case 'ppd':
- case 'psd':
- $content_type = 'application/x-photoshop';
- break;
- case 'swf':
- case 'swc':
- case 'rf':
- $content_type = 'application/x-shockwave-flash';
- break;
- case 'tar':
- $content_type = 'application/x-tar';
- break;
- case 'zip':
- $content_type = 'application/zip';
- break;
- case 'mid':
- case 'midi':
- case 'kar':
- $content_type = 'audio/midi';
- break;
- case 'mp2':
- case 'mp3':
- case 'mpga':
- $content_type = 'audio/mpeg';
- break;
- case 'ra':
- $content_type = 'audio/x-realaudio';
- break;
- case 'wav':
- $content_type = 'audio/wav';
- break;
- case 'bmp':
- $content_type = 'image/bitmap';
- break;
- case 'gif':
- $content_type = 'image/gif';
- break;
- case 'iff':
- $content_type = 'image/iff';
- break;
- case 'jb2':
- $content_type = 'image/jb2';
- break;
- case 'jpg':
- case 'jpe':
- case 'jpeg':
- $content_type = 'image/jpeg';
- break;
- case 'jpx':
- $content_type = 'image/jpx';
- break;
- case 'png':
- $content_type = 'image/png';
- break;
- case 'tif':
- case 'tiff':
- $content_type = 'image/tiff';
- break;
- case 'wbmp':
- $content_type = 'image/vnd.wap.wbmp';
- break;
- case 'xbm':
- $content_type = 'image/xbm';
- break;
- case 'css':
- $content_type = 'text/css';
- break;
- case 'txt':
- $content_type = 'text/plain';
- break;
- case 'htm':
- case 'html':
- $content_type = 'text/html';
- break;
- case 'xml':
- $content_type = 'text/xml';
- break;
- case 'xsl':
- $content_type = 'text/xsl';
- break;
- case 'mpg':
- case 'mpe':
- case 'mpeg':
- $content_type = 'video/mpeg';
- break;
- case 'qt':
- case 'mov':
- $content_type = 'video/quicktime';
- break;
- case 'avi':
- $content_type = 'video/x-ms-video';
- break;
- case 'eml':
- $content_type = 'message/rfc822';
- break;
- default:
- $content_type = 'binary/octet-stream';
- break;
- }
-
- return $content_type;
- }
-
- /**
- * Register this object as stream wrapper client
- *
- * @param string $name
- * @return Zend_Service_Amazon_S3
- */
- public function registerAsClient($name)
- {
- self::$_wrapperClients[$name] = $this;
- return $this;
- }
-
- /**
- * Unregister this object as stream wrapper client
- *
- * @param string $name
- * @return Zend_Service_Amazon_S3
- */
- public function unregisterAsClient($name)
- {
- unset(self::$_wrapperClients[$name]);
- return $this;
- }
-
- /**
- * Get wrapper client for stream type
- *
- * @param string $name
- * @return Zend_Service_Amazon_S3
- */
- public static function getWrapperClient($name)
- {
- return self::$_wrapperClients[$name];
- }
-
- /**
- * Register this object as stream wrapper
- *
- * @param string $name
- * @return Zend_Service_Amazon_S3
- */
- public function registerStreamWrapper($name='s3')
- {
- /**
- * @see Zend_Service_Amazon_S3_Stream
- */
- require_once 'Zend/Service/Amazon/S3/Stream.php';
-
- stream_register_wrapper($name, 'Zend_Service_Amazon_S3_Stream');
- $this->registerAsClient($name);
- }
-
- /**
- * Unregister this object as stream wrapper
- *
- * @param string $name
- * @return Zend_Service_Amazon_S3
- */
- public function unregisterStreamWrapper($name='s3')
- {
- stream_wrapper_unregister($name);
- $this->unregisterAsClient($name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/S3/Exception.php b/airtime_mvc/library/Zend/Service/Amazon/S3/Exception.php
deleted file mode 100644
index 93ebb901e..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/S3/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_s3 === null) {
- $url = explode(':', $path);
-
- if (!$url) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Unable to parse URL $path");
- }
-
- $this->_s3 = Zend_Service_Amazon_S3::getWrapperClient($url[0]);
- if (!$this->_s3) {
- /**
- * @see Zend_Service_Amazon_S3_Exception
- */
- require_once 'Zend/Service/Amazon/S3/Exception.php';
- throw new Zend_Service_Amazon_S3_Exception("Unknown client for wrapper {$url[0]}");
- }
- }
-
- return $this->_s3;
- }
-
- /**
- * Extract object name from URL
- *
- * @param string $path
- * @return string
- */
- protected function _getNamePart($path)
- {
- $url = parse_url($path);
- if ($url['host']) {
- return !empty($url['path']) ? $url['host'].$url['path'] : $url['host'];
- }
-
- return '';
- }
- /**
- * Open the stream
- *
- * @param string $path
- * @param string $mode
- * @param integer $options
- * @param string $opened_path
- * @return boolean
- */
- public function stream_open($path, $mode, $options, $opened_path)
- {
- $name = $this->_getNamePart($path);
- // If we open the file for writing, just return true. Create the object
- // on fflush call
- if (strpbrk($mode, 'wax')) {
- $this->_objectName = $name;
- $this->_objectBuffer = null;
- $this->_objectSize = 0;
- $this->_position = 0;
- $this->_writeBuffer = true;
- $this->_getS3Client($path);
- return true;
- }
- else {
- // Otherwise, just see if the file exists or not
- $info = $this->_getS3Client($path)->getInfo($name);
- if ($info) {
- $this->_objectName = $name;
- $this->_objectBuffer = null;
- $this->_objectSize = $info['size'];
- $this->_position = 0;
- $this->_writeBuffer = false;
- $this->_getS3Client($path);
- return true;
- }
- }
- return false;
- }
-
- /**
- * Close the stream
- *
- * @return void
- */
- public function stream_close()
- {
- $this->_objectName = null;
- $this->_objectBuffer = null;
- $this->_objectSize = 0;
- $this->_position = 0;
- $this->_writeBuffer = false;
- unset($this->_s3);
- }
-
- /**
- * Read from the stream
- *
- * @param integer $count
- * @return string
- */
- public function stream_read($count)
- {
- if (!$this->_objectName) {
- return false;
- }
-
- $range_start = $this->_position;
- $range_end = $this->_position+$count;
-
- // Only fetch more data from S3 if we haven't fetched any data yet (postion=0)
- // OR, the range end position is greater than the size of the current object
- // buffer AND if the range end position is less than or equal to the object's
- // size returned by S3
- if (($this->_position == 0) || (($range_end > strlen($this->_objectBuffer)) && ($range_end <= $this->_objectSize))) {
-
- $headers = array(
- 'Range' => "$range_start-$range_end"
- );
-
- $response = $this->_s3->_makeRequest('GET', $this->_objectName, null, $headers);
-
- if ($response->getStatus() == 200) {
- $this->_objectBuffer .= $response->getBody();
- }
- }
-
- $data = substr($this->_objectBuffer, $this->_position, $count);
- $this->_position += strlen($data);
- return $data;
- }
-
- /**
- * Write to the stream
- *
- * @param string $data
- * @return integer
- */
- public function stream_write($data)
- {
- if (!$this->_objectName) {
- return 0;
- }
- $len = strlen($data);
- $this->_objectBuffer .= $data;
- $this->_objectSize += $len;
- // TODO: handle current position for writing!
- return $len;
- }
-
- /**
- * End of the stream?
- *
- * @return boolean
- */
- public function stream_eof()
- {
- if (!$this->_objectName) {
- return true;
- }
-
- return ($this->_position >= $this->_objectSize);
- }
-
- /**
- * What is the current read/write position of the stream
- *
- * @return integer
- */
- public function stream_tell()
- {
- return $this->_position;
- }
-
- /**
- * Update the read/write position of the stream
- *
- * @param integer $offset
- * @param integer $whence
- * @return boolean
- */
- public function stream_seek($offset, $whence)
- {
- if (!$this->_objectName) {
- return false;
- }
-
- switch ($whence) {
- case SEEK_CUR:
- // Set position to current location plus $offset
- $new_pos = $this->_position + $offset;
- break;
- case SEEK_END:
- // Set position to end-of-file plus $offset
- $new_pos = $this->_objectSize + $offset;
- break;
- case SEEK_SET:
- default:
- // Set position equal to $offset
- $new_pos = $offset;
- break;
- }
- $ret = ($new_pos >= 0 && $new_pos <= $this->_objectSize);
- if ($ret) {
- $this->_position = $new_pos;
- }
- return $ret;
- }
-
- /**
- * Flush current cached stream data to storage
- *
- * @return boolean
- */
- public function stream_flush()
- {
- // If the stream wasn't opened for writing, just return false
- if (!$this->_writeBuffer) {
- return false;
- }
-
- $ret = $this->_s3->putObject($this->_objectName, $this->_objectBuffer);
-
- $this->_objectBuffer = null;
-
- return $ret;
- }
-
- /**
- * Returns data array of stream variables
- *
- * @return array
- */
- public function stream_stat()
- {
- if (!$this->_objectName) {
- return false;
- }
-
- $stat = array();
- $stat['dev'] = 0;
- $stat['ino'] = 0;
- $stat['mode'] = 0777;
- $stat['nlink'] = 0;
- $stat['uid'] = 0;
- $stat['gid'] = 0;
- $stat['rdev'] = 0;
- $stat['size'] = 0;
- $stat['atime'] = 0;
- $stat['mtime'] = 0;
- $stat['ctime'] = 0;
- $stat['blksize'] = 0;
- $stat['blocks'] = 0;
-
- if(($slash = strchr($this->_objectName, '/')) === false || $slash == strlen($this->_objectName)-1) {
- /* bucket */
- $stat['mode'] |= 040000;
- } else {
- $stat['mode'] |= 0100000;
- }
- $info = $this->_s3->getInfo($this->_objectName);
- if (!empty($info)) {
- $stat['size'] = $info['size'];
- $stat['atime'] = time();
- $stat['mtime'] = $info['mtime'];
- }
-
- return $stat;
- }
-
- /**
- * Attempt to delete the item
- *
- * @param string $path
- * @return boolean
- */
- public function unlink($path)
- {
- return $this->_getS3Client($path)->removeObject($this->_getNamePart($path));
- }
-
- /**
- * Attempt to rename the item
- *
- * @param string $path_from
- * @param string $path_to
- * @return boolean False
- */
- public function rename($path_from, $path_to)
- {
- // TODO: Renaming isn't supported, always return false
- return false;
- }
-
- /**
- * Create a new directory
- *
- * @param string $path
- * @param integer $mode
- * @param integer $options
- * @return boolean
- */
- public function mkdir($path, $mode, $options)
- {
- return $this->_getS3Client($path)->createBucket(parse_url($path, PHP_URL_HOST));
- }
-
- /**
- * Remove a directory
- *
- * @param string $path
- * @param integer $options
- * @return boolean
- */
- public function rmdir($path, $options)
- {
- return $this->_getS3Client($path)->removeBucket(parse_url($path, PHP_URL_HOST));
- }
-
- /**
- * Attempt to open a directory
- *
- * @param string $path
- * @param integer $options
- * @return boolean
- */
- public function dir_opendir($path, $options)
- {
-
- if (preg_match('@^([a-z0-9+.]|-)+://$@', $path)) {
- $this->_bucketList = $this->_getS3Client($path)->getBuckets();
- }
- else {
- $host = parse_url($path, PHP_URL_HOST);
- $this->_bucketList = $this->_getS3Client($path)->getObjectsByBucket($host);
- }
-
- return ($this->_bucketList !== false);
- }
-
- /**
- * Return array of URL variables
- *
- * @param string $path
- * @param integer $flags
- * @return array
- */
- public function url_stat($path, $flags)
- {
- $stat = array();
- $stat['dev'] = 0;
- $stat['ino'] = 0;
- $stat['mode'] = 0777;
- $stat['nlink'] = 0;
- $stat['uid'] = 0;
- $stat['gid'] = 0;
- $stat['rdev'] = 0;
- $stat['size'] = 0;
- $stat['atime'] = 0;
- $stat['mtime'] = 0;
- $stat['ctime'] = 0;
- $stat['blksize'] = 0;
- $stat['blocks'] = 0;
-
- $name = $this->_getNamePart($path);
- if(($slash = strchr($name, '/')) === false || $slash == strlen($name)-1) {
- /* bucket */
- $stat['mode'] |= 040000;
- } else {
- $stat['mode'] |= 0100000;
- }
- $info = $this->_getS3Client($path)->getInfo($name);
-
- if (!empty($info)) {
- $stat['size'] = $info['size'];
- $stat['atime'] = time();
- $stat['mtime'] = $info['mtime'];
- }
-
- return $stat;
- }
-
- /**
- * Return the next filename in the directory
- *
- * @return string
- */
- public function dir_readdir()
- {
- $object = current($this->_bucketList);
- if ($object !== false) {
- next($this->_bucketList);
- }
- return $object;
- }
-
- /**
- * Reset the directory pointer
- *
- * @return boolean True
- */
- public function dir_rewinddir()
- {
- reset($this->_bucketList);
- return true;
- }
-
- /**
- * Close a directory
- *
- * @return boolean True
- */
- public function dir_closedir()
- {
- $this->_bucketList = array();
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/SimilarProduct.php b/airtime_mvc/library/Zend/Service/Amazon/SimilarProduct.php
deleted file mode 100644
index 9f42c0a92..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/SimilarProduct.php
+++ /dev/null
@@ -1,61 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('az', 'http://webservices.amazon.com/AWSECommerceService/2005-10-05');
- foreach (array('ASIN', 'Title') as $el) {
- $text = $xpath->query("./az:$el/text()", $dom)->item(0);
- if($text instanceof DOMText) {
- $this->$el = (string)$text->data;
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Sqs.php b/airtime_mvc/library/Zend/Service/Amazon/Sqs.php
deleted file mode 100644
index 4f01d4384..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Sqs.php
+++ /dev/null
@@ -1,444 +0,0 @@
-_makeRequest(null, 'CreateQueue', $params);
-
- if ($result->CreateQueueResult->QueueUrl === null) {
- if ($result->Error->Code == 'AWS.SimpleQueueService.QueueNameExists') {
- return false;
- } elseif ($result->Error->Code == 'AWS.SimpleQueueService.QueueDeletedRecently') {
- // Must sleep for 60 seconds, then try re-creating the queue
- sleep(60);
- $retry = true;
- $retry_count++;
- } else {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
- }
- } else {
- return (string) $result->CreateQueueResult->QueueUrl;
- }
-
- } while ($retry);
-
- return false;
- }
-
- /**
- * Delete a queue and all of it's messages
- *
- * Returns false if the queue is not found, true if the queue exists
- *
- * @param string $queue_url queue URL
- * @return boolean
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function delete($queue_url)
- {
- $result = $this->_makeRequest($queue_url, 'DeleteQueue');
-
- if ($result->Error->Code !== null) {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
- }
-
- return true;
- }
-
- /**
- * Get an array of all available queues
- *
- * @return array
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function getQueues()
- {
- $result = $this->_makeRequest(null, 'ListQueues');
-
- if ($result->ListQueuesResult->QueueUrl === null) {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
- }
-
- $queues = array();
- foreach ($result->ListQueuesResult->QueueUrl as $queue_url) {
- $queues[] = (string)$queue_url;
- }
-
- return $queues;
- }
-
- /**
- * Return the approximate number of messages in the queue
- *
- * @param string $queue_url Queue URL
- * @return integer
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function count($queue_url)
- {
- return (int)$this->getAttribute($queue_url, 'ApproximateNumberOfMessages');
- }
-
- /**
- * Send a message to the queue
- *
- * @param string $queue_url Queue URL
- * @param string $message Message to send to the queue
- * @return string Message ID
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function send($queue_url, $message)
- {
- $params = array();
- $params['MessageBody'] = urlencode($message);
-
- $checksum = md5($params['MessageBody']);
-
- $result = $this->_makeRequest($queue_url, 'SendMessage', $params);
-
- if ($result->SendMessageResult->MessageId === null) {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
- } else if ((string) $result->SendMessageResult->MD5OfMessageBody != $checksum) {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception('MD5 of body does not match message sent');
- }
-
- return (string) $result->SendMessageResult->MessageId;
- }
-
- /**
- * Get messages in the queue
- *
- * @param string $queue_url Queue name
- * @param integer $max_messages Maximum number of messages to return
- * @param integer $timeout Visibility timeout for these messages
- * @return array
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function receive($queue_url, $max_messages = null, $timeout = null)
- {
- $params = array();
-
- // If not set, the visibility timeout on the queue is used
- if ($timeout !== null) {
- $params['VisibilityTimeout'] = (int)$timeout;
- }
-
- // SQS will default to only returning one message
- if ($max_messages !== null) {
- $params['MaxNumberOfMessages'] = (int)$max_messages;
- }
-
- $result = $this->_makeRequest($queue_url, 'ReceiveMessage', $params);
-
- if ($result->ReceiveMessageResult->Message === null) {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
- }
-
- $data = array();
- foreach ($result->ReceiveMessageResult->Message as $message) {
- $data[] = array(
- 'message_id' => (string)$message->MessageId,
- 'handle' => (string)$message->ReceiptHandle,
- 'md5' => (string)$message->MD5OfBody,
- 'body' => urldecode((string)$message->Body),
- );
- }
-
- return $data;
- }
-
- /**
- * Delete a message from the queue
- *
- * Returns true if the message is deleted, false if the deletion is
- * unsuccessful.
- *
- * @param string $queue_url Queue URL
- * @param string $handle Message handle as returned by SQS
- * @return boolean
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function deleteMessage($queue_url, $handle)
- {
- $params = array();
- $params['ReceiptHandle'] = (string)$handle;
-
- $result = $this->_makeRequest($queue_url, 'DeleteMessage', $params);
-
- if ($result->Error->Code !== null) {
- return false;
- }
-
- // Will always return true unless ReceiptHandle is malformed
- return true;
- }
-
- /**
- * Get the attributes for the queue
- *
- * @param string $queue_url Queue URL
- * @param string $attribute
- * @return string
- * @throws Zend_Service_Amazon_Sqs_Exception
- */
- public function getAttribute($queue_url, $attribute = 'All')
- {
- $params = array();
- $params['AttributeName'] = $attribute;
-
- $result = $this->_makeRequest($queue_url, 'GetQueueAttributes', $params);
-
- if ($result->GetQueueAttributesResult->Attribute === null) {
- require_once 'Zend/Service/Amazon/Sqs/Exception.php';
- throw new Zend_Service_Amazon_Sqs_Exception($result->Error->Code);
- }
-
- if(count($result->GetQueueAttributesResult->Attribute) > 1) {
- $attr_result = array();
- foreach($result->GetQueueAttributesResult->Attribute as $attribute) {
- $attr_result[(string)$attribute->Name] = (string)$attribute->Value;
- }
- return $attr_result;
- } else {
- return (string) $result->GetQueueAttributesResult->Attribute->Value;
- }
- }
-
- /**
- * Make a request to Amazon SQS
- *
- * @param string $queue Queue Name
- * @param string $action SQS action
- * @param array $params
- * @return SimpleXMLElement
- */
- private function _makeRequest($queue_url, $action, $params = array())
- {
- $params['Action'] = $action;
- $params = $this->addRequiredParameters($queue_url, $params);
-
- if ($queue_url === null) {
- $queue_url = '/';
- }
-
- $client = self::getHttpClient();
-
- switch ($action) {
- case 'ListQueues':
- case 'CreateQueue':
- $client->setUri('http://'.$this->_sqsEndpoint);
- break;
- default:
- $client->setUri($queue_url);
- break;
- }
-
- $retry_count = 0;
-
- do {
- $retry = false;
-
- $client->resetParameters();
- $client->setParameterGet($params);
-
- $response = $client->request('GET');
-
- $response_code = $response->getStatus();
-
- // Some 5xx errors are expected, so retry automatically
- if ($response_code >= 500 && $response_code < 600 && $retry_count <= 5) {
- $retry = true;
- $retry_count++;
- sleep($retry_count / 4 * $retry_count);
- }
- } while ($retry);
-
- unset($client);
-
- return new SimpleXMLElement($response->getBody());
- }
-
- /**
- * Adds required authentication and version parameters to an array of
- * parameters
- *
- * The required parameters are:
- * - AWSAccessKey
- * - SignatureVersion
- * - Timestamp
- * - Version and
- * - Signature
- *
- * If a required parameter is already set in the $parameters array,
- * it is overwritten.
- *
- * @param string $queue_url Queue URL
- * @param array $parameters the array to which to add the required
- * parameters.
- * @return array
- */
- protected function addRequiredParameters($queue_url, array $parameters)
- {
- $parameters['AWSAccessKeyId'] = $this->_getAccessKey();
- $parameters['SignatureVersion'] = $this->_sqsSignatureVersion;
- $parameters['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z', time()+10);
- $parameters['Version'] = $this->_sqsApiVersion;
- $parameters['SignatureMethod'] = $this->_sqsSignatureMethod;
- $parameters['Signature'] = $this->_signParameters($queue_url, $parameters);
-
- return $parameters;
- }
-
- /**
- * Computes the RFC 2104-compliant HMAC signature for request parameters
- *
- * This implements the Amazon Web Services signature, as per the following
- * specification:
- *
- * 1. Sort all request parameters (including SignatureVersion and
- * excluding Signature , the value of which is being created),
- * ignoring case.
- *
- * 2. Iterate over the sorted list and append the parameter name (in its
- * original case) and then its value. Do not URL-encode the parameter
- * values before constructing this string. Do not use any separator
- * characters when appending strings.
- *
- * @param string $queue_url Queue URL
- * @param array $parameters the parameters for which to get the signature.
- *
- * @return string the signed data.
- */
- protected function _signParameters($queue_url, array $paramaters)
- {
- $data = "GET\n";
- $data .= $this->_sqsEndpoint . "\n";
- if ($queue_url !== null) {
- $data .= parse_url($queue_url, PHP_URL_PATH);
- }
- else {
- $data .= '/';
- }
- $data .= "\n";
-
- uksort($paramaters, 'strcmp');
- unset($paramaters['Signature']);
-
- $arrData = array();
- foreach($paramaters as $key => $value) {
- $arrData[] = $key . '=' . str_replace('%7E', '~', urlencode($value));
- }
-
- $data .= implode('&', $arrData);
-
- $hmac = Zend_Crypt_Hmac::compute($this->_getSecretKey(), 'SHA256', $data, Zend_Crypt_Hmac::BINARY);
-
- return base64_encode($hmac);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Amazon/Sqs/Exception.php b/airtime_mvc/library/Zend/Service/Amazon/Sqs/Exception.php
deleted file mode 100644
index e15a14537..000000000
--- a/airtime_mvc/library/Zend/Service/Amazon/Sqs/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-set('version', '1.0');
-
- iconv_set_encoding('output_encoding', 'UTF-8');
- iconv_set_encoding('input_encoding', 'UTF-8');
- iconv_set_encoding('internal_encoding', 'UTF-8');
- }
-
- /**
- * Set Http Client
- *
- * @param Zend_Http_Client $client
- */
- public function setHttpClient(Zend_Http_Client $client)
- {
- $this->_client = $client;
- }
-
- /**
- * Get current http client.
- *
- * @return Zend_Http_Client
- */
- public function getHttpClient()
- {
- if($this->_client == null) {
- $this->lazyLoadHttpClient();
- }
- return $this->_client;
- }
-
- /**
- * Lazy load Http Client if none is instantiated yet.
- *
- * @return void
- */
- protected function lazyLoadHttpClient()
- {
- $this->_client = new Zend_Http_Client();
- }
-
- /**
- * Returns a field value, or false if the named field does not exist
- *
- * @param string $field
- * @return string|false
- */
- public function get($field)
- {
- if (array_key_exists($field, $this->_params)) {
- return $this->_params[$field];
- } else {
- return false;
- }
- }
-
- /**
- * Generic set action for a field in the parameters being used
- *
- * @param string $field name of field to set
- * @param string $value value to assign to the named field
- * @return Zend_Service_Audioscrobbler Provides a fluent interface
- */
- public function set($field, $value)
- {
- $this->_params[$field] = urlencode($value);
-
- return $this;
- }
-
- /**
- * Protected method that queries REST service and returns SimpleXML response set
- *
- * @param string $service name of Audioscrobbler service file we're accessing
- * @param string $params parameters that we send to the service if needded
- * @throws Zend_Http_Client_Exception
- * @throws Zend_Service_Exception
- * @return SimpleXMLElement result set
- * @access protected
- */
- protected function _getInfo($service, $params = null)
- {
- $service = (string) $service;
- $params = (string) $params;
-
- if ($params === '') {
- $this->getHttpClient()->setUri("http://ws.audioscrobbler.com{$service}");
- } else {
- $this->getHttpClient()->setUri("http://ws.audioscrobbler.com{$service}?{$params}");
- }
-
- $response = $this->getHttpClient()->request();
- $responseBody = $response->getBody();
-
- if (preg_match('/No such path/', $responseBody)) {
- /**
- * @see Zend_Http_Client_Exception
- */
- require_once 'Zend/Http/Client/Exception.php';
- throw new Zend_Http_Client_Exception('Could not find: ' . $this->_client->getUri());
- } elseif (preg_match('/No user exists with this name/', $responseBody)) {
- /**
- * @see Zend_Http_Client_Exception
- */
- require_once 'Zend/Http/Client/Exception.php';
- throw new Zend_Http_Client_Exception('No user exists with this name');
- } elseif (!$response->isSuccessful()) {
- /**
- * @see Zend_Http_Client_Exception
- */
- require_once 'Zend/Http/Client/Exception.php';
- throw new Zend_Http_Client_Exception('The web service ' . $this->_client->getUri() . ' returned the following status code: ' . $response->getStatus());
- }
-
- set_error_handler(array($this, '_errorHandler'));
-
- if (!$simpleXmlElementResponse = simplexml_load_string($responseBody)) {
- restore_error_handler();
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- $exception = new Zend_Service_Exception('Response failed to load with SimpleXML');
- $exception->error = $this->_error;
- $exception->response = $responseBody;
- throw $exception;
- }
-
- restore_error_handler();
-
- return $simpleXmlElementResponse;
- }
-
- /**
- * Utility function to get Audioscrobbler profile information (eg: Name, Gender)
- *
- * @return array containing information
- */
- public function userGetProfileInformation()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/profile.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function get this user's 50 most played artists
- *
- * @return array containing info
- */
- public function userGetTopArtists()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/topartists.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function to get this user's 50 most played albums
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetTopAlbums()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/topalbums.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function to get this user's 50 most played tracks
- * @return SimpleXML object containing resut set
- */
- public function userGetTopTracks()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/toptracks.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function to get this user's 50 most used tags
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetTopTags()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/tags.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns the user's top tags used most used on a specific artist
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetTopTagsForArtist()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/artisttags.xml";
- $params = "artist={$this->get('artist')}";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Utility function that returns this user's top tags for an album
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetTopTagsForAlbum()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/albumtags.xml";
- $params = "artist={$this->get('artist')}&album={$this->get('album')}";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Utility function that returns this user's top tags for a track
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetTopTagsForTrack()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/tracktags.xml";
- $params = "artist={$this->get('artist')}&track={$this->get('track')}";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Utility function that retrieves this user's list of friends
- * @return SimpleXMLElement object containing result set
- */
- public function userGetFriends()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/friends.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of people with similar listening preferences to this user
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetNeighbours()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/neighbours.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of the 10 most recent tracks played by this user
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetRecentTracks()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/recenttracks.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of the 10 tracks most recently banned by this user
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetRecentBannedTracks()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/recentbannedtracks.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of the 10 tracks most recently loved by this user
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetRecentLovedTracks()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/recentlovedtracks.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of dates of available weekly charts for a this user
- *
- * Should actually be named userGetWeeklyChartDateList() but we have to follow audioscrobbler's naming
- *
- * @return SimpleXMLElement object containing result set
- */
- public function userGetWeeklyChartList()
- {
- $service = "/{$this->get('version')}/user/{$this->get('user')}/weeklychartlist.xml";
- return $this->_getInfo($service);
- }
-
-
- /**
- * Utility function that returns weekly album chart data for this user
- *
- * @param integer $from optional UNIX timestamp for start of date range
- * @param integer $to optional UNIX timestamp for end of date range
- * @return SimpleXMLElement object containing result set
- */
- public function userGetWeeklyAlbumChart($from = NULL, $to = NULL)
- {
- $params = "";
-
- if ($from != NULL && $to != NULL) {
- $from = (int)$from;
- $to = (int)$to;
- $params = "from={$from}&to={$to}";
- }
-
- $service = "/{$this->get('version')}/user/{$this->get('user')}/weeklyalbumchart.xml";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Utility function that returns weekly artist chart data for this user
- *
- * @param integer $from optional UNIX timestamp for start of date range
- * @param integer $to optional UNIX timestamp for end of date range
- * @return SimpleXMLElement object containing result set
- */
- public function userGetWeeklyArtistChart($from = NULL, $to = NULL)
- {
- $params = "";
-
- if ($from != NULL && $to != NULL) {
- $from = (int)$from;
- $to = (int)$to;
- $params = "from={$from}&to={$to}";
- }
-
- $service = "/{$this->get('version')}/user/{$this->get('user')}/weeklyartistchart.xml";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Utility function that returns weekly track chart data for this user
- *
- * @param integer $from optional UNIX timestamp for start of date range
- * @param integer $to optional UNIX timestamp for end of date range
- * @return SimpleXMLElement object containing result set
- */
- public function userGetWeeklyTrackChart($from = NULL, $to = NULL)
- {
- $params = "";
-
- if ($from != NULL && $to != NULL) {
- $from = (int)$from;
- $to = (int)$to;
- $params = "from={$from}&to={$to}";
- }
-
- $service = "/{$this->get('version')}/user/{$this->get('user')}/weeklytrackchart.xml";
- return $this->_getInfo($service, $params);
- }
-
-
- /**
- * Utility function that returns a list of artists similiar to this artist
- *
- * @return SimpleXMLElement object containing result set
- */
- public function artistGetRelatedArtists()
- {
- $service = "/{$this->get('version')}/artist/{$this->get('artist')}/similar.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of this artist's top listeners
- *
- * @return SimpleXMLElement object containing result set
- */
- public function artistGetTopFans()
- {
- $service = "/{$this->get('version')}/artist/{$this->get('artist')}/fans.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of this artist's top-rated tracks
- *
- * @return SimpleXMLElement object containing result set
- */
- public function artistGetTopTracks()
- {
- $service = "/{$this->get('version')}/artist/{$this->get('artist')}/toptracks.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of this artist's top-rated albums
- *
- * @return SimpleXMLElement object containing result set
- */
- public function artistGetTopAlbums()
- {
- $service = "/{$this->get('version')}/artist/{$this->get('artist')}/topalbums.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Utility function that returns a list of this artist's top-rated tags
- *
- * @return SimpleXMLElement object containing result set
- */
- public function artistGetTopTags()
- {
- $service = "/{$this->get('version')}/artist/{$this->get('artist')}/toptags.xml";
- return $this->_getInfo($service);
- }
-
-
- /**
- * Get information about an album
- *
- * @return SimpleXMLElement
- */
- public function albumGetInfo()
- {
- $service = "/{$this->get('version')}/album/{$this->get('artist')}/{$this->get('album')}/info.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get top fans of the current track.
- *
- * @return SimpleXMLElement
- */
- public function trackGetTopFans()
- {
- $service = "/{$this->get('version')}/track/{$this->get('artist')}/{$this->get('track')}/fans.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get top tags of the current track.
- *
- * @return SimpleXMLElement
- */
- public function trackGetTopTags()
- {
- $service = "/{$this->get('version')}/track/{$this->get('artist')}/{$this->get('track')}/toptags.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get Top Tags.
- *
- * @return SimpleXMLElement
- */
- public function tagGetTopTags()
- {
- $service = "/{$this->get('version')}/tag/toptags.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get top albums by current tag.
- *
- * @return SimpleXMLElement
- */
- public function tagGetTopAlbums()
- {
- $service = "/{$this->get('version')}/tag/{$this->get('tag')}/topalbums.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get top artists by current tag.
- *
- * @return SimpleXMLElement
- */
- public function tagGetTopArtists()
- {
- $service = "/{$this->get('version')}/tag/{$this->get('tag')}/topartists.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get Top Tracks by currently set tag.
- *
- * @return SimpleXMLElement
- */
- public function tagGetTopTracks()
- {
- $service = "/{$this->get('version')}/tag/{$this->get('tag')}/toptracks.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Get weekly chart list by current set group.
- *
- * @see set()
- * @return SimpleXMLElement
- */
- public function groupGetWeeklyChartList()
- {
- $service = "/{$this->get('version')}/group/{$this->get('group')}/weeklychartlist.xml";
- return $this->_getInfo($service);
- }
-
- /**
- * Retrieve weekly Artist Charts
- *
- * @param int $from
- * @param int $to
- * @return SimpleXMLElement
- */
- public function groupGetWeeklyArtistChartList($from = NULL, $to = NULL)
- {
-
- if ($from != NULL && $to != NULL) {
- $from = (int)$from;
- $to = (int)$to;
- $params = "from={$from}&$to={$to}";
- } else {
- $params = "";
- }
-
- $service = "/{$this->get('version')}/group/{$this->get('group')}/weeklyartistchart.xml";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Retrieve Weekly Track Charts
- *
- * @param int $from
- * @param int $to
- * @return SimpleXMLElement
- */
- public function groupGetWeeklyTrackChartList($from = NULL, $to = NULL)
- {
- if ($from != NULL && $to != NULL) {
- $from = (int)$from;
- $to = (int)$to;
- $params = "from={$from}&to={$to}";
- } else {
- $params = "";
- }
-
- $service = "/{$this->get('version')}/group/{$this->get('group')}/weeklytrackchart.xml";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Retrieve Weekly album charts.
- *
- * @param int $from
- * @param int $to
- * @return SimpleXMLElement
- */
- public function groupGetWeeklyAlbumChartList($from = NULL, $to = NULL)
- {
- if ($from != NULL && $to != NULL) {
- $from = (int)$from;
- $to = (int)$to;
- $params = "from={$from}&to={$to}";
- } else {
- $params = "";
- }
-
- $service = "/{$this->get('version')}/group/{$this->get('group')}/weeklyalbumchart.xml";
- return $this->_getInfo($service, $params);
- }
-
- /**
- * Saves the provided error information to this instance
- *
- * @param integer $errno
- * @param string $errstr
- * @param string $errfile
- * @param integer $errline
- * @param array $errcontext
- * @return void
- */
- protected function _errorHandler($errno, $errstr, $errfile, $errline, array $errcontext)
- {
- $this->_error = array(
- 'errno' => $errno,
- 'errstr' => $errstr,
- 'errfile' => $errfile,
- 'errline' => $errline,
- 'errcontext' => $errcontext
- );
- }
-
- /**
- * Call Intercept for set($name, $field)
- *
- * @param string $method
- * @param array $args
- * @return Zend_Service_Audioscrobbler
- */
- public function __call($method, $args)
- {
- if(substr($method, 0, 3) !== "set") {
- require_once "Zend/Service/Exception.php";
- throw new Zend_Service_Exception(
- "Method ".$method." does not exist in class Zend_Service_Audioscrobbler."
- );
- }
- $field = strtolower(substr($method, 3));
-
- if(!is_array($args) || count($args) != 1) {
- require_once "Zend/Service/Exception.php";
- throw new Zend_Service_Exception(
- "A value is required for setting a parameter field."
- );
- }
- $this->set($field, $args[0]);
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Delicious.php b/airtime_mvc/library/Zend/Service/Delicious.php
deleted file mode 100644
index 71a966032..000000000
--- a/airtime_mvc/library/Zend/Service/Delicious.php
+++ /dev/null
@@ -1,616 +0,0 @@
-_rest = new Zend_Rest_Client();
- $this->_rest->getHttpClient()->setConfig(array('ssltransport' => 'ssl'));
- $this->setAuth($uname, $pass);
- }
-
- /**
- * Set client username and password
- *
- * @param string $uname Client user name
- * @param string $pass Client password
- * @return Zend_Service_Delicious Provides a fluent interface
- */
- public function setAuth($uname, $pass)
- {
- $this->_authUname = $uname;
- $this->_authPass = $pass;
-
- return $this;
- }
-
- /**
- * Get time of the last update
- *
- * @throws Zend_Service_Delicious_Exception
- * @return Zend_Date
- */
- public function getLastUpdate()
- {
- $response = $this->makeRequest(self::PATH_UPDATE);
-
- $rootNode = $response->documentElement;
- if ($rootNode && $rootNode->nodeName == 'update') {
- /**
- * @todo replace strtotime() with Zend_Date equivalent
- */
- return new Zend_Date(strtotime($rootNode->getAttribute('time')));
- } else {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('del.icio.us web service has returned something odd!');
- }
- }
-
- /**
- * Get all tags, returning an array with tags as keys and number of corresponding posts as values
- *
- * @return array list of tags
- */
- public function getTags()
- {
- $response = $this->makeRequest(self::PATH_TAGS);
-
- return self::_xmlResponseToArray($response, 'tags', 'tag', 'tag', 'count');
- }
-
- /**
- * Rename a tag
- *
- * @param string $old Old tag name
- * @param string $new New tag name
- * @return Zend_Service_Delicious Provides a fluent interface
- */
- public function renameTag($old, $new)
- {
- $response = $this->makeRequest(self::PATH_TAG_RENAME, array('old' => $old, 'new' => $new));
-
- self::_evalXmlResult($response);
-
- return $this;
- }
-
- /**
- * Get all bundles, returning an array with bundles as keys and array of tags as values
- *
- * @return array list of bundles
- */
- public function getBundles()
- {
- $response = $this->makeRequest(self::PATH_BUNDLES);
-
- $bundles = self::_xmlResponseToArray($response, 'bundles', 'bundle', 'name', 'tags');
- foreach ($bundles as &$tags) {
- $tags = explode(' ', $tags);
- }
- return $bundles;
- }
-
- /**
- * Adds a new bundle
- *
- * @param string $bundle Name of new bundle
- * @param array $tags Array of tags
- * @return Zend_Service_Delicious Provides a fluent interface
- */
- public function addBundle($bundle, array $tags)
- {
- $tags = implode(' ', (array) $tags);
- $response = $this->makeRequest(self::PATH_BUNDLE_ADD, array('bundle' => $bundle, 'tags' => $tags));
-
- self::_evalXmlResult($response);
-
- return $this;
- }
-
- /**
- * Delete a bundle
- *
- * @param string $bundle Name of bundle to be deleted
- * @return Zend_Service_Delicious Provides a fluent interface
- */
- public function deleteBundle($bundle)
- {
- $response = $this->makeRequest(self::PATH_BUNDLE_DELETE, array('bundle' => $bundle));
-
- self::_evalXmlResult($response);
-
- return $this;
- }
-
- /**
- * Delete a post
- *
- * @param string $url URL of post to be deleted
- * @return Zend_Service_Delicious Provides a fluent interface
- */
- public function deletePost($url)
- {
- $response = $this->makeRequest(self::PATH_POST_DELETE, array('url' => $url));
-
- self::_evalXmlResult($response);
-
- return $this;
- }
-
- /**
- * Get number of posts by date
- *
- * Returns array where keys are dates and values are numbers of posts
- *
- * @param string $tag Optional filtering by tag
- * @return array list of dates
- */
- public function getDates($tag = null)
- {
- $parms = array();
- if ($tag) {
- $parms['tag'] = $tag;
- }
-
- $response = $this->makeRequest(self::PATH_DATES, $parms);
-
- return self::_xmlResponseToArray($response, 'dates', 'date', 'date', 'count');
- }
-
- /**
- * Get posts matching the arguments
- *
- * If no date or url is given, most recent date will be used
- *
- * @param string $tag Optional filtering by tag
- * @param Zend_Date $dt Optional filtering by date
- * @param string $url Optional filtering by url
- * @throws Zend_Service_Delicious_Exception
- * @return Zend_Service_Delicious_PostList
- */
- public function getPosts($tag = null, Zend_Date $dt = null, $url = null)
- {
- $parms = array();
- if ($tag) {
- $parms['tag'] = $tag;
- }
- if ($url) {
- $parms['url'] = $url;
- }
- if ($dt) {
- $parms['dt'] = $dt->get('Y-m-d\TH:i:s\Z');
- }
-
- $response = $this->makeRequest(self::PATH_POSTS_GET, $parms);
-
- return $this->_parseXmlPostList($response);
- }
-
- /**
- * Get all posts
- *
- * @param string $tag Optional filtering by tag
- * @return Zend_Service_Delicious_PostList
- */
- public function getAllPosts($tag = null)
- {
- $parms = array();
- if ($tag) {
- $parms['tag'] = $tag;
- }
-
- $response = $this->makeRequest(self::PATH_POSTS_ALL, $parms);
-
- return $this->_parseXmlPostList($response);
- }
-
- /**
- * Get recent posts
- *
- * @param string $tag Optional filtering by tag
- * @param string $count Maximum number of posts to be returned (default 15)
- * @return Zend_Service_Delicious_PostList
- */
- public function getRecentPosts($tag = null, $count = 15)
- {
- $parms = array();
- if ($tag) {
- $parms['tag'] = $tag;
- }
- if ($count) {
- $parms['count'] = $count;
- }
-
- $response = $this->makeRequest(self::PATH_POSTS_RECENT, $parms);
-
- return $this->_parseXmlPostList($response);
- }
-
- /**
- * Create new post
- *
- * @return Zend_Service_Delicious_Post
- */
- public function createNewPost($title, $url)
- {
- return new Zend_Service_Delicious_Post($this, array('title' => $title, 'url' => $url));
- }
-
- /**
- * Get posts of a user
- *
- * @param string $user Owner of the posts
- * @param int $count Number of posts (default 15, max. 100)
- * @param string $tag Optional filtering by tag
- * @return Zend_Service_Delicious_PostList
- */
- public function getUserPosts($user, $count = null, $tag = null)
- {
- $parms = array();
- if ($count) {
- $parms['count'] = $count;
- }
-
- $path = sprintf(self::JSON_POSTS, $user, $tag);
- $res = $this->makeRequest($path, $parms, 'json');
-
- return new Zend_Service_Delicious_PostList($this, $res);
- }
-
- /**
- * Get tags of a user
- *
- * Returned array has tags as keys and number of posts as values
- *
- * @param string $user Owner of the posts
- * @param int $atleast Include only tags for which there are at least ### number of posts
- * @param int $count Number of tags to get (default all)
- * @param string $sort Order of returned tags ('alpha' || 'count')
- * @return array
- */
- public function getUserTags($user, $atleast = null, $count = null, $sort = 'alpha')
- {
- $parms = array();
- if ($atleast) {
- $parms['atleast'] = $atleast;
- }
- if ($count) {
- $parms['count'] = $count;
- }
- if ($sort) {
- $parms['sort'] = $sort;
- }
-
- $path = sprintf(self::JSON_TAGS, $user);
-
- return $this->makeRequest($path, $parms, 'json');
- }
-
- /**
- * Get network of a user
- *
- * @param string $user Owner of the network
- * @return array
- */
- public function getUserNetwork($user)
- {
- $path = sprintf(self::JSON_NETWORK, $user);
- return $this->makeRequest($path, array(), 'json');
- }
-
- /**
- * Get fans of a user
- *
- * @param string $user Owner of the fans
- * @return array
- */
- public function getUserFans($user)
- {
- $path = sprintf(self::JSON_FANS, $user);
- return $this->makeRequest($path, array(), 'json');
- }
-
- /**
- * Get details on a particular bookmarked URL
- *
- * Returned array contains four elements:
- * - hash - md5 hash of URL
- * - top_tags - array of tags and their respective usage counts
- * - url - URL for which details were returned
- * - total_posts - number of users that have bookmarked URL
- *
- * If URL hasen't been bookmarked null is returned.
- *
- * @param string $url URL for which to get details
- * @return array
- */
- public function getUrlDetails($url)
- {
- $parms = array('hash' => md5($url));
-
- $res = $this->makeRequest(self::JSON_URL, $parms, 'json');
-
- if(isset($res[0])) {
- return $res[0];
- } else {
- return null;
- }
- }
-
- /**
- * Handles all GET requests to a web service
- *
- * @param string $path Path
- * @param array $parms Array of GET parameters
- * @param string $type Type of a request ("xml"|"json")
- * @return mixed decoded response from web service
- * @throws Zend_Service_Delicious_Exception
- */
- public function makeRequest($path, array $parms = array(), $type = 'xml')
- {
- // if previous request was made less then 1 sec ago
- // wait until we can make a new request
- $timeDiff = microtime(true) - self::$_lastRequestTime;
- if ($timeDiff < 1) {
- usleep((1 - $timeDiff) * 1000000);
- }
-
- $this->_rest->getHttpClient()->setAuth($this->_authUname, $this->_authPass);
-
- switch ($type) {
- case 'xml':
- $this->_rest->setUri(self::API_URI);
- break;
- case 'json':
- $parms['raw'] = true;
- $this->_rest->setUri(self::JSON_URI);
- break;
- default:
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('Unknown request type');
- }
-
- self::$_lastRequestTime = microtime(true);
- $response = $this->_rest->restGet($path, $parms);
-
- if (!$response->isSuccessful()) {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception("Http client reported an error: '{$response->getMessage()}'");
- }
-
- $responseBody = $response->getBody();
-
- switch ($type) {
- case 'xml':
- $dom = new DOMDocument() ;
-
- if (!@$dom->loadXML($responseBody)) {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('XML Error');
- }
-
- return $dom;
- case 'json':
- return Zend_Json_Decoder::decode($responseBody);
- }
- }
-
- /**
- * Transform XML string to array
- *
- * @param DOMDocument $response
- * @param string $root Name of root tag
- * @param string $child Name of children tags
- * @param string $attKey Attribute of child tag to be used as a key
- * @param string $attValue Attribute of child tag to be used as a value
- * @return array
- * @throws Zend_Service_Delicious_Exception
- */
- private static function _xmlResponseToArray(DOMDocument $response, $root, $child, $attKey, $attValue)
- {
- $rootNode = $response->documentElement;
- $arrOut = array();
-
- if ($rootNode->nodeName == $root) {
- $childNodes = $rootNode->childNodes;
-
- for ($i = 0; $i < $childNodes->length; $i++) {
- $currentNode = $childNodes->item($i);
- if ($currentNode->nodeName == $child) {
- $arrOut[$currentNode->getAttribute($attKey)] = $currentNode->getAttribute($attValue);
- }
- }
- } else {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('del.icio.us web service has returned something odd!');
- }
-
- return $arrOut;
- }
-
- /**
- * Constructs Zend_Service_Delicious_PostList from XML response
- *
- * @param DOMDocument $response
- * @return Zend_Service_Delicious_PostList
- * @throws Zend_Service_Delicious_Exception
- */
- private function _parseXmlPostList(DOMDocument $response)
- {
- $rootNode = $response->documentElement;
-
- if ($rootNode->nodeName == 'posts') {
- return new Zend_Service_Delicious_PostList($this, $rootNode->childNodes);
- } else {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('del.icio.us web service has returned something odd!');
- }
- }
-
- /**
- * Evaluates XML response
- *
- * @param DOMDocument $response
- * @return void
- * @throws Zend_Service_Delicious_Exception
- */
- private static function _evalXmlResult(DOMDocument $response)
- {
- $rootNode = $response->documentElement;
-
- if ($rootNode && $rootNode->nodeName == 'result') {
-
- if ($rootNode->hasAttribute('code')) {
- $strResponse = $rootNode->getAttribute('code');
- } else {
- $strResponse = $rootNode->nodeValue;
- }
-
- if ($strResponse != 'done' && $strResponse != 'ok') {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception("del.icio.us web service: '{$strResponse}'");
- }
- } else {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('del.icio.us web service has returned something odd!');
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Delicious/Exception.php b/airtime_mvc/library/Zend/Service/Delicious/Exception.php
deleted file mode 100644
index faee184f4..000000000
--- a/airtime_mvc/library/Zend/Service/Delicious/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-_service = $service;
-
- if ($values instanceof DOMElement) {
- $values = self::_parsePostNode($values);
- }
-
- if (!is_array($values) || !isset($values['url']) || !isset($values['title'])) {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception("Second argument must be array with at least 2 keys ('url' and"
- . " 'title')");
- }
-
- if (isset($values['date']) && ! $values['date'] instanceof Zend_Date) {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception("Date has to be an instance of Zend_Date");
- }
-
- foreach (array('url', 'title', 'notes', 'others', 'tags', 'date', 'shared', 'hash') as $key) {
- if (isset($values[$key])) {
- $this->{"_$key"} = $values[$key];
- }
- }
- }
-
- /**
- * Setter for title
- *
- * @param string $newTitle
- * @return Zend_Service_Delicious_Post
- */
- public function setTitle($newTitle)
- {
- $this->_title = (string) $newTitle;
-
- return $this;
- }
-
- /**
- * Setter for notes
- *
- * @param string $newNotes
- * @return Zend_Service_Delicious_Post
- */
- public function setNotes($newNotes)
- {
- $this->_notes = (string) $newNotes;
-
- return $this;
- }
-
- /**
- * Setter for tags
- *
- * @param array $tags
- * @return Zend_Service_Delicious_Post
- */
- public function setTags(array $tags)
- {
- $this->_tags = $tags;
-
- return $this;
- }
-
- /**
- * Add a tag
- *
- * @param string $tag
- * @return Zend_Service_Delicious_Post
- */
- public function addTag($tag)
- {
- $this->_tags[] = (string) $tag;
-
- return $this;
- }
-
- /**
- * Remove a tag
- *
- * @param string $tag
- * @return Zend_Service_Delicious_Post
- */
- public function removeTag($tag)
- {
- $this->_tags = array_diff($this->_tags, array((string) $tag));
-
- return $this;
- }
-
- /**
- * Getter for date
- *
- * @return Zend_Date
- */
- public function getDate()
- {
- return $this->_date;
- }
-
- /**
- * Getter for others
- *
- * This property is only populated when posts are retrieved
- * with getPosts() method. The getAllPosts() and getRecentPosts()
- * methods will not populate this property.
- *
- * @return int
- */
- public function getOthers()
- {
- return $this->_others;
- }
-
- /**
- * Getter for hash
- *
- * @return string
- */
- public function getHash()
- {
- return $this->_hash;
- }
-
- /**
- * Getter for shared
- *
- * @return bool
- */
- public function getShared()
- {
- return $this->_shared;
- }
-
- /**
- * Setter for shared
- *
- * @param bool $isShared
- * @return Zend_Service_Delicious_Post
- */
- public function setShared($isShared)
- {
- $this->_shared = (bool) $isShared;
-
- return $this;
- }
-
- /**
- * Deletes post
- *
- * @return Zend_Service_Delicious
- */
- public function delete()
- {
- return $this->_service->deletePost($this->_url);
- }
-
- /**
- * Saves post
- *
- * @return DOMDocument
- */
- public function save()
- {
- $parms = array(
- 'url' => $this->_url,
- 'description'=> $this->_title,
- 'extended' => $this->_notes,
- 'shared' => ($this->_shared ? 'yes' : 'no'),
- 'tags' => implode(' ', (array) $this->_tags),
- 'replace' => 'yes'
- );
- /*
- if ($this->_date instanceof Zend_Date) {
- $parms['dt'] = $this->_date->get('Y-m-d\TH:i:s\Z');
- }
- */
-
- return $this->_service->makeRequest(Zend_Service_Delicious::PATH_POSTS_ADD, $parms);
- }
-
- /**
- * Extracts content from the DOM element of a post
- *
- * @param DOMElement $node
- * @return array
- */
- protected static function _parsePostNode(DOMElement $node)
- {
- return array(
- 'url' => $node->getAttribute('href'),
- 'title' => $node->getAttribute('description'),
- 'notes' => $node->getAttribute('extended'),
- 'others' => (int) $node->getAttribute('others'),
- 'tags' => explode(' ', $node->getAttribute('tag')),
- /**
- * @todo replace strtotime() with Zend_Date equivalent
- */
- 'date' => new Zend_Date(strtotime($node->getAttribute('time'))),
- 'shared' => ($node->getAttribute('shared') == 'no' ? false : true),
- 'hash' => $node->getAttribute('hash')
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Delicious/PostList.php b/airtime_mvc/library/Zend/Service/Delicious/PostList.php
deleted file mode 100644
index 623123104..000000000
--- a/airtime_mvc/library/Zend/Service/Delicious/PostList.php
+++ /dev/null
@@ -1,300 +0,0 @@
-_service = $service;
- if ($posts instanceof DOMNodeList) {
- $this->_constructFromNodeList($posts);
- } else if (is_array($posts)) {
- $this->_constructFromArray($posts);
- }
- }
-
- /**
- * Transforms DOMNodeList to array of posts
- *
- * @param DOMNodeList $nodeList
- * @return void
- */
- private function _constructFromNodeList(DOMNodeList $nodeList)
- {
- for ($i = 0; $i < $nodeList->length; $i++) {
- $curentNode = $nodeList->item($i);
- if($curentNode->nodeName == 'post') {
- $this->_addPost(new Zend_Service_Delicious_Post($this->_service, $curentNode));
- }
- }
- }
-
- /**
- * Transforms the Array to array of posts
- *
- * @param array $postList
- * @return void
- */
- private function _constructFromArray(array $postList)
- {
- foreach ($postList as $f_post) {
- $this->_addPost(new Zend_Service_Delicious_SimplePost($f_post));
- }
- }
-
- /**
- * Add a post
- *
- * @param Zend_Service_Delicious_SimplePost $post
- * @return Zend_Service_Delicious_PostList
- */
- protected function _addPost(Zend_Service_Delicious_SimplePost $post)
- {
- $this->_posts[] = $post;
-
- return $this;
- }
-
- /**
- * Filter list by list of tags
- *
- * @param array $tags
- * @return Zend_Service_Delicious_PostList
- */
- public function withTags(array $tags)
- {
- $postList = new self($this->_service);
-
- foreach ($this->_posts as $post) {
- if (count(array_diff($tags, $post->getTags())) == 0) {
- $postList->_addPost($post);
- }
- }
-
- return $postList;
- }
-
- /**
- * Filter list by tag
- *
- * @param string $tag
- * @return Zend_Service_Delicious_PostList
- */
- public function withTag($tag)
- {
- return $this->withTags(func_get_args());
- }
-
- /**
- * Filter list by urls matching a regular expression
- *
- * @param string $regexp
- * @return Zend_Service_Delicious_PostList
- */
- public function withUrl($regexp)
- {
- $postList = new self($this->_service);
-
- foreach ($this->_posts as $post) {
- if (preg_match($regexp, $post->getUrl())) {
- $postList->_addPost($post);
- }
- }
-
- return $postList;
- }
-
- /**
- * Return number of posts
- *
- * Implement Countable::count()
- *
- * @return int
- */
- public function count()
- {
- return count($this->_posts);
- }
-
- /**
- * Return the current element
- *
- * Implement Iterator::current()
- *
- * @return Zend_Service_Delicious_SimplePost
- */
- public function current()
- {
- return $this->_posts[$this->_iteratorKey];
- }
-
- /**
- * Return the key of the current element
- *
- * Implement Iterator::key()
- *
- * @return int
- */
- public function key()
- {
- return $this->_iteratorKey;
- }
-
- /**
- * Move forward to next element
- *
- * Implement Iterator::next()
- *
- * @return void
- */
- public function next()
- {
- $this->_iteratorKey += 1;
- }
-
- /**
- * Rewind the Iterator to the first element
- *
- * Implement Iterator::rewind()
- *
- * @return void
- */
- public function rewind()
- {
- $this->_iteratorKey = 0;
- }
-
- /**
- * Check if there is a current element after calls to rewind() or next()
- *
- * Implement Iterator::valid()
- *
- * @return bool
- */
- public function valid()
- {
- $numItems = $this->count();
-
- if ($numItems > 0 && $this->_iteratorKey < $numItems) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Whether the offset exists
- *
- * Implement ArrayAccess::offsetExists()
- *
- * @param int $offset
- * @return bool
- */
- public function offsetExists($offset)
- {
- return ($offset < $this->count());
- }
-
- /**
- * Return value at given offset
- *
- * Implement ArrayAccess::offsetGet()
- *
- * @param int $offset
- * @throws OutOfBoundsException
- * @return Zend_Service_Delicious_SimplePost
- */
- public function offsetGet($offset)
- {
- if ($this->offsetExists($offset)) {
- return $this->_posts[$offset];
- } else {
- throw new OutOfBoundsException('Illegal index');
- }
- }
-
- /**
- * Throws exception because all values are read-only
- *
- * Implement ArrayAccess::offsetSet()
- *
- * @param int $offset
- * @param string $value
- * @throws Zend_Service_Delicious_Exception
- */
- public function offsetSet($offset, $value)
- {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('You are trying to set read-only property');
- }
-
- /**
- * Throws exception because all values are read-only
- *
- * Implement ArrayAccess::offsetUnset()
- *
- * @param int $offset
- * @throws Zend_Service_Delicious_Exception
- */
- public function offsetUnset($offset)
- {
- /**
- * @see Zend_Service_Delicious_Exception
- */
- require_once 'Zend/Service/Delicious/Exception.php';
- throw new Zend_Service_Delicious_Exception('You are trying to unset read-only property');
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Delicious/SimplePost.php b/airtime_mvc/library/Zend/Service/Delicious/SimplePost.php
deleted file mode 100644
index 2cdc65d8c..000000000
--- a/airtime_mvc/library/Zend/Service/Delicious/SimplePost.php
+++ /dev/null
@@ -1,123 +0,0 @@
-_url = $post['u'];
- $this->_title = $post['d'];
-
- if (isset($post['t'])) {
- $this->_tags = $post['t'];
- }
- if (isset($post['n'])) {
- $this->_notes = $post['n'];
- }
- }
-
- /**
- * Getter for URL
- *
- * @return string
- */
- public function getUrl()
- {
- return $this->_url;
- }
-
- /**
- * Getter for title
- *
- * @return string
- */
- public function getTitle()
- {
- return $this->_title;
- }
-
- /**
- * Getter for notes
- *
- * @return string
- */
- public function getNotes()
- {
- return $this->_notes;
- }
-
- /**
- * Getter for tags
- *
- * @return array
- */
- public function getTags()
- {
- return $this->_tags;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/BaseUserService.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/BaseUserService.php
deleted file mode 100644
index b4d76d5c3..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/BaseUserService.php
+++ /dev/null
@@ -1,399 +0,0 @@
-
- 'Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse',
- 'changeQuotaPoolResponse' =>
- 'Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse',
- 'getAccountBalanceResponse' =>
- 'Zend_Service_DeveloperGarden_Response_BaseUserService_GetAccountBalanceResponse',
- 'AccountBalance' =>
- 'Zend_Service_DeveloperGarden_BaseUserService_AccountBalance',
- );
-
- /**
- * array with all QuotaModuleIds
- *
- * @var array
- */
- protected $_moduleIds = array(
- 'SmsProduction' => 'SmsProduction',
- 'SmsSandbox' => 'SmsSandbox',
- 'VoiceCallProduction' => 'VoiceButlerProduction',
- 'VoiceCallSandbox' => 'VoiceButlerSandbox',
- 'ConferenceCallProduction' => 'CCSProduction',
- 'ConferenceCallSandbox' => 'CCSSandbox',
- 'LocalSearchProduction' => 'localsearchProduction',
- 'LocalSearchSandbox' => 'localsearchSandbox',
- 'IPLocationProduction' => 'IPLocationProduction',
- 'IPLocationSandbox' => 'IPLocationSandbox'
- );
-
- /**
- * returns an array with all possible ModuleIDs
- *
- * @return array
- */
- public function getModuleIds()
- {
- return $this->_moduleIds;
- }
-
- /**
- * checks the moduleId and throws exception if not valid
- *
- * @param string $moduleId
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return void
- */
- protected function _checkModuleId($moduleId)
- {
- if (!in_array($moduleId, $this->_moduleIds)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('moduleId not valid');
- }
- }
-
- /**
- * returns the correct module string
- *
- * @param string $module
- * @param integer $environment
- * @return string
- */
- protected function _buildModuleString($module, $environment)
- {
- $moduleString = $module;
- switch($environment) {
- case self::ENV_PRODUCTION :
- $moduleString .= 'Production';
- break;
- case self::ENV_SANDBOX :
- $moduleString .= 'Sandbox';
- break;
- default:
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception(
- 'Not a valid environment supplied.'
- );
- }
-
- if (!in_array($moduleString, $this->_moduleIds)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception(
- 'Not a valid module name supplied.'
- );
- }
-
- return $moduleString;
- }
-
- /**
- * returns the request object with the specific moduleId
- *
- * @param string $moduleId
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- protected function _getRequestModule($moduleId)
- {
- return new Zend_Service_DeveloperGarden_Request_BaseUserService_GetQuotaInformation(
- $moduleId
- );
- }
-
- /**
- * returns the request object with the specific moduleId and new quotaMax value
- *
- * @param string $moduleId
- * @param integer $quotaMax
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- protected function _getChangeRequestModule($moduleId, $quotaMax)
- {
- return new Zend_Service_DeveloperGarden_Request_BaseUserService_ChangeQuotaPool(
- $moduleId,
- $quotaMax
- );
- }
-
- /**
- * returns the Quota Information for SMS Service
- *
- * @param int $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- public function getSmsQuotaInformation($environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('Sms', $environment);
- $request = $this->_getRequestModule($moduleId);
- return $this->getQuotaInformation($request);
- }
-
- /**
- * returns the Quota Information for VoiceCall Service
- *
- * @param int $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- public function getVoiceCallQuotaInformation($environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('VoiceButler', $environment);
- $request = $this->_getRequestModule($moduleId);
- return $this->getQuotaInformation($request);
- }
-
- /**
- * returns the Quota Information for SMS ConferenceCall
- *
- * @param int $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- public function getConfernceCallQuotaInformation($environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('CCS', $environment);
- $request = $this->_getRequestModule($moduleId);
- return $this->getQuotaInformation($request);
- }
-
- /**
- * returns the Quota Information for LocaleSearch Service
- *
- * @param int $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- public function getLocalSearchQuotaInformation($environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('localsearch', $environment);
- $request = $this->_getRequestModule($moduleId);
- return $this->getQuotaInformation($request);
- }
-
- /**
- * returns the Quota Information for IPLocation Service
- *
- * @param int $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- public function getIPLocationQuotaInformation($environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('IPLocation', $environment);
- $request = $this->_getRequestModule($moduleId);
- return $this->getQuotaInformation($request);
- }
-
- /**
- * returns the quota information
- *
- * @param Zend_Service_DeveloperGarden_Request_BaseUserService $request
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse
- */
- public function getQuotaInformation(
- Zend_Service_DeveloperGarden_Request_BaseUserService_GetQuotaInformation $request
- ) {
- $this->_checkModuleId($request->getModuleId());
- return $this->getSoapClient()
- ->getQuotaInformation($request)
- ->parse();
- }
-
- /**
- * sets new user quota for the sms service
- *
- * @param integer $quotaMax
- * @param integer $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse
- */
- public function changeSmsQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('Sms', $environment);
- $request = $this->_getChangeRequestModule($moduleId, $quotaMax);
- return $this->changeQuotaPool($request);
- }
-
- /**
- * sets new user quota for the voice call service
- *
- * @param integer $quotaMax
- * @param integer $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse
- */
- public function changeVoiceCallQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('VoiceButler', $environment);
- $request = $this->_getChangeRequestModule($moduleId, $quotaMax);
- return $this->changeQuotaPool($request);
- }
-
- /**
- * sets new user quota for the IPLocation service
- *
- * @param integer $quotaMax
- * @param integer $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse
- */
- public function changeIPLocationQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('IPLocation', $environment);
- $request = $this->_getChangeRequestModule($moduleId, $quotaMax);
- return $this->changeQuotaPool($request);
- }
-
- /**
- * sets new user quota for the Conference Call service
- *
- * @param integer $quotaMax
- * @param integer $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse
- */
- public function changeConferenceCallQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('CCS', $environment);
- $request = $this->_getChangeRequestModule($moduleId, $quotaMax);
- return $this->changeQuotaPool($request);
- }
-
- /**
- * sets new user quota for the Local Search service
- *
- * @param integer $quotaMax
- * @param integer $environment
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse
- */
- public function changeLocalSearchQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION)
- {
- self::checkEnvironment($environment);
- $moduleId = $this->_buildModuleString('localsearch', $environment);
- $request = $this->_getChangeRequestModule($moduleId, $quotaMax);
- return $this->changeQuotaPool($request);
- }
-
- /**
- * set new quota values for the defined module
- *
- * @param Zend_Service_DeveloperGarden_Request_BaseUserService_ChangeQuotaPool $request
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse
- */
- public function changeQuotaPool(
- Zend_Service_DeveloperGarden_Request_BaseUserService_ChangeQuotaPool $request
- ) {
- $this->_checkModuleId($request->getModuleId());
- return $this->getSoapClient()
- ->changeQuotaPool($request)
- ->parse();
- }
-
- /**
- * get the result for a list of accounts
- *
- * @param array $accounts
- * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetAccountBalanceResponse
- */
- public function getAccountBalance(array $accounts = array())
- {
- $request = new Zend_Service_DeveloperGarden_Request_BaseUserService_GetAccountBalance(
- $accounts
- );
- return $this->getSoapClient()
- ->getAccountBalance($request)
- ->parse();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/BaseUserService/AccountBalance.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/BaseUserService/AccountBalance.php
deleted file mode 100644
index bbc5f4140..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/BaseUserService/AccountBalance.php
+++ /dev/null
@@ -1,62 +0,0 @@
-Account;
- }
-
- /**
- * returns the credits
- *
- * @return integer
- */
- public function getCredits()
- {
- return $this->Credits;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Client/ClientAbstract.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Client/ClientAbstract.php
deleted file mode 100644
index 9f4adaafa..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Client/ClientAbstract.php
+++ /dev/null
@@ -1,430 +0,0 @@
-_credential = new Zend_Service_DeveloperGarden_Credential();
-
- while (list($name, $value) = each($options)) {
- switch (ucfirst($name)) {
- case 'Username' :
- $this->_credential->setUsername($value);
- break;
- case 'Password' :
- $this->_credential->setPassword($value);
- break;
- case 'Realm' :
- $this->_credential->setRealm($value);
- break;
- case 'Environment' :
- $this->setEnvironment($value);
- }
- }
-
- if (empty($this->_wsdlFile)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception('_wsdlFile not set for this service.');
- }
-
- if (!empty($this->_wsdlFileLocal)) {
- $this->_wsdlFileLocal = realpath(dirname(__FILE__) . '/../' . $this->_wsdlFileLocal);
- }
-
- if (empty($this->_wsdlFileLocal) || $this->_wsdlFileLocal === false) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception('_wsdlFileLocal not set for this service.');
- }
- }
-
- /**
- * Set an option
- *
- * @param string $name
- * @param mixed $value
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setOption($name, $value)
- {
- if (!is_string($name)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Incorrect option name: ' . $name);
- }
- $name = strtolower($name);
- if (array_key_exists($name, $this->_options)) {
- $this->_options[$name] = $value;
- }
-
- return $this;
- }
-
- /**
- * get an option value from the internal options object
- *
- * @param string $name
- * @return mixed
- */
- public function getOption($name)
- {
- $name = strtolower($name);
- if (array_key_exists($name, $this->_options)) {
- return $this->_options[$name];
- }
-
- return null;
- }
-
- /**
- * returns the internal soap client
- * if not allready exists we create an instance of
- * Zend_Soap_Client
- *
- * @final
- * @return Zend_Service_DeveloperGarden_Client_Soap
- */
- final public function getSoapClient()
- {
- if ($this->_soapClient === null) {
- /**
- * init the soapClient
- */
- $this->_soapClient = new Zend_Service_DeveloperGarden_Client_Soap(
- $this->getWsdl(),
- $this->getClientOptions()
- );
- $this->_soapClient->setCredential($this->_credential);
- $tokenService = new Zend_Service_DeveloperGarden_SecurityTokenServer(
- array(
- 'username' => $this->_credential->getUsername(),
- 'password' => $this->_credential->getPassword(),
- 'environment' => $this->getEnvironment(),
- 'realm' => $this->_credential->getRealm(),
- )
- );
- $this->_soapClient->setTokenService($tokenService);
- }
-
- return $this->_soapClient;
- }
-
- /**
- * sets new environment
- *
- * @param int $environment
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setEnvironment($environment)
- {
- self::checkEnvironment($environment);
- $this->_serviceEnvironment = $environment;
- return $this;
- }
-
- /**
- * returns the current configured environemnt
- *
- * @return int
- */
- public function getEnvironment()
- {
- return $this->_serviceEnvironment;
- }
-
- /**
- * returns the wsdl file path, a uri or the local path
- *
- * @return string
- */
- public function getWsdl()
- {
- if ($this->_useLocalWsdl) {
- $retVal = $this->_wsdlFileLocal;
- } else {
- $retVal = $this->_wsdlFile;
- }
-
- return $retVal;
- }
-
- /**
- * switch to the local wsdl file usage
- *
- * @param boolen $use
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setUseLocalWsdl($use = true)
- {
- $this->_useLocalWsdl = (boolean) $use;
- return $this;
- }
-
- /**
- * sets a new wsdl file
- *
- * @param string $wsdlFile
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setWsdl($wsdlFile = null)
- {
- if (empty($wsdlFile)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception('_wsdlFile not set for this service.');
- }
- $this->_wsdlFile = $wsdlFile;
- return $this;
- }
-
- /**
- * sets a new local wsdl file
- *
- * @param string $wsdlFile
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setLocalWsdl($wsdlFile = null)
- {
- if (empty($wsdlFile)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception('_wsdlFileLocal not set for this service.');
- }
- $this->_wsdlFileLocal = $wsdlFile;
- return $this;
- }
-
- /**
- * returns an array with configured options for this client
- *
- * @return array
- */
- public function getClientOptions()
- {
- $options = array(
- 'soap_version' => SOAP_1_1,
- );
- if (!empty($this->_classMap)) {
- $options['classmap'] = $this->_classMap;
- }
- $wsdlCache = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getWsdlCache();
- if (!is_null($wsdlCache)) {
- $options['cache_wsdl'] = $wsdlCache;
- }
- return $options;
- }
-
- /**
- * returns the internal credential object
- *
- * @return Zend_Service_DeveloperGarden_Credential
- */
- public function getCredential()
- {
- return $this->_credential;
- }
-
- /**
- * helper method to create const arrays
- * @return null
- */
- static protected function _buildConstArray()
- {
- $r = new ReflectionClass(__CLASS__);
- foreach ($r->getConstants() as $k => $v) {
- $s = explode('_', $k, 2);
- if (!isset(self::$_consts[$s[0]])) {
- self::$_consts[$s[0]] = array();
- }
- self::$_consts[$s[0]][$v] = $k;
- }
- }
-
- /**
- * returns an array of all available environments
- *
- * @return array
- */
- static public function getParticipantActions()
- {
- if (empty(self::$_consts)) {
- self::_buildConstArray();
- }
- return self::$_consts['PARTICIPANT'];
- }
-
- /**
- * checks if the given action is valid
- * otherwise it @throws Zend_Service_DeveloperGarden_Exception
- *
- * @param int $action
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return void
- */
- static public function checkParticipantAction($action)
- {
- if (!array_key_exists($action, self::getParticipantActions())) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception(
- 'Wrong Participant Action ' . $action . ' supplied.'
- );
- }
- }
-
- /**
- * returns an array of all available environments
- *
- * @return array
- */
- static public function getEnvironments()
- {
- if (empty(self::$_consts)) {
- self::_buildConstArray();
- }
- return self::$_consts['ENV'];
- }
-
- /**
- * checks if the given environemnt is valid
- * otherwise it @throws Zend_Service_DeveloperGarden_Client_Exception
- *
- * @param int $environment
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return void
- */
- static public function checkEnvironment($environment)
- {
- if (!array_key_exists($environment, self::getEnvironments())) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception(
- 'Wrong environment ' . $environment . ' supplied.'
- );
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Client/Exception.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Client/Exception.php
deleted file mode 100644
index 999266dee..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Client/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_tokenService)) {
- // if login method we addWsseLoginHeader
- if (in_array('login', $arguments)) {
- $this->addWsseLoginHeader();
- } elseif ($name == 'getTokens') {
- $this->addWsseTokenHeader($this->_tokenService->getLoginToken());
- } else {
- $this->addWsseSecurityTokenHeader($this->_tokenService->getTokens());
- }
- }
- return parent::__call($name, $arguments);
- }
-
- /**
- * sets the internal handling for handle token service
- *
- * @param Zend_Service_DeveloperGarden_SecurityTokenServer $isTokenService
- * @return Zend_Service_DeveloperGarden_Client_Soap
- */
- public function setTokenService(Zend_Service_DeveloperGarden_SecurityTokenServer $tokenService)
- {
- $this->_tokenService = $tokenService;
- return $this;
- }
-
- /**
- * returns the currently configured tokenService object
- *
- * @return Zend_Service_DeveloperGarden_SecurityTokenServer
- */
- public function getTokenService()
- {
- return $this->_tokenService;
- }
-
- /**
- * Sets new credential callback object
- *
- * @param Zend_Service_DeveloperGarden_Credential $credential
- * @return Zend_Service_DeveloperGarden_Client_Soap
- */
- public function setCredential(Zend_Service_DeveloperGarden_Credential $credential)
- {
- $this->_credential = $credential;
- return $this;
- }
-
- /**
- * returns the internal credential callback object
- *
- * @return Zend_Service_DeveloperGarden_Credential
- */
- public function getCredential()
- {
- return $this->_credential;
- }
-
- /**
- * creates the login header and add
- *
- * @return SoapHeader
- */
- public function getWsseLoginHeader()
- {
- $dom = new DOMDocument();
-
- /**
- * Security Element
- */
- $securityElement = $dom->createElementNS(
- self::WSSE_NAMESPACE_SECEXT,
- 'wsse:' . self::WSSE_SECURITY_ELEMENT
- );
- $securityElement->setAttribute('mustUnderstand', true);
-
- /**
- * Username Token Element
- */
- $usernameTokenElement = $dom->createElementNS(
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_ELEMENT_USERNAMETOKEN
- );
-
- /**
- * Username Element
- */
- $usernameElement = $dom->createElementNS(
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_ELEMENT_USERNAME,
- $this->_credential->getUsername(true)
- );
-
- /**
- * Password Element
- */
- $passwordElement = $dom->createElementNS(
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_ELEMENT_PASSWORD,
- $this->_credential->getPassword()
- );
- $passwordElement->setAttribute('Type', self::WSSE_ELEMENT_PASSWORD_TYPE);
-
- $usernameTokenElement->appendChild($usernameElement);
- $usernameTokenElement->appendChild($passwordElement);
-
- $securityElement->appendChild($usernameTokenElement);
- $dom->appendChild($securityElement);
-
- $authSoapVar = new SoapVar(
- $dom->saveXML($securityElement),
- XSD_ANYXML,
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_SECURITY_ELEMENT
- );
-
- $authSoapHeader = new SoapHeader(
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_SECURITY_ELEMENT,
- $authSoapVar,
- true
- );
-
- return $authSoapHeader;
- }
-
- /**
- * creates the token auth header for direct calls
- *
- * @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
- * @return SoapHeader
- */
- public function getWsseTokenHeader(
- Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
- ) {
- $format = '%s ';
- $securityHeader = sprintf(
- $format,
- self::WSSE_SECURITY_ELEMENT,
- self::WSSE_NAMESPACE_SECEXT,
- $token->getTokenData(),
- self::WSSE_SECURITY_ELEMENT
- );
-
- $authSoapVar = new SoapVar(
- $securityHeader,
- XSD_ANYXML,
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_SECURITY_ELEMENT
- );
-
- $authSoapHeader = new SoapHeader(
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_SECURITY_ELEMENT,
- $authSoapVar,
- true
- );
-
- return $authSoapHeader;
- }
-
- /**
- * creates the security token auth header for direct calls
- *
- * @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
- * @return SoapHeader
- */
- public function getWsseSecurityTokenHeader(
- Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse $token
- ) {
- $format = '%s ';
- $securityHeader = sprintf(
- $format,
- self::WSSE_SECURITY_ELEMENT,
- self::WSSE_NAMESPACE_SECEXT,
- $token->getTokenData(),
- self::WSSE_SECURITY_ELEMENT
- );
-
- $authSoapVar = new SoapVar(
- $securityHeader,
- XSD_ANYXML,
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_SECURITY_ELEMENT
- );
-
- $authSoapHeader = new SoapHeader(
- self::WSSE_NAMESPACE_SECEXT,
- self::WSSE_SECURITY_ELEMENT,
- $authSoapVar,
- true
- );
-
- return $authSoapHeader;
- }
-
- /**
- * adds the login specific header to the client
- *
- * @return Zend_Service_DeveloperGarden_Client_Soap
- */
- public function addWsseLoginHeader()
- {
- return $this->addSoapInputHeader($this->getWsseLoginHeader());
- }
-
- /**
- * adds the earlier fetched token to the header
- *
- * @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
- * @return Zend_Service_DeveloperGarden_Client_Soap
- */
- public function addWsseTokenHeader(
- Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
- ) {
- return $this->addSoapInputHeader($this->getWsseTokenHeader($token));
- }
-
- /**
- * adds the earlier fetched token to the header
- *
- * @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse $token
- * @return Zend_Service_DeveloperGarden_Client_Soap
- */
- public function addWsseSecurityTokenHeader(
- Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse $token
- ) {
- return $this->addSoapInputHeader($this->getWsseSecurityTokenHeader($token));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall.php
deleted file mode 100644
index 515447569..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall.php
+++ /dev/null
@@ -1,872 +0,0 @@
- 'Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail',
- 'ConferenceAccStruct' => 'Zend_Service_DeveloperGarden_ConferenceCall_ConferenceAccount',
- 'ScheduleStruct' => 'Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule',
- 'ParticipantStruct' => 'Zend_Service_DeveloperGarden_ConferenceCall_Participant',
- 'ParticipantDetailStruct' => 'Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail',
- 'ParticipantStatusStruct' => 'Zend_Service_DeveloperGarden_ConferenceCall_ParticipantStatus',
-
- //Responses
- 'CCSResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType',
-
- //Conference
- 'createConferenceResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_CreateConferenceResponse',
- 'createConferenceResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_CreateConferenceResponseType',
- 'removeConferenceResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_RemoveConferenceResponse',
- 'commitConferenceResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_CommitConferenceResponse',
- 'updateConferenceResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_UpdateConferenceResponse',
- 'getConferenceStatusResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceStatusResponse',
- 'getConferenceStatusResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceStatusResponseType',
- 'getRunningConferenceResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetRunningConferenceResponse',
- 'getRunningConferenceResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetRunningConferenceResponseType',
- 'getConferenceListResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceListResponse',
- 'getConferenceListResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceListResponseType',
-
- //Participant
- 'newParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_NewParticipantResponse',
- 'newParticipantResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_NewParticipantResponseType',
- 'removeParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_RemoveParticipantResponse',
- 'updateParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_UpdateParticipantResponse',
- 'getParticipantStatusResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetParticipantStatusResponse',
- 'getParticipantStatusResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetParticipantStatusResponseType',
-
- //Templates
- 'createConferenceTemplateResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_CreateConferenceTemplateResponse',
- 'createConferenceTemplateResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_CreateConferenceTemplateResponseType',
- 'getConferenceTemplateResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateResponse',
- 'getConferenceTemplateResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateResponseType',
- 'updateConferenceTemplateResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_UpdateConferenceTemplateResponse',
- 'removeConferenceTemplateResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_RemoveConferenceTemplateResponse',
- 'getConferenceTemplateListResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateListResponse',
- 'getConferenceTemplateListResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateListResponseType',
- 'addConferenceTemplateParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_AddConferenceTemplateParticipantResponse',
- 'addConferenceTemplateParticipantResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_AddConferenceTemplateParticipantResponseType',
- 'getConferenceTemplateParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateParticipantResponse',
- 'getConferenceTemplateParticipantResponseType' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateParticipantResponseType',
- 'updateConferenceTemplateParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_UpdateConferenceTemplateParticipantResponse',
- 'removeConferenceTemplateParticipantResponse' => 'Zend_Service_DeveloperGarden_Response_ConferenceCall_RemoveConferenceTemplateParticipantResponse',
- );
-
- /**
- * creates a new conference, ownerId should be between 3 and 39
- * chars
- *
- * @param string $ownerId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $conferenceSchedule
- * @param integer $account
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CreateConferenceResponseType
- */
- public function createConference($ownerId,
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails,
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $conferenceSchedule = null,
- $account = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest(
- $this->getEnvironment(),
- $ownerId,
- $conferenceDetails,
- $conferenceSchedule,
- $account
- );
-
- $result = $this->getSoapClient()->createConference(array(
- 'createConferenceRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * commits the given conference
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CommitConferenceResponse
- */
- public function commitConference($conferenceId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_CommitConferenceRequest(
- $this->getEnvironment(),
- $conferenceId
- );
-
- $result = $this->getSoapClient()->commitConference(array(
- 'commitConferenceRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * updates a conference with the given parameter
- *
- * @param string $conferenceId
- * @param string $ownerId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $conferenceSchedule
- * @param string $account
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function updateConference(
- $conferenceId,
- $ownerId = null,
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails = null,
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $conferenceSchedule = null,
- $account = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceRequest(
- $this->getEnvironment(),
- $conferenceId,
- $ownerId,
- $conferenceDetails,
- $conferenceSchedule,
- $account
- );
-
- $result = $this->getSoapClient()->updateConference(array(
- 'updateConferenceRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * get conference status details
- *
- * @param string $conferenceId
- * @param integer $what
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceStatusResponseType
- */
- public function getConferenceStatus($conferenceId, $what = 0)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceStatusRequest(
- $this->getEnvironment(),
- $conferenceId,
- $what
- );
-
- $result = $this->getSoapClient()->getConferenceStatus(array(
- 'getConferenceStatusRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * returns the conferenceId of the running conference instance for a planned
- * recurring conference or the current conferenceId
- *
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetRunningConferenceResponseType
- */
- public function getRunningConference($conferenceId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetRunningConferenceRequest(
- $this->getEnvironment(),
- $conferenceId
- );
-
- $result = $this->getSoapClient()->getRunningConference(array(
- 'getRunningConferenceRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * remove a conference
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function removeConference($conferenceId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceRequest(
- $this->getEnvironment(),
- $conferenceId
- );
-
- $result = $this->getSoapClient()->removeConference(array(
- 'removeConferenceRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * returns a list of conferences
- *
- * @param integer $what
- * @param string $ownerId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceListResponseType
- */
- public function getConferenceList($what = 0, $ownerId = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceListRequest(
- $this->getEnvironment(),
- $what,
- $ownerId
- );
-
- $result = $this->getSoapClient()->getConferenceList(array(
- 'getConferenceListRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * adds a new participant to the given conference
- *
- * @param string $conferenceId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_NewParticipantResponseType
- */
- public function newParticipant(
- $conferenceId,
- Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_NewParticipantRequest(
- $this->getEnvironment(),
- $conferenceId,
- $participant
- );
-
- $result = $this->getSoapClient()->newParticipant(array(
- 'newParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * fetches the participant details for the given conferenceId
- *
- * @param string $conferenceId
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetParticipantStatusResponseType
- */
- public function getParticipantStatus($conferenceId, $participantId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetParticipantStatusRequest(
- $this->getEnvironment(),
- $conferenceId,
- $participantId
- );
-
- $result = $this->getSoapClient()->getParticipantStatus(array(
- 'getParticipantStatusRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * removes the given participant from the conference
- *
- * @param string $conferenceId
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function removeParticipant($conferenceId, $participantId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveParticipantRequest(
- $this->getEnvironment(),
- $conferenceId,
- $participantId
- );
-
- $result = $this->getSoapClient()->removeParticipant(array(
- 'removeParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * updates the participant in the given conference
- *
- * @param string $conferenceId
- * @param string $participantId
- * @param integer $action
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function updateParticipant(
- $conferenceId,
- $participantId,
- $action = null,
- Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateParticipantRequest(
- $this->getEnvironment(),
- $conferenceId,
- $participantId,
- $action,
- $participant
- );
-
- $result = $this->getSoapClient()->updateParticipant(array(
- 'updateParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * creates a new conference template
- *
- * @param string $ownerId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails
- * @param array $participants
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CreateConferenceTemplateResponseType
- */
- public function createConferenceTemplate(
- $ownerId,
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails,
- array $participants = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceTemplateRequest(
- $this->getEnvironment(),
- $ownerId,
- $conferenceDetails,
- $participants
- );
-
- $result = $this->getSoapClient()->createConferenceTemplate(array(
- 'createConferenceTemplateRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * get a specific template
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateResponseType
- */
- public function getConferenceTemplate($templateId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateRequest(
- $this->getEnvironment(),
- $templateId
- );
-
- $result = $this->getSoapClient()->getConferenceTemplate(array(
- 'getConferenceTemplateRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * updates a conference template
- *
- * @param string $templateId
- * @param string $initiatorId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function updateConferenceTemplate(
- $templateId,
- $initiatorId = null,
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $conferenceDetails = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateRequest(
- $this->getEnvironment(),
- $templateId,
- $initiatorId,
- $conferenceDetails
- );
-
- $result = $this->getSoapClient()->updateConferenceTemplate(array(
- 'updateConferenceTemplateRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * remove a conference template
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function removeConferenceTemplate($templateId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceTemplateRequest(
- $this->getEnvironment(),
- $templateId
- );
-
- $result = $this->getSoapClient()->removeConferenceTemplate(array(
- 'removeConferenceTemplateRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * lists all available conference templates for the given owner
- *
- * @param string $ownerId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateListResponseType
- */
- public function getConferenceTemplateList($ownerId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateListRequest(
- $this->getEnvironment(),
- $ownerId
- );
-
- $result = $this->getSoapClient()->getConferenceTemplateList(array(
- 'getConferenceTemplateListRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * adds a new participants to the template
- *
- * @param string $templateId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_AddConferenceTemplateParticipantResponseType
- */
- public function addConferenceTemplateParticipant(
- $templateId,
- Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_AddConferenceTemplateParticipantRequest(
- $this->getEnvironment(),
- $templateId,
- $participant
- );
-
- $result = $this->getSoapClient()->addConferenceTemplateParticipant(array(
- 'addConferenceTemplateParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * returns a praticipant for the given templateId
- *
- * @param string $templateId
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_GetConferenceTemplateParticipantResponseType
- */
- public function getConferenceTemplateParticipant($templateId, $participantId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateParticipantRequest(
- $this->getEnvironment(),
- $templateId,
- $participantId
- );
-
- $result = $this->getSoapClient()->getConferenceTemplateParticipant(array(
- 'getConferenceTemplateParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * updates the participants details
- *
- * @param string $templateId
- * @param string $participantId
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function updateConferenceTemplateParticipant(
- $templateId,
- $participantId,
- Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateParticipantRequest(
- $this->getEnvironment(),
- $templateId,
- $participantId,
- $participant
- );
-
- $result = $this->getSoapClient()->updateConferenceTemplateParticipant(array(
- 'updateConferenceTemplateParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * removes a praticipant from the given templateId
- *
- * @param string $templateId
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Response_ConferenceCall_CCSResponseType
- */
- public function removeConferenceTemplateParticipant($templateId, $participantId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceTemplateParticipantRequest(
- $this->getEnvironment(),
- $templateId,
- $participantId
- );
-
- $result = $this->getSoapClient()->removeConferenceTemplateParticipant(array(
- 'removeConferenceTemplateParticipantRequest' => $request
- ));
-
- return $result->parse();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceAccount.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceAccount.php
deleted file mode 100644
index 89b26790c..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceAccount.php
+++ /dev/null
@@ -1,62 +0,0 @@
-account;
- }
-
- /**
- * @return string
- */
- public function getBillingType()
- {
- return $this->billingtype;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceDetail.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceDetail.php
deleted file mode 100644
index 823274f89..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceDetail.php
+++ /dev/null
@@ -1,129 +0,0 @@
-setName($name);
- $this->setDescription($description);
- $this->setDuration($duration);
- }
-
- /**
- * sets new duration for this conference in seconds
- *
- * @param integer $duration
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail
- */
- public function setDuration($duration)
- {
- $this->duration = $duration;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getDuration()
- {
- return $this->duration;
- }
-
- /**
- * set the description of this conference
- *
- * @param $description the $description to set
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail
- */
- public function setDescription($description)
- {
- $this->description = $description;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getDescription()
- {
- return $this->description;
- }
-
- /**
- * sets the name of this conference
- *
- * @param string $name
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail
- */
- public function setName($name)
- {
- $this->name = $name;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getName()
- {
- return $this->name;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceSchedule.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceSchedule.php
deleted file mode 100644
index a2c1b1854..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ConferenceSchedule.php
+++ /dev/null
@@ -1,262 +0,0 @@
- 'no recurring',
- 1 => 'hourly',
- 2 => 'daily',
- 3 => 'weekly',
- 4 => 'monthly',
- );
-
- /**
- * constructor for schedule object, all times are in UTC
- *
- * @param integer $minute
- * @param integer $hour
- * @param integer $dayOfMonth
- * @param integer $month
- * @param integer $year
- * @param integer $recurring
- * @param integer $notify
- */
- public function __construct($minute, $hour, $dayOfMonth, $month, $year, $recurring = 0, $notify = 0)
- {
- $this->setMinute($minute)
- ->setHour($hour)
- ->setDayOfMonth($dayOfMonth)
- ->setMonth($month)
- ->setYear($year)
- ->setRecurring($recurring)
- ->setNotify($notify);
- }
-
- /**
- * returns the value of $minute
- *
- * @return integer
- */
- public function getMinute()
- {
- return $this->minute;
- }
-
- /**
- * sets $minute
- *
- * @param integer $minute
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setMinute($minute)
- {
- $this->minute = $minute;
- return $this;
- }
-
- /**
- * returns the value of $hour
- *
- * @return integer
- */
- public function getHour()
- {
- return $this->hour;
- }
-
- /**
- * sets $hour
- *
- * @param integer $hour
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setHour($hour)
- {
- $this->hour = $hour;
- return $this;
- }
-
- /**
- * returns the value of $dayOfMonth
- *
- * @return integer
- */
- public function getDayOfMonth()
- {
- return $this->dayOfMonth;
- }
-
- /**
- * sets $dayOfMonth
- *
- * @param integer $dayOfMonth
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setDayOfMonth($dayOfMonth)
- {
- $this->dayOfMonth = $dayOfMonth;
- return $this;
- }
-
- /**
- * returns the value of $month
- *
- * @return integer
- */
- public function getMonth()
- {
- return $this->month;
- }
-
- /**
- * sets $month
- *
- * @param integer $month
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setMonth($month)
- {
- $this->month = $month;
- return $this;
- }
-
- /**
- * returns the value of $year
- *
- * @return integer
- */
- public function getYear()
- {
- return $this->year;
- }
-
- /**
- * sets $year
- *
- * @param integer $year
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setYear($year)
- {
- $this->year = $year;
- return $this;
- }
-
- /**
- * returns the value of $recurring
- *
- * @return integer
- */
- public function getRecurring()
- {
- return $this->recurring;
- }
-
- /**
- * sets $recurring
- *
- * @param integer $recurring
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setRecurring($recurring)
- {
- if (!array_key_exists($recurring, $this->_recurringValues)) {
- require_once 'Zend/Service/DeveloperGarden/ConferenceCall/Exception.php';
- throw new Zend_Service_DeveloperGarden_ConferenceCall_Exception(
- 'Unknown ConferenceCall recurring mode.'
- );
- }
- $this->recurring = $recurring;
- return $this;
- }
-
- /**
- * returns the value of $notify
- *
- * @return integer
- */
- public function getNotify()
- {
- return $this->notify;
- }
-
- /**
- * sets $notify
- *
- * @param integer $notify
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function setNotify($notify)
- {
- $this->notify = $notify;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/Exception.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/Exception.php
deleted file mode 100644
index 2278a915a..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-detail;
- }
-
- /**
- * participant id
- *
- * @return string
- */
- public function getParticipantId()
- {
- return $this->participantId;
- }
-
- /**
- * get the status
- * returns an
- * array of Zend_Service_DeveloperGarden_ConferenceCall_ParticipantStatus
- *
- * @return array
- */
- public function getStatus()
- {
- return $this->status;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ParticipantDetail.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ParticipantDetail.php
deleted file mode 100644
index f5b1f1dfb..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ParticipantDetail.php
+++ /dev/null
@@ -1,195 +0,0 @@
-setFirstName($firstName)
- ->setLastName($lastName)
- ->setNumber($number)
- ->setEmail($email)
- ->setFlags((int) $isInitiator);
- }
-
- /**
- * returns the value of $firstName
- *
- * @return string
- */
- public function getFirstName()
- {
- return $this->firstName;
- }
-
- /**
- * sets $firstName
- *
- * @param string $firstName
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function setFirstName($firstName)
- {
- $this->firstName = $firstName;
- return $this;
- }
-
- /**
- * returns the value of $lastName
- *
- * @return string
- */
- public function getLastName()
- {
- return $this->lastName;
- }
-
- /**
- * sets $lastName
- *
- * @param string $lastName
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function setLastName($lastName)
- {
- $this->lastName = $lastName;
- return $this;
- }
-
- /**
- * returns the value of $number
- *
- * @return string
- */
- public function getNumber()
- {
- return $this->number;
- }
-
- /**
- * sets $number
- *
- * @param string $number
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function setNumber($number)
- {
- $this->number = $number;
- return $this;
- }
-
- /**
- * returns the value of $email
- *
- * @return string
- */
- public function getEmail()
- {
- return $this->email;
- }
-
- /**
- * sets $email
- *
- * @param string email
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function setEmail($email)
- {
- $validator = new Zend_Validate_EmailAddress();
-
- if (!$validator->isValid($email)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception('Not a valid e-mail address.');
- }
- $this->email = $email;
- return $this;
- }
-
- /**
- * returns the value of $flags
- *
- * @return integer
- */
- public function getFlags()
- {
- return $this->flags;
- }
-
- /**
- * sets $flags (ie, initiator flag)
- *
- * @param integer $flags
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function setFlags($flags)
- {
- $this->flags = $flags;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ParticipantStatus.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ParticipantStatus.php
deleted file mode 100644
index 3e7c3abe2..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/ConferenceCall/ParticipantStatus.php
+++ /dev/null
@@ -1,103 +0,0 @@
-setName($name)
- ->setValue($value);
- }
-
- /**
- * returns the value of $name
- *
- * @return string
- */
- public function getName()
- {
- return $this->name;
- }
-
- /**
- * sets $name
- *
- * @param string $name
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantStatus
- */
- public function setName($name)
- {
- $this->name = $name;
- return $this;
- }
-
- /**
- * returns the value of $value
- *
- * @return string
- */
- public function getValue()
- {
- return $this->value;
- }
-
- /**
- * sets $value
- *
- * @param string $value
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantStatus
- */
- public function setValue($value = null)
- {
- $this->value = $value;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Credential.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Credential.php
deleted file mode 100644
index 9b378fcb2..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Credential.php
+++ /dev/null
@@ -1,186 +0,0 @@
-setUsername($username);
- }
- if (!empty($password)) {
- $this->setPassword($password);
- }
- if (!empty($realm)) {
- $this->setRealm($realm);
- }
- }
-
- /**
- * split the password into an array
- *
- * @param string $password
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setPassword($password = null)
- {
- if (empty($password)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Empty password not permitted.');
- }
-
- if (!is_string($password)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Password must be a string.');
- }
-
- $this->_password = $password;
- return $this;
- }
-
- /**
- * returns the current configured password
- *
- * @return string
- */
- public function getPassword()
- {
- return $this->_password;
- }
-
- /**
- * set the new login
- *
- * @param string $username
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setUsername($username = null)
- {
- if (empty($username)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Empty username not permitted.');
- }
-
- if (!is_string($username)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Username must be a string.');
- }
-
- $this->_username = $username;
- return $this;
- }
-
- /**
- * returns the username
- *
- * if $withRealm == true we combine username and realm like
- * username@realm
- *
- * @param $boolean withRealm
- * @return string|null
- */
- public function getUsername($withRealm = false)
- {
- $retValue = $this->_username;
- if ($withRealm) {
- $retValue = sprintf(
- '%s@%s',
- $this->_username,
- $this->_realm
- );
- }
- return $retValue;
- }
-
- /**
- * set the new realm
- *
- * @param string $realm
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @return Zend_Service_DeveloperGarden_Client_ClientAbstract
- */
- public function setRealm($realm = null)
- {
- if (empty($realm)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Empty realm not permitted.');
- }
-
- if (!is_string($realm)) {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Realm must be a string.');
- }
-
- $this->_realm = $realm;
- return $this;
- }
-
- /**
- * returns the realm
- *
- * @return string|null
- */
- public function getRealm()
- {
- return $this->_realm;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Exception.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Exception.php
deleted file mode 100644
index f51a4d336..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
- 'Zend_Service_DeveloperGarden_Response_IpLocation_LocateIPResponseType',
- 'IPAddressLocationType' => 'Zend_Service_DeveloperGarden_Response_IpLocation_IPAddressLocationType',
- 'RegionType' => 'Zend_Service_DeveloperGarden_Response_IpLocation_RegionType',
- 'GeoCoordinatesType' => 'Zend_Service_DeveloperGarden_Response_IpLocation_GeoCoordinatesType',
- 'CityType' => 'Zend_Service_DeveloperGarden_Response_IpLocation_CityType',
- );
-
- /**
- * locate the given Ip address or array of addresses
- *
- * @param Zend_Service_DeveloperGarden_IpLocation_IpAddress|string $ip
- * @return Zend_Service_DeveloperGarden_Response_IpLocation_LocateIPResponse
- */
- public function locateIP($ip)
- {
- $request = new Zend_Service_DeveloperGarden_Request_IpLocation_LocateIPRequest(
- $this->getEnvironment(),
- $ip
- );
-
- $result = $this->getSoapClient()->locateIP($request);
-
- $response = new Zend_Service_DeveloperGarden_Response_IpLocation_LocateIPResponse($result);
- return $response->parse();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/IpLocation/IpAddress.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/IpLocation/IpAddress.php
deleted file mode 100644
index edbeb8b85..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/IpLocation/IpAddress.php
+++ /dev/null
@@ -1,130 +0,0 @@
-setIp($ip)
- ->setVersion($version);
- }
-
- /**
- * sets new ip address
- *
- * @param string $ip
- * @throws Zend_Service_DeveloperGarden_Exception
- * @return Zend_Service_DeveloperGarden_IpLocation_IpAddress
- */
- public function setIp($ip)
- {
- $validator = new Zend_Validate_Ip();
-
- if (!$validator->isValid($ip)) {
- $message = $validator->getMessages();
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception($message['notIpAddress']);
- }
- $this->_address = $ip;
- return $this;
- }
-
- /**
- * returns the current address
- *
- * @return string
- */
- public function getIp()
- {
- return $this->_address;
- }
-
- /**
- * sets new ip version
- *
- * @param integer $version
- * @throws Zend_Service_DeveloperGarden_Exception
- * @return Zend_Service_DeveloperGarden_IpLocation_IpAddress
- */
- public function setVersion($version)
- {
- if (!in_array($version, $this->_versionSupported)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception('Ip Version ' . (int)$version . ' is not supported.');
- }
-
- $this->_version = $version;
- return $this;
- }
-
- /**
- * returns the ip version
- *
- * @return integer
- */
- public function getVersion()
- {
- return $this->_version;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/LocalSearch.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/LocalSearch.php
deleted file mode 100644
index c5f876093..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/LocalSearch.php
+++ /dev/null
@@ -1,105 +0,0 @@
- 'Zend_Service_DeveloperGarden_Response_LocalSearch_LocalSearchResponseType'
- );
-
- /**
- * localSearch with the given parameters
- *
- * @param Zend_Service_DeveloperGarden_LocalSearch_SearchParameters $searchParameters
- * @param integer $account
- * @return Zend_Service_DeveloperGarden_Response_LocalSearch_LocalSearchResponseType
- */
- public function localSearch(
- Zend_Service_DeveloperGarden_LocalSearch_SearchParameters $searchParameters,
- $account = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_LocalSearch_LocalSearchRequest(
- $this->getEnvironment(),
- $searchParameters,
- $account
- );
-
- $result = $this->getSoapClient()->localSearch($request);
-
- $response = new Zend_Service_DeveloperGarden_Response_LocalSearch_LocalSearchResponse($result);
- return $response->parse();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/LocalSearch/Exception.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/LocalSearch/Exception.php
deleted file mode 100644
index 6937a614c..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/LocalSearch/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
- null,
- 'dymwhat' => null,
- 'dymrelated' => null,
- 'hits' => null,
- 'collapse' => null,
- 'where' => null,
- 'dywhere' => null,
- 'radius' => null,
- 'lx' => null,
- 'ly' => null,
- 'rx' => null,
- 'ry' => null,
- 'transformgeocode' => null,
- 'sort' => null,
- 'spatial' => null,
- 'sepcomm' => null,
- 'filter' => null, // can be ONLINER or OFFLINER
- 'openingtime' => null, // can be now or HH::MM
- 'kategorie' => null, // @see http://www.suchen.de/kategorie-katalog
- 'site' => null,
- 'typ' => null,
- 'name' => null,
- 'page' => null,
- 'city' => null,
- 'plz' => null,
- 'strasse' => null,
- 'bundesland' => null,
- );
-
- /**
- * possible collapse values
- *
- * @var array
- */
- private $_possibleCollapseValues = array(
- true,
- false,
- 'ADDRESS_COMPANY',
- 'DOMAIN'
- );
-
- /**
- * sets a new search word
- * alias for setWhat
- *
- * @param string $searchValue
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setSearchValue($searchValue)
- {
- return $this->setWhat($searchValue);
- }
-
- /**
- * sets a new search word
- *
- * @param string $searchValue
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setWhat($searchValue)
- {
- $this->_parameters['what'] = $searchValue;
- return $this;
- }
-
- /**
- * enable the did you mean what feature
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function enableDidYouMeanWhat()
- {
- $this->_parameters['dymwhat'] = 'true';
- return $this;
- }
-
- /**
- * disable the did you mean what feature
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function disableDidYouMeanWhat()
- {
- $this->_parameters['dymwhat'] = 'false';
- return $this;
- }
-
- /**
- * enable the did you mean where feature
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function enableDidYouMeanWhere()
- {
- $this->_parameters['dymwhere'] = 'true';
- return $this;
- }
-
- /**
- * disable the did you mean where feature
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function disableDidYouMeanWhere()
- {
- $this->_parameters['dymwhere'] = 'false';
- return $this;
- }
-
- /**
- * enable did you mean related, if true Kihno will be corrected to Kino
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function enableDidYouMeanRelated()
- {
- $this->_parameters['dymrelated'] = 'true';
- return $this;
- }
-
- /**
- * diable did you mean related, if false Kihno will not be corrected to Kino
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function disableDidYouMeanRelated()
- {
- $this->_parameters['dymrelated'] = 'true';
- return $this;
- }
-
- /**
- * set the max result hits for this search
- *
- * @param integer $hits
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setHits($hits = 10)
- {
- require_once 'Zend/Validate/Between.php';
- $validator = new Zend_Validate_Between(0, 1000);
- if (!$validator->isValid($hits)) {
- $message = $validator->getMessages();
- require_once 'Zend/Service/DeveloperGarden/LocalSearch/Exception.php';
- throw new Zend_Service_DeveloperGarden_LocalSearch_Exception(current($message));
- }
- $this->_parameters['hits'] = $hits;
- return $this;
- }
-
- /**
- * If true, addresses will be collapsed for a single domain, common values
- * are:
- * ADDRESS_COMPANY – to collapse by address
- * DOMAIN – to collapse by domain (same like collapse=true)
- * false
- *
- * @param mixed $value
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setCollapse($value)
- {
- if (!in_array($value, $this->_possibleCollapseValues, true)) {
- require_once 'Zend/Service/DeveloperGarden/LocalSearch/Exception.php';
- throw new Zend_Service_DeveloperGarden_LocalSearch_Exception('Not a valid value provided.');
- }
- $this->_parameters['collapse'] = $value;
- return $this;
- }
-
- /**
- * set a specific search location
- * examples:
- * +47°54’53.10â€, 11° 10’ 56.76â€
- * 47°54’53.10;11°10’56.76â€
- * 47.914750,11.182533
- * +47.914750 ; +11.1824
- * Darmstadt
- * Berlin
- *
- * @param string $where
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setWhere($where)
- {
- require_once 'Zend/Validate/NotEmpty.php';
-
- $validator = new Zend_Validate_NotEmpty();
- if (!$validator->isValid($where)) {
- $message = $validator->getMessages();
- require_once 'Zend/Service/DeveloperGarden/LocalSearch/Exception.php';
- throw new Zend_Service_DeveloperGarden_LocalSearch_Exception(current($message));
- }
- $this->_parameters['where'] = $where;
- return $this;
- }
-
- /**
- * returns the defined search location (ie city, country)
- *
- * @return string
- */
- public function getWhere()
- {
- return $this->_parameters['where'];
- }
-
- /**
- * enable the spatial search feature
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function enableSpatial()
- {
- $this->_parameters['spatial'] = 'true';
- return $this;
- }
-
- /**
- * disable the spatial search feature
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function disableSpatial()
- {
- $this->_parameters['spatial'] = 'false';
- return $this;
- }
-
- /**
- * sets spatial and the given radius for a circle search
- *
- * @param integer $radius
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setRadius($radius)
- {
- require_once 'Zend/Validate/Int.php';
-
- $validator = new Zend_Validate_Int();
- if (!$validator->isValid($radius)) {
- $message = $validator->getMessages();
- require_once 'Zend/Service/DeveloperGarden/LocalSearch/Exception.php';
- throw new Zend_Service_DeveloperGarden_LocalSearch_Exception(current($message));
- }
- $this->_parameters['radius'] = $radius;
- $this->_parameters['transformgeocode'] = 'false';
-
- return $this;
- }
-
- /**
- * sets the values for a rectangle search
- * lx = longitude left top
- * ly = latitude left top
- * rx = longitude right bottom
- * ry = latitude right bottom
- *
- * @param $lx
- * @param $ly
- * @param $rx
- * @param $ry
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setRectangle($lx, $ly, $rx, $ry)
- {
- $this->_parameters['lx'] = $lx;
- $this->_parameters['ly'] = $ly;
- $this->_parameters['rx'] = $rx;
- $this->_parameters['ry'] = $ry;
-
- return $this;
- }
-
- /**
- * if set, the service returns the zipcode for the result
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setTransformGeoCode()
- {
- $this->_parameters['transformgeocode'] = 'true';
- $this->_parameters['radius'] = null;
-
- return $this;
- }
-
- /**
- * sets the sort value
- * possible values are: 'relevance' and 'distance' (only with spatial enabled)
- *
- * @param string $sort
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setSort($sort)
- {
- if (!in_array($sort, array('relevance', 'distance'))) {
- require_once 'Zend/Service/DeveloperGarden/LocalSearch/Exception.php';
- throw new Zend_Service_DeveloperGarden_LocalSearch_Exception('Not a valid sort value provided.');
- }
-
- $this->_parameters['sort'] = $sort;
- return $this;
- }
-
- /**
- * enable the separation of phone numbers
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function enablePhoneSeparation()
- {
- $this->_parameters['sepcomm'] = 'true';
- return $this;
- }
-
- /**
- * disable the separation of phone numbers
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function disablePhoneSeparation()
- {
- $this->_parameters['sepcomm'] = 'true';
- return $this;
- }
-
- /**
- * if this filter is set, only results with a website are returned
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setFilterOnliner()
- {
- $this->_parameters['filter'] = 'ONLINER';
- return $this;
- }
-
- /**
- * if this filter is set, only results without a website are returned
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setFilterOffliner()
- {
- $this->_parameters['filter'] = 'OFFLINER';
- return $this;
- }
-
-
- /**
- * removes the filter value
- *
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function disableFilter()
- {
- $this->_parameters['filter'] = null;
- return $this;
- }
-
- /**
- * set a filter to get just results who are open at the given time
- * possible values:
- * now = open right now
- * HH:MM = at the given time (ie 20:00)
- *
- * @param string $time
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setOpeningTime($time = null)
- {
- $this->_parameters['openingtime'] = $time;
- return $this;
- }
-
- /**
- * sets a category filter
- *
- * @see http://www.suchen.de/kategorie-katalog
- * @param $category
- * @return unknown_type
- */
- public function setCategory($category = null)
- {
- $this->_parameters['kategorie'] = $category;
- return $this;
- }
-
- /**
- * sets the site filter
- * ie: www.developergarden.com
- *
- * @param string $site
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setSite($site)
- {
- $this->_parameters['site'] = $site;
- return $this;
- }
-
- /**
- * sets a filter to the given document type
- * ie: pdf, html
- *
- * @param string $type
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setDocumentType($type)
- {
- $this->_parameters['typ'] = $type;
- return $this;
- }
-
- /**
- * sets a filter for the company name
- * ie: Deutsche Telekom
- *
- * @param string $name
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setName($name)
- {
- $this->_parameters['name'] = $name;
- return $this;
- }
-
- /**
- * sets a filter for the zip code
- *
- * @param string $zip
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setZipCode($zip)
- {
- $this->_parameters['plz'] = $zip;
- return $this;
- }
-
- /**
- * sets a filter for the street
- *
- * @param string $street
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setStreet($street)
- {
- $this->_parameters['strasse'] = $street;
- return $this;
- }
-
- /**
- * sets a filter for the county
- *
- * @param string $county
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function setCounty($county)
- {
- $this->_parameters['bundesland'] = $county;
- return $this;
- }
-
- /**
- * sets a raw parameter with the value
- *
- * @param string $key
- * @param mixed $value
- * @return unknown_type
- */
- public function setRawParameter($key, $value)
- {
- $this->_parameters[$key] = $value;
- return $this;
- }
-
- /**
- * returns the parameters as an array
- *
- * @return array
- */
- public function getSearchParameters()
- {
- $retVal = array();
- foreach ($this->_parameters as $key => $value) {
- if (is_null($value)) {
- continue;
- }
- $param = array(
- 'parameter' => $key,
- 'value' => $value
- );
- $retVal[] = $param;
- }
- return $retVal;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/ChangeQuotaPool.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/ChangeQuotaPool.php
deleted file mode 100644
index a620a7628..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/ChangeQuotaPool.php
+++ /dev/null
@@ -1,103 +0,0 @@
-= 0 to set new user quota
- *
- * @var integer
- */
- public $quotaMax = 0;
-
- /**
- * constructor give them the module id
- *
- * @param string $moduleId
- * @param integer $quotaMax
- * @return Zend_Service_Developergarde_Request_ChangeQuotaPool
- */
- public function __construct($moduleId = null, $quotaMax = 0)
- {
- $this->setModuleId($moduleId)
- ->setQuotaMax($quotaMax);
- }
-
- /**
- * sets a new moduleId
- *
- * @param integer $moduleId
- * @return Zend_Service_Developergarde_Request_ChangeQuotaPool
- */
- public function setModuleId($moduleId = null)
- {
- $this->moduleId = $moduleId;
- return $this;
- }
-
- /**
- * returns the moduleId
- *
- * @return string
- */
- public function getModuleId()
- {
- return $this->moduleId;
- }
-
- /**
- * sets new QuotaMax value
- *
- * @param integer $quotaMax
- * @return Zend_Service_Developergarde_Request_ChangeQuotaPool
- */
- public function setQuotaMax($quotaMax = 0)
- {
- $this->quotaMax = $quotaMax;
- return $this;
- }
-
- /**
- * returns the quotaMax value
- *
- * @return integer
- */
- public function getQuotaMax()
- {
- return $this->quotaMax;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/GetAccountBalance.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/GetAccountBalance.php
deleted file mode 100644
index 2c98cafb7..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/GetAccountBalance.php
+++ /dev/null
@@ -1,72 +0,0 @@
-setAccount($Account);
- }
-
- /**
- * sets a new Account array
- *
- * @param array $Account
- * @return Zend_Service_DeveloperGarden_Request_BaseUserService
- */
- public function setAccount(array $Account = array())
- {
- $this->Account = $Account;
- return $this;
- }
-
- /**
- * returns the moduleId
- *
- * @return string
- */
- public function getAccount()
- {
- return $this->Account;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/GetQuotaInformation.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/GetQuotaInformation.php
deleted file mode 100644
index 4f5bbb884..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/BaseUserService/GetQuotaInformation.php
+++ /dev/null
@@ -1,72 +0,0 @@
-setModuleId($moduleId);
- }
-
- /**
- * sets a new moduleId
- *
- * @param integer $moduleId
- * @return Zend_Service_DeveloperGarden_Request_BaseUserService
- */
- public function setModuleId($moduleId = null)
- {
- $this->moduleId = $moduleId;
- return $this;
- }
-
- /**
- * returns the moduleId
- *
- * @return string
- */
- public function getModuleId()
- {
- return $this->moduleId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/AddConferenceTemplateParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/AddConferenceTemplateParticipantRequest.php
deleted file mode 100644
index 5b27c5335..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/AddConferenceTemplateParticipantRequest.php
+++ /dev/null
@@ -1,91 +0,0 @@
-setTemplateId($templateId)
- ->setParticipant($participant);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_AddConferenceTemplateParticipantRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-
- /**
- * sets new participant
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_AddConferenceTemplateParticipantRequest
- */
- public function setParticipant(Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant)
- {
- $this->participant = $participant;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CommitConferenceRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CommitConferenceRequest.php
deleted file mode 100644
index af63ddac5..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CommitConferenceRequest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setConferenceId($conferenceId);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CommitConferenceRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CreateConferenceRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CreateConferenceRequest.php
deleted file mode 100644
index 05960ad51..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CreateConferenceRequest.php
+++ /dev/null
@@ -1,136 +0,0 @@
-setOwnerId($ownerId)
- ->setDetail($conferenceDetails)
- ->setSchedule($conferenceSchedule)
- ->setAccount($account);
- }
-
- /**
- * sets $schedule
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $schedule
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setSchedule(
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $schedule = null
- ) {
- $this->schedule = $schedule;
- return $this;
- }
-
- /**
- * sets $detail
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setDetail(Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail)
- {
- $this->detail = $detail;
- return $this;
- }
-
- /**
- * sets $ownerId
- *
- * @param string $ownerId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setOwnerId($ownerId)
- {
- $this->ownerId = $ownerId;
- return $this;
- }
-
- /**
- * sets $account
- *
- * @param $account
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setAccount($account = null)
- {
- $this->account = $account;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CreateConferenceTemplateRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CreateConferenceTemplateRequest.php
deleted file mode 100644
index 8edf02757..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/CreateConferenceTemplateRequest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-setOwnerId($ownerId)
- ->setDetail($conferenceDetails)
- ->setParticipants($conferenceParticipants);
- }
-
- /**
- * sets $participants
- *
- * @param array $participants
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceTemplateRequest
- */
- public function setParticipants(array $participants = null)
- {
- $this->participants = $participants;
- return $this;
- }
-
- /**
- * sets $detail
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceTemplateRequest
- */
- public function setDetail(Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail)
- {
- $this->detail = $detail;
- return $this;
- }
-
- /**
- * sets $ownerId
- *
- * @param string $ownerId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceTemplateRequest
- */
- public function setOwnerId($ownerId)
- {
- $this->ownerId = $ownerId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceListRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceListRequest.php
deleted file mode 100644
index 2e3978be2..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceListRequest.php
+++ /dev/null
@@ -1,104 +0,0 @@
- 'all conferences',
- 1 => 'just ad-hoc conferences',
- 2 => 'just planned conferences',
- 3 => 'just failed conferences',
- );
-
- /**
- * unique owner id
- *
- * @var string
- */
- public $ownerId = null;
-
- /**
- * constructor
- *
- * @param integer $environment
- * @param integer $what
- * @param string $ownerId
- */
- public function __construct($environment, $what = 0, $ownerId = null)
- {
- parent::__construct($environment);
- $this->setWhat($what)
- ->setOwnerId($ownerId);
- }
-
- /**
- * sets $what
- *
- * @param integer $what
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceListRequest
- */
- public function setWhat($what)
- {
- if (!array_key_exists($what, $this->_whatValues)) {
- require_once 'Zend/Service/DeveloperGarden/Request/Exception.php';
- throw new Zend_Service_DeveloperGarden_Request_Exception('What value not allowed.');
- }
- $this->what = $what;
- return $this;
- }
-
- /**
- * sets $ownerId
- *
- * @param $ownerId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceListRequest
- */
- public function setOwnerId($ownerId)
- {
- $this->ownerId = $ownerId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceStatusRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceStatusRequest.php
deleted file mode 100644
index fc2afce64..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceStatusRequest.php
+++ /dev/null
@@ -1,106 +0,0 @@
- 'all conferences',
- 1 => 'just detail, acc and startTime',
- 2 => 'just participants',
- 3 => 'just schedule',
- );
-
- /**
- * constructor
- *
- * @param integer $environment
- * @param string $conferenceId
- * @param integer $what
- */
- public function __construct($environment, $conferenceId, $what)
- {
- parent::__construct($environment);
- $this->setConferenceId($conferenceId)
- ->setWhat($what);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceStatusRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-
- /**
- * sets $what
- *
- * @param integer $what
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceStatusRequest
- */
- public function setWhat($what)
- {
- if (!array_key_exists($what, $this->_whatValues)) {
- require_once 'Zend/Service/DeveloperGarden/Request/Exception.php';
- throw new Zend_Service_DeveloperGarden_Request_Exception('What value not allowed.');
- }
- $this->what = $what;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateListRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateListRequest.php
deleted file mode 100644
index aa4582eb3..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateListRequest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setOwnerId($ownerId);
- }
-
- /**
- * sets $ownerId
- *
- * @param $ownerId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateListRequest
- */
- public function setOwnerId($ownerId)
- {
- $this->ownerId = $ownerId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateParticipantRequest.php
deleted file mode 100644
index 1e1c3f59c..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateParticipantRequest.php
+++ /dev/null
@@ -1,90 +0,0 @@
-setTemplateId($templateId)
- ->setParticipantId($participantId);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateParticipantRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-
- /**
- * set the participant id
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateParticipantRequest
- */
- public function setParticipantId($participantId)
- {
- $this->participantId = $participantId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateRequest.php
deleted file mode 100644
index 3e458245b..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetConferenceTemplateRequest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setTemplateId($templateId);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetConferenceTemplateRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetParticipantStatusRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetParticipantStatusRequest.php
deleted file mode 100644
index d442617b9..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetParticipantStatusRequest.php
+++ /dev/null
@@ -1,90 +0,0 @@
-setConferenceId($conferenceId)
- ->setParticipantId($participantId);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetParticipantStatusRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-
- /**
- * set the participant id
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetParticipantStatusRequest
- */
- public function setParticipantId($participantId)
- {
- $this->participantId = $participantId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetRunningConferenceRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetRunningConferenceRequest.php
deleted file mode 100644
index 80e5b917b..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/GetRunningConferenceRequest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setConferenceId($conferenceId);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_GetRunningConferenceRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/NewParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/NewParticipantRequest.php
deleted file mode 100644
index 0784d10db..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/NewParticipantRequest.php
+++ /dev/null
@@ -1,91 +0,0 @@
-setConferenceId($conferenceId)
- ->setParticipant($participant);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_NewParticipantRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-
- /**
- * sets new participant
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_NewParticipantRequest
- */
- public function setParticipant(Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant)
- {
- $this->participant = $participant;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceRequest.php
deleted file mode 100644
index 778a145df..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceRequest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setConferenceId($conferenceId);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceTemplateParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceTemplateParticipantRequest.php
deleted file mode 100644
index 63d385896..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceTemplateParticipantRequest.php
+++ /dev/null
@@ -1,90 +0,0 @@
-setTemplateId($templateId)
- ->setParticipantId($participantId);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceTemplateParticipantRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-
- /**
- * set the participant id
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceTemplateParticipantRequest
- */
- public function setParticipantId($participantId)
- {
- $this->participantId = $participantId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceTemplateRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceTemplateRequest.php
deleted file mode 100644
index def78588e..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveConferenceTemplateRequest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setTemplateId($templateId);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveConferenceTemplateRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveParticipantRequest.php
deleted file mode 100644
index 9483c2c62..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/RemoveParticipantRequest.php
+++ /dev/null
@@ -1,90 +0,0 @@
-setConferenceId($conferenceId)
- ->setParticipantId($participantId);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveParticipantRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-
- /**
- * set the participant id
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_RemoveParticipantRequest
- */
- public function setParticipantId($participantId)
- {
- $this->participantId = $participantId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceRequest.php
deleted file mode 100644
index 3a9484292..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceRequest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-setConferenceId($conferenceId)
- ->setOwnerId($ownerId)
- ->setDetail($conferenceDetails)
- ->setSchedule($conferenceSchedule)
- ->setAccount($account);
- }
-
- /**
- * sets $conferenceId
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId= $conferenceId;
- return $this;
- }
-
- /**
- * sets $schedule
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $schedule
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setSchedule(
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule $schedule = null
- ) {
- $this->schedule = $schedule;
- return $this;
- }
-
- /**
- * sets $detail
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setDetail(
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail = null
- ) {
- $this->detail = $detail;
- return $this;
- }
-
- /**
- * sets $ownerId
- *
- * @param string $ownerId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setOwnerId($ownerId = null)
- {
- $this->ownerId = $ownerId;
- return $this;
- }
-
- /**
- * sets $account
- *
- * @param $account
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_CreateConferenceRequest
- */
- public function setAccount($account = null)
- {
- $this->account = $account;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceTemplateParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceTemplateParticipantRequest.php
deleted file mode 100644
index 92ad31936..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceTemplateParticipantRequest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-setTemplateId($templateId)
- ->setParticipantId($participantId)
- ->setParticipant($participant);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateParticipantRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-
- /**
- * set the participant id
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateParticipantRequest
- */
- public function setParticipantId($participantId)
- {
- $this->participantId = $participantId;
- return $this;
- }
-
- /**
- * sets new participant
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateParticipantRequest
- */
- public function setParticipant(
- Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- ) {
- $this->participant = $participant;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceTemplateRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceTemplateRequest.php
deleted file mode 100644
index 382c78b01..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateConferenceTemplateRequest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-setTemplateId($templateId)
- ->setInitiatorId($initiatorId)
- ->setDetail($conferenceDetails);
- }
-
- /**
- * set the template id
- *
- * @param string $templateId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateRequest
- */
- public function setTemplateId($templateId)
- {
- $this->templateId = $templateId;
- return $this;
- }
-
- /**
- * set the initiator id
- *
- * @param string $initiatorId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateRequest
- */
- public function setInitiatorId($initiatorId)
- {
- $this->initiatorId = $initiatorId;
- return $this;
- }
-
- /**
- * sets $detail
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateConferenceTemplateRequest
- */
- public function setDetail(
- Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail $detail = null
- ) {
- $this->detail = $detail;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateParticipantRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateParticipantRequest.php
deleted file mode 100644
index 5195425f6..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/ConferenceCall/UpdateParticipantRequest.php
+++ /dev/null
@@ -1,138 +0,0 @@
-setConferenceId($conferenceId)
- ->setParticipantId($participantId)
- ->setAction($action)
- ->setParticipant($participant);
- }
-
- /**
- * set the conference id
- *
- * @param string $conferenceId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateParticipantRequest
- */
- public function setConferenceId($conferenceId)
- {
- $this->conferenceId = $conferenceId;
- return $this;
- }
-
- /**
- * set the participant id
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateParticipantRequest
- */
- public function setParticipantId($participantId)
- {
- $this->participantId = $participantId;
- return $this;
- }
-
- /**
- * sets new action
- *
- * @param integer $action
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateParticipantRequest
- */
- public function setAction($action = null)
- {
- if ($action !== null) {
- Zend_Service_DeveloperGarden_ConferenceCall::checkParticipantAction($action);
- }
- $this->action = $action;
- return $this;
- }
-
- /**
- * sets new participant
- *
- * @param Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant
- * @return Zend_Service_DeveloperGarden_Request_ConferenceCall_UpdateParticipantRequest
- */
- public function setParticipant(
- Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail $participant = null
- ) {
- $this->participant = $participant;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/Exception.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/Exception.php
deleted file mode 100644
index 3bb401a13..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-setIp($ip);
- }
- }
-
- /**
- * sets new ip or array of ips
- *
- * @param Zend_Service_DeveloperGarden_IpLocation_IpAddress|array $ip
- *
- * @return Zend_Service_DeveloperGarden_Request_IpLocation_LocateIPRequest
- */
- public function setIp($ip)
- {
- if ($ip instanceof Zend_Service_DeveloperGarden_IpLocation_IpAddress) {
- $this->address[] = array(
- 'ipType' => $ip->getVersion(),
- 'ipAddress' => $ip->getIp(),
- );
- return $this;
- }
-
- if (is_array($ip)) {
- foreach ($ip as $ipObject) {
- if (!$ipObject instanceof Zend_Service_DeveloperGarden_IpLocation_IpAddress
- && !is_string($ipObject)
- ) {
- require_once 'Zend/Service/DeveloperGarden/Request/Exception.php';
- throw new Zend_Service_DeveloperGarden_Request_Exception(
- 'Not a valid Ip Address object found.'
- );
- }
- $this->setIp($ipObject);
- }
- return $this;
- }
-
- if (!is_string($ip)) {
- require_once 'Zend/Service/DeveloperGarden/Request/Exception.php';
- throw new Zend_Service_DeveloperGarden_Request_Exception('Not a valid Ip Address object found.');
- }
-
- return $this->setIp(new Zend_Service_DeveloperGarden_IpLocation_IpAddress($ip));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/LocalSearch/LocalSearchRequest.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/LocalSearch/LocalSearchRequest.php
deleted file mode 100644
index fe9ed1d0e..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/LocalSearch/LocalSearchRequest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-setSearchParameters($searchParameters)
- ->setAccount($account);
- }
-
- /**
- * @param integer $account
- */
- public function setAccount($account = null)
- {
- $this->account = $account;
- return $this;
- }
-
- /**
- * @return integer
- */
- public function getAccount()
- {
- return $this->account;
- }
-
- /**
- * @param Zend_Service_DeveloperGarden_LocalSearch_SearchParameters $searchParameters
- */
- public function setSearchParameters(
- Zend_Service_DeveloperGarden_LocalSearch_SearchParameters $searchParameters
- ) {
- $this->searchParameters = $searchParameters->getSearchParameters();
- $this->_searchParameters = $searchParameters;
- return $this;
- }
-
- /**
- * @return Zend_Service_DeveloperGarden_LocalSearch_SearchParameters
- */
- public function getSearchParameters()
- {
- return $this->_searchParameters;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/RequestAbstract.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/RequestAbstract.php
deleted file mode 100644
index 21eed4638..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/RequestAbstract.php
+++ /dev/null
@@ -1,72 +0,0 @@
-setEnvironment($environment);
- }
-
- /**
- * sets a new moduleId
- *
- * @param integer $environment
- * @return Zend_Service_DeveloperGarden_Request_RequestAbstract
- */
- public function setEnvironment($environment)
- {
- $this->environment = $environment;
- return $this;
- }
-
- /**
- * the current configured environment value
- *
- * @return integer
- */
- public function getEnvironment()
- {
- return $this->environment;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SendSms/SendFlashSMS.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SendSms/SendFlashSMS.php
deleted file mode 100644
index 7feedb178..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SendSms/SendFlashSMS.php
+++ /dev/null
@@ -1,46 +0,0 @@
-number;
- }
-
- /**
- * set a new number(s)
- *
- * @param string $number
- * @throws Zend_Service_DeveloperGarden_Request_Exception
- *
- * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract
- */
- public function setNumber($number)
- {
- $this->number = $number;
- if ($this->getNumberCount() > $this->_maxNumbers) {
- require_once 'Zend/Service/DeveloperGarden/Request/Exception.php';
- throw new Zend_Service_DeveloperGarden_Request_Exception('The message is too long.');
- }
- return $this;
- }
-
- /**
- * returns the current message
- *
- * @return string $message
- */
- public function getMessage()
- {
- return $this->message;
- }
-
- /**
- * sets a new message
- *
- * @param string $message
- * @throws Zend_Service_DeveloperGarden_Request_Exception
- *
- * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract
- */
- public function setMessage($message)
- {
- $this->message = $message;
- if ($this->getMessageLength() > $this->_maxLength) {
- require_once 'Zend/Service/DeveloperGarden/Request/Exception.php';
- throw new Zend_Service_DeveloperGarden_Request_Exception('The message is too long.');
- }
- return $this;
- }
-
- /**
- * returns the originator
- *
- * @return the $originator
- */
- public function getOriginator()
- {
- return $this->originator;
- }
-
- /**
- * the originator name
- *
- * @param string $originator
- * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract
- */
- public function setOriginator($originator)
- {
- $this->originator = $originator;
- return $this;
- }
-
- /**
- * the account
- * @return integer $account
- */
- public function getAccount()
- {
- return $this->account;
- }
-
- /**
- * sets a new accounts
- *
- * @param $account the $account to set
- * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract
- */
- public function setAccount($account)
- {
- $this->account = $account;
- return $this;
- }
-
- /**
- * returns the calculated message length
- *
- * @return integer
- */
- public function getMessageLength()
- {
- $message = $this->getMessage();
- $length = strlen($message);
-
- foreach ($this->_specialChars as $char) {
- $c = (substr_count($message, $char) * 2) - 1;
- if ($c > 0) {
- $length += $c;
- }
- }
-
- return $length;
- }
-
- /**
- * returns the count of sms messages that would be send
- *
- * @return integer
- */
- public function getMessageCount()
- {
- $smsLength = $this->getMessageLength();
- $retValue = 1;
- if ($smsLength > 160) {
- $retValue = ceil($smsLength / $this->_smsLength);
- }
- return $retValue;
- }
-
- /**
- * returns the count of numbers in this sms
- *
- * @return integer
- */
- public function getNumberCount()
- {
- $number = $this->getNumber();
- $retValue = 0;
- if (!empty($number)) {
- $retValue = count(explode(',', $number));
- }
- return $retValue;
- }
-
- /**
- * returns the sms type
- * currently we have
- * 1 = Sms
- * 2 = FlashSms
- *
- * @return integer
- */
- public function getSmsType()
- {
- return $this->_smsType;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SmsValidation/GetValidatedNumbers.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SmsValidation/GetValidatedNumbers.php
deleted file mode 100644
index 78a0fb41a..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SmsValidation/GetValidatedNumbers.php
+++ /dev/null
@@ -1,39 +0,0 @@
-setNumber($number);
- }
-
- /**
- * returns the number
- *
- * @return string $number
- */
- public function getNumber()
- {
- return $this->number;
- }
-
- /**
- * set a new number
- *
- * @param string $number
- * @return Zend_Service_DeveloperGarden_Request_SmsValidation_Validate
- */
- public function setNumber($number)
- {
- $this->number = $number;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SmsValidation/SendValidationKeyword.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SmsValidation/SendValidationKeyword.php
deleted file mode 100644
index ba78dd6ad..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/SmsValidation/SendValidationKeyword.php
+++ /dev/null
@@ -1,39 +0,0 @@
-keyword;
- }
-
- /**
- * create the class for validation a sms keyword
- *
- * @param integer $environment
- * @param string $keyword
- * @param string $number
- */
- public function __construct($environment, $keyword = null, $number = null)
- {
- parent::__construct($environment);
- $this->setKeyword($keyword)
- ->setNumber($number);
- }
-
- /**
- * set a new keyword
- *
- * @param string $keyword
- * @return Zend_Service_DeveloperGarden_Request_SmsValidation_Validate
- */
- public function setKeyword($keyword)
- {
- $this->keyword = $keyword;
- return $this;
- }
-
- /**
- * returns the number
- *
- * @return string $number
- */
- public function getNumber()
- {
- return $this->number;
- }
-
- /**
- * set a new number
- *
- * @param string $number
- * @return Zend_Service_DeveloperGarden_Request_SmsValidation_Validate
- */
- public function setNumber($number)
- {
- $this->number = $number;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/CallStatus.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/CallStatus.php
deleted file mode 100644
index 58cfd9b40..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/CallStatus.php
+++ /dev/null
@@ -1,100 +0,0 @@
-setSessionId($sessionId)
- ->setKeepAlive($keepAlive);
- }
-
- /**
- * @return string
- */
- public function getSessionId()
- {
- return $this->sessionId;
- }
-
- /**
- * sets new sessionId
- *
- * @param string $sessionId
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_CallStatus
- */
- public function setSessionId($sessionId)
- {
- $this->sessionId = $sessionId;
- return $this;
- }
-
- /**
- * @return integer
- */
- public function getKeepAlive()
- {
- return $this->keepAlive;
- }
-
- /**
- * sets new keepAlive flag
- *
- * @param integer $keepAlive
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_CallStatus
- */
- public function setKeepAlive($keepAlive)
- {
- $this->keepAlive = $keepAlive;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/NewCall.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/NewCall.php
deleted file mode 100644
index cf01a6afe..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/NewCall.php
+++ /dev/null
@@ -1,238 +0,0 @@
-aNumber;
- }
-
- /**
- * @param string $aNumber
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setANumber($aNumber)
- {
- $this->aNumber = $aNumber;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getBNumber()
- {
- return $this->bNumber;
- }
-
- /**
- * @param string $bNumber
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setBNumber($bNumber)
- {
- $this->bNumber = $bNumber;
- return $this;
- }
-
- /**
- * @return boolean
- */
- public function getPrivacyA()
- {
- return $this->privacyA;
- }
-
- /**
- * @param boolean $privacyA
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setPrivacyA($privacyA)
- {
- $this->privacyA = $privacyA;
- return $this;
- }
-
- /**
- * @return boolean
- */
- public function getPrivacyB()
- {
- return $this->privacyB;
- }
-
- /**
- * @param boolean $privacyB
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setPrivacyB($privacyB)
- {
- $this->privacyB = $privacyB;
- return $this;
- }
-
- /**
- * @return integer
- */
- public function getExpiration()
- {
- return $this->expiration;
- }
-
- /**
- * @param integer $expiration
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setExpiration($expiration)
- {
- $this->expiration = $expiration;
- return $this;
- }
-
- /**
- * @return integer
- */
- public function getMaxDuration()
- {
- return $this->maxDuration;
- }
-
- /**
- * @param integer $maxDuration
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setMaxDuration($maxDuration)
- {
- $this->maxDuration = $maxDuration;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getGreeter()
- {
- return $this->greeter;
- }
-
- /**
- * @param string $greeter
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setGreeter($greeter)
- {
- $this->greeter = $greeter;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getAccount()
- {
- return $this->account;
- }
-
- /**
- * @param integer $account
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- public function setAccount($account)
- {
- $this->account = $account;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/NewCallSequenced.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/NewCallSequenced.php
deleted file mode 100644
index 6b5937764..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/NewCallSequenced.php
+++ /dev/null
@@ -1,92 +0,0 @@
-bNumber;
- }
-
- /**
- * @param array $bNumber
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall
- */
- /*public function setBNumber(array $bNumber)
- {
- $this->bNumber = $bNumber;
- return $this;
- }*/
-
- /**
- * returns the max wait value
- *
- * @return integer
- */
- public function getMaxWait()
- {
- return $this->maxWait;
- }
-
- /**
- * sets new max wait value for next number call
- *
- * @param integer $maxWait
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_NewCallSequenced
- */
- public function setMaxWait($maxWait)
- {
- $this->maxWait = $maxWait;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/TearDownCall.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/TearDownCall.php
deleted file mode 100644
index af6539f99..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/TearDownCall.php
+++ /dev/null
@@ -1,78 +0,0 @@
-setSessionId($sessionId);
- }
-
- /**
- * @return string
- */
- public function getSessionId()
- {
- return $this->sessionId;
- }
-
- /**
- * sets new sessionId
- *
- * @param string $sessionId
- * @return Zend_Service_DeveloperGarden_Request_VoiceButler_TearDownCall
- */
- public function setSessionId($sessionId)
- {
- $this->sessionId = $sessionId;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/VoiceButlerAbstract.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/VoiceButlerAbstract.php
deleted file mode 100644
index a8bf92094..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Request/VoiceButler/VoiceButlerAbstract.php
+++ /dev/null
@@ -1,39 +0,0 @@
-hasError()) {
- throw new Zend_Service_DeveloperGarden_Response_Exception(
- $this->getStatusMessage(),
- $this->getStatusCode()
- );
- }
-
- return $this;
- }
-
- /**
- * returns the error code
- *
- * @return string|null
- */
- public function getStatusCode()
- {
- return $this->statusCode;
- }
-
- /**
- * returns the error message
- *
- * @return string
- */
- public function getStatusMessage()
- {
- return $this->statusMessage;
- }
-
- /**
- * returns true if the errorCode is not null and not 0000
- *
- * @return boolean
- */
- public function isValid()
- {
- return ($this->statusCode === null
- || $this->statusCode == '0000');
- }
-
- /**
- * returns true if we have a error situation
- *
- * @return boolean
- */
- public function hasError()
- {
- return ($this->statusCode !== null
- && $this->statusCode != '0000');
- }
-
- /**
- * returns the error code (statusCode)
- *
- * @return string|null
- */
- public function getErrorCode()
- {
- if (empty($this->errorCode)) {
- return $this->statusCode;
- } else {
- return $this->errorCode;
- }
- }
-
- /**
- * returns the error message
- *
- * @return string
- */
- public function getErrorMessage()
- {
- if (empty($this->errorMessage)) {
- return $this->statusMessage;
- } else {
- return $this->errorMessage;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/BaseUserService/ChangeQuotaPoolResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/BaseUserService/ChangeQuotaPoolResponse.php
deleted file mode 100644
index cd48587a1..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/BaseUserService/ChangeQuotaPoolResponse.php
+++ /dev/null
@@ -1,39 +0,0 @@
-quotaLevel;
- }
-
- /**
- * returns the maxUserQuota
- *
- * @return integer
- */
- public function getMaxUserQuota()
- {
- return $this->maxUserQuota;
- }
-
- /**
- * return the maxQuota
- *
- * @return integer
- */
- public function getMaxQuota()
- {
- return $this->maxQuota;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/AddConferenceTemplateParticipantResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/AddConferenceTemplateParticipantResponse.php
deleted file mode 100644
index 76fe22aae..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/AddConferenceTemplateParticipantResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-participantId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CCSResponseType.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CCSResponseType.php
deleted file mode 100644
index dcbb5b05b..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CCSResponseType.php
+++ /dev/null
@@ -1,39 +0,0 @@
-getProperties() as $p) {
- $name = $p->getName();
- if (strpos($name, 'Response') !== false) {
- return $p->getValue($this);
- }
- }
- return null;
- }
-
- /**
- * parse the response data and throws exceptions
- *
- * @throws Zend_Service_DeveloperGarden_Response_Exception
- * @return mixed
- */
- public function parse()
- {
- $retVal = $this->getResponse();
- if ($retVal === null) {
- $this->statusCode = 9999;
- $this->statusMessage = 'Internal response property not found.';
- } else {
- $this->statusCode = $retVal->getStatusCode();
- $this->statusMessage = $retVal->getStatusMessage();
- }
- parent::parse();
- return $retVal;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CreateConferenceResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CreateConferenceResponse.php
deleted file mode 100644
index 4ef075743..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CreateConferenceResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-conferenceId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CreateConferenceTemplateResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CreateConferenceTemplateResponse.php
deleted file mode 100644
index f057bfb4e..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/CreateConferenceTemplateResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-templateId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceListResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceListResponse.php
deleted file mode 100644
index 605a89708..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceListResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-conferenceIds;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceStatusResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceStatusResponse.php
deleted file mode 100644
index 8ae45426e..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceStatusResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-detail;
- }
-
- /**
- * returns the starttime
- *
- * @return integer
- */
- public function getStartTime()
- {
- return $this->startTime;
- }
-
- /**
- * returns the schedule object
- *
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceSchedule
- */
- public function getSchedule()
- {
- return $this->schedule;
- }
-
- /**
- * returns array with all participants
- * Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- *
- * @return array of Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function getParticipants()
- {
- if ($this->participants instanceof Zend_Service_DeveloperGarden_ConferenceCall_Participant) {
- $this->participants = array(
- $this->participants
- );
- }
- return $this->participants;
- }
-
- /**
- * returns the participant object if found in the response
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function getParticipantById($participantId)
- {
- $participants = $this->getParticipants();
- if ($participants !== null) {
- foreach ($participants as $participant) {
- if (strcmp($participant->getParticipantId(), $participantId) == 0) {
- return $participant;
- }
- }
- }
- return null;
- }
-
- /**
- * returns the conference account details
- *
- * @return Zend_Service_DeveloperGarden_ConferenceCall_ConferenceAccount
- */
- public function getAccount()
- {
- return $this->acc;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateListResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateListResponse.php
deleted file mode 100644
index db99364c7..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateListResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-templateIds;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateParticipantResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateParticipantResponse.php
deleted file mode 100644
index 4d9967efb..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateParticipantResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-participant;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateResponse.php
deleted file mode 100644
index c45464576..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetConferenceTemplateResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-detail;
- }
-
- /**
- * returns array with all participants
- * Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- *
- * @return array of Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail
- */
- public function getParticipants()
- {
- if ($this->participants instanceof Zend_Service_DeveloperGarden_ConferenceCall_Participant) {
- $this->participants = array(
- $this->participants
- );
- }
- return $this->participants;
- }
-
- /**
- * returns the participant object if found in the response
- *
- * @param string $participantId
- * @return Zend_Service_DeveloperGarden_ConferenceCall_Participant
- */
- public function getParticipantById($participantId)
- {
- $participants = $this->getParticipants();
- if ($participants !== null) {
- foreach ($participants as $participant) {
- if (strcmp($participant->getParticipantId(), $participantId) == 0) {
- return $participant;
- }
- }
- }
- return null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetParticipantStatusResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetParticipantStatusResponse.php
deleted file mode 100644
index 8da467866..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetParticipantStatusResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-status;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetRunningConferenceResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetRunningConferenceResponse.php
deleted file mode 100644
index c303254aa..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/GetRunningConferenceResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-conferenceId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/NewParticipantResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/NewParticipantResponse.php
deleted file mode 100644
index 0318893ab..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/NewParticipantResponse.php
+++ /dev/null
@@ -1,45 +0,0 @@
-participantId;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/RemoveConferenceResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/RemoveConferenceResponse.php
deleted file mode 100644
index 6919324c9..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/ConferenceCall/RemoveConferenceResponse.php
+++ /dev/null
@@ -1,46 +0,0 @@
-countryCode;
- }
-
- /**
- * @return string
- */
- public function getCityCode()
- {
- return $this->cityCode;
- }
-
- /**
- * @return string
- */
- public function getCityName()
- {
- return $this->cityName;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/GeoCoordinatesType.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/GeoCoordinatesType.php
deleted file mode 100644
index fce3c1e15..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/GeoCoordinatesType.php
+++ /dev/null
@@ -1,66 +0,0 @@
-geoLatitude;
- }
-
- /**
- * @return float
- */
- public function getLongitude()
- {
- return $this->geoLongitude;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/IPAddressLocationType.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/IPAddressLocationType.php
deleted file mode 100644
index f38a5d5db..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/IPAddressLocationType.php
+++ /dev/null
@@ -1,141 +0,0 @@
-isInRegion;
- }
-
- /**
- * @return Zend_Service_DeveloperGarden_Response_IpLocation_GeoCoordinatesType
- */
- public function getGeoCoordinates()
- {
- return $this->isInGeo;
- }
-
- /**
- * @return Zend_Service_DeveloperGarden_Response_IpLocation_CityType
- */
- public function getCity()
- {
- return $this->isInCity;
- }
-
- /**
- * @return integer
- */
- public function getIpType()
- {
- return $this->ipType;
- }
-
- /**
- * @return string
- */
- public function getIpAddress()
- {
- return $this->ipAddress;
- }
-
- /**
- * @return integer
- */
- public function getRadius()
- {
- return $this->radius;
- }
-
- /**
- * implement parsing
- *
- */
- public function parse()
- {
- parent::parse();
- if ($this->isInCity === null) {
- require_once 'Zend/Service/DeveloperGarden/Response/IpLocation/CityType.php';
- $this->isInCity = new Zend_Service_DeveloperGarden_Response_IpLocation_CityType();
- }
-
- if ($this->isInRegion === null) {
- require_once 'Zend/Service/DeveloperGarden/Response/IpLocation/RegionType.php';
- $this->isInRegion = new Zend_Service_DeveloperGarden_Response_IpLocation_RegionType();
- }
-
- if ($this->isInGeo === null) {
- require_once 'Zend/Service/DeveloperGarden/Response/IpLocation/GeoCoordinatesType.php';
- $this->isInGeo = new Zend_Service_DeveloperGarden_Response_IpLocation_GeoCoordinatesType();
- }
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/LocateIPResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/LocateIPResponse.php
deleted file mode 100644
index 711b4948a..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/LocateIPResponse.php
+++ /dev/null
@@ -1,98 +0,0 @@
-ipAddressLocation instanceof Zend_Service_DeveloperGarden_Response_IpLocation_IPAddressLocationType) {
- if (is_array($response->ipAddressLocation)) {
- foreach ($response->ipAddressLocation as $location) {
- $this->ipAddressLocation[] = $location;
- }
-
- } else {
- $this->ipAddressLocation[] = $response->ipAddressLocation;
- }
- } elseif (is_array($response->ipAddressLocation)) {
- $this->ipAddressLocation = $response->ipAddressLocation;
- }
-
- $this->errorCode = $response->getErrorCode();
- $this->errorMessage = $response->getErrorMessage();
- $this->statusCode = $response->getStatusCode();
- $this->statusMessage = $response->getStatusMessage();
- }
-
- /**
- * implement own parsing mechanism to fix broken wsdl implementation
- */
- public function parse()
- {
- parent::parse();
- if (is_array($this->ipAddressLocation)) {
- foreach ($this->ipAddressLocation as $address) {
- $address->parse();
- }
- } elseif ($this->ipAddressLocation instanceof Zend_Service_DeveloperGarden_Response_IpLocation_IPAddressLocationType) {
- $this->ipAddressLocation->parse();
- }
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function getIpAddressLocation()
- {
- return $this->ipAddressLocation;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/LocateIPResponseType.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/LocateIPResponseType.php
deleted file mode 100644
index 29d417644..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/IpLocation/LocateIPResponseType.php
+++ /dev/null
@@ -1,46 +0,0 @@
-countryCode;
- }
-
- /**
- * @return string
- */
- public function getRegionCode()
- {
- return $this->regionCode;
- }
-
- /**
- * @return string
- */
- public function getRegionName()
- {
- return $this->regionName;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/LocalSearch/LocalSearchResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/LocalSearch/LocalSearchResponse.php
deleted file mode 100644
index 1e34bbb9c..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/LocalSearch/LocalSearchResponse.php
+++ /dev/null
@@ -1,89 +0,0 @@
-errorCode = $response->getErrorCode();
- $this->errorMessage = $response->getErrorMessage();
- $this->statusCode = $response->getStatusCode();
- $this->statusMessage = $response->getStatusMessage();
- $this->searchResult = $response;
- }
-
- /**
- * returns the raw search result
- *
- * @return Zend_Service_DeveloperGarden_Response_LocalSearch_LocalSearchResponseType
- */
- public function getSearchResult()
- {
- return $this->searchResult;
- }
-
- /**
- * overwrite hasError to not handle 0103 error (empty result)
- *
- * @return boolean
- */
- public function hasError()
- {
- $result = parent::hasError();
- if (!$result && $this->statusCode == '0103') {
- $result = false;
- }
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/LocalSearch/LocalSearchResponseType.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/LocalSearch/LocalSearchResponseType.php
deleted file mode 100644
index 35822d667..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/LocalSearch/LocalSearchResponseType.php
+++ /dev/null
@@ -1,44 +0,0 @@
-hasError()) {
- throw new Zend_Service_DeveloperGarden_Response_Exception(
- $this->getErrorMessage(),
- $this->getErrorCode()
- );
- }
-
- return $this;
- }
-
- /**
- * returns the error code
- *
- * @return string|null
- */
- public function getErrorCode()
- {
- return $this->errorCode;
- }
-
- /**
- * returns the error message
- *
- * @return string
- */
- public function getErrorMessage()
- {
- return $this->errorMessage;
- }
-
- /**
- * returns true if the errorCode is not null and not 0000
- *
- * @return boolean
- */
- public function isValid()
- {
- return ($this->errorCode === null
- || $this->errorCode == '0000');
- }
-
- /**
- * returns true if we have a error situation
- *
- * @return boolean
- */
- public function hasError()
- {
- return ($this->errorCode !== null
- && $this->errorCode != '0000');
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Exception.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Exception.php
deleted file mode 100644
index c02e26bb0..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-getSecurityToken();
- }
-
- /**
- * returns the security token
- *
- * @return string
- */
- public function getSecurityToken()
- {
- if (!$this->securityToken instanceof Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse) {
- require_once 'Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Exception.php';
- throw new Zend_Service_DeveloperGarden_Response_SecurityTokenServer_Exception(
- 'No valid securityToken found.'
- );
- }
- return $this->securityToken->getTokenData();
- }
-
- /**
- * returns true if the stored token data is valid
- *
- * @return boolean
- */
- public function isValid()
- {
- /**
- * @todo implement the true token validation check
- */
- if (isset($this->securityToken)
- && !empty($this->securityToken->tokenData)
- ) {
- return true;
- }
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Interface.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Interface.php
deleted file mode 100644
index 36808998e..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SecurityTokenServer/Interface.php
+++ /dev/null
@@ -1,40 +0,0 @@
-tokenData)) {
- require_once 'Zend/Services/DeveloperGarden/Response/Exception.php';
- throw new Zend_Service_DeveloperGarden_Response_Exception('No valid tokenData found.');
- }
-
- return $this->tokenData;
- }
-
- /**
- * returns the token format value
- *
- * @return string
- */
- public function getTokenFormat()
- {
- return $this->tokenFormat;
- }
-
- /**
- * returns the token encoding
- *
- * @return string
- */
- public function getTokenEncoding()
- {
- return $this->tokenEncoding;
- }
-
- /**
- * returns true if the stored token data is valid
- *
- * @return boolean
- */
- public function isValid()
- {
- /**
- * @todo implement the true token validation check
- */
- if (!empty($this->securityTokenData)) {
- return true;
- }
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SendSms/SendFlashSMSResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SendSms/SendFlashSMSResponse.php
deleted file mode 100644
index e38444a17..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SendSms/SendFlashSMSResponse.php
+++ /dev/null
@@ -1,39 +0,0 @@
-hasError()) {
- require_once 'Zend/Service/DeveloperGarden/Response/Exception.php';
- throw new Zend_Service_DeveloperGarden_Response_Exception(
- $this->getErrorMessage(),
- $this->getErrorCode()
- );
- }
-
- return $this;
- }
-
- /**
- * returns the error code
- *
- * @return string|null
- */
- public function getErrorCode()
- {
- $retValue = null;
- if ($this->return instanceof stdClass) {
- $retValue = $this->return->status;
- }
- return $retValue;
- }
-
- /**
- * returns the error message
- *
- * @return string
- */
- public function getErrorMessage()
- {
- $retValue = null;
- if ($this->return instanceof stdClass) {
- $retValue = $this->return->description;
- }
- return $retValue;
- }
-
- /**
- * returns true if the errorCode is not null and not 0000
- *
- * @return boolean
- */
- public function isValid()
- {
- return ($this->return === null
- || $this->return->status == '0000');
- }
-
- /**
- * returns true if we have a error situation
- *
- * @return boolean
- */
- public function hasError()
- {
- $retValue = false;
- if ($this->return instanceof stdClass
- && $this->return->status != '0000'
- ) {
- $retValue = true;
- }
- return $retValue;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SmsValidation/GetValidatedNumbersResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SmsValidation/GetValidatedNumbersResponse.php
deleted file mode 100644
index 56f2aa71b..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SmsValidation/GetValidatedNumbersResponse.php
+++ /dev/null
@@ -1,55 +0,0 @@
-validatedNumbers;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SmsValidation/InvalidateResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SmsValidation/InvalidateResponse.php
deleted file mode 100644
index f6939b9b8..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/SmsValidation/InvalidateResponse.php
+++ /dev/null
@@ -1,39 +0,0 @@
-number;
- }
-
- /**
- * returns the valid until date
- *
- * @return string
- */
- public function getValidUntil()
- {
- return $this->validUntil;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/CallStatus2Response.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/CallStatus2Response.php
deleted file mode 100644
index 8fbda0a05..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/CallStatus2Response.php
+++ /dev/null
@@ -1,88 +0,0 @@
-getBNumber();
- }
-
- /**
- * returns the phone number of the second participant, who was called.
- *
- * @return string
- */
- public function getBNumber()
- {
- if (isset($this->return->be164)) {
- return $this->return->be164;
- }
- return null;
- }
-
- /**
- * Index of the phone number of the second participant (B), who was called. The value 0 means
- * the first B party phone number which was called, 1 means the second B party phone number
- * which was called etc.
- *
- * @return integer
- */
- public function getBNumberIndex()
- {
- return $this->getBIndex();
- }
-
- /**
- * Index of the phone number of the second participant (B), who was called. The value 0 means
- * the first B party phone number which was called, 1 means the second B party phone number
- * which was called etc.
- *
- * @return integer
- */
- public function getBIndex()
- {
- if (isset($this->return->bindex)) {
- return $this->return->bindex;
- }
- return null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/CallStatusResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/CallStatusResponse.php
deleted file mode 100644
index e809cf8c7..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/CallStatusResponse.php
+++ /dev/null
@@ -1,154 +0,0 @@
-return->sessionId)) {
- return $this->return->sessionId;
- }
- return null;
- }
-
- /**
- * returns the connection time for participant a
- *
- * @return integer
- */
- public function getConnectionTimeA()
- {
- if (isset($this->return->connectiontimea)) {
- return $this->return->connectiontimea;
- }
- return null;
- }
-
- /**
- * returns the connection time for participant b
- *
- * @return integer
- */
- public function getConnectionTimeB()
- {
- if (isset($this->return->connectiontimeb)) {
- return $this->return->connectiontimeb;
- }
- return null;
- }
-
- /**
- * returns the description time for participant a
- *
- * @return string
- */
- public function getDescriptionA()
- {
- if (isset($this->return->descriptiona)) {
- return $this->return->descriptiona;
- }
- return null;
- }
-
- /**
- * returns the description time for participant b
- *
- * @return string
- */
- public function getDescriptionB()
- {
- if (isset($this->return->descriptionb)) {
- return $this->return->descriptionb;
- }
- return null;
- }
-
- /**
- * returns the reason time for participant a
- *
- * @return integer
- */
- public function getReasonA()
- {
- if (isset($this->return->reasona)) {
- return $this->return->reasona;
- }
- return null;
- }
-
- /**
- * returns the reason time for participant b
- *
- * @return integer
- */
- public function getReasonB()
- {
- if (isset($this->return->reasonb)) {
- return $this->return->reasonb;
- }
- return null;
- }
-
- /**
- * returns the state time for participant a
- *
- * @return string
- */
- public function getStateA()
- {
- if (isset($this->return->statea)) {
- return $this->return->statea;
- }
- return null;
- }
-
- /**
- * returns the state time for participant b
- *
- * @return string
- */
- public function getStateB()
- {
- if (isset($this->return->stateb)) {
- return $this->return->stateb;
- }
- return null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/NewCallResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/NewCallResponse.php
deleted file mode 100644
index 549d11f00..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/NewCallResponse.php
+++ /dev/null
@@ -1,60 +0,0 @@
-return->sessionId)) {
- return $this->return->sessionId;
- }
- return null;
- }
-
- /**
- * prints the session on casting to string
- *
- * @return string
- */
- public function __toString()
- {
- return $this->getSessionId();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/NewCallSequencedResponse.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/NewCallSequencedResponse.php
deleted file mode 100644
index c72c42d11..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/NewCallSequencedResponse.php
+++ /dev/null
@@ -1,39 +0,0 @@
-return->sessionId)) {
- return $this->return->sessionId;
- }
- return null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/VoiceButlerAbstract.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/VoiceButlerAbstract.php
deleted file mode 100644
index 7601531d6..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Response/VoiceButler/VoiceButlerAbstract.php
+++ /dev/null
@@ -1,128 +0,0 @@
-return;
- }
-
- /**
- * parse the response data and throws exceptions
- *
- * @throws Zend_Service_DeveloperGarden_Response_Exception
- * @return Zend_Service_DeveloperGarden_Response_ResponseAbstract
- */
- public function parse()
- {
- if ($this->hasError()) {
- throw new Zend_Service_DeveloperGarden_Response_Exception(
- $this->getErrorMessage(),
- $this->getErrorCode()
- );
- }
-
- return $this;
- }
-
- /**
- * returns the error code
- *
- * @return string|null
- */
- public function getErrorCode()
- {
- $retValue = null;
- if ($this->return instanceof stdClass) {
- $retValue = $this->return->status;
- }
- return $retValue;
- }
-
- /**
- * returns the error message
- *
- * @return string
- */
- public function getErrorMessage()
- {
- $retValue = null;
- if ($this->return instanceof stdClass) {
- $retValue = $this->return->err_msg;
- }
- return $retValue;
- }
-
- /**
- * returns true if the errorCode is not null and not 0000
- *
- * @return boolean
- */
- public function isValid()
- {
- return ($this->return === null
- || $this->return->status == '0000');
- }
-
- /**
- * returns true if we have a error situation
- *
- * @return boolean
- */
- public function hasError()
- {
- $retValue = false;
- if ($this->return instanceof stdClass
- && $this->return->status != '0000'
- ) {
- $retValue = true;
- }
- return $retValue;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/SecurityTokenServer.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/SecurityTokenServer.php
deleted file mode 100644
index 517942655..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/SecurityTokenServer.php
+++ /dev/null
@@ -1,127 +0,0 @@
- 'Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse',
- 'getTokensResponse' => 'Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse'
- );
-
- /**
- * does the login and return the specific response
- *
- * @return Zend_Service_DeveloperGarden_Response_SecurityTokenServer_SecurityTokenResponse
- */
- public function getLoginToken()
- {
- $token = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache(
- 'securityToken'
- );
-
- if ($token === null
- || !$token->isValid()
- ) {
- $token = $this->getSoapClient()->login('login');
- Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache(
- 'securityToken',
- $token
- );
- }
-
- return $token;
- }
-
- /**
- * returns the fetched token from token server
- *
- * @return Zend_Service_DeveloperGarden_Response_SecurityTokenServer_GetTokensResponse
- */
- public function getTokens()
- {
- $token = Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::getTokenFromCache(
- 'getTokens'
- );
-
- if ($token === null
- || !$token->isValid()
- ) {
- $token = $this->getSoapClient()->getTokens(array(
- 'serviceId' => $this->_serviceAuthId
- ));
- Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setTokenToCache(
- 'getTokens',
- $token
- );
- }
- return $token;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/SecurityTokenServer/Cache.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/SecurityTokenServer/Cache.php
deleted file mode 100644
index 4f5ea8015..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/SecurityTokenServer/Cache.php
+++ /dev/null
@@ -1,207 +0,0 @@
- null,
- 'getTokens' => null
- );
-
- /**
- * Internal cache for token values
- *
- * @var Zend_Cache_Core
- * @access private
- */
- private static $_cache = null;
-
- /**
- * PHP SOAP wsdl cache constant
- *
- * @var integer
- */
- private static $_wsdlCache = null;
-
-// @codeCoverageIgnoreStart
- /**
- * Constructor overriding - make sure that a developer cannot instantiate
- */
- protected function __construct()
- {
- }
-// @codeCoverageIgnoreEnd
-
- /**
- * returns stored token from cache or null
- *
- * @param string $tokenId
- * @throws Zend_Service_DeveloperGarden_Exception
- * @return Zend_Service_DeveloperGarden_Response_SecurityTokenServer_Interface|null
- */
- public static function getTokenFromCache($tokenId)
- {
- if (!array_key_exists($tokenId, self::$_storedToken)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception(
- 'tokenID ' . $tokenId . ' unknown.'
- );
- }
-
- if (self::hasCache() && self::$_storedToken[$tokenId] === null) {
- $cache = self::getCache();
- $token = $cache->load(md5($tokenId));
- if ($token !== false) {
- self::$_storedToken[$tokenId] = $token;
- }
- }
-
- return self::$_storedToken[$tokenId];
- }
-
- /**
- * set new value for the given tokenId
- *
- * @param string $tokenId
- * @throws Zend_Service_DeveloperGarden_Exception
- * @param Zend_Service_DeveloperGarden_Response_SecurityTokenServer_Interface $tokenValue
- * @return void
- */
- public static function setTokenToCache($tokenId,
- Zend_Service_DeveloperGarden_Response_SecurityTokenServer_Interface $tokenValue
- ) {
- if (!array_key_exists($tokenId, self::$_storedToken)) {
- require_once 'Zend/Service/DeveloperGarden/Exception.php';
- throw new Zend_Service_DeveloperGarden_Exception(
- 'tokenID ' . $tokenId . ' unknown.'
- );
- }
-
- if (self::hasCache()) {
- $cache = self::getCache();
- $cache->save($tokenValue, md5($tokenId));
- }
-
- self::$_storedToken[$tokenId] = $tokenValue;
- }
-
- /**
- * reset the internal cache structure
- *
- * @return void
- */
- public static function resetTokenCache()
- {
- foreach (self::$_storedToken as $key => $value) {
- $value = null;
- self::$_storedToken[$key] = $value;
- }
- }
-
- /**
- * Returns the cache
- *
- * @return Zend_Cache_Core
- */
- public static function getCache()
- {
- return self::$_cache;
- }
-
- /**
- * Set a cache for token
- *
- * @param Zend_Cache_Core $cache A cache frontend
- */
- public static function setCache(Zend_Cache_Core $cache)
- {
- self::$_cache = $cache;
- }
-
- /**
- * Returns true when a cache is set
- *
- * @return boolean
- */
- public static function hasCache()
- {
- return (self::$_cache !== null);
- }
-
- /**
- * Removes any cache
- *
- * @return void
- */
- public static function removeCache()
- {
- self::$_cache = null;
- }
-
- /**
- * Clears all cache data
- *
- * @return void
- */
- public static function clearCache()
- {
- $cache = self::getCache();
- if (method_exists($cache, 'clean')) {
- $cache->clean();
- }
- self::$_wsdlCache = null;
- }
-
- /**
- * Returns the wsdl cache
- *
- * @return integer
- */
- public static function getWsdlCache()
- {
- return self::$_wsdlCache;
- }
-
- /**
- * Set a cache for wsdl file
- *
- * @param integer $cache
- * @return void
- */
- public static function setWsdlCache($cache = null)
- {
- self::$_wsdlCache = $cache;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/SendSms.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/SendSms.php
deleted file mode 100644
index 65e84a476..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/SendSms.php
+++ /dev/null
@@ -1,156 +0,0 @@
- 'Zend_Service_DeveloperGarden_Response_SendSms_SendSMSResponse',
- 'sendFlashSMSResponse' => 'Zend_Service_DeveloperGarden_Response_SendSms_SendFlashSMSResponse'
- );
-
- /**
- * this function creates the raw sms object that can be used to send an sms
- * or as flash sms
- *
- * @param string $number
- * @param string $message
- * @param string $originator
- * @param integer $account
- *
- * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSMS
- */
- public function createSms($number = null, $message = null, $originator = null, $account = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_SendSms_SendSMS($this->getEnvironment());
- $request->setNumber($number)
- ->setMessage($message)
- ->setOriginator($originator)
- ->setAccount($account);
- return $request;
- }
-
- /**
- * this function creates the raw sms object that can be used to send an sms
- * or as flash sms
- *
- * @param string $number
- * @param string $message
- * @param string $originator
- * @param integer $account
- *
- * @return Zend_Service_DeveloperGarden_Request_SendSms_SendFlashSMS
- */
- public function createFlashSms($number = null, $message = null, $originator = null, $account = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_SendSms_SendFlashSMS($this->getEnvironment());
- $request->setNumber($number)
- ->setMessage($message)
- ->setOriginator($originator)
- ->setAccount($account);
- return $request;
- }
-
- /**
- * sends an sms with the given parameters
- *
- * @param Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract $sms
- *
- * @return Zend_Service_DeveloperGarden_Response_SendSms_SendSmsAbstract
- */
- public function send(Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract $sms)
- {
- $client = $this->getSoapClient();
- $request = array(
- 'request' => $sms
- );
- switch ($sms->getSmsType()) {
- // Sms
- case 1 :
- $response = $client->sendSms($request);
- break;
- // flashSms
- case 2 :
- $response = $client->sendFlashSms($request);
- break;
- default : {
- require_once 'Zend/Service/DeveloperGarden/Client/Exception.php';
- throw new Zend_Service_DeveloperGarden_Client_Exception('Unknown SMS Type');
- }
- }
-
- return $response->parse();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/SmsValidation.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/SmsValidation.php
deleted file mode 100644
index 98e5aacd7..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/SmsValidation.php
+++ /dev/null
@@ -1,193 +0,0 @@
- 'Zend_Service_DeveloperGarden_Response_SmsValidation_GetValidatedNumbersResponse',
- 'ValidatedNumber' => 'Zend_Service_DeveloperGarden_Response_SmsValidation_ValidatedNumber',
- 'sendValidationKeywordResponse' => 'Zend_Service_DeveloperGarden_Response_SmsValidation_SendValidationKeywordResponse',
- 'validateResponse' => 'Zend_Service_DeveloperGarden_Response_SmsValidation_ValidateResponse',
- 'invalidateResponse' => 'Zend_Service_DeveloperGarden_Response_SmsValidation_InvalidateResponse',
- );
-
- /**
- * validate the given number with the keyword
- *
- * @param string $keyword
- * @param string $number
- * @return Zend_Service_DeveloperGarden_Response_SmsValidation_ValidateResponse
- */
- public function validate($keyword = null, $number = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_SmsValidation_Validate(
- $this->getEnvironment(),
- $keyword,
- $number
- );
-
- return $this->getSoapClient()
- ->validate($request)
- ->parse();
- }
-
- /**
- * invalidate the given number
- *
- * @param string $number
- * @return Zend_Service_DeveloperGarden_Response_SmsValidation_InvalidateResponse
- */
- public function inValidate($number = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_SmsValidation_Invalidate(
- $this->getEnvironment(),
- $number
- );
-
- return $this->getSoapClient()
- ->invalidate($request)
- ->parse();
- }
-
- /**
- * this function sends the validation sms to the given number,
- * if message is provided it should have to placeholder:
- * #key# = the validation key
- * #validUntil# = the valid until date
- *
- * @param string $number
- * @param string $message
- * @param string $originator
- * @param integer $account
- *
- * @return Zend_Service_DeveloperGarden_Request_SmsValidation_SendValidationKeywordResponse
- */
- public function sendValidationKeyword($number = null, $message = null, $originator = null, $account = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_SmsValidation_SendValidationKeyword(
- $this->getEnvironment()
- );
- $request->setNumber($number)
- ->setMessage($message)
- ->setOriginator($originator)
- ->setAccount($account);
-
- return $this->getSoapClient()
- ->sendValidationKeyword($request)
- ->parse();
- }
-
- /**
- * returns a list of validated numbers
- *
- * @return Zend_Service_DeveloperGarden_Response_SmsValidation_GetValidatedNumbersResponse
- */
- public function getValidatedNumbers()
- {
- $request = new Zend_Service_DeveloperGarden_Request_SmsValidation_GetValidatedNumbers(
- $this->getEnvironment()
- );
- return $this->getSoapClient()
- ->getValidatedNumbers($request)
- ->parse();
- }
-// @codeCoverageIgnoreEnd
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/VoiceCall.php b/airtime_mvc/library/Zend/Service/DeveloperGarden/VoiceCall.php
deleted file mode 100644
index a21876766..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/VoiceCall.php
+++ /dev/null
@@ -1,226 +0,0 @@
- 'Zend_Service_DeveloperGarden_Response_VoiceButler_NewCallResponse',
- 'newCallSequencedResponse' => 'Zend_Service_DeveloperGarden_Response_VoiceButler_NewCallSequencedResponse',
- 'tearDownCallResponse' => 'Zend_Service_DeveloperGarden_Response_VoiceButler_TearDownCallResponse',
- 'callStatusResponse' => 'Zend_Service_DeveloperGarden_Response_VoiceButler_CallStatusResponse',
- 'callStatus2Response' => 'Zend_Service_DeveloperGarden_Response_VoiceButler_CallStatus2Response'
- );
-
- /**
- * init a new call with the given params
- *
- * @param string $aNumber
- * @param string $bNumber
- * @param integer $expiration
- * @param integer $maxDuration
- * @param integer $account
- * @param boolean $privacyA
- * @param boolean $privacyB
- * @param string $greeter
- * @return Zend_Service_DeveloperGarden_Response_VoiceButler_NewCallResponse
- */
- public function newCall($aNumber, $bNumber, $expiration, $maxDuration,
- $account = null, $privacyA = null, $privacyB = null, $greeter = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_VoiceButler_NewCall(
- $this->getEnvironment()
- );
- $request->setANumber($aNumber)
- ->setBNumber($bNumber)
- ->setPrivacyA($privacyA)
- ->setPrivacyB($privacyB)
- ->setExpiration($expiration)
- ->setMaxDuration($maxDuration)
- ->setGreeter($greeter)
- ->setAccount($account);
- $result = $this->getSoapClient()->newCall(array(
- 'request' => $request
- ));
-
- return $result->parse();
- }
-
-
- /**
- * init a new call with the given params but specially here,
- * you can define a set of numbers to be called if the first number
- * isnt reachable (ie: bNumber = +4930-111111,+4930-222222,+4930-333333)
- *
- * @throws Zend_Service_DeveloperGarden_Client_Exception
- * @param string $aNumber
- * @param array $bNumber
- * @param integer $expiration
- * @param integer $maxDuration
- * @param integer $maxWait
- * @param integer $account
- * @param boolean $privacyA
- * @param boolean $privacyB
- * @param string $greeter
- * @return Zend_Service_DeveloperGarden_Response_VoiceButler_NewCallSequencedResponse
- */
- public function newCallSequenced($aNumber, $bNumber, $expiration, $maxDuration,
- $maxWait, $account = null, $privacyA = null, $privacyB = null, $greeter = null
- ) {
- $request = new Zend_Service_DeveloperGarden_Request_VoiceButler_NewCallSequenced(
- $this->getEnvironment()
- );
- $request->setANumber($aNumber)
- ->setBNumber($bNumber)
- ->setPrivacyA($privacyA)
- ->setPrivacyB($privacyB)
- ->setExpiration($expiration)
- ->setMaxDuration($maxDuration)
- ->setMaxWait($maxWait)
- ->setGreeter($greeter)
- ->setAccount($account);
- $result = $this->getSoapClient()->newCallSequenced(array(
- 'request' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * This tear down the call with the given sessionId
- *
- * @param string $sessionId
- * @return Zend_Service_DeveloperGarden_Response_VoiceButler_TearDownCallResponse
- */
- public function tearDownCall($sessionId)
- {
- $request = new Zend_Service_DeveloperGarden_Request_VoiceButler_TearDownCall(
- $this->getEnvironment(),
- $sessionId
- );
- $result = $this->getSoapClient()->tearDownCall(array(
- 'request' => $request
- ));
-
- return $result->parse();
- }
-
- /**
- * checks the callStatus and updates the keepAlive if provided
- *
- * @param string $sessionId
- * @param integer $keepAlive
- * @return Zend_Service_DeveloperGarden_Response_VoiceButler_CallStatusResponse
- */
- public function callStatus($sessionId, $keepAlive = null)
- {
- $request = new Zend_Service_DeveloperGarden_Request_VoiceButler_CallStatus(
- $this->getEnvironment(),
- $sessionId,
- $keepAlive
- );
-
- $result = $this->getSoapClient()->callStatus2(array(
- 'request' => $request
- ));
-
- return $result->parse();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/IPLocation.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/IPLocation.wsdl
deleted file mode 100644
index 00ae436d3..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/IPLocation.wsdl
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-IP Location
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/IPLocation.xsd b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/IPLocation.xsd
deleted file mode 100644
index 26284b3e8..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/IPLocation.xsd
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ODGBaseUserService.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ODGBaseUserService.wsdl
deleted file mode 100644
index e630ea3d3..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ODGBaseUserService.wsdl
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ODGBaseUserService.xsd b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ODGBaseUserService.xsd
deleted file mode 100644
index e263b2199..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ODGBaseUserService.xsd
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/SmsService.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/SmsService.wsdl
deleted file mode 100644
index f6d57290b..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/SmsService.wsdl
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/SmsValidationUserService.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/SmsValidationUserService.wsdl
deleted file mode 100644
index 18c2c7cda..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/SmsValidationUserService.wsdl
+++ /dev/null
@@ -1,169 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/TokenService.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/TokenService.wsdl
deleted file mode 100644
index 04d03ee45..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/TokenService.wsdl
+++ /dev/null
@@ -1,353 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Telekom specific format id, e.g. there will be multiple
- different token formats derived from SAML 2.0 Assertions
-
-
-
-
-
-
-
-
-
-
- Telekom specific encoding id - there can be different
- encoding formats for the same token format, e.g. SAML
- Assertions can be encoded as plain XML or in
- base64-encoding
-
-
-
-
-
-
-
-
-
-
-
-
-
- format of the token carried by the response,
- determines syntax and processing rules for token
-
-
-
-
-
-
-
- encoding of the token carried by the response,
- determines syntax and processing rules for token
-
-
-
-
-
-
-
- contains the string representation of the
- security token - no further token format identifier
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- valid SAM Session Id
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/VoiceButlerService.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/VoiceButlerService.wsdl
deleted file mode 100644
index aad614e31..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/VoiceButlerService.wsdl
+++ /dev/null
@@ -1,164 +0,0 @@
-
- VoiceButlerService
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/VoiceButlerService.xsd b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/VoiceButlerService.xsd
deleted file mode 100644
index e14ba5a48..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/VoiceButlerService.xsd
+++ /dev/null
@@ -1,264 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ccsPort.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ccsPort.wsdl
deleted file mode 100644
index 07d9ed942..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ccsPort.wsdl
+++ /dev/null
@@ -1,463 +0,0 @@
-
-
-
-CCS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ccsPort.xsd b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ccsPort.xsd
deleted file mode 100644
index 149ba6910..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/ccsPort.xsd
+++ /dev/null
@@ -1,736 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/localsearch.wsdl b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/localsearch.wsdl
deleted file mode 100644
index 5258bfc7b..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/localsearch.wsdl
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-Local Search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/localsearch.xsd b/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/localsearch.xsd
deleted file mode 100644
index 51684be49..000000000
--- a/airtime_mvc/library/Zend/Service/DeveloperGarden/Wsdl/localsearch.xsd
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/airtime_mvc/library/Zend/Service/Exception.php b/airtime_mvc/library/Zend/Service/Exception.php
deleted file mode 100644
index fe8b771fa..000000000
--- a/airtime_mvc/library/Zend/Service/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-apiKey = (string) $apiKey;
- }
-
-
- /**
- * Find Flickr photos by tag.
- *
- * Query options include:
- *
- * # per_page: how many results to return per query
- * # page: the starting page offset. first result will be (page - 1) * per_page + 1
- * # tag_mode: Either 'any' for an OR combination of tags,
- * or 'all' for an AND combination. Default is 'any'.
- * # min_upload_date: Minimum upload date to search on. Date should be a unix timestamp.
- * # max_upload_date: Maximum upload date to search on. Date should be a unix timestamp.
- * # min_taken_date: Minimum upload date to search on. Date should be a MySQL datetime.
- * # max_taken_date: Maximum upload date to search on. Date should be a MySQL datetime.
- *
- * @param string|array $query A single tag or an array of tags.
- * @param array $options Additional parameters to refine your query.
- * @return Zend_Service_Flickr_ResultSet
- * @throws Zend_Service_Exception
- */
- public function tagSearch($query, array $options = array())
- {
- static $method = 'flickr.photos.search';
- static $defaultOptions = array('per_page' => 10,
- 'page' => 1,
- 'tag_mode' => 'or',
- 'extras' => 'license, date_upload, date_taken, owner_name, icon_server');
-
- $options['tags'] = is_array($query) ? implode(',', $query) : $query;
-
- $options = $this->_prepareOptions($method, $options, $defaultOptions);
-
- $this->_validateTagSearch($options);
-
- // now search for photos
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet('/services/rest/', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: '
- . $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Flickr_ResultSet
- */
- require_once 'Zend/Service/Flickr/ResultSet.php';
- return new Zend_Service_Flickr_ResultSet($dom, $this);
- }
-
-
- /**
- * Finds photos by a user's username or email.
- *
- * Additional query options include:
- *
- * # per_page: how many results to return per query
- * # page: the starting page offset. first result will be (page - 1) * per_page + 1
- * # min_upload_date: Minimum upload date to search on. Date should be a unix timestamp.
- * # max_upload_date: Maximum upload date to search on. Date should be a unix timestamp.
- * # min_taken_date: Minimum upload date to search on. Date should be a MySQL datetime.
- * # max_taken_date: Maximum upload date to search on. Date should be a MySQL datetime.
- *
- * @param string $query username or email
- * @param array $options Additional parameters to refine your query.
- * @return Zend_Service_Flickr_ResultSet
- * @throws Zend_Service_Exception
- */
- public function userSearch($query, array $options = null)
- {
- static $method = 'flickr.people.getPublicPhotos';
- static $defaultOptions = array('per_page' => 10,
- 'page' => 1,
- 'extras' => 'license, date_upload, date_taken, owner_name, icon_server');
-
-
- // can't access by username, must get ID first
- if (strchr($query, '@')) {
- // optimistically hope this is an email
- $options['user_id'] = $this->getIdByEmail($query);
- } else {
- // we can safely ignore this exception here
- $options['user_id'] = $this->getIdByUsername($query);
- }
-
- $options = $this->_prepareOptions($method, $options, $defaultOptions);
- $this->_validateUserSearch($options);
-
- // now search for photos
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet('/services/rest/', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: '
- . $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Flickr_ResultSet
- */
- require_once 'Zend/Service/Flickr/ResultSet.php';
- return new Zend_Service_Flickr_ResultSet($dom, $this);
- }
-
- /**
- * Finds photos in a group's pool.
- *
- * @param string $query group id
- * @param array $options Additional parameters to refine your query.
- * @return Zend_Service_Flickr_ResultSet
- * @throws Zend_Service_Exception
- */
- public function groupPoolGetPhotos($query, array $options = array())
- {
- static $method = 'flickr.groups.pools.getPhotos';
- static $defaultOptions = array('per_page' => 10,
- 'page' => 1,
- 'extras' => 'license, date_upload, date_taken, owner_name, icon_server');
-
- if (empty($query) || !is_string($query)) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('You must supply a group id');
- }
-
- $options['group_id'] = $query;
-
- $options = $this->_prepareOptions($method, $options, $defaultOptions);
-
- $this->_validateGroupPoolGetPhotos($options);
-
- // now search for photos
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet('/services/rest/', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: '
- . $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Flickr_ResultSet
- */
- require_once 'Zend/Service/Flickr/ResultSet.php';
- return new Zend_Service_Flickr_ResultSet($dom, $this);
- }
-
-
-
- /**
- * Utility function to find Flickr User IDs for usernames.
- *
- * (You can only find a user's photo with their NSID.)
- *
- * @param string $username the username
- * @return string the NSID (userid)
- * @throws Zend_Service_Exception
- */
- public function getIdByUsername($username)
- {
- static $method = 'flickr.people.findByUsername';
-
- $options = array('api_key' => $this->apiKey, 'method' => $method, 'username' => (string) $username);
-
- if (empty($username)) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('You must supply a username');
- }
-
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet('/services/rest/', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: '
- . $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
- self::_checkErrors($dom);
- $xpath = new DOMXPath($dom);
- return (string) $xpath->query('//user')->item(0)->getAttribute('id');
- }
-
-
- /**
- * Utility function to find Flickr User IDs for emails.
- *
- * (You can only find a user's photo with their NSID.)
- *
- * @param string $email the email
- * @return string the NSID (userid)
- * @throws Zend_Service_Exception
- */
- public function getIdByEmail($email)
- {
- static $method = 'flickr.people.findByEmail';
-
- if (empty($email)) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('You must supply an e-mail address');
- }
-
- $options = array('api_key' => $this->apiKey, 'method' => $method, 'find_email' => (string) $email);
-
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet('/services/rest/', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: '
- . $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
- self::_checkErrors($dom);
- $xpath = new DOMXPath($dom);
- return (string) $xpath->query('//user')->item(0)->getAttribute('id');
- }
-
-
- /**
- * Returns Flickr photo details by for the given photo ID
- *
- * @param string $id the NSID
- * @return array of Zend_Service_Flickr_Image, details for the specified image
- * @throws Zend_Service_Exception
- */
- public function getImageDetails($id)
- {
- static $method = 'flickr.photos.getSizes';
-
- if (empty($id)) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('You must supply a photo ID');
- }
-
- $options = array('api_key' => $this->apiKey, 'method' => $method, 'photo_id' => $id);
-
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet('/services/rest/', $options);
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
- $xpath = new DOMXPath($dom);
- self::_checkErrors($dom);
- $retval = array();
- /**
- * @see Zend_Service_Flickr_Image
- */
- require_once 'Zend/Service/Flickr/Image.php';
- foreach ($xpath->query('//size') as $size) {
- $label = (string) $size->getAttribute('label');
- $retval[$label] = new Zend_Service_Flickr_Image($size);
- }
-
- return $retval;
- }
-
-
- /**
- * Returns a reference to the REST client, instantiating it if necessary
- *
- * @return Zend_Rest_Client
- */
- public function getRestClient()
- {
- if (null === $this->_restClient) {
- /**
- * @see Zend_Rest_Client
- */
- require_once 'Zend/Rest/Client.php';
- $this->_restClient = new Zend_Rest_Client(self::URI_BASE);
- }
-
- return $this->_restClient;
- }
-
-
- /**
- * Validate User Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateUserSearch(array $options)
- {
- $validOptions = array('api_key', 'method', 'user_id', 'per_page', 'page', 'extras', 'min_upload_date',
- 'min_taken_date', 'max_upload_date', 'max_taken_date');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 500, true);
- if (!$between->isValid($options['per_page'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($options['per_page'] . ' is not valid for the "per_page" option');
- }
-
- /**
- * @see Zend_Validate_Int
- */
- require_once 'Zend/Validate/Int.php';
- $int = new Zend_Validate_Int();
- if (!$int->isValid($options['page'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($options['page'] . ' is not valid for the "page" option');
- }
-
- // validate extras, which are delivered in csv format
- if ($options['extras']) {
- $extras = explode(',', $options['extras']);
- $validExtras = array('license', 'date_upload', 'date_taken', 'owner_name', 'icon_server');
- foreach($extras as $extra) {
- /**
- * @todo The following does not do anything [yet], so it is commented out.
- */
- //in_array(trim($extra), $validExtras);
- }
- }
- }
-
-
- /**
- * Validate Tag Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateTagSearch(array $options)
- {
- $validOptions = array('method', 'api_key', 'user_id', 'tags', 'tag_mode', 'text', 'min_upload_date',
- 'max_upload_date', 'min_taken_date', 'max_taken_date', 'license', 'sort',
- 'privacy_filter', 'bbox', 'accuracy', 'machine_tags', 'machine_tag_mode', 'group_id',
- 'extras', 'per_page', 'page');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 500, true);
- if (!$between->isValid($options['per_page'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($options['per_page'] . ' is not valid for the "per_page" option');
- }
-
- /**
- * @see Zend_Validate_Int
- */
- require_once 'Zend/Validate/Int.php';
- $int = new Zend_Validate_Int();
- if (!$int->isValid($options['page'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($options['page'] . ' is not valid for the "page" option');
- }
-
- // validate extras, which are delivered in csv format
- if ($options['extras']) {
- $extras = explode(',', $options['extras']);
- $validExtras = array('license', 'date_upload', 'date_taken', 'owner_name', 'icon_server');
- foreach($extras as $extra) {
- /**
- * @todo The following does not do anything [yet], so it is commented out.
- */
- //in_array(trim($extra), $validExtras);
- }
- }
-
- }
-
-
- /**
- * Validate Group Search Options
- *
- * @param array $options
- * @throws Zend_Service_Exception
- * @return void
- */
- protected function _validateGroupPoolGetPhotos(array $options)
- {
- $validOptions = array('api_key', 'tags', 'method', 'group_id', 'per_page', 'page', 'extras', 'user_id');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 500, true);
- if (!$between->isValid($options['per_page'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($options['per_page'] . ' is not valid for the "per_page" option');
- }
-
- /**
- * @see Zend_Validate_Int
- */
- require_once 'Zend/Validate/Int.php';
- $int = new Zend_Validate_Int();
-
- if (!$int->isValid($options['page'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($options['page'] . ' is not valid for the "page" option');
- }
-
- // validate extras, which are delivered in csv format
- if (isset($options['extras'])) {
- $extras = explode(',', $options['extras']);
- $validExtras = array('license', 'date_upload', 'date_taken', 'owner_name', 'icon_server');
- foreach($extras as $extra) {
- /**
- * @todo The following does not do anything [yet], so it is commented out.
- */
- //in_array(trim($extra), $validExtras);
- }
- }
- }
-
-
- /**
- * Throws an exception if and only if the response status indicates a failure
- *
- * @param DOMDocument $dom
- * @return void
- * @throws Zend_Service_Exception
- */
- protected static function _checkErrors(DOMDocument $dom)
- {
- if ($dom->documentElement->getAttribute('stat') === 'fail') {
- $xpath = new DOMXPath($dom);
- $err = $xpath->query('//err')->item(0);
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Search failed due to error: ' . $err->getAttribute('msg')
- . ' (error #' . $err->getAttribute('code') . ')');
- }
- }
-
-
- /**
- * Prepare options for the request
- *
- * @param string $method Flickr Method to call
- * @param array $options User Options
- * @param array $defaultOptions Default Options
- * @return array Merged array of user and default/required options
- */
- protected function _prepareOptions($method, array $options, array $defaultOptions)
- {
- $options['method'] = (string) $method;
- $options['api_key'] = $this->apiKey;
-
- return array_merge($defaultOptions, $options);
- }
-
-
- /**
- * Throws an exception if and only if any user options are invalid
- *
- * @param array $options User options
- * @param array $validOptions Valid options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _compareOptions(array $options, array $validOptions)
- {
- $difference = array_diff(array_keys($options), $validOptions);
- if ($difference) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('The following parameters are invalid: ' . implode(',', $difference));
- }
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Service/Flickr/Image.php b/airtime_mvc/library/Zend/Service/Flickr/Image.php
deleted file mode 100644
index 90cb4f539..000000000
--- a/airtime_mvc/library/Zend/Service/Flickr/Image.php
+++ /dev/null
@@ -1,76 +0,0 @@
-uri = (string) $image->getAttribute('source');
- $this->clickUri = (string) $image->getAttribute('url');
- $this->height = (int) $image->getAttribute('height');
- $this->width = (int) $image->getAttribute('width');
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Service/Flickr/Result.php b/airtime_mvc/library/Zend/Service/Flickr/Result.php
deleted file mode 100644
index 49a849b23..000000000
--- a/airtime_mvc/library/Zend/Service/Flickr/Result.php
+++ /dev/null
@@ -1,195 +0,0 @@
-ownerDocument);
-
- foreach ($xpath->query('./@*', $image) as $property) {
- $this->{$property->name} = (string) $property->value;
- }
-
- $this->_flickr = $flickr;
-
- foreach ($this->_flickr->getImageDetails($this->id) as $k => $v) {
- $this->$k = $v;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Flickr/ResultSet.php b/airtime_mvc/library/Zend/Service/Flickr/ResultSet.php
deleted file mode 100644
index 856f0ba59..000000000
--- a/airtime_mvc/library/Zend/Service/Flickr/ResultSet.php
+++ /dev/null
@@ -1,188 +0,0 @@
-_flickr = $flickr;
-
- $xpath = new DOMXPath($dom);
-
- $photos = $xpath->query('//photos')->item(0);
-
- $page = $photos->getAttribute('page');
- $pages = $photos->getAttribute('pages');
- $perPage = $photos->getAttribute('perpage');
- $total = $photos->getAttribute('total');
-
- $this->totalResultsReturned = ($page == $pages || $pages == 0) ? ($total - ($page - 1) * $perPage) : (int) $perPage;
- $this->firstResultPosition = ($page - 1) * $perPage + 1;
- $this->totalResultsAvailable = (int) $total;
-
- if ($total > 0) {
- $this->_results = $xpath->query('//photo');
- }
- }
-
- /**
- * Total Number of results returned
- *
- * @return int Total number of results returned
- */
- public function totalResults()
- {
- return $this->totalResultsReturned;
- }
-
- /**
- * Implements SeekableIterator::current()
- *
- * @return Zend_Service_Flickr_Result
- */
- public function current()
- {
- return new Zend_Service_Flickr_Result($this->_results->item($this->_currentIndex), $this->_flickr);
- }
-
- /**
- * Implements SeekableIterator::key()
- *
- * @return int
- */
- public function key()
- {
- return $this->_currentIndex;
- }
-
- /**
- * Implements SeekableIterator::next()
- *
- * @return void
- */
- public function next()
- {
- $this->_currentIndex += 1;
- }
-
- /**
- * Implements SeekableIterator::rewind()
- *
- * @return void
- */
- public function rewind()
- {
- $this->_currentIndex = 0;
- }
-
- /**
- * Implements SeekableIterator::seek()
- *
- * @param int $index
- * @throws OutOfBoundsException
- * @return void
- */
- public function seek($index)
- {
- $indexInt = (int) $index;
- if ($indexInt >= 0 && (null === $this->_results || $indexInt < $this->_results->length)) {
- $this->_currentIndex = $indexInt;
- } else {
- throw new OutOfBoundsException("Illegal index '$index'");
- }
- }
-
- /**
- * Implements SeekableIterator::valid()
- *
- * @return boolean
- */
- public function valid()
- {
- return null !== $this->_results && $this->_currentIndex < $this->_results->length;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Service/LiveDocx.php b/airtime_mvc/library/Zend/Service/LiveDocx.php
deleted file mode 100644
index 02521327e..000000000
--- a/airtime_mvc/library/Zend/Service/LiveDocx.php
+++ /dev/null
@@ -1,415 +0,0 @@
- 'myUsername',
- * 'password' => 'myPassword',
- * 'soapClient' => new Zend_Soap_Client('https://api.example.com/path/mailmerge.asmx?WSDL')
- * )
- * );
- * {code}
- *
- * Replace the URI of the WSDL in the constructor of Zend_Soap_Client with
- * that of your dedicated or licensed LiveDocx server.
- *
- * If you are using the public LiveDocx server, simply pass 'username' and
- * 'password'. For example:
- *
- * {code}
- * $phpLiveDocx = new Zend_Service_LiveDocx_MailMerge(
- * array (
- * 'username' => 'myUsername',
- * 'password' => 'myPassword'
- * )
- * );
- * {code}
- *
- * If you prefer to not pass the username and password through the
- * constructor, you can also call the following methods:
- *
- * {code}
- * $phpLiveDocx = new Zend_Service_LiveDocx_MailMerge();
- *
- * $phpLiveDocx->setUsername('myUsername')
- * ->setPassword('myPassword');
- * {/code}
- *
- * Or, if you want to specify your own SoapClient:
- *
- * {code}
- * $phpLiveDocx = new Zend_Service_LiveDocx_MailMerge();
- *
- * $phpLiveDocx->setUsername('myUsername')
- * ->setPassword('myPassword');
- *
- * $phpLiveDocx->setSoapClient(
- * new Zend_Soap_Client('https://api.example.com/path/mailmerge.asmx?WSDL')
- * );
- * {/code}
- *
- * @param array|Zend_Config $options
- * @return void
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function __construct($options = null)
- {
- $this->_credentials = array();
- $this->_loggedIn = false;
-
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set options
- * One or more of username, password, soapClient
- *
- * @param $options
- * @return Zend_Service_LiveDocx
- * @since LiveDocx 1.2
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- $method = 'set' . $key;
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Clean up and log out of LiveDocx service
- *
- * @return boolean
- * @since LiveDocx 1.0
- */
- public function __destruct()
- {
- return $this->logOut();
- }
-
- /**
- * Init Soap client - connect to SOAP service
- *
- * @param string $endpoint
- * @throws Zend_Service_LiveDocx_Exception
- * @return void
- * @since LiveDocx 1.2
- */
- protected function _initSoapClient($endpoint)
- {
- try {
- require_once 'Zend/Soap/Client.php';
- $this->_soapClient = new Zend_Soap_Client();
- $this->_soapClient->setWsdl($endpoint);
- } catch (Zend_Soap_Client_Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception('Cannot connect to LiveDocx service at ' . $endpoint, 0, $e);
- }
- }
-
- /**
- * Get SOAP client
- *
- * @return Zend_Soap_Client
- * @since LiveDocx 1.2
- */
- public function getSoapClient()
- {
- return $this->_soapClient;
- }
-
- /**
- * Set SOAP client
- *
- * @param Zend_Soap_Client $soapClient
- * @return Zend_Service_LiveDocx
- * @since LiveDocx 1.2
- */
- public function setSoapClient(Zend_Soap_Client $soapClient)
- {
- $this->_soapClient = $soapClient;
- return $this;
- }
-
- /**
- * Log in to LiveDocx service
- *
- * @param string $username
- * @param string $password
- *
- * @throws Zend_Service_LiveDocx_Exception
- * @return boolean
- * @since LiveDocx 1.2
- */
- public function logIn()
- {
- if (!$this->isLoggedIn()) {
- if (null === $this->getUsername()) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Username has not been set. To set username specify the options array in the constructor or call setUsername($username) after instantiation'
- );
- }
-
- if (null === $this->getPassword()) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Password has not been set. To set password specify the options array in the constructor or call setPassword($password) after instantiation'
- );
- }
-
- if (null === $this->getSoapClient()) {
- $this->_initSoapClient($this->_wsdl);
- }
-
- try {
- $this->getSoapClient()->LogIn(array(
- 'username' => $this->getUsername(),
- 'password' => $this->getPassword(),
- ));
- $this->_loggedIn = true;
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot login into LiveDocx service - username and/or password are invalid', 0, $e
- );
- }
- }
-
- return $this->_loggedIn;
- }
-
- /**
- * Log out of the LiveDocx service
- *
- * @throws Zend_Service_LiveDocx_Exception
- * @return boolean
- * @since LiveDocx 1.2
- */
- public function logOut()
- {
- if ($this->isLoggedIn()) {
- try {
- $this->getSoapClient()->LogOut();
- $this->_loggedIn = false;
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot log out of LiveDocx service', 0, $e
- );
- }
- }
-
- return $this->_loggedIn;
- }
-
- /**
- * Return true, if session is currently logged into the backend server
- *
- * @return boolean
- * @since LiveDocx 1.2
- */
- public function isLoggedIn()
- {
- return $this->_loggedIn;
- }
-
- /**
- * Set username
- *
- * @return Zend_Service_LiveDocx
- * @since LiveDocx 1.0
- */
- public function setUsername($username)
- {
- $this->_credentials['username'] = $username;
- return $this;
- }
-
- /**
- * Set password
- *
- * @return Zend_Service_LiveDocx
- * @since LiveDocx 1.0
- */
- public function setPassword($password)
- {
- $this->_credentials['password'] = $password;
- return $this;
- }
-
- /**
- * Set WSDL of LiveDocx web service
- *
- * @return Zend_Service_LiveDocx
- * @since LiveDocx 1.0
- */
- public function setWsdl($wsdl)
- {
- $this->_wsdl = $wsdl;
- return $this;
- }
-
- /**
- * Return current username
- *
- * @return string|null
- * @since LiveDocx 1.0
- */
- public function getUsername()
- {
- if (isset($this->_credentials['username'])) {
- return $this->_credentials['username'];
- }
-
- return null;
- }
-
- /**
- * Return current password
- *
- * @return string|null
- * @since LiveDocx 1.0
- */
- public function getPassword()
- {
- if (isset($this->_credentials['password'])) {
- return $this->_credentials['password'];
- }
-
- return null;
- }
-
- /**
- * Return WSDL of LiveDocx web service
- *
- * @return Zend_Service_LiveDocx
- * @since LiveDocx 1.0
- */
- public function getWsdl()
- {
- return $this->_wsdl;
- }
-
- /**
- * Return the document format (extension) of a filename
- *
- * @param string $filename
- * @return string
- * @since LiveDocx 1.0
- */
- public function getFormat($filename)
- {
- return strtolower(substr(strrchr($filename, '.'), 1));
- }
-
- /**
- * Return the current API version
- *
- * @return string
- * @since LiveDocx 1.0
- */
- public function getVersion()
- {
- return self::VERSION;
- }
-
- /**
- * Compare the current API version with another version
- *
- * @param string $version (STRING NOT FLOAT)
- * @return int -1 (version is less than API version), 0 (versions are equal), or 1 (version is greater than API version)
- * @since LiveDocx 1.0
- */
- public function compareVersion($version)
- {
- return version_compare($version, $this->getVersion());
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/LiveDocx/Exception.php b/airtime_mvc/library/Zend/Service/LiveDocx/Exception.php
deleted file mode 100644
index a410e56bc..000000000
--- a/airtime_mvc/library/Zend/Service/LiveDocx/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-_wsdl = self::WSDL;
- $this->_fieldValues = array();
- $this->_blockFieldValues = array();
-
- parent::__construct($options);
- }
-
- /**
- * Set the filename of a LOCAL template
- * (i.e. a template stored locally on YOUR server)
- *
- * @param string $filename
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function setLocalTemplate($filename)
- {
- $this->logIn();
-
- try {
- $this->getSoapClient()->SetLocalTemplate(array(
- 'template' => base64_encode(file_get_contents($filename)),
- 'format' => self::getFormat($filename),
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot set local template', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Set the filename of a REMOTE template
- * (i.e. a template stored remotely on the LIVEDOCX server)
- *
- * @param string $filename
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function setRemoteTemplate($filename)
- {
- $this->logIn();
-
- try {
- $this->getSoapClient()->SetRemoteTemplate(array(
- 'filename' => $filename,
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot set remote template', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Set an associative or multi-associative array of keys and values pairs
- *
- * @param array $values
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function setFieldValues($values)
- {
- $this->logIn();
-
- foreach ($values as $value) {
- if (is_array($value)) {
- $method = 'multiAssocArrayToArrayOfArrayOfString';
- } else {
- $method = 'assocArrayToArrayOfArrayOfString';
- }
- break;
- }
-
- try {
- $this->getSoapClient()->SetFieldValues(array(
- 'fieldValues' => self::$method($values),
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot set field values', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Set an array of key and value or array of values
- *
- * @param string $field
- * @param array|string $value
- *
- * @throws Zend_Service_LiveDocx_Exception
- * @return Zend_Service_LiveDocx_MailMerge
- * @since LiveDocx 1.0
- */
- public function setFieldValue($field, $value)
- {
- $this->_fieldValues[$field] = $value;
-
- return $this;
- }
-
- /**
- * Set block field values
- *
- * @param string $blockName
- * @param array $blockFieldValues
- *
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function setBlockFieldValues($blockName, $blockFieldValues)
- {
- $this->logIn();
-
- try {
- $this->getSoapClient()->SetBlockFieldValues(array(
- 'blockName' => $blockName,
- 'blockFieldValues' => self::multiAssocArrayToArrayOfArrayOfString($blockFieldValues)
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot set block field values', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Assign values to template fields
- *
- * @param array|string $field
- * @param array|string $value
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function assign($field, $value = null)
- {
- try {
- if (is_array($field) && (null === $value)) {
- foreach ($field as $fieldName => $fieldValue) {
- $this->setFieldValue($fieldName, $fieldValue);
- }
- } elseif (is_array($value)) {
- $this->setBlockFieldValues($field, $value);
- } else {
- $this->setFieldValue($field, $value);
- }
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot assign data to template', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Set a password to open to document
- *
- * This method can only be used for PDF documents
- *
- * @param string $password
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.2 Premium
- */
- public function setDocumentPassword($password)
- {
- $this->logIn();
-
- try {
- $this->getSoapClient()->SetDocumentPassword(array(
- 'password' => $password
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot set document password. This method can be used on PDF files only.', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Set a master password for document and determine which security features
- * are accessible without using the master password.
- *
- * As default, nothing is allowed. To allow a security setting,
- * explicatively set it using one of he DOCUMENT_ACCESS_PERMISSION_* class
- * constants.
- *
- * {code}
- * $phpLiveDocx->setDocumentAccessPermissions(
- * array (
- * Zend_Service_LiveDocx_MailMerge::DOCUMENT_ACCESS_PERMISSION_ALLOW_PRINTING_HIGH_LEVEL,
- * Zend_Service_LiveDocx_MailMerge::DOCUMENT_ACCESS_PERMISSION_ALLOW_EXTRACT_CONTENTS
- * ),
- * 'myDocumentAccessPassword'
- * );
- * {code}
- *
- * This method can only be used for PDF documents
- *
- * @param array $permissions
- * @param string $password
- * @return Zend_Service_LiveDocx_MailMerge
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.2 Premium
- */
- public function setDocumentAccessPermissions($permissions, $password)
- {
- $this->logIn();
-
- try {
- $this->getSoapClient()->SetDocumentAccessPermissions(array(
- 'permissions' => $permissions,
- 'password' => $password
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot set document access permissions', 0, $e
- );
- }
-
- return $this;
- }
-
- /**
- * Merge assigned data with template to generate document
- *
- * @throws Zend_Service_LiveDocx_Excpetion
- * @return void
- * @since LiveDocx 1.0
- */
- public function createDocument()
- {
- $this->logIn();
-
- if (count($this->_fieldValues) > 0) {
- $this->setFieldValues($this->_fieldValues);
- }
-
- $this->_fieldValues = array();
- $this->_blockFieldValues = array();
-
- try {
- $this->getSoapClient()->CreateDocument();
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot create document', 0, $e
- );
- }
- }
-
- /**
- * Retrieve document in specified format
- *
- * @param string $format
- *
- * @throws Zend_Service_LiveDocx_Exception
- * @return binary
- * @since LiveDocx 1.0
- */
- public function retrieveDocument($format)
- {
- $this->logIn();
-
- $format = strtolower($format);
-
- try {
- $result = $this->getSoapClient()->RetrieveDocument(array(
- 'format' => $format,
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot retrieve document - call setLocalTemplate() or setRemoteTemplate() first', 0, $e
- );
- }
-
- return base64_decode($result->RetrieveDocumentResult);
- }
-
- /**
- * Return WMF (aka Windows metafile) data for specified page range of created document
- * Return array contains WMF data (binary) - array key is page number
- *
- * @param integer $fromPage
- * @param integer $toPage
- * @return array
- * @since LiveDocx 1.2
- */
- public function getMetafiles($fromPage, $toPage)
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetMetafiles(array(
- 'fromPage' => (integer) $fromPage,
- 'toPage' => (integer) $toPage,
- ));
-
- if (isset($result->GetMetafilesResult->string)) {
- $pageCounter = (integer) $fromPage;
- if (is_array($result->GetMetafilesResult->string)) {
- foreach ($result->GetMetafilesResult->string as $string) {
- $ret[$pageCounter] = base64_decode($string);
- $pageCounter++;
- }
- } else {
- $ret[$pageCounter] = base64_decode($result->GetMetafilesResult->string);
- }
- }
-
- return $ret;
- }
-
- /**
- * Return WMF (aka Windows metafile) data for pages of created document
- * Return array contains WMF data (binary) - array key is page number
- *
- * @return array
- * @since LiveDocx 1.2
- */
- public function getAllMetafiles()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetAllMetafiles();
-
- if (isset($result->GetAllMetafilesResult->string)) {
- $pageCounter = 1;
- if (is_array($result->GetAllMetafilesResult->string)) {
- foreach ($result->GetAllMetafilesResult->string as $string) {
- $ret[$pageCounter] = base64_decode($string);
- $pageCounter++;
- }
- } else {
- $ret[$pageCounter] = base64_decode($result->GetAllMetafilesResult->string);
- }
- }
-
- return $ret;
- }
-
- /**
- * Return graphical bitmap data for specified page range of created document
- * Return array contains bitmap data (binary) - array key is page number
- *
- * @param integer $fromPage
- * @param integer $toPage
- * @param integer $zoomFactor
- * @param string $format
- * @return array
- * @since LiveDocx 1.2
- */
- public function getBitmaps($fromPage, $toPage, $zoomFactor, $format)
- {
- $this->logIn();
-
- $ret = array();
-
- $result = $this->getSoapClient()->GetBitmaps(array(
- 'fromPage' => (integer) $fromPage,
- 'toPage' => (integer) $toPage,
- 'zoomFactor' => (integer) $zoomFactor,
- 'format' => (string) $format,
- ));
-
- if (isset($result->GetBitmapsResult->string)) {
- $pageCounter = (integer) $fromPage;
- if (is_array($result->GetBitmapsResult->string)) {
- foreach ($result->GetBitmapsResult->string as $string) {
- $ret[$pageCounter] = base64_decode($string);
- $pageCounter++;
- }
- } else {
- $ret[$pageCounter] = base64_decode($result->GetBitmapsResult->string);
- }
- }
-
- return $ret;
- }
-
- /**
- * Return graphical bitmap data for all pages of created document
- * Return array contains bitmap data (binary) - array key is page number
- *
- * @param integer $zoomFactor
- * @param string $format
- * @return array
- * @since LiveDocx 1.2
- */
- public function getAllBitmaps($zoomFactor, $format)
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetAllBitmaps(array(
- 'zoomFactor' => (integer) $zoomFactor,
- 'format' => (string) $format,
- ));
-
- if (isset($result->GetAllBitmapsResult->string)) {
- $pageCounter = 1;
- if (is_array($result->GetAllBitmapsResult->string)) {
- foreach ($result->GetAllBitmapsResult->string as $string) {
- $ret[$pageCounter] = base64_decode($string);
- $pageCounter++;
- }
- } else {
- $ret[$pageCounter] = base64_decode($result->GetAllBitmapsResult->string);
- }
- }
-
- return $ret;
- }
-
- /**
- * Return all the fields in the template
- *
- * @return array
- * @since LiveDocx 1.0
- */
- public function getFieldNames()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetFieldNames();
-
- if (isset($result->GetFieldNamesResult->string)) {
- if (is_array($result->GetFieldNamesResult->string)) {
- $ret = $result->GetFieldNamesResult->string;
- } else {
- $ret[] = $result->GetFieldNamesResult->string;
- }
- }
-
- return $ret;
- }
-
- /**
- * Return all the block fields in the template
- *
- * @param string $blockName
- * @return array
- * @since LiveDocx 1.0
- */
- public function getBlockFieldNames($blockName)
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetBlockFieldNames(array(
- 'blockName' => $blockName
- ));
-
- if (isset($result->GetBlockFieldNamesResult->string)) {
- if (is_array($result->GetBlockFieldNamesResult->string)) {
- $ret = $result->GetBlockFieldNamesResult->string;
- } else {
- $ret[] = $result->GetBlockFieldNamesResult->string;
- }
- }
-
- return $ret;
- }
-
- /**
- * Return all the block fields in the template
- *
- * @return array
- * @since LiveDocx 1.0
- */
- public function getBlockNames()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetBlockNames();
-
- if (isset($result->GetBlockNamesResult->string)) {
- if (is_array($result->GetBlockNamesResult->string)) {
- $ret = $result->GetBlockNamesResult->string;
- } else {
- $ret[] = $result->GetBlockNamesResult->string;
- }
- }
-
- return $ret;
- }
-
- /**
- * Upload a template file to LiveDocx service
- *
- * @param string $filename
- * @return void
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function uploadTemplate($filename)
- {
- $this->logIn();
-
- try {
- $this->getSoapClient()->UploadTemplate(array(
- 'template' => base64_encode(file_get_contents($filename)),
- 'filename' => basename($filename),
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot upload template', 0, $e
- );
- }
- }
-
- /**
- * Download template file from LiveDocx service
- *
- * @param string $filename
- * @return binary
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function downloadTemplate($filename)
- {
- $this->logIn();
-
- try {
- $result = $this->getSoapClient()->DownloadTemplate(array(
- 'filename' => basename($filename),
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot download template', 0, $e
- );
- }
-
- return base64_decode($result->DownloadTemplateResult);
- }
-
- /**
- * Delete a template file from LiveDocx service
- *
- * @param string $filename
- * @return void
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function deleteTemplate($filename)
- {
- $this->logIn();
-
- $this->getSoapClient()->DeleteTemplate(array(
- 'filename' => basename($filename),
- ));
- }
-
- /**
- * List all templates stored on LiveDocx service
- *
- * @return array
- * @since LiveDocx 1.0
- */
- public function listTemplates()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->ListTemplates();
-
- if (isset($result->ListTemplatesResult)) {
- $ret = $this->_backendListArrayToMultiAssocArray($result->ListTemplatesResult);
- }
-
- return $ret;
- }
-
- /**
- * Check whether a template file is available on LiveDocx service
- *
- * @param string $filename
- * @return boolean
- * @since LiveDocx 1.0
- */
- public function templateExists($filename)
- {
- $this->logIn();
-
- $result = $this->getSoapClient()->TemplateExists(array(
- 'filename' => basename($filename),
- ));
-
- return (boolean) $result->TemplateExistsResult;
- }
-
- /**
- * Share a document - i.e. the document is available to all over the Internet
- *
- * @return string
- * @since LiveDocx 1.0
- */
- public function shareDocument()
- {
- $this->logIn();
-
- $ret = null;
- $result = $this->getSoapClient()->ShareDocument();
-
- if (isset($result->ShareDocumentResult)) {
- $ret = (string) $result->ShareDocumentResult;
- }
-
- return $ret;
- }
-
- /**
- * List all shared documents stored on LiveDocx service
- *
- * @return array
- * @since LiveDocx 1.0
- */
- public function listSharedDocuments()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->ListSharedDocuments();
-
- if (isset($result->ListSharedDocumentsResult)) {
- $ret = $this->_backendListArrayToMultiAssocArray(
- $result->ListSharedDocumentsResult
- );
- }
-
- return $ret;
- }
-
- /**
- * Delete a shared document from LiveDocx service
- *
- * @param string $filename
- * @return void
- * @since LiveDocx 1.0
- */
- public function deleteSharedDocument($filename)
- {
- $this->logIn();
-
- $this->getSoapClient()->DeleteSharedDocument(array(
- 'filename' => basename($filename),
- ));
- }
-
- /*
- * Download a shared document from LiveDocx service
- *
- * @param string $filename
- * @return binary
- * @throws Zend_Service_LiveDocx_Exception
- * @since LiveDocx 1.0
- */
- public function downloadSharedDocument($filename)
- {
- $this->logIn();
-
- try {
- $result = $this->getSoapClient()->DownloadSharedDocument(array(
- 'filename' => basename($filename),
- ));
- } catch (Exception $e) {
- require_once 'Zend/Service/LiveDocx/Exception.php';
- throw new Zend_Service_LiveDocx_Exception(
- 'Cannot download shared document', 0, $e
- );
- }
-
- return base64_decode($result->DownloadSharedDocumentResult);
- }
-
- /**
- * Check whether a shared document is available on LiveDocx service
- *
- * @param string $filename
- * @return boolean
- * @since LiveDocx 1.0
- */
- public function sharedDocumentExists($filename)
- {
- $this->logIn();
-
- $ret = false;
- $sharedDocuments = $this->listSharedDocuments();
- foreach ($sharedDocuments as $shareDocument) {
- if (isset($shareDocument['filename'])
- && (basename($filename) === $shareDocument['filename'])
- ) {
- $ret = true;
- break;
- }
- }
-
- return $ret;
- }
-
- /**
- * Return supported template formats (lowercase)
- *
- * @return array
- * @since LiveDocx 1.0
- */
- public function getTemplateFormats()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetTemplateFormats();
-
- if (isset($result->GetTemplateFormatsResult->string)) {
- $ret = $result->GetTemplateFormatsResult->string;
- $ret = array_map('strtolower', $ret);
- }
-
- return $ret;
- }
-
- /**
- * Return supported document formats (lowercase)
- *
- * @return array
- * @since LiveDocx 1.1
- */
- public function getDocumentFormats()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetDocumentFormats();
-
- if (isset($result->GetDocumentFormatsResult->string)) {
- $ret = $result->GetDocumentFormatsResult->string;
- $ret = array_map('strtolower', $ret);
- }
-
- return $ret;
- }
-
- /*
- * Return supported image formats (lowercase)
- *
- * @return array
- * @since LiveDocx 1.2
- */
- public function getImageFormats()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetImageFormats();
-
- if (isset($result->GetImageFormatsResult->string)) {
- $ret = $result->GetImageFormatsResult->string;
- $ret = array_map('strtolower', $ret);
- }
-
- return $ret;
- }
-
- /**
- * Return the names of all fonts that are installed on backend server
- *
- * @return array
- * @since LiveDocx 1.2
- */
- public function getFontNames()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetFontNames();
-
- if (isset($result->GetFontNamesResult->string)) {
- $ret = $result->GetFontNamesResult->string;
- }
-
- return $ret;
- }
-
- /**
- * Return supported document access options
- *
- * @return array
- * @since LiveDocx 1.2 Premium
- */
- public function getDocumentAccessOptions()
- {
- $this->logIn();
-
- $ret = array();
- $result = $this->getSoapClient()->GetDocumentAccessOptions();
-
- if (isset($result->GetDocumentAccessOptionsResult->string)) {
- $ret = $result->GetDocumentAccessOptionsResult->string;
- }
-
- return $ret;
- }
-
- /**
- * Convert LiveDocx service return value from list methods to consistent PHP array
- *
- * @param array $list
- * @return array
- * @since LiveDocx 1.0
- */
- protected function _backendListArrayToMultiAssocArray($list)
- {
- $this->logIn();
-
- $ret = array();
- if (isset($list->ArrayOfString)) {
- foreach ($list->ArrayOfString as $a) {
- if (is_array($a)) { // 1 template only
- $o = new stdClass();
- $o->string = $a;
- } else { // 2 or more templates
- $o = $a;
- }
- unset($a);
-
- if (isset($o->string)) {
- $date1 = new Zend_Date($o->string[3], Zend_Date::RFC_1123);
- $date2 = new Zend_Date($o->string[1], Zend_Date::RFC_1123);
-
- $ret[] = array (
- 'filename' => $o->string[0],
- 'fileSize' => (integer) $o->string[2],
- 'createTime' => (integer) $date1->get(Zend_Date::TIMESTAMP),
- 'modifyTime' => (integer) $date2->get(Zend_Date::TIMESTAMP),
- );
- }
- }
- }
-
- return $ret;
- }
-
- /**
- * Convert assoc array to required SOAP type
- *
- * @param array $assoc
- *
- * @return array
- * @since LiveDocx 1.0
- */
- public static function assocArrayToArrayOfArrayOfString($assoc)
- {
- $arrayKeys = array_keys($assoc);
- $arrayValues = array_values($assoc);
-
- return array($arrayKeys, $arrayValues);
- }
-
- /**
- * Convert multi assoc array to required SOAP type
- *
- * @param array $multi
- * @return array
- * @since LiveDocx 1.0
- */
- public static function multiAssocArrayToArrayOfArrayOfString($multi)
- {
- $arrayKeys = array_keys($multi[0]);
- $arrayValues = array();
-
- foreach ($multi as $v) {
- $arrayValues[] = array_values($v);
- }
-
- $arrayKeys = array($arrayKeys);
-
- return array_merge($arrayKeys, $arrayValues);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/Nirvanix.php b/airtime_mvc/library/Zend/Service/Nirvanix.php
deleted file mode 100644
index 010bf76a9..000000000
--- a/airtime_mvc/library/Zend/Service/Nirvanix.php
+++ /dev/null
@@ -1,107 +0,0 @@
- array(),
- 'httpClient' => new Zend_Http_Client(),
- 'host' => 'http://services.nirvanix.com');
- $this->_options = array_merge($defaultOptions, $options);
-
- // login and save sessionToken to default POST params
- $resp = $this->getService('Authentication')->login($authParams);
- $this->_options['defaults']['sessionToken'] = (string)$resp->SessionToken;
- }
-
- /**
- * Nirvanix divides its service into namespaces, with each namespace
- * providing different functionality. This is a factory method that
- * returns a preconfigured Zend_Service_Nirvanix_Namespace_Base proxy.
- *
- * @param string $namespace Name of the namespace
- * @return Zend_Service_Nirvanix_Namespace_Base
- */
- public function getService($namespace, $options = array())
- {
- switch ($namespace) {
- case 'IMFS':
- $class = 'Zend_Service_Nirvanix_Namespace_Imfs';
- break;
- default:
- $class = 'Zend_Service_Nirvanix_Namespace_Base';
- }
-
- $options['namespace'] = ucfirst($namespace);
- $options = array_merge($this->_options, $options);
-
- if (!class_exists($class)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($class);
- }
- return new $class($options);
- }
-
- /**
- * Get the configured options.
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Nirvanix/Exception.php b/airtime_mvc/library/Zend/Service/Nirvanix/Exception.php
deleted file mode 100644
index db08707a4..000000000
--- a/airtime_mvc/library/Zend/Service/Nirvanix/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-_host = $options['baseUrl'];
- }
-
- if (isset($options['namespace'])) {
- $this->_namespace = $options['namespace'];
- }
-
- if (isset($options['defaults'])) {
- $this->_defaults = $options['defaults'];
- }
-
- if (! isset($options['httpClient'])) {
- $options['httpClient'] = new Zend_Http_Client();
- }
- $this->_httpClient = $options['httpClient'];
- }
-
- /**
- * When a method call is made against this proxy, convert it to
- * an HTTP request to make against the Nirvanix REST service.
- *
- * $imfs->DeleteFiles(array('filePath' => 'foo'));
- *
- * Assuming this object was proxying the IMFS namespace, the
- * method call above would call the DeleteFiles command. The
- * POST parameters would be filePath, merged with the
- * $this->_defaults (containing the sessionToken).
- *
- * @param string $methodName Name of the command to call
- * on this namespace.
- * @param array $args Only the first is used and it must be
- * an array. It contains the POST params.
- *
- * @return Zend_Service_Nirvanix_Response
- */
- public function __call($methodName, $args)
- {
- $uri = $this->_makeUri($methodName);
- $this->_httpClient->setUri($uri);
-
- if (!isset($args[0]) || !is_array($args[0])) {
- $args[0] = array();
- }
-
- $params = array_merge($this->_defaults, $args[0]);
- $this->_httpClient->resetParameters();
- $this->_httpClient->setParameterPost($params);
-
- $httpResponse = $this->_httpClient->request(Zend_Http_Client::POST);
- return $this->_wrapResponse($httpResponse);
- }
-
- /**
- * Return the HTTP client used for this namespace. This is useful
- * for inspecting the last request or directly interacting with the
- * HTTP client.
- *
- * @return Zend_Http_Client
- */
- public function getHttpClient()
- {
- return $this->_httpClient;
- }
-
- /**
- * Make a complete URI from an RPC method name. All Nirvanix REST
- * service URIs use the same format.
- *
- * @param string $methodName RPC method name
- * @return string
- */
- protected function _makeUri($methodName)
- {
- $methodName = ucfirst($methodName);
- return "{$this->_host}/ws/{$this->_namespace}/{$methodName}.ashx";
- }
-
- /**
- * All Nirvanix REST service calls return an XML payload. This method
- * makes a Zend_Service_Nirvanix_Response from that XML payload.
- *
- * @param Zend_Http_Response $httpResponse Raw response from Nirvanix
- * @return Zend_Service_Nirvanix_Response Wrapped response
- */
- protected function _wrapResponse($httpResponse)
- {
- return new Zend_Service_Nirvanix_Response($httpResponse->getBody());
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Nirvanix/Namespace/Imfs.php b/airtime_mvc/library/Zend/Service/Nirvanix/Namespace/Imfs.php
deleted file mode 100644
index a0cbc8ef7..000000000
--- a/airtime_mvc/library/Zend/Service/Nirvanix/Namespace/Imfs.php
+++ /dev/null
@@ -1,105 +0,0 @@
- $filePath,
- 'expiration' => $expiration);
- $resp = $this->getOptimalUrls($params);
- $url = (string)$resp->Download->DownloadURL;
-
- // download the file
- $this->_httpClient->resetParameters();
- $this->_httpClient->setUri($url);
- $resp = $this->_httpClient->request(Zend_Http_Client::GET);
-
- return $resp->getBody();
- }
-
- /**
- * Convenience function to put the contents of a string into
- * the Nirvanix IMFS. Analog to PHP's file_put_contents().
- *
- * @param string $filePath Remote path and filename
- * @param integer $data Data to store in the file
- * @param string $mimeType Mime type of data
- * @return Zend_Service_Nirvanix_Response
- */
- public function putContents($filePath, $data, $mimeType = null)
- {
- // get storage node for upload
- $params = array('sizeBytes' => strlen($data));
- $resp = $this->getStorageNode($params);
- $host = (string)$resp->GetStorageNode->UploadHost;
- $uploadToken = (string)$resp->GetStorageNode->UploadToken;
-
- // http upload data into remote file
- $this->_httpClient->resetParameters();
- $this->_httpClient->setUri("http://{$host}/Upload.ashx");
- $this->_httpClient->setParameterPost('uploadToken', $uploadToken);
- $this->_httpClient->setParameterPost('destFolderPath', str_replace('\\', '/',dirname($filePath)));
- $this->_httpClient->setFileUpload(basename($filePath), 'uploadFile', $data, $mimeType);
- $response = $this->_httpClient->request(Zend_Http_Client::POST);
-
- return new Zend_Service_Nirvanix_Response($response->getBody());
- }
-
- /**
- * Convenience function to remove a file from the Nirvanix IMFS.
- * Analog to PHP's unlink().
- *
- * @param string $filePath Remove path and filename
- * @return Zend_Service_Nirvanix_Response
- */
- public function unlink($filePath)
- {
- $params = array('filePath' => $filePath);
- return $this->deleteFiles($params);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Nirvanix/Response.php b/airtime_mvc/library/Zend/Service/Nirvanix/Response.php
deleted file mode 100644
index f4030a7ea..000000000
--- a/airtime_mvc/library/Zend/Service/Nirvanix/Response.php
+++ /dev/null
@@ -1,123 +0,0 @@
- contains an error.
- *
- * @category Zend
- * @package Zend_Service
- * @subpackage Nirvanix
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_Service_Nirvanix_Response
-{
- /**
- * SimpleXMLElement parsed from Nirvanix web service response.
- *
- * @var SimpleXMLElement
- */
- protected $_sxml;
-
- /**
- * Class constructor. Parse the XML response from a Nirvanix method
- * call into a decorated SimpleXMLElement element.
- *
- * @param string $xml XML response string from Nirvanix
- * @throws Zend_Service_Nirvanix_Exception
- */
- public function __construct($xml)
- {
- $this->_sxml = @simplexml_load_string($xml);
-
- if (! $this->_sxml instanceof SimpleXMLElement) {
- $this->_throwException("XML could not be parsed from response: $xml");
- }
-
- $name = $this->_sxml->getName();
- if ($name != 'Response') {
- $this->_throwException("Expected XML element Response, got $name");
- }
-
- $code = (int)$this->_sxml->ResponseCode;
- if ($code != 0) {
- $msg = (string)$this->_sxml->ErrorMessage;
- $this->_throwException($msg, $code);
- }
- }
-
- /**
- * Return the SimpleXMLElement representing this response
- * for direct access.
- *
- * @return SimpleXMLElement
- */
- public function getSxml()
- {
- return $this->_sxml;
- }
-
- /**
- * Delegate undefined properties to the decorated SimpleXMLElement.
- *
- * @param string $offset Undefined property name
- * @return mixed
- */
- public function __get($offset)
- {
- return $this->_sxml->$offset;
- }
-
- /**
- * Delegate undefined methods to the decorated SimpleXMLElement.
- *
- * @param string $offset Underfined method name
- * @param array $args Method arguments
- * @return mixed
- */
- public function __call($method, $args)
- {
- return call_user_func_array(array($this->_sxml, $method), $args);
- }
-
- /**
- * Throw an exception. This method exists to only contain the
- * lazy-require() of the exception class.
- *
- * @param string $message Error message
- * @param integer $code Error code
- * @throws Zend_Service_Nirvanix_Exception
- * @return void
- */
- protected function _throwException($message, $code = null)
- {
- /**
- * @see Zend_Service_Nirvanix_Exception
- */
- require_once 'Zend/Service/Nirvanix/Exception.php';
-
- throw new Zend_Service_Nirvanix_Exception($message, $code);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/ReCaptcha.php b/airtime_mvc/library/Zend/Service/ReCaptcha.php
deleted file mode 100644
index 610ccbe55..000000000
--- a/airtime_mvc/library/Zend/Service/ReCaptcha.php
+++ /dev/null
@@ -1,506 +0,0 @@
- false, /* Use SSL or not when generating the recaptcha */
- 'error' => null, /* The error message to display in the recaptcha */
- 'xhtml' => false /* Enable XHTML output (this will not be XHTML Strict
- compliant since the IFRAME is necessary when
- Javascript is disabled) */
- );
-
- /**
- * Options for tailoring reCaptcha
- *
- * See the different options on http://recaptcha.net/apidocs/captcha/client.html
- *
- * @var array
- */
- protected $_options = array(
- 'theme' => 'red',
- 'lang' => 'en',
- );
-
- /**
- * Response from the verify server
- *
- * @var Zend_Service_ReCaptcha_Response
- */
- protected $_response = null;
-
- /**
- * Class constructor
- *
- * @param string $publicKey
- * @param string $privateKey
- * @param array $params
- * @param array $options
- * @param string $ip
- * @param array|Zend_Config $params
- */
- public function __construct($publicKey = null, $privateKey = null,
- $params = null, $options = null, $ip = null)
- {
- if ($publicKey !== null) {
- $this->setPublicKey($publicKey);
- }
-
- if ($privateKey !== null) {
- $this->setPrivateKey($privateKey);
- }
-
- if ($ip !== null) {
- $this->setIp($ip);
- } else if (isset($_SERVER['REMOTE_ADDR'])) {
- $this->setIp($_SERVER['REMOTE_ADDR']);
- }
-
- if ($params !== null) {
- $this->setParams($params);
- }
-
- if ($options !== null) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Serialize as string
- *
- * When the instance is used as a string it will display the recaptcha.
- * Since we can't throw exceptions within this method we will trigger
- * a user warning instead.
- *
- * @return string
- */
- public function __toString()
- {
- try {
- $return = $this->getHtml();
- } catch (Exception $e) {
- $return = '';
- trigger_error($e->getMessage(), E_USER_WARNING);
- }
-
- return $return;
- }
-
- /**
- * Set the ip property
- *
- * @param string $ip
- * @return Zend_Service_ReCaptcha
- */
- public function setIp($ip)
- {
- $this->_ip = $ip;
-
- return $this;
- }
-
- /**
- * Get the ip property
- *
- * @return string
- */
- public function getIp()
- {
- return $this->_ip;
- }
-
- /**
- * Set a single parameter
- *
- * @param string $key
- * @param string $value
- * @return Zend_Service_ReCaptcha
- */
- public function setParam($key, $value)
- {
- $this->_params[$key] = $value;
-
- return $this;
- }
-
- /**
- * Set parameters
- *
- * @param array|Zend_Config $params
- * @return Zend_Service_ReCaptcha
- * @throws Zend_Service_ReCaptcha_Exception
- */
- public function setParams($params)
- {
- if ($params instanceof Zend_Config) {
- $params = $params->toArray();
- }
-
- if (is_array($params)) {
- foreach ($params as $k => $v) {
- $this->setParam($k, $v);
- }
- } else {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
-
- throw new Zend_Service_ReCaptcha_Exception(
- 'Expected array or Zend_Config object'
- );
- }
-
- return $this;
- }
-
- /**
- * Get the parameter array
- *
- * @return array
- */
- public function getParams()
- {
- return $this->_params;
- }
-
- /**
- * Get a single parameter
- *
- * @param string $key
- * @return mixed
- */
- public function getParam($key)
- {
- return $this->_params[$key];
- }
-
- /**
- * Set a single option
- *
- * @param string $key
- * @param string $value
- * @return Zend_Service_ReCaptcha
- */
- public function setOption($key, $value)
- {
- $this->_options[$key] = $value;
-
- return $this;
- }
-
- /**
- * Set options
- *
- * @param array|Zend_Config $options
- * @return Zend_Service_ReCaptcha
- * @throws Zend_Service_ReCaptcha_Exception
- */
- public function setOptions($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (is_array($options)) {
- foreach ($options as $k => $v) {
- $this->setOption($k, $v);
- }
- } else {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
-
- throw new Zend_Service_ReCaptcha_Exception(
- 'Expected array or Zend_Config object'
- );
- }
-
- return $this;
- }
-
- /**
- * Get the options array
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Get a single option
- *
- * @param string $key
- * @return mixed
- */
- public function getOption($key)
- {
- return $this->_options[$key];
- }
-
- /**
- * Get the public key
- *
- * @return string
- */
- public function getPublicKey()
- {
- return $this->_publicKey;
- }
-
- /**
- * Set the public key
- *
- * @param string $publicKey
- * @return Zend_Service_ReCaptcha
- */
- public function setPublicKey($publicKey)
- {
- $this->_publicKey = $publicKey;
-
- return $this;
- }
-
- /**
- * Get the private key
- *
- * @return string
- */
- public function getPrivateKey()
- {
- return $this->_privateKey;
- }
-
- /**
- * Set the private key
- *
- * @param string $privateKey
- * @return Zend_Service_ReCaptcha
- */
- public function setPrivateKey($privateKey)
- {
- $this->_privateKey = $privateKey;
-
- return $this;
- }
-
- /**
- * Get the HTML code for the captcha
- *
- * This method uses the public key to fetch a recaptcha form.
- *
- * @return string
- * @throws Zend_Service_ReCaptcha_Exception
- */
- public function getHtml()
- {
- if ($this->_publicKey === null) {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
-
- throw new Zend_Service_ReCaptcha_Exception('Missing public key');
- }
-
- $host = self::API_SERVER;
-
- if ((bool) $this->_params['ssl'] === true) {
- $host = self::API_SECURE_SERVER;
- }
-
- $htmlBreak = ' ';
- $htmlInputClosing = '>';
-
- if ((bool) $this->_params['xhtml'] === true) {
- $htmlBreak = ' ';
- $htmlInputClosing = '/>';
- }
-
- $errorPart = '';
-
- if (!empty($this->_params['error'])) {
- $errorPart = '&error=' . urlencode($this->_params['error']);
- }
-
- $reCaptchaOptions = '';
-
- if (!empty($this->_options)) {
- $encoded = Zend_Json::encode($this->_options);
- $reCaptchaOptions = <<
-SCRIPT;
- }
-
- $return = $reCaptchaOptions;
- $return .= <<
-
-HTML;
- $return .= <<
- {$htmlBreak}
-
-
-HTML;
-
- return $return;
- }
-
- /**
- * Post a solution to the verify server
- *
- * @param string $challengeField
- * @param string $responseField
- * @return Zend_Http_Response
- * @throws Zend_Service_ReCaptcha_Exception
- */
- protected function _post($challengeField, $responseField)
- {
- if ($this->_privateKey === null) {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
-
- throw new Zend_Service_ReCaptcha_Exception('Missing private key');
- }
-
- if ($this->_ip === null) {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
-
- throw new Zend_Service_ReCaptcha_Exception('Missing ip address');
- }
-
- if (empty($challengeField)) {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
- throw new Zend_Service_ReCaptcha_Exception('Missing challenge field');
- }
-
- if (empty($responseField)) {
- /** @see Zend_Service_ReCaptcha_Exception */
- require_once 'Zend/Service/ReCaptcha/Exception.php';
-
- throw new Zend_Service_ReCaptcha_Exception('Missing response field');
- }
-
- /* Fetch an instance of the http client */
- $httpClient = self::getHttpClient();
-
- $postParams = array('privatekey' => $this->_privateKey,
- 'remoteip' => $this->_ip,
- 'challenge' => $challengeField,
- 'response' => $responseField);
-
- /* Make the POST and return the response */
- return $httpClient->setUri(self::VERIFY_SERVER)
- ->setParameterPost($postParams)
- ->request(Zend_Http_Client::POST);
- }
-
- /**
- * Verify the user input
- *
- * This method calls up the post method and returns a
- * Zend_Service_ReCaptcha_Response object.
- *
- * @param string $challengeField
- * @param string $responseField
- * @return Zend_Service_ReCaptcha_Response
- */
- public function verify($challengeField, $responseField)
- {
- $response = $this->_post($challengeField, $responseField);
-
- return new Zend_Service_ReCaptcha_Response(null, null, $response);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/ReCaptcha/Exception.php b/airtime_mvc/library/Zend/Service/ReCaptcha/Exception.php
deleted file mode 100644
index e5a4ab3ed..000000000
--- a/airtime_mvc/library/Zend/Service/ReCaptcha/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-_requireMcrypt();
-
- /* If options is a Zend_Config object we want to convert it to an array so we can merge it with the default options */
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- /* Merge if needed */
- if (is_array($options)) {
- $options = array_merge($this->getDefaultOptions(), $options);
- } else {
- $options = $this->getDefaultOptions();
- }
-
- parent::__construct($publicKey, $privateKey, null, $options);
-
- if ($email !== null) {
- $this->setEmail($email);
- }
- }
-
-
- /**
- * Get emailValidator
- *
- * @return Zend_Validate_Interface
- */
- public function getEmailValidator()
- {
- if (null === $this->_emailValidator) {
- require_once 'Zend/Validate/EmailAddress.php';
- $this->setEmailValidator(new Zend_Validate_EmailAddress());
- }
- return $this->_emailValidator;
- }
-
- /**
- * Set email validator
- *
- * @param Zend_Validate_Interface $validator
- * @return Zend_Service_ReCaptcha_MailHide
- */
- public function setEmailValidator(Zend_Validate_Interface $validator)
- {
- $this->_emailValidator = $validator;
- return $this;
- }
-
-
- /**
- * See if the mcrypt extension is available
- *
- * @throws Zend_Service_ReCaptcha_MailHide_Exception
- */
- protected function _requireMcrypt()
- {
- if (!extension_loaded('mcrypt')) {
- /** @see Zend_Service_ReCaptcha_MailHide_Exception */
- require_once 'Zend/Service/ReCaptcha/MailHide/Exception.php';
-
- throw new Zend_Service_ReCaptcha_MailHide_Exception('Use of the Zend_Service_ReCaptcha_MailHide component requires the mcrypt extension to be enabled in PHP');
- }
- }
-
- /**
- * Serialize as string
- *
- * When the instance is used as a string it will display the email address. Since we can't
- * throw exceptions within this method we will trigger a user warning instead.
- *
- * @return string
- */
- public function __toString()
- {
- try {
- $return = $this->getHtml();
- } catch (Exception $e) {
- $return = '';
- trigger_error($e->getMessage(), E_USER_WARNING);
- }
-
- return $return;
- }
-
- /**
- * Get the default set of parameters
- *
- * @return array
- */
- public function getDefaultOptions()
- {
- return array(
- 'encoding' => 'UTF-8',
- 'linkTitle' => 'Reveal this e-mail address',
- 'linkHiddenText' => '...',
- 'popupWidth' => 500,
- 'popupHeight' => 300,
- );
- }
-
- /**
- * Override the setPrivateKey method
- *
- * Override the parent method to store a binary representation of the private key as well.
- *
- * @param string $privateKey
- * @return Zend_Service_ReCaptcha_MailHide
- */
- public function setPrivateKey($privateKey)
- {
- parent::setPrivateKey($privateKey);
-
- /* Pack the private key into a binary string */
- $this->_privateKeyPacked = pack('H*', $this->_privateKey);
-
- return $this;
- }
-
- /**
- * Set the email property
- *
- * This method will set the email property along with the local and domain parts
- *
- * @param string $email
- * @return Zend_Service_ReCaptcha_MailHide
- */
- public function setEmail($email)
- {
- $this->_email = $email;
-
- $validator = $this->getEmailValidator();
- if (!$validator->isValid($email)) {
- require_once 'Zend/Service/ReCaptcha/MailHide/Exception.php';
- throw new Zend_Service_ReCaptcha_MailHide_Exception('Invalid email address provided');
- }
-
- $emailParts = explode('@', $email, 2);
-
- /* Decide on how much of the local part we want to reveal */
- if (strlen($emailParts[0]) <= 4) {
- $emailParts[0] = substr($emailParts[0], 0, 1);
- } else if (strlen($emailParts[0]) <= 6) {
- $emailParts[0] = substr($emailParts[0], 0, 3);
- } else {
- $emailParts[0] = substr($emailParts[0], 0, 4);
- }
-
- $this->_emailLocalPart = $emailParts[0];
- $this->_emailDomainPart = $emailParts[1];
-
- return $this;
- }
-
- /**
- * Get the email property
- *
- * @return string
- */
- public function getEmail()
- {
- return $this->_email;
- }
-
- /**
- * Get the local part of the email address
- *
- * @return string
- */
- public function getEmailLocalPart()
- {
- return $this->_emailLocalPart;
- }
-
- /**
- * Get the domain part of the email address
- *
- * @return string
- */
- public function getEmailDomainPart()
- {
- return $this->_emailDomainPart;
- }
-
- /**
- * Get the HTML code needed for the mail hide
- *
- * @param string $email
- * @return string
- * @throws Zend_Service_ReCaptcha_MailHide_Exception
- */
- public function getHtml($email = null)
- {
- if ($email !== null) {
- $this->setEmail($email);
- } elseif (null === ($email = $this->getEmail())) {
- /** @see Zend_Service_ReCaptcha_MailHide_Exception */
- require_once 'Zend/Service/ReCaptcha/MailHide/Exception.php';
- throw new Zend_Service_ReCaptcha_MailHide_Exception('Missing email address');
- }
-
- if ($this->_publicKey === null) {
- /** @see Zend_Service_ReCaptcha_MailHide_Exception */
- require_once 'Zend/Service/ReCaptcha/MailHide/Exception.php';
- throw new Zend_Service_ReCaptcha_MailHide_Exception('Missing public key');
- }
-
- if ($this->_privateKey === null) {
- /** @see Zend_Service_ReCaptcha_MailHide_Exception */
- require_once 'Zend/Service/ReCaptcha/MailHide/Exception.php';
- throw new Zend_Service_ReCaptcha_MailHide_Exception('Missing private key');
- }
-
- /* Generate the url */
- $url = $this->_getUrl();
-
- $enc = $this->getOption('encoding');
-
- /* Genrate the HTML used to represent the email address */
- $html = htmlentities($this->getEmailLocalPart(), ENT_COMPAT, $enc)
- . '' . $this->_options['linkHiddenText'] . ' @'
- . htmlentities($this->getEmailDomainPart(), ENT_COMPAT, $enc);
-
- return $html;
- }
-
- /**
- * Get the url used on the "hidden" part of the email address
- *
- * @return string
- */
- protected function _getUrl()
- {
- /* Figure out how much we need to pad the email */
- $numPad = self::ENCRYPTION_BLOCK_SIZE - (strlen($this->_email) % self::ENCRYPTION_BLOCK_SIZE);
-
- /* Pad the email */
- $emailPadded = str_pad($this->_email, strlen($this->_email) + $numPad, chr($numPad));
-
- /* Encrypt the email */
- $emailEncrypted = mcrypt_encrypt(self::ENCRYPTION_CIPHER, $this->_privateKeyPacked, $emailPadded, self::ENCRYPTION_MODE, self::ENCRYPTION_IV);
-
- /* Return the url */
- return self::MAILHIDE_SERVER . '?k=' . $this->_publicKey . '&c=' . strtr(base64_encode($emailEncrypted), '+/', '-_');
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/ReCaptcha/MailHide/Exception.php b/airtime_mvc/library/Zend/Service/ReCaptcha/MailHide/Exception.php
deleted file mode 100644
index 54fda93b8..000000000
--- a/airtime_mvc/library/Zend/Service/ReCaptcha/MailHide/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-setStatus($status);
- }
-
- if ($errorCode !== null) {
- $this->setErrorCode($errorCode);
- }
-
- if ($httpResponse !== null) {
- $this->setFromHttpResponse($httpResponse);
- }
- }
-
- /**
- * Set the status
- *
- * @param string $status
- * @return Zend_Service_ReCaptcha_Response
- */
- public function setStatus($status)
- {
- if ($status === 'true') {
- $this->_status = true;
- } else {
- $this->_status = false;
- }
-
- return $this;
- }
-
- /**
- * Get the status
- *
- * @return boolean
- */
- public function getStatus()
- {
- return $this->_status;
- }
-
- /**
- * Alias for getStatus()
- *
- * @return boolean
- */
- public function isValid()
- {
- return $this->getStatus();
- }
-
- /**
- * Set the error code
- *
- * @param string $errorCode
- * @return Zend_Service_ReCaptcha_Response
- */
- public function setErrorCode($errorCode)
- {
- $this->_errorCode = $errorCode;
-
- return $this;
- }
-
- /**
- * Get the error code
- *
- * @return string
- */
- public function getErrorCode()
- {
- return $this->_errorCode;
- }
-
- /**
- * Populate this instance based on a Zend_Http_Response object
- *
- * @param Zend_Http_Response $response
- * @return Zend_Service_ReCaptcha_Response
- */
- public function setFromHttpResponse(Zend_Http_Response $response)
- {
- $body = $response->getBody();
-
- $parts = explode("\n", $body, 2);
-
- if (count($parts) !== 2) {
- $status = 'false';
- $errorCode = '';
- } else {
- list($status, $errorCode) = $parts;
- }
-
- $this->setStatus($status);
- $this->setErrorCode($errorCode);
-
- return $this;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/Simpy.php b/airtime_mvc/library/Zend/Service/Simpy.php
deleted file mode 100644
index f580be74e..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy.php
+++ /dev/null
@@ -1,433 +0,0 @@
-_http = new Zend_Http_Client;
- $this->_http->setAuth($username, $password);
- }
-
- /**
- * Returns the HTTP client currently in use by this class for REST API
- * calls, intended mainly for testing.
- *
- * @return Zend_Http_Client
- */
- public function getHttpClient()
- {
- return $this->_http;
- }
-
- /**
- * Sends a request to the REST API service and does initial processing
- * on the response.
- *
- * @param string $op Name of the operation for the request
- * @param array $query Query data for the request (optional)
- * @throws Zend_Service_Exception
- * @return DOMDocument Parsed XML response
- */
- protected function _makeRequest($op, $query = null)
- {
- if ($query != null) {
- $query = array_diff($query, array_filter($query, 'is_null'));
- $query = '?' . http_build_query($query);
- }
-
- $this->_http->setUri($this->_baseUri . $op . '.do' . $query);
- $response = $this->_http->request('GET');
-
- if ($response->isSuccessful()) {
- $doc = new DOMDocument();
- $doc->loadXML($response->getBody());
- $xpath = new DOMXPath($doc);
- $list = $xpath->query('/status/code');
-
- if ($list->length > 0) {
- $code = $list->item(0)->nodeValue;
-
- if ($code != 0) {
- $list = $xpath->query('/status/message');
- $message = $list->item(0)->nodeValue;
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($message, $code);
- }
- }
-
- return $doc;
- }
-
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($response->getMessage(), $response->getStatus());
- }
-
- /**
- * Returns a list of all tags and their counts, ordered by count in
- * decreasing order
- *
- * @param int $limit Limits the number of tags returned (optional)
- * @link http://www.simpy.com/doc/api/rest/GetTags
- * @throws Zend_Service_Exception
- * @return Zend_Service_Simpy_TagSet
- */
- public function getTags($limit = null)
- {
- $query = array(
- 'limit' => $limit
- );
-
- $doc = $this->_makeRequest('GetTags', $query);
-
- /**
- * @see Zend_Service_Simpy_TagSet
- */
- require_once 'Zend/Service/Simpy/TagSet.php';
- return new Zend_Service_Simpy_TagSet($doc);
- }
-
- /**
- * Removes a tag.
- *
- * @param string $tag Tag to be removed
- * @link http://www.simpy.com/doc/api/rest/RemoveTag
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function removeTag($tag)
- {
- $query = array(
- 'tag' => $tag
- );
-
- $this->_makeRequest('RemoveTag', $query);
-
- return $this;
- }
-
- /**
- * Renames a tag.
- *
- * @param string $fromTag Tag to be renamed
- * @param string $toTag New tag name
- * @link http://www.simpy.com/doc/api/rest/RenameTag
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function renameTag($fromTag, $toTag)
- {
- $query = array(
- 'fromTag' => $fromTag,
- 'toTag' => $toTag
- );
-
- $this->_makeRequest('RenameTag', $query);
-
- return $this;
- }
-
- /**
- * Merges two tags into a new tag.
- *
- * @param string $fromTag1 First tag to merge.
- * @param string $fromTag2 Second tag to merge.
- * @param string $toTag Tag to merge the two tags into.
- * @link http://www.simpy.com/doc/api/rest/MergeTags
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function mergeTags($fromTag1, $fromTag2, $toTag)
- {
- $query = array(
- 'fromTag1' => $fromTag1,
- 'fromTag2' => $fromTag2,
- 'toTag' => $toTag
- );
-
- $this->_makeRequest('MergeTags', $query);
-
- return $this;
- }
-
- /**
- * Splits a single tag into two separate tags.
- *
- * @param string $tag Tag to split
- * @param string $toTag1 First tag to split into
- * @param string $toTag2 Second tag to split into
- * @link http://www.simpy.com/doc/api/rest/SplitTag
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function splitTag($tag, $toTag1, $toTag2)
- {
- $query = array(
- 'tag' => $tag,
- 'toTag1' => $toTag1,
- 'toTag2' => $toTag2
- );
-
- $this->_makeRequest('SplitTag', $query);
-
- return $this;
- }
-
- /**
- * Performs a query on existing links and returns the results or returns all
- * links if no particular query is specified (which should be used sparingly
- * to prevent overloading Simpy servers)
- *
- * @param Zend_Service_Simpy_LinkQuery $q Query object to use (optional)
- * @return Zend_Service_Simpy_LinkSet
- */
- public function getLinks(Zend_Service_Simpy_LinkQuery $q = null)
- {
- if ($q != null) {
- $query = array(
- 'q' => $q->getQueryString(),
- 'limit' => $q->getLimit(),
- 'date' => $q->getDate(),
- 'afterDate' => $q->getAfterDate(),
- 'beforeDate' => $q->getBeforeDate()
- );
-
- $doc = $this->_makeRequest('GetLinks', $query);
- } else {
- $doc = $this->_makeRequest('GetLinks');
- }
-
- /**
- * @see Zend_Service_Simpy_LinkSet
- */
- require_once 'Zend/Service/Simpy/LinkSet.php';
- return new Zend_Service_Simpy_LinkSet($doc);
- }
-
- /**
- * Saves a given link.
- *
- * @param string $title Title of the page to save
- * @param string $href URL of the page to save
- * @param int $accessType ACCESSTYPE_PUBLIC or ACCESSTYPE_PRIVATE
- * @param mixed $tags String containing a comma-separated list of
- * tags or array of strings containing tags
- * (optional)
- * @param string $urlNickname Alternative custom title (optional)
- * @param string $note Free text note (optional)
- * @link Zend_Service_Simpy::ACCESSTYPE_PUBLIC
- * @link Zend_Service_Simpy::ACCESSTYPE_PRIVATE
- * @link http://www.simpy.com/doc/api/rest/SaveLink
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function saveLink($title, $href, $accessType, $tags = null, $urlNickname = null, $note = null)
- {
- if (is_array($tags)) {
- $tags = implode(',', $tags);
- }
-
- $query = array(
- 'title' => $title,
- 'href' => $href,
- 'accessType' => $accessType,
- 'tags' => $tags,
- 'urlNickname' => $urlNickname,
- 'note' => $note
- );
-
- $this->_makeRequest('SaveLink', $query);
-
- return $this;
- }
-
- /**
- * Deletes a given link.
- *
- * @param string $href URL of the bookmark to delete
- * @link http://www.simpy.com/doc/api/rest/DeleteLink
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function deleteLink($href)
- {
- $query = array(
- 'href' => $href
- );
-
- $this->_makeRequest('DeleteLink', $query);
-
- return $this;
- }
-
- /**
- * Return a list of watchlists and their meta-data, including the number
- * of new links added to each watchlist since last login.
- *
- * @link http://www.simpy.com/doc/api/rest/GetWatchlists
- * @return Zend_Service_Simpy_WatchlistSet
- */
- public function getWatchlists()
- {
- $doc = $this->_makeRequest('GetWatchlists');
-
- /**
- * @see Zend_Service_Simpy_WatchlistSet
- */
- require_once 'Zend/Service/Simpy/WatchlistSet.php';
- return new Zend_Service_Simpy_WatchlistSet($doc);
- }
-
- /**
- * Returns the meta-data for a given watchlist.
- *
- * @param int $watchlistId ID of the watchlist to retrieve
- * @link http://www.simpy.com/doc/api/rest/GetWatchlist
- * @return Zend_Service_Simpy_Watchlist
- */
- public function getWatchlist($watchlistId)
- {
- $query = array(
- 'watchlistId' => $watchlistId
- );
-
- $doc = $this->_makeRequest('GetWatchlist', $query);
-
- /**
- * @see Zend_Service_Simpy_Watchlist
- */
- require_once 'Zend/Service/Simpy/Watchlist.php';
- return new Zend_Service_Simpy_Watchlist($doc->documentElement);
- }
-
- /**
- * Returns all notes in reverse chronological order by add date or by
- * rank.
- *
- * @param string $q Query string formatted using Simpy search syntax
- * and search fields (optional)
- * @param int $limit Limits the number notes returned (optional)
- * @link http://www.simpy.com/doc/api/rest/GetNotes
- * @link http://www.simpy.com/simpy/FAQ.do#searchSyntax
- * @link http://www.simpy.com/simpy/FAQ.do#searchFieldsLinks
- * @return Zend_Service_Simpy_NoteSet
- */
- public function getNotes($q = null, $limit = null)
- {
- $query = array(
- 'q' => $q,
- 'limit' => $limit
- );
-
- $doc = $this->_makeRequest('GetNotes', $query);
-
- /**
- * @see Zend_Service_Simpy_NoteSet
- */
- require_once 'Zend/Service/Simpy/NoteSet.php';
- return new Zend_Service_Simpy_NoteSet($doc);
- }
-
- /**
- * Saves a note.
- *
- * @param string $title Title of the note
- * @param mixed $tags String containing a comma-separated list of
- * tags or array of strings containing tags
- * (optional)
- * @param string $description Free-text note (optional)
- * @param int $noteId Unique identifier for an existing note to
- * update (optional)
- * @link http://www.simpy.com/doc/api/rest/SaveNote
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function saveNote($title, $tags = null, $description = null, $noteId = null)
- {
- if (is_array($tags)) {
- $tags = implode(',', $tags);
- }
-
- $query = array(
- 'title' => $title,
- 'tags' => $tags,
- 'description' => $description,
- 'noteId' => $noteId
- );
-
- $this->_makeRequest('SaveNote', $query);
-
- return $this;
- }
-
- /**
- * Deletes a given note.
- *
- * @param int $noteId ID of the note to delete
- * @link http://www.simpy.com/doc/api/rest/DeleteNote
- * @return Zend_Service_Simpy Provides a fluent interface
- */
- public function deleteNote($noteId)
- {
- $query = array(
- 'noteId' => $noteId
- );
-
- $this->_makeRequest('DeleteNote', $query);
-
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/Link.php b/airtime_mvc/library/Zend/Service/Simpy/Link.php
deleted file mode 100644
index 48825a3b1..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/Link.php
+++ /dev/null
@@ -1,215 +0,0 @@
- node from a parsed response from
- * a GetLinks operation
- * @return void
- */
- public function __construct($node)
- {
- $this->_accessType = $node->attributes->getNamedItem('accessType')->nodeValue;
-
- $doc = new DOMDocument();
- $doc->appendChild($doc->importNode($node, true));
- $xpath = new DOMXPath($doc);
-
- $this->_url = $xpath->evaluate('/link/url')->item(0)->nodeValue;
- $this->_modDate = $xpath->evaluate('/link/modDate')->item(0)->nodeValue;
- $this->_addDate = $xpath->evaluate('/link/addDate')->item(0)->nodeValue;
- $this->_title = $xpath->evaluate('/link/title')->item(0)->nodeValue;
- $this->_nickname = $xpath->evaluate('/link/nickname')->item(0)->nodeValue;
- $this->_note = $xpath->evaluate('/link/note')->item(0)->nodeValue;
-
- $list = $xpath->query('/link/tags/tag');
- $this->_tags = array();
-
- for ($x = 0; $x < $list->length; $x++) {
- $this->_tags[$x] = $list->item($x)->nodeValue;
- }
- }
-
- /**
- * Returns the access type assigned to the link
- *
- * @see ACCESSTYPE_PRIVATE
- * @see ACCESSTYPE_PUBLIC
- * @return string
- */
- public function getAccessType()
- {
- return $this->_accessType;
- }
-
- /**
- * Returns the URL of the link
- *
- * @return string
- */
- public function getUrl()
- {
- return $this->_url;
- }
-
- /**
- * Returns the date of the last modification made to the link
- *
- * @return string
- */
- public function getModDate()
- {
- return $this->_modDate;
- }
-
- /**
- * Returns the date the link was added
- *
- * @return string
- */
- public function getAddDate()
- {
- return $this->_addDate;
- }
-
- /**
- * Returns the title assigned to the link
- *
- * @return string
- */
- public function getTitle()
- {
- return $this->_title;
- }
-
- /**
- * Returns the nickname assigned to the link
- *
- * @return string
- */
- public function getNickname()
- {
- return $this->_nickname;
- }
-
- /**
- * Returns the tags assigned to the link
- *
- * @return array
- */
- public function getTags()
- {
- return $this->_tags;
- }
-
- /**
- * Returns the note assigned to the link
- *
- * @return string
- */
- public function getNote()
- {
- return $this->_note;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/LinkQuery.php b/airtime_mvc/library/Zend/Service/Simpy/LinkQuery.php
deleted file mode 100644
index 9d308179e..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/LinkQuery.php
+++ /dev/null
@@ -1,200 +0,0 @@
-_query = $query;
-
- return $this;
- }
-
- /**
- * Returns the query string set for this query
- *
- * @return string
- */
- public function getQueryString()
- {
- return $this->_query;
- }
-
- /**
- * Sets the maximum number of search results to return
- *
- * @param int $limit
- * @return Zend_Service_Simpy_LinkQuery Provides a fluent interface
- */
- public function setLimit($limit)
- {
- $this->_limit = intval($limit);
-
- if ($this->_limit == 0) {
- $this->_limit = null;
- }
-
- return $this;
- }
-
- /**
- * Returns the maximum number of search results to return
- *
- * @return int
- */
- public function getLimit()
- {
- return $this->_limit;
- }
-
- /**
- * Sets the date on which search results must have been added, which will
- * override any existing values set using setAfterDate() and setBeforeDate()
- *
- * @param string $date
- * @see setAfterDate()
- * @see setBeforeDate()
- * @return Zend_Service_Simpy_LinkQuery Provides a fluent interface
- */
- public function setDate($date)
- {
- $this->_date = $date;
- $this->_afterDate = null;
- $this->_beforeDate = null;
-
- return $this;
- }
-
- /**
- * Returns the date on which search results must have been added
- *
- * @return string
- */
- public function getDate()
- {
- return $this->_date;
- }
-
- /**
- * Sets the date after which search results must have been added, which will
- * override any existing values set using setDate()
- *
- * @param string $date
- * @see setDate()
- * @return Zend_Service_Simpy_LinkQuery Provides a fluent interface
- */
- public function setAfterDate($date)
- {
- $this->_afterDate = $date;
- $this->_date = null;
-
- return $this;
- }
-
- /**
- * Returns the date after which search results must have been added
- *
- * @return string
- */
- public function getAfterDate()
- {
- return $this->_afterDate;
- }
-
- /**
- * Sets the date before which search results must have been added, which
- * will override any existing values set using setDate()
- *
- * @param string $date
- * @see setDate()
- * @return Zend_Service_Simpy_LinkQuery Provides a fluent interface
- */
- public function setBeforeDate($date)
- {
- $this->_beforeDate = $date;
- $this->_date = null;
-
- return $this;
- }
-
- /**
- * Returns the date before which search results must have been added
- *
- * @return string
- */
- public function getBeforeDate()
- {
- return $this->_beforeDate;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/LinkSet.php b/airtime_mvc/library/Zend/Service/Simpy/LinkSet.php
deleted file mode 100644
index 87a45df57..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/LinkSet.php
+++ /dev/null
@@ -1,83 +0,0 @@
-query('//links/link');
- $this->_links = array();
-
- for ($x = 0; $x < $list->length; $x++) {
- $this->_links[$x] = new Zend_Service_Simpy_Link($list->item($x));
- }
- }
-
- /**
- * Returns an iterator for the link set
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_links);
- }
-
- /**
- * Returns the number of links in the set
- *
- * @return int
- */
- public function getLength()
- {
- return count($this->_links);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/Note.php b/airtime_mvc/library/Zend/Service/Simpy/Note.php
deleted file mode 100644
index 210468e4c..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/Note.php
+++ /dev/null
@@ -1,215 +0,0 @@
- node from a parsed response from
- * a GetLinks operation
- * @return void
- */
- public function __construct($node)
- {
- $this->_accessType = $node->attributes->getNamedItem('accessType')->nodeValue;
-
- $doc = new DOMDocument();
- $doc->appendChild($doc->importNode($node, true));
- $xpath = new DOMXPath($doc);
-
- $this->_uri = $xpath->evaluate('/note/uri')->item(0)->nodeValue;
- $this->_id = substr($this->_uri, strrpos($this->_uri, '=') + 1);
- $this->_modDate = trim($xpath->evaluate('/note/modDate')->item(0)->nodeValue);
- $this->_addDate = trim($xpath->evaluate('/note/addDate')->item(0)->nodeValue);
- $this->_title = $xpath->evaluate('/note/title')->item(0)->nodeValue;
- $this->_description = $xpath->evaluate('/note/description')->item(0)->nodeValue;
-
- $list = $xpath->query('/note/tags/tag');
- $this->_tags = array();
-
- for ($x = 0; $x < $list->length; $x++) {
- $this->_tags[$x] = $list->item($x)->nodeValue;
- }
- }
-
- /**
- * Returns the access type assigned to the note
- *
- * @see ACCESSTYPE_PRIVATE
- * @see ACCESSTYPE_PUBLIC
- * @return string
- */
- public function getAccessType()
- {
- return $this->_accessType;
- }
-
- /**
- * Returns the ID of the note
- *
- * @return int
- */
- public function getId()
- {
- return $this->_id;
- }
-
- /**
- * Returns the URI of the note
- *
- * @return string
- */
- public function getUri()
- {
- return $this->_uri;
- }
-
- /**
- * Returns the date of the last modification made to the note
- *
- * @return string
- */
- public function getModDate()
- {
- return $this->_modDate;
- }
-
- /**
- * Returns the date the note was added
- *
- * @return string
- */
- public function getAddDate()
- {
- return $this->_addDate;
- }
-
- /**
- * Returns the title assigned to the note
- *
- * @return string
- */
- public function getTitle()
- {
- return $this->_title;
- }
-
- /**
- * Returns the tags assigned to the note
- *
- * @return array
- */
- public function getTags()
- {
- return $this->_tags;
- }
-
- /**
- * Returns the description assigned to the note
- *
- * @return string
- */
- public function getDescription()
- {
- return $this->_description;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/NoteSet.php b/airtime_mvc/library/Zend/Service/Simpy/NoteSet.php
deleted file mode 100644
index 8364133e0..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/NoteSet.php
+++ /dev/null
@@ -1,83 +0,0 @@
-query('//notes/note');
- $this->_notes = array();
-
- for ($x = 0; $x < $list->length; $x++) {
- $this->_notes[$x] = new Zend_Service_Simpy_Note($list->item($x));
- }
- }
-
- /**
- * Returns an iterator for the note set
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_notes);
- }
-
- /**
- * Returns the number of notes in the set
- *
- * @return int
- */
- public function getLength()
- {
- return count($this->_notes);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/Tag.php b/airtime_mvc/library/Zend/Service/Simpy/Tag.php
deleted file mode 100644
index 58895cdd8..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/Tag.php
+++ /dev/null
@@ -1,81 +0,0 @@
- node from a parsed response from
- * a GetTags operation
- * @return void
- */
- public function __construct($node)
- {
- $map =& $node->attributes;
- $this->_tag = $map->getNamedItem('name')->nodeValue;
- $this->_count = $map->getNamedItem('count')->nodeValue;
- }
-
- /**
- * Returns the name of the tag
- *
- * @return string
- */
- public function getTag()
- {
- return $this->_tag;
- }
-
- /**
- * Returns the number of links with the tag
- *
- * @return int
- */
- public function getCount()
- {
- return $this->_count;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/TagSet.php b/airtime_mvc/library/Zend/Service/Simpy/TagSet.php
deleted file mode 100644
index 4d3cd59d6..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/TagSet.php
+++ /dev/null
@@ -1,83 +0,0 @@
-query('//tags/tag');
- $this->_tags = array();
-
- for ($x = 0; $x < $list->length; $x++) {
- $this->_tags[$x] = new Zend_Service_Simpy_Tag($list->item($x));
- }
- }
-
- /**
- * Returns an iterator for the tag set
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_tags);
- }
-
- /**
- * Returns the number of tags in the set
- *
- * @return int
- */
- public function getLength()
- {
- return count($this->_tags);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/Watchlist.php b/airtime_mvc/library/Zend/Service/Simpy/Watchlist.php
deleted file mode 100644
index 2abad9710..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/Watchlist.php
+++ /dev/null
@@ -1,191 +0,0 @@
- node from a parsed
- * response from a GetWatchlists or GetWatchlist
- * operation
- * @return void
- */
- public function __construct($node)
- {
- $map =& $node->attributes;
-
- $this->_id = $map->getNamedItem('id')->nodeValue;
- $this->_name = $map->getNamedItem('name')->nodeValue;
- $this->_description = $map->getNamedItem('description')->nodeValue;
- $this->_addDate = $map->getNamedItem('addDate')->nodeValue;
- $this->_newLinks = $map->getNamedItem('newLinks')->nodeValue;
-
- $this->_users = array();
- $this->_filters = new Zend_Service_Simpy_WatchlistFilterSet();
-
- $childNode = $node->firstChild;
- while ($childNode !== null) {
- if ($childNode->nodeName == 'user') {
- $this->_users[] = $childNode->attributes->getNamedItem('username')->nodeValue;
- } elseif ($childNode->nodeName == 'filter') {
- $filter = new Zend_Service_Simpy_WatchlistFilter($childNode);
- $this->_filters->add($filter);
- }
- $childNode = $childNode->nextSibling;
- }
- }
-
- /**
- * Returns the identifier for the watchlist
- *
- * @return int
- */
- public function getId()
- {
- return $this->_id;
- }
-
- /**
- * Returns the name of the watchlist
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Returns the description of the watchlist
- *
- * @return string
- */
- public function getDescription()
- {
- return $this->_description;
- }
-
- /**
- * Returns a timestamp for when the watchlist was added
- *
- * @return string
- */
- public function getAddDate()
- {
- return $this->_addDate;
- }
-
- /**
- * Returns the number of new links in the watchlist
- *
- * @return int
- */
- public function getNewLinks()
- {
- return $this->_newLinks;
- }
-
- /**
- * Returns a list of usernames for users included in the watchlist
- *
- * @return array
- */
- public function getUsers()
- {
- return $this->_users;
- }
-
- /**
- * Returns a list of filters included in the watchlist
- *
- * @return Zend_Service_Simpy_WatchlistFilterSet
- */
- public function getFilters()
- {
- return $this->_filters;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/WatchlistFilter.php b/airtime_mvc/library/Zend/Service/Simpy/WatchlistFilter.php
deleted file mode 100644
index 14a198158..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/WatchlistFilter.php
+++ /dev/null
@@ -1,81 +0,0 @@
- node from a parsed response from
- * a GetWatchlists or GetWatchlist operation
- * @return void
- */
- public function __construct($node)
- {
- $map =& $node->attributes;
- $this->_name = $map->getNamedItem('name')->nodeValue;
- $this->_query = $map->getNamedItem('query')->nodeValue;
- }
-
- /**
- * Returns the name of the filter
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Returns the query for the filter
- *
- * @return string
- */
- public function getQuery()
- {
- return $this->_query;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/WatchlistFilterSet.php b/airtime_mvc/library/Zend/Service/Simpy/WatchlistFilterSet.php
deleted file mode 100644
index 391d15a13..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/WatchlistFilterSet.php
+++ /dev/null
@@ -1,77 +0,0 @@
-_filters[] = $filter;
- }
-
- /**
- * Returns an iterator for the watchlist filter set
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_filters);
- }
-
- /**
- * Returns the number of filters in the set
- *
- * @return int
- */
- public function getLength()
- {
- return count($this->_filters);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Simpy/WatchlistSet.php b/airtime_mvc/library/Zend/Service/Simpy/WatchlistSet.php
deleted file mode 100644
index bfcdd9a13..000000000
--- a/airtime_mvc/library/Zend/Service/Simpy/WatchlistSet.php
+++ /dev/null
@@ -1,82 +0,0 @@
-query('//watchlists/watchlist');
-
- for ($x = 0; $x < $list->length; $x++) {
- $this->_watchlists[$x] = new Zend_Service_Simpy_Watchlist($list->item($x));
- }
- }
-
- /**
- * Returns an iterator for the watchlist set
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_watchlists);
- }
-
- /**
- * Returns the number of watchlists in the set
- *
- * @return int
- */
- public function getLength()
- {
- return count($this->_watchlists);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/SlideShare.php b/airtime_mvc/library/Zend/Service/SlideShare.php
deleted file mode 100644
index 424816afd..000000000
--- a/airtime_mvc/library/Zend/Service/SlideShare.php
+++ /dev/null
@@ -1,619 +0,0 @@
-_httpclient = $client;
- return $this;
- }
-
- /**
- * Returns the instance of the Zend_Http_Client which will be used. Creates an instance
- * of Zend_Http_Client if no previous client was set.
- *
- * @return Zend_Http_Client The HTTP client which will be used
- */
- public function getHttpClient()
- {
-
- if(!($this->_httpclient instanceof Zend_Http_Client)) {
- $client = new Zend_Http_Client();
- $client->setConfig(array('maxredirects' => 2,
- 'timeout' => 5));
-
- $this->setHttpClient($client);
- }
-
- $this->_httpclient->resetParameters();
- return $this->_httpclient;
- }
-
- /**
- * Sets the Zend_Cache object to use to cache the results of API queries
- *
- * @param Zend_Cache_Core $cacheobject The Zend_Cache object used
- * @return Zend_Service_SlideShare
- */
- public function setCacheObject(Zend_Cache_Core $cacheobject)
- {
- $this->_cacheobject = $cacheobject;
- return $this;
- }
-
- /**
- * Gets the Zend_Cache object which will be used to cache API queries. If no cache object
- * was previously set the the default will be used (Filesystem caching in /tmp with a life
- * time of 43200 seconds)
- *
- * @return Zend_Cache_Core The object used in caching
- */
- public function getCacheObject()
- {
-
- if(!($this->_cacheobject instanceof Zend_Cache_Core)) {
- $cache = Zend_Cache::factory('Core', 'File', array('lifetime' => 43200,
- 'automatic_serialization' => true),
- array('cache_dir' => '/tmp'));
-
- $this->setCacheObject($cache);
- }
-
- return $this->_cacheobject;
- }
-
- /**
- * Returns the user name used for API calls
- *
- * @return string The username
- */
- public function getUserName()
- {
- return $this->_username;
- }
-
- /**
- * Sets the user name to use for API calls
- *
- * @param string $un The username to use
- * @return Zend_Service_SlideShare
- */
- public function setUserName($un)
- {
- $this->_username = $un;
- return $this;
- }
-
- /**
- * Gets the password to use in API calls
- *
- * @return string the password to use in API calls
- */
- public function getPassword()
- {
- return $this->_password;
- }
-
- /**
- * Sets the password to use in API calls
- *
- * @param string $pw The password to use
- * @return Zend_Service_SlideShare
- */
- public function setPassword($pw)
- {
- $this->_password = (string)$pw;
- return $this;
- }
-
- /**
- * Gets the API key to be used in making API calls
- *
- * @return string the API Key
- */
- public function getApiKey()
- {
- return $this->_apiKey;
- }
-
- /**
- * Sets the API key to be used in making API calls
- *
- * @param string $key The API key to use
- * @return Zend_Service_SlideShare
- */
- public function setApiKey($key)
- {
- $this->_apiKey = (string)$key;
- return $this;
- }
-
- /**
- * Gets the shared secret used in making API calls
- *
- * @return string the Shared secret
- */
- public function getSharedSecret()
- {
- return $this->_sharedSecret;
- }
-
- /**
- * Sets the shared secret used in making API calls
- *
- * @param string $secret the shared secret
- * @return Zend_Service_SlideShare
- */
- public function setSharedSecret($secret)
- {
- $this->_sharedSecret = (string)$secret;
- return $this;
- }
-
- /**
- * The Constructor
- *
- * @param string $apikey The API key
- * @param string $sharedSecret The shared secret
- * @param string $username The username
- * @param string $password The password
- */
- public function __construct($apikey, $sharedSecret, $username = null, $password = null)
- {
- $this->setApiKey($apikey)
- ->setSharedSecret($sharedSecret)
- ->setUserName($username)
- ->setPassword($password);
-
- $this->_httpclient = new Zend_Http_Client();
- }
-
- /**
- * Uploads the specified Slide show the the server
- *
- * @param Zend_Service_SlideShare_SlideShow $ss The slide show object representing the slide show to upload
- * @param boolean $make_src_public Determines if the the slide show's source file is public or not upon upload
- * @return Zend_Service_SlideShare_SlideShow The passed Slide show object, with the new assigned ID provided
- */
- public function uploadSlideShow(Zend_Service_SlideShare_SlideShow $ss, $make_src_public = true)
- {
-
- $timestamp = time();
-
- $params = array('api_key' => $this->getApiKey(),
- 'ts' => $timestamp,
- 'hash' => sha1($this->getSharedSecret().$timestamp),
- 'username' => $this->getUserName(),
- 'password' => $this->getPassword(),
- 'slideshow_title' => $ss->getTitle());
-
- $description = $ss->getDescription();
- $tags = $ss->getTags();
-
- $filename = $ss->getFilename();
-
- if(!file_exists($filename) || !is_readable($filename)) {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Specified Slideshow for upload not found or unreadable");
- }
-
- if(!empty($description)) {
- $params['slideshow_description'] = $description;
- } else {
- $params['slideshow_description'] = "";
- }
-
- if(!empty($tags)) {
- $tmp = array();
- foreach($tags as $tag) {
- $tmp[] = "\"$tag\"";
- }
- $params['slideshow_tags'] = implode(' ', $tmp);
- } else {
- $params['slideshow_tags'] = "";
- }
-
-
- $client = $this->getHttpClient();
- $client->setUri(self::SERVICE_UPLOAD_URI);
- $client->setParameterPost($params);
- $client->setFileUpload($filename, "slideshow_srcfile");
-
- require_once 'Zend/Http/Client/Exception.php';
- try {
- $response = $client->request('POST');
- } catch(Zend_Http_Client_Exception $e) {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Service Request Failed: {$e->getMessage()}", 0, $e);
- }
-
- $sxe = simplexml_load_string($response->getBody());
-
- if($sxe->getName() == "SlideShareServiceError") {
- $message = (string)$sxe->Message[0];
- list($code, $error_str) = explode(':', $message);
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception(trim($error_str), $code);
- }
-
- if(!$sxe->getName() == "SlideShowUploaded") {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Unknown XML Respons Received");
- }
-
- $ss->setId((int)(string)$sxe->SlideShowID);
-
- return $ss;
- }
-
- /**
- * Retrieves a slide show's information based on slide show ID
- *
- * @param int $ss_id The slide show ID
- * @return Zend_Service_SlideShare_SlideShow the Slideshow object
- */
- public function getSlideShow($ss_id)
- {
- $timestamp = time();
-
- $params = array('api_key' => $this->getApiKey(),
- 'ts' => $timestamp,
- 'hash' => sha1($this->getSharedSecret().$timestamp),
- 'slideshow_id' => $ss_id);
-
- $cache = $this->getCacheObject();
-
- $cache_key = md5("__zendslideshare_cache_$ss_id");
-
- if(!$retval = $cache->load($cache_key)) {
- $client = $this->getHttpClient();
-
- $client->setUri(self::SERVICE_GET_SHOW_URI);
- $client->setParameterPost($params);
-
- require_once 'Zend/Http/Client/Exception.php';
- try {
- $response = $client->request('POST');
- } catch(Zend_Http_Client_Exception $e) {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Service Request Failed: {$e->getMessage()}", 0, $e);
- }
-
- $sxe = simplexml_load_string($response->getBody());
-
- if($sxe->getName() == "SlideShareServiceError") {
- $message = (string)$sxe->Message[0];
- list($code, $error_str) = explode(':', $message);
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception(trim($error_str), $code);
- }
-
- if(!$sxe->getName() == 'Slideshows') {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception('Unknown XML Repsonse Received');
- }
-
- $retval = $this->_slideShowNodeToObject(clone $sxe->Slideshow[0]);
-
- $cache->save($retval, $cache_key);
- }
-
- return $retval;
- }
-
- /**
- * Retrieves an array of slide shows for a given username
- *
- * @param string $username The username to retrieve slide shows from
- * @param int $offset The offset of the list to start retrieving from
- * @param int $limit The maximum number of slide shows to retrieve
- * @return array An array of Zend_Service_SlideShare_SlideShow objects
- */
- public function getSlideShowsByUsername($username, $offset = null, $limit = null)
- {
- return $this->_getSlideShowsByType('username_for', $username, $offset, $limit);
- }
-
- /**
- * Retrieves an array of slide shows based on tag
- *
- * @param string $tag The tag to retrieve slide shows with
- * @param int $offset The offset of the list to start retrieving from
- * @param int $limit The maximum number of slide shows to retrieve
- * @return array An array of Zend_Service_SlideShare_SlideShow objects
- */
- public function getSlideShowsByTag($tag, $offset = null, $limit = null)
- {
-
- if(is_array($tag)) {
- $tmp = array();
- foreach($tag as $t) {
- $tmp[] = "\"$t\"";
- }
-
- $tag = implode(" ", $tmp);
- }
-
- return $this->_getSlideShowsByType('tag', $tag, $offset, $limit);
- }
-
- /**
- * Retrieves an array of slide shows based on group name
- *
- * @param string $group The group name to retrieve slide shows for
- * @param int $offset The offset of the list to start retrieving from
- * @param int $limit The maximum number of slide shows to retrieve
- * @return array An array of Zend_Service_SlideShare_SlideShow objects
- */
- public function getSlideShowsByGroup($group, $offset = null, $limit = null)
- {
- return $this->_getSlideShowsByType('group_name', $group, $offset, $limit);
- }
-
- /**
- * Retrieves Zend_Service_SlideShare_SlideShow object arrays based on the type of
- * list desired
- *
- * @param string $key The type of slide show object to retrieve
- * @param string $value The specific search query for the slide show type to look up
- * @param int $offset The offset of the list to start retrieving from
- * @param int $limit The maximum number of slide shows to retrieve
- * @return array An array of Zend_Service_SlideShare_SlideShow objects
- */
- protected function _getSlideShowsByType($key, $value, $offset = null, $limit = null)
- {
-
- $key = strtolower($key);
-
- switch($key) {
- case 'username_for':
- $responseTag = 'User';
- $queryUri = self::SERVICE_GET_SHOW_BY_USER_URI;
- break;
- case 'group_name':
- $responseTag = 'Group';
- $queryUri = self::SERVICE_GET_SHOW_BY_GROUP_URI;
- break;
- case 'tag':
- $responseTag = 'Tag';
- $queryUri = self::SERVICE_GET_SHOW_BY_TAG_URI;
- break;
- default:
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Invalid SlideShare Query");
- }
-
- $timestamp = time();
-
- $params = array('api_key' => $this->getApiKey(),
- 'ts' => $timestamp,
- 'hash' => sha1($this->getSharedSecret().$timestamp),
- $key => $value);
-
- if($offset !== null) {
- $params['offset'] = (int)$offset;
- }
-
- if($limit !== null) {
- $params['limit'] = (int)$limit;
- }
-
- $cache = $this->getCacheObject();
-
- $cache_key = md5($key.$value.$offset.$limit);
-
- if(!$retval = $cache->load($cache_key)) {
-
- $client = $this->getHttpClient();
-
- $client->setUri($queryUri);
- $client->setParameterPost($params);
-
- require_once 'Zend/Http/Client/Exception.php';
- try {
- $response = $client->request('POST');
- } catch(Zend_Http_Client_Exception $e) {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Service Request Failed: {$e->getMessage()}", 0, $e);
- }
-
- $sxe = simplexml_load_string($response->getBody());
-
- if($sxe->getName() == "SlideShareServiceError") {
- $message = (string)$sxe->Message[0];
- list($code, $error_str) = explode(':', $message);
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception(trim($error_str), $code);
- }
-
- if(!$sxe->getName() == $responseTag) {
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception('Unknown or Invalid XML Repsonse Received');
- }
-
- $retval = array();
-
- foreach($sxe->children() as $node) {
- if($node->getName() == 'Slideshow') {
- $retval[] = $this->_slideShowNodeToObject($node);
- }
- }
-
- $cache->save($retval, $cache_key);
- }
-
- return $retval;
- }
-
- /**
- * Converts a SimpleXMLElement object representing a response from the service
- * into a Zend_Service_SlideShare_SlideShow object
- *
- * @param SimpleXMLElement $node The input XML from the slideshare.net service
- * @return Zend_Service_SlideShare_SlideShow The resulting object
- */
- protected function _slideShowNodeToObject(SimpleXMLElement $node)
- {
-
- if($node->getName() == 'Slideshow') {
-
- $ss = new Zend_Service_SlideShare_SlideShow();
-
- $ss->setId((string)$node->ID);
- $ss->setDescription((string)$node->Description);
- $ss->setEmbedCode((string)$node->EmbedCode);
- $ss->setNumViews((string)$node->Views);
- $ss->setPermaLink((string)$node->Permalink);
- $ss->setStatus((string)$node->Status);
- $ss->setStatusDescription((string)$node->StatusDescription);
-
- foreach(explode(",", (string)$node->Tags) as $tag) {
-
- if(!in_array($tag, $ss->getTags())) {
- $ss->addTag($tag);
- }
- }
-
- $ss->setThumbnailUrl((string)$node->Thumbnail);
- $ss->setTitle((string)$node->Title);
- $ss->setLocation((string)$node->Location);
- $ss->setTranscript((string)$node->Transcript);
-
- return $ss;
-
- }
-
- require_once 'Zend/Service/SlideShare/Exception.php';
- throw new Zend_Service_SlideShare_Exception("Was not provided the expected XML Node for processing");
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/SlideShare/Exception.php b/airtime_mvc/library/Zend/Service/SlideShare/Exception.php
deleted file mode 100644
index ab47eba95..000000000
--- a/airtime_mvc/library/Zend/Service/SlideShare/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_location;
- }
-
- /**
- * Sets the location of the slide show
- *
- * @param string $loc The location to use
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setLocation($loc)
- {
- $this->_location = (string)$loc;
- return $this;
- }
-
- /**
- * Gets the transcript for this slide show
- *
- * @return string the Transcript
- */
- public function getTranscript()
- {
- return $this->_transcript;
- }
-
- /**
- * Sets the transcript for this slide show
- *
- * @param string $t The transcript
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setTranscript($t)
- {
- $this->_transcript = (string)$t;
- return $this;
- }
-
- /**
- * Adds a tag to the slide show
- *
- * @param string $tag The tag to add
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function addTag($tag)
- {
- $this->_tags[] = (string)$tag;
- return $this;
- }
-
- /**
- * Sets the tags for the slide show
- *
- * @param array $tags An array of tags to set
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setTags(Array $tags)
- {
- $this->_tags = $tags;
- return $this;
- }
-
- /**
- * Gets all of the tags associated with the slide show
- *
- * @return array An array of tags for the slide show
- */
- public function getTags()
- {
- return $this->_tags;
- }
-
- /**
- * Sets the filename on the local filesystem of the slide show
- * (for uploading a new slide show)
- *
- * @param string $file The full path & filename to the slide show
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setFilename($file)
- {
- $this->_slideShowFilename = (string)$file;
- return $this;
- }
-
- /**
- * Retrieves the filename on the local filesystem of the slide show
- * which will be uploaded
- *
- * @return string The full path & filename to the slide show
- */
- public function getFilename()
- {
- return $this->_slideShowFilename;
- }
-
- /**
- * Sets the ID for the slide show
- *
- * @param int $id The slide show ID
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setId($id)
- {
- $this->_slideShowId = (string)$id;
- return $this;
- }
-
- /**
- * Gets the ID for the slide show
- *
- * @return int The slide show ID
- */
- public function getId()
- {
- return $this->_slideShowId;
- }
-
- /**
- * Sets the HTML embed code for the slide show
- *
- * @param string $code The HTML embed code
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setEmbedCode($code)
- {
- $this->_embedCode = (string)$code;
- return $this;
- }
-
- /**
- * Retrieves the HTML embed code for the slide show
- *
- * @return string the HTML embed code
- */
- public function getEmbedCode()
- {
- return $this->_embedCode;
- }
-
- /**
- * Sets the Thumbnail URI for the slide show
- *
- * @param string $url The URI for the thumbnail image
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setThumbnailUrl($url)
- {
- $this->_thumbnailUrl = (string) $url;
- return $this;
- }
-
- /**
- * Retrieves the Thumbnail URi for the slide show
- *
- * @return string The URI for the thumbnail image
- */
- public function getThumbnailUrl()
- {
- return $this->_thumbnailUrl;
- }
-
- /**
- * Sets the title for the Slide show
- *
- * @param string $title The slide show title
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setTitle($title)
- {
- $this->_title = (string)$title;
- return $this;
- }
-
- /**
- * Retrieves the Slide show title
- *
- * @return string the Slide show title
- */
- public function getTitle()
- {
- return $this->_title;
- }
-
- /**
- * Sets the description for the Slide show
- *
- * @param strign $desc The description of the slide show
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setDescription($desc)
- {
- $this->_description = (string)$desc;
- return $this;
- }
-
- /**
- * Gets the description of the slide show
- *
- * @return string The slide show description
- */
- public function getDescription()
- {
- return $this->_description;
- }
-
- /**
- * Sets the numeric status of the slide show on the server
- *
- * @param int $status The numeric status on the server
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setStatus($status)
- {
- $this->_status = (int)$status;
- return $this;
- }
-
- /**
- * Gets the numeric status of the slide show on the server
- *
- * @return int A Zend_Service_SlideShare_SlideShow Status constant
- */
- public function getStatus()
- {
- return $this->_status;
- }
-
- /**
- * Sets the textual description of the status of the slide show on the server
- *
- * @param string $desc The textual description of the status of the slide show
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setStatusDescription($desc)
- {
- $this->_statusDescription = (string)$desc;
- return $this;
- }
-
- /**
- * Gets the textual description of the status of the slide show on the server
- *
- * @return string the textual description of the service
- */
- public function getStatusDescription()
- {
- return $this->_statusDescription;
- }
-
- /**
- * Sets the permanent link of the slide show
- *
- * @param string $url The permanent URL for the slide show
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setPermaLink($url)
- {
- $this->_permalink = (string)$url;
- return $this;
- }
-
- /**
- * Gets the permanent link of the slide show
- *
- * @return string the permanent URL for the slide show
- */
- public function getPermaLink()
- {
- return $this->_permalink;
- }
-
- /**
- * Sets the number of views the slide show has received
- *
- * @param int $views The number of views
- * @return Zend_Service_SlideShare_SlideShow
- */
- public function setNumViews($views)
- {
- $this->_numViews = (int)$views;
- return $this;
- }
-
- /**
- * Gets the number of views the slide show has received
- *
- * @return int The number of views
- */
- public function getNumViews()
- {
- return $this->_numViews;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/StrikeIron.php b/airtime_mvc/library/Zend/Service/StrikeIron.php
deleted file mode 100644
index e9fb850f0..000000000
--- a/airtime_mvc/library/Zend/Service/StrikeIron.php
+++ /dev/null
@@ -1,92 +0,0 @@
-_options = $options;
- }
-
- /**
- * Factory method to return a preconfigured Zend_Service_StrikeIron_*
- * instance.
- *
- * @param null|string $options Service options
- * @return object Zend_Service_StrikeIron_* instance
- * @throws Zend_Service_StrikeIron_Exception
- */
- public function getService($options = array())
- {
- $class = isset($options['class']) ? $options['class'] : 'Base';
- unset($options['class']);
-
- if (strpos($class, '_') === false) {
- $class = "Zend_Service_StrikeIron_{$class}";
- }
-
- try {
- if (!class_exists($class)) {
- require_once 'Zend/Loader.php';
- @Zend_Loader::loadClass($class);
- }
- if (!class_exists($class, false)) {
- throw new Exception('Class file not found');
- }
- } catch (Exception $e) {
- $msg = "Service '$class' could not be loaded: " . $e->getMessage();
- /**
- * @see Zend_Service_StrikeIron_Exception
- */
- require_once 'Zend/Service/StrikeIron/Exception.php';
- throw new Zend_Service_StrikeIron_Exception($msg, $e->getCode(), $e);
- }
-
- // instantiate and return the service
- $service = new $class(array_merge($this->_options, $options));
- return $service;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/StrikeIron/Base.php b/airtime_mvc/library/Zend/Service/StrikeIron/Base.php
deleted file mode 100644
index 455feeb11..000000000
--- a/airtime_mvc/library/Zend/Service/StrikeIron/Base.php
+++ /dev/null
@@ -1,274 +0,0 @@
- null,
- 'password' => null,
- 'client' => null,
- 'options' => null,
- 'headers' => null,
- 'wsdl' => null);
-
- /**
- * Output headers returned by the last call to SOAPClient->__soapCall()
- * @param array
- */
- protected $_outputHeaders = array();
-
- /**
- * Class constructor
- *
- * @param array $options Key/value pair options
- * @throws Zend_Service_StrikeIron_Exception
- */
- public function __construct($options = array())
- {
- if (!extension_loaded('soap')) {
- /**
- * @see Zend_Service_StrikeIron_Exception
- */
- require_once 'Zend/Service/StrikeIron/Exception.php';
- throw new Zend_Service_StrikeIron_Exception('SOAP extension is not enabled');
- }
-
- $this->_options = array_merge($this->_options, $options);
-
- $this->_initSoapHeaders();
- $this->_initSoapClient();
- }
-
- /**
- * Proxy method calls to the SOAPClient instance, transforming method
- * calls and responses for convenience.
- *
- * @param string $method Method name
- * @param array $params Parameters for method
- * @return mixed Result
- * @throws Zend_Service_StrikeIron_Exception
- */
- public function __call($method, $params)
- {
- // prepare method name and parameters for soap call
- list($method, $params) = $this->_transformCall($method, $params);
- $params = isset($params[0]) ? array($params[0]) : array();
-
- // make soap call, capturing the result and output headers
- try {
- $result = $this->_options['client']->__soapCall($method,
- $params,
- $this->_options['options'],
- $this->_options['headers'],
- $this->_outputHeaders);
- } catch (Exception $e) {
- $message = get_class($e) . ': ' . $e->getMessage();
- /**
- * @see Zend_Service_StrikeIron_Exception
- */
- require_once 'Zend/Service/StrikeIron/Exception.php';
- throw new Zend_Service_StrikeIron_Exception($message, $e->getCode(), $e);
- }
-
- // transform/decorate the result and return it
- $result = $this->_transformResult($result, $method, $params);
- return $result;
- }
-
- /**
- * Initialize the SOAPClient instance
- *
- * @return void
- */
- protected function _initSoapClient()
- {
- if (! isset($this->_options['options'])) {
- $this->_options['options'] = array();
- }
-
- if (! isset($this->_options['client'])) {
- $this->_options['client'] = new SoapClient($this->_options['wsdl'],
- $this->_options['options']);
- }
- }
-
- /**
- * Initialize the headers to pass to SOAPClient->__soapCall()
- *
- * @return void
- * @throws Zend_Service_StrikeIron_Exception
- */
- protected function _initSoapHeaders()
- {
- // validate headers and check if LicenseInfo was given
- $foundLicenseInfo = false;
- if (isset($this->_options['headers'])) {
- if (! is_array($this->_options['headers'])) {
- $this->_options['headers'] = array($this->_options['headers']);
- }
-
- foreach ($this->_options['headers'] as $header) {
- if (! $header instanceof SoapHeader) {
- /**
- * @see Zend_Service_StrikeIron_Exception
- */
- require_once 'Zend/Service/StrikeIron/Exception.php';
- throw new Zend_Service_StrikeIron_Exception('Header must be instance of SoapHeader');
- } else if ($header->name == 'LicenseInfo') {
- $foundLicenseInfo = true;
- break;
- }
- }
- } else {
- $this->_options['headers'] = array();
- }
-
- // add default LicenseInfo header if a custom one was not supplied
- if (! $foundLicenseInfo) {
- $this->_options['headers'][] = new SoapHeader('http://ws.strikeiron.com',
- 'LicenseInfo',
- array('RegisteredUser' => array('UserID' => $this->_options['username'],
- 'Password' => $this->_options['password'])));
- }
- }
-
- /**
- * Transform a method name or method parameters before sending them
- * to the remote service. This can be useful for inflection or other
- * transforms to give the method call a more PHP-like interface.
- *
- * @see __call()
- * @param string $method Method name called from PHP
- * @param mixed $param Parameters passed from PHP
- * @return array [$method, $params] for SOAPClient->__soapCall()
- */
- protected function _transformCall($method, $params)
- {
- return array(ucfirst($method), $params);
- }
-
- /**
- * Transform the result returned from a method before returning
- * it to the PHP caller. This can be useful for transforming
- * the SOAPClient returned result to be more PHP-like.
- *
- * The $method name and $params passed to the method are provided to
- * allow decisions to be made about how to transform the result based
- * on what was originally called.
- *
- * @see __call()
- * @param $result Raw result returned from SOAPClient_>__soapCall()
- * @param $method Method name that was passed to SOAPClient->__soapCall()
- * @param $params Method parameters that were passed to SOAPClient->__soapCall()
- * @return mixed Transformed result
- */
- protected function _transformResult($result, $method, $params)
- {
- $resultObjectName = "{$method}Result";
- if (isset($result->$resultObjectName)) {
- $result = $result->$resultObjectName;
- }
- if (is_object($result)) {
- $result = new Zend_Service_StrikeIron_Decorator($result, $resultObjectName);
- }
- return $result;
- }
-
- /**
- * Get the WSDL URL for this service.
- *
- * @return string
- */
- public function getWsdl()
- {
- return $this->_options['wsdl'];
- }
-
- /**
- * Get the SOAP Client instance for this service.
- */
- public function getSoapClient()
- {
- return $this->_options['client'];
- }
-
- /**
- * Get the StrikeIron output headers returned with the last method response.
- *
- * @return array
- */
- public function getLastOutputHeaders()
- {
- return $this->_outputHeaders;
- }
-
- /**
- * Get the StrikeIron subscription information for this service.
- * If any service method was recently called, the subscription info
- * should have been returned in the SOAP headers so it is cached
- * and returned from the cache. Otherwise, the getRemainingHits()
- * method is called as a dummy to get the subscription info headers.
- *
- * @param boolean $now Force a call to getRemainingHits instead of cache?
- * @param string $queryMethod Method that will cause SubscriptionInfo header to be sent
- * @return Zend_Service_StrikeIron_Decorator Decorated subscription info
- * @throws Zend_Service_StrikeIron_Exception
- */
- public function getSubscriptionInfo($now = false, $queryMethod = 'GetRemainingHits')
- {
- if ($now || empty($this->_outputHeaders['SubscriptionInfo'])) {
- $this->$queryMethod();
- }
-
- // capture subscription info if returned in output headers
- if (isset($this->_outputHeaders['SubscriptionInfo'])) {
- $info = (object)$this->_outputHeaders['SubscriptionInfo'];
- $subscriptionInfo = new Zend_Service_StrikeIron_Decorator($info, 'SubscriptionInfo');
- } else {
- $msg = 'No SubscriptionInfo header found in last output headers';
- /**
- * @see Zend_Service_StrikeIron_Exception
- */
- require_once 'Zend/Service/StrikeIron/Exception.php';
- throw new Zend_Service_StrikeIron_Exception($msg);
- }
-
- return $subscriptionInfo;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/StrikeIron/Decorator.php b/airtime_mvc/library/Zend/Service/StrikeIron/Decorator.php
deleted file mode 100644
index f74fb7cbc..000000000
--- a/airtime_mvc/library/Zend/Service/StrikeIron/Decorator.php
+++ /dev/null
@@ -1,143 +0,0 @@
-_object = $object;
- $this->_name = $name;
- }
-
- /**
- * Proxy property access to the decorated object, inflecting
- * the property name and decorating any child objects returned.
- * If the property is not found in the decorated object, return
- * NULL as a convenience feature to avoid notices.
- *
- * @param string $property Property name to retrieve
- * @return mixed Value of property or NULL
- */
- public function __get($property)
- {
- $result = null;
-
- if (! isset($this->_object->$property)) {
- $property = $this->_inflect($property);
- }
-
- if (isset($this->_object->$property)) {
- $result = $this->_object->$property;
- $result = $this->_decorate($result);
- }
- return $result;
- }
-
- /**
- * Proxy method calls to the decorated object. This will only
- * be used when the SOAPClient returns a custom PHP object via
- * its classmap option so no inflection is done.
- *
- * @param string $method Name of method called
- * @param array $args Arguments for method
- */
- public function __call($method, $args)
- {
- return call_user_func_array(array($this->_object, $method), $args);
- }
-
- /**
- * Inflect a property name from PHP-style to the result object's
- * style. The default implementation here only inflects the case
- * of the first letter, e.g. from "fooBar" to "FooBar".
- *
- * @param string $property Property name to inflect
- * @return string Inflected property name
- */
- protected function _inflect($property)
- {
- return ucfirst($property);
- }
-
- /**
- * Decorate a value returned by the result object. The default
- * implementation here only decorates child objects.
- *
- * @param mixed $result Value to decorate
- * @return mixed Decorated result
- */
- protected function _decorate($result)
- {
- if (is_object($result)) {
- $result = new self($result);
- }
- return $result;
- }
-
- /**
- * Return the object being decorated
- *
- * @return object
- */
- public function getDecoratedObject()
- {
- return $this->_object;
- }
-
- /**
- * Return the name of the object being decorated
- *
- * @return null|string
- */
- public function getDecoratedObjectName()
- {
- return $this->_name;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/StrikeIron/Exception.php b/airtime_mvc/library/Zend/Service/StrikeIron/Exception.php
deleted file mode 100644
index 76b6e8306..000000000
--- a/airtime_mvc/library/Zend/Service/StrikeIron/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
- null,
- 'password' => null,
- 'client' => null,
- 'options' => null,
- 'headers' => null,
- 'wsdl' => 'http://ws.strikeiron.com/zf1.StrikeIron/taxdatabasic4?WSDL');
-}
diff --git a/airtime_mvc/library/Zend/Service/StrikeIron/USAddressVerification.php b/airtime_mvc/library/Zend/Service/StrikeIron/USAddressVerification.php
deleted file mode 100644
index 4778f8384..000000000
--- a/airtime_mvc/library/Zend/Service/StrikeIron/USAddressVerification.php
+++ /dev/null
@@ -1,45 +0,0 @@
- null,
- 'password' => null,
- 'client' => null,
- 'options' => null,
- 'headers' => null,
- 'wsdl' => 'http://ws.strikeiron.com/zf1.StrikeIron/USAddressVerification4_0?WSDL');
-}
diff --git a/airtime_mvc/library/Zend/Service/StrikeIron/ZipCodeInfo.php b/airtime_mvc/library/Zend/Service/StrikeIron/ZipCodeInfo.php
deleted file mode 100644
index 7e7035267..000000000
--- a/airtime_mvc/library/Zend/Service/StrikeIron/ZipCodeInfo.php
+++ /dev/null
@@ -1,45 +0,0 @@
- null,
- 'password' => null,
- 'client' => null,
- 'options' => null,
- 'headers' => null,
- 'wsdl' => 'http://sdpws.strikeiron.com/zf1.StrikeIron/sdpZIPCodeInfo?WSDL');
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati.php b/airtime_mvc/library/Zend/Service/Technorati.php
deleted file mode 100644
index d92e80278..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati.php
+++ /dev/null
@@ -1,1028 +0,0 @@
-_apiKey = $apiKey;
- }
-
-
- /**
- * Cosmos query lets you see what blogs are linking to a given URL.
- *
- * On the Technorati site, you can enter a URL in the searchbox and
- * it will return a list of blogs linking to it.
- * The API version allows more features and gives you a way
- * to use the cosmos on your own site.
- *
- * Query options include:
- *
- * 'type' => (link|weblog)
- * optional - A value of link returns the freshest links referencing your target URL.
- * A value of weblog returns the last set of unique weblogs referencing your target URL.
- * 'limit' => (int)
- * optional - adjust the size of your result from the default value of 20
- * to between 1 and 100 results.
- * 'start' => (int)
- * optional - adjust the range of your result set.
- * Set this number to larger than zero and you will receive
- * the portion of Technorati's total result set ranging from start to start+limit.
- * The default start value is 1.
- * 'current' => (true|false)
- * optional - the default setting of true
- * Technorati returns links that are currently on a weblog's homepage.
- * Set this parameter to false if you would like to receive all links
- * to the given URL regardless of their current placement on the source blog.
- * Internally the value is converted in (yes|no).
- * 'claim' => (true|false)
- * optional - the default setting of FALSE returns no user information
- * about each weblog included in the result set when available.
- * Set this parameter to FALSE to include Technorati member data
- * in the result set when a weblog in your result set
- * has been successfully claimed by a member of Technorati.
- * Internally the value is converted in (int).
- * 'highlight' => (true|false)
- * optional - the default setting of TRUE
- * highlights the citation of the given URL within the weblog excerpt.
- * Set this parameter to FALSE to apply no special markup to the blog excerpt.
- * Internally the value is converted in (int).
- *
- * @param string $url the URL you are searching for. Prefixes http:// and www. are optional.
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_CosmosResultSet
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/cosmos.html Technorati API: Cosmos Query reference
- */
- public function cosmos($url, $options = null)
- {
- static $defaultOptions = array( 'type' => 'link',
- 'start' => 1,
- 'limit' => 20,
- 'current' => 'yes',
- 'format' => 'xml',
- 'claim' => 0,
- 'highlight' => 1,
- );
-
- $options['url'] = $url;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateCosmos($options);
- $response = $this->_makeRequest(self::API_PATH_COSMOS, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_CosmosResultSet
- */
- require_once 'Zend/Service/Technorati/CosmosResultSet.php';
- return new Zend_Service_Technorati_CosmosResultSet($dom, $options);
- }
-
- /**
- * Search lets you see what blogs contain a given search string.
- *
- * Query options include:
- *
- * 'language' => (string)
- * optional - a ISO 639-1 two character language code
- * to retrieve results specific to that language.
- * This feature is currently beta and may not work for all languages.
- * 'authority' => (n|a1|a4|a7)
- * optional - filter results to those from blogs with at least
- * the Technorati Authority specified.
- * Technorati calculates a blog's authority by how many people link to it.
- * Filtering by authority is a good way to refine your search results.
- * There are four settings:
- * - n => Any authority: All results.
- * - a1 => A little authority: Results from blogs with at least one link.
- * - a4 => Some authority: Results from blogs with a handful of links.
- * - a7 => A lot of authority: Results from blogs with hundreds of links.
- * 'limit' => (int)
- * optional - adjust the size of your result from the default value of 20
- * to between 1 and 100 results.
- * 'start' => (int)
- * optional - adjust the range of your result set.
- * Set this number to larger than zero and you will receive
- * the portion of Technorati's total result set ranging from start to start+limit.
- * The default start value is 1.
- * 'claim' => (true|false)
- * optional - the default setting of FALSE returns no user information
- * about each weblog included in the result set when available.
- * Set this parameter to FALSE to include Technorati member data
- * in the result set when a weblog in your result set
- * has been successfully claimed by a member of Technorati.
- * Internally the value is converted in (int).
- *
- * @param string $query the words you are searching for.
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_SearchResultSet
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/search.html Technorati API: Search Query reference
- */
- public function search($query, $options = null)
- {
- static $defaultOptions = array( 'start' => 1,
- 'limit' => 20,
- 'format' => 'xml',
- 'claim' => 0);
-
- $options['query'] = $query;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateSearch($options);
- $response = $this->_makeRequest(self::API_PATH_SEARCH, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_SearchResultSet
- */
- require_once 'Zend/Service/Technorati/SearchResultSet.php';
- return new Zend_Service_Technorati_SearchResultSet($dom, $options);
- }
-
- /**
- * Tag lets you see what posts are associated with a given tag.
- *
- * Query options include:
- *
- * 'limit' => (int)
- * optional - adjust the size of your result from the default value of 20
- * to between 1 and 100 results.
- * 'start' => (int)
- * optional - adjust the range of your result set.
- * Set this number to larger than zero and you will receive
- * the portion of Technorati's total result set ranging from start to start+limit.
- * The default start value is 1.
- * 'excerptsize' => (int)
- * optional - number of word characters to include in the post excerpts.
- * By default 100 word characters are returned.
- * 'topexcerptsize' => (int)
- * optional - number of word characters to include in the first post excerpt.
- * By default 150 word characters are returned.
- *
- * @param string $tag the tag term you are searching posts for.
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_TagResultSet
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/tag.html Technorati API: Tag Query reference
- */
- public function tag($tag, $options = null)
- {
- static $defaultOptions = array( 'start' => 1,
- 'limit' => 20,
- 'format' => 'xml',
- 'excerptsize' => 100,
- 'topexcerptsize' => 150);
-
- $options['tag'] = $tag;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateTag($options);
- $response = $this->_makeRequest(self::API_PATH_TAG, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_TagResultSet
- */
- require_once 'Zend/Service/Technorati/TagResultSet.php';
- return new Zend_Service_Technorati_TagResultSet($dom, $options);
- }
-
- /**
- * TopTags provides daily counts of posts containing the queried keyword.
- *
- * Query options include:
- *
- * 'days' => (int)
- * optional - Used to specify the number of days in the past
- * to request daily count data for.
- * Can be any integer between 1 and 180, default is 180
- *
- * @param string $q the keyword query
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_DailyCountsResultSet
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/dailycounts.html Technorati API: DailyCounts Query reference
- */
- public function dailyCounts($query, $options = null)
- {
- static $defaultOptions = array( 'days' => 180,
- 'format' => 'xml'
- );
-
- $options['q'] = $query;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateDailyCounts($options);
- $response = $this->_makeRequest(self::API_PATH_DAILYCOUNTS, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_DailyCountsResultSet
- */
- require_once 'Zend/Service/Technorati/DailyCountsResultSet.php';
- return new Zend_Service_Technorati_DailyCountsResultSet($dom);
- }
-
- /**
- * TopTags provides information on top tags indexed by Technorati.
- *
- * Query options include:
- *
- * 'limit' => (int)
- * optional - adjust the size of your result from the default value of 20
- * to between 1 and 100 results.
- * 'start' => (int)
- * optional - adjust the range of your result set.
- * Set this number to larger than zero and you will receive
- * the portion of Technorati's total result set ranging from start to start+limit.
- * The default start value is 1.
- *
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_TagsResultSet
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/toptags.html Technorati API: TopTags Query reference
- */
- public function topTags($options = null)
- {
- static $defaultOptions = array( 'start' => 1,
- 'limit' => 20,
- 'format' => 'xml'
- );
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateTopTags($options);
- $response = $this->_makeRequest(self::API_PATH_TOPTAGS, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_TagsResultSet
- */
- require_once 'Zend/Service/Technorati/TagsResultSet.php';
- return new Zend_Service_Technorati_TagsResultSet($dom);
- }
-
- /**
- * BlogInfo provides information on what blog, if any, is associated with a given URL.
- *
- * @param string $url the URL you are searching for. Prefixes http:// and www. are optional.
- * The URL must be recognized by Technorati as a blog.
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_BlogInfoResult
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/bloginfo.html Technorati API: BlogInfo Query reference
- */
- public function blogInfo($url, $options = null)
- {
- static $defaultOptions = array( 'format' => 'xml'
- );
-
- $options['url'] = $url;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateBlogInfo($options);
- $response = $this->_makeRequest(self::API_PATH_BLOGINFO, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_BlogInfoResult
- */
- require_once 'Zend/Service/Technorati/BlogInfoResult.php';
- return new Zend_Service_Technorati_BlogInfoResult($dom);
- }
-
- /**
- * BlogPostTags provides information on the top tags used by a specific blog.
- *
- * Query options include:
- *
- * 'limit' => (int)
- * optional - adjust the size of your result from the default value of 20
- * to between 1 and 100 results.
- * 'start' => (int)
- * optional - adjust the range of your result set.
- * Set this number to larger than zero and you will receive
- * the portion of Technorati's total result set ranging from start to start+limit.
- * The default start value is 1.
- * Note. This property is not documented.
- *
- * @param string $url the URL you are searching for. Prefixes http:// and www. are optional.
- * The URL must be recognized by Technorati as a blog.
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_TagsResultSet
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/blogposttags.html Technorati API: BlogPostTags Query reference
- */
- public function blogPostTags($url, $options = null)
- {
- static $defaultOptions = array( 'start' => 1,
- 'limit' => 20,
- 'format' => 'xml'
- );
-
- $options['url'] = $url;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateBlogPostTags($options);
- $response = $this->_makeRequest(self::API_PATH_BLOGPOSTTAGS, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_TagsResultSet
- */
- require_once 'Zend/Service/Technorati/TagsResultSet.php';
- return new Zend_Service_Technorati_TagsResultSet($dom);
- }
-
- /**
- * GetInfo query tells you things that Technorati knows about a member.
- *
- * The returned info is broken up into two sections:
- * The first part describes some information that the user wants
- * to allow people to know about him- or herself.
- * The second part of the document is a listing of the weblogs
- * that the user has successfully claimed and the information
- * that Technorati knows about these weblogs.
- *
- * @param string $username the Technorati user name you are searching for
- * @param array $options additional parameters to refine your query
- * @return Zend_Service_Technorati_GetInfoResult
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/getinfo.html Technorati API: GetInfo reference
- */
- public function getInfo($username, $options = null)
- {
- static $defaultOptions = array('format' => 'xml');
-
- $options['username'] = $username;
-
- $options = $this->_prepareOptions($options, $defaultOptions);
- $this->_validateGetInfo($options);
- $response = $this->_makeRequest(self::API_PATH_GETINFO, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_GetInfoResult
- */
- require_once 'Zend/Service/Technorati/GetInfoResult.php';
- return new Zend_Service_Technorati_GetInfoResult($dom);
- }
-
- /**
- * KeyInfo query provides information on daily usage of an API key.
- * Key Info Queries do not count against a key's daily query limit.
- *
- * A day is defined as 00:00-23:59 Pacific time.
- *
- * @return Zend_Service_Technorati_KeyInfoResult
- * @throws Zend_Service_Technorati_Exception
- * @link http://developers.technorati.com/wiki/KeyInfo Technorati API: Key Info reference
- */
- public function keyInfo()
- {
- static $defaultOptions = array();
-
- $options = $this->_prepareOptions(array(), $defaultOptions);
- // you don't need to validate this request
- // because key is the only mandatory element
- // and it's already set in #_prepareOptions
- $response = $this->_makeRequest(self::API_PATH_KEYINFO, $options);
- $dom = $this->_convertResponseAndCheckContent($response);
-
- /**
- * @see Zend_Service_Technorati_KeyInfoResult
- */
- require_once 'Zend/Service/Technorati/KeyInfoResult.php';
- return new Zend_Service_Technorati_KeyInfoResult($dom, $this->_apiKey);
- }
-
-
- /**
- * Returns Technorati API key.
- *
- * @return string Technorati API key
- */
- public function getApiKey()
- {
- return $this->_apiKey;
- }
-
- /**
- * Returns a reference to the REST client object in use.
- *
- * If the reference hasn't being inizialized yet,
- * then a new Zend_Rest_Client instance is created.
- *
- * @return Zend_Rest_Client
- */
- public function getRestClient()
- {
- if ($this->_restClient === null) {
- /**
- * @see Zend_Rest_Client
- */
- require_once 'Zend/Rest/Client.php';
- $this->_restClient = new Zend_Rest_Client(self::API_URI_BASE);
- }
-
- return $this->_restClient;
- }
-
- /**
- * Sets Technorati API key.
- *
- * Be aware that this function doesn't validate the key.
- * The key is validated as soon as the first API request is sent.
- * If the key is invalid, the API request method will throw
- * a Zend_Service_Technorati_Exception exception with Invalid Key message.
- *
- * @param string $key Technorati API Key
- * @return void
- * @link http://technorati.com/developers/apikey.html How to get your Technorati API Key
- */
- public function setApiKey($key)
- {
- $this->_apiKey = $key;
- return $this;
- }
-
-
- /**
- * Validates Cosmos query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateCosmos(array $options)
- {
- static $validOptions = array('key', 'url',
- 'type', 'limit', 'start', 'current', 'claim', 'highlight', 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate url (required)
- $this->_validateOptionUrl($options);
- // Validate limit (optional)
- $this->_validateOptionLimit($options);
- // Validate start (optional)
- $this->_validateOptionStart($options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- // Validate type (optional)
- $this->_validateInArrayOption('type', $options, array('link', 'weblog'));
- // Validate claim (optional)
- $this->_validateOptionClaim($options);
- // Validate highlight (optional)
- $this->_validateIntegerOption('highlight', $options);
- // Validate current (optional)
- if (isset($options['current'])) {
- $tmp = (int) $options['current'];
- $options['current'] = $tmp ? 'yes' : 'no';
- }
-
- }
-
- /**
- * Validates Search query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateSearch(array $options)
- {
- static $validOptions = array('key', 'query',
- 'language', 'authority', 'limit', 'start', 'claim', 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate query (required)
- $this->_validateMandatoryOption('query', $options);
- // Validate authority (optional)
- $this->_validateInArrayOption('authority', $options, array('n', 'a1', 'a4', 'a7'));
- // Validate limit (optional)
- $this->_validateOptionLimit($options);
- // Validate start (optional)
- $this->_validateOptionStart($options);
- // Validate claim (optional)
- $this->_validateOptionClaim($options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- }
-
- /**
- * Validates Tag query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateTag(array $options)
- {
- static $validOptions = array('key', 'tag',
- 'limit', 'start', 'excerptsize', 'topexcerptsize', 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate query (required)
- $this->_validateMandatoryOption('tag', $options);
- // Validate limit (optional)
- $this->_validateOptionLimit($options);
- // Validate start (optional)
- $this->_validateOptionStart($options);
- // Validate excerptsize (optional)
- $this->_validateIntegerOption('excerptsize', $options);
- // Validate excerptsize (optional)
- $this->_validateIntegerOption('topexcerptsize', $options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- }
-
-
- /**
- * Validates DailyCounts query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateDailyCounts(array $options)
- {
- static $validOptions = array('key', 'q',
- 'days', 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate q (required)
- $this->_validateMandatoryOption('q', $options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- // Validate days (optional)
- if (isset($options['days'])) {
- $options['days'] = (int) $options['days'];
- if ($options['days'] < self::PARAM_DAYS_MIN_VALUE ||
- $options['days'] > self::PARAM_DAYS_MAX_VALUE) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Invalid value '" . $options['days'] . "' for 'days' option");
- }
- }
- }
-
- /**
- * Validates GetInfo query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateGetInfo(array $options)
- {
- static $validOptions = array('key', 'username',
- 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate username (required)
- $this->_validateMandatoryOption('username', $options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- }
-
- /**
- * Validates TopTags query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateTopTags(array $options)
- {
- static $validOptions = array('key',
- 'limit', 'start', 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate limit (optional)
- $this->_validateOptionLimit($options);
- // Validate start (optional)
- $this->_validateOptionStart($options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- }
-
- /**
- * Validates BlogInfo query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateBlogInfo(array $options)
- {
- static $validOptions = array('key', 'url',
- 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate url (required)
- $this->_validateOptionUrl($options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- }
-
- /**
- * Validates TopTags query options.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateBlogPostTags(array $options)
- {
- static $validOptions = array('key', 'url',
- 'limit', 'start', 'format');
-
- // Validate keys in the $options array
- $this->_compareOptions($options, $validOptions);
- // Validate url (required)
- $this->_validateOptionUrl($options);
- // Validate limit (optional)
- $this->_validateOptionLimit($options);
- // Validate start (optional)
- $this->_validateOptionStart($options);
- // Validate format (optional)
- $this->_validateOptionFormat($options);
- }
-
- /**
- * Checks whether an option is in a given array.
- *
- * @param string $name option name
- * @param array $options
- * @param array $array array of valid options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateInArrayOption($name, $options, array $array)
- {
- if (isset($options[$name]) && !in_array($options[$name], $array)) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Invalid value '{$options[$name]}' for '$name' option");
- }
- }
-
- /**
- * Checks whether mandatory $name option exists and it's valid.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _validateMandatoryOption($name, $options)
- {
- if (!isset($options[$name]) || !trim($options[$name])) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Empty value for '$name' option");
- }
- }
-
- /**
- * Checks whether $name option is a valid integer and casts it.
- *
- * @param array $options
- * @return void
- * @access protected
- */
- protected function _validateIntegerOption($name, $options)
- {
- if (isset($options[$name])) {
- $options[$name] = (int) $options[$name];
- }
- }
-
- /**
- * Makes and HTTP GET request to given $path with $options.
- * HTTP Response is first validated, then returned.
- *
- * @param string $path
- * @param array $options
- * @return Zend_Http_Response
- * @throws Zend_Service_Technorati_Exception on failure
- * @access protected
- */
- protected function _makeRequest($path, $options = array())
- {
- $restClient = $this->getRestClient();
- $restClient->getHttpClient()->resetParameters();
- $response = $restClient->restGet($path, $options);
- self::_checkResponse($response);
- return $response;
- }
-
- /**
- * Checks whether 'claim' option value is valid.
- *
- * @param array $options
- * @return void
- * @access protected
- */
- protected function _validateOptionClaim(array $options)
- {
- $this->_validateIntegerOption('claim', $options);
- }
-
- /**
- * Checks whether 'format' option value is valid.
- * Be aware that Zend_Service_Technorati supports only XML as format value.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception if 'format' value != XML
- * @access protected
- */
- protected function _validateOptionFormat(array $options)
- {
- if (isset($options['format']) && $options['format'] != 'xml') {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Invalid value '" . $options['format'] . "' for 'format' option. " .
- "Zend_Service_Technorati supports only 'xml'");
- }
- }
-
- /**
- * Checks whether 'limit' option value is valid.
- * Value must be an integer greater than PARAM_LIMIT_MIN_VALUE
- * and lower than PARAM_LIMIT_MAX_VALUE.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception if 'limit' value is invalid
- * @access protected
- */
- protected function _validateOptionLimit(array $options)
- {
- if (!isset($options['limit'])) return;
-
- $options['limit'] = (int) $options['limit'];
- if ($options['limit'] < self::PARAM_LIMIT_MIN_VALUE ||
- $options['limit'] > self::PARAM_LIMIT_MAX_VALUE) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Invalid value '" . $options['limit'] . "' for 'limit' option");
- }
- }
-
- /**
- * Checks whether 'start' option value is valid.
- * Value must be an integer greater than 0.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception if 'start' value is invalid
- * @access protected
- */
- protected function _validateOptionStart(array $options)
- {
- if (!isset($options['start'])) return;
-
- $options['start'] = (int) $options['start'];
- if ($options['start'] < self::PARAM_START_MIN_VALUE) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Invalid value '" . $options['start'] . "' for 'start' option");
- }
- }
-
- /**
- * Checks whether 'url' option value exists and is valid.
- * 'url' must be a valid HTTP(s) URL.
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Technorati_Exception if 'url' value is invalid
- * @access protected
- * @todo support for Zend_Uri_Http
- */
- protected function _validateOptionUrl(array $options)
- {
- $this->_validateMandatoryOption('url', $options);
- }
-
- /**
- * Checks XML response content for errors.
- *
- * @param DomDocument $dom the XML response as a DOM document
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @link http://technorati.com/developers/api/error.html Technorati API: Error response
- * @access protected
- */
- protected static function _checkErrors(DomDocument $dom)
- {
- $xpath = new DOMXPath($dom);
-
- $result = $xpath->query("/tapi/document/result/error");
- if ($result->length >= 1) {
- $error = $result->item(0)->nodeValue;
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception($error);
- }
- }
-
- /**
- * Converts $response body to a DOM object and checks it.
- *
- * @param Zend_Http_Response $response
- * @return DOMDocument
- * @throws Zend_Service_Technorati_Exception if response content contains an error message
- * @access protected
- */
- protected function _convertResponseAndCheckContent(Zend_Http_Response $response)
- {
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
- self::_checkErrors($dom);
- return $dom;
- }
-
- /**
- * Checks ReST response for errors.
- *
- * @param Zend_Http_Response $response the ReST response
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected static function _checkResponse(Zend_Http_Response $response)
- {
- if ($response->isError()) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(sprintf(
- 'Invalid response status code (HTTP/%s %s %s)',
- $response->getVersion(), $response->getStatus(), $response->getMessage()));
- }
- }
-
- /**
- * Checks whether user given options are valid.
- *
- * @param array $options user options
- * @param array $validOptions valid options
- * @return void
- * @throws Zend_Service_Technorati_Exception
- * @access protected
- */
- protected function _compareOptions(array $options, array $validOptions)
- {
- $difference = array_diff(array_keys($options), $validOptions);
- if ($difference) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "The following parameters are invalid: '" .
- implode("', '", $difference) . "'");
- }
- }
-
- /**
- * Prepares options for the request
- *
- * @param array $options user options
- * @param array $defaultOptions default options
- * @return array Merged array of user and default/required options.
- * @access protected
- */
- protected function _prepareOptions($options, array $defaultOptions)
- {
- $options = (array) $options; // force cast to convert null to array()
- $options['key'] = $this->_apiKey;
- $options = array_merge($defaultOptions, $options);
- return $options;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/Author.php b/airtime_mvc/library/Zend/Service/Technorati/Author.php
deleted file mode 100644
index 46f2dcddb..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/Author.php
+++ /dev/null
@@ -1,242 +0,0 @@
-ownerDocument);
-
- $result = $xpath->query('./firstname/text()', $dom);
- if ($result->length == 1) $this->setFirstName($result->item(0)->data);
-
- $result = $xpath->query('./lastname/text()', $dom);
- if ($result->length == 1) $this->setLastName($result->item(0)->data);
-
- $result = $xpath->query('./username/text()', $dom);
- if ($result->length == 1) $this->setUsername($result->item(0)->data);
-
- $result = $xpath->query('./description/text()', $dom);
- if ($result->length == 1) $this->setDescription($result->item(0)->data);
-
- $result = $xpath->query('./bio/text()', $dom);
- if ($result->length == 1) $this->setBio($result->item(0)->data);
-
- $result = $xpath->query('./thumbnailpicture/text()', $dom);
- if ($result->length == 1) $this->setThumbnailPicture($result->item(0)->data);
- }
-
-
- /**
- * Returns Author first name.
- *
- * @return string Author first name
- */
- public function getFirstName() {
- return $this->_firstName;
- }
-
- /**
- * Returns Author last name.
- *
- * @return string Author last name
- */
- public function getLastName() {
- return $this->_lastName;
- }
-
- /**
- * Returns Technorati account username.
- *
- * @return string Technorati account username
- */
- public function getUsername() {
- return $this->_username;
- }
-
- /**
- * Returns Technorati account description.
- *
- * @return string Technorati account description
- */
- public function getDescription() {
- return $this->_description;
- }
-
- /**
- * Returns Technorati account biography.
- *
- * @return string Technorati account biography
- */
- public function getBio() {
- return $this->_bio;
- }
-
- /**
- * Returns Technorati account thumbnail picture.
- *
- * @return null|Zend_Uri_Http Technorati account thumbnail picture
- */
- public function getThumbnailPicture() {
- return $this->_thumbnailPicture;
- }
-
-
- /**
- * Sets author first name.
- *
- * @param string $input first Name input value
- * @return Zend_Service_Technorati_Author $this instance
- */
- public function setFirstName($input) {
- $this->_firstName = (string) $input;
- return $this;
- }
-
- /**
- * Sets author last name.
- *
- * @param string $input last Name input value
- * @return Zend_Service_Technorati_Author $this instance
- */
- public function setLastName($input) {
- $this->_lastName = (string) $input;
- return $this;
- }
-
- /**
- * Sets Technorati account username.
- *
- * @param string $input username input value
- * @return Zend_Service_Technorati_Author $this instance
- */
- public function setUsername($input) {
- $this->_username = (string) $input;
- return $this;
- }
-
- /**
- * Sets Technorati account biography.
- *
- * @param string $input biography input value
- * @return Zend_Service_Technorati_Author $this instance
- */
- public function setBio($input) {
- $this->_bio = (string) $input;
- return $this;
- }
-
- /**
- * Sets Technorati account description.
- *
- * @param string $input description input value
- * @return Zend_Service_Technorati_Author $this instance
- */
- public function setDescription($input) {
- $this->_description = (string) $input;
- return $this;
- }
-
- /**
- * Sets Technorati account thumbnail picture.
- *
- * @param string|Zend_Uri_Http $input thumbnail picture URI
- * @return Zend_Service_Technorati_Author $this instance
- * @throws Zend_Service_Technorati_Exception if $input is an invalid URI
- * (via Zend_Service_Technorati_Utils::normalizeUriHttp)
- */
- public function setThumbnailPicture($input) {
- $this->_thumbnailPicture = Zend_Service_Technorati_Utils::normalizeUriHttp($input);
- return $this;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/BlogInfoResult.php b/airtime_mvc/library/Zend/Service/Technorati/BlogInfoResult.php
deleted file mode 100644
index 4b56d5789..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/BlogInfoResult.php
+++ /dev/null
@@ -1,161 +0,0 @@
-query('//result/weblog');
- if ($result->length == 1) {
- $this->_weblog = new Zend_Service_Technorati_Weblog($result->item(0));
- } else {
- // follow the same behavior of blogPostTags
- // and raise an Exception if the URL is not a valid weblog
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Your URL is not a recognized Technorati weblog");
- }
-
- $result = $xpath->query('//result/url/text()');
- if ($result->length == 1) {
- try {
- // fetched URL often doens't include schema
- // and this issue causes the following line to fail
- $this->_url = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data);
- } catch(Zend_Service_Technorati_Exception $e) {
- if ($this->getWeblog() instanceof Zend_Service_Technorati_Weblog) {
- $this->_url = $this->getWeblog()->getUrl();
- }
- }
- }
-
- $result = $xpath->query('//result/inboundblogs/text()');
- if ($result->length == 1) $this->_inboundBlogs = (int) $result->item(0)->data;
-
- $result = $xpath->query('//result/inboundlinks/text()');
- if ($result->length == 1) $this->_inboundLinks = (int) $result->item(0)->data;
-
- }
-
-
- /**
- * Returns the weblog URL.
- *
- * @return Zend_Uri_Http
- */
- public function getUrl() {
- return $this->_url;
- }
-
- /**
- * Returns the weblog.
- *
- * @return Zend_Service_Technorati_Weblog
- */
- public function getWeblog() {
- return $this->_weblog;
- }
-
- /**
- * Returns number of unique blogs linking this blog.
- *
- * @return integer the number of inbound blogs
- */
- public function getInboundBlogs()
- {
- return (int) $this->_inboundBlogs;
- }
-
- /**
- * Returns number of incoming links to this blog.
- *
- * @return integer the number of inbound links
- */
- public function getInboundLinks()
- {
- return (int) $this->_inboundLinks;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/CosmosResult.php b/airtime_mvc/library/Zend/Service/Technorati/CosmosResult.php
deleted file mode 100644
index b8fd681d7..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/CosmosResult.php
+++ /dev/null
@@ -1,152 +0,0 @@
-_fields = array( '_nearestPermalink' => 'nearestpermalink',
- '_excerpt' => 'excerpt',
- '_linkCreated' => 'linkcreated',
- '_linkUrl' => 'linkurl');
- parent::__construct($dom);
-
- // weblog object field
- $this->_parseWeblog();
-
- // filter fields
- $this->_nearestPermalink = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_nearestPermalink);
- $this->_linkUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_linkUrl);
- $this->_linkCreated = Zend_Service_Technorati_Utils::normalizeDate($this->_linkCreated);
- }
-
- /**
- * Returns the weblog object that links queried URL.
- *
- * @return Zend_Service_Technorati_Weblog
- */
- public function getWeblog() {
- return $this->_weblog;
- }
-
- /**
- * Returns the nearest permalink tracked for queried URL.
- *
- * @return Zend_Uri_Http
- */
- public function getNearestPermalink() {
- return $this->_nearestPermalink;
- }
-
- /**
- * Returns the excerpt of the blog/page linking queried URL.
- *
- * @return string
- */
- public function getExcerpt() {
- return $this->_excerpt;
- }
-
- /**
- * Returns the datetime the link was created.
- *
- * @return Zend_Date
- */
- public function getLinkCreated() {
- return $this->_linkCreated;
- }
-
- /**
- * If queried URL is a valid blog,
- * returns the URL of the specific link target page.
- *
- * @return Zend_Uri_Http
- */
- public function getLinkUrl() {
- return $this->_linkUrl;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/CosmosResultSet.php b/airtime_mvc/library/Zend/Service/Technorati/CosmosResultSet.php
deleted file mode 100644
index 9276d078e..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/CosmosResultSet.php
+++ /dev/null
@@ -1,176 +0,0 @@
-_xpath->query('/tapi/document/result/inboundlinks/text()');
- if ($result->length == 1) $this->_inboundLinks = (int) $result->item(0)->data;
-
- $result = $this->_xpath->query('/tapi/document/result/inboundblogs/text()');
- if ($result->length == 1) $this->_inboundBlogs = (int) $result->item(0)->data;
-
- $result = $this->_xpath->query('/tapi/document/result/weblog');
- if ($result->length == 1) {
- /**
- * @see Zend_Service_Technorati_Weblog
- */
- require_once 'Zend/Service/Technorati/Weblog.php';
- $this->_weblog = new Zend_Service_Technorati_Weblog($result->item(0));
- }
-
- $result = $this->_xpath->query('/tapi/document/result/url/text()');
- if ($result->length == 1) {
- try {
- // fetched URL often doens't include schema
- // and this issue causes the following line to fail
- $this->_url = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data);
- } catch(Zend_Service_Technorati_Exception $e) {
- if ($this->getWeblog() instanceof Zend_Service_Technorati_Weblog) {
- $this->_url = $this->getWeblog()->getUrl();
- }
- }
- }
-
- $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/item)");
-
- // total number of results depends on query type
- // for now check only getInboundLinks() and getInboundBlogs() value
- if ((int) $this->getInboundLinks() > 0) {
- $this->_totalResultsAvailable = $this->getInboundLinks();
- } elseif ((int) $this->getInboundBlogs() > 0) {
- $this->_totalResultsAvailable = $this->getInboundBlogs();
- } else {
- $this->_totalResultsAvailable = 0;
- }
- }
-
-
- /**
- * Returns the weblog URL.
- *
- * @return Zend_Uri_Http
- */
- public function getUrl() {
- return $this->_url;
- }
-
- /**
- * Returns the weblog.
- *
- * @return Zend_Service_Technorati_Weblog
- */
- public function getWeblog() {
- return $this->_weblog;
- }
-
- /**
- * Returns number of unique blogs linking this blog.
- *
- * @return integer the number of inbound blogs
- */
- public function getInboundBlogs()
- {
- return $this->_inboundBlogs;
- }
-
- /**
- * Returns number of incoming links to this blog.
- *
- * @return integer the number of inbound links
- */
- public function getInboundLinks()
- {
- return $this->_inboundLinks;
- }
-
- /**
- * Implements Zend_Service_Technorati_ResultSet::current().
- *
- * @return Zend_Service_Technorati_CosmosResult current result
- */
- public function current()
- {
- /**
- * @see Zend_Service_Technorati_CosmosResult
- */
- require_once 'Zend/Service/Technorati/CosmosResult.php';
- return new Zend_Service_Technorati_CosmosResult($this->_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/DailyCountsResult.php b/airtime_mvc/library/Zend/Service/Technorati/DailyCountsResult.php
deleted file mode 100644
index 5bbe3ef7c..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/DailyCountsResult.php
+++ /dev/null
@@ -1,93 +0,0 @@
-_fields = array( '_date' => 'date',
- '_count' => 'count');
- parent::__construct($dom);
-
- // filter fields
- $this->_date = new Zend_Date(strtotime($this->_date));
- $this->_count = (int) $this->_count;
- }
-
- /**
- * Returns the date of count.
- *
- * @return Zend_Date
- */
- public function getDate() {
- return $this->_date;
- }
-
- /**
- * Returns the number of posts containing query on given date.
- *
- * @return int
- */
- public function getCount() {
- return $this->_count;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/DailyCountsResultSet.php b/airtime_mvc/library/Zend/Service/Technorati/DailyCountsResultSet.php
deleted file mode 100644
index 8b7df8392..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/DailyCountsResultSet.php
+++ /dev/null
@@ -1,125 +0,0 @@
-_xpath->query('/tapi/document/result/days/text()');
- if ($result->length == 1) $this->_days = (int) $result->item(0)->data;
-
- $result = $this->_xpath->query('/tapi/document/result/searchurl/text()');
- if ($result->length == 1) {
- $this->_searchUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data);
- }
-
- $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/items/item)");
- $this->_totalResultsAvailable = (int) $this->getDays();
- }
-
-
- /**
- * Returns the search URL for given query.
- *
- * @return Zend_Uri_Http
- */
- public function getSearchUrl() {
- return $this->_searchUrl;
- }
-
- /**
- * Returns the number of days for which counts provided.
- *
- * @return int
- */
- public function getDays() {
- return $this->_days;
- }
-
- /**
- * Implements Zend_Service_Technorati_ResultSet::current().
- *
- * @return Zend_Service_Technorati_DailyCountsResult current result
- */
- public function current()
- {
- /**
- * @see Zend_Service_Technorati_DailyCountsResult
- */
- require_once 'Zend/Service/Technorati/DailyCountsResult.php';
- return new Zend_Service_Technorati_DailyCountsResult($this->_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/Exception.php b/airtime_mvc/library/Zend/Service/Technorati/Exception.php
deleted file mode 100644
index 12d684ef2..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-query('//result');
- if ($result->length == 1) {
- $this->_author = new Zend_Service_Technorati_Author($result->item(0));
- }
-
- /**
- * @see Zend_Service_Technorati_Weblog
- */
- require_once 'Zend/Service/Technorati/Weblog.php';
-
- $result = $xpath->query('//item/weblog');
- if ($result->length >= 1) {
- foreach ($result as $weblog) {
- $this->_weblogs[] = new Zend_Service_Technorati_Weblog($weblog);
- }
- }
- }
-
-
- /**
- * Returns the author associated with queried username.
- *
- * @return Zend_Service_Technorati_Author
- */
- public function getAuthor() {
- return $this->_author;
- }
-
- /**
- * Returns the collection of weblogs authored by queried username.
- *
- * @return array of Zend_Service_Technorati_Weblog
- */
- public function getWeblogs() {
- return $this->_weblogs;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/KeyInfoResult.php b/airtime_mvc/library/Zend/Service/Technorati/KeyInfoResult.php
deleted file mode 100644
index 039de6005..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/KeyInfoResult.php
+++ /dev/null
@@ -1,118 +0,0 @@
-_dom = $dom;
- // $this->_xpath = new DOMXPath($dom);
- $xpath = new DOMXPath($dom);
-
- $this->_apiQueries = (int) $xpath->query('/tapi/document/result/apiqueries/text()')->item(0)->data;
- $this->_maxQueries = (int) $xpath->query('/tapi/document/result/maxqueries/text()')->item(0)->data;
- $this->setApiKey($apiKey);
- }
-
-
- /**
- * Returns API Key string.
- *
- * @return string API Key string
- */
- public function getApiKey() {
- return $this->_apiKey;
- }
-
- /**
- * Returns the number of queries sent today.
- *
- * @return int number of queries sent today
- */
- public function getApiQueries() {
- return $this->_apiQueries;
- }
-
- /**
- * Returns Key's daily query limit.
- *
- * @return int maximum number of available queries per day
- */
- public function getMaxQueries() {
- return $this->_maxQueries;
- }
-
-
- /**
- * Sets API Key string.
- *
- * @param string $apiKey the API Key
- * @return Zend_Service_Technorati_KeyInfoResult $this instance
- */
- public function setApiKey($apiKey) {
- $this->_apiKey = $apiKey;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/Result.php b/airtime_mvc/library/Zend/Service/Technorati/Result.php
deleted file mode 100644
index c77ca4a1e..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/Result.php
+++ /dev/null
@@ -1,121 +0,0 @@
- 'xmlfieldtag'
- *
- * @var array
- * @access protected
- */
- protected $_fields;
-
- /**
- * The ReST fragment for this result object
- *
- * @var DomElement
- * @access protected
- */
- protected $_dom;
-
- /**
- * Object for $this->_dom
- *
- * @var DOMXpath
- * @access protected
- */
- protected $_xpath;
-
-
- /**
- * Constructs a new object from DOM Element.
- * Properties are automatically fetched from XML
- * according to array of $_fields to be read.
- *
- * @param DomElement $result the ReST fragment for this object
- */
- public function __construct(DomElement $dom)
- {
- $this->_xpath = new DOMXPath($dom->ownerDocument);
- $this->_dom = $dom;
-
- // default fields for all search results
- $fields = array();
-
- // merge with child's object fields
- $this->_fields = array_merge($this->_fields, $fields);
-
- // add results to appropriate fields
- foreach($this->_fields as $phpName => $xmlName) {
- $query = "./$xmlName/text()";
- $node = $this->_xpath->query($query, $this->_dom);
- if ($node->length == 1) {
- $this->{$phpName} = (string) $node->item(0)->data;
- }
- }
- }
-
- /**
- * Parses weblog node and sets weblog object.
- *
- * @return void
- */
- protected function _parseWeblog()
- {
- // weblog object field
- $result = $this->_xpath->query('./weblog', $this->_dom);
- if ($result->length == 1) {
- /**
- * @see Zend_Service_Technorati_Weblog
- */
- require_once 'Zend/Service/Technorati/Weblog.php';
- $this->_weblog = new Zend_Service_Technorati_Weblog($result->item(0));
- } else {
- $this->_weblog = null;
- }
- }
-
- /**
- * Returns the document fragment for this object as XML string.
- *
- * @return string the document fragment for this object
- * converted into XML format
- */
- public function getXml()
- {
- return $this->_dom->ownerDocument->saveXML($this->_dom);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/ResultSet.php b/airtime_mvc/library/Zend/Service/Technorati/ResultSet.php
deleted file mode 100644
index 38571f981..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/ResultSet.php
+++ /dev/null
@@ -1,289 +0,0 @@
-_dom
- *
- * @var DOMXpath
- * @access protected
- */
- protected $_xpath;
-
- /**
- * XML string representation for $this->_dom
- *
- * @var string
- * @access protected
- */
- protected $_xml;
-
- /**
- * Current Item
- *
- * @var int
- * @access protected
- */
- protected $_currentIndex = 0;
-
-
- /**
- * Parses the search response and retrieves the results for iteration.
- *
- * @param DomDocument $dom the ReST fragment for this object
- * @param array $options query options as associative array
- */
- public function __construct(DomDocument $dom, $options = array())
- {
- $this->_init($dom, $options);
-
- // Technorati loves to make developer's life really hard
- // I must read query options in order to normalize a single way
- // to display start and limit.
- // The value is printed out in XML using many different tag names,
- // too hard to get it from XML
-
- // Additionally, the following tags should be always available
- // according to API documentation but... this is not the truth!
- // - querytime
- // - limit
- // - start (sometimes rankingstart)
-
- // query tag is only available for some requests, the same for url.
- // For now ignore them.
-
- //$start = isset($options['start']) ? $options['start'] : 1;
- //$limit = isset($options['limit']) ? $options['limit'] : 20;
- //$this->_firstResultPosition = $start;
- }
-
- /**
- * Initializes this object from a DomDocument response.
- *
- * Because __construct and __wakeup shares some common executions,
- * it's useful to group them in a single initialization method.
- * This method is called once each time a new instance is created
- * or a serialized object is unserialized.
- *
- * @param DomDocument $dom the ReST fragment for this object
- * @param array $options query options as associative array
- * * @return void
- */
- protected function _init(DomDocument $dom, $options = array())
- {
- $this->_dom = $dom;
- $this->_xpath = new DOMXPath($dom);
-
- $this->_results = $this->_xpath->query("//item");
- }
-
- /**
- * Number of results returned.
- *
- * @return int total number of results returned
- */
- public function totalResults()
- {
- return (int) $this->_totalResultsReturned;
- }
-
-
- /**
- * Number of available results.
- *
- * @return int total number of available results
- */
- public function totalResultsAvailable()
- {
- return (int) $this->_totalResultsAvailable;
- }
-
- /**
- * Implements SeekableIterator::current().
- *
- * @return void
- * @throws Zend_Service_Exception
- * @abstract
- */
- // abstract public function current();
-
- /**
- * Implements SeekableIterator::key().
- *
- * @return int
- */
- public function key()
- {
- return $this->_currentIndex;
- }
-
- /**
- * Implements SeekableIterator::next().
- *
- * @return void
- */
- public function next()
- {
- $this->_currentIndex += 1;
- }
-
- /**
- * Implements SeekableIterator::rewind().
- *
- * @return bool
- */
- public function rewind()
- {
- $this->_currentIndex = 0;
- return true;
- }
-
- /**
- * Implement SeekableIterator::seek().
- *
- * @param int $index
- * @return void
- * @throws OutOfBoundsException
- */
- public function seek($index)
- {
- $indexInt = (int) $index;
- if ($indexInt >= 0 && $indexInt < $this->_results->length) {
- $this->_currentIndex = $indexInt;
- } else {
- throw new OutOfBoundsException("Illegal index '$index'");
- }
- }
-
- /**
- * Implement SeekableIterator::valid().
- *
- * @return boolean
- */
- public function valid()
- {
- return null !== $this->_results && $this->_currentIndex < $this->_results->length;
- }
-
- /**
- * Returns the response document as XML string.
- *
- * @return string the response document converted into XML format
- */
- public function getXml()
- {
- return $this->_dom->saveXML();
- }
-
- /**
- * Overwrites standard __sleep method to make this object serializable.
- *
- * DomDocument and DOMXpath objects cannot be serialized.
- * This method converts them back to an XML string.
- *
- * @return void
- */
- public function __sleep() {
- $this->_xml = $this->getXml();
- $vars = array_keys(get_object_vars($this));
- return array_diff($vars, array('_dom', '_xpath'));
- }
-
- /**
- * Overwrites standard __wakeup method to make this object unserializable.
- *
- * Restores object status before serialization.
- * Converts XML string into a DomDocument object and creates a valid
- * DOMXpath instance for given DocDocument.
- *
- * @return void
- */
- public function __wakeup() {
- $dom = new DOMDocument();
- $dom->loadXml($this->_xml);
- $this->_init($dom);
- $this->_xml = null; // reset XML content
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/SearchResult.php b/airtime_mvc/library/Zend/Service/Technorati/SearchResult.php
deleted file mode 100644
index d98aadc62..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/SearchResult.php
+++ /dev/null
@@ -1,150 +0,0 @@
-_fields = array( '_permalink' => 'permalink',
- '_excerpt' => 'excerpt',
- '_created' => 'created',
- '_title' => 'title');
- parent::__construct($dom);
-
- // weblog object field
- $this->_parseWeblog();
-
- // filter fields
- $this->_permalink = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_permalink);
- $this->_created = Zend_Service_Technorati_Utils::normalizeDate($this->_created);
- }
-
- /**
- * Returns the weblog object that links queried URL.
- *
- * @return Zend_Service_Technorati_Weblog
- */
- public function getWeblog() {
- return $this->_weblog;
- }
-
- /**
- * Returns the title of the entry.
- *
- * @return string
- */
- public function getTitle() {
- return $this->_title;
- }
-
- /**
- * Returns the blurb from entry with search term highlighted.
- *
- * @return string
- */
- public function getExcerpt() {
- return $this->_excerpt;
- }
-
- /**
- * Returns the datetime the entry was created.
- *
- * @return Zend_Date
- */
- public function getCreated() {
- return $this->_created;
- }
-
- /**
- * Returns the permalink of the blog entry.
- *
- * @return Zend_Uri_Http
- */
- public function getPermalink() {
- return $this->_permalink;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/SearchResultSet.php b/airtime_mvc/library/Zend/Service/Technorati/SearchResultSet.php
deleted file mode 100644
index c4cfa46a2..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/SearchResultSet.php
+++ /dev/null
@@ -1,79 +0,0 @@
-_xpath->query('/tapi/document/result/querycount/text()');
- if ($result->length == 1) $this->_queryCount = (int) $result->item(0)->data;
-
- $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/item)");
- $this->_totalResultsAvailable = (int) $this->_queryCount;
- }
-
- /**
- * Implements Zend_Service_Technorati_ResultSet::current().
- *
- * @return Zend_Service_Technorati_SearchResult current result
- */
- public function current()
- {
- /**
- * @see Zend_Service_Technorati_SearchResult
- */
- require_once 'Zend/Service/Technorati/SearchResult.php';
- return new Zend_Service_Technorati_SearchResult($this->_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/TagResult.php b/airtime_mvc/library/Zend/Service/Technorati/TagResult.php
deleted file mode 100644
index e1f203170..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/TagResult.php
+++ /dev/null
@@ -1,171 +0,0 @@
-_fields = array( '_permalink' => 'permalink',
- '_excerpt' => 'excerpt',
- '_created' => 'created',
- '_updated' => 'postupdate',
- '_title' => 'title');
- parent::__construct($dom);
-
- // weblog object field
- $this->_parseWeblog();
-
- // filter fields
- $this->_permalink = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_permalink);
- $this->_created = Zend_Service_Technorati_Utils::normalizeDate($this->_created);
- $this->_updated = Zend_Service_Technorati_Utils::normalizeDate($this->_updated);
- }
-
- /**
- * Returns the weblog object that links queried URL.
- *
- * @return Zend_Service_Technorati_Weblog
- */
- public function getWeblog() {
- return $this->_weblog;
- }
-
- /**
- * Returns the title of the entry.
- *
- * @return string
- */
- public function getTitle() {
- return $this->_title;
- }
-
- /**
- * Returns the blurb from entry with search term highlighted.
- *
- * @return string
- */
- public function getExcerpt() {
- return $this->_excerpt;
- }
-
- /**
- * Returns the datetime the entry was created.
- *
- * @return Zend_Date
- */
- public function getCreated() {
- return $this->_created;
- }
-
- /**
- * Returns the datetime the entry was updated.
- *
- * @return Zend_Date
- */
- public function getUpdated() {
- return $this->_updated;
- }
-
- /**
- * Returns the permalink of the blog entry.
- *
- * @return Zend_Uri_Http
- */
- public function getPermalink() {
- return $this->_permalink;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/TagResultSet.php b/airtime_mvc/library/Zend/Service/Technorati/TagResultSet.php
deleted file mode 100644
index 99809eabf..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/TagResultSet.php
+++ /dev/null
@@ -1,110 +0,0 @@
-_xpath->query('/tapi/document/result/postsmatched/text()');
- if ($result->length == 1) $this->_postsMatched = (int) $result->item(0)->data;
-
- $result = $this->_xpath->query('/tapi/document/result/blogsmatched/text()');
- if ($result->length == 1) $this->_blogsMatched = (int) $result->item(0)->data;
-
- $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/item)");
- /** @todo Validate the following assertion */
- $this->_totalResultsAvailable = (int) $this->getPostsMatched();
- }
-
-
- /**
- * Returns the number of posts that match the tag.
- *
- * @return int
- */
- public function getPostsMatched() {
- return $this->_postsMatched;
- }
-
- /**
- * Returns the number of blogs that match the tag.
- *
- * @return int
- */
- public function getBlogsMatched() {
- return $this->_blogsMatched;
- }
-
- /**
- * Implements Zend_Service_Technorati_ResultSet::current().
- *
- * @return Zend_Service_Technorati_TagResult current result
- */
- public function current()
- {
- /**
- * @see Zend_Service_Technorati_TagResult
- */
- require_once 'Zend/Service/Technorati/TagResult.php';
- return new Zend_Service_Technorati_TagResult($this->_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/TagsResult.php b/airtime_mvc/library/Zend/Service/Technorati/TagsResult.php
deleted file mode 100644
index 5b1afc6a3..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/TagsResult.php
+++ /dev/null
@@ -1,93 +0,0 @@
-_fields = array( '_tag' => 'tag',
- '_posts' => 'posts');
- parent::__construct($dom);
-
- // filter fields
- $this->_tag = (string) $this->_tag;
- $this->_posts = (int) $this->_posts;
- }
-
- /**
- * Returns the tag name.
- *
- * @return string
- */
- public function getTag() {
- return $this->_tag;
- }
-
- /**
- * Returns the number of posts.
- *
- * @return int
- */
- public function getPosts() {
- return $this->_posts;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/TagsResultSet.php b/airtime_mvc/library/Zend/Service/Technorati/TagsResultSet.php
deleted file mode 100644
index 1bdba3c21..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/TagsResultSet.php
+++ /dev/null
@@ -1,67 +0,0 @@
-_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/item)");
- $this->_totalResultsAvailable = (int) $this->_totalResultsReturned;
- }
-
- /**
- * Implements Zend_Service_Technorati_ResultSet::current().
- *
- * @return Zend_Service_Technorati_TagsResult current result
- */
- public function current()
- {
- /**
- * @see Zend_Service_Technorati_TagsResult
- */
- require_once 'Zend/Service/Technorati/TagsResult.php';
- return new Zend_Service_Technorati_TagsResult($this->_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/Utils.php b/airtime_mvc/library/Zend/Service/Technorati/Utils.php
deleted file mode 100644
index 9b628bcae..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/Utils.php
+++ /dev/null
@@ -1,136 +0,0 @@
-getMessage(), 0, $e);
- }
- }
-
- // allow inly Zend_Uri_Http objects or child classes
- if (!($uri instanceof Zend_Uri_Http)) {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception(
- "Invalid URL $uri, only HTTP(S) protocols can be used");
- }
-
- return $uri;
- }
- /**
- * Parses, validates and returns a valid Zend_Date object
- * from given $input.
- *
- * $input can be either a string, an integer or a Zend_Date object.
- * If $input is string or int, it will be provided to Zend_Date as it is.
- * If $input is a Zend_Date object, the object instance will be returned.
- *
- * @param mixed|Zend_Date $input
- * @return null|Zend_Date
- * @throws Zend_Service_Technorati_Exception
- * @static
- */
- public static function normalizeDate($input)
- {
- /**
- * @see Zend_Date
- */
- require_once 'Zend/Date.php';
- /**
- * @see Zend_Locale
- */
- require_once 'Zend/Locale.php';
-
- // allow null as value and return valid Zend_Date objects
- if (($input === null) || ($input instanceof Zend_Date)) {
- return $input;
- }
-
- // due to a BC break as of ZF 1.5 it's not safe to use Zend_Date::isDate() here
- // see ZF-2524, ZF-2334
- if (@strtotime($input) !== FALSE) {
- return new Zend_Date($input);
- } else {
- /**
- * @see Zend_Service_Technorati_Exception
- */
- require_once 'Zend/Service/Technorati/Exception.php';
- throw new Zend_Service_Technorati_Exception("'$input' is not a valid Date/Time");
- }
- }
-
- /**
- * @todo public static function xpathQueryAndSet() {}
- */
-
- /**
- * @todo public static function xpathQueryAndSetIf() {}
- */
-
- /**
- * @todo public static function xpathQueryAndSetUnless() {}
- */
-}
diff --git a/airtime_mvc/library/Zend/Service/Technorati/Weblog.php b/airtime_mvc/library/Zend/Service/Technorati/Weblog.php
deleted file mode 100644
index 4fa9df0f4..000000000
--- a/airtime_mvc/library/Zend/Service/Technorati/Weblog.php
+++ /dev/null
@@ -1,486 +0,0 @@
-ownerDocument);
-
- $result = $xpath->query('./name/text()', $dom);
- if ($result->length == 1) $this->setName($result->item(0)->data);
-
- $result = $xpath->query('./url/text()', $dom);
- if ($result->length == 1) $this->setUrl($result->item(0)->data);
-
- $result = $xpath->query('./inboundblogs/text()', $dom);
- if ($result->length == 1) $this->setInboundBlogs($result->item(0)->data);
-
- $result = $xpath->query('./inboundlinks/text()', $dom);
- if ($result->length == 1) $this->setInboundLinks($result->item(0)->data);
-
- $result = $xpath->query('./lastupdate/text()', $dom);
- if ($result->length == 1) $this->setLastUpdate($result->item(0)->data);
-
- /* The following elements need more attention */
-
- $result = $xpath->query('./rssurl/text()', $dom);
- if ($result->length == 1) $this->setRssUrl($result->item(0)->data);
-
- $result = $xpath->query('./atomurl/text()', $dom);
- if ($result->length == 1) $this->setAtomUrl($result->item(0)->data);
-
- $result = $xpath->query('./author', $dom);
- if ($result->length >= 1) {
- foreach ($result as $author) {
- $this->_authors[] = new Zend_Service_Technorati_Author($author);
- }
- }
-
- /**
- * The following are optional elements
- *
- * I can't find any official documentation about the following properties
- * however they are included in response DTD and/or test responses.
- */
-
- $result = $xpath->query('./rank/text()', $dom);
- if ($result->length == 1) $this->setRank($result->item(0)->data);
-
- $result = $xpath->query('./lat/text()', $dom);
- if ($result->length == 1) $this->setLat($result->item(0)->data);
-
- $result = $xpath->query('./lon/text()', $dom);
- if ($result->length == 1) $this->setLon($result->item(0)->data);
-
- $result = $xpath->query('./hasphoto/text()', $dom);
- if ($result->length == 1) $this->setHasPhoto($result->item(0)->data);
- }
-
-
- /**
- * Returns weblog name.
- *
- * @return string Weblog name
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Returns weblog URL.
- *
- * @return null|Zend_Uri_Http object representing weblog base URL
- */
- public function getUrl()
- {
- return $this->_url;
- }
-
- /**
- * Returns number of unique blogs linking this blog.
- *
- * @return integer the number of inbound blogs
- */
- public function getInboundBlogs()
- {
- return $this->_inboundBlogs;
- }
-
- /**
- * Returns number of incoming links to this blog.
- *
- * @return integer the number of inbound links
- */
- public function getInboundLinks()
- {
- return $this->_inboundLinks;
- }
-
- /**
- * Returns weblog Rss URL.
- *
- * @return null|Zend_Uri_Http object representing the URL
- * of the RSS feed for given blog
- */
- public function getRssUrl()
- {
- return $this->_rssUrl;
- }
-
- /**
- * Returns weblog Atom URL.
- *
- * @return null|Zend_Uri_Http object representing the URL
- * of the Atom feed for given blog
- */
- public function getAtomUrl()
- {
- return $this->_atomUrl;
- }
-
- /**
- * Returns UNIX timestamp of the last weblog update.
- *
- * @return integer UNIX timestamp of the last weblog update
- */
- public function getLastUpdate()
- {
- return $this->_lastUpdate;
- }
-
- /**
- * Returns weblog rank value.
- *
- * Note. This property is not documented.
- *
- * @return integer weblog rank value
- */
- public function getRank()
- {
- return $this->_rank;
- }
-
- /**
- * Returns weblog latitude coordinate.
- *
- * Note. This property is not documented.
- *
- * @return float weblog latitude coordinate
- */
- public function getLat() {
- return $this->_lat;
- }
-
- /**
- * Returns weblog longitude coordinate.
- *
- * Note. This property is not documented.
- *
- * @return float weblog longitude coordinate
- */
- public function getLon()
- {
- return $this->_lon;
- }
-
- /**
- * Returns whether the author who claimed this weblog has a photo.
- *
- * Note. This property is not documented.
- *
- * @return bool TRUE if the author who claimed this weblog has a photo,
- * FALSE otherwise.
- */
- public function hasPhoto()
- {
- return (bool) $this->_hasPhoto;
- }
-
- /**
- * Returns the array of weblog authors.
- *
- * @return array of Zend_Service_Technorati_Author authors
- */
- public function getAuthors()
- {
- return (array) $this->_authors;
- }
-
-
- /**
- * Sets weblog name.
- *
- * @param string $name
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setName($name)
- {
- $this->_name = (string) $name;
- return $this;
- }
-
- /**
- * Sets weblog URL.
- *
- * @param string|Zend_Uri_Http $url
- * @return void
- * @throws Zend_Service_Technorati_Exception if $input is an invalid URI
- * (via Zend_Service_Technorati_Utils::normalizeUriHttp)
- */
- public function setUrl($url)
- {
- $this->_url = Zend_Service_Technorati_Utils::normalizeUriHttp($url);
- return $this;
- }
-
- /**
- * Sets number of inbound blogs.
- *
- * @param integer $number
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setInboundBlogs($number)
- {
- $this->_inboundBlogs = (int) $number;
- return $this;
- }
-
- /**
- * Sets number of Iinbound links.
- *
- * @param integer $number
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setInboundLinks($number)
- {
- $this->_inboundLinks = (int) $number;
- return $this;
- }
-
- /**
- * Sets weblog Rss URL.
- *
- * @param string|Zend_Uri_Http $url
- * @return Zend_Service_Technorati_Weblog $this instance
- * @throws Zend_Service_Technorati_Exception if $input is an invalid URI
- * (via Zend_Service_Technorati_Utils::normalizeUriHttp)
- */
- public function setRssUrl($url)
- {
- $this->_rssUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($url);
- return $this;
- }
-
- /**
- * Sets weblog Atom URL.
- *
- * @param string|Zend_Uri_Http $url
- * @return Zend_Service_Technorati_Weblog $this instance
- * @throws Zend_Service_Technorati_Exception if $input is an invalid URI
- * (via Zend_Service_Technorati_Utils::normalizeUriHttp)
- */
- public function setAtomUrl($url)
- {
- $this->_atomUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($url);
- return $this;
- }
-
- /**
- * Sets weblog Last Update timestamp.
- *
- * $datetime can be any value supported by
- * Zend_Service_Technorati_Utils::normalizeDate().
- *
- * @param mixed $datetime A string representing the last update date time
- * in a valid date time format
- * @return Zend_Service_Technorati_Weblog $this instance
- * @throws Zend_Service_Technorati_Exception
- */
- public function setLastUpdate($datetime)
- {
- $this->_lastUpdate = Zend_Service_Technorati_Utils::normalizeDate($datetime);
- return $this;
- }
-
- /**
- * Sets weblog Rank.
- *
- * @param integer $rank
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setRank($rank)
- {
- $this->_rank = (int) $rank;
- return $this;
- }
-
- /**
- * Sets weblog latitude coordinate.
- *
- * @param float $coordinate
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setLat($coordinate)
- {
- $this->_lat = (float) $coordinate;
- return $this;
- }
-
- /**
- * Sets weblog longitude coordinate.
- *
- * @param float $coordinate
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setLon($coordinate)
- {
- $this->_lon = (float) $coordinate;
- return $this;
- }
-
- /**
- * Sets hasPhoto property.
- *
- * @param bool $hasPhoto
- * @return Zend_Service_Technorati_Weblog $this instance
- */
- public function setHasPhoto($hasPhoto)
- {
- $this->_hasPhoto = (bool) $hasPhoto;
- return $this;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Twitter.php b/airtime_mvc/library/Zend/Service/Twitter.php
deleted file mode 100644
index b3454496c..000000000
--- a/airtime_mvc/library/Zend/Service/Twitter.php
+++ /dev/null
@@ -1,979 +0,0 @@
-setLocalHttpClient(clone self::getHttpClient());
- if (is_array($username) && is_null($password)) {
- if (isset($username['username']) && isset($username['password'])) {
- $this->setUsername($username['username']);
- $this->setPassword($username['password']);
- } elseif (isset($username[0]) && isset($username[1])) {
- $this->setUsername($username[0]);
- $this->setPassword($username[1]);
- }
- } else if (!is_null($username)) {
- $this->setUsername($username);
- $this->setPassword($password);
- }
- $this->setUri('http://twitter.com');
- $this->_localHttpClient->setHeaders('Accept-Charset', 'ISO-8859-1,utf-8');
- }
-
- /**
- * Set local HTTP client as distinct from the static HTTP client
- * as inherited from Zend_Rest_Client.
- *
- * @param Zend_Http_Client $client
- * @return self
- */
- public function setLocalHttpClient(Zend_Http_Client $client)
- {
- $this->_localHttpClient = $client;
- return $this;
- }
-
- public function getLocalHttpClient()
- {
- return $this->_localHttpClient;
- }
-
- /**
- * Retrieve username
- *
- * @return string
- */
- public function getUsername()
- {
- return $this->_username;
- }
-
- /**
- * Set username
- *
- * @param string $value
- * @return Zend_Service_Twitter
- */
- public function setUsername($value)
- {
- $this->_username = $value;
- $this->_authInitialized = false;
- return $this;
- }
-
- /**
- * Retrieve password
- *
- * @return string
- */
- public function getPassword()
- {
- return $this->_password;
- }
-
- /**
- * Set password
- *
- * @param string $value
- * @return Zend_Service_Twitter
- */
- public function setPassword($value)
- {
- $this->_password = $value;
- $this->_authInitialized = false;
- return $this;
- }
-
- /**
- * Proxy service methods
- *
- * @param string $type
- * @return Zend_Service_Twitter
- * @throws Zend_Service_Twitter_Exception if method is not in method types list
- */
- public function __get($type)
- {
- if (!in_array($type, $this->_methodTypes)) {
- include_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Invalid method type "' . $type . '"');
- }
- $this->_methodType = $type;
- return $this;
- }
-
- /**
- * Method overloading
- *
- * @param string $method
- * @param array $params
- * @return mixed
- * @throws Zend_Service_Twitter_Exception if unable to find method
- */
- public function __call($method, $params)
- {
- if (empty($this->_methodType)) {
- include_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Invalid method "' . $method . '"');
- }
- $test = $this->_methodType . ucfirst($method);
- if (!method_exists($this, $test)) {
- include_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Invalid method "' . $test . '"');
- }
-
- return call_user_func_array(array($this, $test), $params);
- }
-
- /**
- * Initialize HTTP authentication
- *
- * @return void
- */
- protected function _init()
- {
- $client = $this->_localHttpClient;
- $client->resetParameters();
- if (null == $this->_cookieJar) {
- $client->setCookieJar();
- $this->_cookieJar = $client->getCookieJar();
- } else {
- $client->setCookieJar($this->_cookieJar);
- }
- if (!$this->_authInitialized && $this->getUsername() !== null) {
- $client->setAuth($this->getUsername(), $this->getPassword());
- $this->_authInitialized = true;
- }
- }
-
- /**
- * Set date header
- *
- * @param int|string $value
- * @deprecated Not supported by Twitter since April 08, 2009
- * @return void
- */
- protected function _setDate($value)
- {
- if (is_int($value)) {
- $date = date($this->_dateFormat, $value);
- } else {
- $date = date($this->_dateFormat, strtotime($value));
- }
- $this->_localHttpClient->setHeaders('If-Modified-Since', $date);
- }
-
- /**
- * Public Timeline status
- *
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function statusPublicTimeline()
- {
- $this->_init();
- $path = '/statuses/public_timeline.xml';
- $response = $this->_get($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Friend Timeline Status
- *
- * $params may include one or more of the following keys
- * - id: ID of a friend whose timeline you wish to receive
- * - count: how many statuses to return
- * - since_id: return results only after the specific tweet
- * - page: return page X of results
- *
- * @param array $params
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return void
- */
- public function statusFriendsTimeline(array $params = array())
- {
- $this->_init();
- $path = '/statuses/friends_timeline';
- $_params = array();
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'count':
- $count = (int) $value;
- if (0 >= $count) {
- $count = 1;
- } elseif (200 < $count) {
- $count = 200;
- }
- $_params['count'] = (int) $count;
- break;
- case 'since_id':
- $_params['since_id'] = $this->_validInteger($value);
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- default:
- break;
- }
- }
- $path .= '.xml';
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * User Timeline status
- *
- * $params may include one or more of the following keys
- * - id: ID of a friend whose timeline you wish to receive
- * - since_id: return results only after the tweet id specified
- * - page: return page X of results
- * - count: how many statuses to return
- * - max_id: returns only statuses with an ID less than or equal to the specified ID
- * - user_id: specfies the ID of the user for whom to return the user_timeline
- * - screen_name: specfies the screen name of the user for whom to return the user_timeline
- *
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function statusUserTimeline(array $params = array())
- {
- $this->_init();
- $path = '/statuses/user_timeline';
- $_params = array();
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'id':
- $path .= '/' . $value;
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- case 'count':
- $count = (int) $value;
- if (0 >= $count) {
- $count = 1;
- } elseif (200 < $count) {
- $count = 200;
- }
- $_params['count'] = $count;
- break;
- case 'user_id':
- $_params['user_id'] = $this->_validInteger($value);
- break;
- case 'screen_name':
- $_params['screen_name'] = $this->_validateScreenName($value);
- break;
- case 'since_id':
- $_params['since_id'] = $this->_validInteger($value);
- break;
- case 'max_id':
- $_params['max_id'] = $this->_validInteger($value);
- break;
- default:
- break;
- }
- }
- $path .= '.xml';
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Show a single status
- *
- * @param int $id Id of status to show
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function statusShow($id)
- {
- $this->_init();
- $path = '/statuses/show/' . $this->_validInteger($id) . '.xml';
- $response = $this->_get($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Update user's current status
- *
- * @param string $status
- * @param int $in_reply_to_status_id
- * @return Zend_Rest_Client_Result
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @throws Zend_Service_Twitter_Exception if message is too short or too long
- */
- public function statusUpdate($status, $inReplyToStatusId = null)
- {
- $this->_init();
- $path = '/statuses/update.xml';
- $len = iconv_strlen(htmlspecialchars($status, ENT_QUOTES, 'UTF-8'), 'UTF-8');
- if ($len > self::STATUS_MAX_CHARACTERS) {
- include_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Status must be no more than ' . self::STATUS_MAX_CHARACTERS . ' characters in length');
- } elseif (0 == $len) {
- include_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Status must contain at least one character');
- }
- $data = array('status' => $status);
- if (is_numeric($inReplyToStatusId) && !empty($inReplyToStatusId)) {
- $data['in_reply_to_status_id'] = $inReplyToStatusId;
- }
- //$this->status = $status;
- $response = $this->_post($path, $data);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Get status replies
- *
- * $params may include one or more of the following keys
- * - since_id: return results only after the specified tweet id
- * - page: return page X of results
- *
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function statusReplies(array $params = array())
- {
- $this->_init();
- $path = '/statuses/replies.xml';
- $_params = array();
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'since_id':
- $_params['since_id'] = $this->_validInteger($value);
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- default:
- break;
- }
- }
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Destroy a status message
- *
- * @param int $id ID of status to destroy
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function statusDestroy($id)
- {
- $this->_init();
- $path = '/statuses/destroy/' . $this->_validInteger($id) . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * User friends
- *
- * @param int|string $id Id or username of user for whom to fetch friends
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function userFriends(array $params = array())
- {
- $this->_init();
- $path = '/statuses/friends';
- $_params = array();
-
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'id':
- $path .= '/' . $value;
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- default:
- break;
- }
- }
- $path .= '.xml';
-
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * User Followers
- *
- * @param bool $lite If true, prevents inline inclusion of current status for followers; defaults to false
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function userFollowers($lite = false)
- {
- $this->_init();
- $path = '/statuses/followers.xml';
- if ($lite) {
- $this->lite = 'true';
- }
- $response = $this->_get($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Get featured users
- *
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function userFeatured()
- {
- $this->_init();
- $path = '/statuses/featured.xml';
- $response = $this->_get($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Show extended information on a user
- *
- * @param int|string $id User ID or name
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function userShow($id)
- {
- $this->_init();
- $path = '/users/show/' . $id . '.xml';
- $response = $this->_get($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Retrieve direct messages for the current user
- *
- * $params may include one or more of the following keys
- * - since_id: return statuses only greater than the one specified
- * - page: return page X of results
- *
- * @param array $params
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function directMessageMessages(array $params = array())
- {
- $this->_init();
- $path = '/direct_messages.xml';
- $_params = array();
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'since_id':
- $_params['since_id'] = $this->_validInteger($value);
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- default:
- break;
- }
- }
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Retrieve list of direct messages sent by current user
- *
- * $params may include one or more of the following keys
- * - since_id: return statuses only greater than the one specified
- * - page: return page X of results
- *
- * @param array $params
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function directMessageSent(array $params = array())
- {
- $this->_init();
- $path = '/direct_messages/sent.xml';
- $_params = array();
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'since_id':
- $_params['since_id'] = $this->_validInteger($value);
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- default:
- break;
- }
- }
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Send a direct message to a user
- *
- * @param int|string $user User to whom to send message
- * @param string $text Message to send to user
- * @return Zend_Rest_Client_Result
- * @throws Zend_Service_Twitter_Exception if message is too short or too long
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- */
- public function directMessageNew($user, $text)
- {
- $this->_init();
- $path = '/direct_messages/new.xml';
- $len = iconv_strlen($text, 'UTF-8');
- if (0 == $len) {
- throw new Zend_Service_Twitter_Exception('Direct message must contain at least one character');
- } elseif (140 < $len) {
- throw new Zend_Service_Twitter_Exception('Direct message must contain no more than 140 characters');
- }
- $data = array('user' => $user, 'text' => $text);
- $response = $this->_post($path, $data);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Destroy a direct message
- *
- * @param int $id ID of message to destroy
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function directMessageDestroy($id)
- {
- $this->_init();
- $path = '/direct_messages/destroy/' . $this->_validInteger($id) . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Create friendship
- *
- * @param int|string $id User ID or name of new friend
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function friendshipCreate($id)
- {
- $this->_init();
- $path = '/friendships/create/' . $id . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Destroy friendship
- *
- * @param int|string $id User ID or name of friend to remove
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function friendshipDestroy($id)
- {
- $this->_init();
- $path = '/friendships/destroy/' . $id . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Friendship exists
- *
- * @param int|string $id User ID or name of friend to see if they are your friend
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_result
- */
- public function friendshipExists($id)
- {
- $this->_init();
- $path = '/friendships/exists.xml';
- $data = array('user_a' => $this->getUsername(), 'user_b' => $id);
- $response = $this->_get($path, $data);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Verify Account Credentials
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- *
- * @return Zend_Rest_Client_Result
- */
- public function accountVerifyCredentials()
- {
- $this->_init();
- $response = $this->_get('/account/verify_credentials.xml');
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * End current session
- *
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return true
- */
- public function accountEndSession()
- {
- $this->_init();
- $this->_get('/account/end_session');
- return true;
- }
-
- /**
- * Returns the number of api requests you have left per hour.
- *
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function accountRateLimitStatus()
- {
- $this->_init();
- $response = $this->_get('/account/rate_limit_status.xml');
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Fetch favorites
- *
- * $params may contain one or more of the following:
- * - 'id': Id of a user for whom to fetch favorites
- * - 'page': Retrieve a different page of resuls
- *
- * @param array $params
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function favoriteFavorites(array $params = array())
- {
- $this->_init();
- $path = '/favorites';
- $_params = array();
- foreach ($params as $key => $value) {
- switch (strtolower($key)) {
- case 'id':
- $path .= '/' . $this->_validInteger($value);
- break;
- case 'page':
- $_params['page'] = (int) $value;
- break;
- default:
- break;
- }
- }
- $path .= '.xml';
- $response = $this->_get($path, $_params);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Mark a status as a favorite
- *
- * @param int $id Status ID you want to mark as a favorite
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function favoriteCreate($id)
- {
- $this->_init();
- $path = '/favorites/create/' . $this->_validInteger($id) . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Remove a favorite
- *
- * @param int $id Status ID you want to de-list as a favorite
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return Zend_Rest_Client_Result
- */
- public function favoriteDestroy($id)
- {
- $this->_init();
- $path = '/favorites/destroy/' . $this->_validInteger($id) . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Blocks the user specified in the ID parameter as the authenticating user.
- * Destroys a friendship to the blocked user if it exists.
- *
- * @param integer|string $id The ID or screen name of a user to block.
- * @return Zend_Rest_Client_Result
- */
- public function blockCreate($id)
- {
- $this->_init();
- $path = '/blocks/create/' . $id . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Un-blocks the user specified in the ID parameter for the authenticating user
- *
- * @param integer|string $id The ID or screen_name of the user to un-block.
- * @return Zend_Rest_Client_Result
- */
- public function blockDestroy($id)
- {
- $this->_init();
- $path = '/blocks/destroy/' . $id . '.xml';
- $response = $this->_post($path);
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Returns if the authenticating user is blocking a target user.
- *
- * @param string|integer $id The ID or screen_name of the potentially blocked user.
- * @param boolean $returnResult Instead of returning a boolean return the rest response from twitter
- * @return Boolean|Zend_Rest_Client_Result
- */
- public function blockExists($id, $returnResult = false)
- {
- $this->_init();
- $path = '/blocks/exists/' . $id . '.xml';
- $response = $this->_get($path);
-
- $cr = new Zend_Rest_Client_Result($response->getBody());
-
- if ($returnResult === true)
- return $cr;
-
- if (!empty($cr->request)) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Returns an array of user objects that the authenticating user is blocking
- *
- * @param integer $page Optional. Specifies the page number of the results beginning at 1. A single page contains 20 ids.
- * @param boolean $returnUserIds Optional. Returns only the userid's instead of the whole user object
- * @return Zend_Rest_Client_Result
- */
- public function blockBlocking($page = 1, $returnUserIds = false)
- {
- $this->_init();
- $path = '/blocks/blocking';
- if ($returnUserIds === true) {
- $path .= '/ids';
- }
- $path .= '.xml';
- $response = $this->_get($path, array('page' => $page));
- return new Zend_Rest_Client_Result($response->getBody());
- }
-
- /**
- * Protected function to validate that the integer is valid or return a 0
- * @param $int
- * @throws Zend_Http_Client_Exception if HTTP request fails or times out
- * @return integer
- */
- protected function _validInteger($int)
- {
- if (preg_match("/(\d+)/", $int)) {
- return $int;
- }
- return 0;
- }
-
- /**
- * Validate a screen name using Twitter rules
- *
- * @param string $name
- * @throws Zend_Service_Twitter_Exception
- * @return string
- */
- protected function _validateScreenName($name)
- {
- if (!preg_match('/^[a-zA-Z0-9_]{0,20}$/', $name)) {
- require_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Screen name, "' . $name . '" should only contain alphanumeric characters and' . ' underscores, and not exceed 15 characters.');
- }
- return $name;
- }
-
- /**
- * Call a remote REST web service URI and return the Zend_Http_Response object
- *
- * @param string $path The path to append to the URI
- * @throws Zend_Rest_Client_Exception
- * @return void
- */
- protected function _prepare($path)
- {
- // Get the URI object and configure it
- if (!$this->_uri instanceof Zend_Uri_Http) {
- require_once 'Zend/Rest/Client/Exception.php';
- throw new Zend_Rest_Client_Exception('URI object must be set before performing call');
- }
-
- $uri = $this->_uri->getUri();
-
- if ($path[0] != '/' && $uri[strlen($uri) - 1] != '/') {
- $path = '/' . $path;
- }
-
- $this->_uri->setPath($path);
-
- /**
- * Get the HTTP client and configure it for the endpoint URI. Do this each time
- * because the Zend_Http_Client instance is shared among all Zend_Service_Abstract subclasses.
- */
- $this->_localHttpClient->resetParameters()->setUri($this->_uri);
- }
-
- /**
- * Performs an HTTP GET request to the $path.
- *
- * @param string $path
- * @param array $query Array of GET parameters
- * @throws Zend_Http_Client_Exception
- * @return Zend_Http_Response
- */
- protected function _get($path, array $query = null)
- {
- $this->_prepare($path);
- $this->_localHttpClient->setParameterGet($query);
- return $this->_localHttpClient->request('GET');
- }
-
- /**
- * Performs an HTTP POST request to $path.
- *
- * @param string $path
- * @param mixed $data Raw data to send
- * @throws Zend_Http_Client_Exception
- * @return Zend_Http_Response
- */
- protected function _post($path, $data = null)
- {
- $this->_prepare($path);
- return $this->_performPost('POST', $data);
- }
-
- /**
- * Perform a POST or PUT
- *
- * Performs a POST or PUT request. Any data provided is set in the HTTP
- * client. String data is pushed in as raw POST data; array or object data
- * is pushed in as POST parameters.
- *
- * @param mixed $method
- * @param mixed $data
- * @return Zend_Http_Response
- */
- protected function _performPost($method, $data = null)
- {
- $client = $this->_localHttpClient;
- if (is_string($data)) {
- $client->setRawData($data);
- } elseif (is_array($data) || is_object($data)) {
- $client->setParameterPost((array) $data);
- }
- return $client->request($method);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Service/Twitter/Exception.php b/airtime_mvc/library/Zend/Service/Twitter/Exception.php
deleted file mode 100644
index 9d43eaf6b..000000000
--- a/airtime_mvc/library/Zend/Service/Twitter/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-setResponseType($responseType);
- $this->setUri("http://search.twitter.com");
-
- $this->setHeaders('Accept-Charset', 'ISO-8859-1,utf-8');
- }
-
- /**
- * set responseType
- *
- * @param string $responseType
- * @throws Zend_Service_Twitter_Exception
- * @return Zend_Service_Twitter_Search
- */
- public function setResponseType($responseType = 'json')
- {
- if(!in_array($responseType, $this->_responseTypes, TRUE)) {
- require_once 'Zend/Service/Twitter/Exception.php';
- throw new Zend_Service_Twitter_Exception('Invalid Response Type');
- }
- $this->_responseType = $responseType;
- return $this;
- }
-
- /**
- * Retrieve responseType
- *
- * @return string
- */
- public function getResponseType()
- {
- return $this->_responseType;
- }
-
- /**
- * Get the current twitter trends. Currnetly only supports json as the return.
- *
- * @throws Zend_Http_Client_Exception
- * @return array
- */
- public function trends()
- {
- $response = $this->restGet('/trends.json');
-
- return Zend_Json::decode($response->getBody());
- }
-
- /**
- * Performs a Twitter search query.
- *
- * @throws Zend_Http_Client_Exception
- */
- public function search($query, array $params = array())
- {
-
- $_query = array();
-
- $_query['q'] = $query;
-
- foreach($params as $key=>$param) {
- switch($key) {
- case 'geocode':
- case 'lang':
- case 'since_id':
- $_query[$key] = $param;
- break;
- case 'rpp':
- $_query[$key] = (intval($param) > 100) ? 100 : intval($param);
- break;
- case 'page':
- $_query[$key] = intval($param);
- break;
- case 'show_user':
- $_query[$key] = 'true';
- }
- }
-
- $response = $this->restGet('/search.' . $this->_responseType, $_query);
-
- switch($this->_responseType) {
- case 'json':
- return Zend_Json::decode($response->getBody());
- break;
- case 'atom':
- return Zend_Feed::importString($response->getBody());
- break;
- }
-
- return ;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/CredentialsAbstract.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/CredentialsAbstract.php
deleted file mode 100644
index a69b580f9..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/CredentialsAbstract.php
+++ /dev/null
@@ -1,197 +0,0 @@
-_accountName = $accountName;
- $this->_accountKey = base64_decode($accountKey);
- $this->_usePathStyleUri = $usePathStyleUri;
- }
-
- /**
- * Set account name for Windows Azure
- *
- * @param string $value
- * @return Zend_Service_WindowsAzure_Credentials_CredentialsAbstract
- */
- public function setAccountName($value = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::DEVSTORE_ACCOUNT)
- {
- $this->_accountName = $value;
- return $this;
- }
-
- /**
- * Set account key for Windows Azure
- *
- * @param string $value
- * @return Zend_Service_WindowsAzure_Credentials_CredentialsAbstract
- */
- public function setAccountkey($value = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::DEVSTORE_KEY)
- {
- $this->_accountKey = base64_decode($value);
- return $this;
- }
-
- /**
- * Set use path-style URI's
- *
- * @param boolean $value
- * @return Zend_Service_WindowsAzure_Credentials_CredentialsAbstract
- */
- public function setUsePathStyleUri($value = false)
- {
- $this->_usePathStyleUri = $value;
- return $this;
- }
-
- /**
- * Sign request URL with credentials
- *
- * @param string $requestUrl Request URL
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return string Signed request URL
- */
- abstract public function signRequestUrl(
- $requestUrl = '',
- $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN,
- $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ
- );
-
- /**
- * Sign request headers with credentials
- *
- * @param string $httpVerb HTTP verb the request will use
- * @param string $path Path for the request
- * @param string $queryString Query string for the request
- * @param array $headers x-ms headers to add
- * @param boolean $forTableStorage Is the request for table storage?
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return array Array of headers
- */
- abstract public function signRequestHeaders(
- $httpVerb = Zend_Http_Client::GET,
- $path = '/',
- $queryString = '',
- $headers = null,
- $forTableStorage = false,
- $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN,
- $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ
- );
-
-
- /**
- * Prepare query string for signing
- *
- * @param string $value Original query string
- * @return string Query string for signing
- */
- protected function _prepareQueryStringForSigning($value)
- {
- // Check for 'comp='
- if (strpos($value, 'comp=') === false) {
- // If not found, no query string needed
- return '';
- } else {
- // If found, make sure it is the only parameter being used
- if (strlen($value) > 0 && strpos($value, '?') === 0) {
- $value = substr($value, 1);
- }
-
- // Split parts
- $queryParts = explode('&', $value);
- foreach ($queryParts as $queryPart) {
- if (strpos($queryPart, 'comp=') !== false) {
- return '?' . $queryPart;
- }
- }
-
- // Should never happen...
- return '';
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedAccessSignature.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedAccessSignature.php
deleted file mode 100644
index c1d3f40bc..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedAccessSignature.php
+++ /dev/null
@@ -1,305 +0,0 @@
-_permissionSet = $permissionSet;
- }
-
- /**
- * Get permission set
- *
- * @return array
- */
- public function getPermissionSet()
- {
- return $this->_permissionSet;
- }
-
- /**
- * Set permisison set
- *
- * Warning: fine-grained permissions should be added prior to coarse-grained permissions.
- * For example: first add blob permissions, end with container-wide permissions.
- *
- * Warning: the signed access signature URL must match the account name of the
- * Zend_Service_WindowsAzure_Credentials_Zend_Service_WindowsAzure_Credentials_SharedAccessSignature instance
- *
- * @param array $value Permission set
- * @return void
- */
- public function setPermissionSet($value = array())
- {
- foreach ($value as $url) {
- if (strpos($url, $this->_accountName) === false) {
- throw new Zend_Service_WindowsAzure_Exception('The permission set can only contain URLs for the account name specified in the Zend_Service_WindowsAzure_Credentials_SharedAccessSignature instance.');
- }
- }
- $this->_permissionSet = $value;
- }
-
- /**
- * Create signature
- *
- * @param string $path Path for the request
- * @param string $resource Signed resource - container (c) - blob (b)
- * @param string $permissions Signed permissions - read (r), write (w), delete (d) and list (l)
- * @param string $start The time at which the Shared Access Signature becomes valid.
- * @param string $expiry The time at which the Shared Access Signature becomes invalid.
- * @param string $identifier Signed identifier
- * @return string
- */
- public function createSignature(
- $path = '/',
- $resource = 'b',
- $permissions = 'r',
- $start = '',
- $expiry = '',
- $identifier = ''
- ) {
- // Determine path
- if ($this->_usePathStyleUri) {
- $path = substr($path, strpos($path, '/'));
- }
-
- // Add trailing slash to $path
- if (substr($path, 0, 1) !== '/') {
- $path = '/' . $path;
- }
-
- // Build canonicalized resource string
- $canonicalizedResource = '/' . $this->_accountName;
- /*if ($this->_usePathStyleUri) {
- $canonicalizedResource .= '/' . $this->_accountName;
- }*/
- $canonicalizedResource .= $path;
-
- // Create string to sign
- $stringToSign = array();
- $stringToSign[] = $permissions;
- $stringToSign[] = $start;
- $stringToSign[] = $expiry;
- $stringToSign[] = $canonicalizedResource;
- $stringToSign[] = $identifier;
-
- $stringToSign = implode("\n", $stringToSign);
- $signature = base64_encode(hash_hmac('sha256', $stringToSign, $this->_accountKey, true));
-
- return $signature;
- }
-
- /**
- * Create signed query string
- *
- * @param string $path Path for the request
- * @param string $queryString Query string for the request
- * @param string $resource Signed resource - container (c) - blob (b)
- * @param string $permissions Signed permissions - read (r), write (w), delete (d) and list (l)
- * @param string $start The time at which the Shared Access Signature becomes valid.
- * @param string $expiry The time at which the Shared Access Signature becomes invalid.
- * @param string $identifier Signed identifier
- * @return string
- */
- public function createSignedQueryString(
- $path = '/',
- $queryString = '',
- $resource = 'b',
- $permissions = 'r',
- $start = '',
- $expiry = '',
- $identifier = ''
- ) {
- // Parts
- $parts = array();
- if ($start !== '') {
- $parts[] = 'st=' . urlencode($start);
- }
- $parts[] = 'se=' . urlencode($expiry);
- $parts[] = 'sr=' . $resource;
- $parts[] = 'sp=' . $permissions;
- if ($identifier !== '') {
- $parts[] = 'si=' . urlencode($identifier);
- }
- $parts[] = 'sig=' . urlencode($this->createSignature($path, $resource, $permissions, $start, $expiry, $identifier));
-
- // Assemble parts and query string
- if ($queryString != '') {
- $queryString .= '&';
- }
- $queryString .= implode('&', $parts);
-
- return $queryString;
- }
-
- /**
- * Permission matches request?
- *
- * @param string $permissionUrl Permission URL
- * @param string $requestUrl Request URL
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return string Signed request URL
- */
- public function permissionMatchesRequest(
- $permissionUrl = '',
- $requestUrl = '',
- $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN,
- $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ
- ) {
- // Build requirements
- $requiredResourceType = $resourceType;
- if ($requiredResourceType == Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB) {
- $requiredResourceType .= Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER;
- }
-
- // Parse permission url
- $parsedPermissionUrl = parse_url($permissionUrl);
-
- // Parse permission properties
- $permissionParts = explode('&', $parsedPermissionUrl['query']);
-
- // Parse request url
- $parsedRequestUrl = parse_url($requestUrl);
-
- // Check if permission matches request
- $matches = true;
- foreach ($permissionParts as $part) {
- list($property, $value) = explode('=', $part, 2);
-
- if ($property == 'sr') {
- $matches = $matches && (strpbrk($value, $requiredResourceType) !== false);
- }
-
- if ($property == 'sp') {
- $matches = $matches && (strpbrk($value, $requiredPermission) !== false);
- }
- }
-
- // Ok, but... does the resource match?
- $matches = $matches && (strpos($parsedRequestUrl['path'], $parsedPermissionUrl['path']) !== false);
-
- // Return
- return $matches;
- }
-
- /**
- * Sign request URL with credentials
- *
- * @param string $requestUrl Request URL
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return string Signed request URL
- */
- public function signRequestUrl(
- $requestUrl = '',
- $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN,
- $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ
- ) {
- // Look for a matching permission
- foreach ($this->getPermissionSet() as $permittedUrl) {
- if ($this->permissionMatchesRequest($permittedUrl, $requestUrl, $resourceType, $requiredPermission)) {
- // This matches, append signature data
- $parsedPermittedUrl = parse_url($permittedUrl);
-
- if (strpos($requestUrl, '?') === false) {
- $requestUrl .= '?';
- } else {
- $requestUrl .= '&';
- }
-
- $requestUrl .= $parsedPermittedUrl['query'];
-
- // Return url
- return $requestUrl;
- }
- }
-
- // Return url, will be unsigned...
- return $requestUrl;
- }
-
- /**
- * Sign request with credentials
- *
- * @param string $httpVerb HTTP verb the request will use
- * @param string $path Path for the request
- * @param string $queryString Query string for the request
- * @param array $headers x-ms headers to add
- * @param boolean $forTableStorage Is the request for table storage?
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return array Array of headers
- */
- public function signRequestHeaders(
- $httpVerb = Zend_Http_Client::GET,
- $path = '/',
- $queryString = '',
- $headers = null,
- $forTableStorage = false,
- $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN,
- $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ
- ) {
- return $headers;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedKey.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedKey.php
deleted file mode 100644
index 3e99b80f8..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedKey.php
+++ /dev/null
@@ -1,154 +0,0 @@
-_usePathStyleUri) {
- $path = substr($path, strpos($path, '/'));
- }
-
- // Determine query
- $queryString = $this->_prepareQueryStringForSigning($queryString);
-
- // Canonicalized headers
- $canonicalizedHeaders = array();
-
- // Request date
- $requestDate = '';
- if (isset($headers[Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date'])) {
- $requestDate = $headers[Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date'];
- } else {
- $requestDate = gmdate('D, d M Y H:i:s', time()) . ' GMT'; // RFC 1123
- $canonicalizedHeaders[] = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date:' . $requestDate;
- }
-
- // Build canonicalized headers
- if (!is_null($headers)) {
- foreach ($headers as $header => $value) {
- if (is_bool($value)) {
- $value = $value === true ? 'True' : 'False';
- }
-
- $headers[$header] = $value;
- if (substr($header, 0, strlen(Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER)) == Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER) {
- $canonicalizedHeaders[] = strtolower($header) . ':' . $value;
- }
- }
- }
- sort($canonicalizedHeaders);
-
- // Build canonicalized resource string
- $canonicalizedResource = '/' . $this->_accountName;
- if ($this->_usePathStyleUri) {
- $canonicalizedResource .= '/' . $this->_accountName;
- }
- $canonicalizedResource .= $path;
- if ($queryString !== '') {
- $canonicalizedResource .= $queryString;
- }
-
- // Create string to sign
- $stringToSign = array();
- $stringToSign[] = strtoupper($httpVerb); // VERB
- $stringToSign[] = ""; // Content-MD5
- $stringToSign[] = ""; // Content-Type
- $stringToSign[] = "";
- // Date already in $canonicalizedHeaders
- // $stringToSign[] = self::PREFIX_STORAGE_HEADER . 'date:' . $requestDate; // Date
-
- if (!$forTableStorage && count($canonicalizedHeaders) > 0) {
- $stringToSign[] = implode("\n", $canonicalizedHeaders); // Canonicalized headers
- }
-
- $stringToSign[] = $canonicalizedResource; // Canonicalized resource
- $stringToSign = implode("\n", $stringToSign);
- $signString = base64_encode(hash_hmac('sha256', $stringToSign, $this->_accountKey, true));
-
- // Sign request
- $headers[Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date'] = $requestDate;
- $headers['Authorization'] = 'SharedKey ' . $this->_accountName . ':' . $signString;
-
- // Return headers
- return $headers;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedKeyLite.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedKeyLite.php
deleted file mode 100644
index cc9f944af..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Credentials/SharedKeyLite.php
+++ /dev/null
@@ -1,123 +0,0 @@
-_usePathStyleUri) {
- $path = substr($path, strpos($path, '/'));
- }
-
- // Determine query
- $queryString = $this->_prepareQueryStringForSigning($queryString);
-
- // Build canonicalized resource string
- $canonicalizedResource = '/' . $this->_accountName;
- if ($this->_usePathStyleUri) {
- $canonicalizedResource .= '/' . $this->_accountName;
- }
- $canonicalizedResource .= $path;
- if ($queryString !== '') {
- $canonicalizedResource .= $queryString;
- }
-
- // Request date
- $requestDate = '';
- if (isset($headers[Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date'])) {
- $requestDate = $headers[Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date'];
- } else {
- $requestDate = gmdate('D, d M Y H:i:s', time()) . ' GMT'; // RFC 1123
- }
-
- // Create string to sign
- $stringToSign = array();
- $stringToSign[] = $requestDate; // Date
- $stringToSign[] = $canonicalizedResource; // Canonicalized resource
- $stringToSign = implode("\n", $stringToSign);
- $signString = base64_encode(hash_hmac('sha256', $stringToSign, $this->_accountKey, true));
-
- // Sign request
- $headers[Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PREFIX_STORAGE_HEADER . 'date'] = $requestDate;
- $headers['Authorization'] = 'SharedKeyLite ' . $this->_accountName . ':' . $signString;
-
- // Return headers
- return $headers;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Exception.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Exception.php
deleted file mode 100644
index 1f3ac24c6..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_retryCount = $count;
- $this->_retryInterval = $intervalBetweenRetries;
- }
-
- /**
- * Execute function under retry policy
- *
- * @param string|array $function Function to execute
- * @param array $parameters Parameters for function call
- * @return mixed
- */
- public function execute($function, $parameters = array())
- {
- $returnValue = null;
-
- for ($retriesLeft = $this->_retryCount; $retriesLeft >= 0; --$retriesLeft) {
- try {
- $returnValue = call_user_func_array($function, $parameters);
- return $returnValue;
- } catch (Exception $ex) {
- if ($retriesLeft == 1) {
- throw new Zend_Service_WindowsAzure_RetryPolicy_Exception("Exceeded retry count of " . $this->_retryCount . ". " . $ex->getMessage());
- }
-
- usleep($this->_retryInterval * 1000);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/RetryPolicy/RetryPolicyAbstract.php b/airtime_mvc/library/Zend/Service/WindowsAzure/RetryPolicy/RetryPolicyAbstract.php
deleted file mode 100644
index bbc095459..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/RetryPolicy/RetryPolicyAbstract.php
+++ /dev/null
@@ -1,77 +0,0 @@
-_tableStorage = $tableStorage;
- $this->_sessionTable = $sessionTable;
- $this->_sessionTablePartition = $sessionTablePartition;
- }
-
- /**
- * Registers the current session handler as PHP's session handler
- *
- * @return boolean
- */
- public function register()
- {
- return session_set_save_handler(array($this, 'open'),
- array($this, 'close'),
- array($this, 'read'),
- array($this, 'write'),
- array($this, 'destroy'),
- array($this, 'gc')
- );
- }
-
- /**
- * Open the session store
- *
- * @return bool
- */
- public function open()
- {
- // Make sure table exists
- $tableExists = $this->_tableStorage->tableExists($this->_sessionTable);
- if (!$tableExists) {
- $this->_tableStorage->createTable($this->_sessionTable);
- }
-
- // Ok!
- return true;
- }
-
- /**
- * Close the session store
- *
- * @return bool
- */
- public function close()
- {
- return true;
- }
-
- /**
- * Read a specific session
- *
- * @param int $id Session Id
- * @return string
- */
- public function read($id)
- {
- try
- {
- $sessionRecord = $this->_tableStorage->retrieveEntityById(
- $this->_sessionTable,
- $this->_sessionTablePartition,
- $id
- );
- return base64_decode($sessionRecord->serializedData);
- }
- catch (Zend_Service_WindowsAzure_Exception $ex)
- {
- return '';
- }
- }
-
- /**
- * Write a specific session
- *
- * @param int $id Session Id
- * @param string $serializedData Serialized PHP object
- */
- public function write($id, $serializedData)
- {
- $sessionRecord = new Zend_Service_WindowsAzure_Storage_DynamicTableEntity($this->_sessionTablePartition, $id);
- $sessionRecord->sessionExpires = time();
- $sessionRecord->serializedData = base64_encode($serializedData);
-
- $sessionRecord->setAzurePropertyType('sessionExpires', 'Edm.Int32');
-
- try
- {
- $this->_tableStorage->updateEntity($this->_sessionTable, $sessionRecord);
- }
- catch (Zend_Service_WindowsAzure_Exception $unknownRecord)
- {
- $this->_tableStorage->insertEntity($this->_sessionTable, $sessionRecord);
- }
- }
-
- /**
- * Destroy a specific session
- *
- * @param int $id Session Id
- * @return boolean
- */
- public function destroy($id)
- {
- try
- {
- $sessionRecord = $this->_tableStorage->retrieveEntityById(
- $this->_sessionTable,
- $this->_sessionTablePartition,
- $id
- );
- $this->_tableStorage->deleteEntity($this->_sessionTable, $sessionRecord);
-
- return true;
- }
- catch (Zend_Service_WindowsAzure_Exception $ex)
- {
- return false;
- }
- }
-
- /**
- * Garbage collector
- *
- * @param int $lifeTime Session maximal lifetime
- * @see session.gc_divisor 100
- * @see session.gc_maxlifetime 1440
- * @see session.gc_probability 1
- * @usage Execution rate 1/100 (session.gc_probability/session.gc_divisor)
- * @return boolean
- */
- public function gc($lifeTime)
- {
- try
- {
- $result = $this->_tableStorage->retrieveEntities($this->_sessionTable, 'PartitionKey eq \'' . $this->_sessionTablePartition . '\' and sessionExpires lt ' . (time() - $lifeTime));
- foreach ($result as $sessionRecord)
- {
- $this->_tableStorage->deleteEntity($this->_sessionTable, $sessionRecord);
- }
- return true;
- }
- catch (Zend_Service_WindowsAzure_exception $ex)
- {
- return false;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage.php
deleted file mode 100644
index 44730d4e9..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage.php
+++ /dev/null
@@ -1,504 +0,0 @@
-_host = $host;
- $this->_accountName = $accountName;
- $this->_accountKey = $accountKey;
- $this->_usePathStyleUri = $usePathStyleUri;
-
- // Using local storage?
- if (!$this->_usePathStyleUri
- && ($this->_host == self::URL_DEV_BLOB
- || $this->_host == self::URL_DEV_QUEUE
- || $this->_host == self::URL_DEV_TABLE)
- ) {
- // Local storage
- $this->_usePathStyleUri = true;
- }
-
- if (is_null($this->_credentials)) {
- $this->_credentials = new Zend_Service_WindowsAzure_Credentials_SharedKey(
- $this->_accountName, $this->_accountKey, $this->_usePathStyleUri);
- }
-
- $this->_retryPolicy = $retryPolicy;
- if (is_null($this->_retryPolicy)) {
- $this->_retryPolicy = Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract::noRetry();
- }
-
- // Setup default Zend_Http_Client channel
- $this->_httpClientChannel = new Zend_Http_Client(
- null,
- array(
- 'adapter' => 'Zend_Http_Client_Adapter_Proxy',
- 'curloptions' => array(
- CURLOPT_FOLLOWLOCATION => true,
- CURLOPT_TIMEOUT => 120,
- )
- )
- );
- }
-
- /**
- * Set the HTTP client channel to use
- *
- * @param Zend_Http_Client_Adapter_Interface|string $adapterInstance Adapter instance or adapter class name.
- */
- public function setHttpClientChannel($adapterInstance = 'Zend_Http_Client_Adapter_Proxy')
- {
- $this->_httpClientChannel->setAdapter($adapterInstance);
- }
-
- /**
- * Set retry policy to use when making requests
- *
- * @param Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract $retryPolicy Retry policy to use when making requests
- */
- public function setRetryPolicy(Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract $retryPolicy = null)
- {
- $this->_retryPolicy = $retryPolicy;
- if (is_null($this->_retryPolicy)) {
- $this->_retryPolicy = Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract::noRetry();
- }
- }
-
- /**
- * Set proxy
- *
- * @param boolean $useProxy Use proxy?
- * @param string $proxyUrl Proxy URL
- * @param int $proxyPort Proxy port
- * @param string $proxyCredentials Proxy credentials
- */
- public function setProxy($useProxy = false, $proxyUrl = '', $proxyPort = 80, $proxyCredentials = '')
- {
- $this->_useProxy = $useProxy;
- $this->_proxyUrl = $proxyUrl;
- $this->_proxyPort = $proxyPort;
- $this->_proxyCredentials = $proxyCredentials;
-
- if ($this->_useProxy) {
- $credentials = explode(':', $this->_proxyCredentials);
-
- $this->_httpClientChannel->setConfig(array(
- 'proxy_host' => $this->_proxyUrl,
- 'proxy_port' => $this->_proxyPort,
- 'proxy_user' => $credentials[0],
- 'proxy_pass' => $credentials[1],
- ));
- } else {
- $this->_httpClientChannel->setConfig(array(
- 'proxy_host' => '',
- 'proxy_port' => 8080,
- 'proxy_user' => '',
- 'proxy_pass' => '',
- ));
- }
- }
-
- /**
- * Returns the Windows Azure account name
- *
- * @return string
- */
- public function getAccountName()
- {
- return $this->_accountName;
- }
-
- /**
- * Get base URL for creating requests
- *
- * @return string
- */
- public function getBaseUrl()
- {
- if ($this->_usePathStyleUri) {
- return 'http://' . $this->_host . '/' . $this->_accountName;
- } else {
- return 'http://' . $this->_accountName . '.' . $this->_host;
- }
- }
-
- /**
- * Set Zend_Service_WindowsAzure_Credentials_CredentialsAbstract instance
- *
- * @param Zend_Service_WindowsAzure_Credentials_CredentialsAbstract $credentials Zend_Service_WindowsAzure_Credentials_CredentialsAbstract instance to use for request signing.
- */
- public function setCredentials(Zend_Service_WindowsAzure_Credentials_CredentialsAbstract $credentials)
- {
- $this->_credentials = $credentials;
- $this->_credentials->setAccountName($this->_accountName);
- $this->_credentials->setAccountkey($this->_accountKey);
- $this->_credentials->setUsePathStyleUri($this->_usePathStyleUri);
- }
-
- /**
- * Get Zend_Service_WindowsAzure_Credentials_CredentialsAbstract instance
- *
- * @return Zend_Service_WindowsAzure_Credentials_CredentialsAbstract
- */
- public function getCredentials()
- {
- return $this->_credentials;
- }
-
- /**
- * Perform request using Zend_Http_Client channel
- *
- * @param string $path Path
- * @param string $queryString Query string
- * @param string $httpVerb HTTP verb the request will use
- * @param array $headers x-ms headers to add
- * @param boolean $forTableStorage Is the request for table storage?
- * @param mixed $rawData Optional RAW HTTP data to be sent over the wire
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return Zend_Http_Response
- */
- protected function _performRequest(
- $path = '/',
- $queryString = '',
- $httpVerb = Zend_Http_Client::GET,
- $headers = array(),
- $forTableStorage = false,
- $rawData = null,
- $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN,
- $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ
- ) {
- // Clean path
- if (strpos($path, '/') !== 0) {
- $path = '/' . $path;
- }
-
- // Clean headers
- if (is_null($headers)) {
- $headers = array();
- }
-
- // Ensure cUrl will also work correctly:
- // - disable Content-Type if required
- // - disable Expect: 100 Continue
- if (!isset($headers["Content-Type"])) {
- $headers["Content-Type"] = '';
- }
- $headers["Expect"]= '';
-
- // Add version header
- $headers['x-ms-version'] = $this->_apiVersion;
-
- // URL encoding
- $path = self::urlencode($path);
- $queryString = self::urlencode($queryString);
-
- // Generate URL and sign request
- $requestUrl = $this->_credentials
- ->signRequestUrl($this->getBaseUrl() . $path . $queryString, $resourceType, $requiredPermission);
- $requestHeaders = $this->_credentials
- ->signRequestHeaders($httpVerb, $path, $queryString, $headers, $forTableStorage, $resourceType, $requiredPermission);
-
- // Prepare request
- $this->_httpClientChannel->resetParameters(true);
- $this->_httpClientChannel->setUri($requestUrl);
- $this->_httpClientChannel->setHeaders($requestHeaders);
- $this->_httpClientChannel->setRawData($rawData);
-
- // Execute request
- $response = $this->_retryPolicy->execute(
- array($this->_httpClientChannel, 'request'),
- array($httpVerb)
- );
-
- return $response;
- }
-
- /**
- * Parse result from Zend_Http_Response
- *
- * @param Zend_Http_Response $response Response from HTTP call
- * @return object
- * @throws Zend_Service_WindowsAzure_Exception
- */
- protected function _parseResponse(Zend_Http_Response $response = null)
- {
- if (is_null($response)) {
- throw new Zend_Service_WindowsAzure_Exception('Response should not be null.');
- }
-
- $xml = @simplexml_load_string($response->getBody());
-
- if ($xml !== false) {
- // Fetch all namespaces
- $namespaces = array_merge($xml->getNamespaces(true), $xml->getDocNamespaces(true));
-
- // Register all namespace prefixes
- foreach ($namespaces as $prefix => $ns) {
- if ($prefix != '') {
- $xml->registerXPathNamespace($prefix, $ns);
- }
- }
- }
-
- return $xml;
- }
-
- /**
- * Generate metadata headers
- *
- * @param array $metadata
- * @return HTTP headers containing metadata
- */
- protected function _generateMetadataHeaders($metadata = array())
- {
- // Validate
- if (!is_array($metadata)) {
- return array();
- }
-
- // Return headers
- $headers = array();
- foreach ($metadata as $key => $value) {
- if (strpos($value, "\r") !== false || strpos($value, "\n") !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Metadata cannot contain newline characters.');
- }
- $headers["x-ms-meta-" . strtolower($key)] = $value;
- }
- return $headers;
- }
-
- /**
- * Parse metadata errors
- *
- * @param array $headers HTTP headers containing metadata
- * @return array
- */
- protected function _parseMetadataHeaders($headers = array())
- {
- // Validate
- if (!is_array($headers)) {
- return array();
- }
-
- // Return metadata
- $metadata = array();
- foreach ($headers as $key => $value) {
- if (substr(strtolower($key), 0, 10) == "x-ms-meta-") {
- $metadata[str_replace("x-ms-meta-", '', strtolower($key))] = $value;
- }
- }
- return $metadata;
- }
-
- /**
- * Generate ISO 8601 compliant date string in UTC time zone
- *
- * @param int $timestamp
- * @return string
- */
- public function isoDate($timestamp = null)
- {
- $tz = @date_default_timezone_get();
- @date_default_timezone_set('UTC');
-
- if (is_null($timestamp)) {
- $timestamp = time();
- }
-
- $returnValue = str_replace('+00:00', '.0000000Z', @date('c', $timestamp));
- @date_default_timezone_set($tz);
- return $returnValue;
- }
-
- /**
- * URL encode function
- *
- * @param string $value Value to encode
- * @return string Encoded value
- */
- public static function urlencode($value)
- {
- return str_replace(' ', '%20', $value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Batch.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Batch.php
deleted file mode 100644
index 409aa679f..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Batch.php
+++ /dev/null
@@ -1,248 +0,0 @@
-_storageClient = $storageClient;
- $this->_baseUrl = $baseUrl;
- $this->_beginBatch();
- }
-
- /**
- * Get base URL for creating requests
- *
- * @return string
- */
- public function getBaseUrl()
- {
- return $this->_baseUrl;
- }
-
- /**
- * Starts a new batch operation set
- *
- * @throws Zend_Service_WindowsAzure_Exception
- */
- protected function _beginBatch()
- {
- $this->_storageClient->setCurrentBatch($this);
- }
-
- /**
- * Cleanup current batch
- */
- protected function _clean()
- {
- unset($this->_operations);
- $this->_storageClient->setCurrentBatch(null);
- $this->_storageClient = null;
- unset($this);
- }
-
- /**
- * Enlist operation in current batch
- *
- * @param string $path Path
- * @param string $queryString Query string
- * @param string $httpVerb HTTP verb the request will use
- * @param array $headers x-ms headers to add
- * @param boolean $forTableStorage Is the request for table storage?
- * @param mixed $rawData Optional RAW HTTP data to be sent over the wire
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function enlistOperation($path = '/', $queryString = '', $httpVerb = Zend_Http_Client::GET, $headers = array(), $forTableStorage = false, $rawData = null)
- {
- // Set _forTableStorage
- if ($forTableStorage) {
- $this->_forTableStorage = true;
- }
-
- // Set _isSingleSelect
- if ($httpVerb == Zend_Http_Client::GET) {
- if (count($this->_operations) > 0) {
- throw new Zend_Service_WindowsAzure_Exception("Select operations can only be performed in an empty batch transaction.");
- }
- $this->_isSingleSelect = true;
- }
-
- // Clean path
- if (strpos($path, '/') !== 0) {
- $path = '/' . $path;
- }
-
- // Clean headers
- if (is_null($headers)) {
- $headers = array();
- }
-
- // URL encoding
- $path = Zend_Service_WindowsAzure_Storage::urlencode($path);
- $queryString = Zend_Service_WindowsAzure_Storage::urlencode($queryString);
-
- // Generate URL
- $requestUrl = $this->getBaseUrl() . $path . $queryString;
-
- // Generate $rawData
- if (is_null($rawData)) {
- $rawData = '';
- }
-
- // Add headers
- if ($httpVerb != Zend_Http_Client::GET) {
- $headers['Content-ID'] = count($this->_operations) + 1;
- if ($httpVerb != Zend_Http_Client::DELETE) {
- $headers['Content-Type'] = 'application/atom+xml;type=entry';
- }
- $headers['Content-Length'] = strlen($rawData);
- }
-
- // Generate $operation
- $operation = '';
- $operation .= $httpVerb . ' ' . $requestUrl . ' HTTP/1.1' . "\n";
- foreach ($headers as $key => $value)
- {
- $operation .= $key . ': ' . $value . "\n";
- }
- $operation .= "\n";
-
- // Add data
- $operation .= $rawData;
-
- // Store operation
- $this->_operations[] = $operation;
- }
-
- /**
- * Commit current batch
- *
- * @return Zend_Http_Response
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function commit()
- {
- // Perform batch
- $response = $this->_storageClient->performBatch($this->_operations, $this->_forTableStorage, $this->_isSingleSelect);
-
- // Dispose
- $this->_clean();
-
- // Parse response
- $errors = null;
- preg_match_all('/(.*)<\/message>/', $response->getBody(), $errors);
-
- // Error?
- if (count($errors[2]) > 0) {
- throw new Zend_Service_WindowsAzure_Exception('An error has occured while committing a batch: ' . $errors[2][0]);
- }
-
- // Return
- return $response;
- }
-
- /**
- * Rollback current batch
- */
- public function rollback()
- {
- // Dispose
- $this->_clean();
- }
-
- /**
- * Get operation count
- *
- * @return integer
- */
- public function getOperationCount()
- {
- return count($this->_operations);
- }
-
- /**
- * Is single select?
- *
- * @return boolean
- */
- public function isSingleSelect()
- {
- return $this->_isSingleSelect;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BatchStorageAbstract.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BatchStorageAbstract.php
deleted file mode 100644
index 61f175955..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BatchStorageAbstract.php
+++ /dev/null
@@ -1,193 +0,0 @@
-isInBatch()) {
- throw new Zend_Service_WindowsAzure_Exception('Only one batch can be active at a time.');
- }
- $this->_currentBatch = $batch;
- }
-
- /**
- * Get current batch
- *
- * @return Zend_Service_WindowsAzure_Storage_Batch
- */
- public function getCurrentBatch()
- {
- return $this->_currentBatch;
- }
-
- /**
- * Is there a current batch?
- *
- * @return boolean
- */
- public function isInBatch()
- {
- return !is_null($this->_currentBatch);
- }
-
- /**
- * Starts a new batch operation set
- *
- * @return Zend_Service_WindowsAzure_Storage_Batch
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function startBatch()
- {
- return new Zend_Service_WindowsAzure_Storage_Batch($this, $this->getBaseUrl());
- }
-
- /**
- * Perform batch using Zend_Http_Client channel, combining all batch operations into one request
- *
- * @param array $operations Operations in batch
- * @param boolean $forTableStorage Is the request for table storage?
- * @param boolean $isSingleSelect Is the request a single select statement?
- * @param string $resourceType Resource type
- * @param string $requiredPermission Required permission
- * @return Zend_Http_Response
- */
- public function performBatch($operations = array(), $forTableStorage = false, $isSingleSelect = false, $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN, $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ)
- {
- // Generate boundaries
- $batchBoundary = 'batch_' . md5(time() . microtime());
- $changesetBoundary = 'changeset_' . md5(time() . microtime());
-
- // Set headers
- $headers = array();
-
- // Add version header
- $headers['x-ms-version'] = $this->_apiVersion;
-
- // Add content-type header
- $headers['Content-Type'] = 'multipart/mixed; boundary=' . $batchBoundary;
-
- // Set path and query string
- $path = '/$batch';
- $queryString = '';
-
- // Set verb
- $httpVerb = Zend_Http_Client::POST;
-
- // Generate raw data
- $rawData = '';
-
- // Single select?
- if ($isSingleSelect) {
- $operation = $operations[0];
- $rawData .= '--' . $batchBoundary . "\n";
- $rawData .= 'Content-Type: application/http' . "\n";
- $rawData .= 'Content-Transfer-Encoding: binary' . "\n\n";
- $rawData .= $operation;
- $rawData .= '--' . $batchBoundary . '--';
- } else {
- $rawData .= '--' . $batchBoundary . "\n";
- $rawData .= 'Content-Type: multipart/mixed; boundary=' . $changesetBoundary . "\n\n";
-
- // Add operations
- foreach ($operations as $operation)
- {
- $rawData .= '--' . $changesetBoundary . "\n";
- $rawData .= 'Content-Type: application/http' . "\n";
- $rawData .= 'Content-Transfer-Encoding: binary' . "\n\n";
- $rawData .= $operation;
- }
- $rawData .= '--' . $changesetBoundary . '--' . "\n";
-
- $rawData .= '--' . $batchBoundary . '--';
- }
-
- // Generate URL and sign request
- $requestUrl = $this->_credentials->signRequestUrl($this->getBaseUrl() . $path . $queryString, $resourceType, $requiredPermission);
- $requestHeaders = $this->_credentials->signRequestHeaders($httpVerb, $path, $queryString, $headers, $forTableStorage, $resourceType, $requiredPermission);
-
- // Prepare request
- $this->_httpClientChannel->resetParameters(true);
- $this->_httpClientChannel->setUri($requestUrl);
- $this->_httpClientChannel->setHeaders($requestHeaders);
- $this->_httpClientChannel->setRawData($rawData);
-
- // Execute request
- $response = $this->_retryPolicy->execute(
- array($this->_httpClientChannel, 'request'),
- array($httpVerb)
- );
-
- return $response;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Blob.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Blob.php
deleted file mode 100644
index 0b95f1058..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Blob.php
+++ /dev/null
@@ -1,1401 +0,0 @@
-_apiVersion = '2009-07-17';
-
- // SharedAccessSignature credentials
- $this->_sharedAccessSignatureCredentials = new Zend_Service_WindowsAzure_Credentials_SharedAccessSignature($accountName, $accountKey, $usePathStyleUri);
- }
-
- /**
- * Check if a blob exists
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @return boolean
- */
- public function blobExists($containerName = '', $blobName = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
-
- // List blobs
- $blobs = $this->listBlobs($containerName, $blobName, '', 1);
- foreach ($blobs as $blob) {
- if ($blob->Name == $blobName) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Check if a container exists
- *
- * @param string $containerName Container name
- * @return boolean
- */
- public function containerExists($containerName = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // List containers
- $containers = $this->listContainers($containerName, 1);
- foreach ($containers as $container) {
- if ($container->Name == $containerName) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Create container
- *
- * @param string $containerName Container name
- * @param array $metadata Key/value pairs of meta data
- * @return object Container properties
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function createContainer($containerName = '', $metadata = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if (!is_array($metadata)) {
- throw new Zend_Service_WindowsAzure_Exception('Meta data should be an array of key and value pairs.');
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Perform request
- $response = $this->_performRequest($containerName, '?restype=container', Zend_Http_Client::PUT, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if ($response->isSuccessful()) {
- return new Zend_Service_WindowsAzure_Storage_BlobContainer(
- $containerName,
- $response->getHeader('Etag'),
- $response->getHeader('Last-modified'),
- $metadata
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get container ACL
- *
- * @param string $containerName Container name
- * @param bool $signedIdentifiers Display only public/private or display signed identifiers?
- * @return bool Acl, to be compared with Zend_Service_WindowsAzure_Storage_Blob::ACL_*
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getContainerAcl($containerName = '', $signedIdentifiers = false)
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // Perform request
- $response = $this->_performRequest($containerName, '?restype=container&comp=acl', Zend_Http_Client::GET, array(), false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ);
- if ($response->isSuccessful()) {
- if ($signedIdentifiers == false) {
- // Only public/private
- return $response->getHeader('x-ms-prop-publicaccess') == 'True';
- } else {
- // Parse result
- $result = $this->_parseResponse($response);
- if (!$result) {
- return array();
- }
-
- $entries = null;
- if ($result->SignedIdentifier) {
- if (count($result->SignedIdentifier) > 1) {
- $entries = $result->SignedIdentifier;
- } else {
- $entries = array($result->SignedIdentifier);
- }
- }
-
- // Return value
- $returnValue = array();
- foreach ($entries as $entry) {
- $returnValue[] = new Zend_Service_WindowsAzure_Storage_SignedIdentifier(
- $entry->Id,
- $entry->AccessPolicy ? $entry->AccessPolicy->Start ? $entry->AccessPolicy->Start : '' : '',
- $entry->AccessPolicy ? $entry->AccessPolicy->Expiry ? $entry->AccessPolicy->Expiry : '' : '',
- $entry->AccessPolicy ? $entry->AccessPolicy->Permission ? $entry->AccessPolicy->Permission : '' : ''
- );
- }
-
- // Return
- return $returnValue;
- }
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Set container ACL
- *
- * @param string $containerName Container name
- * @param bool $acl Zend_Service_WindowsAzure_Storage_Blob::ACL_*
- * @param array $signedIdentifiers Signed identifiers
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function setContainerAcl($containerName = '', $acl = self::ACL_PRIVATE, $signedIdentifiers = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // Policies
- $policies = null;
- if (is_array($signedIdentifiers) && count($signedIdentifiers) > 0) {
- $policies = '';
- $policies .= '' . "\r\n";
- $policies .= '' . "\r\n";
- foreach ($signedIdentifiers as $signedIdentifier) {
- $policies .= ' ' . "\r\n";
- $policies .= ' ' . $signedIdentifier->Id . ' ' . "\r\n";
- $policies .= ' ' . "\r\n";
- if ($signedIdentifier->Start != '')
- $policies .= ' ' . $signedIdentifier->Start . ' ' . "\r\n";
- if ($signedIdentifier->Expiry != '')
- $policies .= ' ' . $signedIdentifier->Expiry . ' ' . "\r\n";
- if ($signedIdentifier->Permissions != '')
- $policies .= ' ' . $signedIdentifier->Permissions . ' ' . "\r\n";
- $policies .= ' ' . "\r\n";
- $policies .= ' ' . "\r\n";
- }
- $policies .= ' ' . "\r\n";
- }
-
- // Perform request
- $response = $this->_performRequest($containerName, '?restype=container&comp=acl', Zend_Http_Client::PUT, array('x-ms-prop-publicaccess' => $acl), false, $policies, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get container
- *
- * @param string $containerName Container name
- * @return Zend_Service_WindowsAzure_Storage_BlobContainer
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getContainer($containerName = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // Perform request
- $response = $this->_performRequest($containerName, '?restype=container', Zend_Http_Client::GET, array(), false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ);
- if ($response->isSuccessful()) {
- // Parse metadata
- $metadata = $this->_parseMetadataHeaders($response->getHeaders());
-
- // Return container
- return new Zend_Service_WindowsAzure_Storage_BlobContainer(
- $containerName,
- $response->getHeader('Etag'),
- $response->getHeader('Last-modified'),
- $metadata
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get container metadata
- *
- * @param string $containerName Container name
- * @return array Key/value pairs of meta data
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getContainerMetadata($containerName = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- return $this->getContainer($containerName)->Metadata;
- }
-
- /**
- * Set container metadata
- *
- * Calling the Set Container Metadata operation overwrites all existing metadata that is associated with the container. It's not possible to modify an individual name/value pair.
- *
- * @param string $containerName Container name
- * @param array $metadata Key/value pairs of meta data
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function setContainerMetadata($containerName = '', $metadata = array(), $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if (!is_array($metadata)) {
- throw new Zend_Service_WindowsAzure_Exception('Meta data should be an array of key and value pairs.');
- }
- if (count($metadata) == 0) {
- return;
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Additional headers?
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Perform request
- $response = $this->_performRequest($containerName, '?restype=container&comp=metadata', Zend_Http_Client::PUT, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Delete container
- *
- * @param string $containerName Container name
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function deleteContainer($containerName = '', $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // Additional headers?
- $headers = array();
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Perform request
- $response = $this->_performRequest($containerName, '?restype=container', Zend_Http_Client::DELETE, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * List containers
- *
- * @param string $prefix Optional. Filters the results to return only containers whose name begins with the specified prefix.
- * @param int $maxResults Optional. Specifies the maximum number of containers to return per call to Azure storage. This does NOT affect list size returned by this function. (maximum: 5000)
- * @param string $marker Optional string value that identifies the portion of the list to be returned with the next list operation.
- * @param int $currentResultCount Current result count (internal use)
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function listContainers($prefix = null, $maxResults = null, $marker = null, $currentResultCount = 0)
- {
- // Build query string
- $queryString = '?comp=list';
- if (!is_null($prefix)) {
- $queryString .= '&prefix=' . $prefix;
- }
- if (!is_null($maxResults)) {
- $queryString .= '&maxresults=' . $maxResults;
- }
- if (!is_null($marker)) {
- $queryString .= '&marker=' . $marker;
- }
-
- // Perform request
- $response = $this->_performRequest('', $queryString, Zend_Http_Client::GET, array(), false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_CONTAINER, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_LIST);
- if ($response->isSuccessful()) {
- $xmlContainers = $this->_parseResponse($response)->Containers->Container;
- $xmlMarker = (string)$this->_parseResponse($response)->NextMarker;
-
- $containers = array();
- if (!is_null($xmlContainers)) {
- for ($i = 0; $i < count($xmlContainers); $i++) {
- $containers[] = new Zend_Service_WindowsAzure_Storage_BlobContainer(
- (string)$xmlContainers[$i]->Name,
- (string)$xmlContainers[$i]->Etag,
- (string)$xmlContainers[$i]->LastModified
- );
- }
- }
- $currentResultCount = $currentResultCount + count($containers);
- if (!is_null($maxResults) && $currentResultCount < $maxResults) {
- if (!is_null($xmlMarker) && $xmlMarker != '') {
- $containers = array_merge($containers, $this->listContainers($prefix, $maxResults, $xmlMarker, $currentResultCount));
- }
- }
- if (!is_null($maxResults) && count($containers) > $maxResults) {
- $containers = array_slice($containers, 0, $maxResults);
- }
-
- return $containers;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Put blob
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param string $localFileName Local file name to be uploaded
- * @param array $metadata Key/value pairs of meta data
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @return object Partial blob properties
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function putBlob($containerName = '', $blobName = '', $localFileName = '', $metadata = array(), $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($localFileName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Local file name is not specified.');
- }
- if (!file_exists($localFileName)) {
- throw new Zend_Service_WindowsAzure_Exception('Local file not found.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Check file size
- if (filesize($localFileName) >= self::MAX_BLOB_SIZE) {
- return $this->putLargeBlob($containerName, $blobName, $localFileName, $metadata);
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Additional headers?
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // File contents
- $fileContents = file_get_contents($localFileName);
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Perform request
- $response = $this->_performRequest($resourceName, '', Zend_Http_Client::PUT, $headers, false, $fileContents, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if ($response->isSuccessful()) {
- return new Zend_Service_WindowsAzure_Storage_BlobInstance(
- $containerName,
- $blobName,
- $response->getHeader('Etag'),
- $response->getHeader('Last-modified'),
- $this->getBaseUrl() . '/' . $containerName . '/' . $blobName,
- strlen($fileContents),
- '',
- '',
- '',
- false,
- $metadata
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Put large blob (> 64 MB)
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param string $localFileName Local file name to be uploaded
- * @param array $metadata Key/value pairs of meta data
- * @return object Partial blob properties
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function putLargeBlob($containerName = '', $blobName = '', $localFileName = '', $metadata = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($localFileName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Local file name is not specified.');
- }
- if (!file_exists($localFileName)) {
- throw new Zend_Service_WindowsAzure_Exception('Local file not found.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Check file size
- if (filesize($localFileName) < self::MAX_BLOB_SIZE) {
- return $this->putBlob($containerName, $blobName, $localFileName, $metadata);
- }
-
- // Determine number of parts
- $numberOfParts = ceil( filesize($localFileName) / self::MAX_BLOB_TRANSFER_SIZE );
-
- // Generate block id's
- $blockIdentifiers = array();
- for ($i = 0; $i < $numberOfParts; $i++) {
- $blockIdentifiers[] = $this->_generateBlockId($i);
- }
-
- // Open file
- $fp = fopen($localFileName, 'r');
- if ($fp === false) {
- throw new Zend_Service_WindowsAzure_Exception('Could not open local file.');
- }
-
- // Upload parts
- for ($i = 0; $i < $numberOfParts; $i++) {
- // Seek position in file
- fseek($fp, $i * self::MAX_BLOB_TRANSFER_SIZE);
-
- // Read contents
- $fileContents = fread($fp, self::MAX_BLOB_TRANSFER_SIZE);
-
- // Put block
- $this->putBlock($containerName, $blobName, $blockIdentifiers[$i], $fileContents);
-
- // Dispose file contents
- $fileContents = null;
- unset($fileContents);
- }
-
- // Close file
- fclose($fp);
-
- // Put block list
- $this->putBlockList($containerName, $blobName, $blockIdentifiers, $metadata);
-
- // Return information of the blob
- return $this->getBlobInstance($containerName, $blobName);
- }
-
- /**
- * Put large blob block
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param string $identifier Block ID
- * @param array $contents Contents of the block
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function putBlock($containerName = '', $blobName = '', $identifier = '', $contents = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($identifier === '') {
- throw new Zend_Service_WindowsAzure_Exception('Block identifier is not specified.');
- }
- if (strlen($contents) > self::MAX_BLOB_TRANSFER_SIZE) {
- throw new Zend_Service_WindowsAzure_Exception('Block size is too big.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Upload
- $response = $this->_performRequest($resourceName, '?comp=block&blockid=' . base64_encode($identifier), Zend_Http_Client::PUT, null, false, $contents, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Put block list
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param array $blockList Array of block identifiers
- * @param array $metadata Key/value pairs of meta data
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function putBlockList($containerName = '', $blobName = '', $blockList = array(), $metadata = array(), $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if (count($blockList) == 0) {
- throw new Zend_Service_WindowsAzure_Exception('Block list does not contain any elements.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Generate block list
- $blocks = '';
- foreach ($blockList as $block) {
- $blocks .= ' ' . base64_encode($block) . ' ' . "\n";
- }
-
- // Generate block list request
- $fileContents = utf8_encode(implode("\n", array(
- '',
- '',
- $blocks,
- ' '
- )));
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Additional headers?
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Perform request
- $response = $this->_performRequest($resourceName, '?comp=blocklist', Zend_Http_Client::PUT, $headers, false, $fileContents, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get block list
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param integer $type Type of block list to retrieve. 0 = all, 1 = committed, 2 = uncommitted
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getBlockList($containerName = '', $blobName = '', $type = 0)
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($type < 0 || $type > 2) {
- throw new Zend_Service_WindowsAzure_Exception('Invalid type of block list to retrieve.');
- }
-
- // Set $blockListType
- $blockListType = 'all';
- if ($type == 1) {
- $blockListType = 'committed';
- }
- if ($type == 2) {
- $blockListType = 'uncommitted';
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Perform request
- $response = $this->_performRequest($resourceName, '?comp=blocklist&blocklisttype=' . $blockListType, Zend_Http_Client::GET, array(), false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ);
- if ($response->isSuccessful()) {
- // Parse response
- $blockList = $this->_parseResponse($response);
-
- // Create return value
- $returnValue = array();
- if ($blockList->CommittedBlocks) {
- foreach ($blockList->CommittedBlocks->Block as $block) {
- $returnValue['CommittedBlocks'][] = (object)array(
- 'Name' => (string)$block->Name,
- 'Size' => (string)$block->Size
- );
- }
- }
- if ($blockList->UncommittedBlocks) {
- foreach ($blockList->UncommittedBlocks->Block as $block) {
- $returnValue['UncommittedBlocks'][] = (object)array(
- 'Name' => (string)$block->Name,
- 'Size' => (string)$block->Size
- );
- }
- }
-
- return $returnValue;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Copy blob
- *
- * @param string $sourceContainerName Source container name
- * @param string $sourceBlobName Source blob name
- * @param string $destinationContainerName Destination container name
- * @param string $destinationBlobName Destination blob name
- * @param array $metadata Key/value pairs of meta data
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd894037.aspx for more information.
- * @return object Partial blob properties
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function copyBlob($sourceContainerName = '', $sourceBlobName = '', $destinationContainerName = '', $destinationBlobName = '', $metadata = array(), $additionalHeaders = array())
- {
- if ($sourceContainerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Source container name is not specified.');
- }
- if (!self::isValidContainerName($sourceContainerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Source container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($sourceBlobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Source blob name is not specified.');
- }
- if ($destinationContainerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Destination container name is not specified.');
- }
- if (!self::isValidContainerName($destinationContainerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Destination container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($destinationBlobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Destination blob name is not specified.');
- }
- if ($sourceContainerName === '$root' && strpos($sourceBlobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
- if ($destinationContainerName === '$root' && strpos($destinationBlobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Additional headers?
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Resource names
- $sourceResourceName = self::createResourceName($sourceContainerName, $sourceBlobName);
- $destinationResourceName = self::createResourceName($destinationContainerName, $destinationBlobName);
-
- // Set source blob
- $headers["x-ms-copy-source"] = '/' . $this->_accountName . '/' . $sourceResourceName;
-
- // Perform request
- $response = $this->_performRequest($destinationResourceName, '', Zend_Http_Client::PUT, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if ($response->isSuccessful()) {
- return new Zend_Service_WindowsAzure_Storage_BlobInstance(
- $destinationContainerName,
- $destinationBlobName,
- $response->getHeader('Etag'),
- $response->getHeader('Last-modified'),
- $this->getBaseUrl() . '/' . $destinationContainerName . '/' . $destinationBlobName,
- 0,
- '',
- '',
- '',
- false,
- $metadata
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get blob
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param string $localFileName Local file name to store downloaded blob
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getBlob($containerName = '', $blobName = '', $localFileName = '', $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($localFileName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Local file name is not specified.');
- }
-
- // Additional headers?
- $headers = array();
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Perform request
- $response = $this->_performRequest($resourceName, '', Zend_Http_Client::GET, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ);
- if ($response->isSuccessful()) {
- file_put_contents($localFileName, $response->getBody());
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get container
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @return Zend_Service_WindowsAzure_Storage_BlobInstance
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getBlobInstance($containerName = '', $blobName = '', $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Additional headers?
- $headers = array();
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Perform request
- $response = $this->_performRequest($resourceName, '', Zend_Http_Client::HEAD, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ);
- if ($response->isSuccessful()) {
- // Parse metadata
- $metadata = $this->_parseMetadataHeaders($response->getHeaders());
-
- // Return blob
- return new Zend_Service_WindowsAzure_Storage_BlobInstance(
- $containerName,
- $blobName,
- $response->getHeader('Etag'),
- $response->getHeader('Last-modified'),
- $this->getBaseUrl() . '/' . $containerName . '/' . $blobName,
- $response->getHeader('Content-Length'),
- $response->getHeader('Content-Type'),
- $response->getHeader('Content-Encoding'),
- $response->getHeader('Content-Language'),
- false,
- $metadata
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get blob metadata
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @return array Key/value pairs of meta data
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getBlobMetadata($containerName = '', $blobName = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- return $this->getBlobInstance($containerName, $blobName)->Metadata;
- }
-
- /**
- * Set blob metadata
- *
- * Calling the Set Blob Metadata operation overwrites all existing metadata that is associated with the blob. It's not possible to modify an individual name/value pair.
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param array $metadata Key/value pairs of meta data
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function setBlobMetadata($containerName = '', $blobName = '', $metadata = array(), $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
- if (count($metadata) == 0) {
- return;
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Additional headers?
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Perform request
- $response = $this->_performRequest($containerName . '/' . $blobName, '?comp=metadata', Zend_Http_Client::PUT, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Delete blob
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param array $additionalHeaders Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function deleteBlob($containerName = '', $blobName = '', $additionalHeaders = array())
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
- if ($blobName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Blob name is not specified.');
- }
- if ($containerName === '$root' && strpos($blobName, '/') !== false) {
- throw new Zend_Service_WindowsAzure_Exception('Blobs stored in the root container can not have a name containing a forward slash (/).');
- }
-
- // Additional headers?
- $headers = array();
- foreach ($additionalHeaders as $key => $value) {
- $headers[$key] = $value;
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Perform request
- $response = $this->_performRequest($resourceName, '', Zend_Http_Client::DELETE, $headers, false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_WRITE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * List blobs
- *
- * @param string $containerName Container name
- * @param string $prefix Optional. Filters the results to return only blobs whose name begins with the specified prefix.
- * @param string $delimiter Optional. Delimiter, i.e. '/', for specifying folder hierarchy
- * @param int $maxResults Optional. Specifies the maximum number of blobs to return per call to Azure storage. This does NOT affect list size returned by this function. (maximum: 5000)
- * @param string $marker Optional string value that identifies the portion of the list to be returned with the next list operation.
- * @param int $currentResultCount Current result count (internal use)
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function listBlobs($containerName = '', $prefix = '', $delimiter = '', $maxResults = null, $marker = null, $currentResultCount = 0)
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // Build query string
- $queryString = '?restype=container&comp=list';
- if (!is_null($prefix)) {
- $queryString .= '&prefix=' . $prefix;
- }
- if ($delimiter !== '') {
- $queryString .= '&delimiter=' . $delimiter;
- }
- if (!is_null($maxResults)) {
- $queryString .= '&maxresults=' . $maxResults;
- }
- if (!is_null($marker)) {
- $queryString .= '&marker=' . $marker;
- }
-
- // Perform request
- $response = $this->_performRequest($containerName, $queryString, Zend_Http_Client::GET, array(), false, null, Zend_Service_WindowsAzure_Storage::RESOURCE_BLOB, Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_LIST);
- if ($response->isSuccessful()) {
- // Return value
- $blobs = array();
-
- // Blobs
- $xmlBlobs = $this->_parseResponse($response)->Blobs->Blob;
- if (!is_null($xmlBlobs)) {
- for ($i = 0; $i < count($xmlBlobs); $i++) {
- $blobs[] = new Zend_Service_WindowsAzure_Storage_BlobInstance(
- $containerName,
- (string)$xmlBlobs[$i]->Name,
- (string)$xmlBlobs[$i]->Etag,
- (string)$xmlBlobs[$i]->LastModified,
- (string)$xmlBlobs[$i]->Url,
- (string)$xmlBlobs[$i]->Size,
- (string)$xmlBlobs[$i]->ContentType,
- (string)$xmlBlobs[$i]->ContentEncoding,
- (string)$xmlBlobs[$i]->ContentLanguage,
- false
- );
- }
- }
-
- // Blob prefixes (folders)
- $xmlBlobs = $this->_parseResponse($response)->Blobs->BlobPrefix;
-
- if (!is_null($xmlBlobs)) {
- for ($i = 0; $i < count($xmlBlobs); $i++) {
- $blobs[] = new Zend_Service_WindowsAzure_Storage_BlobInstance(
- $containerName,
- (string)$xmlBlobs[$i]->Name,
- '',
- '',
- '',
- 0,
- '',
- '',
- '',
- true
- );
- }
- }
-
- // More blobs?
- $xmlMarker = (string)$this->_parseResponse($response)->NextMarker;
- $currentResultCount = $currentResultCount + count($blobs);
- if (!is_null($maxResults) && $currentResultCount < $maxResults) {
- if (!is_null($xmlMarker) && $xmlMarker != '') {
- $blobs = array_merge($blobs, $this->listBlobs($containerName, $prefix, $delimiter, $maxResults, $marker, $currentResultCount));
- }
- }
- if (!is_null($maxResults) && count($blobs) > $maxResults) {
- $blobs = array_slice($blobs, 0, $maxResults);
- }
-
- return $blobs;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Generate shared access URL
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @param string $resource Signed resource - container (c) - blob (b)
- * @param string $permissions Signed permissions - read (r), write (w), delete (d) and list (l)
- * @param string $start The time at which the Shared Access Signature becomes valid.
- * @param string $expiry The time at which the Shared Access Signature becomes invalid.
- * @param string $identifier Signed identifier
- * @return string
- */
- public function generateSharedAccessUrl($containerName = '', $blobName = '', $resource = 'b', $permissions = 'r', $start = '', $expiry = '', $identifier = '')
- {
- if ($containerName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Container name is not specified.');
- }
- if (!self::isValidContainerName($containerName)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name does not adhere to container naming conventions. See http://msdn.microsoft.com/en-us/library/dd135715.aspx for more information.');
- }
-
- // Resource name
- $resourceName = self::createResourceName($containerName , $blobName);
-
- // Generate URL
- return $this->getBaseUrl() . '/' . $resourceName . '?' .
- $this->_sharedAccessSignatureCredentials->createSignedQueryString(
- $resourceName,
- '',
- $resource,
- $permissions,
- $start,
- $expiry,
- $identifier);
- }
-
- /**
- * Register this object as stream wrapper client
- *
- * @param string $name Protocol name
- * @return Zend_Service_WindowsAzure_Storage_Blob
- */
- public function registerAsClient($name)
- {
- self::$_wrapperClients[$name] = $this;
- return $this;
- }
-
- /**
- * Unregister this object as stream wrapper client
- *
- * @param string $name Protocol name
- * @return Zend_Service_WindowsAzure_Storage_Blob
- */
- public function unregisterAsClient($name)
- {
- unset(self::$_wrapperClients[$name]);
- return $this;
- }
-
- /**
- * Get wrapper client for stream type
- *
- * @param string $name Protocol name
- * @return Zend_Service_WindowsAzure_Storage_Blob
- */
- public static function getWrapperClient($name)
- {
- return self::$_wrapperClients[$name];
- }
-
- /**
- * Register this object as stream wrapper
- *
- * @param string $name Protocol name
- */
- public function registerStreamWrapper($name = 'azure')
- {
- /**
- * @see Zend_Service_WindowsAzure_Storage_Blob_Stream
- */
- require_once 'Zend/Service/WindowsAzure/Storage/Blob/Stream.php';
-
- stream_register_wrapper($name, 'Zend_Service_WindowsAzure_Storage_Blob_Stream');
- $this->registerAsClient($name);
- }
-
- /**
- * Unregister this object as stream wrapper
- *
- * @param string $name Protocol name
- * @return Zend_Service_WindowsAzure_Storage_Blob
- */
- public function unregisterStreamWrapper($name = 'azure')
- {
- stream_wrapper_unregister($name);
- $this->unregisterAsClient($name);
- }
-
- /**
- * Create resource name
- *
- * @param string $containerName Container name
- * @param string $blobName Blob name
- * @return string
- */
- public static function createResourceName($containerName = '', $blobName = '')
- {
- // Resource name
- $resourceName = $containerName . '/' . $blobName;
- if ($containerName === '' || $containerName === '$root') {
- $resourceName = $blobName;
- }
- if ($blobName === '') {
- $resourceName = $containerName;
- }
-
- return $resourceName;
- }
-
- /**
- * Is valid container name?
- *
- * @param string $containerName Container name
- * @return boolean
- */
- public static function isValidContainerName($containerName = '')
- {
- if ($containerName == '$root') {
- return true;
- }
-
- if (preg_match("/^[a-z0-9][a-z0-9-]*$/", $containerName) === 0) {
- return false;
- }
-
- if (strpos($containerName, '--') !== false) {
- return false;
- }
-
- if (strtolower($containerName) != $containerName) {
- return false;
- }
-
- if (strlen($containerName) < 3 || strlen($containerName) > 63) {
- return false;
- }
-
- if (substr($containerName, -1) == '-') {
- return false;
- }
-
- return true;
- }
-
- /**
- * Get error message from Zend_Http_Response
- *
- * @param Zend_Http_Response $response Repsonse
- * @param string $alternativeError Alternative error message
- * @return string
- */
- protected function _getErrorMessage(Zend_Http_Response $response, $alternativeError = 'Unknown error.')
- {
- $response = $this->_parseResponse($response);
- if ($response && $response->Message) {
- return (string)$response->Message;
- } else {
- return $alternativeError;
- }
- }
-
- /**
- * Generate block id
- *
- * @param int $part Block number
- * @return string Windows Azure Blob Storage block number
- */
- protected function _generateBlockId($part = 0)
- {
- $returnValue = $part;
- while (strlen($returnValue) < 64) {
- $returnValue = '0' . $returnValue;
- }
-
- return $returnValue;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Blob/Stream.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Blob/Stream.php
deleted file mode 100644
index 9e51e131a..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Blob/Stream.php
+++ /dev/null
@@ -1,565 +0,0 @@
-_storageClient)) {
- $url = explode(':', $path);
- if (!$url) {
- throw new Zend_Service_WindowsAzure_Exception('Could not parse path "' . $path . '".');
- }
-
- $this->_storageClient = Zend_Service_WindowsAzure_Storage_Blob::getWrapperClient($url[0]);
- if (!$this->_storageClient) {
- throw new Zend_Service_WindowsAzure_Exception('No storage client registered for stream type "' . $url[0] . '://".');
- }
- }
-
- return $this->_storageClient;
- }
-
- /**
- * Extract container name
- *
- * @param string $path
- * @return string
- */
- protected function _getContainerName($path)
- {
- $url = parse_url($path);
- if ($url['host']) {
- return $url['host'];
- }
-
- return '';
- }
-
- /**
- * Extract file name
- *
- * @param string $path
- * @return string
- */
- protected function _getFileName($path)
- {
- $url = parse_url($path);
- if ($url['host']) {
- $fileName = isset($url['path']) ? $url['path'] : $url['host'];
- if (strpos($fileName, '/') === 0) {
- $fileName = substr($fileName, 1);
- }
- return $fileName;
- }
-
- return '';
- }
-
- /**
- * Open the stream
- *
- * @param string $path
- * @param string $mode
- * @param integer $options
- * @param string $opened_path
- * @return boolean
- */
- public function stream_open($path, $mode, $options, $opened_path)
- {
- $this->_fileName = $path;
- $this->_temporaryFileName = tempnam(sys_get_temp_dir(), 'azure');
-
- // Check the file can be opened
- $fh = @fopen($this->_temporaryFileName, $mode);
- if ($fh === false) {
- return false;
- }
- fclose($fh);
-
- // Write mode?
- if (strpbrk($mode, 'wax+')) {
- $this->_writeMode = true;
- } else {
- $this->_writeMode = false;
- }
-
- // If read/append, fetch the file
- if (!$this->_writeMode || strpbrk($mode, 'ra+')) {
- $this->_getStorageClient($this->_fileName)->getBlob(
- $this->_getContainerName($this->_fileName),
- $this->_getFileName($this->_fileName),
- $this->_temporaryFileName
- );
- }
-
- // Open temporary file handle
- $this->_temporaryFileHandle = fopen($this->_temporaryFileName, $mode);
-
- // Ok!
- return true;
- }
-
- /**
- * Close the stream
- *
- * @return void
- */
- public function stream_close()
- {
- @fclose($this->_temporaryFileHandle);
-
- // Upload the file?
- if ($this->_writeMode) {
- // Make sure the container exists
- $containerExists = $this->_getStorageClient($this->_fileName)->containerExists(
- $this->_getContainerName($this->_fileName)
- );
- if (!$containerExists) {
- $this->_getStorageClient($this->_fileName)->createContainer(
- $this->_getContainerName($this->_fileName)
- );
- }
-
- // Upload the file
- try {
- $this->_getStorageClient($this->_fileName)->putBlob(
- $this->_getContainerName($this->_fileName),
- $this->_getFileName($this->_fileName),
- $this->_temporaryFileName
- );
- } catch (Zend_Service_WindowsAzure_Exception $ex) {
- @unlink($this->_temporaryFileName);
- unset($this->_storageClient);
-
- throw $ex;
- }
- }
-
- @unlink($this->_temporaryFileName);
- unset($this->_storageClient);
- }
-
- /**
- * Read from the stream
- *
- * @param integer $count
- * @return string
- */
- public function stream_read($count)
- {
- if (!$this->_temporaryFileHandle) {
- return false;
- }
-
- return fread($this->_temporaryFileHandle, $count);
- }
-
- /**
- * Write to the stream
- *
- * @param string $data
- * @return integer
- */
- public function stream_write($data)
- {
- if (!$this->_temporaryFileHandle) {
- return 0;
- }
-
- $len = strlen($data);
- fwrite($this->_temporaryFileHandle, $data, $len);
- return $len;
- }
-
- /**
- * End of the stream?
- *
- * @return boolean
- */
- public function stream_eof()
- {
- if (!$this->_temporaryFileHandle) {
- return true;
- }
-
- return feof($this->_temporaryFileHandle);
- }
-
- /**
- * What is the current read/write position of the stream?
- *
- * @return integer
- */
- public function stream_tell()
- {
- return ftell($this->_temporaryFileHandle);
- }
-
- /**
- * Update the read/write position of the stream
- *
- * @param integer $offset
- * @param integer $whence
- * @return boolean
- */
- public function stream_seek($offset, $whence)
- {
- if (!$this->_temporaryFileHandle) {
- return false;
- }
-
- return (fseek($this->_temporaryFileHandle, $offset, $whence) === 0);
- }
-
- /**
- * Flush current cached stream data to storage
- *
- * @return boolean
- */
- public function stream_flush()
- {
- $result = fflush($this->_temporaryFileHandle);
-
- // Upload the file?
- if ($this->_writeMode) {
- // Make sure the container exists
- $containerExists = $this->_getStorageClient($this->_fileName)->containerExists(
- $this->_getContainerName($this->_fileName)
- );
- if (!$containerExists) {
- $this->_getStorageClient($this->_fileName)->createContainer(
- $this->_getContainerName($this->_fileName)
- );
- }
-
- // Upload the file
- try {
- $this->_getStorageClient($this->_fileName)->putBlob(
- $this->_getContainerName($this->_fileName),
- $this->_getFileName($this->_fileName),
- $this->_temporaryFileName
- );
- } catch (Zend_Service_WindowsAzure_Exception $ex) {
- @unlink($this->_temporaryFileName);
- unset($this->_storageClient);
-
- throw $ex;
- }
- }
-
- return $result;
- }
-
- /**
- * Returns data array of stream variables
- *
- * @return array
- */
- public function stream_stat()
- {
- if (!$this->_temporaryFileHandle) {
- return false;
- }
-
- $stat = array();
- $stat['dev'] = 0;
- $stat['ino'] = 0;
- $stat['mode'] = 0;
- $stat['nlink'] = 0;
- $stat['uid'] = 0;
- $stat['gid'] = 0;
- $stat['rdev'] = 0;
- $stat['size'] = 0;
- $stat['atime'] = 0;
- $stat['mtime'] = 0;
- $stat['ctime'] = 0;
- $stat['blksize'] = 0;
- $stat['blocks'] = 0;
-
- $info = null;
- try {
- $info = $this->_getStorageClient($this->_fileName)->getBlobInstance(
- $this->_getContainerName($this->_fileName),
- $this->_getFileName($this->_fileName)
- );
- } catch (Zend_Service_WindowsAzure_Exception $ex) {
- // Unexisting file...
- }
- if (!is_null($info)) {
- $stat['size'] = $info->Size;
- $stat['atime'] = time();
- }
-
- return $stat;
- }
-
- /**
- * Attempt to delete the item
- *
- * @param string $path
- * @return boolean
- */
- public function unlink($path)
- {
- $this->_getStorageClient($path)->deleteBlob(
- $this->_getContainerName($path),
- $this->_getFileName($path)
- );
- }
-
- /**
- * Attempt to rename the item
- *
- * @param string $path_from
- * @param string $path_to
- * @return boolean False
- */
- public function rename($path_from, $path_to)
- {
- if ($this->_getContainerName($path_from) != $this->_getContainerName($path_to)) {
- throw new Zend_Service_WindowsAzure_Exception('Container name can not be changed.');
- }
-
- if ($this->_getFileName($path_from) == $this->_getContainerName($path_to)) {
- return true;
- }
-
- $this->_getStorageClient($path_from)->copyBlob(
- $this->_getContainerName($path_from),
- $this->_getFileName($path_from),
- $this->_getContainerName($path_to),
- $this->_getFileName($path_to)
- );
- $this->_getStorageClient($path_from)->deleteBlob(
- $this->_getContainerName($path_from),
- $this->_getFileName($path_from)
- );
- return true;
- }
-
- /**
- * Return array of URL variables
- *
- * @param string $path
- * @param integer $flags
- * @return array
- */
- public function url_stat($path, $flags)
- {
- $stat = array();
- $stat['dev'] = 0;
- $stat['ino'] = 0;
- $stat['mode'] = 0;
- $stat['nlink'] = 0;
- $stat['uid'] = 0;
- $stat['gid'] = 0;
- $stat['rdev'] = 0;
- $stat['size'] = 0;
- $stat['atime'] = 0;
- $stat['mtime'] = 0;
- $stat['ctime'] = 0;
- $stat['blksize'] = 0;
- $stat['blocks'] = 0;
-
- $info = null;
- try {
- $info = $this->_getStorageClient($path)->getBlobInstance(
- $this->_getContainerName($path),
- $this->_getFileName($path)
- );
- } catch (Zend_Service_WindowsAzure_Exception $ex) {
- // Unexisting file...
- }
- if (!is_null($info)) {
- $stat['size'] = $info->Size;
- $stat['atime'] = time();
- }
-
- return $stat;
- }
-
- /**
- * Create a new directory
- *
- * @param string $path
- * @param integer $mode
- * @param integer $options
- * @return boolean
- */
- public function mkdir($path, $mode, $options)
- {
- if ($this->_getContainerName($path) == $this->_getFileName($path)) {
- // Create container
- try {
- $this->_getStorageClient($path)->createContainer(
- $this->_getContainerName($path)
- );
- } catch (Zend_Service_WindowsAzure_Exception $ex) {
- return false;
- }
- } else {
- throw new Zend_Service_WindowsAzure_Exception('mkdir() with multiple levels is not supported on Windows Azure Blob Storage.');
- }
- }
-
- /**
- * Remove a directory
- *
- * @param string $path
- * @param integer $options
- * @return boolean
- */
- public function rmdir($path, $options)
- {
- if ($this->_getContainerName($path) == $this->_getFileName($path)) {
- // Delete container
- try {
- $this->_getStorageClient($path)->deleteContainer(
- $this->_getContainerName($path)
- );
- } catch (Zend_Service_WindowsAzure_Exception $ex) {
- return false;
- }
- } else {
- throw new Zend_Service_WindowsAzure_Exception('rmdir() with multiple levels is not supported on Windows Azure Blob Storage.');
- }
- }
-
- /**
- * Attempt to open a directory
- *
- * @param string $path
- * @param integer $options
- * @return boolean
- */
- public function dir_opendir($path, $options)
- {
- $this->_blobs = $this->_getStorageClient($path)->listBlobs(
- $this->_getContainerName($path)
- );
- return is_array($this->_blobs);
- }
-
- /**
- * Return the next filename in the directory
- *
- * @return string
- */
- public function dir_readdir()
- {
- $object = current($this->_blobs);
- if ($object !== false) {
- next($this->_blobs);
- return $object->Name;
- }
- return false;
- }
-
- /**
- * Reset the directory pointer
- *
- * @return boolean True
- */
- public function dir_rewinddir()
- {
- reset($this->_blobs);
- return true;
- }
-
- /**
- * Close a directory
- *
- * @return boolean True
- */
- public function dir_closedir()
- {
- $this->_blobs = null;
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BlobContainer.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BlobContainer.php
deleted file mode 100644
index 0c67bc2f7..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BlobContainer.php
+++ /dev/null
@@ -1,95 +0,0 @@
-_data = array(
- 'name' => $name,
- 'etag' => $etag,
- 'lastmodified' => $lastModified,
- 'metadata' => $metadata
- );
- }
-
- /**
- * Magic overload for setting properties
- *
- * @param string $name Name of the property
- * @param string $value Value to set
- */
- public function __set($name, $value) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- $this->_data[strtolower($name)] = $value;
- return;
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- return $this->_data[strtolower($name)];
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BlobInstance.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BlobInstance.php
deleted file mode 100644
index e57debc10..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/BlobInstance.php
+++ /dev/null
@@ -1,116 +0,0 @@
-_data = array(
- 'container' => $containerName,
- 'name' => $name,
- 'etag' => $etag,
- 'lastmodified' => $lastModified,
- 'url' => $url,
- 'size' => $size,
- 'contenttype' => $contentType,
- 'contentencoding' => $contentEncoding,
- 'contentlanguage' => $contentLanguage,
- 'isprefix' => $isPrefix,
- 'metadata' => $metadata
- );
- }
-
- /**
- * Magic overload for setting properties
- *
- * @param string $name Name of the property
- * @param string $value Value to set
- */
- public function __set($name, $value) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- $this->_data[strtolower($name)] = $value;
- return;
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- return $this->_data[strtolower($name)];
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/DynamicTableEntity.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/DynamicTableEntity.php
deleted file mode 100644
index d7445dcec..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/DynamicTableEntity.php
+++ /dev/null
@@ -1,200 +0,0 @@
-setAzureProperty($name, $value, null);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- return $this->getAzureProperty($name);
- }
-
- /**
- * Set an Azure property
- *
- * @param string $name Property name
- * @param mixed $value Property value
- * @param string $type Property type (Edm.xxxx)
- * @return Zend_Service_WindowsAzure_Storage_DynamicTableEntity
- */
- public function setAzureProperty($name, $value = '', $type = null)
- {
- if (strtolower($name) == 'partitionkey') {
- $this->setPartitionKey($value);
- } else if (strtolower($name) == 'rowkey') {
- $this->setRowKey($value);
- } else if (strtolower($name) == 'etag') {
- $this->setEtag($value);
- } else {
- if (!array_key_exists(strtolower($name), $this->_dynamicProperties)) {
- // Determine type?
- if (is_null($type)) {
- $type = 'Edm.String';
- if (is_int($value)) {
- $type = 'Edm.Int32';
- } else if (is_float($value)) {
- $type = 'Edm.Double';
- } else if (is_bool($value)) {
- $type = 'Edm.Boolean';
- }
- }
-
- // Set dynamic property
- $this->_dynamicProperties[strtolower($name)] = (object)array(
- 'Name' => $name,
- 'Type' => $type,
- 'Value' => $value,
- );
- }
-
- $this->_dynamicProperties[strtolower($name)]->Value = $value;
- }
- return $this;
- }
-
- /**
- * Set an Azure property type
- *
- * @param string $name Property name
- * @param string $type Property type (Edm.xxxx)
- * @return Zend_Service_WindowsAzure_Storage_DynamicTableEntity
- */
- public function setAzurePropertyType($name, $type = 'Edm.String')
- {
- if (!array_key_exists(strtolower($name), $this->_dynamicProperties)) {
- $this->setAzureProperty($name, '', $type);
- } else {
- $this->_dynamicProperties[strtolower($name)]->Type = $type;
- }
- return $this;
- }
-
- /**
- * Get an Azure property
- *
- * @param string $name Property name
- * @param mixed $value Property value
- * @param string $type Property type (Edm.xxxx)
- * @return Zend_Service_WindowsAzure_Storage_DynamicTableEntity
- */
- public function getAzureProperty($name)
- {
- if (strtolower($name) == 'partitionkey') {
- return $this->getPartitionKey();
- }
- if (strtolower($name) == 'rowkey') {
- return $this->getRowKey();
- }
- if (strtolower($name) == 'etag') {
- return $this->getEtag();
- }
-
- if (!array_key_exists(strtolower($name), $this->_dynamicProperties)) {
- $this->setAzureProperty($name);
- }
-
- return $this->_dynamicProperties[strtolower($name)]->Value;
- }
-
- /**
- * Get an Azure property type
- *
- * @param string $name Property name
- * @return string Property type (Edm.xxxx)
- */
- public function getAzurePropertyType($name)
- {
- if (!array_key_exists(strtolower($name), $this->_dynamicProperties)) {
- $this->setAzureProperty($name, '', $type);
- }
-
- return $this->_dynamicProperties[strtolower($name)]->Type;
- }
-
- /**
- * Get Azure values
- *
- * @return array
- */
- public function getAzureValues()
- {
- return array_merge(array_values($this->_dynamicProperties), parent::getAzureValues());
- }
-
- /**
- * Set Azure values
- *
- * @param array $values
- * @param boolean $throwOnError Throw Zend_Service_WindowsAzure_Exception when a property is not specified in $values?
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function setAzureValues($values = array(), $throwOnError = false)
- {
- // Set parent values
- parent::setAzureValues($values, false);
-
- // Set current values
- foreach ($values as $key => $value)
- {
- $this->$key = $value;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Queue.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Queue.php
deleted file mode 100644
index 7e9875edc..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Queue.php
+++ /dev/null
@@ -1,547 +0,0 @@
-_apiVersion = '2009-04-14';
- }
-
- /**
- * Check if a queue exists
- *
- * @param string $queueName Queue name
- * @return boolean
- */
- public function queueExists($queueName = '')
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
-
- // List queues
- $queues = $this->listQueues($queueName, 1);
- foreach ($queues as $queue) {
- if ($queue->Name == $queueName) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Create queue
- *
- * @param string $queueName Queue name
- * @param array $metadata Key/value pairs of meta data
- * @return object Queue properties
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function createQueue($queueName = '', $metadata = array())
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Perform request
- $response = $this->_performRequest($queueName, '', Zend_Http_Client::PUT, $headers);
- if ($response->isSuccessful()) {
- return new Zend_Service_WindowsAzure_Storage_QueueInstance(
- $queueName,
- $metadata
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get queue
- *
- * @param string $queueName Queue name
- * @return Zend_Service_WindowsAzure_Storage_QueueInstance
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getQueue($queueName = '')
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
-
- // Perform request
- $response = $this->_performRequest($queueName, '?comp=metadata', Zend_Http_Client::GET);
- if ($response->isSuccessful()) {
- // Parse metadata
- $metadata = $this->_parseMetadataHeaders($response->getHeaders());
-
- // Return queue
- $queue = new Zend_Service_WindowsAzure_Storage_QueueInstance(
- $queueName,
- $metadata
- );
- $queue->ApproximateMessageCount = intval($response->getHeader('x-ms-approximate-message-count'));
- return $queue;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Get queue metadata
- *
- * @param string $queueName Queue name
- * @return array Key/value pairs of meta data
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getQueueMetadata($queueName = '')
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
-
- return $this->getQueue($queueName)->Metadata;
- }
-
- /**
- * Set queue metadata
- *
- * Calling the Set Queue Metadata operation overwrites all existing metadata that is associated with the queue. It's not possible to modify an individual name/value pair.
- *
- * @param string $queueName Queue name
- * @param array $metadata Key/value pairs of meta data
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function setQueueMetadata($queueName = '', $metadata = array())
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
- if (count($metadata) == 0) {
- return;
- }
-
- // Create metadata headers
- $headers = array();
- $headers = array_merge($headers, $this->_generateMetadataHeaders($metadata));
-
- // Perform request
- $response = $this->_performRequest($queueName, '?comp=metadata', Zend_Http_Client::PUT, $headers);
-
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Delete queue
- *
- * @param string $queueName Queue name
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function deleteQueue($queueName = '')
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
-
- // Perform request
- $response = $this->_performRequest($queueName, '', Zend_Http_Client::DELETE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * List queues
- *
- * @param string $prefix Optional. Filters the results to return only queues whose name begins with the specified prefix.
- * @param int $maxResults Optional. Specifies the maximum number of queues to return per call to Azure storage. This does NOT affect list size returned by this function. (maximum: 5000)
- * @param string $marker Optional string value that identifies the portion of the list to be returned with the next list operation.
- * @param int $currentResultCount Current result count (internal use)
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function listQueues($prefix = null, $maxResults = null, $marker = null, $currentResultCount = 0)
- {
- // Build query string
- $queryString = '?comp=list';
- if (!is_null($prefix)) {
- $queryString .= '&prefix=' . $prefix;
- }
- if (!is_null($maxResults)) {
- $queryString .= '&maxresults=' . $maxResults;
- }
- if (!is_null($marker)) {
- $queryString .= '&marker=' . $marker;
- }
-
- // Perform request
- $response = $this->_performRequest('', $queryString, Zend_Http_Client::GET);
- if ($response->isSuccessful()) {
- $xmlQueues = $this->_parseResponse($response)->Queues->Queue;
- $xmlMarker = (string)$this->_parseResponse($response)->NextMarker;
-
- $queues = array();
- if (!is_null($xmlQueues)) {
- for ($i = 0; $i < count($xmlQueues); $i++) {
- $queues[] = new Zend_Service_WindowsAzure_Storage_QueueInstance(
- (string)$xmlQueues[$i]->QueueName
- );
- }
- }
- $currentResultCount = $currentResultCount + count($queues);
- if (!is_null($maxResults) && $currentResultCount < $maxResults) {
- if (!is_null($xmlMarker) && $xmlMarker != '') {
- $queues = array_merge($queues, $this->listQueues($prefix, $maxResults, $xmlMarker, $currentResultCount));
- }
- }
- if (!is_null($maxResults) && count($queues) > $maxResults) {
- $queues = array_slice($queues, 0, $maxResults);
- }
-
- return $queues;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Put message into queue
- *
- * @param string $queueName Queue name
- * @param string $message Message
- * @param int $ttl Message Time-To-Live (in seconds). Defaults to 7 days if the parameter is omitted.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function putMessage($queueName = '', $message = '', $ttl = null)
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
- if (strlen($message) > self::MAX_MESSAGE_SIZE) {
- throw new Zend_Service_WindowsAzure_Exception('Message is too big. Message content should be < 8KB.');
- }
- if ($message == '') {
- throw new Zend_Service_WindowsAzure_Exception('Message is not specified.');
- }
- if (!is_null($ttl) && ($ttl <= 0 || $ttl > self::MAX_MESSAGE_SIZE)) {
- throw new Zend_Service_WindowsAzure_Exception('Message TTL is invalid. Maximal TTL is 7 days (' . self::MAX_MESSAGE_SIZE . ' seconds) and should be greater than zero.');
- }
-
- // Build query string
- $queryString = '';
- if (!is_null($ttl)) {
- $queryString .= '?messagettl=' . $ttl;
- }
-
- // Build body
- $rawData = '';
- $rawData .= '';
- $rawData .= ' ' . base64_encode($message) . ' ';
- $rawData .= ' ';
-
- // Perform request
- $response = $this->_performRequest($queueName . '/messages', $queryString, Zend_Http_Client::POST, array(), false, $rawData);
-
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception('Error putting message into queue.');
- }
- }
-
- /**
- * Get queue messages
- *
- * @param string $queueName Queue name
- * @param string $numOfMessages Optional. A nonzero integer value that specifies the number of messages to retrieve from the queue, up to a maximum of 32. By default, a single message is retrieved from the queue with this operation.
- * @param int $visibilityTimeout Optional. An integer value that specifies the message's visibility timeout in seconds. The maximum value is 2 hours. The default message visibility timeout is 30 seconds.
- * @param string $peek Peek only?
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function getMessages($queueName = '', $numOfMessages = 1, $visibilityTimeout = null, $peek = false)
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
- if ($numOfMessages < 1 || $numOfMessages > 32 || intval($numOfMessages) != $numOfMessages) {
- throw new Zend_Service_WindowsAzure_Exception('Invalid number of messages to retrieve.');
- }
- if (!is_null($visibilityTimeout) && ($visibilityTimeout <= 0 || $visibilityTimeout > 7200)) {
- throw new Zend_Service_WindowsAzure_Exception('Visibility timeout is invalid. Maximum value is 2 hours (7200 seconds) and should be greater than zero.');
- }
-
- // Build query string
- $query = array();
- if ($peek) {
- $query[] = 'peekonly=true';
- }
- if ($numOfMessages > 1) {
- $query[] = 'numofmessages=' . $numOfMessages;
- }
- if (!$peek && !is_null($visibilityTimeout)) {
- $query[] = 'visibilitytimeout=' . $visibilityTimeout;
- }
- $queryString = '?' . implode('&', $query);
-
- // Perform request
- $response = $this->_performRequest($queueName . '/messages', $queryString, Zend_Http_Client::GET);
- if ($response->isSuccessful()) {
- // Parse results
- $result = $this->_parseResponse($response);
- if (!$result) {
- return array();
- }
-
- $xmlMessages = null;
- if (count($result->QueueMessage) > 1) {
- $xmlMessages = $result->QueueMessage;
- } else {
- $xmlMessages = array($result->QueueMessage);
- }
-
- $messages = array();
- for ($i = 0; $i < count($xmlMessages); $i++) {
- $messages[] = new Zend_Service_WindowsAzure_Storage_QueueMessage(
- (string)$xmlMessages[$i]->MessageId,
- (string)$xmlMessages[$i]->InsertionTime,
- (string)$xmlMessages[$i]->ExpirationTime,
- ($peek ? '' : (string)$xmlMessages[$i]->PopReceipt),
- ($peek ? '' : (string)$xmlMessages[$i]->TimeNextVisible),
- base64_decode((string)$xmlMessages[$i]->MessageText)
- );
- }
-
- return $messages;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Peek queue messages
- *
- * @param string $queueName Queue name
- * @param string $numOfMessages Optional. A nonzero integer value that specifies the number of messages to retrieve from the queue, up to a maximum of 32. By default, a single message is retrieved from the queue with this operation.
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function peekMessages($queueName = '', $numOfMessages = 1)
- {
- return $this->getMessages($queueName, $numOfMessages, null, true);
- }
-
- /**
- * Clear queue messages
- *
- * @param string $queueName Queue name
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function clearMessages($queueName = '')
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
-
- // Perform request
- $response = $this->_performRequest($queueName . '/messages', '', Zend_Http_Client::DELETE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception('Error clearing messages from queue.');
- }
- }
-
- /**
- * Delete queue message
- *
- * @param string $queueName Queue name
- * @param Zend_Service_WindowsAzure_Storage_QueueMessage $message Message to delete from queue. A message retrieved using "peekMessages" can NOT be deleted!
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function deleteMessage($queueName = '', Zend_Service_WindowsAzure_Storage_QueueMessage $message)
- {
- if ($queueName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Queue name is not specified.');
- }
- if (!self::isValidQueueName($queueName)) {
- throw new Zend_Service_WindowsAzure_Exception('Queue name does not adhere to queue naming conventions. See http://msdn.microsoft.com/en-us/library/dd179349.aspx for more information.');
- }
- if ($message->PopReceipt == '') {
- throw new Zend_Service_WindowsAzure_Exception('A message retrieved using "peekMessages" can NOT be deleted! Use "getMessages" instead.');
- }
-
- // Perform request
- $response = $this->_performRequest($queueName . '/messages/' . $message->MessageId, '?popreceipt=' . $message->PopReceipt, Zend_Http_Client::DELETE);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Is valid queue name?
- *
- * @param string $queueName Queue name
- * @return boolean
- */
- public static function isValidQueueName($queueName = '')
- {
- if (preg_match("/^[a-z0-9][a-z0-9-]*$/", $queueName) === 0) {
- return false;
- }
-
- if (strpos($queueName, '--') !== false) {
- return false;
- }
-
- if (strtolower($queueName) != $queueName) {
- return false;
- }
-
- if (strlen($queueName) < 3 || strlen($queueName) > 63) {
- return false;
- }
-
- if (substr($queueName, -1) == '-') {
- return false;
- }
-
- return true;
- }
-
- /**
- * Get error message from Zend_Http_Response
- *
- * @param Zend_Http_Response $response Repsonse
- * @param string $alternativeError Alternative error message
- * @return string
- */
- protected function _getErrorMessage(Zend_Http_Response $response, $alternativeError = 'Unknown error.')
- {
- $response = $this->_parseResponse($response);
- if ($response && $response->Message) {
- return (string)$response->Message;
- } else {
- return $alternativeError;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/QueueInstance.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/QueueInstance.php
deleted file mode 100644
index 72ae0ef3b..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/QueueInstance.php
+++ /dev/null
@@ -1,91 +0,0 @@
-_data = array(
- 'name' => $name,
- 'metadata' => $metadata,
- 'approximatemessagecount' => 0
- );
- }
-
- /**
- * Magic overload for setting properties
- *
- * @param string $name Name of the property
- * @param string $value Value to set
- */
- public function __set($name, $value) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- $this->_data[strtolower($name)] = $value;
- return;
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- return $this->_data[strtolower($name)];
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/QueueMessage.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/QueueMessage.php
deleted file mode 100644
index 30b41a194..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/QueueMessage.php
+++ /dev/null
@@ -1,101 +0,0 @@
-_data = array(
- 'messageid' => $messageId,
- 'insertiontime' => $insertionTime,
- 'expirationtime' => $expirationTime,
- 'popreceipt' => $popReceipt,
- 'timenextvisible' => $timeNextVisible,
- 'messagetext' => $messageText
- );
- }
-
- /**
- * Magic overload for setting properties
- *
- * @param string $name Name of the property
- * @param string $value Value to set
- */
- public function __set($name, $value) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- $this->_data[strtolower($name)] = $value;
- return;
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- return $this->_data[strtolower($name)];
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/SignedIdentifier.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/SignedIdentifier.php
deleted file mode 100644
index bfa907028..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/SignedIdentifier.php
+++ /dev/null
@@ -1,94 +0,0 @@
-_data = array(
- 'id' => $id,
- 'start' => $start,
- 'expiry' => $expiry,
- 'permissions' => $permissions
- );
- }
-
- /**
- * Magic overload for setting properties
- *
- * @param string $name Name of the property
- * @param string $value Value to set
- */
- public function __set($name, $value) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- $this->_data[strtolower($name)] = $value;
- return;
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- return $this->_data[strtolower($name)];
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Table.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Table.php
deleted file mode 100644
index d885614f2..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/Table.php
+++ /dev/null
@@ -1,816 +0,0 @@
-_credentials = new Zend_Service_WindowsAzure_Credentials_SharedKeyLite($accountName, $accountKey, $this->_usePathStyleUri);
-
- // API version
- $this->_apiVersion = '2009-04-14';
- }
-
- /**
- * Check if a table exists
- *
- * @param string $tableName Table name
- * @return boolean
- */
- public function tableExists($tableName = '')
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
-
- // List tables
- $tables = $this->listTables($tableName);
- foreach ($tables as $table) {
- if ($table->Name == $tableName) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * List tables
- *
- * @param string $nextTableName Next table name, used for listing tables when total amount of tables is > 1000.
- * @return array
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function listTables($nextTableName = '')
- {
- // Build query string
- $queryString = '';
- if ($nextTableName != '') {
- $queryString = '?NextTableName=' . $nextTableName;
- }
-
- // Perform request
- $response = $this->_performRequest('Tables', $queryString, Zend_Http_Client::GET, null, true);
- if ($response->isSuccessful()) {
- // Parse result
- $result = $this->_parseResponse($response);
-
- if (!$result || !$result->entry) {
- return array();
- }
-
- $entries = null;
- if (count($result->entry) > 1) {
- $entries = $result->entry;
- } else {
- $entries = array($result->entry);
- }
-
- // Create return value
- $returnValue = array();
- foreach ($entries as $entry) {
- $tableName = $entry->xpath('.//m:properties/d:TableName');
- $tableName = (string)$tableName[0];
-
- $returnValue[] = new Zend_Service_WindowsAzure_Storage_TableInstance(
- (string)$entry->id,
- $tableName,
- (string)$entry->link['href'],
- (string)$entry->updated
- );
- }
-
- // More tables?
- if (!is_null($response->getHeader('x-ms-continuation-NextTableName'))) {
- $returnValue = array_merge($returnValue, $this->listTables($response->getHeader('x-ms-continuation-NextTableName')));
- }
-
- return $returnValue;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Create table
- *
- * @param string $tableName Table name
- * @return Zend_Service_WindowsAzure_Storage_TableInstance
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function createTable($tableName = '')
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
-
- // Generate request body
- $requestBody = '
-
-
- {tpl:Updated}
-
-
-
-
-
-
- {tpl:TableName}
-
-
- ';
-
- $requestBody = $this->_fillTemplate($requestBody, array(
- 'BaseUrl' => $this->getBaseUrl(),
- 'TableName' => htmlspecialchars($tableName),
- 'Updated' => $this->isoDate(),
- 'AccountName' => $this->_accountName
- ));
-
- // Add header information
- $headers = array();
- $headers['Content-Type'] = 'application/atom+xml';
- $headers['DataServiceVersion'] = '1.0;NetFx';
- $headers['MaxDataServiceVersion'] = '1.0;NetFx';
-
- // Perform request
- $response = $this->_performRequest('Tables', '', Zend_Http_Client::POST, $headers, true, $requestBody);
- if ($response->isSuccessful()) {
- // Parse response
- $entry = $this->_parseResponse($response);
-
- $tableName = $entry->xpath('.//m:properties/d:TableName');
- $tableName = (string)$tableName[0];
-
- return new Zend_Service_WindowsAzure_Storage_TableInstance(
- (string)$entry->id,
- $tableName,
- (string)$entry->link['href'],
- (string)$entry->updated
- );
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Delete table
- *
- * @param string $tableName Table name
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function deleteTable($tableName = '')
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
-
- // Add header information
- $headers = array();
- $headers['Content-Type'] = 'application/atom+xml';
-
- // Perform request
- $response = $this->_performRequest('Tables(\'' . $tableName . '\')', '', Zend_Http_Client::DELETE, $headers, true, null);
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Insert entity into table
- *
- * @param string $tableName Table name
- * @param Zend_Service_WindowsAzure_Storage_TableEntity $entity Entity to insert
- * @return Zend_Service_WindowsAzure_Storage_TableEntity
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function insertEntity($tableName = '', Zend_Service_WindowsAzure_Storage_TableEntity $entity = null)
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
- if (is_null($entity)) {
- throw new Zend_Service_WindowsAzure_Exception('Entity is not specified.');
- }
-
- // Generate request body
- $requestBody = '
-
-
- {tpl:Updated}
-
-
-
-
-
-
- {tpl:Properties}
-
-
- ';
-
- $requestBody = $this->_fillTemplate($requestBody, array(
- 'Updated' => $this->isoDate(),
- 'Properties' => $this->_generateAzureRepresentation($entity)
- ));
-
- // Add header information
- $headers = array();
- $headers['Content-Type'] = 'application/atom+xml';
-
- // Perform request
- $response = null;
- if ($this->isInBatch()) {
- $this->getCurrentBatch()->enlistOperation($tableName, '', Zend_Http_Client::POST, $headers, true, $requestBody);
- return null;
- } else {
- $response = $this->_performRequest($tableName, '', Zend_Http_Client::POST, $headers, true, $requestBody);
- }
- if ($response->isSuccessful()) {
- // Parse result
- $result = $this->_parseResponse($response);
-
- $timestamp = $result->xpath('//m:properties/d:Timestamp');
- $timestamp = (string)$timestamp[0];
-
- $etag = $result->attributes('http://schemas.microsoft.com/ado/2007/08/dataservices/metadata');
- $etag = (string)$etag['etag'];
-
- // Update properties
- $entity->setTimestamp($timestamp);
- $entity->setEtag($etag);
-
- return $entity;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Delete entity from table
- *
- * @param string $tableName Table name
- * @param Zend_Service_WindowsAzure_Storage_TableEntity $entity Entity to delete
- * @param boolean $verifyEtag Verify etag of the entity (used for concurrency)
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function deleteEntity($tableName = '', Zend_Service_WindowsAzure_Storage_TableEntity $entity = null, $verifyEtag = false)
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
- if (is_null($entity)) {
- throw new Zend_Service_WindowsAzure_Exception('Entity is not specified.');
- }
-
- // Add header information
- $headers = array();
- if (!$this->isInBatch()) {
- // http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/9e255447-4dc7-458a-99d3-bdc04bdc5474/
- $headers['Content-Type'] = 'application/atom+xml';
- }
- $headers['Content-Length'] = 0;
- if (!$verifyEtag) {
- $headers['If-Match'] = '*';
- } else {
- $headers['If-Match'] = $entity->getEtag();
- }
-
- // Perform request
- $response = null;
- if ($this->isInBatch()) {
- $this->getCurrentBatch()->enlistOperation($tableName . '(PartitionKey=\'' . $entity->getPartitionKey() . '\', RowKey=\'' . $entity->getRowKey() . '\')', '', Zend_Http_Client::DELETE, $headers, true, null);
- return null;
- } else {
- $response = $this->_performRequest($tableName . '(PartitionKey=\'' . $entity->getPartitionKey() . '\', RowKey=\'' . $entity->getRowKey() . '\')', '', Zend_Http_Client::DELETE, $headers, true, null);
- }
- if (!$response->isSuccessful()) {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Retrieve entity from table, by id
- *
- * @param string $tableName Table name
- * @param string $partitionKey Partition key
- * @param string $rowKey Row key
- * @param string $entityClass Entity class name*
- * @return Zend_Service_WindowsAzure_Storage_TableEntity
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function retrieveEntityById($tableName = '', $partitionKey = '', $rowKey = '', $entityClass = 'Zend_Service_WindowsAzure_Storage_DynamicTableEntity')
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
- if ($partitionKey === '') {
- throw new Zend_Service_WindowsAzure_Exception('Partition key is not specified.');
- }
- if ($rowKey === '') {
- throw new Zend_Service_WindowsAzure_Exception('Row key is not specified.');
- }
- if ($entityClass === '') {
- throw new Zend_Service_WindowsAzure_Exception('Entity class is not specified.');
- }
-
-
- // Check for combined size of partition key and row key
- // http://msdn.microsoft.com/en-us/library/dd179421.aspx
- if (strlen($partitionKey . $rowKey) >= 256) {
- // Start a batch if possible
- if ($this->isInBatch()) {
- throw new Zend_Service_WindowsAzure_Exception('Entity cannot be retrieved. A transaction is required to retrieve the entity, but another transaction is already active.');
- }
-
- $this->startBatch();
- }
-
- // Fetch entities from Azure
- $result = $this->retrieveEntities(
- $this->select()
- ->from($tableName)
- ->wherePartitionKey($partitionKey)
- ->whereRowKey($rowKey),
- '',
- $entityClass
- );
-
- // Return
- if (count($result) == 1) {
- return $result[0];
- }
-
- return null;
- }
-
- /**
- * Create a new Zend_Service_WindowsAzure_Storage_TableEntityQuery
- *
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function select()
- {
- return new Zend_Service_WindowsAzure_Storage_TableEntityQuery();
- }
-
- /**
- * Retrieve entities from table
- *
- * @param string $tableName|Zend_Service_WindowsAzure_Storage_TableEntityQuery Table name -or- Zend_Service_WindowsAzure_Storage_TableEntityQuery instance
- * @param string $filter Filter condition (not applied when $tableName is a Zend_Service_WindowsAzure_Storage_TableEntityQuery instance)
- * @param string $entityClass Entity class name
- * @param string $nextPartitionKey Next partition key, used for listing entities when total amount of entities is > 1000.
- * @param string $nextRowKey Next row key, used for listing entities when total amount of entities is > 1000.
- * @return array Array of Zend_Service_WindowsAzure_Storage_TableEntity
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function retrieveEntities($tableName = '', $filter = '', $entityClass = 'Zend_Service_WindowsAzure_Storage_DynamicTableEntity', $nextPartitionKey = null, $nextRowKey = null)
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
- if ($entityClass === '') {
- throw new Zend_Service_WindowsAzure_Exception('Entity class is not specified.');
- }
-
- // Convenience...
- if (class_exists($filter)) {
- $entityClass = $filter;
- $filter = '';
- }
-
- // Query string
- $queryString = '';
-
- // Determine query
- if (is_string($tableName)) {
- // Option 1: $tableName is a string
-
- // Append parentheses
- $tableName .= '()';
-
- // Build query
- $query = array();
-
- // Filter?
- if ($filter !== '') {
- $query[] = '$filter=' . rawurlencode($filter);
- }
-
- // Build queryString
- if (count($query) > 0) {
- $queryString = '?' . implode('&', $query);
- }
- } else if (get_class($tableName) == 'Zend_Service_WindowsAzure_Storage_TableEntityQuery') {
- // Option 2: $tableName is a Zend_Service_WindowsAzure_Storage_TableEntityQuery instance
-
- // Build queryString
- $queryString = $tableName->assembleQueryString(true);
-
- // Change $tableName
- $tableName = $tableName->assembleFrom(true);
- } else {
- throw new Zend_Service_WindowsAzure_Exception('Invalid argument: $tableName');
- }
-
- // Add continuation querystring parameters?
- if (!is_null($nextPartitionKey) && !is_null($nextRowKey)) {
- if ($queryString !== '') {
- $queryString .= '&';
- }
-
- $queryString .= '&NextPartitionKey=' . rawurlencode($nextPartitionKey) . '&NextRowKey=' . rawurlencode($nextRowKey);
- }
-
- // Perform request
- $response = null;
- if ($this->isInBatch() && $this->getCurrentBatch()->getOperationCount() == 0) {
- $this->getCurrentBatch()->enlistOperation($tableName, $queryString, Zend_Http_Client::GET, array(), true, null);
- $response = $this->getCurrentBatch()->commit();
-
- // Get inner response (multipart)
- $innerResponse = $response->getBody();
- $innerResponse = substr($innerResponse, strpos($innerResponse, 'HTTP/1.1 200 OK'));
- $innerResponse = substr($innerResponse, 0, strpos($innerResponse, '--batchresponse'));
- $response = Zend_Http_Response::fromString($innerResponse);
- } else {
- $response = $this->_performRequest($tableName, $queryString, Zend_Http_Client::GET, array(), true, null);
- }
-
- if ($response->isSuccessful()) {
- // Parse result
- $result = $this->_parseResponse($response);
- if (!$result) {
- return array();
- }
-
- $entries = null;
- if ($result->entry) {
- if (count($result->entry) > 1) {
- $entries = $result->entry;
- } else {
- $entries = array($result->entry);
- }
- } else {
- // This one is tricky... If we have properties defined, we have an entity.
- $properties = $result->xpath('//m:properties');
- if ($properties) {
- $entries = array($result);
- } else {
- return array();
- }
- }
-
- // Create return value
- $returnValue = array();
- foreach ($entries as $entry) {
- // Parse properties
- $properties = $entry->xpath('.//m:properties');
- $properties = $properties[0]->children('http://schemas.microsoft.com/ado/2007/08/dataservices');
-
- // Create entity
- $entity = new $entityClass('', '');
- $entity->setAzureValues((array)$properties, true);
-
- // If we have a Zend_Service_WindowsAzure_Storage_DynamicTableEntity, make sure all property types are OK
- if ($entity instanceof Zend_Service_WindowsAzure_Storage_DynamicTableEntity) {
- foreach ($properties as $key => $value) {
- $attributes = $value->attributes('http://schemas.microsoft.com/ado/2007/08/dataservices/metadata');
- $type = (string)$attributes['type'];
- if ($type !== '') {
- $entity->setAzurePropertyType($key, $type);
- }
- }
- }
-
- // Update etag
- $etag = $entry->attributes('http://schemas.microsoft.com/ado/2007/08/dataservices/metadata');
- $etag = (string)$etag['etag'];
- $entity->setEtag($etag);
-
- // Add to result
- $returnValue[] = $entity;
- }
-
- // More entities?
- if (!is_null($response->getHeader('x-ms-continuation-NextPartitionKey')) && !is_null($response->getHeader('x-ms-continuation-NextRowKey'))) {
- if (strpos($queryString, '$top') === false) {
- $returnValue = array_merge($returnValue, $this->retrieveEntities($tableName, $filter, $entityClass, $response->getHeader('x-ms-continuation-NextPartitionKey'), $response->getHeader('x-ms-continuation-NextRowKey')));
- }
- }
-
- // Return
- return $returnValue;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Update entity by replacing it
- *
- * @param string $tableName Table name
- * @param Zend_Service_WindowsAzure_Storage_TableEntity $entity Entity to update
- * @param boolean $verifyEtag Verify etag of the entity (used for concurrency)
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function updateEntity($tableName = '', Zend_Service_WindowsAzure_Storage_TableEntity $entity = null, $verifyEtag = false)
- {
- return $this->_changeEntity(Zend_Http_Client::PUT, $tableName, $entity, $verifyEtag);
- }
-
- /**
- * Update entity by adding or updating properties
- *
- * @param string $tableName Table name
- * @param Zend_Service_WindowsAzure_Storage_TableEntity $entity Entity to update
- * @param boolean $verifyEtag Verify etag of the entity (used for concurrency)
- * @param array $properties Properties to merge. All properties will be used when omitted.
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function mergeEntity($tableName = '', Zend_Service_WindowsAzure_Storage_TableEntity $entity = null, $verifyEtag = false, $properties = array())
- {
- $mergeEntity = null;
- if (is_array($properties) && count($properties) > 0) {
- // Build a new object
- $mergeEntity = new Zend_Service_WindowsAzure_Storage_DynamicTableEntity($entity->getPartitionKey(), $entity->getRowKey());
-
- // Keep only values mentioned in $properties
- $azureValues = $entity->getAzureValues();
- foreach ($azureValues as $key => $value) {
- if (in_array($value->Name, $properties)) {
- $mergeEntity->setAzureProperty($value->Name, $value->Value, $value->Type);
- }
- }
- } else {
- $mergeEntity = $entity;
- }
-
- return $this->_changeEntity(Zend_Http_Client::MERGE, $tableName, $mergeEntity, $verifyEtag);
- }
-
- /**
- * Get error message from Zend_Http_Response
- *
- * @param Zend_Http_Response $response Repsonse
- * @param string $alternativeError Alternative error message
- * @return string
- */
- protected function _getErrorMessage(Zend_Http_Response $response, $alternativeError = 'Unknown error.')
- {
- $response = $this->_parseResponse($response);
- if ($response && $response->message) {
- return (string)$response->message;
- } else {
- return $alternativeError;
- }
- }
-
- /**
- * Update entity / merge entity
- *
- * @param string $httpVerb HTTP verb to use (PUT = update, MERGE = merge)
- * @param string $tableName Table name
- * @param Zend_Service_WindowsAzure_Storage_TableEntity $entity Entity to update
- * @param boolean $verifyEtag Verify etag of the entity (used for concurrency)
- * @throws Zend_Service_WindowsAzure_Exception
- */
- protected function _changeEntity($httpVerb = Zend_Http_Client::PUT, $tableName = '', Zend_Service_WindowsAzure_Storage_TableEntity $entity = null, $verifyEtag = false)
- {
- if ($tableName === '') {
- throw new Zend_Service_WindowsAzure_Exception('Table name is not specified.');
- }
- if (is_null($entity)) {
- throw new Zend_Service_WindowsAzure_Exception('Entity is not specified.');
- }
-
- // Add header information
- $headers = array();
- $headers['Content-Type'] = 'application/atom+xml';
- $headers['Content-Length'] = 0;
- if (!$verifyEtag) {
- $headers['If-Match'] = '*';
- } else {
- $headers['If-Match'] = $entity->getEtag();
- }
-
- // Generate request body
- $requestBody = '
-
-
- {tpl:Updated}
-
-
-
-
-
-
- {tpl:Properties}
-
-
- ';
-
- $requestBody = $this->_fillTemplate($requestBody, array(
- 'Updated' => $this->isoDate(),
- 'Properties' => $this->_generateAzureRepresentation($entity)
- ));
-
- // Add header information
- $headers = array();
- $headers['Content-Type'] = 'application/atom+xml';
- if (!$verifyEtag) {
- $headers['If-Match'] = '*';
- } else {
- $headers['If-Match'] = $entity->getEtag();
- }
-
- // Perform request
- $response = null;
- if ($this->isInBatch()) {
- $this->getCurrentBatch()->enlistOperation($tableName . '(PartitionKey=\'' . $entity->getPartitionKey() . '\', RowKey=\'' . $entity->getRowKey() . '\')', '', $httpVerb, $headers, true, $requestBody);
- return null;
- } else {
- $response = $this->_performRequest($tableName . '(PartitionKey=\'' . $entity->getPartitionKey() . '\', RowKey=\'' . $entity->getRowKey() . '\')', '', $httpVerb, $headers, true, $requestBody);
- }
- if ($response->isSuccessful()) {
- // Update properties
- $entity->setEtag($response->getHeader('Etag'));
- $entity->setTimestamp($response->getHeader('Last-modified'));
-
- return $entity;
- } else {
- throw new Zend_Service_WindowsAzure_Exception($this->_getErrorMessage($response, 'Resource could not be accessed.'));
- }
- }
-
- /**
- * Generate RFC 1123 compliant date string
- *
- * @return string
- */
- protected function _rfcDate()
- {
- return gmdate('D, d M Y H:i:s', time()) . ' GMT'; // RFC 1123
- }
-
- /**
- * Fill text template with variables from key/value array
- *
- * @param string $templateText Template text
- * @param array $variables Array containing key/value pairs
- * @return string
- */
- protected function _fillTemplate($templateText, $variables = array())
- {
- foreach ($variables as $key => $value) {
- $templateText = str_replace('{tpl:' . $key . '}', $value, $templateText);
- }
- return $templateText;
- }
-
- /**
- * Generate Azure representation from entity (creates atompub markup from properties)
- *
- * @param Zend_Service_WindowsAzure_Storage_TableEntity $entity
- * @return string
- */
- protected function _generateAzureRepresentation(Zend_Service_WindowsAzure_Storage_TableEntity $entity = null)
- {
- // Generate Azure representation from entity
- $azureRepresentation = array();
- $azureValues = $entity->getAzureValues();
- foreach ($azureValues as $azureValue) {
- $value = array();
- $value[] = 'Name;
- if ($azureValue->Type != '') {
- $value[] = ' m:type="' . $azureValue->Type . '"';
- }
- if (is_null($azureValue->Value)) {
- $value[] = ' m:null="true"';
- }
- $value[] = '>';
-
- if (!is_null($azureValue->Value)) {
- if (strtolower($azureValue->Type) == 'edm.boolean') {
- $value[] = ($azureValue->Value == true ? '1' : '0');
- } else {
- $value[] = htmlspecialchars($azureValue->Value);
- }
- }
-
- $value[] = ' Name . '>';
- $azureRepresentation[] = implode('', $value);
- }
-
- return implode('', $azureRepresentation);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableEntity.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableEntity.php
deleted file mode 100644
index 97dcad893..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableEntity.php
+++ /dev/null
@@ -1,323 +0,0 @@
-_partitionKey = $partitionKey;
- $this->_rowKey = $rowKey;
- }
-
- /**
- * Get partition key
- *
- * @azure PartitionKey
- * @return string
- */
- public function getPartitionKey()
- {
- return $this->_partitionKey;
- }
-
- /**
- * Set partition key
- *
- * @azure PartitionKey
- * @param string $value
- */
- public function setPartitionKey($value)
- {
- $this->_partitionKey = $value;
- }
-
- /**
- * Get row key
- *
- * @azure RowKey
- * @return string
- */
- public function getRowKey()
- {
- return $this->_rowKey;
- }
-
- /**
- * Set row key
- *
- * @azure RowKey
- * @param string $value
- */
- public function setRowKey($value)
- {
- $this->_rowKey = $value;
- }
-
- /**
- * Get timestamp
- *
- * @azure Timestamp Edm.DateTime
- * @return string
- */
- public function getTimestamp()
- {
- return $this->_timestamp;
- }
-
- /**
- * Set timestamp
- *
- * @azure Timestamp Edm.DateTime
- * @param string $value
- */
- public function setTimestamp($value = '1900-01-01T00:00:00')
- {
- $this->_timestamp = $value;
- }
-
- /**
- * Get etag
- *
- * @return string
- */
- public function getEtag()
- {
- return $this->_etag;
- }
-
- /**
- * Set etag
- *
- * @param string $value
- */
- public function setEtag($value = '')
- {
- $this->_etag = $value;
- }
-
- /**
- * Get Azure values
- *
- * @return array
- */
- public function getAzureValues()
- {
- // Get accessors
- $accessors = self::getAzureAccessors(get_class($this));
-
- // Loop accessors and retrieve values
- $returnValue = array();
- foreach ($accessors as $accessor) {
- if ($accessor->EntityType == 'ReflectionProperty') {
- $property = $accessor->EntityAccessor;
- $returnValue[] = (object)array(
- 'Name' => $accessor->AzurePropertyName,
- 'Type' => $accessor->AzurePropertyType,
- 'Value' => $this->$property,
- );
- } else if ($accessor->EntityType == 'ReflectionMethod' && substr(strtolower($accessor->EntityAccessor), 0, 3) == 'get') {
- $method = $accessor->EntityAccessor;
- $returnValue[] = (object)array(
- 'Name' => $accessor->AzurePropertyName,
- 'Type' => $accessor->AzurePropertyType,
- 'Value' => $this->$method(),
- );
- }
- }
-
- // Return
- return $returnValue;
- }
-
- /**
- * Set Azure values
- *
- * @param array $values
- * @param boolean $throwOnError Throw Zend_Service_WindowsAzure_Exception when a property is not specified in $values?
- * @throws Zend_Service_WindowsAzure_Exception
- */
- public function setAzureValues($values = array(), $throwOnError = false)
- {
- // Get accessors
- $accessors = self::getAzureAccessors(get_class($this));
-
- // Loop accessors and set values
- $returnValue = array();
- foreach ($accessors as $accessor) {
- if (isset($values[$accessor->AzurePropertyName])) {
- // Cast to correct type
- if ($accessor->AzurePropertyType != '') {
- switch (strtolower($accessor->AzurePropertyType)) {
- case 'edm.int32':
- case 'edm.int64':
- $values[$accessor->AzurePropertyName] = intval($values[$accessor->AzurePropertyName]); break;
- case 'edm.boolean':
- if ($values[$accessor->AzurePropertyName] == 'true' || $values[$accessor->AzurePropertyName] == '1')
- $values[$accessor->AzurePropertyName] = true;
- else
- $values[$accessor->AzurePropertyName] = false;
- break;
- case 'edm.double':
- $values[$accessor->AzurePropertyName] = floatval($values[$accessor->AzurePropertyName]); break;
- }
- }
-
- // Assign value
- if ($accessor->EntityType == 'ReflectionProperty') {
- $property = $accessor->EntityAccessor;
- $this->$property = $values[$accessor->AzurePropertyName];
- } else if ($accessor->EntityType == 'ReflectionMethod' && substr(strtolower($accessor->EntityAccessor), 0, 3) == 'set') {
- $method = $accessor->EntityAccessor;
- $this->$method($values[$accessor->AzurePropertyName]);
- }
- } else if ($throwOnError) {
- throw new Zend_Service_WindowsAzure_Exception("Property '" . $accessor->AzurePropertyName . "' was not found in \$values array");
- }
- }
-
- // Return
- return $returnValue;
- }
-
- /**
- * Get Azure accessors from class
- *
- * @param string $className Class to get accessors for
- * @return array
- */
- public static function getAzureAccessors($className = '')
- {
- // List of accessors
- $azureAccessors = array();
-
- // Get all types
- $type = new ReflectionClass($className);
-
- // Loop all properties
- $properties = $type->getProperties();
- foreach ($properties as $property) {
- $accessor = self::getAzureAccessor($property);
- if (!is_null($accessor)) {
- $azureAccessors[] = $accessor;
- }
- }
-
- // Loop all methods
- $methods = $type->getMethods();
- foreach ($methods as $method) {
- $accessor = self::getAzureAccessor($method);
- if (!is_null($accessor)) {
- $azureAccessors[] = $accessor;
- }
- }
-
- // Return
- return $azureAccessors;
- }
-
- /**
- * Get Azure accessor from reflection member
- *
- * @param ReflectionProperty|ReflectionMethod $member
- * @return object
- */
- public static function getAzureAccessor($member)
- {
- // Get comment
- $docComment = $member->getDocComment();
-
- // Check for Azure comment
- if (strpos($docComment, '@azure') === false)
- {
- return null;
- }
-
- // Search for @azure contents
- $azureComment = '';
- $commentLines = explode("\n", $docComment);
- foreach ($commentLines as $commentLine) {
- if (strpos($commentLine, '@azure') !== false) {
- $azureComment = trim(substr($commentLine, strpos($commentLine, '@azure') + 6));
- while (strpos($azureComment, ' ') !== false) {
- $azureComment = str_replace(' ', ' ', $azureComment);
- }
- break;
- }
- }
-
- // Fetch @azure properties
- $azureProperties = explode(' ', $azureComment);
- return (object)array(
- 'EntityAccessor' => $member->getName(),
- 'EntityType' => get_class($member),
- 'AzurePropertyName' => $azureProperties[0],
- 'AzurePropertyType' => isset($azureProperties[1]) ? $azureProperties[1] : ''
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableEntityQuery.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableEntityQuery.php
deleted file mode 100644
index db6a1c858..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableEntityQuery.php
+++ /dev/null
@@ -1,326 +0,0 @@
-_from = $name;
- return $this;
- }
-
- /**
- * Specify partition key
- *
- * @param string $value Partition key to query for
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function wherePartitionKey($value = null)
- {
- $this->_partitionKey = $value;
- return $this;
- }
-
- /**
- * Specify row key
- *
- * @param string $value Row key to query for
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function whereRowKey($value = null)
- {
- $this->_rowKey = $value;
- return $this;
- }
-
- /**
- * Add where clause
- *
- * @param string $condition Condition, can contain question mark(s) (?) for parameter insertion.
- * @param string|array $value Value(s) to insert in question mark (?) parameters.
- * @param string $cond Condition for the clause (and/or/not)
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function where($condition, $value = null, $cond = '')
- {
- $condition = $this->_replaceOperators($condition);
-
- if (!is_null($value)) {
- $condition = $this->_quoteInto($condition, $value);
- }
-
- if (count($this->_where) == 0) {
- $cond = '';
- } else if ($cond !== '') {
- $cond = ' ' . strtolower(trim($cond)) . ' ';
- }
-
- $this->_where[] = $cond . $condition;
- return $this;
- }
-
- /**
- * Add where clause with AND condition
- *
- * @param string $condition Condition, can contain question mark(s) (?) for parameter insertion.
- * @param string|array $value Value(s) to insert in question mark (?) parameters.
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function andWhere($condition, $value = null)
- {
- return $this->where($condition, $value, 'and');
- }
-
- /**
- * Add where clause with OR condition
- *
- * @param string $condition Condition, can contain question mark(s) (?) for parameter insertion.
- * @param string|array $value Value(s) to insert in question mark (?) parameters.
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function orWhere($condition, $value = null)
- {
- return $this->where($condition, $value, 'or');
- }
-
- /**
- * OrderBy clause
- *
- * @param string $column Column to sort by
- * @param string $direction Direction to sort (asc/desc)
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function orderBy($column, $direction = 'asc')
- {
- $this->_orderBy[] = $column . ' ' . $direction;
- return $this;
- }
-
- /**
- * Top clause
- *
- * @param int $top Top to fetch
- * @return Zend_Service_WindowsAzure_Storage_TableEntityQuery
- */
- public function top($top = null)
- {
- $this->_top = (int)$top;
- return $this;
- }
-
- /**
- * Assembles the query string
- *
- * @param boolean $urlEncode Apply URL encoding to the query string
- * @return string
- */
- public function assembleQueryString($urlEncode = false)
- {
- $query = array();
- if (count($this->_where) != 0) {
- $filter = implode('', $this->_where);
- $query[] = '$filter=' . ($urlEncode ? urlencode($filter) : $filter);
- }
-
- if (count($this->_orderBy) != 0) {
- $orderBy = implode(',', $this->_orderBy);
- $query[] = '$orderby=' . ($urlEncode ? urlencode($orderBy) : $orderBy);
- }
-
- if (!is_null($this->_top)) {
- $query[] = '$top=' . $this->_top;
- }
-
- if (count($query) != 0) {
- return '?' . implode('&', $query);
- }
-
- return '';
- }
-
- /**
- * Assemble from
- *
- * @param boolean $includeParentheses Include parentheses? ()
- * @return string
- */
- public function assembleFrom($includeParentheses = true)
- {
- $identifier = '';
- if ($includeParentheses) {
- $identifier .= '(';
-
- if (!is_null($this->_partitionKey)) {
- $identifier .= 'PartitionKey=\'' . $this->_partitionKey . '\'';
- }
-
- if (!is_null($this->_partitionKey) && !is_null($this->_rowKey)) {
- $identifier .= ', ';
- }
-
- if (!is_null($this->_rowKey)) {
- $identifier .= 'RowKey=\'' . $this->_rowKey . '\'';
- }
-
- $identifier .= ')';
- }
- return $this->_from . $identifier;
- }
-
- /**
- * Assemble full query
- *
- * @return string
- */
- public function assembleQuery()
- {
- $assembledQuery = $this->assembleFrom();
-
- $queryString = $this->assembleQueryString();
- if ($queryString !== '') {
- $assembledQuery .= $queryString;
- }
-
- return $assembledQuery;
- }
-
- /**
- * Quotes a variable into a condition
- *
- * @param string $text Condition, can contain question mark(s) (?) for parameter insertion.
- * @param string|array $value Value(s) to insert in question mark (?) parameters.
- * @return string
- */
- protected function _quoteInto($text, $value = null)
- {
- if (!is_array($value)) {
- $text = str_replace('?', '\'' . addslashes($value) . '\'', $text);
- } else {
- $i = 0;
- while(strpos($text, '?') !== false) {
- if (is_numeric($value[$i])) {
- $text = substr_replace($text, $value[$i++], strpos($text, '?'), 1);
- } else {
- $text = substr_replace($text, '\'' . addslashes($value[$i++]) . '\'', strpos($text, '?'), 1);
- }
- }
- }
- return $text;
- }
-
- /**
- * Replace operators
- *
- * @param string $text
- * @return string
- */
- protected function _replaceOperators($text)
- {
- $text = str_replace('==', 'eq', $text);
- $text = str_replace('>', 'gt', $text);
- $text = str_replace('<', 'lt', $text);
- $text = str_replace('>=', 'ge', $text);
- $text = str_replace('<=', 'le', $text);
- $text = str_replace('!=', 'ne', $text);
-
- $text = str_replace('&&', 'and', $text);
- $text = str_replace('||', 'or', $text);
- $text = str_replace('!', 'not', $text);
-
- return $text;
- }
-
- /**
- * __toString overload
- *
- * @return string
- */
- public function __toString()
- {
- return $this->assembleQuery();
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableInstance.php b/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableInstance.php
deleted file mode 100644
index 95b613c79..000000000
--- a/airtime_mvc/library/Zend/Service/WindowsAzure/Storage/TableInstance.php
+++ /dev/null
@@ -1,95 +0,0 @@
-_data = array(
- 'id' => $id,
- 'name' => $name,
- 'href' => $href,
- 'updated' => $updated
- );
- }
-
- /**
- * Magic overload for setting properties
- *
- * @param string $name Name of the property
- * @param string $value Value to set
- */
- public function __set($name, $value) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- $this->_data[strtolower($name)] = $value;
- return;
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-
- /**
- * Magic overload for getting properties
- *
- * @param string $name Name of the property
- */
- public function __get($name) {
- if (array_key_exists(strtolower($name), $this->_data)) {
- return $this->_data[strtolower($name)];
- }
-
- throw new Exception("Unknown property: " . $name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo.php b/airtime_mvc/library/Zend/Service/Yahoo.php
deleted file mode 100644
index e725fa499..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo.php
+++ /dev/null
@@ -1,956 +0,0 @@
-appId = (string) $appId;
- /**
- * @see Zend_Rest_Client
- */
- require_once 'Zend/Rest/Client.php';
- $this->_rest = new Zend_Rest_Client('http://search.yahooapis.com');
- }
-
-
- /**
- * Retrieve Inlink Data from siteexplorer.yahoo.com. A basic query
- * consists simply of a URL. Additional options that can be
- * specified consist of:
- * 'results' => int How many results to return, max is 100
- * 'start' => int The start offset for search results
- * 'entire_site' => bool Data for the whole site or a single page
- * 'omit_inlinks' => (none|domain|subdomain) Filter inlinks from these sources
- *
- * @param string $query the query being run
- * @param array $options any optional parameters
- * @return Zend_Service_Yahoo_ResultSet The return set
- * @throws Zend_Service_Exception
- */
- public function inlinkDataSearch($query, array $options = array())
- {
- static $defaultOptions = array('results' => '50',
- 'start' => 1);
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
- $this->_validateInlinkDataSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://search.yahooapis.com');
- $response = $this->_rest->restGet('/SiteExplorerService/V1/inlinkData', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Yahoo_InlinkDataResultSet
- */
- require_once 'Zend/Service/Yahoo/InlinkDataResultSet.php';
- return new Zend_Service_Yahoo_InlinkDataResultSet($dom);
- }
-
-
- /**
- * Perform a search of images. The most basic query consists simply
- * of a plain text search, but you can also specify the type of
- * image, the format, color, etc.
- *
- * The specific options are:
- * 'type' => (all|any|phrase) How to parse the query terms
- * 'results' => int How many results to return, max is 50
- * 'start' => int The start offset for search results
- * 'format' => (any|bmp|gif|jpeg|png) The type of images to search for
- * 'coloration' => (any|color|bw) The coloration of images to search for
- * 'adult_ok' => bool Flag to allow 'adult' images.
- *
- * @param string $query the query to be run
- * @param array $options an optional array of query options
- * @return Zend_Service_Yahoo_ImageResultSet the search results
- * @throws Zend_Service_Exception
- */
- public function imageSearch($query, array $options = array())
- {
- static $defaultOptions = array('type' => 'all',
- 'results' => 10,
- 'start' => 1,
- 'format' => 'any',
- 'coloration' => 'any');
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
-
- $this->_validateImageSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://search.yahooapis.com');
- $response = $this->_rest->restGet('/ImageSearchService/V1/imageSearch', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_YahooImageResultSet
- */
- require_once 'Zend/Service/Yahoo/ImageResultSet.php';
- return new Zend_Service_Yahoo_ImageResultSet($dom);
- }
-
-
- /**
- * Perform a search on local.yahoo.com. The basic search
- * consists of a query and some fragment of location information;
- * for example zipcode, latitude/longitude, or street address.
- *
- * Query options include:
- * 'results' => int How many results to return, max is 50
- * 'start' => int The start offset for search results
- * 'sort' => (relevance|title|distance|rating) How to order your results
- *
- * 'radius' => float The radius (in miles) in which to search
- *
- * 'longitude' => float The longitude of the location to search around
- * 'latitude' => float The latitude of the location to search around
- *
- * 'zip' => string The zipcode to search around
- *
- * 'street' => string The street address to search around
- * 'city' => string The city for address search
- * 'state' => string The state for address search
- * 'location' => string An adhoc location string to search around
- *
- * @param string $query The query string you want to run
- * @param array $options The search options, including location
- * @return Zend_Service_Yahoo_LocalResultSet The results
- * @throws Zend_Service_Exception
- */
- public function localSearch($query, array $options = array())
- {
- static $defaultOptions = array('results' => 10,
- 'start' => 1,
- 'sort' => 'distance',
- 'radius' => 5);
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
-
- $this->_validateLocalSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://local.yahooapis.com');
- $response = $this->_rest->restGet('/LocalSearchService/V1/localSearch', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Yahoo_LocalResultSet
- */
- require_once 'Zend/Service/Yahoo/LocalResultSet.php';
- return new Zend_Service_Yahoo_LocalResultSet($dom);
- }
-
-
- /**
- * Execute a search on news.yahoo.com. This method minimally takes a
- * text query to search on.
- *
- * Query options coonsist of:
- *
- * 'results' => int How many results to return, max is 50
- * 'start' => int The start offset for search results
- * 'sort' => (rank|date) How to order your results
- * 'language' => lang The target document language to match
- * 'type' => (all|any|phrase) How the query should be parsed
- * 'site' => string A site to which your search should be restricted
- *
- * @param string $query The query to run
- * @param array $options The array of optional parameters
- * @return Zend_Service_Yahoo_NewsResultSet The query return set
- * @throws Zend_Service_Exception
- */
- public function newsSearch($query, array $options = array())
- {
- static $defaultOptions = array('type' => 'all',
- 'start' => 1,
- 'sort' => 'rank');
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
-
- $this->_validateNewsSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://search.yahooapis.com');
- $response = $this->_rest->restGet('/NewsSearchService/V1/newsSearch', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Yahoo_NewsResultSet
- */
- require_once 'Zend/Service/Yahoo/NewsResultSet.php';
- return new Zend_Service_Yahoo_NewsResultSet($dom);
- }
-
-
- /**
- * Retrieve Page Data from siteexplorer.yahoo.com. A basic query
- * consists simply of a URL. Additional options that can be
- * specified consist of:
- * 'results' => int How many results to return, max is 100
- * 'start' => int The start offset for search results
- * 'domain_only' => bool Data for just the given domain or all sub-domains also
- *
- * @param string $query the query being run
- * @param array $options any optional parameters
- * @return Zend_Service_Yahoo_ResultSet The return set
- * @throws Zend_Service_Exception
- */
- public function pageDataSearch($query, array $options = array())
- {
- static $defaultOptions = array('results' => '50',
- 'start' => 1);
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
- $this->_validatePageDataSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://search.yahooapis.com');
- $response = $this->_rest->restGet('/SiteExplorerService/V1/pageData', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Yahoo_PageDataResultSet
- */
- require_once 'Zend/Service/Yahoo/PageDataResultSet.php';
- return new Zend_Service_Yahoo_PageDataResultSet($dom);
- }
-
-
- /**
- * Perform a search of videos. The most basic query consists simply
- * of a plain text search, but you can also specify the format of
- * video.
- *
- * The specific options are:
- * 'type' => (all|any|phrase) How to parse the query terms
- * 'results' => int How many results to return, max is 50
- * 'start' => int The start offset for search results
- * 'format' => (any|avi|flash|mpeg|msmedia|quicktime|realmedia) The type of videos to search for
- * 'adult_ok' => bool Flag to allow 'adult' videos.
- *
- * @param string $query the query to be run
- * @param array $options an optional array of query options
- * @return Zend_Service_Yahoo_VideoResultSet the search results
- * @throws Zend_Service_Exception
- */
- public function videoSearch($query, array $options = array())
- {
- static $defaultOptions = array('type' => 'all',
- 'results' => 10,
- 'start' => 1,
- 'format' => 'any');
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
-
- $this->_validateVideoSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://search.yahooapis.com');
- $response = $this->_rest->restGet('/VideoSearchService/V1/videoSearch', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_YahooVideoResultSet
- */
- require_once 'Zend/Service/Yahoo/VideoResultSet.php';
- return new Zend_Service_Yahoo_VideoResultSet($dom);
- }
-
-
- /**
- * Perform a web content search on search.yahoo.com. A basic query
- * consists simply of a text query. Additional options that can be
- * specified consist of:
- * 'results' => int How many results to return, max is 50
- * 'start' => int The start offset for search results
- * 'language' => lang The target document language to match
- * 'type' => (all|any|phrase) How the query should be parsed
- * 'site' => string A site to which your search should be restricted
- * 'format' => (any|html|msword|pdf|ppt|rss|txt|xls)
- * 'adult_ok' => bool permit 'adult' content in the search results
- * 'similar_ok' => bool permit similar results in the result set
- * 'country' => string The country code for the content searched
- * 'license' => (any|cc_any|cc_commercial|cc_modifiable) The license of content being searched
- * 'region' => The regional search engine on which the service performs the search. default us.
- *
- * @param string $query the query being run
- * @param array $options any optional parameters
- * @return Zend_Service_Yahoo_WebResultSet The return set
- * @throws Zend_Service_Exception
- */
- public function webSearch($query, array $options = array())
- {
- static $defaultOptions = array('type' => 'all',
- 'start' => 1,
- 'results' => 10,
- 'format' => 'any');
-
- $options = $this->_prepareOptions($query, $options, $defaultOptions);
- $this->_validateWebSearch($options);
-
- $this->_rest->getHttpClient()->resetParameters();
- $this->_rest->setUri('http://search.yahooapis.com');
- $response = $this->_rest->restGet('/WebSearchService/V1/webSearch', $options);
-
- if ($response->isError()) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('An error occurred sending request. Status code: ' .
- $response->getStatus());
- }
-
- $dom = new DOMDocument();
- $dom->loadXML($response->getBody());
-
- self::_checkErrors($dom);
-
- /**
- * @see Zend_Service_Yahoo_WebResultSet
- */
- require_once 'Zend/Service/Yahoo/WebResultSet.php';
- return new Zend_Service_Yahoo_WebResultSet($dom);
- }
-
-
- /**
- * Returns a reference to the REST client
- *
- * @return Zend_Rest_Client
- */
- public function getRestClient()
- {
- return $this->_rest;
- }
-
-
- /**
- * Validate Inlink Data Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateInlinkDataSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'results', 'start', 'entire_site', 'omit_inlinks');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 100, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(100)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
-
- if (isset($options['omit_inlinks'])) {
- $this->_validateInArray('omit_inlinks', $options['omit_inlinks'], array('none', 'domain', 'subdomain'));
- }
- }
-
-
- /**
- * Validate Image Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateImageSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'type', 'results', 'start', 'format', 'coloration', 'adult_ok');
-
- $this->_compareOptions($options, $validOptions);
-
- if (isset($options['type'])) {
- switch($options['type']) {
- case 'all':
- case 'any':
- case 'phrase':
- break;
- default:
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'type': '{$options['type']}'");
- }
- }
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 50, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(50)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
-
- if (isset($options['format'])) {
- switch ($options['format']) {
- case 'any':
- case 'bmp':
- case 'gif':
- case 'jpeg':
- case 'png':
- break;
- default:
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'format': {$options['format']}");
- }
- }
-
- if (isset($options['coloration'])) {
- switch ($options['coloration']) {
- case 'any':
- case 'color':
- case 'bw':
- break;
- default:
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'coloration': "
- . "{$options['coloration']}");
- }
- }
- }
-
-
- /**
- * Validate Local Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateLocalSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'results', 'start', 'sort', 'radius', 'street',
- 'city', 'state', 'zip', 'location', 'latitude', 'longitude');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 20, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(20)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
-
- if (isset($options['longitude']) && !$between->setMin(-90)->setMax(90)->isValid($options['longitude'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'longitude': {$options['longitude']}");
- }
-
- if (isset($options['latitude']) && !$between->setMin(-180)->setMax(180)->isValid($options['latitude'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'latitude': {$options['latitude']}");
- }
-
- if (isset($options['zip']) && !preg_match('/(^\d{5}$)|(^\d{5}-\d{4}$)/', $options['zip'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'zip': {$options['zip']}");
- }
-
- $hasLocation = false;
- $locationFields = array('street', 'city', 'state', 'zip', 'location');
- foreach ($locationFields as $field) {
- if (isset($options[$field]) && $options[$field] != '') {
- $hasLocation = true;
- break;
- }
- }
-
- if (!$hasLocation && (!isset($options['latitude']) || !isset($options['longitude']))) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Location data are required but missing');
- }
-
- if (!in_array($options['sort'], array('relevance', 'title', 'distance', 'rating'))) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'sort': {$options['sort']}");
- }
- }
-
-
- /**
- * Validate News Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateNewsSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'results', 'start', 'sort', 'language', 'type', 'site');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 50, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(50)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
-
- if (isset($options['language'])) {
- $this->_validateLanguage($options['language']);
- }
-
- $this->_validateInArray('sort', $options['sort'], array('rank', 'date'));
- $this->_validateInArray('type', $options['type'], array('all', 'any', 'phrase'));
- }
-
-
- /**
- * Validate Page Data Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validatePageDataSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'results', 'start', 'domain_only');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 100, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(100)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
- }
-
-
- /**
- * Validate Video Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateVideoSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'type', 'results', 'start', 'format', 'adult_ok');
-
- $this->_compareOptions($options, $validOptions);
-
- if (isset($options['type'])) {
- $this->_validateInArray('type', $options['type'], array('all', 'any', 'phrase'));
- }
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 50, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(50)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
-
- if (isset($options['format'])) {
- $this->_validateInArray('format', $options['format'], array('any', 'avi', 'flash', 'mpeg', 'msmedia', 'quicktime', 'realmedia'));
- }
- }
-
-
- /**
- * Validate Web Search Options
- *
- * @param array $options
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateWebSearch(array $options)
- {
- $validOptions = array('appid', 'query', 'results', 'start', 'language', 'type', 'format', 'adult_ok',
- 'similar_ok', 'country', 'site', 'subscription', 'license', 'region');
-
- $this->_compareOptions($options, $validOptions);
-
- /**
- * @see Zend_Validate_Between
- */
- require_once 'Zend/Validate/Between.php';
- $between = new Zend_Validate_Between(1, 100, true);
-
- if (isset($options['results']) && !$between->setMin(1)->setMax(100)->isValid($options['results'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'results': {$options['results']}");
- }
-
- if (isset($options['start']) && !$between->setMin(1)->setMax(1000)->isValid($options['start'])) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option 'start': {$options['start']}");
- }
-
- if (isset($options['language'])) {
- $this->_validateLanguage($options['language']);
- }
-
- $this->_validateInArray('type', $options['type'], array('all', 'any', 'phrase'));
- $this->_validateInArray('format', $options['format'], array('any', 'html', 'msword', 'pdf', 'ppt', 'rss',
- 'txt', 'xls'));
- if (isset($options['license'])) {
- $this->_validateInArray('license', $options['license'], array('any', 'cc_any', 'cc_commercial',
- 'cc_modifiable'));
- }
-
- if (isset($options['region'])){
- $this->_validateInArray('region', $options['region'], array('ar', 'au', 'at', 'br', 'ca', 'ct', 'dk', 'fi',
- 'fr', 'de', 'in', 'id', 'it', 'my', 'mx',
- 'nl', 'no', 'ph', 'ru', 'sg', 'es', 'se',
- 'ch', 'th', 'uk', 'us'));
- }
- }
-
-
- /**
- * Prepare options for sending to Yahoo!
- *
- * @param string $query Search Query
- * @param array $options User specified options
- * @param array $defaultOptions Required/Default options
- * @return array
- */
- protected function _prepareOptions($query, array $options, array $defaultOptions = array())
- {
- $options['appid'] = $this->appId;
- $options['query'] = (string) $query;
-
- return array_merge($defaultOptions, $options);
- }
-
-
- /**
- * Throws an exception if the chosen language is not supported
- *
- * @param string $lang Language code
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateLanguage($lang)
- {
- $languages = array('ar', 'bg', 'ca', 'szh', 'tzh', 'hr', 'cs', 'da', 'nl', 'en', 'et', 'fi', 'fr', 'de', 'el',
- 'he', 'hu', 'is', 'id', 'it', 'ja', 'ko', 'lv', 'lt', 'no', 'fa', 'pl', 'pt', 'ro', 'ru', 'sk', 'sr', 'sl',
- 'es', 'sv', 'th', 'tr'
- );
- if (!in_array($lang, $languages)) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("The selected language '$lang' is not supported");
- }
- }
-
-
- /**
- * Utility function to check for a difference between two arrays.
- *
- * @param array $options User specified options
- * @param array $validOptions Valid options
- * @return void
- * @throws Zend_Service_Exception if difference is found (e.g., unsupported query option)
- */
- protected function _compareOptions(array $options, array $validOptions)
- {
- $difference = array_diff(array_keys($options), $validOptions);
- if ($difference) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('The following parameters are invalid: ' . join(', ', $difference));
- }
- }
-
-
- /**
- * Check that a named value is in the given array
- *
- * @param string $name Name associated with the value
- * @param mixed $value Value
- * @param array $array Array in which to check for the value
- * @return void
- * @throws Zend_Service_Exception
- */
- protected function _validateInArray($name, $value, array $array)
- {
- if (!in_array($value, $array)) {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception("Invalid value for option '$name': $value");
- }
- }
-
-
- /**
- * Check if response is an error
- *
- * @param DOMDocument $dom DOM Object representing the result XML
- * @return void
- * @throws Zend_Service_Exception Thrown when the result from Yahoo! is an error
- */
- protected static function _checkErrors(DOMDocument $dom)
- {
- $xpath = new DOMXPath($dom);
- $xpath->registerNamespace('yapi', 'urn:yahoo:api');
-
- if ($xpath->query('//yapi:Error')->length >= 1) {
- $message = $xpath->query('//yapi:Error/yapi:Message/text()')->item(0)->data;
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception($message);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/Image.php b/airtime_mvc/library/Zend/Service/Yahoo/Image.php
deleted file mode 100644
index cf24123fd..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/Image.php
+++ /dev/null
@@ -1,71 +0,0 @@
-ownerDocument);
- $xpath->registerNamespace('yh', $namespace);
- $this->Url = Zend_Uri::factory($xpath->query('./yh:Url/text()', $dom)->item(0)->data);
- $this->Height = (int) $xpath->query('./yh:Height/text()', $dom)->item(0)->data;
- $this->Width = (int) $xpath->query('./yh:Width/text()', $dom)->item(0)->data;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/ImageResult.php b/airtime_mvc/library/Zend/Service/Yahoo/ImageResult.php
deleted file mode 100644
index 6d87ee068..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/ImageResult.php
+++ /dev/null
@@ -1,111 +0,0 @@
-_fields = array('Summary', 'RefererUrl', 'FileSize', 'FileFormat', 'Height', 'Width', 'Thumbnail');
-
- parent::__construct($result);
-
- $this->_setThumbnail();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/ImageResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/ImageResultSet.php
deleted file mode 100644
index e94d09933..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/ImageResultSet.php
+++ /dev/null
@@ -1,63 +0,0 @@
-_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/InlinkDataResult.php b/airtime_mvc/library/Zend/Service/Yahoo/InlinkDataResult.php
deleted file mode 100644
index cba728628..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/InlinkDataResult.php
+++ /dev/null
@@ -1,58 +0,0 @@
-_fields = array();
- parent::__construct($result);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/InlinkDataResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/InlinkDataResultSet.php
deleted file mode 100644
index ecfc19290..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/InlinkDataResultSet.php
+++ /dev/null
@@ -1,62 +0,0 @@
-_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/LocalResult.php b/airtime_mvc/library/Zend/Service/Yahoo/LocalResult.php
deleted file mode 100644
index 61e8eb750..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/LocalResult.php
+++ /dev/null
@@ -1,124 +0,0 @@
-_fields = array('Address','City', 'City', 'State', 'Phone', 'Rating', 'Distance', 'MapUrl',
- 'BusinessUrl', 'BusinessClickUrl');
-
- parent::__construct($result);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/LocalResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/LocalResultSet.php
deleted file mode 100644
index 7833e7ef2..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/LocalResultSet.php
+++ /dev/null
@@ -1,84 +0,0 @@
-resultSetMapURL = $this->_xpath->query('//yh:ResultSetMapUrl/text()')->item(0)->data;
- }
-
-
- /**
- * Overrides Zend_Service_Yahoo_ResultSet::current()
- *
- * @return Zend_Service_Yahoo_LocalResult
- */
- public function current()
- {
- return new Zend_Service_Yahoo_LocalResult($this->_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/NewsResult.php b/airtime_mvc/library/Zend/Service/Yahoo/NewsResult.php
deleted file mode 100644
index 38319a1a3..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/NewsResult.php
+++ /dev/null
@@ -1,112 +0,0 @@
-_fields = array('Summary', 'NewsSource', 'NewsSourceUrl', 'Language', 'PublishDate',
- 'ModificationDate', 'Thumbnail');
-
- parent::__construct($result);
-
- $this->_setThumbnail();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/NewsResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/NewsResultSet.php
deleted file mode 100644
index 2c5c50812..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/NewsResultSet.php
+++ /dev/null
@@ -1,63 +0,0 @@
-_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/PageDataResult.php b/airtime_mvc/library/Zend/Service/Yahoo/PageDataResult.php
deleted file mode 100644
index e2019a2fc..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/PageDataResult.php
+++ /dev/null
@@ -1,58 +0,0 @@
-_fields = array();
- parent::__construct($result);
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/PageDataResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/PageDataResultSet.php
deleted file mode 100644
index 952158fe9..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/PageDataResultSet.php
+++ /dev/null
@@ -1,62 +0,0 @@
-_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/Result.php b/airtime_mvc/library/Zend/Service/Yahoo/Result.php
deleted file mode 100644
index bac33f64c..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/Result.php
+++ /dev/null
@@ -1,126 +0,0 @@
-_fields = array_merge($this->_fields, $fields);
-
- $this->_xpath = new DOMXPath($result->ownerDocument);
- $this->_xpath->registerNamespace('yh', $this->_namespace);
-
- // add search results to appropriate fields
-
- foreach ($this->_fields as $f) {
- $query = "./yh:$f/text()";
- $node = $this->_xpath->query($query, $result);
- if ($node->length == 1) {
- $this->{$f} = $node->item(0)->data;
- }
- }
-
- $this->_result = $result;
- }
-
-
- /**
- * Sets the Thumbnail property
- *
- * @return void
- */
- protected function _setThumbnail()
- {
- $node = $this->_xpath->query('./yh:Thumbnail', $this->_result);
- if ($node->length == 1) {
- /**
- * @see Zend_Service_Yahoo_Image
- */
- require_once 'Zend/Service/Yahoo/Image.php';
- $this->Thumbnail = new Zend_Service_Yahoo_Image($node->item(0), $this->_namespace);
- } else {
- $this->Thumbnail = null;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/ResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/ResultSet.php
deleted file mode 100644
index 5794cddce..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/ResultSet.php
+++ /dev/null
@@ -1,195 +0,0 @@
-_dom
- *
- * @var DOMXPath
- */
- protected $_xpath;
-
- /**
- * Current Index for SeekableIterator
- *
- * @var int
- */
- protected $_currentIndex = 0;
-
-
- /**
- * Parse the search response and retrieve the results for iteration
- *
- * @param DOMDocument $dom the REST fragment for this object
- * @return void
- */
- public function __construct(DOMDocument $dom)
- {
- $this->totalResultsAvailable = (int) $dom->documentElement->getAttribute('totalResultsAvailable');
- $this->totalResultsReturned = (int) $dom->documentElement->getAttribute('totalResultsReturned');
- $this->firstResultPosition = (int) $dom->documentElement->getAttribute('firstResultPosition');
-
- $this->_dom = $dom;
- $this->_xpath = new DOMXPath($dom);
-
- $this->_xpath->registerNamespace('yh', $this->_namespace);
-
- $this->_results = $this->_xpath->query('//yh:Result');
- }
-
-
- /**
- * Total Number of results returned
- *
- * @return int Total number of results returned
- */
- public function totalResults()
- {
- return $this->totalResultsReturned;
- }
-
-
- /**
- * Implement SeekableIterator::current()
- *
- * Must be implemented by child classes
- *
- * @throws Zend_Service_Exception
- * @return Zend_Service_Yahoo_Result
- */
- public function current()
- {
- /**
- * @see Zend_Service_Exception
- */
- require_once 'Zend/Service/Exception.php';
- throw new Zend_Service_Exception('Zend_Service_Yahoo_ResultSet::current() must be implemented by child '
- . 'classes');
- }
-
-
- /**
- * Implement SeekableIterator::key()
- *
- * @return int
- */
- public function key()
- {
- return $this->_currentIndex;
- }
-
-
- /**
- * Implement SeekableIterator::next()
- *
- * @return void
- */
- public function next()
- {
- $this->_currentIndex += 1;
- }
-
-
- /**
- * Implement SeekableIterator::rewind()
- *
- * @return void
- */
- public function rewind()
- {
- $this->_currentIndex = 0;
- }
-
-
- /**
- * Implement SeekableIterator::seek()
- *
- * @param int $index
- * @return void
- * @throws OutOfBoundsException
- */
- public function seek($index)
- {
- $indexInt = (int) $index;
- if ($indexInt >= 0 && $indexInt < $this->_results->length) {
- $this->_currentIndex = $indexInt;
- } else {
- throw new OutOfBoundsException("Illegal index '$index'");
- }
- }
-
-
- /**
- * Implement SeekableIterator::valid()
- *
- * @return boolean
- */
- public function valid()
- {
- return $this->_currentIndex < $this->_results->length;
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/VideoResult.php b/airtime_mvc/library/Zend/Service/Yahoo/VideoResult.php
deleted file mode 100644
index 103436607..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/VideoResult.php
+++ /dev/null
@@ -1,132 +0,0 @@
-_fields = array('Summary', 'RefererUrl', 'FileSize', 'FileFormat', 'Height', 'Width', 'Duration', 'Channels', 'Streaming', 'Thumbnail');
-
- parent::__construct($result);
-
- $this->_setThumbnail();
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/VideoResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/VideoResultSet.php
deleted file mode 100644
index 8fbc0f135..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/VideoResultSet.php
+++ /dev/null
@@ -1,63 +0,0 @@
-_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/WebResult.php b/airtime_mvc/library/Zend/Service/Yahoo/WebResult.php
deleted file mode 100644
index 2743ec548..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/WebResult.php
+++ /dev/null
@@ -1,109 +0,0 @@
-_fields = array('Summary', 'MimeType', 'ModificationDate');
- parent::__construct($result);
-
- $this->_xpath = new DOMXPath($result->ownerDocument);
- $this->_xpath->registerNamespace('yh', $this->_namespace);
-
- // check if the cache section exists
- $cacheUrl = $this->_xpath->query('./yh:Cache/yh:Url/text()', $result)->item(0);
- if ($cacheUrl instanceof DOMNode)
- {
- $this->CacheUrl = $cacheUrl->data;
- }
- $cacheSize = $this->_xpath->query('./yh:Cache/yh:Size/text()', $result)->item(0);
- if ($cacheSize instanceof DOMNode)
- {
- $this->CacheSize = (int) $cacheSize->data;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Service/Yahoo/WebResultSet.php b/airtime_mvc/library/Zend/Service/Yahoo/WebResultSet.php
deleted file mode 100644
index ba54ebf83..000000000
--- a/airtime_mvc/library/Zend/Service/Yahoo/WebResultSet.php
+++ /dev/null
@@ -1,63 +0,0 @@
-_results->item($this->_currentIndex));
- }
-}
diff --git a/airtime_mvc/library/Zend/Session.php b/airtime_mvc/library/Zend/Session.php
deleted file mode 100644
index 17116fbd4..000000000
--- a/airtime_mvc/library/Zend/Session.php
+++ /dev/null
@@ -1,880 +0,0 @@
-0 - already called session_regenerate_id()
- *
- * @var int
- */
- private static $_regenerateIdState = 0;
-
- /**
- * Private list of php's ini values for ext/session
- * null values will default to the php.ini value, otherwise
- * the value below will overwrite the default ini value, unless
- * the user has set an option explicity with setOptions()
- *
- * @var array
- */
- private static $_defaultOptions = array(
- 'save_path' => null,
- 'name' => null, /* this should be set to a unique value for each application */
- 'save_handler' => null,
- //'auto_start' => null, /* intentionally excluded (see manual) */
- 'gc_probability' => null,
- 'gc_divisor' => null,
- 'gc_maxlifetime' => null,
- 'serialize_handler' => null,
- 'cookie_lifetime' => null,
- 'cookie_path' => null,
- 'cookie_domain' => null,
- 'cookie_secure' => null,
- 'cookie_httponly' => null,
- 'use_cookies' => null,
- 'use_only_cookies' => 'on',
- 'referer_check' => null,
- 'entropy_file' => null,
- 'entropy_length' => null,
- 'cache_limiter' => null,
- 'cache_expire' => null,
- 'use_trans_sid' => null,
- 'bug_compat_42' => null,
- 'bug_compat_warn' => null,
- 'hash_function' => null,
- 'hash_bits_per_character' => null
- );
-
- /**
- * List of options pertaining to Zend_Session that can be set by developers
- * using Zend_Session::setOptions(). This list intentionally duplicates
- * the individual declaration of static "class" variables by the same names.
- *
- * @var array
- */
- private static $_localOptions = array(
- 'strict' => '_strict',
- 'remember_me_seconds' => '_rememberMeSeconds',
- 'throw_startup_exceptions' => '_throwStartupExceptions'
- );
-
- /**
- * Whether or not write close has been performed.
- *
- * @var bool
- */
- private static $_writeClosed = false;
-
- /**
- * Whether or not session id cookie has been deleted
- *
- * @var bool
- */
- private static $_sessionCookieDeleted = false;
-
- /**
- * Whether or not session has been destroyed via session_destroy()
- *
- * @var bool
- */
- private static $_destroyed = false;
-
- /**
- * Whether or not session must be initiated before usage
- *
- * @var bool
- */
- private static $_strict = false;
-
- /**
- * Default number of seconds the session will be remembered for when asked to be remembered
- *
- * @var int
- */
- private static $_rememberMeSeconds = 1209600; // 2 weeks
-
- /**
- * Whether the default options listed in Zend_Session::$_localOptions have been set
- *
- * @var bool
- */
- private static $_defaultOptionsSet = false;
-
- /**
- * A reference to the set session save handler
- *
- * @var Zend_Session_SaveHandler_Interface
- */
- private static $_saveHandler = null;
-
-
- /**
- * Constructor overriding - make sure that a developer cannot instantiate
- */
- protected function __construct()
- {
- }
-
-
- /**
- * setOptions - set both the class specified
- *
- * @param array $userOptions - pass-by-keyword style array of pairs
- * @throws Zend_Session_Exception
- * @return void
- */
- public static function setOptions(array $userOptions = array())
- {
- // set default options on first run only (before applying user settings)
- if (!self::$_defaultOptionsSet) {
- foreach (self::$_defaultOptions as $defaultOptionName => $defaultOptionValue) {
- if (isset(self::$_defaultOptions[$defaultOptionName])) {
- ini_set("session.$defaultOptionName", $defaultOptionValue);
- }
- }
-
- self::$_defaultOptionsSet = true;
- }
-
- // set the options the user has requested to set
- foreach ($userOptions as $userOptionName => $userOptionValue) {
-
- $userOptionName = strtolower($userOptionName);
-
- // set the ini based values
- if (array_key_exists($userOptionName, self::$_defaultOptions)) {
- ini_set("session.$userOptionName", $userOptionValue);
- }
- elseif (isset(self::$_localOptions[$userOptionName])) {
- self::${self::$_localOptions[$userOptionName]} = $userOptionValue;
- }
- else {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("Unknown option: $userOptionName = $userOptionValue");
- }
- }
- }
-
- /**
- * getOptions()
- *
- * @param string $optionName OPTIONAL
- * @return array|string
- */
- public static function getOptions($optionName = null)
- {
- $options = array();
- foreach (ini_get_all('session') as $sysOptionName => $sysOptionValues) {
- $options[substr($sysOptionName, 8)] = $sysOptionValues['local_value'];
- }
- foreach (self::$_localOptions as $localOptionName => $localOptionMemberName) {
- $options[$localOptionName] = self::${$localOptionMemberName};
- }
-
- if ($optionName) {
- if (array_key_exists($optionName, $options)) {
- return $options[$optionName];
- }
- return null;
- }
-
- return $options;
- }
-
- /**
- * setSaveHandler() - Session Save Handler assignment
- *
- * @param Zend_Session_SaveHandler_Interface $interface
- * @return void
- */
- public static function setSaveHandler(Zend_Session_SaveHandler_Interface $saveHandler)
- {
- self::$_saveHandler = $saveHandler;
-
- if (self::$_unitTestEnabled) {
- return;
- }
-
- session_set_save_handler(
- array(&$saveHandler, 'open'),
- array(&$saveHandler, 'close'),
- array(&$saveHandler, 'read'),
- array(&$saveHandler, 'write'),
- array(&$saveHandler, 'destroy'),
- array(&$saveHandler, 'gc')
- );
- }
-
-
- /**
- * getSaveHandler() - Get the session Save Handler
- *
- * @return Zend_Session_SaveHandler_Interface
- */
- public static function getSaveHandler()
- {
- return self::$_saveHandler;
- }
-
-
- /**
- * regenerateId() - Regenerate the session id. Best practice is to call this after
- * session is started. If called prior to session starting, session id will be regenerated
- * at start time.
- *
- * @throws Zend_Session_Exception
- * @return void
- */
- public static function regenerateId()
- {
- if (!self::$_unitTestEnabled && headers_sent($filename, $linenum)) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("You must call " . __CLASS__ . '::' . __FUNCTION__ .
- "() before any output has been sent to the browser; output started in {$filename}/{$linenum}");
- }
-
- if (self::$_sessionStarted && self::$_regenerateIdState <= 0) {
- if (!self::$_unitTestEnabled) {
- session_regenerate_id(true);
- }
- self::$_regenerateIdState = 1;
- } else {
- /**
- * @todo If we can detect that this requester had no session previously,
- * then why regenerate the id before the session has started?
- * Feedback wanted for:
- //
- if (isset($_COOKIE[session_name()]) || (!use only cookies && isset($_REQUEST[session_name()]))) {
- self::$_regenerateIdState = 1;
- } else {
- self::$_regenerateIdState = -1;
- }
- //*/
- self::$_regenerateIdState = -1;
- }
- }
-
-
- /**
- * rememberMe() - Write a persistent cookie that expires after a number of seconds in the future. If no number of
- * seconds is specified, then this defaults to self::$_rememberMeSeconds. Due to clock errors on end users' systems,
- * large values are recommended to avoid undesirable expiration of session cookies.
- *
- * @param $seconds integer - OPTIONAL specifies TTL for cookie in seconds from present time
- * @return void
- */
- public static function rememberMe($seconds = null)
- {
- $seconds = (int) $seconds;
- $seconds = ($seconds > 0) ? $seconds : self::$_rememberMeSeconds;
-
- self::rememberUntil($seconds);
- }
-
-
- /**
- * forgetMe() - Write a volatile session cookie, removing any persistent cookie that may have existed. The session
- * would end upon, for example, termination of a web browser program.
- *
- * @return void
- */
- public static function forgetMe()
- {
- self::rememberUntil(0);
- }
-
-
- /**
- * rememberUntil() - This method does the work of changing the state of the session cookie and making
- * sure that it gets resent to the browser via regenerateId()
- *
- * @param int $seconds
- * @return void
- */
- public static function rememberUntil($seconds = 0)
- {
- if (self::$_unitTestEnabled) {
- self::regenerateId();
- return;
- }
-
- $cookieParams = session_get_cookie_params();
-
- session_set_cookie_params(
- $seconds,
- $cookieParams['path'],
- $cookieParams['domain'],
- $cookieParams['secure']
- );
-
- // normally "rememberMe()" represents a security context change, so should use new session id
- self::regenerateId();
- }
-
-
- /**
- * sessionExists() - whether or not a session exists for the current request
- *
- * @return bool
- */
- public static function sessionExists()
- {
- if (ini_get('session.use_cookies') == '1' && isset($_COOKIE[session_name()])) {
- return true;
- } elseif (!empty($_REQUEST[session_name()])) {
- return true;
- } elseif (self::$_unitTestEnabled) {
- return true;
- }
-
- return false;
- }
-
-
- /**
- * Whether or not session has been destroyed via session_destroy()
- *
- * @return bool
- */
- public static function isDestroyed()
- {
- return self::$_destroyed;
- }
-
-
- /**
- * start() - Start the session.
- *
- * @param bool|array $options OPTIONAL Either user supplied options, or flag indicating if start initiated automatically
- * @throws Zend_Session_Exception
- * @return void
- */
- public static function start($options = false)
- {
- if (self::$_sessionStarted && self::$_destroyed) {
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('The session was explicitly destroyed during this request, attempting to re-start is not allowed.');
- }
-
- if (self::$_sessionStarted) {
- return; // already started
- }
-
- // make sure our default options (at the least) have been set
- if (!self::$_defaultOptionsSet) {
- self::setOptions(is_array($options) ? $options : array());
- }
-
- // In strict mode, do not allow auto-starting Zend_Session, such as via "new Zend_Session_Namespace()"
- if (self::$_strict && $options === true) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('You must explicitly start the session with Zend_Session::start() when session options are set to strict.');
- }
-
- $filename = $linenum = null;
- if (!self::$_unitTestEnabled && headers_sent($filename, $linenum)) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("Session must be started before any output has been sent to the browser;"
- . " output started in {$filename}/{$linenum}");
- }
-
- // See http://www.php.net/manual/en/ref.session.php for explanation
- if (!self::$_unitTestEnabled && defined('SID')) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('session has already been started by session.auto-start or session_start()');
- }
-
- /**
- * Hack to throw exceptions on start instead of php errors
- * @see http://framework.zend.com/issues/browse/ZF-1325
- */
-
- $errorLevel = (is_int(self::$_throwStartupExceptions)) ? self::$_throwStartupExceptions : E_ALL;
-
- /** @see Zend_Session_Exception */
- if (!self::$_unitTestEnabled) {
-
- if (self::$_throwStartupExceptions) {
- require_once 'Zend/Session/Exception.php';
- set_error_handler(array('Zend_Session_Exception', 'handleSessionStartError'), $errorLevel);
- }
-
- $startedCleanly = session_start();
-
- if (self::$_throwStartupExceptions) {
- restore_error_handler();
- }
-
- if (!$startedCleanly || Zend_Session_Exception::$sessionStartError != null) {
- if (self::$_throwStartupExceptions) {
- set_error_handler(array('Zend_Session_Exception', 'handleSilentWriteClose'), $errorLevel);
- }
- session_write_close();
- if (self::$_throwStartupExceptions) {
- restore_error_handler();
- throw new Zend_Session_Exception(__CLASS__ . '::' . __FUNCTION__ . '() - ' . Zend_Session_Exception::$sessionStartError);
- }
- }
- }
-
- parent::$_readable = true;
- parent::$_writable = true;
- self::$_sessionStarted = true;
- if (self::$_regenerateIdState === -1) {
- self::regenerateId();
- }
-
- // run validators if they exist
- if (isset($_SESSION['__ZF']['VALID'])) {
- self::_processValidators();
- }
-
- self::_processStartupMetadataGlobal();
- }
-
-
- /**
- * _processGlobalMetadata() - this method initizes the sessions GLOBAL
- * metadata, mostly global data expiration calculations.
- *
- * @return void
- */
- private static function _processStartupMetadataGlobal()
- {
- // process global metadata
- if (isset($_SESSION['__ZF'])) {
-
- // expire globally expired values
- foreach ($_SESSION['__ZF'] as $namespace => $namespace_metadata) {
-
- // Expire Namespace by Time (ENT)
- if (isset($namespace_metadata['ENT']) && ($namespace_metadata['ENT'] > 0) && (time() > $namespace_metadata['ENT']) ) {
- unset($_SESSION[$namespace]);
- unset($_SESSION['__ZF'][$namespace]);
- }
-
- // Expire Namespace by Global Hop (ENGH)
- if (isset($namespace_metadata['ENGH']) && $namespace_metadata['ENGH'] >= 1) {
- $_SESSION['__ZF'][$namespace]['ENGH']--;
-
- if ($_SESSION['__ZF'][$namespace]['ENGH'] === 0) {
- if (isset($_SESSION[$namespace])) {
- parent::$_expiringData[$namespace] = $_SESSION[$namespace];
- unset($_SESSION[$namespace]);
- }
- unset($_SESSION['__ZF'][$namespace]);
- }
- }
-
- // Expire Namespace Variables by Time (ENVT)
- if (isset($namespace_metadata['ENVT'])) {
- foreach ($namespace_metadata['ENVT'] as $variable => $time) {
- if (time() > $time) {
- unset($_SESSION[$namespace][$variable]);
- unset($_SESSION['__ZF'][$namespace]['ENVT'][$variable]);
- }
- }
- if (empty($_SESSION['__ZF'][$namespace]['ENVT'])) {
- unset($_SESSION['__ZF'][$namespace]['ENVT']);
- }
- }
-
- // Expire Namespace Variables by Global Hop (ENVGH)
- if (isset($namespace_metadata['ENVGH'])) {
- foreach ($namespace_metadata['ENVGH'] as $variable => $hops) {
- $_SESSION['__ZF'][$namespace]['ENVGH'][$variable]--;
-
- if ($_SESSION['__ZF'][$namespace]['ENVGH'][$variable] === 0) {
- if (isset($_SESSION[$namespace][$variable])) {
- parent::$_expiringData[$namespace][$variable] = $_SESSION[$namespace][$variable];
- unset($_SESSION[$namespace][$variable]);
- }
- unset($_SESSION['__ZF'][$namespace]['ENVGH'][$variable]);
- }
- }
- if(empty($_SESSION['__ZF'][$namespace]['ENVGH'])) {
- unset($_SESSION['__ZF'][$namespace]['ENVGH']);
- }
- }
- }
-
- if (isset($namespace) && empty($_SESSION['__ZF'][$namespace])) {
- unset($_SESSION['__ZF'][$namespace]);
- }
- }
-
- if (isset($_SESSION['__ZF']) && empty($_SESSION['__ZF'])) {
- unset($_SESSION['__ZF']);
- }
- }
-
-
- /**
- * isStarted() - convenience method to determine if the session is already started.
- *
- * @return bool
- */
- public static function isStarted()
- {
- return self::$_sessionStarted;
- }
-
-
- /**
- * isRegenerated() - convenience method to determine if session_regenerate_id()
- * has been called during this request by Zend_Session.
- *
- * @return bool
- */
- public static function isRegenerated()
- {
- return ( (self::$_regenerateIdState > 0) ? true : false );
- }
-
-
- /**
- * getId() - get the current session id
- *
- * @return string
- */
- public static function getId()
- {
- return session_id();
- }
-
-
- /**
- * setId() - set an id to a user specified id
- *
- * @throws Zend_Session_Exception
- * @param string $id
- * @return void
- */
- public static function setId($id)
- {
- if (!self::$_unitTestEnabled && defined('SID')) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('The session has already been started. The session id must be set first.');
- }
-
- if (!self::$_unitTestEnabled && headers_sent($filename, $linenum)) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("You must call ".__CLASS__.'::'.__FUNCTION__.
- "() before any output has been sent to the browser; output started in {$filename}/{$linenum}");
- }
-
- if (!is_string($id) || $id === '') {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('You must provide a non-empty string as a session identifier.');
- }
-
- session_id($id);
- }
-
-
- /**
- * registerValidator() - register a validator that will attempt to validate this session for
- * every future request
- *
- * @param Zend_Session_Validator_Interface $validator
- * @return void
- */
- public static function registerValidator(Zend_Session_Validator_Interface $validator)
- {
- $validator->setup();
- }
-
-
- /**
- * stop() - Disable write access. Optionally disable read (not implemented).
- *
- * @return void
- */
- public static function stop()
- {
- parent::$_writable = false;
- }
-
-
- /**
- * writeClose() - Shutdown the sesssion, close writing and detach $_SESSION from the back-end storage mechanism.
- * This will complete the internal data transformation on this request.
- *
- * @param bool $readonly - OPTIONAL remove write access (i.e. throw error if Zend_Session's attempt writes)
- * @return void
- */
- public static function writeClose($readonly = true)
- {
- if (self::$_unitTestEnabled) {
- return;
- }
-
- if (self::$_writeClosed) {
- return;
- }
-
- if ($readonly) {
- parent::$_writable = false;
- }
-
- session_write_close();
- self::$_writeClosed = true;
- }
-
-
- /**
- * destroy() - This is used to destroy session data, and optionally, the session cookie itself
- *
- * @param bool $remove_cookie - OPTIONAL remove session id cookie, defaults to true (remove cookie)
- * @param bool $readonly - OPTIONAL remove write access (i.e. throw error if Zend_Session's attempt writes)
- * @return void
- */
- public static function destroy($remove_cookie = true, $readonly = true)
- {
- if (self::$_unitTestEnabled) {
- return;
- }
-
- if (self::$_destroyed) {
- return;
- }
-
- if ($readonly) {
- parent::$_writable = false;
- }
-
- session_destroy();
- self::$_destroyed = true;
-
- if ($remove_cookie) {
- self::expireSessionCookie();
- }
- }
-
-
- /**
- * expireSessionCookie() - Sends an expired session id cookie, causing the client to delete the session cookie
- *
- * @return void
- */
- public static function expireSessionCookie()
- {
- if (self::$_unitTestEnabled) {
- return;
- }
-
- if (self::$_sessionCookieDeleted) {
- return;
- }
-
- self::$_sessionCookieDeleted = true;
-
- if (isset($_COOKIE[session_name()])) {
- $cookie_params = session_get_cookie_params();
-
- setcookie(
- session_name(),
- false,
- 315554400, // strtotime('1980-01-01'),
- $cookie_params['path'],
- $cookie_params['domain'],
- $cookie_params['secure']
- );
- }
- }
-
-
- /**
- * _processValidator() - internal function that is called in the existence of VALID metadata
- *
- * @throws Zend_Session_Exception
- * @return void
- */
- private static function _processValidators()
- {
- foreach ($_SESSION['__ZF']['VALID'] as $validator_name => $valid_data) {
- if (!class_exists($validator_name)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($validator_name);
- }
- $validator = new $validator_name;
- if ($validator->validate() === false) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("This session is not valid according to {$validator_name}.");
- }
- }
- }
-
-
- /**
- * namespaceIsset() - check to see if a namespace is set
- *
- * @param string $namespace
- * @return bool
- */
- public static function namespaceIsset($namespace)
- {
- return parent::_namespaceIsset($namespace);
- }
-
-
- /**
- * namespaceUnset() - unset a namespace or a variable within a namespace
- *
- * @param string $namespace
- * @throws Zend_Session_Exception
- * @return void
- */
- public static function namespaceUnset($namespace)
- {
- parent::_namespaceUnset($namespace);
- Zend_Session_Namespace::resetSingleInstance($namespace);
- }
-
-
- /**
- * namespaceGet() - get all variables in a namespace
- * Deprecated: Use getIterator() in Zend_Session_Namespace.
- *
- * @param string $namespace
- * @return array
- */
- public static function namespaceGet($namespace)
- {
- return parent::_namespaceGetAll($namespace);
- }
-
-
- /**
- * getIterator() - return an iteratable object for use in foreach and the like,
- * this completes the IteratorAggregate interface
- *
- * @throws Zend_Session_Exception
- * @return ArrayObject
- */
- public static function getIterator()
- {
- if (parent::$_readable === false) {
- /** @see Zend_Session_Exception */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception(parent::_THROW_NOT_READABLE_MSG);
- }
-
- $spaces = array();
- if (isset($_SESSION)) {
- $spaces = array_keys($_SESSION);
- foreach($spaces as $key => $space) {
- if (!strncmp($space, '__', 2) || !is_array($_SESSION[$space])) {
- unset($spaces[$key]);
- }
- }
- }
-
- return new ArrayObject(array_merge($spaces, array_keys(parent::$_expiringData)));
- }
-
-
- /**
- * isWritable() - returns a boolean indicating if namespaces can write (use setters)
- *
- * @return bool
- */
- public static function isWritable()
- {
- return parent::$_writable;
- }
-
-
- /**
- * isReadable() - returns a boolean indicating if namespaces can write (use setters)
- *
- * @return bool
- */
- public static function isReadable()
- {
- return parent::$_readable;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Session/Abstract.php b/airtime_mvc/library/Zend/Session/Abstract.php
deleted file mode 100644
index 5603d146c..000000000
--- a/airtime_mvc/library/Zend/Session/Abstract.php
+++ /dev/null
@@ -1,185 +0,0 @@
-_namespace = $namespace;
-
- // Process metadata specific only to this namespace.
- Zend_Session::start(true); // attempt auto-start (throws exception if strict option set)
-
- if (self::$_readable === false) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception(self::_THROW_NOT_READABLE_MSG);
- }
-
- if (!isset($_SESSION['__ZF'])) {
- return; // no further processing needed
- }
-
- // do not allow write access to namespaces, after stop() or writeClose()
- if (parent::$_writable === true) {
- if (isset($_SESSION['__ZF'][$namespace])) {
-
- // Expire Namespace by Namespace Hop (ENNH)
- if (isset($_SESSION['__ZF'][$namespace]['ENNH'])) {
- $_SESSION['__ZF'][$namespace]['ENNH']--;
-
- if ($_SESSION['__ZF'][$namespace]['ENNH'] === 0) {
- if (isset($_SESSION[$namespace])) {
- self::$_expiringData[$namespace] = $_SESSION[$namespace];
- unset($_SESSION[$namespace]);
- }
- unset($_SESSION['__ZF'][$namespace]);
- }
- }
-
- // Expire Namespace Variables by Namespace Hop (ENVNH)
- if (isset($_SESSION['__ZF'][$namespace]['ENVNH'])) {
- foreach ($_SESSION['__ZF'][$namespace]['ENVNH'] as $variable => $hops) {
- $_SESSION['__ZF'][$namespace]['ENVNH'][$variable]--;
-
- if ($_SESSION['__ZF'][$namespace]['ENVNH'][$variable] === 0) {
- if (isset($_SESSION[$namespace][$variable])) {
- self::$_expiringData[$namespace][$variable] = $_SESSION[$namespace][$variable];
- unset($_SESSION[$namespace][$variable]);
- }
- unset($_SESSION['__ZF'][$namespace]['ENVNH'][$variable]);
- }
- }
- if(empty($_SESSION['__ZF'][$namespace]['ENVNH'])) {
- unset($_SESSION['__ZF'][$namespace]['ENVNH']);
- }
- }
- }
-
- if (empty($_SESSION['__ZF'][$namespace])) {
- unset($_SESSION['__ZF'][$namespace]);
- }
-
- if (empty($_SESSION['__ZF'])) {
- unset($_SESSION['__ZF']);
- }
- }
- }
-
-
- /**
- * getIterator() - return an iteratable object for use in foreach and the like,
- * this completes the IteratorAggregate interface
- *
- * @return ArrayObject - iteratable container of the namespace contents
- */
- public function getIterator()
- {
- return new ArrayObject(parent::_namespaceGetAll($this->_namespace));
- }
-
-
- /**
- * lock() - mark a session/namespace as readonly
- *
- * @return void
- */
- public function lock()
- {
- self::$_namespaceLocks[$this->_namespace] = true;
- }
-
-
- /**
- * unlock() - unmark a session/namespace to enable read & write
- *
- * @return void
- */
- public function unlock()
- {
- unset(self::$_namespaceLocks[$this->_namespace]);
- }
-
-
- /**
- * unlockAll() - unmark all session/namespaces to enable read & write
- *
- * @return void
- */
- public static function unlockAll()
- {
- self::$_namespaceLocks = array();
- }
-
-
- /**
- * isLocked() - return lock status, true if, and only if, read-only
- *
- * @return bool
- */
- public function isLocked()
- {
- return isset(self::$_namespaceLocks[$this->_namespace]);
- }
-
-
- /**
- * unsetAll() - unset all variables in this namespace
- *
- * @return true
- */
- public function unsetAll()
- {
- return parent::_namespaceUnset($this->_namespace);
- }
-
-
- /**
- * __get() - method to get a variable in this object's current namespace
- *
- * @param string $name - programmatic name of a key, in a pair in the current namespace
- * @return mixed
- */
- public function & __get($name)
- {
- if ($name === '') {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("The '$name' key must be a non-empty string");
- }
-
- return parent::_namespaceGet($this->_namespace, $name);
- }
-
-
- /**
- * __set() - method to set a variable/value in this object's namespace
- *
- * @param string $name - programmatic name of a key, in a pair in the current namespace
- * @param mixed $value - value in the pair to assign to the $name key
- * @throws Zend_Session_Exception
- * @return true
- */
- public function __set($name, $value)
- {
- if (isset(self::$_namespaceLocks[$this->_namespace])) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('This session/namespace has been marked as read-only.');
- }
-
- if ($name === '') {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("The '$name' key must be a non-empty string");
- }
-
- if (parent::$_writable === false) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception(parent::_THROW_NOT_WRITABLE_MSG);
- }
-
- $name = (string) $name;
-
- $_SESSION[$this->_namespace][$name] = $value;
- }
-
-
- /**
- * apply() - enables applying user-selected function, such as array_merge() to the namespace
- * Parameters following the $callback argument are passed to the callback function.
- * Caveat: ignores members expiring now.
- *
- * Example:
- * $namespace->apply('array_merge', array('tree' => 'apple', 'fruit' => 'peach'), array('flower' => 'rose'));
- * $namespace->apply('count');
- *
- * @param string|array $callback - callback function
- */
- public function apply($callback)
- {
- $arg_list = func_get_args();
- $arg_list[0] = $_SESSION[$this->_namespace];
- return call_user_func_array($callback, $arg_list);
- }
-
-
- /**
- * applySet() - enables applying user-selected function, and sets entire namespace to the result
- * Result of $callback must be an array.
- * Parameters following the $callback argument are passed to the callback function.
- * Caveat: ignores members expiring now.
- *
- * Example:
- * $namespace->applySet('array_merge', array('tree' => 'apple', 'fruit' => 'peach'), array('flower' => 'rose'));
- *
- * @param string|array $callback - callback function
- */
- public function applySet($callback)
- {
- $arg_list = func_get_args();
- $arg_list[0] = $_SESSION[$this->_namespace];
- $result = call_user_func_array($callback, $arg_list);
- if (!is_array($result)) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('Result must be an array. Got: ' . gettype($result));
- }
- $_SESSION[$this->_namespace] = $result;
- return $result;
- }
-
-
- /**
- * __isset() - determine if a variable in this object's namespace is set
- *
- * @param string $name - programmatic name of a key, in a pair in the current namespace
- * @return bool
- */
- public function __isset($name)
- {
- if ($name === '') {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("The '$name' key must be a non-empty string");
- }
-
- return parent::_namespaceIsset($this->_namespace, $name);
- }
-
-
- /**
- * __unset() - unset a variable in this object's namespace.
- *
- * @param string $name - programmatic name of a key, in a pair in the current namespace
- * @return true
- */
- public function __unset($name)
- {
- if ($name === '') {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception("The '$name' key must be a non-empty string");
- }
-
- return parent::_namespaceUnset($this->_namespace, $name);
- }
-
-
- /**
- * setExpirationSeconds() - expire the namespace, or specific variables after a specified
- * number of seconds
- *
- * @param int $seconds - expires in this many seconds
- * @param mixed $variables - OPTIONAL list of variables to expire (defaults to all)
- * @throws Zend_Session_Exception
- * @return void
- */
- public function setExpirationSeconds($seconds, $variables = null)
- {
- if (parent::$_writable === false) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception(parent::_THROW_NOT_WRITABLE_MSG);
- }
-
- if ($seconds <= 0) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('Seconds must be positive.');
- }
-
- if ($variables === null) {
-
- // apply expiration to entire namespace
- $_SESSION['__ZF'][$this->_namespace]['ENT'] = time() + $seconds;
-
- } else {
-
- if (is_string($variables)) {
- $variables = array($variables);
- }
-
- foreach ($variables as $variable) {
- if (!empty($variable)) {
- $_SESSION['__ZF'][$this->_namespace]['ENVT'][$variable] = time() + $seconds;
- }
- }
- }
- }
-
-
- /**
- * setExpirationHops() - expire the namespace, or specific variables after a specified
- * number of page hops
- *
- * @param int $hops - how many "hops" (number of subsequent requests) before expiring
- * @param mixed $variables - OPTIONAL list of variables to expire (defaults to all)
- * @param boolean $hopCountOnUsageOnly - OPTIONAL if set, only count a hop/request if this namespace is used
- * @throws Zend_Session_Exception
- * @return void
- */
- public function setExpirationHops($hops, $variables = null, $hopCountOnUsageOnly = false)
- {
- if (parent::$_writable === false) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception(parent::_THROW_NOT_WRITABLE_MSG);
- }
-
- if ($hops <= 0) {
- /**
- * @see Zend_Session_Exception
- */
- require_once 'Zend/Session/Exception.php';
- throw new Zend_Session_Exception('Hops must be positive number.');
- }
-
- if ($variables === null) {
-
- // apply expiration to entire namespace
- if ($hopCountOnUsageOnly === false) {
- $_SESSION['__ZF'][$this->_namespace]['ENGH'] = $hops;
- } else {
- $_SESSION['__ZF'][$this->_namespace]['ENNH'] = $hops;
- }
-
- } else {
-
- if (is_string($variables)) {
- $variables = array($variables);
- }
-
- foreach ($variables as $variable) {
- if (!empty($variable)) {
- if ($hopCountOnUsageOnly === false) {
- $_SESSION['__ZF'][$this->_namespace]['ENVGH'][$variable] = $hops;
- } else {
- $_SESSION['__ZF'][$this->_namespace]['ENVNH'][$variable] = $hops;
- }
- }
- }
- }
- }
-
- /**
- * Returns the namespace name
- *
- * @return string
- */
- public function getNamespace()
- {
- return $this->_namespace;
- }
-}
diff --git a/airtime_mvc/library/Zend/Session/SaveHandler/DbTable.php b/airtime_mvc/library/Zend/Session/SaveHandler/DbTable.php
deleted file mode 100644
index df75a28aa..000000000
--- a/airtime_mvc/library/Zend/Session/SaveHandler/DbTable.php
+++ /dev/null
@@ -1,591 +0,0 @@
- (string|array) Session table primary key value assignment
- * (optional; default: 1 => sessionId) You have to assign a value to each primary key of your session table.
- * The value of this configuration option is either a string if you have only one primary key or an array if
- * you have multiple primary keys. The array consists of numeric keys starting at 1 and string values. There
- * are some values which will be replaced by session information:
- *
- * sessionId => The id of the current session
- * sessionName => The name of the current session
- * sessionSavePath => The save path of the current session
- *
- * NOTE: One of your assignments MUST contain 'sessionId' as value!
- *
- * modifiedColumn => (string) Session table last modification time column
- *
- * lifetimeColumn => (string) Session table lifetime column
- *
- * dataColumn => (string) Session table data column
- *
- * lifetime => (integer) Session lifetime (optional; default: ini_get('session.gc_maxlifetime'))
- *
- * overrideLifetime => (boolean) Whether or not the lifetime of an existing session should be overridden
- * (optional; default: false)
- *
- * @param Zend_Config|array $config User-provided configuration
- * @return void
- * @throws Zend_Session_SaveHandler_Exception
- */
- public function __construct($config)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- } else if (!is_array($config)) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception(
- '$config must be an instance of Zend_Config or array of key/value pairs containing '
- . 'configuration options for Zend_Session_SaveHandler_DbTable and Zend_Db_Table_Abstract.');
- }
-
- foreach ($config as $key => $value) {
- do {
- switch ($key) {
- case self::PRIMARY_ASSIGNMENT:
- $this->_primaryAssignment = $value;
- break;
- case self::MODIFIED_COLUMN:
- $this->_modifiedColumn = (string) $value;
- break;
- case self::LIFETIME_COLUMN:
- $this->_lifetimeColumn = (string) $value;
- break;
- case self::DATA_COLUMN:
- $this->_dataColumn = (string) $value;
- break;
- case self::LIFETIME:
- $this->setLifetime($value);
- break;
- case self::OVERRIDE_LIFETIME:
- $this->setOverrideLifetime($value);
- break;
- default:
- // unrecognized options passed to parent::__construct()
- break 2;
- }
- unset($config[$key]);
- } while (false);
- }
-
- parent::__construct($config);
- }
-
- /**
- * Destructor
- *
- * @return void
- */
- public function __destruct()
- {
- Zend_Session::writeClose();
- }
-
- /**
- * Set session lifetime and optional whether or not the lifetime of an existing session should be overridden
- *
- * $lifetime === false resets lifetime to session.gc_maxlifetime
- *
- * @param int $lifetime
- * @param boolean $overrideLifetime (optional)
- * @return Zend_Session_SaveHandler_DbTable
- */
- public function setLifetime($lifetime, $overrideLifetime = null)
- {
- if ($lifetime < 0) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
- throw new Zend_Session_SaveHandler_Exception();
- } else if (empty($lifetime)) {
- $this->_lifetime = (int) ini_get('session.gc_maxlifetime');
- } else {
- $this->_lifetime = (int) $lifetime;
- }
-
- if ($overrideLifetime != null) {
- $this->setOverrideLifetime($overrideLifetime);
- }
-
- return $this;
- }
-
- /**
- * Retrieve session lifetime
- *
- * @return int
- */
- public function getLifetime()
- {
- return $this->_lifetime;
- }
-
- /**
- * Set whether or not the lifetime of an existing session should be overridden
- *
- * @param boolean $overrideLifetime
- * @return Zend_Session_SaveHandler_DbTable
- */
- public function setOverrideLifetime($overrideLifetime)
- {
- $this->_overrideLifetime = (boolean) $overrideLifetime;
-
- return $this;
- }
-
- /**
- * Retrieve whether or not the lifetime of an existing session should be overridden
- *
- * @return boolean
- */
- public function getOverrideLifetime()
- {
- return $this->_overrideLifetime;
- }
-
- /**
- * Open Session
- *
- * @param string $save_path
- * @param string $name
- * @return boolean
- */
- public function open($save_path, $name)
- {
- $this->_sessionSavePath = $save_path;
- $this->_sessionName = $name;
-
- return true;
- }
-
- /**
- * Close session
- *
- * @return boolean
- */
- public function close()
- {
- return true;
- }
-
- /**
- * Read session data
- *
- * @param string $id
- * @return string
- */
- public function read($id)
- {
- $return = '';
-
- $rows = call_user_func_array(array(&$this, 'find'), $this->_getPrimary($id));
-
- if (count($rows)) {
- if ($this->_getExpirationTime($row = $rows->current()) > time()) {
- $return = $row->{$this->_dataColumn};
- } else {
- $this->destroy($id);
- }
- }
-
- return $return;
- }
-
- /**
- * Write session data
- *
- * @param string $id
- * @param string $data
- * @return boolean
- */
- public function write($id, $data)
- {
- $return = false;
-
- $data = array($this->_modifiedColumn => time(),
- $this->_dataColumn => (string) $data);
-
- $rows = call_user_func_array(array(&$this, 'find'), $this->_getPrimary($id));
-
- if (count($rows)) {
- $data[$this->_lifetimeColumn] = $this->_getLifetime($rows->current());
-
- if ($this->update($data, $this->_getPrimary($id, self::PRIMARY_TYPE_WHERECLAUSE))) {
- $return = true;
- }
- } else {
- $data[$this->_lifetimeColumn] = $this->_lifetime;
-
- if ($this->insert(array_merge($this->_getPrimary($id, self::PRIMARY_TYPE_ASSOC), $data))) {
- $return = true;
- }
- }
-
- return $return;
- }
-
- /**
- * Destroy session
- *
- * @param string $id
- * @return boolean
- */
- public function destroy($id)
- {
- $return = false;
-
- if ($this->delete($this->_getPrimary($id, self::PRIMARY_TYPE_WHERECLAUSE))) {
- $return = true;
- }
-
- return $return;
- }
-
- /**
- * Garbage Collection
- *
- * @param int $maxlifetime
- * @return true
- */
- public function gc($maxlifetime)
- {
- $this->delete($this->getAdapter()->quoteIdentifier($this->_modifiedColumn) . ' + '
- . $this->getAdapter()->quoteIdentifier($this->_lifetimeColumn) . ' < '
- . $this->getAdapter()->quote(time()));
-
- return true;
- }
-
- /**
- * Calls other protected methods for individual setup tasks and requirement checks
- *
- * @return void
- */
- protected function _setup()
- {
- parent::_setup();
-
- $this->_setupPrimaryAssignment();
- $this->setLifetime($this->_lifetime);
-
- $this->_checkRequiredColumns();
- }
-
- /**
- * Initialize table and schema names
- *
- * @return void
- * @throws Zend_Session_SaveHandler_Exception
- */
- protected function _setupTableName()
- {
- if (empty($this->_name) && basename(($this->_name = session_save_path())) != $this->_name) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception('session.save_path is a path and not a table name.');
- }
-
- if (strpos($this->_name, '.')) {
- list($this->_schema, $this->_name) = explode('.', $this->_name);
- }
- }
-
- /**
- * Initialize session table primary key value assignment
- *
- * @return void
- * @throws Zend_Session_SaveHandler_Exception
- */
- protected function _setupPrimaryAssignment()
- {
- if ($this->_primaryAssignment === null) {
- $this->_primaryAssignment = array(1 => self::PRIMARY_ASSIGNMENT_SESSION_ID);
- } else if (!is_array($this->_primaryAssignment)) {
- $this->_primaryAssignment = array(1 => (string) $this->_primaryAssignment);
- } else if (isset($this->_primaryAssignment[0])) {
- array_unshift($this->_primaryAssignment, null);
-
- unset($this->_primaryAssignment[0]);
- }
-
- if (count($this->_primaryAssignment) !== count($this->_primary)) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception(
- "Value for configuration option '" . self::PRIMARY_ASSIGNMENT . "' must have an assignment "
- . "for each session table primary key.");
- } else if (!in_array(self::PRIMARY_ASSIGNMENT_SESSION_ID, $this->_primaryAssignment)) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception(
- "Value for configuration option '" . self::PRIMARY_ASSIGNMENT . "' must have an assignment "
- . "for the session id ('" . self::PRIMARY_ASSIGNMENT_SESSION_ID . "').");
- }
- }
-
- /**
- * Check for required session table columns
- *
- * @return void
- * @throws Zend_Session_SaveHandler_Exception
- */
- protected function _checkRequiredColumns()
- {
- if ($this->_modifiedColumn === null) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception(
- "Configuration must define '" . self::MODIFIED_COLUMN . "' which names the "
- . "session table last modification time column.");
- } else if ($this->_lifetimeColumn === null) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception(
- "Configuration must define '" . self::LIFETIME_COLUMN . "' which names the "
- . "session table lifetime column.");
- } else if ($this->_dataColumn === null) {
- /**
- * @see Zend_Session_SaveHandler_Exception
- */
- require_once 'Zend/Session/SaveHandler/Exception.php';
-
- throw new Zend_Session_SaveHandler_Exception(
- "Configuration must define '" . self::DATA_COLUMN . "' which names the "
- . "session table data column.");
- }
- }
-
- /**
- * Retrieve session table primary key values
- *
- * @param string $id
- * @param string $type (optional; default: self::PRIMARY_TYPE_NUM)
- * @return array
- */
- protected function _getPrimary($id, $type = null)
- {
- $this->_setupPrimaryKey();
-
- if ($type === null) {
- $type = self::PRIMARY_TYPE_NUM;
- }
-
- $primaryArray = array();
-
- foreach ($this->_primary as $index => $primary) {
- switch ($this->_primaryAssignment[$index]) {
- case self::PRIMARY_ASSIGNMENT_SESSION_SAVE_PATH:
- $value = $this->_sessionSavePath;
- break;
- case self::PRIMARY_ASSIGNMENT_SESSION_NAME:
- $value = $this->_sessionName;
- break;
- case self::PRIMARY_ASSIGNMENT_SESSION_ID:
- $value = (string) $id;
- break;
- default:
- $value = (string) $this->_primaryAssignment[$index];
- break;
- }
-
- switch ((string) $type) {
- case self::PRIMARY_TYPE_PRIMARYNUM:
- $primaryArray[$index] = $value;
- break;
- case self::PRIMARY_TYPE_ASSOC:
- $primaryArray[$primary] = $value;
- break;
- case self::PRIMARY_TYPE_WHERECLAUSE:
- $primaryArray[] = $this->getAdapter()->quoteIdentifier($primary) . ' = '
- . $this->getAdapter()->quote($value);
- break;
- case self::PRIMARY_TYPE_NUM:
- default:
- $primaryArray[] = $value;
- break;
- }
- }
-
- return $primaryArray;
- }
-
- /**
- * Retrieve session lifetime considering Zend_Session_SaveHandler_DbTable::OVERRIDE_LIFETIME
- *
- * @param Zend_Db_Table_Row_Abstract $row
- * @return int
- */
- protected function _getLifetime(Zend_Db_Table_Row_Abstract $row)
- {
- $return = $this->_lifetime;
-
- if (!$this->_overrideLifetime) {
- $return = (int) $row->{$this->_lifetimeColumn};
- }
-
- return $return;
- }
-
- /**
- * Retrieve session expiration time
- *
- * @param Zend_Db_Table_Row_Abstract $row
- * @return int
- */
- protected function _getExpirationTime(Zend_Db_Table_Row_Abstract $row)
- {
- return (int) $row->{$this->_modifiedColumn} + $this->_getLifetime($row);
- }
-}
diff --git a/airtime_mvc/library/Zend/Session/SaveHandler/Exception.php b/airtime_mvc/library/Zend/Session/SaveHandler/Exception.php
deleted file mode 100644
index 5f72d30f7..000000000
--- a/airtime_mvc/library/Zend/Session/SaveHandler/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-setValidData( (isset($_SERVER['HTTP_USER_AGENT'])
- ? $_SERVER['HTTP_USER_AGENT'] : null) );
- }
-
- /**
- * Validate() - this method will determine if the current user agent matches the
- * user agent we stored when we initialized this variable.
- *
- * @return bool
- */
- public function validate()
- {
- $currentBrowser = (isset($_SERVER['HTTP_USER_AGENT'])
- ? $_SERVER['HTTP_USER_AGENT'] : null);
-
- return $currentBrowser === $this->getValidData();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Session/Validator/Interface.php b/airtime_mvc/library/Zend/Session/Validator/Interface.php
deleted file mode 100644
index eab9d186c..000000000
--- a/airtime_mvc/library/Zend/Session/Validator/Interface.php
+++ /dev/null
@@ -1,52 +0,0 @@
- 'encoded', 'encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/");
-
- /**
- * soap:operation style
- *
- * @var array
- */
- protected $_bindingStyle = array('style' => 'rpc', 'transport' => 'http://schemas.xmlsoap.org/soap/http');
-
- /**
- * Constructor
- *
- * @param boolean|string|Zend_Soap_Wsdl_Strategy_Interface $strategy
- * @param string|Zend_Uri $uri
- */
- public function __construct($strategy = true, $uri=null)
- {
- $this->_reflection = new Zend_Server_Reflection();
- $this->setComplexTypeStrategy($strategy);
-
- if($uri !== null) {
- $this->setUri($uri);
- }
- }
-
- /**
- * Set the location at which the WSDL file will be availabe.
- *
- * @see Zend_Soap_Exception
- * @throws Zend_Soap_AutoDiscover_Exception
- * @param Zend_Uri|string $uri
- * @return Zend_Soap_AutoDiscover
- */
- public function setUri($uri)
- {
- if(!is_string($uri) && !($uri instanceof Zend_Uri)) {
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("No uri given to Zend_Soap_AutoDiscover::setUri as string or Zend_Uri instance.");
- }
- $this->_uri = $uri;
-
- // change uri in WSDL file also if existant
- if($this->_wsdl instanceof Zend_Soap_Wsdl) {
- $this->_wsdl->setUri($uri);
- }
-
- return $this;
- }
-
- /**
- * Return the current Uri that the SOAP WSDL Service will be located at.
- *
- * @return Zend_Uri
- */
- public function getUri()
- {
- if($this->_uri !== null) {
- $uri = $this->_uri;
- } else {
- $schema = $this->getSchema();
- $host = $this->getHostName();
- $scriptName = $this->getRequestUriWithoutParameters();
- $uri = Zend_Uri::factory($schema . '://' . $host . $scriptName);
- $this->setUri($uri);
- }
- return $uri;
- }
-
- /**
- * Set options for all the binding operations soap:body elements.
- *
- * By default the options are set to 'use' => 'encoded' and
- * 'encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/".
- *
- * @see Zend_Soap_AutoDiscover_Exception
- * @param array $operationStyle
- * @return Zend_Soap_AutoDiscover
- */
- public function setOperationBodyStyle(array $operationStyle=array())
- {
- if(!isset($operationStyle['use'])) {
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("Key 'use' is required in Operation soap:body style.");
- }
- $this->_operationBodyStyle = $operationStyle;
- return $this;
- }
-
- /**
- * Set Binding soap:binding style.
- *
- * By default 'style' is 'rpc' and 'transport' is 'http://schemas.xmlsoap.org/soap/http'.
- *
- * @param array $bindingStyle
- * @return Zend_Soap_AutoDiscover
- */
- public function setBindingStyle(array $bindingStyle=array())
- {
- if(isset($bindingStyle['style'])) {
- $this->_bindingStyle['style'] = $bindingStyle['style'];
- }
- if(isset($bindingStyle['transport'])) {
- $this->_bindingStyle['transport'] = $bindingStyle['transport'];
- }
- return $this;
- }
-
- /**
- * Detect and returns the current HTTP/HTTPS Schema
- *
- * @return string
- */
- protected function getSchema()
- {
- $schema = "http";
- if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
- $schema = 'https';
- }
- return $schema;
- }
-
- /**
- * Detect and return the current hostname
- *
- * @return string
- */
- protected function getHostName()
- {
- if(isset($_SERVER['HTTP_HOST'])) {
- $host = $_SERVER['HTTP_HOST'];
- } else {
- $host = $_SERVER['SERVER_NAME'];
- }
- return $host;
- }
-
- /**
- * Detect and return the current script name without parameters
- *
- * @return string
- */
- protected function getRequestUriWithoutParameters()
- {
- if (isset($_SERVER['HTTP_X_REWRITE_URL'])) { // check this first so IIS will catch
- $requestUri = $_SERVER['HTTP_X_REWRITE_URL'];
- } elseif (isset($_SERVER['REQUEST_URI'])) {
- $requestUri = $_SERVER['REQUEST_URI'];
- } elseif (isset($_SERVER['ORIG_PATH_INFO'])) { // IIS 5.0, PHP as CGI
- $requestUri = $_SERVER['ORIG_PATH_INFO'];
- } else {
- $requestUri = $_SERVER['SCRIPT_NAME'];
- }
- if( ($pos = strpos($requestUri, "?")) !== false) {
- $requestUri = substr($requestUri, 0, $pos);
- }
-
- return $requestUri;
- }
-
- /**
- * Set the strategy that handles functions and classes that are added AFTER this call.
- *
- * @param boolean|string|Zend_Soap_Wsdl_Strategy_Interface $strategy
- * @return Zend_Soap_AutoDiscover
- */
- public function setComplexTypeStrategy($strategy)
- {
- $this->_strategy = $strategy;
- if($this->_wsdl instanceof Zend_Soap_Wsdl) {
- $this->_wsdl->setComplexTypeStrategy($strategy);
- }
-
- return $this;
- }
-
- /**
- * Set the Class the SOAP server will use
- *
- * @param string $class Class Name
- * @param string $namespace Class Namspace - Not Used
- * @param array $argv Arguments to instantiate the class - Not Used
- */
- public function setClass($class, $namespace = '', $argv = null)
- {
- $uri = $this->getUri();
-
- $wsdl = new Zend_Soap_Wsdl($class, $uri, $this->_strategy);
-
- // The wsdl:types element must precede all other elements (WS-I Basic Profile 1.1 R2023)
- $wsdl->addSchemaTypeSection();
-
- $port = $wsdl->addPortType($class . 'Port');
- $binding = $wsdl->addBinding($class . 'Binding', 'tns:' .$class. 'Port');
-
- $wsdl->addSoapBinding($binding, $this->_bindingStyle['style'], $this->_bindingStyle['transport']);
- $wsdl->addService($class . 'Service', $class . 'Port', 'tns:' . $class . 'Binding', $uri);
- foreach ($this->_reflection->reflectClass($class)->getMethods() as $method) {
- $this->_addFunctionToWsdl($method, $wsdl, $port, $binding);
- }
- $this->_wsdl = $wsdl;
- }
-
- /**
- * Add a Single or Multiple Functions to the WSDL
- *
- * @param string $function Function Name
- * @param string $namespace Function namespace - Not Used
- */
- public function addFunction($function, $namespace = '')
- {
- static $port;
- static $operation;
- static $binding;
-
- if (!is_array($function)) {
- $function = (array) $function;
- }
-
- $uri = $this->getUri();
-
- if (!($this->_wsdl instanceof Zend_Soap_Wsdl)) {
- $parts = explode('.', basename($_SERVER['SCRIPT_NAME']));
- $name = $parts[0];
- $wsdl = new Zend_Soap_Wsdl($name, $uri, $this->_strategy);
-
- // The wsdl:types element must precede all other elements (WS-I Basic Profile 1.1 R2023)
- $wsdl->addSchemaTypeSection();
-
- $port = $wsdl->addPortType($name . 'Port');
- $binding = $wsdl->addBinding($name . 'Binding', 'tns:' .$name. 'Port');
-
- $wsdl->addSoapBinding($binding, $this->_bindingStyle['style'], $this->_bindingStyle['transport']);
- $wsdl->addService($name . 'Service', $name . 'Port', 'tns:' . $name . 'Binding', $uri);
- } else {
- $wsdl = $this->_wsdl;
- }
-
- foreach ($function as $func) {
- $method = $this->_reflection->reflectFunction($func);
- $this->_addFunctionToWsdl($method, $wsdl, $port, $binding);
- }
- $this->_wsdl = $wsdl;
- }
-
- /**
- * Add a function to the WSDL document.
- *
- * @param $function Zend_Server_Reflection_Function_Abstract function to add
- * @param $wsdl Zend_Soap_Wsdl WSDL document
- * @param $port object wsdl:portType
- * @param $binding object wsdl:binding
- * @return void
- */
- protected function _addFunctionToWsdl($function, $wsdl, $port, $binding)
- {
- $uri = $this->getUri();
-
- // We only support one prototype: the one with the maximum number of arguments
- $prototype = null;
- $maxNumArgumentsOfPrototype = -1;
- foreach ($function->getPrototypes() as $tmpPrototype) {
- $numParams = count($tmpPrototype->getParameters());
- if ($numParams > $maxNumArgumentsOfPrototype) {
- $maxNumArgumentsOfPrototype = $numParams;
- $prototype = $tmpPrototype;
- }
- }
- if ($prototype === null) {
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("No prototypes could be found for the '" . $function->getName() . "' function");
- }
-
- // Add the input message (parameters)
- $args = array();
- if ($this->_bindingStyle['style'] == 'document') {
- // Document style: wrap all parameters in a sequence element
- $sequence = array();
- foreach ($prototype->getParameters() as $param) {
- $sequenceElement = array(
- 'name' => $param->getName(),
- 'type' => $wsdl->getType($param->getType())
- );
- if ($param->isOptional()) {
- $sequenceElement['nillable'] = 'true';
- }
- $sequence[] = $sequenceElement;
- }
- $element = array(
- 'name' => $function->getName(),
- 'sequence' => $sequence
- );
- // Add the wrapper element part, which must be named 'parameters'
- $args['parameters'] = array('element' => $wsdl->addElement($element));
- } else {
- // RPC style: add each parameter as a typed part
- foreach ($prototype->getParameters() as $param) {
- $args[$param->getName()] = array('type' => $wsdl->getType($param->getType()));
- }
- }
- $wsdl->addMessage($function->getName() . 'In', $args);
-
- $isOneWayMessage = false;
- if($prototype->getReturnType() == "void") {
- $isOneWayMessage = true;
- }
-
- if($isOneWayMessage == false) {
- // Add the output message (return value)
- $args = array();
- if ($this->_bindingStyle['style'] == 'document') {
- // Document style: wrap the return value in a sequence element
- $sequence = array();
- if ($prototype->getReturnType() != "void") {
- $sequence[] = array(
- 'name' => $function->getName() . 'Result',
- 'type' => $wsdl->getType($prototype->getReturnType())
- );
- }
- $element = array(
- 'name' => $function->getName() . 'Response',
- 'sequence' => $sequence
- );
- // Add the wrapper element part, which must be named 'parameters'
- $args['parameters'] = array('element' => $wsdl->addElement($element));
- } else if ($prototype->getReturnType() != "void") {
- // RPC style: add the return value as a typed part
- $args['return'] = array('type' => $wsdl->getType($prototype->getReturnType()));
- }
- $wsdl->addMessage($function->getName() . 'Out', $args);
- }
-
- // Add the portType operation
- if($isOneWayMessage == false) {
- $portOperation = $wsdl->addPortOperation($port, $function->getName(), 'tns:' . $function->getName() . 'In', 'tns:' . $function->getName() . 'Out');
- } else {
- $portOperation = $wsdl->addPortOperation($port, $function->getName(), 'tns:' . $function->getName() . 'In', false);
- }
- $desc = $function->getDescription();
- if (strlen($desc) > 0) {
- $wsdl->addDocumentation($portOperation, $desc);
- }
-
- // When using the RPC style, make sure the operation style includes a 'namespace' attribute (WS-I Basic Profile 1.1 R2717)
- if ($this->_bindingStyle['style'] == 'rpc' && !isset($this->_operationBodyStyle['namespace'])) {
- $this->_operationBodyStyle['namespace'] = ''.$uri;
- }
-
- // Add the binding operation
- $operation = $wsdl->addBindingOperation($binding, $function->getName(), $this->_operationBodyStyle, $this->_operationBodyStyle);
- $wsdl->addSoapOperation($operation, $uri . '#' .$function->getName());
-
- // Add the function name to the list
- $this->_functions[] = $function->getName();
- }
-
- /**
- * Action to take when an error occurs
- *
- * @param string $fault
- * @param string|int $code
- */
- public function fault($fault = null, $code = null)
- {
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("Function has no use in AutoDiscover.");
- }
-
- /**
- * Handle the Request
- *
- * @param string $request A non-standard request - Not Used
- */
- public function handle($request = false)
- {
- if (!headers_sent()) {
- header('Content-Type: text/xml');
- }
- $this->_wsdl->dump();
- }
-
- /**
- * Proxy to WSDL dump function
- *
- * @param string $filename
- */
- public function dump($filename)
- {
- if($this->_wsdl !== null) {
- return $this->_wsdl->dump($filename);
- } else {
- /**
- * @see Zend_Soap_AutoDiscover_Exception
- */
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("Cannot dump autodiscovered contents, WSDL file has not been generated yet.");
- }
- }
-
- /**
- * Proxy to WSDL toXml() function
- */
- public function toXml()
- {
- if($this->_wsdl !== null) {
- return $this->_wsdl->toXml();
- } else {
- /**
- * @see Zend_Soap_AutoDiscover_Exception
- */
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("Cannot return autodiscovered contents, WSDL file has not been generated yet.");
- }
- }
-
- /**
- * Return an array of functions in the WSDL
- *
- * @return array
- */
- public function getFunctions()
- {
- return $this->_functions;
- }
-
- /**
- * Load Functions
- *
- * @param unknown_type $definition
- */
- public function loadFunctions($definition)
- {
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("Function has no use in AutoDiscover.");
- }
-
- /**
- * Set Persistance
- *
- * @param int $mode
- */
- public function setPersistence($mode)
- {
- require_once "Zend/Soap/AutoDiscover/Exception.php";
- throw new Zend_Soap_AutoDiscover_Exception("Function has no use in AutoDiscover.");
- }
-
- /**
- * Returns an XSD Type for the given PHP type
- *
- * @param string $type PHP Type to get the XSD type for
- * @return string
- */
- public function getType($type)
- {
- if (!($this->_wsdl instanceof Zend_Soap_Wsdl)) {
- /** @todo Exception throwing may be more correct */
-
- // WSDL is not defined yet, so we can't recognize type in context of current service
- return '';
- } else {
- return $this->_wsdl->getType($type);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/AutoDiscover/Exception.php b/airtime_mvc/library/Zend/Soap/AutoDiscover/Exception.php
deleted file mode 100644
index 50a6161f8..000000000
--- a/airtime_mvc/library/Zend/Soap/AutoDiscover/Exception.php
+++ /dev/null
@@ -1,34 +0,0 @@
- PHP class pairings for handling return/incoming values
- * @var array
- */
- protected $_classmap = null;
-
- /**
- * Registered fault exceptions
- * @var array
- */
- protected $_faultExceptions = array();
-
- /**
- * SOAP version to use; SOAP_1_2 by default, to allow processing of headers
- * @var int
- */
- protected $_soapVersion = SOAP_1_2;
-
- /** Set of other SoapClient options */
- protected $_uri = null;
- protected $_location = null;
- protected $_style = null;
- protected $_use = null;
- protected $_login = null;
- protected $_password = null;
- protected $_proxy_host = null;
- protected $_proxy_port = null;
- protected $_proxy_login = null;
- protected $_proxy_password = null;
- protected $_local_cert = null;
- protected $_passphrase = null;
- protected $_compression = null;
- protected $_connection_timeout = null;
- protected $_stream_context = null;
- protected $_features = null;
- protected $_cache_wsdl = null;
- protected $_user_agent = null;
-
- /**
- * WSDL used to access server
- * It also defines Zend_Soap_Client working mode (WSDL vs non-WSDL)
- *
- * @var string
- */
- protected $_wsdl = null;
-
- /**
- * SoapClient object
- *
- * @var SoapClient
- */
- protected $_soapClient;
-
- /**
- * Last invoked method
- *
- * @var string
- */
- protected $_lastMethod = '';
-
- /**
- * SOAP request headers.
- *
- * Array of SoapHeader objects
- *
- * @var array
- */
- protected $_soapInputHeaders = array();
-
- /**
- * Permanent SOAP request headers (shared between requests).
- *
- * Array of SoapHeader objects
- *
- * @var array
- */
- protected $_permanentSoapInputHeaders = array();
-
- /**
- * Output SOAP headers.
- *
- * Array of SoapHeader objects
- *
- * @var array
- */
- protected $_soapOutputHeaders = array();
-
- /**
- * Constructor
- *
- * @param string $wsdl
- * @param array $options
- */
- public function __construct($wsdl = null, $options = null)
- {
- if (!extension_loaded('soap')) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('SOAP extension is not loaded.');
- }
-
- if ($wsdl !== null) {
- $this->setWsdl($wsdl);
- }
- if ($options !== null) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set wsdl
- *
- * @param string $wsdl
- * @return Zend_Soap_Client
- */
- public function setWsdl($wsdl)
- {
- $this->_wsdl = $wsdl;
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get wsdl
- *
- * @return string
- */
- public function getWsdl()
- {
- return $this->_wsdl;
- }
-
- /**
- * Set Options
- *
- * Allows setting options as an associative array of option => value pairs.
- *
- * @param array|Zend_Config $options
- * @return Zend_Soap_Client
- * @throws Zend_SoapClient_Exception
- */
- public function setOptions($options)
- {
- if($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- foreach ($options as $key => $value) {
- switch ($key) {
- case 'classmap':
- case 'classMap':
- $this->setClassmap($value);
- break;
- case 'encoding':
- $this->setEncoding($value);
- break;
- case 'soapVersion':
- case 'soap_version':
- $this->setSoapVersion($value);
- break;
- case 'wsdl':
- $this->setWsdl($value);
- break;
- case 'uri':
- $this->setUri($value);
- break;
- case 'location':
- $this->setLocation($value);
- break;
- case 'style':
- $this->setStyle($value);
- break;
- case 'use':
- $this->setEncodingMethod($value);
- break;
- case 'login':
- $this->setHttpLogin($value);
- break;
- case 'password':
- $this->setHttpPassword($value);
- break;
- case 'proxy_host':
- $this->setProxyHost($value);
- break;
- case 'proxy_port':
- $this->setProxyPort($value);
- break;
- case 'proxy_login':
- $this->setProxyLogin($value);
- break;
- case 'proxy_password':
- $this->setProxyPassword($value);
- break;
- case 'local_cert':
- $this->setHttpsCertificate($value);
- break;
- case 'passphrase':
- $this->setHttpsCertPassphrase($value);
- break;
- case 'compression':
- $this->setCompressionOptions($value);
- break;
- case 'stream_context':
- $this->setStreamContext($value);
- break;
- case 'features':
- $this->setSoapFeatures($value);
- break;
- case 'cache_wsdl':
- $this->setWsdlCache($value);
- break;
- case 'useragent':
- case 'userAgent':
- case 'user_agent':
- $this->setUserAgent($value);
- break;
-
- // Not used now
- // case 'connection_timeout':
- // $this->_connection_timeout = $value;
- // break;
-
- default:
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Unknown SOAP client option');
- break;
- }
- }
-
- return $this;
- }
-
- /**
- * Return array of options suitable for using with SoapClient constructor
- *
- * @return array
- */
- public function getOptions()
- {
- $options = array();
-
- $options['classmap'] = $this->getClassmap();
- $options['encoding'] = $this->getEncoding();
- $options['soap_version'] = $this->getSoapVersion();
- $options['wsdl'] = $this->getWsdl();
- $options['uri'] = $this->getUri();
- $options['location'] = $this->getLocation();
- $options['style'] = $this->getStyle();
- $options['use'] = $this->getEncodingMethod();
- $options['login'] = $this->getHttpLogin();
- $options['password'] = $this->getHttpPassword();
- $options['proxy_host'] = $this->getProxyHost();
- $options['proxy_port'] = $this->getProxyPort();
- $options['proxy_login'] = $this->getProxyLogin();
- $options['proxy_password'] = $this->getProxyPassword();
- $options['local_cert'] = $this->getHttpsCertificate();
- $options['passphrase'] = $this->getHttpsCertPassphrase();
- $options['compression'] = $this->getCompressionOptions();
- //$options['connection_timeout'] = $this->_connection_timeout;
- $options['stream_context'] = $this->getStreamContext();
- $options['cache_wsdl'] = $this->getWsdlCache();
- $options['features'] = $this->getSoapFeatures();
- $options['user_agent'] = $this->getUserAgent();
-
- foreach ($options as $key => $value) {
- /*
- * ugly hack as I don't know if checking for '=== null'
- * breaks some other option
- */
- if ($key == 'user_agent') {
- if ($value === null) {
- unset($options[$key]);
- }
- } else {
- if ($value == null) {
- unset($options[$key]);
- }
- }
- }
-
- return $options;
- }
-
- /**
- * Set SOAP version
- *
- * @param int $version One of the SOAP_1_1 or SOAP_1_2 constants
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid soap version argument
- */
- public function setSoapVersion($version)
- {
- if (!in_array($version, array(SOAP_1_1, SOAP_1_2))) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid soap version specified. Use SOAP_1_1 or SOAP_1_2 constants.');
- }
- $this->_soapVersion = $version;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get SOAP version
- *
- * @return int
- */
- public function getSoapVersion()
- {
- return $this->_soapVersion;
- }
-
- /**
- * Set classmap
- *
- * @param array $classmap
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception for any invalid class in the class map
- */
- public function setClassmap(array $classmap)
- {
- foreach ($classmap as $type => $class) {
- if (!class_exists($class)) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid class in class map');
- }
- }
-
- $this->_classmap = $classmap;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve classmap
- *
- * @return mixed
- */
- public function getClassmap()
- {
- return $this->_classmap;
- }
-
- /**
- * Set encoding
- *
- * @param string $encoding
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid encoding argument
- */
- public function setEncoding($encoding)
- {
- if (!is_string($encoding)) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid encoding specified');
- }
-
- $this->_encoding = $encoding;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Check for valid URN
- *
- * @param string $urn
- * @return true
- * @throws Zend_Soap_Client_Exception on invalid URN
- */
- public function validateUrn($urn)
- {
- $scheme = parse_url($urn, PHP_URL_SCHEME);
- if ($scheme === false || $scheme === null) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid URN');
- }
-
- return true;
-
- }
-
- /**
- * Set URI
- *
- * URI in Web Service the target namespace
- *
- * @param string $uri
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid uri argument
- */
- public function setUri($uri)
- {
- $this->validateUrn($uri);
- $this->_uri = $uri;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve URI
- *
- * @return string
- */
- public function getUri()
- {
- return $this->_uri;
- }
-
- /**
- * Set Location
- *
- * URI in Web Service the target namespace
- *
- * @param string $location
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid uri argument
- */
- public function setLocation($location)
- {
- $this->validateUrn($location);
- $this->_location = $location;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve URI
- *
- * @return string
- */
- public function getLocation()
- {
- return $this->_location;
- }
-
- /**
- * Set request style
- *
- * @param int $style One of the SOAP_RPC or SOAP_DOCUMENT constants
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid style argument
- */
- public function setStyle($style)
- {
- if (!in_array($style, array(SOAP_RPC, SOAP_DOCUMENT))) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid request style specified. Use SOAP_RPC or SOAP_DOCUMENT constants.');
- }
-
- $this->_style = $style;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get request style
- *
- * @return int
- */
- public function getStyle()
- {
- return $this->_style;
- }
-
- /**
- * Set message encoding method
- *
- * @param int $use One of the SOAP_ENCODED or SOAP_LITERAL constants
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid message encoding method argument
- */
- public function setEncodingMethod($use)
- {
- if (!in_array($use, array(SOAP_ENCODED, SOAP_LITERAL))) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid message encoding method. Use SOAP_ENCODED or SOAP_LITERAL constants.');
- }
-
- $this->_use = $use;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get message encoding method
- *
- * @return int
- */
- public function getEncodingMethod()
- {
- return $this->_use;
- }
-
- /**
- * Set HTTP login
- *
- * @param string $login
- * @return Zend_Soap_Client
- */
- public function setHttpLogin($login)
- {
- $this->_login = $login;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve HTTP Login
- *
- * @return string
- */
- public function getHttpLogin()
- {
- return $this->_login;
- }
-
- /**
- * Set HTTP password
- *
- * @param string $password
- * @return Zend_Soap_Client
- */
- public function setHttpPassword($password)
- {
- $this->_password = $password;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve HTTP Password
- *
- * @return string
- */
- public function getHttpPassword()
- {
- return $this->_password;
- }
-
- /**
- * Set proxy host
- *
- * @param string $proxyHost
- * @return Zend_Soap_Client
- */
- public function setProxyHost($proxyHost)
- {
- $this->_proxy_host = $proxyHost;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve proxy host
- *
- * @return string
- */
- public function getProxyHost()
- {
- return $this->_proxy_host;
- }
-
- /**
- * Set proxy port
- *
- * @param int $proxyPort
- * @return Zend_Soap_Client
- */
- public function setProxyPort($proxyPort)
- {
- $this->_proxy_port = (int)$proxyPort;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve proxy port
- *
- * @return int
- */
- public function getProxyPort()
- {
- return $this->_proxy_port;
- }
-
- /**
- * Set proxy login
- *
- * @param string $proxyLogin
- * @return Zend_Soap_Client
- */
- public function setProxyLogin($proxyLogin)
- {
- $this->_proxy_login = $proxyLogin;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Retrieve proxy login
- *
- * @return string
- */
- public function getProxyLogin()
- {
- return $this->_proxy_login;
- }
-
- /**
- * Set proxy password
- *
- * @param string $proxyLogin
- * @return Zend_Soap_Client
- */
- public function setProxyPassword($proxyPassword)
- {
- $this->_proxy_password = $proxyPassword;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Set HTTPS client certificate path
- *
- * @param string $localCert local certificate path
- * @return Zend_Soap_Client
- * @throws Zend_Soap_Client_Exception with invalid local certificate path argument
- */
- public function setHttpsCertificate($localCert)
- {
- if (!is_readable($localCert)) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('Invalid HTTPS client certificate path.');
- }
-
- $this->_local_cert = $localCert;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get HTTPS client certificate path
- *
- * @return string
- */
- public function getHttpsCertificate()
- {
- return $this->_local_cert;
- }
-
- /**
- * Set HTTPS client certificate passphrase
- *
- * @param string $passphrase
- * @return Zend_Soap_Client
- */
- public function setHttpsCertPassphrase($passphrase)
- {
- $this->_passphrase = $passphrase;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get HTTPS client certificate passphrase
- *
- * @return string
- */
- public function getHttpsCertPassphrase()
- {
- return $this->_passphrase;
- }
-
- /**
- * Set compression options
- *
- * @param int $compressionOptions
- * @return Zend_Soap_Client
- */
- public function setCompressionOptions($compressionOptions)
- {
- $this->_compression = $compressionOptions;
-
- $this->_soapClient = null;
-
- return $this;
- }
-
- /**
- * Get Compression options
- *
- * @return int
- */
- public function getCompressionOptions()
- {
- return $this->_compression;
- }
-
- /**
- * Retrieve proxy password
- *
- * @return string
- */
- public function getProxyPassword()
- {
- return $this->_proxy_password;
- }
-
- /**
- * Set Stream Context
- *
- * @return Zend_Soap_Client
- */
- public function setStreamContext($context)
- {
- if(!is_resource($context) || get_resource_type($context) !== "stream-context") {
- /**
- * @see Zend_Soap_Client_Exception
- */
- require_once "Zend/Soap/Client/Exception.php";
- throw new Zend_Soap_Client_Exception(
- "Invalid stream context resource given."
- );
- }
-
- $this->_stream_context = $context;
- return $this;
- }
-
- /**
- * Get Stream Context
- *
- * @return resource
- */
- public function getStreamContext()
- {
- return $this->_stream_context;
- }
-
- /**
- * Set the SOAP Feature options.
- *
- * @param string|int $feature
- * @return Zend_Soap_Client
- */
- public function setSoapFeatures($feature)
- {
- $this->_features = $feature;
-
- $this->_soapClient = null;
- return $this;
- }
-
- /**
- * Return current SOAP Features options
- *
- * @return int
- */
- public function getSoapFeatures()
- {
- return $this->_features;
- }
-
- /**
- * Set the SOAP Wsdl Caching Options
- *
- * @param string|int|boolean $caching
- * @return Zend_Soap_Client
- */
- public function setWsdlCache($options)
- {
- $this->_cache_wsdl = $options;
- return $this;
- }
-
- /**
- * Get current SOAP Wsdl Caching option
- */
- public function getWsdlCache()
- {
- return $this->_cache_wsdl;
- }
-
- /**
- * Set the string to use in User-Agent header
- *
- * @param string|null $userAgent
- * @return Zend_Soap_Client
- */
- public function setUserAgent($userAgent)
- {
- if ($userAgent === null) {
- $this->_user_agent = null;
- } else {
- $this->_user_agent = (string)$userAgent;
- }
- return $this;
- }
-
- /**
- * Get current string to use in User-Agent header
- *
- * @return string|null
- */
- public function getUserAgent()
- {
- return $this->_user_agent;
- }
-
- /**
- * Retrieve request XML
- *
- * @return string
- */
- public function getLastRequest()
- {
- if ($this->_soapClient !== null) {
- return $this->_soapClient->__getLastRequest();
- }
-
- return '';
- }
-
- /**
- * Get response XML
- *
- * @return string
- */
- public function getLastResponse()
- {
- if ($this->_soapClient !== null) {
- return $this->_soapClient->__getLastResponse();
- }
-
- return '';
- }
-
- /**
- * Retrieve request headers
- *
- * @return string
- */
- public function getLastRequestHeaders()
- {
- if ($this->_soapClient !== null) {
- return $this->_soapClient->__getLastRequestHeaders();
- }
-
- return '';
- }
-
- /**
- * Retrieve response headers (as string)
- *
- * @return string
- */
- public function getLastResponseHeaders()
- {
- if ($this->_soapClient !== null) {
- return $this->_soapClient->__getLastResponseHeaders();
- }
-
- return '';
- }
-
- /**
- * Retrieve last invoked method
- *
- * @return string
- */
- public function getLastMethod()
- {
- return $this->_lastMethod;
- }
-
- /**
- * Do request proxy method.
- *
- * May be overridden in subclasses
- *
- * @internal
- * @param Zend_Soap_Client_Common $client
- * @param string $request
- * @param string $location
- * @param string $action
- * @param int $version
- * @param int $one_way
- * @return mixed
- */
- public function _doRequest(Zend_Soap_Client_Common $client, $request, $location, $action, $version, $one_way = null)
- {
- // Perform request as is
- if ($one_way == null) {
- return call_user_func(array($client,'SoapClient::__doRequest'), $request, $location, $action, $version);
- } else {
- return call_user_func(array($client,'SoapClient::__doRequest'), $request, $location, $action, $version, $one_way);
- }
- }
-
- /**
- * Initialize SOAP Client object
- *
- * @throws Zend_Soap_Client_Exception
- */
- protected function _initSoapClientObject()
- {
- $wsdl = $this->getWsdl();
- $options = array_merge($this->getOptions(), array('trace' => true));
-
- if ($wsdl == null) {
- if (!isset($options['location'])) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('\'location\' parameter is required in non-WSDL mode.');
- }
- if (!isset($options['uri'])) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('\'uri\' parameter is required in non-WSDL mode.');
- }
- } else {
- if (isset($options['use'])) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('\'use\' parameter only works in non-WSDL mode.');
- }
- if (isset($options['style'])) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('\'style\' parameter only works in non-WSDL mode.');
- }
- }
- unset($options['wsdl']);
-
- $this->_soapClient = new Zend_Soap_Client_Common(array($this, '_doRequest'), $wsdl, $options);
- }
-
-
- /**
- * Perform arguments pre-processing
- *
- * My be overridden in descendant classes
- *
- * @param array $arguments
- */
- protected function _preProcessArguments($arguments)
- {
- // Do nothing
- return $arguments;
- }
-
- /**
- * Perform result pre-processing
- *
- * My be overridden in descendant classes
- *
- * @param array $arguments
- */
- protected function _preProcessResult($result)
- {
- // Do nothing
- return $result;
- }
-
- /**
- * Add SOAP input header
- *
- * @param SoapHeader $header
- * @param boolean $permanent
- * @return Zend_Soap_Client
- */
- public function addSoapInputHeader(SoapHeader $header, $permanent = false)
- {
- if ($permanent) {
- $this->_permanentSoapInputHeaders[] = $header;
- } else {
- $this->_soapInputHeaders[] = $header;
- }
-
- return $this;
- }
-
- /**
- * Reset SOAP input headers
- *
- * @return Zend_Soap_Client
- */
- public function resetSoapInputHeaders()
- {
- $this->_permanentSoapInputHeaders = array();
- $this->_soapInputHeaders = array();
-
- return $this;
- }
-
- /**
- * Get last SOAP output headers
- *
- * @return array
- */
- public function getLastSoapOutputHeaderObjects()
- {
- return $this->_soapOutputHeaders;
- }
-
- /**
- * Perform a SOAP call
- *
- * @param string $name
- * @param array $arguments
- * @return mixed
- */
- public function __call($name, $arguments)
- {
- $soapClient = $this->getSoapClient();
-
- $this->_lastMethod = $name;
-
- $soapHeaders = array_merge($this->_permanentSoapInputHeaders, $this->_soapInputHeaders);
- $result = $soapClient->__soapCall($name,
- $this->_preProcessArguments($arguments),
- null, /* Options are already set to the SOAP client object */
- (count($soapHeaders) > 0)? $soapHeaders : null,
- $this->_soapOutputHeaders);
-
- // Reset non-permanent input headers
- $this->_soapInputHeaders = array();
-
- return $this->_preProcessResult($result);
- }
-
-
- /**
- * Return a list of available functions
- *
- * @return array
- * @throws Zend_Soap_Client_Exception
- */
- public function getFunctions()
- {
- if ($this->getWsdl() == null) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('\'getFunctions\' method is available only in WSDL mode.');
- }
-
- $soapClient = $this->getSoapClient();
- return $soapClient->__getFunctions();
- }
-
-
- /**
- * Get used types.
- *
- * @return array
- */
-
- /**
- * Return a list of SOAP types
- *
- * @return array
- * @throws Zend_Soap_Client_Exception
- */
- public function getTypes()
- {
- if ($this->getWsdl() == null) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('\'getTypes\' method is available only in WSDL mode.');
- }
-
- $soapClient = $this->getSoapClient();
-
- return $soapClient->__getTypes();
- }
-
- /**
- * @param SoapClient $soapClient
- * @return Zend_Soap_Client
- */
- public function setSoapClient(SoapClient $soapClient)
- {
- $this->_soapClient = $soapClient;
- return $this;
- }
-
- /**
- * @return SoapClient
- */
- public function getSoapClient()
- {
- if ($this->_soapClient == null) {
- $this->_initSoapClientObject();
- }
- return $this->_soapClient;
- }
-
- /**
- * @param string $name
- * @param string $value
- * @return Zend_Soap_Client
- */
- public function setCookie($cookieName, $cookieValue=null)
- {
- $soapClient = $this->getSoapClient();
- $soapClient->__setCookie($cookieName, $cookieValue);
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/Client/Common.php b/airtime_mvc/library/Zend/Soap/Client/Common.php
deleted file mode 100644
index 0319c08dd..000000000
--- a/airtime_mvc/library/Zend/Soap/Client/Common.php
+++ /dev/null
@@ -1,76 +0,0 @@
-_doRequestCallback = $doRequestCallback;
-
- parent::__construct($wsdl, $options);
- }
-
- /**
- * Performs SOAP request over HTTP.
- * Overridden to implement different transport layers, perform additional XML processing or other purpose.
- *
- * @param string $request
- * @param string $location
- * @param string $action
- * @param int $version
- * @param int $one_way
- * @return mixed
- */
- function __doRequest($request, $location, $action, $version, $one_way = null)
- {
- if ($one_way === null) {
- return call_user_func($this->_doRequestCallback, $this, $request, $location, $action, $version);
- } else {
- return call_user_func($this->_doRequestCallback, $this, $request, $location, $action, $version, $one_way);
- }
- }
-
-}
-
-} // end if (extension_loaded('soap')
diff --git a/airtime_mvc/library/Zend/Soap/Client/DotNet.php b/airtime_mvc/library/Zend/Soap/Client/DotNet.php
deleted file mode 100644
index b509332ac..000000000
--- a/airtime_mvc/library/Zend/Soap/Client/DotNet.php
+++ /dev/null
@@ -1,95 +0,0 @@
-setSoapVersion(SOAP_1_1);
-
- parent::__construct($wsdl, $options);
- }
-
-
- /**
- * Perform arguments pre-processing
- *
- * My be overridden in descendant classes
- *
- * @param array $arguments
- * @throws Zend_Soap_Client_Exception
- */
- protected function _preProcessArguments($arguments)
- {
- if (count($arguments) > 1 ||
- (count($arguments) == 1 && !is_array(reset($arguments)))
- ) {
- require_once 'Zend/Soap/Client/Exception.php';
- throw new Zend_Soap_Client_Exception('.Net webservice arguments have to be grouped into array: array(\'a\' => $a, \'b\' => $b, ...).');
- }
-
- // Do nothing
- return $arguments;
- }
-
- /**
- * Perform result pre-processing
- *
- * My be overridden in descendant classes
- *
- * @param array $arguments
- */
- protected function _preProcessResult($result)
- {
- $resultProperty = $this->getLastMethod() . 'Result';
-
- return $result->$resultProperty;
- }
-
-}
-
-} // end if (extension_loaded('soap')
diff --git a/airtime_mvc/library/Zend/Soap/Client/Exception.php b/airtime_mvc/library/Zend/Soap/Client/Exception.php
deleted file mode 100644
index 16175031d..000000000
--- a/airtime_mvc/library/Zend/Soap/Client/Exception.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_server = $server;
-
- // Use Server specified SOAP version as default
- $this->setSoapVersion($server->getSoapVersion());
-
- parent::__construct($wsdl, $options);
- }
-
- /**
- * Actual "do request" method.
- *
- * @internal
- * @param Zend_Soap_Client_Common $client
- * @param string $request
- * @param string $location
- * @param string $action
- * @param int $version
- * @param int $one_way
- * @return mixed
- */
- public function _doRequest(Zend_Soap_Client_Common $client, $request, $location, $action, $version, $one_way = null)
- {
- // Perform request as is
- ob_start();
- $this->_server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
-
- return $response;
- }
-}
-
-} // end if (extension_loaded('soap')
diff --git a/airtime_mvc/library/Zend/Soap/Server.php b/airtime_mvc/library/Zend/Soap/Server.php
deleted file mode 100644
index 62f01776d..000000000
--- a/airtime_mvc/library/Zend/Soap/Server.php
+++ /dev/null
@@ -1,959 +0,0 @@
- PHP class pairings for handling return/incoming values
- * @var array
- */
- protected $_classmap;
-
- /**
- * Encoding
- * @var string
- */
- protected $_encoding;
-
- /**
- * SOAP Server Features
- *
- * @var int
- */
- protected $_features;
-
- /**
- * WSDL Caching Options of SOAP Server
- *
- * @var mixed
- */
- protected $_wsdlCache;
-
-
- /**
- * Registered fault exceptions
- * @var array
- */
- protected $_faultExceptions = array();
-
- /**
- * Functions registered with this server; may be either an array or the SOAP_FUNCTIONS_ALL
- * constant
- * @var array|int
- */
- protected $_functions = array();
-
- /**
- * Persistence mode; should be one of the SOAP persistence constants
- * @var int
- */
- protected $_persistence;
-
- /**
- * Request XML
- * @var string
- */
- protected $_request;
-
- /**
- * Response XML
- * @var string
- */
- protected $_response;
-
- /**
- * Flag: whether or not {@link handle()} should return a response instead
- * of automatically emitting it.
- * @var boolean
- */
- protected $_returnResponse = false;
-
- /**
- * SOAP version to use; SOAP_1_2 by default, to allow processing of headers
- * @var int
- */
- protected $_soapVersion = SOAP_1_2;
-
- /**
- * URI or path to WSDL
- * @var string
- */
- protected $_wsdl;
-
- /**
- * URI namespace for SOAP server
- * @var string URI
- */
- protected $_uri;
-
- /**
- * Constructor
- *
- * Sets display_errors INI setting to off (prevent client errors due to bad
- * XML in response). Registers {@link handlePhpErrors()} as error handler
- * for E_USER_ERROR.
- *
- * If $wsdl is provided, it is passed on to {@link setWsdl()}; if any
- * options are specified, they are passed on to {@link setOptions()}.
- *
- * @param string $wsdl
- * @param array $options
- * @return void
- */
- public function __construct($wsdl = null, array $options = null)
- {
- if (!extension_loaded('soap')) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('SOAP extension is not loaded.');
- }
-
- if (null !== $wsdl) {
- $this->setWsdl($wsdl);
- }
-
- if (null !== $options) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set Options
- *
- * Allows setting options as an associative array of option => value pairs.
- *
- * @param array|Zend_Config $options
- * @return Zend_Soap_Server
- */
- public function setOptions($options)
- {
- if($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- foreach ($options as $key => $value) {
- switch ($key) {
- case 'actor':
- $this->setActor($value);
- break;
- case 'classmap':
- case 'classMap':
- $this->setClassmap($value);
- break;
- case 'encoding':
- $this->setEncoding($value);
- break;
- case 'soapVersion':
- case 'soap_version':
- $this->setSoapVersion($value);
- break;
- case 'uri':
- $this->setUri($value);
- break;
- case 'wsdl':
- $this->setWsdl($value);
- break;
- case 'featues':
- $this->setSoapFeatures($value);
- break;
- case 'cache_wsdl':
- $this->setWsdlCache($value);
- break;
- default:
- break;
- }
- }
-
- return $this;
- }
-
- /**
- * Return array of options suitable for using with SoapServer constructor
- *
- * @return array
- */
- public function getOptions()
- {
- $options = array();
- if (null !== $this->_actor) {
- $options['actor'] = $this->_actor;
- }
-
- if (null !== $this->_classmap) {
- $options['classmap'] = $this->_classmap;
- }
-
- if (null !== $this->_encoding) {
- $options['encoding'] = $this->_encoding;
- }
-
- if (null !== $this->_soapVersion) {
- $options['soap_version'] = $this->_soapVersion;
- }
-
- if (null !== $this->_uri) {
- $options['uri'] = $this->_uri;
- }
-
- if(null !== $this->_features) {
- $options['features'] = $this->_features;
- }
-
- if(null !== $this->_wsdlCache) {
- $options['cache_wsdl'] = $this->_wsdlCache;
- }
-
- return $options;
- }
-
- /**
- * Set encoding
- *
- * @param string $encoding
- * @return Zend_Soap_Server
- * @throws Zend_Soap_Server_Exception with invalid encoding argument
- */
- public function setEncoding($encoding)
- {
- if (!is_string($encoding)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid encoding specified');
- }
-
- $this->_encoding = $encoding;
- return $this;
- }
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set SOAP version
- *
- * @param int $version One of the SOAP_1_1 or SOAP_1_2 constants
- * @return Zend_Soap_Server
- * @throws Zend_Soap_Server_Exception with invalid soap version argument
- */
- public function setSoapVersion($version)
- {
- if (!in_array($version, array(SOAP_1_1, SOAP_1_2))) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid soap version specified');
- }
-
- $this->_soapVersion = $version;
- return $this;
- }
-
- /**
- * Get SOAP version
- *
- * @return int
- */
- public function getSoapVersion()
- {
- return $this->_soapVersion;
- }
-
- /**
- * Check for valid URN
- *
- * @param string $urn
- * @return true
- * @throws Zend_Soap_Server_Exception on invalid URN
- */
- public function validateUrn($urn)
- {
- $scheme = parse_url($urn, PHP_URL_SCHEME);
- if ($scheme === false || $scheme === null) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid URN');
- }
-
- return true;
- }
-
- /**
- * Set actor
- *
- * Actor is the actor URI for the server.
- *
- * @param string $actor
- * @return Zend_Soap_Server
- */
- public function setActor($actor)
- {
- $this->validateUrn($actor);
- $this->_actor = $actor;
- return $this;
- }
-
- /**
- * Retrieve actor
- *
- * @return string
- */
- public function getActor()
- {
- return $this->_actor;
- }
-
- /**
- * Set URI
- *
- * URI in SoapServer is actually the target namespace, not a URI; $uri must begin with 'urn:'.
- *
- * @param string $uri
- * @return Zend_Soap_Server
- * @throws Zend_Soap_Server_Exception with invalid uri argument
- */
- public function setUri($uri)
- {
- $this->validateUrn($uri);
- $this->_uri = $uri;
- return $this;
- }
-
- /**
- * Retrieve URI
- *
- * @return string
- */
- public function getUri()
- {
- return $this->_uri;
- }
-
- /**
- * Set classmap
- *
- * @param array $classmap
- * @return Zend_Soap_Server
- * @throws Zend_Soap_Server_Exception for any invalid class in the class map
- */
- public function setClassmap($classmap)
- {
- if (!is_array($classmap)) {
- /**
- * @see Zend_Soap_Server_Exception
- */
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Classmap must be an array');
- }
- foreach ($classmap as $type => $class) {
- if (!class_exists($class)) {
- /**
- * @see Zend_Soap_Server_Exception
- */
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid class in class map');
- }
- }
-
- $this->_classmap = $classmap;
- return $this;
- }
-
- /**
- * Retrieve classmap
- *
- * @return mixed
- */
- public function getClassmap()
- {
- return $this->_classmap;
- }
-
- /**
- * Set wsdl
- *
- * @param string $wsdl URI or path to a WSDL
- * @return Zend_Soap_Server
- */
- public function setWsdl($wsdl)
- {
- $this->_wsdl = $wsdl;
- return $this;
- }
-
- /**
- * Retrieve wsdl
- *
- * @return string
- */
- public function getWsdl()
- {
- return $this->_wsdl;
- }
-
- /**
- * Set the SOAP Feature options.
- *
- * @param string|int $feature
- * @return Zend_Soap_Server
- */
- public function setSoapFeatures($feature)
- {
- $this->_features = $feature;
- return $this;
- }
-
- /**
- * Return current SOAP Features options
- *
- * @return int
- */
- public function getSoapFeatures()
- {
- return $this->_features;
- }
-
- /**
- * Set the SOAP Wsdl Caching Options
- *
- * @param string|int|boolean $caching
- * @return Zend_Soap_Server
- */
- public function setWsdlCache($options)
- {
- $this->_wsdlCache = $options;
- return $this;
- }
-
- /**
- * Get current SOAP Wsdl Caching option
- */
- public function getWsdlCache()
- {
- return $this->_wsdlCache;
- }
-
- /**
- * Attach a function as a server method
- *
- * @param array|string $function Function name, array of function names to attach,
- * or SOAP_FUNCTIONS_ALL to attach all functions
- * @param string $namespace Ignored
- * @return Zend_Soap_Server
- * @throws Zend_Soap_Server_Exception on invalid functions
- */
- public function addFunction($function, $namespace = '')
- {
- // Bail early if set to SOAP_FUNCTIONS_ALL
- if ($this->_functions == SOAP_FUNCTIONS_ALL) {
- return $this;
- }
-
- if (is_array($function)) {
- foreach ($function as $func) {
- if (is_string($func) && function_exists($func)) {
- $this->_functions[] = $func;
- } else {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('One or more invalid functions specified in array');
- }
- }
- $this->_functions = array_merge($this->_functions, $function);
- } elseif (is_string($function) && function_exists($function)) {
- $this->_functions[] = $function;
- } elseif ($function == SOAP_FUNCTIONS_ALL) {
- $this->_functions = SOAP_FUNCTIONS_ALL;
- } else {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid function specified');
- }
-
- if (is_array($this->_functions)) {
- $this->_functions = array_unique($this->_functions);
- }
-
- return $this;
- }
-
- /**
- * Attach a class to a server
- *
- * Accepts a class name to use when handling requests. Any additional
- * arguments will be passed to that class' constructor when instantiated.
- *
- * See {@link setObject()} to set preconfigured object instances as request handlers.
- *
- * @param string $class Class Name which executes SOAP Requests at endpoint.
- * @return Zend_Soap_Server
- * @throws Zend_Soap_Server_Exception if called more than once, or if class
- * does not exist
- */
- public function setClass($class, $namespace = '', $argv = null)
- {
- if (isset($this->_class)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('A class has already been registered with this soap server instance');
- }
-
- if (!is_string($class)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid class argument (' . gettype($class) . ')');
- }
-
- if (!class_exists($class)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Class "' . $class . '" does not exist');
- }
-
- $this->_class = $class;
- if (1 < func_num_args()) {
- $argv = func_get_args();
- array_shift($argv);
- $this->_classArgs = $argv;
- }
-
- return $this;
- }
-
- /**
- * Attach an object to a server
- *
- * Accepts an instanciated object to use when handling requests.
- *
- * @param object $object
- * @return Zend_Soap_Server
- */
- public function setObject($object)
- {
- if(!is_object($object)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid object argument ('.gettype($object).')');
- }
-
- if(isset($this->_object)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('An object has already been registered with this soap server instance');
- }
-
- $this->_object = $object;
-
- return $this;
- }
-
- /**
- * Return a server definition array
- *
- * Returns a list of all functions registered with {@link addFunction()},
- * merged with all public methods of the class set with {@link setClass()}
- * (if any).
- *
- * @access public
- * @return array
- */
- public function getFunctions()
- {
- $functions = array();
- if (null !== $this->_class) {
- $functions = get_class_methods($this->_class);
- } elseif (null !== $this->_object) {
- $functions = get_class_methods($this->_object);
- }
-
- return array_merge((array) $this->_functions, $functions);
- }
-
- /**
- * Unimplemented: Load server definition
- *
- * @param array $array
- * @return void
- * @throws Zend_Soap_Server_Exception Unimplemented
- */
- public function loadFunctions($definition)
- {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Unimplemented');
- }
-
- /**
- * Set server persistence
- *
- * @param int $mode
- * @return Zend_Soap_Server
- */
- public function setPersistence($mode)
- {
- if (!in_array($mode, array(SOAP_PERSISTENCE_SESSION, SOAP_PERSISTENCE_REQUEST))) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid persistence mode specified');
- }
-
- $this->_persistence = $mode;
- return $this;
- }
-
- /**
- * Get server persistence
- *
- * @return Zend_Soap_Server
- */
- public function getPersistence()
- {
- return $this->_persistence;
- }
-
- /**
- * Set request
- *
- * $request may be any of:
- * - DOMDocument; if so, then cast to XML
- * - DOMNode; if so, then grab owner document and cast to XML
- * - SimpleXMLElement; if so, then cast to XML
- * - stdClass; if so, calls __toString() and verifies XML
- * - string; if so, verifies XML
- *
- * @param DOMDocument|DOMNode|SimpleXMLElement|stdClass|string $request
- * @return Zend_Soap_Server
- */
- protected function _setRequest($request)
- {
- if ($request instanceof DOMDocument) {
- $xml = $request->saveXML();
- } elseif ($request instanceof DOMNode) {
- $xml = $request->ownerDocument->saveXML();
- } elseif ($request instanceof SimpleXMLElement) {
- $xml = $request->asXML();
- } elseif (is_object($request) || is_string($request)) {
- if (is_object($request)) {
- $xml = $request->__toString();
- } else {
- $xml = $request;
- }
-
- $dom = new DOMDocument();
- if(strlen($xml) == 0 || !$dom->loadXML($xml)) {
- require_once 'Zend/Soap/Server/Exception.php';
- throw new Zend_Soap_Server_Exception('Invalid XML');
- }
- }
- $this->_request = $xml;
- return $this;
- }
-
- /**
- * Retrieve request XML
- *
- * @return string
- */
- public function getLastRequest()
- {
- return $this->_request;
- }
-
- /**
- * Set return response flag
- *
- * If true, {@link handle()} will return the response instead of
- * automatically sending it back to the requesting client.
- *
- * The response is always available via {@link getResponse()}.
- *
- * @param boolean $flag
- * @return Zend_Soap_Server
- */
- public function setReturnResponse($flag)
- {
- $this->_returnResponse = ($flag) ? true : false;
- return $this;
- }
-
- /**
- * Retrieve return response flag
- *
- * @return boolean
- */
- public function getReturnResponse()
- {
- return $this->_returnResponse;
- }
-
- /**
- * Get response XML
- *
- * @return string
- */
- public function getLastResponse()
- {
- return $this->_response;
- }
-
- /**
- * Get SoapServer object
- *
- * Uses {@link $_wsdl} and return value of {@link getOptions()} to instantiate
- * SoapServer object, and then registers any functions or class with it, as
- * well as peristence.
- *
- * @return SoapServer
- */
- protected function _getSoap()
- {
- $options = $this->getOptions();
- $server = new SoapServer($this->_wsdl, $options);
-
- if (!empty($this->_functions)) {
- $server->addFunction($this->_functions);
- }
-
- if (!empty($this->_class)) {
- $args = $this->_classArgs;
- array_unshift($args, $this->_class);
- call_user_func_array(array($server, 'setClass'), $args);
- }
-
- if (!empty($this->_object)) {
- $server->setObject($this->_object);
- }
-
- if (null !== $this->_persistence) {
- $server->setPersistence($this->_persistence);
- }
-
- return $server;
- }
-
- /**
- * Handle a request
- *
- * Instantiates SoapServer object with options set in object, and
- * dispatches its handle() method.
- *
- * $request may be any of:
- * - DOMDocument; if so, then cast to XML
- * - DOMNode; if so, then grab owner document and cast to XML
- * - SimpleXMLElement; if so, then cast to XML
- * - stdClass; if so, calls __toString() and verifies XML
- * - string; if so, verifies XML
- *
- * If no request is passed, pulls request using php:://input (for
- * cross-platform compatability purposes).
- *
- * @param DOMDocument|DOMNode|SimpleXMLElement|stdClass|string $request Optional request
- * @return void|string
- */
- public function handle($request = null)
- {
- if (null === $request) {
- $request = file_get_contents('php://input');
- }
-
- // Set Zend_Soap_Server error handler
- $displayErrorsOriginalState = $this->_initializeSoapErrorContext();
-
- $setRequestException = null;
- /**
- * @see Zend_Soap_Server_Exception
- */
- require_once 'Zend/Soap/Server/Exception.php';
- try {
- $this->_setRequest($request);
- } catch (Zend_Soap_Server_Exception $e) {
- $setRequestException = $e;
- }
-
- $soap = $this->_getSoap();
-
- ob_start();
- if($setRequestException instanceof Exception) {
- // Send SOAP fault message if we've catched exception
- $soap->fault("Sender", $setRequestException->getMessage());
- } else {
- try {
- $soap->handle($request);
- } catch (Exception $e) {
- $fault = $this->fault($e);
- $soap->fault($fault->faultcode, $fault->faultstring);
- }
- }
- $this->_response = ob_get_clean();
-
- // Restore original error handler
- restore_error_handler();
- ini_set('display_errors', $displayErrorsOriginalState);
-
- if (!$this->_returnResponse) {
- echo $this->_response;
- return;
- }
-
- return $this->_response;
- }
-
- /**
- * Method initalizes the error context that the SOAPServer enviroment will run in.
- *
- * @return boolean display_errors original value
- */
- protected function _initializeSoapErrorContext()
- {
- $displayErrorsOriginalState = ini_get('display_errors');
- ini_set('display_errors', false);
- set_error_handler(array($this, 'handlePhpErrors'), E_USER_ERROR);
- return $displayErrorsOriginalState;
- }
-
- /**
- * Register a valid fault exception
- *
- * @param string|array $class Exception class or array of exception classes
- * @return Zend_Soap_Server
- */
- public function registerFaultException($class)
- {
- $this->_faultExceptions = array_merge($this->_faultExceptions, (array) $class);
- return $this;
- }
-
- /**
- * Deregister a fault exception from the fault exception stack
- *
- * @param string $class
- * @return boolean
- */
- public function deregisterFaultException($class)
- {
- if (in_array($class, $this->_faultExceptions, true)) {
- $index = array_search($class, $this->_faultExceptions);
- unset($this->_faultExceptions[$index]);
- return true;
- }
-
- return false;
- }
-
- /**
- * Return fault exceptions list
- *
- * @return array
- */
- public function getFaultExceptions()
- {
- return $this->_faultExceptions;
- }
-
- /**
- * Generate a server fault
- *
- * Note that the arguments are reverse to those of SoapFault.
- *
- * If an exception is passed as the first argument, its message and code
- * will be used to create the fault object if it has been registered via
- * {@Link registerFaultException()}.
- *
- * @link http://www.w3.org/TR/soap12-part1/#faultcodes
- * @param string|Exception $fault
- * @param string $code SOAP Fault Codes
- * @return SoapFault
- */
- public function fault($fault = null, $code = "Receiver")
- {
- if ($fault instanceof Exception) {
- $class = get_class($fault);
- if (in_array($class, $this->_faultExceptions)) {
- $message = $fault->getMessage();
- $eCode = $fault->getCode();
- $code = empty($eCode) ? $code : $eCode;
- } else {
- $message = 'Unknown error';
- }
- } elseif(is_string($fault)) {
- $message = $fault;
- } else {
- $message = 'Unknown error';
- }
-
- $allowedFaultModes = array(
- 'VersionMismatch', 'MustUnderstand', 'DataEncodingUnknown',
- 'Sender', 'Receiver', 'Server'
- );
- if(!in_array($code, $allowedFaultModes)) {
- $code = "Receiver";
- }
-
- return new SoapFault($code, $message);
- }
-
- /**
- * Throw PHP errors as SoapFaults
- *
- * @param int $errno
- * @param string $errstr
- * @param string $errfile
- * @param int $errline
- * @param array $errcontext
- * @return void
- * @throws SoapFault
- */
- public function handlePhpErrors($errno, $errstr, $errfile = null, $errline = null, array $errcontext = null)
- {
- throw $this->fault($errstr, "Receiver");
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/Server/Exception.php b/airtime_mvc/library/Zend/Soap/Server/Exception.php
deleted file mode 100644
index 34c1d2078..000000000
--- a/airtime_mvc/library/Zend/Soap/Server/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-getUri();
- }
- $this->_uri = $uri;
-
- /**
- * @todo change DomDocument object creation from cparsing to construxting using API
- * It also should authomatically escape $name and $uri values if necessary
- */
- $wsdl = "
- ";
- $this->_dom = new DOMDocument();
- if (!$this->_dom->loadXML($wsdl)) {
- require_once 'Zend/Server/Exception.php';
- throw new Zend_Server_Exception('Unable to create DomDocument');
- } else {
- $this->_wsdl = $this->_dom->documentElement;
- }
-
- $this->setComplexTypeStrategy($strategy);
- }
-
- /**
- * Set a new uri for this WSDL
- *
- * @param string|Zend_Uri_Http $uri
- * @return Zend_Server_Wsdl
- */
- public function setUri($uri)
- {
- if ($uri instanceof Zend_Uri_Http) {
- $uri = $uri->getUri();
- }
- $oldUri = $this->_uri;
- $this->_uri = $uri;
-
- if($this->_dom !== null) {
- // @todo: This is the worst hack ever, but its needed due to design and non BC issues of WSDL generation
- $xml = $this->_dom->saveXML();
- $xml = str_replace($oldUri, $uri, $xml);
- $this->_dom = new DOMDocument();
- $this->_dom->loadXML($xml);
- }
-
- return $this;
- }
-
- /**
- * Set a strategy for complex type detection and handling
- *
- * @todo Boolean is for backwards compability with extractComplexType object var. Remove it in later versions.
- * @param boolean|string|Zend_Soap_Wsdl_Strategy_Interface $strategy
- * @return Zend_Soap_Wsdl
- */
- public function setComplexTypeStrategy($strategy)
- {
- if($strategy === true) {
- require_once "Zend/Soap/Wsdl/Strategy/DefaultComplexType.php";
- $strategy = new Zend_Soap_Wsdl_Strategy_DefaultComplexType();
- } else if($strategy === false) {
- require_once "Zend/Soap/Wsdl/Strategy/AnyType.php";
- $strategy = new Zend_Soap_Wsdl_Strategy_AnyType();
- } else if(is_string($strategy)) {
- if(class_exists($strategy)) {
- $strategy = new $strategy();
- } else {
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception(
- sprintf("Strategy with name '%s does not exist.", $strategy
- ));
- }
- }
-
- if(!($strategy instanceof Zend_Soap_Wsdl_Strategy_Interface)) {
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception("Set a strategy that is not of type 'Zend_Soap_Wsdl_Strategy_Interface'");
- }
- $this->_strategy = $strategy;
- return $this;
- }
-
- /**
- * Get the current complex type strategy
- *
- * @return Zend_Soap_Wsdl_Strategy_Interface
- */
- public function getComplexTypeStrategy()
- {
- return $this->_strategy;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_messages message} element to the WSDL
- *
- * @param string $name Name for the {@link http://www.w3.org/TR/wsdl#_messages message}
- * @param array $parts An array of {@link http://www.w3.org/TR/wsdl#_message parts}
- * The array is constructed like: 'name of part' => 'part xml schema data type'
- * or 'name of part' => array('type' => 'part xml schema type')
- * or 'name of part' => array('element' => 'part xml element name')
- * @return object The new message's XML_Tree_Node for use in {@link function addDocumentation}
- */
- public function addMessage($name, $parts)
- {
- $message = $this->_dom->createElement('message');
-
- $message->setAttribute('name', $name);
-
- if (sizeof($parts) > 0) {
- foreach ($parts as $name => $type) {
- $part = $this->_dom->createElement('part');
- $part->setAttribute('name', $name);
- if (is_array($type)) {
- foreach ($type as $key => $value) {
- $part->setAttribute($key, $value);
- }
- } else {
- $part->setAttribute('type', $type);
- }
- $message->appendChild($part);
- }
- }
-
- $this->_wsdl->appendChild($message);
-
- return $message;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_porttypes portType} element to the WSDL
- *
- * @param string $name portType element's name
- * @return object The new portType's XML_Tree_Node for use in {@link function addPortOperation} and {@link function addDocumentation}
- */
- public function addPortType($name)
- {
- $portType = $this->_dom->createElement('portType');
- $portType->setAttribute('name', $name);
- $this->_wsdl->appendChild($portType);
-
- return $portType;
- }
-
- /**
- * Add an {@link http://www.w3.org/TR/wsdl#_request-response operation} element to a portType element
- *
- * @param object $portType a portType XML_Tree_Node, from {@link function addPortType}
- * @param string $name Operation name
- * @param string $input Input Message
- * @param string $output Output Message
- * @param string $fault Fault Message
- * @return object The new operation's XML_Tree_Node for use in {@link function addDocumentation}
- */
- public function addPortOperation($portType, $name, $input = false, $output = false, $fault = false)
- {
- $operation = $this->_dom->createElement('operation');
- $operation->setAttribute('name', $name);
-
- if (is_string($input) && (strlen(trim($input)) >= 1)) {
- $node = $this->_dom->createElement('input');
- $node->setAttribute('message', $input);
- $operation->appendChild($node);
- }
- if (is_string($output) && (strlen(trim($output)) >= 1)) {
- $node= $this->_dom->createElement('output');
- $node->setAttribute('message', $output);
- $operation->appendChild($node);
- }
- if (is_string($fault) && (strlen(trim($fault)) >= 1)) {
- $node = $this->_dom->createElement('fault');
- $node->setAttribute('message', $fault);
- $operation->appendChild($node);
- }
-
- $portType->appendChild($operation);
-
- return $operation;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_bindings binding} element to WSDL
- *
- * @param string $name Name of the Binding
- * @param string $type name of the portType to bind
- * @return object The new binding's XML_Tree_Node for use with {@link function addBindingOperation} and {@link function addDocumentation}
- */
- public function addBinding($name, $portType)
- {
- $binding = $this->_dom->createElement('binding');
- $binding->setAttribute('name', $name);
- $binding->setAttribute('type', $portType);
-
- $this->_wsdl->appendChild($binding);
-
- return $binding;
- }
-
- /**
- * Add an operation to a binding element
- *
- * @param object $binding A binding XML_Tree_Node returned by {@link function addBinding}
- * @param array $input An array of attributes for the input element, allowed keys are: 'use', 'namespace', 'encodingStyle'. {@link http://www.w3.org/TR/wsdl#_soap:body More Information}
- * @param array $output An array of attributes for the output element, allowed keys are: 'use', 'namespace', 'encodingStyle'. {@link http://www.w3.org/TR/wsdl#_soap:body More Information}
- * @param array $fault An array of attributes for the fault element, allowed keys are: 'name', 'use', 'namespace', 'encodingStyle'. {@link http://www.w3.org/TR/wsdl#_soap:body More Information}
- * @return object The new Operation's XML_Tree_Node for use with {@link function addSoapOperation} and {@link function addDocumentation}
- */
- public function addBindingOperation($binding, $name, $input = false, $output = false, $fault = false)
- {
- $operation = $this->_dom->createElement('operation');
- $operation->setAttribute('name', $name);
-
- if (is_array($input)) {
- $node = $this->_dom->createElement('input');
- $soap_node = $this->_dom->createElement('soap:body');
- foreach ($input as $name => $value) {
- $soap_node->setAttribute($name, $value);
- }
- $node->appendChild($soap_node);
- $operation->appendChild($node);
- }
-
- if (is_array($output)) {
- $node = $this->_dom->createElement('output');
- $soap_node = $this->_dom->createElement('soap:body');
- foreach ($output as $name => $value) {
- $soap_node->setAttribute($name, $value);
- }
- $node->appendChild($soap_node);
- $operation->appendChild($node);
- }
-
- if (is_array($fault)) {
- $node = $this->_dom->createElement('fault');
- if (isset($fault['name'])) {
- $node->setAttribute('name', $fault['name']);
- }
- $soap_node = $this->_dom->createElement('soap:body');
- foreach ($output as $name => $value) {
- $soap_node->setAttribute($name, $value);
- }
- $node->appendChild($soap_node);
- $operation->appendChild($node);
- }
-
- $binding->appendChild($operation);
-
- return $operation;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_soap:binding SOAP binding} element to a Binding element
- *
- * @param object $binding A binding XML_Tree_Node returned by {@link function addBinding}
- * @param string $style binding style, possible values are "rpc" (the default) and "document"
- * @param string $transport Transport method (defaults to HTTP)
- * @return boolean
- */
- public function addSoapBinding($binding, $style = 'document', $transport = 'http://schemas.xmlsoap.org/soap/http')
- {
- $soap_binding = $this->_dom->createElement('soap:binding');
- $soap_binding->setAttribute('style', $style);
- $soap_binding->setAttribute('transport', $transport);
-
- $binding->appendChild($soap_binding);
-
- return $soap_binding;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_soap:operation SOAP operation} to an operation element
- *
- * @param object $operation An operation XML_Tree_Node returned by {@link function addBindingOperation}
- * @param string $soap_action SOAP Action
- * @return boolean
- */
- public function addSoapOperation($binding, $soap_action)
- {
- if ($soap_action instanceof Zend_Uri_Http) {
- $soap_action = $soap_action->getUri();
- }
- $soap_operation = $this->_dom->createElement('soap:operation');
- $soap_operation->setAttribute('soapAction', $soap_action);
-
- $binding->insertBefore($soap_operation, $binding->firstChild);
-
- return $soap_operation;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_services service} element to the WSDL
- *
- * @param string $name Service Name
- * @param string $port_name Name of the port for the service
- * @param string $binding Binding for the port
- * @param string $location SOAP Address for the service
- * @return object The new service's XML_Tree_Node for use with {@link function addDocumentation}
- */
- public function addService($name, $port_name, $binding, $location)
- {
- if ($location instanceof Zend_Uri_Http) {
- $location = $location->getUri();
- }
- $service = $this->_dom->createElement('service');
- $service->setAttribute('name', $name);
-
- $port = $this->_dom->createElement('port');
- $port->setAttribute('name', $port_name);
- $port->setAttribute('binding', $binding);
-
- $soap_address = $this->_dom->createElement('soap:address');
- $soap_address->setAttribute('location', $location);
-
- $port->appendChild($soap_address);
- $service->appendChild($port);
-
- $this->_wsdl->appendChild($service);
-
- return $service;
- }
-
- /**
- * Add a documentation element to any element in the WSDL.
- *
- * Note that the WSDL {@link http://www.w3.org/TR/wsdl#_documentation specification} uses 'document',
- * but the WSDL {@link http://schemas.xmlsoap.org/wsdl/ schema} uses 'documentation' instead.
- * The {@link http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html#WSDL_documentation_Element WS-I Basic Profile 1.1} recommends using 'documentation'.
- *
- * @param object $input_node An XML_Tree_Node returned by another method to add the documentation to
- * @param string $documentation Human readable documentation for the node
- * @return DOMElement The documentation element
- */
- public function addDocumentation($input_node, $documentation)
- {
- if ($input_node === $this) {
- $node = $this->_dom->documentElement;
- } else {
- $node = $input_node;
- }
-
- $doc = $this->_dom->createElement('documentation');
- $doc_cdata = $this->_dom->createTextNode($documentation);
- $doc->appendChild($doc_cdata);
-
- if($node->hasChildNodes()) {
- $node->insertBefore($doc, $node->firstChild);
- } else {
- $node->appendChild($doc);
- }
-
- return $doc;
- }
-
- /**
- * Add WSDL Types element
- *
- * @param object $types A DomDocument|DomNode|DomElement|DomDocumentFragment with all the XML Schema types defined in it
- */
- public function addTypes($types)
- {
- if ($types instanceof DomDocument) {
- $dom = $this->_dom->importNode($types->documentElement);
- $this->_wsdl->appendChild($types->documentElement);
- } elseif ($types instanceof DomNode || $types instanceof DomElement || $types instanceof DomDocumentFragment ) {
- $dom = $this->_dom->importNode($types);
- $this->_wsdl->appendChild($dom);
- }
- }
-
- /**
- * Add a complex type name that is part of this WSDL and can be used in signatures.
- *
- * @param string $type
- * @return Zend_Soap_Wsdl
- */
- public function addType($type)
- {
- if(!in_array($type, $this->_includedTypes)) {
- $this->_includedTypes[] = $type;
- }
- return $this;
- }
-
- /**
- * Return an array of all currently included complex types
- *
- * @return array
- */
- public function getTypes()
- {
- return $this->_includedTypes;
- }
-
- /**
- * Return the Schema node of the WSDL
- *
- * @return DOMElement
- */
- public function getSchema()
- {
- if($this->_schema == null) {
- $this->addSchemaTypeSection();
- }
-
- return $this->_schema;
- }
-
- /**
- * Return the WSDL as XML
- *
- * @return string WSDL as XML
- */
- public function toXML()
- {
- return $this->_dom->saveXML();
- }
-
- /**
- * Return DOM Document
- *
- * @return object DomDocum ent
- */
- public function toDomDocument()
- {
- return $this->_dom;
- }
-
- /**
- * Echo the WSDL as XML
- *
- * @return boolean
- */
- public function dump($filename = false)
- {
- if (!$filename) {
- echo $this->toXML();
- return true;
- } else {
- return file_put_contents($filename, $this->toXML());
- }
- }
-
- /**
- * Returns an XSD Type for the given PHP type
- *
- * @param string $type PHP Type to get the XSD type for
- * @return string
- */
- public function getType($type)
- {
- switch (strtolower($type)) {
- case 'string':
- case 'str':
- return 'xsd:string';
- break;
- case 'int':
- case 'integer':
- return 'xsd:int';
- break;
- case 'float':
- case 'double':
- return 'xsd:float';
- break;
- case 'boolean':
- case 'bool':
- return 'xsd:boolean';
- break;
- case 'array':
- return 'soap-enc:Array';
- break;
- case 'object':
- return 'xsd:struct';
- break;
- case 'mixed':
- return 'xsd:anyType';
- break;
- case 'void':
- return '';
- default:
- // delegate retrieval of complex type to current strategy
- return $this->addComplexType($type);
- }
- }
-
- /**
- * This function makes sure a complex types section and schema additions are set.
- *
- * @return Zend_Soap_Wsdl
- */
- public function addSchemaTypeSection()
- {
- if ($this->_schema === null) {
- $this->_schema = $this->_dom->createElement('xsd:schema');
- $this->_schema->setAttribute('targetNamespace', $this->_uri);
- $types = $this->_dom->createElement('types');
- $types->appendChild($this->_schema);
- $this->_wsdl->appendChild($types);
- }
- return $this;
- }
-
- /**
- * Add a {@link http://www.w3.org/TR/wsdl#_types types} data type definition
- *
- * @param string $type Name of the class to be specified
- * @return string XSD Type for the given PHP type
- */
- public function addComplexType($type)
- {
- if (in_array($type, $this->getTypes())) {
- return "tns:$type";
- }
- $this->addSchemaTypeSection();
-
- $strategy = $this->getComplexTypeStrategy();
- $strategy->setContext($this);
- // delegates the detection of a complex type to the current strategy
- return $strategy->addComplexType($type);
- }
-
- /**
- * Parse an xsd:element represented as an array into a DOMElement.
- *
- * @param array $element an xsd:element represented as an array
- * @return DOMElement parsed element
- */
- private function _parseElement($element)
- {
- if (!is_array($element)) {
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception("The 'element' parameter needs to be an associative array.");
- }
-
- $elementXml = $this->_dom->createElement('xsd:element');
- foreach ($element as $key => $value) {
- if (in_array($key, array('sequence', 'all', 'choice'))) {
- if (is_array($value)) {
- $complexType = $this->_dom->createElement('xsd:complexType');
- if (count($value) > 0) {
- $container = $this->_dom->createElement('xsd:' . $key);
- foreach ($value as $subelement) {
- $subelementXml = $this->_parseElement($subelement);
- $container->appendChild($subelementXml);
- }
- $complexType->appendChild($container);
- }
- $elementXml->appendChild($complexType);
- }
- } else {
- $elementXml->setAttribute($key, $value);
- }
- }
- return $elementXml;
- }
-
- /**
- * Add an xsd:element represented as an array to the schema.
- *
- * Array keys represent attribute names and values their respective value.
- * The 'sequence', 'all' and 'choice' keys must have an array of elements as their value,
- * to add them to a nested complexType.
- *
- * Example: array( 'name' => 'MyElement',
- * 'sequence' => array( array('name' => 'myString', 'type' => 'string'),
- * array('name' => 'myInteger', 'type' => 'int') ) );
- * Resulting XML:
- *
- *
- *
- *
- * @param array $element an xsd:element represented as an array
- * @return string xsd:element for the given element array
- */
- public function addElement($element)
- {
- $schema = $this->getSchema();
- $elementXml = $this->_parseElement($element);
- $schema->appendChild($elementXml);
- return 'tns:' . $element['name'];
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/Wsdl/Exception.php b/airtime_mvc/library/Zend/Soap/Wsdl/Exception.php
deleted file mode 100644
index 8b9377274..000000000
--- a/airtime_mvc/library/Zend/Soap/Wsdl/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_context = $context;
- }
-
- /**
- * Return the current Zend_Soap_Wsdl context object
- *
- * @return Zend_Soap_Wsdl
- */
- public function getContext()
- {
- return $this->_context;
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/AnyType.php b/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/AnyType.php
deleted file mode 100644
index c9524e61f..000000000
--- a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/AnyType.php
+++ /dev/null
@@ -1,59 +0,0 @@
-_inProcess)) {
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception("Infinite recursion, cannot nest '".$type."' into itself.");
- }
- $this->_inProcess[$type] = $type;
-
- $nestingLevel = $this->_getNestedCount($type);
-
- if($nestingLevel > 1) {
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception(
- "ArrayOfTypeComplex cannot return nested ArrayOfObject deeper than ".
- "one level. Use array object properties to return deep nested data.
- ");
- }
-
- $singularType = $this->_getSingularPhpType($type);
-
- if(!class_exists($singularType)) {
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception(sprintf(
- "Cannot add a complex type %s that is not an object or where ".
- "class could not be found in 'DefaultComplexType' strategy.", $type
- ));
- }
-
- if($nestingLevel == 1) {
- // The following blocks define the Array of Object structure
- $xsdComplexTypeName = $this->_addArrayOfComplexType($singularType, $type);
- } else {
- $xsdComplexTypeName = $singularType;
- }
-
- // The array for the objects has been created, now build the object definition:
- if(!in_array($singularType, $this->getContext()->getTypes())) {
- parent::addComplexType($singularType);
- }
-
- unset($this->_inProcess[$type]);
- return "tns:".$xsdComplexTypeName;
- }
-
- protected function _addArrayOfComplexType($singularType, $type)
- {
- $dom = $this->getContext()->toDomDocument();
-
- $xsdComplexTypeName = $this->_getXsdComplexTypeName($singularType);
-
- if(!in_array($xsdComplexTypeName, $this->getContext()->getTypes())) {
- $complexType = $dom->createElement('xsd:complexType');
- $complexType->setAttribute('name', $xsdComplexTypeName);
-
- $complexContent = $dom->createElement("xsd:complexContent");
- $complexType->appendChild($complexContent);
-
- $xsdRestriction = $dom->createElement("xsd:restriction");
- $xsdRestriction->setAttribute('base', 'soap-enc:Array');
- $complexContent->appendChild($xsdRestriction);
-
- $xsdAttribute = $dom->createElement("xsd:attribute");
- $xsdAttribute->setAttribute("ref", "soap-enc:arrayType");
- $xsdAttribute->setAttribute("wsdl:arrayType", sprintf("tns:%s[]", $singularType));
- $xsdRestriction->appendChild($xsdAttribute);
-
- $this->getContext()->getSchema()->appendChild($complexType);
- $this->getContext()->addType($xsdComplexTypeName);
- }
-
- return $xsdComplexTypeName;
- }
-
- protected function _getXsdComplexTypeName($type)
- {
- return sprintf('ArrayOf%s', $type);
- }
-
- /**
- * From a nested definition with type[], get the singular PHP Type
- *
- * @param string $type
- * @return string
- */
- protected function _getSingularPhpType($type)
- {
- return str_replace("[]", "", $type);
- }
-
- /**
- * Return the array nesting level based on the type name
- *
- * @param string $type
- * @return integer
- */
- protected function _getNestedCount($type)
- {
- return substr_count($type, "[]");
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/ArrayOfTypeSequence.php b/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/ArrayOfTypeSequence.php
deleted file mode 100644
index 0858ee1d8..000000000
--- a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/ArrayOfTypeSequence.php
+++ /dev/null
@@ -1,155 +0,0 @@
-_getNestedCount($type);
-
- if($nestedCounter > 0) {
- $singularType = $this->_getSingularType($type);
-
- for($i = 1; $i <= $nestedCounter; $i++) {
- $complexTypeName = substr($this->_getTypeNameBasedOnNestingLevel($singularType, $i), 4);
- $childTypeName = $this->_getTypeNameBasedOnNestingLevel($singularType, $i-1);
-
- $this->_addElementFromWsdlAndChildTypes($complexTypeName, $childTypeName);
- }
- // adding the PHP type which is resolved to a nested XSD type. therefore add only once.
- $this->getContext()->addType($complexTypeName);
-
- return "tns:$complexTypeName";
- } else if (!in_array($type, $this->getContext()->getTypes())) {
- // New singular complex type
- return parent::addComplexType($type);
- } else {
- // Existing complex type
- return $this->getContext()->getType($type);
- }
- }
-
- /**
- * Return the ArrayOf or simple type name based on the singular xsdtype and the nesting level
- *
- * @param string $singularType
- * @param int $level
- * @return string
- */
- protected function _getTypeNameBasedOnNestingLevel($singularType, $level)
- {
- if($level == 0) {
- // This is not an Array anymore, return the xsd simple type
- return $singularType;
- } else {
- $prefix = str_repeat("ArrayOf", $level);
- $xsdType = $this->_getStrippedXsdType($singularType);
- $arrayType = $prefix.$xsdType;
- return "tns:$arrayType";
- }
- }
-
- /**
- * Strip the xsd: from a singularType and Format it nice for ArrayOf naming
- *
- * @param string $singularType
- * @return string
- */
- protected function _getStrippedXsdType($singularType)
- {
- return ucfirst(substr(strtolower($singularType), 4));
- }
-
- /**
- * From a nested defintion with type[], get the singular xsd:type
- *
- * @throws Zend_Soap_Wsdl_Exception When no xsd:simpletype can be detected.
- * @param string $type
- * @return string
- */
- protected function _getSingularType($type)
- {
- $singulartype = $this->getContext()->getType(str_replace("[]", "", $type));
- return $singulartype;
- }
-
- /**
- * Return the array nesting level based on the type name
- *
- * @param string $type
- * @return integer
- */
- protected function _getNestedCount($type)
- {
- return substr_count($type, "[]");
- }
-
- /**
- * Append the complex type definition to the WSDL via the context access
- *
- * @param string $arrayType
- * @param string $childTypeName
- * @return void
- */
- protected function _addElementFromWsdlAndChildTypes($arrayType, $childTypeName)
- {
- if (!in_array($arrayType, $this->getContext()->getTypes())) {
- $dom = $this->getContext()->toDomDocument();
-
- $complexType = $dom->createElement('xsd:complexType');
- $complexType->setAttribute('name', $arrayType);
-
- $sequence = $dom->createElement('xsd:sequence');
-
- $element = $dom->createElement('xsd:element');
- $element->setAttribute('name', 'item');
- $element->setAttribute('type', $childTypeName);
- $element->setAttribute('minOccurs', 0);
- $element->setAttribute('maxOccurs', 'unbounded');
- $sequence->appendChild($element);
-
- $complexType->appendChild($sequence);
-
- $this->getContext()->getSchema()->appendChild($complexType);
- $this->getContext()->addType($arrayType);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/Composite.php b/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/Composite.php
deleted file mode 100644
index 6037dfa7d..000000000
--- a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/Composite.php
+++ /dev/null
@@ -1,188 +0,0 @@
- Strategy pairs.
- *
- * @var array
- */
- protected $_typeMap = array();
-
- /**
- * Default Strategy of this composite
- *
- * @var string|Zend_Soap_Wsdl_Strategy_Interface
- */
- protected $_defaultStrategy;
-
- /**
- * Context WSDL file that this composite serves
- *
- * @var Zend_Soap_Wsdl|null
- */
- protected $_context;
-
- /**
- * Construct Composite WSDL Strategy.
- *
- * @throws Zend_Soap_Wsdl_Exception
- * @param array $typeMap
- * @param string|Zend_Soap_Wsdl_Strategy_Interface $defaultStrategy
- */
- public function __construct(array $typeMap=array(), $defaultStrategy="Zend_Soap_Wsdl_Strategy_DefaultComplexType")
- {
- foreach($typeMap AS $type => $strategy) {
- $this->connectTypeToStrategy($type, $strategy);
- }
- $this->_defaultStrategy = $defaultStrategy;
- }
-
- /**
- * Connect a complex type to a given strategy.
- *
- * @throws Zend_Soap_Wsdl_Exception
- * @param string $type
- * @param string|Zend_Soap_Wsdl_Strategy_Interface $strategy
- * @return Zend_Soap_Wsdl_Strategy_Composite
- */
- public function connectTypeToStrategy($type, $strategy)
- {
- if(!is_string($type)) {
- /**
- * @see Zend_Soap_Wsdl_Exception
- */
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception("Invalid type given to Composite Type Map.");
- }
- $this->_typeMap[$type] = $strategy;
- return $this;
- }
-
- /**
- * Return default strategy of this composite
- *
- * @throws Zend_Soap_Wsdl_Exception
- * @param string $type
- * @return Zend_Soap_Wsdl_Strategy_Interface
- */
- public function getDefaultStrategy()
- {
- $strategy = $this->_defaultStrategy;
- if(is_string($strategy) && class_exists($strategy)) {
- $strategy = new $strategy;
- }
- if( !($strategy instanceof Zend_Soap_Wsdl_Strategy_Interface) ) {
- /**
- * @see Zend_Soap_Wsdl_Exception
- */
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception(
- "Default Strategy for Complex Types is not a valid strategy object."
- );
- }
- $this->_defaultStrategy = $strategy;
- return $strategy;
- }
-
- /**
- * Return specific strategy or the default strategy of this type.
- *
- * @throws Zend_Soap_Wsdl_Exception
- * @param string $type
- * @return Zend_Soap_Wsdl_Strategy_Interface
- */
- public function getStrategyOfType($type)
- {
- if(isset($this->_typeMap[$type])) {
- $strategy = $this->_typeMap[$type];
-
- if(is_string($strategy) && class_exists($strategy)) {
- $strategy = new $strategy();
- }
-
- if( !($strategy instanceof Zend_Soap_Wsdl_Strategy_Interface) ) {
- /**
- * @see Zend_Soap_Wsdl_Exception
- */
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception(
- "Strategy for Complex Type '".$type."' is not a valid strategy object."
- );
- }
- $this->_typeMap[$type] = $strategy;
- } else {
- $strategy = $this->getDefaultStrategy();
- }
- return $strategy;
- }
-
- /**
- * Method accepts the current WSDL context file.
- *
- * @param Zend_Soap_Wsdl $context
- */
- public function setContext(Zend_Soap_Wsdl $context)
- {
- $this->_context = $context;
- return $this;
- }
-
- /**
- * Create a complex type based on a strategy
- *
- * @throws Zend_Soap_Wsdl_Exception
- * @param string $type
- * @return string XSD type
- */
- public function addComplexType($type)
- {
- if(!($this->_context instanceof Zend_Soap_Wsdl) ) {
- /**
- * @see Zend_Soap_Wsdl_Exception
- */
- require_once "Zend/Soap/Wsdl/Exception.php";
- throw new Zend_Soap_Wsdl_Exception(
- "Cannot add complex type '".$type."', no context is set for this composite strategy."
- );
- }
-
- $strategy = $this->getStrategyOfType($type);
- $strategy->setContext($this->_context);
- return $strategy->addComplexType($type);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/DefaultComplexType.php b/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/DefaultComplexType.php
deleted file mode 100644
index fc04b3946..000000000
--- a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/DefaultComplexType.php
+++ /dev/null
@@ -1,83 +0,0 @@
-getContext()->toDomDocument();
- $class = new ReflectionClass($type);
-
- $complexType = $dom->createElement('xsd:complexType');
- $complexType->setAttribute('name', $type);
-
- $all = $dom->createElement('xsd:all');
-
- foreach ($class->getProperties() as $property) {
- if ($property->isPublic() && preg_match_all('/@var\s+([^\s]+)/m', $property->getDocComment(), $matches)) {
-
- /**
- * @todo check if 'xsd:element' must be used here (it may not be compatible with using 'complexType'
- * node for describing other classes used as attribute types for current class
- */
- $element = $dom->createElement('xsd:element');
- $element->setAttribute('name', $property->getName());
- $element->setAttribute('type', $this->getContext()->getType(trim($matches[1][0])));
- $all->appendChild($element);
- }
- }
-
- $complexType->appendChild($all);
- $this->getContext()->getSchema()->appendChild($complexType);
- $this->getContext()->addType($type);
-
- return "tns:$type";
- }
-}
diff --git a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/Interface.php b/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/Interface.php
deleted file mode 100644
index d53d4f62e..000000000
--- a/airtime_mvc/library/Zend/Soap/Wsdl/Strategy/Interface.php
+++ /dev/null
@@ -1,48 +0,0 @@
- $context
- */
- public function setContext(Zend_Soap_Wsdl $context);
-
- /**
- * Create a complex type based on a strategy
- *
- * @param string $type
- * @return string XSD type
- */
- public function addComplexType($type);
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tag/Cloud.php b/airtime_mvc/library/Zend/Tag/Cloud.php
deleted file mode 100644
index 0bae3c2e2..000000000
--- a/airtime_mvc/library/Zend/Tag/Cloud.php
+++ /dev/null
@@ -1,410 +0,0 @@
-setConfig($options);
- }
-
- if (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set options from Zend_Config
- *
- * @param Zend_Config $config
- * @return Zend_Tag_Cloud
- */
- public function setConfig(Zend_Config $config)
- {
- $this->setOptions($config->toArray());
-
- return $this;
- }
-
- /**
- * Set options from array
- *
- * @param array $options Configuration for Zend_Tag_Cloud
- * @return Zend_Tag_Cloud
- */
- public function setOptions(array $options)
- {
- if (isset($options['prefixPath'])) {
- $this->addPrefixPaths($options['prefixPath']);
- unset($options['prefixPath']);
- }
-
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Set the tags for the tag cloud.
- *
- * $tags should be an array containing single tags as array. Each tag
- * array should at least contain the keys 'title' and 'weight'. Optionally
- * you may supply the key 'url', to which the tag links to. Any additional
- * parameter in the array is silently ignored and can be used by custom
- * decorators.
- *
- * @param array $tags
- * @return Zend_Tag_Cloud
- */
- public function setTags(array $tags)
- {
- // Validate and cleanup the tags
- $itemList = $this->getItemList();
-
- foreach ($tags as $tag) {
- if ($tag instanceof Zend_Tag_Taggable) {
- $itemList[] = $tag;
- } else if (is_array($tag)) {
- $itemList[] = new Zend_Tag_Item($tag);
- } else {
- require_once 'Zend/Tag/Cloud/Exception.php';
- throw new Zend_Tag_Cloud_Exception('Tag must be an instance of Zend_Tag_Taggable or an array');
- }
- }
-
- return $this;
- }
-
- /**
- * Append a single tag to the cloud
- *
- * @param Zend_Tag_Taggable|array $tag
- * @return Zend_Tag_Cloud
- */
- public function appendTag($tag)
- {
- $tags = $this->getItemList();
- if ($tag instanceof Zend_Tag_Taggable) {
- $tags[] = $tag;
- } else if (is_array($tag)) {
- $tags[] = new Zend_Tag_Item($tag);
- } else {
- require_once 'Zend/Tag/Cloud/Exception.php';
- throw new Zend_Tag_Cloud_Exception('Tag must be an instance of Zend_Tag_Taggable or an array');
- }
-
- return $this;
- }
-
- /**
- * Set the item list
- *
- * @param Zend_Tag_ItemList $itemList
- * @return Zend_Tag_Cloud
- */
- public function setItemList(Zend_Tag_ItemList $itemList)
- {
- $this->_tags = $itemList;
- return $this;
- }
-
- /**
- * Retrieve the item list
- *
- * If item list is undefined, creates one.
- *
- * @return Zend_Tag_ItemList
- */
- public function getItemList()
- {
- if (null === $this->_tags) {
- require_once 'Zend/Tag/ItemList.php';
- $this->setItemList(new Zend_Tag_ItemList());
- }
- return $this->_tags;
- }
-
- /**
- * Set the decorator for the cloud
- *
- * @param mixed $decorator
- * @return Zend_Tag_Cloud
- */
- public function setCloudDecorator($decorator)
- {
- $options = null;
-
- if (is_array($decorator)) {
- if (isset($decorator['options'])) {
- $options = $decorator['options'];
- }
-
- if (isset($decorator['decorator'])) {
- $decorator = $decorator['decorator'];
- }
- }
-
- if (is_string($decorator)) {
- $classname = $this->getPluginLoader()->load($decorator);
- $decorator = new $classname($options);
- }
-
- if (!($decorator instanceof Zend_Tag_Cloud_Decorator_Cloud)) {
- require_once 'Zend/Tag/Cloud/Exception.php';
- throw new Zend_Tag_Cloud_Exception('Decorator is no instance of Zend_Tag_Cloud_Decorator_Cloud');
- }
-
- $this->_cloudDecorator = $decorator;
-
- return $this;
- }
-
- /**
- * Get the decorator for the cloud
- *
- * @return Zend_Tag_Cloud_Decorator_Cloud
- */
- public function getCloudDecorator()
- {
- if (null === $this->_cloudDecorator) {
- $this->setCloudDecorator('htmlCloud');
- }
- return $this->_cloudDecorator;
- }
-
- /**
- * Set the decorator for the tags
- *
- * @param mixed $decorator
- * @return Zend_Tag_Cloud
- */
- public function setTagDecorator($decorator)
- {
- $options = null;
-
- if (is_array($decorator)) {
- if (isset($decorator['options'])) {
- $options = $decorator['options'];
- }
-
- if (isset($decorator['decorator'])) {
- $decorator = $decorator['decorator'];
- }
- }
-
- if (is_string($decorator)) {
- $classname = $this->getPluginLoader()->load($decorator);
- $decorator = new $classname($options);
- }
-
- if (!($decorator instanceof Zend_Tag_Cloud_Decorator_Tag)) {
- require_once 'Zend/Tag/Cloud/Exception.php';
- throw new Zend_Tag_Cloud_Exception('Decorator is no instance of Zend_Tag_Cloud_Decorator_Tag');
- }
-
- $this->_tagDecorator = $decorator;
-
- return $this;
- }
-
- /**
- * Get the decorator for the tags
- *
- * @return Zend_Tag_Cloud_Decorator_Tag
- */
- public function getTagDecorator()
- {
- if (null === $this->_tagDecorator) {
- $this->setTagDecorator('htmlTag');
- }
- return $this->_tagDecorator;
- }
-
- /**
- * Set plugin loaders for use with decorators
- *
- * @param Zend_Loader_PluginLoader_Interface $loader
- * @return Zend_Tag_Cloud
- */
- public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader)
- {
- $this->_pluginLoader = $loader;
- return $this;
- }
-
- /**
- * Get the plugin loader for decorators
- *
- * @return Zend_Loader_PluginLoader
- */
- public function getPluginLoader()
- {
- if ($this->_pluginLoader === null) {
- $prefix = 'Zend_Tag_Cloud_Decorator_';
- $pathPrefix = 'Zend/Tag/Cloud/Decorator/';
-
- require_once 'Zend/Loader/PluginLoader.php';
- $this->_pluginLoader = new Zend_Loader_PluginLoader(array($prefix => $pathPrefix));
- }
-
- return $this->_pluginLoader;
- }
-
- /**
- * Add many prefix paths at once
- *
- * @param array $paths
- * @return Zend_Tag_Cloud
- */
- public function addPrefixPaths(array $paths)
- {
- if (isset($paths['prefix']) && isset($paths['path'])) {
- return $this->addPrefixPath($paths['prefix'], $paths['path']);
- }
-
- foreach ($paths as $path) {
- if (!isset($path['prefix']) || !isset($path['path'])) {
- continue;
- }
-
- $this->addPrefixPath($path['prefix'], $path['path']);
- }
-
- return $this;
- }
-
- /**
- * Add prefix path for plugin loader
- *
- * @param string $prefix
- * @param string $path
- * @return Zend_Tag_Cloud
- */
- public function addPrefixPath($prefix, $path)
- {
- $loader = $this->getPluginLoader();
- $loader->addPrefixPath($prefix, $path);
-
- return $this;
- }
-
- /**
- * Render the tag cloud
- *
- * @return string
- */
- public function render()
- {
- $tags = $this->getItemList();
-
- if (count($tags) === 0) {
- return '';
- }
-
- $tagsResult = $this->getTagDecorator()->render($tags);
- $cloudResult = $this->getCloudDecorator()->render($tagsResult);
-
- return $cloudResult;
- }
-
- /**
- * Render the tag cloud
- *
- * @return string
- */
- public function __toString()
- {
- try {
- $result = $this->render();
- return $result;
- } catch (Exception $e) {
- $message = "Exception caught by tag cloud: " . $e->getMessage()
- . "\nStack Trace:\n" . $e->getTraceAsString();
- trigger_error($message, E_USER_WARNING);
- return '';
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Cloud.php b/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Cloud.php
deleted file mode 100644
index 1ba44139a..000000000
--- a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Cloud.php
+++ /dev/null
@@ -1,88 +0,0 @@
-toArray();
- }
-
- if (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set options from array
- *
- * @param array $options Configuration for the decorator
- * @return Zend_Tag_Cloud
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . $key;
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Render a list of formatted tags
- *
- * @param array $tags
- * @return string
- */
- abstract public function render(array $tags);
-}
diff --git a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Exception.php b/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Exception.php
deleted file mode 100644
index 861a9d57b..000000000
--- a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
- array('class' => 'Zend_Tag_Cloud')
- );
-
- /**
- * Separator for the single tags
- *
- * @var string
- */
- protected $_separator = ' ';
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set encoding
- *
- * @param string
- * @return Zend_Tag_Cloud_Decorator_HtmlCloud
- */
- public function setEncoding($value)
- {
- $this->_encoding = (string) $value;
- return $this;
- }
-
- /**
- * Set the HTML tags surrounding all tags
- *
- * @param array $htmlTags
- * @return Zend_Tag_Cloud_Decorator_HtmlCloud
- */
- public function setHtmlTags(array $htmlTags)
- {
- $this->_htmlTags = $htmlTags;
- return $this;
- }
-
- /**
- * Retrieve HTML tag map
- *
- * @return array
- */
- public function getHtmlTags()
- {
- return $this->_htmlTags;
- }
-
- /**
- * Set the separator between the single tags
- *
- * @param string
- * @return Zend_Tag_Cloud_Decorator_HtmlCloud
- */
- public function setSeparator($separator)
- {
- $this->_separator = $separator;
- return $this;
- }
-
- /**
- * Get tag separator
- *
- * @return string
- */
- public function getSeparator()
- {
- return $this->_separator;
- }
-
- /**
- * Defined by Zend_Tag_Cloud_Decorator_Cloud
- *
- * @param array $tags
- * @return string
- */
- public function render(array $tags)
- {
- $cloudHtml = implode($this->getSeparator(), $tags);
-
- $enc = $this->getEncoding();
- foreach ($this->getHtmlTags() as $key => $data) {
- if (is_array($data)) {
- $htmlTag = $key;
- $attributes = '';
-
- foreach ($data as $param => $value) {
- $attributes .= ' ' . $param . '="' . htmlspecialchars($value, ENT_COMPAT, $enc) . '"';
- }
- } else {
- $htmlTag = $data;
- $attributes = '';
- }
-
- $cloudHtml = sprintf('<%1$s%3$s>%2$s%1$s>', $htmlTag, $cloudHtml, $attributes);
- }
-
- return $cloudHtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/HtmlTag.php b/airtime_mvc/library/Zend/Tag/Cloud/Decorator/HtmlTag.php
deleted file mode 100644
index 0713635f9..000000000
--- a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/HtmlTag.php
+++ /dev/null
@@ -1,306 +0,0 @@
-_classList = $classList;
- return $this;
- }
-
- /**
- * Get class list
- *
- * @return array
- */
- public function getClassList()
- {
- return $this->_classList;
- }
-
- /**
- * Get encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set encoding
- *
- * @param string $value
- * @return Zend_Tag_Cloud_Decorator_HtmlTag
- */
- public function setEncoding($value)
- {
- $this->_encoding = (string) $value;
- return $this;
- }
-
- /**
- * Set the font size unit
- *
- * Possible values are: em, ex, px, in, cm, mm, pt, pc and %
- *
- * @param string $fontSizeUnit
- * @throws Zend_Tag_Cloud_Decorator_Exception When an invalid fontsize unit is specified
- * @return Zend_Tag_Cloud_Decorator_HtmlTag
- */
- public function setFontSizeUnit($fontSizeUnit)
- {
- if (!in_array($fontSizeUnit, $this->_alloweFontSizeUnits)) {
- require_once 'Zend/Tag/Cloud/Decorator/Exception.php';
- throw new Zend_Tag_Cloud_Decorator_Exception('Invalid fontsize unit specified');
- }
-
- $this->_fontSizeUnit = (string) $fontSizeUnit;
- $this->setClassList(null);
- return $this;
- }
-
- /**
- * Retrieve font size unit
- *
- * @return string
- */
- public function getFontSizeUnit()
- {
- return $this->_fontSizeUnit;
- }
- /**
- * Set the HTML tags surrounding the element
- *
- * @param array $htmlTags
- * @return Zend_Tag_Cloud_Decorator_HtmlTag
- */
- public function setHtmlTags(array $htmlTags)
- {
- $this->_htmlTags = $htmlTags;
- return $this;
- }
-
- /**
- * Get HTML tags map
- *
- * @return array
- */
- public function getHtmlTags()
- {
- return $this->_htmlTags;
- }
-
- /**
- * Set maximum font size
- *
- * @param integer $maxFontSize
- * @throws Zend_Tag_Cloud_Decorator_Exception When fontsize is not numeric
- * @return Zend_Tag_Cloud_Decorator_HtmlTag
- */
- public function setMaxFontSize($maxFontSize)
- {
- if (!is_numeric($maxFontSize)) {
- require_once 'Zend/Tag/Cloud/Decorator/Exception.php';
- throw new Zend_Tag_Cloud_Decorator_Exception('Fontsize must be numeric');
- }
-
- $this->_maxFontSize = (int) $maxFontSize;
- $this->setClassList(null);
- return $this;
- }
-
- /**
- * Retrieve maximum font size
- *
- * @return int
- */
- public function getMaxFontSize()
- {
- return $this->_maxFontSize;
- }
-
- /**
- * Set minimum font size
- *
- * @param int $minFontSize
- * @throws Zend_Tag_Cloud_Decorator_Exception When fontsize is not numeric
- * @return Zend_Tag_Cloud_Decorator_HtmlTag
- */
- public function setMinFontSize($minFontSize)
- {
- if (!is_numeric($minFontSize)) {
- require_once 'Zend/Tag/Cloud/Decorator/Exception.php';
- throw new Zend_Tag_Cloud_Decorator_Exception('Fontsize must be numeric');
- }
-
- $this->_minFontSize = (int) $minFontSize;
- $this->setClassList(null);
- return $this;
- }
-
- /**
- * Retrieve minimum font size
- *
- * @return int
- */
- public function getMinFontSize()
- {
- return $this->_minFontSize;
- }
-
- /**
- * Defined by Zend_Tag_Cloud_Decorator_Tag
- *
- * @param Zend_Tag_ItemList $tags
- * @return array
- */
- public function render(Zend_Tag_ItemList $tags)
- {
- if (null === ($weightValues = $this->getClassList())) {
- $weightValues = range($this->getMinFontSize(), $this->getMaxFontSize());
- }
-
- $tags->spreadWeightValues($weightValues);
-
- $result = array();
-
- $enc = $this->getEncoding();
- foreach ($tags as $tag) {
- if (null === ($classList = $this->getClassList())) {
- $attribute = sprintf('style="font-size: %d%s;"', $tag->getParam('weightValue'), $this->getFontSizeUnit());
- } else {
- $attribute = sprintf('class="%s"', htmlspecialchars($tag->getParam('weightValue'), ENT_COMPAT, $enc));
- }
-
- $tagHtml = sprintf(' %s ', htmlSpecialChars($tag->getParam('url'), ENT_COMPAT, $enc), $attribute, $tag->getTitle());
-
- foreach ($this->getHtmlTags() as $key => $data) {
- if (is_array($data)) {
- $htmlTag = $key;
- $attributes = '';
-
- foreach ($data as $param => $value) {
- $attributes .= ' ' . $param . '="' . htmlspecialchars($value, ENT_COMPAT, $enc) . '"';
- }
- } else {
- $htmlTag = $data;
- $attributes = '';
- }
-
- $tagHtml = sprintf('<%1$s%3$s>%2$s%1$s>', $htmlTag, $tagHtml, $attributes);
- }
-
- $result[] = $tagHtml;
- }
-
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Tag.php b/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Tag.php
deleted file mode 100644
index fa2b8e1b1..000000000
--- a/airtime_mvc/library/Zend/Tag/Cloud/Decorator/Tag.php
+++ /dev/null
@@ -1,88 +0,0 @@
-toArray();
- }
-
- if (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * Set options from array
- *
- * @param array $options Configuration for the decorator
- * @return Zend_Tag_Cloud
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . $key;
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Render a list of tags
- *
- * @param Zend_Tag_ItemList $tags
- * @return array
- */
- abstract public function render(Zend_Tag_ItemList $tags);
-}
diff --git a/airtime_mvc/library/Zend/Tag/Cloud/Exception.php b/airtime_mvc/library/Zend/Tag/Cloud/Exception.php
deleted file mode 100644
index b87da63e1..000000000
--- a/airtime_mvc/library/Zend/Tag/Cloud/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-toArray();
- }
-
- if (!is_array($options)) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Invalid options provided to constructor');
- }
-
- $this->setOptions($options);
-
- if ($this->_title === null) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Title was not set');
- }
-
- if ($this->_weight === null) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Weight was not set');
- }
- }
-
- /**
- * Set options of the tag
- *
- * @param array $options
- * @return Zend_Tag_Item
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . $key;
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Tag_Taggable
- *
- * @return string
- */
- public function getTitle()
- {
- return $this->_title;
- }
-
- /**
- * Set the title
- *
- * @param string $title
- * @throws Zend_Tag_Exception When title is no string
- * @return Zend_Tag_Item
- */
- public function setTitle($title)
- {
- if (!is_string($title)) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Title must be a string');
- }
-
- $this->_title = (string) $title;
- return $this;
- }
-
- /**
- * Defined by Zend_Tag_Taggable
- *
- * @return float
- */
- public function getWeight()
- {
- return $this->_weight;
- }
-
- /**
- * Set the weight
- *
- * @param float $weight
- * @throws Zend_Tag_Exception When weight is not numeric
- * @return Zend_Tag_Item
- */
- public function setWeight($weight)
- {
- if (!is_numeric($weight)) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Weight must be numeric');
- }
-
- $this->_weight = (float) $weight;
- return $this;
- }
-
- /**
- * Set multiple params at once
- *
- * @param array $params
- * @return Zend_Tag_Item
- */
- public function setParams(array $params)
- {
- foreach ($params as $name => $value) {
- $this->setParam($name, $value);
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Tag_Taggable
- *
- * @param string $name
- * @param mixed $value
- * @return Zend_Tag_Item
- */
- public function setParam($name, $value)
- {
- $this->_params[$name] = $value;
- return $this;
- }
-
- /**
- * Defined by Zend_Tag_Taggable
- *
- * @param string $name
- * @return mixed
- */
- public function getParam($name)
- {
- if (isset($this->_params[$name])) {
- return $this->_params[$name];
- }
- return null;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tag/ItemList.php b/airtime_mvc/library/Zend/Tag/ItemList.php
deleted file mode 100644
index 0cd50345c..000000000
--- a/airtime_mvc/library/Zend/Tag/ItemList.php
+++ /dev/null
@@ -1,238 +0,0 @@
-_items);
- }
-
- /**
- * Spread values in the items relative to their weight
- *
- * @param array $values
- * @throws Zend_Tag_Exception When value list is empty
- * @return void
- */
- public function spreadWeightValues(array $values)
- {
- // Don't allow an empty value list
- if (count($values) === 0) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Value list may not be empty');
- }
-
- // Re-index the array
- $values = array_values($values);
-
- // If just a single value is supplied simply assign it to to all tags
- if (count($values) === 1) {
- foreach ($this->_items as $item) {
- $item->setParam('weightValue', $values[0]);
- }
- } else {
- // Calculate min- and max-weight
- $minWeight = null;
- $maxWeight = null;
-
- foreach ($this->_items as $item) {
- if ($minWeight === null && $maxWeight === null) {
- $minWeight = $item->getWeight();
- $maxWeight = $item->getWeight();
- } else {
- $minWeight = min($minWeight, $item->getWeight());
- $maxWeight = max($maxWeight, $item->getWeight());
- }
- }
-
- // Calculate the thresholds
- $steps = count($values);
- $delta = ($maxWeight - $minWeight) / ($steps - 1);
- $thresholds = array();
-
- for ($i = 0; $i < $steps; $i++) {
- $thresholds[$i] = floor(100 * log(($minWeight + $i * $delta) + 2));
- }
-
- // Then assign the weight values
- foreach ($this->_items as $item) {
- $threshold = floor(100 * log($item->getWeight() + 2));
-
- for ($i = 0; $i < $steps; $i++) {
- if ($threshold <= $thresholds[$i]) {
- $item->setParam('weightValue', $values[$i]);
- break;
- }
- }
- }
- }
- }
-
- /**
- * Seek to an absolute positio
- *
- * @param integer $index
- * @throws OutOfBoundsException When the seek position is invalid
- * @return void
- */
- public function seek($index)
- {
- $this->rewind();
- $position = 0;
-
- while ($position < $index && $this->valid()) {
- $this->next();
- $position++;
- }
-
- if (!$this->valid()) {
- throw new OutOfBoundsException('Invalid seek position');
- }
- }
-
- /**
- * Return the current element
- *
- * @return mixed
- */
- public function current()
- {
- return current($this->_items);
- }
-
- /**
- * Move forward to next element
- *
- * @return mixed
- */
- public function next()
- {
- return next($this->_items);
- }
-
- /**
- * Return the key of the current element
- *
- * @return mixed
- */
- public function key()
- {
- return key($this->_items);
- }
-
- /**
- * Check if there is a current element after calls to rewind() or next()
- *
- * @return boolean
- */
- public function valid()
- {
- return ($this->current() !== false);
- }
-
- /**
- * Rewind the Iterator to the first element
- *
- * @return void
- */
- public function rewind()
- {
- reset($this->_items);
- }
-
- /**
- * Check if an offset exists
- *
- * @param mixed $offset
- * @return boolean
- */
- public function offsetExists($offset) {
- return array_key_exists($offset, $this->_items);
- }
-
- /**
- * Get the value of an offset
- *
- * @param mixed $offset
- * @return Zend_Tag_Taggable
- */
- public function offsetGet($offset) {
- return $this->_items[$offset];
- }
-
- /**
- * Append a new item
- *
- * @param mixed $offset
- * @param Zend_Tag_Taggable $item
- * @throws OutOfBoundsException When item does not implement Zend_Tag_Taggable
- * @return void
- */
- public function offsetSet($offset, $item) {
- // We need to make that check here, as the method signature must be
- // compatible with ArrayAccess::offsetSet()
- if (!($item instanceof Zend_Tag_Taggable)) {
- require_once 'Zend/Tag/Exception.php';
- throw new Zend_Tag_Exception('Item must implement Zend_Tag_Taggable');
- }
-
- if ($offset === null) {
- $this->_items[] = $item;
- } else {
- $this->_items[$offset] = $item;
- }
- }
-
- /**
- * Unset an item
- *
- * @param mixed $offset
- * @return void
- */
- public function offsetUnset($offset) {
- unset($this->_items[$offset]);
- }
-}
diff --git a/airtime_mvc/library/Zend/Tag/Taggable.php b/airtime_mvc/library/Zend/Tag/Taggable.php
deleted file mode 100644
index 1247f190e..000000000
--- a/airtime_mvc/library/Zend/Tag/Taggable.php
+++ /dev/null
@@ -1,60 +0,0 @@
-setEnabled(true);
- $this->setProfiler($profiler);
- }
-
- /**
- * Append a new Statement to the SQL Result Stack.
- *
- * @param Zend_Test_DbStatement $stmt
- * @return Zend_Test_DbAdapter
- */
- public function appendStatementToStack(Zend_Test_DbStatement $stmt)
- {
- array_push($this->_statementStack, $stmt);
- return $this;
- }
-
- /**
- * Append a new Insert Id to the {@see lastInsertId}.
- *
- * @param int|string $id
- * @return Zend_Test_DbAdapter
- */
- public function appendLastInsertIdToStack($id)
- {
- array_push($this->_lastInsertIdStack, $id);
- return $this;
- }
-
- /**
- * @var string
- */
- public function setQuoteIdentifierSymbol($symbol)
- {
- $this->_quoteIdentifierSymbol = $symbol;
- }
-
- /**
- * Returns the symbol the adapter uses for delimited identifiers.
- *
- * @return string
- */
- public function getQuoteIdentifierSymbol()
- {
- return $this->_quoteIdentifierSymbol;
- }
-
- /**
- * Set the result from {@see listTables()}.
- *
- * @param array $listTables
- */
- public function setListTables(array $listTables)
- {
- $this->_listTables = $listTables;
- }
-
- /**
- * Returns a list of the tables in the database.
- *
- * @return array
- */
- public function listTables()
- {
- return $this->_listTables;
- }
-
- /**
- *
- * @param string $table
- * @param array $tableInfo
- * @return Zend_Test_DbAdapter
- */
- public function setDescribeTable($table, $tableInfo)
- {
- $this->_describeTables[$table] = $tableInfo;
- return $this;
- }
-
- /**
- * Returns the column descriptions for a table.
- *
- * The return value is an associative array keyed by the column name,
- * as returned by the RDBMS.
- *
- * The value of each array element is an associative array
- * with the following keys:
- *
- * SCHEMA_NAME => string; name of database or schema
- * TABLE_NAME => string;
- * COLUMN_NAME => string; column name
- * COLUMN_POSITION => number; ordinal position of column in table
- * DATA_TYPE => string; SQL datatype name of column
- * DEFAULT => string; default expression of column, null if none
- * NULLABLE => boolean; true if column can have nulls
- * LENGTH => number; length of CHAR/VARCHAR
- * SCALE => number; scale of NUMERIC/DECIMAL
- * PRECISION => number; precision of NUMERIC/DECIMAL
- * UNSIGNED => boolean; unsigned property of an integer type
- * PRIMARY => boolean; true if column is part of the primary key
- * PRIMARY_POSITION => integer; position of column in primary key
- *
- * @param string $tableName
- * @param string $schemaName OPTIONAL
- * @return array
- */
- public function describeTable($tableName, $schemaName = null)
- {
- if(isset($this->_describeTables[$tableName])) {
- return $this->_describeTables[$tableName];
- } else {
- return array();
- }
- }
-
- /**
- * Creates a connection to the database.
- *
- * @return void
- */
- protected function _connect()
- {
- $this->_connected = true;
- }
-
- /**
- * Test if a connection is active
- *
- * @return boolean
- */
- public function isConnected()
- {
- return $this->_connected;
- }
-
- /**
- * Force the connection to close.
- *
- * @return void
- */
- public function closeConnection()
- {
- $this->_connected = false;
- }
-
- /**
- * Prepare a statement and return a PDOStatement-like object.
- *
- * @param string|Zend_Db_Select $sql SQL query
- * @return Zend_Db_Statment|PDOStatement
- */
- public function prepare($sql)
- {
- $queryId = $this->getProfiler()->queryStart($sql);
-
- if(count($this->_statementStack)) {
- $stmt = array_pop($this->_statementStack);
- } else {
- $stmt = new Zend_Test_DbStatement();
- }
-
- if($this->getProfiler()->getEnabled() == true) {
- $qp = $this->getProfiler()->getQueryProfile($queryId);
- $stmt->setQueryProfile($qp);
- }
-
- return $stmt;
- }
-
- /**
- * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.
- *
- * As a convention, on RDBMS brands that support sequences
- * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence
- * from the arguments and returns the last id generated by that sequence.
- * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method
- * returns the last value generated for such a column, and the table name
- * argument is disregarded.
- *
- * @param string $tableName OPTIONAL Name of table.
- * @param string $primaryKey OPTIONAL Name of primary key column.
- * @return string
- */
- public function lastInsertId($tableName = null, $primaryKey = null)
- {
- if(count($this->_lastInsertIdStack)) {
- return array_pop($this->_lastInsertIdStack);
- } else {
- return false;
- }
- }
-
- /**
- * Begin a transaction.
- */
- protected function _beginTransaction()
- {
- return;
- }
-
- /**
- * Commit a transaction.
- */
- protected function _commit()
- {
- return;
- }
-
- /**
- * Roll-back a transaction.
- */
- protected function _rollBack()
- {
-
- }
-
- /**
- * Set the fetch mode.
- *
- * @param integer $mode
- * @return void
- * @throws Zend_Db_Adapter_Exception
- */
- public function setFetchMode($mode)
- {
- return;
- }
-
- /**
- * Adds an adapter-specific LIMIT clause to the SELECT statement.
- *
- * @param mixed $sql
- * @param integer $count
- * @param integer $offset
- * @return string
- */
- public function limit($sql, $count, $offset = 0)
- {
- return sprintf('%s LIMIT %d,%d', $sql, $offset, $count);
- }
-
- /**
- * Check if the adapter supports real SQL parameters.
- *
- * @param string $type 'positional' or 'named'
- * @return bool
- */
- public function supportsParameters($type)
- {
- return true;
- }
-
- /**
- * Retrieve server version in PHP style
- *
- * @return string
- */
- function getServerVersion()
- {
- return "1.0.0";
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/DbStatement.php b/airtime_mvc/library/Zend/Test/DbStatement.php
deleted file mode 100644
index d09876b55..000000000
--- a/airtime_mvc/library/Zend/Test/DbStatement.php
+++ /dev/null
@@ -1,404 +0,0 @@
-append($row);
- }
- return $stmt;
- }
-
- /**
- * Create an Insert Statement
- *
- * @param int $affectedRows
- * @return Zend_Test_DbStatement
- */
- static public function createInsertStatement($affectedRows=0)
- {
- return self::_createRowCountStatement($affectedRows);
- }
-
- /**
- * Create an Delete Statement
- *
- * @param int $affectedRows
- * @return Zend_Test_DbStatement
- */
- static public function createDeleteStatement($affectedRows=0)
- {
- return self::_createRowCountStatement($affectedRows);
- }
-
- /**
- * Create an Update Statement
- *
- * @param int $affectedRows
- * @return Zend_Test_DbStatement
- */
- static public function createUpdateStatement($affectedRows=0)
- {
- return self::_createRowCountStatement($affectedRows);
- }
-
- /**
- * Create a Row Count Statement
- *
- * @param int $affectedRows
- * @return Zend_Test_DbStatement
- */
- static protected function _createRowCountStatement($affectedRows)
- {
- $stmt = new Zend_Test_DbStatement();
- $stmt->setRowCount($affectedRows);
- return $stmt;
- }
-
- /**
- * @param Zend_Db_Profiler_Query $qp
- */
- public function setQueryProfile(Zend_Db_Profiler_Query $qp)
- {
- $this->_queryProfile = $qp;
- }
-
- /**
- * @param int $rowCount
- */
- public function setRowCount($rowCount)
- {
- $this->_rowCount = $rowCount;
- }
-
- /**
- * Append a new row to the fetch stack.
- *
- * @param array $row
- */
- public function append($row)
- {
- $this->_columnCount = count($row);
- $this->_fetchStack[] = $row;
- }
-
- /**
- * Bind a column of the statement result set to a PHP variable.
- *
- * @param string $column Name the column in the result set, either by
- * position or by name.
- * @param mixed $param Reference to the PHP variable containing the value.
- * @param mixed $type OPTIONAL
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function bindColumn($column, &$param, $type = null)
- {
- return true;
- }
-
- /**
- * Binds a parameter to the specified variable name.
- *
- * @param mixed $parameter Name the parameter, either integer or string.
- * @param mixed $variable Reference to PHP variable containing the value.
- * @param mixed $type OPTIONAL Datatype of SQL parameter.
- * @param mixed $length OPTIONAL Length of SQL parameter.
- * @param mixed $options OPTIONAL Other options.
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function bindParam($parameter, &$variable, $type = null, $length = null, $options = null)
- {
- if($this->_queryProfile !== null) {
- $this->_queryProfile->bindParam($parameter, $variable);
- }
- return true;
- }
-
- /**
- * Binds a value to a parameter.
- *
- * @param mixed $parameter Name the parameter, either integer or string.
- * @param mixed $value Scalar value to bind to the parameter.
- * @param mixed $type OPTIONAL Datatype of the parameter.
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function bindValue($parameter, $value, $type = null)
- {
- return true;
- }
-
- /**
- * Closes the cursor, allowing the statement to be executed again.
- *
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function closeCursor()
- {
- return true;
- }
-
- /**
- * Returns the number of columns in the result set.
- * Returns null if the statement has no result set metadata.
- *
- * @return int The number of columns.
- * @throws Zend_Db_Statement_Exception
- */
- public function columnCount()
- {
- return $this->_columnCount;
- }
-
- /**
- * Retrieves the error code, if any, associated with the last operation on
- * the statement handle.
- *
- * @return string error code.
- * @throws Zend_Db_Statement_Exception
- */
- public function errorCode()
- {
- return false;
- }
-
- /**
- * Retrieves an array of error information, if any, associated with the
- * last operation on the statement handle.
- *
- * @return array
- * @throws Zend_Db_Statement_Exception
- */
- public function errorInfo()
- {
- return false;
- }
-
- /**
- * Executes a prepared statement.
- *
- * @param array $params OPTIONAL Values to bind to parameter placeholders.
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function execute(array $params = array())
- {
- if($this->_queryProfile !== null) {
- $this->_queryProfile->bindParams($params);
- $this->_queryProfile->end();
- }
- return true;
- }
-
- /**
- * Fetches a row from the result set.
- *
- * @param int $style OPTIONAL Fetch mode for this fetch operation.
- * @param int $cursor OPTIONAL Absolute, relative, or other.
- * @param int $offset OPTIONAL Number for absolute or relative cursors.
- * @return mixed Array, object, or scalar depending on fetch mode.
- * @throws Zend_Db_Statement_Exception
- */
- public function fetch($style = null, $cursor = null, $offset = null)
- {
- if(count($this->_fetchStack)) {
- $row = array_shift($this->_fetchStack);
- return $row;
- } else {
- return false;
- }
- }
-
- /**
- * Returns an array containing all of the result set rows.
- *
- * @param int $style OPTIONAL Fetch mode.
- * @param int $col OPTIONAL Column number, if fetch mode is by column.
- * @return array Collection of rows, each in a format by the fetch mode.
- * @throws Zend_Db_Statement_Exception
- */
- public function fetchAll($style = null, $col = null)
- {
- $rows = $this->_fetchStack;
- $this->_fetchStack = array();
-
- return $rows;
- }
-
- /**
- * Returns a single column from the next row of a result set.
- *
- * @param int $col OPTIONAL Position of the column to fetch.
- * @return string
- * @throws Zend_Db_Statement_Exception
- */
- public function fetchColumn($col = 0)
- {
- $row = $this->fetch();
-
- if($row == false) {
- return false;
- } else {
- if(count($row) < $col) {
- require_once "Zend/Db/Statement/Exception.php";
- throw new Zend_Db_Statement_Exception(
- "Column Position '".$col."' is out of bounds."
- );
- }
-
- $keys = array_keys($row);
- return $row[$keys[$col]];
- }
- }
-
- /**
- * Fetches the next row and returns it as an object.
- *
- * @param string $class OPTIONAL Name of the class to create.
- * @param array $config OPTIONAL Constructor arguments for the class.
- * @return mixed One object instance of the specified class.
- * @throws Zend_Db_Statement_Exception
- */
- public function fetchObject($class = 'stdClass', array $config = array())
- {
- if(!class_exists($class)) {
- throw new Zend_Db_Statement_Exception("Class '".$class."' does not exist!");
- }
-
- $object = new $class();
- $row = $this->fetch();
- foreach($row AS $k => $v) {
- $object->$k = $v;
- }
-
- return $object;
- }
-
- /**
- * Retrieve a statement attribute.
- *
- * @param string $key Attribute name.
- * @return mixed Attribute value.
- * @throws Zend_Db_Statement_Exception
- */
- public function getAttribute($key)
- {
- return false;
- }
-
- /**
- * Retrieves the next rowset (result set) for a SQL statement that has
- * multiple result sets. An example is a stored procedure that returns
- * the results of multiple queries.
- *
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function nextRowset()
- {
- return false;
- }
-
- /**
- * Returns the number of rows affected by the execution of the
- * last INSERT, DELETE, or UPDATE statement executed by this
- * statement object.
- *
- * @return int The number of rows affected.
- * @throws Zend_Db_Statement_Exception
- */
- public function rowCount()
- {
- return $this->_rowCount;
- }
-
- /**
- * Set a statement attribute.
- *
- * @param string $key Attribute name.
- * @param mixed $val Attribute value.
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function setAttribute($key, $val)
- {
- return true;
- }
-
- /**
- * Set the default fetch mode for this statement.
- *
- * @param int $mode The fetch mode.
- * @return bool
- * @throws Zend_Db_Statement_Exception
- */
- public function setFetchMode($mode)
- {
- return true;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/DomQuery.php b/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/DomQuery.php
deleted file mode 100644
index 93995e288..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/DomQuery.php
+++ /dev/null
@@ -1,405 +0,0 @@
-_path = $path;
- }
-
- /**
- * Indicate negative match
- *
- * @param bool $flag
- * @return void
- */
- public function setNegate($flag = true)
- {
- $this->_negate = $flag;
- }
-
- /**
- * Whether or not path is a straight XPath expression
- *
- * @param bool $flag
- * @return Zend_Test_PHPUnit_Constraint_DomQuery
- */
- public function setUseXpath($flag = true)
- {
- $this->_useXpath = (bool) $flag;
- return $this;
- }
-
- /**
- * Evaluate an object to see if it fits the constraints
- *
- * @param string $other String to examine
- * @param null|string Assertion type
- * @return bool
- */
- public function evaluate($other, $assertType = null)
- {
- if (strstr($assertType, 'Not')) {
- $this->setNegate(true);
- $assertType = str_replace('Not', '', $assertType);
- }
-
- if (strstr($assertType, 'Xpath')) {
- $this->setUseXpath(true);
- $assertType = str_replace('Xpath', 'Query', $assertType);
- }
-
- if (!in_array($assertType, $this->_assertTypes)) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception(sprintf('Invalid assertion type "%s" provided to %s constraint', $assertType, __CLASS__));
- }
-
- $this->_assertType = $assertType;
-
- $method = $this->_useXpath ? 'queryXpath' : 'query';
- $domQuery = new Zend_Dom_Query($other);
- $result = $domQuery->$method($this->_path);
- $argv = func_get_args();
- $argc = func_num_args();
-
- switch ($assertType) {
- case self::ASSERT_CONTENT_CONTAINS:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No content provided against which to match');
- }
- $this->_content = $content = $argv[2];
- return ($this->_negate)
- ? $this->_notMatchContent($result, $content)
- : $this->_matchContent($result, $content);
- case self::ASSERT_CONTENT_REGEX:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No pattern provided against which to match');
- }
- $this->_content = $content = $argv[2];
- return ($this->_negate)
- ? $this->_notRegexContent($result, $content)
- : $this->_regexContent($result, $content);
- case self::ASSERT_CONTENT_COUNT:
- case self::ASSERT_CONTENT_COUNT_MIN:
- case self::ASSERT_CONTENT_COUNT_MAX:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No count provided against which to compare');
- }
- $this->_content = $content = $argv[2];
- return $this->_countContent($result, $content, $assertType);
- case self::ASSERT_QUERY:
- default:
- if ($this->_negate) {
- return (0 == count($result));
- } else {
- return (0 != count($result));
- }
- }
- }
-
- /**
- * Report Failure
- *
- * @see PHPUnit_Framework_Constraint for implementation details
- * @param mixed $other CSS selector path
- * @param string $description
- * @param bool $not
- * @return void
- * @throws PHPUnit_Framework_ExpectationFailedException
- */
- public function fail($other, $description, $not = false)
- {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- switch ($this->_assertType) {
- case self::ASSERT_CONTENT_CONTAINS:
- $failure = 'Failed asserting node denoted by %s CONTAINS content "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting node DENOTED BY %s DOES NOT CONTAIN content "%s"';
- }
- $failure = sprintf($failure, $other, $this->_content);
- break;
- case self::ASSERT_CONTENT_REGEX:
- $failure = 'Failed asserting node denoted by %s CONTAINS content MATCHING "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting node DENOTED BY %s DOES NOT CONTAIN content MATCHING "%s"';
- }
- $failure = sprintf($failure, $other, $this->_content);
- break;
- case self::ASSERT_CONTENT_COUNT:
- $failure = 'Failed asserting node DENOTED BY %s OCCURS EXACTLY %d times';
- if ($this->_negate) {
- $failure = 'Failed asserting node DENOTED BY %s DOES NOT OCCUR EXACTLY %d times';
- }
- $failure = sprintf($failure, $other, $this->_content);
- break;
- case self::ASSERT_CONTENT_COUNT_MIN:
- $failure = 'Failed asserting node DENOTED BY %s OCCURS AT LEAST %d times';
- $failure = sprintf($failure, $other, $this->_content);
- break;
- case self::ASSERT_CONTENT_COUNT_MAX:
- $failure = 'Failed asserting node DENOTED BY %s OCCURS AT MOST %d times';
- $failure = sprintf($failure, $other, $this->_content);
- break;
- case self::ASSERT_QUERY:
- default:
- $failure = 'Failed asserting node DENOTED BY %s EXISTS';
- if ($this->_negate) {
- $failure = 'Failed asserting node DENOTED BY %s DOES NOT EXIST';
- }
- $failure = sprintf($failure, $other);
- break;
- }
-
- if (!empty($description)) {
- $failure = $description . "\n" . $failure;
- }
-
- throw new Zend_Test_PHPUnit_Constraint_Exception($failure);
- }
-
- /**
- * Complete implementation
- *
- * @return string
- */
- public function toString()
- {
- return '';
- }
-
- /**
- * Check to see if content is matched in selected nodes
- *
- * @param Zend_Dom_Query_Result $result
- * @param string $match Content to match
- * @return bool
- */
- protected function _matchContent($result, $match)
- {
- if (0 == count($result)) {
- return false;
- }
-
- foreach ($result as $node) {
- $content = $this->_getNodeContent($node);
- if (strstr($content, $match)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Check to see if content is NOT matched in selected nodes
- *
- * @param Zend_Dom_Query_Result $result
- * @param string $match
- * @return bool
- */
- protected function _notMatchContent($result, $match)
- {
- if (0 == count($result)) {
- return true;
- }
-
- foreach ($result as $node) {
- $content = $this->_getNodeContent($node);
- if (strstr($content, $match)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Check to see if content is matched by regex in selected nodes
- *
- * @param Zend_Dom_Query_Result $result
- * @param string $pattern
- * @return bool
- */
- protected function _regexContent($result, $pattern)
- {
- if (0 == count($result)) {
- return false;
- }
-
- foreach ($result as $node) {
- $content = $this->_getNodeContent($node);
- if (preg_match($pattern, $content)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Check to see if content is NOT matched by regex in selected nodes
- *
- * @param Zend_Dom_Query_Result $result
- * @param string $pattern
- * @return bool
- */
- protected function _notRegexContent($result, $pattern)
- {
- if (0 == count($result)) {
- return true;
- }
-
- foreach ($result as $node) {
- $content = $this->_getNodeContent($node);
- if (preg_match($pattern, $content)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Determine if content count matches criteria
- *
- * @param Zend_Dom_Query_Result $result
- * @param int $test Value against which to test
- * @param string $type assertion type
- * @return boolean
- */
- protected function _countContent($result, $test, $type)
- {
- $count = count($result);
-
- switch ($type) {
- case self::ASSERT_CONTENT_COUNT:
- return ($this->_negate)
- ? ($test != $count)
- : ($test == $count);
- case self::ASSERT_CONTENT_COUNT_MIN:
- return ($count >= $test);
- case self::ASSERT_CONTENT_COUNT_MAX:
- return ($count <= $test);
- default:
- return false;
- }
- }
-
- /**
- * Get node content, minus node markup tags
- *
- * @param DOMNode $node
- * @return string
- */
- protected function _getNodeContent(DOMNode $node)
- {
- if ($node instanceof DOMAttr) {
- return $node->value;
- } else {
- $doc = $node->ownerDocument;
- $content = $doc->saveXML($node);
- $tag = $node->nodeName;
- $regex = '|?' . $tag . '[^>]*>|';
- return preg_replace($regex, '', $content);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/Exception.php b/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/Exception.php
deleted file mode 100644
index 467f3be29..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_negate = $flag;
- }
-
- /**
- * Evaluate an object to see if it fits the constraints
- *
- * @param string $other String to examine
- * @param null|string Assertion type
- * @return bool
- */
- public function evaluate($other, $assertType = null)
- {
- if (!$other instanceof Zend_Controller_Response_Abstract) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('Redirect constraint assertions require a response object');
- }
-
- if (strstr($assertType, 'Not')) {
- $this->setNegate(true);
- $assertType = str_replace('Not', '', $assertType);
- }
-
- if (!in_array($assertType, $this->_assertTypes)) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception(sprintf('Invalid assertion type "%s" provided to %s constraint', $assertType, __CLASS__));
- }
-
- $this->_assertType = $assertType;
-
- $response = $other;
- $argv = func_get_args();
- $argc = func_num_args();
-
- switch ($assertType) {
- case self::ASSERT_REDIRECT_TO:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No redirect URL provided against which to match');
- }
- $this->_match = $match = $argv[2];
- return ($this->_negate)
- ? $this->_notMatch($response, $match)
- : $this->_match($response, $match);
- case self::ASSERT_REDIRECT_REGEX:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No pattern provided against which to match redirect');
- }
- $this->_match = $match = $argv[2];
- return ($this->_negate)
- ? $this->_notRegex($response, $match)
- : $this->_regex($response, $match);
- case self::ASSERT_REDIRECT:
- default:
- return ($this->_negate) ? !$response->isRedirect() : $response->isRedirect();
- }
- }
-
- /**
- * Report Failure
- *
- * @see PHPUnit_Framework_Constraint for implementation details
- * @param mixed $other
- * @param string $description Additional message to display
- * @param bool $not
- * @return void
- * @throws PHPUnit_Framework_ExpectationFailedException
- */
- public function fail($other, $description, $not = false)
- {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- switch ($this->_assertType) {
- case self::ASSERT_REDIRECT_TO:
- $failure = 'Failed asserting response redirects to "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting response DOES NOT redirect to "%s"';
- }
- $failure = sprintf($failure, $this->_match);
- break;
- case self::ASSERT_REDIRECT_REGEX:
- $failure = 'Failed asserting response redirects to URL MATCHING "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting response DOES NOT redirect to URL MATCHING "%s"';
- }
- $failure = sprintf($failure, $this->_match);
- break;
- case self::ASSERT_REDIRECT:
- default:
- $failure = 'Failed asserting response is a redirect';
- if ($this->_negate) {
- $failure = 'Failed asserting response is NOT a redirect';
- }
- break;
- }
-
- if (!empty($description)) {
- $failure = $description . "\n" . $failure;
- }
-
- throw new Zend_Test_PHPUnit_Constraint_Exception($failure);
- }
-
- /**
- * Complete implementation
- *
- * @return string
- */
- public function toString()
- {
- return '';
- }
-
- /**
- * Check to see if content is matched in selected nodes
- *
- * @param Zend_Controller_Response_HttpTestCase $response
- * @param string $match Content to match
- * @return bool
- */
- protected function _match($response, $match)
- {
- if (!$response->isRedirect()) {
- return false;
- }
-
- $headers = $response->sendHeaders();
- $redirect = $headers['location'];
- $redirect = str_replace('Location: ', '', $redirect);
-
- return ($redirect == $match);
- }
-
- /**
- * Check to see if content is NOT matched in selected nodes
- *
- * @param Zend_Controller_Response_HttpTestCase $response
- * @param string $match
- * @return bool
- */
- protected function _notMatch($response, $match)
- {
- if (!$response->isRedirect()) {
- return true;
- }
-
- $headers = $response->sendHeaders();
- $redirect = $headers['location'];
- $redirect = str_replace('Location: ', '', $redirect);
-
- return ($redirect != $match);
- }
-
- /**
- * Check to see if content is matched by regex in selected nodes
- *
- * @param Zend_Controller_Response_HttpTestCase $response
- * @param string $pattern
- * @return bool
- */
- protected function _regex($response, $pattern)
- {
- if (!$response->isRedirect()) {
- return false;
- }
-
- $headers = $response->sendHeaders();
- $redirect = $headers['location'];
- $redirect = str_replace('Location: ', '', $redirect);
-
- return preg_match($pattern, $redirect);
- }
-
- /**
- * Check to see if content is NOT matched by regex in selected nodes
- *
- * @param Zend_Controller_Response_HttpTestCase $response
- * @param string $pattern
- * @return bool
- */
- protected function _notRegex($response, $pattern)
- {
- if (!$response->isRedirect()) {
- return true;
- }
-
- $headers = $response->sendHeaders();
- $redirect = $headers['location'];
- $redirect = str_replace('Location: ', '', $redirect);
-
- return !preg_match($pattern, $redirect);
- }
-}
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/ResponseHeader.php b/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/ResponseHeader.php
deleted file mode 100644
index f11cf1a39..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Constraint/ResponseHeader.php
+++ /dev/null
@@ -1,400 +0,0 @@
-_negate = $flag;
- }
-
- /**
- * Evaluate an object to see if it fits the constraints
- *
- * @param Zend_Controller_Response_Abstract $other String to examine
- * @param null|string Assertion type
- * @return bool
- */
- public function evaluate($other, $assertType = null)
- {
- if (!$other instanceof Zend_Controller_Response_Abstract) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('Header constraint assertions require a response object');
- }
-
- if (strstr($assertType, 'Not')) {
- $this->setNegate(true);
- $assertType = str_replace('Not', '', $assertType);
- }
-
- if (!in_array($assertType, $this->_assertTypes)) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception(sprintf('Invalid assertion type "%s" provided to %s constraint', $assertType, __CLASS__));
- }
-
- $this->_assertType = $assertType;
-
- $response = $other;
- $argv = func_get_args();
- $argc = func_num_args();
-
- switch ($assertType) {
- case self::ASSERT_RESPONSE_CODE:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No response code provided against which to match');
- }
- $this->_code = $code = $argv[2];
- return ($this->_negate)
- ? $this->_notCode($response, $code)
- : $this->_code($response, $code);
- case self::ASSERT_HEADER:
- if (3 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('No header provided against which to match');
- }
- $this->_header = $header = $argv[2];
- return ($this->_negate)
- ? $this->_notHeader($response, $header)
- : $this->_header($response, $header);
- case self::ASSERT_HEADER_CONTAINS:
- if (4 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('Both a header name and content to match are required for ' . __FUNCTION__);
- }
- $this->_header = $header = $argv[2];
- $this->_match = $match = $argv[3];
- return ($this->_negate)
- ? $this->_notHeaderContains($response, $header, $match)
- : $this->_headerContains($response, $header, $match);
- case self::ASSERT_HEADER_REGEX:
- if (4 > $argc) {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('Both a header name and content to match are required for ' . __FUNCTION__);
- }
- $this->_header = $header = $argv[2];
- $this->_match = $match = $argv[3];
- return ($this->_negate)
- ? $this->_notHeaderRegex($response, $header, $match)
- : $this->_headerRegex($response, $header, $match);
- default:
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- throw new Zend_Test_PHPUnit_Constraint_Exception('Invalid assertion type ' . __FUNCTION__);
- }
- }
-
- /**
- * Report Failure
- *
- * @see PHPUnit_Framework_Constraint for implementation details
- * @param mixed $other
- * @param string $description Additional message to display
- * @param bool $not
- * @return void
- * @throws PHPUnit_Framework_ExpectationFailedException
- */
- public function fail($other, $description, $not = false)
- {
- require_once 'Zend/Test/PHPUnit/Constraint/Exception.php';
- switch ($this->_assertType) {
- case self::ASSERT_RESPONSE_CODE:
- $failure = 'Failed asserting response code "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting response code IS NOT "%s"';
- }
- $failure = sprintf($failure, $this->_code);
- break;
- case self::ASSERT_HEADER:
- $failure = 'Failed asserting response header "%s" found';
- if ($this->_negate) {
- $failure = 'Failed asserting response response header "%s" WAS NOT found';
- }
- $failure = sprintf($failure, $this->_header);
- break;
- case self::ASSERT_HEADER_CONTAINS:
- $failure = 'Failed asserting response header "%s" exists and contains "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting response header "%s" DOES NOT CONTAIN "%s"';
- }
- $failure = sprintf($failure, $this->_header, $this->_match);
- break;
- case self::ASSERT_HEADER_REGEX:
- $failure = 'Failed asserting response header "%s" exists and matches regex "%s"';
- if ($this->_negate) {
- $failure = 'Failed asserting response header "%s" DOES NOT MATCH regex "%s"';
- }
- $failure = sprintf($failure, $this->_header, $this->_match);
- break;
- default:
- throw new Zend_Test_PHPUnit_Constraint_Exception('Invalid assertion type ' . __FUNCTION__);
- }
-
- if (!empty($description)) {
- $failure = $description . "\n" . $failure;
- }
-
- throw new Zend_Test_PHPUnit_Constraint_Exception($failure);
- }
-
- /**
- * Complete implementation
- *
- * @return string
- */
- public function toString()
- {
- return '';
- }
-
- /**
- * Compare response code for positive match
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param int $code
- * @return bool
- */
- protected function _code(Zend_Controller_Response_Abstract $response, $code)
- {
- $test = $this->_getCode($response);
- return ($test == $code);
- }
-
- /**
- * Compare response code for negative match
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param int $code
- * @return bool
- */
- protected function _notCode(Zend_Controller_Response_Abstract $response, $code)
- {
- $test = $this->_getCode($response);
- return ($test != $code);
- }
-
- /**
- * Retrieve response code
- *
- * @param Zend_Controller_Response_Abstract $response
- * @return int
- */
- protected function _getCode(Zend_Controller_Response_Abstract $response)
- {
- $test = $response->getHttpResponseCode();
- if (null === $test) {
- $test = 200;
- }
- return $test;
- }
-
- /**
- * Positive check for response header presence
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @return bool
- */
- protected function _header(Zend_Controller_Response_Abstract $response, $header)
- {
- return (null !== $this->_getHeader($response, $header));
- }
-
- /**
- * Negative check for response header presence
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @return bool
- */
- protected function _notHeader(Zend_Controller_Response_Abstract $response, $header)
- {
- return (null === $this->_getHeader($response, $header));
- }
-
- /**
- * Retrieve response header
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @return string|null
- */
- protected function _getHeader(Zend_Controller_Response_Abstract $response, $header)
- {
- $headers = $response->sendHeaders();
- $header = strtolower($header);
- if (array_key_exists($header, $headers)) {
- return $headers[$header];
- }
- return null;
- }
-
- /**
- * Positive check for header contents matching pattern
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @param string $match
- * @return bool
- */
- protected function _headerContains(Zend_Controller_Response_Abstract $response, $header, $match)
- {
- if (null === ($fullHeader = $this->_getHeader($response, $header))) {
- return false;
- }
-
- $contents = str_replace($header . ': ', '', $fullHeader);
-
- return (strstr($contents, $match));
- }
-
- /**
- * Negative check for header contents matching pattern
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @param string $match
- * @return bool
- */
- protected function _notHeaderContains(Zend_Controller_Response_Abstract $response, $header, $match)
- {
- if (null === ($fullHeader = $this->_getHeader($response, $header))) {
- return true;
- }
-
- $contents = str_replace($header . ': ', '', $fullHeader);
-
- return (!strstr($contents, $match));
- }
-
- /**
- * Positive check for header contents matching regex
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @param string $pattern
- * @return bool
- */
- protected function _headerRegex(Zend_Controller_Response_Abstract $response, $header, $pattern)
- {
- if (null === ($fullHeader = $this->_getHeader($response, $header))) {
- return false;
- }
-
- $contents = str_replace($header . ': ', '', $fullHeader);
-
- return preg_match($pattern, $contents);
- }
-
- /**
- * Negative check for header contents matching regex
- *
- * @param Zend_Controller_Response_Abstract $response
- * @param string $header
- * @param string $pattern
- * @return bool
- */
- protected function _notHeaderRegex(Zend_Controller_Response_Abstract $response, $header, $pattern)
- {
- if (null === ($fullHeader = $this->_getHeader($response, $header))) {
- return true;
- }
-
- $contents = str_replace($header . ': ', '', $fullHeader);
-
- return !preg_match($pattern, $contents);
- }
-}
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/ControllerTestCase.php b/airtime_mvc/library/Zend/Test/PHPUnit/ControllerTestCase.php
deleted file mode 100644
index 92ebf3efa..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/ControllerTestCase.php
+++ /dev/null
@@ -1,1155 +0,0 @@
-$name = $value;
- }
-
- /**
- * Overloading for common properties
- *
- * Provides overloading for request, response, and frontController objects.
- *
- * @param mixed $name
- * @return void
- */
- public function __get($name)
- {
- switch ($name) {
- case 'request':
- return $this->getRequest();
- case 'response':
- return $this->getResponse();
- case 'frontController':
- return $this->getFrontController();
- }
-
- return null;
- }
-
- /**
- * Set up MVC app
- *
- * Calls {@link bootstrap()} by default
- *
- * @return void
- */
- protected function setUp()
- {
- $this->bootstrap();
- }
-
- /**
- * Bootstrap the front controller
- *
- * Resets the front controller, and then bootstraps it.
- *
- * If {@link $bootstrap} is a callback, executes it; if it is a file, it include's
- * it. When done, sets the test case request and response objects into the
- * front controller.
- *
- * @return void
- */
- final public function bootstrap()
- {
- $this->reset();
- if (null !== $this->bootstrap) {
- if ($this->bootstrap instanceof Zend_Application) {
- $this->bootstrap->bootstrap();
- $this->_frontController = $this->bootstrap->getBootstrap()->getResource('frontcontroller');
- } elseif (is_callable($this->bootstrap)) {
- call_user_func($this->bootstrap);
- } elseif (is_string($this->bootstrap)) {
- require_once 'Zend/Loader.php';
- if (Zend_Loader::isReadable($this->bootstrap)) {
- include $this->bootstrap;
- }
- }
- }
- $this->frontController
- ->setRequest($this->getRequest())
- ->setResponse($this->getResponse());
- }
-
- /**
- * Dispatch the MVC
- *
- * If a URL is provided, sets it as the request URI in the request object.
- * Then sets test case request and response objects in front controller,
- * disables throwing exceptions, and disables returning the response.
- * Finally, dispatches the front controller.
- *
- * @param string|null $url
- * @return void
- */
- public function dispatch($url = null)
- {
- // redirector should not exit
- $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
- $redirector->setExit(false);
-
- // json helper should not exit
- $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
- $json->suppressExit = true;
-
- $request = $this->getRequest();
- if (null !== $url) {
- $request->setRequestUri($url);
- }
- $request->setPathInfo(null);
-
- $controller = $this->getFrontController();
- $this->frontController
- ->setRequest($request)
- ->setResponse($this->getResponse())
- ->throwExceptions(false)
- ->returnResponse(false);
-
- if ($this->bootstrap instanceof Zend_Application) {
- $this->bootstrap->run();
- } else {
- $this->frontController->dispatch();
- }
- }
-
- /**
- * Reset MVC state
- *
- * Creates new request/response objects, resets the front controller
- * instance, and resets the action helper broker.
- *
- * @todo Need to update Zend_Layout to add a resetInstance() method
- * @return void
- */
- public function reset()
- {
- $_SESSION = array();
- $_GET = array();
- $_POST = array();
- $_COOKIE = array();
- $this->resetRequest();
- $this->resetResponse();
- Zend_Layout::resetMvcInstance();
- Zend_Controller_Action_HelperBroker::resetHelpers();
- $this->frontController->resetInstance();
- Zend_Session::$_unitTestEnabled = true;
- }
-
- /**
- * Rest all view placeholders
- *
- * @return void
- */
- protected function _resetPlaceholders()
- {
- $registry = Zend_Registry::getInstance();
- $remove = array();
- foreach ($registry as $key => $value) {
- if (strstr($key, '_View_')) {
- $remove[] = $key;
- }
- }
-
- foreach ($remove as $key) {
- unset($registry[$key]);
- }
- }
-
- /**
- * Reset the request object
- *
- * Useful for test cases that need to test multiple trips to the server.
- *
- * @return Zend_Test_PHPUnit_ControllerTestCase
- */
- public function resetRequest()
- {
- if ($this->_request instanceof Zend_Controller_Request_HttpTestCase) {
- $this->_request->clearQuery()
- ->clearPost();
- }
- $this->_request = null;
- return $this;
- }
-
- /**
- * Reset the response object
- *
- * Useful for test cases that need to test multiple trips to the server.
- *
- * @return Zend_Test_PHPUnit_ControllerTestCase
- */
- public function resetResponse()
- {
- $this->_response = null;
- $this->_resetPlaceholders();
- return $this;
- }
-
- /**
- * Assert against DOM selection
- *
- * @param string $path CSS selector path
- * @param string $message
- * @return void
- */
- public function assertQuery($path, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection
- *
- * @param string $path CSS selector path
- * @param string $message
- * @return void
- */
- public function assertNotQuery($path, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; node should contain content
- *
- * @param string $path CSS selector path
- * @param string $match content that should be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertQueryContentContains($path, $match, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $match)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; node should NOT contain content
- *
- * @param string $path CSS selector path
- * @param string $match content that should NOT be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertNotQueryContentContains($path, $match, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $match)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; node should match content
- *
- * @param string $path CSS selector path
- * @param string $pattern Pattern that should be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertQueryContentRegex($path, $pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $pattern)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; node should NOT match content
- *
- * @param string $path CSS selector path
- * @param string $pattern pattern that should NOT be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertNotQueryContentRegex($path, $pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $pattern)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; should contain exact number of nodes
- *
- * @param string $path CSS selector path
- * @param string $count Number of nodes that should match
- * @param string $message
- * @return void
- */
- public function assertQueryCount($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; should NOT contain exact number of nodes
- *
- * @param string $path CSS selector path
- * @param string $count Number of nodes that should NOT match
- * @param string $message
- * @return void
- */
- public function assertNotQueryCount($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; should contain at least this number of nodes
- *
- * @param string $path CSS selector path
- * @param string $count Minimum number of nodes that should match
- * @param string $message
- * @return void
- */
- public function assertQueryCountMin($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against DOM selection; should contain no more than this number of nodes
- *
- * @param string $path CSS selector path
- * @param string $count Maximum number of nodes that should match
- * @param string $message
- * @return void
- */
- public function assertQueryCountMax($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection
- *
- * @param string $path XPath path
- * @param string $message
- * @return void
- */
- public function assertXpath($path, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection
- *
- * @param string $path XPath path
- * @param string $message
- * @return void
- */
- public function assertNotXpath($path, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; node should contain content
- *
- * @param string $path XPath path
- * @param string $match content that should be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertXpathContentContains($path, $match, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $match)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; node should NOT contain content
- *
- * @param string $path XPath path
- * @param string $match content that should NOT be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertNotXpathContentContains($path, $match, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $match)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; node should match content
- *
- * @param string $path XPath path
- * @param string $pattern Pattern that should be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertXpathContentRegex($path, $pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $pattern)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; node should NOT match content
- *
- * @param string $path XPath path
- * @param string $pattern pattern that should NOT be contained in matched nodes
- * @param string $message
- * @return void
- */
- public function assertNotXpathContentRegex($path, $pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $pattern)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; should contain exact number of nodes
- *
- * @param string $path XPath path
- * @param string $count Number of nodes that should match
- * @param string $message
- * @return void
- */
- public function assertXpathCount($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; should NOT contain exact number of nodes
- *
- * @param string $path XPath path
- * @param string $count Number of nodes that should NOT match
- * @param string $message
- * @return void
- */
- public function assertNotXpathCount($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; should contain at least this number of nodes
- *
- * @param string $path XPath path
- * @param string $count Minimum number of nodes that should match
- * @param string $message
- * @return void
- */
- public function assertXpathCountMin($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert against XPath selection; should contain no more than this number of nodes
- *
- * @param string $path XPath path
- * @param string $count Maximum number of nodes that should match
- * @param string $message
- * @return void
- */
- public function assertXpathCountMax($path, $count, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/DomQuery.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_DomQuery($path);
- $content = $this->response->outputBody();
- if (!$constraint->evaluate($content, __FUNCTION__, $count)) {
- $constraint->fail($path, $message);
- }
- }
-
- /**
- * Assert that response is a redirect
- *
- * @param string $message
- * @return void
- */
- public function assertRedirect($message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/Redirect.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_Redirect();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert that response is NOT a redirect
- *
- * @param string $message
- * @return void
- */
- public function assertNotRedirect($message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/Redirect.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_Redirect();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert that response redirects to given URL
- *
- * @param string $url
- * @param string $message
- * @return void
- */
- public function assertRedirectTo($url, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/Redirect.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_Redirect();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $url)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert that response does not redirect to given URL
- *
- * @param string $url
- * @param string $message
- * @return void
- */
- public function assertNotRedirectTo($url, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/Redirect.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_Redirect();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $url)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert that redirect location matches pattern
- *
- * @param string $pattern
- * @param string $message
- * @return void
- */
- public function assertRedirectRegex($pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/Redirect.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_Redirect();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $pattern)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert that redirect location does not match pattern
- *
- * @param string $pattern
- * @param string $message
- * @return void
- */
- public function assertNotRedirectRegex($pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/Redirect.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_Redirect();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $pattern)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response code
- *
- * @param int $code
- * @param string $message
- * @return void
- */
- public function assertResponseCode($code, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $code)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response code
- *
- * @param int $code
- * @param string $message
- * @return void
- */
- public function assertNotResponseCode($code, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $constraint->setNegate(true);
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $code)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response header exists
- *
- * @param string $header
- * @param string $message
- * @return void
- */
- public function assertHeader($header, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $header)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response header does not exist
- *
- * @param string $header
- * @param string $message
- * @return void
- */
- public function assertNotHeader($header, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $constraint->setNegate(true);
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $header)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response header exists and contains the given string
- *
- * @param string $header
- * @param string $match
- * @param string $message
- * @return void
- */
- public function assertHeaderContains($header, $match, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $header, $match)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response header does not exist and/or does not contain the given string
- *
- * @param string $header
- * @param string $match
- * @param string $message
- * @return void
- */
- public function assertNotHeaderContains($header, $match, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $constraint->setNegate(true);
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $header, $match)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response header exists and matches the given pattern
- *
- * @param string $header
- * @param string $pattern
- * @param string $message
- * @return void
- */
- public function assertHeaderRegex($header, $pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $header, $pattern)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert response header does not exist and/or does not match the given regex
- *
- * @param string $header
- * @param string $pattern
- * @param string $message
- * @return void
- */
- public function assertNotHeaderRegex($header, $pattern, $message = '')
- {
- $this->_incrementAssertionCount();
- require_once 'Zend/Test/PHPUnit/Constraint/ResponseHeader.php';
- $constraint = new Zend_Test_PHPUnit_Constraint_ResponseHeader();
- $constraint->setNegate(true);
- $response = $this->response;
- if (!$constraint->evaluate($response, __FUNCTION__, $header, $pattern)) {
- $constraint->fail($response, $message);
- }
- }
-
- /**
- * Assert that the last handled request used the given module
- *
- * @param string $module
- * @param string $message
- * @return void
- */
- public function assertModule($module, $message = '')
- {
- $this->_incrementAssertionCount();
- if ($module != $this->request->getModuleName()) {
- $msg = sprintf('Failed asserting last module used <"%s"> was "%s"',
- $this->request->getModuleName(),
- $module
- );
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the last handled request did NOT use the given module
- *
- * @param string $module
- * @param string $message
- * @return void
- */
- public function assertNotModule($module, $message = '')
- {
- $this->_incrementAssertionCount();
- if ($module == $this->request->getModuleName()) {
- $msg = sprintf('Failed asserting last module used was NOT "%s"', $module);
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the last handled request used the given controller
- *
- * @param string $controller
- * @param string $message
- * @return void
- */
- public function assertController($controller, $message = '')
- {
- $this->_incrementAssertionCount();
- if ($controller != $this->request->getControllerName()) {
- $msg = sprintf('Failed asserting last controller used <"%s"> was "%s"',
- $this->request->getControllerName(),
- $controller
- );
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the last handled request did NOT use the given controller
- *
- * @param string $controller
- * @param string $message
- * @return void
- */
- public function assertNotController($controller, $message = '')
- {
- $this->_incrementAssertionCount();
- if ($controller == $this->request->getControllerName()) {
- $msg = sprintf('Failed asserting last controller used <"%s"> was NOT "%s"',
- $this->request->getControllerName(),
- $controller
- );
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the last handled request used the given action
- *
- * @param string $action
- * @param string $message
- * @return void
- */
- public function assertAction($action, $message = '')
- {
- $this->_incrementAssertionCount();
- if ($action != $this->request->getActionName()) {
- $msg = sprintf('Failed asserting last action used <"%s"> was "%s"', $this->request->getActionName(), $action);
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the last handled request did NOT use the given action
- *
- * @param string $action
- * @param string $message
- * @return void
- */
- public function assertNotAction($action, $message = '')
- {
- $this->_incrementAssertionCount();
- if ($action == $this->request->getActionName()) {
- $msg = sprintf('Failed asserting last action used <"%s"> was NOT "%s"', $this->request->getActionName(), $action);
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the specified route was used
- *
- * @param string $route
- * @param string $message
- * @return void
- */
- public function assertRoute($route, $message = '')
- {
- $this->_incrementAssertionCount();
- $router = $this->frontController->getRouter();
- if ($route != $router->getCurrentRouteName()) {
- $msg = sprintf('Failed asserting matched route was "%s", actual route is %s',
- $route,
- $router->getCurrentRouteName()
- );
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Assert that the route matched is NOT as specified
- *
- * @param string $route
- * @param string $message
- * @return void
- */
- public function assertNotRoute($route, $message = '')
- {
- $this->_incrementAssertionCount();
- $router = $this->frontController->getRouter();
- if ($route == $router->getCurrentRouteName()) {
- $msg = sprintf('Failed asserting route matched was NOT "%s"', $route);
- if (!empty($message)) {
- $msg = $message . "\n" . $msg;
- }
- $this->fail($msg);
- }
- }
-
- /**
- * Retrieve front controller instance
- *
- * @return Zend_Controller_Front
- */
- public function getFrontController()
- {
- if (null === $this->_frontController) {
- $this->_frontController = Zend_Controller_Front::getInstance();
- }
- return $this->_frontController;
- }
-
- /**
- * Retrieve test case request object
- *
- * @return Zend_Controller_Request_Abstract
- */
- public function getRequest()
- {
- if (null === $this->_request) {
- require_once 'Zend/Controller/Request/HttpTestCase.php';
- $this->_request = new Zend_Controller_Request_HttpTestCase;
- }
- return $this->_request;
- }
-
- /**
- * Retrieve test case response object
- *
- * @return Zend_Controller_Response_Abstract
- */
- public function getResponse()
- {
- if (null === $this->_response) {
- require_once 'Zend/Controller/Response/HttpTestCase.php';
- $this->_response = new Zend_Controller_Response_HttpTestCase;
- }
- return $this->_response;
- }
-
- /**
- * Retrieve DOM query object
- *
- * @return Zend_Dom_Query
- */
- public function getQuery()
- {
- if (null === $this->_query) {
- require_once 'Zend/Dom/Query.php';
- $this->_query = new Zend_Dom_Query;
- }
- return $this->_query;
- }
-
- /**
- * Increment assertion count
- *
- * @return void
- */
- protected function _incrementAssertionCount()
- {
- $stack = debug_backtrace();
- foreach (debug_backtrace() as $step) {
- if (isset($step['object'])
- && $step['object'] instanceof PHPUnit_Framework_TestCase
- ) {
- if (version_compare(PHPUnit_Runner_Version::id(), '3.3.0', 'lt')) {
- break;
- } elseif (version_compare(PHPUnit_Runner_Version::id(), '3.3.3', 'lt')) {
- $step['object']->incrementAssertionCounter();
- } else {
- $step['object']->addToAssertionCount(1);
- }
- break;
- }
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/DatabaseTestCase.php b/airtime_mvc/library/Zend/Test/PHPUnit/DatabaseTestCase.php
deleted file mode 100644
index f6f9d4161..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/DatabaseTestCase.php
+++ /dev/null
@@ -1,151 +0,0 @@
-getConnection()->getConnection();
- }
-
- /**
- * Returns the database operation executed in test setup.
- *
- * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
- */
- protected function getSetUpOperation()
- {
- return new PHPUnit_Extensions_Database_Operation_Composite(array(
- new Zend_Test_PHPUnit_Db_Operation_Truncate(),
- new Zend_Test_PHPUnit_Db_Operation_Insert(),
- ));
- }
-
- /**
- * Returns the database operation executed in test cleanup.
- *
- * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
- */
- protected function getTearDownOperation()
- {
- return PHPUnit_Extensions_Database_Operation_Factory::NONE();
- }
-
- /**
- * Create a dataset based on multiple Zend_Db_Table instances
- *
- * @param array $tables
- * @return Zend_Test_PHPUnit_Db_DataSet_DbTableDataSet
- */
- protected function createDbTableDataSet(array $tables=array())
- {
- $dataSet = new Zend_Test_PHPUnit_Db_DataSet_DbTableDataSet();
- foreach($tables AS $table) {
- $dataSet->addTable($table);
- }
- return $dataSet;
- }
-
- /**
- * Create a table based on one Zend_Db_Table instance
- *
- * @param Zend_Db_Table_Abstract $table
- * @param string $where
- * @param string $order
- * @param string $count
- * @param string $offset
- * @return Zend_Test_PHPUnit_Db_DataSet_DbTable
- */
- protected function createDbTable(Zend_Db_Table_Abstract $table, $where=null, $order=null, $count=null, $offset=null)
- {
- return new Zend_Test_PHPUnit_Db_DataSet_DbTable($table, $where, $order, $count, $offset);
- }
-
- /**
- * Create a data table based on a Zend_Db_Table_Rowset instance
- *
- * @param Zend_Db_Table_Rowset_Abstract $rowset
- * @param string
- * @return Zend_Test_PHPUnit_Db_DataSet_DbRowset
- */
- protected function createDbRowset(Zend_Db_Table_Rowset_Abstract $rowset, $tableName = null)
- {
- return new Zend_Test_PHPUnit_Db_DataSet_DbRowset($rowset, $tableName);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Connection.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/Connection.php
deleted file mode 100644
index df1b1aaf4..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Connection.php
+++ /dev/null
@@ -1,149 +0,0 @@
-_connection = $db;
- $this->_schema = $schema;
- }
-
- /**
- * Close this connection.
- *
- * @return void
- */
- public function close()
- {
- $this->_connection->closeConnection();
- }
-
- /**
- * Creates a table with the result of the specified SQL statement.
- *
- * @param string $resultName
- * @param string $sql
- * @return PHPUnit_Extensions_Database_DataSet_ITable
- */
- public function createQueryTable($resultName, $sql)
- {
- return new Zend_Test_PHPUnit_Db_DataSet_QueryTable($resultName, $sql, $this);
- }
-
- /**
- * Returns a Zend_Db Connection
- *
- * @return Zend_Db_Adapter_Abstract
- */
- public function getConnection()
- {
- return $this->_connection;
- }
-
- /**
- * Returns a database metadata object that can be used to retrieve table
- * meta data from the database.
- *
- * @return PHPUnit_Extensions_Database_DB_IMetaData
- */
- public function getMetaData()
- {
- if($this->_metaData === null) {
- $this->_metaData = new Zend_Test_PHPUnit_Db_Metadata_Generic($this->getConnection(), $this->getSchema());
- }
- return $this->_metaData;
- }
-
- /**
- * Returns the schema for the connection.
- *
- * @return string
- */
- public function getSchema()
- {
- return $this->_schema;
- }
-
- /**
- * Returns the command used to truncate a table.
- *
- * @return string
- */
- public function getTruncateCommand()
- {
- return "DELETE";
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbRowset.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbRowset.php
deleted file mode 100644
index f0a655907..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbRowset.php
+++ /dev/null
@@ -1,78 +0,0 @@
-getTable();
- if($table !== null) {
- $tableName = $table->info('name');
- } else {
- require_once "Zend/Test/PHPUnit/Db/Exception.php";
- throw new Zend_Test_PHPUnit_Db_Exception(
- 'No table name was given to Rowset Table and table name cannot be infered from the table, '.
- 'because the rowset is disconnected from database.'
- );
- }
- }
-
- $this->data = $rowset->toArray();
-
- $columns = array();
- if(isset($this->data[0]) > 0) {
- $columns = array_keys($this->data[0]);
- } else if($rowset->getTable() != null) {
- $columns = $rowset->getTable()->info('cols');
- }
-
- $this->tableName = $tableName;
- $this->tableMetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($this->tableName, $columns);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbTable.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbTable.php
deleted file mode 100644
index 9cfd8234f..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbTable.php
+++ /dev/null
@@ -1,125 +0,0 @@
-tableName = $table->info('name');
- $this->_columns = $table->info('cols');
-
- $this->_table = $table;
- $this->_where = $where;
- $this->_order = $order;
- $this->_count = $count;
- $this->_offset = $offset;
- }
-
- /**
- * Lazy load data via table fetchAll() method.
- *
- * @return void
- */
- protected function loadData()
- {
- if ($this->data === null) {
- $this->data = $this->_table->fetchAll(
- $this->_where, $this->_order, $this->_count, $this->_offset
- );
- if($this->data instanceof Zend_Db_Table_Rowset_Abstract) {
- $this->data = $this->data->toArray();
- }
- }
- }
-
- /**
- * Create Table Metadata object
- */
- protected function createTableMetaData()
- {
- if ($this->tableMetaData === NULL) {
- $this->loadData();
- $this->tableMetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($this->tableName, $this->_columns);
- }
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbTableDataSet.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbTableDataSet.php
deleted file mode 100644
index 45ebf4944..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/DbTableDataSet.php
+++ /dev/null
@@ -1,103 +0,0 @@
-info('name');
- $this->tables[$tableName] = new Zend_Test_PHPUnit_Db_DataSet_DbTable($table, $where, $order, $count, $offset);
- }
-
- /**
- * Creates an iterator over the tables in the data set. If $reverse is
- * true a reverse iterator will be returned.
- *
- * @param bool $reverse
- * @return PHPUnit_Extensions_Database_DB_TableIterator
- */
- protected function createIterator($reverse = FALSE)
- {
- return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse);
- }
-
- /**
- * Returns a table object for the given table.
- *
- * @param string $tableName
- * @return PHPUnit_Extensions_Database_DB_Table
- */
- public function getTable($tableName)
- {
- if (!isset($this->tables[$tableName])) {
- throw new InvalidArgumentException("$tableName is not a table in the current database.");
- }
-
- return $this->tables[$tableName];
- }
-
- /**
- * Returns a list of table names for the database
- *
- * @return Array
- */
- public function getTableNames()
- {
- return array_keys($this->tables);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/QueryDataSet.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/QueryDataSet.php
deleted file mode 100644
index 1a55d2450..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/QueryDataSet.php
+++ /dev/null
@@ -1,90 +0,0 @@
-databaseConnection = $databaseConnection;
- }
-
- /**
- * Add a Table dataset representation by specifiying an arbitrary select query.
- *
- * By default a select * will be done on the given tablename.
- *
- * @param string $tableName
- * @param string|Zend_Db_Select $query
- */
- public function addTable($tableName, $query = NULL)
- {
- if ($query === NULL) {
- $query = $this->databaseConnection->getConnection()->select();
- $query->from($tableName, Zend_Db_Select::SQL_WILDCARD);
- }
-
- if($query instanceof Zend_Db_Select) {
- $query = $query->__toString();
- }
-
- $this->tables[$tableName] = new Zend_Test_PHPUnit_Db_DataSet_QueryTable($tableName, $query, $this->databaseConnection);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/QueryTable.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/QueryTable.php
deleted file mode 100644
index bd6eda368..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/DataSet/QueryTable.php
+++ /dev/null
@@ -1,91 +0,0 @@
-data === null) {
- $stmt = $this->databaseConnection->getConnection()->query($this->query);
- $this->data = $stmt->fetchAll(Zend_Db::FETCH_ASSOC);
- }
- }
-
- /**
- * Create Table Metadata
- */
- protected function createTableMetaData()
- {
- if ($this->tableMetaData === NULL)
- {
- $this->loadData();
- $keys = array();
- if(count($this->data) > 0) {
- $keys = array_keys($this->data[0]);
- }
- $this->tableMetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData(
- $this->tableName, $keys
- );
- }
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Exception.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/Exception.php
deleted file mode 100644
index e5b1a9ba0..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Exception.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_connection = $db;
- $this->_schema = $schema;
- }
-
- /**
- * List Tables
- *
- * @return array
- */
- public function getTableNames()
- {
- return $this->_connection->listTables();
- }
-
- /**
- * Get Table information
- *
- * @param string $tableName
- * @return array
- */
- protected function getTableDescription($tableName)
- {
- if(!isset($this->_tableMetadata[$tableName])) {
- $this->_tableMetadata[$tableName] = $this->_connection->describeTable($tableName);
- }
- return $this->_tableMetadata[$tableName];
- }
-
- /**
- * Returns an array containing the names of all the columns in the
- * $tableName table,
- *
- * @param string $tableName
- * @return array
- */
- public function getTableColumns($tableName)
- {
- $tableMeta = $this->getTableDescription($tableName);
- $columns = array_keys($tableMeta);
- return $columns;
- }
-
- /**
- * Returns an array containing the names of all the primary key columns in
- * the $tableName table.
- *
- * @param string $tableName
- * @return array
- */
- public function getTablePrimaryKeys($tableName)
- {
- $tableMeta = $this->getTableDescription($tableName);
-
- $primaryColumnNames = array();
- foreach($tableMeta AS $column) {
- if($column['PRIMARY'] == true) {
- $primaryColumnNames[] = $column['COLUMN_NAME'];
- }
- }
- return $primaryColumnNames;
- }
-
- /**
- * Returns the name of the default schema.
- *
- * @return string
- */
- public function getSchema()
- {
- return $this->_schema;
- }
-
- /**
- * Returns a quoted schema object. (table name, column name, etc)
- *
- * @param string $object
- * @return string
- */
- public function quoteSchemaObject($object)
- {
- return $this->_connection->quoteIdentifier($object);
- }
-
- /**
- * Returns true if the rdbms allows cascading
- *
- * @return bool
- */
- public function allowsCascading()
- {
- return false;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/DeleteAll.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/DeleteAll.php
deleted file mode 100644
index a01115ee1..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/DeleteAll.php
+++ /dev/null
@@ -1,81 +0,0 @@
-getTableMetaData()->getTableName();
- $connection->getConnection()->delete($tableName);
- } catch (Exception $e) {
- require_once "PHPUnit/Extensions/Database/Operation/Exception.php";
- throw new PHPUnit_Extensions_Database_Operation_Exception('DELETEALL', 'DELETE FROM '.$tableName.'', array(), $table, $e->getMessage());
- }
- }
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/Insert.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/Insert.php
deleted file mode 100644
index 3c26621e7..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/Insert.php
+++ /dev/null
@@ -1,104 +0,0 @@
-createDataSet();
-
- $dsIterator = $dataSet->getIterator();
-
- foreach($dsIterator as $table) {
- $tableName = $table->getTableMetaData()->getTableName();
-
- $db = $connection->getConnection();
- for($i = 0; $i < $table->getRowCount(); $i++) {
- $values = $this->buildInsertValues($table, $i);
- try {
- $db->insert($tableName, $values);
- } catch (Exception $e) {
- throw new PHPUnit_Extensions_Database_Operation_Exception("INSERT", "INSERT INTO ".$tableName." [..]", $values, $table, $e->getMessage());
- }
- }
- }
- }
-
- /**
- *
- * @param PHPUnit_Extensions_Database_DataSet_ITable $table
- * @param int $rowNum
- * @return array
- */
- protected function buildInsertValues(PHPUnit_Extensions_Database_DataSet_ITable $table, $rowNum)
- {
- $values = array();
- foreach($table->getTableMetaData()->getColumns() as $columnName) {
- $values[$columnName] = $table->getValue($rowNum, $columnName);
- }
- return $values;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/Truncate.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/Truncate.php
deleted file mode 100644
index 456cfe901..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/Operation/Truncate.php
+++ /dev/null
@@ -1,130 +0,0 @@
-getReverseIterator() AS $table) {
- try {
- $tableName = $table->getTableMetaData()->getTableName();
- $this->_truncate($connection->getConnection(), $tableName);
- } catch (Exception $e) {
- throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', 'TRUNCATE '.$tableName.'', array(), $table, $e->getMessage());
- }
- }
- }
-
- /**
- * Truncate a given table.
- *
- * @param Zend_Db_Adapter_Abstract $db
- * @param string $tableName
- * @return void
- */
- protected function _truncate(Zend_Db_Adapter_Abstract $db, $tableName)
- {
- $tableName = $db->quoteIdentifier($tableName);
- if($db instanceof Zend_Db_Adapter_Pdo_Sqlite) {
- $db->query('DELETE FROM '.$tableName);
- } else if($db instanceof Zend_Db_Adapter_Db2) {
- /*if(strstr(PHP_OS, "WIN")) {
- $file = tempnam(sys_get_temp_dir(), "zendtestdbibm_");
- file_put_contents($file, "");
- $db->query('IMPORT FROM '.$file.' OF DEL REPLACE INTO '.$tableName);
- unlink($file);
- } else {
- $db->query('IMPORT FROM /dev/null OF DEL REPLACE INTO '.$tableName);
- }*/
- require_once "Zend/Exception.php";
- throw Zend_Exception("IBM Db2 TRUNCATE not supported.");
- } else if($this->_isMssqlOrOracle($db)) {
- $db->query('TRUNCATE TABLE '.$tableName);
- } else if($db instanceof Zend_Db_Adapter_Pdo_Pgsql) {
- $db->query('TRUNCATE '.$tableName.' CASCADE');
- } else {
- $db->query('TRUNCATE '.$tableName);
- }
- }
-
- /**
- * Detect if an adapter is for Mssql or Oracle Databases.
- *
- * @param Zend_Db_Adapter_Abstract $db
- * @return bool
- */
- private function _isMssqlOrOracle($db)
- {
- return (
- $db instanceof Zend_Db_Adapter_Pdo_Mssql ||
- $db instanceof Zend_Db_Adapter_Sqlsrv ||
- $db instanceof Zend_Db_Adapter_Pdo_Oci ||
- $db instanceof Zend_Db_Adapter_Oracle
- );
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Test/PHPUnit/Db/SimpleTester.php b/airtime_mvc/library/Zend/Test/PHPUnit/Db/SimpleTester.php
deleted file mode 100644
index 32a2aeb14..000000000
--- a/airtime_mvc/library/Zend/Test/PHPUnit/Db/SimpleTester.php
+++ /dev/null
@@ -1,95 +0,0 @@
-connection = $connection;
- $this->setUpOperation = new PHPUnit_Extensions_Database_Operation_Composite(array(
- new Zend_Test_PHPUnit_Db_Operation_Truncate(),
- new Zend_Test_PHPUnit_Db_Operation_Insert(),
- ));
- $this->tearDownOperation = PHPUnit_Extensions_Database_Operation_Factory::NONE();
- }
-
- /**
- * Set Up the database using the given Dataset and the SetUp strategy "Truncate, then Insert"
- *
- * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
- */
- public function setUpDatabase(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
- {
- $this->setDataSet($dataSet);
- $this->onSetUp();
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Text/Exception.php b/airtime_mvc/library/Zend/Text/Exception.php
deleted file mode 100644
index 78ad9632b..000000000
--- a/airtime_mvc/library/Zend/Text/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-setOptions($options);
- } else if ($options instanceof Zend_Config) {
- $this->setConfig($options);
- }
-
- // If no font was defined, load default font
- if (!$this->_fontLoaded) {
- $this->_loadFont(dirname(__FILE__) . '/Figlet/zend-framework.flf');
- }
- }
-
- /**
- * Set options from array
- *
- * @param array $options Configuration for Zend_Text_Figlet
- * @return Zend_Text_Figlet
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
- return $this;
- }
-
- /**
- * Set options from config object
- *
- * @param Zend_Config $config Configuration for Zend_Text_Figlet
- * @return Zend_Text_Figlet
- */
- public function setConfig(Zend_Config $config)
- {
- return $this->setOptions($config->toArray());
- }
-
- /**
- * Set a font to use
- *
- * @param string $font Path to the font
- * @return Zend_Text_Figlet
- */
- public function setFont($font)
- {
- $this->_loadFont($font);
- return $this;
- }
-
- /**
- * Set handling of paragraphs
- *
- * @param boolean $handleParagraphs Wether to handle paragraphs or not
- * @return Zend_Text_Figlet
- */
- public function setHandleParagraphs($handleParagraphs)
- {
- $this->_handleParagraphs = (bool) $handleParagraphs;
- return $this;
- }
-
- /**
- * Set the justification. 0 stands for left aligned, 1 for centered and 2
- * for right aligned.
- *
- * @param integer $justification Justification of the output text
- * @return Zend_Text_Figlet
- */
- public function setJustification($justification)
- {
- $this->_justification = min(3, max(0, (int) $justification));
- return $this;
- }
-
- /**
- * Set the output width
- *
- * @param integer $outputWidth Output with which should be used for word
- * wrapping and justification
- * @return Zend_Text_Figlet
- */
- public function setOutputWidth($outputWidth)
- {
- $this->_outputWidth = max(1, (int) $outputWidth);
- return $this;
- }
-
- /**
- * Set right to left mode. For writing from left to right, use
- * Zend_Text_Figlet::DIRECTION_LEFT_TO_RIGHT. For writing from right to left,
- * use Zend_Text_Figlet::DIRECTION_RIGHT_TO_LEFT.
- *
- * @param integer $rightToLeft Right-to-left mode
- * @return Zend_Text_Figlet
- */
- public function setRightToLeft($rightToLeft)
- {
- $this->_rightToLeft = min(1, max(0, (int) $rightToLeft));
- return $this;
- }
-
- /**
- * Set the smush mode.
- *
- * Use one of the constants of Zend_Text_Figlet::SM_*, you may combine them.
- *
- * @param integer $smushMode Smush mode to use for generating text
- * @return Zend_Text_Figlet
- */
- public function setSmushMode($smushMode)
- {
- $smushMode = (int) $smushMode;
-
- if ($smushMode < -1) {
- $this->_smushOverride = self::SMO_NO;
- } else {
- if ($smushMode === 0) {
- $this->_userSmush = self::SM_KERN;
- } else if ($smushMode === -1) {
- $this->_userSmush = 0;
- } else {
- $this->_userSmush = (($smushMode & 63) | self::SM_SMUSH);
- }
-
- $this->_smushOverride = self::SMO_YES;
- }
-
- $this->_setUsedSmush();
-
- return $this;
- }
-
- /**
- * Render a FIGlet text
- *
- * @param string $text Text to convert to a figlet text
- * @param string $encoding Encoding of the input string
- * @throws InvalidArgumentException When $text is not a string
- * @throws Zend_Text_Figlet_Exception When $text it not properly encoded
- * @return string
- */
- public function render($text, $encoding = 'UTF-8')
- {
- if (!is_string($text)) {
- throw new InvalidArgumentException('$text must be a string');
- }
-
- if ($encoding !== 'UTF-8') {
- $text = iconv($encoding, 'UTF-8', $text);
- }
-
- $this->_output = '';
- $this->_outputLine = array();
-
- $this->_clearLine();
-
- $this->_outlineLengthLimit = ($this->_outputWidth - 1);
- $this->_inCharLineLengthLimit = ($this->_outputWidth * 4 + 100);
-
- $wordBreakMode = 0;
- $lastCharWasEol = false;
- $textLength = @iconv_strlen($text, 'UTF-8');
-
- if ($textLength === false) {
- require_once 'Zend/Text/Figlet/Exception.php';
- throw new Zend_Text_Figlet_Exception('$text is not encoded with ' . $encoding);
- }
-
- for ($charNum = 0; $charNum < $textLength; $charNum++) {
- // Handle paragraphs
- $char = iconv_substr($text, $charNum, 1, 'UTF-8');
-
- if ($char === "\n" && $this->_handleParagraphs && !$lastCharWasEol) {
- $nextChar = iconv_substr($text, ($charNum + 1), 1, 'UTF-8');
- if (!$nextChar) {
- $nextChar = null;
- }
-
- $char = (ctype_space($nextChar)) ? "\n" : ' ';
- }
-
- $lastCharWasEol = (ctype_space($char) && $char !== "\t" && $char !== ' ');
-
- if (ctype_space($char)) {
- $char = ($char === "\t" || $char === ' ') ? ' ': "\n";
- }
-
- // Skip unprintable characters
- $ordChar = $this->_uniOrd($char);
- if (($ordChar > 0 && $ordChar < 32 && $char !== "\n") || $ordChar === 127) {
- continue;
- }
-
- // Build the character
- // Note: The following code is complex and thoroughly tested.
- // Be careful when modifying!
- do {
- $charNotAdded = false;
-
- if ($wordBreakMode === -1) {
- if ($char === ' ') {
- break;
- } else if ($char === "\n") {
- $wordBreakMode = 0;
- break;
- }
-
- $wordBreakMode = 0;
- }
-
- if ($char === "\n") {
- $this->_appendLine();
- $wordBreakMode = false;
- } else if ($this->_addChar($char)) {
- if ($char !== ' ') {
- $wordBreakMode = ($wordBreakMode >= 2) ? 3: 1;
- } else {
- $wordBreakMode = ($wordBreakMode > 0) ? 2: 0;
- }
- } else if ($this->_outlineLength === 0) {
- for ($i = 0; $i < $this->_charHeight; $i++) {
- if ($this->_rightToLeft === 1 && $this->_outputWidth > 1) {
- $offset = (strlen($this->_currentChar[$i]) - $this->_outlineLengthLimit);
- $this->_putString(substr($this->_currentChar[$i], $offset));
- } else {
- $this->_putString($this->_currentChar[$i]);
- }
- }
-
- $wordBreakMode = -1;
- } else if ($char === ' ') {
- if ($wordBreakMode === 2) {
- $this->_splitLine();
- } else {
- $this->_appendLine();
- }
-
- $wordBreakMode = -1;
- } else {
- if ($wordBreakMode >= 2) {
- $this->_splitLine();
- } else {
- $this->_appendLine();
- }
-
- $wordBreakMode = ($wordBreakMode === 3) ? 1 : 0;
- $charNotAdded = true;
- }
- } while ($charNotAdded);
- }
-
- if ($this->_outlineLength !== 0) {
- $this->_appendLine();
- }
-
- return $this->_output;
- }
-
- /**
- * Puts the given string, substituting blanks for hardblanks. If outputWidth
- * is 1, puts the entire string; otherwise puts at most outputWidth - 1
- * characters. Puts a newline at the end of the string. The string is left-
- * justified, centered or right-justified (taking outputWidth as the screen
- * width) if justification is 0, 1 or 2 respectively.
- *
- * @param string $string The string to add to the output
- * @return void
- */
- protected function _putString($string)
- {
- $length = strlen($string);
-
- if ($this->_outputWidth > 1) {
- if ($length > ($this->_outputWidth - 1)) {
- $length = ($this->_outputWidth - 1);
- }
-
- if ($this->_justification > 0) {
- for ($i = 1;
- ((3 - $this->_justification) * $i + $length + $this->_justification - 2) < $this->_outputWidth;
- $i++) {
- $this->_output .= ' ';
- }
- }
- }
-
- $this->_output .= str_replace($this->_hardBlank, ' ', $string) . "\n";
- }
-
- /**
- * Appends the current line to the output
- *
- * @return void
- */
- protected function _appendLine()
- {
- for ($i = 0; $i < $this->_charHeight; $i++) {
- $this->_putString($this->_outputLine[$i]);
- }
-
- $this->_clearLine();
- }
-
- /**
- * Splits inCharLine at the last word break (bunch of consecutive blanks).
- * Makes a new line out of the first part and appends it using appendLine().
- * Makes a new line out of the second part and returns.
- *
- * @return void
- */
- protected function _splitLine()
- {
- $gotSpace = false;
- for ($i = ($this->_inCharLineLength - 1); $i >= 0; $i--) {
- if (!$gotSpace && $this->_inCharLine[$i] === ' ') {
- $gotSpace = true;
- $lastSpace = $i;
- }
-
- if ($gotSpace && $this->_inCharLine[$i] !== ' ') {
- break;
- }
- }
-
- $firstLength = ($i + 1);
- $lastLength = ($this->_inCharLineLength - $lastSpace - 1);
-
- $firstPart = '';
- for ($i = 0; $i < $firstLength; $i++) {
- $firstPart[$i] = $this->_inCharLine[$i];
- }
-
- $lastPart = '';
- for ($i = 0; $i < $lastLength; $i++) {
- $lastPart[$i] = $this->_inCharLine[($lastSpace + 1 + $i)];
- }
-
- $this->_clearLine();
-
- for ($i = 0; $i < $firstLength; $i++) {
- $this->_addChar($firstPart[$i]);
- }
-
- $this->_appendLine();
-
- for ($i = 0; $i < $lastLength; $i++) {
- $this->_addChar($lastPart[$i]);
- }
- }
-
- /**
- * Clears the current line
- *
- * @return void
- */
- protected function _clearLine()
- {
- for ($i = 0; $i < $this->_charHeight; $i++) {
- $this->_outputLine[$i] = '';
- }
-
- $this->_outlineLength = 0;
- $this->_inCharLineLength = 0;
- }
-
- /**
- * Attempts to add the given character onto the end of the current line.
- * Returns true if this can be done, false otherwise.
- *
- * @param string $char Character which to add to the output
- * @return boolean
- */
- protected function _addChar($char)
- {
- $this->_getLetter($char);
-
- if ($this->_currentChar === null) {
- return true;
- }
-
- $smushAmount = $this->_smushAmount();
-
- if (($this->_outlineLength + $this->_currentCharWidth - $smushAmount) > $this->_outlineLengthLimit
- || ($this->_inCharLineLength + 1) > $this->_inCharLineLengthLimit) {
- return false;
- }
-
- $tempLine = '';
- for ($row = 0; $row < $this->_charHeight; $row++) {
- if ($this->_rightToLeft === 1) {
- $tempLine = $this->_currentChar[$row];
-
- for ($k = 0; $k < $smushAmount; $k++) {
- $position = ($this->_currentCharWidth - $smushAmount + $k);
- $tempLine[$position] = $this->_smushem($tempLine[$position], $this->_outputLine[$row][$k]);
- }
-
- $this->_outputLine[$row] = $tempLine . substr($this->_outputLine[$row], $smushAmount);
- } else {
- for ($k = 0; $k < $smushAmount; $k++) {
- if (($this->_outlineLength - $smushAmount + $k) < 0) {
- continue;
- }
-
- $position = ($this->_outlineLength - $smushAmount + $k);
- if (isset($this->_outputLine[$row][$position])) {
- $leftChar = $this->_outputLine[$row][$position];
- } else {
- $leftChar = null;
- }
-
- $this->_outputLine[$row][$position] = $this->_smushem($leftChar, $this->_currentChar[$row][$k]);
- }
-
- $this->_outputLine[$row] .= substr($this->_currentChar[$row], $smushAmount);
- }
- }
-
- $this->_outlineLength = strlen($this->_outputLine[0]);
- $this->_inCharLine[$this->_inCharLineLength++] = $char;
-
- return true;
- }
-
- /**
- * Gets the requested character and sets current and previous char width.
- *
- * @param string $char The character from which to get the letter of
- * @return void
- */
- protected function _getLetter($char)
- {
- if (array_key_exists($this->_uniOrd($char), $this->_charList)) {
- $this->_currentChar = $this->_charList[$this->_uniOrd($char)];
- $this->_previousCharWidth = $this->_currentCharWidth;
- $this->_currentCharWidth = strlen($this->_currentChar[0]);
- } else {
- $this->_currentChar = null;
- }
- }
-
- /**
- * Returns the maximum amount that the current character can be smushed into
- * the current line.
- *
- * @return integer
- */
- protected function _smushAmount()
- {
- if (($this->_smushMode & (self::SM_SMUSH | self::SM_KERN)) === 0) {
- return 0;
- }
-
- $maxSmush = $this->_currentCharWidth;
- $amount = $maxSmush;
-
- for ($row = 0; $row < $this->_charHeight; $row++) {
- if ($this->_rightToLeft === 1) {
- $charbd = strlen($this->_currentChar[$row]);
- while (true) {
- if (!isset($this->_currentChar[$row][$charbd])) {
- $leftChar = null;
- } else {
- $leftChar = $this->_currentChar[$row][$charbd];
- }
-
- if ($charbd > 0 && ($leftChar === null || $leftChar == ' ')) {
- $charbd--;
- } else {
- break;
- }
- }
-
- $linebd = 0;
- while (true) {
- if (!isset($this->_outputLine[$row][$linebd])) {
- $rightChar = null;
- } else {
- $rightChar = $this->_outputLine[$row][$linebd];
- }
-
- if ($rightChar === ' ') {
- $linebd++;
- } else {
- break;
- }
- }
-
- $amount = ($linebd + $this->_currentCharWidth - 1 - $charbd);
- } else {
- $linebd = strlen($this->_outputLine[$row]);
- while (true) {
- if (!isset($this->_outputLine[$row][$linebd])) {
- $leftChar = null;
- } else {
- $leftChar = $this->_outputLine[$row][$linebd];
- }
-
- if ($linebd > 0 && ($leftChar === null || $leftChar == ' ')) {
- $linebd--;
- } else {
- break;
- }
- }
-
- $charbd = 0;
- while (true) {
- if (!isset($this->_currentChar[$row][$charbd])) {
- $rightChar = null;
- } else {
- $rightChar = $this->_currentChar[$row][$charbd];
- }
-
- if ($rightChar === ' ') {
- $charbd++;
- } else {
- break;
- }
- }
-
- $amount = ($charbd + $this->_outlineLength - 1 - $linebd);
- }
-
- if (empty($leftChar) || $leftChar === ' ') {
- $amount++;
- } else if (!empty($rightChar)) {
- if ($this->_smushem($leftChar, $rightChar) !== null) {
- $amount++;
- }
- }
-
- $maxSmush = min($amount, $maxSmush);
- }
-
- return $maxSmush;
- }
-
- /**
- * Given two characters, attempts to smush them into one, according to the
- * current smushmode. Returns smushed character or false if no smushing can
- * be done.
- *
- * Smushmode values are sum of following (all values smush blanks):
- *
- * 1: Smush equal chars (not hardblanks)
- * 2: Smush '_' with any char in hierarchy below
- * 4: hierarchy: "|", "/\", "[]", "{}", "()", "<>"
- * Each class in hier. can be replaced by later class.
- * 8: [ + ] -> |, { + } -> |, ( + ) -> |
- * 16: / + \ -> X, > + < -> X (only in that order)
- * 32: hardblank + hardblank -> hardblank
- *
- * @param string $leftChar Left character to smush
- * @param string $rightChar Right character to smush
- * @return string
- */
- protected function _smushem($leftChar, $rightChar)
- {
- if ($leftChar === ' ') {
- return $rightChar;
- }
-
- if ($rightChar === ' ') {
- return $leftChar;
- }
-
- if ($this->_previousCharWidth < 2 || $this->_currentCharWidth < 2) {
- // Disallows overlapping if the previous character or the current
- // character has a width of one or zero.
- return null;
- }
-
- if (($this->_smushMode & self::SM_SMUSH) === 0) {
- // Kerning
- return null;
- }
-
- if (($this->_smushMode & 63) === 0) {
- // This is smushing by universal overlapping
- if ($leftChar === ' ') {
- return $rightChar;
- } else if ($rightChar === ' ') {
- return $leftChar;
- } else if ($leftChar === $this->_hardBlank) {
- return $rightChar;
- } else if ($rightChar === $this->_hardBlank) {
- return $rightChar;
- } else if ($this->_rightToLeft === 1) {
- return $leftChar;
- } else {
- // Occurs in the absence of above exceptions
- return $rightChar;
- }
- }
-
- if (($this->_smushMode & self::SM_HARDBLANK) > 0) {
- if ($leftChar === $this->_hardBlank && $rightChar === $this->_hardBlank) {
- return $leftChar;
- }
- }
-
- if ($leftChar === $this->_hardBlank && $rightChar === $this->_hardBlank) {
- return null;
- }
-
- if (($this->_smushMode & self::SM_EQUAL) > 0) {
- if ($leftChar === $rightChar) {
- return $leftChar;
- }
- }
-
- if (($this->_smushMode & self::SM_LOWLINE) > 0) {
- if ($leftChar === '_' && strchr('|/\\[]{}()<>', $rightChar) !== false) {
- return $rightChar;
- } else if ($rightChar === '_' && strchr('|/\\[]{}()<>', $leftChar) !== false) {
- return $leftChar;
- }
- }
-
- if (($this->_smushMode & self::SM_HIERARCHY) > 0) {
- if ($leftChar === '|' && strchr('/\\[]{}()<>', $rightChar) !== false) {
- return $rightChar;
- } else if ($rightChar === '|' && strchr('/\\[]{}()<>', $leftChar) !== false) {
- return $leftChar;
- } else if (strchr('/\\', $leftChar) && strchr('[]{}()<>', $rightChar) !== false) {
- return $rightChar;
- } else if (strchr('/\\', $rightChar) && strchr('[]{}()<>', $leftChar) !== false) {
- return $leftChar;
- } else if (strchr('[]', $leftChar) && strchr('{}()<>', $rightChar) !== false) {
- return $rightChar;
- } else if (strchr('[]', $rightChar) && strchr('{}()<>', $leftChar) !== false) {
- return $leftChar;
- } else if (strchr('{}', $leftChar) && strchr('()<>', $rightChar) !== false) {
- return $rightChar;
- } else if (strchr('{}', $rightChar) && strchr('()<>', $leftChar) !== false) {
- return $leftChar;
- } else if (strchr('()', $leftChar) && strchr('<>', $rightChar) !== false) {
- return $rightChar;
- } else if (strchr('()', $rightChar) && strchr('<>', $leftChar) !== false) {
- return $leftChar;
- }
- }
-
- if (($this->_smushMode & self::SM_PAIR) > 0) {
- if ($leftChar === '[' && $rightChar === ']') {
- return '|';
- } else if ($rightChar === '[' && $leftChar === ']') {
- return '|';
- } else if ($leftChar === '{' && $rightChar === '}') {
- return '|';
- } else if ($rightChar === '{' && $leftChar === '}') {
- return '|';
- } else if ($leftChar === '(' && $rightChar === ')') {
- return '|';
- } else if ($rightChar === '(' && $leftChar === ')') {
- return '|';
- }
- }
-
- if (($this->_smushMode & self::SM_BIGX) > 0) {
- if ($leftChar === '/' && $rightChar === '\\') {
- return '|';
- } else if ($rightChar === '/' && $leftChar === '\\') {
- return 'Y';
- } else if ($leftChar === '>' && $rightChar === '<') {
- return 'X';
- }
- }
-
- return null;
- }
-
- /**
- * Load the specified font
- *
- * @param string $fontFile Font file to load
- * @throws Zend_Text_Figlet_Exception When font file was not found
- * @throws Zend_Text_Figlet_Exception When GZIP library is required but not found
- * @throws Zend_Text_Figlet_Exception When font file is not readable
- * @return void
- */
- protected function _loadFont($fontFile)
- {
- // Check if the font file exists
- if (!file_exists($fontFile)) {
- require_once 'Zend/Text/Figlet/Exception.php';
- throw new Zend_Text_Figlet_Exception($fontFile . ': Font file not found');
- }
-
- // Check if gzip support is required
- if (substr($fontFile, -3) === '.gz') {
- if (!function_exists('gzcompress')) {
- require_once 'Zend/Text/Figlet/Exception.php';
- throw new Zend_Text_Figlet_Exception('GZIP library is required for '
- . 'gzip compressed font files');
- }
-
- $fontFile = 'compress.zlib://' . $fontFile;
- $compressed = true;
- } else {
- $compressed = false;
- }
-
- // Try to open the file
- $fp = fopen($fontFile, 'rb');
- if ($fp === false) {
- require_once 'Zend/Text/Figlet/Exception.php';
- throw new Zend_Text_Figlet_Exception($fontFile . ': Could not open file');
- }
-
- // If the file is not compressed, lock the stream
- if (!$compressed) {
- flock($fp, LOCK_SH);
- }
-
- // Get magic
- $magic = $this->_readMagic($fp);
-
- // Get the header
- $numsRead = sscanf(fgets($fp, 1000),
- '%*c%c %d %*d %d %d %d %d %d',
- $this->_hardBlank,
- $this->_charHeight,
- $this->_maxLength,
- $smush,
- $cmtLines,
- $rightToLeft,
- $this->_fontSmush);
-
- if ($magic !== self::FONTFILE_MAGIC_NUMBER || $numsRead < 5) {
- require_once 'Zend/Text/Figlet/Exception.php';
- throw new Zend_Text_Figlet_Exception($fontFile . ': Not a FIGlet 2 font file');
- }
-
- // Set default right to left
- if ($numsRead < 6) {
- $rightToLeft = 0;
- }
-
- // If no smush2, decode smush into smush2
- if ($numsRead < 7) {
- if ($smush === 2) {
- $this->_fontSmush = self::SM_KERN;
- } else if ($smush < 0) {
- $this->_fontSmush = 0;
- } else {
- $this->_fontSmush = (($smush & 31) | self::SM_SMUSH);
- }
- }
-
- // Correct char height && maxlength
- $this->_charHeight = max(1, $this->_charHeight);
- $this->_maxLength = max(1, $this->_maxLength);
-
- // Give ourselves some extra room
- $this->_maxLength += 100;
-
- // See if we have to override smush settings
- $this->_setUsedSmush();
-
- // Get left to right value
- if ($this->_rightToLeft === null) {
- $this->_rightToLeft = $rightToLeft;
- }
-
- // Get justification value
- if ($this->_justification === null) {
- $this->_justification = (2 * $this->_rightToLeft);
- }
-
- // Skip all comment lines
- for ($line = 1; $line <= $cmtLines; $line++) {
- $this->_skipToEol($fp);
- }
-
- // Fetch all ASCII characters
- for ($asciiCode = 32; $asciiCode < 127; $asciiCode++) {
- $this->_charList[$asciiCode] = $this->_loadChar($fp);
- }
-
- // Fetch all german characters
- foreach ($this->_germanChars as $uniCode) {
- $char = $this->_loadChar($fp);
-
- if ($char === false) {
- fclose($fp);
- return;
- }
-
- if (trim(implode('', $char)) !== '') {
- $this->_charList[$uniCode] = $char;
- }
- }
-
- // At the end fetch all extended characters
- while (!feof($fp)) {
- // Get the Unicode
- list($uniCode) = explode(' ', fgets($fp, 2048));
-
- if (empty($uniCode)) {
- continue;
- }
-
- // Convert it if required
- if (substr($uniCode, 0, 2) === '0x') {
- $uniCode = hexdec(substr($uniCode, 2));
- } else if (substr($uniCode, 0, 1) === '0' and
- $uniCode !== '0' or
- substr($uniCode, 0, 2) === '-0') {
- $uniCode = octdec($uniCode);
- } else {
- $uniCode = (int) $uniCode;
- }
-
- // Now fetch the character
- $char = $this->_loadChar($fp);
-
- if ($char === false) {
- fclose($fp);
- return;
- }
-
- $this->_charList[$uniCode] = $char;
- }
-
- fclose($fp);
-
- $this->_fontLoaded = true;
- }
-
- /**
- * Set the used smush mode, according to smush override, user smsush and
- * font smush.
- *
- * @return void
- */
- protected function _setUsedSmush()
- {
- if ($this->_smushOverride === self::SMO_NO) {
- $this->_smushMode = $this->_fontSmush;
- } else if ($this->_smushOverride === self::SMO_YES) {
- $this->_smushMode = $this->_userSmush;
- } else if ($this->_smushOverride === self::SMO_FORCE) {
- $this->_smushMode = ($this->_fontSmush | $this->_userSmush);
- }
- }
-
- /**
- * Reads a four-character magic string from a stream
- *
- * @param resource $fp File pointer to the font file
- * @return string
- */
- protected function _readMagic($fp)
- {
- $magic = '';
-
- for ($i = 0; $i < 4; $i++) {
- $magic .= fgetc($fp);
- }
-
- return $magic;
- }
-
- /**
- * Skip a stream to the end of line
- *
- * @param resource $fp File pointer to the font file
- * @return void
- */
- protected function _skipToEol($fp)
- {
- $dummy = fgetc($fp);
- while ($dummy !== false && !feof($fp)) {
- if ($dummy === "\n") {
- return;
- }
-
- if ($dummy === "\r") {
- $dummy = fgetc($fp);
-
- if (!feof($fp) && $dummy !== "\n") {
- fseek($fp, -1, SEEK_SET);
- }
-
- return;
- }
-
- $dummy = fgetc($fp);
- }
- }
-
- /**
- * Load a single character from the font file
- *
- * @param resource $fp File pointer to the font file
- * @return array
- */
- protected function _loadChar($fp)
- {
- $char = array();
-
- for ($i = 0; $i < $this->_charHeight; $i++) {
- if (feof($fp)) {
- return false;
- }
-
- $line = rtrim(fgets($fp, 2048), "\r\n");
-
- if (preg_match('#(.)\\1?$#', $line, $result) === 1) {
- $line = str_replace($result[1], '', $line);
- }
-
- $char[] = $line;
- }
-
- return $char;
- }
-
- /**
- * Unicode compatible ord() method
- *
- * @param string $c The char to get the value from
- * @return integer
- */
- protected function _uniOrd($c)
- {
- $h = ord($c[0]);
-
- if ($h <= 0x7F) {
- $ord = $h;
- } else if ($h < 0xC2) {
- $ord = 0;
- } else if ($h <= 0xDF) {
- $ord = (($h & 0x1F) << 6 | (ord($c[1]) & 0x3F));
- } else if ($h <= 0xEF) {
- $ord = (($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6 | (ord($c[2]) & 0x3F));
- } else if ($h <= 0xF4) {
- $ord = (($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12 |
- (ord($c[2]) & 0x3F) << 6 | (ord($c[3]) & 0x3F));
- } else {
- $ord = 0;
- }
-
- return $ord;
- }
-}
diff --git a/airtime_mvc/library/Zend/Text/Figlet/Exception.php b/airtime_mvc/library/Zend/Text/Figlet/Exception.php
deleted file mode 100644
index 8834c546e..000000000
--- a/airtime_mvc/library/Zend/Text/Figlet/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-#
- #
- #
- #
- #
- #
- ##
-?#
- #
- #
- #
- #
- #
- ##
-@#
- #
- #
- #
- #
- #
- ##
- ___ #
- / _ \\ #
- / //\ \\ #
-| ___ ||#
-|_|| |_||#
-`-` `-` #
- ##
- ______ #
-| \\ #
-| --$ // #
-| -- \\ #
-|______// #
-`------` #
- ##
- _____ #
- / ____|| #
-/ //---`' #
-\ \\___ #
- \_____|| #
- `----` #
- ##
- _____ #
-| __ \\ #
-| |$ \ || #
-| |__/ || #
-|_____// #
- -----` #
- ##
- _____ #
- | ___|| #
- | ||__ #
- | ||__ #
- |_____|| #
- `-----` #
- ##
- ______ #
- /_____// #
- `____ ` #
- /___// #
- `__ ` #
- /_// #
- `-` ##
- _____ #
- / ___|| #
-| //$__ #
-| \\_\ || #
- \____// #
- `---` #
- ##
- __ _ #
-| || | || #
-| '--' || #
-| .--. || #
-|_|| |_|| #
-`-` `-` #
- ##
- ______ #
- /_ _// #
- -| ||- #
- _| ||_ #
- /_____// #
- `-----` #
- ##
- ______ #
- /_ _// #
- | || #
- _| || #
- /__// #
- `--` #
- ##
- _ __ #
- | |/ // #
- | ' // #
- | . \\ #
- |_|\_\\ #
- `-` --` #
- ##
- __ #
- | || #
- | || #
- | ||__ #
- |____// #
- `----` #
- ##
- _ _ #
-| \ / || #
-| \/ || #
-| . . || #
-|_|\/|_|| #
-`-` `-` #
- ##
- _ _ #
- | \| || #
- | ' || #
- | . || #
- |_|\_|| #
- `-` -` #
- ##
- ___ #
- / _ \\ #
- | /$\ || #
- | \_/ || #
- \___// #
- `---` #
- ##
- ____ #
- | _ \\ #
- | |_| || #
- | .__// #
- |_|--` #
- `-` #
- ##
- ___ #
- / _ \\ #
-| /$\ || #
-| \_/ || #
- \___ \\ #
- `---` #
- ##
- ____ #
- | _ \\ #
- | |_| || #
- | . // #
- |_|\_\\ #
- `-` --` #
- ##
- _____ #
- / ___// #
- \___ \\ #
- / $ // #
- /____// #
-`-----` #
- ##
- ______ #
- /_ _// #
- `-| |,- #
- | || #
- |_|| #
- `-`' #
- ##
- _ _ #
-| || | || #
-| || | || #
-| \\_/ || #
- \____// #
- `---` #
- ##
-__ __ #
-\ \\ / // #
- \ \/ // #
- \ // #
- \// #
- ` #
- ##
- _ _ #
-| | | || #
-| |/\| || #
-| /\ || #
-|_// \_|| #
-`-` `-` #
- ##
- __ __ #
- \ \\/ // #
- \ $ // #
- / . \\ #
- /_//\_\\ #
- `-` --` #
- ##
- __ __ #
- \ \\/ // #
- \ ` // #
- | || #
- |_|| #
- `-`' #
- ##
- ______ #
-|____ // #
- / // #
- / // #
- / //__ #
-/______|| #
-`------` ##
-[#
- #
- #
- #
- #
- #
- ##
-\#
- #
- #
- #
- #
- #
- ##
-]#
- #
- #
- #
- #
- #
- ##
-^#
- #
- #
- #
- #
- #
- ##
-_#
- #
- #
- #
- #
- #
- ##
-`#
- #
- #
- #
- #
- #
- ##
- ___ #
- / _ \\ #
- / //\ \\ #
-| ___ ||#
-|_|| |_||#
-`-` `-` #
- ##
- ______ #
-| \\ #
-| --$ // #
-| -- \\ #
-|______// #
-`------` #
- ##
- _____ #
- / ____|| #
-/ //---`' #
-\ \\___ #
- \_____|| #
- `----` #
- ##
- _____ #
-| __ \\ #
-| |$ \ || #
-| |__/ || #
-|_____// #
- -----` #
- ##
- _____ #
- | ___|| #
- | ||__ #
- | ||__ #
- |_____|| #
- `-----` #
- ##
- ______ #
- /_____// #
- `____ ` #
- /___// #
- `__ ` #
- /_// #
- `-` ##
- _____ #
- / ___|| #
-| //$__ #
-| \\_\ || #
- \____// #
- `---` #
- ##
- __ _ #
-| || | || #
-| '--' || #
-| .--. || #
-|_|| |_|| #
-`-` `-` #
- ##
- ______ #
- /_ _// #
- -| ||- #
- _| ||_ #
- /_____// #
- `-----` #
- ##
- ______ #
- /_ _// #
- | || #
- _| || #
- /__// #
- `--` #
- ##
- _ __ #
- | |/ // #
- | ' // #
- | . \\ #
- |_|\_\\ #
- `-` --` #
- ##
- __ #
- | || #
- | || #
- | ||__ #
- |____// #
- `----` #
- ##
- _ _ #
-| \ / || #
-| \/ || #
-| . . || #
-|_|\/|_|| #
-`-` `-` #
- ##
- _ _ #
- | \| || #
- | ' || #
- | . || #
- |_|\_|| #
- `-` -` #
- ##
- ___ #
- / _ \\ #
- | /$\ || #
- | \_/ || #
- \___// #
- `---` #
- ##
- #
- ____ #
- | \\ #
- | [] || #
- | __// #
- |_|`-` #
- `-` ##
- #
- ___ #
- / || #
- | [] || #
- \__ || #
- -|_|| #
- `-` ##
- ____ #
- | _ \\ #
- | |_| || #
- | . // #
- |_|\_\\ #
- `-` --` #
- ##
- _____ #
- / ___// #
- \___ \\ #
- / $ // #
- /____// #
-`-----` #
- ##
- ______ #
- /_ _// #
- `-| |,- #
- | || #
- |_|| #
- `-`' #
- ##
- _ _ #
-| || | || #
-| || | || #
-| \\_/ || #
- \____// #
- `---` #
- ##
-__ __ #
-\ \\ / // #
- \ \/ // #
- \ // #
- \// #
- ` #
- ##
- _ _ #
-| | | || #
-| |/\| || #
-| /\ || #
-|_// \_|| #
-`-` `-` #
- ##
- __ __ #
- \ \\/ // #
- \ $ // #
- / . \\ #
- /_//\_\\ #
- `-` --` #
- ##
- __ __ #
- \ \\/ // #
- \ ` // #
- | || #
- |_|| #
- `-`' #
- ##
- _____ #
- |__ // #
- / // #
- / //__ #
- /_____|| #
- `-----` #
- ##
-{#
- #
- #
- #
- #
- #
- ##
-|#
- #
- #
- #
- #
- #
- ##
-}#
- #
- #
- #
- #
- #
- ##
-~#
- #
- #
- #
- #
- #
- ##
- []|_[]| #
- / _ \\ #
- / //\ \\ #
-| $___$ ||#
-|_||$ |_||#
-`-` `-` #
- ##
- []|_[]| #
- / _ \\ #
- | /$\ || #
- | \_/ || #
- \___// #
- ---` #
- ##
- []| []| #
-| ||$| || #
-| ||$| || #
-| \\_/ || #
- \____// #
- `---` #
- ##
- []|_[]| #
- / _ \\ #
- / //\ \\ #
-| $___$ ||#
-|_||$ |_||#
-`-` `-` #
- ##
- []|_[]| #
- / _ \\ #
- | /$\ || #
- | \_/ || #
- \___// #
- ---` #
- ##
- []| []| #
-| ||$| || #
-| ||$| || #
-| \\_/ || #
- \____// #
- `---` #
- ##
- ,--. #
- | _$ \\ #
- | // #
- | |\ \\ #
- |$ ___\\ #
- |_|----` #
- - ##
-162 CENT SIGN
- _ #
- | || #
- / __// #
-| (__` #
- \ \\ #
- |_|` #
- `-` ##
-215 MULTIPLICATION SIGN
- #
- #
- \\// #
- \\ #
- //\\ #
- #
- ##
diff --git a/airtime_mvc/library/Zend/Text/MultiByte.php b/airtime_mvc/library/Zend/Text/MultiByte.php
deleted file mode 100644
index c3cd04e11..000000000
--- a/airtime_mvc/library/Zend/Text/MultiByte.php
+++ /dev/null
@@ -1,153 +0,0 @@
- 0) {
- $subString = iconv_substr($string, 0, $width, $charset);
-
- if ($subString === $string) {
- $cutLength = null;
- } else {
- $nextChar = iconv_substr($string, $width, 1, $charset);
-
- if ($nextChar === ' ' || $nextChar === $break) {
- $afterNextChar = iconv_substr($string, $width + 1, 1, $charset);
-
- if ($afterNextChar === false) {
- $subString .= $nextChar;
- }
-
- $cutLength = iconv_strlen($subString, $charset) + 1;
- } else {
- $spacePos = iconv_strrpos($subString, ' ', $charset);
-
- if ($spacePos !== false) {
- $subString = iconv_substr($subString, 0, $spacePos, $charset);
- $cutLength = $spacePos + 1;
- } else if ($cut === false) {
- $spacePos = iconv_strpos($string, ' ', 0, $charset);
-
- if ($spacePos !== false) {
- $subString = iconv_substr($string, 0, $spacePos, $charset);
- $cutLength = $spacePos + 1;
- } else {
- $subString = $string;
- $cutLength = null;
- }
- } else {
- $breakPos = iconv_strpos($subString, $break, 0, $charset);
-
- if ($breakPos !== false) {
- $subString = iconv_substr($subString, 0, $breakPos, $charset);
- $cutLength = $breakPos + 1;
- } else {
- $subString = iconv_substr($subString, 0, $width, $charset);
- $cutLength = $width;
- }
- }
- }
- }
-
- $result[] = $subString;
-
- if ($cutLength !== null) {
- $string = iconv_substr($string, $cutLength, ($stringLength - $cutLength), $charset);
- } else {
- break;
- }
- }
-
- return implode($break, $result);
- }
-
- /**
- * String padding
- *
- * @param string $input
- * @param integer $padLength
- * @param string $padString
- * @param integer $padType
- * @param string $charset
- * @return string
- */
- public static function strPad($input, $padLength, $padString = ' ', $padType = STR_PAD_RIGHT, $charset = 'UTF-8')
- {
- $return = '';
- $lengthOfPadding = $padLength - iconv_strlen($input, $charset);
- $padStringLength = iconv_strlen($padString, $charset);
-
- if ($padStringLength === 0 || $lengthOfPadding === 0) {
- $return = $input;
- } else {
- $repeatCount = floor($lengthOfPadding / $padStringLength);
-
- if ($padType === STR_PAD_BOTH) {
- $lastStringLeft = '';
- $lastStringRight = '';
- $repeatCountLeft = $repeatCountRight = ($repeatCount - $repeatCount % 2) / 2;
-
- $lastStringLength = $lengthOfPadding - 2 * $repeatCountLeft * $padStringLength;
- $lastStringLeftLength = $lastStringRightLength = floor($lastStringLength / 2);
- $lastStringRightLength += $lastStringLength % 2;
-
- $lastStringLeft = iconv_substr($padString, 0, $lastStringLeftLength, $charset);
- $lastStringRight = iconv_substr($padString, 0, $lastStringRightLength, $charset);
-
- $return = str_repeat($padString, $repeatCountLeft) . $lastStringLeft
- . $input
- . str_repeat($padString, $repeatCountRight) . $lastStringRight;
- } else {
- $lastString = iconv_substr($padString, 0, $lengthOfPadding % $padStringLength, $charset);
-
- if ($padType === STR_PAD_LEFT) {
- $return = str_repeat($padString, $repeatCount) . $lastString . $input;
- } else {
- $return = $input . str_repeat($padString, $repeatCount) . $lastString;
- }
- }
- }
-
- return $return;
- }
-}
diff --git a/airtime_mvc/library/Zend/Text/Table.php b/airtime_mvc/library/Zend/Text/Table.php
deleted file mode 100644
index a6f62fa95..000000000
--- a/airtime_mvc/library/Zend/Text/Table.php
+++ /dev/null
@@ -1,532 +0,0 @@
-setOptions($options);
- } else if ($options instanceof Zend_Config) {
- $this->setConfig($options);
- }
-
- // Check if column widths were set
- // @todo When column widths were not set, assume auto-sizing
- if ($this->_columnWidths === null) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('You must define the column widths');
- }
-
- // If no decorator was given, use default unicode decorator
- if ($this->_decorator === null) {
- if (self::getOutputCharset() === 'utf-8') {
- $this->setDecorator('unicode');
- } else {
- $this->setDecorator('ascii');
- }
- }
- }
-
- /**
- * Set options from array
- *
- * @param array $options Configuration for Zend_Text_Table
- * @return Zend_Text_Table
- */
- public function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- if (in_array(strtolower($key), $this->_skipOptions)) {
- continue;
- }
-
- $method = 'set' . ucfirst($key);
- if (method_exists($this, $method)) {
- $this->$method($value);
- }
- }
-
- return $this;
- }
-
- /**
- * Set options from config object
- *
- * @param Zend_Config $config Configuration for Zend_Text_Table
- * @return Zend_Text_Table
- */
- public function setConfig(Zend_Config $config)
- {
- return $this->setOptions($config->toArray());
- }
-
- /**
- * Set column widths
- *
- * @param array $columnWidths Widths of all columns
- * @throws Zend_Text_Table_Exception When no columns were supplied
- * @throws Zend_Text_Table_Exception When a column has an invalid width
- * @return Zend_Text_Table
- */
- public function setColumnWidths(array $columnWidths)
- {
- if (count($columnWidths) === 0) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('You must supply at least one column');
- }
-
- foreach ($columnWidths as $columnNum => $columnWidth) {
- if (is_int($columnWidth) === false or $columnWidth < 1) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('Column ' . $columnNum . ' has an invalid'
- . ' column width');
- }
- }
-
- $this->_columnWidths = $columnWidths;
-
- return $this;
- }
-
- /**
- * Set auto separation mode
- *
- * @param integer $autoSeparate Auto separation mode
- * @return Zend_Text_Table
- */
- public function setAutoSeparate($autoSeparate)
- {
- $this->_autoSeparate = (int) $autoSeparate;
- return $this;
- }
-
- /**
- * Set decorator
- *
- * @param Zend_Text_Table_Decorator_Interface|string $decorator Decorator to use
- * @return Zend_Text_Table
- */
- public function setDecorator($decorator)
- {
- if ($decorator instanceof Zend_Text_Table_Decorator_Interface) {
- $this->_decorator = $decorator;
- } else {
- $classname = $this->getPluginLoader()->load($decorator);
- $this->_decorator = new $classname;
- }
-
- return $this;
- }
-
- /**
- * Set the column padding
- *
- * @param integer $padding The padding for the columns
- * @return Zend_Text_Table
- */
- public function setPadding($padding)
- {
- $this->_padding = max(0, (int) $padding);
- return $this;
- }
-
- /**
- * Get the plugin loader for decorators
- *
- * @return Zend_Loader_PluginLoader
- */
- public function getPluginLoader()
- {
- if ($this->_pluginLoader === null) {
- $prefix = 'Zend_Text_Table_Decorator_';
- $pathPrefix = 'Zend/Text/Table/Decorator/';
-
- require_once 'Zend/Loader/PluginLoader.php';
- $this->_pluginLoader = new Zend_Loader_PluginLoader(array($prefix => $pathPrefix));
- }
-
- return $this->_pluginLoader;
- }
-
- /**
- * Set default column align for rows created by appendRow(array $data)
- *
- * @param integer $columnNum
- * @param string $align
- * @return Zend_Text_Table
- */
- public function setDefaultColumnAlign($columnNum, $align)
- {
- $this->_defaultColumnAligns[$columnNum] = $align;
-
- return $this;
- }
-
- /**
- * Set the input charset for column contents
- *
- * @param string $charset
- */
- public static function setInputCharset($charset)
- {
- self::$_inputCharset = strtolower($charset);
- }
-
- /**
- * Get the input charset for column contents
- *
- * @param string $charset
- */
- public static function getInputCharset()
- {
- return self::$_inputCharset;
- }
-
- /**
- * Set the output charset for column contents
- *
- * @param string $charset
- */
- public static function setOutputCharset($charset)
- {
- self::$_outputCharset = strtolower($charset);
- }
-
- /**
- * Get the output charset for column contents
- *
- * @param string $charset
- */
- public static function getOutputCharset()
- {
- return self::$_outputCharset;
- }
-
- /**
- * Append a row to the table
- *
- * @param array|Zend_Text_Table_Row $row The row to append to the table
- * @throws Zend_Text_Table_Exception When $row is neither an array nor Zend_Zext_Table_Row
- * @throws Zend_Text_Table_Exception When a row contains too many columns
- * @return Zend_Text_Table
- */
- public function appendRow($row)
- {
- if (!is_array($row) && !($row instanceof Zend_Text_Table_Row)) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('$row must be an array or instance of Zend_Text_Table_Row');
- }
-
- if (is_array($row)) {
- if (count($row) > count($this->_columnWidths)) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('Row contains too many columns');
- }
-
- require_once 'Zend/Text/Table/Row.php';
-
- $data = $row;
- $row = new Zend_Text_Table_Row();
- $colNum = 0;
- foreach ($data as $columnData) {
- if (isset($this->_defaultColumnAligns[$colNum])) {
- $align = $this->_defaultColumnAligns[$colNum];
- } else {
- $align = null;
- }
-
- $row->appendColumn(new Zend_Text_Table_Column($columnData, $align));
- $colNum++;
- }
- }
-
- $this->_rows[] = $row;
-
- return $this;
- }
-
- /**
- * Render the table
- *
- * @throws Zend_Text_Table_Exception When no rows were added to the table
- * @return string
- */
- public function render()
- {
- // There should be at least one row
- if (count($this->_rows) === 0) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('No rows were added to the table yet');
- }
-
- // Initiate the result variable
- $result = '';
-
- // Count total columns
- $totalNumColumns = count($this->_columnWidths);
-
- // Now render all rows, starting from the first one
- $numRows = count($this->_rows);
- foreach ($this->_rows as $rowNum => $row) {
- // Get all column widths
- if (isset($columnWidths) === true) {
- $lastColumnWidths = $columnWidths;
- }
-
- $renderedRow = $row->render($this->_columnWidths, $this->_decorator, $this->_padding);
- $columnWidths = $row->getColumnWidths();
- $numColumns = count($columnWidths);
-
- // Check what we have to draw
- if ($rowNum === 0) {
- // If this is the first row, draw the table top
- $result .= $this->_decorator->getTopLeft();
-
- foreach ($columnWidths as $columnNum => $columnWidth) {
- $result .= str_repeat($this->_decorator->getHorizontal(),
- $columnWidth);
-
- if (($columnNum + 1) === $numColumns) {
- $result .= $this->_decorator->getTopRight();
- } else {
- $result .= $this->_decorator->getHorizontalDown();
- }
- }
-
- $result .= "\n";
- } else {
- // Else check if we have to draw the row separator
- if ($this->_autoSeparate & self::AUTO_SEPARATE_ALL) {
- $drawSeparator = true;
- } else if ($rowNum === 1 && $this->_autoSeparate & self::AUTO_SEPARATE_HEADER) {
- $drawSeparator = true;
- } else if ($rowNum === ($numRows - 1) && $this->_autoSeparate & self::AUTO_SEPARATE_FOOTER) {
- $drawSeparator = true;
- } else {
- $drawSeparator = false;
- }
-
- if ($drawSeparator) {
- $result .= $this->_decorator->getVerticalRight();
-
- $currentUpperColumn = 0;
- $currentLowerColumn = 0;
- $currentUpperWidth = 0;
- $currentLowerWidth = 0;
-
- // Loop through all column widths
- foreach ($this->_columnWidths as $columnNum => $columnWidth) {
- // Add the horizontal line
- $result .= str_repeat($this->_decorator->getHorizontal(),
- $columnWidth);
-
- // If this is the last line, break out
- if (($columnNum + 1) === $totalNumColumns) {
- break;
- }
-
- // Else check, which connector style has to be used
- $connector = 0x0;
- $currentUpperWidth += $columnWidth;
- $currentLowerWidth += $columnWidth;
-
- if ($lastColumnWidths[$currentUpperColumn] === $currentUpperWidth) {
- $connector |= 0x1;
- $currentUpperColumn += 1;
- $currentUpperWidth = 0;
- } else {
- $currentUpperWidth += 1;
- }
-
- if ($columnWidths[$currentLowerColumn] === $currentLowerWidth) {
- $connector |= 0x2;
- $currentLowerColumn += 1;
- $currentLowerWidth = 0;
- } else {
- $currentLowerWidth += 1;
- }
-
- switch ($connector) {
- case 0x0:
- $result .= $this->_decorator->getHorizontal();
- break;
-
- case 0x1:
- $result .= $this->_decorator->getHorizontalUp();
- break;
-
- case 0x2:
- $result .= $this->_decorator->getHorizontalDown();
- break;
-
- case 0x3:
- $result .= $this->_decorator->getCross();
- break;
-
- default:
- // This can never happen, but the CS tells I have to have it ...
- break;
- }
- }
-
- $result .= $this->_decorator->getVerticalLeft() . "\n";
- }
- }
-
- // Add the rendered row to the result
- $result .= $renderedRow;
-
- // If this is the last row, draw the table bottom
- if (($rowNum + 1) === $numRows) {
- $result .= $this->_decorator->getBottomLeft();
-
- foreach ($columnWidths as $columnNum => $columnWidth) {
- $result .= str_repeat($this->_decorator->getHorizontal(),
- $columnWidth);
-
- if (($columnNum + 1) === $numColumns) {
- $result .= $this->_decorator->getBottomRight();
- } else {
- $result .= $this->_decorator->getHorizontalUp();
- }
- }
-
- $result .= "\n";
- }
- }
-
- return $result;
- }
-
- /**
- * Magic method which returns the rendered table
- *
- * @return string
- */
- public function __toString()
- {
- try {
- return $this->render();
- } catch (Exception $e) {
- trigger_error($e->getMessage(), E_USER_ERROR);
- }
-
- }
-}
diff --git a/airtime_mvc/library/Zend/Text/Table/Column.php b/airtime_mvc/library/Zend/Text/Table/Column.php
deleted file mode 100644
index 385c085de..000000000
--- a/airtime_mvc/library/Zend/Text/Table/Column.php
+++ /dev/null
@@ -1,243 +0,0 @@
-setContent($content, $charset);
- }
-
- if ($align !== null) {
- $this->setAlign($align);
- }
-
- if ($colSpan !== null) {
- $this->setColSpan($colSpan);
- }
- }
-
- /**
- * Set the content.
- *
- * If $charset is not defined, it is assumed that $content is encoded in
- * the charset defined via Zend_Text_Table::setInputCharset() (defaults
- * to utf-8).
- *
- * @param string $content Content of the column
- * @param string $charset The charset of the content
- * @throws Zend_Text_Table_Exception When $content is not a string
- * @return Zend_Text_Table_Column
- */
- public function setContent($content, $charset = null)
- {
- if (is_string($content) === false) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('$content must be a string');
- }
-
- if ($charset === null) {
- $inputCharset = Zend_Text_Table::getInputCharset();
- } else {
- $inputCharset = strtolower($charset);
- }
-
- $outputCharset = Zend_Text_Table::getOutputCharset();
-
- if ($inputCharset !== $outputCharset) {
- if (PHP_OS !== 'AIX') {
- // AIX does not understand these character sets
- $content = iconv($inputCharset, $outputCharset, $content);
- }
-
- }
-
- $this->_content = $content;
-
- return $this;
- }
-
- /**
- * Set the align
- *
- * @param string $align Align of the column
- * @throws Zend_Text_Table_Exception When supplied align is invalid
- * @return Zend_Text_Table_Column
- */
- public function setAlign($align)
- {
- if (in_array($align, $this->_allowedAligns) === false) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('Invalid align supplied');
- }
-
- $this->_align = $align;
-
- return $this;
- }
-
- /**
- * Set the colspan
- *
- * @param int $colSpan
- * @throws Zend_Text_Table_Exception When $colSpan is smaller than 1
- * @return Zend_Text_Table_Column
- */
- public function setColSpan($colSpan)
- {
- if (is_int($colSpan) === false or $colSpan < 1) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('$colSpan must be an integer and greater than 0');
- }
-
- $this->_colSpan = $colSpan;
-
- return $this;
- }
-
- /**
- * Get the colspan
- *
- * @return integer
- */
- public function getColSpan()
- {
- return $this->_colSpan;
- }
-
- /**
- * Render the column width the given column width
- *
- * @param integer $columnWidth The width of the column
- * @param integer $padding The padding for the column
- * @throws Zend_Text_Table_Exception When $columnWidth is lower than 1
- * @throws Zend_Text_Table_Exception When padding is greater than columnWidth
- * @return string
- */
- public function render($columnWidth, $padding = 0)
- {
- if (is_int($columnWidth) === false or $columnWidth < 1) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('$columnWidth must be an integer and greater than 0');
- }
-
- $columnWidth -= ($padding * 2);
-
- if ($columnWidth < 1) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('Padding (' . $padding . ') is greater than column width');
- }
-
- switch ($this->_align) {
- case self::ALIGN_LEFT:
- $padMode = STR_PAD_RIGHT;
- break;
-
- case self::ALIGN_CENTER:
- $padMode = STR_PAD_BOTH;
- break;
-
- case self::ALIGN_RIGHT:
- $padMode = STR_PAD_LEFT;
- break;
-
- default:
- // This can never happen, but the CS tells I have to have it ...
- break;
- }
-
- $outputCharset = Zend_Text_Table::getOutputCharset();
- $lines = explode("\n", Zend_Text_MultiByte::wordWrap($this->_content, $columnWidth, "\n", true, $outputCharset));
- $paddedLines = array();
-
- foreach ($lines AS $line) {
- $paddedLines[] = str_repeat(' ', $padding)
- . Zend_Text_MultiByte::strPad($line, $columnWidth, ' ', $padMode, $outputCharset)
- . str_repeat(' ', $padding);
- }
-
- $result = implode("\n", $paddedLines);
-
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/Text/Table/Decorator/Ascii.php b/airtime_mvc/library/Zend/Text/Table/Decorator/Ascii.php
deleted file mode 100644
index be836a745..000000000
--- a/airtime_mvc/library/Zend/Text/Table/Decorator/Ascii.php
+++ /dev/null
@@ -1,147 +0,0 @@
-_uniChar(0x250C);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getTopRight()
- {
- return $this->_uniChar(0x2510);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getBottomLeft()
- {
- return $this->_uniChar(0x2514);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getBottomRight()
- {
- return $this->_uniChar(0x2518);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getVertical()
- {
- return $this->_uniChar(0x2502);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getHorizontal()
- {
- return $this->_uniChar(0x2500);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getCross()
- {
- return $this->_uniChar(0x253C);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getVerticalRight()
- {
- return $this->_uniChar(0x251C);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getVerticalLeft()
- {
- return $this->_uniChar(0x2524);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getHorizontalDown()
- {
- return $this->_uniChar(0x252C);
- }
-
- /**
- * Defined by Zend_Text_Table_Decorator_Interface
- *
- * @return string
- */
- public function getHorizontalUp()
- {
- return $this->_uniChar(0x2534);
- }
-
- /**
- * Convert am unicode character code to a character
- *
- * @param integer $code
- * @return string|false
- */
- protected function _uniChar($code)
- {
- if ($code <= 0x7F) {
- $char = chr($code);
- } else if ($code <= 0x7FF) {
- $char = chr(0xC0 | $code >> 6)
- . chr(0x80 | $code & 0x3F);
- } else if ($code <= 0xFFFF) {
- $char = chr(0xE0 | $code >> 12)
- . chr(0x80 | $code >> 6 & 0x3F)
- . chr(0x80 | $code & 0x3F);
- } else if ($code <= 0x10FFFF) {
- $char = chr(0xF0 | $code >> 18)
- . chr(0x80 | $code >> 12 & 0x3F)
- . chr(0x80 | $code >> 6 & 0x3F)
- . chr(0x80 | $code & 0x3F);
- } else {
- return false;
- }
-
- return $char;
- }
-}
diff --git a/airtime_mvc/library/Zend/Text/Table/Exception.php b/airtime_mvc/library/Zend/Text/Table/Exception.php
deleted file mode 100644
index 7eb647ea3..000000000
--- a/airtime_mvc/library/Zend/Text/Table/Exception.php
+++ /dev/null
@@ -1,38 +0,0 @@
-appendColumn($column);
-
- return $this;
- }
-
- /**
- * Append a column to the row
- *
- * @param Zend_Text_Table_Column $column The column to append to the row
- * @return Zend_Text_Table_Row
- */
- public function appendColumn(Zend_Text_Table_Column $column)
- {
- $this->_columns[] = $column;
-
- return $this;
- }
-
- /**
- * Get a column by it's index
- *
- * Returns null, when the index is out of range
- *
- * @param integer $index
- * @return Zend_Text_Table_Column|null
- */
- public function getColumn($index)
- {
- if (!isset($this->_columns[$index])) {
- return null;
- }
-
- return $this->_columns[$index];
- }
-
- /**
- * Get all columns of the row
- *
- * @return array
- */
- public function getColumns()
- {
- return $this->_columns;
- }
-
- /**
- * Get the widths of all columns, which were rendered last
- *
- * @throws Zend_Text_Table_Exception When no columns were rendered yet
- * @return integer
- */
- public function getColumnWidths()
- {
- if ($this->_columnWidths === null) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('No columns were rendered yet');
- }
-
- return $this->_columnWidths;
- }
-
- /**
- * Render the row
- *
- * @param array $columnWidths Width of all columns
- * @param Zend_Text_Table_Decorator_Interface $decorator Decorator for the row borders
- * @param integer $padding Padding for the columns
- * @throws Zend_Text_Table_Exception When there are too many columns
- * @return string
- */
- public function render(array $columnWidths,
- Zend_Text_Table_Decorator_Interface $decorator,
- $padding = 0)
- {
- // Prepare an array to store all column widths
- $this->_columnWidths = array();
-
- // If there is no single column, create a column which spans over the
- // entire row
- if (count($this->_columns) === 0) {
- require_once 'Zend/Text/Table/Column.php';
- $this->appendColumn(new Zend_Text_Table_Column(null, null, count($columnWidths)));
- }
-
- // First we have to render all columns, to get the maximum height
- $renderedColumns = array();
- $maxHeight = 0;
- $colNum = 0;
- foreach ($this->_columns as $column) {
- // Get the colspan of the column
- $colSpan = $column->getColSpan();
-
- // Verify if there are enough column widths defined
- if (($colNum + $colSpan) > count($columnWidths)) {
- require_once 'Zend/Text/Table/Exception.php';
- throw new Zend_Text_Table_Exception('Too many columns');
- }
-
- // Calculate the column width
- $columnWidth = ($colSpan - 1 + array_sum(array_slice($columnWidths,
- $colNum,
- $colSpan)));
-
- // Render the column and split it's lines into an array
- $result = explode("\n", $column->render($columnWidth, $padding));
-
- // Store the width of the rendered column
- $this->_columnWidths[] = $columnWidth;
-
- // Store the rendered column and calculate the new max height
- $renderedColumns[] = $result;
- $maxHeight = max($maxHeight, count($result));
-
- // Set up the internal column number
- $colNum += $colSpan;
- }
-
- // If the row doesnt contain enough columns to fill the entire row, fill
- // it with an empty column
- if ($colNum < count($columnWidths)) {
- $remainingWidth = (count($columnWidths) - $colNum - 1) +
- array_sum(array_slice($columnWidths,
- $colNum));
- $renderedColumns[] = array(str_repeat(' ', $remainingWidth));
-
- $this->_columnWidths[] = $remainingWidth;
- }
-
- // Add each single column line to the result
- $result = '';
- for ($line = 0; $line < $maxHeight; $line++) {
- $result .= $decorator->getVertical();
-
- foreach ($renderedColumns as $renderedColumn) {
- if (isset($renderedColumn[$line]) === true) {
- $result .= $renderedColumn[$line];
- } else {
- $result .= str_repeat(' ', strlen($renderedColumn[0]));
- }
-
- $result .= $decorator->getVertical();
- }
-
- $result .= "\n";
- }
-
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/TimeSync.php b/airtime_mvc/library/Zend/TimeSync.php
deleted file mode 100644
index 9774d3a1f..000000000
--- a/airtime_mvc/library/Zend/TimeSync.php
+++ /dev/null
@@ -1,304 +0,0 @@
- 1
- );
-
- /**
- * Zend_TimeSync constructor
- *
- * @param string|array $target - OPTIONAL single timeserver, or an array of timeservers.
- * @param string $alias - OPTIONAL an alias for this timeserver
- * @return object
- */
- public function __construct($target = null, $alias = null)
- {
- if ($target !== null) {
- $this->addServer($target, $alias);
- }
- }
-
- /**
- * getIterator() - return an iteratable object for use in foreach and the like,
- * this completes the IteratorAggregate interface
- *
- * @return ArrayObject
- */
- public function getIterator()
- {
- return new ArrayObject($this->_timeservers);
- }
-
- /**
- * Add a timeserver or multiple timeservers
- *
- * Server should be a single string representation of a timeserver,
- * or a structured array listing multiple timeservers.
- *
- * If you provide an array of timeservers in the $target variable,
- * $alias will be ignored. you can enter these as the array key
- * in the provided array, which should be structured as follows:
- *
- *
- * $example = array(
- * 'server_a' => 'ntp://127.0.0.1',
- * 'server_b' => 'ntp://127.0.0.1:123',
- * 'server_c' => 'ntp://[2000:364:234::2.5]',
- * 'server_d' => 'ntp://[2000:364:234::2.5]:123'
- * );
- *
- *
- * If no port number has been suplied, the default matching port
- * number will be used.
- *
- * Supported protocols are:
- * - ntp
- * - sntp
- *
- * @param string|array $target - Single timeserver, or an array of timeservers.
- * @param string $alias - OPTIONAL an alias for this timeserver
- * @throws Zend_TimeSync_Exception
- */
- public function addServer($target, $alias = null)
- {
- if (is_array($target)) {
- foreach ($target as $key => $server) {
- $this->_addServer($server, $key);
- }
- } else {
- $this->_addServer($target, $alias);
- }
- }
-
- /**
- * Sets the value for the given options
- *
- * This will replace any currently defined options.
- *
- * @param array $options - An array of options to be set
- */
- public static function setOptions(array $options)
- {
- foreach ($options as $key => $value) {
- Zend_TimeSync::$options[$key] = $value;
- }
- }
-
- /**
- * Marks a nameserver as current
- *
- * @param string|integer $alias - The alias from the timeserver to set as current
- * @throws Zend_TimeSync_Exception
- */
- public function setServer($alias)
- {
- if (isset($this->_timeservers[$alias]) === true) {
- $this->_current = $this->_timeservers[$alias];
- } else {
- require_once 'Zend/TimeSync/Exception.php';
- throw new Zend_TimeSync_Exception("'$alias' does not point to valid timeserver");
- }
- }
-
- /**
- * Returns the value to the option
- *
- * @param string $key - The option's identifier
- * @return mixed
- * @throws Zend_TimeSync_Exception
- */
- public static function getOptions($key = null)
- {
- if ($key == null) {
- return Zend_TimeSync::$options;
- }
-
- if (isset(Zend_TimeSync::$options[$key]) === true) {
- return Zend_TimeSync::$options[$key];
- } else {
- require_once 'Zend/TimeSync/Exception.php';
- throw new Zend_TimeSync_Exception("'$key' does not point to valid option");
- }
- }
-
- /**
- * Return a specified timeserver by alias
- * If no alias is given it will return the current timeserver
- *
- * @param string|integer $alias - The alias from the timeserver to return
- * @return object
- * @throws Zend_TimeSync_Exception
- */
- public function getServer($alias = null)
- {
- if ($alias === null) {
- if (isset($this->_current) && $this->_current !== false) {
- return $this->_current;
- } else {
- require_once 'Zend/TimeSync/Exception.php';
- throw new Zend_TimeSync_Exception('there is no timeserver set');
- }
- }
- if (isset($this->_timeservers[$alias]) === true) {
- return $this->_timeservers[$alias];
- } else {
- require_once 'Zend/TimeSync/Exception.php';
- throw new Zend_TimeSync_Exception("'$alias' does not point to valid timeserver");
- }
- }
-
- /**
- * Returns information sent/returned from the current timeserver
- *
- * @return array
- */
- public function getInfo()
- {
- return $this->getServer()->getInfo();
- }
-
- /**
- * Query the timeserver list using the fallback mechanism
- *
- * If there are multiple servers listed, this method will act as a
- * facade and will try to return the date from the first server that
- * returns a valid result.
- *
- * @param $locale - OPTIONAL locale
- * @return object
- * @throws Zend_TimeSync_Exception
- */
- public function getDate($locale = null)
- {
- require_once 'Zend/TimeSync/Exception.php';
- foreach ($this->_timeservers as $alias => $server) {
- $this->_current = $server;
- try {
- return $server->getDate($locale);
- } catch (Zend_TimeSync_Exception $e) {
- if (!isset($masterException)) {
- $masterException = new Zend_TimeSync_Exception('all timeservers are bogus');
- }
- $masterException->addException($e);
- }
- }
-
- throw $masterException;
- }
-
- /**
- * Adds a timeserver object to the timeserver list
- *
- * @param string|array $target - Single timeserver, or an array of timeservers.
- * @param string $alias - An alias for this timeserver
- */
- protected function _addServer($target, $alias)
- {
- if ($pos = strpos($target, '://')) {
- $protocol = substr($target, 0, $pos);
- $adress = substr($target, $pos + 3);
- } else {
- $adress = $target;
- $protocol = self::DEFAULT_PROTOCOL;
- }
-
- if ($pos = strrpos($adress, ':')) {
- $posbr = strpos($adress, ']');
- if ($posbr and ($pos > $posbr)) {
- $port = substr($adress, $pos + 1);
- $adress = substr($adress, 0, $pos);
- } else if (!$posbr and $pos) {
- $port = substr($adress, $pos + 1);
- $adress = substr($adress, 0, $pos);
- } else {
- $port = null;
- }
- } else {
- $port = null;
- }
-
- $protocol = ucfirst(strtolower($protocol));
- if (!in_array($protocol, $this->_allowedSchemes)) {
- require_once 'Zend/TimeSync/Exception.php';
- throw new Zend_TimeSync_Exception("'$protocol' is not a supported protocol");
- }
-
- $className = 'Zend_TimeSync_' . $protocol;
- if (!class_exists($className)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($className);
- }
- $timeServerObj = new $className($adress, $port);
-
- $this->_timeservers[$alias] = $timeServerObj;
- }
-}
diff --git a/airtime_mvc/library/Zend/TimeSync/Exception.php b/airtime_mvc/library/Zend/TimeSync/Exception.php
deleted file mode 100644
index 9685a2900..000000000
--- a/airtime_mvc/library/Zend/TimeSync/Exception.php
+++ /dev/null
@@ -1,64 +0,0 @@
-_exceptions[] = $exception;
- }
-
- /**
- * Returns an array of exceptions that were thrown
- *
- * @return array
- */
- public function get()
- {
- return $this->_exceptions;
- }
-}
diff --git a/airtime_mvc/library/Zend/TimeSync/Ntp.php b/airtime_mvc/library/Zend/TimeSync/Ntp.php
deleted file mode 100644
index 5d49753ca..000000000
--- a/airtime_mvc/library/Zend/TimeSync/Ntp.php
+++ /dev/null
@@ -1,431 +0,0 @@
-_timeserver = 'udp://' . $timeserver;
- if ($port !== null) {
- $this->_port = $port;
- }
- }
-
- /**
- * Prepare local timestamp for transmission in our request packet
- *
- * NTP timestamps are represented as a 64-bit fixed-point number, in
- * seconds relative to 0000 UT on 1 January 1900. The integer part is
- * in the first 32 bits and the fraction part in the last 32 bits
- *
- * @return string
- */
- protected function _prepare()
- {
- $frac = microtime();
- $fracba = ($frac & 0xff000000) >> 24;
- $fracbb = ($frac & 0x00ff0000) >> 16;
- $fracbc = ($frac & 0x0000ff00) >> 8;
- $fracbd = ($frac & 0x000000ff);
-
- $sec = (time() + 2208988800);
- $secba = ($sec & 0xff000000) >> 24;
- $secbb = ($sec & 0x00ff0000) >> 16;
- $secbc = ($sec & 0x0000ff00) >> 8;
- $secbd = ($sec & 0x000000ff);
-
- // Flags
- $nul = chr(0x00);
- $nulbyte = $nul . $nul . $nul . $nul;
- $ntppacket = chr(0xd9) . $nul . chr(0x0a) . chr(0xfa);
-
- /*
- * Root delay
- *
- * Indicates the total roundtrip delay to the primary reference
- * source at the root of the synchronization subnet, in seconds
- */
- $ntppacket .= $nul . $nul . chr(0x1c) . chr(0x9b);
-
- /*
- * Clock Dispersion
- *
- * Indicates the maximum error relative to the primary reference source at the
- * root of the synchronization subnet, in seconds
- */
- $ntppacket .= $nul . chr(0x08) . chr(0xd7) . chr(0xff);
-
- /*
- * ReferenceClockID
- *
- * Identifying the particular reference clock
- */
- $ntppacket .= $nulbyte;
-
- /*
- * The local time, in timestamp format, at the peer when its latest NTP message
- * was sent. Contanis an integer and a fractional part
- */
- $ntppacket .= chr($secba) . chr($secbb) . chr($secbc) . chr($secbd);
- $ntppacket .= chr($fracba) . chr($fracbb) . chr($fracbc) . chr($fracbd);
-
- /*
- * The local time, in timestamp format, at the peer. Contains an integer
- * and a fractional part.
- */
- $ntppacket .= $nulbyte;
- $ntppacket .= $nulbyte;
-
- /*
- * This is the local time, in timestamp format, when the latest NTP message from
- * the peer arrived. Contanis an integer and a fractional part.
- */
- $ntppacket .= $nulbyte;
- $ntppacket .= $nulbyte;
-
- /*
- * The local time, in timestamp format, at which the
- * NTP message departed the sender. Contanis an integer
- * and a fractional part.
- */
- $ntppacket .= chr($secba) . chr($secbb) . chr($secbc) . chr($secbd);
- $ntppacket .= chr($fracba) . chr($fracbb) . chr($fracbc) . chr($fracbd);
-
- return $ntppacket;
- }
-
- /**
- * Calculates a 32bit integer
- *
- * @param string $input
- * @return integer
- */
- protected function _getInteger($input)
- {
- $f1 = str_pad(ord($input[0]), 2, '0', STR_PAD_LEFT);
- $f1 .= str_pad(ord($input[1]), 2, '0', STR_PAD_LEFT);
- $f1 .= str_pad(ord($input[2]), 2, '0', STR_PAD_LEFT);
- $f1 .= str_pad(ord($input[3]), 2, '0', STR_PAD_LEFT);
- return (int) $f1;
- }
-
- /**
- * Calculates a 32bit signed fixed point number
- *
- * @param string $input
- * @return float
- */
- protected function _getFloat($input)
- {
- $f1 = str_pad(ord($input[0]), 2, '0', STR_PAD_LEFT);
- $f1 .= str_pad(ord($input[1]), 2, '0', STR_PAD_LEFT);
- $f1 .= str_pad(ord($input[2]), 2, '0', STR_PAD_LEFT);
- $f1 .= str_pad(ord($input[3]), 2, '0', STR_PAD_LEFT);
- $f2 = $f1 >> 17;
- $f3 = ($f1 & 0x0001FFFF);
- $f1 = $f2 . '.' . $f3;
- return (float) $f1;
- }
-
- /**
- * Calculates a 64bit timestamp
- *
- * @param string $input
- * @return float
- */
- protected function _getTimestamp($input)
- {
- $f1 = (ord($input[0]) * pow(256, 3));
- $f1 += (ord($input[1]) * pow(256, 2));
- $f1 += (ord($input[2]) * pow(256, 1));
- $f1 += (ord($input[3]));
- $f1 -= 2208988800;
-
- $f2 = (ord($input[4]) * pow(256, 3));
- $f2 += (ord($input[5]) * pow(256, 2));
- $f2 += (ord($input[6]) * pow(256, 1));
- $f2 += (ord($input[7]));
-
- return (float) ($f1 . "." . $f2);
- }
-
- /**
- * Reads the data returned from the timeserver
- *
- * This will return an array with binary data listing:
- *
- * @return array
- * @throws Zend_TimeSync_Exception When timeserver can not be connected
- */
- protected function _read()
- {
- $flags = ord(fread($this->_socket, 1));
- $info = stream_get_meta_data($this->_socket);
-
- if ($info['timed_out'] === true) {
- fclose($this->_socket);
- throw new Zend_TimeSync_Exception('could not connect to ' .
- "'$this->_timeserver' on port '$this->_port', reason: 'server timed out'");
- }
-
- $result = array(
- 'flags' => $flags,
- 'stratum' => ord(fread($this->_socket, 1)),
- 'poll' => ord(fread($this->_socket, 1)),
- 'precision' => ord(fread($this->_socket, 1)),
- 'rootdelay' => $this->_getFloat(fread($this->_socket, 4)),
- 'rootdispersion' => $this->_getFloat(fread($this->_socket, 4)),
- 'referenceid' => fread($this->_socket, 4),
- 'referencestamp' => $this->_getTimestamp(fread($this->_socket, 8)),
- 'originatestamp' => $this->_getTimestamp(fread($this->_socket, 8)),
- 'receivestamp' => $this->_getTimestamp(fread($this->_socket, 8)),
- 'transmitstamp' => $this->_getTimestamp(fread($this->_socket, 8)),
- 'clientreceived' => microtime(true)
- );
-
- $this->_disconnect();
- return $result;
- }
-
- /**
- * Sends the NTP packet to the server
- *
- * @param string $data Data to send to the timeserver
- * @return void
- */
- protected function _write($data)
- {
- $this->_connect();
-
- fwrite($this->_socket, $data);
- stream_set_timeout($this->_socket, Zend_TimeSync::$options['timeout']);
- }
-
- /**
- * Extracts the binary data returned from the timeserver
- *
- * @param string|array $binary Data returned from the timeserver
- * @return integer Difference in seconds
- */
- protected function _extract($binary)
- {
- /*
- * Leap Indicator bit 1100 0000
- *
- * Code warning of impending leap-second to be inserted at the end of
- * the last day of the current month.
- */
- $leap = ($binary['flags'] & 0xc0) >> 6;
- switch($leap) {
- case 0:
- $this->_info['leap'] = '0 - no warning';
- break;
-
- case 1:
- $this->_info['leap'] = '1 - last minute has 61 seconds';
- break;
-
- case 2:
- $this->_info['leap'] = '2 - last minute has 59 seconds';
- break;
-
- default:
- $this->_info['leap'] = '3 - not syncronised';
- break;
- }
-
- /*
- * Version Number bit 0011 1000
- *
- * This should be 3 (RFC 1305)
- */
- $this->_info['version'] = ($binary['flags'] & 0x38) >> 3;
-
- /*
- * Mode bit 0000 0111
- *
- * Except in broadcast mode, an NTP association is formed when two peers
- * exchange messages and one or both of them create and maintain an
- * instantiation of the protocol machine, called an association.
- */
- $mode = ($binary['flags'] & 0x07);
- switch($mode) {
- case 1:
- $this->_info['mode'] = 'symetric active';
- break;
-
- case 2:
- $this->_info['mode'] = 'symetric passive';
- break;
-
- case 3:
- $this->_info['mode'] = 'client';
- break;
-
- case 4:
- $this->_info['mode'] = 'server';
- break;
-
- case 5:
- $this->_info['mode'] = 'broadcast';
- break;
-
- default:
- $this->_info['mode'] = 'reserved';
- break;
- }
-
- $ntpserviceid = 'Unknown Stratum ' . $binary['stratum'] . ' Service';
-
- /*
- * Reference Clock Identifier
- *
- * Identifies the particular reference clock.
- */
- $refid = strtoupper($binary['referenceid']);
- switch($binary['stratum']) {
- case 0:
- if (substr($refid, 0, 3) === 'DCN') {
- $ntpserviceid = 'DCN routing protocol';
- } else if (substr($refid, 0, 4) === 'NIST') {
- $ntpserviceid = 'NIST public modem';
- } else if (substr($refid, 0, 3) === 'TSP') {
- $ntpserviceid = 'TSP time protocol';
- } else if (substr($refid, 0, 3) === 'DTS') {
- $ntpserviceid = 'Digital Time Service';
- }
- break;
-
- case 1:
- if (substr($refid, 0, 4) === 'ATOM') {
- $ntpserviceid = 'Atomic Clock (calibrated)';
- } else if (substr($refid, 0, 3) === 'VLF') {
- $ntpserviceid = 'VLF radio';
- } else if ($refid === 'CALLSIGN') {
- $ntpserviceid = 'Generic radio';
- } else if (substr($refid, 0, 4) === 'LORC') {
- $ntpserviceid = 'LORAN-C radionavigation';
- } else if (substr($refid, 0, 4) === 'GOES') {
- $ntpserviceid = 'GOES UHF environment satellite';
- } else if (substr($refid, 0, 3) === 'GPS') {
- $ntpserviceid = 'GPS UHF satellite positioning';
- }
- break;
-
- default:
- $ntpserviceid = ord(substr($binary['referenceid'], 0, 1));
- $ntpserviceid .= '.';
- $ntpserviceid .= ord(substr($binary['referenceid'], 1, 1));
- $ntpserviceid .= '.';
- $ntpserviceid .= ord(substr($binary['referenceid'], 2, 1));
- $ntpserviceid .= '.';
- $ntpserviceid .= ord(substr($binary['referenceid'], 3, 1));
- break;
- }
-
- $this->_info['ntpid'] = $ntpserviceid;
-
- /*
- * Stratum
- *
- * Indicates the stratum level of the local clock
- */
- switch($binary['stratum']) {
- case 0:
- $this->_info['stratum'] = 'undefined';
- break;
-
- case 1:
- $this->_info['stratum'] = 'primary reference';
- break;
-
- default:
- $this->_info['stratum'] = 'secondary reference';
- break;
- }
-
- /*
- * Indicates the total roundtrip delay to the primary reference source at the
- * root of the synchronization subnet, in seconds.
- *
- * Both positive and negative values, depending on clock precision and skew, are
- * possible.
- */
- $this->_info['rootdelay'] = $binary['rootdelay'];
-
- /*
- * Indicates the maximum error relative to the primary reference source at the
- * root of the synchronization subnet, in seconds.
- *
- * Only positive values greater than zero are possible.
- */
- $this->_info['rootdispersion'] = $binary['rootdispersion'];
-
- /*
- * The roundtrip delay of the peer clock relative to the local clock
- * over the network path between them, in seconds.
- *
- * Note that this variable can take on both positive and negative values,
- * depending on clock precision and skew-error accumulation.
- */
- $this->_info['roundtrip'] = $binary['receivestamp'];
- $this->_info['roundtrip'] -= $binary['originatestamp'];
- $this->_info['roundtrip'] -= $binary['transmitstamp'];
- $this->_info['roundtrip'] += $binary['clientreceived'];
- $this->_info['roundtrip'] /= 2;
-
- // The offset of the peer clock relative to the local clock, in seconds.
- $this->_info['offset'] = $binary['receivestamp'];
- $this->_info['offset'] -= $binary['originatestamp'];
- $this->_info['offset'] += $binary['transmitstamp'];
- $this->_info['offset'] -= $binary['clientreceived'];
- $this->_info['offset'] /= 2;
- $time = (time() - $this->_info['offset']);
-
- return $time;
- }
-}
diff --git a/airtime_mvc/library/Zend/TimeSync/Protocol.php b/airtime_mvc/library/Zend/TimeSync/Protocol.php
deleted file mode 100644
index fe19c5cfc..000000000
--- a/airtime_mvc/library/Zend/TimeSync/Protocol.php
+++ /dev/null
@@ -1,148 +0,0 @@
-_timeserver, $this->_port, $errno, $errstr,
- Zend_TimeSync::$options['timeout']);
- if ($socket === false) {
- throw new Zend_TimeSync_Exception('could not connect to ' .
- "'$this->_timeserver' on port '$this->_port', reason: '$errstr'");
- }
-
- $this->_socket = $socket;
- }
-
- /**
- * Disconnects from the peer, closes the socket.
- *
- * @return void
- */
- protected function _disconnect()
- {
- @fclose($this->_socket);
- $this->_socket = null;
- }
-
- /**
- * Return information sent/returned from the timeserver
- *
- * @return array
- */
- public function getInfo()
- {
- if (empty($this->_info) === true) {
- $this->_write($this->_prepare());
- $timestamp = $this->_extract($this->_read());
- }
-
- return $this->_info;
- }
-
- /**
- * Query this timeserver without using the fallback mechanism
- *
- * @param string|Zend_Locale $locale (Optional) Locale
- * @return Zend_Date
- */
- public function getDate($locale = null)
- {
- $this->_write($this->_prepare());
- $timestamp = $this->_extract($this->_read());
-
- $date = new Zend_Date($this, null, $locale);
- return $date;
- }
-}
diff --git a/airtime_mvc/library/Zend/TimeSync/Sntp.php b/airtime_mvc/library/Zend/TimeSync/Sntp.php
deleted file mode 100644
index fd55279d2..000000000
--- a/airtime_mvc/library/Zend/TimeSync/Sntp.php
+++ /dev/null
@@ -1,119 +0,0 @@
-_timeserver = 'udp://' . $timeserver;
- if ($port !== null) {
- $this->_port = $port;
- }
- }
-
- /**
- * Prepares the data that will be send to the timeserver
- *
- * @return array
- */
- protected function _prepare()
- {
- return "\n";
- }
-
- /**
- * Reads the data returned from the timeserver
- *
- * @return string
- */
- protected function _read()
- {
- $result = fread($this->_socket, 49);
- $this->_delay = (($this->_delay - time()) / 2);
-
- return $result;
- }
-
- /**
- * Writes data to to the timeserver
- *
- * @param string $data Data to write to the timeserver
- * @return void
- */
- protected function _write($data)
- {
- $this->_connect();
- $this->_delay = time();
- fputs($this->_socket, $data);
- }
-
- /**
- * Extracts the data returned from the timeserver
- *
- * @param string $result Data to extract
- * @return integer
- */
- protected function _extract($result)
- {
- $dec = hexdec('7fffffff');
- $time = abs(($dec - hexdec(bin2hex($result))) - $dec);
- $time -= 2208988800;
- // Socket delay
- $time -= $this->_delay;
-
- $this->_info['offset'] = $this->_delay;
-
- return $time;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Action/Base.php b/airtime_mvc/library/Zend/Tool/Framework/Action/Base.php
deleted file mode 100644
index 4b5009acd..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Action/Base.php
+++ /dev/null
@@ -1,95 +0,0 @@
-setName($options);
- }
- // implement $options here in the future if this is needed
- }
- }
-
- /**
- * setName()
- *
- * @param string $name
- * @return Zend_Tool_Framework_Action_Base
- */
- public function setName($name)
- {
- $this->_name = $name;
- return $this;
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- if ($this->_name == null) {
- $this->_name = $this->_parseName();
- }
- return $this->_name;
- }
-
- /**
- * _parseName - internal method to determine the name of an action when one is not explicity provided.
- *
- * @param Zend_Tool_Framework_Action_Interface $action
- * @return string
- */
- protected function _parseName()
- {
- $className = get_class($this);
- $actionName = substr($className, strrpos($className, '_')+1);
- return $actionName;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Action/Exception.php b/airtime_mvc/library/Zend/Tool/Framework/Action/Exception.php
deleted file mode 100644
index 36419feb1..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Action/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_registry = $registry;
- }
-
- /**
- * addAction()
- *
- * @param Zend_Tool_Framework_Action_Interface $action
- * @return Zend_Tool_Framework_Action_Repository
- */
- public function addAction(Zend_Tool_Framework_Action_Interface $action, $overrideExistingAction = false)
- {
- $actionName = $action->getName();
-
- if ($actionName == '' || $actionName == 'Base') {
- require_once 'Zend/Tool/Framework/Action/Exception.php';
- throw new Zend_Tool_Framework_Action_Exception('An action name for the provided action could not be determined.');
- }
-
- if (!$overrideExistingAction && array_key_exists(strtolower($actionName), $this->_actions)) {
- require_once 'Zend/Tool/Framework/Action/Exception.php';
- throw new Zend_Tool_Framework_Action_Exception('An action by the name ' . $actionName
- . ' is already registered and $overrideExistingAction is set to false.');
- }
-
- $this->_actions[strtolower($actionName)] = $action;
- return $this;
- }
-
- /**
- * process() - this is called when the client is done constructing (after init())
- *
- * @return unknown
- */
- public function process()
- {
- return null;
- }
-
- /**
- * getActions() - get all actions in the repository
- *
- * @return array
- */
- public function getActions()
- {
- return $this->_actions;
- }
-
- /**
- * getAction() - get an action by a specific name
- *
- * @param string $actionName
- * @return Zend_Tool_Framework_Action_Interface
- */
- public function getAction($actionName)
- {
- if (!array_key_exists(strtolower($actionName), $this->_actions)) {
- return null;
- }
-
- return $this->_actions[strtolower($actionName)];
- }
-
- /**
- * count() required by the Countable interface
- *
- * @return int
- */
- public function count()
- {
- return count($this->_actions);
- }
-
- /**
- * getIterator() - get all actions, this supports the IteratorAggregate interface
- *
- * @return array
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_actions);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Abstract.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Abstract.php
deleted file mode 100644
index b937866e7..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Abstract.php
+++ /dev/null
@@ -1,333 +0,0 @@
-setClient($this);
-
- // NOTE: at this moment, $this->_registry should contain the registry object
-
- if ($options) {
- $this->setOptions($options);
- }
- }
-
- public function setOptions(Array $options)
- {
- foreach ($options as $optionName => $optionValue) {
- $setMethodName = 'set' . $optionName;
- if (method_exists($this, $setMethodName)) {
- $this->{$setMethodName}($optionValue);
- }
- }
- }
-
- /**
- * getName() - Return the client name which can be used to
- * query the manifest if need be.
- *
- * @return string The client name
- */
- abstract public function getName();
-
- /**
- * initialized() - This will initialize the client for use
- *
- */
- public function initialize()
- {
- // if its already initialized, no need to initialize again
- if ($this->_isInitialized) {
- return;
- }
-
- // run any preInit
- $this->_preInit();
-
- $manifest = $this->_registry->getManifestRepository();
- $manifest->addManifest(new Zend_Tool_Framework_Client_Manifest());
-
- // setup the debug log
- if (!$this->_debugLogger instanceof Zend_Log) {
- require_once 'Zend/Log.php';
- require_once 'Zend/Log/Writer/Null.php';
- $this->_debugLogger = new Zend_Log(new Zend_Log_Writer_Null());
- }
-
- // let the loader load, then the repositories process whats been loaded
- $this->_registry->getLoader()->load();
-
- // process the action repository
- $this->_registry->getActionRepository()->process();
-
- // process the provider repository
- $this->_registry->getProviderRepository()->process();
-
- // process the manifest repository
- $this->_registry->getManifestRepository()->process();
-
- if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
- require_once 'Zend/Tool/Framework/Client/Interactive/InputHandler.php';
- }
-
- if ($this instanceof Zend_Tool_Framework_Client_Interactive_OutputInterface) {
- $this->_registry->getResponse()->setContentCallback(array($this, 'handleInteractiveOutput'));
- }
-
- }
-
-
- /**
- * This method should be implemented by the client implementation to
- * construct and set custom inflectors, request and response objects.
- */
- protected function _preInit()
- {
- }
-
- /**
- * This method *must* be implemented by the client implementation to
- * parse out and setup the request objects action, provider and parameter
- * information.
- */
- abstract protected function _preDispatch();
-
- /**
- * This method should be implemented by the client implementation to
- * take the output of the response object and return it (in an client
- * specific way) back to the Tooling Client.
- */
- protected function _postDispatch()
- {
- }
-
- /**
- * setRegistry() - Required by the Zend_Tool_Framework_Registry_EnabledInterface
- * interface which ensures proper registry dependency resolution
- *
- * @param Zend_Tool_Framework_Registry_Interface $registry
- * @return Zend_Tool_Framework_Client_Abstract
- */
- public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
- {
- $this->_registry = $registry;
- return $this;
- }
-
- /**
- * getRegistry();
- *
- * @return Zend_Tool_Framework_Registry_Interface
- */
- public function getRegistry()
- {
- return $this->_registry;
- }
-
- /**
- * hasInteractiveInput() - Convienence method for determining if this
- * client can handle interactive input, and thus be able to run the
- * promptInteractiveInput
- *
- * @return bool
- */
- public function hasInteractiveInput()
- {
- return ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface);
- }
-
- public function promptInteractiveInput($inputRequest)
- {
- if (!$this->hasInteractiveInput()) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('promptInteractive() cannot be called on a non-interactive client.');
- }
-
- $inputHandler = new Zend_Tool_Framework_Client_Interactive_InputHandler();
- $inputHandler->setClient($this);
- $inputHandler->setInputRequest($inputRequest);
- return $inputHandler->handle();
-
- }
-
- /**
- * This method should be called in order to "handle" a Tooling Client
- * request that has come to the client that has been implemented.
- */
- public function dispatch()
- {
- $this->initialize();
-
- try {
-
- $this->_preDispatch();
-
- if ($this->_registry->getRequest()->isDispatchable()) {
-
- if ($this->_registry->getRequest()->getActionName() == null) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Client failed to setup the action name.');
- }
-
- if ($this->_registry->getRequest()->getProviderName() == null) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Client failed to setup the provider name.');
- }
-
- $this->_handleDispatch();
-
- }
-
- } catch (Exception $exception) {
- $this->_registry->getResponse()->setException($exception);
- }
-
- $this->_postDispatch();
- }
-
- public function convertToClientNaming($string)
- {
- return $string;
- }
-
- public function convertFromClientNaming($string)
- {
- return $string;
- }
-
- protected function _handleDispatch()
- {
- // get the provider repository
- $providerRepository = $this->_registry->getProviderRepository();
-
- $request = $this->_registry->getRequest();
-
- // get the dispatchable provider signature
- $providerSignature = $providerRepository->getProviderSignature($request->getProviderName());
-
- // get the actual provider
- $provider = $providerSignature->getProvider();
-
- // ensure that we can pretend if this is a pretend request
- if ($request->isPretend() && (!$provider instanceof Zend_Tool_Framework_Provider_Pretendable)) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Dispatcher error - provider does not support pretend');
- }
-
- // get the action name
- $actionName = $this->_registry->getRequest()->getActionName();
- $specialtyName = $this->_registry->getRequest()->getSpecialtyName();
-
- if (!$actionableMethod = $providerSignature->getActionableMethodByActionName($actionName, $specialtyName)) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Dispatcher error - actionable method not found');
- }
-
- // get the actual method and param information
- $methodName = $actionableMethod['methodName'];
- $methodParameters = $actionableMethod['parameterInfo'];
-
- // get the provider params
- $requestParameters = $this->_registry->getRequest()->getProviderParameters();
-
- // @todo This seems hackish, determine if there is a better way
- $callParameters = array();
- foreach ($methodParameters as $methodParameterName => $methodParameterValue) {
- if (!array_key_exists($methodParameterName, $requestParameters) && $methodParameterValue['optional'] == false) {
- if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
- $promptSting = $this->getMissingParameterPromptString($provider, $actionableMethod['action'], $methodParameterValue['name']);
- $parameterPromptValue = $this->promptInteractiveInput($promptSting)->getContent();
- if ($parameterPromptValue == null) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Value supplied for required parameter "' . $methodParameterValue['name'] . '" is empty');
- }
- $callParameters[] = $parameterPromptValue;
- } else {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('A required parameter "' . $methodParameterValue['name'] . '" was not supplied.');
- }
- } else {
- $callParameters[] = (array_key_exists($methodParameterName, $requestParameters)) ? $requestParameters[$methodParameterName] : $methodParameterValue['default'];
- }
- }
-
- $this->_handleDispatchExecution($provider, $methodName, $callParameters);
- }
-
- protected function _handleDispatchExecution($class, $methodName, $callParameters)
- {
- if (method_exists($class, $methodName)) {
- call_user_func_array(array($class, $methodName), $callParameters);
- } elseif (method_exists($class, $methodName . 'Action')) {
- call_user_func_array(array($class, $methodName . 'Action'), $callParameters);
- } else {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Not a supported method.');
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Config.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Config.php
deleted file mode 100644
index 52477e148..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Config.php
+++ /dev/null
@@ -1,244 +0,0 @@
-setOptions($options);
- }
- }
-
- /**
- * @param array $options
- */
- public function setOptions(Array $options)
- {
- foreach ($options as $optionName => $optionValue) {
- $setMethodName = 'set' . $optionName;
- if (method_exists($this, $setMethodName)) {
- $this->{$setMethodName}($optionValue);
- }
- }
- }
-
- /**
- * @param string $configFilepath
- * @return Zend_Tool_Framework_Client_Config
- */
- public function setConfigFilepath($configFilepath)
- {
- if (!file_exists($configFilepath)) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Provided path to config ' . $configFilepath . ' does not exist');
- }
-
- $this->_configFilepath = $configFilepath;
- $this->loadConfig($configFilepath);
-
- return $this;
- }
-
- /**
- * Load the configuration from the given path.
- *
- * @param string $configFilepath
- */
- protected function loadConfig($configFilepath)
- {
- $suffix = substr($configFilepath, -4);
-
- switch ($suffix) {
- case '.ini':
- require_once 'Zend/Config/Ini.php';
- $this->_config = new Zend_Config_Ini($configFilepath, null, array('allowModifications' => true));
- break;
- case '.xml':
- require_once 'Zend/Config/Xml.php';
- $this->_config = new Zend_Config_Xml($configFilepath, null, array('allowModifications' => true));
- break;
- case '.php':
- require_once 'Zend/Config.php';
- $this->_config = new Zend_Config(include $configFilepath, true);
- break;
- default:
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Unknown config file type '
- . $suffix . ' at location ' . $configFilepath
- );
- }
- }
-
- /**
- * Return the filepath of the configuration.
- *
- * @return string
- */
- public function getConfigFilepath()
- {
- return $this->_configFilepath;
- }
-
- /**
- * Get a configuration value.
- *
- * @param string $name
- * @param string $defaultValue
- * @return mixed
- */
- public function get($name, $defaultValue=null)
- {
- return $this->getConfigInstance()->get($name, $defaultValue);
- }
-
- /**
- * Get a configuration value
- *
- * @param string $name
- * @return mixed
- */
- public function __get($name)
- {
- return $this->getConfigInstance()->{$name};
- }
-
- /**
- * Check if a configuration value isset.
- *
- * @param string $name
- * @return boolean
- */
- public function __isset($name)
- {
- if($this->exists() == false) {
- return false;
- }
- return isset($this->getConfigInstance()->{$name});
- }
-
- /**
- * @param string $name
- */
- public function __unset($name)
- {
- unset($this->getConfigInstance()->$name);
- }
-
- /**
- * @param string $name
- * @param mixed $value
- */
- public function __set($name, $value)
- {
- return $this->getConfigInstance()->$name = $value;
- }
-
- /**
- * Check if the User profile has a configuration.
- *
- * @return bool
- */
- public function exists()
- {
- return ($this->_config!==null);
- }
-
- /**
- * @throws Zend_Tool_Framework_Client_Exception
- * @return Zend_Config
- */
- public function getConfigInstance()
- {
- if(!$this->exists()) {
- require_once "Zend/Tool/Framework/Client/Exception.php";
- throw new Zend_Tool_Framework_Client_Exception("Client has no persistent configuration.");
- }
-
- return $this->_config;
- }
-
- /**
- * Save changes to the configuration into persistence.
- *
- * @return bool
- */
- public function save()
- {
- if($this->exists()) {
- $writer = $this->getConfigWriter();
- $writer->write($this->getConfigFilepath(), $this->getConfigInstance(), true);
- $this->loadConfig($this->getConfigFilepath());
-
- return true;
- }
- return false;
- }
-
- /**
- * Get the config writer that corresponds to the current config file type.
- *
- * @return Zend_Config_Writer_FileAbstract
- */
- protected function getConfigWriter()
- {
- $suffix = substr($this->getConfigFilepath(), -4);
- switch($suffix) {
- case '.ini':
- require_once "Zend/Config/Writer/Ini.php";
- $writer = new Zend_Config_Writer_Ini();
- $writer->setRenderWithoutSections();
- break;
- case '.xml':
- require_once "Zend/Config/Writer/Xml.php";
- $writer = new Zend_Config_Writer_Xml();
- break;
- case '.php':
- require_once "Zend/Config/Writer/Array.php";
- $writer = new Zend_Config_Writer_Array();
- break;
- default:
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Unknown config file type '
- . $suffix . ' at location ' . $this->getConfigFilepath()
- );
- }
- return $writer;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Console.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Console.php
deleted file mode 100644
index 070f4955c..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Console.php
+++ /dev/null
@@ -1,307 +0,0 @@
-dispatch();
- }
-
- /**
- * getName() - return the name of the client, in this case 'console'
- *
- * @return string
- */
- public function getName()
- {
- return 'console';
- }
-
- /**
- * setConfigOptions()
- *
- * @param $configOptions
- */
- public function setConfigOptions($configOptions)
- {
- $this->_configOptions = $configOptions;
- return $this;
- }
-
- /**
- * setStorageOptions()
- *
- * @param $storageOptions
- */
- public function setStorageOptions($storageOptions)
- {
- $this->_storageOptions = $storageOptions;
- return $this;
- }
-
- public function setClassesToLoad($classesToLoad)
- {
- $this->_classesToLoad = $classesToLoad;
- return $this;
- }
-
- /**
- * _init() - Tasks processed before the constructor, generally setting up objects to use
- *
- */
- protected function _preInit()
- {
- $config = $this->_registry->getConfig();
-
- if ($this->_configOptions != null) {
- $config->setOptions($this->_configOptions);
- }
-
- $storage = $this->_registry->getStorage();
-
- if ($this->_storageOptions != null && isset($this->_storageOptions['directory'])) {
- $storage->setAdapter(
- new Zend_Tool_Framework_Client_Storage_Directory($this->_storageOptions['directory'])
- );
- }
-
- // which classes are essential to initializing Zend_Tool_Framework_Client_Console
- $classesToLoad = array(
- 'Zend_Tool_Framework_Client_Console_Manifest',
- 'Zend_Tool_Framework_System_Manifest'
- );
-
- if ($this->_classesToLoad) {
- if (is_string($this->_classesToLoad)) {
- $classesToLoad[] = $this->_classesToLoad;
- } elseif (is_array($this->_classesToLoad)) {
- $classesToLoad = array_merge($classesToLoad, $this->_classesToLoad);
- }
- }
-
- // add classes to the basic loader from the config file basicloader.classes.1 ..
- if (isset($config->basicloader) && isset($config->basicloader->classes)) {
- foreach ($config->basicloader->classes as $classKey => $className) {
- array_push($classesToLoad, $className);
- }
- }
-
- $this->_registry->setLoader(
- new Zend_Tool_Framework_Loader_BasicLoader(array('classesToLoad' => $classesToLoad))
- );
-
- return;
- }
-
- /**
- * _preDispatch() - Tasks handed after initialization but before dispatching
- *
- */
- protected function _preDispatch()
- {
- $response = $this->_registry->getResponse();
-
- $response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_AlignCenter());
- $response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_Indention());
- $response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_Blockize());
-
- if (function_exists('posix_isatty')) {
- $response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_Colorizer());
- }
-
- $response->addContentDecorator(new Zend_Tool_Framework_Client_Response_ContentDecorator_Separator())
- ->setDefaultDecoratorOptions(array('separator' => true));
-
- $optParser = new Zend_Tool_Framework_Client_Console_ArgumentParser();
- $optParser->setArguments($_SERVER['argv'])
- ->setRegistry($this->_registry)
- ->parse();
-
- return;
- }
-
- /**
- * _postDispatch() - Tasks handled after dispatching
- *
- */
- protected function _postDispatch()
- {
- $request = $this->_registry->getRequest();
- $response = $this->_registry->getResponse();
-
- if ($response->isException()) {
- $helpSystem = new Zend_Tool_Framework_Client_Console_HelpSystem();
- $helpSystem->setRegistry($this->_registry)
- ->respondWithErrorMessage($response->getException()->getMessage(), $response->getException())
- ->respondWithSpecialtyAndParamHelp(
- $request->getProviderName(),
- $request->getActionName()
- );
- }
-
- echo PHP_EOL;
- return;
- }
-
- /**
- * handleInteractiveInputRequest() is required by the Interactive InputInterface
- *
- *
- * @param Zend_Tool_Framework_Client_Interactive_InputRequest $inputRequest
- * @return string
- */
- public function handleInteractiveInputRequest(Zend_Tool_Framework_Client_Interactive_InputRequest $inputRequest)
- {
- fwrite(STDOUT, $inputRequest->getContent() . PHP_EOL . 'zf> ');
- $inputContent = fgets(STDIN);
- return rtrim($inputContent); // remove the return from the end of the string
- }
-
- /**
- * handleInteractiveOutput() is required by the Interactive OutputInterface
- *
- * This allows us to display output immediately from providers, rather
- * than displaying it after the provider is done.
- *
- * @param string $output
- */
- public function handleInteractiveOutput($output)
- {
- echo $output;
- }
-
- /**
- * getMissingParameterPromptString()
- *
- * @param Zend_Tool_Framework_Provider_Interface $provider
- * @param Zend_Tool_Framework_Action_Interface $actionInterface
- * @param string $missingParameterName
- * @return string
- */
- public function getMissingParameterPromptString(Zend_Tool_Framework_Provider_Interface $provider, Zend_Tool_Framework_Action_Interface $actionInterface, $missingParameterName)
- {
- return 'Please provide a value for $' . $missingParameterName;
- }
-
-
- /**
- * convertToClientNaming()
- *
- * Convert words to client specific naming, in this case is lower, dash separated
- *
- * Filters are lazy-loaded.
- *
- * @param string $string
- * @return string
- */
- public function convertToClientNaming($string)
- {
- if (!$this->_filterToClientNaming) {
- $filter = new Zend_Filter();
- $filter->addFilter(new Zend_Filter_Word_CamelCaseToDash());
- $filter->addFilter(new Zend_Filter_StringToLower());
-
- $this->_filterToClientNaming = $filter;
- }
-
- return $this->_filterToClientNaming->filter($string);
- }
-
- /**
- * convertFromClientNaming()
- *
- * Convert words from client specific naming to code naming - camelcased
- *
- * Filters are lazy-loaded.
- *
- * @param string $string
- * @return string
- */
- public function convertFromClientNaming($string)
- {
- if (!$this->_filterFromClientNaming) {
- $this->_filterFromClientNaming = new Zend_Filter_Word_DashToCamelCase();
- }
-
- return $this->_filterFromClientNaming->filter($string);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ArgumentParser.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ArgumentParser.php
deleted file mode 100644
index ff9378fa3..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ArgumentParser.php
+++ /dev/null
@@ -1,532 +0,0 @@
-_argumentsOriginal = $this->_argumentsWorking = $arguments;
- return $this;
- }
-
- /**
- * setRegistry()
- *
- * @param Zend_Tool_Framework_Registry_Interface $registry
- * @return Zend_Tool_Framework_Client_Console_ArgumentParser
- */
- public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
- {
- // get the client registry
- $this->_registry = $registry;
-
- // set manifest repository, request, response for easy access
- $this->_manifestRepository = $this->_registry->getManifestRepository();
- $this->_request = $this->_registry->getRequest();
- $this->_response = $this->_registry->getResponse();
- return $this;
- }
-
- /**
- * Parse() - This method does the work of parsing the arguments into the enpooint request,
- * this will also (during help operations) fill the response in with information as needed
- *
- * @return null
- */
- public function parse()
- {
-
- if ($this->_request == null || $this->_response == null) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('The client registry must have both a request and response registered.');
- }
-
- // setup the help options
- $helpResponseOptions = array();
-
- // check to see if the first cli arg is the script name
- if ($this->_argumentsWorking[0] == $_SERVER['SCRIPT_NAME' ]) {
- array_shift($this->_argumentsWorking);
- }
-
- // process global options
- try {
- $this->_parseGlobalPart();
- } catch (Zend_Tool_Framework_Client_Exception $exception) {
- $this->_createHelpResponse(array('error' => $exception->getMessage()));
- return;
- }
-
- // ensure there are arguments left
- if (count($this->_argumentsWorking) == 0) {
- $this->_request->setDispatchable(false); // at this point request is not dispatchable
-
- // check to see if this was a help request
- if ($this->_help) {
- $this->_createHelpResponse();
- } else {
- $this->_createHelpResponse(array('error' => 'An action and provider is required.'));
- }
- return;
- }
-
- // process the action part of the command line
- try {
- $this->_parseActionPart();
- } catch (Zend_Tool_Framework_Client_Exception $exception) {
- $this->_request->setDispatchable(false);
- $this->_createHelpResponse(array('error' => $exception->getMessage()));
- return;
- }
-
- if ($this->_helpKnownAction) {
- $helpResponseOptions = array_merge(
- $helpResponseOptions,
- array('actionName' => $this->_request->getActionName())
- );
- }
-
- /* @TODO Action Parameter Requirements */
-
- // make sure there are more "words" on the command line
- if (count($this->_argumentsWorking) == 0) {
- $this->_request->setDispatchable(false); // at this point request is not dispatchable
-
- // check to see if this is a help request
- if ($this->_help) {
- $this->_createHelpResponse($helpResponseOptions);
- } else {
- $this->_createHelpResponse(array_merge($helpResponseOptions, array('error' => 'A provider is required.')));
- }
- return;
- }
-
-
- // process the provider part of the command line
- try {
- $this->_parseProviderPart();
- } catch (Zend_Tool_Framework_Client_Exception $exception) {
- $this->_request->setDispatchable(false);
- $this->_createHelpResponse(array('error' => $exception->getMessage()));
- return;
- }
-
- if ($this->_helpKnownProvider) {
- $helpResponseOptions = array_merge(
- $helpResponseOptions,
- array('providerName' => $this->_request->getProviderName())
- );
- }
-
- if ($this->_helpKnownSpecialty) {
- $helpResponseOptions = array_merge(
- $helpResponseOptions,
- array('specialtyName' => $this->_request->getSpecialtyName())
- );
- }
-
- // if there are arguments on the command line, lets process them as provider options
- if (count($this->_argumentsWorking) != 0) {
- $this->_parseProviderOptionsPart();
- }
-
- // if there is still arguments lingering around, we can assume something is wrong
- if (count($this->_argumentsWorking) != 0) {
- $this->_request->setDispatchable(false); // at this point request is not dispatchable
- if ($this->_help) {
- $this->_createHelpResponse($helpResponseOptions);
- } else {
- $this->_createHelpResponse(array_merge(
- $helpResponseOptions,
- array('error' => 'Unknown arguments left on the command line: ' . implode(' ', $this->_argumentsWorking))
- ));
- }
- return;
- }
-
- // everything was processed and this is a request for help information
- if ($this->_help) {
- $this->_request->setDispatchable(false); // at this point request is not dispatchable
- $this->_createHelpResponse($helpResponseOptions);
- }
-
- return;
- }
-
- /**
- * Internal routine for parsing global options from the command line
- *
- * @return null
- */
- protected function _parseGlobalPart()
- {
- $getoptOptions = array();
- $getoptOptions['help|h'] = 'HELP';
- $getoptOptions['verbose|v'] = 'VERBOSE';
- $getoptOptions['pretend|p'] = 'PRETEND';
- $getoptOptions['debug|d'] = 'DEBUG';
- $getoptParser = new Zend_Console_Getopt($getoptOptions, $this->_argumentsWorking, array('parseAll' => false));
-
- // @todo catch any exceptions here
- $getoptParser->parse();
-
- foreach ($getoptParser->getOptions() as $option) {
- if ($option == 'pretend') {
- $this->_request->setPretend(true);
- } elseif ($option == 'debug') {
- $this->_request->setDebug(true);
- } elseif ($option == 'verbose') {
- $this->_request->setVerbose(true);
- } else {
- $property = '_'.$option;
- $this->{$property} = true;
- }
- }
-
- $this->_argumentsWorking = $getoptParser->getRemainingArgs();
-
- return;
- }
-
- /**
- * Internal routine for parsing the action name from the arguments
- *
- * @return null
- */
- protected function _parseActionPart()
- {
- // the next "word" should be the action name
- $consoleActionName = array_shift($this->_argumentsWorking);
-
- if ($consoleActionName == '?') {
- $this->_help = true;
- return;
- }
-
- $actionSearchCriteria = array(
- 'type' => 'Tool',
- 'name' => 'actionName',
- 'value' => $consoleActionName,
- 'clientName' => 'console'
- );
-
- // is the action name valid?
- $actionMetadata = $this->_manifestRepository->getMetadata($actionSearchCriteria);
-
- // check for normalized names as well (all lower, no separators)
- if (!$actionMetadata) {
- $actionSearchCriteria['name'] = 'normalizedActionName';
- $actionSearchCriteria['value'] = strtolower(str_replace(array('-', '_'), '', $consoleActionName));
- $actionSearchCriteria['clientName'] = 'all';
- $actionMetadata = $this->_manifestRepository->getMetadata($actionSearchCriteria);
- }
-
- // if no action, handle error
- if (!$actionMetadata) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('Action \'' . $consoleActionName . '\' is not a valid action.');
- }
-
- // prepare action request name
- $this->_helpKnownAction = true;
- $this->_request->setActionName($actionMetadata->getActionName());
- return;
- }
-
- /**
- * Internal routine for parsing the provider part of the command line arguments
- *
- * @return null
- */
- protected function _parseProviderPart()
- {
- // get the cli "word" as the provider name from command line
- $consoleProviderFull = array_shift($this->_argumentsWorking);
- $consoleSpecialtyName = '_global';
-
- // if there is notation for specialties? If so, break them up
- if (strstr($consoleProviderFull, '.')) {
- list($consoleProviderName, $consoleSpecialtyName) = explode('.', $consoleProviderFull);
- } else {
- $consoleProviderName = $consoleProviderFull;
- }
-
- if ($consoleProviderName == '?') {
- $this->_help = true;
- return;
- }
-
- $providerSearchCriteria = array(
- 'type' => 'Tool',
- 'name' => 'providerName',
- 'value' => $consoleProviderName,
- 'clientName' => 'console'
- );
-
- // get the cli provider names from the manifest
- $providerMetadata = $this->_manifestRepository->getMetadata($providerSearchCriteria);
-
- // check for normalized names as well (all lower, no separators)
- if (!$providerMetadata) {
- $providerSearchCriteria['name'] = 'normalizedProviderName';
- $providerSearchCriteria['value'] = strtolower(str_replace(array('-', '_'), '', $consoleProviderName));
- $providerSearchCriteria['clientName'] = 'all';
- $providerMetadata = $this->_manifestRepository->getMetadata($providerSearchCriteria);
- }
-
- if (!$providerMetadata) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception(
- 'Provider \'' . $consoleProviderFull . '\' is not a valid provider.'
- );
- }
-
- $this->_helpKnownProvider = true;
- $this->_request->setProviderName($providerMetadata->getProviderName());
-
- if ($consoleSpecialtyName == '?') {
- $this->_help = true;
- return;
- }
-
- $providerSpecialtySearchCriteria = array(
- 'type' => 'Tool',
- 'name' => 'specialtyName',
- 'value' => $consoleSpecialtyName,
- 'providerName' => $providerMetadata->getProviderName(),
- 'clientName' => 'console'
- );
-
- $providerSpecialtyMetadata = $this->_manifestRepository->getMetadata($providerSpecialtySearchCriteria);
-
- if (!$providerSpecialtyMetadata) {
- $providerSpecialtySearchCriteria['name'] = 'normalizedSpecialtyName';
- $providerSpecialtySearchCriteria['value'] = strtolower(str_replace(array('-', '_'), '', $consoleSpecialtyName));
- $providerSpecialtySearchCriteria['clientName'] = 'all';
- $providerSpecialtyMetadata = $this->_manifestRepository->getMetadata($providerSpecialtySearchCriteria);
- }
-
- if (!$providerSpecialtyMetadata) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception(
- 'Provider \'' . $consoleSpecialtyName . '\' is not a valid specialty.'
- );
- }
-
- $this->_helpKnownSpecialty = true;
- $this->_request->setSpecialtyName($providerSpecialtyMetadata->getSpecialtyName());
- return;
- }
-
- /**
- * Internal routine for parsing the provider options from the command line
- *
- * @return null
- */
- protected function _parseProviderOptionsPart()
- {
- if (current($this->_argumentsWorking) == '?') {
- $this->_help = true;
- return;
- }
-
- $searchParams = array(
- 'type' => 'Tool',
- 'providerName' => $this->_request->getProviderName(),
- 'actionName' => $this->_request->getActionName(),
- 'specialtyName' => $this->_request->getSpecialtyName(),
- 'clientName' => 'console'
- );
-
- $actionableMethodLongParamsMetadata = $this->_manifestRepository->getMetadata(
- array_merge($searchParams, array('name' => 'actionableMethodLongParams'))
- );
-
- $actionableMethodShortParamsMetadata = $this->_manifestRepository->getMetadata(
- array_merge($searchParams, array('name' => 'actionableMethodShortParams'))
- );
-
- $paramNameShortValues = $actionableMethodShortParamsMetadata->getValue();
-
- $getoptOptions = array();
- $wordArguments = array();
- $longParamCanonicalNames = array();
-
- $actionableMethodLongParamsMetadataReference = $actionableMethodLongParamsMetadata->getReference();
- foreach ($actionableMethodLongParamsMetadata->getValue() as $parameterNameLong => $consoleParameterNameLong) {
- $optionConfig = $consoleParameterNameLong . '|';
-
- $parameterInfo = $actionableMethodLongParamsMetadataReference['parameterInfo'][$parameterNameLong];
-
- // process ParameterInfo into array for command line option matching
- if ($parameterInfo['type'] == 'string' || $parameterInfo['type'] == 'bool') {
- $optionConfig .= $paramNameShortValues[$parameterNameLong]
- . (($parameterInfo['optional']) ? '-' : '=') . 's';
- } elseif (in_array($parameterInfo['type'], array('int', 'integer', 'float'))) {
- $optionConfig .= $paramNameShortValues[$parameterNameLong]
- . (($parameterInfo['optional']) ? '-' : '=') . 'i';
- } else {
- $optionConfig .= $paramNameShortValues[$parameterNameLong] . '-s';
- }
-
- $getoptOptions[$optionConfig] = ($parameterInfo['description'] != '') ? $parameterInfo['description'] : 'No description available.';
-
-
- // process ParameterInfo into array for command line WORD (argument) matching
- $wordArguments[$parameterInfo['position']]['parameterName'] = $parameterInfo['name'];
- $wordArguments[$parameterInfo['position']]['optional'] = $parameterInfo['optional'];
- $wordArguments[$parameterInfo['position']]['type'] = $parameterInfo['type'];
-
- // keep a translation of console to canonical names
- $longParamCanonicalNames[$consoleParameterNameLong] = $parameterNameLong;
- }
-
-
- if (!$getoptOptions) {
- // no options to parse here, return
- return;
- }
-
- // if non-option arguments exist, attempt to process them before processing options
- $wordStack = array();
- while (($wordOnTop = array_shift($this->_argumentsWorking))) {
- if (substr($wordOnTop, 0, 1) != '-') {
- array_push($wordStack, $wordOnTop);
- } else {
- // put word back on stack and move on
- array_unshift($this->_argumentsWorking, $wordOnTop);
- break;
- }
-
- if (count($wordStack) == count($wordArguments)) {
- // when we get at most the number of arguments we are expecting
- // then break out.
- break;
- }
-
- }
-
- if ($wordStack && $wordArguments) {
- for ($wordIndex = 1; $wordIndex <= count($wordArguments); $wordIndex++) {
- if (!array_key_exists($wordIndex-1, $wordStack) || !array_key_exists($wordIndex, $wordArguments)) {
- break;
- }
- $this->_request->setProviderParameter($wordArguments[$wordIndex]['parameterName'], $wordStack[$wordIndex-1]);
- unset($wordStack[$wordIndex-1]);
- }
- }
-
- $getoptParser = new Zend_Console_Getopt($getoptOptions, $this->_argumentsWorking, array('parseAll' => false));
- $getoptParser->parse();
- foreach ($getoptParser->getOptions() as $option) {
- $value = $getoptParser->getOption($option);
- $providerParamOption = $longParamCanonicalNames[$option];
- $this->_request->setProviderParameter($providerParamOption, $value);
- }
-
- $this->_argumentsWorking = $getoptParser->getRemainingArgs();
-
- return;
- }
-
- /**
- * _createHelpResponse
- *
- * @param unknown_type $options
- */
- protected function _createHelpResponse($options = array())
- {
- require_once 'Zend/Tool/Framework/Client/Console/HelpSystem.php';
- $helpSystem = new Zend_Tool_Framework_Client_Console_HelpSystem();
- $helpSystem->setRegistry($this->_registry);
-
- if (isset($options['error'])) {
- $helpSystem->respondWithErrorMessage($options['error']);
- }
-
- if (isset($options['actionName']) && isset($options['providerName'])) {
- $helpSystem->respondWithSpecialtyAndParamHelp($options['providerName'], $options['actionName']);
- } elseif (isset($options['actionName'])) {
- $helpSystem->respondWithActionHelp($options['actionName']);
- } elseif (isset($options['providerName'])) {
- $helpSystem->respondWithProviderHelp($options['providerName']);
- } else {
- $helpSystem->respondWithGeneralHelp();
- }
-
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/HelpSystem.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Console/HelpSystem.php
deleted file mode 100644
index 88f7fc4e6..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/HelpSystem.php
+++ /dev/null
@@ -1,378 +0,0 @@
-_registry = $registry;
- $this->_response = $registry->getResponse();
- return $this;
- }
-
- /**
- * respondWithErrorMessage()
- *
- * @param string $errorMessage
- * @param Exception $exception
- */
- public function respondWithErrorMessage($errorMessage, Exception $exception = null)
- {
- // break apart the message into wrapped chunks
- $errorMessages = explode(PHP_EOL, wordwrap($errorMessage, 70, PHP_EOL, false));
-
- $text = 'An Error Has Occurred';
- $this->_response->appendContent($text, array('color' => array('hiWhite', 'bgRed'), 'aligncenter' => true));
- $this->_response->appendContent($errorMessage, array('indention' => 1, 'blockize' => 72, 'color' => array('white', 'bgRed')));
-
- if ($exception && $this->_registry->getRequest()->isDebug()) {
- $this->_response->appendContent($exception->getTraceAsString());
- }
-
- $this->_response->appendContent(null, array('separator' => true));
- return $this;
- }
-
- /**
- * respondWithGeneralHelp()
- *
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- public function respondWithGeneralHelp()
- {
- $this->_respondWithHeader();
-
- $noSeparator = array('separator' => false);
-
- $this->_response->appendContent('Usage:', array('color' => 'green'))
- ->appendContent(' ', $noSeparator)
- ->appendContent('zf', array_merge(array('color' => 'cyan'), $noSeparator))
- ->appendContent(' [--global-opts]', $noSeparator)
- ->appendContent(' action-name', array_merge(array('color' => 'cyan'), $noSeparator))
- ->appendContent(' [--action-opts]', $noSeparator)
- ->appendContent(' provider-name', array_merge(array('color' => 'cyan'), $noSeparator))
- ->appendContent(' [--provider-opts]', $noSeparator)
- ->appendContent(' [provider parameters ...]')
- ->appendContent(' Note: You may use "?" in any place of the above usage string to ask for more specific help information.', array('color'=>'yellow'))
- ->appendContent(' Example: "zf ? version" will list all available actions for the version provider.', array('color'=>'yellow', 'separator' => 2))
- ->appendContent('Providers and their actions:', array('color' => 'green'));
-
- $this->_respondWithSystemInformation();
- return $this;
- }
-
- /**
- * respondWithActionHelp()
- *
- * @param string $actionName
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- public function respondWithActionHelp($actionName)
- {
- $this->_respondWithHeader();
- $this->_response->appendContent('Providers that support the action "' . $actionName . '"', array('color' => 'green'));
- $this->_respondWithSystemInformation(null, $actionName);
- return $this;
- }
-
- /**
- * respondWithSpecialtyAndParamHelp()
- *
- * @param string $providerName
- * @param string $actionName
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- public function respondWithSpecialtyAndParamHelp($providerName, $actionName)
- {
- $this->_respondWithHeader();
- $this->_response->appendContent(
- 'Details for action "' . $actionName . '" and provider "' . $providerName . '"',
- array('color' => 'green')
- );
- $this->_respondWithSystemInformation($providerName, $actionName, true);
- return $this;
- }
-
- /**
- * respondWithProviderHelp()
- *
- * @param string $providerName
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- public function respondWithProviderHelp($providerName)
- {
- $this->_respondWithHeader();
- $this->_response->appendContent('Actions supported by provider "' . $providerName . '"', array('color' => 'green'));
- $this->_respondWithSystemInformation($providerName);
- return $this;
- }
-
- /**
- * _respondWithHeader()
- *
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- protected function _respondWithHeader()
- {
- /**
- * @see Zend_Version
- */
- require_once 'Zend/Version.php';
- $this->_response->appendContent('Zend Framework', array('color' => array('hiWhite'), 'separator' => false));
- $this->_response->appendContent(' Command Line Console Tool v' . Zend_Version::VERSION . '');
- return $this;
- }
-
- /**
- * _respondWithSystemInformation()
- *
- * @param string $providerNameFilter
- * @param string $actionNameFilter
- * @param bool $includeAllSpecialties
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- protected function _respondWithSystemInformation($providerNameFilter = null, $actionNameFilter = null, $includeAllSpecialties = false)
- {
- $manifest = $this->_registry->getManifestRepository();
-
- $providerMetadatasSearch = array(
- 'type' => 'Tool',
- 'name' => 'providerName',
- 'clientName' => 'console'
- );
-
- if (is_string($providerNameFilter)) {
- $providerMetadatasSearch = array_merge($providerMetadatasSearch, array('providerName' => $providerNameFilter));
- }
-
- $actionMetadatasSearch = array(
- 'type' => 'Tool',
- 'name' => 'actionName',
- 'clientName' => 'console'
- );
-
- if (is_string($actionNameFilter)) {
- $actionMetadatasSearch = array_merge($actionMetadatasSearch, array('actionName' => $actionNameFilter));
- }
-
- // get the metadata's for the things to display
- $displayProviderMetadatas = $manifest->getMetadatas($providerMetadatasSearch);
- $displayActionMetadatas = $manifest->getMetadatas($actionMetadatasSearch);
-
- // create index of actionNames
- for ($i = 0; $i < count($displayActionMetadatas); $i++) {
- $displayActionNames[] = $displayActionMetadatas[$i]->getActionName();
- }
-
- foreach ($displayProviderMetadatas as $providerMetadata) {
-
- $providerNameDisplayed = false;
-
- $providerName = $providerMetadata->getProviderName();
- $providerSignature = $providerMetadata->getReference();
-
- foreach ($providerSignature->getActions() as $actionInfo) {
-
- $actionName = $actionInfo->getName();
-
- // check to see if this action name is valid
- if (($foundActionIndex = array_search($actionName, $displayActionNames)) === false) {
- continue;
- } else {
- $actionMetadata = $displayActionMetadatas[$foundActionIndex];
- }
-
- $specialtyMetadata = $manifest->getMetadata(array(
- 'type' => 'Tool',
- 'name' => 'specialtyName',
- 'providerName' => $providerName,
- 'specialtyName' => '_Global',
- 'clientName' => 'console'
- ));
-
- // lets do the main _Global action first
- $actionableGlobalLongParamMetadata = $manifest->getMetadata(array(
- 'type' => 'Tool',
- 'name' => 'actionableMethodLongParams',
- 'providerName' => $providerName,
- 'specialtyName' => '_Global',
- 'actionName' => $actionName,
- 'clientName' => 'console'
- ));
-
- $actionableGlobalMetadatas = $manifest->getMetadatas(array(
- 'type' => 'Tool',
- 'name' => 'actionableMethodLongParams',
- 'providerName' => $providerName,
- 'actionName' => $actionName,
- 'clientName' => 'console'
- ));
-
- if ($actionableGlobalLongParamMetadata) {
-
- if (!$providerNameDisplayed) {
- $this->_respondWithProviderName($providerMetadata);
- $providerNameDisplayed = true;
- }
-
- $this->_respondWithCommand($providerMetadata, $actionMetadata, $specialtyMetadata, $actionableGlobalLongParamMetadata);
-
- $actionIsGlobal = true;
- } else {
- $actionIsGlobal = false;
- }
-
- // check for providers without a _Global action
- $isSingleSpecialProviderAction = false;
- if (!$actionIsGlobal && count($actionableGlobalMetadatas) == 1) {
- $isSingleSpecialProviderAction = true;
- $this->_respondWithProviderName($providerMetadata);
- $providerNameDisplayed = true;
- }
-
- if ($includeAllSpecialties || $isSingleSpecialProviderAction) {
-
- foreach ($providerSignature->getSpecialties() as $specialtyName) {
-
- if ($specialtyName == '_Global') {
- continue;
- }
-
- $specialtyMetadata = $manifest->getMetadata(array(
- 'type' => 'Tool',
- 'name' => 'specialtyName',
- 'providerName' => $providerMetadata->getProviderName(),
- 'specialtyName' => $specialtyName,
- 'clientName' => 'console'
- ));
-
- $actionableSpecialtyLongMetadata = $manifest->getMetadata(array(
- 'type' => 'Tool',
- 'name' => 'actionableMethodLongParams',
- 'providerName' => $providerMetadata->getProviderName(),
- 'specialtyName' => $specialtyName,
- 'actionName' => $actionName,
- 'clientName' => 'console'
- ));
-
- if($actionableSpecialtyLongMetadata) {
- $this->_respondWithCommand($providerMetadata, $actionMetadata, $specialtyMetadata, $actionableSpecialtyLongMetadata);
- }
-
- }
- }
-
- // reset the special flag for single provider action with specialty
- $isSingleSpecialProviderAction = false;
-
- if (!$includeAllSpecialties && count($actionableGlobalMetadatas) > 1) {
- $this->_response->appendContent(' Note: There are specialties, use ', array('color' => 'yellow', 'separator' => false));
- $this->_response->appendContent(
- 'zf ' . $actionMetadata->getValue() . ' ' . $providerMetadata->getValue() . '.?',
- array('color' => 'cyan', 'separator' => false)
- );
- $this->_response->appendContent(' to get specific help on them.', array('color' => 'yellow'));
- }
-
- }
-
- if ($providerNameDisplayed) {
- $this->_response->appendContent(null, array('separator' => true));
- }
- }
- return $this;
- }
-
- /**
- * _respondWithProviderName()
- *
- * @param Zend_Tool_Framework_Metadata_Tool $providerMetadata
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- protected function _respondWithProviderName(Zend_Tool_Framework_Metadata_Tool $providerMetadata)
- {
- $this->_response->appendContent(' ' . $providerMetadata->getProviderName());
- return $this;
- }
-
- /**
- * _respondWithCommand()
- *
- * @param Zend_Tool_Framework_Metadata_Tool $providerMetadata
- * @param Zend_Tool_Framework_Metadata_Tool $actionMetadata
- * @param Zend_Tool_Framework_Metadata_Tool $specialtyMetadata
- * @param Zend_Tool_Framework_Metadata_Tool $parameterLongMetadata
- * @return Zend_Tool_Framework_Client_Console_HelpSystem
- */
- protected function _respondWithCommand(
- Zend_Tool_Framework_Metadata_Tool $providerMetadata,
- Zend_Tool_Framework_Metadata_Tool $actionMetadata,
- Zend_Tool_Framework_Metadata_Tool $specialtyMetadata,
- Zend_Tool_Framework_Metadata_Tool $parameterLongMetadata)//,
- //Zend_Tool_Framework_Metadata_Tool $parameterShortMetadata)
- {
- $this->_response->appendContent(
- ' zf ' . $actionMetadata->getValue() . ' ' . $providerMetadata->getValue(),
- array('color' => 'cyan', 'separator' => false)
- );
-
- if ($specialtyMetadata->getSpecialtyName() != '_Global') {
- $this->_response->appendContent('.' . $specialtyMetadata->getValue(), array('color' => 'cyan', 'separator' => false));
- }
-
- foreach ($parameterLongMetadata->getValue() as $paramName => $consoleParamName) {
- $methodInfo = $parameterLongMetadata->getReference();
- $paramString = ' ' . $consoleParamName;
- if ( ($defaultValue = $methodInfo['parameterInfo'][$paramName]['default']) != null) {
- $paramString .= '[=' . $defaultValue . ']';
- }
- $this->_response->appendContent($paramString . '', array('separator' => false));
- }
-
- $this->_response->appendContent(null, array('separator' => true));
- return $this;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/Manifest.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Console/Manifest.php
deleted file mode 100644
index 9b1b5ec68..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/Manifest.php
+++ /dev/null
@@ -1,209 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
- /**
- * getMetadata() is required by the Manifest Interface.
- *
- * These are the following metadatas that will be setup:
- *
- * actionName
- * - metadata for actions
- * - value will be a dashed name for the action named in 'actionName'
- * providerName
- * - metadata for providers
- * - value will be a dashed-name for the provider named in 'providerName'
- * providerSpecialtyNames
- * - metadata for providers
- * actionableMethodLongParameters
- * - metadata for providers
- * actionableMethodShortParameters
- * - metadata for providers
- *
- * @return array Array of Metadatas
- */
- public function getMetadata()
- {
- $metadatas = array();
-
- // setup the camelCase to dashed filter to use since cli expects dashed named
- $ccToDashedFilter = new Zend_Filter();
- $ccToDashedFilter
- ->addFilter(new Zend_Filter_Word_CamelCaseToDash())
- ->addFilter(new Zend_Filter_StringToLower());
-
- // get the registry to get the action and provider repository
- $actionRepository = $this->_registry->getActionRepository();
- $providerRepository = $this->_registry->getProviderRepository();
-
- // loop through all actions and create a metadata for each
- foreach ($actionRepository->getActions() as $action) {
- // each action metadata will be called
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'actionName',
- 'value' => $ccToDashedFilter->filter($action->getName()),
- 'reference' => $action,
- 'actionName' => $action->getName(),
- 'clientName' => 'console',
- 'clientReference' => $this->_registry->getClient()
- ));
- }
-
- foreach ($providerRepository->getProviderSignatures() as $providerSignature) {
-
- // create the metadata for the provider's cliProviderName
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'providerName',
- 'value' => $ccToDashedFilter->filter($providerSignature->getName()),
- 'reference' => $providerSignature,
- 'clientName' => 'console',
- 'providerName' => $providerSignature->getName(),
- 'clientReference' => $this->_registry->getClient()
- ));
-
- // create the metadatas for the per provider specialites in providerSpecaltyNames
- foreach ($providerSignature->getSpecialties() as $specialty) {
-
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'specialtyName',
- 'value' => $ccToDashedFilter->filter($specialty),
- 'reference' => $providerSignature,
- 'clientName' => 'console',
- 'providerName' => $providerSignature->getName(),
- 'specialtyName' => $specialty,
- 'clientReference' => $this->_registry->getClient()
- ));
-
- }
-
- // $actionableMethod is keyed by the methodName (but not used)
- foreach ($providerSignature->getActionableMethods() as $actionableMethodData) {
-
- $methodLongParams = array();
- $methodShortParams = array();
-
- // $actionableMethodData get both the long and short names
- foreach ($actionableMethodData['parameterInfo'] as $parameterInfoData) {
-
- // filter to dashed
- $methodLongParams[$parameterInfoData['name']] = $ccToDashedFilter->filter($parameterInfoData['name']);
-
- // simply lower the character, (its only 1 char after all)
- $methodShortParams[$parameterInfoData['name']] = strtolower($parameterInfoData['name'][0]);
-
- }
-
- // create metadata for the long name cliActionableMethodLongParameters
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'actionableMethodLongParams',
- 'value' => $methodLongParams,
- 'clientName' => 'console',
- 'providerName' => $providerSignature->getName(),
- 'specialtyName' => $actionableMethodData['specialty'],
- 'actionName' => $actionableMethodData['actionName'],
- 'reference' => &$actionableMethodData,
- 'clientReference' => $this->_registry->getClient()
- ));
-
- // create metadata for the short name cliActionableMethodShortParameters
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'actionableMethodShortParams',
- 'value' => $methodShortParams,
- 'clientName' => 'console',
- 'providerName' => $providerSignature->getName(),
- 'specialtyName' => $actionableMethodData['specialty'],
- 'actionName' => $actionableMethodData['actionName'],
- 'reference' => &$actionableMethodData,
- 'clientReference' => $this->_registry->getClient()
- ));
-
- }
-
- }
-
- return $metadatas;
- }
-
- public function getIndex()
- {
- return 10000;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ResponseDecorator/AlignCenter.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ResponseDecorator/AlignCenter.php
deleted file mode 100644
index 54c646bd9..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ResponseDecorator/AlignCenter.php
+++ /dev/null
@@ -1,66 +0,0 @@
- '30m',
- 'hiBlack' => '1;30m',
- 'bgBlack' => '40m',
- // reds
- 'red' => '31m',
- 'hiRed' => '1;31m',
- 'bgRed' => '41m',
- // greens
- 'green' => '32m',
- 'hiGreen' => '1;32m',
- 'bgGreen' => '42m',
- // yellows
- 'yellow' => '33m',
- 'hiYellow' => '1;33m',
- 'bgYellow' => '43m',
- // blues
- 'blue' => '34m',
- 'hiBlue' => '1;34m',
- 'bgBlue' => '44m',
- // magentas
- 'magenta' => '35m',
- 'hiMagenta' => '1;35m',
- 'bgMagenta' => '45m',
- // cyans
- 'cyan' => '36m',
- 'hiCyan' => '1;36m',
- 'bgCyan' => '46m',
- // whites
- 'white' => '37m',
- 'hiWhite' => '1;37m',
- 'bgWhite' => '47m'
- );
-
- public function getName()
- {
- return 'color';
- }
-
- public function decorate($content, $color)
- {
- if (is_string($color)) {
- $color = array($color);
- }
-
- $newContent = '';
-
- foreach ($color as $c) {
- if (array_key_exists($c, $this->_colorOptions)) {
- $newContent .= "\033[" . $this->_colorOptions[$c];
- }
- }
-
- $newContent .= $content . "\033[m";
-
- return $newContent;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ResponseDecorator/Indention.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ResponseDecorator/Indention.php
deleted file mode 100644
index 544d05326..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Console/ResponseDecorator/Indention.php
+++ /dev/null
@@ -1,56 +0,0 @@
-_client = $client;
- return $this;
- }
-
- public function setInputRequest($inputRequest)
- {
- if (is_string($inputRequest)) {
- require_once 'Zend/Tool/Framework/Client/Interactive/InputRequest.php';
- $inputRequest = new Zend_Tool_Framework_Client_Interactive_InputRequest($inputRequest);
- } elseif (!$inputRequest instanceof Zend_Tool_Framework_Client_Interactive_InputRequest) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('promptInteractive() requires either a string or an instance of Zend_Tool_Framework_Client_Interactive_InputRequest.');
- }
-
- $this->_inputRequest = $inputRequest;
- return $this;
- }
-
- public function handle()
- {
- $inputResponse = $this->_client->handleInteractiveInputRequest($this->_inputRequest);
-
- if (is_string($inputResponse)) {
- require_once 'Zend/Tool/Framework/Client/Interactive/InputResponse.php';
- $inputResponse = new Zend_Tool_Framework_Client_Interactive_InputResponse($inputResponse);
- } elseif (!$inputResponse instanceof Zend_Tool_Framework_Client_Interactive_InputResponse) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('The registered $_interactiveCallback for the client must either return a string or an instance of Zend_Tool_Framework_Client_Interactive_InputResponse.');
- }
-
- return $inputResponse;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/InputInterface.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/InputInterface.php
deleted file mode 100644
index 555493c12..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/InputInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
-setContent($content);
- }
- }
-
- public function setContent($content)
- {
- $this->_content = $content;
- return $this;
- }
-
- public function getContent()
- {
- return $this->_content;
- }
-
- public function __toString()
- {
- return $this->_content;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/InputResponse.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/InputResponse.php
deleted file mode 100644
index 62a4740f8..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/InputResponse.php
+++ /dev/null
@@ -1,52 +0,0 @@
-setContent($content);
- }
- }
-
- public function setContent($content)
- {
- $this->_content = $content;
- return $this;
- }
-
- public function getContent()
- {
- return $this->_content;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/OutputInterface.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/OutputInterface.php
deleted file mode 100644
index 644b78a2f..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Interactive/OutputInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
- /**
- * getMetadata() is required by the Manifest Interface.
- *
- * These are the following metadatas that will be setup:
- *
- * normalizedActionName
- * - metadata for actions
- * - value will be a dashed name for the action named in 'actionName'
- * normalizedProviderName
- * - metadata for providers
- * - value will be a dashed-name for the provider named in 'providerName'
- * normalizedProviderSpecialtyNames
- * - metadata for providers
- * normalizedActionableMethodLongParameters
- * - metadata for providers
- * normalizedActionableMethodShortParameters
- * - metadata for providers
- *
- * @return array Array of Metadatas
- */
- public function getMetadata()
- {
- $metadatas = array();
-
- // setup the camelCase to dashed filter to use since cli expects dashed named
- $lowerFilter = new Zend_Filter();
- $lowerFilter->addFilter(new Zend_Filter_StringToLower());
-
- // get the registry to get the action and provider repository
- $actionRepository = $this->_registry->getActionRepository();
- $providerRepository = $this->_registry->getProviderRepository();
-
- // loop through all actions and create a metadata for each
- foreach ($actionRepository->getActions() as $action) {
- // each action metadata will be called
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'normalizedActionName',
- 'value' => $lowerFilter->filter($action->getName()),
- 'reference' => $action,
- 'actionName' => $action->getName(),
- 'clientName' => 'all'
- ));
- }
-
- foreach ($providerRepository->getProviderSignatures() as $providerSignature) {
-
- // create the metadata for the provider's cliProviderName
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'normalizedProviderName',
- 'value' => $lowerFilter->filter($providerSignature->getName()),
- 'reference' => $providerSignature,
- 'clientName' => 'all',
- 'providerName' => $providerSignature->getName()
- ));
-
- // create the metadatas for the per provider specialites in providerSpecaltyNames
- foreach ($providerSignature->getSpecialties() as $specialty) {
-
- if ($specialty == '_Global') {
- continue;
- }
-
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'normalizedSpecialtyName',
- 'value' => $lowerFilter->filter($specialty),
- 'reference' => $providerSignature,
- 'clientName' => 'all',
- 'providerName' => $providerSignature->getName(),
- 'specialtyName' => $specialty
- ));
-
- }
-
- // $actionableMethod is keyed by the methodName (but not used)
- foreach ($providerSignature->getActionableMethods() as $actionableMethodData) {
-
- $methodLongParams = array();
- $methodShortParams = array();
-
- // $actionableMethodData get both the long and short names
- foreach ($actionableMethodData['parameterInfo'] as $parameterInfoData) {
-
- // filter to dashed
- $methodLongParams[$parameterInfoData['name']] = $lowerFilter->filter($parameterInfoData['name']);
-
- // simply lower the character, (its only 1 char after all)
- $methodShortParams[$parameterInfoData['name']] = strtolower($parameterInfoData['name'][0]);
-
- }
-
- // create metadata for the long name cliActionableMethodLongParameters
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'normalizedActionableMethodLongParams',
- 'value' => $methodLongParams,
- 'clientName' => 'console',
- 'providerName' => $providerSignature->getName(),
- 'specialtyName' => $actionableMethodData['specialty'],
- 'actionName' => $actionableMethodData['actionName'],
- 'reference' => &$actionableMethodData
- ));
-
- // create metadata for the short name cliActionableMethodShortParameters
- $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
- 'name' => 'normalizedActionableMethodShortParams',
- 'value' => $methodShortParams,
- 'clientName' => 'console',
- 'providerName' => $providerSignature->getName(),
- 'specialtyName' => $actionableMethodData['specialty'],
- 'actionName' => $actionableMethodData['actionName'],
- 'reference' => &$actionableMethodData
- ));
-
- }
-
- }
-
- return $metadatas;
- }
-
- public function getIndex()
- {
- return 100000;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Request.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Request.php
deleted file mode 100644
index 7fda55bd5..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Request.php
+++ /dev/null
@@ -1,299 +0,0 @@
-_providerName = $providerName;
- return $this;
- }
-
- /**
- * getProviderName()
- *
- * @return string
- */
- public function getProviderName()
- {
- return $this->_providerName;
- }
-
- /**
- * setSpecialtyName()
- *
- * @param string $specialtyName
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setSpecialtyName($specialtyName)
- {
- $this->_specialtyName = $specialtyName;
- return $this;
- }
-
- /**
- * getSpecialtyName()
- *
- * @return string
- */
- public function getSpecialtyName()
- {
- return $this->_specialtyName;
- }
-
- /**
- * setActionName()
- *
- * @param string $actionName
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setActionName($actionName)
- {
- $this->_actionName = $actionName;
- return $this;
- }
-
- /**
- * getActionName()
- *
- * @return string
- */
- public function getActionName()
- {
- return $this->_actionName;
- }
-
- /**
- * setActionParameter()
- *
- * @param string $parameterName
- * @param string $parameterValue
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setActionParameter($parameterName, $parameterValue)
- {
- $this->_actionParameters[$parameterName] = $parameterValue;
- return $this;
- }
-
- /**
- * getActionParameters()
- *
- * @return array
- */
- public function getActionParameters()
- {
- return $this->_actionParameters;
- }
-
- /**
- * getActionParameter()
- *
- * @param string $parameterName
- * @return string
- */
- public function getActionParameter($parameterName)
- {
- return (isset($this->_actionParameters[$parameterName])) ? $this->_actionParameters[$parameterName] : null;
- }
-
- /**
- * setProviderParameter()
- *
- * @param string $parameterName
- * @param string $parameterValue
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setProviderParameter($parameterName, $parameterValue)
- {
- $this->_providerParameters[$parameterName] = $parameterValue;
- return $this;
- }
-
- /**
- * getProviderParameters()
- *
- * @return array
- */
- public function getProviderParameters()
- {
- return $this->_providerParameters;
- }
-
- /**
- * getProviderParameter()
- *
- * @param string $parameterName
- * @return string
- */
- public function getProviderParameter($parameterName)
- {
- return (isset($this->_providerParameters[$parameterName])) ? $this->_providerParameters[$parameterName] : null;
- }
-
- /**
- * setPretend()
- *
- * @param bool $pretend
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setPretend($pretend)
- {
- $this->_isPretend = (bool) $pretend;
- return $this;
- }
-
- /**
- * isPretend() - Whether or not this is a pretend request
- *
- * @return bool
- */
- public function isPretend()
- {
- return $this->_isPretend;
- }
-
- /**
- * setDebug()
- *
- * @param bool $pretend
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setDebug($debug)
- {
- $this->_isDebug = (bool) $debug;
- return $this;
- }
-
- /**
- * isDebug() - Whether or not this is a debug enabled request
- *
- * @return bool
- */
- public function isDebug()
- {
- return $this->_isDebug;
- }
-
- /**
- * setVerbose()
- *
- * @param bool $verbose
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setVerbose($verbose)
- {
- $this->_isVerbose = (bool) $verbose;
- return $this;
- }
-
- /**
- * isVerbose() - Whether or not this is a verbose enabled request
- *
- * @return bool
- */
- public function isVerbose()
- {
- return $this->_isVerbose;
- }
-
- /**
- * setDispatchable()
- *
- * @param bool $dispatchable
- * @return Zend_Tool_Framework_Client_Request
- */
- public function setDispatchable($dispatchable)
- {
- $this->_isDispatchable = (bool) $dispatchable;
- return $this;
- }
-
- /**
- * isDispatchable() Is this request Dispatchable?
- *
- * @return bool
- */
- public function isDispatchable()
- {
- return $this->_isDispatchable;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Response.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Response.php
deleted file mode 100644
index ec7094499..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Response.php
+++ /dev/null
@@ -1,223 +0,0 @@
-_callback = $callback;
- return $this;
- }
-
- /**
- * setContent()
- *
- * @param string $content
- * @return Zend_Tool_Framework_Client_Response
- */
- public function setContent($content, Array $decoratorOptions = array())
- {
- $this->_applyDecorators($content, $decoratorOptions);
-
- $this->_content = array();
- $this->appendContent($content);
- return $this;
- }
-
- /**
- * appendCallback
- *
- * @param string $content
- * @return Zend_Tool_Framework_Client_Response
- */
- public function appendContent($content, Array $decoratorOptions = array())
- {
- $content = $this->_applyDecorators($content, $decoratorOptions);
-
- if ($this->_callback !== null) {
- call_user_func($this->_callback, $content);
- }
-
- $this->_content[] = $content;
-
- return $this;
- }
-
- /**
- * setDefaultDecoratorOptions()
- *
- * @param array $decoratorOptions
- * @param bool $mergeIntoExisting
- * @return Zend_Tool_Framework_Client_Response
- */
- public function setDefaultDecoratorOptions(Array $decoratorOptions, $mergeIntoExisting = false)
- {
- if ($mergeIntoExisting == false) {
- $this->_defaultDecoratorOptions = array();
- }
-
- $this->_defaultDecoratorOptions = array_merge($this->_defaultDecoratorOptions, $decoratorOptions);
- return $this;
- }
-
- /**
- * getContent()
- *
- * @return string
- */
- public function getContent()
- {
- return implode('', $this->_content);
- }
-
- /**
- * isException()
- *
- * @return bool
- */
- public function isException()
- {
- return isset($this->_exception);
- }
-
- /**
- * setException()
- *
- * @param Exception $exception
- * @return Zend_Tool_Framework_Client_Response
- */
- public function setException(Exception $exception)
- {
- $this->_exception = $exception;
- return $this;
- }
-
- /**
- * getException()
- *
- * @return Exception
- */
- public function getException()
- {
- return $this->_exception;
- }
-
- /**
- * Add Content Decorator
- *
- * @param Zend_Tool_Framework_Client_Response_ContentDecorator_Interface $contentDecorator
- * @return unknown
- */
- public function addContentDecorator(Zend_Tool_Framework_Client_Response_ContentDecorator_Interface $contentDecorator)
- {
- $decoratorName = strtolower($contentDecorator->getName());
- $this->_decorators[$decoratorName] = $contentDecorator;
- return $this;
- }
-
- /**
- * getContentDecorators()
- *
- * @return array
- */
- public function getContentDecorators()
- {
- return $this->_decorators;
- }
-
- /**
- * __toString() to cast to a string
- *
- * @return string
- */
- public function __toString()
- {
- return (string) implode('', $this->_content);
- }
-
- /**
- * _applyDecorators() apply a group of decorators
- *
- * @param string $content
- * @param array $decoratorOptions
- * @return string
- */
- protected function _applyDecorators($content, Array $decoratorOptions)
- {
- $options = array_merge($this->_defaultDecoratorOptions, $decoratorOptions);
-
- $options = array_change_key_case($options, CASE_LOWER);
-
- if ($options) {
- foreach ($this->_decorators as $decoratorName => $decorator) {
- if (array_key_exists($decoratorName, $options)) {
- $content = $decorator->decorate($content, $options[$decoratorName]);
- }
- }
- }
-
- return $content;
-
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php
deleted file mode 100644
index 3c604e5dc..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-_separator = $separator;
- return $this;
- }
-
- /**
- * getSeparator()
- *
- * @return string
- */
- public function getSeparator()
- {
- return $this->_separator;
- }
-
- public function decorate($content, $decoratorValue)
- {
- $run = 1;
- if (is_bool($decoratorValue) && $decoratorValue === false) {
- return $content;
- }
-
- if (is_int($decoratorValue)) {
- $run = $decoratorValue;
- }
-
- for ($i = 0; $i < $run; $i++) {
- $content .= $this->_separator;
- }
-
- return $content;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Storage.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Storage.php
deleted file mode 100644
index 6b0c8182c..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Storage.php
+++ /dev/null
@@ -1,117 +0,0 @@
-setAdapter($options['adapter']);
- }
- }
-
- public function setAdapter($adapter)
- {
- if (is_string($adapter)) {
- $storageAdapterClass = 'Zend_Tool_Framework_Client_Storage_' . ucfirst($adapter);
- Zend_Loader::loadClass($storageAdapterClass);
- $adapter = new $storageAdapterClass();
- }
- $this->_adapter = $adapter;
- }
-
- public function isEnabled()
- {
- return ($this->_adapter instanceof Zend_Tool_Framework_Client_Storage_AdapterInterface);
- }
-
- public function put($name, $value)
- {
- if (!$this->_adapter) {
- return false;
- }
-
- $this->_adapter->put($name, $value);
-
- return $this;
- }
-
- public function get($name, $defaultValue = false)
- {
- if (!$this->_adapter) {
- return false;
- }
-
- if ($this->_adapter->has($name)) {
- return $this->_adapter->get($name);
- } else {
- return $defaultValue;
- }
-
- }
-
- public function has($name)
- {
- if (!$this->_adapter) {
- return false;
- }
-
- return $this->_adapter->has($name);
- }
-
- public function remove($name)
- {
- if (!$this->_adapter) {
- return false;
- }
-
- $this->_adapter->remove($name);
-
- return $this;
- }
-
- public function getStreamUri($name)
- {
- if (!$this->_adapter) {
- return false;
- }
-
- return $this->_adapter->getStreamUri($name);
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Client/Storage/AdapterInterface.php b/airtime_mvc/library/Zend/Tool/Framework/Client/Storage/AdapterInterface.php
deleted file mode 100644
index bc2b9c170..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Client/Storage/AdapterInterface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-_directoryPath = $directoryPath;
- }
-
- public function put($name, $value)
- {
- return file_put_contents($this->_directoryPath . DIRECTORY_SEPARATOR . $name, $value);
- }
-
- public function get($name)
- {
- return file_get_contents($this->_directoryPath . DIRECTORY_SEPARATOR . $name);
- }
-
- public function has($name)
- {
- return file_exists($this->_directoryPath . DIRECTORY_SEPARATOR . $name);
- }
-
- public function remove($name)
- {
- return unlink($this->_directoryPath . DIRECTORY_SEPARATOR . $name);
- }
-
- public function getStreamUri($name)
- {
- return $this->_directoryPath . DIRECTORY_SEPARATOR . $name;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Exception.php b/airtime_mvc/library/Zend/Tool/Framework/Exception.php
deleted file mode 100644
index 53f39992b..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Exception.php
+++ /dev/null
@@ -1,36 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
- /**
- * load() - called by the client initialize routine to load files
- *
- */
- public function load()
- {
- $this->_retrievedFiles = $this->getRetrievedFiles();
- $this->_loadedClasses = array();
-
- $manifestRepository = $this->_registry->getManifestRepository();
- $providerRepository = $this->_registry->getProviderRepository();
-
- $loadedClasses = array();
-
- // loop through files and find the classes declared by loading the file
- foreach ($this->_retrievedFiles as $file) {
- if(is_dir($file)) {
- continue;
- }
-
- $classesLoadedBefore = get_declared_classes();
- $oldLevel = error_reporting(E_ALL | ~E_STRICT); // remove strict so that other packages wont throw warnings
- // should we lint the files here? i think so
- include_once $file;
- error_reporting($oldLevel); // restore old error level
- $classesLoadedAfter = get_declared_classes();
- $loadedClasses = array_merge($loadedClasses, array_diff($classesLoadedAfter, $classesLoadedBefore));
- }
-
- // loop through the loaded classes and ensure that
- foreach ($loadedClasses as $loadedClass) {
-
- // reflect class to see if its something we want to load
- $reflectionClass = new ReflectionClass($loadedClass);
- if ($reflectionClass->implementsInterface('Zend_Tool_Framework_Manifest_Interface')
- && !$reflectionClass->isAbstract())
- {
- $manifestRepository->addManifest($reflectionClass->newInstance());
- $this->_loadedClasses[] = $loadedClass;
- }
-
- if ($reflectionClass->implementsInterface('Zend_Tool_Framework_Provider_Interface')
- && !$reflectionClass->isAbstract()
- && !$providerRepository->hasProvider($reflectionClass->getName(), false))
- {
- $providerRepository->addProvider($reflectionClass->newInstance());
- $this->_loadedClasses[] = $loadedClass;
- }
-
- }
-
- return $this->_loadedClasses;
- }
-
- /**
- * getRetrievedFiles()
- *
- * @return array Array of Files Retrieved
- */
- public function getRetrievedFiles()
- {
- if ($this->_retrievedFiles == null) {
- $this->_retrievedFiles = $this->_getFiles();
- }
-
- return $this->_retrievedFiles;
- }
-
- /**
- * getLoadedClasses()
- *
- * @return array Array of Loaded Classes
- */
- public function getLoadedClasses()
- {
- return $this->_loadedClasses;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Loader/BasicLoader.php b/airtime_mvc/library/Zend/Tool/Framework/Loader/BasicLoader.php
deleted file mode 100644
index 60f8aa376..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Loader/BasicLoader.php
+++ /dev/null
@@ -1,157 +0,0 @@
-setOptions($options);
- }
- }
-
- public function setOptions(Array $options)
- {
- foreach ($options as $optionName => $optionValue) {
- $setMethod = 'set' . $optionName;
- if (method_exists($this, $setMethod)) {
- $this->{$setMethod}($optionValue);
- }
- }
- }
-
- /**
- * setRegistry() - required by the enabled interface to get an instance of
- * the registry
- *
- * @param Zend_Tool_Framework_Registry_Interface $registry
- * @return Zend_Tool_Framework_Loader_Abstract
- */
- public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
- {
- $this->_registry = $registry;
- return $this;
- }
-
- /**
- * @param array $classesToLoad
- * @return Zend_Tool_Framework_Loader_Abstract
- */
- public function setClassesToLoad(array $classesToLoad)
- {
- $this->_classesToLoad = $classesToLoad;
- return $this;
- }
-
- public function load()
- {
- $manifestRegistry = $this->_registry->getManifestRepository();
- $providerRegistry = $this->_registry->getProviderRepository();
-
- $loadedClasses = array();
-
- // loop through the loaded classes and ensure that
- foreach ($this->_classesToLoad as $class) {
-
- if (!class_exists($class)) {
- Zend_Loader::loadClass($class);
- }
-
- // reflect class to see if its something we want to load
- $reflectionClass = new ReflectionClass($class);
- if ($this->_isManifestImplementation($reflectionClass)) {
- $manifestRegistry->addManifest($reflectionClass->newInstance());
- $loadedClasses[] = $class;
- }
-
- if ($this->_isProviderImplementation($reflectionClass)) {
- $providerRegistry->addProvider($reflectionClass->newInstance());
- $loadedClasses[] = $class;
- }
-
- }
-
- return $loadedClasses;
- }
-
- /**
- * @param ReflectionClass $reflectionClass
- * @return bool
- */
- private function _isManifestImplementation($reflectionClass)
- {
- return (
- $reflectionClass->implementsInterface('Zend_Tool_Framework_Manifest_Interface')
- && !$reflectionClass->isAbstract()
- );
- }
-
- /**
- * @param ReflectionClass $reflectionClass
- * @return bool
- */
- private function _isProviderImplementation($reflectionClass)
- {
- $providerRegistry = $this->_registry->getProviderRepository();
-
- return (
- $reflectionClass->implementsInterface('Zend_Tool_Framework_Provider_Interface')
- && !$reflectionClass->isAbstract()
- && !$providerRegistry->hasProvider($reflectionClass->getName(), false)
- );
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Loader/IncludePathLoader.php b/airtime_mvc/library/Zend/Tool/Framework/Loader/IncludePathLoader.php
deleted file mode 100644
index 97c1a9ad2..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Loader/IncludePathLoader.php
+++ /dev/null
@@ -1,139 +0,0 @@
-_fileIsBlacklisted($file)) {
- continue;
- }
-
- // ensure that the same named file from separate include_paths is not loaded
- $relativeItem = preg_replace('#^' . preg_quote($realIncludePath . DIRECTORY_SEPARATOR, '#') . '#', '', $item->getRealPath());
-
- // no links allowed here for now
- if ($item->isLink()) {
- continue;
- }
-
- // no items that are relavitely the same are allowed
- if (in_array($relativeItem, $relativeItems)) {
- continue;
- }
-
- $relativeItems[] = $relativeItem;
- $files[] = $item->getRealPath();
- }
- }
-
- return $files;
- }
-
- /**
- *
- * @param string $file
- * @return bool
- */
- protected function _fileIsBlacklisted($file)
- {
- $blacklist = array(
- "PHPUnit".DIRECTORY_SEPARATOR."Framework",
- "Zend".DIRECTORY_SEPARATOR."OpenId".DIRECTORY_SEPARATOR."Provider"
- );
-
- foreach($blacklist AS $blacklitedPattern) {
- if(strpos($file, $blacklitedPattern) !== false) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Loader/IncludePathLoader/RecursiveFilterIterator.php b/airtime_mvc/library/Zend/Tool/Framework/Loader/IncludePathLoader/RecursiveFilterIterator.php
deleted file mode 100644
index 4873a0557..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Loader/IncludePathLoader/RecursiveFilterIterator.php
+++ /dev/null
@@ -1,91 +0,0 @@
-_denyDirectoryPattern = $denyDirectoryPattern;
- $this->_acceptFilePattern = $acceptFilePattern;
- parent::__construct($iterator);
- }
-
- /**
- * accept() - Which iterable items to accept or deny, required by FilterInterface
- *
- * @return unknown
- */
- public function accept()
- {
- $currentNode = $this->current();
- $currentNodeRealPath = $currentNode->getRealPath();
-
- // if the current node is a directory AND doesn't match the denyDirectory pattern, accept
- if ($currentNode->isDir()
- && !preg_match('#' . $this->_denyDirectoryPattern . '#', $currentNodeRealPath)) {
- return true;
- }
-
- // if the file matches the accept file pattern, accept
- $acceptable = (preg_match('#' . $this->_acceptFilePattern . '#', $currentNodeRealPath)) ? true : false;
- return $acceptable;
- }
-
- /**
- * getChildren() - overridden from RecursiveFilterIterator to allow the persistence of
- * the $_denyDirectoryPattern and the $_acceptFilePattern when sub iterators of this filter
- * are needed to be created.
- *
- * @return Zend_Tool_Framework_Loader_IncludePathLoader_RecursiveFilterIterator
- */
- public function getChildren()
- {
- if (empty($this->ref)) {
- $this->ref = new ReflectionClass($this);
- }
-
- return $this->ref->newInstance(
- $this->getInnerIterator()->getChildren(),
- $this->_denyDirectoryPattern,
- $this->_acceptFilePattern
- );
- }
-
-}
-
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Loader/Interface.php b/airtime_mvc/library/Zend/Tool/Framework/Loader/Interface.php
deleted file mode 100644
index 9c62d9631..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Loader/Interface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
- /**
- * addManifest() - Add a manifest for later processing
- *
- * @param Zend_Tool_Framework_Manifest_Interface $manifest
- * @return Zend_Tool_Framework_Manifest_Repository
- */
- public function addManifest(Zend_Tool_Framework_Manifest_Interface $manifest)
- {
- // we need to get an index number so that manifests with
- // higher indexes have priority over others
- $index = count($this->_manifests);
-
- if ($manifest instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
- $manifest->setRegistry($this->_registry);
- }
-
- // if the manifest supplies a getIndex() method, use it
- if ($manifest instanceof Zend_Tool_Framework_Manifest_Indexable) {
- $index = $manifest->getIndex();
- }
-
- // get the required objects from the framework registry
- $actionRepository = $this->_registry->getActionRepository();
- $providerRepository = $this->_registry->getProviderRepository();
-
- // load providers if interface supports that method
- if ($manifest instanceof Zend_Tool_Framework_Manifest_ProviderManifestable) {
- $providers = $manifest->getProviders();
- if (!is_array($providers)) {
- $providers = array($providers);
- }
-
- foreach ($providers as $provider) {
-
- // if provider is a string, try and load it as an object
- if (is_string($provider)) {
- $provider = new $provider();
- }
-
- if (!$provider instanceof Zend_Tool_Framework_Provider_Interface) {
- require_once 'Zend/Tool/Framework/Manifest/Exception.php';
- throw new Zend_Tool_Framework_Manifest_Exception(
- 'A provider provided by the ' . get_class($manifest)
- . ' does not implement Zend_Tool_Framework_Provider_Interface'
- );
- }
- if (!$providerRepository->hasProvider($provider, false)) {
- $providerRepository->addProvider($provider);
- }
- }
-
- }
-
- // load actions if interface supports that method
- if ($manifest instanceof Zend_Tool_Framework_Manifest_ActionManifestable) {
- $actions = $manifest->getActions();
- if (!is_array($actions)) {
- $actions = array($actions);
- }
-
- foreach ($actions as $action) {
- if (is_string($action)) {
- $action = new Zend_Tool_Framework_Action_Base($action);
- }
- $actionRepository->addAction($action);
- }
- }
-
- // should we detect collisions here? does it even matter?
- $this->_manifests[$index] = $manifest;
- ksort($this->_manifests);
-
- return $this;
- }
-
- /**
- * getManifests()
- *
- * @return Zend_Tool_Framework_Manifest_Interface[]
- */
- public function getManifests()
- {
- return $this->_manifests;
- }
-
- /**
- * addMetadata() - add a metadata peice by peice
- *
- * @param Zend_Tool_Framework_Manifest_Metadata $metadata
- * @return Zend_Tool_Framework_Manifest_Repository
- */
- public function addMetadata(Zend_Tool_Framework_Metadata_Interface $metadata)
- {
- $this->_metadatas[] = $metadata;
- return $this;
- }
-
- /**
- * process() - Process is expected to be called at the end of client construction time.
- * By this time, the loader has run and loaded any found manifests into the repository
- * for loading
- *
- * @return Zend_Tool_Framework_Manifest_Repository
- */
- public function process()
- {
-
- foreach ($this->_manifests as $manifest) {
- if ($manifest instanceof Zend_Tool_Framework_Manifest_MetadataManifestable) {
- $metadatas = $manifest->getMetadata();
- if (!is_array($metadatas)) {
- $metadatas = array($metadatas);
- }
-
- foreach ($metadatas as $metadata) {
- if (is_array($metadata)) {
- if (!class_exists('Zend_Tool_Framework_Metadata_Dynamic')) {
- require_once 'Zend/Tool/Framework/Metadata/Dynamic.php';
- }
- $metadata = new Zend_Tool_Framework_Metadata_Dynamic($metadata);
- }
-
- if (!$metadata instanceof Zend_Tool_Framework_Metadata_Interface) {
- require_once 'Zend/Tool/Framework/Manifest/Exception.php';
- throw new Zend_Tool_Framework_Manifest_Exception(
- 'A Zend_Tool_Framework_Metadata_Interface object was not found in manifest ' . get_class($manifest)
- );
- }
-
- $this->addMetadata($metadata);
- }
-
- }
- }
-
- return $this;
- }
-
- /**
- * getMetadatas() - This is the main search function for the repository.
- *
- * example: This will retrieve all metadata that matches the following criteria
- * $manifestRepo->getMetadatas(array(
- * 'providerName' => 'Version',
- * 'actionName' => 'show'
- * ));
- *
- * @param array $searchProperties
- * @param bool $includeNonExistentProperties
- * @return Zend_Tool_Framework_Manifest_Metadata[]
- */
- public function getMetadatas(Array $searchProperties = array(), $includeNonExistentProperties = true)
- {
-
- $returnMetadatas = array();
-
- // loop through the metadatas so that we can search each individual one
- foreach ($this->_metadatas as $metadata) {
-
- // each value will be retrieved from the metadata, each metadata should
- // implement a getter method to retrieve the value
- foreach ($searchProperties as $searchPropertyName => $searchPropertyValue) {
- if (method_exists($metadata, 'get' . $searchPropertyName)) {
- if ($metadata->{'get' . $searchPropertyName}() != $searchPropertyValue) {
- // if the metadata supports a specific property but the value does not
- // match, move on
- continue 2;
- }
- } elseif (!$includeNonExistentProperties) {
- // if the option $includeNonExitentProperties is false, then move on as
- // we dont want to include this metadata if non existent
- // search properties are not inside the target (current) metadata
- continue 2;
- }
- }
-
- // all searching has been accounted for, if we reach this point, then the metadata
- // is good and we can return it
- $returnMetadatas[] = $metadata;
-
- }
-
- return $returnMetadatas;
- }
-
- /**
- * getMetadata() - This will proxy to getMetadatas(), but will only return a single metadata. This method
- * should be used in situations where the search criteria is known to only find a single metadata object
- *
- * @param array $searchProperties
- * @param bool $includeNonExistentProperties
- * @return Zend_Tool_Framework_Manifest_Metadata
- */
- public function getMetadata(Array $searchProperties = array(), $includeNonExistentProperties = true)
- {
- $metadatas = $this->getMetadatas($searchProperties, $includeNonExistentProperties);
- return array_shift($metadatas);
- }
-
- /**
- * __toString() - cast to string
- *
- * @return string
- */
- public function __toString()
- {
- $metadatasByType = array();
-
- foreach ($this->_metadatas as $metadata) {
- if (!array_key_exists($metadata->getType(), $metadatasByType)) {
- $metadatasByType[$metadata->getType()] = array();
- }
- $metadatasByType[$metadata->getType()][] = $metadata;
- }
-
- $string = '';
- foreach ($metadatasByType as $type => $metadatas) {
- $string .= $type . PHP_EOL;
- foreach ($metadatas as $metadata) {
- $metadataString = ' ' . $metadata->__toString() . PHP_EOL;
- //$metadataString = str_replace(PHP_EOL, PHP_EOL . ' ', $metadataString);
- $string .= $metadataString;
- }
- }
-
- return $string;
- }
-
- /**
- * count() - required by the Countable Interface
- *
- * @return int
- */
- public function count()
- {
- return count($this->_metadatas);
- }
-
- /**
- * getIterator() - required by the IteratorAggregate interface
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->_metadatas);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Metadata/Attributable.php b/airtime_mvc/library/Zend/Tool/Framework/Metadata/Attributable.php
deleted file mode 100644
index 7ce0011eb..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Metadata/Attributable.php
+++ /dev/null
@@ -1,32 +0,0 @@
-setOptions($options);
- }
- }
-
- /**
- * setOptions() - standard issue implementation, this will set any
- * options that are supported via a set method.
- *
- * @param array $options
- * @return Zend_Tool_Framework_Metadata_Basic
- */
- public function setOptions(Array $options)
- {
- foreach ($options as $optionName => $optionValue) {
- $setMethod = 'set' . $optionName;
- if (method_exists($this, $setMethod)) {
- $this->{$setMethod}($optionValue);
- }
- }
-
- return $this;
- }
-
- /**
- * getType()
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * setType()
- *
- * @param string $type
- * @return Zend_Tool_Framework_Metadata_Basic
- */
- public function setType($type)
- {
- $this->_type = $type;
- return $this;
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * setName()
- *
- * @param string $name
- * @return Zend_Tool_Framework_Metadata_Basic
- */
- public function setName($name)
- {
- $this->_name = $name;
- return $this;
- }
-
- /**
- * getValue()
- *
- * @return mixed
- */
- public function getValue()
- {
- return $this->_value;
- }
-
- /**
- * setValue()
- *
- * @param unknown_type $Value
- * @return Zend_Tool_Framework_Metadata_Basic
- */
- public function setValue($value)
- {
- $this->_value = $value;
- return $this;
- }
-
- /**
- * setReference()
- *
- * @param mixed $reference
- * @return Zend_Tool_Framework_Metadata_Basic
- */
- public function setReference($reference)
- {
- $this->_reference = $reference;
- return $this;
- }
-
- /**
- * getReference()
- *
- * @return mixed
- */
- public function getReference()
- {
- return $this->_reference;
- }
-
- /**
- * getAttributes() - this will retrieve any attributes of this object that exist as properties
- * This is most useful for printing metadata.
- *
- * @param const $type
- * @return array
- */
- public function getAttributes($type = self::ATTRIBUTES_ALL, $stringRepresentationOfNonScalars = false)
- {
- $thisReflection = new ReflectionObject($this);
-
- $metadataPairValues = array();
-
- foreach (get_object_vars($this) as $varName => $varValue) {
- if ($type == self::ATTRIBUTES_NO_PARENT && ($thisReflection->getProperty($varName)->getDeclaringClass()->getName() == 'Zend_Tool_Framework_Metadata_Basic')) {
- continue;
- }
-
- if ($stringRepresentationOfNonScalars) {
-
- if (is_object($varValue)) {
- $varValue = '(object)';
- }
-
- if (is_null($varValue)) {
- $varValue = '(null)';
- }
-
- }
-
- $metadataPairValues[ltrim($varName, '_')] = $varValue;
- }
-
- return $metadataPairValues;
- }
-
- /**
- * __toString() - string representation of this object
- *
- * @return string
- */
- public function __toString()
- {
- return 'Type: ' . $this->_type . ', Name: ' . $this->_name . ', Value: ' . (is_array($this->_value) ? http_build_query($this->_value) : (string) $this->_value);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Metadata/Dynamic.php b/airtime_mvc/library/Zend/Tool/Framework/Metadata/Dynamic.php
deleted file mode 100644
index f5a33f376..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Metadata/Dynamic.php
+++ /dev/null
@@ -1,219 +0,0 @@
-setOptions($options);
- }
- }
-
- public function setOptions(Array $options = array())
- {
- foreach ($options as $optName => $optValue) {
- $methodName = 'set' . $optName;
- $this->{$methodName}($optValue);
- }
- }
-
- /**
- * setType()
- *
- * @param $type
- * @return Zend_Tool_Framework_Metadata_Dynamic
- */
- public function setType($type)
- {
- $this->_type = $type;
- return $this;
- }
-
- /**
- * getType()
- *
- * The type of metadata this describes
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * setName()
- *
- * @param $name
- * @return Zend_Tool_Framework_Metadata_Dynamic
- */
- public function setName($name)
- {
- $this->_name = $name;
- return $this;
- }
-
- /**
- * getName()
- *
- * Metadata name
- *
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * setValue()
- *
- * @param $value
- * @return Zend_Tool_Framework_Metadata_Dynamic
- */
- public function setValue($value)
- {
- $this->_value = $value;
- return $this;
- }
-
- /**
- * getValue()
- *
- * Metadata Value
- *
- * @return string
- */
- public function getValue()
- {
- return $this->_value;
- }
-
- public function getAttributes()
- {
- return $this->_dynamicAttributes;
- }
-
- /**
- * __isset()
- *
- * Check if an attrbute is set
- *
- * @param string $name
- * @return bool
- */
- public function __isset($name)
- {
- return isset($this->_dynamicAttributes[$name]);
- }
-
- /**
- * __unset()
- *
- * @param string $name
- * @return null
- */
- public function __unset($name)
- {
- unset($this->_dynamicAttributes[$name]);
- return;
- }
-
- /**
- * __get() - Get a property via property call $metadata->foo
- *
- * @param string $name
- * @return mixed
- */
- public function __get($name)
- {
- if (method_exists($this, 'get' . $name)) {
- return $this->{'get' . $name}();
- } elseif (array_key_exists($name, $this->_dynamicAttributes)) {
- return $this->_dynamicAttributes[$name];
- } else {
- require_once 'Zend/Tool/Framework/Registry/Exception.php';
- throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this metadata.');
- }
- }
-
- /**
- * __set() - Set a property via the magic set $metadata->foo = 'foo'
- *
- * @param string $name
- * @param mixed $value
- */
- public function __set($name, $value)
- {
- if (method_exists($this, 'set' . $name)) {
- $this->{'set' . $name}($value);
- return $this;
- } else {
- $this->_dynamicAttributes[$name] = $value;
- return $this;
- }
-// {
-// require_once 'Zend/Tool/Framework/Registry/Exception.php';
-// throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this registry.');
-// }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Metadata/Interface.php b/airtime_mvc/library/Zend/Tool/Framework/Metadata/Interface.php
deleted file mode 100644
index 1aa2498fe..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Metadata/Interface.php
+++ /dev/null
@@ -1,52 +0,0 @@
-_clientName = $clientName;
- return $this;
- }
-
- public function getClientName()
- {
- return $this->_clientName;
- }
-
- /**
- * setActionName()
- *
- * @param string $actionName
- * @return Zend_Tool_Framework_Metadata_Tool
- */
- public function setActionName($actionName)
- {
- $this->_actionName = $actionName;
- return $this;
- }
-
- /**
- * getActionName()
- *
- * @return string
- */
- public function getActionName()
- {
- return $this->_actionName;
- }
-
- /**
- * setProviderName()
- *
- * @param string $providerName
- * @return Zend_Tool_Framework_Metadata_Tool
- */
- public function setProviderName($providerName)
- {
- $this->_providerName = $providerName;
- return $this;
- }
-
- /**
- * getProviderName()
- *
- * @return string
- */
- public function getProviderName()
- {
- return $this->_providerName;
- }
-
- /**
- * setSpecialtyName()
- *
- * @param string $specialtyName
- * @return Zend_Tool_Framework_Metadata_Tool
- */
- public function setSpecialtyName($specialtyName)
- {
- $this->_specialtyName = $specialtyName;
- return $this;
- }
-
- /**
- * getSpecialtyName()
- *
- * @return string
- */
- public function getSpecialtyName()
- {
- return $this->_specialtyName;
- }
-
- /**
- * setClientReference()
- *
- * @param Zend_Tool_Framework_Client_Abstract $client
- * @return Zend_Tool_Framework_Metadata_Tool
- */
- public function setClientReference(Zend_Tool_Framework_Client_Abstract $client)
- {
- $this->_clientReference = $client;
- return $this;
- }
-
- /**
- * getClientReference()
- *
- * @return Zend_Tool_Framework_Client_Abstract
- */
- public function getClientReference()
- {
- return $this->_clientReference;
- }
-
- /**
- * setActionReference()
- *
- * @param Zend_Tool_Framework_Action_Interface $action
- * @return Zend_Tool_Framework_Metadata_Tool
- */
- public function setActionReference(Zend_Tool_Framework_Action_Interface $action)
- {
- $this->_actionReference = $action;
- return $this;
- }
-
- /**
- * getActionReference()
- *
- * @return Zend_Tool_Framework_Action_Interface
- */
- public function getActionReference()
- {
- return $this->_actionReference;
- }
-
- /**
- * setProviderReference()
- *
- * @param Zend_Tool_Framework_Provider_Interface $provider
- * @return Zend_Tool_Framework_Metadata_Tool
- */
- public function setProviderReference(Zend_Tool_Framework_Provider_Interface $provider)
- {
- $this->_providerReference = $provider;
- return $this;
- }
-
- /**
- * getProviderReference()
- *
- * @return Zend_Tool_Framework_Provider_Interface
- */
- public function getProviderReference()
- {
- return $this->_providerReference;
- }
-
- /**
- * __toString() cast to string
- *
- * @return string
- */
- public function __toString()
- {
- $string = parent::__toString();
- $string .= ' (ProviderName: ' . $this->_providerName
- . ', ActionName: ' . $this->_actionName
- . ', SpecialtyName: ' . $this->_specialtyName
- . ')';
-
- return $string;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Provider/Abstract.php b/airtime_mvc/library/Zend/Tool/Framework/Provider/Abstract.php
deleted file mode 100644
index d9c081638..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Provider/Abstract.php
+++ /dev/null
@@ -1,68 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Provider/DocblockManifestable.php b/airtime_mvc/library/Zend/Tool/Framework/Provider/DocblockManifestable.php
deleted file mode 100644
index 308c7de98..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Provider/DocblockManifestable.php
+++ /dev/null
@@ -1,30 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
- /**
- * Set the ProcessOnAdd flag
- *
- * @param unknown_type $processOnAdd
- * @return unknown
- */
- public function setProcessOnAdd($processOnAdd = true)
- {
- $this->_processOnAdd = (bool) $processOnAdd;
- return $this;
- }
-
- /**
- * Add a provider to the repository for processing
- *
- * @param Zend_Tool_Framework_Provider_Interface $provider
- * @return Zend_Tool_Framework_Provider_Repository
- */
- public function addProvider(Zend_Tool_Framework_Provider_Interface $provider, $overwriteExistingProvider = false)
- {
- if ($provider instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
- $provider->setRegistry($this->_registry);
- }
-
- if (method_exists($provider, 'getName')) {
- $providerName = $provider->getName();
- } else {
- $providerName = $this->_parseName($provider);
- }
-
- // if a provider by the given name already exist, and its not set as overwritable, throw exception
- if (!$overwriteExistingProvider &&
- (array_key_exists($providerName, $this->_unprocessedProviders)
- || array_key_exists($providerName, $this->_providers)))
- {
- require_once 'Zend/Tool/Framework/Provider/Exception.php';
- throw new Zend_Tool_Framework_Provider_Exception('A provider by the name ' . $providerName
- . ' is already registered and $overrideExistingProvider is set to false.');
- }
-
- $this->_unprocessedProviders[$providerName] = $provider;
-
- // if process has already been called, process immediately.
- if ($this->_processOnAdd) {
- $this->process();
- }
-
- return $this;
- }
-
- public function hasProvider($providerOrClassName, $processedOnly = true)
- {
- if ($providerOrClassName instanceof Zend_Tool_Framework_Provider_Interface) {
- $targetProviderClassName = get_class($providerOrClassName);
- } else {
- $targetProviderClassName = (string) $providerOrClassName;
- }
-
- if (!$processedOnly) {
- foreach ($this->_unprocessedProviders as $unprocessedProvider) {
- if (get_class($unprocessedProvider) == $targetProviderClassName) {
- return true;
- }
- }
- }
-
- foreach ($this->_providers as $processedProvider) {
- if (get_class($processedProvider) == $targetProviderClassName) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Process all of the unprocessed providers
- *
- */
- public function process()
- {
-
- // process all providers in the unprocessedProviders array
- foreach ($this->_unprocessedProviders as $providerName => $provider) {
-
- // create a signature for the provided provider
- $providerSignature = new Zend_Tool_Framework_Provider_Signature($provider);
-
- if ($providerSignature instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
- $providerSignature->setRegistry($this->_registry);
- }
-
- $providerSignature->process();
-
- // ensure the name is lowercased for easier searching
- $providerName = strtolower($providerName);
-
- // add to the appropraite place
- $this->_providerSignatures[$providerName] = $providerSignature;
- $this->_providers[$providerName] = $providerSignature->getProvider();
-
- // remove from unprocessed array
- unset($this->_unprocessedProviders[$providerName]);
- }
-
- }
-
- /**
- * getProviders() Get all the providers in the repository
- *
- * @return array
- */
- public function getProviders()
- {
- return $this->_providers;
- }
-
- /**
- * getProviderSignatures() Get all the provider signatures
- *
- * @return array
- */
- public function getProviderSignatures()
- {
- return $this->_providerSignatures;
- }
-
- /**
- * getProvider()
- *
- * @param string $providerName
- * @return Zend_Tool_Framework_Provider_Interface
- */
- public function getProvider($providerName)
- {
- return $this->_providers[strtolower($providerName)];
- }
-
- /**
- * getProviderSignature()
- *
- * @param string $providerName
- * @return Zend_Tool_Framework_Provider_Signature
- */
- public function getProviderSignature($providerName)
- {
- return $this->_providerSignatures[strtolower($providerName)];
- }
-
- /**
- * count() - return the number of providers
- *
- * @return int
- */
- public function count()
- {
- return count($this->_providers);
- }
-
- /**
- * getIterator() - Required by the IteratorAggregate Interface
- *
- * @return ArrayIterator
- */
- public function getIterator()
- {
- return new ArrayIterator($this->getProviders());
- }
-
- /**
- * _parseName - internal method to determine the name of an action when one is not explicity provided.
- *
- * @param Zend_Tool_Framework_Action_Interface $action
- * @return string
- */
- protected function _parseName(Zend_Tool_Framework_Provider_Interface $provider)
- {
- $className = get_class($provider);
- $providerName = substr($className, strrpos($className, '_')+1);
- if (substr($providerName, -8) == 'Provider') {
- $providerName = substr($providerName, 0, strlen($providerName)-8);
- }
- return $providerName;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Provider/Signature.php b/airtime_mvc/library/Zend/Tool/Framework/Provider/Signature.php
deleted file mode 100644
index 08a50b161..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Provider/Signature.php
+++ /dev/null
@@ -1,391 +0,0 @@
-_provider = $provider;
- $this->_providerReflection = new Zend_Reflection_Class($provider);
- }
-
- /**
- * setRegistry()
- *
- * @param Zend_Tool_Framework_Registry_Interface $registry
- * @return Zend_Tool_Framework_Provider_Signature
- */
- public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
- {
- $this->_registry = $registry;
- return $this;
- }
-
- public function process()
- {
- if ($this->_isProcessed) {
- return;
- }
-
- $this->_process();
- }
-
- /**
- * getName() of the provider
- *
- * @return unknown
- */
- public function getName()
- {
- return $this->_name;
- }
-
- /**
- * Get the provider for this signature
- *
- * @return Zend_Tool_Framework_Provider_Interface
- */
- public function getProvider()
- {
- return $this->_provider;
- }
-
- /**
- * getProviderReflection()
- *
- * @return Zend_Reflection_Class
- */
- public function getProviderReflection()
- {
- return $this->_providerReflection;
- }
-
- /**
- * getSpecialities()
- *
- * @return array
- */
- public function getSpecialties()
- {
- return $this->_specialties;
- }
-
- /**
- * getActions()
- *
- * @return array Array of Actions
- */
- public function getActions()
- {
- return $this->_actions;
- }
-
- /**
- * getActionableMethods()
- *
- * @return array
- */
- public function getActionableMethods()
- {
- return $this->_actionableMethods;
- }
-
- /**
- * getActionableMethod() - Get an actionable method by name, this will return an array of
- * useful information about what can be exectued on this provider
- *
- * @param string $methodName
- * @return array
- */
- public function getActionableMethod($methodName)
- {
- if (isset($this->_actionableMethods[$methodName])) {
- return $this->_actionableMethods[$methodName];
- }
-
- return false;
- }
-
- /**
- * getActionableMethodByActionName() - Get an actionable method by its action name, this
- * will return an array of useful information about what can be exectued on this provider
- *
- * @param string $actionName
- * @return array
- */
- public function getActionableMethodByActionName($actionName, $specialtyName = '_Global')
- {
- foreach ($this->_actionableMethods as $actionableMethod) {
- if ($actionName == $actionableMethod['actionName']
- && $specialtyName == $actionableMethod['specialty']) {
- return $actionableMethod;
- }
- }
-
- return false;
- }
-
- /**
- * _process() is called at construction time and is what will build the signature information
- * for determining what is actionable
- *
- */
- protected function _process()
- {
- $this->_isProcessed = true;
- $this->_processName();
- $this->_processSpecialties();
- $this->_processActionableMethods();
- }
-
- /**
- * _processName();
- *
- */
- protected function _processName()
- {
- if (method_exists($this->_provider, 'getName')) {
- $this->_name = $this->_provider->getName();
- }
-
- if ($this->_name == null) {
- $className = get_class($this->_provider);
- $name = substr($className, strrpos($className, '_')+1);
- $name = preg_replace('#(Provider|Manifest)$#', '', $name);
- $this->_name = $name;
- }
- }
-
- /**
- * _processSpecialties() - Break out the specialty names for this provider
- *
- */
- protected function _processSpecialties()
- {
- $specialties = array();
-
- if ($this->_providerReflection->hasMethod('getSpecialties')) {
- $specialties = $this->_provider->getSpecialties();
- if (!is_array($specialties)) {
- require_once 'Zend/Tool/Framework/Provider/Exception.php';
- throw new Zend_Tool_Framework_Provider_Exception(
- 'Provider ' . get_class($this->_provider) . ' must return an array for method getSpecialties().'
- );
- }
- } else {
- $defaultProperties = $this->_providerReflection->getDefaultProperties();
- $specialties = (isset($defaultProperties['_specialties'])) ? $defaultProperties['_specialties'] : array();
- if (!is_array($specialties)) {
- require_once 'Zend/Tool/Framework/Provider/Exception.php';
- throw new Zend_Tool_Framework_Provider_Exception(
- 'Provider ' . get_class($this->_provider) . '\'s property $_specialties must be an array.'
- );
- }
- }
-
- $this->_specialties = array_merge(array('_Global'), $specialties);
-
- }
-
- /**
- * _processActionableMethods() - process all methods that can be called on this provider.
- *
- */
- protected function _processActionableMethods()
- {
-
- $specialtyRegex = '#(.*)(' . implode('|', $this->_specialties) . ')$#i';
-
-
- $methods = $this->_providerReflection->getMethods();
-
- $actionableMethods = array();
- foreach ($methods as $method) {
-
- $methodName = $method->getName();
-
- /**
- * the following will determine what methods are actually actionable
- * public, non-static, non-underscore prefixed, classes that dont
- * contain the name "
- */
- if (!$method->getDeclaringClass()->isInstantiable()
- || !$method->isPublic()
- || $methodName[0] == '_'
- || $method->isStatic()
- || in_array($methodName, array('getContextClasses', 'getName')) // other protected public methods will nee to go here
- ) {
- continue;
- }
-
- /**
- * check to see if the method was a required method by a Zend_Tool_* interface
- */
- foreach ($method->getDeclaringClass()->getInterfaces() as $methodDeclaringClassInterface) {
- if (strpos($methodDeclaringClassInterface->getName(), 'Zend_Tool_') === 0
- && $methodDeclaringClassInterface->hasMethod($methodName)) {
- continue 2;
- }
- }
-
- $actionableName = ucfirst($methodName);
-
- if (substr($actionableName, -6) == 'Action') {
- $actionableName = substr($actionableName, 0, -6);
- }
-
- $actionableMethods[$methodName]['methodName'] = $methodName;
-
- $matches = null;
- if (preg_match($specialtyRegex, $actionableName, $matches)) {
- $actionableMethods[$methodName]['actionName'] = $matches[1];
- $actionableMethods[$methodName]['specialty'] = $matches[2];
- } else {
- $actionableMethods[$methodName]['actionName'] = $actionableName;
- $actionableMethods[$methodName]['specialty'] = '_Global';
- }
-
- // get the action, and create non-existent actions when they dont exist (the true part below)
- $action = $this->_registry->getActionRepository()->getAction($actionableMethods[$methodName]['actionName']);
- if ($action == null) {
- $action = new Zend_Tool_Framework_Action_Base($actionableMethods[$methodName]['actionName']);
- $this->_registry->getActionRepository()->addAction($action);
- }
- $actionableMethods[$methodName]['action'] = $action;
-
- if (!in_array($actionableMethods[$methodName]['action'], $this->_actions)) {
- $this->_actions[] = $actionableMethods[$methodName]['action'];
- }
-
- $parameterInfo = array();
- $position = 1;
- foreach ($method->getParameters() as $parameter) {
- $currentParam = $parameter->getName();
- $parameterInfo[$currentParam]['position'] = $position++;
- $parameterInfo[$currentParam]['optional'] = $parameter->isOptional();
- $parameterInfo[$currentParam]['default'] = ($parameter->isOptional()) ? $parameter->getDefaultValue() : null;
- $parameterInfo[$currentParam]['name'] = $currentParam;
- $parameterInfo[$currentParam]['type'] = 'string';
- $parameterInfo[$currentParam]['description'] = null;
- }
-
- $matches = null;
- if (($docComment = $method->getDocComment()) != '' &&
- (preg_match_all('/@param\s+(\w+)+\s+(\$\S+)\s+(.*?)(?=(?:\*\s*@)|(?:\*\/))/s', $docComment, $matches)))
- {
- for ($i=0; $i <= count($matches[0])-1; $i++) {
- $currentParam = ltrim($matches[2][$i], '$');
-
- if ($currentParam != '' && isset($parameterInfo[$currentParam])) {
-
- $parameterInfo[$currentParam]['type'] = $matches[1][$i];
-
- $descriptionSource = $matches[3][$i];
-
- if ($descriptionSource != '') {
- $parameterInfo[$currentParam]['description'] = trim($descriptionSource);
- }
-
- }
-
- }
-
- }
-
- $actionableMethods[$methodName]['parameterInfo'] = $parameterInfo;
-
- }
-
- $this->_actionableMethods = $actionableMethods;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Registry.php b/airtime_mvc/library/Zend/Tool/Framework/Registry.php
deleted file mode 100644
index 9a07e33b9..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Registry.php
+++ /dev/null
@@ -1,419 +0,0 @@
-_client);
- unset($this->_loader);
- unset($this->_actionRepository);
- unset($this->_providerRepository);
- unset($this->_request);
- unset($this->_response);
- }
-
-// public function __construct()
-// {
-// // no instantiation from outside
-// }
-
- /**
- * Enter description here...
- *
- * @param Zend_Tool_Framework_Client_Abstract $client
- * @return Zend_Tool_Framework_Registry
- */
- public function setClient(Zend_Tool_Framework_Client_Abstract $client)
- {
- $this->_client = $client;
- if ($this->isObjectRegistryEnablable($this->_client)) {
- $this->enableRegistryOnObject($this->_client);
- }
- return $this;
- }
-
- /**
- * getClient() return the client in the registry
- *
- * @return Zend_Tool_Framework_Client_Abstract
- */
- public function getClient()
- {
- return $this->_client;
- }
-
- /**
- * setConfig()
- *
- * @param Zend_Tool_Framework_Client_Config $config
- * @return Zend_Tool_Framework_Registry
- */
- public function setConfig(Zend_Tool_Framework_Client_Config $config)
- {
- $this->_config = $config;
- return $this;
- }
-
- /**
- * getConfig()
- *
- * @return Zend_Tool_Framework_Client_Config
- */
- public function getConfig()
- {
- if ($this->_config === null) {
- require_once 'Zend/Tool/Framework/Client/Config.php';
- $this->setConfig(new Zend_Tool_Framework_Client_Config());
- }
-
- return $this->_config;
- }
-
- /**
- * setStorage()
- *
- * @param Zend_Tool_Framework_Client_Storage $storage
- * @return Zend_Tool_Framework_Registry
- */
- public function setStorage(Zend_Tool_Framework_Client_Storage $storage)
- {
- $this->_storage = $storage;
- return $this;
- }
-
- /**
- * getConfig()
- *
- * @return Zend_Tool_Framework_Client_Storage
- */
- public function getStorage()
- {
- if ($this->_storage === null) {
- require_once 'Zend/Tool/Framework/Client/Storage.php';
- $this->setStorage(new Zend_Tool_Framework_Client_Storage());
- }
-
- return $this->_storage;
- }
-
- /**
- * setLoader()
- *
- * @param Zend_Tool_Framework_Loader_Interface $loader
- * @return Zend_Tool_Framework_Registry
- */
- public function setLoader(Zend_Tool_Framework_Loader_Interface $loader)
- {
- $this->_loader = $loader;
- if ($this->isObjectRegistryEnablable($this->_loader)) {
- $this->enableRegistryOnObject($this->_loader);
- }
- return $this;
- }
-
- /**
- * getLoader()
- *
- * @return Zend_Tool_Framework_Loader_Abstract
- */
- public function getLoader()
- {
- if ($this->_loader === null) {
- require_once 'Zend/Tool/Framework/Loader/IncludePathLoader.php';
- $this->setLoader(new Zend_Tool_Framework_Loader_IncludePathLoader());
- }
-
- return $this->_loader;
- }
-
- /**
- * setActionRepository()
- *
- * @param Zend_Tool_Framework_Action_Repository $actionRepository
- * @return Zend_Tool_Framework_Registry
- */
- public function setActionRepository(Zend_Tool_Framework_Action_Repository $actionRepository)
- {
- $this->_actionRepository = $actionRepository;
- if ($this->isObjectRegistryEnablable($this->_actionRepository)) {
- $this->enableRegistryOnObject($this->_actionRepository);
- }
- return $this;
- }
-
- /**
- * getActionRepository()
- *
- * @return Zend_Tool_Framework_Action_Repository
- */
- public function getActionRepository()
- {
- if ($this->_actionRepository == null) {
- require_once 'Zend/Tool/Framework/Action/Repository.php';
- $this->setActionRepository(new Zend_Tool_Framework_Action_Repository());
- }
-
- return $this->_actionRepository;
- }
-
- /**
- * setProviderRepository()
- *
- * @param Zend_Tool_Framework_Provider_Repository $providerRepository
- * @return Zend_Tool_Framework_Registry
- */
- public function setProviderRepository(Zend_Tool_Framework_Provider_Repository $providerRepository)
- {
- $this->_providerRepository = $providerRepository;
- if ($this->isObjectRegistryEnablable($this->_providerRepository)) {
- $this->enableRegistryOnObject($this->_providerRepository);
- }
- return $this;
- }
-
- /**
- * getProviderRepository()
- *
- * @return Zend_Tool_Framework_Provider_Repository
- */
- public function getProviderRepository()
- {
- if ($this->_providerRepository == null) {
- require_once 'Zend/Tool/Framework/Provider/Repository.php';
- $this->setProviderRepository(new Zend_Tool_Framework_Provider_Repository());
- }
-
- return $this->_providerRepository;
- }
-
- /**
- * setManifestRepository()
- *
- * @param Zend_Tool_Framework_Manifest_Repository $manifestRepository
- * @return Zend_Tool_Framework_Registry
- */
- public function setManifestRepository(Zend_Tool_Framework_Manifest_Repository $manifestRepository)
- {
- $this->_manifestRepository = $manifestRepository;
- if ($this->isObjectRegistryEnablable($this->_manifestRepository)) {
- $this->enableRegistryOnObject($this->_manifestRepository);
- }
- return $this;
- }
-
- /**
- * getManifestRepository()
- *
- * @return Zend_Tool_Framework_Manifest_Repository
- */
- public function getManifestRepository()
- {
- if ($this->_manifestRepository == null) {
- require_once 'Zend/Tool/Framework/Manifest/Repository.php';
- $this->setManifestRepository(new Zend_Tool_Framework_Manifest_Repository());
- }
-
- return $this->_manifestRepository;
- }
-
- /**
- * setRequest()
- *
- * @param Zend_Tool_Framework_Client_Request $request
- * @return Zend_Tool_Framework_Registry
- */
- public function setRequest(Zend_Tool_Framework_Client_Request $request)
- {
- $this->_request = $request;
- return $this;
- }
-
- /**
- * getRequest()
- *
- * @return Zend_Tool_Framework_Client_Request
- */
- public function getRequest()
- {
- if ($this->_request == null) {
- require_once 'Zend/Tool/Framework/Client/Request.php';
- $this->setRequest(new Zend_Tool_Framework_Client_Request());
- }
-
- return $this->_request;
- }
-
- /**
- * setResponse()
- *
- * @param Zend_Tool_Framework_Client_Response $response
- * @return Zend_Tool_Framework_Registry
- */
- public function setResponse(Zend_Tool_Framework_Client_Response $response)
- {
- $this->_response = $response;
- return $this;
- }
-
- /**
- * getResponse()
- *
- * @return Zend_Tool_Framework_Client_Response
- */
- public function getResponse()
- {
- if ($this->_response == null) {
- require_once 'Zend/Tool/Framework/Client/Response.php';
- $this->setResponse(new Zend_Tool_Framework_Client_Response());
- }
-
- return $this->_response;
- }
-
- /**
- * __get() - Get a property via property call $registry->foo
- *
- * @param string $name
- * @return mixed
- */
- public function __get($name)
- {
- if (method_exists($this, 'get' . $name)) {
- return $this->{'get' . $name}();
- } else {
- require_once 'Zend/Tool/Framework/Registry/Exception.php';
- throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this registry.');
- }
- }
-
- /**
- * __set() - Set a property via the magic set $registry->foo = 'foo'
- *
- * @param string $name
- * @param mixed $value
- */
- public function __set($name, $value)
- {
- if (method_exists($this, 'set' . $name)) {
- $this->{'set' . $name}($value);
- return;
- } else {
- require_once 'Zend/Tool/Framework/Registry/Exception.php';
- throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this registry.');
- }
- }
-
- /**
- * isObjectRegistryEnablable() - Check whether an object is registry enablable
- *
- * @param object $object
- * @return bool
- */
- public function isObjectRegistryEnablable($object)
- {
- if (!is_object($object)) {
- require_once 'Zend/Tool/Framework/Registry/Exception.php';
- throw new Zend_Tool_Framework_Registry_Exception('isObjectRegistryEnablable() expects an object.');
- }
-
- return ($object instanceof Zend_Tool_Framework_Registry_EnabledInterface);
- }
-
- /**
- * enableRegistryOnObject() - make an object registry enabled
- *
- * @param object $object
- * @return Zend_Tool_Framework_Registry
- */
- public function enableRegistryOnObject($object)
- {
- if (!$this->isObjectRegistryEnablable($object)) {
- require_once 'Zend/Tool/Framework/Registry/Exception.php';
- throw new Zend_Tool_Framework_Registry_Exception('Object provided is not registry enablable, check first with Zend_Tool_Framework_Registry::isObjectRegistryEnablable()');
- }
-
- $object->setRegistry($this);
- return $this;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/Registry/EnabledInterface.php b/airtime_mvc/library/Zend/Tool/Framework/Registry/EnabledInterface.php
deleted file mode 100644
index de9484f14..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/Registry/EnabledInterface.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_registry->getConfig();
-
- $resp = $this->_registry->getResponse();
- if ($userConfig->exists()) {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception(
- "A configuration already exists, cannot create a new one.");
- }
-
- $homeDirectory = $this->_detectHomeDirectory();
-
- $writer = new Zend_Config_Writer_Ini();
- $writer->setRenderWithoutSections();
- $filename = $homeDirectory."/.zf.ini";
-
- $config = array(
- 'php' => array(
- 'includepath' => get_include_path(),
- ),
- );
- $writer->write($filename, new Zend_Config($config));
-
- $resp = $this->_registry->getResponse();
- $resp->appendContent("Successfully written Zend Tool config.");
- $resp->appendContent("It is located at: ".$filename);
- }
-
- /**
- * @return string
- */
- protected function _detectHomeDirectory()
- {
- $envVars = array("ZF_HOME", "HOME", "HOMEPATH");
- foreach($envVars AS $env) {
- $homeDirectory = getenv($env);
- if ($homeDirectory != false && file_exists($homeDirectory)) {
- return $homeDirectory;
- }
- }
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception("Cannot detect user home directory, set ZF_HOME enviroment variable.");
- }
-
- /**
- * Show Zend Tool User Configuration
- *
- * @return void
- */
- public function show()
- {
- $userConfig = $this->_loadUserConfigIfExists();
- $configArray = $userConfig->getConfigInstance()->toArray();
-
- $resp = $this->_registry->getResponse();
-
- $i = 0;
- $tree = "";
- foreach($configArray AS $k => $v) {
- $i++;
- $tree .= $this->_printTree($k, $v, 1, count($configArray)==$i);
- }
- $resp->appendContent("User Configuration: ".$userConfig->getConfigFilepath(), array("color" => "green"));
- $resp->appendContent($tree, array("indention" => 2));
- }
-
- /**
- *
- * @param string $key
- * @param string $value
- * @param int $level
- * @return string
- */
- protected function _printTree($key, $value, $level=1, $isLast=false)
- {
- $this->_levelCompleted[$level] = false;
-
- $prefix = "";
- for ($i = 1; $i < $level; $i++) {
- if ($this->_levelCompleted[$i] == true) {
- $prefix .= " ";
- } else {
- $prefix .= "| ";
- }
- }
- if ($isLast) {
- $pointer = "`-- ";
- } else {
- $pointer = "|-- ";
- }
-
- $tree = "";
- if (is_array($value)) {
- $tree .= $prefix.$pointer.$key.PHP_EOL;
-
- if ($isLast == true) {
- $this->_levelCompleted[$level] = true;
- }
-
- $i = 0;
- foreach ($value as $k => $v) {
- $i++;
- $tree .= $this->_printTree($k, $v, $level+1, (count($value)==$i));
- }
- } else {
- $tree .= $prefix.$pointer.$key.": ".trim($value).PHP_EOL;
- }
-
- return $tree;
- }
-
- /**
- * @param string $className
- */
- public function enableProvider($className)
- {
- Zend_Loader::loadClass($className);
- $reflClass = new ReflectionClass($className);
- if (!in_array("Zend_Tool_Framework_Provider_Interface", $reflClass->getInterfaceNames())) {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception("Given class is not a provider");
- }
- $this->_doEnable($className);
- }
-
- protected function _doEnable($className)
- {
-
- $userConfig = $this->_loadUserConfigIfExists();
-
- if (!isset($userConfig->basicloader)) {
- $userConfig->basicloader = array();
- }
- if (!isset($userConfig->basicloader->classes)) {
- $userConfig->basicloader->classes = array();
- }
-
- $providerClasses = $userConfig->basicloader->classes->toArray();
- if (!in_array($className, $providerClasses)) {
- if (count($providerClasses)) {
- $pos = max(array_keys($providerClasses))+1;
- } else {
- $pos = 0;
- }
- $userConfig->basicloader->classes->$pos = $className;
-
- if ($userConfig->save()) {
- $this->_registry->getResponse()->appendContent(
- "Provider/Manifest '".$className."' was enabled for usage with Zend Tool.",
- array("color" => "green", "aligncenter" => true)
- );
- } else {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception(
- "Could not write user configuration to persistence."
- );
- }
- } else {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception(
- "Provider/Manifest '".$className."' is already enabled."
- );
- }
- }
-
- /**
- * @param string $className
- */
- public function enableManifest($className)
- {
- Zend_Loader::loadClass($className);
- $reflClass = new ReflectionClass($className);
- if (!in_array("Zend_Tool_Framework_Manifest_Interface", $reflClass->getInterfaceNames())) {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception("Given class is not a manifest.");
- }
- $this->_doEnable($className);
- }
-
- /**
- * @param string $className
- */
- public function disableManifest($className)
- {
- $this->disableProvider($className);
- }
-
- /**
- * @param string $className
- */
- public function disableProvider($className)
- {
- $userConfig = $this->_loadUserConfigIfExists();
-
- if (!isset($userConfig->basicloader)) {
- $userConfig->basicloader = array();
- }
- if (!isset($userConfig->basicloader->classes)) {
- $userConfig->basicloader->classes = array();
- }
-
- $providerClasses = $userConfig->basicloader->classes->toArray();
- if (($key = array_search($className, $providerClasses)) !== false) {
- unset($userConfig->basicloader->classes->$key);
-
- if ($userConfig->save()) {
- $this->_registry->getResponse()->appendContent(
- "Provider/Manifest '".$className."' was disabled.",
- array("color" => "green", "aligncenter" => true)
- );
- } else {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception(
- "Could not write user configuration to persistence."
- );
- }
- } else {
- require_once "Zend/Tool/Framework/Exception.php";
- throw new Zend_Tool_Framework_Exception(
- "Provider/Manifest '".$className."' is not enabled."
- );
- }
- }
-
- /**
- * @return Zend_Tool_Framework_Client_Config
- */
- protected function _loadUserConfigIfExists()
- {
- /* @var $userConfig Zend_Tool_Framework_Client_Config */
- $userConfig = $this->_registry->getConfig();
-
- $resp = $this->_registry->getResponse();
- if (!$userConfig->exists()) {
- $resp->appendContent("User has no config file.", array("aligncenter" => true, "color" => array('hiWhite', 'bgRed')));
- }
-
- return $userConfig;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Framework/System/Provider/Manifest.php b/airtime_mvc/library/Zend/Tool/Framework/System/Provider/Manifest.php
deleted file mode 100644
index 28fb88d43..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/System/Provider/Manifest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-_registry = $registry;
- }
-
- public function getName()
- {
- return 'Manifest';
- }
-
- public function show()
- {
-
- $manifestRepository = $this->_registry->getManifestRepository();
- $response = $this->_registry->getResponse();
-
- $metadataTree = array();
-
- $longestAttrNameLen = 50;
-
- foreach ($manifestRepository as $metadata) {
-
- $metadataType = $metadata->getType();
- $metadataName = $metadata->getName();
- $metadataAttrs = $metadata->getAttributes('attributesParent');
-
- if (!$metadataAttrs) {
- $metadataAttrs = '(None)';
- } else {
- $metadataAttrs = urldecode(http_build_query($metadataAttrs, null, ', '));
- }
-
- if (!array_key_exists($metadataType, $metadataTree)) {
- $metadataTree[$metadataType] = array();
- }
-
- if (!array_key_exists($metadataName, $metadataTree[$metadataType])) {
- $metadataTree[$metadataType][$metadataName] = array();
- }
-
- if (!array_key_exists($metadataAttrs, $metadataTree[$metadataType][$metadataName])) {
- $metadataTree[$metadataType][$metadataName][$metadataAttrs] = array();
- }
-
- $longestAttrNameLen = (strlen($metadataAttrs) > $longestAttrNameLen) ? strlen($metadataAttrs) : $longestAttrNameLen;
-
- $metadataValue = $metadata->getValue();
- if (is_array($metadataValue) && count($metadataValue) > 0) {
- $metadataValue = urldecode(http_build_query($metadataValue, null, ', '));
- } elseif (is_array($metadataValue)) {
- $metadataValue = '(empty array)';
- }
-
- $metadataTree[$metadataType][$metadataName][$metadataAttrs][] = $metadataValue;
- }
-
- foreach ($metadataTree as $metadataType => $metadatasByName) {
- $response->appendContent($metadataType);
- foreach ($metadatasByName as $metadataName => $metadatasByAttributes) {
- $response->appendContent(" " . $metadataName);
- foreach ($metadatasByAttributes as $metadataAttributeName => $metadataValues) {
- foreach ($metadataValues as $metadataValue) {
- $string = sprintf(" %-{$longestAttrNameLen}.{$longestAttrNameLen}s : ", $metadataAttributeName)
- . $metadataValue;
- $response->appendContent($string);
- }
- }
- }
- }
-
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Framework/System/Provider/Phpinfo.php b/airtime_mvc/library/Zend/Tool/Framework/System/Provider/Phpinfo.php
deleted file mode 100644
index 93b295ab9..000000000
--- a/airtime_mvc/library/Zend/Tool/Framework/System/Provider/Phpinfo.php
+++ /dev/null
@@ -1,38 +0,0 @@
-_registry = $registry;
- return $this;
- }
-
- /**
- * Show Action
- *
- * @param string $mode The mode switch can be one of: major, minor, or mini (default)
- * @param bool $nameincluded
- */
- public function show($mode = self::MODE_MINI, $nameIncluded = true)
- {
-
- $versionInfo = $this->_splitVersion();
-
- switch($mode) {
- case self::MODE_MINOR:
- unset($versionInfo['mini']);
- break;
- case self::MODE_MAJOR:
- unset($versionInfo['mini'], $versionInfo['minor']);
- break;
- }
-
- $output = implode('.', $versionInfo);
-
- if ($nameIncluded) {
- $output = 'Zend Framework Version: ' . $output;
- }
-
- $this->_registry->response->appendContent($output);
- }
-
- public function showMajorPart($nameIncluded = true)
- {
- $versionNumbers = $this->_splitVersion();
- $output = (($nameIncluded == true) ? 'ZF Major Version: ' : null) . $versionNumbers['major'];
- $this->_registry->response->appendContent($output);
- }
-
- public function showMinorPart($nameIncluded = true)
- {
- $versionNumbers = $this->_splitVersion();
- $output = (($nameIncluded == true) ? 'ZF Minor Version: ' : null) . $versionNumbers['minor'];
- $this->_registry->response->appendContent($output);
- }
-
- public function showMiniPart($nameIncluded = true)
- {
- $versionNumbers = $this->_splitVersion();
- $output = (($nameIncluded == true) ? 'ZF Mini Version: ' : null) . $versionNumbers['mini'];
- $this->_registry->response->appendContent($output);
- }
-
- protected function _splitVersion()
- {
- list($major, $minor, $mini) = explode('.', Zend_Version::VERSION);
- return array('major' => $major, 'minor' => $minor, 'mini' => $mini);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine.php b/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine.php
deleted file mode 100644
index cfd2c26b9..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine.php
+++ /dev/null
@@ -1,106 +0,0 @@
-_storage = $storage;
- $this->_engines = array(
- new Zend_Tool_Project_Context_Content_Engine_CodeGenerator($storage, $this->_keyInStorage),
- new Zend_Tool_Project_Context_Content_Engine_Phtml($storage, $this->_keyInStorage),
- );
- }
-
- /**
- * getContent()
- *
- * @param Zend_Tool_Project_Context_Interface $context
- * @param string $methodName
- * @param mixed $parameters
- * @return string
- */
- public function getContent(Zend_Tool_Project_Context_Interface $context, $methodName, $parameters)
- {
- $content = null;
-
- foreach ($this->_engines as $engine) {
- if ($engine->hasContent($context, $methodName, $parameters)) {
- $content = $engine->getContent($context, $methodName, $parameters);
-
- if ($content != null) {
- break;
- }
-
- }
-
- }
-
- if ($content == null) {
- return false;
- }
-
- return $content;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine/CodeGenerator.php b/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine/CodeGenerator.php
deleted file mode 100644
index 96e9eedc8..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine/CodeGenerator.php
+++ /dev/null
@@ -1,98 +0,0 @@
-_storage = $storage;
- $this->_contentPrefix = $contentPrefix;
- }
-
- /**
- * hasContent()
- *
- * @param Zend_Tool_Project_Context_Interface $context
- * @param string $method
- * @return string
- */
- public function hasContent(Zend_Tool_Project_Context_Interface $context, $method)
- {
- return $this->_storage->has($this->_contentPrefix . '/' . $context->getName() . '/' . $method . '.php');
- }
-
- /**
- * getContent()
- *
- * @param Zend_Tool_Project_Context_Interface $context
- * @param string $method
- * @param mixed $parameters
- * @return string
- */
- public function getContent(Zend_Tool_Project_Context_Interface $context, $method, $parameters)
- {
- $streamUri = $this->_storage->getStreamUri($this->_contentPrefix . '/' . $context->getName() . '/' . $method . '.php');
-
- if (method_exists($context, 'getCodeGenerator')) {
- $codeGenerator = $context->getCodeGenerator();
- } else {
- $codeGenerator = new Zend_CodeGenerator_Php_File();
- }
-
- $codeGenerator = include $streamUri;
-
- if (!$codeGenerator instanceof Zend_CodeGenerator_Abstract) {
- throw new Zend_Tool_Project_Exception('Custom file at ' . $streamUri . ' did not return the $codeGenerator object.');
- }
-
- return $codeGenerator->generate();
- }
-
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine/Phtml.php b/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine/Phtml.php
deleted file mode 100644
index 75ee9bc76..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Content/Engine/Phtml.php
+++ /dev/null
@@ -1,89 +0,0 @@
-_storage = $storage;
- $this->_contentPrefix = $contentPrefix;
- }
-
- /**
- * hasContext()
- *
- * @param Zend_Tool_Project_Context_Interface $context
- * @param string $method
- * @return string
- */
- public function hasContent(Zend_Tool_Project_Context_Interface $context, $method)
- {
- return $this->_storage->has($this->_contentPrefix . '/' . $context . '/' . $method . '.phtml');
- }
-
- /**
- * getContent()
- *
- * @param Zend_Tool_Project_Context_Interface $context
- * @param string $method
- * @param mixed $parameters
- */
- public function getContent(Zend_Tool_Project_Context_Interface $context, $method, $parameters)
- {
- $streamUri = $this->_storage->getStreamUri($this->_contentPrefix . '/' . $context->getName() . '/' . $method . '.phtml');
-
- ob_start();
- include $streamUri;
- $content = ob_get_clean();
-
- return $content;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Exception.php b/airtime_mvc/library/Zend/Tool/Project/Context/Exception.php
deleted file mode 100644
index 177a1eed4..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Exception.php
+++ /dev/null
@@ -1,33 +0,0 @@
-_resource->getParentResource()->getContext()->getPath();
- $this->_baseDirectory = $parentBaseDirectory;
- return $this;
- }
-
- /**
- * setResource()
- *
- * @param Zend_Tool_Project_Profile_Resource $resource
- * @return Zend_Tool_Project_Context_Filesystem_Abstract
- */
- public function setResource(Zend_Tool_Project_Profile_Resource $resource)
- {
- $this->_resource = $resource;
- return $this;
- }
-
- /**
- * setBaseDirectory()
- *
- * @param string $baseDirectory
- * @return Zend_Tool_Project_Context_Filesystem_Abstract
- */
- public function setBaseDirectory($baseDirectory)
- {
- $this->_baseDirectory = rtrim(str_replace('\\', '/', $baseDirectory), '/');
- return $this;
- }
-
- /**
- * getBaseDirectory()
- *
- * @return string
- */
- public function getBaseDirectory()
- {
- return $this->_baseDirectory;
- }
-
- /**
- * setFilesystemName()
- *
- * @param string $filesystemName
- * @return Zend_Tool_Project_Context_Filesystem_Abstract
- */
- public function setFilesystemName($filesystemName)
- {
- $this->_filesystemName = $filesystemName;
- return $this;
- }
-
- /**
- * getFilesystemName()
- *
- * @return string
- */
- public function getFilesystemName()
- {
- return $this->_filesystemName;
- }
-
- /**
- * getPath()
- *
- * @return string
- */
- public function getPath()
- {
- $path = $this->_baseDirectory;
- if ($this->_filesystemName) {
- $path .= '/' . $this->_filesystemName;
- }
- return $path;
- }
-
- /**
- * exists()
- *
- * @return bool
- */
- public function exists()
- {
- return file_exists($this->getPath());
- }
-
- /**
- * create()
- *
- * Create this resource/context
- *
- */
- abstract public function create();
-
- /**
- * delete()
- *
- * Delete this resouce/context
- *
- */
- abstract public function delete();
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Filesystem/Directory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Filesystem/Directory.php
deleted file mode 100644
index 3137566e7..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Filesystem/Directory.php
+++ /dev/null
@@ -1,87 +0,0 @@
-_resource->getParentResource()) instanceof Zend_Tool_Project_Profile_Resource) {
- if ((($parentContext = $parentResource->getContext()) instanceof Zend_Tool_Project_Context_Filesystem_Abstract)
- && (!$parentContext->exists())) {
- $parentResource->create();
- }
- }
-
- if (!file_exists($this->getPath())) {
- mkdir($this->getPath());
- }
-
- return $this;
- }
-
- /**
- * delete()
- *
- * @return Zend_Tool_Project_Context_Filesystem_Directory
- */
- public function delete()
- {
- $this->_resource->setDeleted(true);
- rmdir($this->getPath());
-
- return $this;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Filesystem/File.php b/airtime_mvc/library/Zend/Tool/Project/Context/Filesystem/File.php
deleted file mode 100644
index 7006bee0b..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Filesystem/File.php
+++ /dev/null
@@ -1,174 +0,0 @@
-_resource->hasAttribute('filesystemName')) {
- $this->_filesystemName = $this->_resource->getAttribute('filesystemName');
- }
-
- // check to see if this file is
- if ($this->getName() == 'file') {
- $this->_initFileOnlyContext();
- }
-
- // @potential-todo check to ensure that this 'file' resource has no children
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- $returnAttrs = array();
- if ($this->_filesystemName !== null) {
- $returnAttrs['filesystemName'] = $this->_filesystemName;
- }
- return $returnAttrs;
- }
-
- /**
- * setResource()
- *
- * @param unknown_type $resource
- */
- public function setResource(Zend_Tool_Project_Profile_Resource $resource)
- {
- $this->_resource = $resource;
- $this->_resource->setAppendable(false);
- return $this;
- }
-
- /**
- * getResource()
- *
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function getResource()
- {
- return $this->_resource;
- }
-
- /**
- * create()
- *
- * @return Zend_Tool_Project_Context_Filesystem_File
- */
- public function create()
- {
- // check to ensure the parent exists, if not, call it and create it
- if (($parentResource = $this->_resource->getParentResource()) instanceof Zend_Tool_Project_Profile_Resource) {
- if ((($parentContext = $parentResource->getContext()) instanceof Zend_Tool_Project_Context_Filesystem_Abstract)
- && (!$parentContext->exists())) {
- $parentResource->create();
- }
- }
-
-
- if (file_exists($this->getPath())) {
- // @todo propt user to determine if its ok to overwrite file
- }
-
- file_put_contents($this->getPath(), $this->getContents());
- return $this;
- }
-
- /**
- * delete()
- *
- * @return Zend_Tool_Project_Context_Filesystem_File
- */
- public function delete()
- {
- unlink($this->getPath());
- $this->_resource->setDeleted(true);
- return $this;
- }
-
- /**
- * getContents()
- *
- * @return null
- */
- public function getContents()
- {
- return $this->_content;
- }
-
- protected function _initFileOnlyContext()
- {
- if ($this->_resource->hasAttribute('defaultContentCallback')) {
- $contentFunc = $this->_resource->getAttribute('defaultContentCallback');
- if (is_callable($contentFunc)) {
- $this->_content = call_user_func_array($contentFunc, array($this));
- }
- }
- if ($this->_filesystemName == null) {
- $this->_filesystemName = 'file.txt';
- }
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Interface.php b/airtime_mvc/library/Zend/Tool/Project/Context/Interface.php
deleted file mode 100644
index 13363fecb..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Interface.php
+++ /dev/null
@@ -1,38 +0,0 @@
-addContextClass('Zend_Tool_Project_Context_System_ProjectDirectory')
- ->addContextClass('Zend_Tool_Project_Context_System_ProjectProfileFile')
- ->addContextClass('Zend_Tool_Project_Context_System_ProjectProvidersDirectory');
- self::$_isInitialized = true;
- }
- }
-
- public function addContextsFromDirectory($directory, $prefix)
- {
- $prefix = trim($prefix, '_') . '_';
- foreach (new DirectoryIterator($directory) as $directoryItem) {
- if ($directoryItem->isDot() || (substr($directoryItem->getFilename(), -4) !== '.php')) {
- continue;
- }
- $class = $prefix . substr($directoryItem->getFilename(), 0, -4);
- $this->addContextClass($class);
- }
- }
-
-
- public function addContextClass($contextClass)
- {
- if (!class_exists($contextClass)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($contextClass);
- }
- $reflectionContextClass = new ReflectionClass($contextClass);
- if ($reflectionContextClass->isInstantiable()) {
- $context = new $contextClass();
- return $this->addContext($context);
- }
- return $this;
- }
-
- /**
- * Enter description here...
- *
- * @param Zend_Tool_Project_Context_Interface $context
- * @return Zend_Tool_Project_Context_Repository
- */
- public function addContext(Zend_Tool_Project_Context_Interface $context)
- {
- $isSystem = ($context instanceof Zend_Tool_Project_Context_System_Interface);
- $isTopLevel = ($context instanceof Zend_Tool_Project_Context_System_TopLevelRestrictable);
- $isOverwritable = !($context instanceof Zend_Tool_Project_Context_System_NotOverwritable);
-
- $index = (count($this->_contexts)) ? max(array_keys($this->_contexts)) + 1 : 1;
-
- $normalName = $this->_normalizeName($context->getName());
-
- if (isset($this->_shortContextNames[$normalName]) && ($this->_contexts[$this->_shortContextNames[$normalName]]['isOverwritable'] === false) ) {
- require_once 'Zend/Tool/Project/Context/Exception.php';
- throw new Zend_Tool_Project_Context_Exception('Context ' . $context->getName() . ' is not overwriteable.');
- }
-
- $this->_shortContextNames[$normalName] = $index;
- $this->_contexts[$index] = array(
- 'isTopLevel' => $isTopLevel,
- 'isSystem' => $isSystem,
- 'isOverwritable' => $isOverwritable,
- 'normalName' => $normalName,
- 'context' => $context
- );
-
- return $this;
- }
-
- public function getContext($name)
- {
- if (!$this->hasContext($name)) {
- require_once 'Zend/Tool/Project/Context/Exception.php';
- throw new Zend_Tool_Project_Context_Exception('Context by name ' . $name . ' does not exist in the registry.');
- }
-
- $name = $this->_normalizeName($name);
- return clone $this->_contexts[$this->_shortContextNames[$name]]['context'];
- }
-
- public function hasContext($name)
- {
- $name = $this->_normalizeName($name);
- return (isset($this->_shortContextNames[$name]) ? true : false);
- }
-
- public function isSystemContext($name)
- {
- if (!$this->hasContext($name)) {
- return false;
- }
-
- $name = $this->_normalizeName($name);
- $index = $this->_shortContextNames[$name];
- return $this->_contexts[$index]['isSystemContext'];
- }
-
- public function isTopLevelContext($name)
- {
- if (!$this->hasContext($name)) {
- return false;
- }
- $name = $this->_normalizeName($name);
- $index = $this->_shortContextNames[$name];
- return $this->_contexts[$index]['isTopLevel'];
- }
-
- public function isOverwritableContext($name)
- {
- if (!$this->hasContext($name)) {
- return false;
- }
- $name = $this->_normalizeName($name);
- $index = $this->_shortContextNames[$name];
- return $this->_contexts[$index]['isOverwritable'];
- }
-
- public function count()
- {
- return count($this->_contexts);
- }
-
- protected function _normalizeName($name)
- {
- return strtolower($name);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/System/Interface.php b/airtime_mvc/library/Zend/Tool/Project/Context/System/Interface.php
deleted file mode 100644
index 1395e9b70..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/System/Interface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_resource->getAttribute('path');
-
- // if not, get from profile
- if ($projectDirectory == null) {
- $projectDirectory = $this->_resource->getProfile()->getAttribute('projectDirectory');
- }
-
- // if not, exception.
- if ($projectDirectory == null) {
- require_once 'Zend/Tool/Project/Exception.php';
- throw new Zend_Tool_Project_Exception('projectDirectory cannot find the directory for this project.');
- }
-
- $this->_baseDirectory = rtrim($projectDirectory, '\\/');
- return $this;
- }
-
- /**
- * create()
- *
- * @return Zend_Tool_Project_Context_System_ProjectDirectory
- */
- public function create()
- {
- if (file_exists($this->getPath())) {
- /*
- foreach (new DirectoryIterator($this->getPath()) as $item) {
- if (!$item->isDot()) {
- if ($registry->getClient()->isInteractive()) {
- // @todo prompt for override
- } else {
- require_once 'Zend/Tool/Project/Context/Exception.php';
- throw new Zend_Tool_Project_Context_Exception('This directory is not empty, project creation aborted.');
- }
- break;
- }
- }
- */
- }
-
- parent::create();
- return $this;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/System/ProjectProfileFile.php b/airtime_mvc/library/Zend/Tool/Project/Context/System/ProjectProfileFile.php
deleted file mode 100644
index a2efa8cf4..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/System/ProjectProfileFile.php
+++ /dev/null
@@ -1,118 +0,0 @@
-_profile = $profile;
- return $this;
- }
-
- /**
- * save()
- *
- * Proxy to create
- *
- * @return Zend_Tool_Project_Context_System_ProjectProfileFile
- */
- public function save()
- {
- parent::create();
- return $this;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
- $parser = new Zend_Tool_Project_Profile_FileParser_Xml();
- $profile = $this->_resource->getProfile();
- $xml = $parser->serialize($profile);
- return $xml;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/System/ProjectProvidersDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/System/ProjectProvidersDirectory.php
deleted file mode 100644
index cf8dd2e11..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/System/ProjectProvidersDirectory.php
+++ /dev/null
@@ -1,97 +0,0 @@
-getPath())) {
-
- foreach (new DirectoryIterator($this->getPath()) as $item) {
- if ($item->isFile()) {
- $loadableFiles[] = $item->getPathname();
- }
- }
-
- if ($loadableFiles) {
-
- // @todo process and add the files to the system for usage.
-
- }
- }
-
- return $this;
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/System/TopLevelRestrictable.php b/airtime_mvc/library/Zend/Tool/Project/Context/System/TopLevelRestrictable.php
deleted file mode 100644
index 041444b2e..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/System/TopLevelRestrictable.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_resource;
- do {
- $resourceName = $currentResource->getName();
- if ($resourceName == 'ApplicationDirectory' || $resourceName == 'ModuleDirectory') {
- $containingResource = $currentResource;
- break;
- }
- } while ($currentResource instanceof Zend_Tool_Project_Profile_Resource
- && $currentResource = $currentResource->getParentResource());
-
- $fullClassName = '';
-
- // go find the proper prefix
- if (isset($containingResource)) {
- if ($containingResource->getName() == 'ApplicationDirectory') {
- $prefix = $containingResource->getAttribute('classNamePrefix');
- $fullClassName = $prefix;
- } elseif ($containingResource->getName() == 'ModuleDirectory') {
- $prefix = $containingResource->getAttribute('moduleName') . '_';
- $fullClassName = $prefix;
- }
- }
-
- if ($classContextName) {
- $fullClassName .= rtrim($classContextName, '_') . '_';
- }
- $fullClassName .= $localClassName;
-
- return $fullClassName;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ActionMethod.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ActionMethod.php
deleted file mode 100644
index 35b19d0c9..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ActionMethod.php
+++ /dev/null
@@ -1,224 +0,0 @@
-_actionName = $this->_resource->getAttribute('actionName');
-
- $this->_resource->setAppendable(false);
- $this->_controllerResource = $this->_resource->getParentResource();
- if (!$this->_controllerResource->getContext() instanceof Zend_Tool_Project_Context_Zf_ControllerFile) {
- require_once 'Zend/Tool/Project/Context/Exception.php';
- throw new Zend_Tool_Project_Context_Exception('ActionMethod must be a sub resource of a ControllerFile');
- }
- // make the ControllerFile node appendable so we can tack on the actionMethod.
- $this->_resource->getParentResource()->setAppendable(true);
-
- $this->_controllerPath = $this->_controllerResource->getContext()->getPath();
-
- /*
- * This code block is now commented, its doing to much for init()
- *
- if ($this->_controllerPath != '' && self::hasActionMethod($this->_controllerPath, $this->_actionName)) {
- require_once 'Zend/Tool/Project/Context/Exception.php';
- throw new Zend_Tool_Project_Context_Exception('An action named ' . $this->_actionName . 'Action already exists in this controller');
- }
- */
-
- return $this;
- }
-
- /**
- * getPersistentAttributes
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'actionName' => $this->getActionName()
- );
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ActionMethod';
- }
-
- /**
- * setResource()
- *
- * @param Zend_Tool_Project_Profile_Resource $resource
- * @return Zend_Tool_Project_Context_Zf_ActionMethod
- */
- public function setResource(Zend_Tool_Project_Profile_Resource $resource)
- {
- $this->_resource = $resource;
- return $this;
- }
-
- /**
- * setActionName()
- *
- * @param string $actionName
- * @return Zend_Tool_Project_Context_Zf_ActionMethod
- */
- public function setActionName($actionName)
- {
- $this->_actionName = $actionName;
- return $this;
- }
-
- /**
- * getActionName()
- *
- * @return string
- */
- public function getActionName()
- {
- return $this->_actionName;
- }
-
- /**
- * create()
- *
- * @return Zend_Tool_Project_Context_Zf_ActionMethod
- */
- public function create()
- {
- if (self::createActionMethod($this->_controllerPath, $this->_actionName) === false) {
- require_once 'Zend/Tool/Project/Context/Exception.php';
- throw new Zend_Tool_Project_Context_Exception(
- 'Could not create action within controller ' . $this->_controllerPath
- . ' with action name ' . $this->_actionName
- );
- }
- return $this;
- }
-
- /**
- * delete()
- *
- * @return Zend_Tool_Project_Context_Zf_ActionMethod
- */
- public function delete()
- {
- // @todo do this
- return $this;
- }
-
- /**
- * createAcionMethod()
- *
- * @param string $controllerPath
- * @param string $actionName
- * @param string $body
- * @return true
- */
- public static function createActionMethod($controllerPath, $actionName, $body = ' // action body')
- {
- if (!file_exists($controllerPath)) {
- return false;
- }
-
- $controllerCodeGenFile = Zend_CodeGenerator_Php_File::fromReflectedFileName($controllerPath, true, true);
- $controllerCodeGenFile->getClass()->setMethod(array(
- 'name' => $actionName . 'Action',
- 'body' => $body
- ));
-
- file_put_contents($controllerPath, $controllerCodeGenFile->generate());
- return true;
- }
-
- /**
- * hasActionMethod()
- *
- * @param string $controllerPath
- * @param string $actionName
- * @return bool
- */
- public static function hasActionMethod($controllerPath, $actionName)
- {
- if (!file_exists($controllerPath)) {
- return false;
- }
-
- $controllerCodeGenFile = Zend_CodeGenerator_Php_File::fromReflectedFileName($controllerPath, true, true);
- return $controllerCodeGenFile->getClass()->hasMethod($actionName . 'Action');
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ApisDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ApisDirectory.php
deleted file mode 100644
index 751967576..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ApisDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_type = $this->_resource->getAttribute('type');
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array('type' => $this->_type);
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
- if ($this->_content === null) {
- if (file_exists($this->getPath())) {
- $this->_content = file_get_contents($this->getPath());
- } else {
- $this->_content = $this->_getDefaultContents();
- }
-
- }
-
- return $this->_content;
- }
-
- public function getAsZendConfig($section = 'production')
- {
- return new Zend_Config_Ini($this->getPath(), $section);
- }
-
- /**
- * addStringItem()
- *
- * @param string $key
- * @param string $value
- * @param string $section
- * @param bool $quoteValue
- * @return Zend_Tool_Project_Context_Zf_ApplicationConfigFile
- */
- public function addStringItem($key, $value, $section = 'production', $quoteValue = true)
- {
- // null quote value means to auto-detect
- if ($quoteValue === null) {
- $quoteValue = preg_match('#[\"\']#', $value) ? false : true;
- }
-
- if ($quoteValue == true) {
- $value = '"' . $value . '"';
- }
-
- $contentLines = preg_split('#[\n\r]#', $this->getContents());
-
- $newLines = array();
- $insideSection = false;
-
- foreach ($contentLines as $contentLineIndex => $contentLine) {
-
- if ($insideSection === false && preg_match('#^\[' . $section . '#', $contentLine)) {
- $insideSection = true;
- }
-
- if ($insideSection) {
- // if its blank, or a section heading
- if ((trim($contentLine) == null) || (isset($contentLines[$contentLineIndex + 1]{0}) && $contentLines[$contentLineIndex + 1]{0} == '[')) {
- $newLines[] = $key . ' = ' . $value;
- $insideSection = null;
- }
- }
-
- $newLines[] = $contentLine;
- }
-
- $this->_content = implode("\n", $newLines);
- return $this;
- }
-
- /**
- *
- * @param array $item
- * @param string $section
- * @param bool $quoteValue
- * @return Zend_Tool_Project_Context_Zf_ApplicationConfigFile
- */
- public function addItem($item, $section = 'production', $quoteValue = true)
- {
- $stringItems = array();
- $stringValues = array();
- $configKeyNames = array();
-
- $rii = new RecursiveIteratorIterator(
- new RecursiveArrayIterator($item),
- RecursiveIteratorIterator::SELF_FIRST
- );
-
- $lastDepth = 0;
-
- // loop through array structure recursively to create proper keys
- foreach ($rii as $name => $value) {
- $lastDepth = $rii->getDepth();
-
- if (is_array($value)) {
- array_push($configKeyNames, $name);
- } else {
- $stringItems[] = implode('.', $configKeyNames) . '.' . $name;
- $stringValues[] = $value;
- }
- }
-
- foreach ($stringItems as $stringItemIndex => $stringItem) {
- $this->addStringItem($stringItem, $stringValues[$stringItemIndex], $section, $quoteValue);
- }
-
- return $this;
- }
-
- public function removeStringItem($key, $section = 'production')
- {
- $contentLines = file($this->getPath());
-
- $newLines = array();
- $insideSection = false;
-
- foreach ($contentLines as $contentLineIndex => $contentLine) {
-
- if ($insideSection === false && preg_match('#^\[' . $section . '#', $contentLine)) {
- $insideSection = true;
- }
-
- if ($insideSection) {
- // if its blank, or a section heading
- if ((trim($contentLine) == null) || ($contentLines[$contentLineIndex + 1][0] == '[')) {
- $insideSection = null;
- }
- }
-
- if (!preg_match('#' . $key . '\s?=.*#', $contentLine)) {
- $newLines[] = $contentLine;
- }
- }
-
- $this->_content = implode('', $newLines);
- }
-
- public function removeItem($item, $section = 'production')
- {
- $stringItems = array();
- $stringValues = array();
- $configKeyNames = array();
-
- $rii = new RecursiveIteratorIterator(
- new RecursiveArrayIterator($item),
- RecursiveIteratorIterator::SELF_FIRST
- );
-
- $lastDepth = 0;
-
- // loop through array structure recursively to create proper keys
- foreach ($rii as $name => $value) {
- $lastDepth = $rii->getDepth();
-
- if (is_array($value)) {
- array_push($configKeyNames, $name);
- } else {
- $stringItems[] = implode('.', $configKeyNames) . '.' . $name;
- $stringValues[] = $value;
- }
- }
-
- foreach ($stringItems as $stringItemIndex => $stringItem) {
- $this->removeStringItem($stringItem, $section);
- }
-
- return $this;
- }
-
- protected function _getDefaultContents()
- {
-
- $contents =<<_resource->hasAttribute('classNamePrefix')) {
- $this->_classNamePrefix = $this->_resource->getAttribute('classNamePrefix');
- }
- parent::init();
- }
-
- /**
- * getPersistentAttributes
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'classNamePrefix' => $this->getClassNamePrefix()
- );
- }
-
- public function getName()
- {
- return 'ApplicationDirectory';
- }
-
- public function setClassNamePrefix($classNamePrefix)
- {
- $this->_classNamePrefix = $classNamePrefix;
- }
-
- public function getClassNamePrefix()
- {
- return $this->_classNamePrefix;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/BootstrapFile.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/BootstrapFile.php
deleted file mode 100644
index 61a53e25e..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/BootstrapFile.php
+++ /dev/null
@@ -1,119 +0,0 @@
-_applicationConfigFile = $this->_resource->getProfile()->search('ApplicationConfigFile');
- $this->_applicationDirectory = $this->_resource->getProfile()->search('ApplicationDirectory');
-
- if (($this->_applicationConfigFile === false) || ($this->_applicationDirectory === false)) {
- throw new Exception('To use the BootstrapFile context, your project requires the use of both the "ApplicationConfigFile" and "ApplicationDirectory" contexts.');
- }
-
-
- }
-
- /**
- * getContents()
- *
- * @return array
- */
- public function getContents()
- {
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => 'Bootstrap',
- 'extendedClass' => 'Zend_Application_Bootstrap_Bootstrap',
- )),
- )
- ));
-
- return $codeGenFile->generate();
- }
-
- public function getApplicationInstance()
- {
- if ($this->_applicationInstance == null) {
- if ($this->_applicationConfigFile->getContext()->exists()) {
- define('APPLICATION_PATH', $this->_applicationDirectory->getPath());
- $applicationOptions = array();
- $applicationOptions['config'] = $this->_applicationConfigFile->getPath();
-
- $this->_applicationInstance = new Zend_Application(
- 'development',
- $applicationOptions
- );
- }
- }
-
- return $this->_applicationInstance;
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/CacheDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/CacheDirectory.php
deleted file mode 100644
index 5a713e38a..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/CacheDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_controllerName = $this->_resource->getAttribute('controllerName');
- $this->_moduleName = $this->_resource->getAttribute('moduleName');
- $this->_filesystemName = ucfirst($this->_controllerName) . 'Controller.php';
- parent::init();
- }
-
- /**
- * getPersistentAttributes
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'controllerName' => $this->getControllerName()
- );
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ControllerFile';
- }
-
- /**
- * getControllerName()
- *
- * @return string
- */
- public function getControllerName()
- {
- return $this->_controllerName;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
- $className = ($this->_moduleName) ? ucfirst($this->_moduleName) . '_' : '';
- $className .= ucfirst($this->_controllerName) . 'Controller';
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'fileName' => $this->getPath(),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'Zend_Controller_Action',
- 'methods' => array(
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'init',
- 'body' => '/* Initialize action controller here */',
- ))
- )
- ))
- )
- ));
-
-
- if ($className == 'ErrorController') {
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'fileName' => $this->getPath(),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'Zend_Controller_Action',
- 'methods' => array(
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'errorAction',
- 'body' => <<_getParam('error_handler');
-
-switch (\$errors->type) {
- case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
- case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
- case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
-
- // 404 error -- controller or action not found
- \$this->getResponse()->setHttpResponseCode(404);
- \$this->view->message = 'Page not found';
- break;
- default:
- // application error
- \$this->getResponse()->setHttpResponseCode(500);
- \$this->view->message = 'Application error';
- break;
-}
-
-// Log exception, if logger available
-if (\$log = \$this->getLog()) {
- \$log->crit(\$this->view->message, \$errors->exception);
-}
-
-// conditionally display exceptions
-if (\$this->getInvokeArg('displayExceptions') == true) {
- \$this->view->exception = \$errors->exception;
-}
-
-\$this->view->request = \$errors->request;
-EOS
- )),
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'getLog',
- 'body' => <<getInvokeArg('bootstrap');
-if (!\$bootstrap->hasPluginResource('Log')) {
- return false;
-}
-\$log = \$bootstrap->getResource('Log');
-return \$log;
-EOS
- )),
- )
- ))
- )
- ));
-
- }
-
- // store the generator into the registry so that the addAction command can use the same object later
- Zend_CodeGenerator_Php_File::registerFileCodeGenerator($codeGenFile); // REQUIRES filename to be set
- return $codeGenFile->generate();
- }
-
- /**
- * addAction()
- *
- * @param string $actionName
- */
- public function addAction($actionName)
- {
- $classCodeGen = $this->getCodeGenerator();
- $classCodeGen->setMethod(array('name' => $actionName . 'Action', 'body' => ' // action body here'));
- file_put_contents($this->getPath(), $classCodeGen->generate());
- }
-
- /**
- * getCodeGenerator()
- *
- * @return Zend_CodeGenerator_Php_Class
- */
- public function getCodeGenerator()
- {
- $codeGenFile = Zend_CodeGenerator_Php_File::fromReflectedFileName($this->getPath());
- $codeGenFileClasses = $codeGenFile->getClasses();
- $class = array_shift($codeGenFileClasses);
- return $class;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ControllersDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ControllersDirectory.php
deleted file mode 100644
index 49d1a647f..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ControllersDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_dbTableName = $this->_resource->getAttribute('dbTableName');
- $this->_actualTableName = $this->_resource->getAttribute('actualTableName');
- $this->_filesystemName = ucfirst($this->_dbTableName) . '.php';
- parent::init();
- }
-
- public function getPersistentAttributes()
- {
- return array('dbTableName' => $this->_dbTableName);
- }
-
- public function getContents()
- {
- $className = $this->getFullClassName($this->_dbTableName, 'Model_DbTable');
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'fileName' => $this->getPath(),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'Zend_Db_Table_Abstract',
- 'properties' => array(
- new Zend_CodeGenerator_Php_Property(array(
- 'name' => '_name',
- 'visibility' => Zend_CodeGenerator_Php_Property::VISIBILITY_PROTECTED,
- 'defaultValue' => $this->_actualTableName
- ))
- ),
-
- ))
- )
- ));
- return $codeGenFile->generate();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/DocsDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/DocsDirectory.php
deleted file mode 100644
index 128d37408..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/DocsDirectory.php
+++ /dev/null
@@ -1,61 +0,0 @@
-_formName = $this->_resource->getAttribute('formName');
- $this->_filesystemName = ucfirst($this->_formName) . '.php';
- parent::init();
- }
-
- /**
- * getPersistentAttributes
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'formName' => $this->getFormName()
- );
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'FormFile';
- }
-
- public function getFormName()
- {
- return $this->_formName;
- }
-
- public function getContents()
- {
-
- $className = $this->getFullClassName($this->_formName, 'Form');
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'fileName' => $this->getPath(),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'Zend_Form',
- 'methods' => array(
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'init',
- 'body' => '/* Form Elements & Other Definitions Here ... */',
- ))
- )
-
- ))
- )
- ));
- return $codeGenFile->generate();
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/FormsDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/FormsDirectory.php
deleted file mode 100644
index be9ffaebd..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/FormsDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_resource->getAttribute('layoutName')) {
- $this->_layoutName = $layoutName;
- } else {
- throw new Exception('Either a forActionName or scriptName is required.');
- }
-
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return unknown
- */
- public function getPersistentAttributes()
- {
- $attributes = array();
-
- if ($this->_layoutName) {
- $attributes['layoutName'] = $this->_layoutName;
- }
-
- return $attributes;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
- $contents = <<layout()->content; ?>
-EOS;
-
- return $contents;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/LayoutScriptsDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/LayoutScriptsDirectory.php
deleted file mode 100644
index c29e78c7a..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/LayoutScriptsDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_modelName = $this->_resource->getAttribute('modelName');
- $this->_filesystemName = ucfirst($this->_modelName) . '.php';
- parent::init();
- }
-
- /**
- * getPersistentAttributes
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'modelName' => $this->getModelName()
- );
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ModelFile';
- }
-
- public function getModelName()
- {
- return $this->_modelName;
- }
-
- public function getContents()
- {
-
- $className = $this->getFullClassName($this->_modelName, 'Model');
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'fileName' => $this->getPath(),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- ))
- )
- ));
- return $codeGenFile->generate();
- }
-
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ModelsDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ModelsDirectory.php
deleted file mode 100644
index 45b589860..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ModelsDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_filesystemName = $this->_moduleName = $this->_resource->getAttribute('moduleName');
- parent::init();
- return $this;
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ModuleDirectory';
- }
-
- /**
- * getPersistentAttributes
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'moduleName' => $this->getModuleName()
- );
- }
-
- /**
- * getModuleName()
- *
- * @return string
- */
- public function getModuleName()
- {
- return $this->_moduleName;
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ModulesDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ModulesDirectory.php
deleted file mode 100644
index 9dc1ce70c..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ModulesDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_projectProviderName = $this->_resource->getAttribute('projectProviderName');
- $this->_actionNames = $this->_resource->getAttribute('actionNames');
- $this->_filesystemName = ucfirst($this->_projectProviderName) . 'Provider.php';
-
- if (strpos($this->_actionNames, ',')) {
- $this->_actionNames = explode(',', $this->_actionNames);
- } else {
- $this->_actionNames = ($this->_actionNames) ? array($this->_actionNames) : array();
- }
-
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'projectProviderName' => $this->getProjectProviderName(),
- 'actionNames' => implode(',', $this->_actionNames)
- );
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ProjectProviderFile';
- }
-
- /**
- * getProjectProviderName()
- *
- * @return string
- */
- public function getProjectProviderName()
- {
- return $this->_projectProviderName;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
-
- $filter = new Zend_Filter_Word_DashToCamelCase();
-
- $className = $filter->filter($this->_projectProviderName) . 'Provider';
-
- $class = new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'Zend_Tool_Project_Provider_Abstract'
- ));
-
- $methods = array();
- foreach ($this->_actionNames as $actionName) {
- $methods[] = new Zend_CodeGenerator_Php_Method(array(
- 'name' => $actionName,
- 'body' => ' /** @todo Implementation */'
- ));
- }
-
- if ($methods) {
- $class->setMethods($methods);
- }
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'requiredFiles' => array(
- 'Zend/Tool/Project/Provider/Abstract.php',
- 'Zend/Tool/Project/Provider/Exception.php'
- ),
- 'classes' => array($class)
- ));
-
- return $codeGenFile->generate();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/PublicDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/PublicDirectory.php
deleted file mode 100644
index 9d7d66876..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/PublicDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
- <<bootstrap()
- ->run();
-EOS
- ));
- return $codeGenerator->generate();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/PublicScriptsDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/PublicScriptsDirectory.php
deleted file mode 100644
index a9425257f..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/PublicScriptsDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_forControllerName = $this->_resource->getAttribute('forControllerName');
- $this->_filesystemName = ucfirst($this->_forControllerName) . 'ControllerTest.php';
- parent::init();
- return $this;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
-
- $filter = new Zend_Filter_Word_DashToCamelCase();
-
- $className = $filter->filter($this->_forControllerName) . 'ControllerTest';
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'requiredFiles' => array(
- 'PHPUnit/Framework/TestCase.php'
- ),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'PHPUnit_Framework_TestCase',
- 'methods' => array(
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'setUp',
- 'body' => ' /* Setup Routine */'
- )),
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'tearDown',
- 'body' => ' /* Tear Down Routine */'
- ))
- )
- ))
- )
- ));
-
- return $codeGenFile->generate();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestApplicationDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestApplicationDirectory.php
deleted file mode 100644
index 071d65490..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestApplicationDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_forClassName = $this->_resource->getAttribute('forClassName');
- $this->_filesystemName = ucfirst(ltrim(strrchr($this->_forClassName, '_'), '_')) . 'Test.php';
- parent::init();
- return $this;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
-
- $filter = new Zend_Filter_Word_DashToCamelCase();
-
- $className = $filter->filter($this->_forClassName) . 'Test';
-
- $codeGenFile = new Zend_CodeGenerator_Php_File(array(
- 'requiredFiles' => array(
- 'PHPUnit/Framework/TestCase.php'
- ),
- 'classes' => array(
- new Zend_CodeGenerator_Php_Class(array(
- 'name' => $className,
- 'extendedClass' => 'PHPUnit_Framework_TestCase',
- 'methods' => array(
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'setUp',
- 'body' => ' /* Setup Routine */'
- )),
- new Zend_CodeGenerator_Php_Method(array(
- 'name' => 'tearDown',
- 'body' => ' /* Tear Down Routine */'
- ))
- )
- ))
- )
- ));
-
- return $codeGenFile->generate();
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestLibraryNamespaceDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestLibraryNamespaceDirectory.php
deleted file mode 100644
index 8e4df978d..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestLibraryNamespaceDirectory.php
+++ /dev/null
@@ -1,88 +0,0 @@
-_namespaceName = $this->_resource->getAttribute('namespaceName');
- $this->_filesystemName = $this->_namespaceName;
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- $attributes = array();
- $attributes['namespaceName'] = $this->_namespaceName;
-
- return $attributes;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestPHPUnitConfigFile.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestPHPUnitConfigFile.php
deleted file mode 100644
index 9f6bc8ae7..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/TestPHPUnitConfigFile.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_forControllerName = $this->_resource->getAttribute('forControllerName');
- $this->_filesystemName = $this->_convertControllerNameToFilesystemName($this->_forControllerName);
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- return array(
- 'forControllerName' => $this->_forControllerName
- );
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ViewControllerScriptsDirectory';
- }
-
- protected function _convertControllerNameToFilesystemName($controllerName)
- {
- $filter = new Zend_Filter();
- $filter->addFilter(new Zend_Filter_Word_CamelCaseToDash())
- ->addFilter(new Zend_Filter_StringToLower());
- return $filter->filter($controllerName);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ViewFiltersDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ViewFiltersDirectory.php
deleted file mode 100644
index 7e3ad7b30..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ViewFiltersDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_resource->getAttribute('forActionName')) {
- $this->_forActionName = $forActionName;
- $this->_filesystemName = $this->_convertActionNameToFilesystemName($forActionName) . '.phtml';
- } elseif ($scriptName = $this->_resource->getAttribute('scriptName')) {
- $this->_scriptName = $scriptName;
- $this->_filesystemName = $scriptName . '.phtml';
- } else {
- throw new Exception('Either a forActionName or scriptName is required.');
- }
-
- parent::init();
- return $this;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return unknown
- */
- public function getPersistentAttributes()
- {
- $attributes = array();
-
- if ($this->_forActionName) {
- $attributes['forActionName'] = $this->_forActionName;
- }
-
- if ($this->_scriptName) {
- $attributes['scriptName'] = $this->_scriptName;
- }
-
- return $attributes;
- }
-
- /**
- * getContents()
- *
- * @return string
- */
- public function getContents()
- {
- $contents = '';
-
- if ($this->_filesystemName == 'error.phtml') { // should also check that the above directory is forController=error
- $contents .= <<
-
-
-
- Zend Framework Default Application
-
-
- An error occurred
- message ?>
-
- exception)): ?>
-
- Exception information:
-
- Message: exception->getMessage() ?>
-
-
- Stack trace:
- exception->getTraceAsString() ?>
-
-
- Request Parameters:
- request->getParams(), true) ?>
-
-
-
-
-
-
-EOS;
- } elseif ($this->_forActionName == 'index' && $this->_resource->getParentResource()->getAttribute('forControllerName') == 'Index') {
-
- $contents =<<
- a:link,
- a:visited
- {
- color: #0398CA;
- }
-
- span#zf-name
- {
- color: #91BE3F;
- }
-
- div#welcome
- {
- color: #FFFFFF;
- background-image: url(http://framework.zend.com/images/bkg_header.jpg);
- width: 600px;
- height: 400px;
- border: 2px solid #444444;
- overflow: hidden;
- text-align: center;
- }
-
- div#more-information
- {
- background-image: url(http://framework.zend.com/images/bkg_body-bottom.gif);
- height: 100%;
- }
-
-
-
Welcome to the Zend Framework!
-
-
This is your project's main page
-
-
-
-EOS;
-
- } else {
- $contents = 'View script for controller ' . $this->_resource->getParentResource()->getAttribute('forControllerName') . ' '
- . ' and script/action name ' . $this->_forActionName . ' ';
- }
- return $contents;
- }
-
- protected function _convertActionNameToFilesystemName($actionName)
- {
- $filter = new Zend_Filter();
- $filter->addFilter(new Zend_Filter_Word_CamelCaseToDash())
- ->addFilter(new Zend_Filter_StringToLower());
- return $filter->filter($actionName);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ViewScriptsDirectory.php b/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ViewScriptsDirectory.php
deleted file mode 100644
index 008fa8639..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Context/Zf/ViewScriptsDirectory.php
+++ /dev/null
@@ -1,57 +0,0 @@
-_getZfPath();
- if ($zfPath != false) {
- $zfIterator = new RecursiveDirectoryIterator($zfPath);
- foreach ($rii = new RecursiveIteratorIterator($zfIterator, RecursiveIteratorIterator::SELF_FIRST) as $file) {
- $relativePath = preg_replace('#^'.preg_quote(realpath($zfPath), '#').'#', '', realpath($file->getPath())) . DIRECTORY_SEPARATOR . $file->getFilename();
- if (strpos($relativePath, DIRECTORY_SEPARATOR . '.') !== false) {
- continue;
- }
-
- if ($file->isDir()) {
- mkdir($this->getBaseDirectory() . DIRECTORY_SEPARATOR . $this->getFilesystemName() . $relativePath);
- } else {
- copy($file->getPathname(), $this->getBaseDirectory() . DIRECTORY_SEPARATOR . $this->getFilesystemName() . $relativePath);
- }
-
- }
- }
- }
-
- /**
- * _getZfPath()
- *
- * @return string|false
- */
- protected function _getZfPath()
- {
- require_once 'Zend/Loader.php';
- foreach (Zend_Loader::explodeIncludePath() as $includePath) {
- if (!file_exists($includePath) || $includePath[0] == '.') {
- continue;
- }
-
- if (realpath($checkedPath = rtrim($includePath, '\\/') . '/Zend/Loader.php') !== false && file_exists($checkedPath)) {
- return dirname($checkedPath);
- }
- }
-
- return false;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Exception.php b/airtime_mvc/library/Zend/Tool/Project/Exception.php
deleted file mode 100644
index fff2a6429..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-setOptions($options);
- }
-
- $this->_topResources = new Zend_Tool_Project_Profile_Resource_Container();
- }
-
- /**
- * Process options and either set a profile property or
- * set a profile 'attribute'
- *
- * @param array $options
- */
- public function setOptions(Array $options)
- {
- $this->setAttributes($options);
- }
-
- /**
- * getIterator() - reqruied by the RecursiveIterator interface
- *
- * @return RecursiveIteratorIterator
- */
- public function getIterator()
- {
- require_once 'Zend/Tool/Project/Profile/Iterator/EnabledResourceFilter.php';
-
- return new RecursiveIteratorIterator(
- new Zend_Tool_Project_Profile_Iterator_EnabledResourceFilter($this),
- RecursiveIteratorIterator::SELF_FIRST
- );
- }
-
- /**
- * loadFromData() - Load a profile from data provided by the
- * 'profilData' attribute
- *
- */
- public function loadFromData()
- {
- if (!isset($this->_attributes['profileData'])) {
- require_once 'Zend/Tool/Project/Exception.php';
- throw new Zend_Tool_Project_Exception('loadFromData() must have "profileData" set.');
- }
-
- $profileFileParser = new Zend_Tool_Project_Profile_FileParser_Xml();
- $profileFileParser->unserialize($this->_attributes['profileData'], $this);
-
- $this->rewind();
- }
-
- /**
- * isLoadableFromFile() - can a profile be loaded from a file
- *
- * wether or not a profile can be loaded from the
- * file in attribute 'projectProfileFile', or from a file named
- * '.zfproject.xml' inside a directory in key 'projectDirectory'
- *
- * @return bool
- */
- public function isLoadableFromFile()
- {
- if (!isset($this->_attributes['projectProfileFile']) && !isset($this->_attributes['projectDirectory'])) {
- return false;
- }
-
- if (isset($this->_attributes['projectProfileFile'])) {
- $projectProfileFilePath = $this->_attributes['projectProfileFile'];
- if (!file_exists($projectProfileFilePath)) {
- return false;
- }
- } else {
- $projectProfileFilePath = rtrim($this->_attributes['projectDirectory'], '/\\') . '/.zfproject.xml';
- if (!file_exists($projectProfileFilePath)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * loadFromFile() - Load data from file
- *
- * this attempts to load a project profile file from a variety of locations depending
- * on what information the user provided vie $options or attributes, specifically the
- * 'projectDirectory' or 'projectProfileFile'
- *
- */
- public function loadFromFile()
- {
- // if no data is supplied, need either a projectProfileFile or a projectDirectory
- if (!isset($this->_attributes['projectProfileFile']) && !isset($this->_attributes['projectDirectory'])) {
- require_once 'Zend/Tool/Project/Exception.php';
- throw new Zend_Tool_Project_Exception('loadFromFile() must have at least "projectProfileFile" or "projectDirectory" set.');
- }
-
- if (isset($this->_attributes['projectProfileFile'])) {
- $projectProfileFilePath = $this->_attributes['projectProfileFile'];
- if (!file_exists($projectProfileFilePath)) {
- require_once 'Zend/Tool/Project/Exception.php';
- throw new Zend_Tool_Project_Exception('"projectProfileFile" was supplied but file was not found at location ' . $projectProfileFilePath);
- }
- $this->_attributes['projectDirectory'] = dirname($projectProfileFilePath);
- } else {
- $projectProfileFilePath = rtrim($this->_attributes['projectDirectory'], '/\\') . '/.zfproject.xml';
- if (!file_exists($projectProfileFilePath)) {
- require_once 'Zend/Tool/Project/Exception.php';
- throw new Zend_Tool_Project_Exception('"projectDirectory" was supplied but no profile file file was not found at location ' . $projectProfileFilePath);
- }
- $this->_attributes['projectProfileFile'] = $projectProfileFilePath;
- }
-
- $profileData = file_get_contents($projectProfileFilePath);
-
- $profileFileParser = new Zend_Tool_Project_Profile_FileParser_Xml();
- $profileFileParser->unserialize($profileData, $this);
-
- $this->rewind();
- }
-
- /**
- * storeToFile() - store the current profile to file
- *
- * This will store the profile in memory to a place on disk determined by the attributes
- * available, specifically if the key 'projectProfileFile' is available
- *
- */
- public function storeToFile()
- {
- $file = null;
-
- if (isset($this->_attributes['projectProfileFile'])) {
- $file = $this->_attributes['projectProfileFile'];
- }
-
- if ($file == null) {
- require_once 'Zend/Tool/Project/Exception.php';
- throw new Zend_Tool_Project_Exception('storeToFile() must have a "projectProfileFile" attribute set.');
- }
-
- $parser = new Zend_Tool_Project_Profile_FileParser_Xml();
- $xml = $parser->serialize($this);
- file_put_contents($file, $xml);
- }
-
- /**
- * storeToData() - create a string representation of the profile in memory
- *
- * @return string
- */
- public function storeToData()
- {
- $parser = new Zend_Tool_Project_Profile_FileParser_Xml();
- $xml = $parser->serialize($this);
- return $xml;
- }
-
- /**
- * __toString() - cast this profile to string to be able to view it.
- *
- * @return string
- */
- public function __toString()
- {
- $string = '';
- foreach ($this as $resource) {
- $string .= $resource->getName() . PHP_EOL;
- $rii = new RecursiveIteratorIterator($resource, RecursiveIteratorIterator::SELF_FIRST);
- foreach ($rii as $item) {
- $string .= str_repeat(' ', $rii->getDepth()+1) . $item->getName()
- . ((count($attributes = $item->getAttributes()) > 0) ? ' [' . http_build_query($attributes) . ']' : '')
- . PHP_EOL;
- }
- }
- return $string;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Profile/Exception.php b/airtime_mvc/library/Zend/Tool/Project/Profile/Exception.php
deleted file mode 100644
index 0878ac268..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Profile/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_contextRepository = Zend_Tool_Project_Context_Repository::getInstance();
- }
-
- /**
- * serialize()
- *
- * create an xml string from the provided profile
- *
- * @param Zend_Tool_Project_Profile $profile
- * @return string
- */
- public function serialize(Zend_Tool_Project_Profile $profile)
- {
-
- $profile = clone $profile;
-
- $this->_profile = $profile;
- $xmlElement = new SimpleXMLElement(' ');
-
- if ($profile->hasAttribute('type')) {
- $xmlElement->addAttribute('type', $profile->getAttribute('type'));
- }
-
- if ($profile->hasAttribute('version')) {
- $xmlElement->addAttribute('version', $profile->getAttribute('version'));
- }
-
- self::_serializeRecurser($profile, $xmlElement);
-
- $doc = new DOMDocument('1.0');
- $doc->formatOutput = true;
- $domnode = dom_import_simplexml($xmlElement);
- $domnode = $doc->importNode($domnode, true);
- $domnode = $doc->appendChild($domnode);
-
- return $doc->saveXML();
- }
-
- /**
- * unserialize()
- *
- * Create a structure in the object $profile from the structure specficied
- * in the xml string provided
- *
- * @param string xml data
- * @param Zend_Tool_Project_Profile The profile to use as the top node
- * @return Zend_Tool_Project_Profile
- */
- public function unserialize($data, Zend_Tool_Project_Profile $profile)
- {
- if ($data == null) {
- throw new Exception('contents not available to unserialize.');
- }
-
- $this->_profile = $profile;
-
- $xmlDataIterator = new SimpleXMLIterator($data);
-
- if ($xmlDataIterator->getName() != 'projectProfile') {
- throw new Exception('Profiles must start with a projectProfile node');
- }
-
- if (isset($xmlDataIterator['type'])) {
- $this->_profile->setAttribute('type', (string) $xmlDataIterator['type']);
- }
-
- if (isset($xmlDataIterator['version'])) {
- $this->_profile->setAttribute('version', (string) $xmlDataIterator['version']);
- }
-
- // start un-serialization of the xml doc
- $this->_unserializeRecurser($xmlDataIterator);
-
- // contexts should be initialized after the unwinding of the profile structure
- $this->_lazyLoadContexts();
-
- return $this->_profile;
-
- }
-
- /**
- * _serializeRecurser()
- *
- * This method will be used to traverse the depths of the structure
- * when *serializing* an xml structure into a string
- *
- * @param array $resources
- * @param SimpleXmlElement $xmlNode
- */
- protected function _serializeRecurser($resources, SimpleXmlElement $xmlNode)
- {
- // @todo find a better way to handle concurrency.. if no clone, _position in node gets messed up
- //if ($resources instanceof Zend_Tool_Project_Profile_Resource) {
- // $resources = clone $resources;
- //}
-
- foreach ($resources as $resource) {
-
- if ($resource->isDeleted()) {
- continue;
- }
-
- $resourceName = $resource->getContext()->getName();
- $resourceName[0] = strtolower($resourceName[0]);
-
- $newNode = $xmlNode->addChild($resourceName);
-
- //$reflectionClass = new ReflectionClass($resource->getContext());
-
- if ($resource->isEnabled() == false) {
- $newNode->addAttribute('enabled', 'false');
- }
-
- foreach ($resource->getPersistentAttributes() as $paramName => $paramValue) {
- $newNode->addAttribute($paramName, $paramValue);
- }
-
- if ($resource->hasChildren()) {
- self::_serializeRecurser($resource, $newNode);
- }
-
- }
-
- }
-
-
- /**
- * _unserializeRecurser()
- *
- * This method will be used to traverse the depths of the structure
- * as needed to *unserialize* the profile from an xmlIterator
- *
- * @param SimpleXMLIterator $xmlIterator
- * @param Zend_Tool_Project_Profile_Resource $resource
- */
- protected function _unserializeRecurser(SimpleXMLIterator $xmlIterator, Zend_Tool_Project_Profile_Resource $resource = null)
- {
-
- foreach ($xmlIterator as $resourceName => $resourceData) {
-
- $contextName = $resourceName;
- $subResource = new Zend_Tool_Project_Profile_Resource($contextName);
- $subResource->setProfile($this->_profile);
-
- if ($resourceAttributes = $resourceData->attributes()) {
- $attributes = array();
- foreach ($resourceAttributes as $attrName => $attrValue) {
- $attributes[$attrName] = (string) $attrValue;
- }
- $subResource->setAttributes($attributes);
- }
-
- if ($resource) {
- $resource->append($subResource, false);
- } else {
- $this->_profile->append($subResource);
- }
-
- if ($this->_contextRepository->isOverwritableContext($contextName) == false) {
- $subResource->initializeContext();
- }
-
- if ($xmlIterator->hasChildren()) {
- self::_unserializeRecurser($xmlIterator->getChildren(), $subResource);
- }
- }
- }
-
- /**
- * _lazyLoadContexts()
- *
- * This method will call initializeContext on the resources in a profile
- * @todo determine if this method belongs inside the profile
- *
- */
- protected function _lazyLoadContexts()
- {
-
- foreach ($this->_profile as $topResource) {
- $rii = new RecursiveIteratorIterator($topResource, RecursiveIteratorIterator::SELF_FIRST);
- foreach ($rii as $resource) {
- $resource->initializeContext();
- }
- }
-
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Profile/Iterator/ContextFilter.php b/airtime_mvc/library/Zend/Tool/Project/Profile/Iterator/ContextFilter.php
deleted file mode 100644
index 9c94c9a9d..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Profile/Iterator/ContextFilter.php
+++ /dev/null
@@ -1,211 +0,0 @@
-_rawOptions = $options;
- if ($options) {
- $this->setOptions($options);
- }
- }
-
- /**
- * setOptions()
- *
- * @param array $options
- */
- public function setOptions(Array $options)
- {
- foreach ($options as $optionName => $optionValue) {
- if (substr($optionName, -1, 1) != 's') {
- $optionName .= 's';
- }
- if (method_exists($this, 'set' . $optionName)) {
- $this->{'set' . $optionName}($optionValue);
- }
- }
- }
-
- /**
- * setAcceptTypes()
- *
- * @param array|string $acceptTypes
- * @return Zend_Tool_Project_Profile_Iterator_ContextFilter
- */
- public function setAcceptTypes($acceptTypes)
- {
- if (!is_array($acceptTypes)) {
- $acceptTypes = array($acceptTypes);
- }
-
- $this->_acceptTypes = $acceptTypes;
- return $this;
- }
-
- /**
- * setDenyTypes()
- *
- * @param array|string $denyTypes
- * @return Zend_Tool_Project_Profile_Iterator_ContextFilter
- */
- public function setDenyTypes($denyTypes)
- {
- if (!is_array($denyTypes)) {
- $denyTypes = array($denyTypes);
- }
-
- $this->_denyTypes = $denyTypes;
- return $this;
- }
-
- /**
- * setAcceptNames()
- *
- * @param array|string $acceptNames
- * @return Zend_Tool_Project_Profile_Iterator_ContextFilter
- */
- public function setAcceptNames($acceptNames)
- {
- if (!is_array($acceptNames)) {
- $acceptNames = array($acceptNames);
- }
-
- foreach ($acceptNames as $n => $v) {
- $acceptNames[$n] = strtolower($v);
- }
-
- $this->_acceptNames = $acceptNames;
- return $this;
- }
-
- /**
- * setDenyNames()
- *
- * @param array|string $denyNames
- * @return Zend_Tool_Project_Profile_Iterator_ContextFilter
- */
- public function setDenyNames($denyNames)
- {
- if (!is_array($denyNames)) {
- $denyNames = array($denyNames);
- }
-
- foreach ($denyNames as $n => $v) {
- $denyNames[$n] = strtolower($v);
- }
-
- $this->_denyNames = $denyNames;
- return $this;
- }
-
- /**
- * accept() is required by teh RecursiveFilterIterator
- *
- * @return bool
- */
- public function accept()
- {
- $currentItem = $this->current();
-
- if (in_array(strtolower($currentItem->getName()), $this->_acceptNames)) {
- return true;
- } elseif (in_array(strtolower($currentItem->getName()), $this->_denyNames)) {
- return false;
- }
-
- foreach ($this->_acceptTypes as $acceptType) {
- if ($currentItem->getContent() instanceof $acceptType) {
- return true;
- }
- }
-
- foreach ($this->_denyTypes as $denyType) {
- if ($currentItem->getContext() instanceof $denyType) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * getChildren()
- *
- * This is here due to a bug/design issue in PHP
- * @link
- *
- * @return unknown
- */
- function getChildren()
- {
-
- if (empty($this->ref)) {
- $this->ref = new ReflectionClass($this);
- }
-
- return $this->ref->newInstance($this->getInnerIterator()->getChildren(), $this->_rawOptions);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Profile/Iterator/EnabledResourceFilter.php b/airtime_mvc/library/Zend/Tool/Project/Profile/Iterator/EnabledResourceFilter.php
deleted file mode 100644
index dee203720..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Profile/Iterator/EnabledResourceFilter.php
+++ /dev/null
@@ -1,43 +0,0 @@
-current()->isEnabled();
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Profile/Resource.php b/airtime_mvc/library/Zend/Tool/Project/Profile/Resource.php
deleted file mode 100644
index 7aa969db2..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Profile/Resource.php
+++ /dev/null
@@ -1,262 +0,0 @@
-setContext($context);
- }
-
- /**
- * setContext()
- *
- * @param string|Zend_Tool_Project_Context_Interface $context
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function setContext($context)
- {
- $this->_context = $context;
- return $this;
- }
-
- /**
- * getContext()
- *
- * @return Zend_Tool_Project_Context_Interface
- */
- public function getContext()
- {
- return $this->_context;
- }
-
- /**
- * getName() - Get the resource name
- *
- * Name is derived from the context name
- *
- * @return string
- */
- public function getName()
- {
- if (is_string($this->_context)) {
- return $this->_context;
- } elseif ($this->_context instanceof Zend_Tool_Project_Context_Interface) {
- return $this->_context->getName();
- } else {
- throw new Zend_Tool_Project_Exception('Invalid context in resource');
- }
- }
-
- /**
- * setProfile()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function setProfile(Zend_Tool_Project_Profile $profile)
- {
- $this->_profile = $profile;
- return $this;
- }
-
- /**
- * getProfile
- *
- * @return Zend_Tool_Project_Profile
- */
- public function getProfile()
- {
- return $this->_profile;
- }
-
- /**
- * getPersistentAttributes()
- *
- * @return array
- */
- public function getPersistentAttributes()
- {
- if (method_exists($this->_context, 'getPersistentAttributes')) {
- return $this->_context->getPersistentAttributes();
- }
-
- return array();
- }
-
- /**
- * setEnabled()
- *
- * @param bool $enabled
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function setEnabled($enabled = true)
- {
- // convert fuzzy types to bool
- $this->_enabled = (!in_array($enabled, array('false', 'disabled', 0, -1, false), true)) ? true : false;
- return $this;
- }
-
- /**
- * isEnabled()
- *
- * @return bool
- */
- public function isEnabled()
- {
- return $this->_enabled;
- }
-
- /**
- * setDeleted()
- *
- * @param bool $deleted
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function setDeleted($deleted = true)
- {
- $this->_deleted = (bool) $deleted;
- return $this;
- }
-
- /**
- * isDeleted()
- *
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function isDeleted()
- {
- return $this->_deleted;
- }
-
- /**
- * initializeContext()
- *
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function initializeContext()
- {
- if ($this->_isContextInitialized) {
- return;
- }
- if (is_string($this->_context)) {
- $this->_context = Zend_Tool_Project_Context_Repository::getInstance()->getContext($this->_context);
- }
-
- if (method_exists($this->_context, 'setResource')) {
- $this->_context->setResource($this);
- }
-
- if (method_exists($this->_context, 'init')) {
- $this->_context->init();
- }
-
- $this->_isContextInitialized = true;
- return $this;
- }
-
- /**
- * __toString()
- *
- * @return string
- */
- public function __toString()
- {
- return $this->_context->getName();
- }
-
- /**
- * __call()
- *
- * @param string $method
- * @param array $arguments
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function __call($method, $arguments)
- {
- if (method_exists($this->_context, $method)) {
- if (!$this->isEnabled()) {
- $this->setEnabled(true);
- }
- return call_user_func_array(array($this->_context, $method), $arguments);
- } else {
- throw new Zend_Tool_Project_Profile_Exception('cannot call ' . $method);
- }
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Profile/Resource/Container.php b/airtime_mvc/library/Zend/Tool/Project/Profile/Resource/Container.php
deleted file mode 100644
index bf5106b4e..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Profile/Resource/Container.php
+++ /dev/null
@@ -1,421 +0,0 @@
-
- *
- *
- *
- * @param Zend_Tool_Project_Profile_Resource_SearchConstraints|string|array $searchParameters
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function search($matchSearchConstraints, $nonMatchSearchConstraints = null)
- {
- if (!$matchSearchConstraints instanceof Zend_Tool_Project_Profile_Resource_SearchConstraints) {
- $matchSearchConstraints = new Zend_Tool_Project_Profile_Resource_SearchConstraints($matchSearchConstraints);
- }
-
- $this->rewind();
-
- /**
- * @todo This should be re-written with better support for a filter iterator, its the way to go
- */
-
- if ($nonMatchSearchConstraints) {
- $filterIterator = new Zend_Tool_Project_Profile_Iterator_ContextFilter($this, array('denyNames' => $nonMatchSearchConstraints));
- $riIterator = new RecursiveIteratorIterator($filterIterator, RecursiveIteratorIterator::SELF_FIRST);
- } else {
- $riIterator = new RecursiveIteratorIterator($this, RecursiveIteratorIterator::SELF_FIRST);
- }
-
- $foundResource = false;
- $currentConstraint = $matchSearchConstraints->getConstraint();
- $foundDepth = 0;
-
- foreach ($riIterator as $currentResource) {
-
- // if current depth is less than found depth, end
- if ($riIterator->getDepth() < $foundDepth) {
- break;
- }
-
- if (strtolower($currentResource->getName()) == strtolower($currentConstraint->name)) {
-
- $paramsMatch = true;
-
- // @todo check to ensure params match (perhaps)
- if (count($currentConstraint->params) > 0) {
- $currentResourceAttributes = $currentResource->getAttributes();
- if (!is_array($currentConstraint->params)) {
- require_once 'Zend/Tool/Project/Profile/Exception.php';
- throw new Zend_Tool_Project_Profile_Exception('Search parameter specifics must be in the form of an array for key "'
- . $currentConstraint->name .'"');
- }
- foreach ($currentConstraint->params as $paramName => $paramValue) {
- if (!isset($currentResourceAttributes[$paramName]) || $currentResourceAttributes[$paramName] != $paramValue) {
- $paramsMatch = false;
- break;
- }
- }
- }
-
- if ($paramsMatch) {
- $foundDepth = $riIterator->getDepth();
-
- if (($currentConstraint = $matchSearchConstraints->getConstraint()) == null) {
- $foundResource = $currentResource;
- break;
- }
- }
-
- }
-
- }
-
- return $foundResource;
- }
-
- /**
- * createResourceAt()
- *
- * @param array|Zend_Tool_Project_Profile_Resource_SearchConstraints $appendResourceOrSearchConstraints
- * @param string $context
- * @param array $attributes
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function createResourceAt($appendResourceOrSearchConstraints, $context, Array $attributes = array())
- {
- if (!$appendResourceOrSearchConstraints instanceof Zend_Tool_Project_Profile_Resource_Container) {
- if (($parentResource = $this->search($appendResourceOrSearchConstraints)) == false) {
- require_once 'Zend/Tool/Project/Profile/Exception.php';
- throw new Zend_Tool_Project_Profile_Exception('No node was found to append to.');
- }
- } else {
- $parentResource = $appendResourceOrSearchConstraints;
- }
-
- return $parentResource->createResource($context, $attributes);
- }
-
- /**
- * createResource()
- *
- * Method to create a resource with a given context with specific attributes
- *
- * @param string $context
- * @param array $attributes
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function createResource($context, Array $attributes = array())
- {
- if (is_string($context)) {
- $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
- if ($contextRegistry->hasContext($context)) {
- $context = $contextRegistry->getContext($context);
- } else {
- require_once 'Zend/Tool/Project/Profile/Exception.php';
- throw new Zend_Tool_Project_Profile_Exception('Context by name ' . $context . ' was not found in the context registry.');
- }
- } elseif (!$context instanceof Zend_Tool_Project_Context_Interface) {
- require_once 'Zend/Tool/Project/Profile/Exception.php';
- throw new Zend_Tool_Project_Profile_Exception('Context must be of type string or Zend_Tool_Project_Context_Interface.');
- }
-
- $newResource = new Zend_Tool_Project_Profile_Resource($context);
-
- if ($attributes) {
- $newResource->setAttributes($attributes);
- }
-
- /**
- * Interesting logic here:
- *
- * First set the parentResource (this will also be done inside append). This will allow
- * the initialization routine to change the appendability of the parent resource. This
- * is important to allow specific resources to be appendable by very specific sub-resources.
- */
- $newResource->setParentResource($this);
- $newResource->initializeContext();
- $this->append($newResource);
-
- return $newResource;
- }
-
- /**
- * setAttributes()
- *
- * persist the attributes if the resource will accept them
- *
- * @param array $attributes
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function setAttributes(Array $attributes)
- {
- foreach ($attributes as $attrName => $attrValue) {
- $setMethod = 'set' . $attrName;
- if (method_exists($this, $setMethod)) {
- $this->{$setMethod}($attrValue);
- } else {
- $this->setAttribute($attrName, $attrValue);
- }
- }
- return $this;
- }
-
- /**
- * getAttributes()
- *
- * @return array
- */
- public function getAttributes()
- {
- return $this->_attributes;
- }
-
- /**
- * setAttribute()
- *
- * @param string $name
- * @param mixed $value
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function setAttribute($name, $value)
- {
- $this->_attributes[$name] = $value;
- return $this;
- }
-
- /**
- * getAttribute()
- *
- * @param string $name
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function getAttribute($name)
- {
- return (array_key_exists($name, $this->_attributes)) ? $this->_attributes[$name] : null;
- }
-
- /**
- * hasAttribute()
- *
- * @param string $name
- * @return bool
- */
- public function hasAttribute($name)
- {
- return array_key_exists($name, $this->_attributes);
- }
-
- /**
- * setAppendable()
- *
- * @param bool $appendable
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function setAppendable($appendable)
- {
- $this->_appendable = (bool) $appendable;
- return $this;
- }
-
- /**
- * isAppendable()
- *
- * @return bool
- */
- public function isAppendable()
- {
- return $this->_appendable;
- }
-
- /**
- * setParentResource()
- *
- * @param Zend_Tool_Project_Profile_Resource_Container $parentResource
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function setParentResource(Zend_Tool_Project_Profile_Resource_Container $parentResource)
- {
- $this->_parentResource = $parentResource;
- return $this;
- }
-
- /**
- * getParentResource()
- *
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function getParentResource()
- {
- return $this->_parentResource;
- }
-
- /**
- * append()
- *
- * @param Zend_Tool_Project_Profile_Resource_Container $resource
- * @return Zend_Tool_Project_Profile_Resource_Container
- */
- public function append(Zend_Tool_Project_Profile_Resource_Container $resource)
- {
- if (!$this->isAppendable()) {
- throw new Exception('Resource by name ' . (string) $this . ' is not appendable');
- }
- array_push($this->_subResources, $resource);
- $resource->setParentResource($this);
-
- return $this;
- }
-
- /**
- * current() - required by RecursiveIterator
- *
- * @return Zend_Tool_Project_Profile_Resource
- */
- public function current()
- {
- return current($this->_subResources);
- }
-
- /**
- * key() - required by RecursiveIterator
- *
- * @return int
- */
- public function key()
- {
- return key($this->_subResources);
- }
-
- /**
- * next() - required by RecursiveIterator
- *
- * @return bool
- */
- public function next()
- {
- return next($this->_subResources);
- }
-
- /**
- * rewind() - required by RecursiveIterator
- *
- * @return bool
- */
- public function rewind()
- {
- return reset($this->_subResources);
- }
-
- /**
- * valid() - - required by RecursiveIterator
- *
- * @return bool
- */
- public function valid()
- {
- return (bool) $this->current();
- }
-
- /**
- * hasChildren()
- *
- * @return bool
- */
- public function hasChildren()
- {
- return (count($this->_subResources > 0)) ? true : false;
- }
-
- /**
- * getChildren()
- *
- * @return array
- */
- public function getChildren()
- {
- return $this->current();
- }
-
- /**
- * count()
- *
- * @return int
- */
- public function count()
- {
- return count($this->_subResources);
- }
-
- /**
- * __clone()
- *
- */
- public function __clone()
- {
- $this->rewind();
- foreach ($this->_subResources as $index => $resource) {
- $this->_subResources[$index] = clone $resource;
- }
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Profile/Resource/SearchConstraints.php b/airtime_mvc/library/Zend/Tool/Project/Profile/Resource/SearchConstraints.php
deleted file mode 100644
index f087d5df6..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Profile/Resource/SearchConstraints.php
+++ /dev/null
@@ -1,117 +0,0 @@
-addConstraint($options);
- } elseif (is_array($options)) {
- $this->setOptions($options);
- }
- }
-
- /**
- * setOptions()
- *
- * @param array $option
- * @return Zend_Tool_Project_Profile_Resource_SearchConstraints
- */
- public function setOptions(Array $option)
- {
- foreach ($option as $optionName => $optionValue) {
- if (is_int($optionName)) {
- $this->addConstraint($optionValue);
- } elseif (is_string($optionName)) {
- $this->addConstraint(array('name' => $optionName, 'params' => $optionValue));
- }
- }
-
- return $this;
- }
-
- /**
- * addConstraint()
- *
- * @param string|array $constraint
- * @return Zend_Tool_Project_Profile_Resource_SearchConstraints
- */
- public function addConstraint($constraint)
- {
- if (is_string($constraint)) {
- $name = $constraint;
- $params = array();
- } elseif (is_array($constraint)) {
- $name = $constraint['name'];
- $params = $constraint['params'];
- }
-
- $constraint = $this->_makeConstraint($name, $params);
-
- array_push($this->_constraints, $constraint);
- return $this;
- }
-
- /**
- * getConstraint()
- *
- * @return ArrayObject
- */
- public function getConstraint()
- {
- return array_shift($this->_constraints);
- }
-
- /**
- * _makeConstraint
- *
- * @param string $name
- * @param mixed $params
- * @return ArrayObject
- */
- protected function _makeConstraint($name, $params)
- {
- $value = array('name' => $name, 'params' => $params);
- return new ArrayObject($value, ArrayObject::ARRAY_AS_PROPS);
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Abstract.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Abstract.php
deleted file mode 100644
index e8edd2441..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Abstract.php
+++ /dev/null
@@ -1,241 +0,0 @@
-addContextsFromDirectory(
- dirname(dirname(__FILE__)) . '/Context/Zf/', 'Zend_Tool_Project_Context_Zf_'
- );
- $contextRegistry->addContextsFromDirectory(
- dirname(dirname(__FILE__)) . '/Context/Filesystem/', 'Zend_Tool_Project_Context_Filesystem_'
- );
- self::$_isInitialized = true;
- }
-
- // load up the extending providers required context classes
- if ($contextClasses = $this->getContextClasses()) {
- $this->_loadContextClassesIntoRegistry($contextClasses);
- }
-
- }
-
- public function getContextClasses()
- {
- return array();
- }
-
- /**
- * _getProject is designed to find if there is project file in the context of where
- * the client has been called from.. The search order is as follows..
- * - traversing downwards from (PWD) - current working directory
- * - if an enpoint variable has been registered in teh client registry - key=workingDirectory
- * - if an ENV variable with the key ZFPROJECT_PATH is found
- *
- * @param $loadProfileFlag bool Whether or not to throw an exception when no profile is found
- * @param $projectDirectory string The project directory to use to search
- * @param $searchParentDirectories bool Whether or not to search upper level direcotries
- * @return Zend_Tool_Project_Profile
- */
- protected function _loadProfile($loadProfileFlag = self::NO_PROFILE_THROW_EXCEPTION, $projectDirectory = null, $searchParentDirectories = true)
- {
- // use the cwd if no directory was provided
- if ($projectDirectory == null) {
- $projectDirectory = getcwd();
- } elseif (realpath($projectDirectory) == false) {
- throw new Zend_Tool_Project_Provider_Exception('The $projectDirectory supplied does not exist.');
- }
-
- $profile = new Zend_Tool_Project_Profile();
-
- $parentDirectoriesArray = explode(DIRECTORY_SEPARATOR, ltrim($projectDirectory, DIRECTORY_SEPARATOR));
- while ($parentDirectoriesArray) {
- $projectDirectoryAssembled = implode(DIRECTORY_SEPARATOR, $parentDirectoriesArray);
-
- if (DIRECTORY_SEPARATOR !== "\\") {
- $projectDirectoryAssembled = DIRECTORY_SEPARATOR . $projectDirectoryAssembled;
- }
-
- $profile->setAttribute('projectDirectory', $projectDirectoryAssembled);
- if ($profile->isLoadableFromFile()) {
- chdir($projectDirectoryAssembled);
-
- $profile->loadFromFile();
- $this->_loadedProfile = $profile;
- break;
- }
-
- // break after first run if we are not to check upper directories
- if ($searchParentDirectories == false) {
- break;
- }
-
- array_pop($parentDirectoriesArray);
- }
-
- if ($this->_loadedProfile == null) {
- if ($loadProfileFlag == self::NO_PROFILE_THROW_EXCEPTION) {
- throw new Zend_Tool_Project_Provider_Exception('A project profile was not found.');
- } elseif ($loadProfileFlag == self::NO_PROFILE_RETURN_FALSE) {
- return false;
- }
- }
-
- return $profile;
- }
-
- /**
- * Load the project profile from the current working directory, if not throw exception
- *
- * @return Zend_Tool_Project_Profile
- */
- protected function _loadProfileRequired()
- {
- $profile = $this->_loadProfile();
- if ($profile === false) {
- require_once 'Zend/Tool/Project/Provider/Exception.php';
- throw new Zend_Tool_Project_Provider_Exception('A project profile was not found in the current working directory.');
- }
- return $profile;
- }
-
- /**
- * Return the currently loaded profile
- *
- * @return Zend_Tool_Project_Profile
- */
- protected function _getProfile($loadProfileFlag = self::NO_PROFILE_THROW_EXCEPTION)
- {
- if (!$this->_loadedProfile) {
- if (($this->_loadProfile($loadProfileFlag) === false) && ($loadProfileFlag === self::NO_PROFILE_RETURN_FALSE)) {
- return false;
- }
- }
-
- return $this->_loadedProfile;
- }
-
- /**
- * _storeProfile()
- *
- * This method will store the profile into its proper location
- *
- */
- protected function _storeProfile()
- {
- $projectProfileFile = $this->_loadedProfile->search('ProjectProfileFile');
-
- $name = $projectProfileFile->getContext()->getPath();
-
- $this->_registry->getResponse()->appendContent('Updating project profile \'' . $name . '\'');
-
- $projectProfileFile->getContext()->save();
- }
-
- protected function _getContentForContext(Zend_Tool_Project_Context_Interface $context, $methodName, $parameters)
- {
- $storage = $this->_registry->getStorage();
- if (!$storage->isEnabled()) {
- return false;
- }
-
- if (!class_exists('Zend_Tool_Project_Context_Content_Engine')) {
- require_once 'Zend/Tool/Project/Context/Content/Engine.php';
- }
-
- $engine = new Zend_Tool_Project_Context_Content_Engine($storage);
- return $engine->getContent($context, $methodName, $parameters);
- }
-
- /**
- * _loadContextClassesIntoRegistry() - This is called by the constructor
- * so that child providers can provide a list of contexts to load into the
- * context repository
- *
- * @param array $contextClasses
- */
- private function _loadContextClassesIntoRegistry($contextClasses)
- {
- $registry = Zend_Tool_Project_Context_Repository::getInstance();
-
- foreach ($contextClasses as $contextClass) {
- $registry->addContextClass($contextClass);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Action.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Action.php
deleted file mode 100644
index 4e802d3d4..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Action.php
+++ /dev/null
@@ -1,214 +0,0 @@
-createResource('ActionMethod', array('actionName' => $actionName));
-
- return $actionMethod;
- }
-
- /**
- * hasResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $actionName
- * @param string $controllerName
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- public static function hasResource(Zend_Tool_Project_Profile $profile, $actionName, $controllerName, $moduleName = null)
- {
- if (!is_string($actionName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_Action::createResource() expects \"actionName\" is the name of a action resource to create.');
- }
-
- if (!is_string($controllerName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_Action::createResource() expects \"controllerName\" is the name of a controller resource to create.');
- }
-
- $controllerFile = self::_getControllerFileResource($profile, $controllerName, $moduleName);
-
- if ($controllerFile == null) {
- throw new Zend_Tool_Project_Provider_Exception('Controller ' . $controllerName . ' was not found.');
- }
-
- return (($controllerFile->search(array('actionMethod' => array('actionName' => $actionName)))) instanceof Zend_Tool_Project_Profile_Resource);
- }
-
- /**
- * _getControllerFileResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $controllerName
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- protected static function _getControllerFileResource(Zend_Tool_Project_Profile $profile, $controllerName, $moduleName = null)
- {
- $profileSearchParams = array();
-
- if ($moduleName != null && is_string($moduleName)) {
- $profileSearchParams = array('modulesDirectory', 'moduleDirectory' => array('moduleName' => $moduleName));
- }
-
- $profileSearchParams[] = 'controllersDirectory';
- $profileSearchParams['controllerFile'] = array('controllerName' => $controllerName);
-
- return $profile->search($profileSearchParams);
- }
-
- /**
- * create()
- *
- * @param string $name Action name for controller, in camelCase format.
- * @param string $controllerName Controller name action should be applied to.
- * @param bool $viewIncluded Whether the view should the view be included.
- * @param string $module Module name action should be applied to.
- */
- public function create($name, $controllerName = 'Index', $viewIncluded = true, $module = null)
- {
-
- $this->_loadProfile();
-
- // Check that there is not a dash or underscore, return if doesnt match regex
- if (preg_match('#[_-]#', $name)) {
- throw new Zend_Tool_Project_Provider_Exception('Action names should be camel cased.');
- }
-
- $originalName = $name;
- $originalControllerName = $controllerName;
-
- // ensure it is camelCase (lower first letter)
- $name = strtolower(substr($name, 0, 1)) . substr($name, 1);
-
- // ensure controller is MixedCase
- $controllerName = ucfirst($controllerName);
-
- if (self::hasResource($this->_loadedProfile, $name, $controllerName, $module)) {
- throw new Zend_Tool_Project_Provider_Exception('This controller (' . $controllerName . ') already has an action named (' . $name . ')');
- }
-
- $actionMethod = self::createResource($this->_loadedProfile, $name, $controllerName, $module);
-
- // get request/response object
- $request = $this->_registry->getRequest();
- $response = $this->_registry->getResponse();
-
- // alert the user about inline converted names
- $tense = (($request->isPretend()) ? 'would be' : 'is');
-
- if ($name !== $originalName) {
- $response->appendContent(
- 'Note: The canonical action name that ' . $tense
- . ' used with other providers is "' . $name . '";'
- . ' not "' . $originalName . '" as supplied',
- array('color' => array('yellow'))
- );
- }
-
- if ($controllerName !== $originalControllerName) {
- $response->appendContent(
- 'Note: The canonical controller name that ' . $tense
- . ' used with other providers is "' . $controllerName . '";'
- . ' not "' . $originalControllerName . '" as supplied',
- array('color' => array('yellow'))
- );
- }
-
- unset($tense);
-
- if ($request->isPretend()) {
- $response->appendContent(
- 'Would create an action named ' . $name .
- ' inside controller at ' . $actionMethod->getParentResource()->getContext()->getPath()
- );
- } else {
- $response->appendContent(
- 'Creating an action named ' . $name .
- ' inside controller at ' . $actionMethod->getParentResource()->getContext()->getPath()
- );
- $actionMethod->create();
- $this->_storeProfile();
- }
-
- if ($viewIncluded) {
- $viewResource = Zend_Tool_Project_Provider_View::createResource($this->_loadedProfile, $name, $controllerName, $module);
-
- if ($this->_registry->getRequest()->isPretend()) {
- $response->appendContent(
- 'Would create a view script for the ' . $name . ' action method at ' . $viewResource->getContext()->getPath()
- );
- } else {
- $response->appendContent(
- 'Creating a view script for the ' . $name . ' action method at ' . $viewResource->getContext()->getPath()
- );
- $viewResource->create();
- $this->_storeProfile();
- }
-
- }
-
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Application.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Application.php
deleted file mode 100644
index 807e8a0f6..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Application.php
+++ /dev/null
@@ -1,87 +0,0 @@
-_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- $originalClassNamePrefix = $classNamePrefix;
-
- if (substr($classNamePrefix, -1) != '_') {
- $classNamePrefix .= '_';
- }
-
- $configFileResource = $profile->search('ApplicationConfigFile');
- $zc = $configFileResource->getAsZendConfig('production');
- if ($zc->appnamespace == $classNamePrefix) {
- throw new Zend_Tool_Project_Exception('The requested name ' . $classNamePrefix . ' is already the prefix.');
- }
-
- // remove the old
- $configFileResource->removeStringItem('appnamespace', 'production');
- $configFileResource->create();
-
- // add the new
- $configFileResource->addStringItem('appnamespace', $classNamePrefix, 'production', true);
- $configFileResource->create();
-
- // update the project profile
- $applicationDirectory = $profile->search('ApplicationDirectory');
- $applicationDirectory->setClassNamePrefix($classNamePrefix);
-
- $response = $this->_registry->getResponse();
-
- if ($originalClassNamePrefix !== $classNamePrefix) {
- $response->appendContent(
- 'Note: the name provided "' . $originalClassNamePrefix . '" was'
- . ' altered to "' . $classNamePrefix . '" for correctness.',
- array('color' => 'yellow')
- );
- }
-
- // note to the user
- $response->appendContent('Note: All existing models will need to be altered to this new namespace by hand', array('color' => 'yellow'));
- $response->appendContent('application.ini updated with new appnamespace ' . $classNamePrefix);
-
- // store profile
- $this->_storeProfile();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Controller.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Controller.php
deleted file mode 100644
index 57134461a..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Controller.php
+++ /dev/null
@@ -1,200 +0,0 @@
-createResource(
- 'controllerFile',
- array('controllerName' => $controllerName, 'moduleName' => $moduleName)
- );
-
- return $newController;
- }
-
- /**
- * hasResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $controllerName
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- public static function hasResource(Zend_Tool_Project_Profile $profile, $controllerName, $moduleName = null)
- {
- if (!is_string($controllerName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_Controller::createResource() expects \"controllerName\" is the name of a controller resource to create.');
- }
-
- $controllersDirectory = self::_getControllersDirectoryResource($profile, $moduleName);
- return (($controllersDirectory->search(array('controllerFile' => array('controllerName' => $controllerName)))) instanceof Zend_Tool_Project_Profile_Resource);
- }
-
- /**
- * _getControllersDirectoryResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- protected static function _getControllersDirectoryResource(Zend_Tool_Project_Profile $profile, $moduleName = null)
- {
- $profileSearchParams = array();
-
- if ($moduleName != null && is_string($moduleName)) {
- $profileSearchParams = array('modulesDirectory', 'moduleDirectory' => array('moduleName' => $moduleName));
- }
-
- $profileSearchParams[] = 'controllersDirectory';
-
- return $profile->search($profileSearchParams);
- }
-
- /**
- * Create a new controller
- *
- * @param string $name The name of the controller to create, in camelCase.
- * @param bool $indexActionIncluded Whether or not to create the index action.
- */
- public function create($name, $indexActionIncluded = true, $module = null)
- {
- $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- // determine if testing is enabled in the project
- require_once 'Zend/Tool/Project/Provider/Test.php';
- $testingEnabled = Zend_Tool_Project_Provider_Test::isTestingEnabled($this->_loadedProfile);
-
- if (self::hasResource($this->_loadedProfile, $name, $module)) {
- throw new Zend_Tool_Project_Provider_Exception('This project already has a controller named ' . $name);
- }
-
- // Check that there is not a dash or underscore, return if doesnt match regex
- if (preg_match('#[_-]#', $name)) {
- throw new Zend_Tool_Project_Provider_Exception('Controller names should be camel cased.');
- }
-
- $originalName = $name;
- $name = ucfirst($name);
-
- // get request & response
- $request = $this->_registry->getRequest();
- $response = $this->_registry->getResponse();
-
- try {
- $controllerResource = self::createResource($this->_loadedProfile, $name, $module);
- if ($indexActionIncluded) {
- $indexActionResource = Zend_Tool_Project_Provider_Action::createResource($this->_loadedProfile, 'index', $name, $module);
- $indexActionViewResource = Zend_Tool_Project_Provider_View::createResource($this->_loadedProfile, 'index', $name, $module);
- }
- if ($testingEnabled) {
- $testControllerResource = Zend_Tool_Project_Provider_Test::createApplicationResource($this->_loadedProfile, $name, 'index', $module);
- }
-
- } catch (Exception $e) {
- $response->setException($e);
- return;
- }
-
- // determime if we need to note to the user about the name
- if (($name !== $originalName)) {
- $tense = (($request->isPretend()) ? 'would be' : 'is');
- $response->appendContent(
- 'Note: The canonical controller name that ' . $tense
- . ' used with other providers is "' . $name . '";'
- . ' not "' . $originalName . '" as supplied',
- array('color' => array('yellow'))
- );
- unset($tense);
- }
-
- // do the creation
- if ($request->isPretend()) {
-
- $response->appendContent('Would create a controller at ' . $controllerResource->getContext()->getPath());
-
- if (isset($indexActionResource)) {
- $response->appendContent('Would create an index action method in controller ' . $name);
- $response->appendContent('Would create a view script for the index action method at ' . $indexActionViewResource->getContext()->getPath());
- }
-
- if ($testControllerResource) {
- $response->appendContent('Would create a controller test file at ' . $testControllerResource->getContext()->getPath());
- }
-
- } else {
-
- $response->appendContent('Creating a controller at ' . $controllerResource->getContext()->getPath());
- $controllerResource->create();
-
- if (isset($indexActionResource)) {
- $response->appendContent('Creating an index action method in controller ' . $name);
- $indexActionResource->create();
- $response->appendContent('Creating a view script for the index action method at ' . $indexActionViewResource->getContext()->getPath());
- $indexActionViewResource->create();
- }
-
- if ($testControllerResource) {
- $response->appendContent('Creating a controller test file at ' . $testControllerResource->getContext()->getPath());
- $testControllerResource->create();
- }
-
- $this->_storeProfile();
- }
-
- }
-
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/DbAdapter.php b/airtime_mvc/library/Zend/Tool/Project/Provider/DbAdapter.php
deleted file mode 100644
index 8c98049ed..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/DbAdapter.php
+++ /dev/null
@@ -1,139 +0,0 @@
-_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- $appConfigFileResource = $profile->search('applicationConfigFile');
-
- if ($appConfigFileResource == false) {
- throw new Zend_Tool_Project_Exception('A project with an application config file is required to use this provider.');
- }
-
- $this->_appConfigFilePath = $appConfigFileResource->getPath();
-
- $this->_config = new Zend_Config_Ini($this->_appConfigFilePath, null, array('skipExtends' => true, 'allowModifications' => true));
-
- if ($sectionName != 'production') {
- $this->_sectionName = $sectionName;
- }
-
- if (!isset($this->_config->{$this->_sectionName})) {
- throw new Zend_Tool_Project_Exception('The config does not have a ' . $this->_sectionName . ' section.');
- }
-
- if (isset($this->_config->{$this->_sectionName}->resources->db)) {
- throw new Zend_Tool_Project_Exception('The config already has a db resource configured in section ' . $this->_sectionName . '.');
- }
-
- if ($dsn) {
- $this->_configureViaDSN($dsn);
- //} elseif ($interactivelyPrompt) {
- // $this->_promptForConfig();
- } else {
- $this->_registry->getResponse()->appendContent('Nothing to do!');
- }
-
-
- }
-
- protected function _configureViaDSN($dsn)
- {
- $dsnVars = array();
-
- if (strpos($dsn, '=') === false) {
- throw new Zend_Tool_Project_Provider_Exception('At least one name value pair is expected, typcially '
- . 'in the format of "adapter=Mysqli&username=uname&password=mypass&dbname=mydb"'
- );
- }
-
- parse_str($dsn, $dsnVars);
-
- // parse_str suffers when magic_quotes is enabled
- if (get_magic_quotes_gpc()) {
- array_walk_recursive($dsnVars, array($this, '_cleanMagicQuotesInValues'));
- }
-
- $dbConfigValues = array('resources' => array('db' => null));
-
- if (isset($dsnVars['adapter'])) {
- $dbConfigValues['resources']['db']['adapter'] = $dsnVars['adapter'];
- unset($dsnVars['adapter']);
- }
-
- $dbConfigValues['resources']['db']['params'] = $dsnVars;
-
- $isPretend = $this->_registry->getRequest()->isPretend();
-
- // get the config resource
- $applicationConfig = $this->_loadedProfile->search('ApplicationConfigFile');
- $applicationConfig->addItem($dbConfigValues, $this->_sectionName, null);
-
- $response = $this->_registry->getResponse();
-
- if ($isPretend) {
- $response->appendContent('A db configuration for the ' . $this->_sectionName
- . ' section would be written to the application config file with the following contents: '
- );
- $response->appendContent($applicationConfig->getContents());
- } else {
- $applicationConfig->create();
- $response->appendContent('A db configuration for the ' . $this->_sectionName
- . ' section has been written to the application config file.'
- );
- }
- }
-
- protected function _cleanMagicQuotesInValues(&$value, $key)
- {
- $value = stripslashes($value);
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/DbTable.php b/airtime_mvc/library/Zend/Tool/Project/Provider/DbTable.php
deleted file mode 100644
index e8ecdcf42..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/DbTable.php
+++ /dev/null
@@ -1,220 +0,0 @@
- array('moduleName' => $moduleName));
- }
-
- $profileSearchParams[] = 'modelsDirectory';
-
- $modelsDirectory = $profile->search($profileSearchParams);
-
- if (!($modelsDirectory instanceof Zend_Tool_Project_Profile_Resource)) {
- throw new Zend_Tool_Project_Provider_Exception(
- 'A models directory was not found' .
- (($moduleName) ? ' for module ' . $moduleName . '.' : '.')
- );
- }
-
- if (!($dbTableDirectory = $modelsDirectory->search('DbTableDirectory'))) {
- $dbTableDirectory = $modelsDirectory->createResource('DbTableDirectory');
- }
-
- $dbTableFile = $dbTableDirectory->createResource('DbTableFile', array('dbTableName' => $dbTableName, 'actualTableName' => $actualTableName));
-
- return $dbTableFile;
- }
-
- public static function hasResource(Zend_Tool_Project_Profile $profile, $dbTableName, $moduleName = null)
- {
- $profileSearchParams = array();
-
- if ($moduleName != null && is_string($moduleName)) {
- $profileSearchParams = array('modulesDirectory', 'moduleDirectory' => array('moduleName' => $moduleName));
- }
-
- $profileSearchParams[] = 'modelsDirectory';
-
- $modelsDirectory = $profile->search($profileSearchParams);
-
- if (!($modelsDirectory instanceof Zend_Tool_Project_Profile_Resource)
- || !($dbTableDirectory = $modelsDirectory->search('DbTableDirectory'))) {
- return false;
- }
-
- $dbTableFile = $dbTableDirectory->search(array('DbTableFile' => array('dbTableName' => $dbTableName)));
-
- return ($dbTableFile instanceof Zend_Tool_Project_Profile_Resource) ? true : false;
- }
-
-
- public function create($name, $actualTableName, $module = null, $forceOverwrite = false)
- {
- $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- // Check that there is not a dash or underscore, return if doesnt match regex
- if (preg_match('#[_-]#', $name)) {
- throw new Zend_Tool_Project_Provider_Exception('DbTable names should be camel cased.');
- }
-
- $originalName = $name;
- $name = ucfirst($name);
-
- if ($actualTableName == '') {
- throw new Zend_Tool_Project_Provider_Exception('You must provide both the DbTable name as well as the actual db table\'s name.');
- }
-
- if (self::hasResource($this->_loadedProfile, $name, $module)) {
- throw new Zend_Tool_Project_Provider_Exception('This project already has a DbTable named ' . $name);
- }
-
- // get request/response object
- $request = $this->_registry->getRequest();
- $response = $this->_registry->getResponse();
-
- // alert the user about inline converted names
- $tense = (($request->isPretend()) ? 'would be' : 'is');
-
- if ($name !== $originalName) {
- $response->appendContent(
- 'Note: The canonical model name that ' . $tense
- . ' used with other providers is "' . $name . '";'
- . ' not "' . $originalName . '" as supplied',
- array('color' => array('yellow'))
- );
- }
-
- try {
- $tableResource = self::createResource($this->_loadedProfile, $name, $actualTableName, $module);
- } catch (Exception $e) {
- $response = $this->_registry->getResponse();
- $response->setException($e);
- return;
- }
-
- // do the creation
- if ($request->isPretend()) {
- $response->appendContent('Would create a DbTable at ' . $tableResource->getContext()->getPath());
- } else {
- $response->appendContent('Creating a DbTable at ' . $tableResource->getContext()->getPath());
- $tableResource->create();
- $this->_storeProfile();
- }
- }
-
- public function createFromDatabase($module = null, $forceOverwrite = false)
- {
- $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- $bootstrapResource = $this->_loadedProfile->search('BootstrapFile');
-
- /* @var $zendApp Zend_Application */
- $zendApp = $bootstrapResource->getApplicationInstance();
-
- try {
- $zendApp->bootstrap('db');
- } catch (Zend_Application_Exception $e) {
- throw new Zend_Tool_Project_Provider_Exception('Db resource not available, you might need to configure a DbAdapter.');
- return;
- }
-
- /* @var $db Zend_Db_Adapter_Abstract */
- $db = $zendApp->getBootstrap()->getResource('db');
-
- $tableResources = array();
- foreach ($db->listTables() as $actualTableName) {
-
- $dbTableName = $this->_convertTableNameToClassName($actualTableName);
-
- if (!$forceOverwrite && self::hasResource($this->_loadedProfile, $dbTableName, $module)) {
- throw new Zend_Tool_Project_Provider_Exception(
- 'This DbTable resource already exists, if you wish to overwrite it, '
- . 'pass the "forceOverwrite" flag to this provider.'
- );
- }
-
- $tableResources[] = self::createResource(
- $this->_loadedProfile,
- $dbTableName,
- $actualTableName,
- $module
- );
- }
-
- if (count($tableResources) == 0) {
- $this->_registry->getResponse()->appendContent('There are no tables in the selected database to write.');
- }
-
- // do the creation
- if ($this->_registry->getRequest()->isPretend()) {
-
- foreach ($tableResources as $tableResource) {
- $this->_registry->getResponse()->appendContent('Would create a DbTable at ' . $tableResource->getContext()->getPath());
- }
-
- } else {
-
- foreach ($tableResources as $tableResource) {
- $this->_registry->getResponse()->appendContent('Creating a DbTable at ' . $tableResource->getContext()->getPath());
- $tableResource->create();
- }
-
- $this->_storeProfile();
- }
-
-
- }
-
- protected function _convertTableNameToClassName($tableName)
- {
- if ($this->_nameFilter == null) {
- $this->_nameFilter = new Zend_Filter();
- $this->_nameFilter
- ->addFilter(new Zend_Filter_Word_UnderscoreToCamelCase());
- }
-
- return $this->_nameFilter->filter($tableName);
- }
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Exception.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Exception.php
deleted file mode 100644
index c0578eff0..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-createResource(
- 'formFile',
- array('formName' => $formName, 'moduleName' => $moduleName)
- );
-
- return $newForm;
- }
-
- /**
- * hasResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $formName
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- public static function hasResource(Zend_Tool_Project_Profile $profile, $formName, $moduleName = null)
- {
- if (!is_string($formName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_Form::createResource() expects \"formName\" is the name of a form resource to check for existence.');
- }
-
- $formsDirectory = self::_getFormsDirectoryResource($profile, $moduleName);
- return (($formsDirectory->search(array('formFile' => array('formName' => $formName)))) instanceof Zend_Tool_Project_Profile_Resource);
- }
-
- /**
- * _getFormsDirectoryResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- protected static function _getFormsDirectoryResource(Zend_Tool_Project_Profile $profile, $moduleName = null)
- {
- $profileSearchParams = array();
-
- if ($moduleName != null && is_string($moduleName)) {
- $profileSearchParams = array('modulesDirectory', 'moduleDirectory' => array('moduleName' => $moduleName));
- }
-
- $profileSearchParams[] = 'formsDirectory';
-
- return $profile->search($profileSearchParams);
- }
-
- /**
- * Create a new form
- *
- * @param string $name
- * @param string $module
- */
- public function create($name, $module = null)
- {
- $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- // determine if testing is enabled in the project
- $testingEnabled = Zend_Tool_Project_Provider_Test::isTestingEnabled($this->_loadedProfile);
-
- if (self::hasResource($this->_loadedProfile, $name, $module)) {
- throw new Zend_Tool_Project_Provider_Exception('This project already has a form named ' . $name);
- }
-
- // Check that there is not a dash or underscore, return if doesnt match regex
- if (preg_match('#[_-]#', $name)) {
- throw new Zend_Tool_Project_Provider_Exception('Form names should be camel cased.');
- }
-
- $name = ucwords($name);
-
- try {
- $formResource = self::createResource($this->_loadedProfile, $name, $module);
-
- if ($testingEnabled) {
- $testFormResource = null;
- // $testFormResource = Zend_Tool_Project_Provider_Test::createApplicationResource($this->_loadedProfile, $name, 'index', $module);
- }
-
- } catch (Exception $e) {
- $response = $this->_registry->getResponse();
- $response->setException($e);
- return;
- }
-
- // do the creation
- if ($this->_registry->getRequest()->isPretend()) {
-
- $this->_registry->getResponse()->appendContent('Would create a form at ' . $formResource->getContext()->getPath());
-
- if ($testFormResource) {
- $this->_registry->getResponse()->appendContent('Would create a form test file at ' . $testFormResource->getContext()->getPath());
- }
-
- } else {
-
- $this->_registry->getResponse()->appendContent('Creating a form at ' . $formResource->getContext()->getPath());
- $formResource->create();
-
- if ($testFormResource) {
- $this->_registry->getResponse()->appendContent('Creating a form test file at ' . $testFormResource->getContext()->getPath());
- $testFormResource->create();
- }
-
- $this->_storeProfile();
- }
-
- }
-
-
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Layout.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Layout.php
deleted file mode 100644
index 590f97542..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Layout.php
+++ /dev/null
@@ -1,109 +0,0 @@
-search('applicationDirectory');
- $layoutDirectory = $applicationDirectory->search('layoutsDirectory');
-
- if ($layoutDirectory == false) {
- $layoutDirectory = $applicationDirectory->createResource('layoutsDirectory');
- }
-
- $layoutScriptsDirectory = $layoutDirectory->search('layoutScriptsDirectory');
-
- if ($layoutScriptsDirectory == false) {
- $layoutScriptsDirectory = $layoutDirectory->createResource('layoutScriptsDirectory');
- }
-
- $layoutScriptFile = $layoutScriptsDirectory->search('layoutScriptFile', array('layoutName' => 'layout'));
-
- if ($layoutScriptFile == false) {
- $layoutScriptFile = $layoutScriptsDirectory->createResource('layoutScriptFile', array('layoutName' => 'layout'));
- }
-
- return $layoutScriptFile;
- }
-
- public function enable()
- {
- $profile = $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- $applicationConfigResource = $profile->search('ApplicationConfigFile');
-
- if (!$applicationConfigResource) {
- throw new Zend_Tool_Project_Exception('A project with an application config file is required to use this provider.');
- }
-
- $zc = $applicationConfigResource->getAsZendConfig();
-
- if (isset($zc->resources) && isset($zf->resources->layout)) {
- $this->_registry->getResponse()->appendContent('A layout resource already exists in this project\'s application configuration file.');
- return;
- }
-
- $layoutPath = 'APPLICATION_PATH "/layouts/scripts/"';
-
- if ($this->_registry->getRequest()->isPretend()) {
- $this->_registry->getResponse()->appendContent('Would add "resources.layout.layoutPath" key to the application config file.');
- } else {
- $applicationConfigResource->addStringItem('resources.layout.layoutPath', $layoutPath, 'production', false);
- $applicationConfigResource->create();
-
- $layoutScriptFile = self::createResource($profile);
-
- $layoutScriptFile->create();
-
- $this->_registry->getResponse()->appendContent(
- 'Layouts have been enabled, and a default layout created at '
- . $layoutScriptFile->getPath()
- );
-
- $this->_registry->getResponse()->appendContent('A layout entry has been added to the application config file.');
- }
-
-
-
- }
-
- public function disable()
- {
- // @todo
- }
-
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Manifest.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Manifest.php
deleted file mode 100644
index 2cde9e3cb..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Manifest.php
+++ /dev/null
@@ -1,70 +0,0 @@
-createResource(
- 'modelFile',
- array('modelName' => $modelName, 'moduleName' => $moduleName)
- );
-
- return $newModel;
- }
-
- /**
- * hasResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $modelName
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- public static function hasResource(Zend_Tool_Project_Profile $profile, $modelName, $moduleName = null)
- {
- if (!is_string($modelName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_Model::createResource() expects \"modelName\" is the name of a model resource to check for existence.');
- }
-
- $modelsDirectory = self::_getModelsDirectoryResource($profile, $moduleName);
- return (($modelsDirectory->search(array('modelFile' => array('modelName' => $modelName)))) instanceof Zend_Tool_Project_Profile_Resource);
- }
-
- /**
- * _getModelsDirectoryResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- protected static function _getModelsDirectoryResource(Zend_Tool_Project_Profile $profile, $moduleName = null)
- {
- $profileSearchParams = array();
-
- if ($moduleName != null && is_string($moduleName)) {
- $profileSearchParams = array('modulesDirectory', 'moduleDirectory' => array('moduleName' => $moduleName));
- }
-
- $profileSearchParams[] = 'modelsDirectory';
-
- return $profile->search($profileSearchParams);
- }
-
- /**
- * Create a new model
- *
- * @param string $name
- * @param string $module
- */
- public function create($name, $module = null)
- {
- $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- $originalName = $name;
-
- $name = ucwords($name);
-
- // determine if testing is enabled in the project
- $testingEnabled = false; //Zend_Tool_Project_Provider_Test::isTestingEnabled($this->_loadedProfile);
- $testModelResource = null;
-
- // Check that there is not a dash or underscore, return if doesnt match regex
- if (preg_match('#[_-]#', $name)) {
- throw new Zend_Tool_Project_Provider_Exception('Model names should be camel cased.');
- }
-
- if (self::hasResource($this->_loadedProfile, $name, $module)) {
- throw new Zend_Tool_Project_Provider_Exception('This project already has a model named ' . $name);
- }
-
- // get request/response object
- $request = $this->_registry->getRequest();
- $response = $this->_registry->getResponse();
-
- // alert the user about inline converted names
- $tense = (($request->isPretend()) ? 'would be' : 'is');
-
- if ($name !== $originalName) {
- $response->appendContent(
- 'Note: The canonical model name that ' . $tense
- . ' used with other providers is "' . $name . '";'
- . ' not "' . $originalName . '" as supplied',
- array('color' => array('yellow'))
- );
- }
-
- try {
- $modelResource = self::createResource($this->_loadedProfile, $name, $module);
-
- if ($testingEnabled) {
- // $testModelResource = Zend_Tool_Project_Provider_Test::createApplicationResource($this->_loadedProfile, $name, 'index', $module);
- }
-
- } catch (Exception $e) {
- $response->setException($e);
- return;
- }
-
- // do the creation
- if ($request->isPretend()) {
-
- $response->appendContent('Would create a model at ' . $modelResource->getContext()->getPath());
-
- if ($testModelResource) {
- $response->appendContent('Would create a model test file at ' . $testModelResource->getContext()->getPath());
- }
-
- } else {
-
- $response->appendContent('Creating a model at ' . $modelResource->getContext()->getPath());
- $modelResource->create();
-
- if ($testModelResource) {
- $response->appendContent('Creating a model test file at ' . $testModelResource->getContext()->getPath());
- $testModelResource->create();
- }
-
- $this->_storeProfile();
- }
-
- }
-
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Module.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Module.php
deleted file mode 100644
index e60e62ae1..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Module.php
+++ /dev/null
@@ -1,172 +0,0 @@
-search('applicationDirectory');
- $targetModuleEnabledResources = array(
- 'ControllersDirectory', 'ModelsDirectory', 'ViewsDirectory',
- 'ViewScriptsDirectory', 'ViewHelpersDirectory', 'ViewFiltersDirectory'
- );
- }
-
- // find the actual modules directory we will use to house our module
- $modulesDirectory = $profile->search('modulesDirectory');
-
- // if there is a module directory already, except
- if ($modulesDirectory->search(array('moduleDirectory' => array('moduleName' => $moduleName)))) {
- throw new Zend_Tool_Project_Provider_Exception('A module named "' . $moduleName . '" already exists.');
- }
-
- // create the module directory
- $moduleDirectory = $modulesDirectory->createResource('moduleDirectory', array('moduleName' => $moduleName));
-
- // create a context filter so that we can pull out only what we need from the module skeleton
- $moduleContextFilterIterator = new Zend_Tool_Project_Profile_Iterator_ContextFilter(
- $targetModuleResource,
- array(
- 'denyNames' => array('ModulesDirectory', 'ViewControllerScriptsDirectory'),
- 'denyType' => 'Zend_Tool_Project_Context_Filesystem_File'
- )
- );
-
- // the iterator for the module skeleton
- $targetIterator = new RecursiveIteratorIterator($moduleContextFilterIterator, RecursiveIteratorIterator::SELF_FIRST);
-
- // initialize some loop state information
- $currentDepth = 0;
- $parentResources = array();
- $currentResource = $moduleDirectory;
-
- // loop through the target module skeleton
- foreach ($targetIterator as $targetSubResource) {
-
- $depthDifference = $targetIterator->getDepth() - $currentDepth;
- $currentDepth = $targetIterator->getDepth();
-
- if ($depthDifference === 1) {
- // if we went down into a child, make note
- array_push($parentResources, $currentResource);
- // this will have always been set previously by another loop
- $currentResource = $currentChildResource;
- } elseif ($depthDifference < 0) {
- // if we went up to a parent, make note
- $i = $depthDifference;
- do {
- // if we went out more than 1 parent, get to the correct parent
- $currentResource = array_pop($parentResources);
- } while ($i-- > 0);
- }
-
- // get parameters for the newly created module resource
- $params = $targetSubResource->getAttributes();
- $currentChildResource = $currentResource->createResource($targetSubResource->getName(), $params);
-
- // based of the provided list (Currently up top), enable specific resources
- if (isset($targetModuleEnabledResources)) {
- $currentChildResource->setEnabled(in_array($targetSubResource->getName(), $targetModuleEnabledResources));
- } else {
- $currentChildResource->setEnabled($targetSubResource->isEnabled());
- }
-
- }
-
- return $moduleDirectory;
- }
-
- /**
- * create()
- *
- * @param string $name
- */
- public function create($name) //, $moduleProfile = null)
- {
- $this->_loadProfile(self::NO_PROFILE_THROW_EXCEPTION);
-
- $resources = self::createResources($this->_loadedProfile, $name);
-
- $response = $this->_registry->getResponse();
-
- if ($this->_registry->getRequest()->isPretend()) {
- $response->appendContent('I would create the following module and artifacts:');
- foreach (new RecursiveIteratorIterator($resources, RecursiveIteratorIterator::SELF_FIRST) as $resource) {
- if (is_callable(array($resource->getContext(), 'getPath'))) {
- $response->appendContent($resource->getContext()->getPath());
- }
- }
- } else {
- $response->appendContent('Creating the following module and artifacts:');
- $enabledFilter = new Zend_Tool_Project_Profile_Iterator_EnabledResourceFilter($resources);
- foreach (new RecursiveIteratorIterator($enabledFilter, RecursiveIteratorIterator::SELF_FIRST) as $resource) {
- $response->appendContent($resource->getContext()->getPath());
- $resource->create();
- }
-
- if (strtolower($name) == 'default') {
- $response->appendContent('Added a key for the default module to the application.ini file');
- $appConfigFile = $this->_loadedProfile->search('ApplicationConfigFile');
- $appConfigFile->addStringItem('resources.frontController.params.prefixDefaultModule', '1', 'production');
- $appConfigFile->create();
- }
-
- // store changes to the profile
- $this->_storeProfile();
- }
-
- }
-
-}
-
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Profile.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Profile.php
deleted file mode 100644
index f62735812..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Profile.php
+++ /dev/null
@@ -1,54 +0,0 @@
-_loadProfile();
-
- $profileIterator = $this->_loadedProfile->getIterator();
-
- foreach ($profileIterator as $profileItem) {
- $this->_registry->getResponse()->appendContent(
- str_repeat(' ', $profileIterator->getDepth()) . $profileItem
- );
- }
-
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Project.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Project.php
deleted file mode 100644
index cfae9a9b5..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Project.php
+++ /dev/null
@@ -1,239 +0,0 @@
-_loadProfile(self::NO_PROFILE_RETURN_FALSE, $path);
-
- if ($profile !== false) {
- require_once 'Zend/Tool/Framework/Client/Exception.php';
- throw new Zend_Tool_Framework_Client_Exception('A project already exists here');
- }
-
- $profileData = null;
-
- if ($fileOfProfile != null && file_exists($fileOfProfile)) {
- $profileData = file_get_contents($fileOfProfile);
- }
-
- $storage = $this->_registry->getStorage();
- if ($profileData == '' && $nameOfProfile != null && $storage->isEnabled()) {
- $profileData = $storage->get('project/profiles/' . $nameOfProfile . '.xml');
- }
-
- if ($profileData == '') {
- $profileData = $this->_getDefaultProfile();
- }
-
- $newProfile = new Zend_Tool_Project_Profile(array(
- 'projectDirectory' => $path,
- 'profileData' => $profileData
- ));
-
- $newProfile->loadFromData();
-
- $response = $this->_registry->getResponse();
-
- $response->appendContent('Creating project at ' . $path);
- $response->appendContent('Note: ', array('separator' => false, 'color' => 'yellow'));
- $response->appendContent(
- 'This command created a web project, '
- . 'for more information setting up your VHOST, please see docs/README');
-
- foreach ($newProfile->getIterator() as $resource) {
- $resource->create();
- }
- }
-
- public function show()
- {
- $this->_registry->getResponse()->appendContent('You probably meant to run "show project.info".', array('color' => 'yellow'));
- }
-
- public function showInfo()
- {
- $profile = $this->_loadProfile(self::NO_PROFILE_RETURN_FALSE);
- if (!$profile) {
- $this->_registry->getResponse()->appendContent('No project found.');
- } else {
- $this->_registry->getResponse()->appendContent('Working with project located at: ' . $profile->getAttribute('projectDirectory'));
- }
- }
-
- protected function _getDefaultProfile()
- {
- $data = <<
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-EOS;
- return $data;
- }
-
- public static function getDefaultReadmeContents($caller = null)
- {
- $projectDirResource = $caller->getResource()->getProfile()->search('projectDirectory');
- if ($projectDirResource) {
- $name = ltrim(strrchr($projectDirResource->getPath(), DIRECTORY_SEPARATOR), DIRECTORY_SEPARATOR);
- $path = $projectDirResource->getPath() . '/public';
- } else {
- $path = '/path/to/public';
- }
-
- return <<< EOS
-README
-======
-
-This directory should be used to place project specfic documentation including
-but not limited to project notes, generated API/phpdoc documentation, or
-manual files generated or hand written. Ideally, this directory would remain
-in your development environment only and should not be deployed with your
-application to it's final production location.
-
-
-Setting Up Your VHOST
-=====================
-
-The following is a sample VHOST you might want to consider for your project.
-
-
- DocumentRoot "$path"
- ServerName $name.local
-
- # This should be omitted in the production environment
- SetEnv APPLICATION_ENV development
-
-
- Options Indexes MultiViews FollowSymLinks
- AllowOverride All
- Order allow,deny
- Allow from all
-
-
-
-
-EOS;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/ProjectProvider.php b/airtime_mvc/library/Zend/Tool/Project/Provider/ProjectProvider.php
deleted file mode 100644
index c21ce7826..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/ProjectProvider.php
+++ /dev/null
@@ -1,97 +0,0 @@
-createResourceAt($profileSearchParams, 'projectProviderFile', array('projectProviderName' => $projectProviderName, 'actionNames' => $actionNames));
-
- return $projectProvider;
- }
-
- /**
- * getName()
- *
- * @return string
- */
- public function getName()
- {
- return 'ProjectProvider';
- }
-
- /**
- * Create stub for Zend_Tool Project Provider
- *
- * @var string $name class name for new Zend_Tool Project Provider
- * @var array|string $actions list of provider methods
- * @throws Zend_Tool_Project_Provider_Exception
- */
- public function create($name, $actions = null)
- {
- $profile = $this->_loadProfileRequired();
-
- $projectProvider = self::createResource($profile, $name, $actions);
-
- if ($this->_registry->getRequest()->isPretend()) {
- $this->_registry->getResponse()->appendContent('Would create a project provider named ' . $name
- . ' in location ' . $projectProvider->getPath()
- );
- } else {
- $this->_registry->getResponse()->appendContent('Creating a project provider named ' . $name
- . ' in location ' . $projectProvider->getPath()
- );
- $projectProvider->create();
- $this->_storeProfile();
- }
-
- }
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/Test.php b/airtime_mvc/library/Zend/Tool/Project/Provider/Test.php
deleted file mode 100644
index 0a77ecb45..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/Test.php
+++ /dev/null
@@ -1,174 +0,0 @@
-search($profileSearchParams);
-
- return $testsDirectory->isEnabled();
- }
-
- /**
- * createApplicationResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $controllerName
- * @param string $actionName
- * @param string $moduleName
- * @return Zend_Tool_Project_Profile_Resource
- */
- public static function createApplicationResource(Zend_Tool_Project_Profile $profile, $controllerName, $actionName, $moduleName = null)
- {
- if (!is_string($controllerName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_View::createApplicationResource() expects \"controllerName\" is the name of a controller resource to create.');
- }
-
- if (!is_string($actionName)) {
- throw new Zend_Tool_Project_Provider_Exception('Zend_Tool_Project_Provider_View::createApplicationResource() expects \"actionName\" is the name of a controller resource to create.');
- }
-
- $testsDirectoryResource = $profile->search('testsDirectory');
-
- if (($testAppDirectoryResource = $testsDirectoryResource->search('testApplicationDirectory')) === false) {
- $testAppDirectoryResource = $testsDirectoryResource->createResource('testApplicationDirectory');
- }
-
- if ($moduleName) {
- //@todo $moduleName
- $moduleName = '';
- }
-
- if (($testAppControllerDirectoryResource = $testAppDirectoryResource->search('testApplicationControllerDirectory')) === false) {
- $testAppControllerDirectoryResource = $testAppDirectoryResource->createResource('testApplicationControllerDirectory');
- }
-
- $testAppControllerFileResource = $testAppControllerDirectoryResource->createResource('testApplicationControllerFile', array('forControllerName' => $controllerName));
-
- return $testAppControllerFileResource;
- }
-
- /**
- * createLibraryResource()
- *
- * @param Zend_Tool_Project_Profile $profile
- * @param string $libraryClassName
- * @return Zend_Tool_Project_Profile_Resource
- */
- public static function createLibraryResource(Zend_Tool_Project_Profile $profile, $libraryClassName)
- {
- $testLibraryDirectoryResource = $profile->search(array('TestsDirectory', 'TestLibraryDirectory'));
-
-
- $fsParts = explode('_', $libraryClassName);
-
- $currentDirectoryResource = $testLibraryDirectoryResource;
-
- while ($nameOrNamespacePart = array_shift($fsParts)) {
-
- if (count($fsParts) > 0) {
-
- if (($libraryDirectoryResource = $currentDirectoryResource->search(array('TestLibraryNamespaceDirectory' => array('namespaceName' => $nameOrNamespacePart)))) === false) {
- $currentDirectoryResource = $currentDirectoryResource->createResource('TestLibraryNamespaceDirectory', array('namespaceName' => $nameOrNamespacePart));
- } else {
- $currentDirectoryResource = $libraryDirectoryResource;
- }
-
-
- } else {
-
- if (($libraryFileResource = $currentDirectoryResource->search(array('TestLibraryFile' => array('forClassName' => $libraryClassName)))) === false) {
- $libraryFileResource = $currentDirectoryResource->createResource('TestLibraryFile', array('forClassName' => $libraryClassName));
- }
-
- }
-
- }
-
- return $libraryFileResource;
- }
-
- public function enable()
- {
-
- }
-
- public function disable()
- {
-
- }
-
- /**
- * create()
- *
- * @param unknown_type $libraryClassName
- */
- public function create($libraryClassName)
- {
- $profile = $this->_loadProfile();
-
- if (!self::isTestingEnabled($profile)) {
- $this->_registry->getResponse()->appendContent('Testing is not enabled for this project.');
- }
-
- $testLibraryResource = self::createLibraryResource($profile, $libraryClassName);
-
- $response = $this->_registry->getResponse();
-
- if ($this->_registry->getRequest()->isPretend()) {
- $response->appendContent('Would create a library stub in location ' . $testLibraryResource->getContext()->getPath());
- } else {
- $response->appendContent('Creating a library stub in location ' . $testLibraryResource->getContext()->getPath());
- $testLibraryResource->create();
- $this->_storeProfile();
- }
-
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Tool/Project/Provider/View.php b/airtime_mvc/library/Zend/Tool/Project/Provider/View.php
deleted file mode 100644
index 3e955926c..000000000
--- a/airtime_mvc/library/Zend/Tool/Project/Provider/View.php
+++ /dev/null
@@ -1,118 +0,0 @@
- array('moduleName' => $moduleName));
- $noModuleSearch = null;
- } else {
- $noModuleSearch = array('modulesDirectory');
- }
-
- $profileSearchParams[] = 'viewsDirectory';
- $profileSearchParams[] = 'viewScriptsDirectory';
-
- if (($viewScriptsDirectory = $profile->search($profileSearchParams, $noModuleSearch)) === false) {
- require_once 'Zend/Tool/Project/Provider/Exception.php';
- throw new Zend_Tool_Project_Provider_Exception('This project does not have a viewScriptsDirectory resource.');
- }
-
- $profileSearchParams['viewControllerScriptsDirectory'] = array('forControllerName' => $controllerName);
-
- // @todo check if below is failing b/c of above search params
- if (($viewControllerScriptsDirectory = $viewScriptsDirectory->search($profileSearchParams)) === false) {
- $viewControllerScriptsDirectory = $viewScriptsDirectory->createResource('viewControllerScriptsDirectory', array('forControllerName' => $controllerName));
- }
-
- $newViewScriptFile = $viewControllerScriptsDirectory->createResource('ViewScriptFile', array('forActionName' => $actionName));
-
- return $newViewScriptFile;
- }
-
- /**
- * create()
- *
- * @param string $controllerName
- * @param string $actionNameOrSimpleName
- */
- public function create($controllerName, $actionNameOrSimpleName)
- {
-
- if ($controllerName == '' || $actionNameOrSimpleName == '') {
- require_once 'Zend/Tool/Project/Provider/Exception.php';
- throw new Zend_Tool_Project_Provider_Exception('ControllerName and/or ActionName are empty.');
- }
-
- $profile = $this->_loadProfile();
-
- $view = self::createResource($profile, $actionNameOrSimpleName, $controllerName);
-
- if ($this->_registry->getRequest()->isPretend()) {
- $this->_registry->getResponse(
- 'Would create a view script in location ' . $view->getContext()->getPath()
- );
- } else {
- $this->_registry->getResponse(
- 'Creating a view script in location ' . $view->getContext()->getPath()
- );
- $view->create();
- $this->_storeProfile();
- }
-
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate.php b/airtime_mvc/library/Zend/Translate.php
deleted file mode 100644
index a9866ce31..000000000
--- a/airtime_mvc/library/Zend/Translate.php
+++ /dev/null
@@ -1,219 +0,0 @@
-toArray();
- } else if (func_num_args() > 1) {
- $args = func_get_args();
- $options = array();
- $options['adapter'] = array_shift($args);
- if (!empty($args)) {
- $options['content'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $options['locale'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $opt = array_shift($args);
- $options = array_merge($opt, $options);
- }
- } else if (!is_array($options)) {
- $options = array('adapter' => $options);
- }
-
- $this->setAdapter($options);
- }
-
- /**
- * Sets a new adapter
- *
- * @param array|Zend_Config $options Options to use
- * @throws Zend_Translate_Exception
- */
- public function setAdapter($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (func_num_args() > 1) {
- $args = func_get_args();
- $options = array();
- $options['adapter'] = array_shift($args);
- if (!empty($args)) {
- $options['content'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $options['locale'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $opt = array_shift($args);
- $options = array_merge($opt, $options);
- }
- } else if (!is_array($options)) {
- $options = array('adapter' => $options);
- }
-
- if (Zend_Loader::isReadable('Zend/Translate/Adapter/' . ucfirst($options['adapter']). '.php')) {
- $options['adapter'] = 'Zend_Translate_Adapter_' . ucfirst($options['adapter']);
- }
-
- if (!class_exists($options['adapter'])) {
- Zend_Loader::loadClass($options['adapter']);
- }
-
- if (self::$_cache !== null) {
- call_user_func(array($options['adapter'], 'setCache'), self::$_cache);
- }
-
- $adapter = $options['adapter'];
- unset($options['adapter']);
- $this->_adapter = new $adapter($options);
- if (!$this->_adapter instanceof Zend_Translate_Adapter) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("Adapter " . $adapter . " does not extend Zend_Translate_Adapter");
- }
- }
-
- /**
- * Returns the adapters name and it's options
- *
- * @return Zend_Translate_Adapter
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * Returns the set cache
- *
- * @return Zend_Cache_Core The set cache
- */
- public static function getCache()
- {
- return self::$_cache;
- }
-
- /**
- * Sets a cache for all instances of Zend_Translate
- *
- * @param Zend_Cache_Core $cache Cache to store to
- * @return void
- */
- public static function setCache(Zend_Cache_Core $cache)
- {
- self::$_cache = $cache;
- }
-
- /**
- * Returns true when a cache is set
- *
- * @return boolean
- */
- public static function hasCache()
- {
- if (self::$_cache !== null) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Removes any set cache
- *
- * @return void
- */
- public static function removeCache()
- {
- self::$_cache = null;
- }
-
- /**
- * Clears all set cache data
- *
- * @return void
- */
- public static function clearCache()
- {
- self::$_cache->clean();
- }
-
- /**
- * Calls all methods from the adapter
- */
- public function __call($method, array $options)
- {
- if (method_exists($this->_adapter, $method)) {
- return call_user_func_array(array($this->_adapter, $method), $options);
- }
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("Unknown method '" . $method . "' called!");
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter.php b/airtime_mvc/library/Zend/Translate/Adapter.php
deleted file mode 100644
index 177237ee0..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter.php
+++ /dev/null
@@ -1,868 +0,0 @@
- when true, clears already loaded translations when adding new files
- * 'content' => content to translate or file or directory with content
- * 'disableNotices' => when true, omits notices from being displayed
- * 'ignore' => a prefix for files and directories which are not being added
- * 'locale' => the actual set locale to use
- * 'log' => a instance of Zend_Log where logs are written to
- * 'logMessage' => message to be logged
- * 'logUntranslated' => when true, untranslated messages are not logged
- * 'reload' => reloads the cache by reading the content again
- * 'scan' => searches for translation files using the LOCALE constants
- *
- * @var array
- */
- protected $_options = array(
- 'clear' => false,
- 'content' => null,
- 'disableNotices' => false,
- 'ignore' => '.',
- 'locale' => 'auto',
- 'log' => null,
- 'logMessage' => "Untranslated message within '%locale%': %message%",
- 'logUntranslated' => false,
- 'reload' => false,
- 'scan' => null
- );
-
- /**
- * Translation table
- * @var array
- */
- protected $_translate = array();
-
- /**
- * Generates the adapter
- *
- * @param array|Zend_Config $options Translation options for this adapter
- * @throws Zend_Translate_Exception
- * @return void
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (func_num_args() > 1) {
- $args = func_get_args();
- $options = array();
- $options['content'] = array_shift($args);
-
- if (!empty($args)) {
- $options['locale'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $opt = array_shift($args);
- $options = array_merge($opt, $options);
- }
- } else if (!is_array($options)) {
- $options = array('content' => $options);
- }
-
- if (isset(self::$_cache)) {
- $id = 'Zend_Translate_' . $this->toString() . '_Options';
- $result = self::$_cache->load($id);
- if ($result) {
- $this->_options = $result;
- }
- }
-
- if (empty($options['locale']) || ($options['locale'] === "auto")) {
- $this->_automatic = true;
- } else {
- $this->_automatic = false;
- }
-
- $locale = null;
- if (!empty($options['locale'])) {
- $locale = $options['locale'];
- unset($options['locale']);
- }
-
- $this->setOptions($options);
- $options['locale'] = $locale;
-
- if (!empty($options['content'])) {
- $this->addTranslation($options);
- }
-
- if ($this->getLocale() !== (string) $options['locale']) {
- $this->setLocale($options['locale']);
- }
- }
-
- /**
- * Add translations
- *
- * This may be a new language or additional content for an existing language
- * If the key 'clear' is true, then translations for the specified
- * language will be replaced and added otherwise
- *
- * @param array|Zend_Config $options Options and translations to be added
- * @throws Zend_Translate_Exception
- * @return Zend_Translate_Adapter Provides fluent interface
- */
- public function addTranslation($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (func_num_args() > 1) {
- $args = func_get_args();
- $options = array();
- $options['content'] = array_shift($args);
-
- if (!empty($args)) {
- $options['locale'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $opt = array_shift($args);
- $options = array_merge($opt, $options);
- }
- } else if (!is_array($options)) {
- $options = array('content' => $options);
- }
-
- $originate = null;
- if (!empty($options['locale'])) {
- $originate = (string) $options['locale'];
- }
-
- if ((array_key_exists('log', $options)) && !($options['log'] instanceof Zend_Log)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Instance of Zend_Log expected for option log');
- }
-
- try {
- if (!($options['content'] instanceof Zend_Translate) && !($options['content'] instanceof Zend_Translate_Adapter)) {
- $options['locale'] = Zend_Locale::findLocale($options['locale']);
- }
- } catch (Zend_Locale_Exception $e) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("The given Language '{$options['locale']}' does not exist", 0, $e);
- }
-
- $options = $options + $this->_options;
- if (is_string($options['content']) and is_dir($options['content'])) {
- $options['content'] = realpath($options['content']);
- $prev = '';
- foreach (new RecursiveIteratorIterator(
- new RecursiveDirectoryIterator($options['content'], RecursiveDirectoryIterator::KEY_AS_PATHNAME),
- RecursiveIteratorIterator::SELF_FIRST) as $directory => $info) {
- $file = $info->getFilename();
- if (is_array($options['ignore'])) {
- foreach ($options['ignore'] as $key => $ignore) {
- if (strpos($key, 'regex') !== false) {
- if (preg_match($ignore, $directory)) {
- // ignore files matching the given regex from option 'ignore' and all files below
- continue 2;
- }
- } else if (strpos($directory, DIRECTORY_SEPARATOR . $ignore) !== false) {
- // ignore files matching first characters from option 'ignore' and all files below
- continue 2;
- }
- }
- } else {
- if (strpos($directory, DIRECTORY_SEPARATOR . $options['ignore']) !== false) {
- // ignore files matching first characters from option 'ignore' and all files below
- continue;
- }
- }
-
- if ($info->isDir()) {
- // pathname as locale
- if (($options['scan'] === self::LOCALE_DIRECTORY) and (Zend_Locale::isLocale($file, true, false))) {
- $options['locale'] = $file;
- $prev = (string) $options['locale'];
- }
- } else if ($info->isFile()) {
- // filename as locale
- if ($options['scan'] === self::LOCALE_FILENAME) {
- $filename = explode('.', $file);
- array_pop($filename);
- $filename = implode('.', $filename);
- if (Zend_Locale::isLocale((string) $filename, true, false)) {
- $options['locale'] = (string) $filename;
- } else {
- $parts = explode('.', $file);
- $parts2 = array();
- foreach($parts as $token) {
- $parts2 += explode('_', $token);
- }
- $parts = array_merge($parts, $parts2);
- $parts2 = array();
- foreach($parts as $token) {
- $parts2 += explode('-', $token);
- }
- $parts = array_merge($parts, $parts2);
- $parts = array_unique($parts);
- $prev = '';
- foreach($parts as $token) {
- if (Zend_Locale::isLocale($token, true, false)) {
- if (strlen($prev) <= strlen($token)) {
- $options['locale'] = $token;
- $prev = $token;
- }
- }
- }
- }
- }
-
- try {
- $options['content'] = $info->getPathname();
- $this->_addTranslationData($options);
- } catch (Zend_Translate_Exception $e) {
- // ignore failed sources while scanning
- }
- }
- }
- } else {
- $this->_addTranslationData($options);
- }
-
- if ((isset($this->_translate[$originate]) === true) and (count($this->_translate[$originate]) > 0)) {
- $this->setLocale($originate);
- }
-
- return $this;
- }
-
- /**
- * Sets new adapter options
- *
- * @param array $options Adapter options
- * @throws Zend_Translate_Exception
- * @return Zend_Translate_Adapter Provides fluent interface
- */
- public function setOptions(array $options = array())
- {
- $change = false;
- $locale = null;
- foreach ($options as $key => $option) {
- if ($key == 'locale') {
- $locale = $option;
- } else if ((isset($this->_options[$key]) and ($this->_options[$key] != $option)) or
- !isset($this->_options[$key])) {
- if (($key == 'log') && !($option instanceof Zend_Log)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Instance of Zend_Log expected for option log');
- }
-
- $this->_options[$key] = $option;
- $change = true;
- }
- }
-
- if ($locale !== null) {
- $this->setLocale($locale);
- }
-
- if (isset(self::$_cache) and ($change == true)) {
- $id = 'Zend_Translate_' . $this->toString() . '_Options';
- self::$_cache->save($this->_options, $id, array('Zend_Translate'));
- }
-
- return $this;
- }
-
- /**
- * Returns the adapters name and it's options
- *
- * @param string|null $optionKey String returns this option
- * null returns all options
- * @return integer|string|array|null
- */
- public function getOptions($optionKey = null)
- {
- if ($optionKey === null) {
- return $this->_options;
- }
-
- if (isset($this->_options[$optionKey]) === true) {
- return $this->_options[$optionKey];
- }
-
- return null;
- }
-
- /**
- * Gets locale
- *
- * @return Zend_Locale|string|null
- */
- public function getLocale()
- {
- return $this->_options['locale'];
- }
-
- /**
- * Sets locale
- *
- * @param string|Zend_Locale $locale Locale to set
- * @throws Zend_Translate_Exception
- * @return Zend_Translate_Adapter Provides fluent interface
- */
- public function setLocale($locale)
- {
- if (($locale === "auto") or ($locale === null)) {
- $this->_automatic = true;
- } else {
- $this->_automatic = false;
- }
-
- try {
- $locale = Zend_Locale::findLocale($locale);
- } catch (Zend_Locale_Exception $e) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("The given Language ({$locale}) does not exist", 0, $e);
- }
-
- if (!isset($this->_translate[$locale])) {
- $temp = explode('_', $locale);
- if (!isset($this->_translate[$temp[0]]) and !isset($this->_translate[$locale])) {
- if (!$this->_options['disableNotices']) {
- if ($this->_options['log']) {
- $this->_options['log']->notice("The language '{$locale}' has to be added before it can be used.");
- } else {
- trigger_error("The language '{$locale}' has to be added before it can be used.", E_USER_NOTICE);
- }
- }
- }
-
- $locale = $temp[0];
- }
-
- if (empty($this->_translate[$locale])) {
- if (!$this->_options['disableNotices']) {
- if ($this->_options['log']) {
- $this->_options['log']->notice("No translation for the language '{$locale}' available.");
- } else {
- trigger_error("No translation for the language '{$locale}' available.", E_USER_NOTICE);
- }
- }
- }
-
- if ($this->_options['locale'] != $locale) {
- $this->_options['locale'] = $locale;
-
- if (isset(self::$_cache)) {
- $id = 'Zend_Translate_' . $this->toString() . '_Options';
- self::$_cache->save($this->_options, $id, array('Zend_Translate'));
- }
- }
-
- return $this;
- }
-
- /**
- * Returns the available languages from this adapter
- *
- * @return array
- */
- public function getList()
- {
- $list = array_keys($this->_translate);
- $result = null;
- foreach($list as $value) {
- if (!empty($this->_translate[$value])) {
- $result[$value] = $value;
- }
- }
- return $result;
- }
-
- /**
- * Returns all available message ids from this adapter
- * If no locale is given, the actual language will be used
- *
- * @param string|Zend_Locale $locale (optional) Language to return the message ids from
- * @return array
- */
- public function getMessageIds($locale = null)
- {
- if (empty($locale) or !$this->isAvailable($locale)) {
- $locale = $this->_options['locale'];
- }
-
- return array_keys($this->_translate[(string) $locale]);
- }
-
- /**
- * Returns all available translations from this adapter
- * If no locale is given, the actual language will be used
- * If 'all' is given the complete translation dictionary will be returned
- *
- * @param string|Zend_Locale $locale (optional) Language to return the messages from
- * @return array
- */
- public function getMessages($locale = null)
- {
- if ($locale === 'all') {
- return $this->_translate;
- }
-
- if ((empty($locale) === true) or ($this->isAvailable($locale) === false)) {
- $locale = $this->_options['locale'];
- }
-
- return $this->_translate[(string) $locale];
- }
-
- /**
- * Is the wished language available ?
- *
- * @see Zend_Locale
- * @param string|Zend_Locale $locale Language to search for, identical with locale identifier,
- * @see Zend_Locale for more information
- * @return boolean
- */
- public function isAvailable($locale)
- {
- $return = isset($this->_translate[(string) $locale]);
- return $return;
- }
-
- /**
- * Load translation data
- *
- * @param mixed $data
- * @param string|Zend_Locale $locale
- * @param array $options (optional)
- * @return array
- */
- abstract protected function _loadTranslationData($data, $locale, array $options = array());
-
- /**
- * Internal function for adding translation data
- *
- * This may be a new language or additional data for an existing language
- * If the options 'clear' is true, then the translation data for the specified
- * language is replaced and added otherwise
- *
- * @see Zend_Locale
- * @param array|Zend_Config $content Translation data to add
- * @throws Zend_Translate_Exception
- * @return Zend_Translate_Adapter Provides fluent interface
- */
- private function _addTranslationData($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (func_num_args() > 1) {
- $args = func_get_args();
- $options['content'] = array_shift($args);
-
- if (!empty($args)) {
- $options['locale'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $options += array_shift($args);
- }
- }
-
- if (($options['content'] instanceof Zend_Translate) || ($options['content'] instanceof Zend_Translate_Adapter)) {
- $options['usetranslateadapter'] = true;
- if (!empty($options['locale'])) {
- $options['content'] = $options['content']->getMessages($options['locale']);
- } else {
- $locales = $options['content']->getList();
- foreach ($locales as $locale) {
- $options['locale'] = $locale;
- $options['content'] = $options['content']->getMessages($locale);
- $this->_addTranslationData($options);
- }
-
- return $this;
- }
- }
-
- try {
- $options['locale'] = Zend_Locale::findLocale($options['locale']);
- } catch (Zend_Locale_Exception $e) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("The given Language '{$options['locale']}' does not exist", 0, $e);
- }
-
- if ($options['clear'] || !isset($this->_translate[$options['locale']])) {
- $this->_translate[$options['locale']] = array();
- }
-
- $read = true;
- if (isset(self::$_cache)) {
- $id = 'Zend_Translate_' . md5(serialize($options['content'])) . '_' . $this->toString();
- $temp = self::$_cache->load($id);
- if ($temp) {
- $read = false;
- }
- }
-
- if ($options['reload']) {
- $read = true;
- }
-
- if ($read) {
- if (!empty($options['usetranslateadapter'])) {
- $temp = array($options['locale'] => $options['content']);
- } else {
- $temp = $this->_loadTranslationData($options['content'], $options['locale'], $options);
- }
- }
-
- if (empty($temp)) {
- $temp = array();
- }
-
- $keys = array_keys($temp);
- foreach($keys as $key) {
- if (!isset($this->_translate[$key])) {
- $this->_translate[$key] = array();
- }
-
- if (array_key_exists($key, $temp) && is_array($temp[$key])) {
- $this->_translate[$key] = $temp[$key] + $this->_translate[$key];
- }
- }
-
- if ($this->_automatic === true) {
- $find = new Zend_Locale($options['locale']);
- $browser = $find->getEnvironment() + $find->getBrowser();
- arsort($browser);
- foreach($browser as $language => $quality) {
- if (isset($this->_translate[$language])) {
- $this->_options['locale'] = $language;
- break;
- }
- }
- }
-
- if (($read) and (isset(self::$_cache))) {
- $id = 'Zend_Translate_' . md5(serialize($options['content'])) . '_' . $this->toString();
- self::$_cache->save($temp, $id, array('Zend_Translate'));
- }
-
- return $this;
- }
-
- /**
- * Translates the given string
- * returns the translation
- *
- * @see Zend_Locale
- * @param string|array $messageId Translation string, or Array for plural translations
- * @param string|Zend_Locale $locale (optional) Locale/Language to use, identical with
- * locale identifier, @see Zend_Locale for more information
- * @return string
- */
- public function translate($messageId, $locale = null)
- {
- if ($locale === null) {
- $locale = $this->_options['locale'];
- }
-
- $plural = null;
- if (is_array($messageId)) {
- if (count($messageId) > 2) {
- $number = array_pop($messageId);
- if (!is_numeric($number)) {
- $plocale = $number;
- $number = array_pop($messageId);
- } else {
- $plocale = 'en';
- }
-
- $plural = $messageId;
- $messageId = $messageId[0];
- } else {
- $messageId = $messageId[0];
- }
- }
-
- if (!Zend_Locale::isLocale($locale, true, false)) {
- if (!Zend_Locale::isLocale($locale, false, false)) {
- // language does not exist, return original string
- $this->_log($messageId, $locale);
- if ($plural === null) {
- return $messageId;
- }
-
- $rule = Zend_Translate_Plural::getPlural($number, $plocale);
- if (!isset($plural[$rule])) {
- $rule = 0;
- }
-
- return $plural[$rule];
- }
-
- $locale = new Zend_Locale($locale);
- }
-
- $locale = (string) $locale;
- if ((is_string($messageId) || is_int($messageId)) && isset($this->_translate[$locale][$messageId])) {
- // return original translation
- if ($plural === null) {
- return $this->_translate[$locale][$messageId];
- }
-
- $rule = Zend_Translate_Plural::getPlural($number, $locale);
- if (isset($this->_translate[$locale][$plural[0]][$rule])) {
- return $this->_translate[$locale][$plural[0]][$rule];
- }
- } else if (strlen($locale) != 2) {
- // faster than creating a new locale and separate the leading part
- $locale = substr($locale, 0, -strlen(strrchr($locale, '_')));
-
- if ((is_string($messageId) || is_int($messageId)) && isset($this->_translate[$locale][$messageId])) {
- // return regionless translation (en_US -> en)
- if ($plural === null) {
- return $this->_translate[$locale][$messageId];
- }
-
- $rule = Zend_Translate_Plural::getPlural($number, $locale);
- if (isset($this->_translate[$locale][$plural[0]][$rule])) {
- return $this->_translate[$locale][$plural[0]][$rule];
- }
- }
- }
-
- $this->_log($messageId, $locale);
- if ($plural === null) {
- return $messageId;
- }
-
- $rule = Zend_Translate_Plural::getPlural($number, $plocale);
- if (!isset($plural[$rule])) {
- $rule = 0;
- }
-
- return $plural[$rule];
- }
-
- /**
- * Translates the given string using plural notations
- * Returns the translated string
- *
- * @see Zend_Locale
- * @param string $singular Singular translation string
- * @param string $plural Plural translation string
- * @param integer $number Number for detecting the correct plural
- * @param string|Zend_Locale $locale (Optional) Locale/Language to use, identical with
- * locale identifier, @see Zend_Locale for more information
- * @return string
- */
- public function plural($singular, $plural, $number, $locale = null)
- {
- return $this->translate(array($singular, $plural, $number), $locale);
- }
-
- /**
- * Logs a message when the log option is set
- *
- * @param string $message Message to log
- * @param String $locale Locale to log
- */
- protected function _log($message, $locale) {
- if ($this->_options['logUntranslated']) {
- $message = str_replace('%message%', $message, $this->_options['logMessage']);
- $message = str_replace('%locale%', $locale, $message);
- if ($this->_options['log']) {
- $this->_options['log']->notice($message);
- } else {
- trigger_error($message, E_USER_NOTICE);
- }
- }
- }
-
- /**
- * Translates the given string
- * returns the translation
- *
- * @param string $messageId Translation string
- * @param string|Zend_Locale $locale (optional) Locale/Language to use, identical with locale
- * identifier, @see Zend_Locale for more information
- * @return string
- */
- public function _($messageId, $locale = null)
- {
- return $this->translate($messageId, $locale);
- }
-
- /**
- * Checks if a string is translated within the source or not
- * returns boolean
- *
- * @param string $messageId Translation string
- * @param boolean $original (optional) Allow translation only for original language
- * when true, a translation for 'en_US' would give false when it can
- * be translated with 'en' only
- * @param string|Zend_Locale $locale (optional) Locale/Language to use, identical with locale identifier,
- * see Zend_Locale for more information
- * @return boolean
- */
- public function isTranslated($messageId, $original = false, $locale = null)
- {
- if (($original !== false) and ($original !== true)) {
- $locale = $original;
- $original = false;
- }
-
- if ($locale === null) {
- $locale = $this->_options['locale'];
- }
-
- if (!Zend_Locale::isLocale($locale, true, false)) {
- if (!Zend_Locale::isLocale($locale, false, false)) {
- // language does not exist, return original string
- return false;
- }
-
- $locale = new Zend_Locale($locale);
- }
-
- $locale = (string) $locale;
- if ((is_string($messageId) || is_int($messageId)) && isset($this->_translate[$locale][$messageId])) {
- // return original translation
- return true;
- } else if ((strlen($locale) != 2) and ($original === false)) {
- // faster than creating a new locale and separate the leading part
- $locale = substr($locale, 0, -strlen(strrchr($locale, '_')));
-
- if ((is_string($messageId) || is_int($messageId)) && isset($this->_translate[$locale][$messageId])) {
- // return regionless translation (en_US -> en)
- return true;
- }
- }
-
- // No translation found, return original
- return false;
- }
-
- /**
- * Returns the set cache
- *
- * @return Zend_Cache_Core The set cache
- */
- public static function getCache()
- {
- return self::$_cache;
- }
-
- /**
- * Sets a cache for all Zend_Translate_Adapters
- *
- * @param Zend_Cache_Core $cache Cache to store to
- */
- public static function setCache(Zend_Cache_Core $cache)
- {
- self::$_cache = $cache;
- }
-
- /**
- * Returns true when a cache is set
- *
- * @return boolean
- */
- public static function hasCache()
- {
- if (self::$_cache !== null) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Removes any set cache
- *
- * @return void
- */
- public static function removeCache()
- {
- self::$_cache = null;
- }
-
- /**
- * Clears all set cache data
- *
- * @return void
- */
- public static function clearCache()
- {
- require_once 'Zend/Cache.php';
- self::$_cache->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('Zend_Translate'));
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- abstract public function toString();
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Array.php b/airtime_mvc/library/Zend/Translate/Adapter/Array.php
deleted file mode 100644
index 068ec8e71..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Array.php
+++ /dev/null
@@ -1,81 +0,0 @@
-_data = array();
- if (!is_array($data)) {
- if (file_exists($data)) {
- ob_start();
- $data = include($data);
- ob_end_clean();
- }
- }
- if (!is_array($data)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("Error including array or file '".$data."'");
- }
-
- if (!isset($this->_data[$locale])) {
- $this->_data[$locale] = array();
- }
-
- $this->_data[$locale] = $data + $this->_data[$locale];
- return $this->_data;
- }
-
- /**
- * returns the adapters name
- *
- * @return string
- */
- public function toString()
- {
- return "Array";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Csv.php b/airtime_mvc/library/Zend/Translate/Adapter/Csv.php
deleted file mode 100644
index da707d6a5..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Csv.php
+++ /dev/null
@@ -1,121 +0,0 @@
-_options['delimiter'] = ";";
- $this->_options['length'] = 0;
- $this->_options['enclosure'] = '"';
-
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (func_num_args() > 1) {
- $args = func_get_args();
- $options = array();
- $options['content'] = array_shift($args);
-
- if (!empty($args)) {
- $options['locale'] = array_shift($args);
- }
-
- if (!empty($args)) {
- $opt = array_shift($args);
- $options = array_merge($opt, $options);
- }
- } else if (!is_array($options)) {
- $options = array('content' => $options);
- }
-
- parent::__construct($options);
- }
-
- /**
- * Load translation data
- *
- * @param string|array $filename Filename and full path to the translation source
- * @param string $locale Locale/Language to add data for, identical with locale identifier,
- * see Zend_Locale for more information
- * @param array $option OPTIONAL Options to use
- * @return array
- */
- protected function _loadTranslationData($filename, $locale, array $options = array())
- {
- $this->_data = array();
- $options = $options + $this->_options;
- $this->_file = @fopen($filename, 'rb');
- if (!$this->_file) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Error opening translation file \'' . $filename . '\'.');
- }
-
- while(($data = fgetcsv($this->_file, $options['length'], $options['delimiter'], $options['enclosure'])) !== false) {
- if (substr($data[0], 0, 1) === '#') {
- continue;
- }
-
- if (!isset($data[1])) {
- continue;
- }
-
- if (count($data) == 2) {
- $this->_data[$locale][$data[0]] = $data[1];
- } else {
- $singular = array_shift($data);
- $this->_data[$locale][$singular] = $data;
- }
- }
-
- return $this->_data;
- }
-
- /**
- * returns the adapters name
- *
- * @return string
- */
- public function toString()
- {
- return "Csv";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Gettext.php b/airtime_mvc/library/Zend/Translate/Adapter/Gettext.php
deleted file mode 100644
index aba9288a7..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Gettext.php
+++ /dev/null
@@ -1,165 +0,0 @@
-_bigEndian === false) {
- return unpack('V' . $bytes, fread($this->_file, 4 * $bytes));
- } else {
- return unpack('N' . $bytes, fread($this->_file, 4 * $bytes));
- }
- }
-
- /**
- * Load translation data (MO file reader)
- *
- * @param string $filename MO file to add, full path must be given for access
- * @param string $locale New Locale/Language to set, identical with locale identifier,
- * see Zend_Locale for more information
- * @param array $option OPTIONAL Options to use
- * @throws Zend_Translation_Exception
- * @return array
- */
- protected function _loadTranslationData($filename, $locale, array $options = array())
- {
- $this->_data = array();
- $this->_bigEndian = false;
- $this->_file = @fopen($filename, 'rb');
- if (!$this->_file) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Error opening translation file \'' . $filename . '\'.');
- }
- if (@filesize($filename) < 10) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('\'' . $filename . '\' is not a gettext file');
- }
-
- // get Endian
- $input = $this->_readMOData(1);
- if (strtolower(substr(dechex($input[1]), -8)) == "950412de") {
- $this->_bigEndian = false;
- } else if (strtolower(substr(dechex($input[1]), -8)) == "de120495") {
- $this->_bigEndian = true;
- } else {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('\'' . $filename . '\' is not a gettext file');
- }
- // read revision - not supported for now
- $input = $this->_readMOData(1);
-
- // number of bytes
- $input = $this->_readMOData(1);
- $total = $input[1];
-
- // number of original strings
- $input = $this->_readMOData(1);
- $OOffset = $input[1];
-
- // number of translation strings
- $input = $this->_readMOData(1);
- $TOffset = $input[1];
-
- // fill the original table
- fseek($this->_file, $OOffset);
- $origtemp = $this->_readMOData(2 * $total);
- fseek($this->_file, $TOffset);
- $transtemp = $this->_readMOData(2 * $total);
-
- for($count = 0; $count < $total; ++$count) {
- if ($origtemp[$count * 2 + 1] != 0) {
- fseek($this->_file, $origtemp[$count * 2 + 2]);
- $original = @fread($this->_file, $origtemp[$count * 2 + 1]);
- $original = explode(chr(00), $original);
- } else {
- $original[0] = '';
- }
-
- if ($transtemp[$count * 2 + 1] != 0) {
- fseek($this->_file, $transtemp[$count * 2 + 2]);
- $translate = fread($this->_file, $transtemp[$count * 2 + 1]);
- $translate = explode(chr(00), $translate);
- if ((count($original) > 1) && (count($translate) > 1)) {
- $this->_data[$locale][$original[0]] = $translate;
- array_shift($original);
- foreach ($original as $orig) {
- $this->_data[$locale][$orig] = '';
- }
- } else {
- $this->_data[$locale][$original[0]] = $translate[0];
- }
- }
- }
-
- $this->_data[$locale][''] = trim($this->_data[$locale]['']);
- if (empty($this->_data[$locale][''])) {
- $this->_adapterInfo[$filename] = 'No adapter information available';
- } else {
- $this->_adapterInfo[$filename] = $this->_data[$locale][''];
- }
-
- unset($this->_data[$locale]['']);
- return $this->_data;
- }
-
- /**
- * Returns the adapter informations
- *
- * @return array Each loaded adapter information as array value
- */
- public function getAdapterInfo()
- {
- return $this->_adapterInfo;
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return "Gettext";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Ini.php b/airtime_mvc/library/Zend/Translate/Adapter/Ini.php
deleted file mode 100644
index 965f70f5e..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Ini.php
+++ /dev/null
@@ -1,74 +0,0 @@
-_data = array();
- if (!file_exists($data)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("Ini file '".$data."' not found");
- }
-
- $inidata = parse_ini_file($data, false);
- if (!isset($this->_data[$locale])) {
- $this->_data[$locale] = array();
- }
-
- $this->_data[$locale] = array_merge($this->_data[$locale], $inidata);
- return $this->_data;
- }
-
- /**
- * returns the adapters name
- *
- * @return string
- */
- public function toString()
- {
- return "Ini";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Qt.php b/airtime_mvc/library/Zend/Translate/Adapter/Qt.php
deleted file mode 100644
index 33a9ee43f..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Qt.php
+++ /dev/null
@@ -1,160 +0,0 @@
-_data = array();
- if (!is_readable($filename)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Translation file \'' . $filename . '\' is not readable.');
- }
-
- $this->_target = $locale;
-
- $encoding = $this->_findEncoding($filename);
- $this->_file = xml_parser_create($encoding);
- xml_set_object($this->_file, $this);
- xml_parser_set_option($this->_file, XML_OPTION_CASE_FOLDING, 0);
- xml_set_element_handler($this->_file, "_startElement", "_endElement");
- xml_set_character_data_handler($this->_file, "_contentElement");
-
- if (!xml_parse($this->_file, file_get_contents($filename))) {
- $ex = sprintf('XML error: %s at line %d',
- xml_error_string(xml_get_error_code($this->_file)),
- xml_get_current_line_number($this->_file));
- xml_parser_free($this->_file);
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception($ex);
- }
-
- return $this->_data;
- }
-
- private function _startElement($file, $name, $attrib)
- {
- switch(strtolower($name)) {
- case 'message':
- $this->_source = null;
- $this->_stag = false;
- $this->_ttag = false;
- $this->_scontent = null;
- $this->_tcontent = null;
- break;
- case 'source':
- $this->_stag = true;
- break;
- case 'translation':
- $this->_ttag = true;
- break;
- default:
- break;
- }
- }
-
- private function _endElement($file, $name)
- {
- switch (strtolower($name)) {
- case 'source':
- $this->_stag = false;
- break;
-
- case 'translation':
- if (!empty($this->_scontent) and !empty($this->_tcontent) or
- (isset($this->_data[$this->_target][$this->_scontent]) === false)) {
- $this->_data[$this->_target][$this->_scontent] = $this->_tcontent;
- }
- $this->_ttag = false;
- break;
-
- default:
- break;
- }
- }
-
- private function _contentElement($file, $data)
- {
- if ($this->_stag === true) {
- $this->_scontent .= $data;
- }
-
- if ($this->_ttag === true) {
- $this->_tcontent .= $data;
- }
- }
-
- private function _findEncoding($filename)
- {
- $file = file_get_contents($filename, null, null, 0, 100);
- if (strpos($file, "encoding") !== false) {
- $encoding = substr($file, strpos($file, "encoding") + 9);
- $encoding = substr($encoding, 1, strpos($encoding, $encoding[0], 1) - 1);
- return $encoding;
- }
- return 'UTF-8';
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return "Qt";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Tbx.php b/airtime_mvc/library/Zend/Translate/Adapter/Tbx.php
deleted file mode 100644
index 629686753..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Tbx.php
+++ /dev/null
@@ -1,165 +0,0 @@
-_data = array();
- if (!is_readable($filename)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Translation file \'' . $filename . '\' is not readable.');
- }
-
- $encoding = $this->_findEncoding($filename);
- $this->_file = xml_parser_create($encoding);
- xml_set_object($this->_file, $this);
- xml_parser_set_option($this->_file, XML_OPTION_CASE_FOLDING, 0);
- xml_set_element_handler($this->_file, "_startElement", "_endElement");
- xml_set_character_data_handler($this->_file, "_contentElement");
-
- if (!xml_parse($this->_file, file_get_contents($filename))) {
- $ex = sprintf('XML error: %s at line %d',
- xml_error_string(xml_get_error_code($this->_file)),
- xml_get_current_line_number($this->_file));
- xml_parser_free($this->_file);
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception($ex);
- }
-
- return $this->_data;
- }
-
- private function _startElement($file, $name, $attrib)
- {
- if ($this->_term !== null) {
- $this->_content .= "<".$name;
- foreach($attrib as $key => $value) {
- $this->_content .= " $key=\"$value\"";
- }
- $this->_content .= ">";
- } else {
- switch(strtolower($name)) {
- case 'termentry':
- $this->_termentry = null;
- break;
- case 'langset':
- if (isset($attrib['xml:lang']) === true) {
- $this->_langset = $attrib['xml:lang'];
- if (isset($this->_data[$this->_langset]) === false) {
- $this->_data[$this->_langset] = array();
- }
- }
- break;
- case 'term':
- $this->_term = true;
- $this->_content = null;
- break;
- default:
- break;
- }
- }
- }
-
- private function _endElement($file, $name)
- {
- if (($this->_term !== null) and ($name != "term")) {
- $this->_content .= "".$name.">";
- } else {
- switch (strtolower($name)) {
- case 'langset':
- $this->_langset = null;
- break;
- case 'term':
- $this->_term = null;
- if (empty($this->_termentry)) {
- $this->_termentry = $this->_content;
- }
- if (!empty($this->_content) or (isset($this->_data[$this->_langset][$this->_termentry]) === false)) {
- $this->_data[$this->_langset][$this->_termentry] = $this->_content;
- }
- break;
- default:
- break;
- }
- }
- }
-
- private function _contentElement($file, $data)
- {
- if ($this->_term !== null) {
- $this->_content .= $data;
- }
- }
-
- private function _findEncoding($filename)
- {
- $file = file_get_contents($filename, null, null, 0, 100);
- if (strpos($file, "encoding") !== false) {
- $encoding = substr($file, strpos($file, "encoding") + 9);
- $encoding = substr($encoding, 1, strpos($encoding, $encoding[0], 1) - 1);
- return $encoding;
- }
- return 'UTF-8';
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return "Tbx";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Tmx.php b/airtime_mvc/library/Zend/Translate/Adapter/Tmx.php
deleted file mode 100644
index aabe5ca70..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Tmx.php
+++ /dev/null
@@ -1,233 +0,0 @@
-_data = array();
- if (!is_readable($filename)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Translation file \'' . $filename . '\' is not readable.');
- }
-
- if (isset($options['useId'])) {
- $this->_useId = (boolean) $options['useId'];
- }
-
- $encoding = $this->_findEncoding($filename);
- $this->_file = xml_parser_create($encoding);
- xml_set_object($this->_file, $this);
- xml_parser_set_option($this->_file, XML_OPTION_CASE_FOLDING, 0);
- xml_set_element_handler($this->_file, "_startElement", "_endElement");
- xml_set_character_data_handler($this->_file, "_contentElement");
-
- if (!xml_parse($this->_file, file_get_contents($filename))) {
- $ex = sprintf('XML error: %s at line %d',
- xml_error_string(xml_get_error_code($this->_file)),
- xml_get_current_line_number($this->_file));
- xml_parser_free($this->_file);
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception($ex);
- }
-
- return $this->_data;
- }
-
- /**
- * Internal method, called by xml element handler at start
- *
- * @param resource $file File handler
- * @param string $name Elements name
- * @param array $attrib Attributes for this element
- */
- protected function _startElement($file, $name, $attrib)
- {
- if ($this->_seg !== null) {
- $this->_content .= "<".$name;
- foreach($attrib as $key => $value) {
- $this->_content .= " $key=\"$value\"";
- }
- $this->_content .= ">";
- } else {
- switch(strtolower($name)) {
- case 'header':
- if (empty($this->_useId) && isset($attrib['srclang'])) {
- if (Zend_Locale::isLocale($attrib['srclang'])) {
- $this->_srclang = Zend_Locale::findLocale($attrib['srclang']);
- } else {
- if (!$this->_options['disableNotices']) {
- if ($this->_options['log']) {
- $this->_options['log']->notice("The language '{$attrib['srclang']}' can not be set because it does not exist.");
- } else {
- trigger_error("The language '{$attrib['srclang']}' can not be set because it does not exist.", E_USER_NOTICE);
- }
- }
-
- $this->_srclang = $attrib['srclang'];
- }
- }
- break;
- case 'tu':
- if (isset($attrib['tuid'])) {
- $this->_tu = $attrib['tuid'];
- }
- break;
- case 'tuv':
- if (isset($attrib['xml:lang'])) {
- if (Zend_Locale::isLocale($attrib['xml:lang'])) {
- $this->_tuv = Zend_Locale::findLocale($attrib['xml:lang']);
- } else {
- if (!$this->_options['disableNotices']) {
- if ($this->_options['log']) {
- $this->_options['log']->notice("The language '{$attrib['xml:lang']}' can not be set because it does not exist.");
- } else {
- trigger_error("The language '{$attrib['xml:lang']}' can not be set because it does not exist.", E_USER_NOTICE);
- }
- }
-
- $this->_tuv = $attrib['xml:lang'];
- }
-
- if (!isset($this->_data[$this->_tuv])) {
- $this->_data[$this->_tuv] = array();
- }
- }
- break;
- case 'seg':
- $this->_seg = true;
- $this->_content = null;
- break;
- default:
- break;
- }
- }
- }
-
-
- /**
- * Internal method, called by xml element handler at end
- *
- * @param resource $file File handler
- * @param string $name Elements name
- */
- protected function _endElement($file, $name)
- {
- if (($this->_seg !== null) and ($name !== 'seg')) {
- $this->_content .= "".$name.">";
- } else {
- switch (strtolower($name)) {
- case 'tu':
- $this->_tu = null;
- break;
- case 'tuv':
- $this->_tuv = null;
- break;
- case 'seg':
- $this->_seg = null;
- if (!empty($this->_srclang) && ($this->_srclang == $this->_tuv)) {
- $this->_tu = $this->_content;
- }
-
- if (!empty($this->_content) or (!isset($this->_data[$this->_tuv][$this->_tu]))) {
- $this->_data[$this->_tuv][$this->_tu] = $this->_content;
- }
- break;
- default:
- break;
- }
- }
- }
-
- /**
- * Internal method, called by xml element handler for content
- *
- * @param resource $file File handler
- * @param string $data Elements content
- */
- protected function _contentElement($file, $data)
- {
- if (($this->_seg !== null) and ($this->_tu !== null) and ($this->_tuv !== null)) {
- $this->_content .= $data;
- }
- }
-
-
- /**
- * Internal method, detects the encoding of the xml file
- *
- * @param string $name Filename
- * @return string Encoding
- */
- protected function _findEncoding($filename)
- {
- $file = file_get_contents($filename, null, null, 0, 100);
- if (strpos($file, "encoding") !== false) {
- $encoding = substr($file, strpos($file, "encoding") + 9);
- $encoding = substr($encoding, 1, strpos($encoding, $encoding[0], 1) - 1);
- return $encoding;
- }
- return 'UTF-8';
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return "Tmx";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/Xliff.php b/airtime_mvc/library/Zend/Translate/Adapter/Xliff.php
deleted file mode 100644
index c30a32efd..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/Xliff.php
+++ /dev/null
@@ -1,229 +0,0 @@
-_data = array();
- if (!is_readable($filename)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Translation file \'' . $filename . '\' is not readable.');
- }
-
- if (empty($options['useId'])) {
- $this->_useId = false;
- } else {
- $this->_useId = true;
- }
-
- $encoding = $this->_findEncoding($filename);
- $this->_target = $locale;
- $this->_file = xml_parser_create($encoding);
- xml_set_object($this->_file, $this);
- xml_parser_set_option($this->_file, XML_OPTION_CASE_FOLDING, 0);
- xml_set_element_handler($this->_file, "_startElement", "_endElement");
- xml_set_character_data_handler($this->_file, "_contentElement");
-
- if (!xml_parse($this->_file, file_get_contents($filename))) {
- $ex = sprintf('XML error: %s at line %d',
- xml_error_string(xml_get_error_code($this->_file)),
- xml_get_current_line_number($this->_file));
- xml_parser_free($this->_file);
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception($ex);
- }
-
- return $this->_data;
- }
-
- private function _startElement($file, $name, $attrib)
- {
- if ($this->_stag === true) {
- $this->_scontent .= "<".$name;
- foreach($attrib as $key => $value) {
- $this->_scontent .= " $key=\"$value\"";
- }
- $this->_scontent .= ">";
- } else if ($this->_ttag === true) {
- $this->_tcontent .= "<".$name;
- foreach($attrib as $key => $value) {
- $this->_tcontent .= " $key=\"$value\"";
- }
- $this->_tcontent .= ">";
- } else {
- switch(strtolower($name)) {
- case 'file':
- $this->_source = $attrib['source-language'];
- if (isset($attrib['target-language'])) {
- $this->_target = $attrib['target-language'];
- }
-
- if (!isset($this->_data[$this->_source])) {
- $this->_data[$this->_source] = array();
- }
-
- if (!isset($this->_data[$this->_target])) {
- $this->_data[$this->_target] = array();
- }
-
- break;
- case 'trans-unit':
- $this->_transunit = true;
- $this->_langId = $attrib['id'];
- break;
- case 'source':
- if ($this->_transunit === true) {
- $this->_scontent = null;
- $this->_stag = true;
- $this->_ttag = false;
- }
- break;
- case 'target':
- if ($this->_transunit === true) {
- $this->_tcontent = null;
- $this->_ttag = true;
- $this->_stag = false;
- }
- break;
- default:
- break;
- }
- }
- }
-
- private function _endElement($file, $name)
- {
- if (($this->_stag === true) and ($name !== 'source')) {
- $this->_scontent .= "".$name.">";
- } else if (($this->_ttag === true) and ($name !== 'target')) {
- $this->_tcontent .= "".$name.">";
- } else {
- switch (strtolower($name)) {
- case 'trans-unit':
- $this->_transunit = null;
- $this->_langId = null;
- $this->_scontent = null;
- $this->_tcontent = null;
- break;
- case 'source':
- if ($this->_useId) {
- if (!empty($this->_scontent) && !empty($this->_langId) &&
- !isset($this->_data[$this->_source][$this->_langId])) {
- $this->_data[$this->_source][$this->_langId] = $this->_scontent;
- }
- } else {
- if (!empty($this->_scontent) &&
- !isset($this->_data[$this->_source][$this->_scontent])) {
- $this->_data[$this->_source][$this->_scontent] = $this->_scontent;
- }
- }
- $this->_stag = false;
- break;
- case 'target':
- if ($this->_useId) {
- if (!empty($this->_tcontent) && !empty($this->_langId) &&
- !isset($this->_data[$this->_target][$this->_langId])) {
- $this->_data[$this->_target][$this->_langId] = $this->_tcontent;
- }
- } else {
- if (!empty($this->_tcontent) && !empty($this->_scontent) &&
- !isset($this->_data[$this->_target][$this->_scontent])) {
- $this->_data[$this->_target][$this->_scontent] = $this->_tcontent;
- }
- }
- $this->_ttag = false;
- break;
- default:
- break;
- }
- }
- }
-
- private function _contentElement($file, $data)
- {
- if (($this->_transunit !== null) and ($this->_source !== null) and ($this->_stag === true)) {
- $this->_scontent .= $data;
- }
-
- if (($this->_transunit !== null) and ($this->_target !== null) and ($this->_ttag === true)) {
- $this->_tcontent .= $data;
- }
- }
-
- private function _findEncoding($filename)
- {
- $file = file_get_contents($filename, null, null, 0, 100);
- if (strpos($file, "encoding") !== false) {
- $encoding = substr($file, strpos($file, "encoding") + 9);
- $encoding = substr($encoding, 1, strpos($encoding, $encoding[0], 1) - 1);
- return $encoding;
- }
- return 'UTF-8';
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return "Xliff";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Adapter/XmlTm.php b/airtime_mvc/library/Zend/Translate/Adapter/XmlTm.php
deleted file mode 100644
index bcb56bd2a..000000000
--- a/airtime_mvc/library/Zend/Translate/Adapter/XmlTm.php
+++ /dev/null
@@ -1,139 +0,0 @@
-_data = array();
- $this->_lang = $locale;
- if (!is_readable($filename)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('Translation file \'' . $filename . '\' is not readable.');
- }
-
- $encoding = $this->_findEncoding($filename);
- $this->_file = xml_parser_create($encoding);
- xml_set_object($this->_file, $this);
- xml_parser_set_option($this->_file, XML_OPTION_CASE_FOLDING, 0);
- xml_set_element_handler($this->_file, "_startElement", "_endElement");
- xml_set_character_data_handler($this->_file, "_contentElement");
-
- if (!xml_parse($this->_file, file_get_contents($filename))) {
- $ex = sprintf('XML error: %s at line %d',
- xml_error_string(xml_get_error_code($this->_file)),
- xml_get_current_line_number($this->_file));
- xml_parser_free($this->_file);
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception($ex);
- }
-
- return $this->_data;
- }
-
- private function _startElement($file, $name, $attrib)
- {
- switch(strtolower($name)) {
- case 'tm:tu':
- $this->_tag = $attrib['id'];
- $this->_content = null;
- break;
- default:
- break;
- }
- }
-
- private function _endElement($file, $name)
- {
- switch (strtolower($name)) {
- case 'tm:tu':
- if (!empty($this->_tag) and !empty($this->_content) or
- (isset($this->_data[$this->_lang][$this->_tag]) === false)) {
- $this->_data[$this->_lang][$this->_tag] = $this->_content;
- }
- $this->_tag = null;
- $this->_content = null;
- break;
-
- default:
- break;
- }
- }
-
- private function _contentElement($file, $data)
- {
- if (($this->_tag !== null)) {
- $this->_content .= $data;
- }
- }
-
- private function _findEncoding($filename)
- {
- $file = file_get_contents($filename, null, null, 0, 100);
- if (strpos($file, "encoding") !== false) {
- $encoding = substr($file, strpos($file, "encoding") + 9);
- $encoding = substr($encoding, 1, strpos($encoding, $encoding[0], 1) - 1);
- return $encoding;
- }
- return 'UTF-8';
- }
-
- /**
- * Returns the adapter name
- *
- * @return string
- */
- public function toString()
- {
- return "XmlTm";
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Exception.php b/airtime_mvc/library/Zend/Translate/Exception.php
deleted file mode 100644
index 1083beba2..000000000
--- a/airtime_mvc/library/Zend/Translate/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
- 3) {
- $locale = substr($locale, 0, -strlen(strrchr($locale, '_')));
- }
-
- if (isset(self::$_plural[$locale])) {
- $return = call_user_func(self::$_plural[$locale], $number);
-
- if (!is_int($return) || ($return < 0)) {
- $return = 0;
- }
-
- return $return;
- }
-
- switch($locale) {
- case 'bo':
- case 'dz':
- case 'id':
- case 'ja':
- case 'jv':
- case 'ka':
- case 'km':
- case 'kn':
- case 'ko':
- case 'ms':
- case 'th':
- case 'tr':
- case 'vi':
- case 'zh':
- return 0;
- break;
-
- case 'af':
- case 'az':
- case 'bn':
- case 'bg':
- case 'ca':
- case 'da':
- case 'de':
- case 'el':
- case 'en':
- case 'eo':
- case 'es':
- case 'et':
- case 'eu':
- case 'fa':
- case 'fi':
- case 'fo':
- case 'fur':
- case 'fy':
- case 'gl':
- case 'gu':
- case 'ha':
- case 'he':
- case 'hu':
- case 'is':
- case 'it':
- case 'ku':
- case 'lb':
- case 'ml':
- case 'mn':
- case 'mr':
- case 'nah':
- case 'nb':
- case 'ne':
- case 'nl':
- case 'nn':
- case 'no':
- case 'om':
- case 'or':
- case 'pa':
- case 'pap':
- case 'ps':
- case 'pt':
- case 'so':
- case 'sq':
- case 'sv':
- case 'sw':
- case 'ta':
- case 'te':
- case 'tk':
- case 'ur':
- case 'zu':
- return ($number == 1) ? 0 : 1;
-
- case 'am':
- case 'bh':
- case 'fil':
- case 'fr':
- case 'gun':
- case 'hi':
- case 'ln':
- case 'mg':
- case 'nso':
- case 'xbr':
- case 'ti':
- case 'wa':
- return (($number == 0) || ($number == 1)) ? 0 : 1;
-
- case 'be':
- case 'bs':
- case 'hr':
- case 'ru':
- case 'sr':
- case 'uk':
- return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
-
- case 'cs':
- case 'sk':
- return ($number == 1) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2);
-
- case 'ga':
- return ($number == 1) ? 0 : (($number == 2) ? 1 : 2);
-
- case 'lt':
- return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2);
-
- case 'sl':
- return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3));
-
- case 'mk':
- return ($number % 10 == 1) ? 0 : 1;
-
- case 'mt':
- return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3));
-
- case 'lv':
- return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2);
-
- case 'pl':
- return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 > 29))) ? 1 : 2);
-
- case 'cy':
- return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3));
-
- case 'ro':
- return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2);
-
- case 'ar':
- return ($number == 0) ? 0 : (($number == 1) ? 1 : (($number == 2) ? 2 : ((($number >= 3) && ($number <= 10)) ? 3 : ((($number >= 11) && ($number <= 99)) ? 4 : 5))));
-
- default:
- return 0;
- }
- }
-
- /**
- * Set's a new plural rule
- *
- * @param string $rule Callback which acts as rule
- * @param string $locale Locale which is used for this callback
- * @return null
- */
- public static function setPlural($rule, $locale)
- {
- if ($locale == "pt_BR") {
- // temporary set a locale for brasilian
- $locale = "xbr";
- }
-
- if (strlen($locale) > 3) {
- $locale = substr($locale, 0, -strlen(strrchr($locale, '_')));
- }
-
- if (!is_callable($rule)) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception('The given rule can not be called');
- }
-
- self::$_plural[$locale] = $rule;
- }
-}
diff --git a/airtime_mvc/library/Zend/Translate/Translate.php b/airtime_mvc/library/Zend/Translate/Translate.php
deleted file mode 100644
index 2edb35c8c..000000000
--- a/airtime_mvc/library/Zend/Translate/Translate.php
+++ /dev/null
@@ -1,180 +0,0 @@
-setAdapter($adapter, $data, $locale, $options);
- }
-
- /**
- * Sets a new adapter
- *
- * @param string $adapter Adapter to use
- * @param string|array $data OPTIONAL Translation data
- * @param string|Zend_Locale $locale OPTIONAL locale to use
- * @param array $options OPTIONAL Options to use
- * @throws Zend_Translate_Exception
- */
- public function setAdapter($adapter, $data = null, $locale = null, array $options = array())
- {
- if (Zend_Loader::isReadable('Zend/Translate/Adapter/' . ucfirst($adapter). '.php')) {
- $adapter = 'Zend_Translate_Adapter_' . ucfirst($adapter);
- }
-
- if (!class_exists($adapter)) {
- Zend_Loader::loadClass($adapter);
- }
-
- if (self::$_cache !== null) {
- call_user_func(array($adapter, 'setCache'), self::$_cache);
- }
-
- $this->_adapter = new $adapter($data, $locale, $options);
- if (!$this->_adapter instanceof Zend_Translate_Adapter) {
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("Adapter " . $adapter . " does not extend Zend_Translate_Adapter");
- }
- }
-
- /**
- * Returns the adapters name and it's options
- *
- * @return Zend_Translate_Adapter
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * Returns the set cache
- *
- * @return Zend_Cache_Core The set cache
- */
- public static function getCache()
- {
- return self::$_cache;
- }
-
- /**
- * Sets a cache for all instances of Zend_Translate
- *
- * @param Zend_Cache_Core $cache Cache to store to
- * @return void
- */
- public static function setCache(Zend_Cache_Core $cache)
- {
- self::$_cache = $cache;
- }
-
- /**
- * Returns true when a cache is set
- *
- * @return boolean
- */
- public static function hasCache()
- {
- if (self::$_cache !== null) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Removes any set cache
- *
- * @return void
- */
- public static function removeCache()
- {
- self::$_cache = null;
- }
-
- /**
- * Clears all set cache data
- *
- * @return void
- */
- public static function clearCache()
- {
- self::$_cache->clean();
- }
-
- /**
- * Calls all methods from the adapter
- */
- public function __call($method, array $options)
- {
- if (method_exists($this->_adapter, $method)) {
- return call_user_func_array(array($this->_adapter, $method), $options);
- }
- require_once 'Zend/Translate/Exception.php';
- throw new Zend_Translate_Exception("Unknown method '" . $method . "' called!");
- }
-}
diff --git a/airtime_mvc/library/Zend/Uri.php b/airtime_mvc/library/Zend/Uri.php
deleted file mode 100644
index 6e7a2822e..000000000
--- a/airtime_mvc/library/Zend/Uri.php
+++ /dev/null
@@ -1,189 +0,0 @@
- false
- );
-
- /**
- * Return a string representation of this URI.
- *
- * @see getUri()
- * @return string
- */
- public function __toString()
- {
- return $this->getUri();
- }
-
- /**
- * Convenience function, checks that a $uri string is well-formed
- * by validating it but not returning an object. Returns TRUE if
- * $uri is a well-formed URI, or FALSE otherwise.
- *
- * @param string $uri The URI to check
- * @return boolean
- */
- public static function check($uri)
- {
- try {
- $uri = self::factory($uri);
- } catch (Exception $e) {
- return false;
- }
-
- return $uri->valid();
- }
-
- /**
- * Create a new Zend_Uri object for a URI. If building a new URI, then $uri should contain
- * only the scheme (http, ftp, etc). Otherwise, supply $uri with the complete URI.
- *
- * @param string $uri The URI form which a Zend_Uri instance is created
- * @throws Zend_Uri_Exception When an empty string was supplied for the scheme
- * @throws Zend_Uri_Exception When an illegal scheme is supplied
- * @throws Zend_Uri_Exception When the scheme is not supported
- * @return Zend_Uri
- * @link http://www.faqs.org/rfcs/rfc2396.html
- */
- public static function factory($uri = 'http')
- {
- // Separate the scheme from the scheme-specific parts
- $uri = explode(':', $uri, 2);
- $scheme = strtolower($uri[0]);
- $schemeSpecific = isset($uri[1]) === true ? $uri[1] : '';
-
- if (strlen($scheme) === 0) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('An empty string was supplied for the scheme');
- }
-
- // Security check: $scheme is used to load a class file, so only alphanumerics are allowed.
- if (ctype_alnum($scheme) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Illegal scheme supplied, only alphanumeric characters are permitted');
- }
-
- /**
- * Create a new Zend_Uri object for the $uri. If a subclass of Zend_Uri exists for the
- * scheme, return an instance of that class. Otherwise, a Zend_Uri_Exception is thrown.
- */
- switch ($scheme) {
- case 'http':
- // Break intentionally omitted
- case 'https':
- $className = 'Zend_Uri_Http';
- break;
-
- case 'mailto':
- // TODO
- default:
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Scheme \"$scheme\" is not supported");
- break;
- }
-
- if (!class_exists($className)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($className);
- }
- $schemeHandler = new $className($scheme, $schemeSpecific);
-
- return $schemeHandler;
- }
-
- /**
- * Get the URI's scheme
- *
- * @return string|false Scheme or false if no scheme is set.
- */
- public function getScheme()
- {
- if (empty($this->_scheme) === false) {
- return $this->_scheme;
- } else {
- return false;
- }
- }
-
- /**
- * Set global configuration options
- *
- * @param Zend_Config|array $config
- */
- static public function setConfig($config)
- {
- if ($config instanceof Zend_Config) {
- $config = $config->toArray();
- } elseif (!is_array($config)) {
- throw new Zend_Uri_Exception("Config must be an array or an instance of Zend_Config.");
- }
-
- foreach ($config as $k => $v) {
- self::$_config[$k] = $v;
- }
- }
-
- /**
- * Zend_Uri and its subclasses cannot be instantiated directly.
- * Use Zend_Uri::factory() to return a new Zend_Uri object.
- *
- * @param string $scheme The scheme of the URI
- * @param string $schemeSpecific The scheme-specific part of the URI
- */
- abstract protected function __construct($scheme, $schemeSpecific = '');
-
- /**
- * Return a string representation of this URI.
- *
- * @return string
- */
- abstract public function getUri();
-
- /**
- * Returns TRUE if this URI is valid, or FALSE otherwise.
- *
- * @return boolean
- */
- abstract public function valid();
-}
diff --git a/airtime_mvc/library/Zend/Uri/Exception.php b/airtime_mvc/library/Zend/Uri/Exception.php
deleted file mode 100644
index e71c32e1a..000000000
--- a/airtime_mvc/library/Zend/Uri/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
-_scheme = $scheme;
-
- // Set up grammar rules for validation via regular expressions. These
- // are to be used with slash-delimited regular expression strings.
-
- // Escaped special characters (eg. '%25' for '%')
- $this->_regex['escaped'] = '%[[:xdigit:]]{2}';
-
- // Unreserved characters
- $this->_regex['unreserved'] = '[' . self::CHAR_ALNUM . self::CHAR_MARK . ']';
-
- // Segment can use escaped, unreserved or a set of additional chars
- $this->_regex['segment'] = '(?:' . $this->_regex['escaped'] . '|[' .
- self::CHAR_ALNUM . self::CHAR_MARK . self::CHAR_SEGMENT . '])*';
-
- // Path can be a series of segmets char strings seperated by '/'
- $this->_regex['path'] = '(?:\/(?:' . $this->_regex['segment'] . ')?)+';
-
- // URI characters can be escaped, alphanumeric, mark or reserved chars
- $this->_regex['uric'] = '(?:' . $this->_regex['escaped'] . '|[' .
- self::CHAR_ALNUM . self::CHAR_MARK . self::CHAR_RESERVED .
-
- // If unwise chars are allowed, add them to the URI chars class
- (self::$_config['allow_unwise'] ? self::CHAR_UNWISE : '') . '])';
-
- // If no scheme-specific part was supplied, the user intends to create
- // a new URI with this object. No further parsing is required.
- if (strlen($schemeSpecific) === 0) {
- return;
- }
-
- // Parse the scheme-specific URI parts into the instance variables.
- $this->_parseUri($schemeSpecific);
-
- // Validate the URI
- if ($this->valid() === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Invalid URI supplied');
- }
- }
-
- /**
- * Creates a Zend_Uri_Http from the given string
- *
- * @param string $uri String to create URI from, must start with
- * 'http://' or 'https://'
- * @throws InvalidArgumentException When the given $uri is not a string or
- * does not start with http:// or https://
- * @throws Zend_Uri_Exception When the given $uri is invalid
- * @return Zend_Uri_Http
- */
- public static function fromString($uri)
- {
- if (is_string($uri) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('$uri is not a string');
- }
-
- $uri = explode(':', $uri, 2);
- $scheme = strtolower($uri[0]);
- $schemeSpecific = isset($uri[1]) === true ? $uri[1] : '';
-
- if (in_array($scheme, array('http', 'https')) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Invalid scheme: '$scheme'");
- }
-
- $schemeHandler = new Zend_Uri_Http($scheme, $schemeSpecific);
- return $schemeHandler;
- }
-
- /**
- * Parse the scheme-specific portion of the URI and place its parts into instance variables.
- *
- * @param string $schemeSpecific The scheme-specific portion to parse
- * @throws Zend_Uri_Exception When scheme-specific decoposition fails
- * @throws Zend_Uri_Exception When authority decomposition fails
- * @return void
- */
- protected function _parseUri($schemeSpecific)
- {
- // High-level decomposition parser
- $pattern = '~^((//)([^/?#]*))([^?#]*)(\?([^#]*))?(#(.*))?$~';
- $status = @preg_match($pattern, $schemeSpecific, $matches);
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: scheme-specific decomposition failed');
- }
-
- // Failed decomposition; no further processing needed
- if ($status === false) {
- return;
- }
-
- // Save URI components that need no further decomposition
- $this->_path = isset($matches[4]) === true ? $matches[4] : '';
- $this->_query = isset($matches[6]) === true ? $matches[6] : '';
- $this->_fragment = isset($matches[8]) === true ? $matches[8] : '';
-
- // Additional decomposition to get username, password, host, and port
- $combo = isset($matches[3]) === true ? $matches[3] : '';
- $pattern = '~^(([^:@]*)(:([^@]*))?@)?([^:]+)(:(.*))?$~';
- $status = @preg_match($pattern, $combo, $matches);
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: authority decomposition failed');
- }
-
- // Failed decomposition; no further processing needed
- if ($status === false) {
- return;
- }
-
- // Save remaining URI components
- $this->_username = isset($matches[2]) === true ? $matches[2] : '';
- $this->_password = isset($matches[4]) === true ? $matches[4] : '';
- $this->_host = isset($matches[5]) === true ? $matches[5] : '';
- $this->_port = isset($matches[7]) === true ? $matches[7] : '';
-
- }
-
- /**
- * Returns a URI based on current values of the instance variables. If any
- * part of the URI does not pass validation, then an exception is thrown.
- *
- * @throws Zend_Uri_Exception When one or more parts of the URI are invalid
- * @return string
- */
- public function getUri()
- {
- if ($this->valid() === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('One or more parts of the URI are invalid');
- }
-
- $password = strlen($this->_password) > 0 ? ":$this->_password" : '';
- $auth = strlen($this->_username) > 0 ? "$this->_username$password@" : '';
- $port = strlen($this->_port) > 0 ? ":$this->_port" : '';
- $query = strlen($this->_query) > 0 ? "?$this->_query" : '';
- $fragment = strlen($this->_fragment) > 0 ? "#$this->_fragment" : '';
-
- return $this->_scheme
- . '://'
- . $auth
- . $this->_host
- . $port
- . $this->_path
- . $query
- . $fragment;
- }
-
- /**
- * Validate the current URI from the instance variables. Returns true if and only if all
- * parts pass validation.
- *
- * @return boolean
- */
- public function valid()
- {
- // Return true if and only if all parts of the URI have passed validation
- return $this->validateUsername()
- and $this->validatePassword()
- and $this->validateHost()
- and $this->validatePort()
- and $this->validatePath()
- and $this->validateQuery()
- and $this->validateFragment();
- }
-
- /**
- * Returns the username portion of the URL, or FALSE if none.
- *
- * @return string
- */
- public function getUsername()
- {
- return strlen($this->_username) > 0 ? $this->_username : false;
- }
-
- /**
- * Returns true if and only if the username passes validation. If no username is passed,
- * then the username contained in the instance variable is used.
- *
- * @param string $username The HTTP username
- * @throws Zend_Uri_Exception When username validation fails
- * @return boolean
- * @link http://www.faqs.org/rfcs/rfc2396.html
- */
- public function validateUsername($username = null)
- {
- if ($username === null) {
- $username = $this->_username;
- }
-
- // If the username is empty, then it is considered valid
- if (strlen($username) === 0) {
- return true;
- }
-
- // Check the username against the allowed values
- $status = @preg_match('/^(?:' . $this->_regex['escaped'] . '|[' .
- self::CHAR_ALNUM . self::CHAR_MARK . ';:&=+$,' . '])+$/', $username);
-
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: username validation failed');
- }
-
- return $status === 1;
- }
-
- /**
- * Sets the username for the current URI, and returns the old username
- *
- * @param string $username The HTTP username
- * @throws Zend_Uri_Exception When $username is not a valid HTTP username
- * @return string
- */
- public function setUsername($username)
- {
- if ($this->validateUsername($username) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Username \"$username\" is not a valid HTTP username");
- }
-
- $oldUsername = $this->_username;
- $this->_username = $username;
-
- return $oldUsername;
- }
-
- /**
- * Returns the password portion of the URL, or FALSE if none.
- *
- * @return string
- */
- public function getPassword()
- {
- return strlen($this->_password) > 0 ? $this->_password : false;
- }
-
- /**
- * Returns true if and only if the password passes validation. If no password is passed,
- * then the password contained in the instance variable is used.
- *
- * @param string $password The HTTP password
- * @throws Zend_Uri_Exception When password validation fails
- * @return boolean
- * @link http://www.faqs.org/rfcs/rfc2396.html
- */
- public function validatePassword($password = null)
- {
- if ($password === null) {
- $password = $this->_password;
- }
-
- // If the password is empty, then it is considered valid
- if (strlen($password) === 0) {
- return true;
- }
-
- // If the password is nonempty, but there is no username, then it is considered invalid
- if (strlen($password) > 0 and strlen($this->_username) === 0) {
- return false;
- }
-
- // Check the password against the allowed values
- $status = @preg_match('/^(?:' . $this->_regex['escaped'] . '|[' .
- self::CHAR_ALNUM . self::CHAR_MARK . ';:&=+$,' . '])+$/', $password);
-
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: password validation failed.');
- }
-
- return $status == 1;
- }
-
- /**
- * Sets the password for the current URI, and returns the old password
- *
- * @param string $password The HTTP password
- * @throws Zend_Uri_Exception When $password is not a valid HTTP password
- * @return string
- */
- public function setPassword($password)
- {
- if ($this->validatePassword($password) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Password \"$password\" is not a valid HTTP password.");
- }
-
- $oldPassword = $this->_password;
- $this->_password = $password;
-
- return $oldPassword;
- }
-
- /**
- * Returns the domain or host IP portion of the URL, or FALSE if none.
- *
- * @return string
- */
- public function getHost()
- {
- return strlen($this->_host) > 0 ? $this->_host : false;
- }
-
- /**
- * Returns true if and only if the host string passes validation. If no host is passed,
- * then the host contained in the instance variable is used.
- *
- * @param string $host The HTTP host
- * @return boolean
- * @uses Zend_Filter
- */
- public function validateHost($host = null)
- {
- if ($host === null) {
- $host = $this->_host;
- }
-
- // If the host is empty, then it is considered invalid
- if (strlen($host) === 0) {
- return false;
- }
-
- // Check the host against the allowed values; delegated to Zend_Filter.
- $validate = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_ALL);
-
- return $validate->isValid($host);
- }
-
- /**
- * Sets the host for the current URI, and returns the old host
- *
- * @param string $host The HTTP host
- * @throws Zend_Uri_Exception When $host is nota valid HTTP host
- * @return string
- */
- public function setHost($host)
- {
- if ($this->validateHost($host) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Host \"$host\" is not a valid HTTP host");
- }
-
- $oldHost = $this->_host;
- $this->_host = $host;
-
- return $oldHost;
- }
-
- /**
- * Returns the TCP port, or FALSE if none.
- *
- * @return string
- */
- public function getPort()
- {
- return strlen($this->_port) > 0 ? $this->_port : false;
- }
-
- /**
- * Returns true if and only if the TCP port string passes validation. If no port is passed,
- * then the port contained in the instance variable is used.
- *
- * @param string $port The HTTP port
- * @return boolean
- */
- public function validatePort($port = null)
- {
- if ($port === null) {
- $port = $this->_port;
- }
-
- // If the port is empty, then it is considered valid
- if (strlen($port) === 0) {
- return true;
- }
-
- // Check the port against the allowed values
- return ctype_digit((string) $port) and 1 <= $port and $port <= 65535;
- }
-
- /**
- * Sets the port for the current URI, and returns the old port
- *
- * @param string $port The HTTP port
- * @throws Zend_Uri_Exception When $port is not a valid HTTP port
- * @return string
- */
- public function setPort($port)
- {
- if ($this->validatePort($port) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Port \"$port\" is not a valid HTTP port.");
- }
-
- $oldPort = $this->_port;
- $this->_port = $port;
-
- return $oldPort;
- }
-
- /**
- * Returns the path and filename portion of the URL, or FALSE if none.
- *
- * @return string
- */
- public function getPath()
- {
- return strlen($this->_path) > 0 ? $this->_path : '/';
- }
-
- /**
- * Returns true if and only if the path string passes validation. If no path is passed,
- * then the path contained in the instance variable is used.
- *
- * @param string $path The HTTP path
- * @throws Zend_Uri_Exception When path validation fails
- * @return boolean
- */
- public function validatePath($path = null)
- {
- if ($path === null) {
- $path = $this->_path;
- }
-
- // If the path is empty, then it is considered valid
- if (strlen($path) === 0) {
- return true;
- }
-
- // Determine whether the path is well-formed
- $pattern = '/^' . $this->_regex['path'] . '$/';
- $status = @preg_match($pattern, $path);
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: path validation failed');
- }
-
- return (boolean) $status;
- }
-
- /**
- * Sets the path for the current URI, and returns the old path
- *
- * @param string $path The HTTP path
- * @throws Zend_Uri_Exception When $path is not a valid HTTP path
- * @return string
- */
- public function setPath($path)
- {
- if ($this->validatePath($path) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Path \"$path\" is not a valid HTTP path");
- }
-
- $oldPath = $this->_path;
- $this->_path = $path;
-
- return $oldPath;
- }
-
- /**
- * Returns the query portion of the URL (after ?), or FALSE if none.
- *
- * @return string
- */
- public function getQuery()
- {
- return strlen($this->_query) > 0 ? $this->_query : false;
- }
-
- /**
- * Returns the query portion of the URL (after ?) as a
- * key-value-array. If the query is empty an empty array
- * is returned
- *
- * @return array
- */
- public function getQueryAsArray()
- {
- $query = $this->getQuery();
- $querryArray = array();
- if ($query !== false) {
- parse_str($query, $querryArray);
- }
- return $querryArray;
- }
-
- /**
- * Returns true if and only if the query string passes validation. If no query is passed,
- * then the query string contained in the instance variable is used.
- *
- * @param string $query The query to validate
- * @throws Zend_Uri_Exception When query validation fails
- * @return boolean
- * @link http://www.faqs.org/rfcs/rfc2396.html
- */
- public function validateQuery($query = null)
- {
- if ($query === null) {
- $query = $this->_query;
- }
-
- // If query is empty, it is considered to be valid
- if (strlen($query) === 0) {
- return true;
- }
-
- // Determine whether the query is well-formed
- $pattern = '/^' . $this->_regex['uric'] . '*$/';
- $status = @preg_match($pattern, $query);
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: query validation failed');
- }
-
- return $status == 1;
- }
-
- /**
- * Add or replace params in the query string for the current URI, and
- * return the old query.
- *
- * @param array $queryParams
- * @return string Old query string
- */
- public function addReplaceQueryParameters(array $queryParams)
- {
- $queryParams = array_merge($this->getQueryAsArray(), $queryParams);
- return $this->setQuery($queryParams);
- }
-
- /**
- * Remove params in the query string for the current URI, and
- * return the old query.
- *
- * @param array $queryParamKeys
- * @return string Old query string
- */
- public function removeQueryParameters(array $queryParamKeys)
- {
- $queryParams = array_diff_key($this->getQueryAsArray(), array_fill_keys($queryParamKeys, 0));
- return $this->setQuery($queryParams);
- }
-
- /**
- * Set the query string for the current URI, and return the old query
- * string This method accepts both strings and arrays.
- *
- * @param string|array $query The query string or array
- * @throws Zend_Uri_Exception When $query is not a valid query string
- * @return string Old query string
- */
- public function setQuery($query)
- {
- $oldQuery = $this->_query;
-
- // If query is empty, set an empty string
- if (empty($query) === true) {
- $this->_query = '';
- return $oldQuery;
- }
-
- // If query is an array, make a string out of it
- if (is_array($query) === true) {
- $query = http_build_query($query, '', '&');
- } else {
- // If it is a string, make sure it is valid. If not parse and encode it
- $query = (string) $query;
- if ($this->validateQuery($query) === false) {
- parse_str($query, $queryArray);
- $query = http_build_query($queryArray, '', '&');
- }
- }
-
- // Make sure the query is valid, and set it
- if ($this->validateQuery($query) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("'$query' is not a valid query string");
- }
-
- $this->_query = $query;
-
- return $oldQuery;
- }
-
- /**
- * Returns the fragment portion of the URL (after #), or FALSE if none.
- *
- * @return string|false
- */
- public function getFragment()
- {
- return strlen($this->_fragment) > 0 ? $this->_fragment : false;
- }
-
- /**
- * Returns true if and only if the fragment passes validation. If no fragment is passed,
- * then the fragment contained in the instance variable is used.
- *
- * @param string $fragment Fragment of an URI
- * @throws Zend_Uri_Exception When fragment validation fails
- * @return boolean
- * @link http://www.faqs.org/rfcs/rfc2396.html
- */
- public function validateFragment($fragment = null)
- {
- if ($fragment === null) {
- $fragment = $this->_fragment;
- }
-
- // If fragment is empty, it is considered to be valid
- if (strlen($fragment) === 0) {
- return true;
- }
-
- // Determine whether the fragment is well-formed
- $pattern = '/^' . $this->_regex['uric'] . '*$/';
- $status = @preg_match($pattern, $fragment);
- if ($status === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception('Internal error: fragment validation failed');
- }
-
- return (boolean) $status;
- }
-
- /**
- * Sets the fragment for the current URI, and returns the old fragment
- *
- * @param string $fragment Fragment of the current URI
- * @throws Zend_Uri_Exception When $fragment is not a valid HTTP fragment
- * @return string
- */
- public function setFragment($fragment)
- {
- if ($this->validateFragment($fragment) === false) {
- require_once 'Zend/Uri/Exception.php';
- throw new Zend_Uri_Exception("Fragment \"$fragment\" is not a valid HTTP fragment");
- }
-
- $oldFragment = $this->_fragment;
- $this->_fragment = $fragment;
-
- return $oldFragment;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate.php b/airtime_mvc/library/Zend/Validate.php
deleted file mode 100644
index 98b9c310b..000000000
--- a/airtime_mvc/library/Zend/Validate.php
+++ /dev/null
@@ -1,290 +0,0 @@
-_validators[] = array(
- 'instance' => $validator,
- 'breakChainOnFailure' => (boolean) $breakChainOnFailure
- );
- return $this;
- }
-
- /**
- * Returns true if and only if $value passes all validations in the chain
- *
- * Validators are run in the order in which they were added to the chain (FIFO).
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_messages = array();
- $this->_errors = array();
- $result = true;
- foreach ($this->_validators as $element) {
- $validator = $element['instance'];
- if ($validator->isValid($value)) {
- continue;
- }
- $result = false;
- $messages = $validator->getMessages();
- $this->_messages = array_merge($this->_messages, $messages);
- $this->_errors = array_merge($this->_errors, array_keys($messages));
- if ($element['breakChainOnFailure']) {
- break;
- }
- }
- return $result;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns array of validation failure messages
- *
- * @return array
- */
- public function getMessages()
- {
- return $this->_messages;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns array of validation failure message codes
- *
- * @return array
- * @deprecated Since 1.5.0
- */
- public function getErrors()
- {
- return $this->_errors;
- }
-
- /**
- * Returns the set default namespaces
- *
- * @return array
- */
- public static function getDefaultNamespaces()
- {
- return self::$_defaultNamespaces;
- }
-
- /**
- * Sets new default namespaces
- *
- * @param array|string $namespace
- * @return null
- */
- public static function setDefaultNamespaces($namespace)
- {
- if (!is_array($namespace)) {
- $namespace = array((string) $namespace);
- }
-
- self::$_defaultNamespaces = $namespace;
- }
-
- /**
- * Adds a new default namespace
- *
- * @param array|string $namespace
- * @return null
- */
- public static function addDefaultNamespaces($namespace)
- {
- if (!is_array($namespace)) {
- $namespace = array((string) $namespace);
- }
-
- self::$_defaultNamespaces = array_unique(array_merge(self::$_defaultNamespaces, $namespace));
- }
-
- /**
- * Returns true when defaultNamespaces are set
- *
- * @return boolean
- */
- public static function hasDefaultNamespaces()
- {
- return (!empty(self::$_defaultNamespaces));
- }
-
- /**
- * @param mixed $value
- * @param string $classBaseName
- * @param array $args OPTIONAL
- * @param mixed $namespaces OPTIONAL
- * @return boolean
- * @throws Zend_Validate_Exception
- */
- public static function is($value, $classBaseName, array $args = array(), $namespaces = array())
- {
- $namespaces = array_merge((array) $namespaces, self::$_defaultNamespaces, array('Zend_Validate'));
- $className = ucfirst($classBaseName);
- try {
- if (!class_exists($className, false)) {
- require_once 'Zend/Loader.php';
- foreach($namespaces as $namespace) {
- $class = $namespace . '_' . $className;
- $file = str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php';
- if (Zend_Loader::isReadable($file)) {
- Zend_Loader::loadClass($class);
- $className = $class;
- break;
- }
- }
- }
-
- $class = new ReflectionClass($className);
- if ($class->implementsInterface('Zend_Validate_Interface')) {
- if ($class->hasMethod('__construct')) {
- $keys = array_keys($args);
- $numeric = false;
- foreach($keys as $key) {
- if (is_numeric($key)) {
- $numeric = true;
- break;
- }
- }
-
- if ($numeric) {
- $object = $class->newInstanceArgs($args);
- } else {
- $object = $class->newInstance($args);
- }
- } else {
- $object = $class->newInstance();
- }
-
- return $object->isValid($value);
- }
- } catch (Zend_Validate_Exception $ze) {
- // if there is an exception while validating throw it
- throw $ze;
- } catch (Exception $e) {
- // fallthrough and continue for missing validation classes
- }
-
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Validate class not found from basename '$classBaseName'");
- }
-
- /**
- * Returns the maximum allowed message length
- *
- * @return integer
- */
- public static function getMessageLength()
- {
- require_once 'Zend/Validate/Abstract.php';
- return Zend_Validate_Abstract::getMessageLength();
- }
-
- /**
- * Sets the maximum allowed message length
- *
- * @param integer $length
- */
- public static function setMessageLength($length = -1)
- {
- require_once 'Zend/Validate/Abstract.php';
- Zend_Validate_Abstract::setMessageLength($length);
- }
-
- /**
- * Returns the default translation object
- *
- * @return Zend_Translate_Adapter|null
- */
- public static function getDefaultTranslator($translator = null)
- {
- require_once 'Zend/Validate/Abstract.php';
- return Zend_Validate_Abstract::getDefaultTranslator();
- }
-
- /**
- * Sets a default translation object for all validation objects
- *
- * @param Zend_Translate|Zend_Translate_Adapter|null $translator
- */
- public static function setDefaultTranslator($translator = null)
- {
- require_once 'Zend/Validate/Abstract.php';
- Zend_Validate_Abstract::setDefaultTranslator($translator);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Abstract.php b/airtime_mvc/library/Zend/Validate/Abstract.php
deleted file mode 100644
index b59478e97..000000000
--- a/airtime_mvc/library/Zend/Validate/Abstract.php
+++ /dev/null
@@ -1,436 +0,0 @@
-_messages;
- }
-
- /**
- * Returns an array of the names of variables that are used in constructing validation failure messages
- *
- * @return array
- */
- public function getMessageVariables()
- {
- return array_keys($this->_messageVariables);
- }
-
- /**
- * Returns the message templates from the validator
- *
- * @return array
- */
- public function getMessageTemplates()
- {
- return $this->_messageTemplates;
- }
-
- /**
- * Sets the validation failure message template for a particular key
- *
- * @param string $messageString
- * @param string $messageKey OPTIONAL
- * @return Zend_Validate_Abstract Provides a fluent interface
- * @throws Zend_Validate_Exception
- */
- public function setMessage($messageString, $messageKey = null)
- {
- if ($messageKey === null) {
- $keys = array_keys($this->_messageTemplates);
- foreach($keys as $key) {
- $this->setMessage($messageString, $key);
- }
- return $this;
- }
-
- if (!isset($this->_messageTemplates[$messageKey])) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("No message template exists for key '$messageKey'");
- }
-
- $this->_messageTemplates[$messageKey] = $messageString;
- return $this;
- }
-
- /**
- * Sets validation failure message templates given as an array, where the array keys are the message keys,
- * and the array values are the message template strings.
- *
- * @param array $messages
- * @return Zend_Validate_Abstract
- */
- public function setMessages(array $messages)
- {
- foreach ($messages as $key => $message) {
- $this->setMessage($message, $key);
- }
- return $this;
- }
-
- /**
- * Magic function returns the value of the requested property, if and only if it is the value or a
- * message variable.
- *
- * @param string $property
- * @return mixed
- * @throws Zend_Validate_Exception
- */
- public function __get($property)
- {
- if ($property == 'value') {
- return $this->_value;
- }
- if (array_key_exists($property, $this->_messageVariables)) {
- return $this->{$this->_messageVariables[$property]};
- }
- /**
- * @see Zend_Validate_Exception
- */
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("No property exists by the name '$property'");
- }
-
- /**
- * Constructs and returns a validation failure message with the given message key and value.
- *
- * Returns null if and only if $messageKey does not correspond to an existing template.
- *
- * If a translator is available and a translation exists for $messageKey,
- * the translation will be used.
- *
- * @param string $messageKey
- * @param string $value
- * @return string
- */
- protected function _createMessage($messageKey, $value)
- {
- if (!isset($this->_messageTemplates[$messageKey])) {
- return null;
- }
-
- $message = $this->_messageTemplates[$messageKey];
-
- if (null !== ($translator = $this->getTranslator())) {
- if ($translator->isTranslated($message)) {
- $message = $translator->translate($message);
- } elseif ($translator->isTranslated($messageKey)) {
- $message = $translator->translate($messageKey);
- }
- }
-
- if (is_object($value)) {
- if (!in_array('__toString', get_class_methods($value))) {
- $value = get_class($value) . ' object';
- } else {
- $value = $value->__toString();
- }
- } else {
- $value = (string)$value;
- }
-
- if ($this->getObscureValue()) {
- $value = str_repeat('*', strlen($value));
- }
-
- $message = str_replace('%value%', (string) $value, $message);
- foreach ($this->_messageVariables as $ident => $property) {
- $message = str_replace("%$ident%", (string) $this->$property, $message);
- }
-
- $length = self::getMessageLength();
- if (($length > -1) && (strlen($message) > $length)) {
- $message = substr($message, 0, (self::getMessageLength() - 3)) . '...';
- }
-
- return $message;
- }
-
- /**
- * @param string $messageKey
- * @param string $value OPTIONAL
- * @return void
- */
- protected function _error($messageKey, $value = null)
- {
- if ($messageKey === null) {
- $keys = array_keys($this->_messageTemplates);
- $messageKey = current($keys);
- }
- if ($value === null) {
- $value = $this->_value;
- }
- $this->_errors[] = $messageKey;
- $this->_messages[$messageKey] = $this->_createMessage($messageKey, $value);
- }
-
- /**
- * Sets the value to be validated and clears the messages and errors arrays
- *
- * @param mixed $value
- * @return void
- */
- protected function _setValue($value)
- {
- $this->_value = $value;
- $this->_messages = array();
- $this->_errors = array();
- }
-
- /**
- * Returns array of validation failure message codes
- *
- * @return array
- * @deprecated Since 1.5.0
- */
- public function getErrors()
- {
- return $this->_errors;
- }
-
- /**
- * Set flag indicating whether or not value should be obfuscated in messages
- *
- * @param bool $flag
- * @return Zend_Validate_Abstract
- */
- public function setObscureValue($flag)
- {
- $this->_obscureValue = (bool) $flag;
- return $this;
- }
-
- /**
- * Retrieve flag indicating whether or not value should be obfuscated in
- * messages
- *
- * @return bool
- */
- public function getObscureValue()
- {
- return $this->_obscureValue;
- }
-
- /**
- * Set translation object
- *
- * @param Zend_Translate|Zend_Translate_Adapter|null $translator
- * @return Zend_Validate_Abstract
- */
- public function setTranslator($translator = null)
- {
- if ((null === $translator) || ($translator instanceof Zend_Translate_Adapter)) {
- $this->_translator = $translator;
- } elseif ($translator instanceof Zend_Translate) {
- $this->_translator = $translator->getAdapter();
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid translator specified');
- }
- return $this;
- }
-
- /**
- * Return translation object
- *
- * @return Zend_Translate_Adapter|null
- */
- public function getTranslator()
- {
- if ($this->translatorIsDisabled()) {
- return null;
- }
-
- if (null === $this->_translator) {
- return self::getDefaultTranslator();
- }
-
- return $this->_translator;
- }
-
- /**
- * Set default translation object for all validate objects
- *
- * @param Zend_Translate|Zend_Translate_Adapter|null $translator
- * @return void
- */
- public static function setDefaultTranslator($translator = null)
- {
- if ((null === $translator) || ($translator instanceof Zend_Translate_Adapter)) {
- self::$_defaultTranslator = $translator;
- } elseif ($translator instanceof Zend_Translate) {
- self::$_defaultTranslator = $translator->getAdapter();
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid translator specified');
- }
- }
-
- /**
- * Get default translation object for all validate objects
- *
- * @return Zend_Translate_Adapter|null
- */
- public static function getDefaultTranslator()
- {
- if (null === self::$_defaultTranslator) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Translate')) {
- $translator = Zend_Registry::get('Zend_Translate');
- if ($translator instanceof Zend_Translate_Adapter) {
- return $translator;
- } elseif ($translator instanceof Zend_Translate) {
- return $translator->getAdapter();
- }
- }
- }
-
- return self::$_defaultTranslator;
- }
-
- /**
- * Indicate whether or not translation should be disabled
- *
- * @param bool $flag
- * @return Zend_Validate_Abstract
- */
- public function setDisableTranslator($flag)
- {
- $this->_translatorDisabled = (bool) $flag;
- return $this;
- }
-
- /**
- * Is translation disabled?
- *
- * @return bool
- */
- public function translatorIsDisabled()
- {
- return $this->_translatorDisabled;
- }
-
- /**
- * Returns the maximum allowed message length
- *
- * @return integer
- */
- public static function getMessageLength()
- {
- return self::$_messageLength;
- }
-
- /**
- * Sets the maximum allowed message length
- *
- * @param integer $length
- */
- public static function setMessageLength($length = -1)
- {
- self::$_messageLength = $length;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Alnum.php b/airtime_mvc/library/Zend/Validate/Alnum.php
deleted file mode 100644
index d222a368f..000000000
--- a/airtime_mvc/library/Zend/Validate/Alnum.php
+++ /dev/null
@@ -1,150 +0,0 @@
- "Invalid type given, value should be float, string, or integer",
- self::NOT_ALNUM => "'%value%' contains characters which are non alphabetic and no digits",
- self::STRING_EMPTY => "'%value%' is an empty string",
- );
-
- /**
- * Sets default option values for this instance
- *
- * @param boolean|Zend_Config $allowWhiteSpace
- * @return void
- */
- public function __construct($allowWhiteSpace = false)
- {
- if ($allowWhiteSpace instanceof Zend_Config) {
- $allowWhiteSpace = $allowWhiteSpace->toArray();
- }
-
- if (is_array($allowWhiteSpace)) {
- if (array_key_exists('allowWhiteSpace', $allowWhiteSpace)) {
- $allowWhiteSpace = $allowWhiteSpace['allowWhiteSpace'];
- } else {
- $allowWhiteSpace = false;
- }
- }
-
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- }
-
- /**
- * Returns the allowWhiteSpace option
- *
- * @return boolean
- */
- public function getAllowWhiteSpace()
- {
- return $this->allowWhiteSpace;
- }
-
- /**
- * Sets the allowWhiteSpace option
- *
- * @param boolean $allowWhiteSpace
- * @return Zend_Filter_Alnum Provides a fluent interface
- */
- public function setAllowWhiteSpace($allowWhiteSpace)
- {
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value contains only alphabetic and digit characters
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value) && !is_float($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
-
- if ('' === $value) {
- $this->_error(self::STRING_EMPTY);
- return false;
- }
-
- if (null === self::$_filter) {
- /**
- * @see Zend_Filter_Alnum
- */
- require_once 'Zend/Filter/Alnum.php';
- self::$_filter = new Zend_Filter_Alnum();
- }
-
- self::$_filter->allowWhiteSpace = $this->allowWhiteSpace;
-
- if ($value != self::$_filter->filter($value)) {
- $this->_error(self::NOT_ALNUM);
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Validate/Alpha.php b/airtime_mvc/library/Zend/Validate/Alpha.php
deleted file mode 100644
index 547417774..000000000
--- a/airtime_mvc/library/Zend/Validate/Alpha.php
+++ /dev/null
@@ -1,150 +0,0 @@
- "Invalid type given, value should be a string",
- self::NOT_ALPHA => "'%value%' contains non alphabetic characters",
- self::STRING_EMPTY => "'%value%' is an empty string"
- );
-
- /**
- * Sets default option values for this instance
- *
- * @param boolean|Zend_Config $allowWhiteSpace
- * @return void
- */
- public function __construct($allowWhiteSpace = false)
- {
- if ($allowWhiteSpace instanceof Zend_Config) {
- $allowWhiteSpace = $allowWhiteSpace->toArray();
- }
-
- if (is_array($allowWhiteSpace)) {
- if (array_key_exists('allowWhiteSpace', $allowWhiteSpace)) {
- $allowWhiteSpace = $allowWhiteSpace['allowWhiteSpace'];
- } else {
- $allowWhiteSpace = false;
- }
- }
-
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- }
-
- /**
- * Returns the allowWhiteSpace option
- *
- * @return boolean
- */
- public function getAllowWhiteSpace()
- {
- return $this->allowWhiteSpace;
- }
-
- /**
- * Sets the allowWhiteSpace option
- *
- * @param boolean $allowWhiteSpace
- * @return Zend_Filter_Alpha Provides a fluent interface
- */
- public function setAllowWhiteSpace($allowWhiteSpace)
- {
- $this->allowWhiteSpace = (boolean) $allowWhiteSpace;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value contains only alphabetic characters
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
-
- if ('' === $value) {
- $this->_error(self::STRING_EMPTY);
- return false;
- }
-
- if (null === self::$_filter) {
- /**
- * @see Zend_Filter_Alpha
- */
- require_once 'Zend/Filter/Alpha.php';
- self::$_filter = new Zend_Filter_Alpha();
- }
-
- self::$_filter->allowWhiteSpace = $this->allowWhiteSpace;
-
- if ($value !== self::$_filter->filter($value)) {
- $this->_error(self::NOT_ALPHA);
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode.php b/airtime_mvc/library/Zend/Validate/Barcode.php
deleted file mode 100644
index 933999a50..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode.php
+++ /dev/null
@@ -1,217 +0,0 @@
- "'%value%' failed checksum validation",
- self::INVALID_CHARS => "'%value%' contains invalid characters",
- self::INVALID_LENGTH => "'%value%' should have a length of %length% characters",
- self::INVALID => "Invalid type given, value should be string",
- );
-
- /**
- * Additional variables available for validation failure messages
- *
- * @var array
- */
- protected $_messageVariables = array(
- 'length' => '_length'
- );
-
- /**
- * Length for the set subtype
- *
- * @var integer
- */
- protected $_length;
-
- /**
- * Barcode adapter
- *
- * @var Zend_Validate_Barcode_BarcodeAdapter
- */
- protected $_adapter;
-
- /**
- * Generates the standard validator object
- *
- * @param string|Zend_Config|
- * Zend_Validate_Barcode_BarcodeAdapter $adapter Barcode adapter to use
- * @return void
- * @throws Zend_Validate_Exception
- */
- public function __construct($adapter)
- {
- if ($adapter instanceof Zend_Config) {
- $adapter = $adapter->toArray();
- }
-
- $options = null;
- $checksum = null;
- if (is_array($adapter)) {
- if (array_key_exists('options', $adapter)) {
- $options = $adapter['options'];
- }
-
- if (array_key_exists('checksum', $adapter)) {
- $checksum = $adapter['checksum'];
- }
-
- if (array_key_exists('adapter', $adapter)) {
- $adapter = $adapter['adapter'];
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Missing option 'adapter'");
- }
- }
-
- $this->setAdapter($adapter, $options);
- if ($checksum !== null) {
- $this->setChecksum($checksum);
- }
- }
-
- /**
- * Returns the set adapter
- *
- * @return Zend_Validate_Barcode_BarcodeAdapter
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * Sets a new barcode adapter
- *
- * @param string|Zend_Validate_Barcode $adapter Barcode adapter to use
- * @param array $options Options for this adapter
- * @return void
- * @throws Zend_Validate_Exception
- */
- public function setAdapter($adapter, $options = null)
- {
- $adapter = ucfirst(strtolower($adapter));
- require_once 'Zend/Loader.php';
- if (Zend_Loader::isReadable('Zend/Validate/Barcode/' . $adapter. '.php')) {
- $adapter = 'Zend_Validate_Barcode_' . $adapter;
- }
-
- if (!class_exists($adapter)) {
- Zend_Loader::loadClass($adapter);
- }
-
- $this->_adapter = new $adapter($options);
- if (!$this->_adapter instanceof Zend_Validate_Barcode_AdapterInterface) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception(
- "Adapter " . $adapter . " does not implement Zend_Validate_Barcode_AdapterInterface"
- );
- }
-
- return $this;
- }
-
- /**
- * Returns the checksum option
- *
- * @return boolean
- */
- public function getChecksum()
- {
- return $this->getAdapter()->getCheck();
- }
-
- /**
- * Sets the checksum option
- *
- * @param boolean $checksum
- * @return Zend_Validate_Barcode
- */
- public function setChecksum($checksum)
- {
- $this->getAdapter()->setCheck($checksum);
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value contains a valid barcode
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_value = (string) $value;
- $adapter = $this->getAdapter();
- $this->_length = $adapter->getLength();
- $result = $adapter->checkLength($value);
- if (!$result) {
- $this->_error(self::INVALID_LENGTH);
- return false;
- }
-
- $result = $adapter->checkChars($value);
- if (!$result) {
- $this->_error(self::INVALID_CHARS);
- return false;
- }
-
- if ($this->getChecksum()) {
- $result = $adapter->checksum($value);
- if (!$result) {
- $this->_error(self::FAILED);
- return false;
- }
- }
-
- return true;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/AdapterAbstract.php b/airtime_mvc/library/Zend/Validate/Barcode/AdapterAbstract.php
deleted file mode 100644
index 043189e6c..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/AdapterAbstract.php
+++ /dev/null
@@ -1,315 +0,0 @@
-getLength();
- if (is_array($length)) {
- foreach ($length as $value) {
- if ($fixum == $value) {
- $found = true;
- }
-
- if ($value == -1) {
- $found = true;
- }
- }
- } elseif ($fixum == $length) {
- $found = true;
- } elseif ($length == -1) {
- $found = true;
- } elseif ($length == 'even') {
- $count = $fixum % 2;
- $found = ($count == 0) ? true : false;
- } elseif ($length == 'odd') {
- $count = $fixum % 2;
- $found = ($count == 1) ? true : false;
- }
-
- return $found;
- }
-
- /**
- * Checks for allowed characters within the barcode
- *
- * @param string $value The barcode to check for allowed characters
- * @return boolean
- */
- public function checkChars($value)
- {
- if (!is_string($value)) {
- return false;
- }
-
- $characters = $this->getCharacters();
- if ($characters == 128) {
- for ($x = 0; $x < 128; ++$x) {
- $value = str_replace(chr($x), '', $value);
- }
- } else {
- $chars = str_split($characters);
- foreach ($chars as $char) {
- $value = str_replace($char, '', $value);
- }
- }
-
- if (strlen($value) > 0) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Validates the checksum
- *
- * @param string $value The barcode to check the checksum for
- * @return boolean
- */
- public function checksum($value)
- {
- $checksum = $this->getChecksum();
- if (!empty($checksum)) {
- if (method_exists($this, $checksum)) {
- return call_user_func(array($this, $checksum), $value);
- }
- }
-
- return false;
- }
-
- /**
- * Returns the allowed barcode length
- *
- * @return string
- */
- public function getLength()
- {
- return $this->_length;
- }
-
- /**
- * Returns the allowed characters
- *
- * @return integer|string
- */
- public function getCharacters()
- {
- return $this->_characters;
- }
-
- /**
- * Returns the checksum function name
- *
- */
- public function getChecksum()
- {
- return $this->_checksum;
- }
-
- /**
- * Returns if barcode uses checksum
- *
- * @return boolean
- */
- public function getCheck()
- {
- return $this->_hasChecksum;
- }
-
- /**
- * Sets the checksum validation
- *
- * @param boolean $check
- * @return Zend_Validate_Barcode_AdapterAbstract
- */
- public function setCheck($check)
- {
- $this->_hasChecksum = (boolean) $check;
- return $this;
- }
-
- /**
- * Validates the checksum (Modulo 10)
- * GTIN implementation factor 3
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _gtin($value)
- {
- $barcode = substr($value, 0, -1);
- $sum = 0;
- $length = strlen($barcode) - 1;
-
- for ($i = 0; $i <= $length; $i++) {
- if (($i % 2) === 0) {
- $sum += $barcode[$length - $i] * 3;
- } else {
- $sum += $barcode[$length - $i];
- }
- }
-
- $calc = $sum % 10;
- $checksum = ($calc === 0) ? 0 : (10 - $calc);
- if ($value[$length + 1] != $checksum) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Validates the checksum (Modulo 10)
- * IDENTCODE implementation factors 9 and 4
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _identcode($value)
- {
- $barcode = substr($value, 0, -1);
- $sum = 0;
- $length = strlen($value) - 2;
-
- for ($i = 0; $i <= $length; $i++) {
- if (($i % 2) === 0) {
- $sum += $barcode[$length - $i] * 4;
- } else {
- $sum += $barcode[$length - $i] * 9;
- }
- }
-
- $calc = $sum % 10;
- $checksum = ($calc === 0) ? 0 : (10 - $calc);
- if ($value[$length + 1] != $checksum) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Validates the checksum (Modulo 10)
- * CODE25 implementation factor 3
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _code25($value)
- {
- $barcode = substr($value, 0, -1);
- $sum = 0;
- $length = strlen($barcode) - 1;
-
- for ($i = 0; $i <= $length; $i++) {
- if (($i % 2) === 0) {
- $sum += $barcode[$i] * 3;
- } else {
- $sum += $barcode[$i];
- }
- }
-
- $calc = $sum % 10;
- $checksum = ($calc === 0) ? 0 : (10 - $calc);
- if ($value[$length + 1] != $checksum) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Validates the checksum ()
- * POSTNET implementation
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _postnet($value)
- {
- $checksum = substr($value, -1, 1);
- $values = str_split(substr($value, 0, -1));
-
- $check = 0;
- foreach($values as $row) {
- $check += $row;
- }
-
- $check %= 10;
- $check = 10 - $check;
- if ($check == $checksum) {
- return true;
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/AdapterInterface.php b/airtime_mvc/library/Zend/Validate/Barcode/AdapterInterface.php
deleted file mode 100644
index 325c6048f..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/AdapterInterface.php
+++ /dev/null
@@ -1,68 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Code25interleaved.php b/airtime_mvc/library/Zend/Validate/Barcode/Code25interleaved.php
deleted file mode 100644
index 7e5a8d919..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Code25interleaved.php
+++ /dev/null
@@ -1,64 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Code39.php b/airtime_mvc/library/Zend/Validate/Barcode/Code39.php
deleted file mode 100644
index 858084fe2..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Code39.php
+++ /dev/null
@@ -1,100 +0,0 @@
- 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6,
- '7' => 7, '8' => 8, '9' => 9, 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13,
- 'E' => 14, 'F' => 15, 'G' => 16, 'H' => 17, 'I' => 18, 'J' => 19, 'K' => 20,
- 'L' => 21, 'M' => 22, 'N' => 23, 'O' => 24, 'P' => 25, 'Q' => 26, 'R' => 27,
- 'S' => 28, 'T' => 29, 'U' => 30, 'V' => 31, 'W' => 32, 'X' => 33, 'Y' => 34,
- 'Z' => 35, '-' => 36, '.' => 37, ' ' => 38, '$' => 39, '/' => 40, '+' => 41,
- '%' => 42,
- );
-
- /**
- * Constructor
- *
- * Sets check flag to false.
- *
- * @return void
- */
- public function __construct()
- {
- $this->setCheck(false);
- }
-
- /**
- * Validates the checksum (Modulo 43)
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _code39($value)
- {
- $checksum = substr($value, -1, 1);
- $value = str_split(substr($value, 0, -1));
- $count = 0;
- foreach($value as $char) {
- $count += $this->_check[$char];
- }
-
- $mod = $count % 43;
- if ($mod == $this->_check[$checksum]) {
- return true;
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Code39ext.php b/airtime_mvc/library/Zend/Validate/Barcode/Code39ext.php
deleted file mode 100644
index 5c1d65ee6..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Code39ext.php
+++ /dev/null
@@ -1,58 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Code93.php b/airtime_mvc/library/Zend/Validate/Barcode/Code93.php
deleted file mode 100644
index deb5183d4..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Code93.php
+++ /dev/null
@@ -1,120 +0,0 @@
- 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6,
- '7' => 7, '8' => 8, '9' => 9, 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13,
- 'E' => 14, 'F' => 15, 'G' => 16, 'H' => 17, 'I' => 18, 'J' => 19, 'K' => 20,
- 'L' => 21, 'M' => 22, 'N' => 23, 'O' => 24, 'P' => 25, 'Q' => 26, 'R' => 27,
- 'S' => 28, 'T' => 29, 'U' => 30, 'V' => 31, 'W' => 32, 'X' => 33, 'Y' => 34,
- 'Z' => 35, '-' => 36, '.' => 37, ' ' => 38, '$' => 39, '/' => 40, '+' => 41,
- '%' => 42, '!' => 43, '"' => 44, '§' => 45, '&' => 46,
- );
-
- /**
- * Constructor
- *
- * Sets check flag to false.
- *
- * @return void
- */
- public function __construct()
- {
- $this->setCheck(false);
- }
-
- /**
- * Validates the checksum (Modulo CK)
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _code93($value)
- {
- $checksum = substr($value, -2, 2);
- $value = str_split(substr($value, 0, -2));
- $count = 0;
- $length = count($value) % 20;
- foreach($value as $char) {
- if ($length == 0) {
- $length = 20;
- }
-
- $count += $this->_check[$char] * $length;
- --$length;
- }
-
- $check = array_search(($count % 47), $this->_check);
- $value[] = $check;
- $count = 0;
- $length = count($value) % 15;
- foreach($value as $char) {
- if ($length == 0) {
- $length = 15;
- }
-
- $count += $this->_check[$char] * $length;
- --$length;
- }
- $check .= array_search(($count % 47), $this->_check);
-
- if ($check == $checksum) {
- return true;
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Code93ext.php b/airtime_mvc/library/Zend/Validate/Barcode/Code93ext.php
deleted file mode 100644
index 740d485c4..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Code93ext.php
+++ /dev/null
@@ -1,58 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Ean12.php b/airtime_mvc/library/Zend/Validate/Barcode/Ean12.php
deleted file mode 100644
index 56a2384be..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Ean12.php
+++ /dev/null
@@ -1,52 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Ean5.php b/airtime_mvc/library/Zend/Validate/Barcode/Ean5.php
deleted file mode 100644
index af6e49324..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Ean5.php
+++ /dev/null
@@ -1,58 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Ean8.php b/airtime_mvc/library/Zend/Validate/Barcode/Ean8.php
deleted file mode 100644
index c87af039f..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Ean8.php
+++ /dev/null
@@ -1,69 +0,0 @@
-setCheck(false);
- } else {
- $this->setCheck(true);
- }
-
- return parent::checkLength($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Gtin12.php b/airtime_mvc/library/Zend/Validate/Barcode/Gtin12.php
deleted file mode 100644
index 8915c4ec4..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Gtin12.php
+++ /dev/null
@@ -1,52 +0,0 @@
-setCheck(false);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Issn.php b/airtime_mvc/library/Zend/Validate/Barcode/Issn.php
deleted file mode 100644
index be629920e..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Issn.php
+++ /dev/null
@@ -1,119 +0,0 @@
-_checksum = '_issn';
- } else {
- $this->_checksum = '_gtin';
- }
-
- return parent::checksum($value);
- }
-
- /**
- * Validates the checksum ()
- * ISSN implementation (reversed mod11)
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _issn($value)
- {
- $checksum = substr($value, -1, 1);
- $values = str_split(substr($value, 0, -1));
- $check = 0;
- $multi = 8;
- foreach($values as $token) {
- if ($token == 'X') {
- $token = 10;
- }
-
- $check += ($token * $multi);
- --$multi;
- }
-
- $check %= 11;
- $check = 11 - $check;
- if ($check == $checksum) {
- return true;
- } else if (($check == 10) && ($checksum == 'X')) {
- return true;
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Itf14.php b/airtime_mvc/library/Zend/Validate/Barcode/Itf14.php
deleted file mode 100644
index d207a314c..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Itf14.php
+++ /dev/null
@@ -1,52 +0,0 @@
- 1, '1' => 1, '2' => 1, '3' => 1, '4' => 1, '5' => 1,
- '6' => 2, '7' => 2, '8' => 2, '9' => 2, 'A' => 2, 'B' => 2,
- 'C' => 3, 'D' => 3, 'E' => 3, 'F' => 3, 'G' => 3, 'H' => 3,
- 'I' => 4, 'J' => 4, 'K' => 4, 'L' => 4, 'M' => 4, 'N' => 4,
- 'O' => 5, 'P' => 5, 'Q' => 5, 'R' => 5, 'S' => 5, 'T' => 5,
- 'U' => 0, 'V' => 0, 'W' => 0, 'X' => 0, 'Y' => 0, 'Z' => 0,
- );
-
- protected $_columns = array(
- '0' => 1, '1' => 2, '2' => 3, '3' => 4, '4' => 5, '5' => 0,
- '6' => 1, '7' => 2, '8' => 3, '9' => 4, 'A' => 5, 'B' => 0,
- 'C' => 1, 'D' => 2, 'E' => 3, 'F' => 4, 'G' => 5, 'H' => 0,
- 'I' => 1, 'J' => 2, 'K' => 3, 'L' => 4, 'M' => 5, 'N' => 0,
- 'O' => 1, 'P' => 2, 'Q' => 3, 'R' => 4, 'S' => 5, 'T' => 0,
- 'U' => 1, 'V' => 2, 'W' => 3, 'X' => 4, 'Y' => 5, 'Z' => 0,
- );
-
- /**
- * Checksum function
- * @var string
- */
- protected $_checksum = '_royalmail';
-
- /**
- * Validates the checksum ()
- *
- * @param string $value The barcode to validate
- * @return boolean
- */
- protected function _royalmail($value)
- {
- $checksum = substr($value, -1, 1);
- $values = str_split(substr($value, 0, -1));
- $rowvalue = 0;
- $colvalue = 0;
- foreach($values as $row) {
- $rowvalue += $this->_rows[$row];
- $colvalue += $this->_columns[$row];
- }
-
- $rowvalue %= 6;
- $colvalue %= 6;
-
- $rowchkvalue = array_keys($this->_rows, $rowvalue);
- $colchkvalue = array_keys($this->_columns, $colvalue);
- $chkvalue = current(array_intersect($rowchkvalue, $colchkvalue));
- if ($chkvalue == $checksum) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Allows start and stop tag within checked chars
- *
- * @param string $value The barcode to check for allowed characters
- * @return boolean
- */
- public function checkChars($value)
- {
- if ($value[0] == '(') {
- $value = substr($value, 1);
-
- if ($value[strlen($value) - 1] == ')') {
- $value = substr($value, 0, -1);
- } else {
- return false;
- }
- }
-
- return parent::checkChars($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Barcode/Sscc.php b/airtime_mvc/library/Zend/Validate/Barcode/Sscc.php
deleted file mode 100644
index 50dd82079..000000000
--- a/airtime_mvc/library/Zend/Validate/Barcode/Sscc.php
+++ /dev/null
@@ -1,52 +0,0 @@
-setCheck(false);
- } else {
- $this->setCheck(true);
- }
-
- return parent::checkLength($value);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Between.php b/airtime_mvc/library/Zend/Validate/Between.php
deleted file mode 100644
index 332d7cb1e..000000000
--- a/airtime_mvc/library/Zend/Validate/Between.php
+++ /dev/null
@@ -1,224 +0,0 @@
- "'%value%' is not between '%min%' and '%max%', inclusively",
- self::NOT_BETWEEN_STRICT => "'%value%' is not strictly between '%min%' and '%max%'"
- );
-
- /**
- * Additional variables available for validation failure messages
- *
- * @var array
- */
- protected $_messageVariables = array(
- 'min' => '_min',
- 'max' => '_max'
- );
-
- /**
- * Minimum value
- *
- * @var mixed
- */
- protected $_min;
-
- /**
- * Maximum value
- *
- * @var mixed
- */
- protected $_max;
-
- /**
- * Whether to do inclusive comparisons, allowing equivalence to min and/or max
- *
- * If false, then strict comparisons are done, and the value may equal neither
- * the min nor max options
- *
- * @var boolean
- */
- protected $_inclusive;
-
- /**
- * Sets validator options
- * Accepts the following option keys:
- * 'min' => scalar, minimum border
- * 'max' => scalar, maximum border
- * 'inclusive' => boolean, inclusive border values
- *
- * @param array|Zend_Config $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['min'] = array_shift($options);
- if (!empty($options)) {
- $temp['max'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['inclusive'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (!array_key_exists('min', $options) || !array_key_exists('max', $options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Missing option. 'min' and 'max' has to be given");
- }
-
- if (!array_key_exists('inclusive', $options)) {
- $options['inclusive'] = true;
- }
-
- $this->setMin($options['min'])
- ->setMax($options['max'])
- ->setInclusive($options['inclusive']);
- }
-
- /**
- * Returns the min option
- *
- * @return mixed
- */
- public function getMin()
- {
- return $this->_min;
- }
-
- /**
- * Sets the min option
- *
- * @param mixed $min
- * @return Zend_Validate_Between Provides a fluent interface
- */
- public function setMin($min)
- {
- $this->_min = $min;
- return $this;
- }
-
- /**
- * Returns the max option
- *
- * @return mixed
- */
- public function getMax()
- {
- return $this->_max;
- }
-
- /**
- * Sets the max option
- *
- * @param mixed $max
- * @return Zend_Validate_Between Provides a fluent interface
- */
- public function setMax($max)
- {
- $this->_max = $max;
- return $this;
- }
-
- /**
- * Returns the inclusive option
- *
- * @return boolean
- */
- public function getInclusive()
- {
- return $this->_inclusive;
- }
-
- /**
- * Sets the inclusive option
- *
- * @param boolean $inclusive
- * @return Zend_Validate_Between Provides a fluent interface
- */
- public function setInclusive($inclusive)
- {
- $this->_inclusive = $inclusive;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is between min and max options, inclusively
- * if inclusive option is true.
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
-
- if ($this->_inclusive) {
- if ($this->_min > $value || $value > $this->_max) {
- $this->_error(self::NOT_BETWEEN);
- return false;
- }
- } else {
- if ($this->_min >= $value || $value >= $this->_max) {
- $this->_error(self::NOT_BETWEEN_STRICT);
- return false;
- }
- }
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Validate/Callback.php b/airtime_mvc/library/Zend/Validate/Callback.php
deleted file mode 100644
index 7dbade86a..000000000
--- a/airtime_mvc/library/Zend/Validate/Callback.php
+++ /dev/null
@@ -1,174 +0,0 @@
- "'%value%' is not valid",
- self::INVALID_CALLBACK => "Failure within the callback, exception returned",
- );
-
- /**
- * Callback in a call_user_func format
- *
- * @var string|array
- */
- protected $_callback = null;
-
- /**
- * Default options to set for the filter
- *
- * @var mixed
- */
- protected $_options = array();
-
- /**
- * Sets validator options
- *
- * @param string|array $callback
- * @param mixed $max
- * @param boolean $inclusive
- * @return void
- */
- public function __construct($callback = null)
- {
- if (is_callable($callback)) {
- $this->setCallback($callback);
- } elseif (is_array($callback)) {
- if (isset($callback['callback'])) {
- $this->setCallback($callback['callback']);
- }
- if (isset($callback['options'])) {
- $this->setOptions($callback['options']);
- }
- }
-
- if (null === ($initializedCallack = $this->getCallback())) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('No callback registered');
- }
- }
-
- /**
- * Returns the set callback
- *
- * @return mixed
- */
- public function getCallback()
- {
- return $this->_callback;
- }
-
- /**
- * Sets the callback
- *
- * @param string|array $callback
- * @return Zend_Validate_Callback Provides a fluent interface
- */
- public function setCallback($callback)
- {
- if (!is_callable($callback)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid callback given');
- }
- $this->_callback = $callback;
- return $this;
- }
-
- /**
- * Returns the set options for the callback
- *
- * @return mixed
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Sets options for the callback
- *
- * @param mixed $max
- * @return Zend_Validate_Callback Provides a fluent interface
- */
- public function setOptions($options)
- {
- $this->_options = (array) $options;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the set callback returns
- * for the provided $value
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
-
- $options = $this->getOptions();
- $callback = $this->getCallback();
- $args = func_get_args();
- $options = array_merge($args, $options);
-
- try {
- if (!call_user_func_array($callback, $options)) {
- $this->_error(self::INVALID_VALUE);
- return false;
- }
- } catch (Exception $e) {
- $this->_error(self::INVALID_CALLBACK);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Ccnum.php b/airtime_mvc/library/Zend/Validate/Ccnum.php
deleted file mode 100644
index 71f0f83bf..000000000
--- a/airtime_mvc/library/Zend/Validate/Ccnum.php
+++ /dev/null
@@ -1,112 +0,0 @@
- "'%value%' must contain between 13 and 19 digits",
- self::CHECKSUM => "Luhn algorithm (mod-10 checksum) failed on '%value%'"
- );
-
- public function __construct()
- {
- trigger_error('Using the Ccnum validator is deprecated in favor of the CreditCard validator');
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value follows the Luhn algorithm (mod-10 checksum)
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
-
- if (null === self::$_filter) {
- /**
- * @see Zend_Filter_Digits
- */
- require_once 'Zend/Filter/Digits.php';
- self::$_filter = new Zend_Filter_Digits();
- }
-
- $valueFiltered = self::$_filter->filter($value);
-
- $length = strlen($valueFiltered);
-
- if ($length < 13 || $length > 19) {
- $this->_error(self::LENGTH);
- return false;
- }
-
- $sum = 0;
- $weight = 2;
-
- for ($i = $length - 2; $i >= 0; $i--) {
- $digit = $weight * $valueFiltered[$i];
- $sum += floor($digit / 10) + $digit % 10;
- $weight = $weight % 2 + 1;
- }
-
- if ((10 - $sum % 10) % 10 != $valueFiltered[$length - 1]) {
- $this->_error(self::CHECKSUM, $valueFiltered);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/CreditCard.php b/airtime_mvc/library/Zend/Validate/CreditCard.php
deleted file mode 100644
index e96b92a97..000000000
--- a/airtime_mvc/library/Zend/Validate/CreditCard.php
+++ /dev/null
@@ -1,317 +0,0 @@
- "Luhn algorithm (mod-10 checksum) failed on '%value%'",
- self::CONTENT => "'%value%' must contain only digits",
- self::INVALID => "Invalid type given, value should be a string",
- self::LENGTH => "'%value%' contains an invalid amount of digits",
- self::PREFIX => "'%value%' is not from an allowed institute",
- self::SERVICE => "Validation of '%value%' has been failed by the service",
- self::SERVICEFAILURE => "The service returned a failure while validating '%value%'",
- );
-
- /**
- * List of allowed CCV lengths
- *
- * @var array
- */
- protected $_cardLength = array(
- self::AMERICAN_EXPRESS => array(15),
- self::DINERS_CLUB => array(14),
- self::DINERS_CLUB_US => array(16),
- self::DISCOVER => array(16),
- self::JCB => array(16),
- self::LASER => array(16, 17, 18, 19),
- self::MAESTRO => array(12, 13, 14, 15, 16, 17, 18, 19),
- self::MASTERCARD => array(16),
- self::SOLO => array(16, 18, 19),
- self::UNIONPAY => array(16, 17, 18, 19),
- self::VISA => array(16),
- );
-
- /**
- * List of accepted CCV provider tags
- *
- * @var array
- */
- protected $_cardType = array(
- self::AMERICAN_EXPRESS => array('34', '37'),
- self::DINERS_CLUB => array('300', '301', '302', '303', '304', '305', '36'),
- self::DINERS_CLUB_US => array('54', '55'),
- self::DISCOVER => array('6011', '622126', '622127', '622128', '622129', '62213',
- '62214', '62215', '62216', '62217', '62218', '62219',
- '6222', '6223', '6224', '6225', '6226', '6227', '6228',
- '62290', '62291', '622920', '622921', '622922', '622923',
- '622924', '622925', '644', '645', '646', '647', '648',
- '649', '65'),
- self::JCB => array('3528', '3529', '353', '354', '355', '356', '357', '358'),
- self::LASER => array('6304', '6706', '6771', '6709'),
- self::MAESTRO => array('5018', '5020', '5038', '6304', '6759', '6761', '6763'),
- self::MASTERCARD => array('51', '52', '53', '54', '55'),
- self::SOLO => array('6334', '6767'),
- self::UNIONPAY => array('622126', '622127', '622128', '622129', '62213', '62214',
- '62215', '62216', '62217', '62218', '62219', '6222', '6223',
- '6224', '6225', '6226', '6227', '6228', '62290', '62291',
- '622920', '622921', '622922', '622923', '622924', '622925'),
- self::VISA => array('4'),
- );
-
- /**
- * CCIs which are accepted by validation
- *
- * @var array
- */
- protected $_type = array();
-
- /**
- * Service callback for additional validation
- *
- * @var callback
- */
- protected $_service;
-
- /**
- * Constructor
- *
- * @param string|array $type OPTIONAL Type of CCI to allow
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['type'] = array_shift($options);
- if (!empty($options)) {
- $temp['service'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (!array_key_exists('type', $options)) {
- $options['type'] = self::ALL;
- }
-
- $this->setType($options['type']);
- if (array_key_exists('service', $options)) {
- $this->setService($options['service']);
- }
- }
-
- /**
- * Returns a list of accepted CCIs
- *
- * @return array
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Sets CCIs which are accepted by validation
- *
- * @param string|array $type Type to allow for validation
- * @return Zend_Validate_CreditCard Provides a fluid interface
- */
- public function setType($type)
- {
- $this->_type = array();
- return $this->addType($type);
- }
-
- /**
- * Adds a CCI to be accepted by validation
- *
- * @param string|array $type Type to allow for validation
- * @return Zend_Validate_CreditCard Provides a fluid interface
- */
- public function addType($type)
- {
- if (is_string($type)) {
- $type = array($type);
- }
-
- foreach($type as $typ) {
- if (defined('self::' . strtoupper($typ)) && !in_array($typ, $this->_type)) {
- $this->_type[] = $typ;
- }
-
- if (($typ == self::ALL)) {
- $this->_type = array_keys($this->_cardLength);
- }
- }
-
- return $this;
- }
-
- /**
- * Returns the actual set service
- *
- * @return callback
- */
- public function getService()
- {
- return $this->_service;
- }
-
- /**
- * Sets a new callback for service validation
- *
- * @param unknown_type $service
- */
- public function setService($service)
- {
- if (!is_callable($service)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid callback given');
- }
-
- $this->_service = $service;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value follows the Luhn algorithm (mod-10 checksum)
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
-
- if (!is_string($value)) {
- $this->_error(self::INVALID, $value);
- return false;
- }
-
- if (!ctype_digit($value)) {
- $this->_error(self::CONTENT, $value);
- return false;
- }
-
- $length = strlen($value);
- $types = $this->getType();
- $foundp = false;
- $foundl = false;
- foreach ($types as $type) {
- foreach ($this->_cardType[$type] as $prefix) {
- if (substr($value, 0, strlen($prefix)) == $prefix) {
- $foundp = true;
- if (in_array($length, $this->_cardLength[$type])) {
- $foundl = true;
- break 2;
- }
- }
- }
- }
-
- if ($foundp == false){
- $this->_error(self::PREFIX, $value);
- return false;
- }
-
- if ($foundl == false) {
- $this->_error(self::LENGTH, $value);
- return false;
- }
-
- $sum = 0;
- $weight = 2;
-
- for ($i = $length - 2; $i >= 0; $i--) {
- $digit = $weight * $value[$i];
- $sum += floor($digit / 10) + $digit % 10;
- $weight = $weight % 2 + 1;
- }
-
- if ((10 - $sum % 10) % 10 != $value[$length - 1]) {
- $this->_error(self::CHECKSUM, $value);
- return false;
- }
-
- if (!empty($this->_service)) {
- try {
- require_once 'Zend/Validate/Callback.php';
- $callback = new Zend_Validate_Callback($this->_service);
- $callback->setOptions($this->_type);
- if (!$callback->isValid($value)) {
- $this->_error(self::SERVICE, $value);
- return false;
- }
- } catch (Zend_Exception $e) {
- $this->_error(self::SERVICEFAILURE, $value);
- return false;
- }
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Date.php b/airtime_mvc/library/Zend/Validate/Date.php
deleted file mode 100644
index 993f99cb5..000000000
--- a/airtime_mvc/library/Zend/Validate/Date.php
+++ /dev/null
@@ -1,259 +0,0 @@
- "Invalid type given, value should be string, integer, array or Zend_Date",
- self::INVALID_DATE => "'%value%' does not appear to be a valid date",
- self::FALSEFORMAT => "'%value%' does not fit the date format '%format%'",
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'format' => '_format'
- );
-
- /**
- * Optional format
- *
- * @var string|null
- */
- protected $_format;
-
- /**
- * Optional locale
- *
- * @var string|Zend_Locale|null
- */
- protected $_locale;
-
- /**
- * Sets validator options
- *
- * @param string|Zend_Config $options OPTIONAL
- * @return void
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['format'] = array_shift($options);
- if (!empty($options)) {
- $temp['locale'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (array_key_exists('format', $options)) {
- $this->setFormat($options['format']);
- }
-
- if (!array_key_exists('locale', $options)) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Locale')) {
- $options['locale'] = Zend_Registry::get('Zend_Locale');
- }
- }
-
- if (array_key_exists('locale', $options)) {
- $this->setLocale($options['locale']);
- }
- }
-
- /**
- * Returns the locale option
- *
- * @return string|Zend_Locale|null
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Sets the locale option
- *
- * @param string|Zend_Locale $locale
- * @return Zend_Validate_Date provides a fluent interface
- */
- public function setLocale($locale = null)
- {
- require_once 'Zend/Locale.php';
- $this->_locale = Zend_Locale::findLocale($locale);
- return $this;
- }
-
- /**
- * Returns the locale option
- *
- * @return string|null
- */
- public function getFormat()
- {
- return $this->_format;
- }
-
- /**
- * Sets the format option
- *
- * @param string $format
- * @return Zend_Validate_Date provides a fluent interface
- */
- public function setFormat($format = null)
- {
- $this->_format = $format;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if $value is a valid date of the format YYYY-MM-DD
- * If optional $format or $locale is set the date format is checked
- * according to Zend_Date, see Zend_Date::isDate()
- *
- * @param string|array|Zend_Date $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value) && !is_float($value) &&
- !is_array($value) && !($value instanceof Zend_Date)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
-
- if (($this->_format !== null) || ($this->_locale !== null) || is_array($value) ||
- $value instanceof Zend_Date) {
- require_once 'Zend/Date.php';
- if (!Zend_Date::isDate($value, $this->_format, $this->_locale)) {
- if ($this->_checkFormat($value) === false) {
- $this->_error(self::FALSEFORMAT);
- } else {
- $this->_error(self::INVALID_DATE);
- }
- return false;
- }
- } else {
- if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $value)) {
- $this->_format = 'yyyy-MM-dd';
- $this->_error(self::FALSEFORMAT);
- $this->_format = null;
- return false;
- }
-
- list($year, $month, $day) = sscanf($value, '%d-%d-%d');
-
- if (!checkdate($month, $day, $year)) {
- $this->_error(self::INVALID_DATE);
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Check if the given date fits the given format
- *
- * @param string $value Date to check
- * @return boolean False when date does not fit the format
- */
- private function _checkFormat($value)
- {
- try {
- require_once 'Zend/Locale/Format.php';
- $parsed = Zend_Locale_Format::getDate($value, array(
- 'date_format' => $this->_format, 'format_type' => 'iso',
- 'fix_date' => false));
- if (isset($parsed['year']) and ((strpos(strtoupper($this->_format), 'YY') !== false) and
- (strpos(strtoupper($this->_format), 'YYYY') === false))) {
- $parsed['year'] = Zend_Date::getFullYear($parsed['year']);
- }
- } catch (Exception $e) {
- // Date can not be parsed
- return false;
- }
-
- if (((strpos($this->_format, 'Y') !== false) or (strpos($this->_format, 'y') !== false)) and
- (!isset($parsed['year']))) {
- // Year expected but not found
- return false;
- }
-
- if ((strpos($this->_format, 'M') !== false) and (!isset($parsed['month']))) {
- // Month expected but not found
- return false;
- }
-
- if ((strpos($this->_format, 'd') !== false) and (!isset($parsed['day']))) {
- // Day expected but not found
- return false;
- }
-
- if (((strpos($this->_format, 'H') !== false) or (strpos($this->_format, 'h') !== false)) and
- (!isset($parsed['hour']))) {
- // Hour expected but not found
- return false;
- }
-
- if ((strpos($this->_format, 'm') !== false) and (!isset($parsed['minute']))) {
- // Minute expected but not found
- return false;
- }
-
- if ((strpos($this->_format, 's') !== false) and (!isset($parsed['second']))) {
- // Second expected but not found
- return false;
- }
-
- // Date fits the format
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Db/Abstract.php b/airtime_mvc/library/Zend/Validate/Db/Abstract.php
deleted file mode 100644
index c1d2a98b3..000000000
--- a/airtime_mvc/library/Zend/Validate/Db/Abstract.php
+++ /dev/null
@@ -1,298 +0,0 @@
- 'No record matching %value% was found',
- self::ERROR_RECORD_FOUND => 'A record matching %value% was found',
- );
-
- /**
- * @var string
- */
- protected $_schema = null;
-
- /**
- * @var string
- */
- protected $_table = '';
-
- /**
- * @var string
- */
- protected $_field = '';
-
- /**
- * @var mixed
- */
- protected $_exclude = null;
-
- /**
- * Database adapter to use. If null isValid() will use Zend_Db::getInstance instead
- *
- * @var unknown_type
- */
- protected $_adapter = null;
-
- /**
- * Provides basic configuration for use with Zend_Validate_Db Validators
- * Setting $exclude allows a single record to be excluded from matching.
- * Exclude can either be a String containing a where clause, or an array with `field` and `value` keys
- * to define the where clause added to the sql.
- * A database adapter may optionally be supplied to avoid using the registered default adapter.
- *
- * The following option keys are supported:
- * 'table' => The database table to validate against
- * 'schema' => The schema keys
- * 'field' => The field to check for a match
- * 'exclude' => An optional where clause or field/value pair to exclude from the query
- * 'adapter' => An optional database adapter to use
- *
- * @param array|Zend_Config $options Options to use for this validator
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (func_num_args() > 1) {
- $options = func_get_args();
- $temp['table'] = array_shift($options);
- $temp['field'] = array_shift($options);
- if (!empty($options)) {
- $temp['exclude'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['adapter'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (!array_key_exists('table', $options) && !array_key_exists('schema', $options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Table or Schema option missing!');
- }
-
- if (!array_key_exists('field', $options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Field option missing!');
- }
-
- if (array_key_exists('adapter', $options)) {
- $this->setAdapter($options['adapter']);
- }
-
- if (array_key_exists('exclude', $options)) {
- $this->setExclude($options['exclude']);
- }
-
- $this->setField($options['field']);
- if (array_key_exists('table', $options)) {
- $this->setTable($options['table']);
- }
-
- if (array_key_exists('schema', $options)) {
- $this->setSchema($options['schema']);
- }
- }
-
- /**
- * Returns the set adapter
- *
- * @return Zend_Db_Adapter
- */
- public function getAdapter()
- {
- return $this->_adapter;
- }
-
- /**
- * Sets a new database adapter
- *
- * @param Zend_Db_Adapter_Abstract $adapter
- * @return Zend_Validate_Db_Abstract
- */
- public function setAdapter($adapter)
- {
- if (!($adapter instanceof Zend_Db_Adapter_Abstract)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Adapter option must be a database adapter!');
- }
-
- $this->_adapter = $adapter;
- return $this;
- }
-
- /**
- * Returns the set exclude clause
- *
- * @return string|array
- */
- public function getExclude()
- {
- return $this->_exclude;
- }
-
- /**
- * Sets a new exclude clause
- *
- * @param string|array $exclude
- * @return Zend_Validate_Db_Abstract
- */
- public function setExclude($exclude)
- {
- $this->_exclude = $exclude;
- return $this;
- }
-
- /**
- * Returns the set field
- *
- * @return string|array
- */
- public function getField()
- {
- return $this->_field;
- }
-
- /**
- * Sets a new field
- *
- * @param string $field
- * @return Zend_Validate_Db_Abstract
- */
- public function setField($field)
- {
- $this->_field = (string) $field;
- return $this;
- }
-
- /**
- * Returns the set table
- *
- * @return string
- */
- public function getTable()
- {
- return $this->_table;
- }
-
- /**
- * Sets a new table
- *
- * @param string $table
- * @return Zend_Validate_Db_Abstract
- */
- public function setTable($table)
- {
- $this->_table = (string) $table;
- return $this;
- }
-
- /**
- * Returns the set schema
- *
- * @return string
- */
- public function getSchema()
- {
- return $this->_schema;
- }
-
- /**
- * Sets a new schema
- *
- * @param string $schema
- * @return Zend_Validate_Db_Abstract
- */
- public function setSchema($schema)
- {
- $this->_schema = $schema;
- return $this;
- }
-
- /**
- * Run query and returns matches, or null if no matches are found.
- *
- * @param String $value
- * @return Array when matches are found.
- */
- protected function _query($value)
- {
- /**
- * Check for an adapter being defined. if not, fetch the default adapter.
- */
- if ($this->_adapter === null) {
- $this->_adapter = Zend_Db_Table_Abstract::getDefaultAdapter();
- if (null === $this->_adapter) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('No database adapter present');
- }
- }
-
- /**
- * Build select object
- */
- $select = new Zend_Db_Select($this->_adapter);
- $select->from($this->_table, array($this->_field), $this->_schema)
- ->where($this->_adapter->quoteIdentifier($this->_field).' = ?', $value);
- if ($this->_exclude !== null) {
- if (is_array($this->_exclude)) {
- $select->where($this->_adapter->quoteIdentifier($this->_exclude['field']).' != ?', $this->_exclude['value']);
- } else {
- $select->where($this->_exclude);
- }
- }
- $select->limit(1);
-
- /**
- * Run query
- */
- $result = $this->_adapter->fetchRow($select, array(), Zend_Db::FETCH_ASSOC);
-
- return $result;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Db/NoRecordExists.php b/airtime_mvc/library/Zend/Validate/Db/NoRecordExists.php
deleted file mode 100644
index 98dc59b8a..000000000
--- a/airtime_mvc/library/Zend/Validate/Db/NoRecordExists.php
+++ /dev/null
@@ -1,51 +0,0 @@
-_setValue($value);
-
- $result = $this->_query($value);
- if ($result) {
- $valid = false;
- $this->_error(self::ERROR_RECORD_FOUND);
- }
-
- return $valid;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Db/RecordExists.php b/airtime_mvc/library/Zend/Validate/Db/RecordExists.php
deleted file mode 100644
index 4a9122ad0..000000000
--- a/airtime_mvc/library/Zend/Validate/Db/RecordExists.php
+++ /dev/null
@@ -1,51 +0,0 @@
-_setValue($value);
-
- $result = $this->_query($value);
- if (!$result) {
- $valid = false;
- $this->_error(self::ERROR_NO_RECORD_FOUND);
- }
-
- return $valid;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Digits.php b/airtime_mvc/library/Zend/Validate/Digits.php
deleted file mode 100644
index 6439d37e0..000000000
--- a/airtime_mvc/library/Zend/Validate/Digits.php
+++ /dev/null
@@ -1,91 +0,0 @@
- "'%value%' contains characters which are not digits; but only digits are allowed",
- self::STRING_EMPTY => "'%value%' is an empty string",
- self::INVALID => "Invalid type given, value should be string, integer or float",
- );
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value only contains digit characters
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value) && !is_float($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue((string) $value);
-
- if ('' === $this->_value) {
- $this->_error(self::STRING_EMPTY);
- return false;
- }
-
- if (null === self::$_filter) {
- require_once 'Zend/Filter/Digits.php';
- self::$_filter = new Zend_Filter_Digits();
- }
-
- if ($this->_value !== self::$_filter->filter($this->_value)) {
- $this->_error(self::NOT_DIGITS);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/EmailAddress.php b/airtime_mvc/library/Zend/Validate/EmailAddress.php
deleted file mode 100644
index 834ed65e7..000000000
--- a/airtime_mvc/library/Zend/Validate/EmailAddress.php
+++ /dev/null
@@ -1,560 +0,0 @@
- "Invalid type given, value should be a string",
- self::INVALID_FORMAT => "'%value%' is no valid email address in the basic format local-part@hostname",
- self::INVALID_HOSTNAME => "'%hostname%' is no valid hostname for email address '%value%'",
- self::INVALID_MX_RECORD => "'%hostname%' does not appear to have a valid MX record for the email address '%value%'",
- self::INVALID_SEGMENT => "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network.",
- self::DOT_ATOM => "'%localPart%' can not be matched against dot-atom format",
- self::QUOTED_STRING => "'%localPart%' can not be matched against quoted-string format",
- self::INVALID_LOCAL_PART => "'%localPart%' is no valid local part for email address '%value%'",
- self::LENGTH_EXCEEDED => "'%value%' exceeds the allowed length",
- );
-
- /**
- * @see http://en.wikipedia.org/wiki/IPv4
- * @var array
- */
- protected $_invalidIp = array(
- '0' => '0.0.0.0/8',
- '10' => '10.0.0.0/8',
- '127' => '127.0.0.0/8',
- '128' => '128.0.0.0/16',
- '169' => '169.254.0.0/16',
- '172' => '172.16.0.0/12',
- '191' => '191.255.0.0/16',
- '192' => array(
- '192.0.0.0/24',
- '192.0.2.0/24',
- '192.88.99.0/24',
- '192.168.0.0/16'
- ),
- '198' => '198.18.0.0/15',
- '223' => '223.255.255.0/24',
- '224' => '224.0.0.0/4',
- '240' => '240.0.0.0/4'
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'hostname' => '_hostname',
- 'localPart' => '_localPart'
- );
-
- /**
- * @var string
- */
- protected $_hostname;
-
- /**
- * @var string
- */
- protected $_localPart;
-
- /**
- * Internal options array
- */
- protected $_options = array(
- 'mx' => false,
- 'deep' => false,
- 'domain' => true,
- 'allow' => Zend_Validate_Hostname::ALLOW_DNS,
- 'hostname' => null
- );
-
- /**
- * Instantiates hostname validator for local use
- *
- * The following option keys are supported:
- * 'hostname' => A hostname validator, see Zend_Validate_Hostname
- * 'allow' => Options for the hostname validator, see Zend_Validate_Hostname::ALLOW_*
- * 'mx' => If MX check should be enabled, boolean
- * 'deep' => If a deep MX check should be done, boolean
- *
- * @param array|Zend_Config $options OPTIONAL
- * @return void
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['allow'] = array_shift($options);
- if (!empty($options)) {
- $temp['mx'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['hostname'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- $options += $this->_options;
- $this->setOptions($options);
- }
-
- /**
- * Returns all set Options
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Set options for the email validator
- *
- * @param array $options
- * @return Zend_Validate_EmailAddress fluid interface
- */
- public function setOptions(array $options = array())
- {
- if (array_key_exists('messages', $options)) {
- $this->setMessages($options['messages']);
- }
-
- if (array_key_exists('hostname', $options)) {
- if (array_key_exists('allow', $options)) {
- $this->setHostnameValidator($options['hostname'], $options['allow']);
- } else {
- $this->setHostnameValidator($options['hostname']);
- }
- }
-
- if (array_key_exists('mx', $options)) {
- $this->setValidateMx($options['mx']);
- }
-
- if (array_key_exists('deep', $options)) {
- $this->setDeepMxCheck($options['deep']);
- }
-
- if (array_key_exists('domain', $options)) {
- $this->setDomainCheck($options['domain']);
- }
-
- return $this;
- }
-
- /**
- * Sets the validation failure message template for a particular key
- * Adds the ability to set messages to the attached hostname validator
- *
- * @param string $messageString
- * @param string $messageKey OPTIONAL
- * @return Zend_Validate_Abstract Provides a fluent interface
- * @throws Zend_Validate_Exception
- */
- public function setMessage($messageString, $messageKey = null)
- {
- $messageKeys = $messageKey;
- if ($messageKey === null) {
- $keys = array_keys($this->_messageTemplates);
- $messageKeys = current($keys);
- }
-
- if (!isset($this->_messageTemplates[$messageKeys])) {
- $this->_options['hostname']->setMessage($messageString, $messageKey);
- }
-
- $this->_messageTemplates[$messageKeys] = $messageString;
- return $this;
- }
-
- /**
- * Returns the set hostname validator
- *
- * @return Zend_Validate_Hostname
- */
- public function getHostnameValidator()
- {
- return $this->_options['hostname'];
- }
-
- /**
- * @param Zend_Validate_Hostname $hostnameValidator OPTIONAL
- * @param int $allow OPTIONAL
- * @return void
- */
- public function setHostnameValidator(Zend_Validate_Hostname $hostnameValidator = null, $allow = Zend_Validate_Hostname::ALLOW_DNS)
- {
- if (!$hostnameValidator) {
- $hostnameValidator = new Zend_Validate_Hostname($allow);
- }
-
- $this->_options['hostname'] = $hostnameValidator;
- $this->_options['allow'] = $allow;
- return $this;
- }
-
- /**
- * Whether MX checking via getmxrr is supported or not
- *
- * This currently only works on UNIX systems
- *
- * @return boolean
- */
- public function validateMxSupported()
- {
- return function_exists('getmxrr');
- }
-
- /**
- * Returns the set validateMx option
- *
- * @return boolean
- */
- public function getValidateMx()
- {
- return $this->_options['mx'];
- }
-
- /**
- * Set whether we check for a valid MX record via DNS
- *
- * This only applies when DNS hostnames are validated
- *
- * @param boolean $mx Set allowed to true to validate for MX records, and false to not validate them
- * @return Zend_Validate_EmailAddress Fluid Interface
- */
- public function setValidateMx($mx)
- {
- if ((bool) $mx && !$this->validateMxSupported()) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('MX checking not available on this system');
- }
-
- $this->_options['mx'] = (bool) $mx;
- return $this;
- }
-
- /**
- * Returns the set deepMxCheck option
- *
- * @return boolean
- */
- public function getDeepMxCheck()
- {
- return $this->_options['deep'];
- }
-
- /**
- * Set whether we check MX record should be a deep validation
- *
- * @param boolean $deep Set deep to true to perform a deep validation process for MX records
- * @return Zend_Validate_EmailAddress Fluid Interface
- */
- public function setDeepMxCheck($deep)
- {
- $this->_options['deep'] = (bool) $deep;
- return $this;
- }
-
- /**
- * Returns the set domainCheck option
- *
- * @return unknown
- */
- public function getDomainCheck()
- {
- return $this->_options['domain'];
- }
-
- /**
- * Sets if the domain should also be checked
- * or only the local part of the email address
- *
- * @param boolean $domain
- * @return Zend_Validate_EmailAddress Fluid Interface
- */
- public function setDomainCheck($domain = true)
- {
- $this->_options['domain'] = (boolean) $domain;
- return $this;
- }
-
- /**
- * Returns if the given host is reserved
- *
- * @param string $host
- * @return boolean
- */
- private function _isReserved($host){
- if (!preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $host)) {
- $host = gethostbyname($host);
- }
-
- $octet = explode('.',$host);
- if ((int)$octet[0] >= 224) {
- return true;
- } else if (array_key_exists($octet[0], $this->_invalidIp)) {
- foreach ((array)$this->_invalidIp[$octet[0]] as $subnetData) {
- // we skip the first loop as we already know that octet matches
- for ($i = 1; $i < 4; $i++) {
- if (strpos($subnetData, $octet[$i]) !== $i * 4) {
- break;
- }
- }
-
- $host = explode("/", $subnetData);
- $binaryHost = "";
- $tmp = explode(".", $host[0]);
- for ($i = 0; $i < 4 ; $i++) {
- $binaryHost .= str_pad(decbin($tmp[$i]), 8, "0", STR_PAD_LEFT);
- }
-
- $segmentData = array(
- 'network' => (int)$this->_toIp(str_pad(substr($binaryHost, 0, $host[1]), 32, 0)),
- 'broadcast' => (int)$this->_toIp(str_pad(substr($binaryHost, 0, $host[1]), 32, 1))
- );
-
- for ($j = $i; $j < 4; $j++) {
- if ((int)$octet[$j] < $segmentData['network'][$j] ||
- (int)$octet[$j] > $segmentData['broadcast'][$j]) {
- return false;
- }
- }
- }
-
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Converts a binary string to an IP address
- *
- * @param string $binary
- * @return mixed
- */
- private function _toIp($binary)
- {
- $ip = array();
- $tmp = explode(".", chunk_split($binary, 8, "."));
- for ($i = 0; $i < 4 ; $i++) {
- $ip[$i] = bindec($tmp[$i]);
- }
-
- return $ip;
- }
-
- /**
- * Internal method to validate the local part of the email address
- *
- * @return boolean
- */
- private function _validateLocalPart()
- {
- // First try to match the local part on the common dot-atom format
- $result = false;
-
- // Dot-atom characters are: 1*atext *("." 1*atext)
- // atext: ALPHA / DIGIT / and "!", "#", "$", "%", "&", "'", "*",
- // "+", "-", "/", "=", "?", "^", "_", "`", "{", "|", "}", "~"
- $atext = 'a-zA-Z0-9\x21\x23\x24\x25\x26\x27\x2a\x2b\x2d\x2f\x3d\x3f\x5e\x5f\x60\x7b\x7c\x7d\x7e';
- if (preg_match('/^[' . $atext . ']+(\x2e+[' . $atext . ']+)*$/', $this->_localPart)) {
- $result = true;
- } else {
- // Try quoted string format
-
- // Quoted-string characters are: DQUOTE *([FWS] qtext/quoted-pair) [FWS] DQUOTE
- // qtext: Non white space controls, and the rest of the US-ASCII characters not
- // including "\" or the quote character
- $noWsCtl = '\x01-\x08\x0b\x0c\x0e-\x1f\x7f';
- $qtext = $noWsCtl . '\x21\x23-\x5b\x5d-\x7e';
- $ws = '\x20\x09';
- if (preg_match('/^\x22([' . $ws . $qtext . '])*[$ws]?\x22$/', $this->_localPart)) {
- $result = true;
- } else {
- $this->_error(self::DOT_ATOM);
- $this->_error(self::QUOTED_STRING);
- $this->_error(self::INVALID_LOCAL_PART);
- }
- }
-
- return $result;
- }
-
- /**
- * Internal method to validate the servers MX records
- *
- * @return boolean
- */
- private function _validateMXRecords()
- {
- $mxHosts = array();
- $result = getmxrr($this->_hostname, $mxHosts);
- if (!$result) {
- $this->_error(self::INVALID_MX_RECORD);
- } else if ($this->_options['deep'] && function_exists('checkdnsrr')) {
- $validAddress = false;
- $reserved = true;
- foreach ($mxHosts as $hostname) {
- $res = $this->_isReserved($hostname);
- if (!$res) {
- $reserved = false;
- }
-
- if (!$res
- && (checkdnsrr($hostname, "A")
- || checkdnsrr($hostname, "AAAA")
- || checkdnsrr($hostname, "A6"))) {
- $validAddress = true;
- break;
- }
- }
-
- if (!$validAddress) {
- $result = false;
- if ($reserved) {
- $this->_error(self::INVALID_SEGMENT);
- } else {
- $this->_error(self::INVALID_MX_RECORD);
- }
- }
- }
-
- return $result;
- }
-
- /**
- * Internal method to validate the hostname part of the email address
- *
- * @return boolean
- */
- private function _validateHostnamePart()
- {
- $hostname = $this->_options['hostname']->setTranslator($this->getTranslator())
- ->isValid($this->_hostname);
- if (!$hostname) {
- $this->_error(self::INVALID_HOSTNAME);
-
- // Get messages and errors from hostnameValidator
- foreach ($this->_options['hostname']->getMessages() as $code => $message) {
- $this->_messages[$code] = $message;
- }
-
- foreach ($this->_options['hostname']->getErrors() as $error) {
- $this->_errors[] = $error;
- }
- } else if ($this->_options['mx']) {
- // MX check on hostname
- $hostname = $this->_validateMXRecords();
- }
-
- return $hostname;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is a valid email address
- * according to RFC2822
- *
- * @link http://www.ietf.org/rfc/rfc2822.txt RFC2822
- * @link http://www.columbia.edu/kermit/ascii.html US-ASCII characters
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $matches = array();
- $length = true;
- $this->_setValue($value);
-
- // Split email address up and disallow '..'
- if ((strpos($value, '..') !== false) or
- (!preg_match('/^(.+)@([^@]+)$/', $value, $matches))) {
- $this->_error(self::INVALID_FORMAT);
- return false;
- }
-
- $this->_localPart = $matches[1];
- $this->_hostname = $matches[2];
-
- if ((strlen($this->_localPart) > 64) || (strlen($this->_hostname) > 255)) {
- $length = false;
- $this->_error(self::LENGTH_EXCEEDED);
- }
-
- // Match hostname part
- if ($this->_options['domain']) {
- $hostname = $this->_validateHostnamePart();
- }
-
- $local = $this->_validateLocalPart();
-
- // If both parts valid, return true
- if ($local && $length) {
- if (($this->_options['domain'] && $hostname) || !$this->_options['domain']) {
- return true;
- }
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Exception.php b/airtime_mvc/library/Zend/Validate/Exception.php
deleted file mode 100644
index fa875e14e..000000000
--- a/airtime_mvc/library/Zend/Validate/Exception.php
+++ /dev/null
@@ -1,34 +0,0 @@
- "Too many files, maximum '%max%' are allowed but '%count%' are given",
- self::TOO_FEW => "Too few files, minimum '%min%' are expected but '%count%' are given",
- );
-
- /**
- * @var array Error message template variables
- */
- protected $_messageVariables = array(
- 'min' => '_min',
- 'max' => '_max',
- 'count' => '_count'
- );
-
- /**
- * Minimum file count
- *
- * If null, there is no minimum file count
- *
- * @var integer
- */
- protected $_min;
-
- /**
- * Maximum file count
- *
- * If null, there is no maximum file count
- *
- * @var integer|null
- */
- protected $_max;
-
- /**
- * Actual filecount
- *
- * @var integer
- */
- protected $_count;
-
- /**
- * Internal file array
- * @var array
- */
- protected $_files;
-
- /**
- * Sets validator options
- *
- * Min limits the file count, when used with max=null it is the maximum file count
- * It also accepts an array with the keys 'min' and 'max'
- *
- * If $options is a integer, it will be used as maximum file count
- * As Array is accepts the following keys:
- * 'min': Minimum filecount
- * 'max': Maximum filecount
- *
- * @param integer|array|Zend_Config $options Options for the adapter
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_string($options) || is_numeric($options)) {
- $options = array('max' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- if (1 < func_num_args()) {
- $options['min'] = func_get_arg(0);
- $options['max'] = func_get_arg(1);
- }
-
- if (isset($options['min'])) {
- $this->setMin($options);
- }
-
- if (isset($options['max'])) {
- $this->setMax($options);
- }
- }
-
- /**
- * Returns the minimum file count
- *
- * @return integer
- */
- public function getMin()
- {
- return $this->_min;
- }
-
- /**
- * Sets the minimum file count
- *
- * @param integer|array $min The minimum file count
- * @return Zend_Validate_File_Count Provides a fluent interface
- * @throws Zend_Validate_Exception When min is greater than max
- */
- public function setMin($min)
- {
- if (is_array($min) and isset($min['min'])) {
- $min = $min['min'];
- }
-
- if (!is_string($min) and !is_numeric($min)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- $min = (integer) $min;
- if (($this->_max !== null) && ($min > $this->_max)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The minimum must be less than or equal to the maximum file count, but $min >"
- . " {$this->_max}");
- }
-
- $this->_min = $min;
- return $this;
- }
-
- /**
- * Returns the maximum file count
- *
- * @return integer
- */
- public function getMax()
- {
- return $this->_max;
- }
-
- /**
- * Sets the maximum file count
- *
- * @param integer|array $max The maximum file count
- * @return Zend_Validate_StringLength Provides a fluent interface
- * @throws Zend_Validate_Exception When max is smaller than min
- */
- public function setMax($max)
- {
- if (is_array($max) and isset($max['max'])) {
- $max = $max['max'];
- }
-
- if (!is_string($max) and !is_numeric($max)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- $max = (integer) $max;
- if (($this->_min !== null) && ($max < $this->_min)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The maximum must be greater than or equal to the minimum file count, but "
- . "$max < {$this->_min}");
- }
-
- $this->_max = $max;
- return $this;
- }
-
- /**
- * Adds a file for validation
- *
- * @param string|array $file
- */
- public function addFile($file)
- {
- if (is_string($file)) {
- $file = array($file);
- }
-
- if (is_array($file)) {
- foreach ($file as $name) {
- if (!isset($this->_files[$name]) && !empty($name)) {
- $this->_files[$name] = $name;
- }
- }
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the file count of all checked files is at least min and
- * not bigger than max (when max is not null). Attention: When checking with set min you
- * must give all files with the first call, otherwise you will get an false.
- *
- * @param string|array $value Filenames to check for count
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- if (($file !== null) && !array_key_exists('destination', $file)) {
- $file['destination'] = dirname($value);
- }
-
- if (($file !== null) && array_key_exists('tmp_name', $file)) {
- $value = $file['destination'] . DIRECTORY_SEPARATOR . $file['name'];
- }
-
- if (($file === null) || !empty($file['tmp_name'])) {
- $this->addFile($value);
- }
-
- $this->_count = count($this->_files);
- if (($this->_max !== null) && ($this->_count > $this->_max)) {
- return $this->_throw($file, self::TOO_MANY);
- }
-
- if (($this->_min !== null) && ($this->_count < $this->_min)) {
- return $this->_throw($file, self::TOO_FEW);
- }
-
- return true;
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Crc32.php b/airtime_mvc/library/Zend/Validate/File/Crc32.php
deleted file mode 100644
index e7c06d603..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Crc32.php
+++ /dev/null
@@ -1,179 +0,0 @@
- "File '%value%' does not match the given crc32 hashes",
- self::NOT_DETECTED => "A crc32 hash could not be evaluated for the given file",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * Hash of the file
- *
- * @var string
- */
- protected $_hash;
-
- /**
- * Sets validator options
- *
- * @param string|array|Zend_Config $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_scalar($options)) {
- $options = array('hash1' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid options to validator provided');
- }
-
- $this->setCrc32($options);
- }
-
- /**
- * Returns all set crc32 hashes
- *
- * @return array
- */
- public function getCrc32()
- {
- return $this->getHash();
- }
-
- /**
- * Sets the crc32 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setHash($options)
- {
- if (!is_array($options)) {
- $options = array($options);
- }
-
- $options['algorithm'] = 'crc32';
- parent::setHash($options);
- return $this;
- }
-
- /**
- * Sets the crc32 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setCrc32($options)
- {
- $this->setHash($options);
- return $this;
- }
-
- /**
- * Adds the crc32 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addHash($options)
- {
- if (!is_array($options)) {
- $options = array($options);
- }
-
- $options['algorithm'] = 'crc32';
- parent::addHash($options);
- return $this;
- }
-
- /**
- * Adds the crc32 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addCrc32($options)
- {
- $this->addHash($options);
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the given file confirms the set hash
- *
- * @param string $value Filename to check for hash
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- $hashes = array_unique(array_keys($this->_hash));
- $filehash = hash_file('crc32', $value);
- if ($filehash === false) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- foreach($hashes as $hash) {
- if ($filehash === $hash) {
- return true;
- }
- }
-
- return $this->_throw($file, self::DOES_NOT_MATCH);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Validate/File/ExcludeExtension.php b/airtime_mvc/library/Zend/Validate/File/ExcludeExtension.php
deleted file mode 100644
index b31e37274..000000000
--- a/airtime_mvc/library/Zend/Validate/File/ExcludeExtension.php
+++ /dev/null
@@ -1,94 +0,0 @@
- "File '%value%' has a false extension",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the fileextension of $value is not included in the
- * set extension list
- *
- * @param string $value Real file to check for extension
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- if ($file !== null) {
- $info['extension'] = substr($file['name'], strrpos($file['name'], '.') + 1);
- } else {
- $info = pathinfo($value);
- }
-
- $extensions = $this->getExtension();
-
- if ($this->_case and (!in_array($info['extension'], $extensions))) {
- return true;
- } else if (!$this->_case) {
- $found = false;
- foreach ($extensions as $extension) {
- if (strtolower($extension) == strtolower($info['extension'])) {
- $found = true;
- }
- }
-
- if (!$found) {
- return true;
- }
- }
-
- return $this->_throw($file, self::FALSE_EXTENSION);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/ExcludeMimeType.php b/airtime_mvc/library/Zend/Validate/File/ExcludeMimeType.php
deleted file mode 100644
index 22f74fba8..000000000
--- a/airtime_mvc/library/Zend/Validate/File/ExcludeMimeType.php
+++ /dev/null
@@ -1,109 +0,0 @@
- null,
- 'name' => $value
- );
- }
-
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_READABLE);
- }
-
- $mimefile = $this->getMagicFile();
- if (class_exists('finfo', false)) {
- $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
- if (!empty($mimefile)) {
- $mime = new finfo($const, $mimefile);
- } else {
- $mime = new finfo($const);
- }
-
- if ($mime !== false) {
- $this->_type = $mime->file($value);
- }
- unset($mime);
- }
-
- if (empty($this->_type)) {
- if (function_exists('mime_content_type') && ini_get('mime_magic.magicfile')) {
- $this->_type = mime_content_type($value);
- } elseif ($this->_headerCheck) {
- $this->_type = $file['type'];
- }
- }
-
- if (empty($this->_type)) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- $mimetype = $this->getMimeType(true);
- if (in_array($this->_type, $mimetype)) {
- return $this->_throw($file, self::FALSE_TYPE);
- }
-
- $types = explode('/', $this->_type);
- $types = array_merge($types, explode('-', $this->_type));
- foreach($mimetype as $mime) {
- if (in_array($mime, $types)) {
- return $this->_throw($file, self::FALSE_TYPE);
- }
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Exists.php b/airtime_mvc/library/Zend/Validate/File/Exists.php
deleted file mode 100644
index 86a21780f..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Exists.php
+++ /dev/null
@@ -1,203 +0,0 @@
- "File '%value%' does not exist",
- );
-
- /**
- * Internal list of directories
- * @var string
- */
- protected $_directory = '';
-
- /**
- * @var array Error message template variables
- */
- protected $_messageVariables = array(
- 'directory' => '_directory'
- );
-
- /**
- * Sets validator options
- *
- * @param string|array|Zend_Config $directory
- * @return void
- */
- public function __construct($directory = array())
- {
- if ($directory instanceof Zend_Config) {
- $directory = $directory->toArray();
- } else if (is_string($directory)) {
- $directory = explode(',', $directory);
- } else if (!is_array($directory)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- $this->setDirectory($directory);
- }
-
- /**
- * Returns the set file directories which are checked
- *
- * @param boolean $asArray Returns the values as array, when false an concated string is returned
- * @return string
- */
- public function getDirectory($asArray = false)
- {
- $asArray = (bool) $asArray;
- $directory = (string) $this->_directory;
- if ($asArray) {
- $directory = explode(',', $directory);
- }
-
- return $directory;
- }
-
- /**
- * Sets the file directory which will be checked
- *
- * @param string|array $directory The directories to validate
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function setDirectory($directory)
- {
- $this->_directory = null;
- $this->addDirectory($directory);
- return $this;
- }
-
- /**
- * Adds the file directory which will be checked
- *
- * @param string|array $directory The directory to add for validation
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function addDirectory($directory)
- {
- $directories = $this->getDirectory(true);
-
- if (is_string($directory)) {
- $directory = explode(',', $directory);
- } else if (!is_array($directory)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- foreach ($directory as $content) {
- if (empty($content) || !is_string($content)) {
- continue;
- }
-
- $directories[] = trim($content);
- }
- $directories = array_unique($directories);
-
- // Sanity check to ensure no empty values
- foreach ($directories as $key => $dir) {
- if (empty($dir)) {
- unset($directories[$key]);
- }
- }
-
- $this->_directory = implode(',', $directories);
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the file already exists in the set directories
- *
- * @param string $value Real file to check for existance
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- $directories = $this->getDirectory(true);
- if (($file !== null) and (!empty($file['destination']))) {
- $directories[] = $file['destination'];
- } else if (!isset($file['name'])) {
- $file['name'] = $value;
- }
-
- $check = false;
- foreach ($directories as $directory) {
- if (empty($directory)) {
- continue;
- }
-
- $check = true;
- if (!file_exists($directory . DIRECTORY_SEPARATOR . $file['name'])) {
- return $this->_throw($file, self::DOES_NOT_EXIST);
- }
- }
-
- if (!$check) {
- return $this->_throw($file, self::DOES_NOT_EXIST);
- }
-
- return true;
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Extension.php b/airtime_mvc/library/Zend/Validate/File/Extension.php
deleted file mode 100644
index 021b5e03b..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Extension.php
+++ /dev/null
@@ -1,232 +0,0 @@
- "File '%value%' has a false extension",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * Internal list of extensions
- * @var string
- */
- protected $_extension = '';
-
- /**
- * Validate case sensitive
- *
- * @var boolean
- */
- protected $_case = false;
-
- /**
- * @var array Error message template variables
- */
- protected $_messageVariables = array(
- 'extension' => '_extension'
- );
-
- /**
- * Sets validator options
- *
- * @param string|array|Zend_Config $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (1 < func_num_args()) {
- $case = func_get_arg(1);
- $this->setCase($case);
- }
-
- if (is_array($options) and isset($options['case'])) {
- $this->setCase($options['case']);
- unset($options['case']);
- }
-
- $this->setExtension($options);
- }
-
- /**
- * Returns the case option
- *
- * @return boolean
- */
- public function getCase()
- {
- return $this->_case;
- }
-
- /**
- * Sets the case to use
- *
- * @param boolean $case
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function setCase($case)
- {
- $this->_case = (boolean) $case;
- return $this;
- }
-
- /**
- * Returns the set file extension
- *
- * @return array
- */
- public function getExtension()
- {
- $extension = explode(',', $this->_extension);
-
- return $extension;
- }
-
- /**
- * Sets the file extensions
- *
- * @param string|array $extension The extensions to validate
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function setExtension($extension)
- {
- $this->_extension = null;
- $this->addExtension($extension);
- return $this;
- }
-
- /**
- * Adds the file extensions
- *
- * @param string|array $extension The extensions to add for validation
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function addExtension($extension)
- {
- $extensions = $this->getExtension();
- if (is_string($extension)) {
- $extension = explode(',', $extension);
- }
-
- foreach ($extension as $content) {
- if (empty($content) || !is_string($content)) {
- continue;
- }
-
- $extensions[] = trim($content);
- }
- $extensions = array_unique($extensions);
-
- // Sanity check to ensure no empty values
- foreach ($extensions as $key => $ext) {
- if (empty($ext)) {
- unset($extensions[$key]);
- }
- }
-
- $this->_extension = implode(',', $extensions);
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the fileextension of $value is included in the
- * set extension list
- *
- * @param string $value Real file to check for extension
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- if ($file !== null) {
- $info['extension'] = substr($file['name'], strrpos($file['name'], '.') + 1);
- } else {
- $info = pathinfo($value);
- }
-
- $extensions = $this->getExtension();
-
- if ($this->_case && (in_array($info['extension'], $extensions))) {
- return true;
- } else if (!$this->getCase()) {
- foreach ($extensions as $extension) {
- if (strtolower($extension) == strtolower($info['extension'])) {
- return true;
- }
- }
- }
-
- return $this->_throw($file, self::FALSE_EXTENSION);
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if (null !== $file) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/FilesSize.php b/airtime_mvc/library/Zend/Validate/File/FilesSize.php
deleted file mode 100644
index 05c660b81..000000000
--- a/airtime_mvc/library/Zend/Validate/File/FilesSize.php
+++ /dev/null
@@ -1,164 +0,0 @@
- "All files in sum should have a maximum size of '%max%' but '%size%' were detected",
- self::TOO_SMALL => "All files in sum should have a minimum size of '%min%' but '%size%' were detected",
- self::NOT_READABLE => "One or more files can not be read",
- );
-
- /**
- * Internal file array
- *
- * @var array
- */
- protected $_files;
-
- /**
- * Sets validator options
- *
- * Min limits the used diskspace for all files, when used with max=null it is the maximum filesize
- * It also accepts an array with the keys 'min' and 'max'
- *
- * @param integer|array|Zend_Config $options Options for this validator
- * @return void
- */
- public function __construct($options)
- {
- $this->_files = array();
- $this->_setSize(0);
-
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_scalar($options)) {
- $options = array('max' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid options to validator provided');
- }
-
- if (1 < func_num_args()) {
- $argv = func_get_args();
- array_shift($argv);
- $options['max'] = array_shift($argv);
- if (!empty($argv)) {
- $options['bytestring'] = array_shift($argv);
- }
- }
-
- parent::__construct($options);
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the disk usage of all files is at least min and
- * not bigger than max (when max is not null).
- *
- * @param string|array $value Real file to check for size
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- require_once 'Zend/Loader.php';
- if (is_string($value)) {
- $value = array($value);
- }
-
- $min = $this->getMin(true);
- $max = $this->getMax(true);
- $size = $this->_getSize();
- foreach ($value as $files) {
- // Is file readable ?
- if (!Zend_Loader::isReadable($files)) {
- $this->_throw($file, self::NOT_READABLE);
- continue;
- }
-
- if (!isset($this->_files[$files])) {
- $this->_files[$files] = $files;
- } else {
- // file already counted... do not count twice
- continue;
- }
-
- // limited to 2GB files
- $size += @filesize($files);
- $this->_size = $size;
- if (($max !== null) && ($max < $size)) {
- if ($this->useByteString()) {
- $this->_max = $this->_toByteString($max);
- $this->_size = $this->_toByteString($size);
- $this->_throw($file, self::TOO_BIG);
- $this->_max = $max;
- $this->_size = $size;
- } else {
- $this->_throw($file, self::TOO_BIG);
- }
- }
- }
-
- // Check that aggregate files are >= minimum size
- if (($min !== null) && ($size < $min)) {
- if ($this->useByteString()) {
- $this->_min = $this->_toByteString($min);
- $this->_size = $this->_toByteString($size);
- $this->_throw($file, self::TOO_SMALL);
- $this->_min = $min;
- $this->_size = $size;
- } else {
- $this->_throw($file, self::TOO_SMALL);
- }
- }
-
- if (count($this->_messages) > 0) {
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Hash.php b/airtime_mvc/library/Zend/Validate/File/Hash.php
deleted file mode 100644
index 2b20cac69..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Hash.php
+++ /dev/null
@@ -1,194 +0,0 @@
- "File '%value%' does not match the given hashes",
- self::NOT_DETECTED => "A hash could not be evaluated for the given file",
- self::NOT_FOUND => "File '%value%' could not be found"
- );
-
- /**
- * Hash of the file
- *
- * @var string
- */
- protected $_hash;
-
- /**
- * Sets validator options
- *
- * @param string|array $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_scalar($options)) {
- $options = array('hash1' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid options to validator provided');
- }
-
- if (1 < func_num_args()) {
- $options['algorithm'] = func_get_arg(1);
- }
-
- $this->setHash($options);
- }
-
- /**
- * Returns the set hash values as array, the hash as key and the algorithm the value
- *
- * @return array
- */
- public function getHash()
- {
- return $this->_hash;
- }
-
- /**
- * Sets the hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setHash($options)
- {
- $this->_hash = null;
- $this->addHash($options);
-
- return $this;
- }
-
- /**
- * Adds the hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addHash($options)
- {
- if (is_string($options)) {
- $options = array($options);
- } else if (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("False parameter given");
- }
-
- $known = hash_algos();
- if (!isset($options['algorithm'])) {
- $algorithm = 'crc32';
- } else {
- $algorithm = $options['algorithm'];
- unset($options['algorithm']);
- }
-
- if (!in_array($algorithm, $known)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Unknown algorithm '{$algorithm}'");
- }
-
- foreach ($options as $value) {
- $this->_hash[$value] = $algorithm;
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the given file confirms the set hash
- *
- * @param string $value Filename to check for hash
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- $algos = array_unique(array_values($this->_hash));
- $hashes = array_unique(array_keys($this->_hash));
- foreach ($algos as $algorithm) {
- $filehash = hash_file($algorithm, $value);
- if ($filehash === false) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- foreach($hashes as $hash) {
- if ($filehash === $hash) {
- return true;
- }
- }
- }
-
- return $this->_throw($file, self::DOES_NOT_MATCH);
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/ImageSize.php b/airtime_mvc/library/Zend/Validate/File/ImageSize.php
deleted file mode 100644
index 0d8a4fa74..000000000
--- a/airtime_mvc/library/Zend/Validate/File/ImageSize.php
+++ /dev/null
@@ -1,364 +0,0 @@
- "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected",
- self::WIDTH_TOO_SMALL => "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected",
- self::HEIGHT_TOO_BIG => "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected",
- self::HEIGHT_TOO_SMALL => "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected",
- self::NOT_DETECTED => "The size of image '%value%' could not be detected",
- self::NOT_READABLE => "File '%value%' can not be read",
- );
-
- /**
- * @var array Error message template variables
- */
- protected $_messageVariables = array(
- 'minwidth' => '_minwidth',
- 'maxwidth' => '_maxwidth',
- 'minheight' => '_minheight',
- 'maxheight' => '_maxheight',
- 'width' => '_width',
- 'height' => '_height'
- );
-
- /**
- * Minimum image width
- *
- * @var integer
- */
- protected $_minwidth;
-
- /**
- * Maximum image width
- *
- * @var integer
- */
- protected $_maxwidth;
-
- /**
- * Minimum image height
- *
- * @var integer
- */
- protected $_minheight;
-
- /**
- * Maximum image height
- *
- * @var integer
- */
- protected $_maxheight;
-
- /**
- * Detected width
- *
- * @var integer
- */
- protected $_width;
-
- /**
- * Detected height
- *
- * @var integer
- */
- protected $_height;
-
- /**
- * Sets validator options
- *
- * Accepts the following option keys:
- * - minheight
- * - minwidth
- * - maxheight
- * - maxwidth
- *
- * @param Zend_Config|array $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (1 < func_num_args()) {
- if (!is_array($options)) {
- $options = array('minwidth' => $options);
- }
- $argv = func_get_args();
- array_shift($argv);
- $options['minheight'] = array_shift($argv);
- if (!empty($argv)) {
- $options['maxwidth'] = array_shift($argv);
- if (!empty($argv)) {
- $options['maxheight'] = array_shift($argv);
- }
- }
- } else if (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- if (isset($options['minheight']) || isset($options['minwidth'])) {
- $this->setImageMin($options);
- }
-
- if (isset($options['maxheight']) || isset($options['maxwidth'])) {
- $this->setImageMax($options);
- }
- }
-
- /**
- * Returns the set minimum image sizes
- *
- * @return array
- */
- public function getImageMin()
- {
- return array('minwidth' => $this->_minwidth, 'minheight' => $this->_minheight);
- }
-
- /**
- * Returns the set maximum image sizes
- *
- * @return array
- */
- public function getImageMax()
- {
- return array('maxwidth' => $this->_maxwidth, 'maxheight' => $this->_maxheight);
- }
-
- /**
- * Returns the set image width sizes
- *
- * @return array
- */
- public function getImageWidth()
- {
- return array('minwidth' => $this->_minwidth, 'maxwidth' => $this->_maxwidth);
- }
-
- /**
- * Returns the set image height sizes
- *
- * @return array
- */
- public function getImageHeight()
- {
- return array('minheight' => $this->_minheight, 'maxheight' => $this->_maxheight);
- }
-
- /**
- * Sets the minimum image size
- *
- * @param array $options The minimum image dimensions
- * @throws Zend_Validate_Exception When minwidth is greater than maxwidth
- * @throws Zend_Validate_Exception When minheight is greater than maxheight
- * @return Zend_Validate_File_ImageSize Provides a fluent interface
- */
- public function setImageMin($options)
- {
- if (isset($options['minwidth'])) {
- if (($this->_maxwidth !== null) and ($options['minwidth'] > $this->_maxwidth)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The minimum image width must be less than or equal to the "
- . " maximum image width, but {$options['minwidth']} > {$this->_maxwidth}");
- }
- }
-
- if (isset($options['maxheight'])) {
- if (($this->_maxheight !== null) and ($options['minheight'] > $this->_maxheight)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The minimum image height must be less than or equal to the "
- . " maximum image height, but {$options['minheight']} > {$this->_maxheight}");
- }
- }
-
- if (isset($options['minwidth'])) {
- $this->_minwidth = (int) $options['minwidth'];
- }
-
- if (isset($options['minheight'])) {
- $this->_minheight = (int) $options['minheight'];
- }
-
- return $this;
- }
-
- /**
- * Sets the maximum image size
- *
- * @param array $options The maximum image dimensions
- * @throws Zend_Validate_Exception When maxwidth is smaller than minwidth
- * @throws Zend_Validate_Exception When maxheight is smaller than minheight
- * @return Zend_Validate_StringLength Provides a fluent interface
- */
- public function setImageMax($options)
- {
- if (isset($options['maxwidth'])) {
- if (($this->_minwidth !== null) and ($options['maxwidth'] < $this->_minwidth)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The maximum image width must be greater than or equal to the "
- . "minimum image width, but {$options['maxwidth']} < {$this->_minwidth}");
- }
- }
-
- if (isset($options['maxheight'])) {
- if (($this->_minheight !== null) and ($options['maxheight'] < $this->_minheight)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The maximum image height must be greater than or equal to the "
- . "minimum image height, but {$options['maxheight']} < {$this->_minwidth}");
- }
- }
-
- if (isset($options['maxwidth'])) {
- $this->_maxwidth = (int) $options['maxwidth'];
- }
-
- if (isset($options['maxheight'])) {
- $this->_maxheight = (int) $options['maxheight'];
- }
-
- return $this;
- }
-
- /**
- * Sets the mimimum and maximum image width
- *
- * @param array $options The image width dimensions
- * @return Zend_Validate_File_ImageSize Provides a fluent interface
- */
- public function setImageWidth($options)
- {
- $this->setImageMin($options);
- $this->setImageMax($options);
-
- return $this;
- }
-
- /**
- * Sets the mimimum and maximum image height
- *
- * @param array $options The image height dimensions
- * @return Zend_Validate_File_ImageSize Provides a fluent interface
- */
- public function setImageHeight($options)
- {
- $this->setImageMin($options);
- $this->setImageMax($options);
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the imagesize of $value is at least min and
- * not bigger than max
- *
- * @param string $value Real file to check for image size
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_READABLE);
- }
-
- $size = @getimagesize($value);
- $this->_setValue($file);
-
- if (empty($size) or ($size[0] === 0) or ($size[1] === 0)) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- $this->_width = $size[0];
- $this->_height = $size[1];
- if ($this->_width < $this->_minwidth) {
- $this->_throw($file, self::WIDTH_TOO_SMALL);
- }
-
- if (($this->_maxwidth !== null) and ($this->_maxwidth < $this->_width)) {
- $this->_throw($file, self::WIDTH_TOO_BIG);
- }
-
- if ($this->_height < $this->_minheight) {
- $this->_throw($file, self::HEIGHT_TOO_SMALL);
- }
-
- if (($this->_maxheight !== null) and ($this->_maxheight < $this->_height)) {
- $this->_throw($file, self::HEIGHT_TOO_BIG);
- }
-
- if (count($this->_messages) > 0) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/IsCompressed.php b/airtime_mvc/library/Zend/Validate/File/IsCompressed.php
deleted file mode 100644
index 3b7983f26..000000000
--- a/airtime_mvc/library/Zend/Validate/File/IsCompressed.php
+++ /dev/null
@@ -1,149 +0,0 @@
- "File '%value%' is not compressed, '%type%' detected",
- self::NOT_DETECTED => "The mimetype of file '%value%' could not been detected",
- self::NOT_READABLE => "File '%value%' can not be read",
- );
-
- /**
- * Sets validator options
- *
- * @param string|array|Zend_Config $compression
- * @return void
- */
- public function __construct($mimetype = array())
- {
- if ($mimetype instanceof Zend_Config) {
- $mimetype = $mimetype->toArray();
- }
-
- $temp = array();
- // http://de.wikipedia.org/wiki/Liste_von_Dateiendungen
- $default = array(
- 'application/arj',
- 'application/gnutar',
- 'application/lha',
- 'application/lzx',
- 'application/vnd.ms-cab-compressed',
- 'application/x-ace-compressed',
- 'application/x-arc',
- 'application/x-archive',
- 'application/x-arj',
- 'application/x-bzip',
- 'application/x-bzip2',
- 'application/x-cab-compressed',
- 'application/x-compress',
- 'application/x-compressed',
- 'application/x-cpio',
- 'application/x-debian-package',
- 'application/x-eet',
- 'application/x-gzip',
- 'application/x-java-pack200',
- 'application/x-lha',
- 'application/x-lharc',
- 'application/x-lzh',
- 'application/x-lzma',
- 'application/x-lzx',
- 'application/x-rar',
- 'application/x-sit',
- 'application/x-stuffit',
- 'application/x-tar',
- 'application/zip',
- 'application/zoo',
- 'multipart/x-gzip',
- );
-
- if (is_array($mimetype)) {
- $temp = $mimetype;
- if (array_key_exists('magicfile', $temp)) {
- unset($temp['magicfile']);
- }
-
- if (array_key_exists('headerCheck', $temp)) {
- unset($temp['headerCheck']);
- }
-
- if (empty($temp)) {
- $mimetype += $default;
- }
- }
-
- if (empty($mimetype)) {
- $mimetype = $default;
- }
-
- parent::__construct($mimetype);
- }
-
- /**
- * Throws an error of the given type
- * Duplicates parent method due to OOP Problem with late static binding in PHP 5.2
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- $this->_value = $file['name'];
- switch($errorType) {
- case Zend_Validate_File_MimeType::FALSE_TYPE :
- $errorType = self::FALSE_TYPE;
- break;
- case Zend_Validate_File_MimeType::NOT_DETECTED :
- $errorType = self::NOT_DETECTED;
- break;
- case Zend_Validate_File_MimeType::NOT_READABLE :
- $errorType = self::NOT_READABLE;
- break;
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/IsImage.php b/airtime_mvc/library/Zend/Validate/File/IsImage.php
deleted file mode 100644
index cfff3e3c5..000000000
--- a/airtime_mvc/library/Zend/Validate/File/IsImage.php
+++ /dev/null
@@ -1,173 +0,0 @@
- "File '%value%' is no image, '%type%' detected",
- self::NOT_DETECTED => "The mimetype of file '%value%' could not be detected",
- self::NOT_READABLE => "File '%value%' can not be read",
- );
-
- /**
- * Sets validator options
- *
- * @param string|array|Zend_Config $mimetype
- * @return void
- */
- public function __construct($mimetype = array())
- {
- if ($mimetype instanceof Zend_Config) {
- $mimetype = $mimetype->toArray();
- }
-
- $temp = array();
- // http://de.wikipedia.org/wiki/Liste_von_Dateiendungen
- // http://www.iana.org/assignments/media-types/image/
- $default = array(
- 'application/cdf',
- 'application/dicom',
- 'application/fractals',
- 'application/postscript',
- 'application/vnd.hp-hpgl',
- 'application/vnd.oasis.opendocument.graphics',
- 'application/x-cdf',
- 'application/x-cmu-raster',
- 'application/x-ima',
- 'application/x-inventor',
- 'application/x-koan',
- 'application/x-portable-anymap',
- 'application/x-world-x-3dmf',
- 'image/bmp',
- 'image/c',
- 'image/cgm',
- 'image/fif',
- 'image/gif',
- 'image/jpeg',
- 'image/jpm',
- 'image/jpx',
- 'image/jp2',
- 'image/naplps',
- 'image/pjpeg',
- 'image/png',
- 'image/svg',
- 'image/svg+xml',
- 'image/tiff',
- 'image/vnd.adobe.photoshop',
- 'image/vnd.djvu',
- 'image/vnd.fpx',
- 'image/vnd.net-fpx',
- 'image/x-cmu-raster',
- 'image/x-cmx',
- 'image/x-coreldraw',
- 'image/x-cpi',
- 'image/x-emf',
- 'image/x-ico',
- 'image/x-icon',
- 'image/x-jg',
- 'image/x-ms-bmp',
- 'image/x-niff',
- 'image/x-pict',
- 'image/x-pcx',
- 'image/x-portable-anymap',
- 'image/x-portable-bitmap',
- 'image/x-portable-greymap',
- 'image/x-portable-pixmap',
- 'image/x-quicktime',
- 'image/x-rgb',
- 'image/x-tiff',
- 'image/x-unknown',
- 'image/x-windows-bmp',
- 'image/x-xpmi',
- );
-
- if (is_array($mimetype)) {
- $temp = $mimetype;
- if (array_key_exists('magicfile', $temp)) {
- unset($temp['magicfile']);
- }
-
- if (array_key_exists('headerCheck', $temp)) {
- unset($temp['headerCheck']);
- }
-
- if (empty($temp)) {
- $mimetype += $default;
- }
- }
-
- if (empty($mimetype)) {
- $mimetype = $default;
- }
-
- parent::__construct($mimetype);
- }
-
- /**
- * Throws an error of the given type
- * Duplicates parent method due to OOP Problem with late static binding in PHP 5.2
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- $this->_value = $file['name'];
- switch($errorType) {
- case Zend_Validate_File_MimeType::FALSE_TYPE :
- $errorType = self::FALSE_TYPE;
- break;
- case Zend_Validate_File_MimeType::NOT_DETECTED :
- $errorType = self::NOT_DETECTED;
- break;
- case Zend_Validate_File_MimeType::NOT_READABLE :
- $errorType = self::NOT_READABLE;
- break;
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Md5.php b/airtime_mvc/library/Zend/Validate/File/Md5.php
deleted file mode 100644
index 80fed0bd2..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Md5.php
+++ /dev/null
@@ -1,183 +0,0 @@
- "File '%value%' does not match the given md5 hashes",
- self::NOT_DETECTED => "A md5 hash could not be evaluated for the given file",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * Hash of the file
- *
- * @var string
- */
- protected $_hash;
-
- /**
- * Sets validator options
- *
- * $hash is the hash we accept for the file $file
- *
- * @param string|array $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_scalar($options)) {
- $options = array('hash1' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid options to validator provided');
- }
-
- $this->setMd5($options);
- }
-
- /**
- * Returns all set md5 hashes
- *
- * @return array
- */
- public function getMd5()
- {
- return $this->getHash();
- }
-
- /**
- * Sets the md5 hash for one or multiple files
- *
- * @param string|array $options
- * @param string $algorithm (Deprecated) Algorithm to use, fixed to md5
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setHash($options)
- {
- if (!is_array($options)) {
- $options = (array) $options;
- }
-
- $options['algorithm'] = 'md5';
- parent::setHash($options);
- return $this;
- }
-
- /**
- * Sets the md5 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setMd5($options)
- {
- $this->setHash($options);
- return $this;
- }
-
- /**
- * Adds the md5 hash for one or multiple files
- *
- * @param string|array $options
- * @param string $algorithm (Deprecated) Algorithm to use, fixed to md5
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addHash($options)
- {
- if (!is_array($options)) {
- $options = (array) $options;
- }
-
- $options['algorithm'] = 'md5';
- parent::addHash($options);
- return $this;
- }
-
- /**
- * Adds the md5 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addMd5($options)
- {
- $this->addHash($options);
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the given file confirms the set hash
- *
- * @param string $value Filename to check for hash
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- $hashes = array_unique(array_keys($this->_hash));
- $filehash = hash_file('md5', $value);
- if ($filehash === false) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- foreach($hashes as $hash) {
- if ($filehash === $hash) {
- return true;
- }
- }
-
- return $this->_throw($file, self::DOES_NOT_MATCH);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/MimeType.php b/airtime_mvc/library/Zend/Validate/File/MimeType.php
deleted file mode 100644
index f70788e4e..000000000
--- a/airtime_mvc/library/Zend/Validate/File/MimeType.php
+++ /dev/null
@@ -1,393 +0,0 @@
- "File '%value%' has a false mimetype of '%type%'",
- self::NOT_DETECTED => "The mimetype of file '%value%' could not be detected",
- self::NOT_READABLE => "File '%value%' can not be read",
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'type' => '_type'
- );
-
- /**
- * @var string
- */
- protected $_type;
-
- /**
- * Mimetypes
- *
- * If null, there is no mimetype
- *
- * @var string|null
- */
- protected $_mimetype;
-
- /**
- * Magicfile to use
- *
- * @var string|null
- */
- protected $_magicfile;
-
- /**
- * Finfo object to use
- *
- * @var resource
- */
- protected $_finfo;
-
- /**
- * If no $_ENV['MAGIC'] is set, try and autodiscover it based on common locations
- * @var array
- */
- protected $_magicFiles = array(
- '/usr/share/misc/magic',
- '/usr/share/misc/magic.mime',
- '/usr/share/misc/magic.mgc',
- '/usr/share/mime/magic',
- '/usr/share/mime/magic.mime',
- '/usr/share/mime/magic.mgc',
- '/usr/share/file/magic',
- '/usr/share/file/magic.mime',
- '/usr/share/file/magic.mgc',
- );
-
- /**
- * Option to allow header check
- *
- * @var boolean
- */
- protected $_headerCheck = false;
-
- /**
- * Sets validator options
- *
- * Mimetype to accept
- *
- * @param string|array $mimetype MimeType
- * @return void
- */
- public function __construct($mimetype)
- {
- if ($mimetype instanceof Zend_Config) {
- $mimetype = $mimetype->toArray();
- } elseif (is_string($mimetype)) {
- $mimetype = explode(',', $mimetype);
- } elseif (!is_array($mimetype)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Invalid options to validator provided");
- }
-
- if (isset($mimetype['magicfile'])) {
- $this->setMagicFile($mimetype['magicfile']);
- unset($mimetype['magicfile']);
- }
-
- if (isset($mimetype['headerCheck'])) {
- $this->enableHeaderCheck($mimetype['headerCheck']);
- unset($mimetype['headerCheck']);
- }
-
- $this->setMimeType($mimetype);
- }
-
- /**
- * Returns the actual set magicfile
- *
- * @return string
- */
- public function getMagicFile()
- {
- if (null === $this->_magicfile) {
- if (!empty($_ENV['MAGIC'])) {
- $this->setMagicFile($_ENV['MAGIC']);
- } elseif (!(@ini_get("safe_mode") == 'On' || @ini_get("safe_mode") === 1)) {
- require_once 'Zend/Validate/Exception.php';
- foreach ($this->_magicFiles as $file) {
- // supressing errors which are thrown due to openbase_dir restrictions
- try {
- $this->setMagicFile($file);
- if ($this->_magicfile !== null) {
- break;
- }
- } catch (Zend_Validate_Exception $e) {
- // Intentionally, catch and fall through
- }
- }
- }
-
- if ($this->_magicfile === null) {
- $this->_magicfile = false;
- }
- }
-
- return $this->_magicfile;
- }
-
- /**
- * Sets the magicfile to use
- * if null, the MAGIC constant from php is used
- * if the MAGIC file is errorous, no file will be set
- *
- * @param string $file
- * @throws Zend_Validate_Exception When finfo can not read the magicfile
- * @return Zend_Validate_File_MimeType Provides fluid interface
- */
- public function setMagicFile($file)
- {
- if (empty($file)) {
- $this->_magicfile = null;
- } else if (!(class_exists('finfo', false))) {
- $this->_magicfile = null;
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Magicfile can not be set. There is no finfo extension installed');
- } else if (!is_readable($file)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('The given magicfile can not be read');
- } else {
- $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
- $this->_finfo = @finfo_open($const, $file);
- if ($this->_finfo === false) {
- $this->_finfo = null;
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('The given magicfile is not accepted by finfo');
- } else {
- $this->_magicfile = $file;
- }
- }
-
- return $this;
- }
-
- /**
- * Returns the Header Check option
- *
- * @return boolean
- */
- public function getHeaderCheck()
- {
- return $this->_headerCheck;
- }
-
- /**
- * Defines if the http header should be used
- * Note that this is unsave and therefor the default value is false
- *
- * @param boolean $checkHeader
- * @return Zend_Validate_File_MimeType Provides fluid interface
- */
- public function enableHeaderCheck($headerCheck = true)
- {
- $this->_headerCheck = (boolean) $headerCheck;
- return $this;
- }
-
- /**
- * Returns the set mimetypes
- *
- * @param boolean $asArray Returns the values as array, when false an concated string is returned
- * @return string|array
- */
- public function getMimeType($asArray = false)
- {
- $asArray = (bool) $asArray;
- $mimetype = (string) $this->_mimetype;
- if ($asArray) {
- $mimetype = explode(',', $mimetype);
- }
-
- return $mimetype;
- }
-
- /**
- * Sets the mimetypes
- *
- * @param string|array $mimetype The mimetypes to validate
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function setMimeType($mimetype)
- {
- $this->_mimetype = null;
- $this->addMimeType($mimetype);
- return $this;
- }
-
- /**
- * Adds the mimetypes
- *
- * @param string|array $mimetype The mimetypes to add for validation
- * @return Zend_Validate_File_Extension Provides a fluent interface
- */
- public function addMimeType($mimetype)
- {
- $mimetypes = $this->getMimeType(true);
-
- if (is_string($mimetype)) {
- $mimetype = explode(',', $mimetype);
- } elseif (!is_array($mimetype)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Invalid options to validator provided");
- }
-
- if (isset($mimetype['magicfile'])) {
- unset($mimetype['magicfile']);
- }
-
- foreach ($mimetype as $content) {
- if (empty($content) || !is_string($content)) {
- continue;
- }
- $mimetypes[] = trim($content);
- }
- $mimetypes = array_unique($mimetypes);
-
- // Sanity check to ensure no empty values
- foreach ($mimetypes as $key => $mt) {
- if (empty($mt)) {
- unset($mimetypes[$key]);
- }
- }
-
- $this->_mimetype = implode(',', $mimetypes);
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if the mimetype of the file matches the given ones. Also parts
- * of mimetypes can be checked. If you give for example "image" all image
- * mime types will be accepted like "image/gif", "image/jpeg" and so on.
- *
- * @param string $value Real file to check for mimetype
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- if ($file === null) {
- $file = array(
- 'type' => null,
- 'name' => $value
- );
- }
-
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_READABLE);
- }
-
- $mimefile = $this->getMagicFile();
- if (class_exists('finfo', false)) {
- $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
- if (!empty($mimefile) && !empty($this->_finfo)) {
- $this->_finfo = @finfo_open($const, $mimefile);
- }
-
- if ($this->_finfo === false) {
- $this->_finfo = @finfo_open($const);
- }
-
- if ($this->_finfo !== false) {
- $this->_type = finfo_file($this->_finfo, $value);
- }
-
- unset($this->_finfo);
- }
-
- if (empty($this->_type) &&
- (function_exists('mime_content_type') && ini_get('mime_magic.magicfile'))) {
- $this->_type = mime_content_type($value);
- }
-
- if (empty($this->_type) && $this->_headerCheck) {
- $this->_type = $file['type'];
- }
-
- if (empty($this->_type)) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- $mimetype = $this->getMimeType(true);
- if (in_array($this->_type, $mimetype)) {
- return true;
- }
-
- $types = explode('/', $this->_type);
- $types = array_merge($types, explode('-', $this->_type));
- $types = array_merge($types, explode(';', $this->_type));
- foreach($mimetype as $mime) {
- if (in_array($mime, $types)) {
- return true;
- }
- }
-
- return $this->_throw($file, self::FALSE_TYPE);
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- $this->_value = $file['name'];
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/NotExists.php b/airtime_mvc/library/Zend/Validate/File/NotExists.php
deleted file mode 100644
index 87ebb827b..000000000
--- a/airtime_mvc/library/Zend/Validate/File/NotExists.php
+++ /dev/null
@@ -1,84 +0,0 @@
- "File '%value%' exists",
- );
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the file does not exist in the set destinations
- *
- * @param string $value Real file to check for
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- $directories = $this->getDirectory(true);
- if (($file !== null) and (!empty($file['destination']))) {
- $directories[] = $file['destination'];
- } else if (!isset($file['name'])) {
- $file['name'] = $value;
- }
-
- foreach ($directories as $directory) {
- if (empty($directory)) {
- continue;
- }
-
- $check = true;
- if (file_exists($directory . DIRECTORY_SEPARATOR . $file['name'])) {
- return $this->_throw($file, self::DOES_EXIST);
- }
- }
-
- if (!isset($check)) {
- return $this->_throw($file, self::DOES_EXIST);
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Sha1.php b/airtime_mvc/library/Zend/Validate/File/Sha1.php
deleted file mode 100644
index 2157bfb26..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Sha1.php
+++ /dev/null
@@ -1,181 +0,0 @@
- "File '%value%' does not match the given sha1 hashes",
- self::NOT_DETECTED => "A sha1 hash could not be evaluated for the given file",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * Hash of the file
- *
- * @var string
- */
- protected $_hash;
-
- /**
- * Sets validator options
- *
- * $hash is the hash we accept for the file $file
- *
- * @param string|array $options
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_scalar($options)) {
- $options = array('hash1' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid options to validator provided');
- }
-
- $this->setHash($options);
- }
-
- /**
- * Returns all set sha1 hashes
- *
- * @return array
- */
- public function getSha1()
- {
- return $this->getHash();
- }
-
- /**
- * Sets the sha1 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setHash($options)
- {
- if (!is_array($options)) {
- $options = (array) $options;
- }
-
- $options['algorithm'] = 'sha1';
- parent::setHash($options);
- return $this;
- }
-
- /**
- * Sets the sha1 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function setSha1($options)
- {
- $this->setHash($options);
- return $this;
- }
-
- /**
- * Adds the sha1 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addHash($options)
- {
- if (!is_array($options)) {
- $options = (array) $options;
- }
-
- $options['algorithm'] = 'sha1';
- parent::addHash($options);
- return $this;
- }
-
- /**
- * Adds the sha1 hash for one or multiple files
- *
- * @param string|array $options
- * @return Zend_Validate_File_Hash Provides a fluent interface
- */
- public function addSha1($options)
- {
- $this->addHash($options);
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the given file confirms the set hash
- *
- * @param string $value Filename to check for hash
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- $hashes = array_unique(array_keys($this->_hash));
- $filehash = hash_file('sha1', $value);
- if ($filehash === false) {
- return $this->_throw($file, self::NOT_DETECTED);
- }
-
- foreach ($hashes as $hash) {
- if ($filehash === $hash) {
- return true;
- }
- }
-
- return $this->_throw($file, self::DOES_NOT_MATCH);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Size.php b/airtime_mvc/library/Zend/Validate/File/Size.php
deleted file mode 100644
index bfd02aa80..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Size.php
+++ /dev/null
@@ -1,404 +0,0 @@
- "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected",
- self::TOO_SMALL => "Minimum expected size for file '%value%' is '%min%' but '%size%' detected",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * @var array Error message template variables
- */
- protected $_messageVariables = array(
- 'min' => '_min',
- 'max' => '_max',
- 'size' => '_size',
- );
-
- /**
- * Minimum filesize
- * @var integer
- */
- protected $_min;
-
- /**
- * Maximum filesize
- *
- * If null, there is no maximum filesize
- *
- * @var integer|null
- */
- protected $_max;
-
- /**
- * Detected size
- *
- * @var integer
- */
- protected $_size;
-
- /**
- * Use bytestring ?
- *
- * @var boolean
- */
- protected $_useByteString = true;
-
- /**
- * Sets validator options
- *
- * If $options is a integer, it will be used as maximum filesize
- * As Array is accepts the following keys:
- * 'min': Minimum filesize
- * 'max': Maximum filesize
- * 'bytestring': Use bytestring or real size for messages
- *
- * @param integer|array $options Options for the adapter
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } elseif (is_string($options) || is_numeric($options)) {
- $options = array('max' => $options);
- } elseif (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- if (1 < func_num_args()) {
- $argv = func_get_args();
- array_shift($argv);
- $options['max'] = array_shift($argv);
- if (!empty($argv)) {
- $options['bytestring'] = array_shift($argv);
- }
- }
-
- if (isset($options['bytestring'])) {
- $this->setUseByteString($options['bytestring']);
- }
-
- if (isset($options['min'])) {
- $this->setMin($options['min']);
- }
-
- if (isset($options['max'])) {
- $this->setMax($options['max']);
- }
- }
-
- /**
- * Returns the minimum filesize
- *
- * @param boolean $byteString Use bytestring ?
- * @return integer
- */
- public function setUseByteString($byteString = true)
- {
- $this->_useByteString = (bool) $byteString;
- return $this;
- }
-
- /**
- * Will bytestring be used?
- *
- * @return boolean
- */
- public function useByteString()
- {
- return $this->_useByteString;
- }
-
- /**
- * Returns the minimum filesize
- *
- * @param bool $raw Whether or not to force return of the raw value (defaults off)
- * @return integer|string
- */
- public function getMin($raw = false)
- {
- $min = $this->_min;
- if (!$raw && $this->useByteString()) {
- $min = $this->_toByteString($min);
- }
-
- return $min;
- }
-
- /**
- * Sets the minimum filesize
- *
- * @param integer $min The minimum filesize
- * @throws Zend_Validate_Exception When min is greater than max
- * @return Zend_Validate_File_Size Provides a fluent interface
- */
- public function setMin($min)
- {
- if (!is_string($min) and !is_numeric($min)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- $min = (integer) $this->_fromByteString($min);
- $max = $this->getMax(true);
- if (($max !== null) && ($min > $max)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The minimum must be less than or equal to the maximum filesize, but $min >"
- . " $max");
- }
-
- $this->_min = $min;
- return $this;
- }
-
- /**
- * Returns the maximum filesize
- *
- * @param bool $raw Whether or not to force return of the raw value (defaults off)
- * @return integer|string
- */
- public function getMax($raw = false)
- {
- $max = $this->_max;
- if (!$raw && $this->useByteString()) {
- $max = $this->_toByteString($max);
- }
-
- return $max;
- }
-
- /**
- * Sets the maximum filesize
- *
- * @param integer $max The maximum filesize
- * @throws Zend_Validate_Exception When max is smaller than min
- * @return Zend_Validate_StringLength Provides a fluent interface
- */
- public function setMax($max)
- {
- if (!is_string($max) && !is_numeric($max)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception ('Invalid options to validator provided');
- }
-
- $max = (integer) $this->_fromByteString($max);
- $min = $this->getMin(true);
- if (($min !== null) && ($max < $min)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The maximum must be greater than or equal to the minimum filesize, but "
- . "$max < $min");
- }
-
- $this->_max = $max;
- return $this;
- }
-
- /**
- * Retrieve current detected file size
- *
- * @return int
- */
- protected function _getSize()
- {
- return $this->_size;
- }
-
- /**
- * Set current size
- *
- * @param int $size
- * @return Zend_Validate_File_Size
- */
- protected function _setSize($size)
- {
- $this->_size = $size;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the filesize of $value is at least min and
- * not bigger than max (when max is not null).
- *
- * @param string $value Real file to check for size
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- // limited to 4GB files
- $size = sprintf("%u", @filesize($value));
- $this->_size = $size;
-
- // Check to see if it's smaller than min size
- $min = $this->getMin(true);
- $max = $this->getMax(true);
- if (($min !== null) && ($size < $min)) {
- if ($this->useByteString()) {
- $this->_min = $this->_toByteString($min);
- $this->_size = $this->_toByteString($size);
- $this->_throw($file, self::TOO_SMALL);
- $this->_min = $min;
- $this->_size = $size;
- } else {
- $this->_throw($file, self::TOO_SMALL);
- }
- }
-
- // Check to see if it's larger than max size
- if (($max !== null) && ($max < $size)) {
- if ($this->useByteString()) {
- $this->_max = $this->_toByteString($max);
- $this->_size = $this->_toByteString($size);
- $this->_throw($file, self::TOO_BIG);
- $this->_max = $max;
- $this->_size = $size;
- } else {
- $this->_throw($file, self::TOO_BIG);
- }
- }
-
- if (count($this->_messages) > 0) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Returns the formatted size
- *
- * @param integer $size
- * @return string
- */
- protected function _toByteString($size)
- {
- $sizes = array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
- for ($i=0; $size >= 1024 && $i < 9; $i++) {
- $size /= 1024;
- }
-
- return round($size, 2) . $sizes[$i];
- }
-
- /**
- * Returns the unformatted size
- *
- * @param string $size
- * @return integer
- */
- protected function _fromByteString($size)
- {
- if (is_numeric($size)) {
- return (integer) $size;
- }
-
- $type = trim(substr($size, -2, 1));
-
- $value = substr($size, 0, -1);
- if (!is_numeric($value)) {
- $value = substr($value, 0, -1);
- }
-
- switch (strtoupper($type)) {
- case 'Y':
- $value *= (1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024);
- break;
- case 'Z':
- $value *= (1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024);
- break;
- case 'E':
- $value *= (1024 * 1024 * 1024 * 1024 * 1024 * 1024);
- break;
- case 'P':
- $value *= (1024 * 1024 * 1024 * 1024 * 1024);
- break;
- case 'T':
- $value *= (1024 * 1024 * 1024 * 1024);
- break;
- case 'G':
- $value *= (1024 * 1024 * 1024);
- break;
- case 'M':
- $value *= (1024 * 1024);
- break;
- case 'K':
- $value *= 1024;
- break;
- default:
- break;
- }
-
- return $value;
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/Upload.php b/airtime_mvc/library/Zend/Validate/File/Upload.php
deleted file mode 100644
index 85f408c73..000000000
--- a/airtime_mvc/library/Zend/Validate/File/Upload.php
+++ /dev/null
@@ -1,245 +0,0 @@
- "File '%value%' exceeds the defined ini size",
- self::FORM_SIZE => "File '%value%' exceeds the defined form size",
- self::PARTIAL => "File '%value%' was only partially uploaded",
- self::NO_FILE => "File '%value%' was not uploaded",
- self::NO_TMP_DIR => "No temporary directory was found for file '%value%'",
- self::CANT_WRITE => "File '%value%' can't be written",
- self::EXTENSION => "A PHP extension returned an error while uploading the file '%value%'",
- self::ATTACK => "File '%value%' was illegally uploaded. This could be a possible attack",
- self::FILE_NOT_FOUND => "File '%value%' was not found",
- self::UNKNOWN => "Unknown error while uploading file '%value%'"
- );
-
- /**
- * Internal array of files
- * @var array
- */
- protected $_files = array();
-
- /**
- * Sets validator options
- *
- * The array $files must be given in syntax of Zend_File_Transfer to be checked
- * If no files are given the $_FILES array will be used automatically.
- * NOTE: This validator will only work with HTTP POST uploads!
- *
- * @param array|Zend_Config $files Array of files in syntax of Zend_File_Transfer
- * @return void
- */
- public function __construct($files = array())
- {
- if ($files instanceof Zend_Config) {
- $files = $files->toArray();
- }
-
- $this->setFiles($files);
- }
-
- /**
- * Returns the array of set files
- *
- * @param string $files (Optional) The file to return in detail
- * @return array
- * @throws Zend_Validate_Exception If file is not found
- */
- public function getFiles($file = null)
- {
- if ($file !== null) {
- $return = array();
- foreach ($this->_files as $name => $content) {
- if ($name === $file) {
- $return[$file] = $this->_files[$name];
- }
-
- if ($content['name'] === $file) {
- $return[$name] = $this->_files[$name];
- }
- }
-
- if (count($return) === 0) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The file '$file' was not found");
- }
-
- return $return;
- }
-
- return $this->_files;
- }
-
- /**
- * Sets the files to be checked
- *
- * @param array $files The files to check in syntax of Zend_File_Transfer
- * @return Zend_Validate_File_Upload Provides a fluent interface
- */
- public function setFiles($files = array())
- {
- if (count($files) === 0) {
- $this->_files = $_FILES;
- } else {
- $this->_files = $files;
- }
-
- foreach($this->_files as $file => $content) {
- if (!isset($content['error'])) {
- unset($this->_files[$file]);
- }
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the file was uploaded without errors
- *
- * @param string $value Single file to check for upload errors, when giving null the $_FILES array
- * from initialization will be used
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- if (array_key_exists($value, $this->_files)) {
- $files[$value] = $this->_files[$value];
- } else {
- foreach ($this->_files as $file => $content) {
- if (isset($content['name']) && ($content['name'] === $value)) {
- $files[$file] = $this->_files[$file];
- }
-
- if (isset($content['tmp_name']) && ($content['tmp_name'] === $value)) {
- $files[$file] = $this->_files[$file];
- }
- }
- }
-
- if (empty($files)) {
- return $this->_throw($file, self::FILE_NOT_FOUND);
- }
-
- foreach ($files as $file => $content) {
- $this->_value = $file;
- switch($content['error']) {
- case 0:
- if (!is_uploaded_file($content['tmp_name'])) {
- $this->_throw($file, self::ATTACK);
- }
- break;
-
- case 1:
- $this->_throw($file, self::INI_SIZE);
- break;
-
- case 2:
- $this->_throw($file, self::FORM_SIZE);
- break;
-
- case 3:
- $this->_throw($file, self::PARTIAL);
- break;
-
- case 4:
- $this->_throw($file, self::NO_FILE);
- break;
-
- case 6:
- $this->_throw($file, self::NO_TMP_DIR);
- break;
-
- case 7:
- $this->_throw($file, self::CANT_WRITE);
- break;
-
- case 8:
- $this->_throw($file, self::EXTENSION);
- break;
-
- default:
- $this->_throw($file, self::UNKNOWN);
- break;
- }
- }
-
- if (count($this->_messages) > 0) {
- return false;
- } else {
- return true;
- }
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- if (is_array($file) and !empty($file['name'])) {
- $this->_value = $file['name'];
- }
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/File/WordCount.php b/airtime_mvc/library/Zend/Validate/File/WordCount.php
deleted file mode 100644
index 9936cb662..000000000
--- a/airtime_mvc/library/Zend/Validate/File/WordCount.php
+++ /dev/null
@@ -1,101 +0,0 @@
- "Too much words, maximum '%max%' are allowed but '%count%' were counted",
- self::TOO_LESS => "Too less words, minimum '%min%' are expected but '%count%' were counted",
- self::NOT_FOUND => "File '%value%' could not be found",
- );
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the counted words are at least min and
- * not bigger than max (when max is not null).
- *
- * @param string $value Filename to check for word count
- * @param array $file File data from Zend_File_Transfer
- * @return boolean
- */
- public function isValid($value, $file = null)
- {
- // Is file readable ?
- require_once 'Zend/Loader.php';
- if (!Zend_Loader::isReadable($value)) {
- return $this->_throw($file, self::NOT_FOUND);
- }
-
- $content = file_get_contents($value);
- $this->_count = str_word_count($content);
- if (($this->_max !== null) && ($this->_count > $this->_max)) {
- return $this->_throw($file, self::TOO_MUCH);
- }
-
- if (($this->_min !== null) && ($this->_count < $this->_min)) {
- return $this->_throw($file, self::TOO_LESS);
- }
-
- return true;
- }
-
- /**
- * Throws an error of the given type
- *
- * @param string $file
- * @param string $errorType
- * @return false
- */
- protected function _throw($file, $errorType)
- {
- if ($file !== null) {
- $this->_value = $file['name'];
- }
-
- $this->_error($errorType);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Float.php b/airtime_mvc/library/Zend/Validate/Float.php
deleted file mode 100644
index 4b0899d5a..000000000
--- a/airtime_mvc/library/Zend/Validate/Float.php
+++ /dev/null
@@ -1,134 +0,0 @@
- "Invalid type given, value should be float, string, or integer",
- self::NOT_FLOAT => "'%value%' does not appear to be a float",
- );
-
- protected $_locale;
-
- /**
- * Constructor for the float validator
- *
- * @param string|Zend_Config|Zend_Locale $locale
- */
- public function __construct($locale = null)
- {
- if ($locale instanceof Zend_Config) {
- $locale = $locale->toArray();
- }
-
- if (is_array($locale)) {
- if (array_key_exists('locale', $locale)) {
- $locale = $locale['locale'];
- } else {
- $locale = null;
- }
- }
-
- if (empty($locale)) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Locale')) {
- $locale = Zend_Registry::get('Zend_Locale');
- }
- }
-
- $this->setLocale($locale);
- }
-
- /**
- * Returns the set locale
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Sets the locale to use
- *
- * @param string|Zend_Locale $locale
- */
- public function setLocale($locale = null)
- {
- require_once 'Zend/Locale.php';
- $this->_locale = Zend_Locale::findLocale($locale);
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is a floating-point value
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value) && !is_float($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- if (is_float($value)) {
- return true;
- }
-
- $this->_setValue($value);
- try {
- if (!Zend_Locale_Format::isFloat($value, array('locale' => $this->_locale))) {
- $this->_error(self::NOT_FLOAT);
- return false;
- }
- } catch (Zend_Locale_Exception $e) {
- $this->_error(self::NOT_FLOAT);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/GreaterThan.php b/airtime_mvc/library/Zend/Validate/GreaterThan.php
deleted file mode 100644
index 53c71ccbc..000000000
--- a/airtime_mvc/library/Zend/Validate/GreaterThan.php
+++ /dev/null
@@ -1,124 +0,0 @@
- "'%value%' is not greater than '%min%'",
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'min' => '_min'
- );
-
- /**
- * Minimum value
- *
- * @var mixed
- */
- protected $_min;
-
- /**
- * Sets validator options
- *
- * @param mixed|Zend_Config $min
- * @return void
- */
- public function __construct($min)
- {
- if ($min instanceof Zend_Config) {
- $min = $min->toArray();
- }
-
- if (is_array($min)) {
- if (array_key_exists('min', $min)) {
- $min = $min['min'];
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Missing option 'min'");
- }
- }
-
- $this->setMin($min);
- }
-
- /**
- * Returns the min option
- *
- * @return mixed
- */
- public function getMin()
- {
- return $this->_min;
- }
-
- /**
- * Sets the min option
- *
- * @param mixed $min
- * @return Zend_Validate_GreaterThan Provides a fluent interface
- */
- public function setMin($min)
- {
- $this->_min = $min;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is greater than min option
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
-
- if ($this->_min >= $value) {
- $this->_error(self::NOT_GREATER);
- return false;
- }
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Validate/Hex.php b/airtime_mvc/library/Zend/Validate/Hex.php
deleted file mode 100644
index ced156dfe..000000000
--- a/airtime_mvc/library/Zend/Validate/Hex.php
+++ /dev/null
@@ -1,72 +0,0 @@
- "Invalid type given, value should be a string",
- self::NOT_HEX => "'%value%' has not only hexadecimal digit characters",
- );
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value contains only hexadecimal digit characters
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- if (!ctype_xdigit((string) $value)) {
- $this->_error(self::NOT_HEX);
- return false;
- }
-
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Validate/Hostname.php b/airtime_mvc/library/Zend/Validate/Hostname.php
deleted file mode 100644
index 3199767b7..000000000
--- a/airtime_mvc/library/Zend/Validate/Hostname.php
+++ /dev/null
@@ -1,740 +0,0 @@
- "Invalid type given, value should be a string",
- self::IP_ADDRESS_NOT_ALLOWED => "'%value%' appears to be an IP address, but IP addresses are not allowed",
- self::UNKNOWN_TLD => "'%value%' appears to be a DNS hostname but cannot match TLD against known list",
- self::INVALID_DASH => "'%value%' appears to be a DNS hostname but contains a dash in an invalid position",
- self::INVALID_HOSTNAME_SCHEMA => "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'",
- self::UNDECIPHERABLE_TLD => "'%value%' appears to be a DNS hostname but cannot extract TLD part",
- self::INVALID_HOSTNAME => "'%value%' does not match the expected structure for a DNS hostname",
- self::INVALID_LOCAL_NAME => "'%value%' does not appear to be a valid local network name",
- self::LOCAL_NAME_NOT_ALLOWED => "'%value%' appears to be a local network name but local network names are not allowed",
- self::CANNOT_DECODE_PUNYCODE => "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded",
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'tld' => '_tld'
- );
-
- /**
- * Allows Internet domain names (e.g., example.com)
- */
- const ALLOW_DNS = 1;
-
- /**
- * Allows IP addresses
- */
- const ALLOW_IP = 2;
-
- /**
- * Allows local network names (e.g., localhost, www.localdomain)
- */
- const ALLOW_LOCAL = 4;
-
- /**
- * Allows all types of hostnames
- */
- const ALLOW_ALL = 7;
-
- /**
- * Array of valid top-level-domains
- *
- * @see ftp://data.iana.org/TLD/tlds-alpha-by-domain.txt List of all TLDs by domain
- * @see http://www.iana.org/domains/root/db/ Official list of supported TLDs
- * @var array
- */
- protected $_validTlds = array(
- 'ac', 'ad', 'ae', 'aero', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'arpa',
- 'as', 'asia', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi',
- 'biz', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cat', 'cc',
- 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'com', 'coop', 'cr', 'cu',
- 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'edu', 'ee', 'eg', 'er',
- 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg',
- 'gh', 'gi', 'gl', 'gm', 'gn', 'gov', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk',
- 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'info', 'int', 'io', 'iq',
- 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jobs', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp',
- 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly',
- 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mil', 'mk', 'ml', 'mm', 'mn', 'mo', 'mobi', 'mp',
- 'mq', 'mr', 'ms', 'mt', 'mu', 'museum', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'name', 'nc',
- 'ne', 'net', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'org', 'pa', 'pe',
- 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'pro', 'ps', 'pt', 'pw', 'py', 'qa', 're',
- 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl',
- 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tel', 'tf', 'tg', 'th',
- 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'travel', 'tt', 'tv', 'tw', 'tz', 'ua',
- 'ug', 'uk', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws',
- 'ye', 'yt', 'yu', 'za', 'zm', 'zw'
- );
-
- /**
- * @var string
- */
- protected $_tld;
-
- /**
- * Array for valid Idns
- * @see http://www.iana.org/domains/idn-tables/ Official list of supported IDN Chars
- * (.AC) Ascension Island http://www.nic.ac/pdf/AC-IDN-Policy.pdf
- * (.AR) Argentinia http://www.nic.ar/faqidn.html
- * (.AS) American Samoa http://www.nic.as/idn/chars.cfm
- * (.AT) Austria http://www.nic.at/en/service/technical_information/idn/charset_converter/
- * (.BIZ) International http://www.iana.org/domains/idn-tables/
- * (.BR) Brazil http://registro.br/faq/faq6.html
- * (.BV) Bouvett Island http://www.norid.no/domeneregistrering/idn/idn_nyetegn.en.html
- * (.CAT) Catalan http://www.iana.org/domains/idn-tables/tables/cat_ca_1.0.html
- * (.CH) Switzerland https://nic.switch.ch/reg/ocView.action?res=EF6GW2JBPVTG67DLNIQXU234MN6SC33JNQQGI7L6#anhang1
- * (.CL) Chile http://www.iana.org/domains/idn-tables/tables/cl_latn_1.0.html
- * (.COM) International http://www.verisign.com/information-services/naming-services/internationalized-domain-names/index.html
- * (.DE) Germany http://www.denic.de/en/domains/idns/liste.html
- * (.DK) Danmark http://www.dk-hostmaster.dk/index.php?id=151
- * (.ES) Spain https://www.nic.es/media/2008-05/1210147705287.pdf
- * (.FI) Finland http://www.ficora.fi/en/index/palvelut/fiverkkotunnukset/aakkostenkaytto.html
- * (.GR) Greece https://grweb.ics.forth.gr/CharacterTable1_en.jsp
- * (.HU) Hungary http://www.domain.hu/domain/English/szabalyzat/szabalyzat.html
- * (.INFO) International http://www.nic.info/info/idn
- * (.IO) British Indian Ocean Territory http://www.nic.io/IO-IDN-Policy.pdf
- * (.IR) Iran http://www.nic.ir/Allowable_Characters_dot-iran
- * (.IS) Iceland http://www.isnic.is/domain/rules.php
- * (.KR) Korea http://www.iana.org/domains/idn-tables/tables/kr_ko-kr_1.0.html
- * (.LI) Liechtenstein https://nic.switch.ch/reg/ocView.action?res=EF6GW2JBPVTG67DLNIQXU234MN6SC33JNQQGI7L6#anhang1
- * (.LT) Lithuania http://www.domreg.lt/static/doc/public/idn_symbols-en.pdf
- * (.MD) Moldova http://www.register.md/
- * (.MUSEUM) International http://www.iana.org/domains/idn-tables/tables/museum_latn_1.0.html
- * (.NET) International http://www.verisign.com/information-services/naming-services/internationalized-domain-names/index.html
- * (.NO) Norway http://www.norid.no/domeneregistrering/idn/idn_nyetegn.en.html
- * (.NU) Niue http://www.worldnames.net/
- * (.ORG) International http://www.pir.org/index.php?db=content/FAQs&tbl=FAQs_Registrant&id=2
- * (.PE) Peru https://www.nic.pe/nuevas_politicas_faq_2.php
- * (.PL) Poland http://www.dns.pl/IDN/allowed_character_sets.pdf
- * (.PR) Puerto Rico http://www.nic.pr/idn_rules.asp
- * (.PT) Portugal https://online.dns.pt/dns_2008/do?com=DS;8216320233;111;+PAGE(4000058)+K-CAT-CODIGO(C.125)+RCNT(100);
- * (.RU) Russia http://www.iana.org/domains/idn-tables/tables/ru_ru-ru_1.0.html
- * (.SA) Saudi Arabia http://www.iana.org/domains/idn-tables/tables/sa_ar_1.0.html
- * (.SE) Sweden http://www.iis.se/english/IDN_campaignsite.shtml?lang=en
- * (.SH) Saint Helena http://www.nic.sh/SH-IDN-Policy.pdf
- * (.SJ) Svalbard and Jan Mayen http://www.norid.no/domeneregistrering/idn/idn_nyetegn.en.html
- * (.TH) Thailand http://www.iana.org/domains/idn-tables/tables/th_th-th_1.0.html
- * (.TM) Turkmenistan http://www.nic.tm/TM-IDN-Policy.pdf
- * (.TR) Turkey https://www.nic.tr/index.php
- * (.VE) Venice http://www.iana.org/domains/idn-tables/tables/ve_es_1.0.html
- * (.VN) Vietnam http://www.vnnic.vn/english/5-6-300-2-2-04-20071115.htm#1.%20Introduction
- *
- * @var array
- */
- protected $_validIdns = array(
- 'AC' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄăąćĉċÄÄđēėęěÄġģĥħīįĵķĺļľŀłńņňŋőœŕŗřśÅşšţťŧūÅůűųŵŷźżž]{1,63}$/iu'),
- 'AR' => array(1 => '/^[\x{002d}0-9a-zĂ -Ă£Ă§-ĂªĂ¬Ăñ-ĂµĂ¼]{1,63}$/iu'),
- 'AS' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄăąćĉċÄÄđēĕėęěÄğġģĥħĩīÄįıĵķĸĺļľłńņňŋÅÅőœŕŗřśÅşšţťŧũūÅůűųŵŷźż]{1,63}$/iu'),
- 'AT' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿Å“Å¡Å¾]{1,63}$/iu'),
- 'BIZ' => 'Hostname/Biz.php',
- 'BR' => array(1 => '/^[\x{002d}0-9a-zĂ -Ă£Ă§Ă©ĂĂ³-ĂµĂºĂ¼]{1,63}$/iu'),
- 'BV' => array(1 => '/^[\x{002d}0-9a-zĂ Ă¡Ă¤-Ă©ĂªĂ±-Ă´Ă¶Ă¸Ă¼Äđńŋšŧž]{1,63}$/iu'),
- 'CAT' => array(1 => '/^[\x{002d}0-9a-z·à ç-Ă©ĂĂ¯Ă²Ă³ĂºĂ¼]{1,63}$/iu'),
- 'CH' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿Å“]{1,63}$/iu'),
- 'CL' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ±Ă³ĂºĂ¼]{1,63}$/iu'),
- 'CN' => 'Hostname/Cn.php',
- 'COM' => 'Zend/Validate/Hostname/Com.php',
- 'DE' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄƒÄ…ÄćĉÄÄ‹ÄđĕěėęēğÄġģĥħÄĩįīıĵķĺľļłńňņŋÅőŜĸŕřŗśÅšşťţŧÅůűũųūŵŷźžż]{1,63}$/iu'),
- 'DK' => array(1 => '/^[\x{002d}0-9a-zĂ¤Ă©Ă¶Ă¼]{1,63}$/iu'),
- 'ES' => array(1 => '/^[\x{002d}0-9a-zĂ Ă¡Ă§Ă¨Ă©ĂĂ¯Ă±Ă²Ă³ĂºĂ¼Â·]{1,63}$/iu'),
- 'EU' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿]{1,63}$/iu',
- 2 => '/^[\x{002d}0-9a-zÄăąćĉċÄÄđēĕėęěÄğġģĥħĩīÄįıĵķĺļľŀłńņňʼnŋÅÅőœŕŗřśÅšťŧũūÅůűųŵŷźżž]{1,63}$/iu',
- 3 => '/^[\x{002d}0-9a-zșț]{1,63}$/iu',
- 4 => '/^[\x{002d}0-9a-zÎάÎήίΰαβγδεζηθικλμνξοπÏςστυφχψωÏϋόÏÏ]{1,63}$/iu',
- 5 => '/^[\x{002d}0-9a-zĐ°Đ±Đ²Đ³Đ´ĐµĐ¶Đ·Đ¸Đ¹ĐºĐ»Đ¼Đ½Đ¾Đ¿Ñ€ÑтуфхцчшщÑыьÑÑÑ]{1,63}$/iu',
- 6 => '/^[\x{002d}0-9a-zá¼€-ἇá¼-ἕἠ-á¼§á¼°-á¼·á½€-á½…á½-á½—á½ -á½§á½°-Ïá¾€-ᾇá¾-á¾—á¾ -á¾§á¾°-ᾴᾶᾷῂῃῄῆῇá¿-Îá¿–á¿—á¿ -ῧῲῳῴῶῷ]{1,63}$/iu'),
- 'FI' => array(1 => '/^[\x{002d}0-9a-zĂ¤Ă¥Ă¶]{1,63}$/iu'),
- 'GR' => array(1 => '/^[\x{002d}0-9a-zΆΈΉÎÎŒÎ-ΡΣ-Ïá¼€-ἕἘ-á¼á¼ -ὅὈ-á½á½-ὗὙὛá½á½Ÿ-ώᾀ-á¾´á¾¶-ᾼῂῃῄῆ-ῌá¿-á¿“á¿–-Ίῠ-Ῥῲῳῴῶ-ῼ]{1,63}$/iu'),
- 'HK' => 'Zend/Validate/Hostname/Cn.php',
- 'HU' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ³Ă¶ĂºĂ¼Å‘Å±]{1,63}$/iu'),
- 'INFO'=> array(1 => '/^[\x{002d}0-9a-zĂ¤Ă¥Ă¦Ă©Ă¶Ă¸Ă¼]{1,63}$/iu',
- 2 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ³Ă¶ĂºĂ¼Å‘Å±]{1,63}$/iu',
- 3 => '/^[\x{002d}0-9a-zĂ¡Ă¦Ă©ĂĂ°Ă³Ă¶ĂºĂ½Ă¾]{1,63}$/iu',
- 4 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu',
- 5 => '/^[\x{002d}0-9a-zÄÄēģīķļņÅŗšūž]{1,63}$/iu',
- 6 => '/^[\x{002d}0-9a-zÄ…Äėęįšūųž]{1,63}$/iu',
- 7 => '/^[\x{002d}0-9a-zĂ³Ä…Ä‡Ä™Å‚Å„Å›ÅºÅ¼]{1,63}$/iu',
- 8 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ±Ă³ĂºĂ¼]{1,63}$/iu'),
- 'IO' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄƒÄ…ÄćĉÄÄ‹ÄđĕěėęēğÄġģĥħÄĩįīıĵķĺľļłńňņŋÅőŜĸŕřŗśÅšşťţŧÅůűũųūŵŷźžż]{1,63}$/iu'),
- 'IS' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă©Ă½ĂºĂĂ³Ă¾Ă¦Ă¶Ă°]{1,63}$/iu'),
- 'JP' => 'Zend/Validate/Hostname/Jp.php',
- 'KR' => array(1 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu'),
- 'LI' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿Å“]{1,63}$/iu'),
- 'LT' => array(1 => '/^[\x{002d}0-9Ä…Äęėįšųūž]{1,63}$/iu'),
- 'MD' => array(1 => '/^[\x{002d}0-9ÄƒĂ¢Ă®ÅŸÅ£]{1,63}$/iu'),
- 'MUSEUM' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄăąćċÄÄđēėęěğġģħīįıķĺļľłńņňŋÅőœŕŗřśşšţťŧūůűųŵŷźżžÇÇÇ’Ç”\x{01E5}\x{01E7}\x{01E9}\x{01EF}É™\x{0292}áºáºƒáº…ỳ]{1,63}$/iu'),
- 'NET' => 'Zend/Validate/Hostname/Com.php',
- 'NO' => array(1 => '/^[\x{002d}0-9a-zĂ Ă¡Ă¤-Ă©ĂªĂ±-Ă´Ă¶Ă¸Ă¼Äđńŋšŧž]{1,63}$/iu'),
- 'NU' => 'Zend/Validate/Hostname/Com.php',
- 'ORG' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ±Ă³ĂºĂ¼]{1,63}$/iu',
- 2 => '/^[\x{002d}0-9a-zĂ³Ä…Ä‡Ä™Å‚Å„Å›ÅºÅ¼]{1,63}$/iu',
- 3 => '/^[\x{002d}0-9a-zĂ¡Ă¤Ă¥Ă¦Ă©Ă«ĂĂ°Ă³Ă¶Ă¸ĂºĂ¼Ă½Ă¾]{1,63}$/iu',
- 4 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ³Ă¶ĂºĂ¼Å‘Å±]{1,63}$/iu',
- 5 => '/^[\x{002d}0-9a-zÄ…Äėęįšūųž]{1,63}$/iu',
- 6 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu',
- 7 => '/^[\x{002d}0-9a-zÄÄēģīķļņÅŗšūž]{1,63}$/iu'),
- 'PE' => array(1 => '/^[\x{002d}0-9a-zĂ±Ă¡Ă©ĂĂ³ĂºĂ¼]{1,63}$/iu'),
- 'PL' => array(1 => '/^[\x{002d}0-9a-zÄÄēģīķļņÅŗšūž]{1,63}$/iu',
- 2 => '/^[\x{002d}а-Đ¸Đº-ш\x{0450}ѓѕјљÑќџ]{1,63}$/iu',
- 3 => '/^[\x{002d}0-9a-zĂ¢Ă®ÄƒÅŸÅ£]{1,63}$/iu',
- 4 => '/^[\x{002d}0-9а-ÑÑ‘\x{04C2}]{1,63}$/iu',
- 5 => '/^[\x{002d}0-9a-zĂ Ă¡Ă¢Ă¨Ă©ĂªĂ¬ĂĂ®Ă²Ă³Ă´Ă¹ĂºĂ»Ä‹Ä¡Ä§Å¼]{1,63}$/iu',
- 6 => '/^[\x{002d}0-9a-zĂ Ă¤Ă¥Ă¦Ă©ĂªĂ²Ă³Ă´Ă¶Ă¸Ă¼]{1,63}$/iu',
- 7 => '/^[\x{002d}0-9a-zĂ³Ä…Ä‡Ä™Å‚Å„Å›ÅºÅ¼]{1,63}$/iu',
- 8 => '/^[\x{002d}0-9a-zĂ Ă¡Ă¢Ă£Ă§Ă©ĂªĂĂ²Ă³Ă´ĂµĂºĂ¼]{1,63}$/iu',
- 9 => '/^[\x{002d}0-9a-zĂ¢Ă®ÄƒÅŸÅ£]{1,63}$/iu',
- 10=> '/^[\x{002d}0-9a-zĂ¡Ă¤Ă©ĂĂ³Ă´ĂºĂ½ÄÄĺľňŕšťž]{1,63}$/iu',
- 11=> '/^[\x{002d}0-9a-zçë]{1,63}$/iu',
- 12=> '/^[\x{002d}0-9а-Đ¸Đº-шђјљÑћџ]{1,63}$/iu',
- 13=> '/^[\x{002d}0-9a-zćÄđšž]{1,63}$/iu',
- 14=> '/^[\x{002d}0-9a-zĂ¢Ă§Ă¶Ă»Ă¼ÄŸÄ±ÅŸ]{1,63}$/iu',
- 15=> '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ±Ă³ĂºĂ¼]{1,63}$/iu',
- 16=> '/^[\x{002d}0-9a-zĂ¤ĂµĂ¶Ă¼Å¡Å¾]{1,63}$/iu',
- 17=> '/^[\x{002d}0-9a-zĉÄĥĵÅÅ]{1,63}$/iu',
- 18=> '/^[\x{002d}0-9a-zĂ¢Ă¤Ă©Ă«Ă®Ă´]{1,63}$/iu',
- 19=> '/^[\x{002d}0-9a-zĂ Ă¡Ă¢Ă¤Ă¥Ă¦Ă§Ă¨Ă©ĂªĂ«Ă¬ĂĂ®Ă¯Ă°Ă±Ă²Ă´Ă¶Ă¸Ă¹ĂºĂ»Ă¼Ă½Ä‡Äłńřśš]{1,63}$/iu',
- 20=> '/^[\x{002d}0-9a-zĂ¤Ă¥Ă¦ĂµĂ¶Ă¸Ă¼Å¡Å¾]{1,63}$/iu',
- 21=> '/^[\x{002d}0-9a-zĂ Ă¡Ă§Ă¨Ă©Ă¬ĂĂ²Ă³Ă¹Ăº]{1,63}$/iu',
- 22=> '/^[\x{002d}0-9a-zĂ Ă¡Ă©ĂĂ³Ă¶ĂºĂ¼Å‘Å±]{1,63}$/iu',
- 23=> '/^[\x{002d}0-9Îά-Ï]{1,63}$/iu',
- 24=> '/^[\x{002d}0-9a-zĂ Ă¡Ă¢Ă¥Ă¦Ă§Ă¨Ă©ĂªĂ«Ă°Ă³Ă´Ă¶Ă¸Ă¼Ă¾Å“]{1,63}$/iu',
- 25=> '/^[\x{002d}0-9a-zĂ¡Ă¤Ă©ĂĂ³Ă¶ĂºĂ¼Ă½ÄÄěňřšťůž]{1,63}$/iu',
- 26=> '/^[\x{002d}0-9a-z·à çèéĂĂ¯Ă²Ă³ĂºĂ¼]{1,63}$/iu',
- 27=> '/^[\x{002d}0-9а-ÑÑŒÑÑ\x{0450}\x{045D}]{1,63}$/iu',
- 28=> '/^[\x{002d}0-9а-ÑёіÑ]{1,63}$/iu',
- 29=> '/^[\x{002d}0-9a-zÄ…Äėęįšūųž]{1,63}$/iu',
- 30=> '/^[\x{002d}0-9a-zĂ¡Ă¤Ă¥Ă¦Ă©Ă«ĂĂ°Ă³Ă¶Ă¸ĂºĂ¼Ă½Ă¾]{1,63}$/iu',
- 31=> '/^[\x{002d}0-9a-zĂ Ă¢Ă¦Ă§Ă¨Ă©ĂªĂ«Ă®Ă¯Ă±Ă´Ă¹Ă»Ă¼Ă¿Å“]{1,63}$/iu',
- 32=> '/^[\x{002d}0-9а-щÑыьÑÑÑёєії̉‘]{1,63}$/iu',
- 33=> '/^[\x{002d}0-9×-ת]{1,63}$/iu'),
- 'PR' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ³ĂºĂ±Ă¤Ă«Ă¯Ă¼Ă¶Ă¢ĂªĂ®Ă´Ă»Ă Ă¨Ă¹Ă¦Ă§Å“Ă£Ăµ]{1,63}$/iu'),
- 'PT' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă Ă¢Ă£Ă§Ă©ĂªĂĂ³Ă´ĂµĂº]{1,63}$/iu'),
- 'RU' => array(1 => '/^[\x{002d}0-9а-ÑÑ‘]{1,63}$/iu'),
- 'SA' => array(1 => '/^[\x{002d}.0-9\x{0621}-\x{063A}\x{0641}-\x{064A}\x{0660}-\x{0669}]{1,63}$/iu'),
- 'SE' => array(1 => '/^[\x{002d}0-9a-zĂ¤Ă¥Ă©Ă¶Ă¼]{1,63}$/iu'),
- 'SH' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄƒÄ…ÄćĉÄÄ‹ÄđĕěėęēğÄġģĥħÄĩįīıĵķĺľļłńňņŋÅőŜĸŕřŗśÅšşťţŧÅůűũųūŵŷźžż]{1,63}$/iu'),
- 'SJ' => array(1 => '/^[\x{002d}0-9a-zĂ Ă¡Ă¤-Ă©ĂªĂ±-Ă´Ă¶Ă¸Ă¼Äđńŋšŧž]{1,63}$/iu'),
- 'TH' => array(1 => '/^[\x{002d}0-9a-z\x{0E01}-\x{0E3A}\x{0E40}-\x{0E4D}\x{0E50}-\x{0E59}]{1,63}$/iu'),
- 'TM' => array(1 => '/^[\x{002d}0-9a-zĂ -öø-Ă¿ÄăąćĉċÄÄđēėęěÄġģĥħīįĵķĺļľŀłńņňŋőœŕŗřśÅşšţťŧūÅůűųŵŷźżž]{1,63}$/iu'),
- 'TW' => 'Zend/Validate/Hostname/Cn.php',
- 'TR' => array(1 => '/^[\x{002d}0-9a-zÄŸÄ±Ă¼ÅŸĂ¶Ă§]{1,63}$/iu'),
- 'VE' => array(1 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ³ĂºĂ¼Ă±]{1,63}$/iu'),
- 'VN' => array(1 => '/^[Ă€ĂĂ‚ĂƒĂˆĂ‰ĂĂŒĂÒÓÔÕÙĂĂĂ Ă¡Ă¢Ă£Ă¨Ă©ĂªĂ¬ĂĂ²Ă³Ă´ĂµĂ¹ĂºĂ½Ä‚ÄƒÄÄ‘Ä¨Ä©Å¨Å©Æ Æ¡Æ¯Æ°\x{1EA0}-\x{1EF9}]{1,63}$/iu'),
- 'ایران' => array(1 => '/^[\x{0621}-\x{0624}\x{0626}-\x{063A}\x{0641}\x{0642}\x{0644}-\x{0648}\x{067E}\x{0686}\x{0698}\x{06A9}\x{06AF}\x{06CC}\x{06F0}-\x{06F9}]{1,30}$/iu'),
- 'ä¸å›½' => 'Zend/Validate/Hostname/Cn.php',
- 'å…¬å¸' => 'Zend/Validate/Hostname/Cn.php',
- '网络' => 'Zend/Validate/Hostname/Cn.php'
- );
-
- protected $_idnLength = array(
- 'BIZ' => array(5 => 17, 11 => 15, 12 => 20),
- 'CN' => array(1 => 20),
- 'COM' => array(3 => 17, 5 => 20),
- 'HK' => array(1 => 15),
- 'INFO'=> array(4 => 17),
- 'KR' => array(1 => 17),
- 'NET' => array(3 => 17, 5 => 20),
- 'ORG' => array(6 => 17),
- 'TW' => array(1 => 20),
- 'ایران' => array(1 => 30),
- 'ä¸å›½' => array(1 => 20),
- 'å…¬å¸' => array(1 => 20),
- '网络' => array(1 => 20),
- );
-
- protected $_options = array(
- 'allow' => self::ALLOW_DNS,
- 'idn' => true,
- 'tld' => true,
- 'ip' => null
- );
-
- /**
- * Sets validator options
- *
- * @param integer $allow OPTIONAL Set what types of hostname to allow (default ALLOW_DNS)
- * @param boolean $validateIdn OPTIONAL Set whether IDN domains are validated (default true)
- * @param boolean $validateTld OPTIONAL Set whether the TLD element of a hostname is validated (default true)
- * @param Zend_Validate_Ip $ipValidator OPTIONAL
- * @return void
- * @see http://www.iana.org/cctld/specifications-policies-cctlds-01apr02.htm Technical Specifications for ccTLDs
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['allow'] = array_shift($options);
- if (!empty($options)) {
- $temp['idn'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['tld'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['ip'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- $options += $this->_options;
- $this->setOptions($options);
- }
-
- /**
- * Returns all set options
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Sets the options for this validator
- *
- * @param array $options
- * @return Zend_Validate_Hostname
- */
- public function setOptions($options)
- {
- if (array_key_exists('allow', $options)) {
- $this->setAllow($options['allow']);
- }
-
- if (array_key_exists('idn', $options)) {
- $this->setValidateIdn($options['idn']);
- }
-
- if (array_key_exists('tld', $options)) {
- $this->setValidateTld($options['tld']);
- }
-
- if (array_key_exists('ip', $options)) {
- $this->setIpValidator($options['ip']);
- }
-
- return $this;
- }
-
- /**
- * Returns the set ip validator
- *
- * @return Zend_Validate_Ip
- */
- public function getIpValidator()
- {
- return $this->_options['ip'];
- }
-
- /**
- * @param Zend_Validate_Ip $ipValidator OPTIONAL
- * @return void;
- */
- public function setIpValidator(Zend_Validate_Ip $ipValidator = null)
- {
- if ($ipValidator === null) {
- $ipValidator = new Zend_Validate_Ip();
- }
-
- $this->_options['ip'] = $ipValidator;
- return $this;
- }
-
- /**
- * Returns the allow option
- *
- * @return integer
- */
- public function getAllow()
- {
- return $this->_options['allow'];
- }
-
- /**
- * Sets the allow option
- *
- * @param integer $allow
- * @return Zend_Validate_Hostname Provides a fluent interface
- */
- public function setAllow($allow)
- {
- $this->_options['allow'] = $allow;
- return $this;
- }
-
- /**
- * Returns the set idn option
- *
- * @return boolean
- */
- public function getValidateIdn()
- {
- return $this->_options['idn'];
- }
-
- /**
- * Set whether IDN domains are validated
- *
- * This only applies when DNS hostnames are validated
- *
- * @param boolean $allowed Set allowed to true to validate IDNs, and false to not validate them
- */
- public function setValidateIdn ($allowed)
- {
- $this->_options['idn'] = (bool) $allowed;
- return $this;
- }
-
- /**
- * Returns the set tld option
- *
- * @return boolean
- */
- public function getValidateTld()
- {
- return $this->_options['tld'];
- }
-
- /**
- * Set whether the TLD element of a hostname is validated
- *
- * This only applies when DNS hostnames are validated
- *
- * @param boolean $allowed Set allowed to true to validate TLDs, and false to not validate them
- */
- public function setValidateTld ($allowed)
- {
- $this->_options['tld'] = (bool) $allowed;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the $value is a valid hostname with respect to the current allow option
- *
- * @param string $value
- * @throws Zend_Validate_Exception if a fatal error occurs for validation process
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- // Check input against IP address schema
- if (preg_match('/^[0-9.a-e:.]*$/i', $value) &&
- $this->_options['ip']->setTranslator($this->getTranslator())->isValid($value)) {
- if (!($this->_options['allow'] & self::ALLOW_IP)) {
- $this->_error(self::IP_ADDRESS_NOT_ALLOWED);
- return false;
- } else {
- return true;
- }
- }
-
- // Check input against DNS hostname schema
- $domainParts = explode('.', $value);
- if ((count($domainParts) > 1) && (strlen($value) >= 4) && (strlen($value) <= 254)) {
- $status = false;
-
- $origenc = iconv_get_encoding('internal_encoding');
- iconv_set_encoding('internal_encoding', 'UTF-8');
- do {
- // First check TLD
- $matches = array();
- if (preg_match('/([^.]{2,10})$/i', end($domainParts), $matches) ||
- (end($domainParts) == 'ایران') || (end($domainParts) == 'ä¸å›½') ||
- (end($domainParts) == 'å…¬å¸') || (end($domainParts) == '网络')) {
-
- reset($domainParts);
-
- // Hostname characters are: *(label dot)(label dot label); max 254 chars
- // label: id-prefix [*ldh{61} id-prefix]; max 63 chars
- // id-prefix: alpha / digit
- // ldh: alpha / digit / dash
-
- // Match TLD against known list
- $this->_tld = strtolower($matches[1]);
- if ($this->_options['tld']) {
- if (!in_array($this->_tld, $this->_validTlds)) {
- $this->_error(self::UNKNOWN_TLD);
- $status = false;
- break;
- }
- }
-
- /**
- * Match against IDN hostnames
- * Note: Keep label regex short to avoid issues with long patterns when matching IDN hostnames
- * @see Zend_Validate_Hostname_Interface
- */
- $regexChars = array(0 => '/^[a-z0-9\x2d]{1,63}$/i');
- if ($this->_options['idn'] && isset($this->_validIdns[strtoupper($this->_tld)])) {
- if (is_string($this->_validIdns[strtoupper($this->_tld)])) {
- $regexChars += include($this->_validIdns[strtoupper($this->_tld)]);
- } else {
- $regexChars += $this->_validIdns[strtoupper($this->_tld)];
- }
- }
-
- // Check each hostname part
- $check = 0;
- foreach ($domainParts as $domainPart) {
- // Decode Punycode domainnames to IDN
- if (strpos($domainPart, 'xn--') === 0) {
- $domainPart = $this->decodePunycode(substr($domainPart, 4));
- if ($domainPart === false) {
- return false;
- }
- }
-
- // Check dash (-) does not start, end or appear in 3rd and 4th positions
- if ((strpos($domainPart, '-') === 0)
- || ((strlen($domainPart) > 2) && (strpos($domainPart, '-', 2) == 2) && (strpos($domainPart, '-', 3) == 3))
- || (strpos($domainPart, '-') === (strlen($domainPart) - 1))) {
- $this->_error(self::INVALID_DASH);
- $status = false;
- break 2;
- }
-
- // Check each domain part
- $checked = false;
- foreach($regexChars as $regexKey => $regexChar) {
- $status = @preg_match($regexChar, $domainPart);
- if ($status > 0) {
- $length = 63;
- if (array_key_exists(strtoupper($this->_tld), $this->_idnLength)
- && (array_key_exists($regexKey, $this->_idnLength[strtoupper($this->_tld)]))) {
- $length = $this->_idnLength[strtoupper($this->_tld)];
- }
-
- if (iconv_strlen($domainPart, 'UTF-8') > $length) {
- $this->_error(self::INVALID_HOSTNAME);
- } else {
- $checked = true;
- break;
- }
- }
- }
-
- if ($checked) {
- ++$check;
- }
- }
-
- // If one of the labels doesn't match, the hostname is invalid
- if ($check !== count($domainParts)) {
- $this->_error(self::INVALID_HOSTNAME_SCHEMA);
- $status = false;
- }
- } else {
- // Hostname not long enough
- $this->_error(self::UNDECIPHERABLE_TLD);
- $status = false;
- }
- } while (false);
-
- iconv_set_encoding('internal_encoding', $origenc);
- // If the input passes as an Internet domain name, and domain names are allowed, then the hostname
- // passes validation
- if ($status && ($this->_options['allow'] & self::ALLOW_DNS)) {
- return true;
- }
- } else if ($this->_options['allow'] & self::ALLOW_DNS) {
- $this->_error(self::INVALID_HOSTNAME);
- }
-
- // Check input against local network name schema; last chance to pass validation
- $regexLocal = '/^(([a-zA-Z0-9\x2d]{1,63}\x2e)*[a-zA-Z0-9\x2d]{1,63}){1,254}$/';
- $status = @preg_match($regexLocal, $value);
-
- // If the input passes as a local network name, and local network names are allowed, then the
- // hostname passes validation
- $allowLocal = $this->_options['allow'] & self::ALLOW_LOCAL;
- if ($status && $allowLocal) {
- return true;
- }
-
- // If the input does not pass as a local network name, add a message
- if (!$status) {
- $this->_error(self::INVALID_LOCAL_NAME);
- }
-
- // If local network names are not allowed, add a message
- if ($status && !$allowLocal) {
- $this->_error(self::LOCAL_NAME_NOT_ALLOWED);
- }
-
- return false;
- }
-
- /**
- * Decodes a punycode encoded string to it's original utf8 string
- * In case of a decoding failure the original string is returned
- *
- * @param string $encoded Punycode encoded string to decode
- * @return string
- */
- protected function decodePunycode($encoded)
- {
- $found = preg_match('/([^a-z0-9\x2d]{1,10})$/i', $encoded);
- if (empty($encoded) || ($found > 0)) {
- // no punycode encoded string, return as is
- $this->_error(self::CANNOT_DECODE_PUNYCODE);
- return false;
- }
-
- $separator = strrpos($encoded, '-');
- if ($separator > 0) {
- for ($x = 0; $x < $separator; ++$x) {
- // prepare decoding matrix
- $decoded[] = ord($encoded[$x]);
- }
- } else {
- $this->_error(self::CANNOT_DECODE_PUNYCODE);
- return false;
- }
-
- $lengthd = count($decoded);
- $lengthe = strlen($encoded);
-
- // decoding
- $init = true;
- $base = 72;
- $index = 0;
- $char = 0x80;
-
- for ($indexe = ($separator) ? ($separator + 1) : 0; $indexe < $lengthe; ++$lengthd) {
- for ($old_index = $index, $pos = 1, $key = 36; 1 ; $key += 36) {
- $hex = ord($encoded[$indexe++]);
- $digit = ($hex - 48 < 10) ? $hex - 22
- : (($hex - 65 < 26) ? $hex - 65
- : (($hex - 97 < 26) ? $hex - 97
- : 36));
-
- $index += $digit * $pos;
- $tag = ($key <= $base) ? 1 : (($key >= $base + 26) ? 26 : ($key - $base));
- if ($digit < $tag) {
- break;
- }
-
- $pos = (int) ($pos * (36 - $tag));
- }
-
- $delta = intval($init ? (($index - $old_index) / 700) : (($index - $old_index) / 2));
- $delta += intval($delta / ($lengthd + 1));
- for ($key = 0; $delta > 910 / 2; $key += 36) {
- $delta = intval($delta / 35);
- }
-
- $base = intval($key + 36 * $delta / ($delta + 38));
- $init = false;
- $char += (int) ($index / ($lengthd + 1));
- $index %= ($lengthd + 1);
- if ($lengthd > 0) {
- for ($i = $lengthd; $i > $index; $i--) {
- $decoded[$i] = $decoded[($i - 1)];
- }
- }
-
- $decoded[$index++] = $char;
- }
-
- // convert decoded ucs4 to utf8 string
- foreach ($decoded as $key => $value) {
- if ($value < 128) {
- $decoded[$key] = chr($value);
- } elseif ($value < (1 << 11)) {
- $decoded[$key] = chr(192 + ($value >> 6));
- $decoded[$key] .= chr(128 + ($value & 63));
- } elseif ($value < (1 << 16)) {
- $decoded[$key] = chr(224 + ($value >> 12));
- $decoded[$key] .= chr(128 + (($value >> 6) & 63));
- $decoded[$key] .= chr(128 + ($value & 63));
- } elseif ($value < (1 << 21)) {
- $decoded[$key] = chr(240 + ($value >> 18));
- $decoded[$key] .= chr(128 + (($value >> 12) & 63));
- $decoded[$key] .= chr(128 + (($value >> 6) & 63));
- $decoded[$key] .= chr(128 + ($value & 63));
- } else {
- $this->_error(self::CANNOT_DECODE_PUNYCODE);
- return false;
- }
- }
-
- return implode($decoded);
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Hostname/Biz.php b/airtime_mvc/library/Zend/Validate/Hostname/Biz.php
deleted file mode 100644
index 38762217d..000000000
--- a/airtime_mvc/library/Zend/Validate/Hostname/Biz.php
+++ /dev/null
@@ -1,2917 +0,0 @@
- '/^[\x{002d}0-9a-zĂ¤Ă¥Ă¦Ă©Ă¶Ă¸Ă¼]{1,63}$/iu',
- 2 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ±Ă³ĂºĂ¼]{1,63}$/iu',
- 3 => '/^[\x{002d}0-9a-zĂ¡Ă©ĂĂ³Ă¶ĂºĂ¼Å‘Å±]{1,63}$/iu',
- 4 => '/^[\x{002d}0-9a-zĂ¡Ă¦Ă©ĂĂ°Ă³Ă¶ĂºĂ½Ă¾]{1,63}$/iu',
- 5 => '/^[\x{AC00}-\x{D7A3}]{1,17}$/iu',
- 6 => '/^[\x{002d}0-9a-zÄ…Äėęįšūųž]{1,63}$/iu',
- 7 => '/^[\x{002d}0-9a-zÄÄēģīķļņÅŗšūž]{1,63}$/iu',
- 8 => '/^[\x{002d}0-9a-zĂ Ă¡Ă¤-Ă©ĂªĂ±-Ă´Ă¶Ă¸Ă¼Äđńŋšŧž]{1,63}$/iu',
- 9 => '/^[\x{002d}0-9a-zĂ³Ä…Ä‡Ä™Å‚Å„Å›ÅºÅ¼]{1,63}$/iu',
- 10 => '/^[\x{002d}0-9a-zĂ¡Ă Ă¢Ă£Ă§Ă©ĂªĂĂ³Ă´ĂµĂº]{1,63}$/iu',
- 11 => '/^[\x{002d}0-9a-z\x{3005}-\x{3007}\x{3041}-\x{3093}\x{309D}\x{309E}\x{30A1}-\x{30F6}\x{30FC}' .
-'\x{30FD}\x{30FE}\x{4E00}\x{4E01}\x{4E03}\x{4E07}\x{4E08}\x{4E09}\x{4E0A}' .
-'\x{4E0B}\x{4E0D}\x{4E0E}\x{4E10}\x{4E11}\x{4E14}\x{4E15}\x{4E16}\x{4E17}' .
-'\x{4E18}\x{4E19}\x{4E1E}\x{4E21}\x{4E26}\x{4E2A}\x{4E2D}\x{4E31}\x{4E32}' .
-'\x{4E36}\x{4E38}\x{4E39}\x{4E3B}\x{4E3C}\x{4E3F}\x{4E42}\x{4E43}\x{4E45}' .
-'\x{4E4B}\x{4E4D}\x{4E4E}\x{4E4F}\x{4E55}\x{4E56}\x{4E57}\x{4E58}\x{4E59}' .
-'\x{4E5D}\x{4E5E}\x{4E5F}\x{4E62}\x{4E71}\x{4E73}\x{4E7E}\x{4E80}\x{4E82}' .
-'\x{4E85}\x{4E86}\x{4E88}\x{4E89}\x{4E8A}\x{4E8B}\x{4E8C}\x{4E8E}\x{4E91}' .
-'\x{4E92}\x{4E94}\x{4E95}\x{4E98}\x{4E99}\x{4E9B}\x{4E9C}\x{4E9E}\x{4E9F}' .
-'\x{4EA0}\x{4EA1}\x{4EA2}\x{4EA4}\x{4EA5}\x{4EA6}\x{4EA8}\x{4EAB}\x{4EAC}' .
-'\x{4EAD}\x{4EAE}\x{4EB0}\x{4EB3}\x{4EB6}\x{4EBA}\x{4EC0}\x{4EC1}\x{4EC2}' .
-'\x{4EC4}\x{4EC6}\x{4EC7}\x{4ECA}\x{4ECB}\x{4ECD}\x{4ECE}\x{4ECF}\x{4ED4}' .
-'\x{4ED5}\x{4ED6}\x{4ED7}\x{4ED8}\x{4ED9}\x{4EDD}\x{4EDE}\x{4EDF}\x{4EE3}' .
-'\x{4EE4}\x{4EE5}\x{4EED}\x{4EEE}\x{4EF0}\x{4EF2}\x{4EF6}\x{4EF7}\x{4EFB}' .
-'\x{4F01}\x{4F09}\x{4F0A}\x{4F0D}\x{4F0E}\x{4F0F}\x{4F10}\x{4F11}\x{4F1A}' .
-'\x{4F1C}\x{4F1D}\x{4F2F}\x{4F30}\x{4F34}\x{4F36}\x{4F38}\x{4F3A}\x{4F3C}' .
-'\x{4F3D}\x{4F43}\x{4F46}\x{4F47}\x{4F4D}\x{4F4E}\x{4F4F}\x{4F50}\x{4F51}' .
-'\x{4F53}\x{4F55}\x{4F57}\x{4F59}\x{4F5A}\x{4F5B}\x{4F5C}\x{4F5D}\x{4F5E}' .
-'\x{4F69}\x{4F6F}\x{4F70}\x{4F73}\x{4F75}\x{4F76}\x{4F7B}\x{4F7C}\x{4F7F}' .
-'\x{4F83}\x{4F86}\x{4F88}\x{4F8B}\x{4F8D}\x{4F8F}\x{4F91}\x{4F96}\x{4F98}' .
-'\x{4F9B}\x{4F9D}\x{4FA0}\x{4FA1}\x{4FAB}\x{4FAD}\x{4FAE}\x{4FAF}\x{4FB5}' .
-'\x{4FB6}\x{4FBF}\x{4FC2}\x{4FC3}\x{4FC4}\x{4FCA}\x{4FCE}\x{4FD0}\x{4FD1}' .
-'\x{4FD4}\x{4FD7}\x{4FD8}\x{4FDA}\x{4FDB}\x{4FDD}\x{4FDF}\x{4FE1}\x{4FE3}' .
-'\x{4FE4}\x{4FE5}\x{4FEE}\x{4FEF}\x{4FF3}\x{4FF5}\x{4FF6}\x{4FF8}\x{4FFA}' .
-'\x{4FFE}\x{5005}\x{5006}\x{5009}\x{500B}\x{500D}\x{500F}\x{5011}\x{5012}' .
-'\x{5014}\x{5016}\x{5019}\x{501A}\x{501F}\x{5021}\x{5023}\x{5024}\x{5025}' .
-'\x{5026}\x{5028}\x{5029}\x{502A}\x{502B}\x{502C}\x{502D}\x{5036}\x{5039}' .
-'\x{5043}\x{5047}\x{5048}\x{5049}\x{504F}\x{5050}\x{5055}\x{5056}\x{505A}' .
-'\x{505C}\x{5065}\x{506C}\x{5072}\x{5074}\x{5075}\x{5076}\x{5078}\x{507D}' .
-'\x{5080}\x{5085}\x{508D}\x{5091}\x{5098}\x{5099}\x{509A}\x{50AC}\x{50AD}' .
-'\x{50B2}\x{50B3}\x{50B4}\x{50B5}\x{50B7}\x{50BE}\x{50C2}\x{50C5}\x{50C9}' .
-'\x{50CA}\x{50CD}\x{50CF}\x{50D1}\x{50D5}\x{50D6}\x{50DA}\x{50DE}\x{50E3}' .
-'\x{50E5}\x{50E7}\x{50ED}\x{50EE}\x{50F5}\x{50F9}\x{50FB}\x{5100}\x{5101}' .
-'\x{5102}\x{5104}\x{5109}\x{5112}\x{5114}\x{5115}\x{5116}\x{5118}\x{511A}' .
-'\x{511F}\x{5121}\x{512A}\x{5132}\x{5137}\x{513A}\x{513B}\x{513C}\x{513F}' .
-'\x{5140}\x{5141}\x{5143}\x{5144}\x{5145}\x{5146}\x{5147}\x{5148}\x{5149}' .
-'\x{514B}\x{514C}\x{514D}\x{514E}\x{5150}\x{5152}\x{5154}\x{515A}\x{515C}' .
-'\x{5162}\x{5165}\x{5168}\x{5169}\x{516A}\x{516B}\x{516C}\x{516D}\x{516E}' .
-'\x{5171}\x{5175}\x{5176}\x{5177}\x{5178}\x{517C}\x{5180}\x{5182}\x{5185}' .
-'\x{5186}\x{5189}\x{518A}\x{518C}\x{518D}\x{518F}\x{5190}\x{5191}\x{5192}' .
-'\x{5193}\x{5195}\x{5196}\x{5197}\x{5199}\x{51A0}\x{51A2}\x{51A4}\x{51A5}' .
-'\x{51A6}\x{51A8}\x{51A9}\x{51AA}\x{51AB}\x{51AC}\x{51B0}\x{51B1}\x{51B2}' .
-'\x{51B3}\x{51B4}\x{51B5}\x{51B6}\x{51B7}\x{51BD}\x{51C4}\x{51C5}\x{51C6}' .
-'\x{51C9}\x{51CB}\x{51CC}\x{51CD}\x{51D6}\x{51DB}\x{51DC}\x{51DD}\x{51E0}' .
-'\x{51E1}\x{51E6}\x{51E7}\x{51E9}\x{51EA}\x{51ED}\x{51F0}\x{51F1}\x{51F5}' .
-'\x{51F6}\x{51F8}\x{51F9}\x{51FA}\x{51FD}\x{51FE}\x{5200}\x{5203}\x{5204}' .
-'\x{5206}\x{5207}\x{5208}\x{520A}\x{520B}\x{520E}\x{5211}\x{5214}\x{5217}' .
-'\x{521D}\x{5224}\x{5225}\x{5227}\x{5229}\x{522A}\x{522E}\x{5230}\x{5233}' .
-'\x{5236}\x{5237}\x{5238}\x{5239}\x{523A}\x{523B}\x{5243}\x{5244}\x{5247}' .
-'\x{524A}\x{524B}\x{524C}\x{524D}\x{524F}\x{5254}\x{5256}\x{525B}\x{525E}' .
-'\x{5263}\x{5264}\x{5265}\x{5269}\x{526A}\x{526F}\x{5270}\x{5271}\x{5272}' .
-'\x{5273}\x{5274}\x{5275}\x{527D}\x{527F}\x{5283}\x{5287}\x{5288}\x{5289}' .
-'\x{528D}\x{5291}\x{5292}\x{5294}\x{529B}\x{529F}\x{52A0}\x{52A3}\x{52A9}' .
-'\x{52AA}\x{52AB}\x{52AC}\x{52AD}\x{52B1}\x{52B4}\x{52B5}\x{52B9}\x{52BC}' .
-'\x{52BE}\x{52C1}\x{52C3}\x{52C5}\x{52C7}\x{52C9}\x{52CD}\x{52D2}\x{52D5}' .
-'\x{52D7}\x{52D8}\x{52D9}\x{52DD}\x{52DE}\x{52DF}\x{52E0}\x{52E2}\x{52E3}' .
-'\x{52E4}\x{52E6}\x{52E7}\x{52F2}\x{52F3}\x{52F5}\x{52F8}\x{52F9}\x{52FA}' .
-'\x{52FE}\x{52FF}\x{5301}\x{5302}\x{5305}\x{5306}\x{5308}\x{530D}\x{530F}' .
-'\x{5310}\x{5315}\x{5316}\x{5317}\x{5319}\x{531A}\x{531D}\x{5320}\x{5321}' .
-'\x{5323}\x{532A}\x{532F}\x{5331}\x{5333}\x{5338}\x{5339}\x{533A}\x{533B}' .
-'\x{533F}\x{5340}\x{5341}\x{5343}\x{5345}\x{5346}\x{5347}\x{5348}\x{5349}' .
-'\x{534A}\x{534D}\x{5351}\x{5352}\x{5353}\x{5354}\x{5357}\x{5358}\x{535A}' .
-'\x{535C}\x{535E}\x{5360}\x{5366}\x{5369}\x{536E}\x{536F}\x{5370}\x{5371}' .
-'\x{5373}\x{5374}\x{5375}\x{5377}\x{5378}\x{537B}\x{537F}\x{5382}\x{5384}' .
-'\x{5396}\x{5398}\x{539A}\x{539F}\x{53A0}\x{53A5}\x{53A6}\x{53A8}\x{53A9}' .
-'\x{53AD}\x{53AE}\x{53B0}\x{53B3}\x{53B6}\x{53BB}\x{53C2}\x{53C3}\x{53C8}' .
-'\x{53C9}\x{53CA}\x{53CB}\x{53CC}\x{53CD}\x{53CE}\x{53D4}\x{53D6}\x{53D7}' .
-'\x{53D9}\x{53DB}\x{53DF}\x{53E1}\x{53E2}\x{53E3}\x{53E4}\x{53E5}\x{53E8}' .
-'\x{53E9}\x{53EA}\x{53EB}\x{53EC}\x{53ED}\x{53EE}\x{53EF}\x{53F0}\x{53F1}' .
-'\x{53F2}\x{53F3}\x{53F6}\x{53F7}\x{53F8}\x{53FA}\x{5401}\x{5403}\x{5404}' .
-'\x{5408}\x{5409}\x{540A}\x{540B}\x{540C}\x{540D}\x{540E}\x{540F}\x{5410}' .
-'\x{5411}\x{541B}\x{541D}\x{541F}\x{5420}\x{5426}\x{5429}\x{542B}\x{542C}' .
-'\x{542D}\x{542E}\x{5436}\x{5438}\x{5439}\x{543B}\x{543C}\x{543D}\x{543E}' .
-'\x{5440}\x{5442}\x{5446}\x{5448}\x{5449}\x{544A}\x{544E}\x{5451}\x{545F}' .
-'\x{5468}\x{546A}\x{5470}\x{5471}\x{5473}\x{5475}\x{5476}\x{5477}\x{547B}' .
-'\x{547C}\x{547D}\x{5480}\x{5484}\x{5486}\x{548B}\x{548C}\x{548E}\x{548F}' .
-'\x{5490}\x{5492}\x{54A2}\x{54A4}\x{54A5}\x{54A8}\x{54AB}\x{54AC}\x{54AF}' .
-'\x{54B2}\x{54B3}\x{54B8}\x{54BC}\x{54BD}\x{54BE}\x{54C0}\x{54C1}\x{54C2}' .
-'\x{54C4}\x{54C7}\x{54C8}\x{54C9}\x{54D8}\x{54E1}\x{54E2}\x{54E5}\x{54E6}' .
-'\x{54E8}\x{54E9}\x{54ED}\x{54EE}\x{54F2}\x{54FA}\x{54FD}\x{5504}\x{5506}' .
-'\x{5507}\x{550F}\x{5510}\x{5514}\x{5516}\x{552E}\x{552F}\x{5531}\x{5533}' .
-'\x{5538}\x{5539}\x{553E}\x{5540}\x{5544}\x{5545}\x{5546}\x{554C}\x{554F}' .
-'\x{5553}\x{5556}\x{5557}\x{555C}\x{555D}\x{5563}\x{557B}\x{557C}\x{557E}' .
-'\x{5580}\x{5583}\x{5584}\x{5587}\x{5589}\x{558A}\x{558B}\x{5598}\x{5599}' .
-'\x{559A}\x{559C}\x{559D}\x{559E}\x{559F}\x{55A7}\x{55A8}\x{55A9}\x{55AA}' .
-'\x{55AB}\x{55AC}\x{55AE}\x{55B0}\x{55B6}\x{55C4}\x{55C5}\x{55C7}\x{55D4}' .
-'\x{55DA}\x{55DC}\x{55DF}\x{55E3}\x{55E4}\x{55F7}\x{55F9}\x{55FD}\x{55FE}' .
-'\x{5606}\x{5609}\x{5614}\x{5616}\x{5617}\x{5618}\x{561B}\x{5629}\x{562F}' .
-'\x{5631}\x{5632}\x{5634}\x{5636}\x{5638}\x{5642}\x{564C}\x{564E}\x{5650}' .
-'\x{565B}\x{5664}\x{5668}\x{566A}\x{566B}\x{566C}\x{5674}\x{5678}\x{567A}' .
-'\x{5680}\x{5686}\x{5687}\x{568A}\x{568F}\x{5694}\x{56A0}\x{56A2}\x{56A5}' .
-'\x{56AE}\x{56B4}\x{56B6}\x{56BC}\x{56C0}\x{56C1}\x{56C2}\x{56C3}\x{56C8}' .
-'\x{56CE}\x{56D1}\x{56D3}\x{56D7}\x{56D8}\x{56DA}\x{56DB}\x{56DE}\x{56E0}' .
-'\x{56E3}\x{56EE}\x{56F0}\x{56F2}\x{56F3}\x{56F9}\x{56FA}\x{56FD}\x{56FF}' .
-'\x{5700}\x{5703}\x{5704}\x{5708}\x{5709}\x{570B}\x{570D}\x{570F}\x{5712}' .
-'\x{5713}\x{5716}\x{5718}\x{571C}\x{571F}\x{5726}\x{5727}\x{5728}\x{572D}' .
-'\x{5730}\x{5737}\x{5738}\x{573B}\x{5740}\x{5742}\x{5747}\x{574A}\x{574E}' .
-'\x{574F}\x{5750}\x{5751}\x{5761}\x{5764}\x{5766}\x{5769}\x{576A}\x{577F}' .
-'\x{5782}\x{5788}\x{5789}\x{578B}\x{5793}\x{57A0}\x{57A2}\x{57A3}\x{57A4}' .
-'\x{57AA}\x{57B0}\x{57B3}\x{57C0}\x{57C3}\x{57C6}\x{57CB}\x{57CE}\x{57D2}' .
-'\x{57D3}\x{57D4}\x{57D6}\x{57DC}\x{57DF}\x{57E0}\x{57E3}\x{57F4}\x{57F7}' .
-'\x{57F9}\x{57FA}\x{57FC}\x{5800}\x{5802}\x{5805}\x{5806}\x{580A}\x{580B}' .
-'\x{5815}\x{5819}\x{581D}\x{5821}\x{5824}\x{582A}\x{582F}\x{5830}\x{5831}' .
-'\x{5834}\x{5835}\x{583A}\x{583D}\x{5840}\x{5841}\x{584A}\x{584B}\x{5851}' .
-'\x{5852}\x{5854}\x{5857}\x{5858}\x{5859}\x{585A}\x{585E}\x{5862}\x{5869}' .
-'\x{586B}\x{5870}\x{5872}\x{5875}\x{5879}\x{587E}\x{5883}\x{5885}\x{5893}' .
-'\x{5897}\x{589C}\x{589F}\x{58A8}\x{58AB}\x{58AE}\x{58B3}\x{58B8}\x{58B9}' .
-'\x{58BA}\x{58BB}\x{58BE}\x{58C1}\x{58C5}\x{58C7}\x{58CA}\x{58CC}\x{58D1}' .
-'\x{58D3}\x{58D5}\x{58D7}\x{58D8}\x{58D9}\x{58DC}\x{58DE}\x{58DF}\x{58E4}' .
-'\x{58E5}\x{58EB}\x{58EC}\x{58EE}\x{58EF}\x{58F0}\x{58F1}\x{58F2}\x{58F7}' .
-'\x{58F9}\x{58FA}\x{58FB}\x{58FC}\x{58FD}\x{5902}\x{5909}\x{590A}\x{590F}' .
-'\x{5910}\x{5915}\x{5916}\x{5918}\x{5919}\x{591A}\x{591B}\x{591C}\x{5922}' .
-'\x{5925}\x{5927}\x{5929}\x{592A}\x{592B}\x{592C}\x{592D}\x{592E}\x{5931}' .
-'\x{5932}\x{5937}\x{5938}\x{593E}\x{5944}\x{5947}\x{5948}\x{5949}\x{594E}' .
-'\x{594F}\x{5950}\x{5951}\x{5954}\x{5955}\x{5957}\x{5958}\x{595A}\x{5960}' .
-'\x{5962}\x{5965}\x{5967}\x{5968}\x{5969}\x{596A}\x{596C}\x{596E}\x{5973}' .
-'\x{5974}\x{5978}\x{597D}\x{5981}\x{5982}\x{5983}\x{5984}\x{598A}\x{598D}' .
-'\x{5993}\x{5996}\x{5999}\x{599B}\x{599D}\x{59A3}\x{59A5}\x{59A8}\x{59AC}' .
-'\x{59B2}\x{59B9}\x{59BB}\x{59BE}\x{59C6}\x{59C9}\x{59CB}\x{59D0}\x{59D1}' .
-'\x{59D3}\x{59D4}\x{59D9}\x{59DA}\x{59DC}\x{59E5}\x{59E6}\x{59E8}\x{59EA}' .
-'\x{59EB}\x{59F6}\x{59FB}\x{59FF}\x{5A01}\x{5A03}\x{5A09}\x{5A11}\x{5A18}' .
-'\x{5A1A}\x{5A1C}\x{5A1F}\x{5A20}\x{5A25}\x{5A29}\x{5A2F}\x{5A35}\x{5A36}' .
-'\x{5A3C}\x{5A40}\x{5A41}\x{5A46}\x{5A49}\x{5A5A}\x{5A62}\x{5A66}\x{5A6A}' .
-'\x{5A6C}\x{5A7F}\x{5A92}\x{5A9A}\x{5A9B}\x{5ABC}\x{5ABD}\x{5ABE}\x{5AC1}' .
-'\x{5AC2}\x{5AC9}\x{5ACB}\x{5ACC}\x{5AD0}\x{5AD6}\x{5AD7}\x{5AE1}\x{5AE3}' .
-'\x{5AE6}\x{5AE9}\x{5AFA}\x{5AFB}\x{5B09}\x{5B0B}\x{5B0C}\x{5B16}\x{5B22}' .
-'\x{5B2A}\x{5B2C}\x{5B30}\x{5B32}\x{5B36}\x{5B3E}\x{5B40}\x{5B43}\x{5B45}' .
-'\x{5B50}\x{5B51}\x{5B54}\x{5B55}\x{5B57}\x{5B58}\x{5B5A}\x{5B5B}\x{5B5C}' .
-'\x{5B5D}\x{5B5F}\x{5B63}\x{5B64}\x{5B65}\x{5B66}\x{5B69}\x{5B6B}\x{5B70}' .
-'\x{5B71}\x{5B73}\x{5B75}\x{5B78}\x{5B7A}\x{5B80}\x{5B83}\x{5B85}\x{5B87}' .
-'\x{5B88}\x{5B89}\x{5B8B}\x{5B8C}\x{5B8D}\x{5B8F}\x{5B95}\x{5B97}\x{5B98}' .
-'\x{5B99}\x{5B9A}\x{5B9B}\x{5B9C}\x{5B9D}\x{5B9F}\x{5BA2}\x{5BA3}\x{5BA4}' .
-'\x{5BA5}\x{5BA6}\x{5BAE}\x{5BB0}\x{5BB3}\x{5BB4}\x{5BB5}\x{5BB6}\x{5BB8}' .
-'\x{5BB9}\x{5BBF}\x{5BC2}\x{5BC3}\x{5BC4}\x{5BC5}\x{5BC6}\x{5BC7}\x{5BC9}' .
-'\x{5BCC}\x{5BD0}\x{5BD2}\x{5BD3}\x{5BD4}\x{5BDB}\x{5BDD}\x{5BDE}\x{5BDF}' .
-'\x{5BE1}\x{5BE2}\x{5BE4}\x{5BE5}\x{5BE6}\x{5BE7}\x{5BE8}\x{5BE9}\x{5BEB}' .
-'\x{5BEE}\x{5BF0}\x{5BF3}\x{5BF5}\x{5BF6}\x{5BF8}\x{5BFA}\x{5BFE}\x{5BFF}' .
-'\x{5C01}\x{5C02}\x{5C04}\x{5C05}\x{5C06}\x{5C07}\x{5C08}\x{5C09}\x{5C0A}' .
-'\x{5C0B}\x{5C0D}\x{5C0E}\x{5C0F}\x{5C11}\x{5C13}\x{5C16}\x{5C1A}\x{5C20}' .
-'\x{5C22}\x{5C24}\x{5C28}\x{5C2D}\x{5C31}\x{5C38}\x{5C39}\x{5C3A}\x{5C3B}' .
-'\x{5C3C}\x{5C3D}\x{5C3E}\x{5C3F}\x{5C40}\x{5C41}\x{5C45}\x{5C46}\x{5C48}' .
-'\x{5C4A}\x{5C4B}\x{5C4D}\x{5C4E}\x{5C4F}\x{5C50}\x{5C51}\x{5C53}\x{5C55}' .
-'\x{5C5E}\x{5C60}\x{5C61}\x{5C64}\x{5C65}\x{5C6C}\x{5C6E}\x{5C6F}\x{5C71}' .
-'\x{5C76}\x{5C79}\x{5C8C}\x{5C90}\x{5C91}\x{5C94}\x{5CA1}\x{5CA8}\x{5CA9}' .
-'\x{5CAB}\x{5CAC}\x{5CB1}\x{5CB3}\x{5CB6}\x{5CB7}\x{5CB8}\x{5CBB}\x{5CBC}' .
-'\x{5CBE}\x{5CC5}\x{5CC7}\x{5CD9}\x{5CE0}\x{5CE1}\x{5CE8}\x{5CE9}\x{5CEA}' .
-'\x{5CED}\x{5CEF}\x{5CF0}\x{5CF6}\x{5CFA}\x{5CFB}\x{5CFD}\x{5D07}\x{5D0B}' .
-'\x{5D0E}\x{5D11}\x{5D14}\x{5D15}\x{5D16}\x{5D17}\x{5D18}\x{5D19}\x{5D1A}' .
-'\x{5D1B}\x{5D1F}\x{5D22}\x{5D29}\x{5D4B}\x{5D4C}\x{5D4E}\x{5D50}\x{5D52}' .
-'\x{5D5C}\x{5D69}\x{5D6C}\x{5D6F}\x{5D73}\x{5D76}\x{5D82}\x{5D84}\x{5D87}' .
-'\x{5D8B}\x{5D8C}\x{5D90}\x{5D9D}\x{5DA2}\x{5DAC}\x{5DAE}\x{5DB7}\x{5DBA}' .
-'\x{5DBC}\x{5DBD}\x{5DC9}\x{5DCC}\x{5DCD}\x{5DD2}\x{5DD3}\x{5DD6}\x{5DDB}' .
-'\x{5DDD}\x{5DDE}\x{5DE1}\x{5DE3}\x{5DE5}\x{5DE6}\x{5DE7}\x{5DE8}\x{5DEB}' .
-'\x{5DEE}\x{5DF1}\x{5DF2}\x{5DF3}\x{5DF4}\x{5DF5}\x{5DF7}\x{5DFB}\x{5DFD}' .
-'\x{5DFE}\x{5E02}\x{5E03}\x{5E06}\x{5E0B}\x{5E0C}\x{5E11}\x{5E16}\x{5E19}' .
-'\x{5E1A}\x{5E1B}\x{5E1D}\x{5E25}\x{5E2B}\x{5E2D}\x{5E2F}\x{5E30}\x{5E33}' .
-'\x{5E36}\x{5E37}\x{5E38}\x{5E3D}\x{5E40}\x{5E43}\x{5E44}\x{5E45}\x{5E47}' .
-'\x{5E4C}\x{5E4E}\x{5E54}\x{5E55}\x{5E57}\x{5E5F}\x{5E61}\x{5E62}\x{5E63}' .
-'\x{5E64}\x{5E72}\x{5E73}\x{5E74}\x{5E75}\x{5E76}\x{5E78}\x{5E79}\x{5E7A}' .
-'\x{5E7B}\x{5E7C}\x{5E7D}\x{5E7E}\x{5E7F}\x{5E81}\x{5E83}\x{5E84}\x{5E87}' .
-'\x{5E8A}\x{5E8F}\x{5E95}\x{5E96}\x{5E97}\x{5E9A}\x{5E9C}\x{5EA0}\x{5EA6}' .
-'\x{5EA7}\x{5EAB}\x{5EAD}\x{5EB5}\x{5EB6}\x{5EB7}\x{5EB8}\x{5EC1}\x{5EC2}' .
-'\x{5EC3}\x{5EC8}\x{5EC9}\x{5ECA}\x{5ECF}\x{5ED0}\x{5ED3}\x{5ED6}\x{5EDA}' .
-'\x{5EDB}\x{5EDD}\x{5EDF}\x{5EE0}\x{5EE1}\x{5EE2}\x{5EE3}\x{5EE8}\x{5EE9}' .
-'\x{5EEC}\x{5EF0}\x{5EF1}\x{5EF3}\x{5EF4}\x{5EF6}\x{5EF7}\x{5EF8}\x{5EFA}' .
-'\x{5EFB}\x{5EFC}\x{5EFE}\x{5EFF}\x{5F01}\x{5F03}\x{5F04}\x{5F09}\x{5F0A}' .
-'\x{5F0B}\x{5F0C}\x{5F0D}\x{5F0F}\x{5F10}\x{5F11}\x{5F13}\x{5F14}\x{5F15}' .
-'\x{5F16}\x{5F17}\x{5F18}\x{5F1B}\x{5F1F}\x{5F25}\x{5F26}\x{5F27}\x{5F29}' .
-'\x{5F2D}\x{5F2F}\x{5F31}\x{5F35}\x{5F37}\x{5F38}\x{5F3C}\x{5F3E}\x{5F41}' .
-'\x{5F48}\x{5F4A}\x{5F4C}\x{5F4E}\x{5F51}\x{5F53}\x{5F56}\x{5F57}\x{5F59}' .
-'\x{5F5C}\x{5F5D}\x{5F61}\x{5F62}\x{5F66}\x{5F69}\x{5F6A}\x{5F6B}\x{5F6C}' .
-'\x{5F6D}\x{5F70}\x{5F71}\x{5F73}\x{5F77}\x{5F79}\x{5F7C}\x{5F7F}\x{5F80}' .
-'\x{5F81}\x{5F82}\x{5F83}\x{5F84}\x{5F85}\x{5F87}\x{5F88}\x{5F8A}\x{5F8B}' .
-'\x{5F8C}\x{5F90}\x{5F91}\x{5F92}\x{5F93}\x{5F97}\x{5F98}\x{5F99}\x{5F9E}' .
-'\x{5FA0}\x{5FA1}\x{5FA8}\x{5FA9}\x{5FAA}\x{5FAD}\x{5FAE}\x{5FB3}\x{5FB4}' .
-'\x{5FB9}\x{5FBC}\x{5FBD}\x{5FC3}\x{5FC5}\x{5FCC}\x{5FCD}\x{5FD6}\x{5FD7}' .
-'\x{5FD8}\x{5FD9}\x{5FDC}\x{5FDD}\x{5FE0}\x{5FE4}\x{5FEB}\x{5FF0}\x{5FF1}' .
-'\x{5FF5}\x{5FF8}\x{5FFB}\x{5FFD}\x{5FFF}\x{600E}\x{600F}\x{6010}\x{6012}' .
-'\x{6015}\x{6016}\x{6019}\x{601B}\x{601C}\x{601D}\x{6020}\x{6021}\x{6025}' .
-'\x{6026}\x{6027}\x{6028}\x{6029}\x{602A}\x{602B}\x{602F}\x{6031}\x{603A}' .
-'\x{6041}\x{6042}\x{6043}\x{6046}\x{604A}\x{604B}\x{604D}\x{6050}\x{6052}' .
-'\x{6055}\x{6059}\x{605A}\x{605F}\x{6060}\x{6062}\x{6063}\x{6064}\x{6065}' .
-'\x{6068}\x{6069}\x{606A}\x{606B}\x{606C}\x{606D}\x{606F}\x{6070}\x{6075}' .
-'\x{6077}\x{6081}\x{6083}\x{6084}\x{6089}\x{608B}\x{608C}\x{608D}\x{6092}' .
-'\x{6094}\x{6096}\x{6097}\x{609A}\x{609B}\x{609F}\x{60A0}\x{60A3}\x{60A6}' .
-'\x{60A7}\x{60A9}\x{60AA}\x{60B2}\x{60B3}\x{60B4}\x{60B5}\x{60B6}\x{60B8}' .
-'\x{60BC}\x{60BD}\x{60C5}\x{60C6}\x{60C7}\x{60D1}\x{60D3}\x{60D8}\x{60DA}' .
-'\x{60DC}\x{60DF}\x{60E0}\x{60E1}\x{60E3}\x{60E7}\x{60E8}\x{60F0}\x{60F1}' .
-'\x{60F3}\x{60F4}\x{60F6}\x{60F7}\x{60F9}\x{60FA}\x{60FB}\x{6100}\x{6101}' .
-'\x{6103}\x{6106}\x{6108}\x{6109}\x{610D}\x{610E}\x{610F}\x{6115}\x{611A}' .
-'\x{611B}\x{611F}\x{6121}\x{6127}\x{6128}\x{612C}\x{6134}\x{613C}\x{613D}' .
-'\x{613E}\x{613F}\x{6142}\x{6144}\x{6147}\x{6148}\x{614A}\x{614B}\x{614C}' .
-'\x{614D}\x{614E}\x{6153}\x{6155}\x{6158}\x{6159}\x{615A}\x{615D}\x{615F}' .
-'\x{6162}\x{6163}\x{6165}\x{6167}\x{6168}\x{616B}\x{616E}\x{616F}\x{6170}' .
-'\x{6171}\x{6173}\x{6174}\x{6175}\x{6176}\x{6177}\x{617E}\x{6182}\x{6187}' .
-'\x{618A}\x{618E}\x{6190}\x{6191}\x{6194}\x{6196}\x{6199}\x{619A}\x{61A4}' .
-'\x{61A7}\x{61A9}\x{61AB}\x{61AC}\x{61AE}\x{61B2}\x{61B6}\x{61BA}\x{61BE}' .
-'\x{61C3}\x{61C6}\x{61C7}\x{61C8}\x{61C9}\x{61CA}\x{61CB}\x{61CC}\x{61CD}' .
-'\x{61D0}\x{61E3}\x{61E6}\x{61F2}\x{61F4}\x{61F6}\x{61F7}\x{61F8}\x{61FA}' .
-'\x{61FC}\x{61FD}\x{61FE}\x{61FF}\x{6200}\x{6208}\x{6209}\x{620A}\x{620C}' .
-'\x{620D}\x{620E}\x{6210}\x{6211}\x{6212}\x{6214}\x{6216}\x{621A}\x{621B}' .
-'\x{621D}\x{621E}\x{621F}\x{6221}\x{6226}\x{622A}\x{622E}\x{622F}\x{6230}' .
-'\x{6232}\x{6233}\x{6234}\x{6238}\x{623B}\x{623F}\x{6240}\x{6241}\x{6247}' .
-'\x{6248}\x{6249}\x{624B}\x{624D}\x{624E}\x{6253}\x{6255}\x{6258}\x{625B}' .
-'\x{625E}\x{6260}\x{6263}\x{6268}\x{626E}\x{6271}\x{6276}\x{6279}\x{627C}' .
-'\x{627E}\x{627F}\x{6280}\x{6282}\x{6283}\x{6284}\x{6289}\x{628A}\x{6291}' .
-'\x{6292}\x{6293}\x{6294}\x{6295}\x{6296}\x{6297}\x{6298}\x{629B}\x{629C}' .
-'\x{629E}\x{62AB}\x{62AC}\x{62B1}\x{62B5}\x{62B9}\x{62BB}\x{62BC}\x{62BD}' .
-'\x{62C2}\x{62C5}\x{62C6}\x{62C7}\x{62C8}\x{62C9}\x{62CA}\x{62CC}\x{62CD}' .
-'\x{62CF}\x{62D0}\x{62D1}\x{62D2}\x{62D3}\x{62D4}\x{62D7}\x{62D8}\x{62D9}' .
-'\x{62DB}\x{62DC}\x{62DD}\x{62E0}\x{62E1}\x{62EC}\x{62ED}\x{62EE}\x{62EF}' .
-'\x{62F1}\x{62F3}\x{62F5}\x{62F6}\x{62F7}\x{62FE}\x{62FF}\x{6301}\x{6302}' .
-'\x{6307}\x{6308}\x{6309}\x{630C}\x{6311}\x{6319}\x{631F}\x{6327}\x{6328}' .
-'\x{632B}\x{632F}\x{633A}\x{633D}\x{633E}\x{633F}\x{6349}\x{634C}\x{634D}' .
-'\x{634F}\x{6350}\x{6355}\x{6357}\x{635C}\x{6367}\x{6368}\x{6369}\x{636B}' .
-'\x{636E}\x{6372}\x{6376}\x{6377}\x{637A}\x{637B}\x{6380}\x{6383}\x{6388}' .
-'\x{6389}\x{638C}\x{638E}\x{638F}\x{6392}\x{6396}\x{6398}\x{639B}\x{639F}' .
-'\x{63A0}\x{63A1}\x{63A2}\x{63A3}\x{63A5}\x{63A7}\x{63A8}\x{63A9}\x{63AA}' .
-'\x{63AB}\x{63AC}\x{63B2}\x{63B4}\x{63B5}\x{63BB}\x{63BE}\x{63C0}\x{63C3}' .
-'\x{63C4}\x{63C6}\x{63C9}\x{63CF}\x{63D0}\x{63D2}\x{63D6}\x{63DA}\x{63DB}' .
-'\x{63E1}\x{63E3}\x{63E9}\x{63EE}\x{63F4}\x{63F6}\x{63FA}\x{6406}\x{640D}' .
-'\x{640F}\x{6413}\x{6416}\x{6417}\x{641C}\x{6426}\x{6428}\x{642C}\x{642D}' .
-'\x{6434}\x{6436}\x{643A}\x{643E}\x{6442}\x{644E}\x{6458}\x{6467}\x{6469}' .
-'\x{646F}\x{6476}\x{6478}\x{647A}\x{6483}\x{6488}\x{6492}\x{6493}\x{6495}' .
-'\x{649A}\x{649E}\x{64A4}\x{64A5}\x{64A9}\x{64AB}\x{64AD}\x{64AE}\x{64B0}' .
-'\x{64B2}\x{64B9}\x{64BB}\x{64BC}\x{64C1}\x{64C2}\x{64C5}\x{64C7}\x{64CD}' .
-'\x{64D2}\x{64D4}\x{64D8}\x{64DA}\x{64E0}\x{64E1}\x{64E2}\x{64E3}\x{64E6}' .
-'\x{64E7}\x{64EC}\x{64EF}\x{64F1}\x{64F2}\x{64F4}\x{64F6}\x{64FA}\x{64FD}' .
-'\x{64FE}\x{6500}\x{6505}\x{6518}\x{651C}\x{651D}\x{6523}\x{6524}\x{652A}' .
-'\x{652B}\x{652C}\x{652F}\x{6534}\x{6535}\x{6536}\x{6537}\x{6538}\x{6539}' .
-'\x{653B}\x{653E}\x{653F}\x{6545}\x{6548}\x{654D}\x{654F}\x{6551}\x{6555}' .
-'\x{6556}\x{6557}\x{6558}\x{6559}\x{655D}\x{655E}\x{6562}\x{6563}\x{6566}' .
-'\x{656C}\x{6570}\x{6572}\x{6574}\x{6575}\x{6577}\x{6578}\x{6582}\x{6583}' .
-'\x{6587}\x{6588}\x{6589}\x{658C}\x{658E}\x{6590}\x{6591}\x{6597}\x{6599}' .
-'\x{659B}\x{659C}\x{659F}\x{65A1}\x{65A4}\x{65A5}\x{65A7}\x{65AB}\x{65AC}' .
-'\x{65AD}\x{65AF}\x{65B0}\x{65B7}\x{65B9}\x{65BC}\x{65BD}\x{65C1}\x{65C3}' .
-'\x{65C4}\x{65C5}\x{65C6}\x{65CB}\x{65CC}\x{65CF}\x{65D2}\x{65D7}\x{65D9}' .
-'\x{65DB}\x{65E0}\x{65E1}\x{65E2}\x{65E5}\x{65E6}\x{65E7}\x{65E8}\x{65E9}' .
-'\x{65EC}\x{65ED}\x{65F1}\x{65FA}\x{65FB}\x{6602}\x{6603}\x{6606}\x{6607}' .
-'\x{660A}\x{660C}\x{660E}\x{660F}\x{6613}\x{6614}\x{661C}\x{661F}\x{6620}' .
-'\x{6625}\x{6627}\x{6628}\x{662D}\x{662F}\x{6634}\x{6635}\x{6636}\x{663C}' .
-'\x{663F}\x{6641}\x{6642}\x{6643}\x{6644}\x{6649}\x{664B}\x{664F}\x{6652}' .
-'\x{665D}\x{665E}\x{665F}\x{6662}\x{6664}\x{6666}\x{6667}\x{6668}\x{6669}' .
-'\x{666E}\x{666F}\x{6670}\x{6674}\x{6676}\x{667A}\x{6681}\x{6683}\x{6684}' .
-'\x{6687}\x{6688}\x{6689}\x{668E}\x{6691}\x{6696}\x{6697}\x{6698}\x{669D}' .
-'\x{66A2}\x{66A6}\x{66AB}\x{66AE}\x{66B4}\x{66B8}\x{66B9}\x{66BC}\x{66BE}' .
-'\x{66C1}\x{66C4}\x{66C7}\x{66C9}\x{66D6}\x{66D9}\x{66DA}\x{66DC}\x{66DD}' .
-'\x{66E0}\x{66E6}\x{66E9}\x{66F0}\x{66F2}\x{66F3}\x{66F4}\x{66F5}\x{66F7}' .
-'\x{66F8}\x{66F9}\x{66FC}\x{66FD}\x{66FE}\x{66FF}\x{6700}\x{6703}\x{6708}' .
-'\x{6709}\x{670B}\x{670D}\x{670F}\x{6714}\x{6715}\x{6716}\x{6717}\x{671B}' .
-'\x{671D}\x{671E}\x{671F}\x{6726}\x{6727}\x{6728}\x{672A}\x{672B}\x{672C}' .
-'\x{672D}\x{672E}\x{6731}\x{6734}\x{6736}\x{6737}\x{6738}\x{673A}\x{673D}' .
-'\x{673F}\x{6741}\x{6746}\x{6749}\x{674E}\x{674F}\x{6750}\x{6751}\x{6753}' .
-'\x{6756}\x{6759}\x{675C}\x{675E}\x{675F}\x{6760}\x{6761}\x{6762}\x{6763}' .
-'\x{6764}\x{6765}\x{676A}\x{676D}\x{676F}\x{6770}\x{6771}\x{6772}\x{6773}' .
-'\x{6775}\x{6777}\x{677C}\x{677E}\x{677F}\x{6785}\x{6787}\x{6789}\x{678B}' .
-'\x{678C}\x{6790}\x{6795}\x{6797}\x{679A}\x{679C}\x{679D}\x{67A0}\x{67A1}' .
-'\x{67A2}\x{67A6}\x{67A9}\x{67AF}\x{67B3}\x{67B4}\x{67B6}\x{67B7}\x{67B8}' .
-'\x{67B9}\x{67C1}\x{67C4}\x{67C6}\x{67CA}\x{67CE}\x{67CF}\x{67D0}\x{67D1}' .
-'\x{67D3}\x{67D4}\x{67D8}\x{67DA}\x{67DD}\x{67DE}\x{67E2}\x{67E4}\x{67E7}' .
-'\x{67E9}\x{67EC}\x{67EE}\x{67EF}\x{67F1}\x{67F3}\x{67F4}\x{67F5}\x{67FB}' .
-'\x{67FE}\x{67FF}\x{6802}\x{6803}\x{6804}\x{6813}\x{6816}\x{6817}\x{681E}' .
-'\x{6821}\x{6822}\x{6829}\x{682A}\x{682B}\x{6832}\x{6834}\x{6838}\x{6839}' .
-'\x{683C}\x{683D}\x{6840}\x{6841}\x{6842}\x{6843}\x{6846}\x{6848}\x{684D}' .
-'\x{684E}\x{6850}\x{6851}\x{6853}\x{6854}\x{6859}\x{685C}\x{685D}\x{685F}' .
-'\x{6863}\x{6867}\x{6874}\x{6876}\x{6877}\x{687E}\x{687F}\x{6881}\x{6883}' .
-'\x{6885}\x{688D}\x{688F}\x{6893}\x{6894}\x{6897}\x{689B}\x{689D}\x{689F}' .
-'\x{68A0}\x{68A2}\x{68A6}\x{68A7}\x{68A8}\x{68AD}\x{68AF}\x{68B0}\x{68B1}' .
-'\x{68B3}\x{68B5}\x{68B6}\x{68B9}\x{68BA}\x{68BC}\x{68C4}\x{68C6}\x{68C9}' .
-'\x{68CA}\x{68CB}\x{68CD}\x{68D2}\x{68D4}\x{68D5}\x{68D7}\x{68D8}\x{68DA}' .
-'\x{68DF}\x{68E0}\x{68E1}\x{68E3}\x{68E7}\x{68EE}\x{68EF}\x{68F2}\x{68F9}' .
-'\x{68FA}\x{6900}\x{6901}\x{6904}\x{6905}\x{6908}\x{690B}\x{690C}\x{690D}' .
-'\x{690E}\x{690F}\x{6912}\x{6919}\x{691A}\x{691B}\x{691C}\x{6921}\x{6922}' .
-'\x{6923}\x{6925}\x{6926}\x{6928}\x{692A}\x{6930}\x{6934}\x{6936}\x{6939}' .
-'\x{693D}\x{693F}\x{694A}\x{6953}\x{6954}\x{6955}\x{6959}\x{695A}\x{695C}' .
-'\x{695D}\x{695E}\x{6960}\x{6961}\x{6962}\x{696A}\x{696B}\x{696D}\x{696E}' .
-'\x{696F}\x{6973}\x{6974}\x{6975}\x{6977}\x{6978}\x{6979}\x{697C}\x{697D}' .
-'\x{697E}\x{6981}\x{6982}\x{698A}\x{698E}\x{6991}\x{6994}\x{6995}\x{699B}' .
-'\x{699C}\x{69A0}\x{69A7}\x{69AE}\x{69B1}\x{69B2}\x{69B4}\x{69BB}\x{69BE}' .
-'\x{69BF}\x{69C1}\x{69C3}\x{69C7}\x{69CA}\x{69CB}\x{69CC}\x{69CD}\x{69CE}' .
-'\x{69D0}\x{69D3}\x{69D8}\x{69D9}\x{69DD}\x{69DE}\x{69E7}\x{69E8}\x{69EB}' .
-'\x{69ED}\x{69F2}\x{69F9}\x{69FB}\x{69FD}\x{69FF}\x{6A02}\x{6A05}\x{6A0A}' .
-'\x{6A0B}\x{6A0C}\x{6A12}\x{6A13}\x{6A14}\x{6A17}\x{6A19}\x{6A1B}\x{6A1E}' .
-'\x{6A1F}\x{6A21}\x{6A22}\x{6A23}\x{6A29}\x{6A2A}\x{6A2B}\x{6A2E}\x{6A35}' .
-'\x{6A36}\x{6A38}\x{6A39}\x{6A3A}\x{6A3D}\x{6A44}\x{6A47}\x{6A48}\x{6A4B}' .
-'\x{6A58}\x{6A59}\x{6A5F}\x{6A61}\x{6A62}\x{6A66}\x{6A72}\x{6A78}\x{6A7F}' .
-'\x{6A80}\x{6A84}\x{6A8D}\x{6A8E}\x{6A90}\x{6A97}\x{6A9C}\x{6AA0}\x{6AA2}' .
-'\x{6AA3}\x{6AAA}\x{6AAC}\x{6AAE}\x{6AB3}\x{6AB8}\x{6ABB}\x{6AC1}\x{6AC2}' .
-'\x{6AC3}\x{6AD1}\x{6AD3}\x{6ADA}\x{6ADB}\x{6ADE}\x{6ADF}\x{6AE8}\x{6AEA}' .
-'\x{6AFA}\x{6AFB}\x{6B04}\x{6B05}\x{6B0A}\x{6B12}\x{6B16}\x{6B1D}\x{6B1F}' .
-'\x{6B20}\x{6B21}\x{6B23}\x{6B27}\x{6B32}\x{6B37}\x{6B38}\x{6B39}\x{6B3A}' .
-'\x{6B3D}\x{6B3E}\x{6B43}\x{6B47}\x{6B49}\x{6B4C}\x{6B4E}\x{6B50}\x{6B53}' .
-'\x{6B54}\x{6B59}\x{6B5B}\x{6B5F}\x{6B61}\x{6B62}\x{6B63}\x{6B64}\x{6B66}' .
-'\x{6B69}\x{6B6A}\x{6B6F}\x{6B73}\x{6B74}\x{6B78}\x{6B79}\x{6B7B}\x{6B7F}' .
-'\x{6B80}\x{6B83}\x{6B84}\x{6B86}\x{6B89}\x{6B8A}\x{6B8B}\x{6B8D}\x{6B95}' .
-'\x{6B96}\x{6B98}\x{6B9E}\x{6BA4}\x{6BAA}\x{6BAB}\x{6BAF}\x{6BB1}\x{6BB2}' .
-'\x{6BB3}\x{6BB4}\x{6BB5}\x{6BB7}\x{6BBA}\x{6BBB}\x{6BBC}\x{6BBF}\x{6BC0}' .
-'\x{6BC5}\x{6BC6}\x{6BCB}\x{6BCD}\x{6BCE}\x{6BD2}\x{6BD3}\x{6BD4}\x{6BD8}' .
-'\x{6BDB}\x{6BDF}\x{6BEB}\x{6BEC}\x{6BEF}\x{6BF3}\x{6C08}\x{6C0F}\x{6C11}' .
-'\x{6C13}\x{6C14}\x{6C17}\x{6C1B}\x{6C23}\x{6C24}\x{6C34}\x{6C37}\x{6C38}' .
-'\x{6C3E}\x{6C40}\x{6C41}\x{6C42}\x{6C4E}\x{6C50}\x{6C55}\x{6C57}\x{6C5A}' .
-'\x{6C5D}\x{6C5E}\x{6C5F}\x{6C60}\x{6C62}\x{6C68}\x{6C6A}\x{6C70}\x{6C72}' .
-'\x{6C73}\x{6C7A}\x{6C7D}\x{6C7E}\x{6C81}\x{6C82}\x{6C83}\x{6C88}\x{6C8C}' .
-'\x{6C8D}\x{6C90}\x{6C92}\x{6C93}\x{6C96}\x{6C99}\x{6C9A}\x{6C9B}\x{6CA1}' .
-'\x{6CA2}\x{6CAB}\x{6CAE}\x{6CB1}\x{6CB3}\x{6CB8}\x{6CB9}\x{6CBA}\x{6CBB}' .
-'\x{6CBC}\x{6CBD}\x{6CBE}\x{6CBF}\x{6CC1}\x{6CC4}\x{6CC5}\x{6CC9}\x{6CCA}' .
-'\x{6CCC}\x{6CD3}\x{6CD5}\x{6CD7}\x{6CD9}\x{6CDB}\x{6CDD}\x{6CE1}\x{6CE2}' .
-'\x{6CE3}\x{6CE5}\x{6CE8}\x{6CEA}\x{6CEF}\x{6CF0}\x{6CF1}\x{6CF3}\x{6D0B}' .
-'\x{6D0C}\x{6D12}\x{6D17}\x{6D19}\x{6D1B}\x{6D1E}\x{6D1F}\x{6D25}\x{6D29}' .
-'\x{6D2A}\x{6D2B}\x{6D32}\x{6D33}\x{6D35}\x{6D36}\x{6D38}\x{6D3B}\x{6D3D}' .
-'\x{6D3E}\x{6D41}\x{6D44}\x{6D45}\x{6D59}\x{6D5A}\x{6D5C}\x{6D63}\x{6D64}' .
-'\x{6D66}\x{6D69}\x{6D6A}\x{6D6C}\x{6D6E}\x{6D74}\x{6D77}\x{6D78}\x{6D79}' .
-'\x{6D85}\x{6D88}\x{6D8C}\x{6D8E}\x{6D93}\x{6D95}\x{6D99}\x{6D9B}\x{6D9C}' .
-'\x{6DAF}\x{6DB2}\x{6DB5}\x{6DB8}\x{6DBC}\x{6DC0}\x{6DC5}\x{6DC6}\x{6DC7}' .
-'\x{6DCB}\x{6DCC}\x{6DD1}\x{6DD2}\x{6DD5}\x{6DD8}\x{6DD9}\x{6DDE}\x{6DE1}' .
-'\x{6DE4}\x{6DE6}\x{6DE8}\x{6DEA}\x{6DEB}\x{6DEC}\x{6DEE}\x{6DF1}\x{6DF3}' .
-'\x{6DF5}\x{6DF7}\x{6DF9}\x{6DFA}\x{6DFB}\x{6E05}\x{6E07}\x{6E08}\x{6E09}' .
-'\x{6E0A}\x{6E0B}\x{6E13}\x{6E15}\x{6E19}\x{6E1A}\x{6E1B}\x{6E1D}\x{6E1F}' .
-'\x{6E20}\x{6E21}\x{6E23}\x{6E24}\x{6E25}\x{6E26}\x{6E29}\x{6E2B}\x{6E2C}' .
-'\x{6E2D}\x{6E2E}\x{6E2F}\x{6E38}\x{6E3A}\x{6E3E}\x{6E43}\x{6E4A}\x{6E4D}' .
-'\x{6E4E}\x{6E56}\x{6E58}\x{6E5B}\x{6E5F}\x{6E67}\x{6E6B}\x{6E6E}\x{6E6F}' .
-'\x{6E72}\x{6E76}\x{6E7E}\x{6E7F}\x{6E80}\x{6E82}\x{6E8C}\x{6E8F}\x{6E90}' .
-'\x{6E96}\x{6E98}\x{6E9C}\x{6E9D}\x{6E9F}\x{6EA2}\x{6EA5}\x{6EAA}\x{6EAF}' .
-'\x{6EB2}\x{6EB6}\x{6EB7}\x{6EBA}\x{6EBD}\x{6EC2}\x{6EC4}\x{6EC5}\x{6EC9}' .
-'\x{6ECB}\x{6ECC}\x{6ED1}\x{6ED3}\x{6ED4}\x{6ED5}\x{6EDD}\x{6EDE}\x{6EEC}' .
-'\x{6EEF}\x{6EF2}\x{6EF4}\x{6EF7}\x{6EF8}\x{6EFE}\x{6EFF}\x{6F01}\x{6F02}' .
-'\x{6F06}\x{6F09}\x{6F0F}\x{6F11}\x{6F13}\x{6F14}\x{6F15}\x{6F20}\x{6F22}' .
-'\x{6F23}\x{6F2B}\x{6F2C}\x{6F31}\x{6F32}\x{6F38}\x{6F3E}\x{6F3F}\x{6F41}' .
-'\x{6F45}\x{6F54}\x{6F58}\x{6F5B}\x{6F5C}\x{6F5F}\x{6F64}\x{6F66}\x{6F6D}' .
-'\x{6F6E}\x{6F6F}\x{6F70}\x{6F74}\x{6F78}\x{6F7A}\x{6F7C}\x{6F80}\x{6F81}' .
-'\x{6F82}\x{6F84}\x{6F86}\x{6F8E}\x{6F91}\x{6F97}\x{6FA1}\x{6FA3}\x{6FA4}' .
-'\x{6FAA}\x{6FB1}\x{6FB3}\x{6FB9}\x{6FC0}\x{6FC1}\x{6FC2}\x{6FC3}\x{6FC6}' .
-'\x{6FD4}\x{6FD5}\x{6FD8}\x{6FDB}\x{6FDF}\x{6FE0}\x{6FE1}\x{6FE4}\x{6FEB}' .
-'\x{6FEC}\x{6FEE}\x{6FEF}\x{6FF1}\x{6FF3}\x{6FF6}\x{6FFA}\x{6FFE}\x{7001}' .
-'\x{7009}\x{700B}\x{700F}\x{7011}\x{7015}\x{7018}\x{701A}\x{701B}\x{701D}' .
-'\x{701E}\x{701F}\x{7026}\x{7027}\x{702C}\x{7030}\x{7032}\x{703E}\x{704C}' .
-'\x{7051}\x{7058}\x{7063}\x{706B}\x{706F}\x{7070}\x{7078}\x{707C}\x{707D}' .
-'\x{7089}\x{708A}\x{708E}\x{7092}\x{7099}\x{70AC}\x{70AD}\x{70AE}\x{70AF}' .
-'\x{70B3}\x{70B8}\x{70B9}\x{70BA}\x{70C8}\x{70CB}\x{70CF}\x{70D9}\x{70DD}' .
-'\x{70DF}\x{70F1}\x{70F9}\x{70FD}\x{7109}\x{7114}\x{7119}\x{711A}\x{711C}' .
-'\x{7121}\x{7126}\x{7136}\x{713C}\x{7149}\x{714C}\x{714E}\x{7155}\x{7156}' .
-'\x{7159}\x{7162}\x{7164}\x{7165}\x{7166}\x{7167}\x{7169}\x{716C}\x{716E}' .
-'\x{717D}\x{7184}\x{7188}\x{718A}\x{718F}\x{7194}\x{7195}\x{7199}\x{719F}' .
-'\x{71A8}\x{71AC}\x{71B1}\x{71B9}\x{71BE}\x{71C3}\x{71C8}\x{71C9}\x{71CE}' .
-'\x{71D0}\x{71D2}\x{71D4}\x{71D5}\x{71D7}\x{71DF}\x{71E0}\x{71E5}\x{71E6}' .
-'\x{71E7}\x{71EC}\x{71ED}\x{71EE}\x{71F5}\x{71F9}\x{71FB}\x{71FC}\x{71FF}' .
-'\x{7206}\x{720D}\x{7210}\x{721B}\x{7228}\x{722A}\x{722C}\x{722D}\x{7230}' .
-'\x{7232}\x{7235}\x{7236}\x{723A}\x{723B}\x{723C}\x{723D}\x{723E}\x{723F}' .
-'\x{7240}\x{7246}\x{7247}\x{7248}\x{724B}\x{724C}\x{7252}\x{7258}\x{7259}' .
-'\x{725B}\x{725D}\x{725F}\x{7261}\x{7262}\x{7267}\x{7269}\x{7272}\x{7274}' .
-'\x{7279}\x{727D}\x{727E}\x{7280}\x{7281}\x{7282}\x{7287}\x{7292}\x{7296}' .
-'\x{72A0}\x{72A2}\x{72A7}\x{72AC}\x{72AF}\x{72B2}\x{72B6}\x{72B9}\x{72C2}' .
-'\x{72C3}\x{72C4}\x{72C6}\x{72CE}\x{72D0}\x{72D2}\x{72D7}\x{72D9}\x{72DB}' .
-'\x{72E0}\x{72E1}\x{72E2}\x{72E9}\x{72EC}\x{72ED}\x{72F7}\x{72F8}\x{72F9}' .
-'\x{72FC}\x{72FD}\x{730A}\x{7316}\x{7317}\x{731B}\x{731C}\x{731D}\x{731F}' .
-'\x{7325}\x{7329}\x{732A}\x{732B}\x{732E}\x{732F}\x{7334}\x{7336}\x{7337}' .
-'\x{733E}\x{733F}\x{7344}\x{7345}\x{734E}\x{734F}\x{7357}\x{7363}\x{7368}' .
-'\x{736A}\x{7370}\x{7372}\x{7375}\x{7378}\x{737A}\x{737B}\x{7384}\x{7387}' .
-'\x{7389}\x{738B}\x{7396}\x{73A9}\x{73B2}\x{73B3}\x{73BB}\x{73C0}\x{73C2}' .
-'\x{73C8}\x{73CA}\x{73CD}\x{73CE}\x{73DE}\x{73E0}\x{73E5}\x{73EA}\x{73ED}' .
-'\x{73EE}\x{73F1}\x{73F8}\x{73FE}\x{7403}\x{7405}\x{7406}\x{7409}\x{7422}' .
-'\x{7425}\x{7432}\x{7433}\x{7434}\x{7435}\x{7436}\x{743A}\x{743F}\x{7441}' .
-'\x{7455}\x{7459}\x{745A}\x{745B}\x{745C}\x{745E}\x{745F}\x{7460}\x{7463}' .
-'\x{7464}\x{7469}\x{746A}\x{746F}\x{7470}\x{7473}\x{7476}\x{747E}\x{7483}' .
-'\x{748B}\x{749E}\x{74A2}\x{74A7}\x{74B0}\x{74BD}\x{74CA}\x{74CF}\x{74D4}' .
-'\x{74DC}\x{74E0}\x{74E2}\x{74E3}\x{74E6}\x{74E7}\x{74E9}\x{74EE}\x{74F0}' .
-'\x{74F1}\x{74F2}\x{74F6}\x{74F7}\x{74F8}\x{7503}\x{7504}\x{7505}\x{750C}' .
-'\x{750D}\x{750E}\x{7511}\x{7513}\x{7515}\x{7518}\x{751A}\x{751C}\x{751E}' .
-'\x{751F}\x{7523}\x{7525}\x{7526}\x{7528}\x{752B}\x{752C}\x{7530}\x{7531}' .
-'\x{7532}\x{7533}\x{7537}\x{7538}\x{753A}\x{753B}\x{753C}\x{7544}\x{7546}' .
-'\x{7549}\x{754A}\x{754B}\x{754C}\x{754D}\x{754F}\x{7551}\x{7554}\x{7559}' .
-'\x{755A}\x{755B}\x{755C}\x{755D}\x{7560}\x{7562}\x{7564}\x{7565}\x{7566}' .
-'\x{7567}\x{7569}\x{756A}\x{756B}\x{756D}\x{7570}\x{7573}\x{7574}\x{7576}' .
-'\x{7577}\x{7578}\x{757F}\x{7582}\x{7586}\x{7587}\x{7589}\x{758A}\x{758B}' .
-'\x{758E}\x{758F}\x{7591}\x{7594}\x{759A}\x{759D}\x{75A3}\x{75A5}\x{75AB}' .
-'\x{75B1}\x{75B2}\x{75B3}\x{75B5}\x{75B8}\x{75B9}\x{75BC}\x{75BD}\x{75BE}' .
-'\x{75C2}\x{75C3}\x{75C5}\x{75C7}\x{75CA}\x{75CD}\x{75D2}\x{75D4}\x{75D5}' .
-'\x{75D8}\x{75D9}\x{75DB}\x{75DE}\x{75E2}\x{75E3}\x{75E9}\x{75F0}\x{75F2}' .
-'\x{75F3}\x{75F4}\x{75FA}\x{75FC}\x{75FE}\x{75FF}\x{7601}\x{7609}\x{760B}' .
-'\x{760D}\x{761F}\x{7620}\x{7621}\x{7622}\x{7624}\x{7627}\x{7630}\x{7634}' .
-'\x{763B}\x{7642}\x{7646}\x{7647}\x{7648}\x{764C}\x{7652}\x{7656}\x{7658}' .
-'\x{765C}\x{7661}\x{7662}\x{7667}\x{7668}\x{7669}\x{766A}\x{766C}\x{7670}' .
-'\x{7672}\x{7676}\x{7678}\x{767A}\x{767B}\x{767C}\x{767D}\x{767E}\x{7680}' .
-'\x{7683}\x{7684}\x{7686}\x{7687}\x{7688}\x{768B}\x{768E}\x{7690}\x{7693}' .
-'\x{7696}\x{7699}\x{769A}\x{76AE}\x{76B0}\x{76B4}\x{76B7}\x{76B8}\x{76B9}' .
-'\x{76BA}\x{76BF}\x{76C2}\x{76C3}\x{76C6}\x{76C8}\x{76CA}\x{76CD}\x{76D2}' .
-'\x{76D6}\x{76D7}\x{76DB}\x{76DC}\x{76DE}\x{76DF}\x{76E1}\x{76E3}\x{76E4}' .
-'\x{76E5}\x{76E7}\x{76EA}\x{76EE}\x{76F2}\x{76F4}\x{76F8}\x{76FB}\x{76FE}' .
-'\x{7701}\x{7704}\x{7707}\x{7708}\x{7709}\x{770B}\x{770C}\x{771B}\x{771E}' .
-'\x{771F}\x{7720}\x{7724}\x{7725}\x{7726}\x{7729}\x{7737}\x{7738}\x{773A}' .
-'\x{773C}\x{7740}\x{7747}\x{775A}\x{775B}\x{7761}\x{7763}\x{7765}\x{7766}' .
-'\x{7768}\x{776B}\x{7779}\x{777E}\x{777F}\x{778B}\x{778E}\x{7791}\x{779E}' .
-'\x{77A0}\x{77A5}\x{77AC}\x{77AD}\x{77B0}\x{77B3}\x{77B6}\x{77B9}\x{77BB}' .
-'\x{77BC}\x{77BD}\x{77BF}\x{77C7}\x{77CD}\x{77D7}\x{77DA}\x{77DB}\x{77DC}' .
-'\x{77E2}\x{77E3}\x{77E5}\x{77E7}\x{77E9}\x{77ED}\x{77EE}\x{77EF}\x{77F3}' .
-'\x{77FC}\x{7802}\x{780C}\x{7812}\x{7814}\x{7815}\x{7820}\x{7825}\x{7826}' .
-'\x{7827}\x{7832}\x{7834}\x{783A}\x{783F}\x{7845}\x{785D}\x{786B}\x{786C}' .
-'\x{786F}\x{7872}\x{7874}\x{787C}\x{7881}\x{7886}\x{7887}\x{788C}\x{788D}' .
-'\x{788E}\x{7891}\x{7893}\x{7895}\x{7897}\x{789A}\x{78A3}\x{78A7}\x{78A9}' .
-'\x{78AA}\x{78AF}\x{78B5}\x{78BA}\x{78BC}\x{78BE}\x{78C1}\x{78C5}\x{78C6}' .
-'\x{78CA}\x{78CB}\x{78D0}\x{78D1}\x{78D4}\x{78DA}\x{78E7}\x{78E8}\x{78EC}' .
-'\x{78EF}\x{78F4}\x{78FD}\x{7901}\x{7907}\x{790E}\x{7911}\x{7912}\x{7919}' .
-'\x{7926}\x{792A}\x{792B}\x{792C}\x{793A}\x{793C}\x{793E}\x{7940}\x{7941}' .
-'\x{7947}\x{7948}\x{7949}\x{7950}\x{7953}\x{7955}\x{7956}\x{7957}\x{795A}' .
-'\x{795D}\x{795E}\x{795F}\x{7960}\x{7962}\x{7965}\x{7968}\x{796D}\x{7977}' .
-'\x{797A}\x{797F}\x{7980}\x{7981}\x{7984}\x{7985}\x{798A}\x{798D}\x{798E}' .
-'\x{798F}\x{799D}\x{79A6}\x{79A7}\x{79AA}\x{79AE}\x{79B0}\x{79B3}\x{79B9}' .
-'\x{79BA}\x{79BD}\x{79BE}\x{79BF}\x{79C0}\x{79C1}\x{79C9}\x{79CB}\x{79D1}' .
-'\x{79D2}\x{79D5}\x{79D8}\x{79DF}\x{79E1}\x{79E3}\x{79E4}\x{79E6}\x{79E7}' .
-'\x{79E9}\x{79EC}\x{79F0}\x{79FB}\x{7A00}\x{7A08}\x{7A0B}\x{7A0D}\x{7A0E}' .
-'\x{7A14}\x{7A17}\x{7A18}\x{7A19}\x{7A1A}\x{7A1C}\x{7A1F}\x{7A20}\x{7A2E}' .
-'\x{7A31}\x{7A32}\x{7A37}\x{7A3B}\x{7A3C}\x{7A3D}\x{7A3E}\x{7A3F}\x{7A40}' .
-'\x{7A42}\x{7A43}\x{7A46}\x{7A49}\x{7A4D}\x{7A4E}\x{7A4F}\x{7A50}\x{7A57}' .
-'\x{7A61}\x{7A62}\x{7A63}\x{7A69}\x{7A6B}\x{7A70}\x{7A74}\x{7A76}\x{7A79}' .
-'\x{7A7A}\x{7A7D}\x{7A7F}\x{7A81}\x{7A83}\x{7A84}\x{7A88}\x{7A92}\x{7A93}' .
-'\x{7A95}\x{7A96}\x{7A97}\x{7A98}\x{7A9F}\x{7AA9}\x{7AAA}\x{7AAE}\x{7AAF}' .
-'\x{7AB0}\x{7AB6}\x{7ABA}\x{7ABF}\x{7AC3}\x{7AC4}\x{7AC5}\x{7AC7}\x{7AC8}' .
-'\x{7ACA}\x{7ACB}\x{7ACD}\x{7ACF}\x{7AD2}\x{7AD3}\x{7AD5}\x{7AD9}\x{7ADA}' .
-'\x{7ADC}\x{7ADD}\x{7ADF}\x{7AE0}\x{7AE1}\x{7AE2}\x{7AE3}\x{7AE5}\x{7AE6}' .
-'\x{7AEA}\x{7AED}\x{7AEF}\x{7AF0}\x{7AF6}\x{7AF8}\x{7AF9}\x{7AFA}\x{7AFF}' .
-'\x{7B02}\x{7B04}\x{7B06}\x{7B08}\x{7B0A}\x{7B0B}\x{7B0F}\x{7B11}\x{7B18}' .
-'\x{7B19}\x{7B1B}\x{7B1E}\x{7B20}\x{7B25}\x{7B26}\x{7B28}\x{7B2C}\x{7B33}' .
-'\x{7B35}\x{7B36}\x{7B39}\x{7B45}\x{7B46}\x{7B48}\x{7B49}\x{7B4B}\x{7B4C}' .
-'\x{7B4D}\x{7B4F}\x{7B50}\x{7B51}\x{7B52}\x{7B54}\x{7B56}\x{7B5D}\x{7B65}' .
-'\x{7B67}\x{7B6C}\x{7B6E}\x{7B70}\x{7B71}\x{7B74}\x{7B75}\x{7B7A}\x{7B86}' .
-'\x{7B87}\x{7B8B}\x{7B8D}\x{7B8F}\x{7B92}\x{7B94}\x{7B95}\x{7B97}\x{7B98}' .
-'\x{7B99}\x{7B9A}\x{7B9C}\x{7B9D}\x{7B9F}\x{7BA1}\x{7BAA}\x{7BAD}\x{7BB1}' .
-'\x{7BB4}\x{7BB8}\x{7BC0}\x{7BC1}\x{7BC4}\x{7BC6}\x{7BC7}\x{7BC9}\x{7BCB}' .
-'\x{7BCC}\x{7BCF}\x{7BDD}\x{7BE0}\x{7BE4}\x{7BE5}\x{7BE6}\x{7BE9}\x{7BED}' .
-'\x{7BF3}\x{7BF6}\x{7BF7}\x{7C00}\x{7C07}\x{7C0D}\x{7C11}\x{7C12}\x{7C13}' .
-'\x{7C14}\x{7C17}\x{7C1F}\x{7C21}\x{7C23}\x{7C27}\x{7C2A}\x{7C2B}\x{7C37}' .
-'\x{7C38}\x{7C3D}\x{7C3E}\x{7C3F}\x{7C40}\x{7C43}\x{7C4C}\x{7C4D}\x{7C4F}' .
-'\x{7C50}\x{7C54}\x{7C56}\x{7C58}\x{7C5F}\x{7C60}\x{7C64}\x{7C65}\x{7C6C}' .
-'\x{7C73}\x{7C75}\x{7C7E}\x{7C81}\x{7C82}\x{7C83}\x{7C89}\x{7C8B}\x{7C8D}' .
-'\x{7C90}\x{7C92}\x{7C95}\x{7C97}\x{7C98}\x{7C9B}\x{7C9F}\x{7CA1}\x{7CA2}' .
-'\x{7CA4}\x{7CA5}\x{7CA7}\x{7CA8}\x{7CAB}\x{7CAD}\x{7CAE}\x{7CB1}\x{7CB2}' .
-'\x{7CB3}\x{7CB9}\x{7CBD}\x{7CBE}\x{7CC0}\x{7CC2}\x{7CC5}\x{7CCA}\x{7CCE}' .
-'\x{7CD2}\x{7CD6}\x{7CD8}\x{7CDC}\x{7CDE}\x{7CDF}\x{7CE0}\x{7CE2}\x{7CE7}' .
-'\x{7CEF}\x{7CF2}\x{7CF4}\x{7CF6}\x{7CF8}\x{7CFA}\x{7CFB}\x{7CFE}\x{7D00}' .
-'\x{7D02}\x{7D04}\x{7D05}\x{7D06}\x{7D0A}\x{7D0B}\x{7D0D}\x{7D10}\x{7D14}' .
-'\x{7D15}\x{7D17}\x{7D18}\x{7D19}\x{7D1A}\x{7D1B}\x{7D1C}\x{7D20}\x{7D21}' .
-'\x{7D22}\x{7D2B}\x{7D2C}\x{7D2E}\x{7D2F}\x{7D30}\x{7D32}\x{7D33}\x{7D35}' .
-'\x{7D39}\x{7D3A}\x{7D3F}\x{7D42}\x{7D43}\x{7D44}\x{7D45}\x{7D46}\x{7D4B}' .
-'\x{7D4C}\x{7D4E}\x{7D4F}\x{7D50}\x{7D56}\x{7D5B}\x{7D5E}\x{7D61}\x{7D62}' .
-'\x{7D63}\x{7D66}\x{7D68}\x{7D6E}\x{7D71}\x{7D72}\x{7D73}\x{7D75}\x{7D76}' .
-'\x{7D79}\x{7D7D}\x{7D89}\x{7D8F}\x{7D93}\x{7D99}\x{7D9A}\x{7D9B}\x{7D9C}' .
-'\x{7D9F}\x{7DA2}\x{7DA3}\x{7DAB}\x{7DAC}\x{7DAD}\x{7DAE}\x{7DAF}\x{7DB0}' .
-'\x{7DB1}\x{7DB2}\x{7DB4}\x{7DB5}\x{7DB8}\x{7DBA}\x{7DBB}\x{7DBD}\x{7DBE}' .
-'\x{7DBF}\x{7DC7}\x{7DCA}\x{7DCB}\x{7DCF}\x{7DD1}\x{7DD2}\x{7DD5}\x{7DD8}' .
-'\x{7DDA}\x{7DDC}\x{7DDD}\x{7DDE}\x{7DE0}\x{7DE1}\x{7DE4}\x{7DE8}\x{7DE9}' .
-'\x{7DEC}\x{7DEF}\x{7DF2}\x{7DF4}\x{7DFB}\x{7E01}\x{7E04}\x{7E05}\x{7E09}' .
-'\x{7E0A}\x{7E0B}\x{7E12}\x{7E1B}\x{7E1E}\x{7E1F}\x{7E21}\x{7E22}\x{7E23}' .
-'\x{7E26}\x{7E2B}\x{7E2E}\x{7E31}\x{7E32}\x{7E35}\x{7E37}\x{7E39}\x{7E3A}' .
-'\x{7E3B}\x{7E3D}\x{7E3E}\x{7E41}\x{7E43}\x{7E46}\x{7E4A}\x{7E4B}\x{7E4D}' .
-'\x{7E54}\x{7E55}\x{7E56}\x{7E59}\x{7E5A}\x{7E5D}\x{7E5E}\x{7E66}\x{7E67}' .
-'\x{7E69}\x{7E6A}\x{7E6D}\x{7E70}\x{7E79}\x{7E7B}\x{7E7C}\x{7E7D}\x{7E7F}' .
-'\x{7E82}\x{7E83}\x{7E88}\x{7E89}\x{7E8C}\x{7E8E}\x{7E8F}\x{7E90}\x{7E92}' .
-'\x{7E93}\x{7E94}\x{7E96}\x{7E9B}\x{7E9C}\x{7F36}\x{7F38}\x{7F3A}\x{7F45}' .
-'\x{7F4C}\x{7F4D}\x{7F4E}\x{7F50}\x{7F51}\x{7F54}\x{7F55}\x{7F58}\x{7F5F}' .
-'\x{7F60}\x{7F67}\x{7F68}\x{7F69}\x{7F6A}\x{7F6B}\x{7F6E}\x{7F70}\x{7F72}' .
-'\x{7F75}\x{7F77}\x{7F78}\x{7F79}\x{7F82}\x{7F83}\x{7F85}\x{7F86}\x{7F87}' .
-'\x{7F88}\x{7F8A}\x{7F8C}\x{7F8E}\x{7F94}\x{7F9A}\x{7F9D}\x{7F9E}\x{7FA3}' .
-'\x{7FA4}\x{7FA8}\x{7FA9}\x{7FAE}\x{7FAF}\x{7FB2}\x{7FB6}\x{7FB8}\x{7FB9}' .
-'\x{7FBD}\x{7FC1}\x{7FC5}\x{7FC6}\x{7FCA}\x{7FCC}\x{7FD2}\x{7FD4}\x{7FD5}' .
-'\x{7FE0}\x{7FE1}\x{7FE6}\x{7FE9}\x{7FEB}\x{7FF0}\x{7FF3}\x{7FF9}\x{7FFB}' .
-'\x{7FFC}\x{8000}\x{8001}\x{8003}\x{8004}\x{8005}\x{8006}\x{800B}\x{800C}' .
-'\x{8010}\x{8012}\x{8015}\x{8017}\x{8018}\x{8019}\x{801C}\x{8021}\x{8028}' .
-'\x{8033}\x{8036}\x{803B}\x{803D}\x{803F}\x{8046}\x{804A}\x{8052}\x{8056}' .
-'\x{8058}\x{805A}\x{805E}\x{805F}\x{8061}\x{8062}\x{8068}\x{806F}\x{8070}' .
-'\x{8072}\x{8073}\x{8074}\x{8076}\x{8077}\x{8079}\x{807D}\x{807E}\x{807F}' .
-'\x{8084}\x{8085}\x{8086}\x{8087}\x{8089}\x{808B}\x{808C}\x{8093}\x{8096}' .
-'\x{8098}\x{809A}\x{809B}\x{809D}\x{80A1}\x{80A2}\x{80A5}\x{80A9}\x{80AA}' .
-'\x{80AC}\x{80AD}\x{80AF}\x{80B1}\x{80B2}\x{80B4}\x{80BA}\x{80C3}\x{80C4}' .
-'\x{80C6}\x{80CC}\x{80CE}\x{80D6}\x{80D9}\x{80DA}\x{80DB}\x{80DD}\x{80DE}' .
-'\x{80E1}\x{80E4}\x{80E5}\x{80EF}\x{80F1}\x{80F4}\x{80F8}\x{80FC}\x{80FD}' .
-'\x{8102}\x{8105}\x{8106}\x{8107}\x{8108}\x{8109}\x{810A}\x{811A}\x{811B}' .
-'\x{8123}\x{8129}\x{812F}\x{8131}\x{8133}\x{8139}\x{813E}\x{8146}\x{814B}' .
-'\x{814E}\x{8150}\x{8151}\x{8153}\x{8154}\x{8155}\x{815F}\x{8165}\x{8166}' .
-'\x{816B}\x{816E}\x{8170}\x{8171}\x{8174}\x{8178}\x{8179}\x{817A}\x{817F}' .
-'\x{8180}\x{8182}\x{8183}\x{8188}\x{818A}\x{818F}\x{8193}\x{8195}\x{819A}' .
-'\x{819C}\x{819D}\x{81A0}\x{81A3}\x{81A4}\x{81A8}\x{81A9}\x{81B0}\x{81B3}' .
-'\x{81B5}\x{81B8}\x{81BA}\x{81BD}\x{81BE}\x{81BF}\x{81C0}\x{81C2}\x{81C6}' .
-'\x{81C8}\x{81C9}\x{81CD}\x{81D1}\x{81D3}\x{81D8}\x{81D9}\x{81DA}\x{81DF}' .
-'\x{81E0}\x{81E3}\x{81E5}\x{81E7}\x{81E8}\x{81EA}\x{81ED}\x{81F3}\x{81F4}' .
-'\x{81FA}\x{81FB}\x{81FC}\x{81FE}\x{8201}\x{8202}\x{8205}\x{8207}\x{8208}' .
-'\x{8209}\x{820A}\x{820C}\x{820D}\x{820E}\x{8210}\x{8212}\x{8216}\x{8217}' .
-'\x{8218}\x{821B}\x{821C}\x{821E}\x{821F}\x{8229}\x{822A}\x{822B}\x{822C}' .
-'\x{822E}\x{8233}\x{8235}\x{8236}\x{8237}\x{8238}\x{8239}\x{8240}\x{8247}' .
-'\x{8258}\x{8259}\x{825A}\x{825D}\x{825F}\x{8262}\x{8264}\x{8266}\x{8268}' .
-'\x{826A}\x{826B}\x{826E}\x{826F}\x{8271}\x{8272}\x{8276}\x{8277}\x{8278}' .
-'\x{827E}\x{828B}\x{828D}\x{8292}\x{8299}\x{829D}\x{829F}\x{82A5}\x{82A6}' .
-'\x{82AB}\x{82AC}\x{82AD}\x{82AF}\x{82B1}\x{82B3}\x{82B8}\x{82B9}\x{82BB}' .
-'\x{82BD}\x{82C5}\x{82D1}\x{82D2}\x{82D3}\x{82D4}\x{82D7}\x{82D9}\x{82DB}' .
-'\x{82DC}\x{82DE}\x{82DF}\x{82E1}\x{82E3}\x{82E5}\x{82E6}\x{82E7}\x{82EB}' .
-'\x{82F1}\x{82F3}\x{82F4}\x{82F9}\x{82FA}\x{82FB}\x{8302}\x{8303}\x{8304}' .
-'\x{8305}\x{8306}\x{8309}\x{830E}\x{8316}\x{8317}\x{8318}\x{831C}\x{8323}' .
-'\x{8328}\x{832B}\x{832F}\x{8331}\x{8332}\x{8334}\x{8335}\x{8336}\x{8338}' .
-'\x{8339}\x{8340}\x{8345}\x{8349}\x{834A}\x{834F}\x{8350}\x{8352}\x{8358}' .
-'\x{8373}\x{8375}\x{8377}\x{837B}\x{837C}\x{8385}\x{8387}\x{8389}\x{838A}' .
-'\x{838E}\x{8393}\x{8396}\x{839A}\x{839E}\x{839F}\x{83A0}\x{83A2}\x{83A8}' .
-'\x{83AA}\x{83AB}\x{83B1}\x{83B5}\x{83BD}\x{83C1}\x{83C5}\x{83CA}\x{83CC}' .
-'\x{83CE}\x{83D3}\x{83D6}\x{83D8}\x{83DC}\x{83DF}\x{83E0}\x{83E9}\x{83EB}' .
-'\x{83EF}\x{83F0}\x{83F1}\x{83F2}\x{83F4}\x{83F7}\x{83FB}\x{83FD}\x{8403}' .
-'\x{8404}\x{8407}\x{840B}\x{840C}\x{840D}\x{840E}\x{8413}\x{8420}\x{8422}' .
-'\x{8429}\x{842A}\x{842C}\x{8431}\x{8435}\x{8438}\x{843C}\x{843D}\x{8446}' .
-'\x{8449}\x{844E}\x{8457}\x{845B}\x{8461}\x{8462}\x{8463}\x{8466}\x{8469}' .
-'\x{846B}\x{846C}\x{846D}\x{846E}\x{846F}\x{8471}\x{8475}\x{8477}\x{8479}' .
-'\x{847A}\x{8482}\x{8484}\x{848B}\x{8490}\x{8494}\x{8499}\x{849C}\x{849F}' .
-'\x{84A1}\x{84AD}\x{84B2}\x{84B8}\x{84B9}\x{84BB}\x{84BC}\x{84BF}\x{84C1}' .
-'\x{84C4}\x{84C6}\x{84C9}\x{84CA}\x{84CB}\x{84CD}\x{84D0}\x{84D1}\x{84D6}' .
-'\x{84D9}\x{84DA}\x{84EC}\x{84EE}\x{84F4}\x{84FC}\x{84FF}\x{8500}\x{8506}' .
-'\x{8511}\x{8513}\x{8514}\x{8515}\x{8517}\x{8518}\x{851A}\x{851F}\x{8521}' .
-'\x{8526}\x{852C}\x{852D}\x{8535}\x{853D}\x{8540}\x{8541}\x{8543}\x{8548}' .
-'\x{8549}\x{854A}\x{854B}\x{854E}\x{8555}\x{8557}\x{8558}\x{855A}\x{8563}' .
-'\x{8568}\x{8569}\x{856A}\x{856D}\x{8577}\x{857E}\x{8580}\x{8584}\x{8587}' .
-'\x{8588}\x{858A}\x{8590}\x{8591}\x{8594}\x{8597}\x{8599}\x{859B}\x{859C}' .
-'\x{85A4}\x{85A6}\x{85A8}\x{85A9}\x{85AA}\x{85AB}\x{85AC}\x{85AE}\x{85AF}' .
-'\x{85B9}\x{85BA}\x{85C1}\x{85C9}\x{85CD}\x{85CF}\x{85D0}\x{85D5}\x{85DC}' .
-'\x{85DD}\x{85E4}\x{85E5}\x{85E9}\x{85EA}\x{85F7}\x{85F9}\x{85FA}\x{85FB}' .
-'\x{85FE}\x{8602}\x{8606}\x{8607}\x{860A}\x{860B}\x{8613}\x{8616}\x{8617}' .
-'\x{861A}\x{8622}\x{862D}\x{862F}\x{8630}\x{863F}\x{864D}\x{864E}\x{8650}' .
-'\x{8654}\x{8655}\x{865A}\x{865C}\x{865E}\x{865F}\x{8667}\x{866B}\x{8671}' .
-'\x{8679}\x{867B}\x{868A}\x{868B}\x{868C}\x{8693}\x{8695}\x{86A3}\x{86A4}' .
-'\x{86A9}\x{86AA}\x{86AB}\x{86AF}\x{86B0}\x{86B6}\x{86C4}\x{86C6}\x{86C7}' .
-'\x{86C9}\x{86CB}\x{86CD}\x{86CE}\x{86D4}\x{86D9}\x{86DB}\x{86DE}\x{86DF}' .
-'\x{86E4}\x{86E9}\x{86EC}\x{86ED}\x{86EE}\x{86EF}\x{86F8}\x{86F9}\x{86FB}' .
-'\x{86FE}\x{8700}\x{8702}\x{8703}\x{8706}\x{8708}\x{8709}\x{870A}\x{870D}' .
-'\x{8711}\x{8712}\x{8718}\x{871A}\x{871C}\x{8725}\x{8729}\x{8734}\x{8737}' .
-'\x{873B}\x{873F}\x{8749}\x{874B}\x{874C}\x{874E}\x{8753}\x{8755}\x{8757}' .
-'\x{8759}\x{875F}\x{8760}\x{8763}\x{8766}\x{8768}\x{876A}\x{876E}\x{8774}' .
-'\x{8776}\x{8778}\x{877F}\x{8782}\x{878D}\x{879F}\x{87A2}\x{87AB}\x{87AF}' .
-'\x{87B3}\x{87BA}\x{87BB}\x{87BD}\x{87C0}\x{87C4}\x{87C6}\x{87C7}\x{87CB}' .
-'\x{87D0}\x{87D2}\x{87E0}\x{87EF}\x{87F2}\x{87F6}\x{87F7}\x{87F9}\x{87FB}' .
-'\x{87FE}\x{8805}\x{880D}\x{880E}\x{880F}\x{8811}\x{8815}\x{8816}\x{8821}' .
-'\x{8822}\x{8823}\x{8827}\x{8831}\x{8836}\x{8839}\x{883B}\x{8840}\x{8842}' .
-'\x{8844}\x{8846}\x{884C}\x{884D}\x{8852}\x{8853}\x{8857}\x{8859}\x{885B}' .
-'\x{885D}\x{885E}\x{8861}\x{8862}\x{8863}\x{8868}\x{886B}\x{8870}\x{8872}' .
-'\x{8875}\x{8877}\x{887D}\x{887E}\x{887F}\x{8881}\x{8882}\x{8888}\x{888B}' .
-'\x{888D}\x{8892}\x{8896}\x{8897}\x{8899}\x{889E}\x{88A2}\x{88A4}\x{88AB}' .
-'\x{88AE}\x{88B0}\x{88B1}\x{88B4}\x{88B5}\x{88B7}\x{88BF}\x{88C1}\x{88C2}' .
-'\x{88C3}\x{88C4}\x{88C5}\x{88CF}\x{88D4}\x{88D5}\x{88D8}\x{88D9}\x{88DC}' .
-'\x{88DD}\x{88DF}\x{88E1}\x{88E8}\x{88F2}\x{88F3}\x{88F4}\x{88F8}\x{88F9}' .
-'\x{88FC}\x{88FD}\x{88FE}\x{8902}\x{8904}\x{8907}\x{890A}\x{890C}\x{8910}' .
-'\x{8912}\x{8913}\x{891D}\x{891E}\x{8925}\x{892A}\x{892B}\x{8936}\x{8938}' .
-'\x{893B}\x{8941}\x{8943}\x{8944}\x{894C}\x{894D}\x{8956}\x{895E}\x{895F}' .
-'\x{8960}\x{8964}\x{8966}\x{896A}\x{896D}\x{896F}\x{8972}\x{8974}\x{8977}' .
-'\x{897E}\x{897F}\x{8981}\x{8983}\x{8986}\x{8987}\x{8988}\x{898A}\x{898B}' .
-'\x{898F}\x{8993}\x{8996}\x{8997}\x{8998}\x{899A}\x{89A1}\x{89A6}\x{89A7}' .
-'\x{89A9}\x{89AA}\x{89AC}\x{89AF}\x{89B2}\x{89B3}\x{89BA}\x{89BD}\x{89BF}' .
-'\x{89C0}\x{89D2}\x{89DA}\x{89DC}\x{89DD}\x{89E3}\x{89E6}\x{89E7}\x{89F4}' .
-'\x{89F8}\x{8A00}\x{8A02}\x{8A03}\x{8A08}\x{8A0A}\x{8A0C}\x{8A0E}\x{8A10}' .
-'\x{8A13}\x{8A16}\x{8A17}\x{8A18}\x{8A1B}\x{8A1D}\x{8A1F}\x{8A23}\x{8A25}' .
-'\x{8A2A}\x{8A2D}\x{8A31}\x{8A33}\x{8A34}\x{8A36}\x{8A3A}\x{8A3B}\x{8A3C}' .
-'\x{8A41}\x{8A46}\x{8A48}\x{8A50}\x{8A51}\x{8A52}\x{8A54}\x{8A55}\x{8A5B}' .
-'\x{8A5E}\x{8A60}\x{8A62}\x{8A63}\x{8A66}\x{8A69}\x{8A6B}\x{8A6C}\x{8A6D}' .
-'\x{8A6E}\x{8A70}\x{8A71}\x{8A72}\x{8A73}\x{8A7C}\x{8A82}\x{8A84}\x{8A85}' .
-'\x{8A87}\x{8A89}\x{8A8C}\x{8A8D}\x{8A91}\x{8A93}\x{8A95}\x{8A98}\x{8A9A}' .
-'\x{8A9E}\x{8AA0}\x{8AA1}\x{8AA3}\x{8AA4}\x{8AA5}\x{8AA6}\x{8AA8}\x{8AAC}' .
-'\x{8AAD}\x{8AB0}\x{8AB2}\x{8AB9}\x{8ABC}\x{8ABF}\x{8AC2}\x{8AC4}\x{8AC7}' .
-'\x{8ACB}\x{8ACC}\x{8ACD}\x{8ACF}\x{8AD2}\x{8AD6}\x{8ADA}\x{8ADB}\x{8ADC}' .
-'\x{8ADE}\x{8AE0}\x{8AE1}\x{8AE2}\x{8AE4}\x{8AE6}\x{8AE7}\x{8AEB}\x{8AED}' .
-'\x{8AEE}\x{8AF1}\x{8AF3}\x{8AF7}\x{8AF8}\x{8AFA}\x{8AFE}\x{8B00}\x{8B01}' .
-'\x{8B02}\x{8B04}\x{8B07}\x{8B0C}\x{8B0E}\x{8B10}\x{8B14}\x{8B16}\x{8B17}' .
-'\x{8B19}\x{8B1A}\x{8B1B}\x{8B1D}\x{8B20}\x{8B21}\x{8B26}\x{8B28}\x{8B2B}' .
-'\x{8B2C}\x{8B33}\x{8B39}\x{8B3E}\x{8B41}\x{8B49}\x{8B4C}\x{8B4E}\x{8B4F}' .
-'\x{8B56}\x{8B58}\x{8B5A}\x{8B5B}\x{8B5C}\x{8B5F}\x{8B66}\x{8B6B}\x{8B6C}' .
-'\x{8B6F}\x{8B70}\x{8B71}\x{8B72}\x{8B74}\x{8B77}\x{8B7D}\x{8B80}\x{8B83}' .
-'\x{8B8A}\x{8B8C}\x{8B8E}\x{8B90}\x{8B92}\x{8B93}\x{8B96}\x{8B99}\x{8B9A}' .
-'\x{8C37}\x{8C3A}\x{8C3F}\x{8C41}\x{8C46}\x{8C48}\x{8C4A}\x{8C4C}\x{8C4E}' .
-'\x{8C50}\x{8C55}\x{8C5A}\x{8C61}\x{8C62}\x{8C6A}\x{8C6B}\x{8C6C}\x{8C78}' .
-'\x{8C79}\x{8C7A}\x{8C7C}\x{8C82}\x{8C85}\x{8C89}\x{8C8A}\x{8C8C}\x{8C8D}' .
-'\x{8C8E}\x{8C94}\x{8C98}\x{8C9D}\x{8C9E}\x{8CA0}\x{8CA1}\x{8CA2}\x{8CA7}' .
-'\x{8CA8}\x{8CA9}\x{8CAA}\x{8CAB}\x{8CAC}\x{8CAD}\x{8CAE}\x{8CAF}\x{8CB0}' .
-'\x{8CB2}\x{8CB3}\x{8CB4}\x{8CB6}\x{8CB7}\x{8CB8}\x{8CBB}\x{8CBC}\x{8CBD}' .
-'\x{8CBF}\x{8CC0}\x{8CC1}\x{8CC2}\x{8CC3}\x{8CC4}\x{8CC7}\x{8CC8}\x{8CCA}' .
-'\x{8CCD}\x{8CCE}\x{8CD1}\x{8CD3}\x{8CDA}\x{8CDB}\x{8CDC}\x{8CDE}\x{8CE0}' .
-'\x{8CE2}\x{8CE3}\x{8CE4}\x{8CE6}\x{8CEA}\x{8CED}\x{8CFA}\x{8CFB}\x{8CFC}' .
-'\x{8CFD}\x{8D04}\x{8D05}\x{8D07}\x{8D08}\x{8D0A}\x{8D0B}\x{8D0D}\x{8D0F}' .
-'\x{8D10}\x{8D13}\x{8D14}\x{8D16}\x{8D64}\x{8D66}\x{8D67}\x{8D6B}\x{8D6D}' .
-'\x{8D70}\x{8D71}\x{8D73}\x{8D74}\x{8D77}\x{8D81}\x{8D85}\x{8D8A}\x{8D99}' .
-'\x{8DA3}\x{8DA8}\x{8DB3}\x{8DBA}\x{8DBE}\x{8DC2}\x{8DCB}\x{8DCC}\x{8DCF}' .
-'\x{8DD6}\x{8DDA}\x{8DDB}\x{8DDD}\x{8DDF}\x{8DE1}\x{8DE3}\x{8DE8}\x{8DEA}' .
-'\x{8DEB}\x{8DEF}\x{8DF3}\x{8DF5}\x{8DFC}\x{8DFF}\x{8E08}\x{8E09}\x{8E0A}' .
-'\x{8E0F}\x{8E10}\x{8E1D}\x{8E1E}\x{8E1F}\x{8E2A}\x{8E30}\x{8E34}\x{8E35}' .
-'\x{8E42}\x{8E44}\x{8E47}\x{8E48}\x{8E49}\x{8E4A}\x{8E4C}\x{8E50}\x{8E55}' .
-'\x{8E59}\x{8E5F}\x{8E60}\x{8E63}\x{8E64}\x{8E72}\x{8E74}\x{8E76}\x{8E7C}' .
-'\x{8E81}\x{8E84}\x{8E85}\x{8E87}\x{8E8A}\x{8E8B}\x{8E8D}\x{8E91}\x{8E93}' .
-'\x{8E94}\x{8E99}\x{8EA1}\x{8EAA}\x{8EAB}\x{8EAC}\x{8EAF}\x{8EB0}\x{8EB1}' .
-'\x{8EBE}\x{8EC5}\x{8EC6}\x{8EC8}\x{8ECA}\x{8ECB}\x{8ECC}\x{8ECD}\x{8ED2}' .
-'\x{8EDB}\x{8EDF}\x{8EE2}\x{8EE3}\x{8EEB}\x{8EF8}\x{8EFB}\x{8EFC}\x{8EFD}' .
-'\x{8EFE}\x{8F03}\x{8F05}\x{8F09}\x{8F0A}\x{8F0C}\x{8F12}\x{8F13}\x{8F14}' .
-'\x{8F15}\x{8F19}\x{8F1B}\x{8F1C}\x{8F1D}\x{8F1F}\x{8F26}\x{8F29}\x{8F2A}' .
-'\x{8F2F}\x{8F33}\x{8F38}\x{8F39}\x{8F3B}\x{8F3E}\x{8F3F}\x{8F42}\x{8F44}' .
-'\x{8F45}\x{8F46}\x{8F49}\x{8F4C}\x{8F4D}\x{8F4E}\x{8F57}\x{8F5C}\x{8F5F}' .
-'\x{8F61}\x{8F62}\x{8F63}\x{8F64}\x{8F9B}\x{8F9C}\x{8F9E}\x{8F9F}\x{8FA3}' .
-'\x{8FA7}\x{8FA8}\x{8FAD}\x{8FAE}\x{8FAF}\x{8FB0}\x{8FB1}\x{8FB2}\x{8FB7}' .
-'\x{8FBA}\x{8FBB}\x{8FBC}\x{8FBF}\x{8FC2}\x{8FC4}\x{8FC5}\x{8FCE}\x{8FD1}' .
-'\x{8FD4}\x{8FDA}\x{8FE2}\x{8FE5}\x{8FE6}\x{8FE9}\x{8FEA}\x{8FEB}\x{8FED}' .
-'\x{8FEF}\x{8FF0}\x{8FF4}\x{8FF7}\x{8FF8}\x{8FF9}\x{8FFA}\x{8FFD}\x{9000}' .
-'\x{9001}\x{9003}\x{9005}\x{9006}\x{900B}\x{900D}\x{900E}\x{900F}\x{9010}' .
-'\x{9011}\x{9013}\x{9014}\x{9015}\x{9016}\x{9017}\x{9019}\x{901A}\x{901D}' .
-'\x{901E}\x{901F}\x{9020}\x{9021}\x{9022}\x{9023}\x{9027}\x{902E}\x{9031}' .
-'\x{9032}\x{9035}\x{9036}\x{9038}\x{9039}\x{903C}\x{903E}\x{9041}\x{9042}' .
-'\x{9045}\x{9047}\x{9049}\x{904A}\x{904B}\x{904D}\x{904E}\x{904F}\x{9050}' .
-'\x{9051}\x{9052}\x{9053}\x{9054}\x{9055}\x{9056}\x{9058}\x{9059}\x{905C}' .
-'\x{905E}\x{9060}\x{9061}\x{9063}\x{9065}\x{9068}\x{9069}\x{906D}\x{906E}' .
-'\x{906F}\x{9072}\x{9075}\x{9076}\x{9077}\x{9078}\x{907A}\x{907C}\x{907D}' .
-'\x{907F}\x{9080}\x{9081}\x{9082}\x{9083}\x{9084}\x{9087}\x{9089}\x{908A}' .
-'\x{908F}\x{9091}\x{90A3}\x{90A6}\x{90A8}\x{90AA}\x{90AF}\x{90B1}\x{90B5}' .
-'\x{90B8}\x{90C1}\x{90CA}\x{90CE}\x{90DB}\x{90E1}\x{90E2}\x{90E4}\x{90E8}' .
-'\x{90ED}\x{90F5}\x{90F7}\x{90FD}\x{9102}\x{9112}\x{9119}\x{912D}\x{9130}' .
-'\x{9132}\x{9149}\x{914A}\x{914B}\x{914C}\x{914D}\x{914E}\x{9152}\x{9154}' .
-'\x{9156}\x{9158}\x{9162}\x{9163}\x{9165}\x{9169}\x{916A}\x{916C}\x{9172}' .
-'\x{9173}\x{9175}\x{9177}\x{9178}\x{9182}\x{9187}\x{9189}\x{918B}\x{918D}' .
-'\x{9190}\x{9192}\x{9197}\x{919C}\x{91A2}\x{91A4}\x{91AA}\x{91AB}\x{91AF}' .
-'\x{91B4}\x{91B5}\x{91B8}\x{91BA}\x{91C0}\x{91C1}\x{91C6}\x{91C7}\x{91C8}' .
-'\x{91C9}\x{91CB}\x{91CC}\x{91CD}\x{91CE}\x{91CF}\x{91D0}\x{91D1}\x{91D6}' .
-'\x{91D8}\x{91DB}\x{91DC}\x{91DD}\x{91DF}\x{91E1}\x{91E3}\x{91E6}\x{91E7}' .
-'\x{91F5}\x{91F6}\x{91FC}\x{91FF}\x{920D}\x{920E}\x{9211}\x{9214}\x{9215}' .
-'\x{921E}\x{9229}\x{922C}\x{9234}\x{9237}\x{923F}\x{9244}\x{9245}\x{9248}' .
-'\x{9249}\x{924B}\x{9250}\x{9257}\x{925A}\x{925B}\x{925E}\x{9262}\x{9264}' .
-'\x{9266}\x{9271}\x{927E}\x{9280}\x{9283}\x{9285}\x{9291}\x{9293}\x{9295}' .
-'\x{9296}\x{9298}\x{929A}\x{929B}\x{929C}\x{92AD}\x{92B7}\x{92B9}\x{92CF}' .
-'\x{92D2}\x{92E4}\x{92E9}\x{92EA}\x{92ED}\x{92F2}\x{92F3}\x{92F8}\x{92FA}' .
-'\x{92FC}\x{9306}\x{930F}\x{9310}\x{9318}\x{9319}\x{931A}\x{9320}\x{9322}' .
-'\x{9323}\x{9326}\x{9328}\x{932B}\x{932C}\x{932E}\x{932F}\x{9332}\x{9335}' .
-'\x{933A}\x{933B}\x{9344}\x{934B}\x{934D}\x{9354}\x{9356}\x{935B}\x{935C}' .
-'\x{9360}\x{936C}\x{936E}\x{9375}\x{937C}\x{937E}\x{938C}\x{9394}\x{9396}' .
-'\x{9397}\x{939A}\x{93A7}\x{93AC}\x{93AD}\x{93AE}\x{93B0}\x{93B9}\x{93C3}' .
-'\x{93C8}\x{93D0}\x{93D1}\x{93D6}\x{93D7}\x{93D8}\x{93DD}\x{93E1}\x{93E4}' .
-'\x{93E5}\x{93E8}\x{9403}\x{9407}\x{9410}\x{9413}\x{9414}\x{9418}\x{9419}' .
-'\x{941A}\x{9421}\x{942B}\x{9435}\x{9436}\x{9438}\x{943A}\x{9441}\x{9444}' .
-'\x{9451}\x{9452}\x{9453}\x{945A}\x{945B}\x{945E}\x{9460}\x{9462}\x{946A}' .
-'\x{9470}\x{9475}\x{9477}\x{947C}\x{947D}\x{947E}\x{947F}\x{9481}\x{9577}' .
-'\x{9580}\x{9582}\x{9583}\x{9587}\x{9589}\x{958A}\x{958B}\x{958F}\x{9591}' .
-'\x{9593}\x{9594}\x{9596}\x{9598}\x{9599}\x{95A0}\x{95A2}\x{95A3}\x{95A4}' .
-'\x{95A5}\x{95A7}\x{95A8}\x{95AD}\x{95B2}\x{95B9}\x{95BB}\x{95BC}\x{95BE}' .
-'\x{95C3}\x{95C7}\x{95CA}\x{95CC}\x{95CD}\x{95D4}\x{95D5}\x{95D6}\x{95D8}' .
-'\x{95DC}\x{95E1}\x{95E2}\x{95E5}\x{961C}\x{9621}\x{9628}\x{962A}\x{962E}' .
-'\x{962F}\x{9632}\x{963B}\x{963F}\x{9640}\x{9642}\x{9644}\x{964B}\x{964C}' .
-'\x{964D}\x{964F}\x{9650}\x{965B}\x{965C}\x{965D}\x{965E}\x{965F}\x{9662}' .
-'\x{9663}\x{9664}\x{9665}\x{9666}\x{966A}\x{966C}\x{9670}\x{9672}\x{9673}' .
-'\x{9675}\x{9676}\x{9677}\x{9678}\x{967A}\x{967D}\x{9685}\x{9686}\x{9688}' .
-'\x{968A}\x{968B}\x{968D}\x{968E}\x{968F}\x{9694}\x{9695}\x{9697}\x{9698}' .
-'\x{9699}\x{969B}\x{969C}\x{96A0}\x{96A3}\x{96A7}\x{96A8}\x{96AA}\x{96B0}' .
-'\x{96B1}\x{96B2}\x{96B4}\x{96B6}\x{96B7}\x{96B8}\x{96B9}\x{96BB}\x{96BC}' .
-'\x{96C0}\x{96C1}\x{96C4}\x{96C5}\x{96C6}\x{96C7}\x{96C9}\x{96CB}\x{96CC}' .
-'\x{96CD}\x{96CE}\x{96D1}\x{96D5}\x{96D6}\x{96D9}\x{96DB}\x{96DC}\x{96E2}' .
-'\x{96E3}\x{96E8}\x{96EA}\x{96EB}\x{96F0}\x{96F2}\x{96F6}\x{96F7}\x{96F9}' .
-'\x{96FB}\x{9700}\x{9704}\x{9706}\x{9707}\x{9708}\x{970A}\x{970D}\x{970E}' .
-'\x{970F}\x{9711}\x{9713}\x{9716}\x{9719}\x{971C}\x{971E}\x{9724}\x{9727}' .
-'\x{972A}\x{9730}\x{9732}\x{9738}\x{9739}\x{973D}\x{973E}\x{9742}\x{9744}' .
-'\x{9746}\x{9748}\x{9749}\x{9752}\x{9756}\x{9759}\x{975C}\x{975E}\x{9760}' .
-'\x{9761}\x{9762}\x{9764}\x{9766}\x{9768}\x{9769}\x{976B}\x{976D}\x{9771}' .
-'\x{9774}\x{9779}\x{977A}\x{977C}\x{9781}\x{9784}\x{9785}\x{9786}\x{978B}' .
-'\x{978D}\x{978F}\x{9790}\x{9798}\x{979C}\x{97A0}\x{97A3}\x{97A6}\x{97A8}' .
-'\x{97AB}\x{97AD}\x{97B3}\x{97B4}\x{97C3}\x{97C6}\x{97C8}\x{97CB}\x{97D3}' .
-'\x{97DC}\x{97ED}\x{97EE}\x{97F2}\x{97F3}\x{97F5}\x{97F6}\x{97FB}\x{97FF}' .
-'\x{9801}\x{9802}\x{9803}\x{9805}\x{9806}\x{9808}\x{980C}\x{980F}\x{9810}' .
-'\x{9811}\x{9812}\x{9813}\x{9817}\x{9818}\x{981A}\x{9821}\x{9824}\x{982C}' .
-'\x{982D}\x{9834}\x{9837}\x{9838}\x{983B}\x{983C}\x{983D}\x{9846}\x{984B}' .
-'\x{984C}\x{984D}\x{984E}\x{984F}\x{9854}\x{9855}\x{9858}\x{985B}\x{985E}' .
-'\x{9867}\x{986B}\x{986F}\x{9870}\x{9871}\x{9873}\x{9874}\x{98A8}\x{98AA}' .
-'\x{98AF}\x{98B1}\x{98B6}\x{98C3}\x{98C4}\x{98C6}\x{98DB}\x{98DC}\x{98DF}' .
-'\x{98E2}\x{98E9}\x{98EB}\x{98ED}\x{98EE}\x{98EF}\x{98F2}\x{98F4}\x{98FC}' .
-'\x{98FD}\x{98FE}\x{9903}\x{9905}\x{9909}\x{990A}\x{990C}\x{9910}\x{9912}' .
-'\x{9913}\x{9914}\x{9918}\x{991D}\x{991E}\x{9920}\x{9921}\x{9924}\x{9928}' .
-'\x{992C}\x{992E}\x{993D}\x{993E}\x{9942}\x{9945}\x{9949}\x{994B}\x{994C}' .
-'\x{9950}\x{9951}\x{9952}\x{9955}\x{9957}\x{9996}\x{9997}\x{9998}\x{9999}' .
-'\x{99A5}\x{99A8}\x{99AC}\x{99AD}\x{99AE}\x{99B3}\x{99B4}\x{99BC}\x{99C1}' .
-'\x{99C4}\x{99C5}\x{99C6}\x{99C8}\x{99D0}\x{99D1}\x{99D2}\x{99D5}\x{99D8}' .
-'\x{99DB}\x{99DD}\x{99DF}\x{99E2}\x{99ED}\x{99EE}\x{99F1}\x{99F2}\x{99F8}' .
-'\x{99FB}\x{99FF}\x{9A01}\x{9A05}\x{9A0E}\x{9A0F}\x{9A12}\x{9A13}\x{9A19}' .
-'\x{9A28}\x{9A2B}\x{9A30}\x{9A37}\x{9A3E}\x{9A40}\x{9A42}\x{9A43}\x{9A45}' .
-'\x{9A4D}\x{9A55}\x{9A57}\x{9A5A}\x{9A5B}\x{9A5F}\x{9A62}\x{9A64}\x{9A65}' .
-'\x{9A69}\x{9A6A}\x{9A6B}\x{9AA8}\x{9AAD}\x{9AB0}\x{9AB8}\x{9ABC}\x{9AC0}' .
-'\x{9AC4}\x{9ACF}\x{9AD1}\x{9AD3}\x{9AD4}\x{9AD8}\x{9ADE}\x{9ADF}\x{9AE2}' .
-'\x{9AE3}\x{9AE6}\x{9AEA}\x{9AEB}\x{9AED}\x{9AEE}\x{9AEF}\x{9AF1}\x{9AF4}' .
-'\x{9AF7}\x{9AFB}\x{9B06}\x{9B18}\x{9B1A}\x{9B1F}\x{9B22}\x{9B23}\x{9B25}' .
-'\x{9B27}\x{9B28}\x{9B29}\x{9B2A}\x{9B2E}\x{9B2F}\x{9B31}\x{9B32}\x{9B3B}' .
-'\x{9B3C}\x{9B41}\x{9B42}\x{9B43}\x{9B44}\x{9B45}\x{9B4D}\x{9B4E}\x{9B4F}' .
-'\x{9B51}\x{9B54}\x{9B58}\x{9B5A}\x{9B6F}\x{9B74}\x{9B83}\x{9B8E}\x{9B91}' .
-'\x{9B92}\x{9B93}\x{9B96}\x{9B97}\x{9B9F}\x{9BA0}\x{9BA8}\x{9BAA}\x{9BAB}' .
-'\x{9BAD}\x{9BAE}\x{9BB4}\x{9BB9}\x{9BC0}\x{9BC6}\x{9BC9}\x{9BCA}\x{9BCF}' .
-'\x{9BD1}\x{9BD2}\x{9BD4}\x{9BD6}\x{9BDB}\x{9BE1}\x{9BE2}\x{9BE3}\x{9BE4}' .
-'\x{9BE8}\x{9BF0}\x{9BF1}\x{9BF2}\x{9BF5}\x{9C04}\x{9C06}\x{9C08}\x{9C09}' .
-'\x{9C0A}\x{9C0C}\x{9C0D}\x{9C10}\x{9C12}\x{9C13}\x{9C14}\x{9C15}\x{9C1B}' .
-'\x{9C21}\x{9C24}\x{9C25}\x{9C2D}\x{9C2E}\x{9C2F}\x{9C30}\x{9C32}\x{9C39}' .
-'\x{9C3A}\x{9C3B}\x{9C3E}\x{9C46}\x{9C47}\x{9C48}\x{9C52}\x{9C57}\x{9C5A}' .
-'\x{9C60}\x{9C67}\x{9C76}\x{9C78}\x{9CE5}\x{9CE7}\x{9CE9}\x{9CEB}\x{9CEC}' .
-'\x{9CF0}\x{9CF3}\x{9CF4}\x{9CF6}\x{9D03}\x{9D06}\x{9D07}\x{9D08}\x{9D09}' .
-'\x{9D0E}\x{9D12}\x{9D15}\x{9D1B}\x{9D1F}\x{9D23}\x{9D26}\x{9D28}\x{9D2A}' .
-'\x{9D2B}\x{9D2C}\x{9D3B}\x{9D3E}\x{9D3F}\x{9D41}\x{9D44}\x{9D46}\x{9D48}' .
-'\x{9D50}\x{9D51}\x{9D59}\x{9D5C}\x{9D5D}\x{9D5E}\x{9D60}\x{9D61}\x{9D64}' .
-'\x{9D6C}\x{9D6F}\x{9D72}\x{9D7A}\x{9D87}\x{9D89}\x{9D8F}\x{9D9A}\x{9DA4}' .
-'\x{9DA9}\x{9DAB}\x{9DAF}\x{9DB2}\x{9DB4}\x{9DB8}\x{9DBA}\x{9DBB}\x{9DC1}' .
-'\x{9DC2}\x{9DC4}\x{9DC6}\x{9DCF}\x{9DD3}\x{9DD9}\x{9DE6}\x{9DED}\x{9DEF}' .
-'\x{9DF2}\x{9DF8}\x{9DF9}\x{9DFA}\x{9DFD}\x{9E1A}\x{9E1B}\x{9E1E}\x{9E75}' .
-'\x{9E78}\x{9E79}\x{9E7D}\x{9E7F}\x{9E81}\x{9E88}\x{9E8B}\x{9E8C}\x{9E91}' .
-'\x{9E92}\x{9E93}\x{9E95}\x{9E97}\x{9E9D}\x{9E9F}\x{9EA5}\x{9EA6}\x{9EA9}' .
-'\x{9EAA}\x{9EAD}\x{9EB8}\x{9EB9}\x{9EBA}\x{9EBB}\x{9EBC}\x{9EBE}\x{9EBF}' .
-'\x{9EC4}\x{9ECC}\x{9ECD}\x{9ECE}\x{9ECF}\x{9ED0}\x{9ED2}\x{9ED4}\x{9ED8}' .
-'\x{9ED9}\x{9EDB}\x{9EDC}\x{9EDD}\x{9EDE}\x{9EE0}\x{9EE5}\x{9EE8}\x{9EEF}' .
-'\x{9EF4}\x{9EF6}\x{9EF7}\x{9EF9}\x{9EFB}\x{9EFC}\x{9EFD}\x{9F07}\x{9F08}' .
-'\x{9F0E}\x{9F13}\x{9F15}\x{9F20}\x{9F21}\x{9F2C}\x{9F3B}\x{9F3E}\x{9F4A}' .
-'\x{9F4B}\x{9F4E}\x{9F4F}\x{9F52}\x{9F54}\x{9F5F}\x{9F60}\x{9F61}\x{9F62}' .
-'\x{9F63}\x{9F66}\x{9F67}\x{9F6A}\x{9F6C}\x{9F72}\x{9F76}\x{9F77}\x{9F8D}' .
-'\x{9F95}\x{9F9C}\x{9F9D}\x{9FA0}]{1,15}$/iu',
- 12 => '/^[\x{002d}0-9a-z\x{3447}\x{3473}\x{359E}\x{360E}\x{361A}\x{3918}\x{396E}\x{39CF}\x{39D0}' .
-'\x{39DF}\x{3A73}\x{3B4E}\x{3C6E}\x{3CE0}\x{4056}\x{415F}\x{4337}\x{43AC}' .
-'\x{43B1}\x{43DD}\x{44D6}\x{464C}\x{4661}\x{4723}\x{4729}\x{477C}\x{478D}' .
-'\x{4947}\x{497A}\x{497D}\x{4982}\x{4983}\x{4985}\x{4986}\x{499B}\x{499F}' .
-'\x{49B6}\x{49B7}\x{4C77}\x{4C9F}\x{4CA0}\x{4CA1}\x{4CA2}\x{4CA3}\x{4D13}' .
-'\x{4D14}\x{4D15}\x{4D16}\x{4D17}\x{4D18}\x{4D19}\x{4DAE}\x{4E00}\x{4E01}' .
-'\x{4E02}\x{4E03}\x{4E04}\x{4E05}\x{4E06}\x{4E07}\x{4E08}\x{4E09}\x{4E0A}' .
-'\x{4E0B}\x{4E0C}\x{4E0D}\x{4E0E}\x{4E0F}\x{4E10}\x{4E11}\x{4E13}\x{4E14}' .
-'\x{4E15}\x{4E16}\x{4E17}\x{4E18}\x{4E19}\x{4E1A}\x{4E1B}\x{4E1C}\x{4E1D}' .
-'\x{4E1E}\x{4E1F}\x{4E20}\x{4E21}\x{4E22}\x{4E23}\x{4E24}\x{4E25}\x{4E26}' .
-'\x{4E27}\x{4E28}\x{4E2A}\x{4E2B}\x{4E2C}\x{4E2D}\x{4E2E}\x{4E2F}\x{4E30}' .
-'\x{4E31}\x{4E32}\x{4E33}\x{4E34}\x{4E35}\x{4E36}\x{4E37}\x{4E38}\x{4E39}' .
-'\x{4E3A}\x{4E3B}\x{4E3C}\x{4E3D}\x{4E3E}\x{4E3F}\x{4E40}\x{4E41}\x{4E42}' .
-'\x{4E43}\x{4E44}\x{4E45}\x{4E46}\x{4E47}\x{4E48}\x{4E49}\x{4E4A}\x{4E4B}' .
-'\x{4E4C}\x{4E4D}\x{4E4E}\x{4E4F}\x{4E50}\x{4E51}\x{4E52}\x{4E53}\x{4E54}' .
-'\x{4E56}\x{4E57}\x{4E58}\x{4E59}\x{4E5A}\x{4E5B}\x{4E5C}\x{4E5D}\x{4E5E}' .
-'\x{4E5F}\x{4E60}\x{4E61}\x{4E62}\x{4E63}\x{4E64}\x{4E65}\x{4E66}\x{4E67}' .
-'\x{4E69}\x{4E6A}\x{4E6B}\x{4E6C}\x{4E6D}\x{4E6E}\x{4E6F}\x{4E70}\x{4E71}' .
-'\x{4E72}\x{4E73}\x{4E74}\x{4E75}\x{4E76}\x{4E77}\x{4E78}\x{4E7A}\x{4E7B}' .
-'\x{4E7C}\x{4E7D}\x{4E7E}\x{4E7F}\x{4E80}\x{4E81}\x{4E82}\x{4E83}\x{4E84}' .
-'\x{4E85}\x{4E86}\x{4E87}\x{4E88}\x{4E89}\x{4E8B}\x{4E8C}\x{4E8D}\x{4E8E}' .
-'\x{4E8F}\x{4E90}\x{4E91}\x{4E92}\x{4E93}\x{4E94}\x{4E95}\x{4E97}\x{4E98}' .
-'\x{4E99}\x{4E9A}\x{4E9B}\x{4E9C}\x{4E9D}\x{4E9E}\x{4E9F}\x{4EA0}\x{4EA1}' .
-'\x{4EA2}\x{4EA4}\x{4EA5}\x{4EA6}\x{4EA7}\x{4EA8}\x{4EA9}\x{4EAA}\x{4EAB}' .
-'\x{4EAC}\x{4EAD}\x{4EAE}\x{4EAF}\x{4EB0}\x{4EB1}\x{4EB2}\x{4EB3}\x{4EB4}' .
-'\x{4EB5}\x{4EB6}\x{4EB7}\x{4EB8}\x{4EB9}\x{4EBA}\x{4EBB}\x{4EBD}\x{4EBE}' .
-'\x{4EBF}\x{4EC0}\x{4EC1}\x{4EC2}\x{4EC3}\x{4EC4}\x{4EC5}\x{4EC6}\x{4EC7}' .
-'\x{4EC8}\x{4EC9}\x{4ECA}\x{4ECB}\x{4ECD}\x{4ECE}\x{4ECF}\x{4ED0}\x{4ED1}' .
-'\x{4ED2}\x{4ED3}\x{4ED4}\x{4ED5}\x{4ED6}\x{4ED7}\x{4ED8}\x{4ED9}\x{4EDA}' .
-'\x{4EDB}\x{4EDC}\x{4EDD}\x{4EDE}\x{4EDF}\x{4EE0}\x{4EE1}\x{4EE2}\x{4EE3}' .
-'\x{4EE4}\x{4EE5}\x{4EE6}\x{4EE8}\x{4EE9}\x{4EEA}\x{4EEB}\x{4EEC}\x{4EEF}' .
-'\x{4EF0}\x{4EF1}\x{4EF2}\x{4EF3}\x{4EF4}\x{4EF5}\x{4EF6}\x{4EF7}\x{4EFB}' .
-'\x{4EFD}\x{4EFF}\x{4F00}\x{4F01}\x{4F02}\x{4F03}\x{4F04}\x{4F05}\x{4F06}' .
-'\x{4F08}\x{4F09}\x{4F0A}\x{4F0B}\x{4F0C}\x{4F0D}\x{4F0E}\x{4F0F}\x{4F10}' .
-'\x{4F11}\x{4F12}\x{4F13}\x{4F14}\x{4F15}\x{4F17}\x{4F18}\x{4F19}\x{4F1A}' .
-'\x{4F1B}\x{4F1C}\x{4F1D}\x{4F1E}\x{4F1F}\x{4F20}\x{4F21}\x{4F22}\x{4F23}' .
-'\x{4F24}\x{4F25}\x{4F26}\x{4F27}\x{4F29}\x{4F2A}\x{4F2B}\x{4F2C}\x{4F2D}' .
-'\x{4F2E}\x{4F2F}\x{4F30}\x{4F32}\x{4F33}\x{4F34}\x{4F36}\x{4F38}\x{4F39}' .
-'\x{4F3A}\x{4F3B}\x{4F3C}\x{4F3D}\x{4F3E}\x{4F3F}\x{4F41}\x{4F42}\x{4F43}' .
-'\x{4F45}\x{4F46}\x{4F47}\x{4F48}\x{4F49}\x{4F4A}\x{4F4B}\x{4F4C}\x{4F4D}' .
-'\x{4F4E}\x{4F4F}\x{4F50}\x{4F51}\x{4F52}\x{4F53}\x{4F54}\x{4F55}\x{4F56}' .
-'\x{4F57}\x{4F58}\x{4F59}\x{4F5A}\x{4F5B}\x{4F5C}\x{4F5D}\x{4F5E}\x{4F5F}' .
-'\x{4F60}\x{4F61}\x{4F62}\x{4F63}\x{4F64}\x{4F65}\x{4F66}\x{4F67}\x{4F68}' .
-'\x{4F69}\x{4F6A}\x{4F6B}\x{4F6C}\x{4F6D}\x{4F6E}\x{4F6F}\x{4F70}\x{4F72}' .
-'\x{4F73}\x{4F74}\x{4F75}\x{4F76}\x{4F77}\x{4F78}\x{4F79}\x{4F7A}\x{4F7B}' .
-'\x{4F7C}\x{4F7D}\x{4F7E}\x{4F7F}\x{4F80}\x{4F81}\x{4F82}\x{4F83}\x{4F84}' .
-'\x{4F85}\x{4F86}\x{4F87}\x{4F88}\x{4F89}\x{4F8A}\x{4F8B}\x{4F8D}\x{4F8F}' .
-'\x{4F90}\x{4F91}\x{4F92}\x{4F93}\x{4F94}\x{4F95}\x{4F96}\x{4F97}\x{4F98}' .
-'\x{4F99}\x{4F9A}\x{4F9B}\x{4F9C}\x{4F9D}\x{4F9E}\x{4F9F}\x{4FA0}\x{4FA1}' .
-'\x{4FA3}\x{4FA4}\x{4FA5}\x{4FA6}\x{4FA7}\x{4FA8}\x{4FA9}\x{4FAA}\x{4FAB}' .
-'\x{4FAC}\x{4FAE}\x{4FAF}\x{4FB0}\x{4FB1}\x{4FB2}\x{4FB3}\x{4FB4}\x{4FB5}' .
-'\x{4FB6}\x{4FB7}\x{4FB8}\x{4FB9}\x{4FBA}\x{4FBB}\x{4FBC}\x{4FBE}\x{4FBF}' .
-'\x{4FC0}\x{4FC1}\x{4FC2}\x{4FC3}\x{4FC4}\x{4FC5}\x{4FC7}\x{4FC9}\x{4FCA}' .
-'\x{4FCB}\x{4FCD}\x{4FCE}\x{4FCF}\x{4FD0}\x{4FD1}\x{4FD2}\x{4FD3}\x{4FD4}' .
-'\x{4FD5}\x{4FD6}\x{4FD7}\x{4FD8}\x{4FD9}\x{4FDA}\x{4FDB}\x{4FDC}\x{4FDD}' .
-'\x{4FDE}\x{4FDF}\x{4FE0}\x{4FE1}\x{4FE3}\x{4FE4}\x{4FE5}\x{4FE6}\x{4FE7}' .
-'\x{4FE8}\x{4FE9}\x{4FEA}\x{4FEB}\x{4FEC}\x{4FED}\x{4FEE}\x{4FEF}\x{4FF0}' .
-'\x{4FF1}\x{4FF2}\x{4FF3}\x{4FF4}\x{4FF5}\x{4FF6}\x{4FF7}\x{4FF8}\x{4FF9}' .
-'\x{4FFA}\x{4FFB}\x{4FFE}\x{4FFF}\x{5000}\x{5001}\x{5002}\x{5003}\x{5004}' .
-'\x{5005}\x{5006}\x{5007}\x{5008}\x{5009}\x{500A}\x{500B}\x{500C}\x{500D}' .
-'\x{500E}\x{500F}\x{5011}\x{5012}\x{5013}\x{5014}\x{5015}\x{5016}\x{5017}' .
-'\x{5018}\x{5019}\x{501A}\x{501B}\x{501C}\x{501D}\x{501E}\x{501F}\x{5020}' .
-'\x{5021}\x{5022}\x{5023}\x{5024}\x{5025}\x{5026}\x{5027}\x{5028}\x{5029}' .
-'\x{502A}\x{502B}\x{502C}\x{502D}\x{502E}\x{502F}\x{5030}\x{5031}\x{5032}' .
-'\x{5033}\x{5035}\x{5036}\x{5037}\x{5039}\x{503A}\x{503B}\x{503C}\x{503E}' .
-'\x{503F}\x{5040}\x{5041}\x{5043}\x{5044}\x{5045}\x{5046}\x{5047}\x{5048}' .
-'\x{5049}\x{504A}\x{504B}\x{504C}\x{504D}\x{504E}\x{504F}\x{5051}\x{5053}' .
-'\x{5054}\x{5055}\x{5056}\x{5057}\x{5059}\x{505A}\x{505B}\x{505C}\x{505D}' .
-'\x{505E}\x{505F}\x{5060}\x{5061}\x{5062}\x{5063}\x{5064}\x{5065}\x{5066}' .
-'\x{5067}\x{5068}\x{5069}\x{506A}\x{506B}\x{506C}\x{506D}\x{506E}\x{506F}' .
-'\x{5070}\x{5071}\x{5072}\x{5073}\x{5074}\x{5075}\x{5076}\x{5077}\x{5078}' .
-'\x{5079}\x{507A}\x{507B}\x{507D}\x{507E}\x{507F}\x{5080}\x{5082}\x{5083}' .
-'\x{5084}\x{5085}\x{5086}\x{5087}\x{5088}\x{5089}\x{508A}\x{508B}\x{508C}' .
-'\x{508D}\x{508E}\x{508F}\x{5090}\x{5091}\x{5092}\x{5094}\x{5095}\x{5096}' .
-'\x{5098}\x{5099}\x{509A}\x{509B}\x{509C}\x{509D}\x{509E}\x{50A2}\x{50A3}' .
-'\x{50A4}\x{50A5}\x{50A6}\x{50A7}\x{50A8}\x{50A9}\x{50AA}\x{50AB}\x{50AC}' .
-'\x{50AD}\x{50AE}\x{50AF}\x{50B0}\x{50B1}\x{50B2}\x{50B3}\x{50B4}\x{50B5}' .
-'\x{50B6}\x{50B7}\x{50B8}\x{50BA}\x{50BB}\x{50BC}\x{50BD}\x{50BE}\x{50BF}' .
-'\x{50C0}\x{50C1}\x{50C2}\x{50C4}\x{50C5}\x{50C6}\x{50C7}\x{50C8}\x{50C9}' .
-'\x{50CA}\x{50CB}\x{50CC}\x{50CD}\x{50CE}\x{50CF}\x{50D0}\x{50D1}\x{50D2}' .
-'\x{50D3}\x{50D4}\x{50D5}\x{50D6}\x{50D7}\x{50D9}\x{50DA}\x{50DB}\x{50DC}' .
-'\x{50DD}\x{50DE}\x{50E0}\x{50E3}\x{50E4}\x{50E5}\x{50E6}\x{50E7}\x{50E8}' .
-'\x{50E9}\x{50EA}\x{50EC}\x{50ED}\x{50EE}\x{50EF}\x{50F0}\x{50F1}\x{50F2}' .
-'\x{50F3}\x{50F5}\x{50F6}\x{50F8}\x{50F9}\x{50FA}\x{50FB}\x{50FC}\x{50FD}' .
-'\x{50FE}\x{50FF}\x{5100}\x{5101}\x{5102}\x{5103}\x{5104}\x{5105}\x{5106}' .
-'\x{5107}\x{5108}\x{5109}\x{510A}\x{510B}\x{510C}\x{510D}\x{510E}\x{510F}' .
-'\x{5110}\x{5111}\x{5112}\x{5113}\x{5114}\x{5115}\x{5116}\x{5117}\x{5118}' .
-'\x{5119}\x{511A}\x{511C}\x{511D}\x{511E}\x{511F}\x{5120}\x{5121}\x{5122}' .
-'\x{5123}\x{5124}\x{5125}\x{5126}\x{5127}\x{5129}\x{512A}\x{512C}\x{512D}' .
-'\x{512E}\x{512F}\x{5130}\x{5131}\x{5132}\x{5133}\x{5134}\x{5135}\x{5136}' .
-'\x{5137}\x{5138}\x{5139}\x{513A}\x{513B}\x{513C}\x{513D}\x{513E}\x{513F}' .
-'\x{5140}\x{5141}\x{5143}\x{5144}\x{5145}\x{5146}\x{5147}\x{5148}\x{5149}' .
-'\x{514B}\x{514C}\x{514D}\x{514E}\x{5150}\x{5151}\x{5152}\x{5154}\x{5155}' .
-'\x{5156}\x{5157}\x{5159}\x{515A}\x{515B}\x{515C}\x{515D}\x{515E}\x{515F}' .
-'\x{5161}\x{5162}\x{5163}\x{5165}\x{5166}\x{5167}\x{5168}\x{5169}\x{516A}' .
-'\x{516B}\x{516C}\x{516D}\x{516E}\x{516F}\x{5170}\x{5171}\x{5173}\x{5174}' .
-'\x{5175}\x{5176}\x{5177}\x{5178}\x{5179}\x{517A}\x{517B}\x{517C}\x{517D}' .
-'\x{517F}\x{5180}\x{5181}\x{5182}\x{5185}\x{5186}\x{5187}\x{5188}\x{5189}' .
-'\x{518A}\x{518B}\x{518C}\x{518D}\x{518F}\x{5190}\x{5191}\x{5192}\x{5193}' .
-'\x{5194}\x{5195}\x{5196}\x{5197}\x{5198}\x{5199}\x{519A}\x{519B}\x{519C}' .
-'\x{519D}\x{519E}\x{519F}\x{51A0}\x{51A2}\x{51A4}\x{51A5}\x{51A6}\x{51A7}' .
-'\x{51A8}\x{51AA}\x{51AB}\x{51AC}\x{51AE}\x{51AF}\x{51B0}\x{51B1}\x{51B2}' .
-'\x{51B3}\x{51B5}\x{51B6}\x{51B7}\x{51B9}\x{51BB}\x{51BC}\x{51BD}\x{51BE}' .
-'\x{51BF}\x{51C0}\x{51C1}\x{51C3}\x{51C4}\x{51C5}\x{51C6}\x{51C7}\x{51C8}' .
-'\x{51C9}\x{51CA}\x{51CB}\x{51CC}\x{51CD}\x{51CE}\x{51CF}\x{51D0}\x{51D1}' .
-'\x{51D4}\x{51D5}\x{51D6}\x{51D7}\x{51D8}\x{51D9}\x{51DA}\x{51DB}\x{51DC}' .
-'\x{51DD}\x{51DE}\x{51E0}\x{51E1}\x{51E2}\x{51E3}\x{51E4}\x{51E5}\x{51E7}' .
-'\x{51E8}\x{51E9}\x{51EA}\x{51EB}\x{51ED}\x{51EF}\x{51F0}\x{51F1}\x{51F3}' .
-'\x{51F4}\x{51F5}\x{51F6}\x{51F7}\x{51F8}\x{51F9}\x{51FA}\x{51FB}\x{51FC}' .
-'\x{51FD}\x{51FE}\x{51FF}\x{5200}\x{5201}\x{5202}\x{5203}\x{5204}\x{5205}' .
-'\x{5206}\x{5207}\x{5208}\x{5209}\x{520A}\x{520B}\x{520C}\x{520D}\x{520E}' .
-'\x{520F}\x{5210}\x{5211}\x{5212}\x{5213}\x{5214}\x{5215}\x{5216}\x{5217}' .
-'\x{5218}\x{5219}\x{521A}\x{521B}\x{521C}\x{521D}\x{521E}\x{521F}\x{5220}' .
-'\x{5221}\x{5222}\x{5223}\x{5224}\x{5225}\x{5226}\x{5228}\x{5229}\x{522A}' .
-'\x{522B}\x{522C}\x{522D}\x{522E}\x{522F}\x{5230}\x{5231}\x{5232}\x{5233}' .
-'\x{5234}\x{5235}\x{5236}\x{5237}\x{5238}\x{5239}\x{523A}\x{523B}\x{523C}' .
-'\x{523D}\x{523E}\x{523F}\x{5240}\x{5241}\x{5242}\x{5243}\x{5244}\x{5245}' .
-'\x{5246}\x{5247}\x{5248}\x{5249}\x{524A}\x{524B}\x{524C}\x{524D}\x{524E}' .
-'\x{5250}\x{5251}\x{5252}\x{5254}\x{5255}\x{5256}\x{5257}\x{5258}\x{5259}' .
-'\x{525A}\x{525B}\x{525C}\x{525D}\x{525E}\x{525F}\x{5260}\x{5261}\x{5262}' .
-'\x{5263}\x{5264}\x{5265}\x{5267}\x{5268}\x{5269}\x{526A}\x{526B}\x{526C}' .
-'\x{526D}\x{526E}\x{526F}\x{5270}\x{5272}\x{5273}\x{5274}\x{5275}\x{5276}' .
-'\x{5277}\x{5278}\x{527A}\x{527B}\x{527C}\x{527D}\x{527E}\x{527F}\x{5280}' .
-'\x{5281}\x{5282}\x{5283}\x{5284}\x{5286}\x{5287}\x{5288}\x{5289}\x{528A}' .
-'\x{528B}\x{528C}\x{528D}\x{528F}\x{5290}\x{5291}\x{5292}\x{5293}\x{5294}' .
-'\x{5295}\x{5296}\x{5297}\x{5298}\x{5299}\x{529A}\x{529B}\x{529C}\x{529D}' .
-'\x{529E}\x{529F}\x{52A0}\x{52A1}\x{52A2}\x{52A3}\x{52A5}\x{52A6}\x{52A7}' .
-'\x{52A8}\x{52A9}\x{52AA}\x{52AB}\x{52AC}\x{52AD}\x{52AE}\x{52AF}\x{52B0}' .
-'\x{52B1}\x{52B2}\x{52B3}\x{52B4}\x{52B5}\x{52B6}\x{52B7}\x{52B8}\x{52B9}' .
-'\x{52BA}\x{52BB}\x{52BC}\x{52BD}\x{52BE}\x{52BF}\x{52C0}\x{52C1}\x{52C2}' .
-'\x{52C3}\x{52C6}\x{52C7}\x{52C9}\x{52CA}\x{52CB}\x{52CD}\x{52CF}\x{52D0}' .
-'\x{52D2}\x{52D3}\x{52D5}\x{52D6}\x{52D7}\x{52D8}\x{52D9}\x{52DA}\x{52DB}' .
-'\x{52DC}\x{52DD}\x{52DE}\x{52DF}\x{52E0}\x{52E2}\x{52E3}\x{52E4}\x{52E6}' .
-'\x{52E7}\x{52E8}\x{52E9}\x{52EA}\x{52EB}\x{52EC}\x{52ED}\x{52EF}\x{52F0}' .
-'\x{52F1}\x{52F2}\x{52F3}\x{52F4}\x{52F5}\x{52F6}\x{52F7}\x{52F8}\x{52F9}' .
-'\x{52FA}\x{52FB}\x{52FC}\x{52FD}\x{52FE}\x{52FF}\x{5300}\x{5301}\x{5302}' .
-'\x{5305}\x{5306}\x{5307}\x{5308}\x{5309}\x{530A}\x{530B}\x{530C}\x{530D}' .
-'\x{530E}\x{530F}\x{5310}\x{5311}\x{5312}\x{5313}\x{5314}\x{5315}\x{5316}' .
-'\x{5317}\x{5319}\x{531A}\x{531C}\x{531D}\x{531F}\x{5320}\x{5321}\x{5322}' .
-'\x{5323}\x{5324}\x{5325}\x{5326}\x{5328}\x{532A}\x{532B}\x{532C}\x{532D}' .
-'\x{532E}\x{532F}\x{5330}\x{5331}\x{5333}\x{5334}\x{5337}\x{5339}\x{533A}' .
-'\x{533B}\x{533C}\x{533D}\x{533E}\x{533F}\x{5340}\x{5341}\x{5343}\x{5344}' .
-'\x{5345}\x{5346}\x{5347}\x{5348}\x{5349}\x{534A}\x{534B}\x{534C}\x{534D}' .
-'\x{534E}\x{534F}\x{5350}\x{5351}\x{5352}\x{5353}\x{5354}\x{5355}\x{5356}' .
-'\x{5357}\x{5358}\x{5359}\x{535A}\x{535C}\x{535E}\x{535F}\x{5360}\x{5361}' .
-'\x{5362}\x{5363}\x{5364}\x{5365}\x{5366}\x{5367}\x{5369}\x{536B}\x{536C}' .
-'\x{536E}\x{536F}\x{5370}\x{5371}\x{5372}\x{5373}\x{5374}\x{5375}\x{5376}' .
-'\x{5377}\x{5378}\x{5379}\x{537A}\x{537B}\x{537C}\x{537D}\x{537E}\x{537F}' .
-'\x{5381}\x{5382}\x{5383}\x{5384}\x{5385}\x{5386}\x{5387}\x{5388}\x{5389}' .
-'\x{538A}\x{538B}\x{538C}\x{538D}\x{538E}\x{538F}\x{5390}\x{5391}\x{5392}' .
-'\x{5393}\x{5394}\x{5395}\x{5396}\x{5397}\x{5398}\x{5399}\x{539A}\x{539B}' .
-'\x{539C}\x{539D}\x{539E}\x{539F}\x{53A0}\x{53A2}\x{53A3}\x{53A4}\x{53A5}' .
-'\x{53A6}\x{53A7}\x{53A8}\x{53A9}\x{53AC}\x{53AD}\x{53AE}\x{53B0}\x{53B1}' .
-'\x{53B2}\x{53B3}\x{53B4}\x{53B5}\x{53B6}\x{53B7}\x{53B8}\x{53B9}\x{53BB}' .
-'\x{53BC}\x{53BD}\x{53BE}\x{53BF}\x{53C0}\x{53C1}\x{53C2}\x{53C3}\x{53C4}' .
-'\x{53C6}\x{53C7}\x{53C8}\x{53C9}\x{53CA}\x{53CB}\x{53CC}\x{53CD}\x{53CE}' .
-'\x{53D0}\x{53D1}\x{53D2}\x{53D3}\x{53D4}\x{53D5}\x{53D6}\x{53D7}\x{53D8}' .
-'\x{53D9}\x{53DB}\x{53DC}\x{53DF}\x{53E0}\x{53E1}\x{53E2}\x{53E3}\x{53E4}' .
-'\x{53E5}\x{53E6}\x{53E8}\x{53E9}\x{53EA}\x{53EB}\x{53EC}\x{53ED}\x{53EE}' .
-'\x{53EF}\x{53F0}\x{53F1}\x{53F2}\x{53F3}\x{53F4}\x{53F5}\x{53F6}\x{53F7}' .
-'\x{53F8}\x{53F9}\x{53FA}\x{53FB}\x{53FC}\x{53FD}\x{53FE}\x{5401}\x{5402}' .
-'\x{5403}\x{5404}\x{5405}\x{5406}\x{5407}\x{5408}\x{5409}\x{540A}\x{540B}' .
-'\x{540C}\x{540D}\x{540E}\x{540F}\x{5410}\x{5411}\x{5412}\x{5413}\x{5414}' .
-'\x{5415}\x{5416}\x{5417}\x{5418}\x{5419}\x{541B}\x{541C}\x{541D}\x{541E}' .
-'\x{541F}\x{5420}\x{5421}\x{5423}\x{5424}\x{5425}\x{5426}\x{5427}\x{5428}' .
-'\x{5429}\x{542A}\x{542B}\x{542C}\x{542D}\x{542E}\x{542F}\x{5430}\x{5431}' .
-'\x{5432}\x{5433}\x{5434}\x{5435}\x{5436}\x{5437}\x{5438}\x{5439}\x{543A}' .
-'\x{543B}\x{543C}\x{543D}\x{543E}\x{543F}\x{5440}\x{5441}\x{5442}\x{5443}' .
-'\x{5444}\x{5445}\x{5446}\x{5447}\x{5448}\x{5449}\x{544A}\x{544B}\x{544D}' .
-'\x{544E}\x{544F}\x{5450}\x{5451}\x{5452}\x{5453}\x{5454}\x{5455}\x{5456}' .
-'\x{5457}\x{5458}\x{5459}\x{545A}\x{545B}\x{545C}\x{545E}\x{545F}\x{5460}' .
-'\x{5461}\x{5462}\x{5463}\x{5464}\x{5465}\x{5466}\x{5467}\x{5468}\x{546A}' .
-'\x{546B}\x{546C}\x{546D}\x{546E}\x{546F}\x{5470}\x{5471}\x{5472}\x{5473}' .
-'\x{5474}\x{5475}\x{5476}\x{5477}\x{5478}\x{5479}\x{547A}\x{547B}\x{547C}' .
-'\x{547D}\x{547E}\x{547F}\x{5480}\x{5481}\x{5482}\x{5483}\x{5484}\x{5485}' .
-'\x{5486}\x{5487}\x{5488}\x{5489}\x{548B}\x{548C}\x{548D}\x{548E}\x{548F}' .
-'\x{5490}\x{5491}\x{5492}\x{5493}\x{5494}\x{5495}\x{5496}\x{5497}\x{5498}' .
-'\x{5499}\x{549A}\x{549B}\x{549C}\x{549D}\x{549E}\x{549F}\x{54A0}\x{54A1}' .
-'\x{54A2}\x{54A3}\x{54A4}\x{54A5}\x{54A6}\x{54A7}\x{54A8}\x{54A9}\x{54AA}' .
-'\x{54AB}\x{54AC}\x{54AD}\x{54AE}\x{54AF}\x{54B0}\x{54B1}\x{54B2}\x{54B3}' .
-'\x{54B4}\x{54B6}\x{54B7}\x{54B8}\x{54B9}\x{54BA}\x{54BB}\x{54BC}\x{54BD}' .
-'\x{54BE}\x{54BF}\x{54C0}\x{54C1}\x{54C2}\x{54C3}\x{54C4}\x{54C5}\x{54C6}' .
-'\x{54C7}\x{54C8}\x{54C9}\x{54CA}\x{54CB}\x{54CC}\x{54CD}\x{54CE}\x{54CF}' .
-'\x{54D0}\x{54D1}\x{54D2}\x{54D3}\x{54D4}\x{54D5}\x{54D6}\x{54D7}\x{54D8}' .
-'\x{54D9}\x{54DA}\x{54DB}\x{54DC}\x{54DD}\x{54DE}\x{54DF}\x{54E0}\x{54E1}' .
-'\x{54E2}\x{54E3}\x{54E4}\x{54E5}\x{54E6}\x{54E7}\x{54E8}\x{54E9}\x{54EA}' .
-'\x{54EB}\x{54EC}\x{54ED}\x{54EE}\x{54EF}\x{54F0}\x{54F1}\x{54F2}\x{54F3}' .
-'\x{54F4}\x{54F5}\x{54F7}\x{54F8}\x{54F9}\x{54FA}\x{54FB}\x{54FC}\x{54FD}' .
-'\x{54FE}\x{54FF}\x{5500}\x{5501}\x{5502}\x{5503}\x{5504}\x{5505}\x{5506}' .
-'\x{5507}\x{5508}\x{5509}\x{550A}\x{550B}\x{550C}\x{550D}\x{550E}\x{550F}' .
-'\x{5510}\x{5511}\x{5512}\x{5513}\x{5514}\x{5516}\x{5517}\x{551A}\x{551B}' .
-'\x{551C}\x{551D}\x{551E}\x{551F}\x{5520}\x{5521}\x{5522}\x{5523}\x{5524}' .
-'\x{5525}\x{5526}\x{5527}\x{5528}\x{5529}\x{552A}\x{552B}\x{552C}\x{552D}' .
-'\x{552E}\x{552F}\x{5530}\x{5531}\x{5532}\x{5533}\x{5534}\x{5535}\x{5536}' .
-'\x{5537}\x{5538}\x{5539}\x{553A}\x{553B}\x{553C}\x{553D}\x{553E}\x{553F}' .
-'\x{5540}\x{5541}\x{5542}\x{5543}\x{5544}\x{5545}\x{5546}\x{5548}\x{5549}' .
-'\x{554A}\x{554B}\x{554C}\x{554D}\x{554E}\x{554F}\x{5550}\x{5551}\x{5552}' .
-'\x{5553}\x{5554}\x{5555}\x{5556}\x{5557}\x{5558}\x{5559}\x{555A}\x{555B}' .
-'\x{555C}\x{555D}\x{555E}\x{555F}\x{5561}\x{5562}\x{5563}\x{5564}\x{5565}' .
-'\x{5566}\x{5567}\x{5568}\x{5569}\x{556A}\x{556B}\x{556C}\x{556D}\x{556E}' .
-'\x{556F}\x{5570}\x{5571}\x{5572}\x{5573}\x{5574}\x{5575}\x{5576}\x{5577}' .
-'\x{5578}\x{5579}\x{557B}\x{557C}\x{557D}\x{557E}\x{557F}\x{5580}\x{5581}' .
-'\x{5582}\x{5583}\x{5584}\x{5585}\x{5586}\x{5587}\x{5588}\x{5589}\x{558A}' .
-'\x{558B}\x{558C}\x{558D}\x{558E}\x{558F}\x{5590}\x{5591}\x{5592}\x{5593}' .
-'\x{5594}\x{5595}\x{5596}\x{5597}\x{5598}\x{5599}\x{559A}\x{559B}\x{559C}' .
-'\x{559D}\x{559E}\x{559F}\x{55A0}\x{55A1}\x{55A2}\x{55A3}\x{55A4}\x{55A5}' .
-'\x{55A6}\x{55A7}\x{55A8}\x{55A9}\x{55AA}\x{55AB}\x{55AC}\x{55AD}\x{55AE}' .
-'\x{55AF}\x{55B0}\x{55B1}\x{55B2}\x{55B3}\x{55B4}\x{55B5}\x{55B6}\x{55B7}' .
-'\x{55B8}\x{55B9}\x{55BA}\x{55BB}\x{55BC}\x{55BD}\x{55BE}\x{55BF}\x{55C0}' .
-'\x{55C1}\x{55C2}\x{55C3}\x{55C4}\x{55C5}\x{55C6}\x{55C7}\x{55C8}\x{55C9}' .
-'\x{55CA}\x{55CB}\x{55CC}\x{55CD}\x{55CE}\x{55CF}\x{55D0}\x{55D1}\x{55D2}' .
-'\x{55D3}\x{55D4}\x{55D5}\x{55D6}\x{55D7}\x{55D8}\x{55D9}\x{55DA}\x{55DB}' .
-'\x{55DC}\x{55DD}\x{55DE}\x{55DF}\x{55E1}\x{55E2}\x{55E3}\x{55E4}\x{55E5}' .
-'\x{55E6}\x{55E7}\x{55E8}\x{55E9}\x{55EA}\x{55EB}\x{55EC}\x{55ED}\x{55EE}' .
-'\x{55EF}\x{55F0}\x{55F1}\x{55F2}\x{55F3}\x{55F4}\x{55F5}\x{55F6}\x{55F7}' .
-'\x{55F9}\x{55FA}\x{55FB}\x{55FC}\x{55FD}\x{55FE}\x{55FF}\x{5600}\x{5601}' .
-'\x{5602}\x{5603}\x{5604}\x{5606}\x{5607}\x{5608}\x{5609}\x{560C}\x{560D}' .
-'\x{560E}\x{560F}\x{5610}\x{5611}\x{5612}\x{5613}\x{5614}\x{5615}\x{5616}' .
-'\x{5617}\x{5618}\x{5619}\x{561A}\x{561B}\x{561C}\x{561D}\x{561E}\x{561F}' .
-'\x{5621}\x{5622}\x{5623}\x{5624}\x{5625}\x{5626}\x{5627}\x{5628}\x{5629}' .
-'\x{562A}\x{562C}\x{562D}\x{562E}\x{562F}\x{5630}\x{5631}\x{5632}\x{5633}' .
-'\x{5634}\x{5635}\x{5636}\x{5638}\x{5639}\x{563A}\x{563B}\x{563D}\x{563E}' .
-'\x{563F}\x{5640}\x{5641}\x{5642}\x{5643}\x{5645}\x{5646}\x{5647}\x{5648}' .
-'\x{5649}\x{564A}\x{564C}\x{564D}\x{564E}\x{564F}\x{5650}\x{5652}\x{5653}' .
-'\x{5654}\x{5655}\x{5657}\x{5658}\x{5659}\x{565A}\x{565B}\x{565C}\x{565D}' .
-'\x{565E}\x{5660}\x{5662}\x{5663}\x{5664}\x{5665}\x{5666}\x{5667}\x{5668}' .
-'\x{5669}\x{566A}\x{566B}\x{566C}\x{566D}\x{566E}\x{566F}\x{5670}\x{5671}' .
-'\x{5672}\x{5673}\x{5674}\x{5676}\x{5677}\x{5678}\x{5679}\x{567A}\x{567B}' .
-'\x{567C}\x{567E}\x{567F}\x{5680}\x{5681}\x{5682}\x{5683}\x{5684}\x{5685}' .
-'\x{5686}\x{5687}\x{568A}\x{568C}\x{568D}\x{568E}\x{568F}\x{5690}\x{5691}' .
-'\x{5692}\x{5693}\x{5694}\x{5695}\x{5697}\x{5698}\x{5699}\x{569A}\x{569B}' .
-'\x{569C}\x{569D}\x{569F}\x{56A0}\x{56A1}\x{56A3}\x{56A4}\x{56A5}\x{56A6}' .
-'\x{56A7}\x{56A8}\x{56A9}\x{56AA}\x{56AB}\x{56AC}\x{56AD}\x{56AE}\x{56AF}' .
-'\x{56B0}\x{56B1}\x{56B2}\x{56B3}\x{56B4}\x{56B5}\x{56B6}\x{56B7}\x{56B8}' .
-'\x{56B9}\x{56BB}\x{56BC}\x{56BD}\x{56BE}\x{56BF}\x{56C0}\x{56C1}\x{56C2}' .
-'\x{56C3}\x{56C4}\x{56C5}\x{56C6}\x{56C7}\x{56C8}\x{56C9}\x{56CA}\x{56CB}' .
-'\x{56CC}\x{56CD}\x{56CE}\x{56D0}\x{56D1}\x{56D2}\x{56D3}\x{56D4}\x{56D5}' .
-'\x{56D6}\x{56D7}\x{56D8}\x{56DA}\x{56DB}\x{56DC}\x{56DD}\x{56DE}\x{56DF}' .
-'\x{56E0}\x{56E1}\x{56E2}\x{56E3}\x{56E4}\x{56E5}\x{56E7}\x{56E8}\x{56E9}' .
-'\x{56EA}\x{56EB}\x{56EC}\x{56ED}\x{56EE}\x{56EF}\x{56F0}\x{56F1}\x{56F2}' .
-'\x{56F3}\x{56F4}\x{56F5}\x{56F7}\x{56F9}\x{56FA}\x{56FD}\x{56FE}\x{56FF}' .
-'\x{5700}\x{5701}\x{5702}\x{5703}\x{5704}\x{5706}\x{5707}\x{5708}\x{5709}' .
-'\x{570A}\x{570B}\x{570C}\x{570D}\x{570E}\x{570F}\x{5710}\x{5712}\x{5713}' .
-'\x{5714}\x{5715}\x{5716}\x{5718}\x{5719}\x{571A}\x{571B}\x{571C}\x{571D}' .
-'\x{571E}\x{571F}\x{5720}\x{5722}\x{5723}\x{5725}\x{5726}\x{5727}\x{5728}' .
-'\x{5729}\x{572A}\x{572B}\x{572C}\x{572D}\x{572E}\x{572F}\x{5730}\x{5731}' .
-'\x{5732}\x{5733}\x{5734}\x{5735}\x{5736}\x{5737}\x{5738}\x{5739}\x{573A}' .
-'\x{573B}\x{573C}\x{573E}\x{573F}\x{5740}\x{5741}\x{5742}\x{5744}\x{5745}' .
-'\x{5746}\x{5747}\x{5749}\x{574A}\x{574B}\x{574C}\x{574D}\x{574E}\x{574F}' .
-'\x{5750}\x{5751}\x{5752}\x{5753}\x{5754}\x{5757}\x{5759}\x{575A}\x{575B}' .
-'\x{575C}\x{575D}\x{575E}\x{575F}\x{5760}\x{5761}\x{5762}\x{5764}\x{5765}' .
-'\x{5766}\x{5767}\x{5768}\x{5769}\x{576A}\x{576B}\x{576C}\x{576D}\x{576F}' .
-'\x{5770}\x{5771}\x{5772}\x{5773}\x{5774}\x{5775}\x{5776}\x{5777}\x{5779}' .
-'\x{577A}\x{577B}\x{577C}\x{577D}\x{577E}\x{577F}\x{5780}\x{5782}\x{5783}' .
-'\x{5784}\x{5785}\x{5786}\x{5788}\x{5789}\x{578A}\x{578B}\x{578C}\x{578D}' .
-'\x{578E}\x{578F}\x{5790}\x{5791}\x{5792}\x{5793}\x{5794}\x{5795}\x{5797}' .
-'\x{5798}\x{5799}\x{579A}\x{579B}\x{579C}\x{579D}\x{579E}\x{579F}\x{57A0}' .
-'\x{57A1}\x{57A2}\x{57A3}\x{57A4}\x{57A5}\x{57A6}\x{57A7}\x{57A9}\x{57AA}' .
-'\x{57AB}\x{57AC}\x{57AD}\x{57AE}\x{57AF}\x{57B0}\x{57B1}\x{57B2}\x{57B3}' .
-'\x{57B4}\x{57B5}\x{57B6}\x{57B7}\x{57B8}\x{57B9}\x{57BA}\x{57BB}\x{57BC}' .
-'\x{57BD}\x{57BE}\x{57BF}\x{57C0}\x{57C1}\x{57C2}\x{57C3}\x{57C4}\x{57C5}' .
-'\x{57C6}\x{57C7}\x{57C8}\x{57C9}\x{57CB}\x{57CC}\x{57CD}\x{57CE}\x{57CF}' .
-'\x{57D0}\x{57D2}\x{57D3}\x{57D4}\x{57D5}\x{57D6}\x{57D8}\x{57D9}\x{57DA}' .
-'\x{57DC}\x{57DD}\x{57DF}\x{57E0}\x{57E1}\x{57E2}\x{57E3}\x{57E4}\x{57E5}' .
-'\x{57E6}\x{57E7}\x{57E8}\x{57E9}\x{57EA}\x{57EB}\x{57EC}\x{57ED}\x{57EE}' .
-'\x{57EF}\x{57F0}\x{57F1}\x{57F2}\x{57F3}\x{57F4}\x{57F5}\x{57F6}\x{57F7}' .
-'\x{57F8}\x{57F9}\x{57FA}\x{57FB}\x{57FC}\x{57FD}\x{57FE}\x{57FF}\x{5800}' .
-'\x{5801}\x{5802}\x{5803}\x{5804}\x{5805}\x{5806}\x{5807}\x{5808}\x{5809}' .
-'\x{580A}\x{580B}\x{580C}\x{580D}\x{580E}\x{580F}\x{5810}\x{5811}\x{5812}' .
-'\x{5813}\x{5814}\x{5815}\x{5816}\x{5819}\x{581A}\x{581B}\x{581C}\x{581D}' .
-'\x{581E}\x{581F}\x{5820}\x{5821}\x{5822}\x{5823}\x{5824}\x{5825}\x{5826}' .
-'\x{5827}\x{5828}\x{5829}\x{582A}\x{582B}\x{582C}\x{582D}\x{582E}\x{582F}' .
-'\x{5830}\x{5831}\x{5832}\x{5833}\x{5834}\x{5835}\x{5836}\x{5837}\x{5838}' .
-'\x{5839}\x{583A}\x{583B}\x{583C}\x{583D}\x{583E}\x{583F}\x{5840}\x{5842}' .
-'\x{5843}\x{5844}\x{5845}\x{5846}\x{5847}\x{5848}\x{5849}\x{584A}\x{584B}' .
-'\x{584C}\x{584D}\x{584E}\x{584F}\x{5851}\x{5852}\x{5853}\x{5854}\x{5855}' .
-'\x{5857}\x{5858}\x{5859}\x{585A}\x{585B}\x{585C}\x{585D}\x{585E}\x{585F}' .
-'\x{5861}\x{5862}\x{5863}\x{5864}\x{5865}\x{5868}\x{5869}\x{586A}\x{586B}' .
-'\x{586C}\x{586D}\x{586E}\x{586F}\x{5870}\x{5871}\x{5872}\x{5873}\x{5874}' .
-'\x{5875}\x{5876}\x{5878}\x{5879}\x{587A}\x{587B}\x{587C}\x{587D}\x{587E}' .
-'\x{587F}\x{5880}\x{5881}\x{5882}\x{5883}\x{5884}\x{5885}\x{5886}\x{5887}' .
-'\x{5888}\x{5889}\x{588A}\x{588B}\x{588C}\x{588D}\x{588E}\x{588F}\x{5890}' .
-'\x{5891}\x{5892}\x{5893}\x{5894}\x{5896}\x{5897}\x{5898}\x{5899}\x{589A}' .
-'\x{589B}\x{589C}\x{589D}\x{589E}\x{589F}\x{58A0}\x{58A1}\x{58A2}\x{58A3}' .
-'\x{58A4}\x{58A5}\x{58A6}\x{58A7}\x{58A8}\x{58A9}\x{58AB}\x{58AC}\x{58AD}' .
-'\x{58AE}\x{58AF}\x{58B0}\x{58B1}\x{58B2}\x{58B3}\x{58B4}\x{58B7}\x{58B8}' .
-'\x{58B9}\x{58BA}\x{58BB}\x{58BC}\x{58BD}\x{58BE}\x{58BF}\x{58C1}\x{58C2}' .
-'\x{58C5}\x{58C6}\x{58C7}\x{58C8}\x{58C9}\x{58CA}\x{58CB}\x{58CE}\x{58CF}' .
-'\x{58D1}\x{58D2}\x{58D3}\x{58D4}\x{58D5}\x{58D6}\x{58D7}\x{58D8}\x{58D9}' .
-'\x{58DA}\x{58DB}\x{58DD}\x{58DE}\x{58DF}\x{58E0}\x{58E2}\x{58E3}\x{58E4}' .
-'\x{58E5}\x{58E7}\x{58E8}\x{58E9}\x{58EA}\x{58EB}\x{58EC}\x{58ED}\x{58EE}' .
-'\x{58EF}\x{58F0}\x{58F1}\x{58F2}\x{58F3}\x{58F4}\x{58F6}\x{58F7}\x{58F8}' .
-'\x{58F9}\x{58FA}\x{58FB}\x{58FC}\x{58FD}\x{58FE}\x{58FF}\x{5900}\x{5902}' .
-'\x{5903}\x{5904}\x{5906}\x{5907}\x{5909}\x{590A}\x{590B}\x{590C}\x{590D}' .
-'\x{590E}\x{590F}\x{5910}\x{5912}\x{5914}\x{5915}\x{5916}\x{5917}\x{5918}' .
-'\x{5919}\x{591A}\x{591B}\x{591C}\x{591D}\x{591E}\x{591F}\x{5920}\x{5921}' .
-'\x{5922}\x{5924}\x{5925}\x{5926}\x{5927}\x{5928}\x{5929}\x{592A}\x{592B}' .
-'\x{592C}\x{592D}\x{592E}\x{592F}\x{5930}\x{5931}\x{5932}\x{5934}\x{5935}' .
-'\x{5937}\x{5938}\x{5939}\x{593A}\x{593B}\x{593C}\x{593D}\x{593E}\x{593F}' .
-'\x{5940}\x{5941}\x{5942}\x{5943}\x{5944}\x{5945}\x{5946}\x{5947}\x{5948}' .
-'\x{5949}\x{594A}\x{594B}\x{594C}\x{594D}\x{594E}\x{594F}\x{5950}\x{5951}' .
-'\x{5952}\x{5953}\x{5954}\x{5955}\x{5956}\x{5957}\x{5958}\x{595A}\x{595C}' .
-'\x{595D}\x{595E}\x{595F}\x{5960}\x{5961}\x{5962}\x{5963}\x{5964}\x{5965}' .
-'\x{5966}\x{5967}\x{5968}\x{5969}\x{596A}\x{596B}\x{596C}\x{596D}\x{596E}' .
-'\x{596F}\x{5970}\x{5971}\x{5972}\x{5973}\x{5974}\x{5975}\x{5976}\x{5977}' .
-'\x{5978}\x{5979}\x{597A}\x{597B}\x{597C}\x{597D}\x{597E}\x{597F}\x{5980}' .
-'\x{5981}\x{5982}\x{5983}\x{5984}\x{5985}\x{5986}\x{5987}\x{5988}\x{5989}' .
-'\x{598A}\x{598B}\x{598C}\x{598D}\x{598E}\x{598F}\x{5990}\x{5991}\x{5992}' .
-'\x{5993}\x{5994}\x{5995}\x{5996}\x{5997}\x{5998}\x{5999}\x{599A}\x{599C}' .
-'\x{599D}\x{599E}\x{599F}\x{59A0}\x{59A1}\x{59A2}\x{59A3}\x{59A4}\x{59A5}' .
-'\x{59A6}\x{59A7}\x{59A8}\x{59A9}\x{59AA}\x{59AB}\x{59AC}\x{59AD}\x{59AE}' .
-'\x{59AF}\x{59B0}\x{59B1}\x{59B2}\x{59B3}\x{59B4}\x{59B5}\x{59B6}\x{59B8}' .
-'\x{59B9}\x{59BA}\x{59BB}\x{59BC}\x{59BD}\x{59BE}\x{59BF}\x{59C0}\x{59C1}' .
-'\x{59C2}\x{59C3}\x{59C4}\x{59C5}\x{59C6}\x{59C7}\x{59C8}\x{59C9}\x{59CA}' .
-'\x{59CB}\x{59CC}\x{59CD}\x{59CE}\x{59CF}\x{59D0}\x{59D1}\x{59D2}\x{59D3}' .
-'\x{59D4}\x{59D5}\x{59D6}\x{59D7}\x{59D8}\x{59D9}\x{59DA}\x{59DB}\x{59DC}' .
-'\x{59DD}\x{59DE}\x{59DF}\x{59E0}\x{59E1}\x{59E2}\x{59E3}\x{59E4}\x{59E5}' .
-'\x{59E6}\x{59E8}\x{59E9}\x{59EA}\x{59EB}\x{59EC}\x{59ED}\x{59EE}\x{59EF}' .
-'\x{59F0}\x{59F1}\x{59F2}\x{59F3}\x{59F4}\x{59F5}\x{59F6}\x{59F7}\x{59F8}' .
-'\x{59F9}\x{59FA}\x{59FB}\x{59FC}\x{59FD}\x{59FE}\x{59FF}\x{5A00}\x{5A01}' .
-'\x{5A02}\x{5A03}\x{5A04}\x{5A05}\x{5A06}\x{5A07}\x{5A08}\x{5A09}\x{5A0A}' .
-'\x{5A0B}\x{5A0C}\x{5A0D}\x{5A0E}\x{5A0F}\x{5A10}\x{5A11}\x{5A12}\x{5A13}' .
-'\x{5A14}\x{5A15}\x{5A16}\x{5A17}\x{5A18}\x{5A19}\x{5A1A}\x{5A1B}\x{5A1C}' .
-'\x{5A1D}\x{5A1E}\x{5A1F}\x{5A20}\x{5A21}\x{5A22}\x{5A23}\x{5A25}\x{5A27}' .
-'\x{5A28}\x{5A29}\x{5A2A}\x{5A2B}\x{5A2D}\x{5A2E}\x{5A2F}\x{5A31}\x{5A32}' .
-'\x{5A33}\x{5A34}\x{5A35}\x{5A36}\x{5A37}\x{5A38}\x{5A39}\x{5A3A}\x{5A3B}' .
-'\x{5A3C}\x{5A3D}\x{5A3E}\x{5A3F}\x{5A40}\x{5A41}\x{5A42}\x{5A43}\x{5A44}' .
-'\x{5A45}\x{5A46}\x{5A47}\x{5A48}\x{5A49}\x{5A4A}\x{5A4B}\x{5A4C}\x{5A4D}' .
-'\x{5A4E}\x{5A4F}\x{5A50}\x{5A51}\x{5A52}\x{5A53}\x{5A55}\x{5A56}\x{5A57}' .
-'\x{5A58}\x{5A5A}\x{5A5B}\x{5A5C}\x{5A5D}\x{5A5E}\x{5A5F}\x{5A60}\x{5A61}' .
-'\x{5A62}\x{5A63}\x{5A64}\x{5A65}\x{5A66}\x{5A67}\x{5A68}\x{5A69}\x{5A6A}' .
-'\x{5A6B}\x{5A6C}\x{5A6D}\x{5A6E}\x{5A70}\x{5A72}\x{5A73}\x{5A74}\x{5A75}' .
-'\x{5A76}\x{5A77}\x{5A78}\x{5A79}\x{5A7A}\x{5A7B}\x{5A7C}\x{5A7D}\x{5A7E}' .
-'\x{5A7F}\x{5A80}\x{5A81}\x{5A82}\x{5A83}\x{5A84}\x{5A85}\x{5A86}\x{5A88}' .
-'\x{5A89}\x{5A8A}\x{5A8B}\x{5A8C}\x{5A8E}\x{5A8F}\x{5A90}\x{5A91}\x{5A92}' .
-'\x{5A93}\x{5A94}\x{5A95}\x{5A96}\x{5A97}\x{5A98}\x{5A99}\x{5A9A}\x{5A9B}' .
-'\x{5A9C}\x{5A9D}\x{5A9E}\x{5A9F}\x{5AA0}\x{5AA1}\x{5AA2}\x{5AA3}\x{5AA4}' .
-'\x{5AA5}\x{5AA6}\x{5AA7}\x{5AA8}\x{5AA9}\x{5AAA}\x{5AAC}\x{5AAD}\x{5AAE}' .
-'\x{5AAF}\x{5AB0}\x{5AB1}\x{5AB2}\x{5AB3}\x{5AB4}\x{5AB5}\x{5AB6}\x{5AB7}' .
-'\x{5AB8}\x{5AB9}\x{5ABA}\x{5ABB}\x{5ABC}\x{5ABD}\x{5ABE}\x{5ABF}\x{5AC0}' .
-'\x{5AC1}\x{5AC2}\x{5AC3}\x{5AC4}\x{5AC5}\x{5AC6}\x{5AC7}\x{5AC8}\x{5AC9}' .
-'\x{5ACA}\x{5ACB}\x{5ACC}\x{5ACD}\x{5ACE}\x{5ACF}\x{5AD1}\x{5AD2}\x{5AD4}' .
-'\x{5AD5}\x{5AD6}\x{5AD7}\x{5AD8}\x{5AD9}\x{5ADA}\x{5ADB}\x{5ADC}\x{5ADD}' .
-'\x{5ADE}\x{5ADF}\x{5AE0}\x{5AE1}\x{5AE2}\x{5AE3}\x{5AE4}\x{5AE5}\x{5AE6}' .
-'\x{5AE7}\x{5AE8}\x{5AE9}\x{5AEA}\x{5AEB}\x{5AEC}\x{5AED}\x{5AEE}\x{5AF1}' .
-'\x{5AF2}\x{5AF3}\x{5AF4}\x{5AF5}\x{5AF6}\x{5AF7}\x{5AF8}\x{5AF9}\x{5AFA}' .
-'\x{5AFB}\x{5AFC}\x{5AFD}\x{5AFE}\x{5AFF}\x{5B00}\x{5B01}\x{5B02}\x{5B03}' .
-'\x{5B04}\x{5B05}\x{5B06}\x{5B07}\x{5B08}\x{5B09}\x{5B0B}\x{5B0C}\x{5B0E}' .
-'\x{5B0F}\x{5B10}\x{5B11}\x{5B12}\x{5B13}\x{5B14}\x{5B15}\x{5B16}\x{5B17}' .
-'\x{5B18}\x{5B19}\x{5B1A}\x{5B1B}\x{5B1C}\x{5B1D}\x{5B1E}\x{5B1F}\x{5B20}' .
-'\x{5B21}\x{5B22}\x{5B23}\x{5B24}\x{5B25}\x{5B26}\x{5B27}\x{5B28}\x{5B29}' .
-'\x{5B2A}\x{5B2B}\x{5B2C}\x{5B2D}\x{5B2E}\x{5B2F}\x{5B30}\x{5B31}\x{5B32}' .
-'\x{5B33}\x{5B34}\x{5B35}\x{5B36}\x{5B37}\x{5B38}\x{5B3A}\x{5B3B}\x{5B3C}' .
-'\x{5B3D}\x{5B3E}\x{5B3F}\x{5B40}\x{5B41}\x{5B42}\x{5B43}\x{5B44}\x{5B45}' .
-'\x{5B47}\x{5B48}\x{5B49}\x{5B4A}\x{5B4B}\x{5B4C}\x{5B4D}\x{5B4E}\x{5B50}' .
-'\x{5B51}\x{5B53}\x{5B54}\x{5B55}\x{5B56}\x{5B57}\x{5B58}\x{5B59}\x{5B5A}' .
-'\x{5B5B}\x{5B5C}\x{5B5D}\x{5B5E}\x{5B5F}\x{5B62}\x{5B63}\x{5B64}\x{5B65}' .
-'\x{5B66}\x{5B67}\x{5B68}\x{5B69}\x{5B6A}\x{5B6B}\x{5B6C}\x{5B6D}\x{5B6E}' .
-'\x{5B70}\x{5B71}\x{5B72}\x{5B73}\x{5B74}\x{5B75}\x{5B76}\x{5B77}\x{5B78}' .
-'\x{5B7A}\x{5B7B}\x{5B7C}\x{5B7D}\x{5B7F}\x{5B80}\x{5B81}\x{5B82}\x{5B83}' .
-'\x{5B84}\x{5B85}\x{5B87}\x{5B88}\x{5B89}\x{5B8A}\x{5B8B}\x{5B8C}\x{5B8D}' .
-'\x{5B8E}\x{5B8F}\x{5B91}\x{5B92}\x{5B93}\x{5B94}\x{5B95}\x{5B96}\x{5B97}' .
-'\x{5B98}\x{5B99}\x{5B9A}\x{5B9B}\x{5B9C}\x{5B9D}\x{5B9E}\x{5B9F}\x{5BA0}' .
-'\x{5BA1}\x{5BA2}\x{5BA3}\x{5BA4}\x{5BA5}\x{5BA6}\x{5BA7}\x{5BA8}\x{5BAA}' .
-'\x{5BAB}\x{5BAC}\x{5BAD}\x{5BAE}\x{5BAF}\x{5BB0}\x{5BB1}\x{5BB3}\x{5BB4}' .
-'\x{5BB5}\x{5BB6}\x{5BB8}\x{5BB9}\x{5BBA}\x{5BBB}\x{5BBD}\x{5BBE}\x{5BBF}' .
-'\x{5BC0}\x{5BC1}\x{5BC2}\x{5BC3}\x{5BC4}\x{5BC5}\x{5BC6}\x{5BC7}\x{5BCA}' .
-'\x{5BCB}\x{5BCC}\x{5BCD}\x{5BCE}\x{5BCF}\x{5BD0}\x{5BD1}\x{5BD2}\x{5BD3}' .
-'\x{5BD4}\x{5BD5}\x{5BD6}\x{5BD8}\x{5BD9}\x{5BDB}\x{5BDC}\x{5BDD}\x{5BDE}' .
-'\x{5BDF}\x{5BE0}\x{5BE1}\x{5BE2}\x{5BE3}\x{5BE4}\x{5BE5}\x{5BE6}\x{5BE7}' .
-'\x{5BE8}\x{5BE9}\x{5BEA}\x{5BEB}\x{5BEC}\x{5BED}\x{5BEE}\x{5BEF}\x{5BF0}' .
-'\x{5BF1}\x{5BF2}\x{5BF3}\x{5BF4}\x{5BF5}\x{5BF6}\x{5BF7}\x{5BF8}\x{5BF9}' .
-'\x{5BFA}\x{5BFB}\x{5BFC}\x{5BFD}\x{5BFF}\x{5C01}\x{5C03}\x{5C04}\x{5C05}' .
-'\x{5C06}\x{5C07}\x{5C08}\x{5C09}\x{5C0A}\x{5C0B}\x{5C0C}\x{5C0D}\x{5C0E}' .
-'\x{5C0F}\x{5C10}\x{5C11}\x{5C12}\x{5C13}\x{5C14}\x{5C15}\x{5C16}\x{5C17}' .
-'\x{5C18}\x{5C19}\x{5C1A}\x{5C1C}\x{5C1D}\x{5C1E}\x{5C1F}\x{5C20}\x{5C21}' .
-'\x{5C22}\x{5C24}\x{5C25}\x{5C27}\x{5C28}\x{5C2A}\x{5C2B}\x{5C2C}\x{5C2D}' .
-'\x{5C2E}\x{5C2F}\x{5C30}\x{5C31}\x{5C32}\x{5C33}\x{5C34}\x{5C35}\x{5C37}' .
-'\x{5C38}\x{5C39}\x{5C3A}\x{5C3B}\x{5C3C}\x{5C3D}\x{5C3E}\x{5C3F}\x{5C40}' .
-'\x{5C41}\x{5C42}\x{5C43}\x{5C44}\x{5C45}\x{5C46}\x{5C47}\x{5C48}\x{5C49}' .
-'\x{5C4A}\x{5C4B}\x{5C4C}\x{5C4D}\x{5C4E}\x{5C4F}\x{5C50}\x{5C51}\x{5C52}' .
-'\x{5C53}\x{5C54}\x{5C55}\x{5C56}\x{5C57}\x{5C58}\x{5C59}\x{5C5B}\x{5C5C}' .
-'\x{5C5D}\x{5C5E}\x{5C5F}\x{5C60}\x{5C61}\x{5C62}\x{5C63}\x{5C64}\x{5C65}' .
-'\x{5C66}\x{5C67}\x{5C68}\x{5C69}\x{5C6A}\x{5C6B}\x{5C6C}\x{5C6D}\x{5C6E}' .
-'\x{5C6F}\x{5C70}\x{5C71}\x{5C72}\x{5C73}\x{5C74}\x{5C75}\x{5C76}\x{5C77}' .
-'\x{5C78}\x{5C79}\x{5C7A}\x{5C7B}\x{5C7C}\x{5C7D}\x{5C7E}\x{5C7F}\x{5C80}' .
-'\x{5C81}\x{5C82}\x{5C83}\x{5C84}\x{5C86}\x{5C87}\x{5C88}\x{5C89}\x{5C8A}' .
-'\x{5C8B}\x{5C8C}\x{5C8D}\x{5C8E}\x{5C8F}\x{5C90}\x{5C91}\x{5C92}\x{5C93}' .
-'\x{5C94}\x{5C95}\x{5C96}\x{5C97}\x{5C98}\x{5C99}\x{5C9A}\x{5C9B}\x{5C9C}' .
-'\x{5C9D}\x{5C9E}\x{5C9F}\x{5CA0}\x{5CA1}\x{5CA2}\x{5CA3}\x{5CA4}\x{5CA5}' .
-'\x{5CA6}\x{5CA7}\x{5CA8}\x{5CA9}\x{5CAA}\x{5CAB}\x{5CAC}\x{5CAD}\x{5CAE}' .
-'\x{5CAF}\x{5CB0}\x{5CB1}\x{5CB2}\x{5CB3}\x{5CB5}\x{5CB6}\x{5CB7}\x{5CB8}' .
-'\x{5CBA}\x{5CBB}\x{5CBC}\x{5CBD}\x{5CBE}\x{5CBF}\x{5CC1}\x{5CC2}\x{5CC3}' .
-'\x{5CC4}\x{5CC5}\x{5CC6}\x{5CC7}\x{5CC8}\x{5CC9}\x{5CCA}\x{5CCB}\x{5CCC}' .
-'\x{5CCD}\x{5CCE}\x{5CCF}\x{5CD0}\x{5CD1}\x{5CD2}\x{5CD3}\x{5CD4}\x{5CD6}' .
-'\x{5CD7}\x{5CD8}\x{5CD9}\x{5CDA}\x{5CDB}\x{5CDC}\x{5CDE}\x{5CDF}\x{5CE0}' .
-'\x{5CE1}\x{5CE2}\x{5CE3}\x{5CE4}\x{5CE5}\x{5CE6}\x{5CE7}\x{5CE8}\x{5CE9}' .
-'\x{5CEA}\x{5CEB}\x{5CEC}\x{5CED}\x{5CEE}\x{5CEF}\x{5CF0}\x{5CF1}\x{5CF2}' .
-'\x{5CF3}\x{5CF4}\x{5CF6}\x{5CF7}\x{5CF8}\x{5CF9}\x{5CFA}\x{5CFB}\x{5CFC}' .
-'\x{5CFD}\x{5CFE}\x{5CFF}\x{5D00}\x{5D01}\x{5D02}\x{5D03}\x{5D04}\x{5D05}' .
-'\x{5D06}\x{5D07}\x{5D08}\x{5D09}\x{5D0A}\x{5D0B}\x{5D0C}\x{5D0D}\x{5D0E}' .
-'\x{5D0F}\x{5D10}\x{5D11}\x{5D12}\x{5D13}\x{5D14}\x{5D15}\x{5D16}\x{5D17}' .
-'\x{5D18}\x{5D19}\x{5D1A}\x{5D1B}\x{5D1C}\x{5D1D}\x{5D1E}\x{5D1F}\x{5D20}' .
-'\x{5D21}\x{5D22}\x{5D23}\x{5D24}\x{5D25}\x{5D26}\x{5D27}\x{5D28}\x{5D29}' .
-'\x{5D2A}\x{5D2C}\x{5D2D}\x{5D2E}\x{5D30}\x{5D31}\x{5D32}\x{5D33}\x{5D34}' .
-'\x{5D35}\x{5D36}\x{5D37}\x{5D38}\x{5D39}\x{5D3A}\x{5D3C}\x{5D3D}\x{5D3E}' .
-'\x{5D3F}\x{5D40}\x{5D41}\x{5D42}\x{5D43}\x{5D44}\x{5D45}\x{5D46}\x{5D47}' .
-'\x{5D48}\x{5D49}\x{5D4A}\x{5D4B}\x{5D4C}\x{5D4D}\x{5D4E}\x{5D4F}\x{5D50}' .
-'\x{5D51}\x{5D52}\x{5D54}\x{5D55}\x{5D56}\x{5D58}\x{5D59}\x{5D5A}\x{5D5B}' .
-'\x{5D5D}\x{5D5E}\x{5D5F}\x{5D61}\x{5D62}\x{5D63}\x{5D64}\x{5D65}\x{5D66}' .
-'\x{5D67}\x{5D68}\x{5D69}\x{5D6A}\x{5D6B}\x{5D6C}\x{5D6D}\x{5D6E}\x{5D6F}' .
-'\x{5D70}\x{5D71}\x{5D72}\x{5D73}\x{5D74}\x{5D75}\x{5D76}\x{5D77}\x{5D78}' .
-'\x{5D79}\x{5D7A}\x{5D7B}\x{5D7C}\x{5D7D}\x{5D7E}\x{5D7F}\x{5D80}\x{5D81}' .
-'\x{5D82}\x{5D84}\x{5D85}\x{5D86}\x{5D87}\x{5D88}\x{5D89}\x{5D8A}\x{5D8B}' .
-'\x{5D8C}\x{5D8D}\x{5D8E}\x{5D8F}\x{5D90}\x{5D91}\x{5D92}\x{5D93}\x{5D94}' .
-'\x{5D95}\x{5D97}\x{5D98}\x{5D99}\x{5D9A}\x{5D9B}\x{5D9C}\x{5D9D}\x{5D9E}' .
-'\x{5D9F}\x{5DA0}\x{5DA1}\x{5DA2}\x{5DA5}\x{5DA6}\x{5DA7}\x{5DA8}\x{5DA9}' .
-'\x{5DAA}\x{5DAC}\x{5DAD}\x{5DAE}\x{5DAF}\x{5DB0}\x{5DB1}\x{5DB2}\x{5DB4}' .
-'\x{5DB5}\x{5DB6}\x{5DB7}\x{5DB8}\x{5DBA}\x{5DBB}\x{5DBC}\x{5DBD}\x{5DBE}' .
-'\x{5DBF}\x{5DC0}\x{5DC1}\x{5DC2}\x{5DC3}\x{5DC5}\x{5DC6}\x{5DC7}\x{5DC8}' .
-'\x{5DC9}\x{5DCA}\x{5DCB}\x{5DCC}\x{5DCD}\x{5DCE}\x{5DCF}\x{5DD0}\x{5DD1}' .
-'\x{5DD2}\x{5DD3}\x{5DD4}\x{5DD5}\x{5DD6}\x{5DD8}\x{5DD9}\x{5DDB}\x{5DDD}' .
-'\x{5DDE}\x{5DDF}\x{5DE0}\x{5DE1}\x{5DE2}\x{5DE3}\x{5DE4}\x{5DE5}\x{5DE6}' .
-'\x{5DE7}\x{5DE8}\x{5DE9}\x{5DEA}\x{5DEB}\x{5DEC}\x{5DED}\x{5DEE}\x{5DEF}' .
-'\x{5DF0}\x{5DF1}\x{5DF2}\x{5DF3}\x{5DF4}\x{5DF5}\x{5DF7}\x{5DF8}\x{5DF9}' .
-'\x{5DFA}\x{5DFB}\x{5DFC}\x{5DFD}\x{5DFE}\x{5DFF}\x{5E00}\x{5E01}\x{5E02}' .
-'\x{5E03}\x{5E04}\x{5E05}\x{5E06}\x{5E07}\x{5E08}\x{5E09}\x{5E0A}\x{5E0B}' .
-'\x{5E0C}\x{5E0D}\x{5E0E}\x{5E0F}\x{5E10}\x{5E11}\x{5E13}\x{5E14}\x{5E15}' .
-'\x{5E16}\x{5E17}\x{5E18}\x{5E19}\x{5E1A}\x{5E1B}\x{5E1C}\x{5E1D}\x{5E1E}' .
-'\x{5E1F}\x{5E20}\x{5E21}\x{5E22}\x{5E23}\x{5E24}\x{5E25}\x{5E26}\x{5E27}' .
-'\x{5E28}\x{5E29}\x{5E2A}\x{5E2B}\x{5E2C}\x{5E2D}\x{5E2E}\x{5E2F}\x{5E30}' .
-'\x{5E31}\x{5E32}\x{5E33}\x{5E34}\x{5E35}\x{5E36}\x{5E37}\x{5E38}\x{5E39}' .
-'\x{5E3A}\x{5E3B}\x{5E3C}\x{5E3D}\x{5E3E}\x{5E40}\x{5E41}\x{5E42}\x{5E43}' .
-'\x{5E44}\x{5E45}\x{5E46}\x{5E47}\x{5E49}\x{5E4A}\x{5E4B}\x{5E4C}\x{5E4D}' .
-'\x{5E4E}\x{5E4F}\x{5E50}\x{5E52}\x{5E53}\x{5E54}\x{5E55}\x{5E56}\x{5E57}' .
-'\x{5E58}\x{5E59}\x{5E5A}\x{5E5B}\x{5E5C}\x{5E5D}\x{5E5E}\x{5E5F}\x{5E60}' .
-'\x{5E61}\x{5E62}\x{5E63}\x{5E64}\x{5E65}\x{5E66}\x{5E67}\x{5E68}\x{5E69}' .
-'\x{5E6A}\x{5E6B}\x{5E6C}\x{5E6D}\x{5E6E}\x{5E6F}\x{5E70}\x{5E71}\x{5E72}' .
-'\x{5E73}\x{5E74}\x{5E75}\x{5E76}\x{5E77}\x{5E78}\x{5E79}\x{5E7A}\x{5E7B}' .
-'\x{5E7C}\x{5E7D}\x{5E7E}\x{5E7F}\x{5E80}\x{5E81}\x{5E82}\x{5E83}\x{5E84}' .
-'\x{5E85}\x{5E86}\x{5E87}\x{5E88}\x{5E89}\x{5E8A}\x{5E8B}\x{5E8C}\x{5E8D}' .
-'\x{5E8E}\x{5E8F}\x{5E90}\x{5E91}\x{5E93}\x{5E94}\x{5E95}\x{5E96}\x{5E97}' .
-'\x{5E98}\x{5E99}\x{5E9A}\x{5E9B}\x{5E9C}\x{5E9D}\x{5E9E}\x{5E9F}\x{5EA0}' .
-'\x{5EA1}\x{5EA2}\x{5EA3}\x{5EA4}\x{5EA5}\x{5EA6}\x{5EA7}\x{5EA8}\x{5EA9}' .
-'\x{5EAA}\x{5EAB}\x{5EAC}\x{5EAD}\x{5EAE}\x{5EAF}\x{5EB0}\x{5EB1}\x{5EB2}' .
-'\x{5EB3}\x{5EB4}\x{5EB5}\x{5EB6}\x{5EB7}\x{5EB8}\x{5EB9}\x{5EBB}\x{5EBC}' .
-'\x{5EBD}\x{5EBE}\x{5EBF}\x{5EC1}\x{5EC2}\x{5EC3}\x{5EC4}\x{5EC5}\x{5EC6}' .
-'\x{5EC7}\x{5EC8}\x{5EC9}\x{5ECA}\x{5ECB}\x{5ECC}\x{5ECD}\x{5ECE}\x{5ECF}' .
-'\x{5ED0}\x{5ED1}\x{5ED2}\x{5ED3}\x{5ED4}\x{5ED5}\x{5ED6}\x{5ED7}\x{5ED8}' .
-'\x{5ED9}\x{5EDA}\x{5EDB}\x{5EDC}\x{5EDD}\x{5EDE}\x{5EDF}\x{5EE0}\x{5EE1}' .
-'\x{5EE2}\x{5EE3}\x{5EE4}\x{5EE5}\x{5EE6}\x{5EE7}\x{5EE8}\x{5EE9}\x{5EEA}' .
-'\x{5EEC}\x{5EED}\x{5EEE}\x{5EEF}\x{5EF0}\x{5EF1}\x{5EF2}\x{5EF3}\x{5EF4}' .
-'\x{5EF5}\x{5EF6}\x{5EF7}\x{5EF8}\x{5EFA}\x{5EFB}\x{5EFC}\x{5EFD}\x{5EFE}' .
-'\x{5EFF}\x{5F00}\x{5F01}\x{5F02}\x{5F03}\x{5F04}\x{5F05}\x{5F06}\x{5F07}' .
-'\x{5F08}\x{5F0A}\x{5F0B}\x{5F0C}\x{5F0D}\x{5F0F}\x{5F11}\x{5F12}\x{5F13}' .
-'\x{5F14}\x{5F15}\x{5F16}\x{5F17}\x{5F18}\x{5F19}\x{5F1A}\x{5F1B}\x{5F1C}' .
-'\x{5F1D}\x{5F1E}\x{5F1F}\x{5F20}\x{5F21}\x{5F22}\x{5F23}\x{5F24}\x{5F25}' .
-'\x{5F26}\x{5F27}\x{5F28}\x{5F29}\x{5F2A}\x{5F2B}\x{5F2C}\x{5F2D}\x{5F2E}' .
-'\x{5F2F}\x{5F30}\x{5F31}\x{5F32}\x{5F33}\x{5F34}\x{5F35}\x{5F36}\x{5F37}' .
-'\x{5F38}\x{5F39}\x{5F3A}\x{5F3C}\x{5F3E}\x{5F3F}\x{5F40}\x{5F41}\x{5F42}' .
-'\x{5F43}\x{5F44}\x{5F45}\x{5F46}\x{5F47}\x{5F48}\x{5F49}\x{5F4A}\x{5F4B}' .
-'\x{5F4C}\x{5F4D}\x{5F4E}\x{5F4F}\x{5F50}\x{5F51}\x{5F52}\x{5F53}\x{5F54}' .
-'\x{5F55}\x{5F56}\x{5F57}\x{5F58}\x{5F59}\x{5F5A}\x{5F5B}\x{5F5C}\x{5F5D}' .
-'\x{5F5E}\x{5F5F}\x{5F60}\x{5F61}\x{5F62}\x{5F63}\x{5F64}\x{5F65}\x{5F66}' .
-'\x{5F67}\x{5F68}\x{5F69}\x{5F6A}\x{5F6B}\x{5F6C}\x{5F6D}\x{5F6E}\x{5F6F}' .
-'\x{5F70}\x{5F71}\x{5F72}\x{5F73}\x{5F74}\x{5F75}\x{5F76}\x{5F77}\x{5F78}' .
-'\x{5F79}\x{5F7A}\x{5F7B}\x{5F7C}\x{5F7D}\x{5F7E}\x{5F7F}\x{5F80}\x{5F81}' .
-'\x{5F82}\x{5F83}\x{5F84}\x{5F85}\x{5F86}\x{5F87}\x{5F88}\x{5F89}\x{5F8A}' .
-'\x{5F8B}\x{5F8C}\x{5F8D}\x{5F8E}\x{5F90}\x{5F91}\x{5F92}\x{5F93}\x{5F94}' .
-'\x{5F95}\x{5F96}\x{5F97}\x{5F98}\x{5F99}\x{5F9B}\x{5F9C}\x{5F9D}\x{5F9E}' .
-'\x{5F9F}\x{5FA0}\x{5FA1}\x{5FA2}\x{5FA5}\x{5FA6}\x{5FA7}\x{5FA8}\x{5FA9}' .
-'\x{5FAA}\x{5FAB}\x{5FAC}\x{5FAD}\x{5FAE}\x{5FAF}\x{5FB1}\x{5FB2}\x{5FB3}' .
-'\x{5FB4}\x{5FB5}\x{5FB6}\x{5FB7}\x{5FB8}\x{5FB9}\x{5FBA}\x{5FBB}\x{5FBC}' .
-'\x{5FBD}\x{5FBE}\x{5FBF}\x{5FC0}\x{5FC1}\x{5FC3}\x{5FC4}\x{5FC5}\x{5FC6}' .
-'\x{5FC7}\x{5FC8}\x{5FC9}\x{5FCA}\x{5FCB}\x{5FCC}\x{5FCD}\x{5FCF}\x{5FD0}' .
-'\x{5FD1}\x{5FD2}\x{5FD3}\x{5FD4}\x{5FD5}\x{5FD6}\x{5FD7}\x{5FD8}\x{5FD9}' .
-'\x{5FDA}\x{5FDC}\x{5FDD}\x{5FDE}\x{5FE0}\x{5FE1}\x{5FE3}\x{5FE4}\x{5FE5}' .
-'\x{5FE6}\x{5FE7}\x{5FE8}\x{5FE9}\x{5FEA}\x{5FEB}\x{5FED}\x{5FEE}\x{5FEF}' .
-'\x{5FF0}\x{5FF1}\x{5FF2}\x{5FF3}\x{5FF4}\x{5FF5}\x{5FF6}\x{5FF7}\x{5FF8}' .
-'\x{5FF9}\x{5FFA}\x{5FFB}\x{5FFD}\x{5FFE}\x{5FFF}\x{6000}\x{6001}\x{6002}' .
-'\x{6003}\x{6004}\x{6005}\x{6006}\x{6007}\x{6008}\x{6009}\x{600A}\x{600B}' .
-'\x{600C}\x{600D}\x{600E}\x{600F}\x{6010}\x{6011}\x{6012}\x{6013}\x{6014}' .
-'\x{6015}\x{6016}\x{6017}\x{6018}\x{6019}\x{601A}\x{601B}\x{601C}\x{601D}' .
-'\x{601E}\x{601F}\x{6020}\x{6021}\x{6022}\x{6024}\x{6025}\x{6026}\x{6027}' .
-'\x{6028}\x{6029}\x{602A}\x{602B}\x{602C}\x{602D}\x{602E}\x{602F}\x{6030}' .
-'\x{6031}\x{6032}\x{6033}\x{6034}\x{6035}\x{6036}\x{6037}\x{6038}\x{6039}' .
-'\x{603A}\x{603B}\x{603C}\x{603D}\x{603E}\x{603F}\x{6040}\x{6041}\x{6042}' .
-'\x{6043}\x{6044}\x{6045}\x{6046}\x{6047}\x{6048}\x{6049}\x{604A}\x{604B}' .
-'\x{604C}\x{604D}\x{604E}\x{604F}\x{6050}\x{6051}\x{6052}\x{6053}\x{6054}' .
-'\x{6055}\x{6057}\x{6058}\x{6059}\x{605A}\x{605B}\x{605C}\x{605D}\x{605E}' .
-'\x{605F}\x{6062}\x{6063}\x{6064}\x{6065}\x{6066}\x{6067}\x{6068}\x{6069}' .
-'\x{606A}\x{606B}\x{606C}\x{606D}\x{606E}\x{606F}\x{6070}\x{6072}\x{6073}' .
-'\x{6075}\x{6076}\x{6077}\x{6078}\x{6079}\x{607A}\x{607B}\x{607C}\x{607D}' .
-'\x{607E}\x{607F}\x{6080}\x{6081}\x{6082}\x{6083}\x{6084}\x{6085}\x{6086}' .
-'\x{6087}\x{6088}\x{6089}\x{608A}\x{608B}\x{608C}\x{608D}\x{608E}\x{608F}' .
-'\x{6090}\x{6092}\x{6094}\x{6095}\x{6096}\x{6097}\x{6098}\x{6099}\x{609A}' .
-'\x{609B}\x{609C}\x{609D}\x{609E}\x{609F}\x{60A0}\x{60A1}\x{60A2}\x{60A3}' .
-'\x{60A4}\x{60A6}\x{60A7}\x{60A8}\x{60AA}\x{60AB}\x{60AC}\x{60AD}\x{60AE}' .
-'\x{60AF}\x{60B0}\x{60B1}\x{60B2}\x{60B3}\x{60B4}\x{60B5}\x{60B6}\x{60B7}' .
-'\x{60B8}\x{60B9}\x{60BA}\x{60BB}\x{60BC}\x{60BD}\x{60BE}\x{60BF}\x{60C0}' .
-'\x{60C1}\x{60C2}\x{60C3}\x{60C4}\x{60C5}\x{60C6}\x{60C7}\x{60C8}\x{60C9}' .
-'\x{60CA}\x{60CB}\x{60CC}\x{60CD}\x{60CE}\x{60CF}\x{60D0}\x{60D1}\x{60D3}' .
-'\x{60D4}\x{60D5}\x{60D7}\x{60D8}\x{60D9}\x{60DA}\x{60DB}\x{60DC}\x{60DD}' .
-'\x{60DF}\x{60E0}\x{60E1}\x{60E2}\x{60E4}\x{60E6}\x{60E7}\x{60E8}\x{60E9}' .
-'\x{60EA}\x{60EB}\x{60EC}\x{60ED}\x{60EE}\x{60EF}\x{60F0}\x{60F1}\x{60F2}' .
-'\x{60F3}\x{60F4}\x{60F5}\x{60F6}\x{60F7}\x{60F8}\x{60F9}\x{60FA}\x{60FB}' .
-'\x{60FC}\x{60FE}\x{60FF}\x{6100}\x{6101}\x{6103}\x{6104}\x{6105}\x{6106}' .
-'\x{6108}\x{6109}\x{610A}\x{610B}\x{610C}\x{610D}\x{610E}\x{610F}\x{6110}' .
-'\x{6112}\x{6113}\x{6114}\x{6115}\x{6116}\x{6117}\x{6118}\x{6119}\x{611A}' .
-'\x{611B}\x{611C}\x{611D}\x{611F}\x{6120}\x{6122}\x{6123}\x{6124}\x{6125}' .
-'\x{6126}\x{6127}\x{6128}\x{6129}\x{612A}\x{612B}\x{612C}\x{612D}\x{612E}' .
-'\x{612F}\x{6130}\x{6132}\x{6134}\x{6136}\x{6137}\x{613A}\x{613B}\x{613C}' .
-'\x{613D}\x{613E}\x{613F}\x{6140}\x{6141}\x{6142}\x{6143}\x{6144}\x{6145}' .
-'\x{6146}\x{6147}\x{6148}\x{6149}\x{614A}\x{614B}\x{614C}\x{614D}\x{614E}' .
-'\x{614F}\x{6150}\x{6151}\x{6152}\x{6153}\x{6154}\x{6155}\x{6156}\x{6157}' .
-'\x{6158}\x{6159}\x{615A}\x{615B}\x{615C}\x{615D}\x{615E}\x{615F}\x{6161}' .
-'\x{6162}\x{6163}\x{6164}\x{6165}\x{6166}\x{6167}\x{6168}\x{6169}\x{616A}' .
-'\x{616B}\x{616C}\x{616D}\x{616E}\x{6170}\x{6171}\x{6172}\x{6173}\x{6174}' .
-'\x{6175}\x{6176}\x{6177}\x{6178}\x{6179}\x{617A}\x{617C}\x{617E}\x{6180}' .
-'\x{6181}\x{6182}\x{6183}\x{6184}\x{6185}\x{6187}\x{6188}\x{6189}\x{618A}' .
-'\x{618B}\x{618C}\x{618D}\x{618E}\x{618F}\x{6190}\x{6191}\x{6192}\x{6193}' .
-'\x{6194}\x{6195}\x{6196}\x{6198}\x{6199}\x{619A}\x{619B}\x{619D}\x{619E}' .
-'\x{619F}\x{61A0}\x{61A1}\x{61A2}\x{61A3}\x{61A4}\x{61A5}\x{61A6}\x{61A7}' .
-'\x{61A8}\x{61A9}\x{61AA}\x{61AB}\x{61AC}\x{61AD}\x{61AE}\x{61AF}\x{61B0}' .
-'\x{61B1}\x{61B2}\x{61B3}\x{61B4}\x{61B5}\x{61B6}\x{61B7}\x{61B8}\x{61BA}' .
-'\x{61BC}\x{61BD}\x{61BE}\x{61BF}\x{61C0}\x{61C1}\x{61C2}\x{61C3}\x{61C4}' .
-'\x{61C5}\x{61C6}\x{61C7}\x{61C8}\x{61C9}\x{61CA}\x{61CB}\x{61CC}\x{61CD}' .
-'\x{61CE}\x{61CF}\x{61D0}\x{61D1}\x{61D2}\x{61D4}\x{61D6}\x{61D7}\x{61D8}' .
-'\x{61D9}\x{61DA}\x{61DB}\x{61DC}\x{61DD}\x{61DE}\x{61DF}\x{61E0}\x{61E1}' .
-'\x{61E2}\x{61E3}\x{61E4}\x{61E5}\x{61E6}\x{61E7}\x{61E8}\x{61E9}\x{61EA}' .
-'\x{61EB}\x{61ED}\x{61EE}\x{61F0}\x{61F1}\x{61F2}\x{61F3}\x{61F5}\x{61F6}' .
-'\x{61F7}\x{61F8}\x{61F9}\x{61FA}\x{61FB}\x{61FC}\x{61FD}\x{61FE}\x{61FF}' .
-'\x{6200}\x{6201}\x{6202}\x{6203}\x{6204}\x{6206}\x{6207}\x{6208}\x{6209}' .
-'\x{620A}\x{620B}\x{620C}\x{620D}\x{620E}\x{620F}\x{6210}\x{6211}\x{6212}' .
-'\x{6213}\x{6214}\x{6215}\x{6216}\x{6217}\x{6218}\x{6219}\x{621A}\x{621B}' .
-'\x{621C}\x{621D}\x{621E}\x{621F}\x{6220}\x{6221}\x{6222}\x{6223}\x{6224}' .
-'\x{6225}\x{6226}\x{6227}\x{6228}\x{6229}\x{622A}\x{622B}\x{622C}\x{622D}' .
-'\x{622E}\x{622F}\x{6230}\x{6231}\x{6232}\x{6233}\x{6234}\x{6236}\x{6237}' .
-'\x{6238}\x{623A}\x{623B}\x{623C}\x{623D}\x{623E}\x{623F}\x{6240}\x{6241}' .
-'\x{6242}\x{6243}\x{6244}\x{6245}\x{6246}\x{6247}\x{6248}\x{6249}\x{624A}' .
-'\x{624B}\x{624C}\x{624D}\x{624E}\x{624F}\x{6250}\x{6251}\x{6252}\x{6253}' .
-'\x{6254}\x{6255}\x{6256}\x{6258}\x{6259}\x{625A}\x{625B}\x{625C}\x{625D}' .
-'\x{625E}\x{625F}\x{6260}\x{6261}\x{6262}\x{6263}\x{6264}\x{6265}\x{6266}' .
-'\x{6267}\x{6268}\x{6269}\x{626A}\x{626B}\x{626C}\x{626D}\x{626E}\x{626F}' .
-'\x{6270}\x{6271}\x{6272}\x{6273}\x{6274}\x{6275}\x{6276}\x{6277}\x{6278}' .
-'\x{6279}\x{627A}\x{627B}\x{627C}\x{627D}\x{627E}\x{627F}\x{6280}\x{6281}' .
-'\x{6283}\x{6284}\x{6285}\x{6286}\x{6287}\x{6288}\x{6289}\x{628A}\x{628B}' .
-'\x{628C}\x{628E}\x{628F}\x{6290}\x{6291}\x{6292}\x{6293}\x{6294}\x{6295}' .
-'\x{6296}\x{6297}\x{6298}\x{6299}\x{629A}\x{629B}\x{629C}\x{629E}\x{629F}' .
-'\x{62A0}\x{62A1}\x{62A2}\x{62A3}\x{62A4}\x{62A5}\x{62A7}\x{62A8}\x{62A9}' .
-'\x{62AA}\x{62AB}\x{62AC}\x{62AD}\x{62AE}\x{62AF}\x{62B0}\x{62B1}\x{62B2}' .
-'\x{62B3}\x{62B4}\x{62B5}\x{62B6}\x{62B7}\x{62B8}\x{62B9}\x{62BA}\x{62BB}' .
-'\x{62BC}\x{62BD}\x{62BE}\x{62BF}\x{62C0}\x{62C1}\x{62C2}\x{62C3}\x{62C4}' .
-'\x{62C5}\x{62C6}\x{62C7}\x{62C8}\x{62C9}\x{62CA}\x{62CB}\x{62CC}\x{62CD}' .
-'\x{62CE}\x{62CF}\x{62D0}\x{62D1}\x{62D2}\x{62D3}\x{62D4}\x{62D5}\x{62D6}' .
-'\x{62D7}\x{62D8}\x{62D9}\x{62DA}\x{62DB}\x{62DC}\x{62DD}\x{62DF}\x{62E0}' .
-'\x{62E1}\x{62E2}\x{62E3}\x{62E4}\x{62E5}\x{62E6}\x{62E7}\x{62E8}\x{62E9}' .
-'\x{62EB}\x{62EC}\x{62ED}\x{62EE}\x{62EF}\x{62F0}\x{62F1}\x{62F2}\x{62F3}' .
-'\x{62F4}\x{62F5}\x{62F6}\x{62F7}\x{62F8}\x{62F9}\x{62FA}\x{62FB}\x{62FC}' .
-'\x{62FD}\x{62FE}\x{62FF}\x{6300}\x{6301}\x{6302}\x{6303}\x{6304}\x{6305}' .
-'\x{6306}\x{6307}\x{6308}\x{6309}\x{630B}\x{630C}\x{630D}\x{630E}\x{630F}' .
-'\x{6310}\x{6311}\x{6312}\x{6313}\x{6314}\x{6315}\x{6316}\x{6318}\x{6319}' .
-'\x{631A}\x{631B}\x{631C}\x{631D}\x{631E}\x{631F}\x{6320}\x{6321}\x{6322}' .
-'\x{6323}\x{6324}\x{6325}\x{6326}\x{6327}\x{6328}\x{6329}\x{632A}\x{632B}' .
-'\x{632C}\x{632D}\x{632E}\x{632F}\x{6330}\x{6332}\x{6333}\x{6334}\x{6336}' .
-'\x{6338}\x{6339}\x{633A}\x{633B}\x{633C}\x{633D}\x{633E}\x{6340}\x{6341}' .
-'\x{6342}\x{6343}\x{6344}\x{6345}\x{6346}\x{6347}\x{6348}\x{6349}\x{634A}' .
-'\x{634B}\x{634C}\x{634D}\x{634E}\x{634F}\x{6350}\x{6351}\x{6352}\x{6353}' .
-'\x{6354}\x{6355}\x{6356}\x{6357}\x{6358}\x{6359}\x{635A}\x{635C}\x{635D}' .
-'\x{635E}\x{635F}\x{6360}\x{6361}\x{6362}\x{6363}\x{6364}\x{6365}\x{6366}' .
-'\x{6367}\x{6368}\x{6369}\x{636A}\x{636B}\x{636C}\x{636D}\x{636E}\x{636F}' .
-'\x{6370}\x{6371}\x{6372}\x{6373}\x{6374}\x{6375}\x{6376}\x{6377}\x{6378}' .
-'\x{6379}\x{637A}\x{637B}\x{637C}\x{637D}\x{637E}\x{6380}\x{6381}\x{6382}' .
-'\x{6383}\x{6384}\x{6385}\x{6386}\x{6387}\x{6388}\x{6389}\x{638A}\x{638C}' .
-'\x{638D}\x{638E}\x{638F}\x{6390}\x{6391}\x{6392}\x{6394}\x{6395}\x{6396}' .
-'\x{6397}\x{6398}\x{6399}\x{639A}\x{639B}\x{639C}\x{639D}\x{639E}\x{639F}' .
-'\x{63A0}\x{63A1}\x{63A2}\x{63A3}\x{63A4}\x{63A5}\x{63A6}\x{63A7}\x{63A8}' .
-'\x{63A9}\x{63AA}\x{63AB}\x{63AC}\x{63AD}\x{63AE}\x{63AF}\x{63B0}\x{63B1}' .
-'\x{63B2}\x{63B3}\x{63B4}\x{63B5}\x{63B6}\x{63B7}\x{63B8}\x{63B9}\x{63BA}' .
-'\x{63BC}\x{63BD}\x{63BE}\x{63BF}\x{63C0}\x{63C1}\x{63C2}\x{63C3}\x{63C4}' .
-'\x{63C5}\x{63C6}\x{63C7}\x{63C8}\x{63C9}\x{63CA}\x{63CB}\x{63CC}\x{63CD}' .
-'\x{63CE}\x{63CF}\x{63D0}\x{63D2}\x{63D3}\x{63D4}\x{63D5}\x{63D6}\x{63D7}' .
-'\x{63D8}\x{63D9}\x{63DA}\x{63DB}\x{63DC}\x{63DD}\x{63DE}\x{63DF}\x{63E0}' .
-'\x{63E1}\x{63E2}\x{63E3}\x{63E4}\x{63E5}\x{63E6}\x{63E7}\x{63E8}\x{63E9}' .
-'\x{63EA}\x{63EB}\x{63EC}\x{63ED}\x{63EE}\x{63EF}\x{63F0}\x{63F1}\x{63F2}' .
-'\x{63F3}\x{63F4}\x{63F5}\x{63F6}\x{63F7}\x{63F8}\x{63F9}\x{63FA}\x{63FB}' .
-'\x{63FC}\x{63FD}\x{63FE}\x{63FF}\x{6400}\x{6401}\x{6402}\x{6403}\x{6404}' .
-'\x{6405}\x{6406}\x{6408}\x{6409}\x{640A}\x{640B}\x{640C}\x{640D}\x{640E}' .
-'\x{640F}\x{6410}\x{6411}\x{6412}\x{6413}\x{6414}\x{6415}\x{6416}\x{6417}' .
-'\x{6418}\x{6419}\x{641A}\x{641B}\x{641C}\x{641D}\x{641E}\x{641F}\x{6420}' .
-'\x{6421}\x{6422}\x{6423}\x{6424}\x{6425}\x{6426}\x{6427}\x{6428}\x{6429}' .
-'\x{642A}\x{642B}\x{642C}\x{642D}\x{642E}\x{642F}\x{6430}\x{6431}\x{6432}' .
-'\x{6433}\x{6434}\x{6435}\x{6436}\x{6437}\x{6438}\x{6439}\x{643A}\x{643D}' .
-'\x{643E}\x{643F}\x{6440}\x{6441}\x{6443}\x{6444}\x{6445}\x{6446}\x{6447}' .
-'\x{6448}\x{644A}\x{644B}\x{644C}\x{644D}\x{644E}\x{644F}\x{6450}\x{6451}' .
-'\x{6452}\x{6453}\x{6454}\x{6455}\x{6456}\x{6457}\x{6458}\x{6459}\x{645B}' .
-'\x{645C}\x{645D}\x{645E}\x{645F}\x{6460}\x{6461}\x{6462}\x{6463}\x{6464}' .
-'\x{6465}\x{6466}\x{6467}\x{6468}\x{6469}\x{646A}\x{646B}\x{646C}\x{646D}' .
-'\x{646E}\x{646F}\x{6470}\x{6471}\x{6472}\x{6473}\x{6474}\x{6475}\x{6476}' .
-'\x{6477}\x{6478}\x{6479}\x{647A}\x{647B}\x{647C}\x{647D}\x{647F}\x{6480}' .
-'\x{6481}\x{6482}\x{6483}\x{6484}\x{6485}\x{6487}\x{6488}\x{6489}\x{648A}' .
-'\x{648B}\x{648C}\x{648D}\x{648E}\x{648F}\x{6490}\x{6491}\x{6492}\x{6493}' .
-'\x{6494}\x{6495}\x{6496}\x{6497}\x{6498}\x{6499}\x{649A}\x{649B}\x{649C}' .
-'\x{649D}\x{649E}\x{649F}\x{64A0}\x{64A2}\x{64A3}\x{64A4}\x{64A5}\x{64A6}' .
-'\x{64A7}\x{64A8}\x{64A9}\x{64AA}\x{64AB}\x{64AC}\x{64AD}\x{64AE}\x{64B0}' .
-'\x{64B1}\x{64B2}\x{64B3}\x{64B4}\x{64B5}\x{64B7}\x{64B8}\x{64B9}\x{64BA}' .
-'\x{64BB}\x{64BC}\x{64BD}\x{64BE}\x{64BF}\x{64C0}\x{64C1}\x{64C2}\x{64C3}' .
-'\x{64C4}\x{64C5}\x{64C6}\x{64C7}\x{64C9}\x{64CA}\x{64CB}\x{64CC}\x{64CD}' .
-'\x{64CE}\x{64CF}\x{64D0}\x{64D1}\x{64D2}\x{64D3}\x{64D4}\x{64D6}\x{64D7}' .
-'\x{64D8}\x{64D9}\x{64DA}\x{64DB}\x{64DC}\x{64DD}\x{64DE}\x{64DF}\x{64E0}' .
-'\x{64E2}\x{64E3}\x{64E4}\x{64E6}\x{64E7}\x{64E8}\x{64E9}\x{64EA}\x{64EB}' .
-'\x{64EC}\x{64ED}\x{64EF}\x{64F0}\x{64F1}\x{64F2}\x{64F3}\x{64F4}\x{64F6}' .
-'\x{64F7}\x{64F8}\x{64FA}\x{64FB}\x{64FC}\x{64FD}\x{64FE}\x{64FF}\x{6500}' .
-'\x{6501}\x{6503}\x{6504}\x{6505}\x{6506}\x{6507}\x{6508}\x{6509}\x{650B}' .
-'\x{650C}\x{650D}\x{650E}\x{650F}\x{6510}\x{6511}\x{6512}\x{6513}\x{6514}' .
-'\x{6515}\x{6516}\x{6517}\x{6518}\x{6519}\x{651A}\x{651B}\x{651C}\x{651D}' .
-'\x{651E}\x{6520}\x{6521}\x{6522}\x{6523}\x{6524}\x{6525}\x{6526}\x{6527}' .
-'\x{6529}\x{652A}\x{652B}\x{652C}\x{652D}\x{652E}\x{652F}\x{6530}\x{6531}' .
-'\x{6532}\x{6533}\x{6534}\x{6535}\x{6536}\x{6537}\x{6538}\x{6539}\x{653A}' .
-'\x{653B}\x{653C}\x{653D}\x{653E}\x{653F}\x{6541}\x{6543}\x{6544}\x{6545}' .
-'\x{6546}\x{6547}\x{6548}\x{6549}\x{654A}\x{654B}\x{654C}\x{654D}\x{654E}' .
-'\x{654F}\x{6550}\x{6551}\x{6552}\x{6553}\x{6554}\x{6555}\x{6556}\x{6557}' .
-'\x{6558}\x{6559}\x{655B}\x{655C}\x{655D}\x{655E}\x{6560}\x{6561}\x{6562}' .
-'\x{6563}\x{6564}\x{6565}\x{6566}\x{6567}\x{6568}\x{6569}\x{656A}\x{656B}' .
-'\x{656C}\x{656E}\x{656F}\x{6570}\x{6571}\x{6572}\x{6573}\x{6574}\x{6575}' .
-'\x{6576}\x{6577}\x{6578}\x{6579}\x{657A}\x{657B}\x{657C}\x{657E}\x{657F}' .
-'\x{6580}\x{6581}\x{6582}\x{6583}\x{6584}\x{6585}\x{6586}\x{6587}\x{6588}' .
-'\x{6589}\x{658B}\x{658C}\x{658D}\x{658E}\x{658F}\x{6590}\x{6591}\x{6592}' .
-'\x{6593}\x{6594}\x{6595}\x{6596}\x{6597}\x{6598}\x{6599}\x{659B}\x{659C}' .
-'\x{659D}\x{659E}\x{659F}\x{65A0}\x{65A1}\x{65A2}\x{65A3}\x{65A4}\x{65A5}' .
-'\x{65A6}\x{65A7}\x{65A8}\x{65A9}\x{65AA}\x{65AB}\x{65AC}\x{65AD}\x{65AE}' .
-'\x{65AF}\x{65B0}\x{65B1}\x{65B2}\x{65B3}\x{65B4}\x{65B6}\x{65B7}\x{65B8}' .
-'\x{65B9}\x{65BA}\x{65BB}\x{65BC}\x{65BD}\x{65BF}\x{65C0}\x{65C1}\x{65C2}' .
-'\x{65C3}\x{65C4}\x{65C5}\x{65C6}\x{65C7}\x{65CA}\x{65CB}\x{65CC}\x{65CD}' .
-'\x{65CE}\x{65CF}\x{65D0}\x{65D2}\x{65D3}\x{65D4}\x{65D5}\x{65D6}\x{65D7}' .
-'\x{65DA}\x{65DB}\x{65DD}\x{65DE}\x{65DF}\x{65E0}\x{65E1}\x{65E2}\x{65E3}' .
-'\x{65E5}\x{65E6}\x{65E7}\x{65E8}\x{65E9}\x{65EB}\x{65EC}\x{65ED}\x{65EE}' .
-'\x{65EF}\x{65F0}\x{65F1}\x{65F2}\x{65F3}\x{65F4}\x{65F5}\x{65F6}\x{65F7}' .
-'\x{65F8}\x{65FA}\x{65FB}\x{65FC}\x{65FD}\x{6600}\x{6601}\x{6602}\x{6603}' .
-'\x{6604}\x{6605}\x{6606}\x{6607}\x{6608}\x{6609}\x{660A}\x{660B}\x{660C}' .
-'\x{660D}\x{660E}\x{660F}\x{6610}\x{6611}\x{6612}\x{6613}\x{6614}\x{6615}' .
-'\x{6616}\x{6618}\x{6619}\x{661A}\x{661B}\x{661C}\x{661D}\x{661F}\x{6620}' .
-'\x{6621}\x{6622}\x{6623}\x{6624}\x{6625}\x{6626}\x{6627}\x{6628}\x{6629}' .
-'\x{662A}\x{662B}\x{662D}\x{662E}\x{662F}\x{6630}\x{6631}\x{6632}\x{6633}' .
-'\x{6634}\x{6635}\x{6636}\x{6639}\x{663A}\x{663C}\x{663D}\x{663E}\x{6640}' .
-'\x{6641}\x{6642}\x{6643}\x{6644}\x{6645}\x{6646}\x{6647}\x{6649}\x{664A}' .
-'\x{664B}\x{664C}\x{664E}\x{664F}\x{6650}\x{6651}\x{6652}\x{6653}\x{6654}' .
-'\x{6655}\x{6656}\x{6657}\x{6658}\x{6659}\x{665A}\x{665B}\x{665C}\x{665D}' .
-'\x{665E}\x{665F}\x{6661}\x{6662}\x{6664}\x{6665}\x{6666}\x{6668}\x{6669}' .
-'\x{666A}\x{666B}\x{666C}\x{666D}\x{666E}\x{666F}\x{6670}\x{6671}\x{6672}' .
-'\x{6673}\x{6674}\x{6675}\x{6676}\x{6677}\x{6678}\x{6679}\x{667A}\x{667B}' .
-'\x{667C}\x{667D}\x{667E}\x{667F}\x{6680}\x{6681}\x{6682}\x{6683}\x{6684}' .
-'\x{6685}\x{6686}\x{6687}\x{6688}\x{6689}\x{668A}\x{668B}\x{668C}\x{668D}' .
-'\x{668E}\x{668F}\x{6690}\x{6691}\x{6693}\x{6694}\x{6695}\x{6696}\x{6697}' .
-'\x{6698}\x{6699}\x{669A}\x{669B}\x{669D}\x{669F}\x{66A0}\x{66A1}\x{66A2}' .
-'\x{66A3}\x{66A4}\x{66A5}\x{66A6}\x{66A7}\x{66A8}\x{66A9}\x{66AA}\x{66AB}' .
-'\x{66AE}\x{66AF}\x{66B0}\x{66B1}\x{66B2}\x{66B3}\x{66B4}\x{66B5}\x{66B6}' .
-'\x{66B7}\x{66B8}\x{66B9}\x{66BA}\x{66BB}\x{66BC}\x{66BD}\x{66BE}\x{66BF}' .
-'\x{66C0}\x{66C1}\x{66C2}\x{66C3}\x{66C4}\x{66C5}\x{66C6}\x{66C7}\x{66C8}' .
-'\x{66C9}\x{66CA}\x{66CB}\x{66CC}\x{66CD}\x{66CE}\x{66CF}\x{66D1}\x{66D2}' .
-'\x{66D4}\x{66D5}\x{66D6}\x{66D8}\x{66D9}\x{66DA}\x{66DB}\x{66DC}\x{66DD}' .
-'\x{66DE}\x{66E0}\x{66E1}\x{66E2}\x{66E3}\x{66E4}\x{66E5}\x{66E6}\x{66E7}' .
-'\x{66E8}\x{66E9}\x{66EA}\x{66EB}\x{66EC}\x{66ED}\x{66EE}\x{66F0}\x{66F1}' .
-'\x{66F2}\x{66F3}\x{66F4}\x{66F5}\x{66F6}\x{66F7}\x{66F8}\x{66F9}\x{66FA}' .
-'\x{66FB}\x{66FC}\x{66FE}\x{66FF}\x{6700}\x{6701}\x{6703}\x{6704}\x{6705}' .
-'\x{6706}\x{6708}\x{6709}\x{670A}\x{670B}\x{670C}\x{670D}\x{670E}\x{670F}' .
-'\x{6710}\x{6711}\x{6712}\x{6713}\x{6714}\x{6715}\x{6716}\x{6717}\x{6718}' .
-'\x{671A}\x{671B}\x{671C}\x{671D}\x{671E}\x{671F}\x{6720}\x{6721}\x{6722}' .
-'\x{6723}\x{6725}\x{6726}\x{6727}\x{6728}\x{672A}\x{672B}\x{672C}\x{672D}' .
-'\x{672E}\x{672F}\x{6730}\x{6731}\x{6732}\x{6733}\x{6734}\x{6735}\x{6736}' .
-'\x{6737}\x{6738}\x{6739}\x{673A}\x{673B}\x{673C}\x{673D}\x{673E}\x{673F}' .
-'\x{6740}\x{6741}\x{6742}\x{6743}\x{6744}\x{6745}\x{6746}\x{6747}\x{6748}' .
-'\x{6749}\x{674A}\x{674B}\x{674C}\x{674D}\x{674E}\x{674F}\x{6750}\x{6751}' .
-'\x{6752}\x{6753}\x{6754}\x{6755}\x{6756}\x{6757}\x{6758}\x{6759}\x{675A}' .
-'\x{675B}\x{675C}\x{675D}\x{675E}\x{675F}\x{6760}\x{6761}\x{6762}\x{6763}' .
-'\x{6764}\x{6765}\x{6766}\x{6768}\x{6769}\x{676A}\x{676B}\x{676C}\x{676D}' .
-'\x{676E}\x{676F}\x{6770}\x{6771}\x{6772}\x{6773}\x{6774}\x{6775}\x{6776}' .
-'\x{6777}\x{6778}\x{6779}\x{677A}\x{677B}\x{677C}\x{677D}\x{677E}\x{677F}' .
-'\x{6780}\x{6781}\x{6782}\x{6783}\x{6784}\x{6785}\x{6786}\x{6787}\x{6789}' .
-'\x{678A}\x{678B}\x{678C}\x{678D}\x{678E}\x{678F}\x{6790}\x{6791}\x{6792}' .
-'\x{6793}\x{6794}\x{6795}\x{6797}\x{6798}\x{6799}\x{679A}\x{679B}\x{679C}' .
-'\x{679D}\x{679E}\x{679F}\x{67A0}\x{67A1}\x{67A2}\x{67A3}\x{67A4}\x{67A5}' .
-'\x{67A6}\x{67A7}\x{67A8}\x{67AA}\x{67AB}\x{67AC}\x{67AD}\x{67AE}\x{67AF}' .
-'\x{67B0}\x{67B1}\x{67B2}\x{67B3}\x{67B4}\x{67B5}\x{67B6}\x{67B7}\x{67B8}' .
-'\x{67B9}\x{67BA}\x{67BB}\x{67BC}\x{67BE}\x{67C0}\x{67C1}\x{67C2}\x{67C3}' .
-'\x{67C4}\x{67C5}\x{67C6}\x{67C7}\x{67C8}\x{67C9}\x{67CA}\x{67CB}\x{67CC}' .
-'\x{67CD}\x{67CE}\x{67CF}\x{67D0}\x{67D1}\x{67D2}\x{67D3}\x{67D4}\x{67D6}' .
-'\x{67D8}\x{67D9}\x{67DA}\x{67DB}\x{67DC}\x{67DD}\x{67DE}\x{67DF}\x{67E0}' .
-'\x{67E1}\x{67E2}\x{67E3}\x{67E4}\x{67E5}\x{67E6}\x{67E7}\x{67E8}\x{67E9}' .
-'\x{67EA}\x{67EB}\x{67EC}\x{67ED}\x{67EE}\x{67EF}\x{67F0}\x{67F1}\x{67F2}' .
-'\x{67F3}\x{67F4}\x{67F5}\x{67F6}\x{67F7}\x{67F8}\x{67FA}\x{67FB}\x{67FC}' .
-'\x{67FD}\x{67FE}\x{67FF}\x{6800}\x{6802}\x{6803}\x{6804}\x{6805}\x{6806}' .
-'\x{6807}\x{6808}\x{6809}\x{680A}\x{680B}\x{680C}\x{680D}\x{680E}\x{680F}' .
-'\x{6810}\x{6811}\x{6812}\x{6813}\x{6814}\x{6816}\x{6817}\x{6818}\x{6819}' .
-'\x{681A}\x{681B}\x{681C}\x{681D}\x{681F}\x{6820}\x{6821}\x{6822}\x{6823}' .
-'\x{6824}\x{6825}\x{6826}\x{6828}\x{6829}\x{682A}\x{682B}\x{682C}\x{682D}' .
-'\x{682E}\x{682F}\x{6831}\x{6832}\x{6833}\x{6834}\x{6835}\x{6836}\x{6837}' .
-'\x{6838}\x{6839}\x{683A}\x{683B}\x{683C}\x{683D}\x{683E}\x{683F}\x{6840}' .
-'\x{6841}\x{6842}\x{6843}\x{6844}\x{6845}\x{6846}\x{6847}\x{6848}\x{6849}' .
-'\x{684A}\x{684B}\x{684C}\x{684D}\x{684E}\x{684F}\x{6850}\x{6851}\x{6852}' .
-'\x{6853}\x{6854}\x{6855}\x{6856}\x{6857}\x{685B}\x{685D}\x{6860}\x{6861}' .
-'\x{6862}\x{6863}\x{6864}\x{6865}\x{6866}\x{6867}\x{6868}\x{6869}\x{686A}' .
-'\x{686B}\x{686C}\x{686D}\x{686E}\x{686F}\x{6870}\x{6871}\x{6872}\x{6873}' .
-'\x{6874}\x{6875}\x{6876}\x{6877}\x{6878}\x{6879}\x{687B}\x{687C}\x{687D}' .
-'\x{687E}\x{687F}\x{6880}\x{6881}\x{6882}\x{6883}\x{6884}\x{6885}\x{6886}' .
-'\x{6887}\x{6888}\x{6889}\x{688A}\x{688B}\x{688C}\x{688D}\x{688E}\x{688F}' .
-'\x{6890}\x{6891}\x{6892}\x{6893}\x{6894}\x{6896}\x{6897}\x{6898}\x{689A}' .
-'\x{689B}\x{689C}\x{689D}\x{689E}\x{689F}\x{68A0}\x{68A1}\x{68A2}\x{68A3}' .
-'\x{68A4}\x{68A6}\x{68A7}\x{68A8}\x{68A9}\x{68AA}\x{68AB}\x{68AC}\x{68AD}' .
-'\x{68AE}\x{68AF}\x{68B0}\x{68B1}\x{68B2}\x{68B3}\x{68B4}\x{68B5}\x{68B6}' .
-'\x{68B7}\x{68B9}\x{68BB}\x{68BC}\x{68BD}\x{68BE}\x{68BF}\x{68C0}\x{68C1}' .
-'\x{68C2}\x{68C4}\x{68C6}\x{68C7}\x{68C8}\x{68C9}\x{68CA}\x{68CB}\x{68CC}' .
-'\x{68CD}\x{68CE}\x{68CF}\x{68D0}\x{68D1}\x{68D2}\x{68D3}\x{68D4}\x{68D5}' .
-'\x{68D6}\x{68D7}\x{68D8}\x{68DA}\x{68DB}\x{68DC}\x{68DD}\x{68DE}\x{68DF}' .
-'\x{68E0}\x{68E1}\x{68E3}\x{68E4}\x{68E6}\x{68E7}\x{68E8}\x{68E9}\x{68EA}' .
-'\x{68EB}\x{68EC}\x{68ED}\x{68EE}\x{68EF}\x{68F0}\x{68F1}\x{68F2}\x{68F3}' .
-'\x{68F4}\x{68F5}\x{68F6}\x{68F7}\x{68F8}\x{68F9}\x{68FA}\x{68FB}\x{68FC}' .
-'\x{68FD}\x{68FE}\x{68FF}\x{6901}\x{6902}\x{6903}\x{6904}\x{6905}\x{6906}' .
-'\x{6907}\x{6908}\x{690A}\x{690B}\x{690C}\x{690D}\x{690E}\x{690F}\x{6910}' .
-'\x{6911}\x{6912}\x{6913}\x{6914}\x{6915}\x{6916}\x{6917}\x{6918}\x{6919}' .
-'\x{691A}\x{691B}\x{691C}\x{691D}\x{691E}\x{691F}\x{6920}\x{6921}\x{6922}' .
-'\x{6923}\x{6924}\x{6925}\x{6926}\x{6927}\x{6928}\x{6929}\x{692A}\x{692B}' .
-'\x{692C}\x{692D}\x{692E}\x{692F}\x{6930}\x{6931}\x{6932}\x{6933}\x{6934}' .
-'\x{6935}\x{6936}\x{6937}\x{6938}\x{6939}\x{693A}\x{693B}\x{693C}\x{693D}' .
-'\x{693F}\x{6940}\x{6941}\x{6942}\x{6943}\x{6944}\x{6945}\x{6946}\x{6947}' .
-'\x{6948}\x{6949}\x{694A}\x{694B}\x{694C}\x{694E}\x{694F}\x{6950}\x{6951}' .
-'\x{6952}\x{6953}\x{6954}\x{6955}\x{6956}\x{6957}\x{6958}\x{6959}\x{695A}' .
-'\x{695B}\x{695C}\x{695D}\x{695E}\x{695F}\x{6960}\x{6961}\x{6962}\x{6963}' .
-'\x{6964}\x{6965}\x{6966}\x{6967}\x{6968}\x{6969}\x{696A}\x{696B}\x{696C}' .
-'\x{696D}\x{696E}\x{696F}\x{6970}\x{6971}\x{6972}\x{6973}\x{6974}\x{6975}' .
-'\x{6976}\x{6977}\x{6978}\x{6979}\x{697A}\x{697B}\x{697C}\x{697D}\x{697E}' .
-'\x{697F}\x{6980}\x{6981}\x{6982}\x{6983}\x{6984}\x{6985}\x{6986}\x{6987}' .
-'\x{6988}\x{6989}\x{698A}\x{698B}\x{698C}\x{698D}\x{698E}\x{698F}\x{6990}' .
-'\x{6991}\x{6992}\x{6993}\x{6994}\x{6995}\x{6996}\x{6997}\x{6998}\x{6999}' .
-'\x{699A}\x{699B}\x{699C}\x{699D}\x{699E}\x{69A0}\x{69A1}\x{69A3}\x{69A4}' .
-'\x{69A5}\x{69A6}\x{69A7}\x{69A8}\x{69A9}\x{69AA}\x{69AB}\x{69AC}\x{69AD}' .
-'\x{69AE}\x{69AF}\x{69B0}\x{69B1}\x{69B2}\x{69B3}\x{69B4}\x{69B5}\x{69B6}' .
-'\x{69B7}\x{69B8}\x{69B9}\x{69BA}\x{69BB}\x{69BC}\x{69BD}\x{69BE}\x{69BF}' .
-'\x{69C1}\x{69C2}\x{69C3}\x{69C4}\x{69C5}\x{69C6}\x{69C7}\x{69C8}\x{69C9}' .
-'\x{69CA}\x{69CB}\x{69CC}\x{69CD}\x{69CE}\x{69CF}\x{69D0}\x{69D3}\x{69D4}' .
-'\x{69D8}\x{69D9}\x{69DA}\x{69DB}\x{69DC}\x{69DD}\x{69DE}\x{69DF}\x{69E0}' .
-'\x{69E1}\x{69E2}\x{69E3}\x{69E4}\x{69E5}\x{69E6}\x{69E7}\x{69E8}\x{69E9}' .
-'\x{69EA}\x{69EB}\x{69EC}\x{69ED}\x{69EE}\x{69EF}\x{69F0}\x{69F1}\x{69F2}' .
-'\x{69F3}\x{69F4}\x{69F5}\x{69F6}\x{69F7}\x{69F8}\x{69FA}\x{69FB}\x{69FC}' .
-'\x{69FD}\x{69FE}\x{69FF}\x{6A00}\x{6A01}\x{6A02}\x{6A04}\x{6A05}\x{6A06}' .
-'\x{6A07}\x{6A08}\x{6A09}\x{6A0A}\x{6A0B}\x{6A0D}\x{6A0E}\x{6A0F}\x{6A10}' .
-'\x{6A11}\x{6A12}\x{6A13}\x{6A14}\x{6A15}\x{6A16}\x{6A17}\x{6A18}\x{6A19}' .
-'\x{6A1A}\x{6A1B}\x{6A1D}\x{6A1E}\x{6A1F}\x{6A20}\x{6A21}\x{6A22}\x{6A23}' .
-'\x{6A25}\x{6A26}\x{6A27}\x{6A28}\x{6A29}\x{6A2A}\x{6A2B}\x{6A2C}\x{6A2D}' .
-'\x{6A2E}\x{6A2F}\x{6A30}\x{6A31}\x{6A32}\x{6A33}\x{6A34}\x{6A35}\x{6A36}' .
-'\x{6A38}\x{6A39}\x{6A3A}\x{6A3B}\x{6A3C}\x{6A3D}\x{6A3E}\x{6A3F}\x{6A40}' .
-'\x{6A41}\x{6A42}\x{6A43}\x{6A44}\x{6A45}\x{6A46}\x{6A47}\x{6A48}\x{6A49}' .
-'\x{6A4B}\x{6A4C}\x{6A4D}\x{6A4E}\x{6A4F}\x{6A50}\x{6A51}\x{6A52}\x{6A54}' .
-'\x{6A55}\x{6A56}\x{6A57}\x{6A58}\x{6A59}\x{6A5A}\x{6A5B}\x{6A5D}\x{6A5E}' .
-'\x{6A5F}\x{6A60}\x{6A61}\x{6A62}\x{6A63}\x{6A64}\x{6A65}\x{6A66}\x{6A67}' .
-'\x{6A68}\x{6A69}\x{6A6A}\x{6A6B}\x{6A6C}\x{6A6D}\x{6A6F}\x{6A71}\x{6A72}' .
-'\x{6A73}\x{6A74}\x{6A75}\x{6A76}\x{6A77}\x{6A78}\x{6A79}\x{6A7A}\x{6A7B}' .
-'\x{6A7C}\x{6A7D}\x{6A7E}\x{6A7F}\x{6A80}\x{6A81}\x{6A82}\x{6A83}\x{6A84}' .
-'\x{6A85}\x{6A87}\x{6A88}\x{6A89}\x{6A8B}\x{6A8C}\x{6A8D}\x{6A8E}\x{6A90}' .
-'\x{6A91}\x{6A92}\x{6A93}\x{6A94}\x{6A95}\x{6A96}\x{6A97}\x{6A98}\x{6A9A}' .
-'\x{6A9B}\x{6A9C}\x{6A9E}\x{6A9F}\x{6AA0}\x{6AA1}\x{6AA2}\x{6AA3}\x{6AA4}' .
-'\x{6AA5}\x{6AA6}\x{6AA7}\x{6AA8}\x{6AA9}\x{6AAB}\x{6AAC}\x{6AAD}\x{6AAE}' .
-'\x{6AAF}\x{6AB0}\x{6AB2}\x{6AB3}\x{6AB4}\x{6AB5}\x{6AB6}\x{6AB7}\x{6AB8}' .
-'\x{6AB9}\x{6ABA}\x{6ABB}\x{6ABC}\x{6ABD}\x{6ABF}\x{6AC1}\x{6AC2}\x{6AC3}' .
-'\x{6AC5}\x{6AC6}\x{6AC7}\x{6ACA}\x{6ACB}\x{6ACC}\x{6ACD}\x{6ACE}\x{6ACF}' .
-'\x{6AD0}\x{6AD1}\x{6AD2}\x{6AD3}\x{6AD4}\x{6AD5}\x{6AD6}\x{6AD7}\x{6AD9}' .
-'\x{6ADA}\x{6ADB}\x{6ADC}\x{6ADD}\x{6ADE}\x{6ADF}\x{6AE0}\x{6AE1}\x{6AE2}' .
-'\x{6AE3}\x{6AE4}\x{6AE5}\x{6AE6}\x{6AE7}\x{6AE8}\x{6AEA}\x{6AEB}\x{6AEC}' .
-'\x{6AED}\x{6AEE}\x{6AEF}\x{6AF0}\x{6AF1}\x{6AF2}\x{6AF3}\x{6AF4}\x{6AF5}' .
-'\x{6AF6}\x{6AF7}\x{6AF8}\x{6AF9}\x{6AFA}\x{6AFB}\x{6AFC}\x{6AFD}\x{6AFE}' .
-'\x{6AFF}\x{6B00}\x{6B01}\x{6B02}\x{6B03}\x{6B04}\x{6B05}\x{6B06}\x{6B07}' .
-'\x{6B08}\x{6B09}\x{6B0A}\x{6B0B}\x{6B0C}\x{6B0D}\x{6B0F}\x{6B10}\x{6B11}' .
-'\x{6B12}\x{6B13}\x{6B14}\x{6B15}\x{6B16}\x{6B17}\x{6B18}\x{6B19}\x{6B1A}' .
-'\x{6B1C}\x{6B1D}\x{6B1E}\x{6B1F}\x{6B20}\x{6B21}\x{6B22}\x{6B23}\x{6B24}' .
-'\x{6B25}\x{6B26}\x{6B27}\x{6B28}\x{6B29}\x{6B2A}\x{6B2B}\x{6B2C}\x{6B2D}' .
-'\x{6B2F}\x{6B30}\x{6B31}\x{6B32}\x{6B33}\x{6B34}\x{6B36}\x{6B37}\x{6B38}' .
-'\x{6B39}\x{6B3A}\x{6B3B}\x{6B3C}\x{6B3D}\x{6B3E}\x{6B3F}\x{6B41}\x{6B42}' .
-'\x{6B43}\x{6B44}\x{6B45}\x{6B46}\x{6B47}\x{6B48}\x{6B49}\x{6B4A}\x{6B4B}' .
-'\x{6B4C}\x{6B4D}\x{6B4E}\x{6B4F}\x{6B50}\x{6B51}\x{6B52}\x{6B53}\x{6B54}' .
-'\x{6B55}\x{6B56}\x{6B59}\x{6B5A}\x{6B5B}\x{6B5C}\x{6B5E}\x{6B5F}\x{6B60}' .
-'\x{6B61}\x{6B62}\x{6B63}\x{6B64}\x{6B65}\x{6B66}\x{6B67}\x{6B69}\x{6B6A}' .
-'\x{6B6B}\x{6B6D}\x{6B6F}\x{6B70}\x{6B72}\x{6B73}\x{6B74}\x{6B76}\x{6B77}' .
-'\x{6B78}\x{6B79}\x{6B7A}\x{6B7B}\x{6B7C}\x{6B7E}\x{6B7F}\x{6B80}\x{6B81}' .
-'\x{6B82}\x{6B83}\x{6B84}\x{6B85}\x{6B86}\x{6B87}\x{6B88}\x{6B89}\x{6B8A}' .
-'\x{6B8B}\x{6B8C}\x{6B8D}\x{6B8E}\x{6B8F}\x{6B90}\x{6B91}\x{6B92}\x{6B93}' .
-'\x{6B94}\x{6B95}\x{6B96}\x{6B97}\x{6B98}\x{6B99}\x{6B9A}\x{6B9B}\x{6B9C}' .
-'\x{6B9D}\x{6B9E}\x{6B9F}\x{6BA0}\x{6BA1}\x{6BA2}\x{6BA3}\x{6BA4}\x{6BA5}' .
-'\x{6BA6}\x{6BA7}\x{6BA8}\x{6BA9}\x{6BAA}\x{6BAB}\x{6BAC}\x{6BAD}\x{6BAE}' .
-'\x{6BAF}\x{6BB0}\x{6BB2}\x{6BB3}\x{6BB4}\x{6BB5}\x{6BB6}\x{6BB7}\x{6BB9}' .
-'\x{6BBA}\x{6BBB}\x{6BBC}\x{6BBD}\x{6BBE}\x{6BBF}\x{6BC0}\x{6BC1}\x{6BC2}' .
-'\x{6BC3}\x{6BC4}\x{6BC5}\x{6BC6}\x{6BC7}\x{6BC8}\x{6BC9}\x{6BCA}\x{6BCB}' .
-'\x{6BCC}\x{6BCD}\x{6BCE}\x{6BCF}\x{6BD0}\x{6BD1}\x{6BD2}\x{6BD3}\x{6BD4}' .
-'\x{6BD5}\x{6BD6}\x{6BD7}\x{6BD8}\x{6BD9}\x{6BDA}\x{6BDB}\x{6BDC}\x{6BDD}' .
-'\x{6BDE}\x{6BDF}\x{6BE0}\x{6BE1}\x{6BE2}\x{6BE3}\x{6BE4}\x{6BE5}\x{6BE6}' .
-'\x{6BE7}\x{6BE8}\x{6BEA}\x{6BEB}\x{6BEC}\x{6BED}\x{6BEE}\x{6BEF}\x{6BF0}' .
-'\x{6BF2}\x{6BF3}\x{6BF5}\x{6BF6}\x{6BF7}\x{6BF8}\x{6BF9}\x{6BFB}\x{6BFC}' .
-'\x{6BFD}\x{6BFE}\x{6BFF}\x{6C00}\x{6C01}\x{6C02}\x{6C03}\x{6C04}\x{6C05}' .
-'\x{6C06}\x{6C07}\x{6C08}\x{6C09}\x{6C0B}\x{6C0C}\x{6C0D}\x{6C0E}\x{6C0F}' .
-'\x{6C10}\x{6C11}\x{6C12}\x{6C13}\x{6C14}\x{6C15}\x{6C16}\x{6C18}\x{6C19}' .
-'\x{6C1A}\x{6C1B}\x{6C1D}\x{6C1E}\x{6C1F}\x{6C20}\x{6C21}\x{6C22}\x{6C23}' .
-'\x{6C24}\x{6C25}\x{6C26}\x{6C27}\x{6C28}\x{6C29}\x{6C2A}\x{6C2B}\x{6C2C}' .
-'\x{6C2E}\x{6C2F}\x{6C30}\x{6C31}\x{6C32}\x{6C33}\x{6C34}\x{6C35}\x{6C36}' .
-'\x{6C37}\x{6C38}\x{6C3A}\x{6C3B}\x{6C3D}\x{6C3E}\x{6C3F}\x{6C40}\x{6C41}' .
-'\x{6C42}\x{6C43}\x{6C44}\x{6C46}\x{6C47}\x{6C48}\x{6C49}\x{6C4A}\x{6C4B}' .
-'\x{6C4C}\x{6C4D}\x{6C4E}\x{6C4F}\x{6C50}\x{6C51}\x{6C52}\x{6C53}\x{6C54}' .
-'\x{6C55}\x{6C56}\x{6C57}\x{6C58}\x{6C59}\x{6C5A}\x{6C5B}\x{6C5C}\x{6C5D}' .
-'\x{6C5E}\x{6C5F}\x{6C60}\x{6C61}\x{6C62}\x{6C63}\x{6C64}\x{6C65}\x{6C66}' .
-'\x{6C67}\x{6C68}\x{6C69}\x{6C6A}\x{6C6B}\x{6C6D}\x{6C6F}\x{6C70}\x{6C71}' .
-'\x{6C72}\x{6C73}\x{6C74}\x{6C75}\x{6C76}\x{6C77}\x{6C78}\x{6C79}\x{6C7A}' .
-'\x{6C7B}\x{6C7C}\x{6C7D}\x{6C7E}\x{6C7F}\x{6C80}\x{6C81}\x{6C82}\x{6C83}' .
-'\x{6C84}\x{6C85}\x{6C86}\x{6C87}\x{6C88}\x{6C89}\x{6C8A}\x{6C8B}\x{6C8C}' .
-'\x{6C8D}\x{6C8E}\x{6C8F}\x{6C90}\x{6C91}\x{6C92}\x{6C93}\x{6C94}\x{6C95}' .
-'\x{6C96}\x{6C97}\x{6C98}\x{6C99}\x{6C9A}\x{6C9B}\x{6C9C}\x{6C9D}\x{6C9E}' .
-'\x{6C9F}\x{6CA1}\x{6CA2}\x{6CA3}\x{6CA4}\x{6CA5}\x{6CA6}\x{6CA7}\x{6CA8}' .
-'\x{6CA9}\x{6CAA}\x{6CAB}\x{6CAC}\x{6CAD}\x{6CAE}\x{6CAF}\x{6CB0}\x{6CB1}' .
-'\x{6CB2}\x{6CB3}\x{6CB4}\x{6CB5}\x{6CB6}\x{6CB7}\x{6CB8}\x{6CB9}\x{6CBA}' .
-'\x{6CBB}\x{6CBC}\x{6CBD}\x{6CBE}\x{6CBF}\x{6CC0}\x{6CC1}\x{6CC2}\x{6CC3}' .
-'\x{6CC4}\x{6CC5}\x{6CC6}\x{6CC7}\x{6CC8}\x{6CC9}\x{6CCA}\x{6CCB}\x{6CCC}' .
-'\x{6CCD}\x{6CCE}\x{6CCF}\x{6CD0}\x{6CD1}\x{6CD2}\x{6CD3}\x{6CD4}\x{6CD5}' .
-'\x{6CD6}\x{6CD7}\x{6CD9}\x{6CDA}\x{6CDB}\x{6CDC}\x{6CDD}\x{6CDE}\x{6CDF}' .
-'\x{6CE0}\x{6CE1}\x{6CE2}\x{6CE3}\x{6CE4}\x{6CE5}\x{6CE6}\x{6CE7}\x{6CE8}' .
-'\x{6CE9}\x{6CEA}\x{6CEB}\x{6CEC}\x{6CED}\x{6CEE}\x{6CEF}\x{6CF0}\x{6CF1}' .
-'\x{6CF2}\x{6CF3}\x{6CF5}\x{6CF6}\x{6CF7}\x{6CF8}\x{6CF9}\x{6CFA}\x{6CFB}' .
-'\x{6CFC}\x{6CFD}\x{6CFE}\x{6CFF}\x{6D00}\x{6D01}\x{6D03}\x{6D04}\x{6D05}' .
-'\x{6D06}\x{6D07}\x{6D08}\x{6D09}\x{6D0A}\x{6D0B}\x{6D0C}\x{6D0D}\x{6D0E}' .
-'\x{6D0F}\x{6D10}\x{6D11}\x{6D12}\x{6D13}\x{6D14}\x{6D15}\x{6D16}\x{6D17}' .
-'\x{6D18}\x{6D19}\x{6D1A}\x{6D1B}\x{6D1D}\x{6D1E}\x{6D1F}\x{6D20}\x{6D21}' .
-'\x{6D22}\x{6D23}\x{6D25}\x{6D26}\x{6D27}\x{6D28}\x{6D29}\x{6D2A}\x{6D2B}' .
-'\x{6D2C}\x{6D2D}\x{6D2E}\x{6D2F}\x{6D30}\x{6D31}\x{6D32}\x{6D33}\x{6D34}' .
-'\x{6D35}\x{6D36}\x{6D37}\x{6D38}\x{6D39}\x{6D3A}\x{6D3B}\x{6D3C}\x{6D3D}' .
-'\x{6D3E}\x{6D3F}\x{6D40}\x{6D41}\x{6D42}\x{6D43}\x{6D44}\x{6D45}\x{6D46}' .
-'\x{6D47}\x{6D48}\x{6D49}\x{6D4A}\x{6D4B}\x{6D4C}\x{6D4D}\x{6D4E}\x{6D4F}' .
-'\x{6D50}\x{6D51}\x{6D52}\x{6D53}\x{6D54}\x{6D55}\x{6D56}\x{6D57}\x{6D58}' .
-'\x{6D59}\x{6D5A}\x{6D5B}\x{6D5C}\x{6D5D}\x{6D5E}\x{6D5F}\x{6D60}\x{6D61}' .
-'\x{6D62}\x{6D63}\x{6D64}\x{6D65}\x{6D66}\x{6D67}\x{6D68}\x{6D69}\x{6D6A}' .
-'\x{6D6B}\x{6D6C}\x{6D6D}\x{6D6E}\x{6D6F}\x{6D70}\x{6D72}\x{6D73}\x{6D74}' .
-'\x{6D75}\x{6D76}\x{6D77}\x{6D78}\x{6D79}\x{6D7A}\x{6D7B}\x{6D7C}\x{6D7D}' .
-'\x{6D7E}\x{6D7F}\x{6D80}\x{6D82}\x{6D83}\x{6D84}\x{6D85}\x{6D86}\x{6D87}' .
-'\x{6D88}\x{6D89}\x{6D8A}\x{6D8B}\x{6D8C}\x{6D8D}\x{6D8E}\x{6D8F}\x{6D90}' .
-'\x{6D91}\x{6D92}\x{6D93}\x{6D94}\x{6D95}\x{6D97}\x{6D98}\x{6D99}\x{6D9A}' .
-'\x{6D9B}\x{6D9D}\x{6D9E}\x{6D9F}\x{6DA0}\x{6DA1}\x{6DA2}\x{6DA3}\x{6DA4}' .
-'\x{6DA5}\x{6DA6}\x{6DA7}\x{6DA8}\x{6DA9}\x{6DAA}\x{6DAB}\x{6DAC}\x{6DAD}' .
-'\x{6DAE}\x{6DAF}\x{6DB2}\x{6DB3}\x{6DB4}\x{6DB5}\x{6DB7}\x{6DB8}\x{6DB9}' .
-'\x{6DBA}\x{6DBB}\x{6DBC}\x{6DBD}\x{6DBE}\x{6DBF}\x{6DC0}\x{6DC1}\x{6DC2}' .
-'\x{6DC3}\x{6DC4}\x{6DC5}\x{6DC6}\x{6DC7}\x{6DC8}\x{6DC9}\x{6DCA}\x{6DCB}' .
-'\x{6DCC}\x{6DCD}\x{6DCE}\x{6DCF}\x{6DD0}\x{6DD1}\x{6DD2}\x{6DD3}\x{6DD4}' .
-'\x{6DD5}\x{6DD6}\x{6DD7}\x{6DD8}\x{6DD9}\x{6DDA}\x{6DDB}\x{6DDC}\x{6DDD}' .
-'\x{6DDE}\x{6DDF}\x{6DE0}\x{6DE1}\x{6DE2}\x{6DE3}\x{6DE4}\x{6DE5}\x{6DE6}' .
-'\x{6DE7}\x{6DE8}\x{6DE9}\x{6DEA}\x{6DEB}\x{6DEC}\x{6DED}\x{6DEE}\x{6DEF}' .
-'\x{6DF0}\x{6DF1}\x{6DF2}\x{6DF3}\x{6DF4}\x{6DF5}\x{6DF6}\x{6DF7}\x{6DF8}' .
-'\x{6DF9}\x{6DFA}\x{6DFB}\x{6DFC}\x{6DFD}\x{6E00}\x{6E03}\x{6E04}\x{6E05}' .
-'\x{6E07}\x{6E08}\x{6E09}\x{6E0A}\x{6E0B}\x{6E0C}\x{6E0D}\x{6E0E}\x{6E0F}' .
-'\x{6E10}\x{6E11}\x{6E14}\x{6E15}\x{6E16}\x{6E17}\x{6E19}\x{6E1A}\x{6E1B}' .
-'\x{6E1C}\x{6E1D}\x{6E1E}\x{6E1F}\x{6E20}\x{6E21}\x{6E22}\x{6E23}\x{6E24}' .
-'\x{6E25}\x{6E26}\x{6E27}\x{6E28}\x{6E29}\x{6E2B}\x{6E2C}\x{6E2D}\x{6E2E}' .
-'\x{6E2F}\x{6E30}\x{6E31}\x{6E32}\x{6E33}\x{6E34}\x{6E35}\x{6E36}\x{6E37}' .
-'\x{6E38}\x{6E39}\x{6E3A}\x{6E3B}\x{6E3C}\x{6E3D}\x{6E3E}\x{6E3F}\x{6E40}' .
-'\x{6E41}\x{6E42}\x{6E43}\x{6E44}\x{6E45}\x{6E46}\x{6E47}\x{6E48}\x{6E49}' .
-'\x{6E4A}\x{6E4B}\x{6E4D}\x{6E4E}\x{6E4F}\x{6E50}\x{6E51}\x{6E52}\x{6E53}' .
-'\x{6E54}\x{6E55}\x{6E56}\x{6E57}\x{6E58}\x{6E59}\x{6E5A}\x{6E5B}\x{6E5C}' .
-'\x{6E5D}\x{6E5E}\x{6E5F}\x{6E60}\x{6E61}\x{6E62}\x{6E63}\x{6E64}\x{6E65}' .
-'\x{6E66}\x{6E67}\x{6E68}\x{6E69}\x{6E6A}\x{6E6B}\x{6E6D}\x{6E6E}\x{6E6F}' .
-'\x{6E70}\x{6E71}\x{6E72}\x{6E73}\x{6E74}\x{6E75}\x{6E77}\x{6E78}\x{6E79}' .
-'\x{6E7E}\x{6E7F}\x{6E80}\x{6E81}\x{6E82}\x{6E83}\x{6E84}\x{6E85}\x{6E86}' .
-'\x{6E87}\x{6E88}\x{6E89}\x{6E8A}\x{6E8D}\x{6E8E}\x{6E8F}\x{6E90}\x{6E91}' .
-'\x{6E92}\x{6E93}\x{6E94}\x{6E96}\x{6E97}\x{6E98}\x{6E99}\x{6E9A}\x{6E9B}' .
-'\x{6E9C}\x{6E9D}\x{6E9E}\x{6E9F}\x{6EA0}\x{6EA1}\x{6EA2}\x{6EA3}\x{6EA4}' .
-'\x{6EA5}\x{6EA6}\x{6EA7}\x{6EA8}\x{6EA9}\x{6EAA}\x{6EAB}\x{6EAC}\x{6EAD}' .
-'\x{6EAE}\x{6EAF}\x{6EB0}\x{6EB1}\x{6EB2}\x{6EB3}\x{6EB4}\x{6EB5}\x{6EB6}' .
-'\x{6EB7}\x{6EB8}\x{6EB9}\x{6EBA}\x{6EBB}\x{6EBC}\x{6EBD}\x{6EBE}\x{6EBF}' .
-'\x{6EC0}\x{6EC1}\x{6EC2}\x{6EC3}\x{6EC4}\x{6EC5}\x{6EC6}\x{6EC7}\x{6EC8}' .
-'\x{6EC9}\x{6ECA}\x{6ECB}\x{6ECC}\x{6ECD}\x{6ECE}\x{6ECF}\x{6ED0}\x{6ED1}' .
-'\x{6ED2}\x{6ED3}\x{6ED4}\x{6ED5}\x{6ED6}\x{6ED7}\x{6ED8}\x{6ED9}\x{6EDA}' .
-'\x{6EDC}\x{6EDE}\x{6EDF}\x{6EE0}\x{6EE1}\x{6EE2}\x{6EE4}\x{6EE5}\x{6EE6}' .
-'\x{6EE7}\x{6EE8}\x{6EE9}\x{6EEA}\x{6EEB}\x{6EEC}\x{6EED}\x{6EEE}\x{6EEF}' .
-'\x{6EF0}\x{6EF1}\x{6EF2}\x{6EF3}\x{6EF4}\x{6EF5}\x{6EF6}\x{6EF7}\x{6EF8}' .
-'\x{6EF9}\x{6EFA}\x{6EFB}\x{6EFC}\x{6EFD}\x{6EFE}\x{6EFF}\x{6F00}\x{6F01}' .
-'\x{6F02}\x{6F03}\x{6F05}\x{6F06}\x{6F07}\x{6F08}\x{6F09}\x{6F0A}\x{6F0C}' .
-'\x{6F0D}\x{6F0E}\x{6F0F}\x{6F10}\x{6F11}\x{6F12}\x{6F13}\x{6F14}\x{6F15}' .
-'\x{6F16}\x{6F17}\x{6F18}\x{6F19}\x{6F1A}\x{6F1B}\x{6F1C}\x{6F1D}\x{6F1E}' .
-'\x{6F1F}\x{6F20}\x{6F21}\x{6F22}\x{6F23}\x{6F24}\x{6F25}\x{6F26}\x{6F27}' .
-'\x{6F28}\x{6F29}\x{6F2A}\x{6F2B}\x{6F2C}\x{6F2D}\x{6F2E}\x{6F2F}\x{6F30}' .
-'\x{6F31}\x{6F32}\x{6F33}\x{6F34}\x{6F35}\x{6F36}\x{6F37}\x{6F38}\x{6F39}' .
-'\x{6F3A}\x{6F3B}\x{6F3C}\x{6F3D}\x{6F3E}\x{6F3F}\x{6F40}\x{6F41}\x{6F43}' .
-'\x{6F44}\x{6F45}\x{6F46}\x{6F47}\x{6F49}\x{6F4B}\x{6F4C}\x{6F4D}\x{6F4E}' .
-'\x{6F4F}\x{6F50}\x{6F51}\x{6F52}\x{6F53}\x{6F54}\x{6F55}\x{6F56}\x{6F57}' .
-'\x{6F58}\x{6F59}\x{6F5A}\x{6F5B}\x{6F5C}\x{6F5D}\x{6F5E}\x{6F5F}\x{6F60}' .
-'\x{6F61}\x{6F62}\x{6F63}\x{6F64}\x{6F65}\x{6F66}\x{6F67}\x{6F68}\x{6F69}' .
-'\x{6F6A}\x{6F6B}\x{6F6C}\x{6F6D}\x{6F6E}\x{6F6F}\x{6F70}\x{6F71}\x{6F72}' .
-'\x{6F73}\x{6F74}\x{6F75}\x{6F76}\x{6F77}\x{6F78}\x{6F7A}\x{6F7B}\x{6F7C}' .
-'\x{6F7D}\x{6F7E}\x{6F7F}\x{6F80}\x{6F81}\x{6F82}\x{6F83}\x{6F84}\x{6F85}' .
-'\x{6F86}\x{6F87}\x{6F88}\x{6F89}\x{6F8A}\x{6F8B}\x{6F8C}\x{6F8D}\x{6F8E}' .
-'\x{6F8F}\x{6F90}\x{6F91}\x{6F92}\x{6F93}\x{6F94}\x{6F95}\x{6F96}\x{6F97}' .
-'\x{6F99}\x{6F9B}\x{6F9C}\x{6F9D}\x{6F9E}\x{6FA0}\x{6FA1}\x{6FA2}\x{6FA3}' .
-'\x{6FA4}\x{6FA5}\x{6FA6}\x{6FA7}\x{6FA8}\x{6FA9}\x{6FAA}\x{6FAB}\x{6FAC}' .
-'\x{6FAD}\x{6FAE}\x{6FAF}\x{6FB0}\x{6FB1}\x{6FB2}\x{6FB3}\x{6FB4}\x{6FB5}' .
-'\x{6FB6}\x{6FB8}\x{6FB9}\x{6FBA}\x{6FBB}\x{6FBC}\x{6FBD}\x{6FBE}\x{6FBF}' .
-'\x{6FC0}\x{6FC1}\x{6FC2}\x{6FC3}\x{6FC4}\x{6FC6}\x{6FC7}\x{6FC8}\x{6FC9}' .
-'\x{6FCA}\x{6FCB}\x{6FCC}\x{6FCD}\x{6FCE}\x{6FCF}\x{6FD1}\x{6FD2}\x{6FD4}' .
-'\x{6FD5}\x{6FD6}\x{6FD7}\x{6FD8}\x{6FD9}\x{6FDA}\x{6FDB}\x{6FDC}\x{6FDD}' .
-'\x{6FDE}\x{6FDF}\x{6FE0}\x{6FE1}\x{6FE2}\x{6FE3}\x{6FE4}\x{6FE5}\x{6FE6}' .
-'\x{6FE7}\x{6FE8}\x{6FE9}\x{6FEA}\x{6FEB}\x{6FEC}\x{6FED}\x{6FEE}\x{6FEF}' .
-'\x{6FF0}\x{6FF1}\x{6FF2}\x{6FF3}\x{6FF4}\x{6FF6}\x{6FF7}\x{6FF8}\x{6FF9}' .
-'\x{6FFA}\x{6FFB}\x{6FFC}\x{6FFE}\x{6FFF}\x{7000}\x{7001}\x{7002}\x{7003}' .
-'\x{7004}\x{7005}\x{7006}\x{7007}\x{7008}\x{7009}\x{700A}\x{700B}\x{700C}' .
-'\x{700D}\x{700E}\x{700F}\x{7011}\x{7012}\x{7014}\x{7015}\x{7016}\x{7017}' .
-'\x{7018}\x{7019}\x{701A}\x{701B}\x{701C}\x{701D}\x{701F}\x{7020}\x{7021}' .
-'\x{7022}\x{7023}\x{7024}\x{7025}\x{7026}\x{7027}\x{7028}\x{7029}\x{702A}' .
-'\x{702B}\x{702C}\x{702D}\x{702E}\x{702F}\x{7030}\x{7031}\x{7032}\x{7033}' .
-'\x{7034}\x{7035}\x{7036}\x{7037}\x{7038}\x{7039}\x{703A}\x{703B}\x{703C}' .
-'\x{703D}\x{703E}\x{703F}\x{7040}\x{7041}\x{7042}\x{7043}\x{7044}\x{7045}' .
-'\x{7046}\x{7048}\x{7049}\x{704A}\x{704C}\x{704D}\x{704F}\x{7050}\x{7051}' .
-'\x{7052}\x{7053}\x{7054}\x{7055}\x{7056}\x{7057}\x{7058}\x{7059}\x{705A}' .
-'\x{705B}\x{705C}\x{705D}\x{705E}\x{705F}\x{7060}\x{7061}\x{7062}\x{7063}' .
-'\x{7064}\x{7065}\x{7066}\x{7067}\x{7068}\x{7069}\x{706A}\x{706B}\x{706C}' .
-'\x{706D}\x{706E}\x{706F}\x{7070}\x{7071}\x{7074}\x{7075}\x{7076}\x{7077}' .
-'\x{7078}\x{7079}\x{707A}\x{707C}\x{707D}\x{707E}\x{707F}\x{7080}\x{7082}' .
-'\x{7083}\x{7084}\x{7085}\x{7086}\x{7087}\x{7088}\x{7089}\x{708A}\x{708B}' .
-'\x{708C}\x{708E}\x{708F}\x{7090}\x{7091}\x{7092}\x{7093}\x{7094}\x{7095}' .
-'\x{7096}\x{7098}\x{7099}\x{709A}\x{709C}\x{709D}\x{709E}\x{709F}\x{70A0}' .
-'\x{70A1}\x{70A2}\x{70A3}\x{70A4}\x{70A5}\x{70A6}\x{70A7}\x{70A8}\x{70A9}' .
-'\x{70AB}\x{70AC}\x{70AD}\x{70AE}\x{70AF}\x{70B0}\x{70B1}\x{70B3}\x{70B4}' .
-'\x{70B5}\x{70B7}\x{70B8}\x{70B9}\x{70BA}\x{70BB}\x{70BC}\x{70BD}\x{70BE}' .
-'\x{70BF}\x{70C0}\x{70C1}\x{70C2}\x{70C3}\x{70C4}\x{70C5}\x{70C6}\x{70C7}' .
-'\x{70C8}\x{70C9}\x{70CA}\x{70CB}\x{70CC}\x{70CD}\x{70CE}\x{70CF}\x{70D0}' .
-'\x{70D1}\x{70D2}\x{70D3}\x{70D4}\x{70D6}\x{70D7}\x{70D8}\x{70D9}\x{70DA}' .
-'\x{70DB}\x{70DC}\x{70DD}\x{70DE}\x{70DF}\x{70E0}\x{70E1}\x{70E2}\x{70E3}' .
-'\x{70E4}\x{70E5}\x{70E6}\x{70E7}\x{70E8}\x{70E9}\x{70EA}\x{70EB}\x{70EC}' .
-'\x{70ED}\x{70EE}\x{70EF}\x{70F0}\x{70F1}\x{70F2}\x{70F3}\x{70F4}\x{70F5}' .
-'\x{70F6}\x{70F7}\x{70F8}\x{70F9}\x{70FA}\x{70FB}\x{70FC}\x{70FD}\x{70FF}' .
-'\x{7100}\x{7101}\x{7102}\x{7103}\x{7104}\x{7105}\x{7106}\x{7107}\x{7109}' .
-'\x{710A}\x{710B}\x{710C}\x{710D}\x{710E}\x{710F}\x{7110}\x{7111}\x{7112}' .
-'\x{7113}\x{7115}\x{7116}\x{7117}\x{7118}\x{7119}\x{711A}\x{711B}\x{711C}' .
-'\x{711D}\x{711E}\x{711F}\x{7120}\x{7121}\x{7122}\x{7123}\x{7125}\x{7126}' .
-'\x{7127}\x{7128}\x{7129}\x{712A}\x{712B}\x{712C}\x{712D}\x{712E}\x{712F}' .
-'\x{7130}\x{7131}\x{7132}\x{7135}\x{7136}\x{7137}\x{7138}\x{7139}\x{713A}' .
-'\x{713B}\x{713D}\x{713E}\x{713F}\x{7140}\x{7141}\x{7142}\x{7143}\x{7144}' .
-'\x{7145}\x{7146}\x{7147}\x{7148}\x{7149}\x{714A}\x{714B}\x{714C}\x{714D}' .
-'\x{714E}\x{714F}\x{7150}\x{7151}\x{7152}\x{7153}\x{7154}\x{7156}\x{7158}' .
-'\x{7159}\x{715A}\x{715B}\x{715C}\x{715D}\x{715E}\x{715F}\x{7160}\x{7161}' .
-'\x{7162}\x{7163}\x{7164}\x{7165}\x{7166}\x{7167}\x{7168}\x{7169}\x{716A}' .
-'\x{716C}\x{716E}\x{716F}\x{7170}\x{7171}\x{7172}\x{7173}\x{7174}\x{7175}' .
-'\x{7176}\x{7177}\x{7178}\x{7179}\x{717A}\x{717B}\x{717C}\x{717D}\x{717E}' .
-'\x{717F}\x{7180}\x{7181}\x{7182}\x{7183}\x{7184}\x{7185}\x{7186}\x{7187}' .
-'\x{7188}\x{7189}\x{718A}\x{718B}\x{718C}\x{718E}\x{718F}\x{7190}\x{7191}' .
-'\x{7192}\x{7193}\x{7194}\x{7195}\x{7197}\x{7198}\x{7199}\x{719A}\x{719B}' .
-'\x{719C}\x{719D}\x{719E}\x{719F}\x{71A0}\x{71A1}\x{71A2}\x{71A3}\x{71A4}' .
-'\x{71A5}\x{71A7}\x{71A8}\x{71A9}\x{71AA}\x{71AC}\x{71AD}\x{71AE}\x{71AF}' .
-'\x{71B0}\x{71B1}\x{71B2}\x{71B3}\x{71B4}\x{71B5}\x{71B7}\x{71B8}\x{71B9}' .
-'\x{71BA}\x{71BB}\x{71BC}\x{71BD}\x{71BE}\x{71BF}\x{71C0}\x{71C1}\x{71C2}' .
-'\x{71C3}\x{71C4}\x{71C5}\x{71C6}\x{71C7}\x{71C8}\x{71C9}\x{71CA}\x{71CB}' .
-'\x{71CD}\x{71CE}\x{71CF}\x{71D0}\x{71D1}\x{71D2}\x{71D4}\x{71D5}\x{71D6}' .
-'\x{71D7}\x{71D8}\x{71D9}\x{71DA}\x{71DB}\x{71DC}\x{71DD}\x{71DE}\x{71DF}' .
-'\x{71E0}\x{71E1}\x{71E2}\x{71E3}\x{71E4}\x{71E5}\x{71E6}\x{71E7}\x{71E8}' .
-'\x{71E9}\x{71EA}\x{71EB}\x{71EC}\x{71ED}\x{71EE}\x{71EF}\x{71F0}\x{71F1}' .
-'\x{71F2}\x{71F4}\x{71F5}\x{71F6}\x{71F7}\x{71F8}\x{71F9}\x{71FB}\x{71FC}' .
-'\x{71FD}\x{71FE}\x{71FF}\x{7201}\x{7202}\x{7203}\x{7204}\x{7205}\x{7206}' .
-'\x{7207}\x{7208}\x{7209}\x{720A}\x{720C}\x{720D}\x{720E}\x{720F}\x{7210}' .
-'\x{7212}\x{7213}\x{7214}\x{7216}\x{7218}\x{7219}\x{721A}\x{721B}\x{721C}' .
-'\x{721D}\x{721E}\x{721F}\x{7221}\x{7222}\x{7223}\x{7226}\x{7227}\x{7228}' .
-'\x{7229}\x{722A}\x{722B}\x{722C}\x{722D}\x{722E}\x{7230}\x{7231}\x{7232}' .
-'\x{7233}\x{7235}\x{7236}\x{7237}\x{7238}\x{7239}\x{723A}\x{723B}\x{723C}' .
-'\x{723D}\x{723E}\x{723F}\x{7240}\x{7241}\x{7242}\x{7243}\x{7244}\x{7246}' .
-'\x{7247}\x{7248}\x{7249}\x{724A}\x{724B}\x{724C}\x{724D}\x{724F}\x{7251}' .
-'\x{7252}\x{7253}\x{7254}\x{7256}\x{7257}\x{7258}\x{7259}\x{725A}\x{725B}' .
-'\x{725C}\x{725D}\x{725E}\x{725F}\x{7260}\x{7261}\x{7262}\x{7263}\x{7264}' .
-'\x{7265}\x{7266}\x{7267}\x{7268}\x{7269}\x{726A}\x{726B}\x{726C}\x{726D}' .
-'\x{726E}\x{726F}\x{7270}\x{7271}\x{7272}\x{7273}\x{7274}\x{7275}\x{7276}' .
-'\x{7277}\x{7278}\x{7279}\x{727A}\x{727B}\x{727C}\x{727D}\x{727E}\x{727F}' .
-'\x{7280}\x{7281}\x{7282}\x{7283}\x{7284}\x{7285}\x{7286}\x{7287}\x{7288}' .
-'\x{7289}\x{728A}\x{728B}\x{728C}\x{728D}\x{728E}\x{728F}\x{7290}\x{7291}' .
-'\x{7292}\x{7293}\x{7294}\x{7295}\x{7296}\x{7297}\x{7298}\x{7299}\x{729A}' .
-'\x{729B}\x{729C}\x{729D}\x{729E}\x{729F}\x{72A1}\x{72A2}\x{72A3}\x{72A4}' .
-'\x{72A5}\x{72A6}\x{72A7}\x{72A8}\x{72A9}\x{72AA}\x{72AC}\x{72AD}\x{72AE}' .
-'\x{72AF}\x{72B0}\x{72B1}\x{72B2}\x{72B3}\x{72B4}\x{72B5}\x{72B6}\x{72B7}' .
-'\x{72B8}\x{72B9}\x{72BA}\x{72BB}\x{72BC}\x{72BD}\x{72BF}\x{72C0}\x{72C1}' .
-'\x{72C2}\x{72C3}\x{72C4}\x{72C5}\x{72C6}\x{72C7}\x{72C8}\x{72C9}\x{72CA}' .
-'\x{72CB}\x{72CC}\x{72CD}\x{72CE}\x{72CF}\x{72D0}\x{72D1}\x{72D2}\x{72D3}' .
-'\x{72D4}\x{72D5}\x{72D6}\x{72D7}\x{72D8}\x{72D9}\x{72DA}\x{72DB}\x{72DC}' .
-'\x{72DD}\x{72DE}\x{72DF}\x{72E0}\x{72E1}\x{72E2}\x{72E3}\x{72E4}\x{72E5}' .
-'\x{72E6}\x{72E7}\x{72E8}\x{72E9}\x{72EA}\x{72EB}\x{72EC}\x{72ED}\x{72EE}' .
-'\x{72EF}\x{72F0}\x{72F1}\x{72F2}\x{72F3}\x{72F4}\x{72F5}\x{72F6}\x{72F7}' .
-'\x{72F8}\x{72F9}\x{72FA}\x{72FB}\x{72FC}\x{72FD}\x{72FE}\x{72FF}\x{7300}' .
-'\x{7301}\x{7303}\x{7304}\x{7305}\x{7306}\x{7307}\x{7308}\x{7309}\x{730A}' .
-'\x{730B}\x{730C}\x{730D}\x{730E}\x{730F}\x{7311}\x{7312}\x{7313}\x{7314}' .
-'\x{7315}\x{7316}\x{7317}\x{7318}\x{7319}\x{731A}\x{731B}\x{731C}\x{731D}' .
-'\x{731E}\x{7320}\x{7321}\x{7322}\x{7323}\x{7324}\x{7325}\x{7326}\x{7327}' .
-'\x{7329}\x{732A}\x{732B}\x{732C}\x{732D}\x{732E}\x{7330}\x{7331}\x{7332}' .
-'\x{7333}\x{7334}\x{7335}\x{7336}\x{7337}\x{7338}\x{7339}\x{733A}\x{733B}' .
-'\x{733C}\x{733D}\x{733E}\x{733F}\x{7340}\x{7341}\x{7342}\x{7343}\x{7344}' .
-'\x{7345}\x{7346}\x{7347}\x{7348}\x{7349}\x{734A}\x{734B}\x{734C}\x{734D}' .
-'\x{734E}\x{7350}\x{7351}\x{7352}\x{7354}\x{7355}\x{7356}\x{7357}\x{7358}' .
-'\x{7359}\x{735A}\x{735B}\x{735C}\x{735D}\x{735E}\x{735F}\x{7360}\x{7361}' .
-'\x{7362}\x{7364}\x{7365}\x{7366}\x{7367}\x{7368}\x{7369}\x{736A}\x{736B}' .
-'\x{736C}\x{736D}\x{736E}\x{736F}\x{7370}\x{7371}\x{7372}\x{7373}\x{7374}' .
-'\x{7375}\x{7376}\x{7377}\x{7378}\x{7379}\x{737A}\x{737B}\x{737C}\x{737D}' .
-'\x{737E}\x{737F}\x{7380}\x{7381}\x{7382}\x{7383}\x{7384}\x{7385}\x{7386}' .
-'\x{7387}\x{7388}\x{7389}\x{738A}\x{738B}\x{738C}\x{738D}\x{738E}\x{738F}' .
-'\x{7390}\x{7391}\x{7392}\x{7393}\x{7394}\x{7395}\x{7396}\x{7397}\x{7398}' .
-'\x{7399}\x{739A}\x{739B}\x{739D}\x{739E}\x{739F}\x{73A0}\x{73A1}\x{73A2}' .
-'\x{73A3}\x{73A4}\x{73A5}\x{73A6}\x{73A7}\x{73A8}\x{73A9}\x{73AA}\x{73AB}' .
-'\x{73AC}\x{73AD}\x{73AE}\x{73AF}\x{73B0}\x{73B1}\x{73B2}\x{73B3}\x{73B4}' .
-'\x{73B5}\x{73B6}\x{73B7}\x{73B8}\x{73B9}\x{73BA}\x{73BB}\x{73BC}\x{73BD}' .
-'\x{73BE}\x{73BF}\x{73C0}\x{73C2}\x{73C3}\x{73C4}\x{73C5}\x{73C6}\x{73C7}' .
-'\x{73C8}\x{73C9}\x{73CA}\x{73CB}\x{73CC}\x{73CD}\x{73CE}\x{73CF}\x{73D0}' .
-'\x{73D1}\x{73D2}\x{73D3}\x{73D4}\x{73D5}\x{73D6}\x{73D7}\x{73D8}\x{73D9}' .
-'\x{73DA}\x{73DB}\x{73DC}\x{73DD}\x{73DE}\x{73DF}\x{73E0}\x{73E2}\x{73E3}' .
-'\x{73E5}\x{73E6}\x{73E7}\x{73E8}\x{73E9}\x{73EA}\x{73EB}\x{73EC}\x{73ED}' .
-'\x{73EE}\x{73EF}\x{73F0}\x{73F1}\x{73F2}\x{73F4}\x{73F5}\x{73F6}\x{73F7}' .
-'\x{73F8}\x{73F9}\x{73FA}\x{73FC}\x{73FD}\x{73FE}\x{73FF}\x{7400}\x{7401}' .
-'\x{7402}\x{7403}\x{7404}\x{7405}\x{7406}\x{7407}\x{7408}\x{7409}\x{740A}' .
-'\x{740B}\x{740C}\x{740D}\x{740E}\x{740F}\x{7410}\x{7411}\x{7412}\x{7413}' .
-'\x{7414}\x{7415}\x{7416}\x{7417}\x{7419}\x{741A}\x{741B}\x{741C}\x{741D}' .
-'\x{741E}\x{741F}\x{7420}\x{7421}\x{7422}\x{7423}\x{7424}\x{7425}\x{7426}' .
-'\x{7427}\x{7428}\x{7429}\x{742A}\x{742B}\x{742C}\x{742D}\x{742E}\x{742F}' .
-'\x{7430}\x{7431}\x{7432}\x{7433}\x{7434}\x{7435}\x{7436}\x{7437}\x{7438}' .
-'\x{743A}\x{743B}\x{743C}\x{743D}\x{743F}\x{7440}\x{7441}\x{7442}\x{7443}' .
-'\x{7444}\x{7445}\x{7446}\x{7448}\x{744A}\x{744B}\x{744C}\x{744D}\x{744E}' .
-'\x{744F}\x{7450}\x{7451}\x{7452}\x{7453}\x{7454}\x{7455}\x{7456}\x{7457}' .
-'\x{7459}\x{745A}\x{745B}\x{745C}\x{745D}\x{745E}\x{745F}\x{7461}\x{7462}' .
-'\x{7463}\x{7464}\x{7465}\x{7466}\x{7467}\x{7468}\x{7469}\x{746A}\x{746B}' .
-'\x{746C}\x{746D}\x{746E}\x{746F}\x{7470}\x{7471}\x{7472}\x{7473}\x{7474}' .
-'\x{7475}\x{7476}\x{7477}\x{7478}\x{7479}\x{747A}\x{747C}\x{747D}\x{747E}' .
-'\x{747F}\x{7480}\x{7481}\x{7482}\x{7483}\x{7485}\x{7486}\x{7487}\x{7488}' .
-'\x{7489}\x{748A}\x{748B}\x{748C}\x{748D}\x{748E}\x{748F}\x{7490}\x{7491}' .
-'\x{7492}\x{7493}\x{7494}\x{7495}\x{7497}\x{7498}\x{7499}\x{749A}\x{749B}' .
-'\x{749C}\x{749E}\x{749F}\x{74A0}\x{74A1}\x{74A3}\x{74A4}\x{74A5}\x{74A6}' .
-'\x{74A7}\x{74A8}\x{74A9}\x{74AA}\x{74AB}\x{74AC}\x{74AD}\x{74AE}\x{74AF}' .
-'\x{74B0}\x{74B1}\x{74B2}\x{74B3}\x{74B4}\x{74B5}\x{74B6}\x{74B7}\x{74B8}' .
-'\x{74B9}\x{74BA}\x{74BB}\x{74BC}\x{74BD}\x{74BE}\x{74BF}\x{74C0}\x{74C1}' .
-'\x{74C2}\x{74C3}\x{74C4}\x{74C5}\x{74C6}\x{74CA}\x{74CB}\x{74CD}\x{74CE}' .
-'\x{74CF}\x{74D0}\x{74D1}\x{74D2}\x{74D3}\x{74D4}\x{74D5}\x{74D6}\x{74D7}' .
-'\x{74D8}\x{74D9}\x{74DA}\x{74DB}\x{74DC}\x{74DD}\x{74DE}\x{74DF}\x{74E0}' .
-'\x{74E1}\x{74E2}\x{74E3}\x{74E4}\x{74E5}\x{74E6}\x{74E7}\x{74E8}\x{74E9}' .
-'\x{74EA}\x{74EC}\x{74ED}\x{74EE}\x{74EF}\x{74F0}\x{74F1}\x{74F2}\x{74F3}' .
-'\x{74F4}\x{74F5}\x{74F6}\x{74F7}\x{74F8}\x{74F9}\x{74FA}\x{74FB}\x{74FC}' .
-'\x{74FD}\x{74FE}\x{74FF}\x{7500}\x{7501}\x{7502}\x{7503}\x{7504}\x{7505}' .
-'\x{7506}\x{7507}\x{7508}\x{7509}\x{750A}\x{750B}\x{750C}\x{750D}\x{750F}' .
-'\x{7510}\x{7511}\x{7512}\x{7513}\x{7514}\x{7515}\x{7516}\x{7517}\x{7518}' .
-'\x{7519}\x{751A}\x{751B}\x{751C}\x{751D}\x{751E}\x{751F}\x{7521}\x{7522}' .
-'\x{7523}\x{7524}\x{7525}\x{7526}\x{7527}\x{7528}\x{7529}\x{752A}\x{752B}' .
-'\x{752C}\x{752D}\x{752E}\x{752F}\x{7530}\x{7531}\x{7532}\x{7533}\x{7535}' .
-'\x{7536}\x{7537}\x{7538}\x{7539}\x{753A}\x{753B}\x{753C}\x{753D}\x{753E}' .
-'\x{753F}\x{7540}\x{7542}\x{7543}\x{7544}\x{7545}\x{7546}\x{7547}\x{7548}' .
-'\x{7549}\x{754B}\x{754C}\x{754D}\x{754E}\x{754F}\x{7550}\x{7551}\x{7553}' .
-'\x{7554}\x{7556}\x{7557}\x{7558}\x{7559}\x{755A}\x{755B}\x{755C}\x{755D}' .
-'\x{755F}\x{7560}\x{7562}\x{7563}\x{7564}\x{7565}\x{7566}\x{7567}\x{7568}' .
-'\x{7569}\x{756A}\x{756B}\x{756C}\x{756D}\x{756E}\x{756F}\x{7570}\x{7572}' .
-'\x{7574}\x{7575}\x{7576}\x{7577}\x{7578}\x{7579}\x{757C}\x{757D}\x{757E}' .
-'\x{757F}\x{7580}\x{7581}\x{7582}\x{7583}\x{7584}\x{7586}\x{7587}\x{7588}' .
-'\x{7589}\x{758A}\x{758B}\x{758C}\x{758D}\x{758F}\x{7590}\x{7591}\x{7592}' .
-'\x{7593}\x{7594}\x{7595}\x{7596}\x{7597}\x{7598}\x{7599}\x{759A}\x{759B}' .
-'\x{759C}\x{759D}\x{759E}\x{759F}\x{75A0}\x{75A1}\x{75A2}\x{75A3}\x{75A4}' .
-'\x{75A5}\x{75A6}\x{75A7}\x{75A8}\x{75AA}\x{75AB}\x{75AC}\x{75AD}\x{75AE}' .
-'\x{75AF}\x{75B0}\x{75B1}\x{75B2}\x{75B3}\x{75B4}\x{75B5}\x{75B6}\x{75B8}' .
-'\x{75B9}\x{75BA}\x{75BB}\x{75BC}\x{75BD}\x{75BE}\x{75BF}\x{75C0}\x{75C1}' .
-'\x{75C2}\x{75C3}\x{75C4}\x{75C5}\x{75C6}\x{75C7}\x{75C8}\x{75C9}\x{75CA}' .
-'\x{75CB}\x{75CC}\x{75CD}\x{75CE}\x{75CF}\x{75D0}\x{75D1}\x{75D2}\x{75D3}' .
-'\x{75D4}\x{75D5}\x{75D6}\x{75D7}\x{75D8}\x{75D9}\x{75DA}\x{75DB}\x{75DD}' .
-'\x{75DE}\x{75DF}\x{75E0}\x{75E1}\x{75E2}\x{75E3}\x{75E4}\x{75E5}\x{75E6}' .
-'\x{75E7}\x{75E8}\x{75EA}\x{75EB}\x{75EC}\x{75ED}\x{75EF}\x{75F0}\x{75F1}' .
-'\x{75F2}\x{75F3}\x{75F4}\x{75F5}\x{75F6}\x{75F7}\x{75F8}\x{75F9}\x{75FA}' .
-'\x{75FB}\x{75FC}\x{75FD}\x{75FE}\x{75FF}\x{7600}\x{7601}\x{7602}\x{7603}' .
-'\x{7604}\x{7605}\x{7606}\x{7607}\x{7608}\x{7609}\x{760A}\x{760B}\x{760C}' .
-'\x{760D}\x{760E}\x{760F}\x{7610}\x{7611}\x{7612}\x{7613}\x{7614}\x{7615}' .
-'\x{7616}\x{7617}\x{7618}\x{7619}\x{761A}\x{761B}\x{761C}\x{761D}\x{761E}' .
-'\x{761F}\x{7620}\x{7621}\x{7622}\x{7623}\x{7624}\x{7625}\x{7626}\x{7627}' .
-'\x{7628}\x{7629}\x{762A}\x{762B}\x{762D}\x{762E}\x{762F}\x{7630}\x{7631}' .
-'\x{7632}\x{7633}\x{7634}\x{7635}\x{7636}\x{7637}\x{7638}\x{7639}\x{763A}' .
-'\x{763B}\x{763C}\x{763D}\x{763E}\x{763F}\x{7640}\x{7641}\x{7642}\x{7643}' .
-'\x{7646}\x{7647}\x{7648}\x{7649}\x{764A}\x{764B}\x{764C}\x{764D}\x{764F}' .
-'\x{7650}\x{7652}\x{7653}\x{7654}\x{7656}\x{7657}\x{7658}\x{7659}\x{765A}' .
-'\x{765B}\x{765C}\x{765D}\x{765E}\x{765F}\x{7660}\x{7661}\x{7662}\x{7663}' .
-'\x{7664}\x{7665}\x{7666}\x{7667}\x{7668}\x{7669}\x{766A}\x{766B}\x{766C}' .
-'\x{766D}\x{766E}\x{766F}\x{7670}\x{7671}\x{7672}\x{7674}\x{7675}\x{7676}' .
-'\x{7677}\x{7678}\x{7679}\x{767B}\x{767C}\x{767D}\x{767E}\x{767F}\x{7680}' .
-'\x{7681}\x{7682}\x{7683}\x{7684}\x{7685}\x{7686}\x{7687}\x{7688}\x{7689}' .
-'\x{768A}\x{768B}\x{768C}\x{768E}\x{768F}\x{7690}\x{7691}\x{7692}\x{7693}' .
-'\x{7694}\x{7695}\x{7696}\x{7697}\x{7698}\x{7699}\x{769A}\x{769B}\x{769C}' .
-'\x{769D}\x{769E}\x{769F}\x{76A0}\x{76A3}\x{76A4}\x{76A6}\x{76A7}\x{76A9}' .
-'\x{76AA}\x{76AB}\x{76AC}\x{76AD}\x{76AE}\x{76AF}\x{76B0}\x{76B1}\x{76B2}' .
-'\x{76B4}\x{76B5}\x{76B7}\x{76B8}\x{76BA}\x{76BB}\x{76BC}\x{76BD}\x{76BE}' .
-'\x{76BF}\x{76C0}\x{76C2}\x{76C3}\x{76C4}\x{76C5}\x{76C6}\x{76C7}\x{76C8}' .
-'\x{76C9}\x{76CA}\x{76CD}\x{76CE}\x{76CF}\x{76D0}\x{76D1}\x{76D2}\x{76D3}' .
-'\x{76D4}\x{76D5}\x{76D6}\x{76D7}\x{76D8}\x{76DA}\x{76DB}\x{76DC}\x{76DD}' .
-'\x{76DE}\x{76DF}\x{76E0}\x{76E1}\x{76E2}\x{76E3}\x{76E4}\x{76E5}\x{76E6}' .
-'\x{76E7}\x{76E8}\x{76E9}\x{76EA}\x{76EC}\x{76ED}\x{76EE}\x{76EF}\x{76F0}' .
-'\x{76F1}\x{76F2}\x{76F3}\x{76F4}\x{76F5}\x{76F6}\x{76F7}\x{76F8}\x{76F9}' .
-'\x{76FA}\x{76FB}\x{76FC}\x{76FD}\x{76FE}\x{76FF}\x{7701}\x{7703}\x{7704}' .
-'\x{7705}\x{7706}\x{7707}\x{7708}\x{7709}\x{770A}\x{770B}\x{770C}\x{770D}' .
-'\x{770F}\x{7710}\x{7711}\x{7712}\x{7713}\x{7714}\x{7715}\x{7716}\x{7717}' .
-'\x{7718}\x{7719}\x{771A}\x{771B}\x{771C}\x{771D}\x{771E}\x{771F}\x{7720}' .
-'\x{7722}\x{7723}\x{7725}\x{7726}\x{7727}\x{7728}\x{7729}\x{772A}\x{772C}' .
-'\x{772D}\x{772E}\x{772F}\x{7730}\x{7731}\x{7732}\x{7733}\x{7734}\x{7735}' .
-'\x{7736}\x{7737}\x{7738}\x{7739}\x{773A}\x{773B}\x{773C}\x{773D}\x{773E}' .
-'\x{7740}\x{7741}\x{7743}\x{7744}\x{7745}\x{7746}\x{7747}\x{7748}\x{7749}' .
-'\x{774A}\x{774B}\x{774C}\x{774D}\x{774E}\x{774F}\x{7750}\x{7751}\x{7752}' .
-'\x{7753}\x{7754}\x{7755}\x{7756}\x{7757}\x{7758}\x{7759}\x{775A}\x{775B}' .
-'\x{775C}\x{775D}\x{775E}\x{775F}\x{7760}\x{7761}\x{7762}\x{7763}\x{7765}' .
-'\x{7766}\x{7767}\x{7768}\x{7769}\x{776A}\x{776B}\x{776C}\x{776D}\x{776E}' .
-'\x{776F}\x{7770}\x{7771}\x{7772}\x{7773}\x{7774}\x{7775}\x{7776}\x{7777}' .
-'\x{7778}\x{7779}\x{777A}\x{777B}\x{777C}\x{777D}\x{777E}\x{777F}\x{7780}' .
-'\x{7781}\x{7782}\x{7783}\x{7784}\x{7785}\x{7786}\x{7787}\x{7788}\x{7789}' .
-'\x{778A}\x{778B}\x{778C}\x{778D}\x{778E}\x{778F}\x{7790}\x{7791}\x{7792}' .
-'\x{7793}\x{7794}\x{7795}\x{7797}\x{7798}\x{7799}\x{779A}\x{779B}\x{779C}' .
-'\x{779D}\x{779E}\x{779F}\x{77A0}\x{77A1}\x{77A2}\x{77A3}\x{77A5}\x{77A6}' .
-'\x{77A7}\x{77A8}\x{77A9}\x{77AA}\x{77AB}\x{77AC}\x{77AD}\x{77AE}\x{77AF}' .
-'\x{77B0}\x{77B1}\x{77B2}\x{77B3}\x{77B4}\x{77B5}\x{77B6}\x{77B7}\x{77B8}' .
-'\x{77B9}\x{77BA}\x{77BB}\x{77BC}\x{77BD}\x{77BF}\x{77C0}\x{77C2}\x{77C3}' .
-'\x{77C4}\x{77C5}\x{77C6}\x{77C7}\x{77C8}\x{77C9}\x{77CA}\x{77CB}\x{77CC}' .
-'\x{77CD}\x{77CE}\x{77CF}\x{77D0}\x{77D1}\x{77D3}\x{77D4}\x{77D5}\x{77D6}' .
-'\x{77D7}\x{77D8}\x{77D9}\x{77DA}\x{77DB}\x{77DC}\x{77DE}\x{77DF}\x{77E0}' .
-'\x{77E1}\x{77E2}\x{77E3}\x{77E5}\x{77E7}\x{77E8}\x{77E9}\x{77EA}\x{77EB}' .
-'\x{77EC}\x{77ED}\x{77EE}\x{77EF}\x{77F0}\x{77F1}\x{77F2}\x{77F3}\x{77F6}' .
-'\x{77F7}\x{77F8}\x{77F9}\x{77FA}\x{77FB}\x{77FC}\x{77FD}\x{77FE}\x{77FF}' .
-'\x{7800}\x{7801}\x{7802}\x{7803}\x{7804}\x{7805}\x{7806}\x{7808}\x{7809}' .
-'\x{780A}\x{780B}\x{780C}\x{780D}\x{780E}\x{780F}\x{7810}\x{7811}\x{7812}' .
-'\x{7813}\x{7814}\x{7815}\x{7816}\x{7817}\x{7818}\x{7819}\x{781A}\x{781B}' .
-'\x{781C}\x{781D}\x{781E}\x{781F}\x{7820}\x{7821}\x{7822}\x{7823}\x{7825}' .
-'\x{7826}\x{7827}\x{7828}\x{7829}\x{782A}\x{782B}\x{782C}\x{782D}\x{782E}' .
-'\x{782F}\x{7830}\x{7831}\x{7832}\x{7833}\x{7834}\x{7835}\x{7837}\x{7838}' .
-'\x{7839}\x{783A}\x{783B}\x{783C}\x{783D}\x{783E}\x{7840}\x{7841}\x{7843}' .
-'\x{7844}\x{7845}\x{7847}\x{7848}\x{7849}\x{784A}\x{784C}\x{784D}\x{784E}' .
-'\x{7850}\x{7851}\x{7852}\x{7853}\x{7854}\x{7855}\x{7856}\x{7857}\x{7858}' .
-'\x{7859}\x{785A}\x{785B}\x{785C}\x{785D}\x{785E}\x{785F}\x{7860}\x{7861}' .
-'\x{7862}\x{7863}\x{7864}\x{7865}\x{7866}\x{7867}\x{7868}\x{7869}\x{786A}' .
-'\x{786B}\x{786C}\x{786D}\x{786E}\x{786F}\x{7870}\x{7871}\x{7872}\x{7873}' .
-'\x{7874}\x{7875}\x{7877}\x{7878}\x{7879}\x{787A}\x{787B}\x{787C}\x{787D}' .
-'\x{787E}\x{787F}\x{7880}\x{7881}\x{7882}\x{7883}\x{7884}\x{7885}\x{7886}' .
-'\x{7887}\x{7889}\x{788A}\x{788B}\x{788C}\x{788D}\x{788E}\x{788F}\x{7890}' .
-'\x{7891}\x{7892}\x{7893}\x{7894}\x{7895}\x{7896}\x{7897}\x{7898}\x{7899}' .
-'\x{789A}\x{789B}\x{789C}\x{789D}\x{789E}\x{789F}\x{78A0}\x{78A1}\x{78A2}' .
-'\x{78A3}\x{78A4}\x{78A5}\x{78A6}\x{78A7}\x{78A8}\x{78A9}\x{78AA}\x{78AB}' .
-'\x{78AC}\x{78AD}\x{78AE}\x{78AF}\x{78B0}\x{78B1}\x{78B2}\x{78B3}\x{78B4}' .
-'\x{78B5}\x{78B6}\x{78B7}\x{78B8}\x{78B9}\x{78BA}\x{78BB}\x{78BC}\x{78BD}' .
-'\x{78BE}\x{78BF}\x{78C0}\x{78C1}\x{78C3}\x{78C4}\x{78C5}\x{78C6}\x{78C8}' .
-'\x{78C9}\x{78CA}\x{78CB}\x{78CC}\x{78CD}\x{78CE}\x{78CF}\x{78D0}\x{78D1}' .
-'\x{78D3}\x{78D4}\x{78D5}\x{78D6}\x{78D7}\x{78D8}\x{78D9}\x{78DA}\x{78DB}' .
-'\x{78DC}\x{78DD}\x{78DE}\x{78DF}\x{78E0}\x{78E1}\x{78E2}\x{78E3}\x{78E4}' .
-'\x{78E5}\x{78E6}\x{78E7}\x{78E8}\x{78E9}\x{78EA}\x{78EB}\x{78EC}\x{78ED}' .
-'\x{78EE}\x{78EF}\x{78F1}\x{78F2}\x{78F3}\x{78F4}\x{78F5}\x{78F6}\x{78F7}' .
-'\x{78F9}\x{78FA}\x{78FB}\x{78FC}\x{78FD}\x{78FE}\x{78FF}\x{7901}\x{7902}' .
-'\x{7903}\x{7904}\x{7905}\x{7906}\x{7907}\x{7909}\x{790A}\x{790B}\x{790C}' .
-'\x{790E}\x{790F}\x{7910}\x{7911}\x{7912}\x{7913}\x{7914}\x{7916}\x{7917}' .
-'\x{7918}\x{7919}\x{791A}\x{791B}\x{791C}\x{791D}\x{791E}\x{7921}\x{7922}' .
-'\x{7923}\x{7924}\x{7925}\x{7926}\x{7927}\x{7928}\x{7929}\x{792A}\x{792B}' .
-'\x{792C}\x{792D}\x{792E}\x{792F}\x{7930}\x{7931}\x{7933}\x{7934}\x{7935}' .
-'\x{7937}\x{7938}\x{7939}\x{793A}\x{793B}\x{793C}\x{793D}\x{793E}\x{793F}' .
-'\x{7940}\x{7941}\x{7942}\x{7943}\x{7944}\x{7945}\x{7946}\x{7947}\x{7948}' .
-'\x{7949}\x{794A}\x{794B}\x{794C}\x{794D}\x{794E}\x{794F}\x{7950}\x{7951}' .
-'\x{7952}\x{7953}\x{7954}\x{7955}\x{7956}\x{7957}\x{7958}\x{795A}\x{795B}' .
-'\x{795C}\x{795D}\x{795E}\x{795F}\x{7960}\x{7961}\x{7962}\x{7963}\x{7964}' .
-'\x{7965}\x{7966}\x{7967}\x{7968}\x{7969}\x{796A}\x{796B}\x{796D}\x{796F}' .
-'\x{7970}\x{7971}\x{7972}\x{7973}\x{7974}\x{7977}\x{7978}\x{7979}\x{797A}' .
-'\x{797B}\x{797C}\x{797D}\x{797E}\x{797F}\x{7980}\x{7981}\x{7982}\x{7983}' .
-'\x{7984}\x{7985}\x{7988}\x{7989}\x{798A}\x{798B}\x{798C}\x{798D}\x{798E}' .
-'\x{798F}\x{7990}\x{7991}\x{7992}\x{7993}\x{7994}\x{7995}\x{7996}\x{7997}' .
-'\x{7998}\x{7999}\x{799A}\x{799B}\x{799C}\x{799F}\x{79A0}\x{79A1}\x{79A2}' .
-'\x{79A3}\x{79A4}\x{79A5}\x{79A6}\x{79A7}\x{79A8}\x{79AA}\x{79AB}\x{79AC}' .
-'\x{79AD}\x{79AE}\x{79AF}\x{79B0}\x{79B1}\x{79B2}\x{79B3}\x{79B4}\x{79B5}' .
-'\x{79B6}\x{79B7}\x{79B8}\x{79B9}\x{79BA}\x{79BB}\x{79BD}\x{79BE}\x{79BF}' .
-'\x{79C0}\x{79C1}\x{79C2}\x{79C3}\x{79C5}\x{79C6}\x{79C8}\x{79C9}\x{79CA}' .
-'\x{79CB}\x{79CD}\x{79CE}\x{79CF}\x{79D0}\x{79D1}\x{79D2}\x{79D3}\x{79D5}' .
-'\x{79D6}\x{79D8}\x{79D9}\x{79DA}\x{79DB}\x{79DC}\x{79DD}\x{79DE}\x{79DF}' .
-'\x{79E0}\x{79E1}\x{79E2}\x{79E3}\x{79E4}\x{79E5}\x{79E6}\x{79E7}\x{79E8}' .
-'\x{79E9}\x{79EA}\x{79EB}\x{79EC}\x{79ED}\x{79EE}\x{79EF}\x{79F0}\x{79F1}' .
-'\x{79F2}\x{79F3}\x{79F4}\x{79F5}\x{79F6}\x{79F7}\x{79F8}\x{79F9}\x{79FA}' .
-'\x{79FB}\x{79FC}\x{79FD}\x{79FE}\x{79FF}\x{7A00}\x{7A02}\x{7A03}\x{7A04}' .
-'\x{7A05}\x{7A06}\x{7A08}\x{7A0A}\x{7A0B}\x{7A0C}\x{7A0D}\x{7A0E}\x{7A0F}' .
-'\x{7A10}\x{7A11}\x{7A12}\x{7A13}\x{7A14}\x{7A15}\x{7A16}\x{7A17}\x{7A18}' .
-'\x{7A19}\x{7A1A}\x{7A1B}\x{7A1C}\x{7A1D}\x{7A1E}\x{7A1F}\x{7A20}\x{7A21}' .
-'\x{7A22}\x{7A23}\x{7A24}\x{7A25}\x{7A26}\x{7A27}\x{7A28}\x{7A29}\x{7A2A}' .
-'\x{7A2B}\x{7A2D}\x{7A2E}\x{7A2F}\x{7A30}\x{7A31}\x{7A32}\x{7A33}\x{7A34}' .
-'\x{7A35}\x{7A37}\x{7A39}\x{7A3B}\x{7A3C}\x{7A3D}\x{7A3E}\x{7A3F}\x{7A40}' .
-'\x{7A41}\x{7A42}\x{7A43}\x{7A44}\x{7A45}\x{7A46}\x{7A47}\x{7A48}\x{7A49}' .
-'\x{7A4A}\x{7A4B}\x{7A4C}\x{7A4D}\x{7A4E}\x{7A50}\x{7A51}\x{7A52}\x{7A53}' .
-'\x{7A54}\x{7A55}\x{7A56}\x{7A57}\x{7A58}\x{7A59}\x{7A5A}\x{7A5B}\x{7A5C}' .
-'\x{7A5D}\x{7A5E}\x{7A5F}\x{7A60}\x{7A61}\x{7A62}\x{7A65}\x{7A66}\x{7A67}' .
-'\x{7A68}\x{7A69}\x{7A6B}\x{7A6C}\x{7A6D}\x{7A6E}\x{7A70}\x{7A71}\x{7A72}' .
-'\x{7A73}\x{7A74}\x{7A75}\x{7A76}\x{7A77}\x{7A78}\x{7A79}\x{7A7A}\x{7A7B}' .
-'\x{7A7C}\x{7A7D}\x{7A7E}\x{7A7F}\x{7A80}\x{7A81}\x{7A83}\x{7A84}\x{7A85}' .
-'\x{7A86}\x{7A87}\x{7A88}\x{7A89}\x{7A8A}\x{7A8B}\x{7A8C}\x{7A8D}\x{7A8E}' .
-'\x{7A8F}\x{7A90}\x{7A91}\x{7A92}\x{7A93}\x{7A94}\x{7A95}\x{7A96}\x{7A97}' .
-'\x{7A98}\x{7A99}\x{7A9C}\x{7A9D}\x{7A9E}\x{7A9F}\x{7AA0}\x{7AA1}\x{7AA2}' .
-'\x{7AA3}\x{7AA4}\x{7AA5}\x{7AA6}\x{7AA7}\x{7AA8}\x{7AA9}\x{7AAA}\x{7AAB}' .
-'\x{7AAC}\x{7AAD}\x{7AAE}\x{7AAF}\x{7AB0}\x{7AB1}\x{7AB2}\x{7AB3}\x{7AB4}' .
-'\x{7AB5}\x{7AB6}\x{7AB7}\x{7AB8}\x{7ABA}\x{7ABE}\x{7ABF}\x{7AC0}\x{7AC1}' .
-'\x{7AC4}\x{7AC5}\x{7AC7}\x{7AC8}\x{7AC9}\x{7ACA}\x{7ACB}\x{7ACC}\x{7ACD}' .
-'\x{7ACE}\x{7ACF}\x{7AD0}\x{7AD1}\x{7AD2}\x{7AD3}\x{7AD4}\x{7AD5}\x{7AD6}' .
-'\x{7AD8}\x{7AD9}\x{7ADB}\x{7ADC}\x{7ADD}\x{7ADE}\x{7ADF}\x{7AE0}\x{7AE1}' .
-'\x{7AE2}\x{7AE3}\x{7AE4}\x{7AE5}\x{7AE6}\x{7AE7}\x{7AE8}\x{7AEA}\x{7AEB}' .
-'\x{7AEC}\x{7AED}\x{7AEE}\x{7AEF}\x{7AF0}\x{7AF1}\x{7AF2}\x{7AF3}\x{7AF4}' .
-'\x{7AF6}\x{7AF7}\x{7AF8}\x{7AF9}\x{7AFA}\x{7AFB}\x{7AFD}\x{7AFE}\x{7AFF}' .
-'\x{7B00}\x{7B01}\x{7B02}\x{7B03}\x{7B04}\x{7B05}\x{7B06}\x{7B08}\x{7B09}' .
-'\x{7B0A}\x{7B0B}\x{7B0C}\x{7B0D}\x{7B0E}\x{7B0F}\x{7B10}\x{7B11}\x{7B12}' .
-'\x{7B13}\x{7B14}\x{7B15}\x{7B16}\x{7B17}\x{7B18}\x{7B19}\x{7B1A}\x{7B1B}' .
-'\x{7B1C}\x{7B1D}\x{7B1E}\x{7B20}\x{7B21}\x{7B22}\x{7B23}\x{7B24}\x{7B25}' .
-'\x{7B26}\x{7B28}\x{7B2A}\x{7B2B}\x{7B2C}\x{7B2D}\x{7B2E}\x{7B2F}\x{7B30}' .
-'\x{7B31}\x{7B32}\x{7B33}\x{7B34}\x{7B35}\x{7B36}\x{7B37}\x{7B38}\x{7B39}' .
-'\x{7B3A}\x{7B3B}\x{7B3C}\x{7B3D}\x{7B3E}\x{7B3F}\x{7B40}\x{7B41}\x{7B43}' .
-'\x{7B44}\x{7B45}\x{7B46}\x{7B47}\x{7B48}\x{7B49}\x{7B4A}\x{7B4B}\x{7B4C}' .
-'\x{7B4D}\x{7B4E}\x{7B4F}\x{7B50}\x{7B51}\x{7B52}\x{7B54}\x{7B55}\x{7B56}' .
-'\x{7B57}\x{7B58}\x{7B59}\x{7B5A}\x{7B5B}\x{7B5C}\x{7B5D}\x{7B5E}\x{7B5F}' .
-'\x{7B60}\x{7B61}\x{7B62}\x{7B63}\x{7B64}\x{7B65}\x{7B66}\x{7B67}\x{7B68}' .
-'\x{7B69}\x{7B6A}\x{7B6B}\x{7B6C}\x{7B6D}\x{7B6E}\x{7B70}\x{7B71}\x{7B72}' .
-'\x{7B73}\x{7B74}\x{7B75}\x{7B76}\x{7B77}\x{7B78}\x{7B79}\x{7B7B}\x{7B7C}' .
-'\x{7B7D}\x{7B7E}\x{7B7F}\x{7B80}\x{7B81}\x{7B82}\x{7B83}\x{7B84}\x{7B85}' .
-'\x{7B87}\x{7B88}\x{7B89}\x{7B8A}\x{7B8B}\x{7B8C}\x{7B8D}\x{7B8E}\x{7B8F}' .
-'\x{7B90}\x{7B91}\x{7B93}\x{7B94}\x{7B95}\x{7B96}\x{7B97}\x{7B98}\x{7B99}' .
-'\x{7B9A}\x{7B9B}\x{7B9C}\x{7B9D}\x{7B9E}\x{7B9F}\x{7BA0}\x{7BA1}\x{7BA2}' .
-'\x{7BA4}\x{7BA6}\x{7BA7}\x{7BA8}\x{7BA9}\x{7BAA}\x{7BAB}\x{7BAC}\x{7BAD}' .
-'\x{7BAE}\x{7BAF}\x{7BB1}\x{7BB3}\x{7BB4}\x{7BB5}\x{7BB6}\x{7BB7}\x{7BB8}' .
-'\x{7BB9}\x{7BBA}\x{7BBB}\x{7BBC}\x{7BBD}\x{7BBE}\x{7BBF}\x{7BC0}\x{7BC1}' .
-'\x{7BC2}\x{7BC3}\x{7BC4}\x{7BC5}\x{7BC6}\x{7BC7}\x{7BC8}\x{7BC9}\x{7BCA}' .
-'\x{7BCB}\x{7BCC}\x{7BCD}\x{7BCE}\x{7BD0}\x{7BD1}\x{7BD2}\x{7BD3}\x{7BD4}' .
-'\x{7BD5}\x{7BD6}\x{7BD7}\x{7BD8}\x{7BD9}\x{7BDA}\x{7BDB}\x{7BDC}\x{7BDD}' .
-'\x{7BDE}\x{7BDF}\x{7BE0}\x{7BE1}\x{7BE2}\x{7BE3}\x{7BE4}\x{7BE5}\x{7BE6}' .
-'\x{7BE7}\x{7BE8}\x{7BE9}\x{7BEA}\x{7BEB}\x{7BEC}\x{7BED}\x{7BEE}\x{7BEF}' .
-'\x{7BF0}\x{7BF1}\x{7BF2}\x{7BF3}\x{7BF4}\x{7BF5}\x{7BF6}\x{7BF7}\x{7BF8}' .
-'\x{7BF9}\x{7BFB}\x{7BFC}\x{7BFD}\x{7BFE}\x{7BFF}\x{7C00}\x{7C01}\x{7C02}' .
-'\x{7C03}\x{7C04}\x{7C05}\x{7C06}\x{7C07}\x{7C08}\x{7C09}\x{7C0A}\x{7C0B}' .
-'\x{7C0C}\x{7C0D}\x{7C0E}\x{7C0F}\x{7C10}\x{7C11}\x{7C12}\x{7C13}\x{7C15}' .
-'\x{7C16}\x{7C17}\x{7C18}\x{7C19}\x{7C1A}\x{7C1C}\x{7C1D}\x{7C1E}\x{7C1F}' .
-'\x{7C20}\x{7C21}\x{7C22}\x{7C23}\x{7C24}\x{7C25}\x{7C26}\x{7C27}\x{7C28}' .
-'\x{7C29}\x{7C2A}\x{7C2B}\x{7C2C}\x{7C2D}\x{7C30}\x{7C31}\x{7C32}\x{7C33}' .
-'\x{7C34}\x{7C35}\x{7C36}\x{7C37}\x{7C38}\x{7C39}\x{7C3A}\x{7C3B}\x{7C3C}' .
-'\x{7C3D}\x{7C3E}\x{7C3F}\x{7C40}\x{7C41}\x{7C42}\x{7C43}\x{7C44}\x{7C45}' .
-'\x{7C46}\x{7C47}\x{7C48}\x{7C49}\x{7C4A}\x{7C4B}\x{7C4C}\x{7C4D}\x{7C4E}' .
-'\x{7C50}\x{7C51}\x{7C53}\x{7C54}\x{7C56}\x{7C57}\x{7C58}\x{7C59}\x{7C5A}' .
-'\x{7C5B}\x{7C5C}\x{7C5E}\x{7C5F}\x{7C60}\x{7C61}\x{7C62}\x{7C63}\x{7C64}' .
-'\x{7C65}\x{7C66}\x{7C67}\x{7C68}\x{7C69}\x{7C6A}\x{7C6B}\x{7C6C}\x{7C6D}' .
-'\x{7C6E}\x{7C6F}\x{7C70}\x{7C71}\x{7C72}\x{7C73}\x{7C74}\x{7C75}\x{7C77}' .
-'\x{7C78}\x{7C79}\x{7C7A}\x{7C7B}\x{7C7C}\x{7C7D}\x{7C7E}\x{7C7F}\x{7C80}' .
-'\x{7C81}\x{7C82}\x{7C84}\x{7C85}\x{7C86}\x{7C88}\x{7C89}\x{7C8A}\x{7C8B}' .
-'\x{7C8C}\x{7C8D}\x{7C8E}\x{7C8F}\x{7C90}\x{7C91}\x{7C92}\x{7C94}\x{7C95}' .
-'\x{7C96}\x{7C97}\x{7C98}\x{7C99}\x{7C9B}\x{7C9C}\x{7C9D}\x{7C9E}\x{7C9F}' .
-'\x{7CA0}\x{7CA1}\x{7CA2}\x{7CA3}\x{7CA4}\x{7CA5}\x{7CA6}\x{7CA7}\x{7CA8}' .
-'\x{7CA9}\x{7CAA}\x{7CAD}\x{7CAE}\x{7CAF}\x{7CB0}\x{7CB1}\x{7CB2}\x{7CB3}' .
-'\x{7CB4}\x{7CB5}\x{7CB6}\x{7CB7}\x{7CB8}\x{7CB9}\x{7CBA}\x{7CBB}\x{7CBC}' .
-'\x{7CBD}\x{7CBE}\x{7CBF}\x{7CC0}\x{7CC1}\x{7CC2}\x{7CC3}\x{7CC4}\x{7CC5}' .
-'\x{7CC6}\x{7CC7}\x{7CC8}\x{7CC9}\x{7CCA}\x{7CCB}\x{7CCC}\x{7CCD}\x{7CCE}' .
-'\x{7CCF}\x{7CD0}\x{7CD1}\x{7CD2}\x{7CD4}\x{7CD5}\x{7CD6}\x{7CD7}\x{7CD8}' .
-'\x{7CD9}\x{7CDC}\x{7CDD}\x{7CDE}\x{7CDF}\x{7CE0}\x{7CE2}\x{7CE4}\x{7CE7}' .
-'\x{7CE8}\x{7CE9}\x{7CEA}\x{7CEB}\x{7CEC}\x{7CED}\x{7CEE}\x{7CEF}\x{7CF0}' .
-'\x{7CF1}\x{7CF2}\x{7CF3}\x{7CF4}\x{7CF5}\x{7CF6}\x{7CF7}\x{7CF8}\x{7CF9}' .
-'\x{7CFA}\x{7CFB}\x{7CFD}\x{7CFE}\x{7D00}\x{7D01}\x{7D02}\x{7D03}\x{7D04}' .
-'\x{7D05}\x{7D06}\x{7D07}\x{7D08}\x{7D09}\x{7D0A}\x{7D0B}\x{7D0C}\x{7D0D}' .
-'\x{7D0E}\x{7D0F}\x{7D10}\x{7D11}\x{7D12}\x{7D13}\x{7D14}\x{7D15}\x{7D16}' .
-'\x{7D17}\x{7D18}\x{7D19}\x{7D1A}\x{7D1B}\x{7D1C}\x{7D1D}\x{7D1E}\x{7D1F}' .
-'\x{7D20}\x{7D21}\x{7D22}\x{7D24}\x{7D25}\x{7D26}\x{7D27}\x{7D28}\x{7D29}' .
-'\x{7D2B}\x{7D2C}\x{7D2E}\x{7D2F}\x{7D30}\x{7D31}\x{7D32}\x{7D33}\x{7D34}' .
-'\x{7D35}\x{7D36}\x{7D37}\x{7D38}\x{7D39}\x{7D3A}\x{7D3B}\x{7D3C}\x{7D3D}' .
-'\x{7D3E}\x{7D3F}\x{7D40}\x{7D41}\x{7D42}\x{7D43}\x{7D44}\x{7D45}\x{7D46}' .
-'\x{7D47}\x{7D49}\x{7D4A}\x{7D4B}\x{7D4C}\x{7D4E}\x{7D4F}\x{7D50}\x{7D51}' .
-'\x{7D52}\x{7D53}\x{7D54}\x{7D55}\x{7D56}\x{7D57}\x{7D58}\x{7D59}\x{7D5B}' .
-'\x{7D5C}\x{7D5D}\x{7D5E}\x{7D5F}\x{7D60}\x{7D61}\x{7D62}\x{7D63}\x{7D65}' .
-'\x{7D66}\x{7D67}\x{7D68}\x{7D69}\x{7D6A}\x{7D6B}\x{7D6C}\x{7D6D}\x{7D6E}' .
-'\x{7D6F}\x{7D70}\x{7D71}\x{7D72}\x{7D73}\x{7D74}\x{7D75}\x{7D76}\x{7D77}' .
-'\x{7D79}\x{7D7A}\x{7D7B}\x{7D7C}\x{7D7D}\x{7D7E}\x{7D7F}\x{7D80}\x{7D81}' .
-'\x{7D83}\x{7D84}\x{7D85}\x{7D86}\x{7D87}\x{7D88}\x{7D89}\x{7D8A}\x{7D8B}' .
-'\x{7D8C}\x{7D8D}\x{7D8E}\x{7D8F}\x{7D90}\x{7D91}\x{7D92}\x{7D93}\x{7D94}' .
-'\x{7D96}\x{7D97}\x{7D99}\x{7D9B}\x{7D9C}\x{7D9D}\x{7D9E}\x{7D9F}\x{7DA0}' .
-'\x{7DA1}\x{7DA2}\x{7DA3}\x{7DA5}\x{7DA6}\x{7DA7}\x{7DA9}\x{7DAA}\x{7DAB}' .
-'\x{7DAC}\x{7DAD}\x{7DAE}\x{7DAF}\x{7DB0}\x{7DB1}\x{7DB2}\x{7DB3}\x{7DB4}' .
-'\x{7DB5}\x{7DB6}\x{7DB7}\x{7DB8}\x{7DB9}\x{7DBA}\x{7DBB}\x{7DBC}\x{7DBD}' .
-'\x{7DBE}\x{7DBF}\x{7DC0}\x{7DC1}\x{7DC2}\x{7DC3}\x{7DC4}\x{7DC5}\x{7DC6}' .
-'\x{7DC7}\x{7DC8}\x{7DC9}\x{7DCA}\x{7DCB}\x{7DCC}\x{7DCE}\x{7DCF}\x{7DD0}' .
-'\x{7DD1}\x{7DD2}\x{7DD4}\x{7DD5}\x{7DD6}\x{7DD7}\x{7DD8}\x{7DD9}\x{7DDA}' .
-'\x{7DDB}\x{7DDD}\x{7DDE}\x{7DDF}\x{7DE0}\x{7DE1}\x{7DE2}\x{7DE3}\x{7DE6}' .
-'\x{7DE7}\x{7DE8}\x{7DE9}\x{7DEA}\x{7DEC}\x{7DED}\x{7DEE}\x{7DEF}\x{7DF0}' .
-'\x{7DF1}\x{7DF2}\x{7DF3}\x{7DF4}\x{7DF5}\x{7DF6}\x{7DF7}\x{7DF8}\x{7DF9}' .
-'\x{7DFA}\x{7DFB}\x{7DFC}\x{7E00}\x{7E01}\x{7E02}\x{7E03}\x{7E04}\x{7E05}' .
-'\x{7E06}\x{7E07}\x{7E08}\x{7E09}\x{7E0A}\x{7E0B}\x{7E0C}\x{7E0D}\x{7E0E}' .
-'\x{7E0F}\x{7E10}\x{7E11}\x{7E12}\x{7E13}\x{7E14}\x{7E15}\x{7E16}\x{7E17}' .
-'\x{7E19}\x{7E1A}\x{7E1B}\x{7E1C}\x{7E1D}\x{7E1E}\x{7E1F}\x{7E20}\x{7E21}' .
-'\x{7E22}\x{7E23}\x{7E24}\x{7E25}\x{7E26}\x{7E27}\x{7E28}\x{7E29}\x{7E2A}' .
-'\x{7E2B}\x{7E2C}\x{7E2D}\x{7E2E}\x{7E2F}\x{7E30}\x{7E31}\x{7E32}\x{7E33}' .
-'\x{7E34}\x{7E35}\x{7E36}\x{7E37}\x{7E38}\x{7E39}\x{7E3A}\x{7E3B}\x{7E3C}' .
-'\x{7E3D}\x{7E3E}\x{7E3F}\x{7E40}\x{7E41}\x{7E42}\x{7E43}\x{7E44}\x{7E45}' .
-'\x{7E46}\x{7E47}\x{7E48}\x{7E49}\x{7E4C}\x{7E4D}\x{7E4E}\x{7E4F}\x{7E50}' .
-'\x{7E51}\x{7E52}\x{7E53}\x{7E54}\x{7E55}\x{7E56}\x{7E57}\x{7E58}\x{7E59}' .
-'\x{7E5A}\x{7E5C}\x{7E5D}\x{7E5E}\x{7E5F}\x{7E60}\x{7E61}\x{7E62}\x{7E63}' .
-'\x{7E65}\x{7E66}\x{7E67}\x{7E68}\x{7E69}\x{7E6A}\x{7E6B}\x{7E6C}\x{7E6D}' .
-'\x{7E6E}\x{7E6F}\x{7E70}\x{7E71}\x{7E72}\x{7E73}\x{7E74}\x{7E75}\x{7E76}' .
-'\x{7E77}\x{7E78}\x{7E79}\x{7E7A}\x{7E7B}\x{7E7C}\x{7E7D}\x{7E7E}\x{7E7F}' .
-'\x{7E80}\x{7E81}\x{7E82}\x{7E83}\x{7E84}\x{7E85}\x{7E86}\x{7E87}\x{7E88}' .
-'\x{7E89}\x{7E8A}\x{7E8B}\x{7E8C}\x{7E8D}\x{7E8E}\x{7E8F}\x{7E90}\x{7E91}' .
-'\x{7E92}\x{7E93}\x{7E94}\x{7E95}\x{7E96}\x{7E97}\x{7E98}\x{7E99}\x{7E9A}' .
-'\x{7E9B}\x{7E9C}\x{7E9E}\x{7E9F}\x{7EA0}\x{7EA1}\x{7EA2}\x{7EA3}\x{7EA4}' .
-'\x{7EA5}\x{7EA6}\x{7EA7}\x{7EA8}\x{7EA9}\x{7EAA}\x{7EAB}\x{7EAC}\x{7EAD}' .
-'\x{7EAE}\x{7EAF}\x{7EB0}\x{7EB1}\x{7EB2}\x{7EB3}\x{7EB4}\x{7EB5}\x{7EB6}' .
-'\x{7EB7}\x{7EB8}\x{7EB9}\x{7EBA}\x{7EBB}\x{7EBC}\x{7EBD}\x{7EBE}\x{7EBF}' .
-'\x{7EC0}\x{7EC1}\x{7EC2}\x{7EC3}\x{7EC4}\x{7EC5}\x{7EC6}\x{7EC7}\x{7EC8}' .
-'\x{7EC9}\x{7ECA}\x{7ECB}\x{7ECC}\x{7ECD}\x{7ECE}\x{7ECF}\x{7ED0}\x{7ED1}' .
-'\x{7ED2}\x{7ED3}\x{7ED4}\x{7ED5}\x{7ED6}\x{7ED7}\x{7ED8}\x{7ED9}\x{7EDA}' .
-'\x{7EDB}\x{7EDC}\x{7EDD}\x{7EDE}\x{7EDF}\x{7EE0}\x{7EE1}\x{7EE2}\x{7EE3}' .
-'\x{7EE4}\x{7EE5}\x{7EE6}\x{7EE7}\x{7EE8}\x{7EE9}\x{7EEA}\x{7EEB}\x{7EEC}' .
-'\x{7EED}\x{7EEE}\x{7EEF}\x{7EF0}\x{7EF1}\x{7EF2}\x{7EF3}\x{7EF4}\x{7EF5}' .
-'\x{7EF6}\x{7EF7}\x{7EF8}\x{7EF9}\x{7EFA}\x{7EFB}\x{7EFC}\x{7EFD}\x{7EFE}' .
-'\x{7EFF}\x{7F00}\x{7F01}\x{7F02}\x{7F03}\x{7F04}\x{7F05}\x{7F06}\x{7F07}' .
-'\x{7F08}\x{7F09}\x{7F0A}\x{7F0B}\x{7F0C}\x{7F0D}\x{7F0E}\x{7F0F}\x{7F10}' .
-'\x{7F11}\x{7F12}\x{7F13}\x{7F14}\x{7F15}\x{7F16}\x{7F17}\x{7F18}\x{7F19}' .
-'\x{7F1A}\x{7F1B}\x{7F1C}\x{7F1D}\x{7F1E}\x{7F1F}\x{7F20}\x{7F21}\x{7F22}' .
-'\x{7F23}\x{7F24}\x{7F25}\x{7F26}\x{7F27}\x{7F28}\x{7F29}\x{7F2A}\x{7F2B}' .
-'\x{7F2C}\x{7F2D}\x{7F2E}\x{7F2F}\x{7F30}\x{7F31}\x{7F32}\x{7F33}\x{7F34}' .
-'\x{7F35}\x{7F36}\x{7F37}\x{7F38}\x{7F39}\x{7F3A}\x{7F3D}\x{7F3E}\x{7F3F}' .
-'\x{7F40}\x{7F42}\x{7F43}\x{7F44}\x{7F45}\x{7F47}\x{7F48}\x{7F49}\x{7F4A}' .
-'\x{7F4B}\x{7F4C}\x{7F4D}\x{7F4E}\x{7F4F}\x{7F50}\x{7F51}\x{7F52}\x{7F53}' .
-'\x{7F54}\x{7F55}\x{7F56}\x{7F57}\x{7F58}\x{7F5A}\x{7F5B}\x{7F5C}\x{7F5D}' .
-'\x{7F5E}\x{7F5F}\x{7F60}\x{7F61}\x{7F62}\x{7F63}\x{7F64}\x{7F65}\x{7F66}' .
-'\x{7F67}\x{7F68}\x{7F69}\x{7F6A}\x{7F6B}\x{7F6C}\x{7F6D}\x{7F6E}\x{7F6F}' .
-'\x{7F70}\x{7F71}\x{7F72}\x{7F73}\x{7F74}\x{7F75}\x{7F76}\x{7F77}\x{7F78}' .
-'\x{7F79}\x{7F7A}\x{7F7B}\x{7F7C}\x{7F7D}\x{7F7E}\x{7F7F}\x{7F80}\x{7F81}' .
-'\x{7F82}\x{7F83}\x{7F85}\x{7F86}\x{7F87}\x{7F88}\x{7F89}\x{7F8A}\x{7F8B}' .
-'\x{7F8C}\x{7F8D}\x{7F8E}\x{7F8F}\x{7F91}\x{7F92}\x{7F93}\x{7F94}\x{7F95}' .
-'\x{7F96}\x{7F98}\x{7F9A}\x{7F9B}\x{7F9C}\x{7F9D}\x{7F9E}\x{7F9F}\x{7FA0}' .
-'\x{7FA1}\x{7FA2}\x{7FA3}\x{7FA4}\x{7FA5}\x{7FA6}\x{7FA7}\x{7FA8}\x{7FA9}' .
-'\x{7FAA}\x{7FAB}\x{7FAC}\x{7FAD}\x{7FAE}\x{7FAF}\x{7FB0}\x{7FB1}\x{7FB2}' .
-'\x{7FB3}\x{7FB5}\x{7FB6}\x{7FB7}\x{7FB8}\x{7FB9}\x{7FBA}\x{7FBB}\x{7FBC}' .
-'\x{7FBD}\x{7FBE}\x{7FBF}\x{7FC0}\x{7FC1}\x{7FC2}\x{7FC3}\x{7FC4}\x{7FC5}' .
-'\x{7FC6}\x{7FC7}\x{7FC8}\x{7FC9}\x{7FCA}\x{7FCB}\x{7FCC}\x{7FCD}\x{7FCE}' .
-'\x{7FCF}\x{7FD0}\x{7FD1}\x{7FD2}\x{7FD3}\x{7FD4}\x{7FD5}\x{7FD7}\x{7FD8}' .
-'\x{7FD9}\x{7FDA}\x{7FDB}\x{7FDC}\x{7FDE}\x{7FDF}\x{7FE0}\x{7FE1}\x{7FE2}' .
-'\x{7FE3}\x{7FE5}\x{7FE6}\x{7FE7}\x{7FE8}\x{7FE9}\x{7FEA}\x{7FEB}\x{7FEC}' .
-'\x{7FED}\x{7FEE}\x{7FEF}\x{7FF0}\x{7FF1}\x{7FF2}\x{7FF3}\x{7FF4}\x{7FF5}' .
-'\x{7FF6}\x{7FF7}\x{7FF8}\x{7FF9}\x{7FFA}\x{7FFB}\x{7FFC}\x{7FFD}\x{7FFE}' .
-'\x{7FFF}\x{8000}\x{8001}\x{8002}\x{8003}\x{8004}\x{8005}\x{8006}\x{8007}' .
-'\x{8008}\x{8009}\x{800B}\x{800C}\x{800D}\x{800E}\x{800F}\x{8010}\x{8011}' .
-'\x{8012}\x{8013}\x{8014}\x{8015}\x{8016}\x{8017}\x{8018}\x{8019}\x{801A}' .
-'\x{801B}\x{801C}\x{801D}\x{801E}\x{801F}\x{8020}\x{8021}\x{8022}\x{8023}' .
-'\x{8024}\x{8025}\x{8026}\x{8027}\x{8028}\x{8029}\x{802A}\x{802B}\x{802C}' .
-'\x{802D}\x{802E}\x{8030}\x{8031}\x{8032}\x{8033}\x{8034}\x{8035}\x{8036}' .
-'\x{8037}\x{8038}\x{8039}\x{803A}\x{803B}\x{803D}\x{803E}\x{803F}\x{8041}' .
-'\x{8042}\x{8043}\x{8044}\x{8045}\x{8046}\x{8047}\x{8048}\x{8049}\x{804A}' .
-'\x{804B}\x{804C}\x{804D}\x{804E}\x{804F}\x{8050}\x{8051}\x{8052}\x{8053}' .
-'\x{8054}\x{8055}\x{8056}\x{8057}\x{8058}\x{8059}\x{805A}\x{805B}\x{805C}' .
-'\x{805D}\x{805E}\x{805F}\x{8060}\x{8061}\x{8062}\x{8063}\x{8064}\x{8065}' .
-'\x{8067}\x{8068}\x{8069}\x{806A}\x{806B}\x{806C}\x{806D}\x{806E}\x{806F}' .
-'\x{8070}\x{8071}\x{8072}\x{8073}\x{8074}\x{8075}\x{8076}\x{8077}\x{8078}' .
-'\x{8079}\x{807A}\x{807B}\x{807C}\x{807D}\x{807E}\x{807F}\x{8080}\x{8081}' .
-'\x{8082}\x{8083}\x{8084}\x{8085}\x{8086}\x{8087}\x{8089}\x{808A}\x{808B}' .
-'\x{808C}\x{808D}\x{808F}\x{8090}\x{8091}\x{8092}\x{8093}\x{8095}\x{8096}' .
-'\x{8097}\x{8098}\x{8099}\x{809A}\x{809B}\x{809C}\x{809D}\x{809E}\x{809F}' .
-'\x{80A0}\x{80A1}\x{80A2}\x{80A3}\x{80A4}\x{80A5}\x{80A9}\x{80AA}\x{80AB}' .
-'\x{80AD}\x{80AE}\x{80AF}\x{80B0}\x{80B1}\x{80B2}\x{80B4}\x{80B5}\x{80B6}' .
-'\x{80B7}\x{80B8}\x{80BA}\x{80BB}\x{80BC}\x{80BD}\x{80BE}\x{80BF}\x{80C0}' .
-'\x{80C1}\x{80C2}\x{80C3}\x{80C4}\x{80C5}\x{80C6}\x{80C7}\x{80C8}\x{80C9}' .
-'\x{80CA}\x{80CB}\x{80CC}\x{80CD}\x{80CE}\x{80CF}\x{80D0}\x{80D1}\x{80D2}' .
-'\x{80D3}\x{80D4}\x{80D5}\x{80D6}\x{80D7}\x{80D8}\x{80D9}\x{80DA}\x{80DB}' .
-'\x{80DC}\x{80DD}\x{80DE}\x{80E0}\x{80E1}\x{80E2}\x{80E3}\x{80E4}\x{80E5}' .
-'\x{80E6}\x{80E7}\x{80E8}\x{80E9}\x{80EA}\x{80EB}\x{80EC}\x{80ED}\x{80EE}' .
-'\x{80EF}\x{80F0}\x{80F1}\x{80F2}\x{80F3}\x{80F4}\x{80F5}\x{80F6}\x{80F7}' .
-'\x{80F8}\x{80F9}\x{80FA}\x{80FB}\x{80FC}\x{80FD}\x{80FE}\x{80FF}\x{8100}' .
-'\x{8101}\x{8102}\x{8105}\x{8106}\x{8107}\x{8108}\x{8109}\x{810A}\x{810B}' .
-'\x{810C}\x{810D}\x{810E}\x{810F}\x{8110}\x{8111}\x{8112}\x{8113}\x{8114}' .
-'\x{8115}\x{8116}\x{8118}\x{8119}\x{811A}\x{811B}\x{811C}\x{811D}\x{811E}' .
-'\x{811F}\x{8120}\x{8121}\x{8122}\x{8123}\x{8124}\x{8125}\x{8126}\x{8127}' .
-'\x{8128}\x{8129}\x{812A}\x{812B}\x{812C}\x{812D}\x{812E}\x{812F}\x{8130}' .
-'\x{8131}\x{8132}\x{8136}\x{8137}\x{8138}\x{8139}\x{813A}\x{813B}\x{813C}' .
-'\x{813D}\x{813E}\x{813F}\x{8140}\x{8141}\x{8142}\x{8143}\x{8144}\x{8145}' .
-'\x{8146}\x{8147}\x{8148}\x{8149}\x{814A}\x{814B}\x{814C}\x{814D}\x{814E}' .
-'\x{814F}\x{8150}\x{8151}\x{8152}\x{8153}\x{8154}\x{8155}\x{8156}\x{8157}' .
-'\x{8158}\x{8159}\x{815A}\x{815B}\x{815C}\x{815D}\x{815E}\x{8160}\x{8161}' .
-'\x{8162}\x{8163}\x{8164}\x{8165}\x{8166}\x{8167}\x{8168}\x{8169}\x{816A}' .
-'\x{816B}\x{816C}\x{816D}\x{816E}\x{816F}\x{8170}\x{8171}\x{8172}\x{8173}' .
-'\x{8174}\x{8175}\x{8176}\x{8177}\x{8178}\x{8179}\x{817A}\x{817B}\x{817C}' .
-'\x{817D}\x{817E}\x{817F}\x{8180}\x{8181}\x{8182}\x{8183}\x{8185}\x{8186}' .
-'\x{8187}\x{8188}\x{8189}\x{818A}\x{818B}\x{818C}\x{818D}\x{818E}\x{818F}' .
-'\x{8191}\x{8192}\x{8193}\x{8194}\x{8195}\x{8197}\x{8198}\x{8199}\x{819A}' .
-'\x{819B}\x{819C}\x{819D}\x{819E}\x{819F}\x{81A0}\x{81A1}\x{81A2}\x{81A3}' .
-'\x{81A4}\x{81A5}\x{81A6}\x{81A7}\x{81A8}\x{81A9}\x{81AA}\x{81AB}\x{81AC}' .
-'\x{81AD}\x{81AE}\x{81AF}\x{81B0}\x{81B1}\x{81B2}\x{81B3}\x{81B4}\x{81B5}' .
-'\x{81B6}\x{81B7}\x{81B8}\x{81B9}\x{81BA}\x{81BB}\x{81BC}\x{81BD}\x{81BE}' .
-'\x{81BF}\x{81C0}\x{81C1}\x{81C2}\x{81C3}\x{81C4}\x{81C5}\x{81C6}\x{81C7}' .
-'\x{81C8}\x{81C9}\x{81CA}\x{81CC}\x{81CD}\x{81CE}\x{81CF}\x{81D0}\x{81D1}' .
-'\x{81D2}\x{81D4}\x{81D5}\x{81D6}\x{81D7}\x{81D8}\x{81D9}\x{81DA}\x{81DB}' .
-'\x{81DC}\x{81DD}\x{81DE}\x{81DF}\x{81E0}\x{81E1}\x{81E2}\x{81E3}\x{81E5}' .
-'\x{81E6}\x{81E7}\x{81E8}\x{81E9}\x{81EA}\x{81EB}\x{81EC}\x{81ED}\x{81EE}' .
-'\x{81F1}\x{81F2}\x{81F3}\x{81F4}\x{81F5}\x{81F6}\x{81F7}\x{81F8}\x{81F9}' .
-'\x{81FA}\x{81FB}\x{81FC}\x{81FD}\x{81FE}\x{81FF}\x{8200}\x{8201}\x{8202}' .
-'\x{8203}\x{8204}\x{8205}\x{8206}\x{8207}\x{8208}\x{8209}\x{820A}\x{820B}' .
-'\x{820C}\x{820D}\x{820E}\x{820F}\x{8210}\x{8211}\x{8212}\x{8214}\x{8215}' .
-'\x{8216}\x{8218}\x{8219}\x{821A}\x{821B}\x{821C}\x{821D}\x{821E}\x{821F}' .
-'\x{8220}\x{8221}\x{8222}\x{8223}\x{8225}\x{8226}\x{8227}\x{8228}\x{8229}' .
-'\x{822A}\x{822B}\x{822C}\x{822D}\x{822F}\x{8230}\x{8231}\x{8232}\x{8233}' .
-'\x{8234}\x{8235}\x{8236}\x{8237}\x{8238}\x{8239}\x{823A}\x{823B}\x{823C}' .
-'\x{823D}\x{823E}\x{823F}\x{8240}\x{8242}\x{8243}\x{8244}\x{8245}\x{8246}' .
-'\x{8247}\x{8248}\x{8249}\x{824A}\x{824B}\x{824C}\x{824D}\x{824E}\x{824F}' .
-'\x{8250}\x{8251}\x{8252}\x{8253}\x{8254}\x{8255}\x{8256}\x{8257}\x{8258}' .
-'\x{8259}\x{825A}\x{825B}\x{825C}\x{825D}\x{825E}\x{825F}\x{8260}\x{8261}' .
-'\x{8263}\x{8264}\x{8266}\x{8267}\x{8268}\x{8269}\x{826A}\x{826B}\x{826C}' .
-'\x{826D}\x{826E}\x{826F}\x{8270}\x{8271}\x{8272}\x{8273}\x{8274}\x{8275}' .
-'\x{8276}\x{8277}\x{8278}\x{8279}\x{827A}\x{827B}\x{827C}\x{827D}\x{827E}' .
-'\x{827F}\x{8280}\x{8281}\x{8282}\x{8283}\x{8284}\x{8285}\x{8286}\x{8287}' .
-'\x{8288}\x{8289}\x{828A}\x{828B}\x{828D}\x{828E}\x{828F}\x{8290}\x{8291}' .
-'\x{8292}\x{8293}\x{8294}\x{8295}\x{8296}\x{8297}\x{8298}\x{8299}\x{829A}' .
-'\x{829B}\x{829C}\x{829D}\x{829E}\x{829F}\x{82A0}\x{82A1}\x{82A2}\x{82A3}' .
-'\x{82A4}\x{82A5}\x{82A6}\x{82A7}\x{82A8}\x{82A9}\x{82AA}\x{82AB}\x{82AC}' .
-'\x{82AD}\x{82AE}\x{82AF}\x{82B0}\x{82B1}\x{82B3}\x{82B4}\x{82B5}\x{82B6}' .
-'\x{82B7}\x{82B8}\x{82B9}\x{82BA}\x{82BB}\x{82BC}\x{82BD}\x{82BE}\x{82BF}' .
-'\x{82C0}\x{82C1}\x{82C2}\x{82C3}\x{82C4}\x{82C5}\x{82C6}\x{82C7}\x{82C8}' .
-'\x{82C9}\x{82CA}\x{82CB}\x{82CC}\x{82CD}\x{82CE}\x{82CF}\x{82D0}\x{82D1}' .
-'\x{82D2}\x{82D3}\x{82D4}\x{82D5}\x{82D6}\x{82D7}\x{82D8}\x{82D9}\x{82DA}' .
-'\x{82DB}\x{82DC}\x{82DD}\x{82DE}\x{82DF}\x{82E0}\x{82E1}\x{82E3}\x{82E4}' .
-'\x{82E5}\x{82E6}\x{82E7}\x{82E8}\x{82E9}\x{82EA}\x{82EB}\x{82EC}\x{82ED}' .
-'\x{82EE}\x{82EF}\x{82F0}\x{82F1}\x{82F2}\x{82F3}\x{82F4}\x{82F5}\x{82F6}' .
-'\x{82F7}\x{82F8}\x{82F9}\x{82FA}\x{82FB}\x{82FD}\x{82FE}\x{82FF}\x{8300}' .
-'\x{8301}\x{8302}\x{8303}\x{8304}\x{8305}\x{8306}\x{8307}\x{8308}\x{8309}' .
-'\x{830B}\x{830C}\x{830D}\x{830E}\x{830F}\x{8311}\x{8312}\x{8313}\x{8314}' .
-'\x{8315}\x{8316}\x{8317}\x{8318}\x{8319}\x{831A}\x{831B}\x{831C}\x{831D}' .
-'\x{831E}\x{831F}\x{8320}\x{8321}\x{8322}\x{8323}\x{8324}\x{8325}\x{8326}' .
-'\x{8327}\x{8328}\x{8329}\x{832A}\x{832B}\x{832C}\x{832D}\x{832E}\x{832F}' .
-'\x{8331}\x{8332}\x{8333}\x{8334}\x{8335}\x{8336}\x{8337}\x{8338}\x{8339}' .
-'\x{833A}\x{833B}\x{833C}\x{833D}\x{833E}\x{833F}\x{8340}\x{8341}\x{8342}' .
-'\x{8343}\x{8344}\x{8345}\x{8346}\x{8347}\x{8348}\x{8349}\x{834A}\x{834B}' .
-'\x{834C}\x{834D}\x{834E}\x{834F}\x{8350}\x{8351}\x{8352}\x{8353}\x{8354}' .
-'\x{8356}\x{8357}\x{8358}\x{8359}\x{835A}\x{835B}\x{835C}\x{835D}\x{835E}' .
-'\x{835F}\x{8360}\x{8361}\x{8362}\x{8363}\x{8364}\x{8365}\x{8366}\x{8367}' .
-'\x{8368}\x{8369}\x{836A}\x{836B}\x{836C}\x{836D}\x{836E}\x{836F}\x{8370}' .
-'\x{8371}\x{8372}\x{8373}\x{8374}\x{8375}\x{8376}\x{8377}\x{8378}\x{8379}' .
-'\x{837A}\x{837B}\x{837C}\x{837D}\x{837E}\x{837F}\x{8380}\x{8381}\x{8382}' .
-'\x{8383}\x{8384}\x{8385}\x{8386}\x{8387}\x{8388}\x{8389}\x{838A}\x{838B}' .
-'\x{838C}\x{838D}\x{838E}\x{838F}\x{8390}\x{8391}\x{8392}\x{8393}\x{8394}' .
-'\x{8395}\x{8396}\x{8397}\x{8398}\x{8399}\x{839A}\x{839B}\x{839C}\x{839D}' .
-'\x{839E}\x{83A0}\x{83A1}\x{83A2}\x{83A3}\x{83A4}\x{83A5}\x{83A6}\x{83A7}' .
-'\x{83A8}\x{83A9}\x{83AA}\x{83AB}\x{83AC}\x{83AD}\x{83AE}\x{83AF}\x{83B0}' .
-'\x{83B1}\x{83B2}\x{83B3}\x{83B4}\x{83B6}\x{83B7}\x{83B8}\x{83B9}\x{83BA}' .
-'\x{83BB}\x{83BC}\x{83BD}\x{83BF}\x{83C0}\x{83C1}\x{83C2}\x{83C3}\x{83C4}' .
-'\x{83C5}\x{83C6}\x{83C7}\x{83C8}\x{83C9}\x{83CA}\x{83CB}\x{83CC}\x{83CD}' .
-'\x{83CE}\x{83CF}\x{83D0}\x{83D1}\x{83D2}\x{83D3}\x{83D4}\x{83D5}\x{83D6}' .
-'\x{83D7}\x{83D8}\x{83D9}\x{83DA}\x{83DB}\x{83DC}\x{83DD}\x{83DE}\x{83DF}' .
-'\x{83E0}\x{83E1}\x{83E2}\x{83E3}\x{83E4}\x{83E5}\x{83E7}\x{83E8}\x{83E9}' .
-'\x{83EA}\x{83EB}\x{83EC}\x{83EE}\x{83EF}\x{83F0}\x{83F1}\x{83F2}\x{83F3}' .
-'\x{83F4}\x{83F5}\x{83F6}\x{83F7}\x{83F8}\x{83F9}\x{83FA}\x{83FB}\x{83FC}' .
-'\x{83FD}\x{83FE}\x{83FF}\x{8400}\x{8401}\x{8402}\x{8403}\x{8404}\x{8405}' .
-'\x{8406}\x{8407}\x{8408}\x{8409}\x{840A}\x{840B}\x{840C}\x{840D}\x{840E}' .
-'\x{840F}\x{8410}\x{8411}\x{8412}\x{8413}\x{8415}\x{8418}\x{8419}\x{841A}' .
-'\x{841B}\x{841C}\x{841D}\x{841E}\x{8421}\x{8422}\x{8423}\x{8424}\x{8425}' .
-'\x{8426}\x{8427}\x{8428}\x{8429}\x{842A}\x{842B}\x{842C}\x{842D}\x{842E}' .
-'\x{842F}\x{8430}\x{8431}\x{8432}\x{8433}\x{8434}\x{8435}\x{8436}\x{8437}' .
-'\x{8438}\x{8439}\x{843A}\x{843B}\x{843C}\x{843D}\x{843E}\x{843F}\x{8440}' .
-'\x{8441}\x{8442}\x{8443}\x{8444}\x{8445}\x{8446}\x{8447}\x{8448}\x{8449}' .
-'\x{844A}\x{844B}\x{844C}\x{844D}\x{844E}\x{844F}\x{8450}\x{8451}\x{8452}' .
-'\x{8453}\x{8454}\x{8455}\x{8456}\x{8457}\x{8459}\x{845A}\x{845B}\x{845C}' .
-'\x{845D}\x{845E}\x{845F}\x{8460}\x{8461}\x{8462}\x{8463}\x{8464}\x{8465}' .
-'\x{8466}\x{8467}\x{8468}\x{8469}\x{846A}\x{846B}\x{846C}\x{846D}\x{846E}' .
-'\x{846F}\x{8470}\x{8471}\x{8472}\x{8473}\x{8474}\x{8475}\x{8476}\x{8477}' .
-'\x{8478}\x{8479}\x{847A}\x{847B}\x{847C}\x{847D}\x{847E}\x{847F}\x{8480}' .
-'\x{8481}\x{8482}\x{8484}\x{8485}\x{8486}\x{8487}\x{8488}\x{8489}\x{848A}' .
-'\x{848B}\x{848C}\x{848D}\x{848E}\x{848F}\x{8490}\x{8491}\x{8492}\x{8493}' .
-'\x{8494}\x{8496}\x{8497}\x{8498}\x{8499}\x{849A}\x{849B}\x{849C}\x{849D}' .
-'\x{849E}\x{849F}\x{84A0}\x{84A1}\x{84A2}\x{84A3}\x{84A4}\x{84A5}\x{84A6}' .
-'\x{84A7}\x{84A8}\x{84A9}\x{84AA}\x{84AB}\x{84AC}\x{84AE}\x{84AF}\x{84B0}' .
-'\x{84B1}\x{84B2}\x{84B3}\x{84B4}\x{84B5}\x{84B6}\x{84B8}\x{84B9}\x{84BA}' .
-'\x{84BB}\x{84BC}\x{84BD}\x{84BE}\x{84BF}\x{84C0}\x{84C1}\x{84C2}\x{84C4}' .
-'\x{84C5}\x{84C6}\x{84C7}\x{84C8}\x{84C9}\x{84CA}\x{84CB}\x{84CC}\x{84CD}' .
-'\x{84CE}\x{84CF}\x{84D0}\x{84D1}\x{84D2}\x{84D3}\x{84D4}\x{84D5}\x{84D6}' .
-'\x{84D7}\x{84D8}\x{84D9}\x{84DB}\x{84DC}\x{84DD}\x{84DE}\x{84DF}\x{84E0}' .
-'\x{84E1}\x{84E2}\x{84E3}\x{84E4}\x{84E5}\x{84E6}\x{84E7}\x{84E8}\x{84E9}' .
-'\x{84EA}\x{84EB}\x{84EC}\x{84EE}\x{84EF}\x{84F0}\x{84F1}\x{84F2}\x{84F3}' .
-'\x{84F4}\x{84F5}\x{84F6}\x{84F7}\x{84F8}\x{84F9}\x{84FA}\x{84FB}\x{84FC}' .
-'\x{84FD}\x{84FE}\x{84FF}\x{8500}\x{8501}\x{8502}\x{8503}\x{8504}\x{8506}' .
-'\x{8507}\x{8508}\x{8509}\x{850A}\x{850B}\x{850C}\x{850D}\x{850E}\x{850F}' .
-'\x{8511}\x{8512}\x{8513}\x{8514}\x{8515}\x{8516}\x{8517}\x{8518}\x{8519}' .
-'\x{851A}\x{851B}\x{851C}\x{851D}\x{851E}\x{851F}\x{8520}\x{8521}\x{8522}' .
-'\x{8523}\x{8524}\x{8525}\x{8526}\x{8527}\x{8528}\x{8529}\x{852A}\x{852B}' .
-'\x{852C}\x{852D}\x{852E}\x{852F}\x{8530}\x{8531}\x{8534}\x{8535}\x{8536}' .
-'\x{8537}\x{8538}\x{8539}\x{853A}\x{853B}\x{853C}\x{853D}\x{853E}\x{853F}' .
-'\x{8540}\x{8541}\x{8542}\x{8543}\x{8544}\x{8545}\x{8546}\x{8547}\x{8548}' .
-'\x{8549}\x{854A}\x{854B}\x{854D}\x{854E}\x{854F}\x{8551}\x{8552}\x{8553}' .
-'\x{8554}\x{8555}\x{8556}\x{8557}\x{8558}\x{8559}\x{855A}\x{855B}\x{855C}' .
-'\x{855D}\x{855E}\x{855F}\x{8560}\x{8561}\x{8562}\x{8563}\x{8564}\x{8565}' .
-'\x{8566}\x{8567}\x{8568}\x{8569}\x{856A}\x{856B}\x{856C}\x{856D}\x{856E}' .
-'\x{856F}\x{8570}\x{8571}\x{8572}\x{8573}\x{8574}\x{8575}\x{8576}\x{8577}' .
-'\x{8578}\x{8579}\x{857A}\x{857B}\x{857C}\x{857D}\x{857E}\x{8580}\x{8581}' .
-'\x{8582}\x{8583}\x{8584}\x{8585}\x{8586}\x{8587}\x{8588}\x{8589}\x{858A}' .
-'\x{858B}\x{858C}\x{858D}\x{858E}\x{858F}\x{8590}\x{8591}\x{8592}\x{8594}' .
-'\x{8595}\x{8596}\x{8598}\x{8599}\x{859A}\x{859B}\x{859C}\x{859D}\x{859E}' .
-'\x{859F}\x{85A0}\x{85A1}\x{85A2}\x{85A3}\x{85A4}\x{85A5}\x{85A6}\x{85A7}' .
-'\x{85A8}\x{85A9}\x{85AA}\x{85AB}\x{85AC}\x{85AD}\x{85AE}\x{85AF}\x{85B0}' .
-'\x{85B1}\x{85B3}\x{85B4}\x{85B5}\x{85B6}\x{85B7}\x{85B8}\x{85B9}\x{85BA}' .
-'\x{85BC}\x{85BD}\x{85BE}\x{85BF}\x{85C0}\x{85C1}\x{85C2}\x{85C3}\x{85C4}' .
-'\x{85C5}\x{85C6}\x{85C7}\x{85C8}\x{85C9}\x{85CA}\x{85CB}\x{85CD}\x{85CE}' .
-'\x{85CF}\x{85D0}\x{85D1}\x{85D2}\x{85D3}\x{85D4}\x{85D5}\x{85D6}\x{85D7}' .
-'\x{85D8}\x{85D9}\x{85DA}\x{85DB}\x{85DC}\x{85DD}\x{85DE}\x{85DF}\x{85E0}' .
-'\x{85E1}\x{85E2}\x{85E3}\x{85E4}\x{85E5}\x{85E6}\x{85E7}\x{85E8}\x{85E9}' .
-'\x{85EA}\x{85EB}\x{85EC}\x{85ED}\x{85EF}\x{85F0}\x{85F1}\x{85F2}\x{85F4}' .
-'\x{85F5}\x{85F6}\x{85F7}\x{85F8}\x{85F9}\x{85FA}\x{85FB}\x{85FD}\x{85FE}' .
-'\x{85FF}\x{8600}\x{8601}\x{8602}\x{8604}\x{8605}\x{8606}\x{8607}\x{8608}' .
-'\x{8609}\x{860A}\x{860B}\x{860C}\x{860F}\x{8611}\x{8612}\x{8613}\x{8614}' .
-'\x{8616}\x{8617}\x{8618}\x{8619}\x{861A}\x{861B}\x{861C}\x{861E}\x{861F}' .
-'\x{8620}\x{8621}\x{8622}\x{8623}\x{8624}\x{8625}\x{8626}\x{8627}\x{8628}' .
-'\x{8629}\x{862A}\x{862B}\x{862C}\x{862D}\x{862E}\x{862F}\x{8630}\x{8631}' .
-'\x{8632}\x{8633}\x{8634}\x{8635}\x{8636}\x{8638}\x{8639}\x{863A}\x{863B}' .
-'\x{863C}\x{863D}\x{863E}\x{863F}\x{8640}\x{8641}\x{8642}\x{8643}\x{8644}' .
-'\x{8645}\x{8646}\x{8647}\x{8648}\x{8649}\x{864A}\x{864B}\x{864C}\x{864D}' .
-'\x{864E}\x{864F}\x{8650}\x{8651}\x{8652}\x{8653}\x{8654}\x{8655}\x{8656}' .
-'\x{8658}\x{8659}\x{865A}\x{865B}\x{865C}\x{865D}\x{865E}\x{865F}\x{8660}' .
-'\x{8661}\x{8662}\x{8663}\x{8664}\x{8665}\x{8666}\x{8667}\x{8668}\x{8669}' .
-'\x{866A}\x{866B}\x{866C}\x{866D}\x{866E}\x{866F}\x{8670}\x{8671}\x{8672}' .
-'\x{8673}\x{8674}\x{8676}\x{8677}\x{8678}\x{8679}\x{867A}\x{867B}\x{867C}' .
-'\x{867D}\x{867E}\x{867F}\x{8680}\x{8681}\x{8682}\x{8683}\x{8684}\x{8685}' .
-'\x{8686}\x{8687}\x{8688}\x{868A}\x{868B}\x{868C}\x{868D}\x{868E}\x{868F}' .
-'\x{8690}\x{8691}\x{8693}\x{8694}\x{8695}\x{8696}\x{8697}\x{8698}\x{8699}' .
-'\x{869A}\x{869B}\x{869C}\x{869D}\x{869E}\x{869F}\x{86A1}\x{86A2}\x{86A3}' .
-'\x{86A4}\x{86A5}\x{86A7}\x{86A8}\x{86A9}\x{86AA}\x{86AB}\x{86AC}\x{86AD}' .
-'\x{86AE}\x{86AF}\x{86B0}\x{86B1}\x{86B2}\x{86B3}\x{86B4}\x{86B5}\x{86B6}' .
-'\x{86B7}\x{86B8}\x{86B9}\x{86BA}\x{86BB}\x{86BC}\x{86BD}\x{86BE}\x{86BF}' .
-'\x{86C0}\x{86C1}\x{86C2}\x{86C3}\x{86C4}\x{86C5}\x{86C6}\x{86C7}\x{86C8}' .
-'\x{86C9}\x{86CA}\x{86CB}\x{86CC}\x{86CE}\x{86CF}\x{86D0}\x{86D1}\x{86D2}' .
-'\x{86D3}\x{86D4}\x{86D6}\x{86D7}\x{86D8}\x{86D9}\x{86DA}\x{86DB}\x{86DC}' .
-'\x{86DD}\x{86DE}\x{86DF}\x{86E1}\x{86E2}\x{86E3}\x{86E4}\x{86E5}\x{86E6}' .
-'\x{86E8}\x{86E9}\x{86EA}\x{86EB}\x{86EC}\x{86ED}\x{86EE}\x{86EF}\x{86F0}' .
-'\x{86F1}\x{86F2}\x{86F3}\x{86F4}\x{86F5}\x{86F6}\x{86F7}\x{86F8}\x{86F9}' .
-'\x{86FA}\x{86FB}\x{86FC}\x{86FE}\x{86FF}\x{8700}\x{8701}\x{8702}\x{8703}' .
-'\x{8704}\x{8705}\x{8706}\x{8707}\x{8708}\x{8709}\x{870A}\x{870B}\x{870C}' .
-'\x{870D}\x{870E}\x{870F}\x{8710}\x{8711}\x{8712}\x{8713}\x{8714}\x{8715}' .
-'\x{8716}\x{8717}\x{8718}\x{8719}\x{871A}\x{871B}\x{871C}\x{871E}\x{871F}' .
-'\x{8720}\x{8721}\x{8722}\x{8723}\x{8724}\x{8725}\x{8726}\x{8727}\x{8728}' .
-'\x{8729}\x{872A}\x{872B}\x{872C}\x{872D}\x{872E}\x{8730}\x{8731}\x{8732}' .
-'\x{8733}\x{8734}\x{8735}\x{8736}\x{8737}\x{8738}\x{8739}\x{873A}\x{873B}' .
-'\x{873C}\x{873E}\x{873F}\x{8740}\x{8741}\x{8742}\x{8743}\x{8744}\x{8746}' .
-'\x{8747}\x{8748}\x{8749}\x{874A}\x{874C}\x{874D}\x{874E}\x{874F}\x{8750}' .
-'\x{8751}\x{8752}\x{8753}\x{8754}\x{8755}\x{8756}\x{8757}\x{8758}\x{8759}' .
-'\x{875A}\x{875B}\x{875C}\x{875D}\x{875E}\x{875F}\x{8760}\x{8761}\x{8762}' .
-'\x{8763}\x{8764}\x{8765}\x{8766}\x{8767}\x{8768}\x{8769}\x{876A}\x{876B}' .
-'\x{876C}\x{876D}\x{876E}\x{876F}\x{8770}\x{8772}\x{8773}\x{8774}\x{8775}' .
-'\x{8776}\x{8777}\x{8778}\x{8779}\x{877A}\x{877B}\x{877C}\x{877D}\x{877E}' .
-'\x{8780}\x{8781}\x{8782}\x{8783}\x{8784}\x{8785}\x{8786}\x{8787}\x{8788}' .
-'\x{8789}\x{878A}\x{878B}\x{878C}\x{878D}\x{878F}\x{8790}\x{8791}\x{8792}' .
-'\x{8793}\x{8794}\x{8795}\x{8796}\x{8797}\x{8798}\x{879A}\x{879B}\x{879C}' .
-'\x{879D}\x{879E}\x{879F}\x{87A0}\x{87A1}\x{87A2}\x{87A3}\x{87A4}\x{87A5}' .
-'\x{87A6}\x{87A7}\x{87A8}\x{87A9}\x{87AA}\x{87AB}\x{87AC}\x{87AD}\x{87AE}' .
-'\x{87AF}\x{87B0}\x{87B1}\x{87B2}\x{87B3}\x{87B4}\x{87B5}\x{87B6}\x{87B7}' .
-'\x{87B8}\x{87B9}\x{87BA}\x{87BB}\x{87BC}\x{87BD}\x{87BE}\x{87BF}\x{87C0}' .
-'\x{87C1}\x{87C2}\x{87C3}\x{87C4}\x{87C5}\x{87C6}\x{87C7}\x{87C8}\x{87C9}' .
-'\x{87CA}\x{87CB}\x{87CC}\x{87CD}\x{87CE}\x{87CF}\x{87D0}\x{87D1}\x{87D2}' .
-'\x{87D3}\x{87D4}\x{87D5}\x{87D6}\x{87D7}\x{87D8}\x{87D9}\x{87DB}\x{87DC}' .
-'\x{87DD}\x{87DE}\x{87DF}\x{87E0}\x{87E1}\x{87E2}\x{87E3}\x{87E4}\x{87E5}' .
-'\x{87E6}\x{87E7}\x{87E8}\x{87E9}\x{87EA}\x{87EB}\x{87EC}\x{87ED}\x{87EE}' .
-'\x{87EF}\x{87F1}\x{87F2}\x{87F3}\x{87F4}\x{87F5}\x{87F6}\x{87F7}\x{87F8}' .
-'\x{87F9}\x{87FA}\x{87FB}\x{87FC}\x{87FD}\x{87FE}\x{87FF}\x{8800}\x{8801}' .
-'\x{8802}\x{8803}\x{8804}\x{8805}\x{8806}\x{8808}\x{8809}\x{880A}\x{880B}' .
-'\x{880C}\x{880D}\x{880E}\x{880F}\x{8810}\x{8811}\x{8813}\x{8814}\x{8815}' .
-'\x{8816}\x{8817}\x{8818}\x{8819}\x{881A}\x{881B}\x{881C}\x{881D}\x{881E}' .
-'\x{881F}\x{8820}\x{8821}\x{8822}\x{8823}\x{8824}\x{8825}\x{8826}\x{8827}' .
-'\x{8828}\x{8829}\x{882A}\x{882B}\x{882C}\x{882E}\x{882F}\x{8830}\x{8831}' .
-'\x{8832}\x{8833}\x{8834}\x{8835}\x{8836}\x{8837}\x{8838}\x{8839}\x{883B}' .
-'\x{883C}\x{883D}\x{883E}\x{883F}\x{8840}\x{8841}\x{8842}\x{8843}\x{8844}' .
-'\x{8845}\x{8846}\x{8848}\x{8849}\x{884A}\x{884B}\x{884C}\x{884D}\x{884E}' .
-'\x{884F}\x{8850}\x{8851}\x{8852}\x{8853}\x{8854}\x{8855}\x{8856}\x{8857}' .
-'\x{8859}\x{885A}\x{885B}\x{885D}\x{885E}\x{8860}\x{8861}\x{8862}\x{8863}' .
-'\x{8864}\x{8865}\x{8866}\x{8867}\x{8868}\x{8869}\x{886A}\x{886B}\x{886C}' .
-'\x{886D}\x{886E}\x{886F}\x{8870}\x{8871}\x{8872}\x{8873}\x{8874}\x{8875}' .
-'\x{8876}\x{8877}\x{8878}\x{8879}\x{887B}\x{887C}\x{887D}\x{887E}\x{887F}' .
-'\x{8880}\x{8881}\x{8882}\x{8883}\x{8884}\x{8885}\x{8886}\x{8887}\x{8888}' .
-'\x{8889}\x{888A}\x{888B}\x{888C}\x{888D}\x{888E}\x{888F}\x{8890}\x{8891}' .
-'\x{8892}\x{8893}\x{8894}\x{8895}\x{8896}\x{8897}\x{8898}\x{8899}\x{889A}' .
-'\x{889B}\x{889C}\x{889D}\x{889E}\x{889F}\x{88A0}\x{88A1}\x{88A2}\x{88A3}' .
-'\x{88A4}\x{88A5}\x{88A6}\x{88A7}\x{88A8}\x{88A9}\x{88AA}\x{88AB}\x{88AC}' .
-'\x{88AD}\x{88AE}\x{88AF}\x{88B0}\x{88B1}\x{88B2}\x{88B3}\x{88B4}\x{88B6}' .
-'\x{88B7}\x{88B8}\x{88B9}\x{88BA}\x{88BB}\x{88BC}\x{88BD}\x{88BE}\x{88BF}' .
-'\x{88C0}\x{88C1}\x{88C2}\x{88C3}\x{88C4}\x{88C5}\x{88C6}\x{88C7}\x{88C8}' .
-'\x{88C9}\x{88CA}\x{88CB}\x{88CC}\x{88CD}\x{88CE}\x{88CF}\x{88D0}\x{88D1}' .
-'\x{88D2}\x{88D3}\x{88D4}\x{88D5}\x{88D6}\x{88D7}\x{88D8}\x{88D9}\x{88DA}' .
-'\x{88DB}\x{88DC}\x{88DD}\x{88DE}\x{88DF}\x{88E0}\x{88E1}\x{88E2}\x{88E3}' .
-'\x{88E4}\x{88E5}\x{88E7}\x{88E8}\x{88EA}\x{88EB}\x{88EC}\x{88EE}\x{88EF}' .
-'\x{88F0}\x{88F1}\x{88F2}\x{88F3}\x{88F4}\x{88F5}\x{88F6}\x{88F7}\x{88F8}' .
-'\x{88F9}\x{88FA}\x{88FB}\x{88FC}\x{88FD}\x{88FE}\x{88FF}\x{8900}\x{8901}' .
-'\x{8902}\x{8904}\x{8905}\x{8906}\x{8907}\x{8908}\x{8909}\x{890A}\x{890B}' .
-'\x{890C}\x{890D}\x{890E}\x{8910}\x{8911}\x{8912}\x{8913}\x{8914}\x{8915}' .
-'\x{8916}\x{8917}\x{8918}\x{8919}\x{891A}\x{891B}\x{891C}\x{891D}\x{891E}' .
-'\x{891F}\x{8920}\x{8921}\x{8922}\x{8923}\x{8925}\x{8926}\x{8927}\x{8928}' .
-'\x{8929}\x{892A}\x{892B}\x{892C}\x{892D}\x{892E}\x{892F}\x{8930}\x{8931}' .
-'\x{8932}\x{8933}\x{8934}\x{8935}\x{8936}\x{8937}\x{8938}\x{8939}\x{893A}' .
-'\x{893B}\x{893C}\x{893D}\x{893E}\x{893F}\x{8940}\x{8941}\x{8942}\x{8943}' .
-'\x{8944}\x{8945}\x{8946}\x{8947}\x{8948}\x{8949}\x{894A}\x{894B}\x{894C}' .
-'\x{894E}\x{894F}\x{8950}\x{8951}\x{8952}\x{8953}\x{8954}\x{8955}\x{8956}' .
-'\x{8957}\x{8958}\x{8959}\x{895A}\x{895B}\x{895C}\x{895D}\x{895E}\x{895F}' .
-'\x{8960}\x{8961}\x{8962}\x{8963}\x{8964}\x{8966}\x{8967}\x{8968}\x{8969}' .
-'\x{896A}\x{896B}\x{896C}\x{896D}\x{896E}\x{896F}\x{8970}\x{8971}\x{8972}' .
-'\x{8973}\x{8974}\x{8976}\x{8977}\x{8978}\x{8979}\x{897A}\x{897B}\x{897C}' .
-'\x{897E}\x{897F}\x{8980}\x{8981}\x{8982}\x{8983}\x{8984}\x{8985}\x{8986}' .
-'\x{8987}\x{8988}\x{8989}\x{898A}\x{898B}\x{898C}\x{898E}\x{898F}\x{8991}' .
-'\x{8992}\x{8993}\x{8995}\x{8996}\x{8997}\x{8998}\x{899A}\x{899B}\x{899C}' .
-'\x{899D}\x{899E}\x{899F}\x{89A0}\x{89A1}\x{89A2}\x{89A3}\x{89A4}\x{89A5}' .
-'\x{89A6}\x{89A7}\x{89A8}\x{89AA}\x{89AB}\x{89AC}\x{89AD}\x{89AE}\x{89AF}' .
-'\x{89B1}\x{89B2}\x{89B3}\x{89B5}\x{89B6}\x{89B7}\x{89B8}\x{89B9}\x{89BA}' .
-'\x{89BD}\x{89BE}\x{89BF}\x{89C0}\x{89C1}\x{89C2}\x{89C3}\x{89C4}\x{89C5}' .
-'\x{89C6}\x{89C7}\x{89C8}\x{89C9}\x{89CA}\x{89CB}\x{89CC}\x{89CD}\x{89CE}' .
-'\x{89CF}\x{89D0}\x{89D1}\x{89D2}\x{89D3}\x{89D4}\x{89D5}\x{89D6}\x{89D7}' .
-'\x{89D8}\x{89D9}\x{89DA}\x{89DB}\x{89DC}\x{89DD}\x{89DE}\x{89DF}\x{89E0}' .
-'\x{89E1}\x{89E2}\x{89E3}\x{89E4}\x{89E5}\x{89E6}\x{89E7}\x{89E8}\x{89E9}' .
-'\x{89EA}\x{89EB}\x{89EC}\x{89ED}\x{89EF}\x{89F0}\x{89F1}\x{89F2}\x{89F3}' .
-'\x{89F4}\x{89F6}\x{89F7}\x{89F8}\x{89FA}\x{89FB}\x{89FC}\x{89FE}\x{89FF}' .
-'\x{8A00}\x{8A01}\x{8A02}\x{8A03}\x{8A04}\x{8A07}\x{8A08}\x{8A09}\x{8A0A}' .
-'\x{8A0B}\x{8A0C}\x{8A0D}\x{8A0E}\x{8A0F}\x{8A10}\x{8A11}\x{8A12}\x{8A13}' .
-'\x{8A15}\x{8A16}\x{8A17}\x{8A18}\x{8A1A}\x{8A1B}\x{8A1C}\x{8A1D}\x{8A1E}' .
-'\x{8A1F}\x{8A22}\x{8A23}\x{8A24}\x{8A25}\x{8A26}\x{8A27}\x{8A28}\x{8A29}' .
-'\x{8A2A}\x{8A2C}\x{8A2D}\x{8A2E}\x{8A2F}\x{8A30}\x{8A31}\x{8A32}\x{8A34}' .
-'\x{8A35}\x{8A36}\x{8A37}\x{8A38}\x{8A39}\x{8A3A}\x{8A3B}\x{8A3C}\x{8A3E}' .
-'\x{8A3F}\x{8A40}\x{8A41}\x{8A42}\x{8A43}\x{8A44}\x{8A45}\x{8A46}\x{8A47}' .
-'\x{8A48}\x{8A49}\x{8A4A}\x{8A4C}\x{8A4D}\x{8A4E}\x{8A4F}\x{8A50}\x{8A51}' .
-'\x{8A52}\x{8A53}\x{8A54}\x{8A55}\x{8A56}\x{8A57}\x{8A58}\x{8A59}\x{8A5A}' .
-'\x{8A5B}\x{8A5C}\x{8A5D}\x{8A5E}\x{8A5F}\x{8A60}\x{8A61}\x{8A62}\x{8A63}' .
-'\x{8A65}\x{8A66}\x{8A67}\x{8A68}\x{8A69}\x{8A6A}\x{8A6B}\x{8A6C}\x{8A6D}' .
-'\x{8A6E}\x{8A6F}\x{8A70}\x{8A71}\x{8A72}\x{8A73}\x{8A74}\x{8A75}\x{8A76}' .
-'\x{8A77}\x{8A79}\x{8A7A}\x{8A7B}\x{8A7C}\x{8A7E}\x{8A7F}\x{8A80}\x{8A81}' .
-'\x{8A82}\x{8A83}\x{8A84}\x{8A85}\x{8A86}\x{8A87}\x{8A89}\x{8A8A}\x{8A8B}' .
-'\x{8A8C}\x{8A8D}\x{8A8E}\x{8A8F}\x{8A90}\x{8A91}\x{8A92}\x{8A93}\x{8A94}' .
-'\x{8A95}\x{8A96}\x{8A97}\x{8A98}\x{8A99}\x{8A9A}\x{8A9B}\x{8A9C}\x{8A9D}' .
-'\x{8A9E}\x{8AA0}\x{8AA1}\x{8AA2}\x{8AA3}\x{8AA4}\x{8AA5}\x{8AA6}\x{8AA7}' .
-'\x{8AA8}\x{8AA9}\x{8AAA}\x{8AAB}\x{8AAC}\x{8AAE}\x{8AB0}\x{8AB1}\x{8AB2}' .
-'\x{8AB3}\x{8AB4}\x{8AB5}\x{8AB6}\x{8AB8}\x{8AB9}\x{8ABA}\x{8ABB}\x{8ABC}' .
-'\x{8ABD}\x{8ABE}\x{8ABF}\x{8AC0}\x{8AC1}\x{8AC2}\x{8AC3}\x{8AC4}\x{8AC5}' .
-'\x{8AC6}\x{8AC7}\x{8AC8}\x{8AC9}\x{8ACA}\x{8ACB}\x{8ACC}\x{8ACD}\x{8ACE}' .
-'\x{8ACF}\x{8AD1}\x{8AD2}\x{8AD3}\x{8AD4}\x{8AD5}\x{8AD6}\x{8AD7}\x{8AD8}' .
-'\x{8AD9}\x{8ADA}\x{8ADB}\x{8ADC}\x{8ADD}\x{8ADE}\x{8ADF}\x{8AE0}\x{8AE1}' .
-'\x{8AE2}\x{8AE3}\x{8AE4}\x{8AE5}\x{8AE6}\x{8AE7}\x{8AE8}\x{8AE9}\x{8AEA}' .
-'\x{8AEB}\x{8AED}\x{8AEE}\x{8AEF}\x{8AF0}\x{8AF1}\x{8AF2}\x{8AF3}\x{8AF4}' .
-'\x{8AF5}\x{8AF6}\x{8AF7}\x{8AF8}\x{8AF9}\x{8AFA}\x{8AFB}\x{8AFC}\x{8AFD}' .
-'\x{8AFE}\x{8AFF}\x{8B00}\x{8B01}\x{8B02}\x{8B03}\x{8B04}\x{8B05}\x{8B06}' .
-'\x{8B07}\x{8B08}\x{8B09}\x{8B0A}\x{8B0B}\x{8B0D}\x{8B0E}\x{8B0F}\x{8B10}' .
-'\x{8B11}\x{8B12}\x{8B13}\x{8B14}\x{8B15}\x{8B16}\x{8B17}\x{8B18}\x{8B19}' .
-'\x{8B1A}\x{8B1B}\x{8B1C}\x{8B1D}\x{8B1E}\x{8B1F}\x{8B20}\x{8B21}\x{8B22}' .
-'\x{8B23}\x{8B24}\x{8B25}\x{8B26}\x{8B27}\x{8B28}\x{8B2A}\x{8B2B}\x{8B2C}' .
-'\x{8B2D}\x{8B2E}\x{8B2F}\x{8B30}\x{8B31}\x{8B33}\x{8B34}\x{8B35}\x{8B36}' .
-'\x{8B37}\x{8B39}\x{8B3A}\x{8B3B}\x{8B3C}\x{8B3D}\x{8B3E}\x{8B40}\x{8B41}' .
-'\x{8B42}\x{8B43}\x{8B44}\x{8B45}\x{8B46}\x{8B47}\x{8B48}\x{8B49}\x{8B4A}' .
-'\x{8B4B}\x{8B4C}\x{8B4D}\x{8B4E}\x{8B4F}\x{8B50}\x{8B51}\x{8B52}\x{8B53}' .
-'\x{8B54}\x{8B55}\x{8B56}\x{8B57}\x{8B58}\x{8B59}\x{8B5A}\x{8B5B}\x{8B5C}' .
-'\x{8B5D}\x{8B5E}\x{8B5F}\x{8B60}\x{8B63}\x{8B64}\x{8B65}\x{8B66}\x{8B67}' .
-'\x{8B68}\x{8B6A}\x{8B6B}\x{8B6C}\x{8B6D}\x{8B6E}\x{8B6F}\x{8B70}\x{8B71}' .
-'\x{8B73}\x{8B74}\x{8B76}\x{8B77}\x{8B78}\x{8B79}\x{8B7A}\x{8B7B}\x{8B7D}' .
-'\x{8B7E}\x{8B7F}\x{8B80}\x{8B82}\x{8B83}\x{8B84}\x{8B85}\x{8B86}\x{8B88}' .
-'\x{8B89}\x{8B8A}\x{8B8B}\x{8B8C}\x{8B8E}\x{8B90}\x{8B91}\x{8B92}\x{8B93}' .
-'\x{8B94}\x{8B95}\x{8B96}\x{8B97}\x{8B98}\x{8B99}\x{8B9A}\x{8B9C}\x{8B9D}' .
-'\x{8B9E}\x{8B9F}\x{8BA0}\x{8BA1}\x{8BA2}\x{8BA3}\x{8BA4}\x{8BA5}\x{8BA6}' .
-'\x{8BA7}\x{8BA8}\x{8BA9}\x{8BAA}\x{8BAB}\x{8BAC}\x{8BAD}\x{8BAE}\x{8BAF}' .
-'\x{8BB0}\x{8BB1}\x{8BB2}\x{8BB3}\x{8BB4}\x{8BB5}\x{8BB6}\x{8BB7}\x{8BB8}' .
-'\x{8BB9}\x{8BBA}\x{8BBB}\x{8BBC}\x{8BBD}\x{8BBE}\x{8BBF}\x{8BC0}\x{8BC1}' .
-'\x{8BC2}\x{8BC3}\x{8BC4}\x{8BC5}\x{8BC6}\x{8BC7}\x{8BC8}\x{8BC9}\x{8BCA}' .
-'\x{8BCB}\x{8BCC}\x{8BCD}\x{8BCE}\x{8BCF}\x{8BD0}\x{8BD1}\x{8BD2}\x{8BD3}' .
-'\x{8BD4}\x{8BD5}\x{8BD6}\x{8BD7}\x{8BD8}\x{8BD9}\x{8BDA}\x{8BDB}\x{8BDC}' .
-'\x{8BDD}\x{8BDE}\x{8BDF}\x{8BE0}\x{8BE1}\x{8BE2}\x{8BE3}\x{8BE4}\x{8BE5}' .
-'\x{8BE6}\x{8BE7}\x{8BE8}\x{8BE9}\x{8BEA}\x{8BEB}\x{8BEC}\x{8BED}\x{8BEE}' .
-'\x{8BEF}\x{8BF0}\x{8BF1}\x{8BF2}\x{8BF3}\x{8BF4}\x{8BF5}\x{8BF6}\x{8BF7}' .
-'\x{8BF8}\x{8BF9}\x{8BFA}\x{8BFB}\x{8BFC}\x{8BFD}\x{8BFE}\x{8BFF}\x{8C00}' .
-'\x{8C01}\x{8C02}\x{8C03}\x{8C04}\x{8C05}\x{8C06}\x{8C07}\x{8C08}\x{8C09}' .
-'\x{8C0A}\x{8C0B}\x{8C0C}\x{8C0D}\x{8C0E}\x{8C0F}\x{8C10}\x{8C11}\x{8C12}' .
-'\x{8C13}\x{8C14}\x{8C15}\x{8C16}\x{8C17}\x{8C18}\x{8C19}\x{8C1A}\x{8C1B}' .
-'\x{8C1C}\x{8C1D}\x{8C1E}\x{8C1F}\x{8C20}\x{8C21}\x{8C22}\x{8C23}\x{8C24}' .
-'\x{8C25}\x{8C26}\x{8C27}\x{8C28}\x{8C29}\x{8C2A}\x{8C2B}\x{8C2C}\x{8C2D}' .
-'\x{8C2E}\x{8C2F}\x{8C30}\x{8C31}\x{8C32}\x{8C33}\x{8C34}\x{8C35}\x{8C36}' .
-'\x{8C37}\x{8C39}\x{8C3A}\x{8C3B}\x{8C3C}\x{8C3D}\x{8C3E}\x{8C3F}\x{8C41}' .
-'\x{8C42}\x{8C43}\x{8C45}\x{8C46}\x{8C47}\x{8C48}\x{8C49}\x{8C4A}\x{8C4B}' .
-'\x{8C4C}\x{8C4D}\x{8C4E}\x{8C4F}\x{8C50}\x{8C54}\x{8C55}\x{8C56}\x{8C57}' .
-'\x{8C59}\x{8C5A}\x{8C5B}\x{8C5C}\x{8C5D}\x{8C5E}\x{8C5F}\x{8C60}\x{8C61}' .
-'\x{8C62}\x{8C63}\x{8C64}\x{8C65}\x{8C66}\x{8C67}\x{8C68}\x{8C69}\x{8C6A}' .
-'\x{8C6B}\x{8C6C}\x{8C6D}\x{8C6E}\x{8C6F}\x{8C70}\x{8C71}\x{8C72}\x{8C73}' .
-'\x{8C75}\x{8C76}\x{8C77}\x{8C78}\x{8C79}\x{8C7A}\x{8C7B}\x{8C7D}\x{8C7E}' .
-'\x{8C80}\x{8C81}\x{8C82}\x{8C84}\x{8C85}\x{8C86}\x{8C88}\x{8C89}\x{8C8A}' .
-'\x{8C8C}\x{8C8D}\x{8C8F}\x{8C90}\x{8C91}\x{8C92}\x{8C93}\x{8C94}\x{8C95}' .
-'\x{8C96}\x{8C97}\x{8C98}\x{8C99}\x{8C9A}\x{8C9C}\x{8C9D}\x{8C9E}\x{8C9F}' .
-'\x{8CA0}\x{8CA1}\x{8CA2}\x{8CA3}\x{8CA4}\x{8CA5}\x{8CA7}\x{8CA8}\x{8CA9}' .
-'\x{8CAA}\x{8CAB}\x{8CAC}\x{8CAD}\x{8CAE}\x{8CAF}\x{8CB0}\x{8CB1}\x{8CB2}' .
-'\x{8CB3}\x{8CB4}\x{8CB5}\x{8CB6}\x{8CB7}\x{8CB8}\x{8CB9}\x{8CBA}\x{8CBB}' .
-'\x{8CBC}\x{8CBD}\x{8CBE}\x{8CBF}\x{8CC0}\x{8CC1}\x{8CC2}\x{8CC3}\x{8CC4}' .
-'\x{8CC5}\x{8CC6}\x{8CC7}\x{8CC8}\x{8CC9}\x{8CCA}\x{8CCC}\x{8CCE}\x{8CCF}' .
-'\x{8CD0}\x{8CD1}\x{8CD2}\x{8CD3}\x{8CD4}\x{8CD5}\x{8CD7}\x{8CD9}\x{8CDA}' .
-'\x{8CDB}\x{8CDC}\x{8CDD}\x{8CDE}\x{8CDF}\x{8CE0}\x{8CE1}\x{8CE2}\x{8CE3}' .
-'\x{8CE4}\x{8CE5}\x{8CE6}\x{8CE7}\x{8CE8}\x{8CEA}\x{8CEB}\x{8CEC}\x{8CED}' .
-'\x{8CEE}\x{8CEF}\x{8CF0}\x{8CF1}\x{8CF2}\x{8CF3}\x{8CF4}\x{8CF5}\x{8CF6}' .
-'\x{8CF8}\x{8CF9}\x{8CFA}\x{8CFB}\x{8CFC}\x{8CFD}\x{8CFE}\x{8CFF}\x{8D00}' .
-'\x{8D02}\x{8D03}\x{8D04}\x{8D05}\x{8D06}\x{8D07}\x{8D08}\x{8D09}\x{8D0A}' .
-'\x{8D0B}\x{8D0C}\x{8D0D}\x{8D0E}\x{8D0F}\x{8D10}\x{8D13}\x{8D14}\x{8D15}' .
-'\x{8D16}\x{8D17}\x{8D18}\x{8D19}\x{8D1A}\x{8D1B}\x{8D1C}\x{8D1D}\x{8D1E}' .
-'\x{8D1F}\x{8D20}\x{8D21}\x{8D22}\x{8D23}\x{8D24}\x{8D25}\x{8D26}\x{8D27}' .
-'\x{8D28}\x{8D29}\x{8D2A}\x{8D2B}\x{8D2C}\x{8D2D}\x{8D2E}\x{8D2F}\x{8D30}' .
-'\x{8D31}\x{8D32}\x{8D33}\x{8D34}\x{8D35}\x{8D36}\x{8D37}\x{8D38}\x{8D39}' .
-'\x{8D3A}\x{8D3B}\x{8D3C}\x{8D3D}\x{8D3E}\x{8D3F}\x{8D40}\x{8D41}\x{8D42}' .
-'\x{8D43}\x{8D44}\x{8D45}\x{8D46}\x{8D47}\x{8D48}\x{8D49}\x{8D4A}\x{8D4B}' .
-'\x{8D4C}\x{8D4D}\x{8D4E}\x{8D4F}\x{8D50}\x{8D51}\x{8D52}\x{8D53}\x{8D54}' .
-'\x{8D55}\x{8D56}\x{8D57}\x{8D58}\x{8D59}\x{8D5A}\x{8D5B}\x{8D5C}\x{8D5D}' .
-'\x{8D5E}\x{8D5F}\x{8D60}\x{8D61}\x{8D62}\x{8D63}\x{8D64}\x{8D65}\x{8D66}' .
-'\x{8D67}\x{8D68}\x{8D69}\x{8D6A}\x{8D6B}\x{8D6C}\x{8D6D}\x{8D6E}\x{8D6F}' .
-'\x{8D70}\x{8D71}\x{8D72}\x{8D73}\x{8D74}\x{8D75}\x{8D76}\x{8D77}\x{8D78}' .
-'\x{8D79}\x{8D7A}\x{8D7B}\x{8D7D}\x{8D7E}\x{8D7F}\x{8D80}\x{8D81}\x{8D82}' .
-'\x{8D83}\x{8D84}\x{8D85}\x{8D86}\x{8D87}\x{8D88}\x{8D89}\x{8D8A}\x{8D8B}' .
-'\x{8D8C}\x{8D8D}\x{8D8E}\x{8D8F}\x{8D90}\x{8D91}\x{8D92}\x{8D93}\x{8D94}' .
-'\x{8D95}\x{8D96}\x{8D97}\x{8D98}\x{8D99}\x{8D9A}\x{8D9B}\x{8D9C}\x{8D9D}' .
-'\x{8D9E}\x{8D9F}\x{8DA0}\x{8DA1}\x{8DA2}\x{8DA3}\x{8DA4}\x{8DA5}\x{8DA7}' .
-'\x{8DA8}\x{8DA9}\x{8DAA}\x{8DAB}\x{8DAC}\x{8DAD}\x{8DAE}\x{8DAF}\x{8DB0}' .
-'\x{8DB1}\x{8DB2}\x{8DB3}\x{8DB4}\x{8DB5}\x{8DB6}\x{8DB7}\x{8DB8}\x{8DB9}' .
-'\x{8DBA}\x{8DBB}\x{8DBC}\x{8DBD}\x{8DBE}\x{8DBF}\x{8DC1}\x{8DC2}\x{8DC3}' .
-'\x{8DC4}\x{8DC5}\x{8DC6}\x{8DC7}\x{8DC8}\x{8DC9}\x{8DCA}\x{8DCB}\x{8DCC}' .
-'\x{8DCD}\x{8DCE}\x{8DCF}\x{8DD0}\x{8DD1}\x{8DD2}\x{8DD3}\x{8DD4}\x{8DD5}' .
-'\x{8DD6}\x{8DD7}\x{8DD8}\x{8DD9}\x{8DDA}\x{8DDB}\x{8DDC}\x{8DDD}\x{8DDE}' .
-'\x{8DDF}\x{8DE0}\x{8DE1}\x{8DE2}\x{8DE3}\x{8DE4}\x{8DE6}\x{8DE7}\x{8DE8}' .
-'\x{8DE9}\x{8DEA}\x{8DEB}\x{8DEC}\x{8DED}\x{8DEE}\x{8DEF}\x{8DF0}\x{8DF1}' .
-'\x{8DF2}\x{8DF3}\x{8DF4}\x{8DF5}\x{8DF6}\x{8DF7}\x{8DF8}\x{8DF9}\x{8DFA}' .
-'\x{8DFB}\x{8DFC}\x{8DFD}\x{8DFE}\x{8DFF}\x{8E00}\x{8E02}\x{8E03}\x{8E04}' .
-'\x{8E05}\x{8E06}\x{8E07}\x{8E08}\x{8E09}\x{8E0A}\x{8E0C}\x{8E0D}\x{8E0E}' .
-'\x{8E0F}\x{8E10}\x{8E11}\x{8E12}\x{8E13}\x{8E14}\x{8E15}\x{8E16}\x{8E17}' .
-'\x{8E18}\x{8E19}\x{8E1A}\x{8E1B}\x{8E1C}\x{8E1D}\x{8E1E}\x{8E1F}\x{8E20}' .
-'\x{8E21}\x{8E22}\x{8E23}\x{8E24}\x{8E25}\x{8E26}\x{8E27}\x{8E28}\x{8E29}' .
-'\x{8E2A}\x{8E2B}\x{8E2C}\x{8E2D}\x{8E2E}\x{8E2F}\x{8E30}\x{8E31}\x{8E33}' .
-'\x{8E34}\x{8E35}\x{8E36}\x{8E37}\x{8E38}\x{8E39}\x{8E3A}\x{8E3B}\x{8E3C}' .
-'\x{8E3D}\x{8E3E}\x{8E3F}\x{8E40}\x{8E41}\x{8E42}\x{8E43}\x{8E44}\x{8E45}' .
-'\x{8E47}\x{8E48}\x{8E49}\x{8E4A}\x{8E4B}\x{8E4C}\x{8E4D}\x{8E4E}\x{8E50}' .
-'\x{8E51}\x{8E52}\x{8E53}\x{8E54}\x{8E55}\x{8E56}\x{8E57}\x{8E58}\x{8E59}' .
-'\x{8E5A}\x{8E5B}\x{8E5C}\x{8E5D}\x{8E5E}\x{8E5F}\x{8E60}\x{8E61}\x{8E62}' .
-'\x{8E63}\x{8E64}\x{8E65}\x{8E66}\x{8E67}\x{8E68}\x{8E69}\x{8E6A}\x{8E6B}' .
-'\x{8E6C}\x{8E6D}\x{8E6F}\x{8E70}\x{8E71}\x{8E72}\x{8E73}\x{8E74}\x{8E76}' .
-'\x{8E78}\x{8E7A}\x{8E7B}\x{8E7C}\x{8E7D}\x{8E7E}\x{8E7F}\x{8E80}\x{8E81}' .
-'\x{8E82}\x{8E83}\x{8E84}\x{8E85}\x{8E86}\x{8E87}\x{8E88}\x{8E89}\x{8E8A}' .
-'\x{8E8B}\x{8E8C}\x{8E8D}\x{8E8E}\x{8E8F}\x{8E90}\x{8E91}\x{8E92}\x{8E93}' .
-'\x{8E94}\x{8E95}\x{8E96}\x{8E97}\x{8E98}\x{8E9A}\x{8E9C}\x{8E9D}\x{8E9E}' .
-'\x{8E9F}\x{8EA0}\x{8EA1}\x{8EA3}\x{8EA4}\x{8EA5}\x{8EA6}\x{8EA7}\x{8EA8}' .
-'\x{8EA9}\x{8EAA}\x{8EAB}\x{8EAC}\x{8EAD}\x{8EAE}\x{8EAF}\x{8EB0}\x{8EB1}' .
-'\x{8EB2}\x{8EB4}\x{8EB5}\x{8EB8}\x{8EB9}\x{8EBA}\x{8EBB}\x{8EBC}\x{8EBD}' .
-'\x{8EBE}\x{8EBF}\x{8EC0}\x{8EC2}\x{8EC3}\x{8EC5}\x{8EC6}\x{8EC7}\x{8EC8}' .
-'\x{8EC9}\x{8ECA}\x{8ECB}\x{8ECC}\x{8ECD}\x{8ECE}\x{8ECF}\x{8ED0}\x{8ED1}' .
-'\x{8ED2}\x{8ED3}\x{8ED4}\x{8ED5}\x{8ED6}\x{8ED7}\x{8ED8}\x{8EDA}\x{8EDB}' .
-'\x{8EDC}\x{8EDD}\x{8EDE}\x{8EDF}\x{8EE0}\x{8EE1}\x{8EE4}\x{8EE5}\x{8EE6}' .
-'\x{8EE7}\x{8EE8}\x{8EE9}\x{8EEA}\x{8EEB}\x{8EEC}\x{8EED}\x{8EEE}\x{8EEF}' .
-'\x{8EF1}\x{8EF2}\x{8EF3}\x{8EF4}\x{8EF5}\x{8EF6}\x{8EF7}\x{8EF8}\x{8EF9}' .
-'\x{8EFA}\x{8EFB}\x{8EFC}\x{8EFD}\x{8EFE}\x{8EFF}\x{8F00}\x{8F01}\x{8F02}' .
-'\x{8F03}\x{8F04}\x{8F05}\x{8F06}\x{8F07}\x{8F08}\x{8F09}\x{8F0A}\x{8F0B}' .
-'\x{8F0D}\x{8F0E}\x{8F10}\x{8F11}\x{8F12}\x{8F13}\x{8F14}\x{8F15}\x{8F16}' .
-'\x{8F17}\x{8F18}\x{8F1A}\x{8F1B}\x{8F1C}\x{8F1D}\x{8F1E}\x{8F1F}\x{8F20}' .
-'\x{8F21}\x{8F22}\x{8F23}\x{8F24}\x{8F25}\x{8F26}\x{8F27}\x{8F28}\x{8F29}' .
-'\x{8F2A}\x{8F2B}\x{8F2C}\x{8F2E}\x{8F2F}\x{8F30}\x{8F31}\x{8F32}\x{8F33}' .
-'\x{8F34}\x{8F35}\x{8F36}\x{8F37}\x{8F38}\x{8F39}\x{8F3B}\x{8F3C}\x{8F3D}' .
-'\x{8F3E}\x{8F3F}\x{8F40}\x{8F42}\x{8F43}\x{8F44}\x{8F45}\x{8F46}\x{8F47}' .
-'\x{8F48}\x{8F49}\x{8F4A}\x{8F4B}\x{8F4C}\x{8F4D}\x{8F4E}\x{8F4F}\x{8F50}' .
-'\x{8F51}\x{8F52}\x{8F53}\x{8F54}\x{8F55}\x{8F56}\x{8F57}\x{8F58}\x{8F59}' .
-'\x{8F5A}\x{8F5B}\x{8F5D}\x{8F5E}\x{8F5F}\x{8F60}\x{8F61}\x{8F62}\x{8F63}' .
-'\x{8F64}\x{8F65}\x{8F66}\x{8F67}\x{8F68}\x{8F69}\x{8F6A}\x{8F6B}\x{8F6C}' .
-'\x{8F6D}\x{8F6E}\x{8F6F}\x{8F70}\x{8F71}\x{8F72}\x{8F73}\x{8F74}\x{8F75}' .
-'\x{8F76}\x{8F77}\x{8F78}\x{8F79}\x{8F7A}\x{8F7B}\x{8F7C}\x{8F7D}\x{8F7E}' .
-'\x{8F7F}\x{8F80}\x{8F81}\x{8F82}\x{8F83}\x{8F84}\x{8F85}\x{8F86}\x{8F87}' .
-'\x{8F88}\x{8F89}\x{8F8A}\x{8F8B}\x{8F8C}\x{8F8D}\x{8F8E}\x{8F8F}\x{8F90}' .
-'\x{8F91}\x{8F92}\x{8F93}\x{8F94}\x{8F95}\x{8F96}\x{8F97}\x{8F98}\x{8F99}' .
-'\x{8F9A}\x{8F9B}\x{8F9C}\x{8F9E}\x{8F9F}\x{8FA0}\x{8FA1}\x{8FA2}\x{8FA3}' .
-'\x{8FA5}\x{8FA6}\x{8FA7}\x{8FA8}\x{8FA9}\x{8FAA}\x{8FAB}\x{8FAC}\x{8FAD}' .
-'\x{8FAE}\x{8FAF}\x{8FB0}\x{8FB1}\x{8FB2}\x{8FB4}\x{8FB5}\x{8FB6}\x{8FB7}' .
-'\x{8FB8}\x{8FB9}\x{8FBB}\x{8FBC}\x{8FBD}\x{8FBE}\x{8FBF}\x{8FC0}\x{8FC1}' .
-'\x{8FC2}\x{8FC4}\x{8FC5}\x{8FC6}\x{8FC7}\x{8FC8}\x{8FC9}\x{8FCB}\x{8FCC}' .
-'\x{8FCD}\x{8FCE}\x{8FCF}\x{8FD0}\x{8FD1}\x{8FD2}\x{8FD3}\x{8FD4}\x{8FD5}' .
-'\x{8FD6}\x{8FD7}\x{8FD8}\x{8FD9}\x{8FDA}\x{8FDB}\x{8FDC}\x{8FDD}\x{8FDE}' .
-'\x{8FDF}\x{8FE0}\x{8FE1}\x{8FE2}\x{8FE3}\x{8FE4}\x{8FE5}\x{8FE6}\x{8FE8}' .
-'\x{8FE9}\x{8FEA}\x{8FEB}\x{8FEC}\x{8FED}\x{8FEE}\x{8FEF}\x{8FF0}\x{8FF1}' .
-'\x{8FF2}\x{8FF3}\x{8FF4}\x{8FF5}\x{8FF6}\x{8FF7}\x{8FF8}\x{8FF9}\x{8FFA}' .
-'\x{8FFB}\x{8FFC}\x{8FFD}\x{8FFE}\x{8FFF}\x{9000}\x{9001}\x{9002}\x{9003}' .
-'\x{9004}\x{9005}\x{9006}\x{9007}\x{9008}\x{9009}\x{900A}\x{900B}\x{900C}' .
-'\x{900D}\x{900F}\x{9010}\x{9011}\x{9012}\x{9013}\x{9014}\x{9015}\x{9016}' .
-'\x{9017}\x{9018}\x{9019}\x{901A}\x{901B}\x{901C}\x{901D}\x{901E}\x{901F}' .
-'\x{9020}\x{9021}\x{9022}\x{9023}\x{9024}\x{9025}\x{9026}\x{9027}\x{9028}' .
-'\x{9029}\x{902B}\x{902D}\x{902E}\x{902F}\x{9030}\x{9031}\x{9032}\x{9033}' .
-'\x{9034}\x{9035}\x{9036}\x{9038}\x{903A}\x{903B}\x{903C}\x{903D}\x{903E}' .
-'\x{903F}\x{9041}\x{9042}\x{9043}\x{9044}\x{9045}\x{9047}\x{9048}\x{9049}' .
-'\x{904A}\x{904B}\x{904C}\x{904D}\x{904E}\x{904F}\x{9050}\x{9051}\x{9052}' .
-'\x{9053}\x{9054}\x{9055}\x{9056}\x{9057}\x{9058}\x{9059}\x{905A}\x{905B}' .
-'\x{905C}\x{905D}\x{905E}\x{905F}\x{9060}\x{9061}\x{9062}\x{9063}\x{9064}' .
-'\x{9065}\x{9066}\x{9067}\x{9068}\x{9069}\x{906A}\x{906B}\x{906C}\x{906D}' .
-'\x{906E}\x{906F}\x{9070}\x{9071}\x{9072}\x{9073}\x{9074}\x{9075}\x{9076}' .
-'\x{9077}\x{9078}\x{9079}\x{907A}\x{907B}\x{907C}\x{907D}\x{907E}\x{907F}' .
-'\x{9080}\x{9081}\x{9082}\x{9083}\x{9084}\x{9085}\x{9086}\x{9087}\x{9088}' .
-'\x{9089}\x{908A}\x{908B}\x{908C}\x{908D}\x{908E}\x{908F}\x{9090}\x{9091}' .
-'\x{9092}\x{9093}\x{9094}\x{9095}\x{9096}\x{9097}\x{9098}\x{9099}\x{909A}' .
-'\x{909B}\x{909C}\x{909D}\x{909E}\x{909F}\x{90A0}\x{90A1}\x{90A2}\x{90A3}' .
-'\x{90A4}\x{90A5}\x{90A6}\x{90A7}\x{90A8}\x{90A9}\x{90AA}\x{90AC}\x{90AD}' .
-'\x{90AE}\x{90AF}\x{90B0}\x{90B1}\x{90B2}\x{90B3}\x{90B4}\x{90B5}\x{90B6}' .
-'\x{90B7}\x{90B8}\x{90B9}\x{90BA}\x{90BB}\x{90BC}\x{90BD}\x{90BE}\x{90BF}' .
-'\x{90C0}\x{90C1}\x{90C2}\x{90C3}\x{90C4}\x{90C5}\x{90C6}\x{90C7}\x{90C8}' .
-'\x{90C9}\x{90CA}\x{90CB}\x{90CE}\x{90CF}\x{90D0}\x{90D1}\x{90D3}\x{90D4}' .
-'\x{90D5}\x{90D6}\x{90D7}\x{90D8}\x{90D9}\x{90DA}\x{90DB}\x{90DC}\x{90DD}' .
-'\x{90DE}\x{90DF}\x{90E0}\x{90E1}\x{90E2}\x{90E3}\x{90E4}\x{90E5}\x{90E6}' .
-'\x{90E7}\x{90E8}\x{90E9}\x{90EA}\x{90EB}\x{90EC}\x{90ED}\x{90EE}\x{90EF}' .
-'\x{90F0}\x{90F1}\x{90F2}\x{90F3}\x{90F4}\x{90F5}\x{90F7}\x{90F8}\x{90F9}' .
-'\x{90FA}\x{90FB}\x{90FC}\x{90FD}\x{90FE}\x{90FF}\x{9100}\x{9101}\x{9102}' .
-'\x{9103}\x{9104}\x{9105}\x{9106}\x{9107}\x{9108}\x{9109}\x{910B}\x{910C}' .
-'\x{910D}\x{910E}\x{910F}\x{9110}\x{9111}\x{9112}\x{9113}\x{9114}\x{9115}' .
-'\x{9116}\x{9117}\x{9118}\x{9119}\x{911A}\x{911B}\x{911C}\x{911D}\x{911E}' .
-'\x{911F}\x{9120}\x{9121}\x{9122}\x{9123}\x{9124}\x{9125}\x{9126}\x{9127}' .
-'\x{9128}\x{9129}\x{912A}\x{912B}\x{912C}\x{912D}\x{912E}\x{912F}\x{9130}' .
-'\x{9131}\x{9132}\x{9133}\x{9134}\x{9135}\x{9136}\x{9137}\x{9138}\x{9139}' .
-'\x{913A}\x{913B}\x{913E}\x{913F}\x{9140}\x{9141}\x{9142}\x{9143}\x{9144}' .
-'\x{9145}\x{9146}\x{9147}\x{9148}\x{9149}\x{914A}\x{914B}\x{914C}\x{914D}' .
-'\x{914E}\x{914F}\x{9150}\x{9151}\x{9152}\x{9153}\x{9154}\x{9155}\x{9156}' .
-'\x{9157}\x{9158}\x{915A}\x{915B}\x{915C}\x{915D}\x{915E}\x{915F}\x{9160}' .
-'\x{9161}\x{9162}\x{9163}\x{9164}\x{9165}\x{9166}\x{9167}\x{9168}\x{9169}' .
-'\x{916A}\x{916B}\x{916C}\x{916D}\x{916E}\x{916F}\x{9170}\x{9171}\x{9172}' .
-'\x{9173}\x{9174}\x{9175}\x{9176}\x{9177}\x{9178}\x{9179}\x{917A}\x{917C}' .
-'\x{917D}\x{917E}\x{917F}\x{9180}\x{9181}\x{9182}\x{9183}\x{9184}\x{9185}' .
-'\x{9186}\x{9187}\x{9188}\x{9189}\x{918A}\x{918B}\x{918C}\x{918D}\x{918E}' .
-'\x{918F}\x{9190}\x{9191}\x{9192}\x{9193}\x{9194}\x{9196}\x{9199}\x{919A}' .
-'\x{919B}\x{919C}\x{919D}\x{919E}\x{919F}\x{91A0}\x{91A1}\x{91A2}\x{91A3}' .
-'\x{91A5}\x{91A6}\x{91A7}\x{91A8}\x{91AA}\x{91AB}\x{91AC}\x{91AD}\x{91AE}' .
-'\x{91AF}\x{91B0}\x{91B1}\x{91B2}\x{91B3}\x{91B4}\x{91B5}\x{91B6}\x{91B7}' .
-'\x{91B9}\x{91BA}\x{91BB}\x{91BC}\x{91BD}\x{91BE}\x{91C0}\x{91C1}\x{91C2}' .
-'\x{91C3}\x{91C5}\x{91C6}\x{91C7}\x{91C9}\x{91CA}\x{91CB}\x{91CC}\x{91CD}' .
-'\x{91CE}\x{91CF}\x{91D0}\x{91D1}\x{91D2}\x{91D3}\x{91D4}\x{91D5}\x{91D7}' .
-'\x{91D8}\x{91D9}\x{91DA}\x{91DB}\x{91DC}\x{91DD}\x{91DE}\x{91DF}\x{91E2}' .
-'\x{91E3}\x{91E4}\x{91E5}\x{91E6}\x{91E7}\x{91E8}\x{91E9}\x{91EA}\x{91EB}' .
-'\x{91EC}\x{91ED}\x{91EE}\x{91F0}\x{91F1}\x{91F2}\x{91F3}\x{91F4}\x{91F5}' .
-'\x{91F7}\x{91F8}\x{91F9}\x{91FA}\x{91FB}\x{91FD}\x{91FE}\x{91FF}\x{9200}' .
-'\x{9201}\x{9202}\x{9203}\x{9204}\x{9205}\x{9206}\x{9207}\x{9208}\x{9209}' .
-'\x{920A}\x{920B}\x{920C}\x{920D}\x{920E}\x{920F}\x{9210}\x{9211}\x{9212}' .
-'\x{9214}\x{9215}\x{9216}\x{9217}\x{9218}\x{9219}\x{921A}\x{921B}\x{921C}' .
-'\x{921D}\x{921E}\x{9220}\x{9221}\x{9223}\x{9224}\x{9225}\x{9226}\x{9227}' .
-'\x{9228}\x{9229}\x{922A}\x{922B}\x{922D}\x{922E}\x{922F}\x{9230}\x{9231}' .
-'\x{9232}\x{9233}\x{9234}\x{9235}\x{9236}\x{9237}\x{9238}\x{9239}\x{923A}' .
-'\x{923B}\x{923C}\x{923D}\x{923E}\x{923F}\x{9240}\x{9241}\x{9242}\x{9245}' .
-'\x{9246}\x{9247}\x{9248}\x{9249}\x{924A}\x{924B}\x{924C}\x{924D}\x{924E}' .
-'\x{924F}\x{9250}\x{9251}\x{9252}\x{9253}\x{9254}\x{9255}\x{9256}\x{9257}' .
-'\x{9258}\x{9259}\x{925A}\x{925B}\x{925C}\x{925D}\x{925E}\x{925F}\x{9260}' .
-'\x{9261}\x{9262}\x{9263}\x{9264}\x{9265}\x{9266}\x{9267}\x{9268}\x{926B}' .
-'\x{926C}\x{926D}\x{926E}\x{926F}\x{9270}\x{9272}\x{9273}\x{9274}\x{9275}' .
-'\x{9276}\x{9277}\x{9278}\x{9279}\x{927A}\x{927B}\x{927C}\x{927D}\x{927E}' .
-'\x{927F}\x{9280}\x{9282}\x{9283}\x{9285}\x{9286}\x{9287}\x{9288}\x{9289}' .
-'\x{928A}\x{928B}\x{928C}\x{928D}\x{928E}\x{928F}\x{9290}\x{9291}\x{9292}' .
-'\x{9293}\x{9294}\x{9295}\x{9296}\x{9297}\x{9298}\x{9299}\x{929A}\x{929B}' .
-'\x{929C}\x{929D}\x{929F}\x{92A0}\x{92A1}\x{92A2}\x{92A3}\x{92A4}\x{92A5}' .
-'\x{92A6}\x{92A7}\x{92A8}\x{92A9}\x{92AA}\x{92AB}\x{92AC}\x{92AD}\x{92AE}' .
-'\x{92AF}\x{92B0}\x{92B1}\x{92B2}\x{92B3}\x{92B4}\x{92B5}\x{92B6}\x{92B7}' .
-'\x{92B8}\x{92B9}\x{92BA}\x{92BB}\x{92BC}\x{92BE}\x{92BF}\x{92C0}\x{92C1}' .
-'\x{92C2}\x{92C3}\x{92C4}\x{92C5}\x{92C6}\x{92C7}\x{92C8}\x{92C9}\x{92CA}' .
-'\x{92CB}\x{92CC}\x{92CD}\x{92CE}\x{92CF}\x{92D0}\x{92D1}\x{92D2}\x{92D3}' .
-'\x{92D5}\x{92D6}\x{92D7}\x{92D8}\x{92D9}\x{92DA}\x{92DC}\x{92DD}\x{92DE}' .
-'\x{92DF}\x{92E0}\x{92E1}\x{92E3}\x{92E4}\x{92E5}\x{92E6}\x{92E7}\x{92E8}' .
-'\x{92E9}\x{92EA}\x{92EB}\x{92EC}\x{92ED}\x{92EE}\x{92EF}\x{92F0}\x{92F1}' .
-'\x{92F2}\x{92F3}\x{92F4}\x{92F5}\x{92F6}\x{92F7}\x{92F8}\x{92F9}\x{92FA}' .
-'\x{92FB}\x{92FC}\x{92FD}\x{92FE}\x{92FF}\x{9300}\x{9301}\x{9302}\x{9303}' .
-'\x{9304}\x{9305}\x{9306}\x{9307}\x{9308}\x{9309}\x{930A}\x{930B}\x{930C}' .
-'\x{930D}\x{930E}\x{930F}\x{9310}\x{9311}\x{9312}\x{9313}\x{9314}\x{9315}' .
-'\x{9316}\x{9317}\x{9318}\x{9319}\x{931A}\x{931B}\x{931D}\x{931E}\x{931F}' .
-'\x{9320}\x{9321}\x{9322}\x{9323}\x{9324}\x{9325}\x{9326}\x{9327}\x{9328}' .
-'\x{9329}\x{932A}\x{932B}\x{932D}\x{932E}\x{932F}\x{9332}\x{9333}\x{9334}' .
-'\x{9335}\x{9336}\x{9337}\x{9338}\x{9339}\x{933A}\x{933B}\x{933C}\x{933D}' .
-'\x{933E}\x{933F}\x{9340}\x{9341}\x{9342}\x{9343}\x{9344}\x{9345}\x{9346}' .
-'\x{9347}\x{9348}\x{9349}\x{934A}\x{934B}\x{934C}\x{934D}\x{934E}\x{934F}' .
-'\x{9350}\x{9351}\x{9352}\x{9353}\x{9354}\x{9355}\x{9356}\x{9357}\x{9358}' .
-'\x{9359}\x{935A}\x{935B}\x{935C}\x{935D}\x{935E}\x{935F}\x{9360}\x{9361}' .
-'\x{9363}\x{9364}\x{9365}\x{9366}\x{9367}\x{9369}\x{936A}\x{936C}\x{936D}' .
-'\x{936E}\x{9370}\x{9371}\x{9372}\x{9374}\x{9375}\x{9376}\x{9377}\x{9379}' .
-'\x{937A}\x{937B}\x{937C}\x{937D}\x{937E}\x{9380}\x{9382}\x{9383}\x{9384}' .
-'\x{9385}\x{9386}\x{9387}\x{9388}\x{9389}\x{938A}\x{938C}\x{938D}\x{938E}' .
-'\x{938F}\x{9390}\x{9391}\x{9392}\x{9393}\x{9394}\x{9395}\x{9396}\x{9397}' .
-'\x{9398}\x{9399}\x{939A}\x{939B}\x{939D}\x{939E}\x{939F}\x{93A1}\x{93A2}' .
-'\x{93A3}\x{93A4}\x{93A5}\x{93A6}\x{93A7}\x{93A8}\x{93A9}\x{93AA}\x{93AC}' .
-'\x{93AD}\x{93AE}\x{93AF}\x{93B0}\x{93B1}\x{93B2}\x{93B3}\x{93B4}\x{93B5}' .
-'\x{93B6}\x{93B7}\x{93B8}\x{93B9}\x{93BA}\x{93BC}\x{93BD}\x{93BE}\x{93BF}' .
-'\x{93C0}\x{93C1}\x{93C2}\x{93C3}\x{93C4}\x{93C5}\x{93C6}\x{93C7}\x{93C8}' .
-'\x{93C9}\x{93CA}\x{93CB}\x{93CC}\x{93CD}\x{93CE}\x{93CF}\x{93D0}\x{93D1}' .
-'\x{93D2}\x{93D3}\x{93D4}\x{93D5}\x{93D6}\x{93D7}\x{93D8}\x{93D9}\x{93DA}' .
-'\x{93DB}\x{93DC}\x{93DD}\x{93DE}\x{93DF}\x{93E1}\x{93E2}\x{93E3}\x{93E4}' .
-'\x{93E6}\x{93E7}\x{93E8}\x{93E9}\x{93EA}\x{93EB}\x{93EC}\x{93ED}\x{93EE}' .
-'\x{93EF}\x{93F0}\x{93F1}\x{93F2}\x{93F4}\x{93F5}\x{93F6}\x{93F7}\x{93F8}' .
-'\x{93F9}\x{93FA}\x{93FB}\x{93FC}\x{93FD}\x{93FE}\x{93FF}\x{9400}\x{9401}' .
-'\x{9403}\x{9404}\x{9405}\x{9406}\x{9407}\x{9408}\x{9409}\x{940A}\x{940B}' .
-'\x{940C}\x{940D}\x{940E}\x{940F}\x{9410}\x{9411}\x{9412}\x{9413}\x{9414}' .
-'\x{9415}\x{9416}\x{9418}\x{9419}\x{941B}\x{941D}\x{9420}\x{9422}\x{9423}' .
-'\x{9425}\x{9426}\x{9427}\x{9428}\x{9429}\x{942A}\x{942B}\x{942C}\x{942D}' .
-'\x{942E}\x{942F}\x{9430}\x{9431}\x{9432}\x{9433}\x{9434}\x{9435}\x{9436}' .
-'\x{9437}\x{9438}\x{9439}\x{943A}\x{943B}\x{943C}\x{943D}\x{943E}\x{943F}' .
-'\x{9440}\x{9441}\x{9442}\x{9444}\x{9445}\x{9446}\x{9447}\x{9448}\x{9449}' .
-'\x{944A}\x{944B}\x{944C}\x{944D}\x{944F}\x{9450}\x{9451}\x{9452}\x{9453}' .
-'\x{9454}\x{9455}\x{9456}\x{9457}\x{9458}\x{9459}\x{945B}\x{945C}\x{945D}' .
-'\x{945E}\x{945F}\x{9460}\x{9461}\x{9462}\x{9463}\x{9464}\x{9465}\x{9466}' .
-'\x{9467}\x{9468}\x{9469}\x{946A}\x{946B}\x{946D}\x{946E}\x{946F}\x{9470}' .
-'\x{9471}\x{9472}\x{9473}\x{9474}\x{9475}\x{9476}\x{9477}\x{9478}\x{9479}' .
-'\x{947A}\x{947C}\x{947D}\x{947E}\x{947F}\x{9480}\x{9481}\x{9482}\x{9483}' .
-'\x{9484}\x{9485}\x{9486}\x{9487}\x{9488}\x{9489}\x{948A}\x{948B}\x{948C}' .
-'\x{948D}\x{948E}\x{948F}\x{9490}\x{9491}\x{9492}\x{9493}\x{9494}\x{9495}' .
-'\x{9496}\x{9497}\x{9498}\x{9499}\x{949A}\x{949B}\x{949C}\x{949D}\x{949E}' .
-'\x{949F}\x{94A0}\x{94A1}\x{94A2}\x{94A3}\x{94A4}\x{94A5}\x{94A6}\x{94A7}' .
-'\x{94A8}\x{94A9}\x{94AA}\x{94AB}\x{94AC}\x{94AD}\x{94AE}\x{94AF}\x{94B0}' .
-'\x{94B1}\x{94B2}\x{94B3}\x{94B4}\x{94B5}\x{94B6}\x{94B7}\x{94B8}\x{94B9}' .
-'\x{94BA}\x{94BB}\x{94BC}\x{94BD}\x{94BE}\x{94BF}\x{94C0}\x{94C1}\x{94C2}' .
-'\x{94C3}\x{94C4}\x{94C5}\x{94C6}\x{94C7}\x{94C8}\x{94C9}\x{94CA}\x{94CB}' .
-'\x{94CC}\x{94CD}\x{94CE}\x{94CF}\x{94D0}\x{94D1}\x{94D2}\x{94D3}\x{94D4}' .
-'\x{94D5}\x{94D6}\x{94D7}\x{94D8}\x{94D9}\x{94DA}\x{94DB}\x{94DC}\x{94DD}' .
-'\x{94DE}\x{94DF}\x{94E0}\x{94E1}\x{94E2}\x{94E3}\x{94E4}\x{94E5}\x{94E6}' .
-'\x{94E7}\x{94E8}\x{94E9}\x{94EA}\x{94EB}\x{94EC}\x{94ED}\x{94EE}\x{94EF}' .
-'\x{94F0}\x{94F1}\x{94F2}\x{94F3}\x{94F4}\x{94F5}\x{94F6}\x{94F7}\x{94F8}' .
-'\x{94F9}\x{94FA}\x{94FB}\x{94FC}\x{94FD}\x{94FE}\x{94FF}\x{9500}\x{9501}' .
-'\x{9502}\x{9503}\x{9504}\x{9505}\x{9506}\x{9507}\x{9508}\x{9509}\x{950A}' .
-'\x{950B}\x{950C}\x{950D}\x{950E}\x{950F}\x{9510}\x{9511}\x{9512}\x{9513}' .
-'\x{9514}\x{9515}\x{9516}\x{9517}\x{9518}\x{9519}\x{951A}\x{951B}\x{951C}' .
-'\x{951D}\x{951E}\x{951F}\x{9520}\x{9521}\x{9522}\x{9523}\x{9524}\x{9525}' .
-'\x{9526}\x{9527}\x{9528}\x{9529}\x{952A}\x{952B}\x{952C}\x{952D}\x{952E}' .
-'\x{952F}\x{9530}\x{9531}\x{9532}\x{9533}\x{9534}\x{9535}\x{9536}\x{9537}' .
-'\x{9538}\x{9539}\x{953A}\x{953B}\x{953C}\x{953D}\x{953E}\x{953F}\x{9540}' .
-'\x{9541}\x{9542}\x{9543}\x{9544}\x{9545}\x{9546}\x{9547}\x{9548}\x{9549}' .
-'\x{954A}\x{954B}\x{954C}\x{954D}\x{954E}\x{954F}\x{9550}\x{9551}\x{9552}' .
-'\x{9553}\x{9554}\x{9555}\x{9556}\x{9557}\x{9558}\x{9559}\x{955A}\x{955B}' .
-'\x{955C}\x{955D}\x{955E}\x{955F}\x{9560}\x{9561}\x{9562}\x{9563}\x{9564}' .
-'\x{9565}\x{9566}\x{9567}\x{9568}\x{9569}\x{956A}\x{956B}\x{956C}\x{956D}' .
-'\x{956E}\x{956F}\x{9570}\x{9571}\x{9572}\x{9573}\x{9574}\x{9575}\x{9576}' .
-'\x{9577}\x{957A}\x{957B}\x{957C}\x{957D}\x{957F}\x{9580}\x{9581}\x{9582}' .
-'\x{9583}\x{9584}\x{9586}\x{9587}\x{9588}\x{9589}\x{958A}\x{958B}\x{958C}' .
-'\x{958D}\x{958E}\x{958F}\x{9590}\x{9591}\x{9592}\x{9593}\x{9594}\x{9595}' .
-'\x{9596}\x{9598}\x{9599}\x{959A}\x{959B}\x{959C}\x{959D}\x{959E}\x{959F}' .
-'\x{95A1}\x{95A2}\x{95A3}\x{95A4}\x{95A5}\x{95A6}\x{95A7}\x{95A8}\x{95A9}' .
-'\x{95AA}\x{95AB}\x{95AC}\x{95AD}\x{95AE}\x{95AF}\x{95B0}\x{95B1}\x{95B2}' .
-'\x{95B5}\x{95B6}\x{95B7}\x{95B9}\x{95BA}\x{95BB}\x{95BC}\x{95BD}\x{95BE}' .
-'\x{95BF}\x{95C0}\x{95C2}\x{95C3}\x{95C4}\x{95C5}\x{95C6}\x{95C7}\x{95C8}' .
-'\x{95C9}\x{95CA}\x{95CB}\x{95CC}\x{95CD}\x{95CE}\x{95CF}\x{95D0}\x{95D1}' .
-'\x{95D2}\x{95D3}\x{95D4}\x{95D5}\x{95D6}\x{95D7}\x{95D8}\x{95DA}\x{95DB}' .
-'\x{95DC}\x{95DE}\x{95DF}\x{95E0}\x{95E1}\x{95E2}\x{95E3}\x{95E4}\x{95E5}' .
-'\x{95E6}\x{95E7}\x{95E8}\x{95E9}\x{95EA}\x{95EB}\x{95EC}\x{95ED}\x{95EE}' .
-'\x{95EF}\x{95F0}\x{95F1}\x{95F2}\x{95F3}\x{95F4}\x{95F5}\x{95F6}\x{95F7}' .
-'\x{95F8}\x{95F9}\x{95FA}\x{95FB}\x{95FC}\x{95FD}\x{95FE}\x{95FF}\x{9600}' .
-'\x{9601}\x{9602}\x{9603}\x{9604}\x{9605}\x{9606}\x{9607}\x{9608}\x{9609}' .
-'\x{960A}\x{960B}\x{960C}\x{960D}\x{960E}\x{960F}\x{9610}\x{9611}\x{9612}' .
-'\x{9613}\x{9614}\x{9615}\x{9616}\x{9617}\x{9618}\x{9619}\x{961A}\x{961B}' .
-'\x{961C}\x{961D}\x{961E}\x{961F}\x{9620}\x{9621}\x{9622}\x{9623}\x{9624}' .
-'\x{9627}\x{9628}\x{962A}\x{962B}\x{962C}\x{962D}\x{962E}\x{962F}\x{9630}' .
-'\x{9631}\x{9632}\x{9633}\x{9634}\x{9635}\x{9636}\x{9637}\x{9638}\x{9639}' .
-'\x{963A}\x{963B}\x{963C}\x{963D}\x{963F}\x{9640}\x{9641}\x{9642}\x{9643}' .
-'\x{9644}\x{9645}\x{9646}\x{9647}\x{9648}\x{9649}\x{964A}\x{964B}\x{964C}' .
-'\x{964D}\x{964E}\x{964F}\x{9650}\x{9651}\x{9652}\x{9653}\x{9654}\x{9655}' .
-'\x{9658}\x{9659}\x{965A}\x{965B}\x{965C}\x{965D}\x{965E}\x{965F}\x{9660}' .
-'\x{9661}\x{9662}\x{9663}\x{9664}\x{9666}\x{9667}\x{9668}\x{9669}\x{966A}' .
-'\x{966B}\x{966C}\x{966D}\x{966E}\x{966F}\x{9670}\x{9671}\x{9672}\x{9673}' .
-'\x{9674}\x{9675}\x{9676}\x{9677}\x{9678}\x{967C}\x{967D}\x{967E}\x{9680}' .
-'\x{9683}\x{9684}\x{9685}\x{9686}\x{9687}\x{9688}\x{9689}\x{968A}\x{968B}' .
-'\x{968D}\x{968E}\x{968F}\x{9690}\x{9691}\x{9692}\x{9693}\x{9694}\x{9695}' .
-'\x{9697}\x{9698}\x{9699}\x{969B}\x{969C}\x{969E}\x{96A0}\x{96A1}\x{96A2}' .
-'\x{96A3}\x{96A4}\x{96A5}\x{96A6}\x{96A7}\x{96A8}\x{96A9}\x{96AA}\x{96AC}' .
-'\x{96AD}\x{96AE}\x{96B0}\x{96B1}\x{96B3}\x{96B4}\x{96B6}\x{96B7}\x{96B8}' .
-'\x{96B9}\x{96BA}\x{96BB}\x{96BC}\x{96BD}\x{96BE}\x{96BF}\x{96C0}\x{96C1}' .
-'\x{96C2}\x{96C3}\x{96C4}\x{96C5}\x{96C6}\x{96C7}\x{96C8}\x{96C9}\x{96CA}' .
-'\x{96CB}\x{96CC}\x{96CD}\x{96CE}\x{96CF}\x{96D0}\x{96D1}\x{96D2}\x{96D3}' .
-'\x{96D4}\x{96D5}\x{96D6}\x{96D7}\x{96D8}\x{96D9}\x{96DA}\x{96DB}\x{96DC}' .
-'\x{96DD}\x{96DE}\x{96DF}\x{96E0}\x{96E1}\x{96E2}\x{96E3}\x{96E5}\x{96E8}' .
-'\x{96E9}\x{96EA}\x{96EB}\x{96EC}\x{96ED}\x{96EE}\x{96EF}\x{96F0}\x{96F1}' .
-'\x{96F2}\x{96F3}\x{96F4}\x{96F5}\x{96F6}\x{96F7}\x{96F8}\x{96F9}\x{96FA}' .
-'\x{96FB}\x{96FD}\x{96FE}\x{96FF}\x{9700}\x{9701}\x{9702}\x{9703}\x{9704}' .
-'\x{9705}\x{9706}\x{9707}\x{9708}\x{9709}\x{970A}\x{970B}\x{970C}\x{970D}' .
-'\x{970E}\x{970F}\x{9710}\x{9711}\x{9712}\x{9713}\x{9715}\x{9716}\x{9718}' .
-'\x{9719}\x{971C}\x{971D}\x{971E}\x{971F}\x{9720}\x{9721}\x{9722}\x{9723}' .
-'\x{9724}\x{9725}\x{9726}\x{9727}\x{9728}\x{9729}\x{972A}\x{972B}\x{972C}' .
-'\x{972D}\x{972E}\x{972F}\x{9730}\x{9731}\x{9732}\x{9735}\x{9736}\x{9738}' .
-'\x{9739}\x{973A}\x{973B}\x{973C}\x{973D}\x{973E}\x{973F}\x{9742}\x{9743}' .
-'\x{9744}\x{9745}\x{9746}\x{9747}\x{9748}\x{9749}\x{974A}\x{974B}\x{974C}' .
-'\x{974E}\x{974F}\x{9750}\x{9751}\x{9752}\x{9753}\x{9754}\x{9755}\x{9756}' .
-'\x{9758}\x{9759}\x{975A}\x{975B}\x{975C}\x{975D}\x{975E}\x{975F}\x{9760}' .
-'\x{9761}\x{9762}\x{9765}\x{9766}\x{9767}\x{9768}\x{9769}\x{976A}\x{976B}' .
-'\x{976C}\x{976D}\x{976E}\x{976F}\x{9770}\x{9772}\x{9773}\x{9774}\x{9776}' .
-'\x{9777}\x{9778}\x{9779}\x{977A}\x{977B}\x{977C}\x{977D}\x{977E}\x{977F}' .
-'\x{9780}\x{9781}\x{9782}\x{9783}\x{9784}\x{9785}\x{9786}\x{9788}\x{978A}' .
-'\x{978B}\x{978C}\x{978D}\x{978E}\x{978F}\x{9790}\x{9791}\x{9792}\x{9793}' .
-'\x{9794}\x{9795}\x{9796}\x{9797}\x{9798}\x{9799}\x{979A}\x{979C}\x{979D}' .
-'\x{979E}\x{979F}\x{97A0}\x{97A1}\x{97A2}\x{97A3}\x{97A4}\x{97A5}\x{97A6}' .
-'\x{97A7}\x{97A8}\x{97AA}\x{97AB}\x{97AC}\x{97AD}\x{97AE}\x{97AF}\x{97B2}' .
-'\x{97B3}\x{97B4}\x{97B6}\x{97B7}\x{97B8}\x{97B9}\x{97BA}\x{97BB}\x{97BC}' .
-'\x{97BD}\x{97BF}\x{97C1}\x{97C2}\x{97C3}\x{97C4}\x{97C5}\x{97C6}\x{97C7}' .
-'\x{97C8}\x{97C9}\x{97CA}\x{97CB}\x{97CC}\x{97CD}\x{97CE}\x{97CF}\x{97D0}' .
-'\x{97D1}\x{97D3}\x{97D4}\x{97D5}\x{97D6}\x{97D7}\x{97D8}\x{97D9}\x{97DA}' .
-'\x{97DB}\x{97DC}\x{97DD}\x{97DE}\x{97DF}\x{97E0}\x{97E1}\x{97E2}\x{97E3}' .
-'\x{97E4}\x{97E5}\x{97E6}\x{97E7}\x{97E8}\x{97E9}\x{97EA}\x{97EB}\x{97EC}' .
-'\x{97ED}\x{97EE}\x{97EF}\x{97F0}\x{97F1}\x{97F2}\x{97F3}\x{97F4}\x{97F5}' .
-'\x{97F6}\x{97F7}\x{97F8}\x{97F9}\x{97FA}\x{97FB}\x{97FD}\x{97FE}\x{97FF}' .
-'\x{9800}\x{9801}\x{9802}\x{9803}\x{9804}\x{9805}\x{9806}\x{9807}\x{9808}' .
-'\x{9809}\x{980A}\x{980B}\x{980C}\x{980D}\x{980E}\x{980F}\x{9810}\x{9811}' .
-'\x{9812}\x{9813}\x{9814}\x{9815}\x{9816}\x{9817}\x{9818}\x{9819}\x{981A}' .
-'\x{981B}\x{981C}\x{981D}\x{981E}\x{9820}\x{9821}\x{9822}\x{9823}\x{9824}' .
-'\x{9826}\x{9827}\x{9828}\x{9829}\x{982B}\x{982D}\x{982E}\x{982F}\x{9830}' .
-'\x{9831}\x{9832}\x{9834}\x{9835}\x{9836}\x{9837}\x{9838}\x{9839}\x{983B}' .
-'\x{983C}\x{983D}\x{983F}\x{9840}\x{9841}\x{9843}\x{9844}\x{9845}\x{9846}' .
-'\x{9848}\x{9849}\x{984A}\x{984C}\x{984D}\x{984E}\x{984F}\x{9850}\x{9851}' .
-'\x{9852}\x{9853}\x{9854}\x{9855}\x{9857}\x{9858}\x{9859}\x{985A}\x{985B}' .
-'\x{985C}\x{985D}\x{985E}\x{985F}\x{9860}\x{9861}\x{9862}\x{9863}\x{9864}' .
-'\x{9865}\x{9867}\x{9869}\x{986A}\x{986B}\x{986C}\x{986D}\x{986E}\x{986F}' .
-'\x{9870}\x{9871}\x{9872}\x{9873}\x{9874}\x{9875}\x{9876}\x{9877}\x{9878}' .
-'\x{9879}\x{987A}\x{987B}\x{987C}\x{987D}\x{987E}\x{987F}\x{9880}\x{9881}' .
-'\x{9882}\x{9883}\x{9884}\x{9885}\x{9886}\x{9887}\x{9888}\x{9889}\x{988A}' .
-'\x{988B}\x{988C}\x{988D}\x{988E}\x{988F}\x{9890}\x{9891}\x{9892}\x{9893}' .
-'\x{9894}\x{9895}\x{9896}\x{9897}\x{9898}\x{9899}\x{989A}\x{989B}\x{989C}' .
-'\x{989D}\x{989E}\x{989F}\x{98A0}\x{98A1}\x{98A2}\x{98A3}\x{98A4}\x{98A5}' .
-'\x{98A6}\x{98A7}\x{98A8}\x{98A9}\x{98AA}\x{98AB}\x{98AC}\x{98AD}\x{98AE}' .
-'\x{98AF}\x{98B0}\x{98B1}\x{98B2}\x{98B3}\x{98B4}\x{98B5}\x{98B6}\x{98B8}' .
-'\x{98B9}\x{98BA}\x{98BB}\x{98BC}\x{98BD}\x{98BE}\x{98BF}\x{98C0}\x{98C1}' .
-'\x{98C2}\x{98C3}\x{98C4}\x{98C5}\x{98C6}\x{98C8}\x{98C9}\x{98CB}\x{98CC}' .
-'\x{98CD}\x{98CE}\x{98CF}\x{98D0}\x{98D1}\x{98D2}\x{98D3}\x{98D4}\x{98D5}' .
-'\x{98D6}\x{98D7}\x{98D8}\x{98D9}\x{98DA}\x{98DB}\x{98DC}\x{98DD}\x{98DE}' .
-'\x{98DF}\x{98E0}\x{98E2}\x{98E3}\x{98E5}\x{98E6}\x{98E7}\x{98E8}\x{98E9}' .
-'\x{98EA}\x{98EB}\x{98ED}\x{98EF}\x{98F0}\x{98F2}\x{98F3}\x{98F4}\x{98F5}' .
-'\x{98F6}\x{98F7}\x{98F9}\x{98FA}\x{98FC}\x{98FD}\x{98FE}\x{98FF}\x{9900}' .
-'\x{9901}\x{9902}\x{9903}\x{9904}\x{9905}\x{9906}\x{9907}\x{9908}\x{9909}' .
-'\x{990A}\x{990B}\x{990C}\x{990D}\x{990E}\x{990F}\x{9910}\x{9911}\x{9912}' .
-'\x{9913}\x{9914}\x{9915}\x{9916}\x{9917}\x{9918}\x{991A}\x{991B}\x{991C}' .
-'\x{991D}\x{991E}\x{991F}\x{9920}\x{9921}\x{9922}\x{9923}\x{9924}\x{9925}' .
-'\x{9926}\x{9927}\x{9928}\x{9929}\x{992A}\x{992B}\x{992C}\x{992D}\x{992E}' .
-'\x{992F}\x{9930}\x{9931}\x{9932}\x{9933}\x{9934}\x{9935}\x{9936}\x{9937}' .
-'\x{9938}\x{9939}\x{993A}\x{993C}\x{993D}\x{993E}\x{993F}\x{9940}\x{9941}' .
-'\x{9942}\x{9943}\x{9945}\x{9946}\x{9947}\x{9948}\x{9949}\x{994A}\x{994B}' .
-'\x{994C}\x{994E}\x{994F}\x{9950}\x{9951}\x{9952}\x{9953}\x{9954}\x{9955}' .
-'\x{9956}\x{9957}\x{9958}\x{9959}\x{995B}\x{995C}\x{995E}\x{995F}\x{9960}' .
-'\x{9961}\x{9962}\x{9963}\x{9964}\x{9965}\x{9966}\x{9967}\x{9968}\x{9969}' .
-'\x{996A}\x{996B}\x{996C}\x{996D}\x{996E}\x{996F}\x{9970}\x{9971}\x{9972}' .
-'\x{9973}\x{9974}\x{9975}\x{9976}\x{9977}\x{9978}\x{9979}\x{997A}\x{997B}' .
-'\x{997C}\x{997D}\x{997E}\x{997F}\x{9980}\x{9981}\x{9982}\x{9983}\x{9984}' .
-'\x{9985}\x{9986}\x{9987}\x{9988}\x{9989}\x{998A}\x{998B}\x{998C}\x{998D}' .
-'\x{998E}\x{998F}\x{9990}\x{9991}\x{9992}\x{9993}\x{9994}\x{9995}\x{9996}' .
-'\x{9997}\x{9998}\x{9999}\x{999A}\x{999B}\x{999C}\x{999D}\x{999E}\x{999F}' .
-'\x{99A0}\x{99A1}\x{99A2}\x{99A3}\x{99A4}\x{99A5}\x{99A6}\x{99A7}\x{99A8}' .
-'\x{99A9}\x{99AA}\x{99AB}\x{99AC}\x{99AD}\x{99AE}\x{99AF}\x{99B0}\x{99B1}' .
-'\x{99B2}\x{99B3}\x{99B4}\x{99B5}\x{99B6}\x{99B7}\x{99B8}\x{99B9}\x{99BA}' .
-'\x{99BB}\x{99BC}\x{99BD}\x{99BE}\x{99C0}\x{99C1}\x{99C2}\x{99C3}\x{99C4}' .
-'\x{99C6}\x{99C7}\x{99C8}\x{99C9}\x{99CA}\x{99CB}\x{99CC}\x{99CD}\x{99CE}' .
-'\x{99CF}\x{99D0}\x{99D1}\x{99D2}\x{99D3}\x{99D4}\x{99D5}\x{99D6}\x{99D7}' .
-'\x{99D8}\x{99D9}\x{99DA}\x{99DB}\x{99DC}\x{99DD}\x{99DE}\x{99DF}\x{99E1}' .
-'\x{99E2}\x{99E3}\x{99E4}\x{99E5}\x{99E7}\x{99E8}\x{99E9}\x{99EA}\x{99EC}' .
-'\x{99ED}\x{99EE}\x{99EF}\x{99F0}\x{99F1}\x{99F2}\x{99F3}\x{99F4}\x{99F6}' .
-'\x{99F7}\x{99F8}\x{99F9}\x{99FA}\x{99FB}\x{99FC}\x{99FD}\x{99FE}\x{99FF}' .
-'\x{9A00}\x{9A01}\x{9A02}\x{9A03}\x{9A04}\x{9A05}\x{9A06}\x{9A07}\x{9A08}' .
-'\x{9A09}\x{9A0A}\x{9A0B}\x{9A0C}\x{9A0D}\x{9A0E}\x{9A0F}\x{9A11}\x{9A14}' .
-'\x{9A15}\x{9A16}\x{9A19}\x{9A1A}\x{9A1B}\x{9A1C}\x{9A1D}\x{9A1E}\x{9A1F}' .
-'\x{9A20}\x{9A21}\x{9A22}\x{9A23}\x{9A24}\x{9A25}\x{9A26}\x{9A27}\x{9A29}' .
-'\x{9A2A}\x{9A2B}\x{9A2C}\x{9A2D}\x{9A2E}\x{9A2F}\x{9A30}\x{9A31}\x{9A32}' .
-'\x{9A33}\x{9A34}\x{9A35}\x{9A36}\x{9A37}\x{9A38}\x{9A39}\x{9A3A}\x{9A3C}' .
-'\x{9A3D}\x{9A3E}\x{9A3F}\x{9A40}\x{9A41}\x{9A42}\x{9A43}\x{9A44}\x{9A45}' .
-'\x{9A46}\x{9A47}\x{9A48}\x{9A49}\x{9A4A}\x{9A4B}\x{9A4C}\x{9A4D}\x{9A4E}' .
-'\x{9A4F}\x{9A50}\x{9A52}\x{9A53}\x{9A54}\x{9A55}\x{9A56}\x{9A57}\x{9A59}' .
-'\x{9A5A}\x{9A5B}\x{9A5C}\x{9A5E}\x{9A5F}\x{9A60}\x{9A61}\x{9A62}\x{9A64}' .
-'\x{9A65}\x{9A66}\x{9A67}\x{9A68}\x{9A69}\x{9A6A}\x{9A6B}\x{9A6C}\x{9A6D}' .
-'\x{9A6E}\x{9A6F}\x{9A70}\x{9A71}\x{9A72}\x{9A73}\x{9A74}\x{9A75}\x{9A76}' .
-'\x{9A77}\x{9A78}\x{9A79}\x{9A7A}\x{9A7B}\x{9A7C}\x{9A7D}\x{9A7E}\x{9A7F}' .
-'\x{9A80}\x{9A81}\x{9A82}\x{9A83}\x{9A84}\x{9A85}\x{9A86}\x{9A87}\x{9A88}' .
-'\x{9A89}\x{9A8A}\x{9A8B}\x{9A8C}\x{9A8D}\x{9A8E}\x{9A8F}\x{9A90}\x{9A91}' .
-'\x{9A92}\x{9A93}\x{9A94}\x{9A95}\x{9A96}\x{9A97}\x{9A98}\x{9A99}\x{9A9A}' .
-'\x{9A9B}\x{9A9C}\x{9A9D}\x{9A9E}\x{9A9F}\x{9AA0}\x{9AA1}\x{9AA2}\x{9AA3}' .
-'\x{9AA4}\x{9AA5}\x{9AA6}\x{9AA7}\x{9AA8}\x{9AAA}\x{9AAB}\x{9AAC}\x{9AAD}' .
-'\x{9AAE}\x{9AAF}\x{9AB0}\x{9AB1}\x{9AB2}\x{9AB3}\x{9AB4}\x{9AB5}\x{9AB6}' .
-'\x{9AB7}\x{9AB8}\x{9AB9}\x{9ABA}\x{9ABB}\x{9ABC}\x{9ABE}\x{9ABF}\x{9AC0}' .
-'\x{9AC1}\x{9AC2}\x{9AC3}\x{9AC4}\x{9AC5}\x{9AC6}\x{9AC7}\x{9AC9}\x{9ACA}' .
-'\x{9ACB}\x{9ACC}\x{9ACD}\x{9ACE}\x{9ACF}\x{9AD0}\x{9AD1}\x{9AD2}\x{9AD3}' .
-'\x{9AD4}\x{9AD5}\x{9AD6}\x{9AD8}\x{9AD9}\x{9ADA}\x{9ADB}\x{9ADC}\x{9ADD}' .
-'\x{9ADE}\x{9ADF}\x{9AE1}\x{9AE2}\x{9AE3}\x{9AE5}\x{9AE6}\x{9AE7}\x{9AEA}' .
-'\x{9AEB}\x{9AEC}\x{9AED}\x{9AEE}\x{9AEF}\x{9AF1}\x{9AF2}\x{9AF3}\x{9AF4}' .
-'\x{9AF5}\x{9AF6}\x{9AF7}\x{9AF8}\x{9AF9}\x{9AFA}\x{9AFB}\x{9AFC}\x{9AFD}' .
-'\x{9AFE}\x{9AFF}\x{9B01}\x{9B03}\x{9B04}\x{9B05}\x{9B06}\x{9B07}\x{9B08}' .
-'\x{9B0A}\x{9B0B}\x{9B0C}\x{9B0D}\x{9B0E}\x{9B0F}\x{9B10}\x{9B11}\x{9B12}' .
-'\x{9B13}\x{9B15}\x{9B16}\x{9B17}\x{9B18}\x{9B19}\x{9B1A}\x{9B1C}\x{9B1D}' .
-'\x{9B1E}\x{9B1F}\x{9B20}\x{9B21}\x{9B22}\x{9B23}\x{9B24}\x{9B25}\x{9B26}' .
-'\x{9B27}\x{9B28}\x{9B29}\x{9B2A}\x{9B2B}\x{9B2C}\x{9B2D}\x{9B2E}\x{9B2F}' .
-'\x{9B30}\x{9B31}\x{9B32}\x{9B33}\x{9B35}\x{9B36}\x{9B37}\x{9B38}\x{9B39}' .
-'\x{9B3A}\x{9B3B}\x{9B3C}\x{9B3E}\x{9B3F}\x{9B41}\x{9B42}\x{9B43}\x{9B44}' .
-'\x{9B45}\x{9B46}\x{9B47}\x{9B48}\x{9B49}\x{9B4A}\x{9B4B}\x{9B4C}\x{9B4D}' .
-'\x{9B4E}\x{9B4F}\x{9B51}\x{9B52}\x{9B53}\x{9B54}\x{9B55}\x{9B56}\x{9B58}' .
-'\x{9B59}\x{9B5A}\x{9B5B}\x{9B5C}\x{9B5D}\x{9B5E}\x{9B5F}\x{9B60}\x{9B61}' .
-'\x{9B63}\x{9B64}\x{9B65}\x{9B66}\x{9B67}\x{9B68}\x{9B69}\x{9B6A}\x{9B6B}' .
-'\x{9B6C}\x{9B6D}\x{9B6E}\x{9B6F}\x{9B70}\x{9B71}\x{9B73}\x{9B74}\x{9B75}' .
-'\x{9B76}\x{9B77}\x{9B78}\x{9B79}\x{9B7A}\x{9B7B}\x{9B7C}\x{9B7D}\x{9B7E}' .
-'\x{9B7F}\x{9B80}\x{9B81}\x{9B82}\x{9B83}\x{9B84}\x{9B85}\x{9B86}\x{9B87}' .
-'\x{9B88}\x{9B8A}\x{9B8B}\x{9B8D}\x{9B8E}\x{9B8F}\x{9B90}\x{9B91}\x{9B92}' .
-'\x{9B93}\x{9B94}\x{9B95}\x{9B96}\x{9B97}\x{9B98}\x{9B9A}\x{9B9B}\x{9B9C}' .
-'\x{9B9D}\x{9B9E}\x{9B9F}\x{9BA0}\x{9BA1}\x{9BA2}\x{9BA3}\x{9BA4}\x{9BA5}' .
-'\x{9BA6}\x{9BA7}\x{9BA8}\x{9BA9}\x{9BAA}\x{9BAB}\x{9BAC}\x{9BAD}\x{9BAE}' .
-'\x{9BAF}\x{9BB0}\x{9BB1}\x{9BB2}\x{9BB3}\x{9BB4}\x{9BB5}\x{9BB6}\x{9BB7}' .
-'\x{9BB8}\x{9BB9}\x{9BBA}\x{9BBB}\x{9BBC}\x{9BBD}\x{9BBE}\x{9BBF}\x{9BC0}' .
-'\x{9BC1}\x{9BC3}\x{9BC4}\x{9BC5}\x{9BC6}\x{9BC7}\x{9BC8}\x{9BC9}\x{9BCA}' .
-'\x{9BCB}\x{9BCC}\x{9BCD}\x{9BCE}\x{9BCF}\x{9BD0}\x{9BD1}\x{9BD2}\x{9BD3}' .
-'\x{9BD4}\x{9BD5}\x{9BD6}\x{9BD7}\x{9BD8}\x{9BD9}\x{9BDA}\x{9BDB}\x{9BDC}' .
-'\x{9BDD}\x{9BDE}\x{9BDF}\x{9BE0}\x{9BE1}\x{9BE2}\x{9BE3}\x{9BE4}\x{9BE5}' .
-'\x{9BE6}\x{9BE7}\x{9BE8}\x{9BE9}\x{9BEA}\x{9BEB}\x{9BEC}\x{9BED}\x{9BEE}' .
-'\x{9BEF}\x{9BF0}\x{9BF1}\x{9BF2}\x{9BF3}\x{9BF4}\x{9BF5}\x{9BF7}\x{9BF8}' .
-'\x{9BF9}\x{9BFA}\x{9BFB}\x{9BFC}\x{9BFD}\x{9BFE}\x{9BFF}\x{9C02}\x{9C05}' .
-'\x{9C06}\x{9C07}\x{9C08}\x{9C09}\x{9C0A}\x{9C0B}\x{9C0C}\x{9C0D}\x{9C0E}' .
-'\x{9C0F}\x{9C10}\x{9C11}\x{9C12}\x{9C13}\x{9C14}\x{9C15}\x{9C16}\x{9C17}' .
-'\x{9C18}\x{9C19}\x{9C1A}\x{9C1B}\x{9C1C}\x{9C1D}\x{9C1E}\x{9C1F}\x{9C20}' .
-'\x{9C21}\x{9C22}\x{9C23}\x{9C24}\x{9C25}\x{9C26}\x{9C27}\x{9C28}\x{9C29}' .
-'\x{9C2A}\x{9C2B}\x{9C2C}\x{9C2D}\x{9C2F}\x{9C30}\x{9C31}\x{9C32}\x{9C33}' .
-'\x{9C34}\x{9C35}\x{9C36}\x{9C37}\x{9C38}\x{9C39}\x{9C3A}\x{9C3B}\x{9C3C}' .
-'\x{9C3D}\x{9C3E}\x{9C3F}\x{9C40}\x{9C41}\x{9C43}\x{9C44}\x{9C45}\x{9C46}' .
-'\x{9C47}\x{9C48}\x{9C49}\x{9C4A}\x{9C4B}\x{9C4C}\x{9C4D}\x{9C4E}\x{9C50}' .
-'\x{9C52}\x{9C53}\x{9C54}\x{9C55}\x{9C56}\x{9C57}\x{9C58}\x{9C59}\x{9C5A}' .
-'\x{9C5B}\x{9C5C}\x{9C5D}\x{9C5E}\x{9C5F}\x{9C60}\x{9C62}\x{9C63}\x{9C65}' .
-'\x{9C66}\x{9C67}\x{9C68}\x{9C69}\x{9C6A}\x{9C6B}\x{9C6C}\x{9C6D}\x{9C6E}' .
-'\x{9C6F}\x{9C70}\x{9C71}\x{9C72}\x{9C73}\x{9C74}\x{9C75}\x{9C77}\x{9C78}' .
-'\x{9C79}\x{9C7A}\x{9C7C}\x{9C7D}\x{9C7E}\x{9C7F}\x{9C80}\x{9C81}\x{9C82}' .
-'\x{9C83}\x{9C84}\x{9C85}\x{9C86}\x{9C87}\x{9C88}\x{9C89}\x{9C8A}\x{9C8B}' .
-'\x{9C8C}\x{9C8D}\x{9C8E}\x{9C8F}\x{9C90}\x{9C91}\x{9C92}\x{9C93}\x{9C94}' .
-'\x{9C95}\x{9C96}\x{9C97}\x{9C98}\x{9C99}\x{9C9A}\x{9C9B}\x{9C9C}\x{9C9D}' .
-'\x{9C9E}\x{9C9F}\x{9CA0}\x{9CA1}\x{9CA2}\x{9CA3}\x{9CA4}\x{9CA5}\x{9CA6}' .
-'\x{9CA7}\x{9CA8}\x{9CA9}\x{9CAA}\x{9CAB}\x{9CAC}\x{9CAD}\x{9CAE}\x{9CAF}' .
-'\x{9CB0}\x{9CB1}\x{9CB2}\x{9CB3}\x{9CB4}\x{9CB5}\x{9CB6}\x{9CB7}\x{9CB8}' .
-'\x{9CB9}\x{9CBA}\x{9CBB}\x{9CBC}\x{9CBD}\x{9CBE}\x{9CBF}\x{9CC0}\x{9CC1}' .
-'\x{9CC2}\x{9CC3}\x{9CC4}\x{9CC5}\x{9CC6}\x{9CC7}\x{9CC8}\x{9CC9}\x{9CCA}' .
-'\x{9CCB}\x{9CCC}\x{9CCD}\x{9CCE}\x{9CCF}\x{9CD0}\x{9CD1}\x{9CD2}\x{9CD3}' .
-'\x{9CD4}\x{9CD5}\x{9CD6}\x{9CD7}\x{9CD8}\x{9CD9}\x{9CDA}\x{9CDB}\x{9CDC}' .
-'\x{9CDD}\x{9CDE}\x{9CDF}\x{9CE0}\x{9CE1}\x{9CE2}\x{9CE3}\x{9CE4}\x{9CE5}' .
-'\x{9CE6}\x{9CE7}\x{9CE8}\x{9CE9}\x{9CEA}\x{9CEB}\x{9CEC}\x{9CED}\x{9CEE}' .
-'\x{9CEF}\x{9CF0}\x{9CF1}\x{9CF2}\x{9CF3}\x{9CF4}\x{9CF5}\x{9CF6}\x{9CF7}' .
-'\x{9CF8}\x{9CF9}\x{9CFA}\x{9CFB}\x{9CFC}\x{9CFD}\x{9CFE}\x{9CFF}\x{9D00}' .
-'\x{9D01}\x{9D02}\x{9D03}\x{9D04}\x{9D05}\x{9D06}\x{9D07}\x{9D08}\x{9D09}' .
-'\x{9D0A}\x{9D0B}\x{9D0F}\x{9D10}\x{9D12}\x{9D13}\x{9D14}\x{9D15}\x{9D16}' .
-'\x{9D17}\x{9D18}\x{9D19}\x{9D1A}\x{9D1B}\x{9D1C}\x{9D1D}\x{9D1E}\x{9D1F}' .
-'\x{9D20}\x{9D21}\x{9D22}\x{9D23}\x{9D24}\x{9D25}\x{9D26}\x{9D28}\x{9D29}' .
-'\x{9D2B}\x{9D2D}\x{9D2E}\x{9D2F}\x{9D30}\x{9D31}\x{9D32}\x{9D33}\x{9D34}' .
-'\x{9D36}\x{9D37}\x{9D38}\x{9D39}\x{9D3A}\x{9D3B}\x{9D3D}\x{9D3E}\x{9D3F}' .
-'\x{9D40}\x{9D41}\x{9D42}\x{9D43}\x{9D45}\x{9D46}\x{9D47}\x{9D48}\x{9D49}' .
-'\x{9D4A}\x{9D4B}\x{9D4C}\x{9D4D}\x{9D4E}\x{9D4F}\x{9D50}\x{9D51}\x{9D52}' .
-'\x{9D53}\x{9D54}\x{9D55}\x{9D56}\x{9D57}\x{9D58}\x{9D59}\x{9D5A}\x{9D5B}' .
-'\x{9D5C}\x{9D5D}\x{9D5E}\x{9D5F}\x{9D60}\x{9D61}\x{9D62}\x{9D63}\x{9D64}' .
-'\x{9D65}\x{9D66}\x{9D67}\x{9D68}\x{9D69}\x{9D6A}\x{9D6B}\x{9D6C}\x{9D6E}' .
-'\x{9D6F}\x{9D70}\x{9D71}\x{9D72}\x{9D73}\x{9D74}\x{9D75}\x{9D76}\x{9D77}' .
-'\x{9D78}\x{9D79}\x{9D7A}\x{9D7B}\x{9D7C}\x{9D7D}\x{9D7E}\x{9D7F}\x{9D80}' .
-'\x{9D81}\x{9D82}\x{9D83}\x{9D84}\x{9D85}\x{9D86}\x{9D87}\x{9D88}\x{9D89}' .
-'\x{9D8A}\x{9D8B}\x{9D8C}\x{9D8D}\x{9D8E}\x{9D90}\x{9D91}\x{9D92}\x{9D93}' .
-'\x{9D94}\x{9D96}\x{9D97}\x{9D98}\x{9D99}\x{9D9A}\x{9D9B}\x{9D9C}\x{9D9D}' .
-'\x{9D9E}\x{9D9F}\x{9DA0}\x{9DA1}\x{9DA2}\x{9DA3}\x{9DA4}\x{9DA5}\x{9DA6}' .
-'\x{9DA7}\x{9DA8}\x{9DA9}\x{9DAA}\x{9DAB}\x{9DAC}\x{9DAD}\x{9DAF}\x{9DB0}' .
-'\x{9DB1}\x{9DB2}\x{9DB3}\x{9DB4}\x{9DB5}\x{9DB6}\x{9DB7}\x{9DB8}\x{9DB9}' .
-'\x{9DBA}\x{9DBB}\x{9DBC}\x{9DBE}\x{9DBF}\x{9DC1}\x{9DC2}\x{9DC3}\x{9DC4}' .
-'\x{9DC5}\x{9DC7}\x{9DC8}\x{9DC9}\x{9DCA}\x{9DCB}\x{9DCC}\x{9DCD}\x{9DCE}' .
-'\x{9DCF}\x{9DD0}\x{9DD1}\x{9DD2}\x{9DD3}\x{9DD4}\x{9DD5}\x{9DD6}\x{9DD7}' .
-'\x{9DD8}\x{9DD9}\x{9DDA}\x{9DDB}\x{9DDC}\x{9DDD}\x{9DDE}\x{9DDF}\x{9DE0}' .
-'\x{9DE1}\x{9DE2}\x{9DE3}\x{9DE4}\x{9DE5}\x{9DE6}\x{9DE7}\x{9DE8}\x{9DE9}' .
-'\x{9DEB}\x{9DEC}\x{9DED}\x{9DEE}\x{9DEF}\x{9DF0}\x{9DF1}\x{9DF2}\x{9DF3}' .
-'\x{9DF4}\x{9DF5}\x{9DF6}\x{9DF7}\x{9DF8}\x{9DF9}\x{9DFA}\x{9DFB}\x{9DFD}' .
-'\x{9DFE}\x{9DFF}\x{9E00}\x{9E01}\x{9E02}\x{9E03}\x{9E04}\x{9E05}\x{9E06}' .
-'\x{9E07}\x{9E08}\x{9E09}\x{9E0A}\x{9E0B}\x{9E0C}\x{9E0D}\x{9E0F}\x{9E10}' .
-'\x{9E11}\x{9E12}\x{9E13}\x{9E14}\x{9E15}\x{9E17}\x{9E18}\x{9E19}\x{9E1A}' .
-'\x{9E1B}\x{9E1D}\x{9E1E}\x{9E1F}\x{9E20}\x{9E21}\x{9E22}\x{9E23}\x{9E24}' .
-'\x{9E25}\x{9E26}\x{9E27}\x{9E28}\x{9E29}\x{9E2A}\x{9E2B}\x{9E2C}\x{9E2D}' .
-'\x{9E2E}\x{9E2F}\x{9E30}\x{9E31}\x{9E32}\x{9E33}\x{9E34}\x{9E35}\x{9E36}' .
-'\x{9E37}\x{9E38}\x{9E39}\x{9E3A}\x{9E3B}\x{9E3C}\x{9E3D}\x{9E3E}\x{9E3F}' .
-'\x{9E40}\x{9E41}\x{9E42}\x{9E43}\x{9E44}\x{9E45}\x{9E46}\x{9E47}\x{9E48}' .
-'\x{9E49}\x{9E4A}\x{9E4B}\x{9E4C}\x{9E4D}\x{9E4E}\x{9E4F}\x{9E50}\x{9E51}' .
-'\x{9E52}\x{9E53}\x{9E54}\x{9E55}\x{9E56}\x{9E57}\x{9E58}\x{9E59}\x{9E5A}' .
-'\x{9E5B}\x{9E5C}\x{9E5D}\x{9E5E}\x{9E5F}\x{9E60}\x{9E61}\x{9E62}\x{9E63}' .
-'\x{9E64}\x{9E65}\x{9E66}\x{9E67}\x{9E68}\x{9E69}\x{9E6A}\x{9E6B}\x{9E6C}' .
-'\x{9E6D}\x{9E6E}\x{9E6F}\x{9E70}\x{9E71}\x{9E72}\x{9E73}\x{9E74}\x{9E75}' .
-'\x{9E76}\x{9E77}\x{9E79}\x{9E7A}\x{9E7C}\x{9E7D}\x{9E7E}\x{9E7F}\x{9E80}' .
-'\x{9E81}\x{9E82}\x{9E83}\x{9E84}\x{9E85}\x{9E86}\x{9E87}\x{9E88}\x{9E89}' .
-'\x{9E8A}\x{9E8B}\x{9E8C}\x{9E8D}\x{9E8E}\x{9E91}\x{9E92}\x{9E93}\x{9E94}' .
-'\x{9E96}\x{9E97}\x{9E99}\x{9E9A}\x{9E9B}\x{9E9C}\x{9E9D}\x{9E9F}\x{9EA0}' .
-'\x{9EA1}\x{9EA3}\x{9EA4}\x{9EA5}\x{9EA6}\x{9EA7}\x{9EA8}\x{9EA9}\x{9EAA}' .
-'\x{9EAD}\x{9EAE}\x{9EAF}\x{9EB0}\x{9EB2}\x{9EB3}\x{9EB4}\x{9EB5}\x{9EB6}' .
-'\x{9EB7}\x{9EB8}\x{9EBB}\x{9EBC}\x{9EBD}\x{9EBE}\x{9EBF}\x{9EC0}\x{9EC1}' .
-'\x{9EC2}\x{9EC3}\x{9EC4}\x{9EC5}\x{9EC6}\x{9EC7}\x{9EC8}\x{9EC9}\x{9ECA}' .
-'\x{9ECB}\x{9ECC}\x{9ECD}\x{9ECE}\x{9ECF}\x{9ED0}\x{9ED1}\x{9ED2}\x{9ED3}' .
-'\x{9ED4}\x{9ED5}\x{9ED6}\x{9ED7}\x{9ED8}\x{9ED9}\x{9EDA}\x{9EDB}\x{9EDC}' .
-'\x{9EDD}\x{9EDE}\x{9EDF}\x{9EE0}\x{9EE1}\x{9EE2}\x{9EE3}\x{9EE4}\x{9EE5}' .
-'\x{9EE6}\x{9EE7}\x{9EE8}\x{9EE9}\x{9EEA}\x{9EEB}\x{9EED}\x{9EEE}\x{9EEF}' .
-'\x{9EF0}\x{9EF2}\x{9EF3}\x{9EF4}\x{9EF5}\x{9EF6}\x{9EF7}\x{9EF8}\x{9EF9}' .
-'\x{9EFA}\x{9EFB}\x{9EFC}\x{9EFD}\x{9EFE}\x{9EFF}\x{9F00}\x{9F01}\x{9F02}' .
-'\x{9F04}\x{9F05}\x{9F06}\x{9F07}\x{9F08}\x{9F09}\x{9F0A}\x{9F0B}\x{9F0C}' .
-'\x{9F0D}\x{9F0E}\x{9F0F}\x{9F10}\x{9F12}\x{9F13}\x{9F15}\x{9F16}\x{9F17}' .
-'\x{9F18}\x{9F19}\x{9F1A}\x{9F1B}\x{9F1C}\x{9F1D}\x{9F1E}\x{9F1F}\x{9F20}' .
-'\x{9F22}\x{9F23}\x{9F24}\x{9F25}\x{9F27}\x{9F28}\x{9F29}\x{9F2A}\x{9F2B}' .
-'\x{9F2C}\x{9F2D}\x{9F2E}\x{9F2F}\x{9F30}\x{9F31}\x{9F32}\x{9F33}\x{9F34}' .
-'\x{9F35}\x{9F36}\x{9F37}\x{9F38}\x{9F39}\x{9F3A}\x{9F3B}\x{9F3C}\x{9F3D}' .
-'\x{9F3E}\x{9F3F}\x{9F40}\x{9F41}\x{9F42}\x{9F43}\x{9F44}\x{9F46}\x{9F47}' .
-'\x{9F48}\x{9F49}\x{9F4A}\x{9F4B}\x{9F4C}\x{9F4D}\x{9F4E}\x{9F4F}\x{9F50}' .
-'\x{9F51}\x{9F52}\x{9F54}\x{9F55}\x{9F56}\x{9F57}\x{9F58}\x{9F59}\x{9F5A}' .
-'\x{9F5B}\x{9F5C}\x{9F5D}\x{9F5E}\x{9F5F}\x{9F60}\x{9F61}\x{9F63}\x{9F64}' .
-'\x{9F65}\x{9F66}\x{9F67}\x{9F68}\x{9F69}\x{9F6A}\x{9F6B}\x{9F6C}\x{9F6E}' .
-'\x{9F6F}\x{9F70}\x{9F71}\x{9F72}\x{9F73}\x{9F74}\x{9F75}\x{9F76}\x{9F77}' .
-'\x{9F78}\x{9F79}\x{9F7A}\x{9F7B}\x{9F7C}\x{9F7D}\x{9F7E}\x{9F7F}\x{9F80}' .
-'\x{9F81}\x{9F82}\x{9F83}\x{9F84}\x{9F85}\x{9F86}\x{9F87}\x{9F88}\x{9F89}' .
-'\x{9F8A}\x{9F8B}\x{9F8C}\x{9F8D}\x{9F8E}\x{9F8F}\x{9F90}\x{9F91}\x{9F92}' .
-'\x{9F93}\x{9F94}\x{9F95}\x{9F96}\x{9F97}\x{9F98}\x{9F99}\x{9F9A}\x{9F9B}' .
-'\x{9F9C}\x{9F9D}\x{9F9E}\x{9F9F}\x{9FA0}\x{9FA2}\x{9FA4}\x{9FA5}]{1,20}$/iu');
diff --git a/airtime_mvc/library/Zend/Validate/Hostname/Cn.php b/airtime_mvc/library/Zend/Validate/Hostname/Cn.php
deleted file mode 100644
index feee54ade..000000000
--- a/airtime_mvc/library/Zend/Validate/Hostname/Cn.php
+++ /dev/null
@@ -1,2199 +0,0 @@
- '/^[\x{002d}0-9a-z\x{3447}\x{3473}\x{359E}\x{360E}\x{361A}\x{3918}\x{396E}\x{39CF}\x{39D0}' .
-'\x{39DF}\x{3A73}\x{3B4E}\x{3C6E}\x{3CE0}\x{4056}\x{415F}\x{4337}\x{43AC}' .
-'\x{43B1}\x{43DD}\x{44D6}\x{464C}\x{4661}\x{4723}\x{4729}\x{477C}\x{478D}' .
-'\x{4947}\x{497A}\x{497D}\x{4982}\x{4983}\x{4985}\x{4986}\x{499B}\x{499F}' .
-'\x{49B6}\x{49B7}\x{4C77}\x{4C9F}\x{4CA0}\x{4CA1}\x{4CA2}\x{4CA3}\x{4D13}' .
-'\x{4D14}\x{4D15}\x{4D16}\x{4D17}\x{4D18}\x{4D19}\x{4DAE}\x{4E00}\x{4E01}' .
-'\x{4E02}\x{4E03}\x{4E04}\x{4E05}\x{4E06}\x{4E07}\x{4E08}\x{4E09}\x{4E0A}' .
-'\x{4E0B}\x{4E0C}\x{4E0D}\x{4E0E}\x{4E0F}\x{4E10}\x{4E11}\x{4E13}\x{4E14}' .
-'\x{4E15}\x{4E16}\x{4E17}\x{4E18}\x{4E19}\x{4E1A}\x{4E1B}\x{4E1C}\x{4E1D}' .
-'\x{4E1E}\x{4E1F}\x{4E20}\x{4E21}\x{4E22}\x{4E23}\x{4E24}\x{4E25}\x{4E26}' .
-'\x{4E27}\x{4E28}\x{4E2A}\x{4E2B}\x{4E2C}\x{4E2D}\x{4E2E}\x{4E2F}\x{4E30}' .
-'\x{4E31}\x{4E32}\x{4E33}\x{4E34}\x{4E35}\x{4E36}\x{4E37}\x{4E38}\x{4E39}' .
-'\x{4E3A}\x{4E3B}\x{4E3C}\x{4E3D}\x{4E3E}\x{4E3F}\x{4E40}\x{4E41}\x{4E42}' .
-'\x{4E43}\x{4E44}\x{4E45}\x{4E46}\x{4E47}\x{4E48}\x{4E49}\x{4E4A}\x{4E4B}' .
-'\x{4E4C}\x{4E4D}\x{4E4E}\x{4E4F}\x{4E50}\x{4E51}\x{4E52}\x{4E53}\x{4E54}' .
-'\x{4E56}\x{4E57}\x{4E58}\x{4E59}\x{4E5A}\x{4E5B}\x{4E5C}\x{4E5D}\x{4E5E}' .
-'\x{4E5F}\x{4E60}\x{4E61}\x{4E62}\x{4E63}\x{4E64}\x{4E65}\x{4E66}\x{4E67}' .
-'\x{4E69}\x{4E6A}\x{4E6B}\x{4E6C}\x{4E6D}\x{4E6E}\x{4E6F}\x{4E70}\x{4E71}' .
-'\x{4E72}\x{4E73}\x{4E74}\x{4E75}\x{4E76}\x{4E77}\x{4E78}\x{4E7A}\x{4E7B}' .
-'\x{4E7C}\x{4E7D}\x{4E7E}\x{4E7F}\x{4E80}\x{4E81}\x{4E82}\x{4E83}\x{4E84}' .
-'\x{4E85}\x{4E86}\x{4E87}\x{4E88}\x{4E89}\x{4E8B}\x{4E8C}\x{4E8D}\x{4E8E}' .
-'\x{4E8F}\x{4E90}\x{4E91}\x{4E92}\x{4E93}\x{4E94}\x{4E95}\x{4E97}\x{4E98}' .
-'\x{4E99}\x{4E9A}\x{4E9B}\x{4E9C}\x{4E9D}\x{4E9E}\x{4E9F}\x{4EA0}\x{4EA1}' .
-'\x{4EA2}\x{4EA4}\x{4EA5}\x{4EA6}\x{4EA7}\x{4EA8}\x{4EA9}\x{4EAA}\x{4EAB}' .
-'\x{4EAC}\x{4EAD}\x{4EAE}\x{4EAF}\x{4EB0}\x{4EB1}\x{4EB2}\x{4EB3}\x{4EB4}' .
-'\x{4EB5}\x{4EB6}\x{4EB7}\x{4EB8}\x{4EB9}\x{4EBA}\x{4EBB}\x{4EBD}\x{4EBE}' .
-'\x{4EBF}\x{4EC0}\x{4EC1}\x{4EC2}\x{4EC3}\x{4EC4}\x{4EC5}\x{4EC6}\x{4EC7}' .
-'\x{4EC8}\x{4EC9}\x{4ECA}\x{4ECB}\x{4ECD}\x{4ECE}\x{4ECF}\x{4ED0}\x{4ED1}' .
-'\x{4ED2}\x{4ED3}\x{4ED4}\x{4ED5}\x{4ED6}\x{4ED7}\x{4ED8}\x{4ED9}\x{4EDA}' .
-'\x{4EDB}\x{4EDC}\x{4EDD}\x{4EDE}\x{4EDF}\x{4EE0}\x{4EE1}\x{4EE2}\x{4EE3}' .
-'\x{4EE4}\x{4EE5}\x{4EE6}\x{4EE8}\x{4EE9}\x{4EEA}\x{4EEB}\x{4EEC}\x{4EEF}' .
-'\x{4EF0}\x{4EF1}\x{4EF2}\x{4EF3}\x{4EF4}\x{4EF5}\x{4EF6}\x{4EF7}\x{4EFB}' .
-'\x{4EFD}\x{4EFF}\x{4F00}\x{4F01}\x{4F02}\x{4F03}\x{4F04}\x{4F05}\x{4F06}' .
-'\x{4F08}\x{4F09}\x{4F0A}\x{4F0B}\x{4F0C}\x{4F0D}\x{4F0E}\x{4F0F}\x{4F10}' .
-'\x{4F11}\x{4F12}\x{4F13}\x{4F14}\x{4F15}\x{4F17}\x{4F18}\x{4F19}\x{4F1A}' .
-'\x{4F1B}\x{4F1C}\x{4F1D}\x{4F1E}\x{4F1F}\x{4F20}\x{4F21}\x{4F22}\x{4F23}' .
-'\x{4F24}\x{4F25}\x{4F26}\x{4F27}\x{4F29}\x{4F2A}\x{4F2B}\x{4F2C}\x{4F2D}' .
-'\x{4F2E}\x{4F2F}\x{4F30}\x{4F32}\x{4F33}\x{4F34}\x{4F36}\x{4F38}\x{4F39}' .
-'\x{4F3A}\x{4F3B}\x{4F3C}\x{4F3D}\x{4F3E}\x{4F3F}\x{4F41}\x{4F42}\x{4F43}' .
-'\x{4F45}\x{4F46}\x{4F47}\x{4F48}\x{4F49}\x{4F4A}\x{4F4B}\x{4F4C}\x{4F4D}' .
-'\x{4F4E}\x{4F4F}\x{4F50}\x{4F51}\x{4F52}\x{4F53}\x{4F54}\x{4F55}\x{4F56}' .
-'\x{4F57}\x{4F58}\x{4F59}\x{4F5A}\x{4F5B}\x{4F5C}\x{4F5D}\x{4F5E}\x{4F5F}' .
-'\x{4F60}\x{4F61}\x{4F62}\x{4F63}\x{4F64}\x{4F65}\x{4F66}\x{4F67}\x{4F68}' .
-'\x{4F69}\x{4F6A}\x{4F6B}\x{4F6C}\x{4F6D}\x{4F6E}\x{4F6F}\x{4F70}\x{4F72}' .
-'\x{4F73}\x{4F74}\x{4F75}\x{4F76}\x{4F77}\x{4F78}\x{4F79}\x{4F7A}\x{4F7B}' .
-'\x{4F7C}\x{4F7D}\x{4F7E}\x{4F7F}\x{4F80}\x{4F81}\x{4F82}\x{4F83}\x{4F84}' .
-'\x{4F85}\x{4F86}\x{4F87}\x{4F88}\x{4F89}\x{4F8A}\x{4F8B}\x{4F8D}\x{4F8F}' .
-'\x{4F90}\x{4F91}\x{4F92}\x{4F93}\x{4F94}\x{4F95}\x{4F96}\x{4F97}\x{4F98}' .
-'\x{4F99}\x{4F9A}\x{4F9B}\x{4F9C}\x{4F9D}\x{4F9E}\x{4F9F}\x{4FA0}\x{4FA1}' .
-'\x{4FA3}\x{4FA4}\x{4FA5}\x{4FA6}\x{4FA7}\x{4FA8}\x{4FA9}\x{4FAA}\x{4FAB}' .
-'\x{4FAC}\x{4FAE}\x{4FAF}\x{4FB0}\x{4FB1}\x{4FB2}\x{4FB3}\x{4FB4}\x{4FB5}' .
-'\x{4FB6}\x{4FB7}\x{4FB8}\x{4FB9}\x{4FBA}\x{4FBB}\x{4FBC}\x{4FBE}\x{4FBF}' .
-'\x{4FC0}\x{4FC1}\x{4FC2}\x{4FC3}\x{4FC4}\x{4FC5}\x{4FC7}\x{4FC9}\x{4FCA}' .
-'\x{4FCB}\x{4FCD}\x{4FCE}\x{4FCF}\x{4FD0}\x{4FD1}\x{4FD2}\x{4FD3}\x{4FD4}' .
-'\x{4FD5}\x{4FD6}\x{4FD7}\x{4FD8}\x{4FD9}\x{4FDA}\x{4FDB}\x{4FDC}\x{4FDD}' .
-'\x{4FDE}\x{4FDF}\x{4FE0}\x{4FE1}\x{4FE3}\x{4FE4}\x{4FE5}\x{4FE6}\x{4FE7}' .
-'\x{4FE8}\x{4FE9}\x{4FEA}\x{4FEB}\x{4FEC}\x{4FED}\x{4FEE}\x{4FEF}\x{4FF0}' .
-'\x{4FF1}\x{4FF2}\x{4FF3}\x{4FF4}\x{4FF5}\x{4FF6}\x{4FF7}\x{4FF8}\x{4FF9}' .
-'\x{4FFA}\x{4FFB}\x{4FFE}\x{4FFF}\x{5000}\x{5001}\x{5002}\x{5003}\x{5004}' .
-'\x{5005}\x{5006}\x{5007}\x{5008}\x{5009}\x{500A}\x{500B}\x{500C}\x{500D}' .
-'\x{500E}\x{500F}\x{5011}\x{5012}\x{5013}\x{5014}\x{5015}\x{5016}\x{5017}' .
-'\x{5018}\x{5019}\x{501A}\x{501B}\x{501C}\x{501D}\x{501E}\x{501F}\x{5020}' .
-'\x{5021}\x{5022}\x{5023}\x{5024}\x{5025}\x{5026}\x{5027}\x{5028}\x{5029}' .
-'\x{502A}\x{502B}\x{502C}\x{502D}\x{502E}\x{502F}\x{5030}\x{5031}\x{5032}' .
-'\x{5033}\x{5035}\x{5036}\x{5037}\x{5039}\x{503A}\x{503B}\x{503C}\x{503E}' .
-'\x{503F}\x{5040}\x{5041}\x{5043}\x{5044}\x{5045}\x{5046}\x{5047}\x{5048}' .
-'\x{5049}\x{504A}\x{504B}\x{504C}\x{504D}\x{504E}\x{504F}\x{5051}\x{5053}' .
-'\x{5054}\x{5055}\x{5056}\x{5057}\x{5059}\x{505A}\x{505B}\x{505C}\x{505D}' .
-'\x{505E}\x{505F}\x{5060}\x{5061}\x{5062}\x{5063}\x{5064}\x{5065}\x{5066}' .
-'\x{5067}\x{5068}\x{5069}\x{506A}\x{506B}\x{506C}\x{506D}\x{506E}\x{506F}' .
-'\x{5070}\x{5071}\x{5072}\x{5073}\x{5074}\x{5075}\x{5076}\x{5077}\x{5078}' .
-'\x{5079}\x{507A}\x{507B}\x{507D}\x{507E}\x{507F}\x{5080}\x{5082}\x{5083}' .
-'\x{5084}\x{5085}\x{5086}\x{5087}\x{5088}\x{5089}\x{508A}\x{508B}\x{508C}' .
-'\x{508D}\x{508E}\x{508F}\x{5090}\x{5091}\x{5092}\x{5094}\x{5095}\x{5096}' .
-'\x{5098}\x{5099}\x{509A}\x{509B}\x{509C}\x{509D}\x{509E}\x{50A2}\x{50A3}' .
-'\x{50A4}\x{50A5}\x{50A6}\x{50A7}\x{50A8}\x{50A9}\x{50AA}\x{50AB}\x{50AC}' .
-'\x{50AD}\x{50AE}\x{50AF}\x{50B0}\x{50B1}\x{50B2}\x{50B3}\x{50B4}\x{50B5}' .
-'\x{50B6}\x{50B7}\x{50B8}\x{50BA}\x{50BB}\x{50BC}\x{50BD}\x{50BE}\x{50BF}' .
-'\x{50C0}\x{50C1}\x{50C2}\x{50C4}\x{50C5}\x{50C6}\x{50C7}\x{50C8}\x{50C9}' .
-'\x{50CA}\x{50CB}\x{50CC}\x{50CD}\x{50CE}\x{50CF}\x{50D0}\x{50D1}\x{50D2}' .
-'\x{50D3}\x{50D4}\x{50D5}\x{50D6}\x{50D7}\x{50D9}\x{50DA}\x{50DB}\x{50DC}' .
-'\x{50DD}\x{50DE}\x{50E0}\x{50E3}\x{50E4}\x{50E5}\x{50E6}\x{50E7}\x{50E8}' .
-'\x{50E9}\x{50EA}\x{50EC}\x{50ED}\x{50EE}\x{50EF}\x{50F0}\x{50F1}\x{50F2}' .
-'\x{50F3}\x{50F5}\x{50F6}\x{50F8}\x{50F9}\x{50FA}\x{50FB}\x{50FC}\x{50FD}' .
-'\x{50FE}\x{50FF}\x{5100}\x{5101}\x{5102}\x{5103}\x{5104}\x{5105}\x{5106}' .
-'\x{5107}\x{5108}\x{5109}\x{510A}\x{510B}\x{510C}\x{510D}\x{510E}\x{510F}' .
-'\x{5110}\x{5111}\x{5112}\x{5113}\x{5114}\x{5115}\x{5116}\x{5117}\x{5118}' .
-'\x{5119}\x{511A}\x{511C}\x{511D}\x{511E}\x{511F}\x{5120}\x{5121}\x{5122}' .
-'\x{5123}\x{5124}\x{5125}\x{5126}\x{5127}\x{5129}\x{512A}\x{512C}\x{512D}' .
-'\x{512E}\x{512F}\x{5130}\x{5131}\x{5132}\x{5133}\x{5134}\x{5135}\x{5136}' .
-'\x{5137}\x{5138}\x{5139}\x{513A}\x{513B}\x{513C}\x{513D}\x{513E}\x{513F}' .
-'\x{5140}\x{5141}\x{5143}\x{5144}\x{5145}\x{5146}\x{5147}\x{5148}\x{5149}' .
-'\x{514B}\x{514C}\x{514D}\x{514E}\x{5150}\x{5151}\x{5152}\x{5154}\x{5155}' .
-'\x{5156}\x{5157}\x{5159}\x{515A}\x{515B}\x{515C}\x{515D}\x{515E}\x{515F}' .
-'\x{5161}\x{5162}\x{5163}\x{5165}\x{5166}\x{5167}\x{5168}\x{5169}\x{516A}' .
-'\x{516B}\x{516C}\x{516D}\x{516E}\x{516F}\x{5170}\x{5171}\x{5173}\x{5174}' .
-'\x{5175}\x{5176}\x{5177}\x{5178}\x{5179}\x{517A}\x{517B}\x{517C}\x{517D}' .
-'\x{517F}\x{5180}\x{5181}\x{5182}\x{5185}\x{5186}\x{5187}\x{5188}\x{5189}' .
-'\x{518A}\x{518B}\x{518C}\x{518D}\x{518F}\x{5190}\x{5191}\x{5192}\x{5193}' .
-'\x{5194}\x{5195}\x{5196}\x{5197}\x{5198}\x{5199}\x{519A}\x{519B}\x{519C}' .
-'\x{519D}\x{519E}\x{519F}\x{51A0}\x{51A2}\x{51A4}\x{51A5}\x{51A6}\x{51A7}' .
-'\x{51A8}\x{51AA}\x{51AB}\x{51AC}\x{51AE}\x{51AF}\x{51B0}\x{51B1}\x{51B2}' .
-'\x{51B3}\x{51B5}\x{51B6}\x{51B7}\x{51B9}\x{51BB}\x{51BC}\x{51BD}\x{51BE}' .
-'\x{51BF}\x{51C0}\x{51C1}\x{51C3}\x{51C4}\x{51C5}\x{51C6}\x{51C7}\x{51C8}' .
-'\x{51C9}\x{51CA}\x{51CB}\x{51CC}\x{51CD}\x{51CE}\x{51CF}\x{51D0}\x{51D1}' .
-'\x{51D4}\x{51D5}\x{51D6}\x{51D7}\x{51D8}\x{51D9}\x{51DA}\x{51DB}\x{51DC}' .
-'\x{51DD}\x{51DE}\x{51E0}\x{51E1}\x{51E2}\x{51E3}\x{51E4}\x{51E5}\x{51E7}' .
-'\x{51E8}\x{51E9}\x{51EA}\x{51EB}\x{51ED}\x{51EF}\x{51F0}\x{51F1}\x{51F3}' .
-'\x{51F4}\x{51F5}\x{51F6}\x{51F7}\x{51F8}\x{51F9}\x{51FA}\x{51FB}\x{51FC}' .
-'\x{51FD}\x{51FE}\x{51FF}\x{5200}\x{5201}\x{5202}\x{5203}\x{5204}\x{5205}' .
-'\x{5206}\x{5207}\x{5208}\x{5209}\x{520A}\x{520B}\x{520C}\x{520D}\x{520E}' .
-'\x{520F}\x{5210}\x{5211}\x{5212}\x{5213}\x{5214}\x{5215}\x{5216}\x{5217}' .
-'\x{5218}\x{5219}\x{521A}\x{521B}\x{521C}\x{521D}\x{521E}\x{521F}\x{5220}' .
-'\x{5221}\x{5222}\x{5223}\x{5224}\x{5225}\x{5226}\x{5228}\x{5229}\x{522A}' .
-'\x{522B}\x{522C}\x{522D}\x{522E}\x{522F}\x{5230}\x{5231}\x{5232}\x{5233}' .
-'\x{5234}\x{5235}\x{5236}\x{5237}\x{5238}\x{5239}\x{523A}\x{523B}\x{523C}' .
-'\x{523D}\x{523E}\x{523F}\x{5240}\x{5241}\x{5242}\x{5243}\x{5244}\x{5245}' .
-'\x{5246}\x{5247}\x{5248}\x{5249}\x{524A}\x{524B}\x{524C}\x{524D}\x{524E}' .
-'\x{5250}\x{5251}\x{5252}\x{5254}\x{5255}\x{5256}\x{5257}\x{5258}\x{5259}' .
-'\x{525A}\x{525B}\x{525C}\x{525D}\x{525E}\x{525F}\x{5260}\x{5261}\x{5262}' .
-'\x{5263}\x{5264}\x{5265}\x{5267}\x{5268}\x{5269}\x{526A}\x{526B}\x{526C}' .
-'\x{526D}\x{526E}\x{526F}\x{5270}\x{5272}\x{5273}\x{5274}\x{5275}\x{5276}' .
-'\x{5277}\x{5278}\x{527A}\x{527B}\x{527C}\x{527D}\x{527E}\x{527F}\x{5280}' .
-'\x{5281}\x{5282}\x{5283}\x{5284}\x{5286}\x{5287}\x{5288}\x{5289}\x{528A}' .
-'\x{528B}\x{528C}\x{528D}\x{528F}\x{5290}\x{5291}\x{5292}\x{5293}\x{5294}' .
-'\x{5295}\x{5296}\x{5297}\x{5298}\x{5299}\x{529A}\x{529B}\x{529C}\x{529D}' .
-'\x{529E}\x{529F}\x{52A0}\x{52A1}\x{52A2}\x{52A3}\x{52A5}\x{52A6}\x{52A7}' .
-'\x{52A8}\x{52A9}\x{52AA}\x{52AB}\x{52AC}\x{52AD}\x{52AE}\x{52AF}\x{52B0}' .
-'\x{52B1}\x{52B2}\x{52B3}\x{52B4}\x{52B5}\x{52B6}\x{52B7}\x{52B8}\x{52B9}' .
-'\x{52BA}\x{52BB}\x{52BC}\x{52BD}\x{52BE}\x{52BF}\x{52C0}\x{52C1}\x{52C2}' .
-'\x{52C3}\x{52C6}\x{52C7}\x{52C9}\x{52CA}\x{52CB}\x{52CD}\x{52CF}\x{52D0}' .
-'\x{52D2}\x{52D3}\x{52D5}\x{52D6}\x{52D7}\x{52D8}\x{52D9}\x{52DA}\x{52DB}' .
-'\x{52DC}\x{52DD}\x{52DE}\x{52DF}\x{52E0}\x{52E2}\x{52E3}\x{52E4}\x{52E6}' .
-'\x{52E7}\x{52E8}\x{52E9}\x{52EA}\x{52EB}\x{52EC}\x{52ED}\x{52EF}\x{52F0}' .
-'\x{52F1}\x{52F2}\x{52F3}\x{52F4}\x{52F5}\x{52F6}\x{52F7}\x{52F8}\x{52F9}' .
-'\x{52FA}\x{52FB}\x{52FC}\x{52FD}\x{52FE}\x{52FF}\x{5300}\x{5301}\x{5302}' .
-'\x{5305}\x{5306}\x{5307}\x{5308}\x{5309}\x{530A}\x{530B}\x{530C}\x{530D}' .
-'\x{530E}\x{530F}\x{5310}\x{5311}\x{5312}\x{5313}\x{5314}\x{5315}\x{5316}' .
-'\x{5317}\x{5319}\x{531A}\x{531C}\x{531D}\x{531F}\x{5320}\x{5321}\x{5322}' .
-'\x{5323}\x{5324}\x{5325}\x{5326}\x{5328}\x{532A}\x{532B}\x{532C}\x{532D}' .
-'\x{532E}\x{532F}\x{5330}\x{5331}\x{5333}\x{5334}\x{5337}\x{5339}\x{533A}' .
-'\x{533B}\x{533C}\x{533D}\x{533E}\x{533F}\x{5340}\x{5341}\x{5343}\x{5344}' .
-'\x{5345}\x{5346}\x{5347}\x{5348}\x{5349}\x{534A}\x{534B}\x{534C}\x{534D}' .
-'\x{534E}\x{534F}\x{5350}\x{5351}\x{5352}\x{5353}\x{5354}\x{5355}\x{5356}' .
-'\x{5357}\x{5358}\x{5359}\x{535A}\x{535C}\x{535E}\x{535F}\x{5360}\x{5361}' .
-'\x{5362}\x{5363}\x{5364}\x{5365}\x{5366}\x{5367}\x{5369}\x{536B}\x{536C}' .
-'\x{536E}\x{536F}\x{5370}\x{5371}\x{5372}\x{5373}\x{5374}\x{5375}\x{5376}' .
-'\x{5377}\x{5378}\x{5379}\x{537A}\x{537B}\x{537C}\x{537D}\x{537E}\x{537F}' .
-'\x{5381}\x{5382}\x{5383}\x{5384}\x{5385}\x{5386}\x{5387}\x{5388}\x{5389}' .
-'\x{538A}\x{538B}\x{538C}\x{538D}\x{538E}\x{538F}\x{5390}\x{5391}\x{5392}' .
-'\x{5393}\x{5394}\x{5395}\x{5396}\x{5397}\x{5398}\x{5399}\x{539A}\x{539B}' .
-'\x{539C}\x{539D}\x{539E}\x{539F}\x{53A0}\x{53A2}\x{53A3}\x{53A4}\x{53A5}' .
-'\x{53A6}\x{53A7}\x{53A8}\x{53A9}\x{53AC}\x{53AD}\x{53AE}\x{53B0}\x{53B1}' .
-'\x{53B2}\x{53B3}\x{53B4}\x{53B5}\x{53B6}\x{53B7}\x{53B8}\x{53B9}\x{53BB}' .
-'\x{53BC}\x{53BD}\x{53BE}\x{53BF}\x{53C0}\x{53C1}\x{53C2}\x{53C3}\x{53C4}' .
-'\x{53C6}\x{53C7}\x{53C8}\x{53C9}\x{53CA}\x{53CB}\x{53CC}\x{53CD}\x{53CE}' .
-'\x{53D0}\x{53D1}\x{53D2}\x{53D3}\x{53D4}\x{53D5}\x{53D6}\x{53D7}\x{53D8}' .
-'\x{53D9}\x{53DB}\x{53DC}\x{53DF}\x{53E0}\x{53E1}\x{53E2}\x{53E3}\x{53E4}' .
-'\x{53E5}\x{53E6}\x{53E8}\x{53E9}\x{53EA}\x{53EB}\x{53EC}\x{53ED}\x{53EE}' .
-'\x{53EF}\x{53F0}\x{53F1}\x{53F2}\x{53F3}\x{53F4}\x{53F5}\x{53F6}\x{53F7}' .
-'\x{53F8}\x{53F9}\x{53FA}\x{53FB}\x{53FC}\x{53FD}\x{53FE}\x{5401}\x{5402}' .
-'\x{5403}\x{5404}\x{5405}\x{5406}\x{5407}\x{5408}\x{5409}\x{540A}\x{540B}' .
-'\x{540C}\x{540D}\x{540E}\x{540F}\x{5410}\x{5411}\x{5412}\x{5413}\x{5414}' .
-'\x{5415}\x{5416}\x{5417}\x{5418}\x{5419}\x{541B}\x{541C}\x{541D}\x{541E}' .
-'\x{541F}\x{5420}\x{5421}\x{5423}\x{5424}\x{5425}\x{5426}\x{5427}\x{5428}' .
-'\x{5429}\x{542A}\x{542B}\x{542C}\x{542D}\x{542E}\x{542F}\x{5430}\x{5431}' .
-'\x{5432}\x{5433}\x{5434}\x{5435}\x{5436}\x{5437}\x{5438}\x{5439}\x{543A}' .
-'\x{543B}\x{543C}\x{543D}\x{543E}\x{543F}\x{5440}\x{5441}\x{5442}\x{5443}' .
-'\x{5444}\x{5445}\x{5446}\x{5447}\x{5448}\x{5449}\x{544A}\x{544B}\x{544D}' .
-'\x{544E}\x{544F}\x{5450}\x{5451}\x{5452}\x{5453}\x{5454}\x{5455}\x{5456}' .
-'\x{5457}\x{5458}\x{5459}\x{545A}\x{545B}\x{545C}\x{545E}\x{545F}\x{5460}' .
-'\x{5461}\x{5462}\x{5463}\x{5464}\x{5465}\x{5466}\x{5467}\x{5468}\x{546A}' .
-'\x{546B}\x{546C}\x{546D}\x{546E}\x{546F}\x{5470}\x{5471}\x{5472}\x{5473}' .
-'\x{5474}\x{5475}\x{5476}\x{5477}\x{5478}\x{5479}\x{547A}\x{547B}\x{547C}' .
-'\x{547D}\x{547E}\x{547F}\x{5480}\x{5481}\x{5482}\x{5483}\x{5484}\x{5485}' .
-'\x{5486}\x{5487}\x{5488}\x{5489}\x{548B}\x{548C}\x{548D}\x{548E}\x{548F}' .
-'\x{5490}\x{5491}\x{5492}\x{5493}\x{5494}\x{5495}\x{5496}\x{5497}\x{5498}' .
-'\x{5499}\x{549A}\x{549B}\x{549C}\x{549D}\x{549E}\x{549F}\x{54A0}\x{54A1}' .
-'\x{54A2}\x{54A3}\x{54A4}\x{54A5}\x{54A6}\x{54A7}\x{54A8}\x{54A9}\x{54AA}' .
-'\x{54AB}\x{54AC}\x{54AD}\x{54AE}\x{54AF}\x{54B0}\x{54B1}\x{54B2}\x{54B3}' .
-'\x{54B4}\x{54B6}\x{54B7}\x{54B8}\x{54B9}\x{54BA}\x{54BB}\x{54BC}\x{54BD}' .
-'\x{54BE}\x{54BF}\x{54C0}\x{54C1}\x{54C2}\x{54C3}\x{54C4}\x{54C5}\x{54C6}' .
-'\x{54C7}\x{54C8}\x{54C9}\x{54CA}\x{54CB}\x{54CC}\x{54CD}\x{54CE}\x{54CF}' .
-'\x{54D0}\x{54D1}\x{54D2}\x{54D3}\x{54D4}\x{54D5}\x{54D6}\x{54D7}\x{54D8}' .
-'\x{54D9}\x{54DA}\x{54DB}\x{54DC}\x{54DD}\x{54DE}\x{54DF}\x{54E0}\x{54E1}' .
-'\x{54E2}\x{54E3}\x{54E4}\x{54E5}\x{54E6}\x{54E7}\x{54E8}\x{54E9}\x{54EA}' .
-'\x{54EB}\x{54EC}\x{54ED}\x{54EE}\x{54EF}\x{54F0}\x{54F1}\x{54F2}\x{54F3}' .
-'\x{54F4}\x{54F5}\x{54F7}\x{54F8}\x{54F9}\x{54FA}\x{54FB}\x{54FC}\x{54FD}' .
-'\x{54FE}\x{54FF}\x{5500}\x{5501}\x{5502}\x{5503}\x{5504}\x{5505}\x{5506}' .
-'\x{5507}\x{5508}\x{5509}\x{550A}\x{550B}\x{550C}\x{550D}\x{550E}\x{550F}' .
-'\x{5510}\x{5511}\x{5512}\x{5513}\x{5514}\x{5516}\x{5517}\x{551A}\x{551B}' .
-'\x{551C}\x{551D}\x{551E}\x{551F}\x{5520}\x{5521}\x{5522}\x{5523}\x{5524}' .
-'\x{5525}\x{5526}\x{5527}\x{5528}\x{5529}\x{552A}\x{552B}\x{552C}\x{552D}' .
-'\x{552E}\x{552F}\x{5530}\x{5531}\x{5532}\x{5533}\x{5534}\x{5535}\x{5536}' .
-'\x{5537}\x{5538}\x{5539}\x{553A}\x{553B}\x{553C}\x{553D}\x{553E}\x{553F}' .
-'\x{5540}\x{5541}\x{5542}\x{5543}\x{5544}\x{5545}\x{5546}\x{5548}\x{5549}' .
-'\x{554A}\x{554B}\x{554C}\x{554D}\x{554E}\x{554F}\x{5550}\x{5551}\x{5552}' .
-'\x{5553}\x{5554}\x{5555}\x{5556}\x{5557}\x{5558}\x{5559}\x{555A}\x{555B}' .
-'\x{555C}\x{555D}\x{555E}\x{555F}\x{5561}\x{5562}\x{5563}\x{5564}\x{5565}' .
-'\x{5566}\x{5567}\x{5568}\x{5569}\x{556A}\x{556B}\x{556C}\x{556D}\x{556E}' .
-'\x{556F}\x{5570}\x{5571}\x{5572}\x{5573}\x{5574}\x{5575}\x{5576}\x{5577}' .
-'\x{5578}\x{5579}\x{557B}\x{557C}\x{557D}\x{557E}\x{557F}\x{5580}\x{5581}' .
-'\x{5582}\x{5583}\x{5584}\x{5585}\x{5586}\x{5587}\x{5588}\x{5589}\x{558A}' .
-'\x{558B}\x{558C}\x{558D}\x{558E}\x{558F}\x{5590}\x{5591}\x{5592}\x{5593}' .
-'\x{5594}\x{5595}\x{5596}\x{5597}\x{5598}\x{5599}\x{559A}\x{559B}\x{559C}' .
-'\x{559D}\x{559E}\x{559F}\x{55A0}\x{55A1}\x{55A2}\x{55A3}\x{55A4}\x{55A5}' .
-'\x{55A6}\x{55A7}\x{55A8}\x{55A9}\x{55AA}\x{55AB}\x{55AC}\x{55AD}\x{55AE}' .
-'\x{55AF}\x{55B0}\x{55B1}\x{55B2}\x{55B3}\x{55B4}\x{55B5}\x{55B6}\x{55B7}' .
-'\x{55B8}\x{55B9}\x{55BA}\x{55BB}\x{55BC}\x{55BD}\x{55BE}\x{55BF}\x{55C0}' .
-'\x{55C1}\x{55C2}\x{55C3}\x{55C4}\x{55C5}\x{55C6}\x{55C7}\x{55C8}\x{55C9}' .
-'\x{55CA}\x{55CB}\x{55CC}\x{55CD}\x{55CE}\x{55CF}\x{55D0}\x{55D1}\x{55D2}' .
-'\x{55D3}\x{55D4}\x{55D5}\x{55D6}\x{55D7}\x{55D8}\x{55D9}\x{55DA}\x{55DB}' .
-'\x{55DC}\x{55DD}\x{55DE}\x{55DF}\x{55E1}\x{55E2}\x{55E3}\x{55E4}\x{55E5}' .
-'\x{55E6}\x{55E7}\x{55E8}\x{55E9}\x{55EA}\x{55EB}\x{55EC}\x{55ED}\x{55EE}' .
-'\x{55EF}\x{55F0}\x{55F1}\x{55F2}\x{55F3}\x{55F4}\x{55F5}\x{55F6}\x{55F7}' .
-'\x{55F9}\x{55FA}\x{55FB}\x{55FC}\x{55FD}\x{55FE}\x{55FF}\x{5600}\x{5601}' .
-'\x{5602}\x{5603}\x{5604}\x{5606}\x{5607}\x{5608}\x{5609}\x{560C}\x{560D}' .
-'\x{560E}\x{560F}\x{5610}\x{5611}\x{5612}\x{5613}\x{5614}\x{5615}\x{5616}' .
-'\x{5617}\x{5618}\x{5619}\x{561A}\x{561B}\x{561C}\x{561D}\x{561E}\x{561F}' .
-'\x{5621}\x{5622}\x{5623}\x{5624}\x{5625}\x{5626}\x{5627}\x{5628}\x{5629}' .
-'\x{562A}\x{562C}\x{562D}\x{562E}\x{562F}\x{5630}\x{5631}\x{5632}\x{5633}' .
-'\x{5634}\x{5635}\x{5636}\x{5638}\x{5639}\x{563A}\x{563B}\x{563D}\x{563E}' .
-'\x{563F}\x{5640}\x{5641}\x{5642}\x{5643}\x{5645}\x{5646}\x{5647}\x{5648}' .
-'\x{5649}\x{564A}\x{564C}\x{564D}\x{564E}\x{564F}\x{5650}\x{5652}\x{5653}' .
-'\x{5654}\x{5655}\x{5657}\x{5658}\x{5659}\x{565A}\x{565B}\x{565C}\x{565D}' .
-'\x{565E}\x{5660}\x{5662}\x{5663}\x{5664}\x{5665}\x{5666}\x{5667}\x{5668}' .
-'\x{5669}\x{566A}\x{566B}\x{566C}\x{566D}\x{566E}\x{566F}\x{5670}\x{5671}' .
-'\x{5672}\x{5673}\x{5674}\x{5676}\x{5677}\x{5678}\x{5679}\x{567A}\x{567B}' .
-'\x{567C}\x{567E}\x{567F}\x{5680}\x{5681}\x{5682}\x{5683}\x{5684}\x{5685}' .
-'\x{5686}\x{5687}\x{568A}\x{568C}\x{568D}\x{568E}\x{568F}\x{5690}\x{5691}' .
-'\x{5692}\x{5693}\x{5694}\x{5695}\x{5697}\x{5698}\x{5699}\x{569A}\x{569B}' .
-'\x{569C}\x{569D}\x{569F}\x{56A0}\x{56A1}\x{56A3}\x{56A4}\x{56A5}\x{56A6}' .
-'\x{56A7}\x{56A8}\x{56A9}\x{56AA}\x{56AB}\x{56AC}\x{56AD}\x{56AE}\x{56AF}' .
-'\x{56B0}\x{56B1}\x{56B2}\x{56B3}\x{56B4}\x{56B5}\x{56B6}\x{56B7}\x{56B8}' .
-'\x{56B9}\x{56BB}\x{56BC}\x{56BD}\x{56BE}\x{56BF}\x{56C0}\x{56C1}\x{56C2}' .
-'\x{56C3}\x{56C4}\x{56C5}\x{56C6}\x{56C7}\x{56C8}\x{56C9}\x{56CA}\x{56CB}' .
-'\x{56CC}\x{56CD}\x{56CE}\x{56D0}\x{56D1}\x{56D2}\x{56D3}\x{56D4}\x{56D5}' .
-'\x{56D6}\x{56D7}\x{56D8}\x{56DA}\x{56DB}\x{56DC}\x{56DD}\x{56DE}\x{56DF}' .
-'\x{56E0}\x{56E1}\x{56E2}\x{56E3}\x{56E4}\x{56E5}\x{56E7}\x{56E8}\x{56E9}' .
-'\x{56EA}\x{56EB}\x{56EC}\x{56ED}\x{56EE}\x{56EF}\x{56F0}\x{56F1}\x{56F2}' .
-'\x{56F3}\x{56F4}\x{56F5}\x{56F7}\x{56F9}\x{56FA}\x{56FD}\x{56FE}\x{56FF}' .
-'\x{5700}\x{5701}\x{5702}\x{5703}\x{5704}\x{5706}\x{5707}\x{5708}\x{5709}' .
-'\x{570A}\x{570B}\x{570C}\x{570D}\x{570E}\x{570F}\x{5710}\x{5712}\x{5713}' .
-'\x{5714}\x{5715}\x{5716}\x{5718}\x{5719}\x{571A}\x{571B}\x{571C}\x{571D}' .
-'\x{571E}\x{571F}\x{5720}\x{5722}\x{5723}\x{5725}\x{5726}\x{5727}\x{5728}' .
-'\x{5729}\x{572A}\x{572B}\x{572C}\x{572D}\x{572E}\x{572F}\x{5730}\x{5731}' .
-'\x{5732}\x{5733}\x{5734}\x{5735}\x{5736}\x{5737}\x{5738}\x{5739}\x{573A}' .
-'\x{573B}\x{573C}\x{573E}\x{573F}\x{5740}\x{5741}\x{5742}\x{5744}\x{5745}' .
-'\x{5746}\x{5747}\x{5749}\x{574A}\x{574B}\x{574C}\x{574D}\x{574E}\x{574F}' .
-'\x{5750}\x{5751}\x{5752}\x{5753}\x{5754}\x{5757}\x{5759}\x{575A}\x{575B}' .
-'\x{575C}\x{575D}\x{575E}\x{575F}\x{5760}\x{5761}\x{5762}\x{5764}\x{5765}' .
-'\x{5766}\x{5767}\x{5768}\x{5769}\x{576A}\x{576B}\x{576C}\x{576D}\x{576F}' .
-'\x{5770}\x{5771}\x{5772}\x{5773}\x{5774}\x{5775}\x{5776}\x{5777}\x{5779}' .
-'\x{577A}\x{577B}\x{577C}\x{577D}\x{577E}\x{577F}\x{5780}\x{5782}\x{5783}' .
-'\x{5784}\x{5785}\x{5786}\x{5788}\x{5789}\x{578A}\x{578B}\x{578C}\x{578D}' .
-'\x{578E}\x{578F}\x{5790}\x{5791}\x{5792}\x{5793}\x{5794}\x{5795}\x{5797}' .
-'\x{5798}\x{5799}\x{579A}\x{579B}\x{579C}\x{579D}\x{579E}\x{579F}\x{57A0}' .
-'\x{57A1}\x{57A2}\x{57A3}\x{57A4}\x{57A5}\x{57A6}\x{57A7}\x{57A9}\x{57AA}' .
-'\x{57AB}\x{57AC}\x{57AD}\x{57AE}\x{57AF}\x{57B0}\x{57B1}\x{57B2}\x{57B3}' .
-'\x{57B4}\x{57B5}\x{57B6}\x{57B7}\x{57B8}\x{57B9}\x{57BA}\x{57BB}\x{57BC}' .
-'\x{57BD}\x{57BE}\x{57BF}\x{57C0}\x{57C1}\x{57C2}\x{57C3}\x{57C4}\x{57C5}' .
-'\x{57C6}\x{57C7}\x{57C8}\x{57C9}\x{57CB}\x{57CC}\x{57CD}\x{57CE}\x{57CF}' .
-'\x{57D0}\x{57D2}\x{57D3}\x{57D4}\x{57D5}\x{57D6}\x{57D8}\x{57D9}\x{57DA}' .
-'\x{57DC}\x{57DD}\x{57DF}\x{57E0}\x{57E1}\x{57E2}\x{57E3}\x{57E4}\x{57E5}' .
-'\x{57E6}\x{57E7}\x{57E8}\x{57E9}\x{57EA}\x{57EB}\x{57EC}\x{57ED}\x{57EE}' .
-'\x{57EF}\x{57F0}\x{57F1}\x{57F2}\x{57F3}\x{57F4}\x{57F5}\x{57F6}\x{57F7}' .
-'\x{57F8}\x{57F9}\x{57FA}\x{57FB}\x{57FC}\x{57FD}\x{57FE}\x{57FF}\x{5800}' .
-'\x{5801}\x{5802}\x{5803}\x{5804}\x{5805}\x{5806}\x{5807}\x{5808}\x{5809}' .
-'\x{580A}\x{580B}\x{580C}\x{580D}\x{580E}\x{580F}\x{5810}\x{5811}\x{5812}' .
-'\x{5813}\x{5814}\x{5815}\x{5816}\x{5819}\x{581A}\x{581B}\x{581C}\x{581D}' .
-'\x{581E}\x{581F}\x{5820}\x{5821}\x{5822}\x{5823}\x{5824}\x{5825}\x{5826}' .
-'\x{5827}\x{5828}\x{5829}\x{582A}\x{582B}\x{582C}\x{582D}\x{582E}\x{582F}' .
-'\x{5830}\x{5831}\x{5832}\x{5833}\x{5834}\x{5835}\x{5836}\x{5837}\x{5838}' .
-'\x{5839}\x{583A}\x{583B}\x{583C}\x{583D}\x{583E}\x{583F}\x{5840}\x{5842}' .
-'\x{5843}\x{5844}\x{5845}\x{5846}\x{5847}\x{5848}\x{5849}\x{584A}\x{584B}' .
-'\x{584C}\x{584D}\x{584E}\x{584F}\x{5851}\x{5852}\x{5853}\x{5854}\x{5855}' .
-'\x{5857}\x{5858}\x{5859}\x{585A}\x{585B}\x{585C}\x{585D}\x{585E}\x{585F}' .
-'\x{5861}\x{5862}\x{5863}\x{5864}\x{5865}\x{5868}\x{5869}\x{586A}\x{586B}' .
-'\x{586C}\x{586D}\x{586E}\x{586F}\x{5870}\x{5871}\x{5872}\x{5873}\x{5874}' .
-'\x{5875}\x{5876}\x{5878}\x{5879}\x{587A}\x{587B}\x{587C}\x{587D}\x{587E}' .
-'\x{587F}\x{5880}\x{5881}\x{5882}\x{5883}\x{5884}\x{5885}\x{5886}\x{5887}' .
-'\x{5888}\x{5889}\x{588A}\x{588B}\x{588C}\x{588D}\x{588E}\x{588F}\x{5890}' .
-'\x{5891}\x{5892}\x{5893}\x{5894}\x{5896}\x{5897}\x{5898}\x{5899}\x{589A}' .
-'\x{589B}\x{589C}\x{589D}\x{589E}\x{589F}\x{58A0}\x{58A1}\x{58A2}\x{58A3}' .
-'\x{58A4}\x{58A5}\x{58A6}\x{58A7}\x{58A8}\x{58A9}\x{58AB}\x{58AC}\x{58AD}' .
-'\x{58AE}\x{58AF}\x{58B0}\x{58B1}\x{58B2}\x{58B3}\x{58B4}\x{58B7}\x{58B8}' .
-'\x{58B9}\x{58BA}\x{58BB}\x{58BC}\x{58BD}\x{58BE}\x{58BF}\x{58C1}\x{58C2}' .
-'\x{58C5}\x{58C6}\x{58C7}\x{58C8}\x{58C9}\x{58CA}\x{58CB}\x{58CE}\x{58CF}' .
-'\x{58D1}\x{58D2}\x{58D3}\x{58D4}\x{58D5}\x{58D6}\x{58D7}\x{58D8}\x{58D9}' .
-'\x{58DA}\x{58DB}\x{58DD}\x{58DE}\x{58DF}\x{58E0}\x{58E2}\x{58E3}\x{58E4}' .
-'\x{58E5}\x{58E7}\x{58E8}\x{58E9}\x{58EA}\x{58EB}\x{58EC}\x{58ED}\x{58EE}' .
-'\x{58EF}\x{58F0}\x{58F1}\x{58F2}\x{58F3}\x{58F4}\x{58F6}\x{58F7}\x{58F8}' .
-'\x{58F9}\x{58FA}\x{58FB}\x{58FC}\x{58FD}\x{58FE}\x{58FF}\x{5900}\x{5902}' .
-'\x{5903}\x{5904}\x{5906}\x{5907}\x{5909}\x{590A}\x{590B}\x{590C}\x{590D}' .
-'\x{590E}\x{590F}\x{5910}\x{5912}\x{5914}\x{5915}\x{5916}\x{5917}\x{5918}' .
-'\x{5919}\x{591A}\x{591B}\x{591C}\x{591D}\x{591E}\x{591F}\x{5920}\x{5921}' .
-'\x{5922}\x{5924}\x{5925}\x{5926}\x{5927}\x{5928}\x{5929}\x{592A}\x{592B}' .
-'\x{592C}\x{592D}\x{592E}\x{592F}\x{5930}\x{5931}\x{5932}\x{5934}\x{5935}' .
-'\x{5937}\x{5938}\x{5939}\x{593A}\x{593B}\x{593C}\x{593D}\x{593E}\x{593F}' .
-'\x{5940}\x{5941}\x{5942}\x{5943}\x{5944}\x{5945}\x{5946}\x{5947}\x{5948}' .
-'\x{5949}\x{594A}\x{594B}\x{594C}\x{594D}\x{594E}\x{594F}\x{5950}\x{5951}' .
-'\x{5952}\x{5953}\x{5954}\x{5955}\x{5956}\x{5957}\x{5958}\x{595A}\x{595C}' .
-'\x{595D}\x{595E}\x{595F}\x{5960}\x{5961}\x{5962}\x{5963}\x{5964}\x{5965}' .
-'\x{5966}\x{5967}\x{5968}\x{5969}\x{596A}\x{596B}\x{596C}\x{596D}\x{596E}' .
-'\x{596F}\x{5970}\x{5971}\x{5972}\x{5973}\x{5974}\x{5975}\x{5976}\x{5977}' .
-'\x{5978}\x{5979}\x{597A}\x{597B}\x{597C}\x{597D}\x{597E}\x{597F}\x{5980}' .
-'\x{5981}\x{5982}\x{5983}\x{5984}\x{5985}\x{5986}\x{5987}\x{5988}\x{5989}' .
-'\x{598A}\x{598B}\x{598C}\x{598D}\x{598E}\x{598F}\x{5990}\x{5991}\x{5992}' .
-'\x{5993}\x{5994}\x{5995}\x{5996}\x{5997}\x{5998}\x{5999}\x{599A}\x{599C}' .
-'\x{599D}\x{599E}\x{599F}\x{59A0}\x{59A1}\x{59A2}\x{59A3}\x{59A4}\x{59A5}' .
-'\x{59A6}\x{59A7}\x{59A8}\x{59A9}\x{59AA}\x{59AB}\x{59AC}\x{59AD}\x{59AE}' .
-'\x{59AF}\x{59B0}\x{59B1}\x{59B2}\x{59B3}\x{59B4}\x{59B5}\x{59B6}\x{59B8}' .
-'\x{59B9}\x{59BA}\x{59BB}\x{59BC}\x{59BD}\x{59BE}\x{59BF}\x{59C0}\x{59C1}' .
-'\x{59C2}\x{59C3}\x{59C4}\x{59C5}\x{59C6}\x{59C7}\x{59C8}\x{59C9}\x{59CA}' .
-'\x{59CB}\x{59CC}\x{59CD}\x{59CE}\x{59CF}\x{59D0}\x{59D1}\x{59D2}\x{59D3}' .
-'\x{59D4}\x{59D5}\x{59D6}\x{59D7}\x{59D8}\x{59D9}\x{59DA}\x{59DB}\x{59DC}' .
-'\x{59DD}\x{59DE}\x{59DF}\x{59E0}\x{59E1}\x{59E2}\x{59E3}\x{59E4}\x{59E5}' .
-'\x{59E6}\x{59E8}\x{59E9}\x{59EA}\x{59EB}\x{59EC}\x{59ED}\x{59EE}\x{59EF}' .
-'\x{59F0}\x{59F1}\x{59F2}\x{59F3}\x{59F4}\x{59F5}\x{59F6}\x{59F7}\x{59F8}' .
-'\x{59F9}\x{59FA}\x{59FB}\x{59FC}\x{59FD}\x{59FE}\x{59FF}\x{5A00}\x{5A01}' .
-'\x{5A02}\x{5A03}\x{5A04}\x{5A05}\x{5A06}\x{5A07}\x{5A08}\x{5A09}\x{5A0A}' .
-'\x{5A0B}\x{5A0C}\x{5A0D}\x{5A0E}\x{5A0F}\x{5A10}\x{5A11}\x{5A12}\x{5A13}' .
-'\x{5A14}\x{5A15}\x{5A16}\x{5A17}\x{5A18}\x{5A19}\x{5A1A}\x{5A1B}\x{5A1C}' .
-'\x{5A1D}\x{5A1E}\x{5A1F}\x{5A20}\x{5A21}\x{5A22}\x{5A23}\x{5A25}\x{5A27}' .
-'\x{5A28}\x{5A29}\x{5A2A}\x{5A2B}\x{5A2D}\x{5A2E}\x{5A2F}\x{5A31}\x{5A32}' .
-'\x{5A33}\x{5A34}\x{5A35}\x{5A36}\x{5A37}\x{5A38}\x{5A39}\x{5A3A}\x{5A3B}' .
-'\x{5A3C}\x{5A3D}\x{5A3E}\x{5A3F}\x{5A40}\x{5A41}\x{5A42}\x{5A43}\x{5A44}' .
-'\x{5A45}\x{5A46}\x{5A47}\x{5A48}\x{5A49}\x{5A4A}\x{5A4B}\x{5A4C}\x{5A4D}' .
-'\x{5A4E}\x{5A4F}\x{5A50}\x{5A51}\x{5A52}\x{5A53}\x{5A55}\x{5A56}\x{5A57}' .
-'\x{5A58}\x{5A5A}\x{5A5B}\x{5A5C}\x{5A5D}\x{5A5E}\x{5A5F}\x{5A60}\x{5A61}' .
-'\x{5A62}\x{5A63}\x{5A64}\x{5A65}\x{5A66}\x{5A67}\x{5A68}\x{5A69}\x{5A6A}' .
-'\x{5A6B}\x{5A6C}\x{5A6D}\x{5A6E}\x{5A70}\x{5A72}\x{5A73}\x{5A74}\x{5A75}' .
-'\x{5A76}\x{5A77}\x{5A78}\x{5A79}\x{5A7A}\x{5A7B}\x{5A7C}\x{5A7D}\x{5A7E}' .
-'\x{5A7F}\x{5A80}\x{5A81}\x{5A82}\x{5A83}\x{5A84}\x{5A85}\x{5A86}\x{5A88}' .
-'\x{5A89}\x{5A8A}\x{5A8B}\x{5A8C}\x{5A8E}\x{5A8F}\x{5A90}\x{5A91}\x{5A92}' .
-'\x{5A93}\x{5A94}\x{5A95}\x{5A96}\x{5A97}\x{5A98}\x{5A99}\x{5A9A}\x{5A9B}' .
-'\x{5A9C}\x{5A9D}\x{5A9E}\x{5A9F}\x{5AA0}\x{5AA1}\x{5AA2}\x{5AA3}\x{5AA4}' .
-'\x{5AA5}\x{5AA6}\x{5AA7}\x{5AA8}\x{5AA9}\x{5AAA}\x{5AAC}\x{5AAD}\x{5AAE}' .
-'\x{5AAF}\x{5AB0}\x{5AB1}\x{5AB2}\x{5AB3}\x{5AB4}\x{5AB5}\x{5AB6}\x{5AB7}' .
-'\x{5AB8}\x{5AB9}\x{5ABA}\x{5ABB}\x{5ABC}\x{5ABD}\x{5ABE}\x{5ABF}\x{5AC0}' .
-'\x{5AC1}\x{5AC2}\x{5AC3}\x{5AC4}\x{5AC5}\x{5AC6}\x{5AC7}\x{5AC8}\x{5AC9}' .
-'\x{5ACA}\x{5ACB}\x{5ACC}\x{5ACD}\x{5ACE}\x{5ACF}\x{5AD1}\x{5AD2}\x{5AD4}' .
-'\x{5AD5}\x{5AD6}\x{5AD7}\x{5AD8}\x{5AD9}\x{5ADA}\x{5ADB}\x{5ADC}\x{5ADD}' .
-'\x{5ADE}\x{5ADF}\x{5AE0}\x{5AE1}\x{5AE2}\x{5AE3}\x{5AE4}\x{5AE5}\x{5AE6}' .
-'\x{5AE7}\x{5AE8}\x{5AE9}\x{5AEA}\x{5AEB}\x{5AEC}\x{5AED}\x{5AEE}\x{5AF1}' .
-'\x{5AF2}\x{5AF3}\x{5AF4}\x{5AF5}\x{5AF6}\x{5AF7}\x{5AF8}\x{5AF9}\x{5AFA}' .
-'\x{5AFB}\x{5AFC}\x{5AFD}\x{5AFE}\x{5AFF}\x{5B00}\x{5B01}\x{5B02}\x{5B03}' .
-'\x{5B04}\x{5B05}\x{5B06}\x{5B07}\x{5B08}\x{5B09}\x{5B0B}\x{5B0C}\x{5B0E}' .
-'\x{5B0F}\x{5B10}\x{5B11}\x{5B12}\x{5B13}\x{5B14}\x{5B15}\x{5B16}\x{5B17}' .
-'\x{5B18}\x{5B19}\x{5B1A}\x{5B1B}\x{5B1C}\x{5B1D}\x{5B1E}\x{5B1F}\x{5B20}' .
-'\x{5B21}\x{5B22}\x{5B23}\x{5B24}\x{5B25}\x{5B26}\x{5B27}\x{5B28}\x{5B29}' .
-'\x{5B2A}\x{5B2B}\x{5B2C}\x{5B2D}\x{5B2E}\x{5B2F}\x{5B30}\x{5B31}\x{5B32}' .
-'\x{5B33}\x{5B34}\x{5B35}\x{5B36}\x{5B37}\x{5B38}\x{5B3A}\x{5B3B}\x{5B3C}' .
-'\x{5B3D}\x{5B3E}\x{5B3F}\x{5B40}\x{5B41}\x{5B42}\x{5B43}\x{5B44}\x{5B45}' .
-'\x{5B47}\x{5B48}\x{5B49}\x{5B4A}\x{5B4B}\x{5B4C}\x{5B4D}\x{5B4E}\x{5B50}' .
-'\x{5B51}\x{5B53}\x{5B54}\x{5B55}\x{5B56}\x{5B57}\x{5B58}\x{5B59}\x{5B5A}' .
-'\x{5B5B}\x{5B5C}\x{5B5D}\x{5B5E}\x{5B5F}\x{5B62}\x{5B63}\x{5B64}\x{5B65}' .
-'\x{5B66}\x{5B67}\x{5B68}\x{5B69}\x{5B6A}\x{5B6B}\x{5B6C}\x{5B6D}\x{5B6E}' .
-'\x{5B70}\x{5B71}\x{5B72}\x{5B73}\x{5B74}\x{5B75}\x{5B76}\x{5B77}\x{5B78}' .
-'\x{5B7A}\x{5B7B}\x{5B7C}\x{5B7D}\x{5B7F}\x{5B80}\x{5B81}\x{5B82}\x{5B83}' .
-'\x{5B84}\x{5B85}\x{5B87}\x{5B88}\x{5B89}\x{5B8A}\x{5B8B}\x{5B8C}\x{5B8D}' .
-'\x{5B8E}\x{5B8F}\x{5B91}\x{5B92}\x{5B93}\x{5B94}\x{5B95}\x{5B96}\x{5B97}' .
-'\x{5B98}\x{5B99}\x{5B9A}\x{5B9B}\x{5B9C}\x{5B9D}\x{5B9E}\x{5B9F}\x{5BA0}' .
-'\x{5BA1}\x{5BA2}\x{5BA3}\x{5BA4}\x{5BA5}\x{5BA6}\x{5BA7}\x{5BA8}\x{5BAA}' .
-'\x{5BAB}\x{5BAC}\x{5BAD}\x{5BAE}\x{5BAF}\x{5BB0}\x{5BB1}\x{5BB3}\x{5BB4}' .
-'\x{5BB5}\x{5BB6}\x{5BB8}\x{5BB9}\x{5BBA}\x{5BBB}\x{5BBD}\x{5BBE}\x{5BBF}' .
-'\x{5BC0}\x{5BC1}\x{5BC2}\x{5BC3}\x{5BC4}\x{5BC5}\x{5BC6}\x{5BC7}\x{5BCA}' .
-'\x{5BCB}\x{5BCC}\x{5BCD}\x{5BCE}\x{5BCF}\x{5BD0}\x{5BD1}\x{5BD2}\x{5BD3}' .
-'\x{5BD4}\x{5BD5}\x{5BD6}\x{5BD8}\x{5BD9}\x{5BDB}\x{5BDC}\x{5BDD}\x{5BDE}' .
-'\x{5BDF}\x{5BE0}\x{5BE1}\x{5BE2}\x{5BE3}\x{5BE4}\x{5BE5}\x{5BE6}\x{5BE7}' .
-'\x{5BE8}\x{5BE9}\x{5BEA}\x{5BEB}\x{5BEC}\x{5BED}\x{5BEE}\x{5BEF}\x{5BF0}' .
-'\x{5BF1}\x{5BF2}\x{5BF3}\x{5BF4}\x{5BF5}\x{5BF6}\x{5BF7}\x{5BF8}\x{5BF9}' .
-'\x{5BFA}\x{5BFB}\x{5BFC}\x{5BFD}\x{5BFF}\x{5C01}\x{5C03}\x{5C04}\x{5C05}' .
-'\x{5C06}\x{5C07}\x{5C08}\x{5C09}\x{5C0A}\x{5C0B}\x{5C0C}\x{5C0D}\x{5C0E}' .
-'\x{5C0F}\x{5C10}\x{5C11}\x{5C12}\x{5C13}\x{5C14}\x{5C15}\x{5C16}\x{5C17}' .
-'\x{5C18}\x{5C19}\x{5C1A}\x{5C1C}\x{5C1D}\x{5C1E}\x{5C1F}\x{5C20}\x{5C21}' .
-'\x{5C22}\x{5C24}\x{5C25}\x{5C27}\x{5C28}\x{5C2A}\x{5C2B}\x{5C2C}\x{5C2D}' .
-'\x{5C2E}\x{5C2F}\x{5C30}\x{5C31}\x{5C32}\x{5C33}\x{5C34}\x{5C35}\x{5C37}' .
-'\x{5C38}\x{5C39}\x{5C3A}\x{5C3B}\x{5C3C}\x{5C3D}\x{5C3E}\x{5C3F}\x{5C40}' .
-'\x{5C41}\x{5C42}\x{5C43}\x{5C44}\x{5C45}\x{5C46}\x{5C47}\x{5C48}\x{5C49}' .
-'\x{5C4A}\x{5C4B}\x{5C4C}\x{5C4D}\x{5C4E}\x{5C4F}\x{5C50}\x{5C51}\x{5C52}' .
-'\x{5C53}\x{5C54}\x{5C55}\x{5C56}\x{5C57}\x{5C58}\x{5C59}\x{5C5B}\x{5C5C}' .
-'\x{5C5D}\x{5C5E}\x{5C5F}\x{5C60}\x{5C61}\x{5C62}\x{5C63}\x{5C64}\x{5C65}' .
-'\x{5C66}\x{5C67}\x{5C68}\x{5C69}\x{5C6A}\x{5C6B}\x{5C6C}\x{5C6D}\x{5C6E}' .
-'\x{5C6F}\x{5C70}\x{5C71}\x{5C72}\x{5C73}\x{5C74}\x{5C75}\x{5C76}\x{5C77}' .
-'\x{5C78}\x{5C79}\x{5C7A}\x{5C7B}\x{5C7C}\x{5C7D}\x{5C7E}\x{5C7F}\x{5C80}' .
-'\x{5C81}\x{5C82}\x{5C83}\x{5C84}\x{5C86}\x{5C87}\x{5C88}\x{5C89}\x{5C8A}' .
-'\x{5C8B}\x{5C8C}\x{5C8D}\x{5C8E}\x{5C8F}\x{5C90}\x{5C91}\x{5C92}\x{5C93}' .
-'\x{5C94}\x{5C95}\x{5C96}\x{5C97}\x{5C98}\x{5C99}\x{5C9A}\x{5C9B}\x{5C9C}' .
-'\x{5C9D}\x{5C9E}\x{5C9F}\x{5CA0}\x{5CA1}\x{5CA2}\x{5CA3}\x{5CA4}\x{5CA5}' .
-'\x{5CA6}\x{5CA7}\x{5CA8}\x{5CA9}\x{5CAA}\x{5CAB}\x{5CAC}\x{5CAD}\x{5CAE}' .
-'\x{5CAF}\x{5CB0}\x{5CB1}\x{5CB2}\x{5CB3}\x{5CB5}\x{5CB6}\x{5CB7}\x{5CB8}' .
-'\x{5CBA}\x{5CBB}\x{5CBC}\x{5CBD}\x{5CBE}\x{5CBF}\x{5CC1}\x{5CC2}\x{5CC3}' .
-'\x{5CC4}\x{5CC5}\x{5CC6}\x{5CC7}\x{5CC8}\x{5CC9}\x{5CCA}\x{5CCB}\x{5CCC}' .
-'\x{5CCD}\x{5CCE}\x{5CCF}\x{5CD0}\x{5CD1}\x{5CD2}\x{5CD3}\x{5CD4}\x{5CD6}' .
-'\x{5CD7}\x{5CD8}\x{5CD9}\x{5CDA}\x{5CDB}\x{5CDC}\x{5CDE}\x{5CDF}\x{5CE0}' .
-'\x{5CE1}\x{5CE2}\x{5CE3}\x{5CE4}\x{5CE5}\x{5CE6}\x{5CE7}\x{5CE8}\x{5CE9}' .
-'\x{5CEA}\x{5CEB}\x{5CEC}\x{5CED}\x{5CEE}\x{5CEF}\x{5CF0}\x{5CF1}\x{5CF2}' .
-'\x{5CF3}\x{5CF4}\x{5CF6}\x{5CF7}\x{5CF8}\x{5CF9}\x{5CFA}\x{5CFB}\x{5CFC}' .
-'\x{5CFD}\x{5CFE}\x{5CFF}\x{5D00}\x{5D01}\x{5D02}\x{5D03}\x{5D04}\x{5D05}' .
-'\x{5D06}\x{5D07}\x{5D08}\x{5D09}\x{5D0A}\x{5D0B}\x{5D0C}\x{5D0D}\x{5D0E}' .
-'\x{5D0F}\x{5D10}\x{5D11}\x{5D12}\x{5D13}\x{5D14}\x{5D15}\x{5D16}\x{5D17}' .
-'\x{5D18}\x{5D19}\x{5D1A}\x{5D1B}\x{5D1C}\x{5D1D}\x{5D1E}\x{5D1F}\x{5D20}' .
-'\x{5D21}\x{5D22}\x{5D23}\x{5D24}\x{5D25}\x{5D26}\x{5D27}\x{5D28}\x{5D29}' .
-'\x{5D2A}\x{5D2C}\x{5D2D}\x{5D2E}\x{5D30}\x{5D31}\x{5D32}\x{5D33}\x{5D34}' .
-'\x{5D35}\x{5D36}\x{5D37}\x{5D38}\x{5D39}\x{5D3A}\x{5D3C}\x{5D3D}\x{5D3E}' .
-'\x{5D3F}\x{5D40}\x{5D41}\x{5D42}\x{5D43}\x{5D44}\x{5D45}\x{5D46}\x{5D47}' .
-'\x{5D48}\x{5D49}\x{5D4A}\x{5D4B}\x{5D4C}\x{5D4D}\x{5D4E}\x{5D4F}\x{5D50}' .
-'\x{5D51}\x{5D52}\x{5D54}\x{5D55}\x{5D56}\x{5D58}\x{5D59}\x{5D5A}\x{5D5B}' .
-'\x{5D5D}\x{5D5E}\x{5D5F}\x{5D61}\x{5D62}\x{5D63}\x{5D64}\x{5D65}\x{5D66}' .
-'\x{5D67}\x{5D68}\x{5D69}\x{5D6A}\x{5D6B}\x{5D6C}\x{5D6D}\x{5D6E}\x{5D6F}' .
-'\x{5D70}\x{5D71}\x{5D72}\x{5D73}\x{5D74}\x{5D75}\x{5D76}\x{5D77}\x{5D78}' .
-'\x{5D79}\x{5D7A}\x{5D7B}\x{5D7C}\x{5D7D}\x{5D7E}\x{5D7F}\x{5D80}\x{5D81}' .
-'\x{5D82}\x{5D84}\x{5D85}\x{5D86}\x{5D87}\x{5D88}\x{5D89}\x{5D8A}\x{5D8B}' .
-'\x{5D8C}\x{5D8D}\x{5D8E}\x{5D8F}\x{5D90}\x{5D91}\x{5D92}\x{5D93}\x{5D94}' .
-'\x{5D95}\x{5D97}\x{5D98}\x{5D99}\x{5D9A}\x{5D9B}\x{5D9C}\x{5D9D}\x{5D9E}' .
-'\x{5D9F}\x{5DA0}\x{5DA1}\x{5DA2}\x{5DA5}\x{5DA6}\x{5DA7}\x{5DA8}\x{5DA9}' .
-'\x{5DAA}\x{5DAC}\x{5DAD}\x{5DAE}\x{5DAF}\x{5DB0}\x{5DB1}\x{5DB2}\x{5DB4}' .
-'\x{5DB5}\x{5DB6}\x{5DB7}\x{5DB8}\x{5DBA}\x{5DBB}\x{5DBC}\x{5DBD}\x{5DBE}' .
-'\x{5DBF}\x{5DC0}\x{5DC1}\x{5DC2}\x{5DC3}\x{5DC5}\x{5DC6}\x{5DC7}\x{5DC8}' .
-'\x{5DC9}\x{5DCA}\x{5DCB}\x{5DCC}\x{5DCD}\x{5DCE}\x{5DCF}\x{5DD0}\x{5DD1}' .
-'\x{5DD2}\x{5DD3}\x{5DD4}\x{5DD5}\x{5DD6}\x{5DD8}\x{5DD9}\x{5DDB}\x{5DDD}' .
-'\x{5DDE}\x{5DDF}\x{5DE0}\x{5DE1}\x{5DE2}\x{5DE3}\x{5DE4}\x{5DE5}\x{5DE6}' .
-'\x{5DE7}\x{5DE8}\x{5DE9}\x{5DEA}\x{5DEB}\x{5DEC}\x{5DED}\x{5DEE}\x{5DEF}' .
-'\x{5DF0}\x{5DF1}\x{5DF2}\x{5DF3}\x{5DF4}\x{5DF5}\x{5DF7}\x{5DF8}\x{5DF9}' .
-'\x{5DFA}\x{5DFB}\x{5DFC}\x{5DFD}\x{5DFE}\x{5DFF}\x{5E00}\x{5E01}\x{5E02}' .
-'\x{5E03}\x{5E04}\x{5E05}\x{5E06}\x{5E07}\x{5E08}\x{5E09}\x{5E0A}\x{5E0B}' .
-'\x{5E0C}\x{5E0D}\x{5E0E}\x{5E0F}\x{5E10}\x{5E11}\x{5E13}\x{5E14}\x{5E15}' .
-'\x{5E16}\x{5E17}\x{5E18}\x{5E19}\x{5E1A}\x{5E1B}\x{5E1C}\x{5E1D}\x{5E1E}' .
-'\x{5E1F}\x{5E20}\x{5E21}\x{5E22}\x{5E23}\x{5E24}\x{5E25}\x{5E26}\x{5E27}' .
-'\x{5E28}\x{5E29}\x{5E2A}\x{5E2B}\x{5E2C}\x{5E2D}\x{5E2E}\x{5E2F}\x{5E30}' .
-'\x{5E31}\x{5E32}\x{5E33}\x{5E34}\x{5E35}\x{5E36}\x{5E37}\x{5E38}\x{5E39}' .
-'\x{5E3A}\x{5E3B}\x{5E3C}\x{5E3D}\x{5E3E}\x{5E40}\x{5E41}\x{5E42}\x{5E43}' .
-'\x{5E44}\x{5E45}\x{5E46}\x{5E47}\x{5E49}\x{5E4A}\x{5E4B}\x{5E4C}\x{5E4D}' .
-'\x{5E4E}\x{5E4F}\x{5E50}\x{5E52}\x{5E53}\x{5E54}\x{5E55}\x{5E56}\x{5E57}' .
-'\x{5E58}\x{5E59}\x{5E5A}\x{5E5B}\x{5E5C}\x{5E5D}\x{5E5E}\x{5E5F}\x{5E60}' .
-'\x{5E61}\x{5E62}\x{5E63}\x{5E64}\x{5E65}\x{5E66}\x{5E67}\x{5E68}\x{5E69}' .
-'\x{5E6A}\x{5E6B}\x{5E6C}\x{5E6D}\x{5E6E}\x{5E6F}\x{5E70}\x{5E71}\x{5E72}' .
-'\x{5E73}\x{5E74}\x{5E75}\x{5E76}\x{5E77}\x{5E78}\x{5E79}\x{5E7A}\x{5E7B}' .
-'\x{5E7C}\x{5E7D}\x{5E7E}\x{5E7F}\x{5E80}\x{5E81}\x{5E82}\x{5E83}\x{5E84}' .
-'\x{5E85}\x{5E86}\x{5E87}\x{5E88}\x{5E89}\x{5E8A}\x{5E8B}\x{5E8C}\x{5E8D}' .
-'\x{5E8E}\x{5E8F}\x{5E90}\x{5E91}\x{5E93}\x{5E94}\x{5E95}\x{5E96}\x{5E97}' .
-'\x{5E98}\x{5E99}\x{5E9A}\x{5E9B}\x{5E9C}\x{5E9D}\x{5E9E}\x{5E9F}\x{5EA0}' .
-'\x{5EA1}\x{5EA2}\x{5EA3}\x{5EA4}\x{5EA5}\x{5EA6}\x{5EA7}\x{5EA8}\x{5EA9}' .
-'\x{5EAA}\x{5EAB}\x{5EAC}\x{5EAD}\x{5EAE}\x{5EAF}\x{5EB0}\x{5EB1}\x{5EB2}' .
-'\x{5EB3}\x{5EB4}\x{5EB5}\x{5EB6}\x{5EB7}\x{5EB8}\x{5EB9}\x{5EBB}\x{5EBC}' .
-'\x{5EBD}\x{5EBE}\x{5EBF}\x{5EC1}\x{5EC2}\x{5EC3}\x{5EC4}\x{5EC5}\x{5EC6}' .
-'\x{5EC7}\x{5EC8}\x{5EC9}\x{5ECA}\x{5ECB}\x{5ECC}\x{5ECD}\x{5ECE}\x{5ECF}' .
-'\x{5ED0}\x{5ED1}\x{5ED2}\x{5ED3}\x{5ED4}\x{5ED5}\x{5ED6}\x{5ED7}\x{5ED8}' .
-'\x{5ED9}\x{5EDA}\x{5EDB}\x{5EDC}\x{5EDD}\x{5EDE}\x{5EDF}\x{5EE0}\x{5EE1}' .
-'\x{5EE2}\x{5EE3}\x{5EE4}\x{5EE5}\x{5EE6}\x{5EE7}\x{5EE8}\x{5EE9}\x{5EEA}' .
-'\x{5EEC}\x{5EED}\x{5EEE}\x{5EEF}\x{5EF0}\x{5EF1}\x{5EF2}\x{5EF3}\x{5EF4}' .
-'\x{5EF5}\x{5EF6}\x{5EF7}\x{5EF8}\x{5EFA}\x{5EFB}\x{5EFC}\x{5EFD}\x{5EFE}' .
-'\x{5EFF}\x{5F00}\x{5F01}\x{5F02}\x{5F03}\x{5F04}\x{5F05}\x{5F06}\x{5F07}' .
-'\x{5F08}\x{5F0A}\x{5F0B}\x{5F0C}\x{5F0D}\x{5F0F}\x{5F11}\x{5F12}\x{5F13}' .
-'\x{5F14}\x{5F15}\x{5F16}\x{5F17}\x{5F18}\x{5F19}\x{5F1A}\x{5F1B}\x{5F1C}' .
-'\x{5F1D}\x{5F1E}\x{5F1F}\x{5F20}\x{5F21}\x{5F22}\x{5F23}\x{5F24}\x{5F25}' .
-'\x{5F26}\x{5F27}\x{5F28}\x{5F29}\x{5F2A}\x{5F2B}\x{5F2C}\x{5F2D}\x{5F2E}' .
-'\x{5F2F}\x{5F30}\x{5F31}\x{5F32}\x{5F33}\x{5F34}\x{5F35}\x{5F36}\x{5F37}' .
-'\x{5F38}\x{5F39}\x{5F3A}\x{5F3C}\x{5F3E}\x{5F3F}\x{5F40}\x{5F41}\x{5F42}' .
-'\x{5F43}\x{5F44}\x{5F45}\x{5F46}\x{5F47}\x{5F48}\x{5F49}\x{5F4A}\x{5F4B}' .
-'\x{5F4C}\x{5F4D}\x{5F4E}\x{5F4F}\x{5F50}\x{5F51}\x{5F52}\x{5F53}\x{5F54}' .
-'\x{5F55}\x{5F56}\x{5F57}\x{5F58}\x{5F59}\x{5F5A}\x{5F5B}\x{5F5C}\x{5F5D}' .
-'\x{5F5E}\x{5F5F}\x{5F60}\x{5F61}\x{5F62}\x{5F63}\x{5F64}\x{5F65}\x{5F66}' .
-'\x{5F67}\x{5F68}\x{5F69}\x{5F6A}\x{5F6B}\x{5F6C}\x{5F6D}\x{5F6E}\x{5F6F}' .
-'\x{5F70}\x{5F71}\x{5F72}\x{5F73}\x{5F74}\x{5F75}\x{5F76}\x{5F77}\x{5F78}' .
-'\x{5F79}\x{5F7A}\x{5F7B}\x{5F7C}\x{5F7D}\x{5F7E}\x{5F7F}\x{5F80}\x{5F81}' .
-'\x{5F82}\x{5F83}\x{5F84}\x{5F85}\x{5F86}\x{5F87}\x{5F88}\x{5F89}\x{5F8A}' .
-'\x{5F8B}\x{5F8C}\x{5F8D}\x{5F8E}\x{5F90}\x{5F91}\x{5F92}\x{5F93}\x{5F94}' .
-'\x{5F95}\x{5F96}\x{5F97}\x{5F98}\x{5F99}\x{5F9B}\x{5F9C}\x{5F9D}\x{5F9E}' .
-'\x{5F9F}\x{5FA0}\x{5FA1}\x{5FA2}\x{5FA5}\x{5FA6}\x{5FA7}\x{5FA8}\x{5FA9}' .
-'\x{5FAA}\x{5FAB}\x{5FAC}\x{5FAD}\x{5FAE}\x{5FAF}\x{5FB1}\x{5FB2}\x{5FB3}' .
-'\x{5FB4}\x{5FB5}\x{5FB6}\x{5FB7}\x{5FB8}\x{5FB9}\x{5FBA}\x{5FBB}\x{5FBC}' .
-'\x{5FBD}\x{5FBE}\x{5FBF}\x{5FC0}\x{5FC1}\x{5FC3}\x{5FC4}\x{5FC5}\x{5FC6}' .
-'\x{5FC7}\x{5FC8}\x{5FC9}\x{5FCA}\x{5FCB}\x{5FCC}\x{5FCD}\x{5FCF}\x{5FD0}' .
-'\x{5FD1}\x{5FD2}\x{5FD3}\x{5FD4}\x{5FD5}\x{5FD6}\x{5FD7}\x{5FD8}\x{5FD9}' .
-'\x{5FDA}\x{5FDC}\x{5FDD}\x{5FDE}\x{5FE0}\x{5FE1}\x{5FE3}\x{5FE4}\x{5FE5}' .
-'\x{5FE6}\x{5FE7}\x{5FE8}\x{5FE9}\x{5FEA}\x{5FEB}\x{5FED}\x{5FEE}\x{5FEF}' .
-'\x{5FF0}\x{5FF1}\x{5FF2}\x{5FF3}\x{5FF4}\x{5FF5}\x{5FF6}\x{5FF7}\x{5FF8}' .
-'\x{5FF9}\x{5FFA}\x{5FFB}\x{5FFD}\x{5FFE}\x{5FFF}\x{6000}\x{6001}\x{6002}' .
-'\x{6003}\x{6004}\x{6005}\x{6006}\x{6007}\x{6008}\x{6009}\x{600A}\x{600B}' .
-'\x{600C}\x{600D}\x{600E}\x{600F}\x{6010}\x{6011}\x{6012}\x{6013}\x{6014}' .
-'\x{6015}\x{6016}\x{6017}\x{6018}\x{6019}\x{601A}\x{601B}\x{601C}\x{601D}' .
-'\x{601E}\x{601F}\x{6020}\x{6021}\x{6022}\x{6024}\x{6025}\x{6026}\x{6027}' .
-'\x{6028}\x{6029}\x{602A}\x{602B}\x{602C}\x{602D}\x{602E}\x{602F}\x{6030}' .
-'\x{6031}\x{6032}\x{6033}\x{6034}\x{6035}\x{6036}\x{6037}\x{6038}\x{6039}' .
-'\x{603A}\x{603B}\x{603C}\x{603D}\x{603E}\x{603F}\x{6040}\x{6041}\x{6042}' .
-'\x{6043}\x{6044}\x{6045}\x{6046}\x{6047}\x{6048}\x{6049}\x{604A}\x{604B}' .
-'\x{604C}\x{604D}\x{604E}\x{604F}\x{6050}\x{6051}\x{6052}\x{6053}\x{6054}' .
-'\x{6055}\x{6057}\x{6058}\x{6059}\x{605A}\x{605B}\x{605C}\x{605D}\x{605E}' .
-'\x{605F}\x{6062}\x{6063}\x{6064}\x{6065}\x{6066}\x{6067}\x{6068}\x{6069}' .
-'\x{606A}\x{606B}\x{606C}\x{606D}\x{606E}\x{606F}\x{6070}\x{6072}\x{6073}' .
-'\x{6075}\x{6076}\x{6077}\x{6078}\x{6079}\x{607A}\x{607B}\x{607C}\x{607D}' .
-'\x{607E}\x{607F}\x{6080}\x{6081}\x{6082}\x{6083}\x{6084}\x{6085}\x{6086}' .
-'\x{6087}\x{6088}\x{6089}\x{608A}\x{608B}\x{608C}\x{608D}\x{608E}\x{608F}' .
-'\x{6090}\x{6092}\x{6094}\x{6095}\x{6096}\x{6097}\x{6098}\x{6099}\x{609A}' .
-'\x{609B}\x{609C}\x{609D}\x{609E}\x{609F}\x{60A0}\x{60A1}\x{60A2}\x{60A3}' .
-'\x{60A4}\x{60A6}\x{60A7}\x{60A8}\x{60AA}\x{60AB}\x{60AC}\x{60AD}\x{60AE}' .
-'\x{60AF}\x{60B0}\x{60B1}\x{60B2}\x{60B3}\x{60B4}\x{60B5}\x{60B6}\x{60B7}' .
-'\x{60B8}\x{60B9}\x{60BA}\x{60BB}\x{60BC}\x{60BD}\x{60BE}\x{60BF}\x{60C0}' .
-'\x{60C1}\x{60C2}\x{60C3}\x{60C4}\x{60C5}\x{60C6}\x{60C7}\x{60C8}\x{60C9}' .
-'\x{60CA}\x{60CB}\x{60CC}\x{60CD}\x{60CE}\x{60CF}\x{60D0}\x{60D1}\x{60D3}' .
-'\x{60D4}\x{60D5}\x{60D7}\x{60D8}\x{60D9}\x{60DA}\x{60DB}\x{60DC}\x{60DD}' .
-'\x{60DF}\x{60E0}\x{60E1}\x{60E2}\x{60E4}\x{60E6}\x{60E7}\x{60E8}\x{60E9}' .
-'\x{60EA}\x{60EB}\x{60EC}\x{60ED}\x{60EE}\x{60EF}\x{60F0}\x{60F1}\x{60F2}' .
-'\x{60F3}\x{60F4}\x{60F5}\x{60F6}\x{60F7}\x{60F8}\x{60F9}\x{60FA}\x{60FB}' .
-'\x{60FC}\x{60FE}\x{60FF}\x{6100}\x{6101}\x{6103}\x{6104}\x{6105}\x{6106}' .
-'\x{6108}\x{6109}\x{610A}\x{610B}\x{610C}\x{610D}\x{610E}\x{610F}\x{6110}' .
-'\x{6112}\x{6113}\x{6114}\x{6115}\x{6116}\x{6117}\x{6118}\x{6119}\x{611A}' .
-'\x{611B}\x{611C}\x{611D}\x{611F}\x{6120}\x{6122}\x{6123}\x{6124}\x{6125}' .
-'\x{6126}\x{6127}\x{6128}\x{6129}\x{612A}\x{612B}\x{612C}\x{612D}\x{612E}' .
-'\x{612F}\x{6130}\x{6132}\x{6134}\x{6136}\x{6137}\x{613A}\x{613B}\x{613C}' .
-'\x{613D}\x{613E}\x{613F}\x{6140}\x{6141}\x{6142}\x{6143}\x{6144}\x{6145}' .
-'\x{6146}\x{6147}\x{6148}\x{6149}\x{614A}\x{614B}\x{614C}\x{614D}\x{614E}' .
-'\x{614F}\x{6150}\x{6151}\x{6152}\x{6153}\x{6154}\x{6155}\x{6156}\x{6157}' .
-'\x{6158}\x{6159}\x{615A}\x{615B}\x{615C}\x{615D}\x{615E}\x{615F}\x{6161}' .
-'\x{6162}\x{6163}\x{6164}\x{6165}\x{6166}\x{6167}\x{6168}\x{6169}\x{616A}' .
-'\x{616B}\x{616C}\x{616D}\x{616E}\x{6170}\x{6171}\x{6172}\x{6173}\x{6174}' .
-'\x{6175}\x{6176}\x{6177}\x{6178}\x{6179}\x{617A}\x{617C}\x{617E}\x{6180}' .
-'\x{6181}\x{6182}\x{6183}\x{6184}\x{6185}\x{6187}\x{6188}\x{6189}\x{618A}' .
-'\x{618B}\x{618C}\x{618D}\x{618E}\x{618F}\x{6190}\x{6191}\x{6192}\x{6193}' .
-'\x{6194}\x{6195}\x{6196}\x{6198}\x{6199}\x{619A}\x{619B}\x{619D}\x{619E}' .
-'\x{619F}\x{61A0}\x{61A1}\x{61A2}\x{61A3}\x{61A4}\x{61A5}\x{61A6}\x{61A7}' .
-'\x{61A8}\x{61A9}\x{61AA}\x{61AB}\x{61AC}\x{61AD}\x{61AE}\x{61AF}\x{61B0}' .
-'\x{61B1}\x{61B2}\x{61B3}\x{61B4}\x{61B5}\x{61B6}\x{61B7}\x{61B8}\x{61BA}' .
-'\x{61BC}\x{61BD}\x{61BE}\x{61BF}\x{61C0}\x{61C1}\x{61C2}\x{61C3}\x{61C4}' .
-'\x{61C5}\x{61C6}\x{61C7}\x{61C8}\x{61C9}\x{61CA}\x{61CB}\x{61CC}\x{61CD}' .
-'\x{61CE}\x{61CF}\x{61D0}\x{61D1}\x{61D2}\x{61D4}\x{61D6}\x{61D7}\x{61D8}' .
-'\x{61D9}\x{61DA}\x{61DB}\x{61DC}\x{61DD}\x{61DE}\x{61DF}\x{61E0}\x{61E1}' .
-'\x{61E2}\x{61E3}\x{61E4}\x{61E5}\x{61E6}\x{61E7}\x{61E8}\x{61E9}\x{61EA}' .
-'\x{61EB}\x{61ED}\x{61EE}\x{61F0}\x{61F1}\x{61F2}\x{61F3}\x{61F5}\x{61F6}' .
-'\x{61F7}\x{61F8}\x{61F9}\x{61FA}\x{61FB}\x{61FC}\x{61FD}\x{61FE}\x{61FF}' .
-'\x{6200}\x{6201}\x{6202}\x{6203}\x{6204}\x{6206}\x{6207}\x{6208}\x{6209}' .
-'\x{620A}\x{620B}\x{620C}\x{620D}\x{620E}\x{620F}\x{6210}\x{6211}\x{6212}' .
-'\x{6213}\x{6214}\x{6215}\x{6216}\x{6217}\x{6218}\x{6219}\x{621A}\x{621B}' .
-'\x{621C}\x{621D}\x{621E}\x{621F}\x{6220}\x{6221}\x{6222}\x{6223}\x{6224}' .
-'\x{6225}\x{6226}\x{6227}\x{6228}\x{6229}\x{622A}\x{622B}\x{622C}\x{622D}' .
-'\x{622E}\x{622F}\x{6230}\x{6231}\x{6232}\x{6233}\x{6234}\x{6236}\x{6237}' .
-'\x{6238}\x{623A}\x{623B}\x{623C}\x{623D}\x{623E}\x{623F}\x{6240}\x{6241}' .
-'\x{6242}\x{6243}\x{6244}\x{6245}\x{6246}\x{6247}\x{6248}\x{6249}\x{624A}' .
-'\x{624B}\x{624C}\x{624D}\x{624E}\x{624F}\x{6250}\x{6251}\x{6252}\x{6253}' .
-'\x{6254}\x{6255}\x{6256}\x{6258}\x{6259}\x{625A}\x{625B}\x{625C}\x{625D}' .
-'\x{625E}\x{625F}\x{6260}\x{6261}\x{6262}\x{6263}\x{6264}\x{6265}\x{6266}' .
-'\x{6267}\x{6268}\x{6269}\x{626A}\x{626B}\x{626C}\x{626D}\x{626E}\x{626F}' .
-'\x{6270}\x{6271}\x{6272}\x{6273}\x{6274}\x{6275}\x{6276}\x{6277}\x{6278}' .
-'\x{6279}\x{627A}\x{627B}\x{627C}\x{627D}\x{627E}\x{627F}\x{6280}\x{6281}' .
-'\x{6283}\x{6284}\x{6285}\x{6286}\x{6287}\x{6288}\x{6289}\x{628A}\x{628B}' .
-'\x{628C}\x{628E}\x{628F}\x{6290}\x{6291}\x{6292}\x{6293}\x{6294}\x{6295}' .
-'\x{6296}\x{6297}\x{6298}\x{6299}\x{629A}\x{629B}\x{629C}\x{629E}\x{629F}' .
-'\x{62A0}\x{62A1}\x{62A2}\x{62A3}\x{62A4}\x{62A5}\x{62A7}\x{62A8}\x{62A9}' .
-'\x{62AA}\x{62AB}\x{62AC}\x{62AD}\x{62AE}\x{62AF}\x{62B0}\x{62B1}\x{62B2}' .
-'\x{62B3}\x{62B4}\x{62B5}\x{62B6}\x{62B7}\x{62B8}\x{62B9}\x{62BA}\x{62BB}' .
-'\x{62BC}\x{62BD}\x{62BE}\x{62BF}\x{62C0}\x{62C1}\x{62C2}\x{62C3}\x{62C4}' .
-'\x{62C5}\x{62C6}\x{62C7}\x{62C8}\x{62C9}\x{62CA}\x{62CB}\x{62CC}\x{62CD}' .
-'\x{62CE}\x{62CF}\x{62D0}\x{62D1}\x{62D2}\x{62D3}\x{62D4}\x{62D5}\x{62D6}' .
-'\x{62D7}\x{62D8}\x{62D9}\x{62DA}\x{62DB}\x{62DC}\x{62DD}\x{62DF}\x{62E0}' .
-'\x{62E1}\x{62E2}\x{62E3}\x{62E4}\x{62E5}\x{62E6}\x{62E7}\x{62E8}\x{62E9}' .
-'\x{62EB}\x{62EC}\x{62ED}\x{62EE}\x{62EF}\x{62F0}\x{62F1}\x{62F2}\x{62F3}' .
-'\x{62F4}\x{62F5}\x{62F6}\x{62F7}\x{62F8}\x{62F9}\x{62FA}\x{62FB}\x{62FC}' .
-'\x{62FD}\x{62FE}\x{62FF}\x{6300}\x{6301}\x{6302}\x{6303}\x{6304}\x{6305}' .
-'\x{6306}\x{6307}\x{6308}\x{6309}\x{630B}\x{630C}\x{630D}\x{630E}\x{630F}' .
-'\x{6310}\x{6311}\x{6312}\x{6313}\x{6314}\x{6315}\x{6316}\x{6318}\x{6319}' .
-'\x{631A}\x{631B}\x{631C}\x{631D}\x{631E}\x{631F}\x{6320}\x{6321}\x{6322}' .
-'\x{6323}\x{6324}\x{6325}\x{6326}\x{6327}\x{6328}\x{6329}\x{632A}\x{632B}' .
-'\x{632C}\x{632D}\x{632E}\x{632F}\x{6330}\x{6332}\x{6333}\x{6334}\x{6336}' .
-'\x{6338}\x{6339}\x{633A}\x{633B}\x{633C}\x{633D}\x{633E}\x{6340}\x{6341}' .
-'\x{6342}\x{6343}\x{6344}\x{6345}\x{6346}\x{6347}\x{6348}\x{6349}\x{634A}' .
-'\x{634B}\x{634C}\x{634D}\x{634E}\x{634F}\x{6350}\x{6351}\x{6352}\x{6353}' .
-'\x{6354}\x{6355}\x{6356}\x{6357}\x{6358}\x{6359}\x{635A}\x{635C}\x{635D}' .
-'\x{635E}\x{635F}\x{6360}\x{6361}\x{6362}\x{6363}\x{6364}\x{6365}\x{6366}' .
-'\x{6367}\x{6368}\x{6369}\x{636A}\x{636B}\x{636C}\x{636D}\x{636E}\x{636F}' .
-'\x{6370}\x{6371}\x{6372}\x{6373}\x{6374}\x{6375}\x{6376}\x{6377}\x{6378}' .
-'\x{6379}\x{637A}\x{637B}\x{637C}\x{637D}\x{637E}\x{6380}\x{6381}\x{6382}' .
-'\x{6383}\x{6384}\x{6385}\x{6386}\x{6387}\x{6388}\x{6389}\x{638A}\x{638C}' .
-'\x{638D}\x{638E}\x{638F}\x{6390}\x{6391}\x{6392}\x{6394}\x{6395}\x{6396}' .
-'\x{6397}\x{6398}\x{6399}\x{639A}\x{639B}\x{639C}\x{639D}\x{639E}\x{639F}' .
-'\x{63A0}\x{63A1}\x{63A2}\x{63A3}\x{63A4}\x{63A5}\x{63A6}\x{63A7}\x{63A8}' .
-'\x{63A9}\x{63AA}\x{63AB}\x{63AC}\x{63AD}\x{63AE}\x{63AF}\x{63B0}\x{63B1}' .
-'\x{63B2}\x{63B3}\x{63B4}\x{63B5}\x{63B6}\x{63B7}\x{63B8}\x{63B9}\x{63BA}' .
-'\x{63BC}\x{63BD}\x{63BE}\x{63BF}\x{63C0}\x{63C1}\x{63C2}\x{63C3}\x{63C4}' .
-'\x{63C5}\x{63C6}\x{63C7}\x{63C8}\x{63C9}\x{63CA}\x{63CB}\x{63CC}\x{63CD}' .
-'\x{63CE}\x{63CF}\x{63D0}\x{63D2}\x{63D3}\x{63D4}\x{63D5}\x{63D6}\x{63D7}' .
-'\x{63D8}\x{63D9}\x{63DA}\x{63DB}\x{63DC}\x{63DD}\x{63DE}\x{63DF}\x{63E0}' .
-'\x{63E1}\x{63E2}\x{63E3}\x{63E4}\x{63E5}\x{63E6}\x{63E7}\x{63E8}\x{63E9}' .
-'\x{63EA}\x{63EB}\x{63EC}\x{63ED}\x{63EE}\x{63EF}\x{63F0}\x{63F1}\x{63F2}' .
-'\x{63F3}\x{63F4}\x{63F5}\x{63F6}\x{63F7}\x{63F8}\x{63F9}\x{63FA}\x{63FB}' .
-'\x{63FC}\x{63FD}\x{63FE}\x{63FF}\x{6400}\x{6401}\x{6402}\x{6403}\x{6404}' .
-'\x{6405}\x{6406}\x{6408}\x{6409}\x{640A}\x{640B}\x{640C}\x{640D}\x{640E}' .
-'\x{640F}\x{6410}\x{6411}\x{6412}\x{6413}\x{6414}\x{6415}\x{6416}\x{6417}' .
-'\x{6418}\x{6419}\x{641A}\x{641B}\x{641C}\x{641D}\x{641E}\x{641F}\x{6420}' .
-'\x{6421}\x{6422}\x{6423}\x{6424}\x{6425}\x{6426}\x{6427}\x{6428}\x{6429}' .
-'\x{642A}\x{642B}\x{642C}\x{642D}\x{642E}\x{642F}\x{6430}\x{6431}\x{6432}' .
-'\x{6433}\x{6434}\x{6435}\x{6436}\x{6437}\x{6438}\x{6439}\x{643A}\x{643D}' .
-'\x{643E}\x{643F}\x{6440}\x{6441}\x{6443}\x{6444}\x{6445}\x{6446}\x{6447}' .
-'\x{6448}\x{644A}\x{644B}\x{644C}\x{644D}\x{644E}\x{644F}\x{6450}\x{6451}' .
-'\x{6452}\x{6453}\x{6454}\x{6455}\x{6456}\x{6457}\x{6458}\x{6459}\x{645B}' .
-'\x{645C}\x{645D}\x{645E}\x{645F}\x{6460}\x{6461}\x{6462}\x{6463}\x{6464}' .
-'\x{6465}\x{6466}\x{6467}\x{6468}\x{6469}\x{646A}\x{646B}\x{646C}\x{646D}' .
-'\x{646E}\x{646F}\x{6470}\x{6471}\x{6472}\x{6473}\x{6474}\x{6475}\x{6476}' .
-'\x{6477}\x{6478}\x{6479}\x{647A}\x{647B}\x{647C}\x{647D}\x{647F}\x{6480}' .
-'\x{6481}\x{6482}\x{6483}\x{6484}\x{6485}\x{6487}\x{6488}\x{6489}\x{648A}' .
-'\x{648B}\x{648C}\x{648D}\x{648E}\x{648F}\x{6490}\x{6491}\x{6492}\x{6493}' .
-'\x{6494}\x{6495}\x{6496}\x{6497}\x{6498}\x{6499}\x{649A}\x{649B}\x{649C}' .
-'\x{649D}\x{649E}\x{649F}\x{64A0}\x{64A2}\x{64A3}\x{64A4}\x{64A5}\x{64A6}' .
-'\x{64A7}\x{64A8}\x{64A9}\x{64AA}\x{64AB}\x{64AC}\x{64AD}\x{64AE}\x{64B0}' .
-'\x{64B1}\x{64B2}\x{64B3}\x{64B4}\x{64B5}\x{64B7}\x{64B8}\x{64B9}\x{64BA}' .
-'\x{64BB}\x{64BC}\x{64BD}\x{64BE}\x{64BF}\x{64C0}\x{64C1}\x{64C2}\x{64C3}' .
-'\x{64C4}\x{64C5}\x{64C6}\x{64C7}\x{64C9}\x{64CA}\x{64CB}\x{64CC}\x{64CD}' .
-'\x{64CE}\x{64CF}\x{64D0}\x{64D1}\x{64D2}\x{64D3}\x{64D4}\x{64D6}\x{64D7}' .
-'\x{64D8}\x{64D9}\x{64DA}\x{64DB}\x{64DC}\x{64DD}\x{64DE}\x{64DF}\x{64E0}' .
-'\x{64E2}\x{64E3}\x{64E4}\x{64E6}\x{64E7}\x{64E8}\x{64E9}\x{64EA}\x{64EB}' .
-'\x{64EC}\x{64ED}\x{64EF}\x{64F0}\x{64F1}\x{64F2}\x{64F3}\x{64F4}\x{64F6}' .
-'\x{64F7}\x{64F8}\x{64FA}\x{64FB}\x{64FC}\x{64FD}\x{64FE}\x{64FF}\x{6500}' .
-'\x{6501}\x{6503}\x{6504}\x{6505}\x{6506}\x{6507}\x{6508}\x{6509}\x{650B}' .
-'\x{650C}\x{650D}\x{650E}\x{650F}\x{6510}\x{6511}\x{6512}\x{6513}\x{6514}' .
-'\x{6515}\x{6516}\x{6517}\x{6518}\x{6519}\x{651A}\x{651B}\x{651C}\x{651D}' .
-'\x{651E}\x{6520}\x{6521}\x{6522}\x{6523}\x{6524}\x{6525}\x{6526}\x{6527}' .
-'\x{6529}\x{652A}\x{652B}\x{652C}\x{652D}\x{652E}\x{652F}\x{6530}\x{6531}' .
-'\x{6532}\x{6533}\x{6534}\x{6535}\x{6536}\x{6537}\x{6538}\x{6539}\x{653A}' .
-'\x{653B}\x{653C}\x{653D}\x{653E}\x{653F}\x{6541}\x{6543}\x{6544}\x{6545}' .
-'\x{6546}\x{6547}\x{6548}\x{6549}\x{654A}\x{654B}\x{654C}\x{654D}\x{654E}' .
-'\x{654F}\x{6550}\x{6551}\x{6552}\x{6553}\x{6554}\x{6555}\x{6556}\x{6557}' .
-'\x{6558}\x{6559}\x{655B}\x{655C}\x{655D}\x{655E}\x{6560}\x{6561}\x{6562}' .
-'\x{6563}\x{6564}\x{6565}\x{6566}\x{6567}\x{6568}\x{6569}\x{656A}\x{656B}' .
-'\x{656C}\x{656E}\x{656F}\x{6570}\x{6571}\x{6572}\x{6573}\x{6574}\x{6575}' .
-'\x{6576}\x{6577}\x{6578}\x{6579}\x{657A}\x{657B}\x{657C}\x{657E}\x{657F}' .
-'\x{6580}\x{6581}\x{6582}\x{6583}\x{6584}\x{6585}\x{6586}\x{6587}\x{6588}' .
-'\x{6589}\x{658B}\x{658C}\x{658D}\x{658E}\x{658F}\x{6590}\x{6591}\x{6592}' .
-'\x{6593}\x{6594}\x{6595}\x{6596}\x{6597}\x{6598}\x{6599}\x{659B}\x{659C}' .
-'\x{659D}\x{659E}\x{659F}\x{65A0}\x{65A1}\x{65A2}\x{65A3}\x{65A4}\x{65A5}' .
-'\x{65A6}\x{65A7}\x{65A8}\x{65A9}\x{65AA}\x{65AB}\x{65AC}\x{65AD}\x{65AE}' .
-'\x{65AF}\x{65B0}\x{65B1}\x{65B2}\x{65B3}\x{65B4}\x{65B6}\x{65B7}\x{65B8}' .
-'\x{65B9}\x{65BA}\x{65BB}\x{65BC}\x{65BD}\x{65BF}\x{65C0}\x{65C1}\x{65C2}' .
-'\x{65C3}\x{65C4}\x{65C5}\x{65C6}\x{65C7}\x{65CA}\x{65CB}\x{65CC}\x{65CD}' .
-'\x{65CE}\x{65CF}\x{65D0}\x{65D2}\x{65D3}\x{65D4}\x{65D5}\x{65D6}\x{65D7}' .
-'\x{65DA}\x{65DB}\x{65DD}\x{65DE}\x{65DF}\x{65E0}\x{65E1}\x{65E2}\x{65E3}' .
-'\x{65E5}\x{65E6}\x{65E7}\x{65E8}\x{65E9}\x{65EB}\x{65EC}\x{65ED}\x{65EE}' .
-'\x{65EF}\x{65F0}\x{65F1}\x{65F2}\x{65F3}\x{65F4}\x{65F5}\x{65F6}\x{65F7}' .
-'\x{65F8}\x{65FA}\x{65FB}\x{65FC}\x{65FD}\x{6600}\x{6601}\x{6602}\x{6603}' .
-'\x{6604}\x{6605}\x{6606}\x{6607}\x{6608}\x{6609}\x{660A}\x{660B}\x{660C}' .
-'\x{660D}\x{660E}\x{660F}\x{6610}\x{6611}\x{6612}\x{6613}\x{6614}\x{6615}' .
-'\x{6616}\x{6618}\x{6619}\x{661A}\x{661B}\x{661C}\x{661D}\x{661F}\x{6620}' .
-'\x{6621}\x{6622}\x{6623}\x{6624}\x{6625}\x{6626}\x{6627}\x{6628}\x{6629}' .
-'\x{662A}\x{662B}\x{662D}\x{662E}\x{662F}\x{6630}\x{6631}\x{6632}\x{6633}' .
-'\x{6634}\x{6635}\x{6636}\x{6639}\x{663A}\x{663C}\x{663D}\x{663E}\x{6640}' .
-'\x{6641}\x{6642}\x{6643}\x{6644}\x{6645}\x{6646}\x{6647}\x{6649}\x{664A}' .
-'\x{664B}\x{664C}\x{664E}\x{664F}\x{6650}\x{6651}\x{6652}\x{6653}\x{6654}' .
-'\x{6655}\x{6656}\x{6657}\x{6658}\x{6659}\x{665A}\x{665B}\x{665C}\x{665D}' .
-'\x{665E}\x{665F}\x{6661}\x{6662}\x{6664}\x{6665}\x{6666}\x{6668}\x{6669}' .
-'\x{666A}\x{666B}\x{666C}\x{666D}\x{666E}\x{666F}\x{6670}\x{6671}\x{6672}' .
-'\x{6673}\x{6674}\x{6675}\x{6676}\x{6677}\x{6678}\x{6679}\x{667A}\x{667B}' .
-'\x{667C}\x{667D}\x{667E}\x{667F}\x{6680}\x{6681}\x{6682}\x{6683}\x{6684}' .
-'\x{6685}\x{6686}\x{6687}\x{6688}\x{6689}\x{668A}\x{668B}\x{668C}\x{668D}' .
-'\x{668E}\x{668F}\x{6690}\x{6691}\x{6693}\x{6694}\x{6695}\x{6696}\x{6697}' .
-'\x{6698}\x{6699}\x{669A}\x{669B}\x{669D}\x{669F}\x{66A0}\x{66A1}\x{66A2}' .
-'\x{66A3}\x{66A4}\x{66A5}\x{66A6}\x{66A7}\x{66A8}\x{66A9}\x{66AA}\x{66AB}' .
-'\x{66AE}\x{66AF}\x{66B0}\x{66B1}\x{66B2}\x{66B3}\x{66B4}\x{66B5}\x{66B6}' .
-'\x{66B7}\x{66B8}\x{66B9}\x{66BA}\x{66BB}\x{66BC}\x{66BD}\x{66BE}\x{66BF}' .
-'\x{66C0}\x{66C1}\x{66C2}\x{66C3}\x{66C4}\x{66C5}\x{66C6}\x{66C7}\x{66C8}' .
-'\x{66C9}\x{66CA}\x{66CB}\x{66CC}\x{66CD}\x{66CE}\x{66CF}\x{66D1}\x{66D2}' .
-'\x{66D4}\x{66D5}\x{66D6}\x{66D8}\x{66D9}\x{66DA}\x{66DB}\x{66DC}\x{66DD}' .
-'\x{66DE}\x{66E0}\x{66E1}\x{66E2}\x{66E3}\x{66E4}\x{66E5}\x{66E6}\x{66E7}' .
-'\x{66E8}\x{66E9}\x{66EA}\x{66EB}\x{66EC}\x{66ED}\x{66EE}\x{66F0}\x{66F1}' .
-'\x{66F2}\x{66F3}\x{66F4}\x{66F5}\x{66F6}\x{66F7}\x{66F8}\x{66F9}\x{66FA}' .
-'\x{66FB}\x{66FC}\x{66FE}\x{66FF}\x{6700}\x{6701}\x{6703}\x{6704}\x{6705}' .
-'\x{6706}\x{6708}\x{6709}\x{670A}\x{670B}\x{670C}\x{670D}\x{670E}\x{670F}' .
-'\x{6710}\x{6711}\x{6712}\x{6713}\x{6714}\x{6715}\x{6716}\x{6717}\x{6718}' .
-'\x{671A}\x{671B}\x{671C}\x{671D}\x{671E}\x{671F}\x{6720}\x{6721}\x{6722}' .
-'\x{6723}\x{6725}\x{6726}\x{6727}\x{6728}\x{672A}\x{672B}\x{672C}\x{672D}' .
-'\x{672E}\x{672F}\x{6730}\x{6731}\x{6732}\x{6733}\x{6734}\x{6735}\x{6736}' .
-'\x{6737}\x{6738}\x{6739}\x{673A}\x{673B}\x{673C}\x{673D}\x{673E}\x{673F}' .
-'\x{6740}\x{6741}\x{6742}\x{6743}\x{6744}\x{6745}\x{6746}\x{6747}\x{6748}' .
-'\x{6749}\x{674A}\x{674B}\x{674C}\x{674D}\x{674E}\x{674F}\x{6750}\x{6751}' .
-'\x{6752}\x{6753}\x{6754}\x{6755}\x{6756}\x{6757}\x{6758}\x{6759}\x{675A}' .
-'\x{675B}\x{675C}\x{675D}\x{675E}\x{675F}\x{6760}\x{6761}\x{6762}\x{6763}' .
-'\x{6764}\x{6765}\x{6766}\x{6768}\x{6769}\x{676A}\x{676B}\x{676C}\x{676D}' .
-'\x{676E}\x{676F}\x{6770}\x{6771}\x{6772}\x{6773}\x{6774}\x{6775}\x{6776}' .
-'\x{6777}\x{6778}\x{6779}\x{677A}\x{677B}\x{677C}\x{677D}\x{677E}\x{677F}' .
-'\x{6780}\x{6781}\x{6782}\x{6783}\x{6784}\x{6785}\x{6786}\x{6787}\x{6789}' .
-'\x{678A}\x{678B}\x{678C}\x{678D}\x{678E}\x{678F}\x{6790}\x{6791}\x{6792}' .
-'\x{6793}\x{6794}\x{6795}\x{6797}\x{6798}\x{6799}\x{679A}\x{679B}\x{679C}' .
-'\x{679D}\x{679E}\x{679F}\x{67A0}\x{67A1}\x{67A2}\x{67A3}\x{67A4}\x{67A5}' .
-'\x{67A6}\x{67A7}\x{67A8}\x{67AA}\x{67AB}\x{67AC}\x{67AD}\x{67AE}\x{67AF}' .
-'\x{67B0}\x{67B1}\x{67B2}\x{67B3}\x{67B4}\x{67B5}\x{67B6}\x{67B7}\x{67B8}' .
-'\x{67B9}\x{67BA}\x{67BB}\x{67BC}\x{67BE}\x{67C0}\x{67C1}\x{67C2}\x{67C3}' .
-'\x{67C4}\x{67C5}\x{67C6}\x{67C7}\x{67C8}\x{67C9}\x{67CA}\x{67CB}\x{67CC}' .
-'\x{67CD}\x{67CE}\x{67CF}\x{67D0}\x{67D1}\x{67D2}\x{67D3}\x{67D4}\x{67D6}' .
-'\x{67D8}\x{67D9}\x{67DA}\x{67DB}\x{67DC}\x{67DD}\x{67DE}\x{67DF}\x{67E0}' .
-'\x{67E1}\x{67E2}\x{67E3}\x{67E4}\x{67E5}\x{67E6}\x{67E7}\x{67E8}\x{67E9}' .
-'\x{67EA}\x{67EB}\x{67EC}\x{67ED}\x{67EE}\x{67EF}\x{67F0}\x{67F1}\x{67F2}' .
-'\x{67F3}\x{67F4}\x{67F5}\x{67F6}\x{67F7}\x{67F8}\x{67FA}\x{67FB}\x{67FC}' .
-'\x{67FD}\x{67FE}\x{67FF}\x{6800}\x{6802}\x{6803}\x{6804}\x{6805}\x{6806}' .
-'\x{6807}\x{6808}\x{6809}\x{680A}\x{680B}\x{680C}\x{680D}\x{680E}\x{680F}' .
-'\x{6810}\x{6811}\x{6812}\x{6813}\x{6814}\x{6816}\x{6817}\x{6818}\x{6819}' .
-'\x{681A}\x{681B}\x{681C}\x{681D}\x{681F}\x{6820}\x{6821}\x{6822}\x{6823}' .
-'\x{6824}\x{6825}\x{6826}\x{6828}\x{6829}\x{682A}\x{682B}\x{682C}\x{682D}' .
-'\x{682E}\x{682F}\x{6831}\x{6832}\x{6833}\x{6834}\x{6835}\x{6836}\x{6837}' .
-'\x{6838}\x{6839}\x{683A}\x{683B}\x{683C}\x{683D}\x{683E}\x{683F}\x{6840}' .
-'\x{6841}\x{6842}\x{6843}\x{6844}\x{6845}\x{6846}\x{6847}\x{6848}\x{6849}' .
-'\x{684A}\x{684B}\x{684C}\x{684D}\x{684E}\x{684F}\x{6850}\x{6851}\x{6852}' .
-'\x{6853}\x{6854}\x{6855}\x{6856}\x{6857}\x{685B}\x{685D}\x{6860}\x{6861}' .
-'\x{6862}\x{6863}\x{6864}\x{6865}\x{6866}\x{6867}\x{6868}\x{6869}\x{686A}' .
-'\x{686B}\x{686C}\x{686D}\x{686E}\x{686F}\x{6870}\x{6871}\x{6872}\x{6873}' .
-'\x{6874}\x{6875}\x{6876}\x{6877}\x{6878}\x{6879}\x{687B}\x{687C}\x{687D}' .
-'\x{687E}\x{687F}\x{6880}\x{6881}\x{6882}\x{6883}\x{6884}\x{6885}\x{6886}' .
-'\x{6887}\x{6888}\x{6889}\x{688A}\x{688B}\x{688C}\x{688D}\x{688E}\x{688F}' .
-'\x{6890}\x{6891}\x{6892}\x{6893}\x{6894}\x{6896}\x{6897}\x{6898}\x{689A}' .
-'\x{689B}\x{689C}\x{689D}\x{689E}\x{689F}\x{68A0}\x{68A1}\x{68A2}\x{68A3}' .
-'\x{68A4}\x{68A6}\x{68A7}\x{68A8}\x{68A9}\x{68AA}\x{68AB}\x{68AC}\x{68AD}' .
-'\x{68AE}\x{68AF}\x{68B0}\x{68B1}\x{68B2}\x{68B3}\x{68B4}\x{68B5}\x{68B6}' .
-'\x{68B7}\x{68B9}\x{68BB}\x{68BC}\x{68BD}\x{68BE}\x{68BF}\x{68C0}\x{68C1}' .
-'\x{68C2}\x{68C4}\x{68C6}\x{68C7}\x{68C8}\x{68C9}\x{68CA}\x{68CB}\x{68CC}' .
-'\x{68CD}\x{68CE}\x{68CF}\x{68D0}\x{68D1}\x{68D2}\x{68D3}\x{68D4}\x{68D5}' .
-'\x{68D6}\x{68D7}\x{68D8}\x{68DA}\x{68DB}\x{68DC}\x{68DD}\x{68DE}\x{68DF}' .
-'\x{68E0}\x{68E1}\x{68E3}\x{68E4}\x{68E6}\x{68E7}\x{68E8}\x{68E9}\x{68EA}' .
-'\x{68EB}\x{68EC}\x{68ED}\x{68EE}\x{68EF}\x{68F0}\x{68F1}\x{68F2}\x{68F3}' .
-'\x{68F4}\x{68F5}\x{68F6}\x{68F7}\x{68F8}\x{68F9}\x{68FA}\x{68FB}\x{68FC}' .
-'\x{68FD}\x{68FE}\x{68FF}\x{6901}\x{6902}\x{6903}\x{6904}\x{6905}\x{6906}' .
-'\x{6907}\x{6908}\x{690A}\x{690B}\x{690C}\x{690D}\x{690E}\x{690F}\x{6910}' .
-'\x{6911}\x{6912}\x{6913}\x{6914}\x{6915}\x{6916}\x{6917}\x{6918}\x{6919}' .
-'\x{691A}\x{691B}\x{691C}\x{691D}\x{691E}\x{691F}\x{6920}\x{6921}\x{6922}' .
-'\x{6923}\x{6924}\x{6925}\x{6926}\x{6927}\x{6928}\x{6929}\x{692A}\x{692B}' .
-'\x{692C}\x{692D}\x{692E}\x{692F}\x{6930}\x{6931}\x{6932}\x{6933}\x{6934}' .
-'\x{6935}\x{6936}\x{6937}\x{6938}\x{6939}\x{693A}\x{693B}\x{693C}\x{693D}' .
-'\x{693F}\x{6940}\x{6941}\x{6942}\x{6943}\x{6944}\x{6945}\x{6946}\x{6947}' .
-'\x{6948}\x{6949}\x{694A}\x{694B}\x{694C}\x{694E}\x{694F}\x{6950}\x{6951}' .
-'\x{6952}\x{6953}\x{6954}\x{6955}\x{6956}\x{6957}\x{6958}\x{6959}\x{695A}' .
-'\x{695B}\x{695C}\x{695D}\x{695E}\x{695F}\x{6960}\x{6961}\x{6962}\x{6963}' .
-'\x{6964}\x{6965}\x{6966}\x{6967}\x{6968}\x{6969}\x{696A}\x{696B}\x{696C}' .
-'\x{696D}\x{696E}\x{696F}\x{6970}\x{6971}\x{6972}\x{6973}\x{6974}\x{6975}' .
-'\x{6976}\x{6977}\x{6978}\x{6979}\x{697A}\x{697B}\x{697C}\x{697D}\x{697E}' .
-'\x{697F}\x{6980}\x{6981}\x{6982}\x{6983}\x{6984}\x{6985}\x{6986}\x{6987}' .
-'\x{6988}\x{6989}\x{698A}\x{698B}\x{698C}\x{698D}\x{698E}\x{698F}\x{6990}' .
-'\x{6991}\x{6992}\x{6993}\x{6994}\x{6995}\x{6996}\x{6997}\x{6998}\x{6999}' .
-'\x{699A}\x{699B}\x{699C}\x{699D}\x{699E}\x{69A0}\x{69A1}\x{69A3}\x{69A4}' .
-'\x{69A5}\x{69A6}\x{69A7}\x{69A8}\x{69A9}\x{69AA}\x{69AB}\x{69AC}\x{69AD}' .
-'\x{69AE}\x{69AF}\x{69B0}\x{69B1}\x{69B2}\x{69B3}\x{69B4}\x{69B5}\x{69B6}' .
-'\x{69B7}\x{69B8}\x{69B9}\x{69BA}\x{69BB}\x{69BC}\x{69BD}\x{69BE}\x{69BF}' .
-'\x{69C1}\x{69C2}\x{69C3}\x{69C4}\x{69C5}\x{69C6}\x{69C7}\x{69C8}\x{69C9}' .
-'\x{69CA}\x{69CB}\x{69CC}\x{69CD}\x{69CE}\x{69CF}\x{69D0}\x{69D3}\x{69D4}' .
-'\x{69D8}\x{69D9}\x{69DA}\x{69DB}\x{69DC}\x{69DD}\x{69DE}\x{69DF}\x{69E0}' .
-'\x{69E1}\x{69E2}\x{69E3}\x{69E4}\x{69E5}\x{69E6}\x{69E7}\x{69E8}\x{69E9}' .
-'\x{69EA}\x{69EB}\x{69EC}\x{69ED}\x{69EE}\x{69EF}\x{69F0}\x{69F1}\x{69F2}' .
-'\x{69F3}\x{69F4}\x{69F5}\x{69F6}\x{69F7}\x{69F8}\x{69FA}\x{69FB}\x{69FC}' .
-'\x{69FD}\x{69FE}\x{69FF}\x{6A00}\x{6A01}\x{6A02}\x{6A04}\x{6A05}\x{6A06}' .
-'\x{6A07}\x{6A08}\x{6A09}\x{6A0A}\x{6A0B}\x{6A0D}\x{6A0E}\x{6A0F}\x{6A10}' .
-'\x{6A11}\x{6A12}\x{6A13}\x{6A14}\x{6A15}\x{6A16}\x{6A17}\x{6A18}\x{6A19}' .
-'\x{6A1A}\x{6A1B}\x{6A1D}\x{6A1E}\x{6A1F}\x{6A20}\x{6A21}\x{6A22}\x{6A23}' .
-'\x{6A25}\x{6A26}\x{6A27}\x{6A28}\x{6A29}\x{6A2A}\x{6A2B}\x{6A2C}\x{6A2D}' .
-'\x{6A2E}\x{6A2F}\x{6A30}\x{6A31}\x{6A32}\x{6A33}\x{6A34}\x{6A35}\x{6A36}' .
-'\x{6A38}\x{6A39}\x{6A3A}\x{6A3B}\x{6A3C}\x{6A3D}\x{6A3E}\x{6A3F}\x{6A40}' .
-'\x{6A41}\x{6A42}\x{6A43}\x{6A44}\x{6A45}\x{6A46}\x{6A47}\x{6A48}\x{6A49}' .
-'\x{6A4B}\x{6A4C}\x{6A4D}\x{6A4E}\x{6A4F}\x{6A50}\x{6A51}\x{6A52}\x{6A54}' .
-'\x{6A55}\x{6A56}\x{6A57}\x{6A58}\x{6A59}\x{6A5A}\x{6A5B}\x{6A5D}\x{6A5E}' .
-'\x{6A5F}\x{6A60}\x{6A61}\x{6A62}\x{6A63}\x{6A64}\x{6A65}\x{6A66}\x{6A67}' .
-'\x{6A68}\x{6A69}\x{6A6A}\x{6A6B}\x{6A6C}\x{6A6D}\x{6A6F}\x{6A71}\x{6A72}' .
-'\x{6A73}\x{6A74}\x{6A75}\x{6A76}\x{6A77}\x{6A78}\x{6A79}\x{6A7A}\x{6A7B}' .
-'\x{6A7C}\x{6A7D}\x{6A7E}\x{6A7F}\x{6A80}\x{6A81}\x{6A82}\x{6A83}\x{6A84}' .
-'\x{6A85}\x{6A87}\x{6A88}\x{6A89}\x{6A8B}\x{6A8C}\x{6A8D}\x{6A8E}\x{6A90}' .
-'\x{6A91}\x{6A92}\x{6A93}\x{6A94}\x{6A95}\x{6A96}\x{6A97}\x{6A98}\x{6A9A}' .
-'\x{6A9B}\x{6A9C}\x{6A9E}\x{6A9F}\x{6AA0}\x{6AA1}\x{6AA2}\x{6AA3}\x{6AA4}' .
-'\x{6AA5}\x{6AA6}\x{6AA7}\x{6AA8}\x{6AA9}\x{6AAB}\x{6AAC}\x{6AAD}\x{6AAE}' .
-'\x{6AAF}\x{6AB0}\x{6AB2}\x{6AB3}\x{6AB4}\x{6AB5}\x{6AB6}\x{6AB7}\x{6AB8}' .
-'\x{6AB9}\x{6ABA}\x{6ABB}\x{6ABC}\x{6ABD}\x{6ABF}\x{6AC1}\x{6AC2}\x{6AC3}' .
-'\x{6AC5}\x{6AC6}\x{6AC7}\x{6ACA}\x{6ACB}\x{6ACC}\x{6ACD}\x{6ACE}\x{6ACF}' .
-'\x{6AD0}\x{6AD1}\x{6AD2}\x{6AD3}\x{6AD4}\x{6AD5}\x{6AD6}\x{6AD7}\x{6AD9}' .
-'\x{6ADA}\x{6ADB}\x{6ADC}\x{6ADD}\x{6ADE}\x{6ADF}\x{6AE0}\x{6AE1}\x{6AE2}' .
-'\x{6AE3}\x{6AE4}\x{6AE5}\x{6AE6}\x{6AE7}\x{6AE8}\x{6AEA}\x{6AEB}\x{6AEC}' .
-'\x{6AED}\x{6AEE}\x{6AEF}\x{6AF0}\x{6AF1}\x{6AF2}\x{6AF3}\x{6AF4}\x{6AF5}' .
-'\x{6AF6}\x{6AF7}\x{6AF8}\x{6AF9}\x{6AFA}\x{6AFB}\x{6AFC}\x{6AFD}\x{6AFE}' .
-'\x{6AFF}\x{6B00}\x{6B01}\x{6B02}\x{6B03}\x{6B04}\x{6B05}\x{6B06}\x{6B07}' .
-'\x{6B08}\x{6B09}\x{6B0A}\x{6B0B}\x{6B0C}\x{6B0D}\x{6B0F}\x{6B10}\x{6B11}' .
-'\x{6B12}\x{6B13}\x{6B14}\x{6B15}\x{6B16}\x{6B17}\x{6B18}\x{6B19}\x{6B1A}' .
-'\x{6B1C}\x{6B1D}\x{6B1E}\x{6B1F}\x{6B20}\x{6B21}\x{6B22}\x{6B23}\x{6B24}' .
-'\x{6B25}\x{6B26}\x{6B27}\x{6B28}\x{6B29}\x{6B2A}\x{6B2B}\x{6B2C}\x{6B2D}' .
-'\x{6B2F}\x{6B30}\x{6B31}\x{6B32}\x{6B33}\x{6B34}\x{6B36}\x{6B37}\x{6B38}' .
-'\x{6B39}\x{6B3A}\x{6B3B}\x{6B3C}\x{6B3D}\x{6B3E}\x{6B3F}\x{6B41}\x{6B42}' .
-'\x{6B43}\x{6B44}\x{6B45}\x{6B46}\x{6B47}\x{6B48}\x{6B49}\x{6B4A}\x{6B4B}' .
-'\x{6B4C}\x{6B4D}\x{6B4E}\x{6B4F}\x{6B50}\x{6B51}\x{6B52}\x{6B53}\x{6B54}' .
-'\x{6B55}\x{6B56}\x{6B59}\x{6B5A}\x{6B5B}\x{6B5C}\x{6B5E}\x{6B5F}\x{6B60}' .
-'\x{6B61}\x{6B62}\x{6B63}\x{6B64}\x{6B65}\x{6B66}\x{6B67}\x{6B69}\x{6B6A}' .
-'\x{6B6B}\x{6B6D}\x{6B6F}\x{6B70}\x{6B72}\x{6B73}\x{6B74}\x{6B76}\x{6B77}' .
-'\x{6B78}\x{6B79}\x{6B7A}\x{6B7B}\x{6B7C}\x{6B7E}\x{6B7F}\x{6B80}\x{6B81}' .
-'\x{6B82}\x{6B83}\x{6B84}\x{6B85}\x{6B86}\x{6B87}\x{6B88}\x{6B89}\x{6B8A}' .
-'\x{6B8B}\x{6B8C}\x{6B8D}\x{6B8E}\x{6B8F}\x{6B90}\x{6B91}\x{6B92}\x{6B93}' .
-'\x{6B94}\x{6B95}\x{6B96}\x{6B97}\x{6B98}\x{6B99}\x{6B9A}\x{6B9B}\x{6B9C}' .
-'\x{6B9D}\x{6B9E}\x{6B9F}\x{6BA0}\x{6BA1}\x{6BA2}\x{6BA3}\x{6BA4}\x{6BA5}' .
-'\x{6BA6}\x{6BA7}\x{6BA8}\x{6BA9}\x{6BAA}\x{6BAB}\x{6BAC}\x{6BAD}\x{6BAE}' .
-'\x{6BAF}\x{6BB0}\x{6BB2}\x{6BB3}\x{6BB4}\x{6BB5}\x{6BB6}\x{6BB7}\x{6BB9}' .
-'\x{6BBA}\x{6BBB}\x{6BBC}\x{6BBD}\x{6BBE}\x{6BBF}\x{6BC0}\x{6BC1}\x{6BC2}' .
-'\x{6BC3}\x{6BC4}\x{6BC5}\x{6BC6}\x{6BC7}\x{6BC8}\x{6BC9}\x{6BCA}\x{6BCB}' .
-'\x{6BCC}\x{6BCD}\x{6BCE}\x{6BCF}\x{6BD0}\x{6BD1}\x{6BD2}\x{6BD3}\x{6BD4}' .
-'\x{6BD5}\x{6BD6}\x{6BD7}\x{6BD8}\x{6BD9}\x{6BDA}\x{6BDB}\x{6BDC}\x{6BDD}' .
-'\x{6BDE}\x{6BDF}\x{6BE0}\x{6BE1}\x{6BE2}\x{6BE3}\x{6BE4}\x{6BE5}\x{6BE6}' .
-'\x{6BE7}\x{6BE8}\x{6BEA}\x{6BEB}\x{6BEC}\x{6BED}\x{6BEE}\x{6BEF}\x{6BF0}' .
-'\x{6BF2}\x{6BF3}\x{6BF5}\x{6BF6}\x{6BF7}\x{6BF8}\x{6BF9}\x{6BFB}\x{6BFC}' .
-'\x{6BFD}\x{6BFE}\x{6BFF}\x{6C00}\x{6C01}\x{6C02}\x{6C03}\x{6C04}\x{6C05}' .
-'\x{6C06}\x{6C07}\x{6C08}\x{6C09}\x{6C0B}\x{6C0C}\x{6C0D}\x{6C0E}\x{6C0F}' .
-'\x{6C10}\x{6C11}\x{6C12}\x{6C13}\x{6C14}\x{6C15}\x{6C16}\x{6C18}\x{6C19}' .
-'\x{6C1A}\x{6C1B}\x{6C1D}\x{6C1E}\x{6C1F}\x{6C20}\x{6C21}\x{6C22}\x{6C23}' .
-'\x{6C24}\x{6C25}\x{6C26}\x{6C27}\x{6C28}\x{6C29}\x{6C2A}\x{6C2B}\x{6C2C}' .
-'\x{6C2E}\x{6C2F}\x{6C30}\x{6C31}\x{6C32}\x{6C33}\x{6C34}\x{6C35}\x{6C36}' .
-'\x{6C37}\x{6C38}\x{6C3A}\x{6C3B}\x{6C3D}\x{6C3E}\x{6C3F}\x{6C40}\x{6C41}' .
-'\x{6C42}\x{6C43}\x{6C44}\x{6C46}\x{6C47}\x{6C48}\x{6C49}\x{6C4A}\x{6C4B}' .
-'\x{6C4C}\x{6C4D}\x{6C4E}\x{6C4F}\x{6C50}\x{6C51}\x{6C52}\x{6C53}\x{6C54}' .
-'\x{6C55}\x{6C56}\x{6C57}\x{6C58}\x{6C59}\x{6C5A}\x{6C5B}\x{6C5C}\x{6C5D}' .
-'\x{6C5E}\x{6C5F}\x{6C60}\x{6C61}\x{6C62}\x{6C63}\x{6C64}\x{6C65}\x{6C66}' .
-'\x{6C67}\x{6C68}\x{6C69}\x{6C6A}\x{6C6B}\x{6C6D}\x{6C6F}\x{6C70}\x{6C71}' .
-'\x{6C72}\x{6C73}\x{6C74}\x{6C75}\x{6C76}\x{6C77}\x{6C78}\x{6C79}\x{6C7A}' .
-'\x{6C7B}\x{6C7C}\x{6C7D}\x{6C7E}\x{6C7F}\x{6C80}\x{6C81}\x{6C82}\x{6C83}' .
-'\x{6C84}\x{6C85}\x{6C86}\x{6C87}\x{6C88}\x{6C89}\x{6C8A}\x{6C8B}\x{6C8C}' .
-'\x{6C8D}\x{6C8E}\x{6C8F}\x{6C90}\x{6C91}\x{6C92}\x{6C93}\x{6C94}\x{6C95}' .
-'\x{6C96}\x{6C97}\x{6C98}\x{6C99}\x{6C9A}\x{6C9B}\x{6C9C}\x{6C9D}\x{6C9E}' .
-'\x{6C9F}\x{6CA1}\x{6CA2}\x{6CA3}\x{6CA4}\x{6CA5}\x{6CA6}\x{6CA7}\x{6CA8}' .
-'\x{6CA9}\x{6CAA}\x{6CAB}\x{6CAC}\x{6CAD}\x{6CAE}\x{6CAF}\x{6CB0}\x{6CB1}' .
-'\x{6CB2}\x{6CB3}\x{6CB4}\x{6CB5}\x{6CB6}\x{6CB7}\x{6CB8}\x{6CB9}\x{6CBA}' .
-'\x{6CBB}\x{6CBC}\x{6CBD}\x{6CBE}\x{6CBF}\x{6CC0}\x{6CC1}\x{6CC2}\x{6CC3}' .
-'\x{6CC4}\x{6CC5}\x{6CC6}\x{6CC7}\x{6CC8}\x{6CC9}\x{6CCA}\x{6CCB}\x{6CCC}' .
-'\x{6CCD}\x{6CCE}\x{6CCF}\x{6CD0}\x{6CD1}\x{6CD2}\x{6CD3}\x{6CD4}\x{6CD5}' .
-'\x{6CD6}\x{6CD7}\x{6CD9}\x{6CDA}\x{6CDB}\x{6CDC}\x{6CDD}\x{6CDE}\x{6CDF}' .
-'\x{6CE0}\x{6CE1}\x{6CE2}\x{6CE3}\x{6CE4}\x{6CE5}\x{6CE6}\x{6CE7}\x{6CE8}' .
-'\x{6CE9}\x{6CEA}\x{6CEB}\x{6CEC}\x{6CED}\x{6CEE}\x{6CEF}\x{6CF0}\x{6CF1}' .
-'\x{6CF2}\x{6CF3}\x{6CF5}\x{6CF6}\x{6CF7}\x{6CF8}\x{6CF9}\x{6CFA}\x{6CFB}' .
-'\x{6CFC}\x{6CFD}\x{6CFE}\x{6CFF}\x{6D00}\x{6D01}\x{6D03}\x{6D04}\x{6D05}' .
-'\x{6D06}\x{6D07}\x{6D08}\x{6D09}\x{6D0A}\x{6D0B}\x{6D0C}\x{6D0D}\x{6D0E}' .
-'\x{6D0F}\x{6D10}\x{6D11}\x{6D12}\x{6D13}\x{6D14}\x{6D15}\x{6D16}\x{6D17}' .
-'\x{6D18}\x{6D19}\x{6D1A}\x{6D1B}\x{6D1D}\x{6D1E}\x{6D1F}\x{6D20}\x{6D21}' .
-'\x{6D22}\x{6D23}\x{6D25}\x{6D26}\x{6D27}\x{6D28}\x{6D29}\x{6D2A}\x{6D2B}' .
-'\x{6D2C}\x{6D2D}\x{6D2E}\x{6D2F}\x{6D30}\x{6D31}\x{6D32}\x{6D33}\x{6D34}' .
-'\x{6D35}\x{6D36}\x{6D37}\x{6D38}\x{6D39}\x{6D3A}\x{6D3B}\x{6D3C}\x{6D3D}' .
-'\x{6D3E}\x{6D3F}\x{6D40}\x{6D41}\x{6D42}\x{6D43}\x{6D44}\x{6D45}\x{6D46}' .
-'\x{6D47}\x{6D48}\x{6D49}\x{6D4A}\x{6D4B}\x{6D4C}\x{6D4D}\x{6D4E}\x{6D4F}' .
-'\x{6D50}\x{6D51}\x{6D52}\x{6D53}\x{6D54}\x{6D55}\x{6D56}\x{6D57}\x{6D58}' .
-'\x{6D59}\x{6D5A}\x{6D5B}\x{6D5C}\x{6D5D}\x{6D5E}\x{6D5F}\x{6D60}\x{6D61}' .
-'\x{6D62}\x{6D63}\x{6D64}\x{6D65}\x{6D66}\x{6D67}\x{6D68}\x{6D69}\x{6D6A}' .
-'\x{6D6B}\x{6D6C}\x{6D6D}\x{6D6E}\x{6D6F}\x{6D70}\x{6D72}\x{6D73}\x{6D74}' .
-'\x{6D75}\x{6D76}\x{6D77}\x{6D78}\x{6D79}\x{6D7A}\x{6D7B}\x{6D7C}\x{6D7D}' .
-'\x{6D7E}\x{6D7F}\x{6D80}\x{6D82}\x{6D83}\x{6D84}\x{6D85}\x{6D86}\x{6D87}' .
-'\x{6D88}\x{6D89}\x{6D8A}\x{6D8B}\x{6D8C}\x{6D8D}\x{6D8E}\x{6D8F}\x{6D90}' .
-'\x{6D91}\x{6D92}\x{6D93}\x{6D94}\x{6D95}\x{6D97}\x{6D98}\x{6D99}\x{6D9A}' .
-'\x{6D9B}\x{6D9D}\x{6D9E}\x{6D9F}\x{6DA0}\x{6DA1}\x{6DA2}\x{6DA3}\x{6DA4}' .
-'\x{6DA5}\x{6DA6}\x{6DA7}\x{6DA8}\x{6DA9}\x{6DAA}\x{6DAB}\x{6DAC}\x{6DAD}' .
-'\x{6DAE}\x{6DAF}\x{6DB2}\x{6DB3}\x{6DB4}\x{6DB5}\x{6DB7}\x{6DB8}\x{6DB9}' .
-'\x{6DBA}\x{6DBB}\x{6DBC}\x{6DBD}\x{6DBE}\x{6DBF}\x{6DC0}\x{6DC1}\x{6DC2}' .
-'\x{6DC3}\x{6DC4}\x{6DC5}\x{6DC6}\x{6DC7}\x{6DC8}\x{6DC9}\x{6DCA}\x{6DCB}' .
-'\x{6DCC}\x{6DCD}\x{6DCE}\x{6DCF}\x{6DD0}\x{6DD1}\x{6DD2}\x{6DD3}\x{6DD4}' .
-'\x{6DD5}\x{6DD6}\x{6DD7}\x{6DD8}\x{6DD9}\x{6DDA}\x{6DDB}\x{6DDC}\x{6DDD}' .
-'\x{6DDE}\x{6DDF}\x{6DE0}\x{6DE1}\x{6DE2}\x{6DE3}\x{6DE4}\x{6DE5}\x{6DE6}' .
-'\x{6DE7}\x{6DE8}\x{6DE9}\x{6DEA}\x{6DEB}\x{6DEC}\x{6DED}\x{6DEE}\x{6DEF}' .
-'\x{6DF0}\x{6DF1}\x{6DF2}\x{6DF3}\x{6DF4}\x{6DF5}\x{6DF6}\x{6DF7}\x{6DF8}' .
-'\x{6DF9}\x{6DFA}\x{6DFB}\x{6DFC}\x{6DFD}\x{6E00}\x{6E03}\x{6E04}\x{6E05}' .
-'\x{6E07}\x{6E08}\x{6E09}\x{6E0A}\x{6E0B}\x{6E0C}\x{6E0D}\x{6E0E}\x{6E0F}' .
-'\x{6E10}\x{6E11}\x{6E14}\x{6E15}\x{6E16}\x{6E17}\x{6E19}\x{6E1A}\x{6E1B}' .
-'\x{6E1C}\x{6E1D}\x{6E1E}\x{6E1F}\x{6E20}\x{6E21}\x{6E22}\x{6E23}\x{6E24}' .
-'\x{6E25}\x{6E26}\x{6E27}\x{6E28}\x{6E29}\x{6E2B}\x{6E2C}\x{6E2D}\x{6E2E}' .
-'\x{6E2F}\x{6E30}\x{6E31}\x{6E32}\x{6E33}\x{6E34}\x{6E35}\x{6E36}\x{6E37}' .
-'\x{6E38}\x{6E39}\x{6E3A}\x{6E3B}\x{6E3C}\x{6E3D}\x{6E3E}\x{6E3F}\x{6E40}' .
-'\x{6E41}\x{6E42}\x{6E43}\x{6E44}\x{6E45}\x{6E46}\x{6E47}\x{6E48}\x{6E49}' .
-'\x{6E4A}\x{6E4B}\x{6E4D}\x{6E4E}\x{6E4F}\x{6E50}\x{6E51}\x{6E52}\x{6E53}' .
-'\x{6E54}\x{6E55}\x{6E56}\x{6E57}\x{6E58}\x{6E59}\x{6E5A}\x{6E5B}\x{6E5C}' .
-'\x{6E5D}\x{6E5E}\x{6E5F}\x{6E60}\x{6E61}\x{6E62}\x{6E63}\x{6E64}\x{6E65}' .
-'\x{6E66}\x{6E67}\x{6E68}\x{6E69}\x{6E6A}\x{6E6B}\x{6E6D}\x{6E6E}\x{6E6F}' .
-'\x{6E70}\x{6E71}\x{6E72}\x{6E73}\x{6E74}\x{6E75}\x{6E77}\x{6E78}\x{6E79}' .
-'\x{6E7E}\x{6E7F}\x{6E80}\x{6E81}\x{6E82}\x{6E83}\x{6E84}\x{6E85}\x{6E86}' .
-'\x{6E87}\x{6E88}\x{6E89}\x{6E8A}\x{6E8D}\x{6E8E}\x{6E8F}\x{6E90}\x{6E91}' .
-'\x{6E92}\x{6E93}\x{6E94}\x{6E96}\x{6E97}\x{6E98}\x{6E99}\x{6E9A}\x{6E9B}' .
-'\x{6E9C}\x{6E9D}\x{6E9E}\x{6E9F}\x{6EA0}\x{6EA1}\x{6EA2}\x{6EA3}\x{6EA4}' .
-'\x{6EA5}\x{6EA6}\x{6EA7}\x{6EA8}\x{6EA9}\x{6EAA}\x{6EAB}\x{6EAC}\x{6EAD}' .
-'\x{6EAE}\x{6EAF}\x{6EB0}\x{6EB1}\x{6EB2}\x{6EB3}\x{6EB4}\x{6EB5}\x{6EB6}' .
-'\x{6EB7}\x{6EB8}\x{6EB9}\x{6EBA}\x{6EBB}\x{6EBC}\x{6EBD}\x{6EBE}\x{6EBF}' .
-'\x{6EC0}\x{6EC1}\x{6EC2}\x{6EC3}\x{6EC4}\x{6EC5}\x{6EC6}\x{6EC7}\x{6EC8}' .
-'\x{6EC9}\x{6ECA}\x{6ECB}\x{6ECC}\x{6ECD}\x{6ECE}\x{6ECF}\x{6ED0}\x{6ED1}' .
-'\x{6ED2}\x{6ED3}\x{6ED4}\x{6ED5}\x{6ED6}\x{6ED7}\x{6ED8}\x{6ED9}\x{6EDA}' .
-'\x{6EDC}\x{6EDE}\x{6EDF}\x{6EE0}\x{6EE1}\x{6EE2}\x{6EE4}\x{6EE5}\x{6EE6}' .
-'\x{6EE7}\x{6EE8}\x{6EE9}\x{6EEA}\x{6EEB}\x{6EEC}\x{6EED}\x{6EEE}\x{6EEF}' .
-'\x{6EF0}\x{6EF1}\x{6EF2}\x{6EF3}\x{6EF4}\x{6EF5}\x{6EF6}\x{6EF7}\x{6EF8}' .
-'\x{6EF9}\x{6EFA}\x{6EFB}\x{6EFC}\x{6EFD}\x{6EFE}\x{6EFF}\x{6F00}\x{6F01}' .
-'\x{6F02}\x{6F03}\x{6F05}\x{6F06}\x{6F07}\x{6F08}\x{6F09}\x{6F0A}\x{6F0C}' .
-'\x{6F0D}\x{6F0E}\x{6F0F}\x{6F10}\x{6F11}\x{6F12}\x{6F13}\x{6F14}\x{6F15}' .
-'\x{6F16}\x{6F17}\x{6F18}\x{6F19}\x{6F1A}\x{6F1B}\x{6F1C}\x{6F1D}\x{6F1E}' .
-'\x{6F1F}\x{6F20}\x{6F21}\x{6F22}\x{6F23}\x{6F24}\x{6F25}\x{6F26}\x{6F27}' .
-'\x{6F28}\x{6F29}\x{6F2A}\x{6F2B}\x{6F2C}\x{6F2D}\x{6F2E}\x{6F2F}\x{6F30}' .
-'\x{6F31}\x{6F32}\x{6F33}\x{6F34}\x{6F35}\x{6F36}\x{6F37}\x{6F38}\x{6F39}' .
-'\x{6F3A}\x{6F3B}\x{6F3C}\x{6F3D}\x{6F3E}\x{6F3F}\x{6F40}\x{6F41}\x{6F43}' .
-'\x{6F44}\x{6F45}\x{6F46}\x{6F47}\x{6F49}\x{6F4B}\x{6F4C}\x{6F4D}\x{6F4E}' .
-'\x{6F4F}\x{6F50}\x{6F51}\x{6F52}\x{6F53}\x{6F54}\x{6F55}\x{6F56}\x{6F57}' .
-'\x{6F58}\x{6F59}\x{6F5A}\x{6F5B}\x{6F5C}\x{6F5D}\x{6F5E}\x{6F5F}\x{6F60}' .
-'\x{6F61}\x{6F62}\x{6F63}\x{6F64}\x{6F65}\x{6F66}\x{6F67}\x{6F68}\x{6F69}' .
-'\x{6F6A}\x{6F6B}\x{6F6C}\x{6F6D}\x{6F6E}\x{6F6F}\x{6F70}\x{6F71}\x{6F72}' .
-'\x{6F73}\x{6F74}\x{6F75}\x{6F76}\x{6F77}\x{6F78}\x{6F7A}\x{6F7B}\x{6F7C}' .
-'\x{6F7D}\x{6F7E}\x{6F7F}\x{6F80}\x{6F81}\x{6F82}\x{6F83}\x{6F84}\x{6F85}' .
-'\x{6F86}\x{6F87}\x{6F88}\x{6F89}\x{6F8A}\x{6F8B}\x{6F8C}\x{6F8D}\x{6F8E}' .
-'\x{6F8F}\x{6F90}\x{6F91}\x{6F92}\x{6F93}\x{6F94}\x{6F95}\x{6F96}\x{6F97}' .
-'\x{6F99}\x{6F9B}\x{6F9C}\x{6F9D}\x{6F9E}\x{6FA0}\x{6FA1}\x{6FA2}\x{6FA3}' .
-'\x{6FA4}\x{6FA5}\x{6FA6}\x{6FA7}\x{6FA8}\x{6FA9}\x{6FAA}\x{6FAB}\x{6FAC}' .
-'\x{6FAD}\x{6FAE}\x{6FAF}\x{6FB0}\x{6FB1}\x{6FB2}\x{6FB3}\x{6FB4}\x{6FB5}' .
-'\x{6FB6}\x{6FB8}\x{6FB9}\x{6FBA}\x{6FBB}\x{6FBC}\x{6FBD}\x{6FBE}\x{6FBF}' .
-'\x{6FC0}\x{6FC1}\x{6FC2}\x{6FC3}\x{6FC4}\x{6FC6}\x{6FC7}\x{6FC8}\x{6FC9}' .
-'\x{6FCA}\x{6FCB}\x{6FCC}\x{6FCD}\x{6FCE}\x{6FCF}\x{6FD1}\x{6FD2}\x{6FD4}' .
-'\x{6FD5}\x{6FD6}\x{6FD7}\x{6FD8}\x{6FD9}\x{6FDA}\x{6FDB}\x{6FDC}\x{6FDD}' .
-'\x{6FDE}\x{6FDF}\x{6FE0}\x{6FE1}\x{6FE2}\x{6FE3}\x{6FE4}\x{6FE5}\x{6FE6}' .
-'\x{6FE7}\x{6FE8}\x{6FE9}\x{6FEA}\x{6FEB}\x{6FEC}\x{6FED}\x{6FEE}\x{6FEF}' .
-'\x{6FF0}\x{6FF1}\x{6FF2}\x{6FF3}\x{6FF4}\x{6FF6}\x{6FF7}\x{6FF8}\x{6FF9}' .
-'\x{6FFA}\x{6FFB}\x{6FFC}\x{6FFE}\x{6FFF}\x{7000}\x{7001}\x{7002}\x{7003}' .
-'\x{7004}\x{7005}\x{7006}\x{7007}\x{7008}\x{7009}\x{700A}\x{700B}\x{700C}' .
-'\x{700D}\x{700E}\x{700F}\x{7011}\x{7012}\x{7014}\x{7015}\x{7016}\x{7017}' .
-'\x{7018}\x{7019}\x{701A}\x{701B}\x{701C}\x{701D}\x{701F}\x{7020}\x{7021}' .
-'\x{7022}\x{7023}\x{7024}\x{7025}\x{7026}\x{7027}\x{7028}\x{7029}\x{702A}' .
-'\x{702B}\x{702C}\x{702D}\x{702E}\x{702F}\x{7030}\x{7031}\x{7032}\x{7033}' .
-'\x{7034}\x{7035}\x{7036}\x{7037}\x{7038}\x{7039}\x{703A}\x{703B}\x{703C}' .
-'\x{703D}\x{703E}\x{703F}\x{7040}\x{7041}\x{7042}\x{7043}\x{7044}\x{7045}' .
-'\x{7046}\x{7048}\x{7049}\x{704A}\x{704C}\x{704D}\x{704F}\x{7050}\x{7051}' .
-'\x{7052}\x{7053}\x{7054}\x{7055}\x{7056}\x{7057}\x{7058}\x{7059}\x{705A}' .
-'\x{705B}\x{705C}\x{705D}\x{705E}\x{705F}\x{7060}\x{7061}\x{7062}\x{7063}' .
-'\x{7064}\x{7065}\x{7066}\x{7067}\x{7068}\x{7069}\x{706A}\x{706B}\x{706C}' .
-'\x{706D}\x{706E}\x{706F}\x{7070}\x{7071}\x{7074}\x{7075}\x{7076}\x{7077}' .
-'\x{7078}\x{7079}\x{707A}\x{707C}\x{707D}\x{707E}\x{707F}\x{7080}\x{7082}' .
-'\x{7083}\x{7084}\x{7085}\x{7086}\x{7087}\x{7088}\x{7089}\x{708A}\x{708B}' .
-'\x{708C}\x{708E}\x{708F}\x{7090}\x{7091}\x{7092}\x{7093}\x{7094}\x{7095}' .
-'\x{7096}\x{7098}\x{7099}\x{709A}\x{709C}\x{709D}\x{709E}\x{709F}\x{70A0}' .
-'\x{70A1}\x{70A2}\x{70A3}\x{70A4}\x{70A5}\x{70A6}\x{70A7}\x{70A8}\x{70A9}' .
-'\x{70AB}\x{70AC}\x{70AD}\x{70AE}\x{70AF}\x{70B0}\x{70B1}\x{70B3}\x{70B4}' .
-'\x{70B5}\x{70B7}\x{70B8}\x{70B9}\x{70BA}\x{70BB}\x{70BC}\x{70BD}\x{70BE}' .
-'\x{70BF}\x{70C0}\x{70C1}\x{70C2}\x{70C3}\x{70C4}\x{70C5}\x{70C6}\x{70C7}' .
-'\x{70C8}\x{70C9}\x{70CA}\x{70CB}\x{70CC}\x{70CD}\x{70CE}\x{70CF}\x{70D0}' .
-'\x{70D1}\x{70D2}\x{70D3}\x{70D4}\x{70D6}\x{70D7}\x{70D8}\x{70D9}\x{70DA}' .
-'\x{70DB}\x{70DC}\x{70DD}\x{70DE}\x{70DF}\x{70E0}\x{70E1}\x{70E2}\x{70E3}' .
-'\x{70E4}\x{70E5}\x{70E6}\x{70E7}\x{70E8}\x{70E9}\x{70EA}\x{70EB}\x{70EC}' .
-'\x{70ED}\x{70EE}\x{70EF}\x{70F0}\x{70F1}\x{70F2}\x{70F3}\x{70F4}\x{70F5}' .
-'\x{70F6}\x{70F7}\x{70F8}\x{70F9}\x{70FA}\x{70FB}\x{70FC}\x{70FD}\x{70FF}' .
-'\x{7100}\x{7101}\x{7102}\x{7103}\x{7104}\x{7105}\x{7106}\x{7107}\x{7109}' .
-'\x{710A}\x{710B}\x{710C}\x{710D}\x{710E}\x{710F}\x{7110}\x{7111}\x{7112}' .
-'\x{7113}\x{7115}\x{7116}\x{7117}\x{7118}\x{7119}\x{711A}\x{711B}\x{711C}' .
-'\x{711D}\x{711E}\x{711F}\x{7120}\x{7121}\x{7122}\x{7123}\x{7125}\x{7126}' .
-'\x{7127}\x{7128}\x{7129}\x{712A}\x{712B}\x{712C}\x{712D}\x{712E}\x{712F}' .
-'\x{7130}\x{7131}\x{7132}\x{7135}\x{7136}\x{7137}\x{7138}\x{7139}\x{713A}' .
-'\x{713B}\x{713D}\x{713E}\x{713F}\x{7140}\x{7141}\x{7142}\x{7143}\x{7144}' .
-'\x{7145}\x{7146}\x{7147}\x{7148}\x{7149}\x{714A}\x{714B}\x{714C}\x{714D}' .
-'\x{714E}\x{714F}\x{7150}\x{7151}\x{7152}\x{7153}\x{7154}\x{7156}\x{7158}' .
-'\x{7159}\x{715A}\x{715B}\x{715C}\x{715D}\x{715E}\x{715F}\x{7160}\x{7161}' .
-'\x{7162}\x{7163}\x{7164}\x{7165}\x{7166}\x{7167}\x{7168}\x{7169}\x{716A}' .
-'\x{716C}\x{716E}\x{716F}\x{7170}\x{7171}\x{7172}\x{7173}\x{7174}\x{7175}' .
-'\x{7176}\x{7177}\x{7178}\x{7179}\x{717A}\x{717B}\x{717C}\x{717D}\x{717E}' .
-'\x{717F}\x{7180}\x{7181}\x{7182}\x{7183}\x{7184}\x{7185}\x{7186}\x{7187}' .
-'\x{7188}\x{7189}\x{718A}\x{718B}\x{718C}\x{718E}\x{718F}\x{7190}\x{7191}' .
-'\x{7192}\x{7193}\x{7194}\x{7195}\x{7197}\x{7198}\x{7199}\x{719A}\x{719B}' .
-'\x{719C}\x{719D}\x{719E}\x{719F}\x{71A0}\x{71A1}\x{71A2}\x{71A3}\x{71A4}' .
-'\x{71A5}\x{71A7}\x{71A8}\x{71A9}\x{71AA}\x{71AC}\x{71AD}\x{71AE}\x{71AF}' .
-'\x{71B0}\x{71B1}\x{71B2}\x{71B3}\x{71B4}\x{71B5}\x{71B7}\x{71B8}\x{71B9}' .
-'\x{71BA}\x{71BB}\x{71BC}\x{71BD}\x{71BE}\x{71BF}\x{71C0}\x{71C1}\x{71C2}' .
-'\x{71C3}\x{71C4}\x{71C5}\x{71C6}\x{71C7}\x{71C8}\x{71C9}\x{71CA}\x{71CB}' .
-'\x{71CD}\x{71CE}\x{71CF}\x{71D0}\x{71D1}\x{71D2}\x{71D4}\x{71D5}\x{71D6}' .
-'\x{71D7}\x{71D8}\x{71D9}\x{71DA}\x{71DB}\x{71DC}\x{71DD}\x{71DE}\x{71DF}' .
-'\x{71E0}\x{71E1}\x{71E2}\x{71E3}\x{71E4}\x{71E5}\x{71E6}\x{71E7}\x{71E8}' .
-'\x{71E9}\x{71EA}\x{71EB}\x{71EC}\x{71ED}\x{71EE}\x{71EF}\x{71F0}\x{71F1}' .
-'\x{71F2}\x{71F4}\x{71F5}\x{71F6}\x{71F7}\x{71F8}\x{71F9}\x{71FB}\x{71FC}' .
-'\x{71FD}\x{71FE}\x{71FF}\x{7201}\x{7202}\x{7203}\x{7204}\x{7205}\x{7206}' .
-'\x{7207}\x{7208}\x{7209}\x{720A}\x{720C}\x{720D}\x{720E}\x{720F}\x{7210}' .
-'\x{7212}\x{7213}\x{7214}\x{7216}\x{7218}\x{7219}\x{721A}\x{721B}\x{721C}' .
-'\x{721D}\x{721E}\x{721F}\x{7221}\x{7222}\x{7223}\x{7226}\x{7227}\x{7228}' .
-'\x{7229}\x{722A}\x{722B}\x{722C}\x{722D}\x{722E}\x{7230}\x{7231}\x{7232}' .
-'\x{7233}\x{7235}\x{7236}\x{7237}\x{7238}\x{7239}\x{723A}\x{723B}\x{723C}' .
-'\x{723D}\x{723E}\x{723F}\x{7240}\x{7241}\x{7242}\x{7243}\x{7244}\x{7246}' .
-'\x{7247}\x{7248}\x{7249}\x{724A}\x{724B}\x{724C}\x{724D}\x{724F}\x{7251}' .
-'\x{7252}\x{7253}\x{7254}\x{7256}\x{7257}\x{7258}\x{7259}\x{725A}\x{725B}' .
-'\x{725C}\x{725D}\x{725E}\x{725F}\x{7260}\x{7261}\x{7262}\x{7263}\x{7264}' .
-'\x{7265}\x{7266}\x{7267}\x{7268}\x{7269}\x{726A}\x{726B}\x{726C}\x{726D}' .
-'\x{726E}\x{726F}\x{7270}\x{7271}\x{7272}\x{7273}\x{7274}\x{7275}\x{7276}' .
-'\x{7277}\x{7278}\x{7279}\x{727A}\x{727B}\x{727C}\x{727D}\x{727E}\x{727F}' .
-'\x{7280}\x{7281}\x{7282}\x{7283}\x{7284}\x{7285}\x{7286}\x{7287}\x{7288}' .
-'\x{7289}\x{728A}\x{728B}\x{728C}\x{728D}\x{728E}\x{728F}\x{7290}\x{7291}' .
-'\x{7292}\x{7293}\x{7294}\x{7295}\x{7296}\x{7297}\x{7298}\x{7299}\x{729A}' .
-'\x{729B}\x{729C}\x{729D}\x{729E}\x{729F}\x{72A1}\x{72A2}\x{72A3}\x{72A4}' .
-'\x{72A5}\x{72A6}\x{72A7}\x{72A8}\x{72A9}\x{72AA}\x{72AC}\x{72AD}\x{72AE}' .
-'\x{72AF}\x{72B0}\x{72B1}\x{72B2}\x{72B3}\x{72B4}\x{72B5}\x{72B6}\x{72B7}' .
-'\x{72B8}\x{72B9}\x{72BA}\x{72BB}\x{72BC}\x{72BD}\x{72BF}\x{72C0}\x{72C1}' .
-'\x{72C2}\x{72C3}\x{72C4}\x{72C5}\x{72C6}\x{72C7}\x{72C8}\x{72C9}\x{72CA}' .
-'\x{72CB}\x{72CC}\x{72CD}\x{72CE}\x{72CF}\x{72D0}\x{72D1}\x{72D2}\x{72D3}' .
-'\x{72D4}\x{72D5}\x{72D6}\x{72D7}\x{72D8}\x{72D9}\x{72DA}\x{72DB}\x{72DC}' .
-'\x{72DD}\x{72DE}\x{72DF}\x{72E0}\x{72E1}\x{72E2}\x{72E3}\x{72E4}\x{72E5}' .
-'\x{72E6}\x{72E7}\x{72E8}\x{72E9}\x{72EA}\x{72EB}\x{72EC}\x{72ED}\x{72EE}' .
-'\x{72EF}\x{72F0}\x{72F1}\x{72F2}\x{72F3}\x{72F4}\x{72F5}\x{72F6}\x{72F7}' .
-'\x{72F8}\x{72F9}\x{72FA}\x{72FB}\x{72FC}\x{72FD}\x{72FE}\x{72FF}\x{7300}' .
-'\x{7301}\x{7303}\x{7304}\x{7305}\x{7306}\x{7307}\x{7308}\x{7309}\x{730A}' .
-'\x{730B}\x{730C}\x{730D}\x{730E}\x{730F}\x{7311}\x{7312}\x{7313}\x{7314}' .
-'\x{7315}\x{7316}\x{7317}\x{7318}\x{7319}\x{731A}\x{731B}\x{731C}\x{731D}' .
-'\x{731E}\x{7320}\x{7321}\x{7322}\x{7323}\x{7324}\x{7325}\x{7326}\x{7327}' .
-'\x{7329}\x{732A}\x{732B}\x{732C}\x{732D}\x{732E}\x{7330}\x{7331}\x{7332}' .
-'\x{7333}\x{7334}\x{7335}\x{7336}\x{7337}\x{7338}\x{7339}\x{733A}\x{733B}' .
-'\x{733C}\x{733D}\x{733E}\x{733F}\x{7340}\x{7341}\x{7342}\x{7343}\x{7344}' .
-'\x{7345}\x{7346}\x{7347}\x{7348}\x{7349}\x{734A}\x{734B}\x{734C}\x{734D}' .
-'\x{734E}\x{7350}\x{7351}\x{7352}\x{7354}\x{7355}\x{7356}\x{7357}\x{7358}' .
-'\x{7359}\x{735A}\x{735B}\x{735C}\x{735D}\x{735E}\x{735F}\x{7360}\x{7361}' .
-'\x{7362}\x{7364}\x{7365}\x{7366}\x{7367}\x{7368}\x{7369}\x{736A}\x{736B}' .
-'\x{736C}\x{736D}\x{736E}\x{736F}\x{7370}\x{7371}\x{7372}\x{7373}\x{7374}' .
-'\x{7375}\x{7376}\x{7377}\x{7378}\x{7379}\x{737A}\x{737B}\x{737C}\x{737D}' .
-'\x{737E}\x{737F}\x{7380}\x{7381}\x{7382}\x{7383}\x{7384}\x{7385}\x{7386}' .
-'\x{7387}\x{7388}\x{7389}\x{738A}\x{738B}\x{738C}\x{738D}\x{738E}\x{738F}' .
-'\x{7390}\x{7391}\x{7392}\x{7393}\x{7394}\x{7395}\x{7396}\x{7397}\x{7398}' .
-'\x{7399}\x{739A}\x{739B}\x{739D}\x{739E}\x{739F}\x{73A0}\x{73A1}\x{73A2}' .
-'\x{73A3}\x{73A4}\x{73A5}\x{73A6}\x{73A7}\x{73A8}\x{73A9}\x{73AA}\x{73AB}' .
-'\x{73AC}\x{73AD}\x{73AE}\x{73AF}\x{73B0}\x{73B1}\x{73B2}\x{73B3}\x{73B4}' .
-'\x{73B5}\x{73B6}\x{73B7}\x{73B8}\x{73B9}\x{73BA}\x{73BB}\x{73BC}\x{73BD}' .
-'\x{73BE}\x{73BF}\x{73C0}\x{73C2}\x{73C3}\x{73C4}\x{73C5}\x{73C6}\x{73C7}' .
-'\x{73C8}\x{73C9}\x{73CA}\x{73CB}\x{73CC}\x{73CD}\x{73CE}\x{73CF}\x{73D0}' .
-'\x{73D1}\x{73D2}\x{73D3}\x{73D4}\x{73D5}\x{73D6}\x{73D7}\x{73D8}\x{73D9}' .
-'\x{73DA}\x{73DB}\x{73DC}\x{73DD}\x{73DE}\x{73DF}\x{73E0}\x{73E2}\x{73E3}' .
-'\x{73E5}\x{73E6}\x{73E7}\x{73E8}\x{73E9}\x{73EA}\x{73EB}\x{73EC}\x{73ED}' .
-'\x{73EE}\x{73EF}\x{73F0}\x{73F1}\x{73F2}\x{73F4}\x{73F5}\x{73F6}\x{73F7}' .
-'\x{73F8}\x{73F9}\x{73FA}\x{73FC}\x{73FD}\x{73FE}\x{73FF}\x{7400}\x{7401}' .
-'\x{7402}\x{7403}\x{7404}\x{7405}\x{7406}\x{7407}\x{7408}\x{7409}\x{740A}' .
-'\x{740B}\x{740C}\x{740D}\x{740E}\x{740F}\x{7410}\x{7411}\x{7412}\x{7413}' .
-'\x{7414}\x{7415}\x{7416}\x{7417}\x{7419}\x{741A}\x{741B}\x{741C}\x{741D}' .
-'\x{741E}\x{741F}\x{7420}\x{7421}\x{7422}\x{7423}\x{7424}\x{7425}\x{7426}' .
-'\x{7427}\x{7428}\x{7429}\x{742A}\x{742B}\x{742C}\x{742D}\x{742E}\x{742F}' .
-'\x{7430}\x{7431}\x{7432}\x{7433}\x{7434}\x{7435}\x{7436}\x{7437}\x{7438}' .
-'\x{743A}\x{743B}\x{743C}\x{743D}\x{743F}\x{7440}\x{7441}\x{7442}\x{7443}' .
-'\x{7444}\x{7445}\x{7446}\x{7448}\x{744A}\x{744B}\x{744C}\x{744D}\x{744E}' .
-'\x{744F}\x{7450}\x{7451}\x{7452}\x{7453}\x{7454}\x{7455}\x{7456}\x{7457}' .
-'\x{7459}\x{745A}\x{745B}\x{745C}\x{745D}\x{745E}\x{745F}\x{7461}\x{7462}' .
-'\x{7463}\x{7464}\x{7465}\x{7466}\x{7467}\x{7468}\x{7469}\x{746A}\x{746B}' .
-'\x{746C}\x{746D}\x{746E}\x{746F}\x{7470}\x{7471}\x{7472}\x{7473}\x{7474}' .
-'\x{7475}\x{7476}\x{7477}\x{7478}\x{7479}\x{747A}\x{747C}\x{747D}\x{747E}' .
-'\x{747F}\x{7480}\x{7481}\x{7482}\x{7483}\x{7485}\x{7486}\x{7487}\x{7488}' .
-'\x{7489}\x{748A}\x{748B}\x{748C}\x{748D}\x{748E}\x{748F}\x{7490}\x{7491}' .
-'\x{7492}\x{7493}\x{7494}\x{7495}\x{7497}\x{7498}\x{7499}\x{749A}\x{749B}' .
-'\x{749C}\x{749E}\x{749F}\x{74A0}\x{74A1}\x{74A3}\x{74A4}\x{74A5}\x{74A6}' .
-'\x{74A7}\x{74A8}\x{74A9}\x{74AA}\x{74AB}\x{74AC}\x{74AD}\x{74AE}\x{74AF}' .
-'\x{74B0}\x{74B1}\x{74B2}\x{74B3}\x{74B4}\x{74B5}\x{74B6}\x{74B7}\x{74B8}' .
-'\x{74B9}\x{74BA}\x{74BB}\x{74BC}\x{74BD}\x{74BE}\x{74BF}\x{74C0}\x{74C1}' .
-'\x{74C2}\x{74C3}\x{74C4}\x{74C5}\x{74C6}\x{74CA}\x{74CB}\x{74CD}\x{74CE}' .
-'\x{74CF}\x{74D0}\x{74D1}\x{74D2}\x{74D3}\x{74D4}\x{74D5}\x{74D6}\x{74D7}' .
-'\x{74D8}\x{74D9}\x{74DA}\x{74DB}\x{74DC}\x{74DD}\x{74DE}\x{74DF}\x{74E0}' .
-'\x{74E1}\x{74E2}\x{74E3}\x{74E4}\x{74E5}\x{74E6}\x{74E7}\x{74E8}\x{74E9}' .
-'\x{74EA}\x{74EC}\x{74ED}\x{74EE}\x{74EF}\x{74F0}\x{74F1}\x{74F2}\x{74F3}' .
-'\x{74F4}\x{74F5}\x{74F6}\x{74F7}\x{74F8}\x{74F9}\x{74FA}\x{74FB}\x{74FC}' .
-'\x{74FD}\x{74FE}\x{74FF}\x{7500}\x{7501}\x{7502}\x{7503}\x{7504}\x{7505}' .
-'\x{7506}\x{7507}\x{7508}\x{7509}\x{750A}\x{750B}\x{750C}\x{750D}\x{750F}' .
-'\x{7510}\x{7511}\x{7512}\x{7513}\x{7514}\x{7515}\x{7516}\x{7517}\x{7518}' .
-'\x{7519}\x{751A}\x{751B}\x{751C}\x{751D}\x{751E}\x{751F}\x{7521}\x{7522}' .
-'\x{7523}\x{7524}\x{7525}\x{7526}\x{7527}\x{7528}\x{7529}\x{752A}\x{752B}' .
-'\x{752C}\x{752D}\x{752E}\x{752F}\x{7530}\x{7531}\x{7532}\x{7533}\x{7535}' .
-'\x{7536}\x{7537}\x{7538}\x{7539}\x{753A}\x{753B}\x{753C}\x{753D}\x{753E}' .
-'\x{753F}\x{7540}\x{7542}\x{7543}\x{7544}\x{7545}\x{7546}\x{7547}\x{7548}' .
-'\x{7549}\x{754B}\x{754C}\x{754D}\x{754E}\x{754F}\x{7550}\x{7551}\x{7553}' .
-'\x{7554}\x{7556}\x{7557}\x{7558}\x{7559}\x{755A}\x{755B}\x{755C}\x{755D}' .
-'\x{755F}\x{7560}\x{7562}\x{7563}\x{7564}\x{7565}\x{7566}\x{7567}\x{7568}' .
-'\x{7569}\x{756A}\x{756B}\x{756C}\x{756D}\x{756E}\x{756F}\x{7570}\x{7572}' .
-'\x{7574}\x{7575}\x{7576}\x{7577}\x{7578}\x{7579}\x{757C}\x{757D}\x{757E}' .
-'\x{757F}\x{7580}\x{7581}\x{7582}\x{7583}\x{7584}\x{7586}\x{7587}\x{7588}' .
-'\x{7589}\x{758A}\x{758B}\x{758C}\x{758D}\x{758F}\x{7590}\x{7591}\x{7592}' .
-'\x{7593}\x{7594}\x{7595}\x{7596}\x{7597}\x{7598}\x{7599}\x{759A}\x{759B}' .
-'\x{759C}\x{759D}\x{759E}\x{759F}\x{75A0}\x{75A1}\x{75A2}\x{75A3}\x{75A4}' .
-'\x{75A5}\x{75A6}\x{75A7}\x{75A8}\x{75AA}\x{75AB}\x{75AC}\x{75AD}\x{75AE}' .
-'\x{75AF}\x{75B0}\x{75B1}\x{75B2}\x{75B3}\x{75B4}\x{75B5}\x{75B6}\x{75B8}' .
-'\x{75B9}\x{75BA}\x{75BB}\x{75BC}\x{75BD}\x{75BE}\x{75BF}\x{75C0}\x{75C1}' .
-'\x{75C2}\x{75C3}\x{75C4}\x{75C5}\x{75C6}\x{75C7}\x{75C8}\x{75C9}\x{75CA}' .
-'\x{75CB}\x{75CC}\x{75CD}\x{75CE}\x{75CF}\x{75D0}\x{75D1}\x{75D2}\x{75D3}' .
-'\x{75D4}\x{75D5}\x{75D6}\x{75D7}\x{75D8}\x{75D9}\x{75DA}\x{75DB}\x{75DD}' .
-'\x{75DE}\x{75DF}\x{75E0}\x{75E1}\x{75E2}\x{75E3}\x{75E4}\x{75E5}\x{75E6}' .
-'\x{75E7}\x{75E8}\x{75EA}\x{75EB}\x{75EC}\x{75ED}\x{75EF}\x{75F0}\x{75F1}' .
-'\x{75F2}\x{75F3}\x{75F4}\x{75F5}\x{75F6}\x{75F7}\x{75F8}\x{75F9}\x{75FA}' .
-'\x{75FB}\x{75FC}\x{75FD}\x{75FE}\x{75FF}\x{7600}\x{7601}\x{7602}\x{7603}' .
-'\x{7604}\x{7605}\x{7606}\x{7607}\x{7608}\x{7609}\x{760A}\x{760B}\x{760C}' .
-'\x{760D}\x{760E}\x{760F}\x{7610}\x{7611}\x{7612}\x{7613}\x{7614}\x{7615}' .
-'\x{7616}\x{7617}\x{7618}\x{7619}\x{761A}\x{761B}\x{761C}\x{761D}\x{761E}' .
-'\x{761F}\x{7620}\x{7621}\x{7622}\x{7623}\x{7624}\x{7625}\x{7626}\x{7627}' .
-'\x{7628}\x{7629}\x{762A}\x{762B}\x{762D}\x{762E}\x{762F}\x{7630}\x{7631}' .
-'\x{7632}\x{7633}\x{7634}\x{7635}\x{7636}\x{7637}\x{7638}\x{7639}\x{763A}' .
-'\x{763B}\x{763C}\x{763D}\x{763E}\x{763F}\x{7640}\x{7641}\x{7642}\x{7643}' .
-'\x{7646}\x{7647}\x{7648}\x{7649}\x{764A}\x{764B}\x{764C}\x{764D}\x{764F}' .
-'\x{7650}\x{7652}\x{7653}\x{7654}\x{7656}\x{7657}\x{7658}\x{7659}\x{765A}' .
-'\x{765B}\x{765C}\x{765D}\x{765E}\x{765F}\x{7660}\x{7661}\x{7662}\x{7663}' .
-'\x{7664}\x{7665}\x{7666}\x{7667}\x{7668}\x{7669}\x{766A}\x{766B}\x{766C}' .
-'\x{766D}\x{766E}\x{766F}\x{7670}\x{7671}\x{7672}\x{7674}\x{7675}\x{7676}' .
-'\x{7677}\x{7678}\x{7679}\x{767B}\x{767C}\x{767D}\x{767E}\x{767F}\x{7680}' .
-'\x{7681}\x{7682}\x{7683}\x{7684}\x{7685}\x{7686}\x{7687}\x{7688}\x{7689}' .
-'\x{768A}\x{768B}\x{768C}\x{768E}\x{768F}\x{7690}\x{7691}\x{7692}\x{7693}' .
-'\x{7694}\x{7695}\x{7696}\x{7697}\x{7698}\x{7699}\x{769A}\x{769B}\x{769C}' .
-'\x{769D}\x{769E}\x{769F}\x{76A0}\x{76A3}\x{76A4}\x{76A6}\x{76A7}\x{76A9}' .
-'\x{76AA}\x{76AB}\x{76AC}\x{76AD}\x{76AE}\x{76AF}\x{76B0}\x{76B1}\x{76B2}' .
-'\x{76B4}\x{76B5}\x{76B7}\x{76B8}\x{76BA}\x{76BB}\x{76BC}\x{76BD}\x{76BE}' .
-'\x{76BF}\x{76C0}\x{76C2}\x{76C3}\x{76C4}\x{76C5}\x{76C6}\x{76C7}\x{76C8}' .
-'\x{76C9}\x{76CA}\x{76CD}\x{76CE}\x{76CF}\x{76D0}\x{76D1}\x{76D2}\x{76D3}' .
-'\x{76D4}\x{76D5}\x{76D6}\x{76D7}\x{76D8}\x{76DA}\x{76DB}\x{76DC}\x{76DD}' .
-'\x{76DE}\x{76DF}\x{76E0}\x{76E1}\x{76E2}\x{76E3}\x{76E4}\x{76E5}\x{76E6}' .
-'\x{76E7}\x{76E8}\x{76E9}\x{76EA}\x{76EC}\x{76ED}\x{76EE}\x{76EF}\x{76F0}' .
-'\x{76F1}\x{76F2}\x{76F3}\x{76F4}\x{76F5}\x{76F6}\x{76F7}\x{76F8}\x{76F9}' .
-'\x{76FA}\x{76FB}\x{76FC}\x{76FD}\x{76FE}\x{76FF}\x{7701}\x{7703}\x{7704}' .
-'\x{7705}\x{7706}\x{7707}\x{7708}\x{7709}\x{770A}\x{770B}\x{770C}\x{770D}' .
-'\x{770F}\x{7710}\x{7711}\x{7712}\x{7713}\x{7714}\x{7715}\x{7716}\x{7717}' .
-'\x{7718}\x{7719}\x{771A}\x{771B}\x{771C}\x{771D}\x{771E}\x{771F}\x{7720}' .
-'\x{7722}\x{7723}\x{7725}\x{7726}\x{7727}\x{7728}\x{7729}\x{772A}\x{772C}' .
-'\x{772D}\x{772E}\x{772F}\x{7730}\x{7731}\x{7732}\x{7733}\x{7734}\x{7735}' .
-'\x{7736}\x{7737}\x{7738}\x{7739}\x{773A}\x{773B}\x{773C}\x{773D}\x{773E}' .
-'\x{7740}\x{7741}\x{7743}\x{7744}\x{7745}\x{7746}\x{7747}\x{7748}\x{7749}' .
-'\x{774A}\x{774B}\x{774C}\x{774D}\x{774E}\x{774F}\x{7750}\x{7751}\x{7752}' .
-'\x{7753}\x{7754}\x{7755}\x{7756}\x{7757}\x{7758}\x{7759}\x{775A}\x{775B}' .
-'\x{775C}\x{775D}\x{775E}\x{775F}\x{7760}\x{7761}\x{7762}\x{7763}\x{7765}' .
-'\x{7766}\x{7767}\x{7768}\x{7769}\x{776A}\x{776B}\x{776C}\x{776D}\x{776E}' .
-'\x{776F}\x{7770}\x{7771}\x{7772}\x{7773}\x{7774}\x{7775}\x{7776}\x{7777}' .
-'\x{7778}\x{7779}\x{777A}\x{777B}\x{777C}\x{777D}\x{777E}\x{777F}\x{7780}' .
-'\x{7781}\x{7782}\x{7783}\x{7784}\x{7785}\x{7786}\x{7787}\x{7788}\x{7789}' .
-'\x{778A}\x{778B}\x{778C}\x{778D}\x{778E}\x{778F}\x{7790}\x{7791}\x{7792}' .
-'\x{7793}\x{7794}\x{7795}\x{7797}\x{7798}\x{7799}\x{779A}\x{779B}\x{779C}' .
-'\x{779D}\x{779E}\x{779F}\x{77A0}\x{77A1}\x{77A2}\x{77A3}\x{77A5}\x{77A6}' .
-'\x{77A7}\x{77A8}\x{77A9}\x{77AA}\x{77AB}\x{77AC}\x{77AD}\x{77AE}\x{77AF}' .
-'\x{77B0}\x{77B1}\x{77B2}\x{77B3}\x{77B4}\x{77B5}\x{77B6}\x{77B7}\x{77B8}' .
-'\x{77B9}\x{77BA}\x{77BB}\x{77BC}\x{77BD}\x{77BF}\x{77C0}\x{77C2}\x{77C3}' .
-'\x{77C4}\x{77C5}\x{77C6}\x{77C7}\x{77C8}\x{77C9}\x{77CA}\x{77CB}\x{77CC}' .
-'\x{77CD}\x{77CE}\x{77CF}\x{77D0}\x{77D1}\x{77D3}\x{77D4}\x{77D5}\x{77D6}' .
-'\x{77D7}\x{77D8}\x{77D9}\x{77DA}\x{77DB}\x{77DC}\x{77DE}\x{77DF}\x{77E0}' .
-'\x{77E1}\x{77E2}\x{77E3}\x{77E5}\x{77E7}\x{77E8}\x{77E9}\x{77EA}\x{77EB}' .
-'\x{77EC}\x{77ED}\x{77EE}\x{77EF}\x{77F0}\x{77F1}\x{77F2}\x{77F3}\x{77F6}' .
-'\x{77F7}\x{77F8}\x{77F9}\x{77FA}\x{77FB}\x{77FC}\x{77FD}\x{77FE}\x{77FF}' .
-'\x{7800}\x{7801}\x{7802}\x{7803}\x{7804}\x{7805}\x{7806}\x{7808}\x{7809}' .
-'\x{780A}\x{780B}\x{780C}\x{780D}\x{780E}\x{780F}\x{7810}\x{7811}\x{7812}' .
-'\x{7813}\x{7814}\x{7815}\x{7816}\x{7817}\x{7818}\x{7819}\x{781A}\x{781B}' .
-'\x{781C}\x{781D}\x{781E}\x{781F}\x{7820}\x{7821}\x{7822}\x{7823}\x{7825}' .
-'\x{7826}\x{7827}\x{7828}\x{7829}\x{782A}\x{782B}\x{782C}\x{782D}\x{782E}' .
-'\x{782F}\x{7830}\x{7831}\x{7832}\x{7833}\x{7834}\x{7835}\x{7837}\x{7838}' .
-'\x{7839}\x{783A}\x{783B}\x{783C}\x{783D}\x{783E}\x{7840}\x{7841}\x{7843}' .
-'\x{7844}\x{7845}\x{7847}\x{7848}\x{7849}\x{784A}\x{784C}\x{784D}\x{784E}' .
-'\x{7850}\x{7851}\x{7852}\x{7853}\x{7854}\x{7855}\x{7856}\x{7857}\x{7858}' .
-'\x{7859}\x{785A}\x{785B}\x{785C}\x{785D}\x{785E}\x{785F}\x{7860}\x{7861}' .
-'\x{7862}\x{7863}\x{7864}\x{7865}\x{7866}\x{7867}\x{7868}\x{7869}\x{786A}' .
-'\x{786B}\x{786C}\x{786D}\x{786E}\x{786F}\x{7870}\x{7871}\x{7872}\x{7873}' .
-'\x{7874}\x{7875}\x{7877}\x{7878}\x{7879}\x{787A}\x{787B}\x{787C}\x{787D}' .
-'\x{787E}\x{787F}\x{7880}\x{7881}\x{7882}\x{7883}\x{7884}\x{7885}\x{7886}' .
-'\x{7887}\x{7889}\x{788A}\x{788B}\x{788C}\x{788D}\x{788E}\x{788F}\x{7890}' .
-'\x{7891}\x{7892}\x{7893}\x{7894}\x{7895}\x{7896}\x{7897}\x{7898}\x{7899}' .
-'\x{789A}\x{789B}\x{789C}\x{789D}\x{789E}\x{789F}\x{78A0}\x{78A1}\x{78A2}' .
-'\x{78A3}\x{78A4}\x{78A5}\x{78A6}\x{78A7}\x{78A8}\x{78A9}\x{78AA}\x{78AB}' .
-'\x{78AC}\x{78AD}\x{78AE}\x{78AF}\x{78B0}\x{78B1}\x{78B2}\x{78B3}\x{78B4}' .
-'\x{78B5}\x{78B6}\x{78B7}\x{78B8}\x{78B9}\x{78BA}\x{78BB}\x{78BC}\x{78BD}' .
-'\x{78BE}\x{78BF}\x{78C0}\x{78C1}\x{78C3}\x{78C4}\x{78C5}\x{78C6}\x{78C8}' .
-'\x{78C9}\x{78CA}\x{78CB}\x{78CC}\x{78CD}\x{78CE}\x{78CF}\x{78D0}\x{78D1}' .
-'\x{78D3}\x{78D4}\x{78D5}\x{78D6}\x{78D7}\x{78D8}\x{78D9}\x{78DA}\x{78DB}' .
-'\x{78DC}\x{78DD}\x{78DE}\x{78DF}\x{78E0}\x{78E1}\x{78E2}\x{78E3}\x{78E4}' .
-'\x{78E5}\x{78E6}\x{78E7}\x{78E8}\x{78E9}\x{78EA}\x{78EB}\x{78EC}\x{78ED}' .
-'\x{78EE}\x{78EF}\x{78F1}\x{78F2}\x{78F3}\x{78F4}\x{78F5}\x{78F6}\x{78F7}' .
-'\x{78F9}\x{78FA}\x{78FB}\x{78FC}\x{78FD}\x{78FE}\x{78FF}\x{7901}\x{7902}' .
-'\x{7903}\x{7904}\x{7905}\x{7906}\x{7907}\x{7909}\x{790A}\x{790B}\x{790C}' .
-'\x{790E}\x{790F}\x{7910}\x{7911}\x{7912}\x{7913}\x{7914}\x{7916}\x{7917}' .
-'\x{7918}\x{7919}\x{791A}\x{791B}\x{791C}\x{791D}\x{791E}\x{7921}\x{7922}' .
-'\x{7923}\x{7924}\x{7925}\x{7926}\x{7927}\x{7928}\x{7929}\x{792A}\x{792B}' .
-'\x{792C}\x{792D}\x{792E}\x{792F}\x{7930}\x{7931}\x{7933}\x{7934}\x{7935}' .
-'\x{7937}\x{7938}\x{7939}\x{793A}\x{793B}\x{793C}\x{793D}\x{793E}\x{793F}' .
-'\x{7940}\x{7941}\x{7942}\x{7943}\x{7944}\x{7945}\x{7946}\x{7947}\x{7948}' .
-'\x{7949}\x{794A}\x{794B}\x{794C}\x{794D}\x{794E}\x{794F}\x{7950}\x{7951}' .
-'\x{7952}\x{7953}\x{7954}\x{7955}\x{7956}\x{7957}\x{7958}\x{795A}\x{795B}' .
-'\x{795C}\x{795D}\x{795E}\x{795F}\x{7960}\x{7961}\x{7962}\x{7963}\x{7964}' .
-'\x{7965}\x{7966}\x{7967}\x{7968}\x{7969}\x{796A}\x{796B}\x{796D}\x{796F}' .
-'\x{7970}\x{7971}\x{7972}\x{7973}\x{7974}\x{7977}\x{7978}\x{7979}\x{797A}' .
-'\x{797B}\x{797C}\x{797D}\x{797E}\x{797F}\x{7980}\x{7981}\x{7982}\x{7983}' .
-'\x{7984}\x{7985}\x{7988}\x{7989}\x{798A}\x{798B}\x{798C}\x{798D}\x{798E}' .
-'\x{798F}\x{7990}\x{7991}\x{7992}\x{7993}\x{7994}\x{7995}\x{7996}\x{7997}' .
-'\x{7998}\x{7999}\x{799A}\x{799B}\x{799C}\x{799F}\x{79A0}\x{79A1}\x{79A2}' .
-'\x{79A3}\x{79A4}\x{79A5}\x{79A6}\x{79A7}\x{79A8}\x{79AA}\x{79AB}\x{79AC}' .
-'\x{79AD}\x{79AE}\x{79AF}\x{79B0}\x{79B1}\x{79B2}\x{79B3}\x{79B4}\x{79B5}' .
-'\x{79B6}\x{79B7}\x{79B8}\x{79B9}\x{79BA}\x{79BB}\x{79BD}\x{79BE}\x{79BF}' .
-'\x{79C0}\x{79C1}\x{79C2}\x{79C3}\x{79C5}\x{79C6}\x{79C8}\x{79C9}\x{79CA}' .
-'\x{79CB}\x{79CD}\x{79CE}\x{79CF}\x{79D0}\x{79D1}\x{79D2}\x{79D3}\x{79D5}' .
-'\x{79D6}\x{79D8}\x{79D9}\x{79DA}\x{79DB}\x{79DC}\x{79DD}\x{79DE}\x{79DF}' .
-'\x{79E0}\x{79E1}\x{79E2}\x{79E3}\x{79E4}\x{79E5}\x{79E6}\x{79E7}\x{79E8}' .
-'\x{79E9}\x{79EA}\x{79EB}\x{79EC}\x{79ED}\x{79EE}\x{79EF}\x{79F0}\x{79F1}' .
-'\x{79F2}\x{79F3}\x{79F4}\x{79F5}\x{79F6}\x{79F7}\x{79F8}\x{79F9}\x{79FA}' .
-'\x{79FB}\x{79FC}\x{79FD}\x{79FE}\x{79FF}\x{7A00}\x{7A02}\x{7A03}\x{7A04}' .
-'\x{7A05}\x{7A06}\x{7A08}\x{7A0A}\x{7A0B}\x{7A0C}\x{7A0D}\x{7A0E}\x{7A0F}' .
-'\x{7A10}\x{7A11}\x{7A12}\x{7A13}\x{7A14}\x{7A15}\x{7A16}\x{7A17}\x{7A18}' .
-'\x{7A19}\x{7A1A}\x{7A1B}\x{7A1C}\x{7A1D}\x{7A1E}\x{7A1F}\x{7A20}\x{7A21}' .
-'\x{7A22}\x{7A23}\x{7A24}\x{7A25}\x{7A26}\x{7A27}\x{7A28}\x{7A29}\x{7A2A}' .
-'\x{7A2B}\x{7A2D}\x{7A2E}\x{7A2F}\x{7A30}\x{7A31}\x{7A32}\x{7A33}\x{7A34}' .
-'\x{7A35}\x{7A37}\x{7A39}\x{7A3B}\x{7A3C}\x{7A3D}\x{7A3E}\x{7A3F}\x{7A40}' .
-'\x{7A41}\x{7A42}\x{7A43}\x{7A44}\x{7A45}\x{7A46}\x{7A47}\x{7A48}\x{7A49}' .
-'\x{7A4A}\x{7A4B}\x{7A4C}\x{7A4D}\x{7A4E}\x{7A50}\x{7A51}\x{7A52}\x{7A53}' .
-'\x{7A54}\x{7A55}\x{7A56}\x{7A57}\x{7A58}\x{7A59}\x{7A5A}\x{7A5B}\x{7A5C}' .
-'\x{7A5D}\x{7A5E}\x{7A5F}\x{7A60}\x{7A61}\x{7A62}\x{7A65}\x{7A66}\x{7A67}' .
-'\x{7A68}\x{7A69}\x{7A6B}\x{7A6C}\x{7A6D}\x{7A6E}\x{7A70}\x{7A71}\x{7A72}' .
-'\x{7A73}\x{7A74}\x{7A75}\x{7A76}\x{7A77}\x{7A78}\x{7A79}\x{7A7A}\x{7A7B}' .
-'\x{7A7C}\x{7A7D}\x{7A7E}\x{7A7F}\x{7A80}\x{7A81}\x{7A83}\x{7A84}\x{7A85}' .
-'\x{7A86}\x{7A87}\x{7A88}\x{7A89}\x{7A8A}\x{7A8B}\x{7A8C}\x{7A8D}\x{7A8E}' .
-'\x{7A8F}\x{7A90}\x{7A91}\x{7A92}\x{7A93}\x{7A94}\x{7A95}\x{7A96}\x{7A97}' .
-'\x{7A98}\x{7A99}\x{7A9C}\x{7A9D}\x{7A9E}\x{7A9F}\x{7AA0}\x{7AA1}\x{7AA2}' .
-'\x{7AA3}\x{7AA4}\x{7AA5}\x{7AA6}\x{7AA7}\x{7AA8}\x{7AA9}\x{7AAA}\x{7AAB}' .
-'\x{7AAC}\x{7AAD}\x{7AAE}\x{7AAF}\x{7AB0}\x{7AB1}\x{7AB2}\x{7AB3}\x{7AB4}' .
-'\x{7AB5}\x{7AB6}\x{7AB7}\x{7AB8}\x{7ABA}\x{7ABE}\x{7ABF}\x{7AC0}\x{7AC1}' .
-'\x{7AC4}\x{7AC5}\x{7AC7}\x{7AC8}\x{7AC9}\x{7ACA}\x{7ACB}\x{7ACC}\x{7ACD}' .
-'\x{7ACE}\x{7ACF}\x{7AD0}\x{7AD1}\x{7AD2}\x{7AD3}\x{7AD4}\x{7AD5}\x{7AD6}' .
-'\x{7AD8}\x{7AD9}\x{7ADB}\x{7ADC}\x{7ADD}\x{7ADE}\x{7ADF}\x{7AE0}\x{7AE1}' .
-'\x{7AE2}\x{7AE3}\x{7AE4}\x{7AE5}\x{7AE6}\x{7AE7}\x{7AE8}\x{7AEA}\x{7AEB}' .
-'\x{7AEC}\x{7AED}\x{7AEE}\x{7AEF}\x{7AF0}\x{7AF1}\x{7AF2}\x{7AF3}\x{7AF4}' .
-'\x{7AF6}\x{7AF7}\x{7AF8}\x{7AF9}\x{7AFA}\x{7AFB}\x{7AFD}\x{7AFE}\x{7AFF}' .
-'\x{7B00}\x{7B01}\x{7B02}\x{7B03}\x{7B04}\x{7B05}\x{7B06}\x{7B08}\x{7B09}' .
-'\x{7B0A}\x{7B0B}\x{7B0C}\x{7B0D}\x{7B0E}\x{7B0F}\x{7B10}\x{7B11}\x{7B12}' .
-'\x{7B13}\x{7B14}\x{7B15}\x{7B16}\x{7B17}\x{7B18}\x{7B19}\x{7B1A}\x{7B1B}' .
-'\x{7B1C}\x{7B1D}\x{7B1E}\x{7B20}\x{7B21}\x{7B22}\x{7B23}\x{7B24}\x{7B25}' .
-'\x{7B26}\x{7B28}\x{7B2A}\x{7B2B}\x{7B2C}\x{7B2D}\x{7B2E}\x{7B2F}\x{7B30}' .
-'\x{7B31}\x{7B32}\x{7B33}\x{7B34}\x{7B35}\x{7B36}\x{7B37}\x{7B38}\x{7B39}' .
-'\x{7B3A}\x{7B3B}\x{7B3C}\x{7B3D}\x{7B3E}\x{7B3F}\x{7B40}\x{7B41}\x{7B43}' .
-'\x{7B44}\x{7B45}\x{7B46}\x{7B47}\x{7B48}\x{7B49}\x{7B4A}\x{7B4B}\x{7B4C}' .
-'\x{7B4D}\x{7B4E}\x{7B4F}\x{7B50}\x{7B51}\x{7B52}\x{7B54}\x{7B55}\x{7B56}' .
-'\x{7B57}\x{7B58}\x{7B59}\x{7B5A}\x{7B5B}\x{7B5C}\x{7B5D}\x{7B5E}\x{7B5F}' .
-'\x{7B60}\x{7B61}\x{7B62}\x{7B63}\x{7B64}\x{7B65}\x{7B66}\x{7B67}\x{7B68}' .
-'\x{7B69}\x{7B6A}\x{7B6B}\x{7B6C}\x{7B6D}\x{7B6E}\x{7B70}\x{7B71}\x{7B72}' .
-'\x{7B73}\x{7B74}\x{7B75}\x{7B76}\x{7B77}\x{7B78}\x{7B79}\x{7B7B}\x{7B7C}' .
-'\x{7B7D}\x{7B7E}\x{7B7F}\x{7B80}\x{7B81}\x{7B82}\x{7B83}\x{7B84}\x{7B85}' .
-'\x{7B87}\x{7B88}\x{7B89}\x{7B8A}\x{7B8B}\x{7B8C}\x{7B8D}\x{7B8E}\x{7B8F}' .
-'\x{7B90}\x{7B91}\x{7B93}\x{7B94}\x{7B95}\x{7B96}\x{7B97}\x{7B98}\x{7B99}' .
-'\x{7B9A}\x{7B9B}\x{7B9C}\x{7B9D}\x{7B9E}\x{7B9F}\x{7BA0}\x{7BA1}\x{7BA2}' .
-'\x{7BA4}\x{7BA6}\x{7BA7}\x{7BA8}\x{7BA9}\x{7BAA}\x{7BAB}\x{7BAC}\x{7BAD}' .
-'\x{7BAE}\x{7BAF}\x{7BB1}\x{7BB3}\x{7BB4}\x{7BB5}\x{7BB6}\x{7BB7}\x{7BB8}' .
-'\x{7BB9}\x{7BBA}\x{7BBB}\x{7BBC}\x{7BBD}\x{7BBE}\x{7BBF}\x{7BC0}\x{7BC1}' .
-'\x{7BC2}\x{7BC3}\x{7BC4}\x{7BC5}\x{7BC6}\x{7BC7}\x{7BC8}\x{7BC9}\x{7BCA}' .
-'\x{7BCB}\x{7BCC}\x{7BCD}\x{7BCE}\x{7BD0}\x{7BD1}\x{7BD2}\x{7BD3}\x{7BD4}' .
-'\x{7BD5}\x{7BD6}\x{7BD7}\x{7BD8}\x{7BD9}\x{7BDA}\x{7BDB}\x{7BDC}\x{7BDD}' .
-'\x{7BDE}\x{7BDF}\x{7BE0}\x{7BE1}\x{7BE2}\x{7BE3}\x{7BE4}\x{7BE5}\x{7BE6}' .
-'\x{7BE7}\x{7BE8}\x{7BE9}\x{7BEA}\x{7BEB}\x{7BEC}\x{7BED}\x{7BEE}\x{7BEF}' .
-'\x{7BF0}\x{7BF1}\x{7BF2}\x{7BF3}\x{7BF4}\x{7BF5}\x{7BF6}\x{7BF7}\x{7BF8}' .
-'\x{7BF9}\x{7BFB}\x{7BFC}\x{7BFD}\x{7BFE}\x{7BFF}\x{7C00}\x{7C01}\x{7C02}' .
-'\x{7C03}\x{7C04}\x{7C05}\x{7C06}\x{7C07}\x{7C08}\x{7C09}\x{7C0A}\x{7C0B}' .
-'\x{7C0C}\x{7C0D}\x{7C0E}\x{7C0F}\x{7C10}\x{7C11}\x{7C12}\x{7C13}\x{7C15}' .
-'\x{7C16}\x{7C17}\x{7C18}\x{7C19}\x{7C1A}\x{7C1C}\x{7C1D}\x{7C1E}\x{7C1F}' .
-'\x{7C20}\x{7C21}\x{7C22}\x{7C23}\x{7C24}\x{7C25}\x{7C26}\x{7C27}\x{7C28}' .
-'\x{7C29}\x{7C2A}\x{7C2B}\x{7C2C}\x{7C2D}\x{7C30}\x{7C31}\x{7C32}\x{7C33}' .
-'\x{7C34}\x{7C35}\x{7C36}\x{7C37}\x{7C38}\x{7C39}\x{7C3A}\x{7C3B}\x{7C3C}' .
-'\x{7C3D}\x{7C3E}\x{7C3F}\x{7C40}\x{7C41}\x{7C42}\x{7C43}\x{7C44}\x{7C45}' .
-'\x{7C46}\x{7C47}\x{7C48}\x{7C49}\x{7C4A}\x{7C4B}\x{7C4C}\x{7C4D}\x{7C4E}' .
-'\x{7C50}\x{7C51}\x{7C53}\x{7C54}\x{7C56}\x{7C57}\x{7C58}\x{7C59}\x{7C5A}' .
-'\x{7C5B}\x{7C5C}\x{7C5E}\x{7C5F}\x{7C60}\x{7C61}\x{7C62}\x{7C63}\x{7C64}' .
-'\x{7C65}\x{7C66}\x{7C67}\x{7C68}\x{7C69}\x{7C6A}\x{7C6B}\x{7C6C}\x{7C6D}' .
-'\x{7C6E}\x{7C6F}\x{7C70}\x{7C71}\x{7C72}\x{7C73}\x{7C74}\x{7C75}\x{7C77}' .
-'\x{7C78}\x{7C79}\x{7C7A}\x{7C7B}\x{7C7C}\x{7C7D}\x{7C7E}\x{7C7F}\x{7C80}' .
-'\x{7C81}\x{7C82}\x{7C84}\x{7C85}\x{7C86}\x{7C88}\x{7C89}\x{7C8A}\x{7C8B}' .
-'\x{7C8C}\x{7C8D}\x{7C8E}\x{7C8F}\x{7C90}\x{7C91}\x{7C92}\x{7C94}\x{7C95}' .
-'\x{7C96}\x{7C97}\x{7C98}\x{7C99}\x{7C9B}\x{7C9C}\x{7C9D}\x{7C9E}\x{7C9F}' .
-'\x{7CA0}\x{7CA1}\x{7CA2}\x{7CA3}\x{7CA4}\x{7CA5}\x{7CA6}\x{7CA7}\x{7CA8}' .
-'\x{7CA9}\x{7CAA}\x{7CAD}\x{7CAE}\x{7CAF}\x{7CB0}\x{7CB1}\x{7CB2}\x{7CB3}' .
-'\x{7CB4}\x{7CB5}\x{7CB6}\x{7CB7}\x{7CB8}\x{7CB9}\x{7CBA}\x{7CBB}\x{7CBC}' .
-'\x{7CBD}\x{7CBE}\x{7CBF}\x{7CC0}\x{7CC1}\x{7CC2}\x{7CC3}\x{7CC4}\x{7CC5}' .
-'\x{7CC6}\x{7CC7}\x{7CC8}\x{7CC9}\x{7CCA}\x{7CCB}\x{7CCC}\x{7CCD}\x{7CCE}' .
-'\x{7CCF}\x{7CD0}\x{7CD1}\x{7CD2}\x{7CD4}\x{7CD5}\x{7CD6}\x{7CD7}\x{7CD8}' .
-'\x{7CD9}\x{7CDC}\x{7CDD}\x{7CDE}\x{7CDF}\x{7CE0}\x{7CE2}\x{7CE4}\x{7CE7}' .
-'\x{7CE8}\x{7CE9}\x{7CEA}\x{7CEB}\x{7CEC}\x{7CED}\x{7CEE}\x{7CEF}\x{7CF0}' .
-'\x{7CF1}\x{7CF2}\x{7CF3}\x{7CF4}\x{7CF5}\x{7CF6}\x{7CF7}\x{7CF8}\x{7CF9}' .
-'\x{7CFA}\x{7CFB}\x{7CFD}\x{7CFE}\x{7D00}\x{7D01}\x{7D02}\x{7D03}\x{7D04}' .
-'\x{7D05}\x{7D06}\x{7D07}\x{7D08}\x{7D09}\x{7D0A}\x{7D0B}\x{7D0C}\x{7D0D}' .
-'\x{7D0E}\x{7D0F}\x{7D10}\x{7D11}\x{7D12}\x{7D13}\x{7D14}\x{7D15}\x{7D16}' .
-'\x{7D17}\x{7D18}\x{7D19}\x{7D1A}\x{7D1B}\x{7D1C}\x{7D1D}\x{7D1E}\x{7D1F}' .
-'\x{7D20}\x{7D21}\x{7D22}\x{7D24}\x{7D25}\x{7D26}\x{7D27}\x{7D28}\x{7D29}' .
-'\x{7D2B}\x{7D2C}\x{7D2E}\x{7D2F}\x{7D30}\x{7D31}\x{7D32}\x{7D33}\x{7D34}' .
-'\x{7D35}\x{7D36}\x{7D37}\x{7D38}\x{7D39}\x{7D3A}\x{7D3B}\x{7D3C}\x{7D3D}' .
-'\x{7D3E}\x{7D3F}\x{7D40}\x{7D41}\x{7D42}\x{7D43}\x{7D44}\x{7D45}\x{7D46}' .
-'\x{7D47}\x{7D49}\x{7D4A}\x{7D4B}\x{7D4C}\x{7D4E}\x{7D4F}\x{7D50}\x{7D51}' .
-'\x{7D52}\x{7D53}\x{7D54}\x{7D55}\x{7D56}\x{7D57}\x{7D58}\x{7D59}\x{7D5B}' .
-'\x{7D5C}\x{7D5D}\x{7D5E}\x{7D5F}\x{7D60}\x{7D61}\x{7D62}\x{7D63}\x{7D65}' .
-'\x{7D66}\x{7D67}\x{7D68}\x{7D69}\x{7D6A}\x{7D6B}\x{7D6C}\x{7D6D}\x{7D6E}' .
-'\x{7D6F}\x{7D70}\x{7D71}\x{7D72}\x{7D73}\x{7D74}\x{7D75}\x{7D76}\x{7D77}' .
-'\x{7D79}\x{7D7A}\x{7D7B}\x{7D7C}\x{7D7D}\x{7D7E}\x{7D7F}\x{7D80}\x{7D81}' .
-'\x{7D83}\x{7D84}\x{7D85}\x{7D86}\x{7D87}\x{7D88}\x{7D89}\x{7D8A}\x{7D8B}' .
-'\x{7D8C}\x{7D8D}\x{7D8E}\x{7D8F}\x{7D90}\x{7D91}\x{7D92}\x{7D93}\x{7D94}' .
-'\x{7D96}\x{7D97}\x{7D99}\x{7D9B}\x{7D9C}\x{7D9D}\x{7D9E}\x{7D9F}\x{7DA0}' .
-'\x{7DA1}\x{7DA2}\x{7DA3}\x{7DA5}\x{7DA6}\x{7DA7}\x{7DA9}\x{7DAA}\x{7DAB}' .
-'\x{7DAC}\x{7DAD}\x{7DAE}\x{7DAF}\x{7DB0}\x{7DB1}\x{7DB2}\x{7DB3}\x{7DB4}' .
-'\x{7DB5}\x{7DB6}\x{7DB7}\x{7DB8}\x{7DB9}\x{7DBA}\x{7DBB}\x{7DBC}\x{7DBD}' .
-'\x{7DBE}\x{7DBF}\x{7DC0}\x{7DC1}\x{7DC2}\x{7DC3}\x{7DC4}\x{7DC5}\x{7DC6}' .
-'\x{7DC7}\x{7DC8}\x{7DC9}\x{7DCA}\x{7DCB}\x{7DCC}\x{7DCE}\x{7DCF}\x{7DD0}' .
-'\x{7DD1}\x{7DD2}\x{7DD4}\x{7DD5}\x{7DD6}\x{7DD7}\x{7DD8}\x{7DD9}\x{7DDA}' .
-'\x{7DDB}\x{7DDD}\x{7DDE}\x{7DDF}\x{7DE0}\x{7DE1}\x{7DE2}\x{7DE3}\x{7DE6}' .
-'\x{7DE7}\x{7DE8}\x{7DE9}\x{7DEA}\x{7DEC}\x{7DED}\x{7DEE}\x{7DEF}\x{7DF0}' .
-'\x{7DF1}\x{7DF2}\x{7DF3}\x{7DF4}\x{7DF5}\x{7DF6}\x{7DF7}\x{7DF8}\x{7DF9}' .
-'\x{7DFA}\x{7DFB}\x{7DFC}\x{7E00}\x{7E01}\x{7E02}\x{7E03}\x{7E04}\x{7E05}' .
-'\x{7E06}\x{7E07}\x{7E08}\x{7E09}\x{7E0A}\x{7E0B}\x{7E0C}\x{7E0D}\x{7E0E}' .
-'\x{7E0F}\x{7E10}\x{7E11}\x{7E12}\x{7E13}\x{7E14}\x{7E15}\x{7E16}\x{7E17}' .
-'\x{7E19}\x{7E1A}\x{7E1B}\x{7E1C}\x{7E1D}\x{7E1E}\x{7E1F}\x{7E20}\x{7E21}' .
-'\x{7E22}\x{7E23}\x{7E24}\x{7E25}\x{7E26}\x{7E27}\x{7E28}\x{7E29}\x{7E2A}' .
-'\x{7E2B}\x{7E2C}\x{7E2D}\x{7E2E}\x{7E2F}\x{7E30}\x{7E31}\x{7E32}\x{7E33}' .
-'\x{7E34}\x{7E35}\x{7E36}\x{7E37}\x{7E38}\x{7E39}\x{7E3A}\x{7E3B}\x{7E3C}' .
-'\x{7E3D}\x{7E3E}\x{7E3F}\x{7E40}\x{7E41}\x{7E42}\x{7E43}\x{7E44}\x{7E45}' .
-'\x{7E46}\x{7E47}\x{7E48}\x{7E49}\x{7E4C}\x{7E4D}\x{7E4E}\x{7E4F}\x{7E50}' .
-'\x{7E51}\x{7E52}\x{7E53}\x{7E54}\x{7E55}\x{7E56}\x{7E57}\x{7E58}\x{7E59}' .
-'\x{7E5A}\x{7E5C}\x{7E5D}\x{7E5E}\x{7E5F}\x{7E60}\x{7E61}\x{7E62}\x{7E63}' .
-'\x{7E65}\x{7E66}\x{7E67}\x{7E68}\x{7E69}\x{7E6A}\x{7E6B}\x{7E6C}\x{7E6D}' .
-'\x{7E6E}\x{7E6F}\x{7E70}\x{7E71}\x{7E72}\x{7E73}\x{7E74}\x{7E75}\x{7E76}' .
-'\x{7E77}\x{7E78}\x{7E79}\x{7E7A}\x{7E7B}\x{7E7C}\x{7E7D}\x{7E7E}\x{7E7F}' .
-'\x{7E80}\x{7E81}\x{7E82}\x{7E83}\x{7E84}\x{7E85}\x{7E86}\x{7E87}\x{7E88}' .
-'\x{7E89}\x{7E8A}\x{7E8B}\x{7E8C}\x{7E8D}\x{7E8E}\x{7E8F}\x{7E90}\x{7E91}' .
-'\x{7E92}\x{7E93}\x{7E94}\x{7E95}\x{7E96}\x{7E97}\x{7E98}\x{7E99}\x{7E9A}' .
-'\x{7E9B}\x{7E9C}\x{7E9E}\x{7E9F}\x{7EA0}\x{7EA1}\x{7EA2}\x{7EA3}\x{7EA4}' .
-'\x{7EA5}\x{7EA6}\x{7EA7}\x{7EA8}\x{7EA9}\x{7EAA}\x{7EAB}\x{7EAC}\x{7EAD}' .
-'\x{7EAE}\x{7EAF}\x{7EB0}\x{7EB1}\x{7EB2}\x{7EB3}\x{7EB4}\x{7EB5}\x{7EB6}' .
-'\x{7EB7}\x{7EB8}\x{7EB9}\x{7EBA}\x{7EBB}\x{7EBC}\x{7EBD}\x{7EBE}\x{7EBF}' .
-'\x{7EC0}\x{7EC1}\x{7EC2}\x{7EC3}\x{7EC4}\x{7EC5}\x{7EC6}\x{7EC7}\x{7EC8}' .
-'\x{7EC9}\x{7ECA}\x{7ECB}\x{7ECC}\x{7ECD}\x{7ECE}\x{7ECF}\x{7ED0}\x{7ED1}' .
-'\x{7ED2}\x{7ED3}\x{7ED4}\x{7ED5}\x{7ED6}\x{7ED7}\x{7ED8}\x{7ED9}\x{7EDA}' .
-'\x{7EDB}\x{7EDC}\x{7EDD}\x{7EDE}\x{7EDF}\x{7EE0}\x{7EE1}\x{7EE2}\x{7EE3}' .
-'\x{7EE4}\x{7EE5}\x{7EE6}\x{7EE7}\x{7EE8}\x{7EE9}\x{7EEA}\x{7EEB}\x{7EEC}' .
-'\x{7EED}\x{7EEE}\x{7EEF}\x{7EF0}\x{7EF1}\x{7EF2}\x{7EF3}\x{7EF4}\x{7EF5}' .
-'\x{7EF6}\x{7EF7}\x{7EF8}\x{7EF9}\x{7EFA}\x{7EFB}\x{7EFC}\x{7EFD}\x{7EFE}' .
-'\x{7EFF}\x{7F00}\x{7F01}\x{7F02}\x{7F03}\x{7F04}\x{7F05}\x{7F06}\x{7F07}' .
-'\x{7F08}\x{7F09}\x{7F0A}\x{7F0B}\x{7F0C}\x{7F0D}\x{7F0E}\x{7F0F}\x{7F10}' .
-'\x{7F11}\x{7F12}\x{7F13}\x{7F14}\x{7F15}\x{7F16}\x{7F17}\x{7F18}\x{7F19}' .
-'\x{7F1A}\x{7F1B}\x{7F1C}\x{7F1D}\x{7F1E}\x{7F1F}\x{7F20}\x{7F21}\x{7F22}' .
-'\x{7F23}\x{7F24}\x{7F25}\x{7F26}\x{7F27}\x{7F28}\x{7F29}\x{7F2A}\x{7F2B}' .
-'\x{7F2C}\x{7F2D}\x{7F2E}\x{7F2F}\x{7F30}\x{7F31}\x{7F32}\x{7F33}\x{7F34}' .
-'\x{7F35}\x{7F36}\x{7F37}\x{7F38}\x{7F39}\x{7F3A}\x{7F3D}\x{7F3E}\x{7F3F}' .
-'\x{7F40}\x{7F42}\x{7F43}\x{7F44}\x{7F45}\x{7F47}\x{7F48}\x{7F49}\x{7F4A}' .
-'\x{7F4B}\x{7F4C}\x{7F4D}\x{7F4E}\x{7F4F}\x{7F50}\x{7F51}\x{7F52}\x{7F53}' .
-'\x{7F54}\x{7F55}\x{7F56}\x{7F57}\x{7F58}\x{7F5A}\x{7F5B}\x{7F5C}\x{7F5D}' .
-'\x{7F5E}\x{7F5F}\x{7F60}\x{7F61}\x{7F62}\x{7F63}\x{7F64}\x{7F65}\x{7F66}' .
-'\x{7F67}\x{7F68}\x{7F69}\x{7F6A}\x{7F6B}\x{7F6C}\x{7F6D}\x{7F6E}\x{7F6F}' .
-'\x{7F70}\x{7F71}\x{7F72}\x{7F73}\x{7F74}\x{7F75}\x{7F76}\x{7F77}\x{7F78}' .
-'\x{7F79}\x{7F7A}\x{7F7B}\x{7F7C}\x{7F7D}\x{7F7E}\x{7F7F}\x{7F80}\x{7F81}' .
-'\x{7F82}\x{7F83}\x{7F85}\x{7F86}\x{7F87}\x{7F88}\x{7F89}\x{7F8A}\x{7F8B}' .
-'\x{7F8C}\x{7F8D}\x{7F8E}\x{7F8F}\x{7F91}\x{7F92}\x{7F93}\x{7F94}\x{7F95}' .
-'\x{7F96}\x{7F98}\x{7F9A}\x{7F9B}\x{7F9C}\x{7F9D}\x{7F9E}\x{7F9F}\x{7FA0}' .
-'\x{7FA1}\x{7FA2}\x{7FA3}\x{7FA4}\x{7FA5}\x{7FA6}\x{7FA7}\x{7FA8}\x{7FA9}' .
-'\x{7FAA}\x{7FAB}\x{7FAC}\x{7FAD}\x{7FAE}\x{7FAF}\x{7FB0}\x{7FB1}\x{7FB2}' .
-'\x{7FB3}\x{7FB5}\x{7FB6}\x{7FB7}\x{7FB8}\x{7FB9}\x{7FBA}\x{7FBB}\x{7FBC}' .
-'\x{7FBD}\x{7FBE}\x{7FBF}\x{7FC0}\x{7FC1}\x{7FC2}\x{7FC3}\x{7FC4}\x{7FC5}' .
-'\x{7FC6}\x{7FC7}\x{7FC8}\x{7FC9}\x{7FCA}\x{7FCB}\x{7FCC}\x{7FCD}\x{7FCE}' .
-'\x{7FCF}\x{7FD0}\x{7FD1}\x{7FD2}\x{7FD3}\x{7FD4}\x{7FD5}\x{7FD7}\x{7FD8}' .
-'\x{7FD9}\x{7FDA}\x{7FDB}\x{7FDC}\x{7FDE}\x{7FDF}\x{7FE0}\x{7FE1}\x{7FE2}' .
-'\x{7FE3}\x{7FE5}\x{7FE6}\x{7FE7}\x{7FE8}\x{7FE9}\x{7FEA}\x{7FEB}\x{7FEC}' .
-'\x{7FED}\x{7FEE}\x{7FEF}\x{7FF0}\x{7FF1}\x{7FF2}\x{7FF3}\x{7FF4}\x{7FF5}' .
-'\x{7FF6}\x{7FF7}\x{7FF8}\x{7FF9}\x{7FFA}\x{7FFB}\x{7FFC}\x{7FFD}\x{7FFE}' .
-'\x{7FFF}\x{8000}\x{8001}\x{8002}\x{8003}\x{8004}\x{8005}\x{8006}\x{8007}' .
-'\x{8008}\x{8009}\x{800B}\x{800C}\x{800D}\x{800E}\x{800F}\x{8010}\x{8011}' .
-'\x{8012}\x{8013}\x{8014}\x{8015}\x{8016}\x{8017}\x{8018}\x{8019}\x{801A}' .
-'\x{801B}\x{801C}\x{801D}\x{801E}\x{801F}\x{8020}\x{8021}\x{8022}\x{8023}' .
-'\x{8024}\x{8025}\x{8026}\x{8027}\x{8028}\x{8029}\x{802A}\x{802B}\x{802C}' .
-'\x{802D}\x{802E}\x{8030}\x{8031}\x{8032}\x{8033}\x{8034}\x{8035}\x{8036}' .
-'\x{8037}\x{8038}\x{8039}\x{803A}\x{803B}\x{803D}\x{803E}\x{803F}\x{8041}' .
-'\x{8042}\x{8043}\x{8044}\x{8045}\x{8046}\x{8047}\x{8048}\x{8049}\x{804A}' .
-'\x{804B}\x{804C}\x{804D}\x{804E}\x{804F}\x{8050}\x{8051}\x{8052}\x{8053}' .
-'\x{8054}\x{8055}\x{8056}\x{8057}\x{8058}\x{8059}\x{805A}\x{805B}\x{805C}' .
-'\x{805D}\x{805E}\x{805F}\x{8060}\x{8061}\x{8062}\x{8063}\x{8064}\x{8065}' .
-'\x{8067}\x{8068}\x{8069}\x{806A}\x{806B}\x{806C}\x{806D}\x{806E}\x{806F}' .
-'\x{8070}\x{8071}\x{8072}\x{8073}\x{8074}\x{8075}\x{8076}\x{8077}\x{8078}' .
-'\x{8079}\x{807A}\x{807B}\x{807C}\x{807D}\x{807E}\x{807F}\x{8080}\x{8081}' .
-'\x{8082}\x{8083}\x{8084}\x{8085}\x{8086}\x{8087}\x{8089}\x{808A}\x{808B}' .
-'\x{808C}\x{808D}\x{808F}\x{8090}\x{8091}\x{8092}\x{8093}\x{8095}\x{8096}' .
-'\x{8097}\x{8098}\x{8099}\x{809A}\x{809B}\x{809C}\x{809D}\x{809E}\x{809F}' .
-'\x{80A0}\x{80A1}\x{80A2}\x{80A3}\x{80A4}\x{80A5}\x{80A9}\x{80AA}\x{80AB}' .
-'\x{80AD}\x{80AE}\x{80AF}\x{80B0}\x{80B1}\x{80B2}\x{80B4}\x{80B5}\x{80B6}' .
-'\x{80B7}\x{80B8}\x{80BA}\x{80BB}\x{80BC}\x{80BD}\x{80BE}\x{80BF}\x{80C0}' .
-'\x{80C1}\x{80C2}\x{80C3}\x{80C4}\x{80C5}\x{80C6}\x{80C7}\x{80C8}\x{80C9}' .
-'\x{80CA}\x{80CB}\x{80CC}\x{80CD}\x{80CE}\x{80CF}\x{80D0}\x{80D1}\x{80D2}' .
-'\x{80D3}\x{80D4}\x{80D5}\x{80D6}\x{80D7}\x{80D8}\x{80D9}\x{80DA}\x{80DB}' .
-'\x{80DC}\x{80DD}\x{80DE}\x{80E0}\x{80E1}\x{80E2}\x{80E3}\x{80E4}\x{80E5}' .
-'\x{80E6}\x{80E7}\x{80E8}\x{80E9}\x{80EA}\x{80EB}\x{80EC}\x{80ED}\x{80EE}' .
-'\x{80EF}\x{80F0}\x{80F1}\x{80F2}\x{80F3}\x{80F4}\x{80F5}\x{80F6}\x{80F7}' .
-'\x{80F8}\x{80F9}\x{80FA}\x{80FB}\x{80FC}\x{80FD}\x{80FE}\x{80FF}\x{8100}' .
-'\x{8101}\x{8102}\x{8105}\x{8106}\x{8107}\x{8108}\x{8109}\x{810A}\x{810B}' .
-'\x{810C}\x{810D}\x{810E}\x{810F}\x{8110}\x{8111}\x{8112}\x{8113}\x{8114}' .
-'\x{8115}\x{8116}\x{8118}\x{8119}\x{811A}\x{811B}\x{811C}\x{811D}\x{811E}' .
-'\x{811F}\x{8120}\x{8121}\x{8122}\x{8123}\x{8124}\x{8125}\x{8126}\x{8127}' .
-'\x{8128}\x{8129}\x{812A}\x{812B}\x{812C}\x{812D}\x{812E}\x{812F}\x{8130}' .
-'\x{8131}\x{8132}\x{8136}\x{8137}\x{8138}\x{8139}\x{813A}\x{813B}\x{813C}' .
-'\x{813D}\x{813E}\x{813F}\x{8140}\x{8141}\x{8142}\x{8143}\x{8144}\x{8145}' .
-'\x{8146}\x{8147}\x{8148}\x{8149}\x{814A}\x{814B}\x{814C}\x{814D}\x{814E}' .
-'\x{814F}\x{8150}\x{8151}\x{8152}\x{8153}\x{8154}\x{8155}\x{8156}\x{8157}' .
-'\x{8158}\x{8159}\x{815A}\x{815B}\x{815C}\x{815D}\x{815E}\x{8160}\x{8161}' .
-'\x{8162}\x{8163}\x{8164}\x{8165}\x{8166}\x{8167}\x{8168}\x{8169}\x{816A}' .
-'\x{816B}\x{816C}\x{816D}\x{816E}\x{816F}\x{8170}\x{8171}\x{8172}\x{8173}' .
-'\x{8174}\x{8175}\x{8176}\x{8177}\x{8178}\x{8179}\x{817A}\x{817B}\x{817C}' .
-'\x{817D}\x{817E}\x{817F}\x{8180}\x{8181}\x{8182}\x{8183}\x{8185}\x{8186}' .
-'\x{8187}\x{8188}\x{8189}\x{818A}\x{818B}\x{818C}\x{818D}\x{818E}\x{818F}' .
-'\x{8191}\x{8192}\x{8193}\x{8194}\x{8195}\x{8197}\x{8198}\x{8199}\x{819A}' .
-'\x{819B}\x{819C}\x{819D}\x{819E}\x{819F}\x{81A0}\x{81A1}\x{81A2}\x{81A3}' .
-'\x{81A4}\x{81A5}\x{81A6}\x{81A7}\x{81A8}\x{81A9}\x{81AA}\x{81AB}\x{81AC}' .
-'\x{81AD}\x{81AE}\x{81AF}\x{81B0}\x{81B1}\x{81B2}\x{81B3}\x{81B4}\x{81B5}' .
-'\x{81B6}\x{81B7}\x{81B8}\x{81B9}\x{81BA}\x{81BB}\x{81BC}\x{81BD}\x{81BE}' .
-'\x{81BF}\x{81C0}\x{81C1}\x{81C2}\x{81C3}\x{81C4}\x{81C5}\x{81C6}\x{81C7}' .
-'\x{81C8}\x{81C9}\x{81CA}\x{81CC}\x{81CD}\x{81CE}\x{81CF}\x{81D0}\x{81D1}' .
-'\x{81D2}\x{81D4}\x{81D5}\x{81D6}\x{81D7}\x{81D8}\x{81D9}\x{81DA}\x{81DB}' .
-'\x{81DC}\x{81DD}\x{81DE}\x{81DF}\x{81E0}\x{81E1}\x{81E2}\x{81E3}\x{81E5}' .
-'\x{81E6}\x{81E7}\x{81E8}\x{81E9}\x{81EA}\x{81EB}\x{81EC}\x{81ED}\x{81EE}' .
-'\x{81F1}\x{81F2}\x{81F3}\x{81F4}\x{81F5}\x{81F6}\x{81F7}\x{81F8}\x{81F9}' .
-'\x{81FA}\x{81FB}\x{81FC}\x{81FD}\x{81FE}\x{81FF}\x{8200}\x{8201}\x{8202}' .
-'\x{8203}\x{8204}\x{8205}\x{8206}\x{8207}\x{8208}\x{8209}\x{820A}\x{820B}' .
-'\x{820C}\x{820D}\x{820E}\x{820F}\x{8210}\x{8211}\x{8212}\x{8214}\x{8215}' .
-'\x{8216}\x{8218}\x{8219}\x{821A}\x{821B}\x{821C}\x{821D}\x{821E}\x{821F}' .
-'\x{8220}\x{8221}\x{8222}\x{8223}\x{8225}\x{8226}\x{8227}\x{8228}\x{8229}' .
-'\x{822A}\x{822B}\x{822C}\x{822D}\x{822F}\x{8230}\x{8231}\x{8232}\x{8233}' .
-'\x{8234}\x{8235}\x{8236}\x{8237}\x{8238}\x{8239}\x{823A}\x{823B}\x{823C}' .
-'\x{823D}\x{823E}\x{823F}\x{8240}\x{8242}\x{8243}\x{8244}\x{8245}\x{8246}' .
-'\x{8247}\x{8248}\x{8249}\x{824A}\x{824B}\x{824C}\x{824D}\x{824E}\x{824F}' .
-'\x{8250}\x{8251}\x{8252}\x{8253}\x{8254}\x{8255}\x{8256}\x{8257}\x{8258}' .
-'\x{8259}\x{825A}\x{825B}\x{825C}\x{825D}\x{825E}\x{825F}\x{8260}\x{8261}' .
-'\x{8263}\x{8264}\x{8266}\x{8267}\x{8268}\x{8269}\x{826A}\x{826B}\x{826C}' .
-'\x{826D}\x{826E}\x{826F}\x{8270}\x{8271}\x{8272}\x{8273}\x{8274}\x{8275}' .
-'\x{8276}\x{8277}\x{8278}\x{8279}\x{827A}\x{827B}\x{827C}\x{827D}\x{827E}' .
-'\x{827F}\x{8280}\x{8281}\x{8282}\x{8283}\x{8284}\x{8285}\x{8286}\x{8287}' .
-'\x{8288}\x{8289}\x{828A}\x{828B}\x{828D}\x{828E}\x{828F}\x{8290}\x{8291}' .
-'\x{8292}\x{8293}\x{8294}\x{8295}\x{8296}\x{8297}\x{8298}\x{8299}\x{829A}' .
-'\x{829B}\x{829C}\x{829D}\x{829E}\x{829F}\x{82A0}\x{82A1}\x{82A2}\x{82A3}' .
-'\x{82A4}\x{82A5}\x{82A6}\x{82A7}\x{82A8}\x{82A9}\x{82AA}\x{82AB}\x{82AC}' .
-'\x{82AD}\x{82AE}\x{82AF}\x{82B0}\x{82B1}\x{82B3}\x{82B4}\x{82B5}\x{82B6}' .
-'\x{82B7}\x{82B8}\x{82B9}\x{82BA}\x{82BB}\x{82BC}\x{82BD}\x{82BE}\x{82BF}' .
-'\x{82C0}\x{82C1}\x{82C2}\x{82C3}\x{82C4}\x{82C5}\x{82C6}\x{82C7}\x{82C8}' .
-'\x{82C9}\x{82CA}\x{82CB}\x{82CC}\x{82CD}\x{82CE}\x{82CF}\x{82D0}\x{82D1}' .
-'\x{82D2}\x{82D3}\x{82D4}\x{82D5}\x{82D6}\x{82D7}\x{82D8}\x{82D9}\x{82DA}' .
-'\x{82DB}\x{82DC}\x{82DD}\x{82DE}\x{82DF}\x{82E0}\x{82E1}\x{82E3}\x{82E4}' .
-'\x{82E5}\x{82E6}\x{82E7}\x{82E8}\x{82E9}\x{82EA}\x{82EB}\x{82EC}\x{82ED}' .
-'\x{82EE}\x{82EF}\x{82F0}\x{82F1}\x{82F2}\x{82F3}\x{82F4}\x{82F5}\x{82F6}' .
-'\x{82F7}\x{82F8}\x{82F9}\x{82FA}\x{82FB}\x{82FD}\x{82FE}\x{82FF}\x{8300}' .
-'\x{8301}\x{8302}\x{8303}\x{8304}\x{8305}\x{8306}\x{8307}\x{8308}\x{8309}' .
-'\x{830B}\x{830C}\x{830D}\x{830E}\x{830F}\x{8311}\x{8312}\x{8313}\x{8314}' .
-'\x{8315}\x{8316}\x{8317}\x{8318}\x{8319}\x{831A}\x{831B}\x{831C}\x{831D}' .
-'\x{831E}\x{831F}\x{8320}\x{8321}\x{8322}\x{8323}\x{8324}\x{8325}\x{8326}' .
-'\x{8327}\x{8328}\x{8329}\x{832A}\x{832B}\x{832C}\x{832D}\x{832E}\x{832F}' .
-'\x{8331}\x{8332}\x{8333}\x{8334}\x{8335}\x{8336}\x{8337}\x{8338}\x{8339}' .
-'\x{833A}\x{833B}\x{833C}\x{833D}\x{833E}\x{833F}\x{8340}\x{8341}\x{8342}' .
-'\x{8343}\x{8344}\x{8345}\x{8346}\x{8347}\x{8348}\x{8349}\x{834A}\x{834B}' .
-'\x{834C}\x{834D}\x{834E}\x{834F}\x{8350}\x{8351}\x{8352}\x{8353}\x{8354}' .
-'\x{8356}\x{8357}\x{8358}\x{8359}\x{835A}\x{835B}\x{835C}\x{835D}\x{835E}' .
-'\x{835F}\x{8360}\x{8361}\x{8362}\x{8363}\x{8364}\x{8365}\x{8366}\x{8367}' .
-'\x{8368}\x{8369}\x{836A}\x{836B}\x{836C}\x{836D}\x{836E}\x{836F}\x{8370}' .
-'\x{8371}\x{8372}\x{8373}\x{8374}\x{8375}\x{8376}\x{8377}\x{8378}\x{8379}' .
-'\x{837A}\x{837B}\x{837C}\x{837D}\x{837E}\x{837F}\x{8380}\x{8381}\x{8382}' .
-'\x{8383}\x{8384}\x{8385}\x{8386}\x{8387}\x{8388}\x{8389}\x{838A}\x{838B}' .
-'\x{838C}\x{838D}\x{838E}\x{838F}\x{8390}\x{8391}\x{8392}\x{8393}\x{8394}' .
-'\x{8395}\x{8396}\x{8397}\x{8398}\x{8399}\x{839A}\x{839B}\x{839C}\x{839D}' .
-'\x{839E}\x{83A0}\x{83A1}\x{83A2}\x{83A3}\x{83A4}\x{83A5}\x{83A6}\x{83A7}' .
-'\x{83A8}\x{83A9}\x{83AA}\x{83AB}\x{83AC}\x{83AD}\x{83AE}\x{83AF}\x{83B0}' .
-'\x{83B1}\x{83B2}\x{83B3}\x{83B4}\x{83B6}\x{83B7}\x{83B8}\x{83B9}\x{83BA}' .
-'\x{83BB}\x{83BC}\x{83BD}\x{83BF}\x{83C0}\x{83C1}\x{83C2}\x{83C3}\x{83C4}' .
-'\x{83C5}\x{83C6}\x{83C7}\x{83C8}\x{83C9}\x{83CA}\x{83CB}\x{83CC}\x{83CD}' .
-'\x{83CE}\x{83CF}\x{83D0}\x{83D1}\x{83D2}\x{83D3}\x{83D4}\x{83D5}\x{83D6}' .
-'\x{83D7}\x{83D8}\x{83D9}\x{83DA}\x{83DB}\x{83DC}\x{83DD}\x{83DE}\x{83DF}' .
-'\x{83E0}\x{83E1}\x{83E2}\x{83E3}\x{83E4}\x{83E5}\x{83E7}\x{83E8}\x{83E9}' .
-'\x{83EA}\x{83EB}\x{83EC}\x{83EE}\x{83EF}\x{83F0}\x{83F1}\x{83F2}\x{83F3}' .
-'\x{83F4}\x{83F5}\x{83F6}\x{83F7}\x{83F8}\x{83F9}\x{83FA}\x{83FB}\x{83FC}' .
-'\x{83FD}\x{83FE}\x{83FF}\x{8400}\x{8401}\x{8402}\x{8403}\x{8404}\x{8405}' .
-'\x{8406}\x{8407}\x{8408}\x{8409}\x{840A}\x{840B}\x{840C}\x{840D}\x{840E}' .
-'\x{840F}\x{8410}\x{8411}\x{8412}\x{8413}\x{8415}\x{8418}\x{8419}\x{841A}' .
-'\x{841B}\x{841C}\x{841D}\x{841E}\x{8421}\x{8422}\x{8423}\x{8424}\x{8425}' .
-'\x{8426}\x{8427}\x{8428}\x{8429}\x{842A}\x{842B}\x{842C}\x{842D}\x{842E}' .
-'\x{842F}\x{8430}\x{8431}\x{8432}\x{8433}\x{8434}\x{8435}\x{8436}\x{8437}' .
-'\x{8438}\x{8439}\x{843A}\x{843B}\x{843C}\x{843D}\x{843E}\x{843F}\x{8440}' .
-'\x{8441}\x{8442}\x{8443}\x{8444}\x{8445}\x{8446}\x{8447}\x{8448}\x{8449}' .
-'\x{844A}\x{844B}\x{844C}\x{844D}\x{844E}\x{844F}\x{8450}\x{8451}\x{8452}' .
-'\x{8453}\x{8454}\x{8455}\x{8456}\x{8457}\x{8459}\x{845A}\x{845B}\x{845C}' .
-'\x{845D}\x{845E}\x{845F}\x{8460}\x{8461}\x{8462}\x{8463}\x{8464}\x{8465}' .
-'\x{8466}\x{8467}\x{8468}\x{8469}\x{846A}\x{846B}\x{846C}\x{846D}\x{846E}' .
-'\x{846F}\x{8470}\x{8471}\x{8472}\x{8473}\x{8474}\x{8475}\x{8476}\x{8477}' .
-'\x{8478}\x{8479}\x{847A}\x{847B}\x{847C}\x{847D}\x{847E}\x{847F}\x{8480}' .
-'\x{8481}\x{8482}\x{8484}\x{8485}\x{8486}\x{8487}\x{8488}\x{8489}\x{848A}' .
-'\x{848B}\x{848C}\x{848D}\x{848E}\x{848F}\x{8490}\x{8491}\x{8492}\x{8493}' .
-'\x{8494}\x{8496}\x{8497}\x{8498}\x{8499}\x{849A}\x{849B}\x{849C}\x{849D}' .
-'\x{849E}\x{849F}\x{84A0}\x{84A1}\x{84A2}\x{84A3}\x{84A4}\x{84A5}\x{84A6}' .
-'\x{84A7}\x{84A8}\x{84A9}\x{84AA}\x{84AB}\x{84AC}\x{84AE}\x{84AF}\x{84B0}' .
-'\x{84B1}\x{84B2}\x{84B3}\x{84B4}\x{84B5}\x{84B6}\x{84B8}\x{84B9}\x{84BA}' .
-'\x{84BB}\x{84BC}\x{84BD}\x{84BE}\x{84BF}\x{84C0}\x{84C1}\x{84C2}\x{84C4}' .
-'\x{84C5}\x{84C6}\x{84C7}\x{84C8}\x{84C9}\x{84CA}\x{84CB}\x{84CC}\x{84CD}' .
-'\x{84CE}\x{84CF}\x{84D0}\x{84D1}\x{84D2}\x{84D3}\x{84D4}\x{84D5}\x{84D6}' .
-'\x{84D7}\x{84D8}\x{84D9}\x{84DB}\x{84DC}\x{84DD}\x{84DE}\x{84DF}\x{84E0}' .
-'\x{84E1}\x{84E2}\x{84E3}\x{84E4}\x{84E5}\x{84E6}\x{84E7}\x{84E8}\x{84E9}' .
-'\x{84EA}\x{84EB}\x{84EC}\x{84EE}\x{84EF}\x{84F0}\x{84F1}\x{84F2}\x{84F3}' .
-'\x{84F4}\x{84F5}\x{84F6}\x{84F7}\x{84F8}\x{84F9}\x{84FA}\x{84FB}\x{84FC}' .
-'\x{84FD}\x{84FE}\x{84FF}\x{8500}\x{8501}\x{8502}\x{8503}\x{8504}\x{8506}' .
-'\x{8507}\x{8508}\x{8509}\x{850A}\x{850B}\x{850C}\x{850D}\x{850E}\x{850F}' .
-'\x{8511}\x{8512}\x{8513}\x{8514}\x{8515}\x{8516}\x{8517}\x{8518}\x{8519}' .
-'\x{851A}\x{851B}\x{851C}\x{851D}\x{851E}\x{851F}\x{8520}\x{8521}\x{8522}' .
-'\x{8523}\x{8524}\x{8525}\x{8526}\x{8527}\x{8528}\x{8529}\x{852A}\x{852B}' .
-'\x{852C}\x{852D}\x{852E}\x{852F}\x{8530}\x{8531}\x{8534}\x{8535}\x{8536}' .
-'\x{8537}\x{8538}\x{8539}\x{853A}\x{853B}\x{853C}\x{853D}\x{853E}\x{853F}' .
-'\x{8540}\x{8541}\x{8542}\x{8543}\x{8544}\x{8545}\x{8546}\x{8547}\x{8548}' .
-'\x{8549}\x{854A}\x{854B}\x{854D}\x{854E}\x{854F}\x{8551}\x{8552}\x{8553}' .
-'\x{8554}\x{8555}\x{8556}\x{8557}\x{8558}\x{8559}\x{855A}\x{855B}\x{855C}' .
-'\x{855D}\x{855E}\x{855F}\x{8560}\x{8561}\x{8562}\x{8563}\x{8564}\x{8565}' .
-'\x{8566}\x{8567}\x{8568}\x{8569}\x{856A}\x{856B}\x{856C}\x{856D}\x{856E}' .
-'\x{856F}\x{8570}\x{8571}\x{8572}\x{8573}\x{8574}\x{8575}\x{8576}\x{8577}' .
-'\x{8578}\x{8579}\x{857A}\x{857B}\x{857C}\x{857D}\x{857E}\x{8580}\x{8581}' .
-'\x{8582}\x{8583}\x{8584}\x{8585}\x{8586}\x{8587}\x{8588}\x{8589}\x{858A}' .
-'\x{858B}\x{858C}\x{858D}\x{858E}\x{858F}\x{8590}\x{8591}\x{8592}\x{8594}' .
-'\x{8595}\x{8596}\x{8598}\x{8599}\x{859A}\x{859B}\x{859C}\x{859D}\x{859E}' .
-'\x{859F}\x{85A0}\x{85A1}\x{85A2}\x{85A3}\x{85A4}\x{85A5}\x{85A6}\x{85A7}' .
-'\x{85A8}\x{85A9}\x{85AA}\x{85AB}\x{85AC}\x{85AD}\x{85AE}\x{85AF}\x{85B0}' .
-'\x{85B1}\x{85B3}\x{85B4}\x{85B5}\x{85B6}\x{85B7}\x{85B8}\x{85B9}\x{85BA}' .
-'\x{85BC}\x{85BD}\x{85BE}\x{85BF}\x{85C0}\x{85C1}\x{85C2}\x{85C3}\x{85C4}' .
-'\x{85C5}\x{85C6}\x{85C7}\x{85C8}\x{85C9}\x{85CA}\x{85CB}\x{85CD}\x{85CE}' .
-'\x{85CF}\x{85D0}\x{85D1}\x{85D2}\x{85D3}\x{85D4}\x{85D5}\x{85D6}\x{85D7}' .
-'\x{85D8}\x{85D9}\x{85DA}\x{85DB}\x{85DC}\x{85DD}\x{85DE}\x{85DF}\x{85E0}' .
-'\x{85E1}\x{85E2}\x{85E3}\x{85E4}\x{85E5}\x{85E6}\x{85E7}\x{85E8}\x{85E9}' .
-'\x{85EA}\x{85EB}\x{85EC}\x{85ED}\x{85EF}\x{85F0}\x{85F1}\x{85F2}\x{85F4}' .
-'\x{85F5}\x{85F6}\x{85F7}\x{85F8}\x{85F9}\x{85FA}\x{85FB}\x{85FD}\x{85FE}' .
-'\x{85FF}\x{8600}\x{8601}\x{8602}\x{8604}\x{8605}\x{8606}\x{8607}\x{8608}' .
-'\x{8609}\x{860A}\x{860B}\x{860C}\x{860F}\x{8611}\x{8612}\x{8613}\x{8614}' .
-'\x{8616}\x{8617}\x{8618}\x{8619}\x{861A}\x{861B}\x{861C}\x{861E}\x{861F}' .
-'\x{8620}\x{8621}\x{8622}\x{8623}\x{8624}\x{8625}\x{8626}\x{8627}\x{8628}' .
-'\x{8629}\x{862A}\x{862B}\x{862C}\x{862D}\x{862E}\x{862F}\x{8630}\x{8631}' .
-'\x{8632}\x{8633}\x{8634}\x{8635}\x{8636}\x{8638}\x{8639}\x{863A}\x{863B}' .
-'\x{863C}\x{863D}\x{863E}\x{863F}\x{8640}\x{8641}\x{8642}\x{8643}\x{8644}' .
-'\x{8645}\x{8646}\x{8647}\x{8648}\x{8649}\x{864A}\x{864B}\x{864C}\x{864D}' .
-'\x{864E}\x{864F}\x{8650}\x{8651}\x{8652}\x{8653}\x{8654}\x{8655}\x{8656}' .
-'\x{8658}\x{8659}\x{865A}\x{865B}\x{865C}\x{865D}\x{865E}\x{865F}\x{8660}' .
-'\x{8661}\x{8662}\x{8663}\x{8664}\x{8665}\x{8666}\x{8667}\x{8668}\x{8669}' .
-'\x{866A}\x{866B}\x{866C}\x{866D}\x{866E}\x{866F}\x{8670}\x{8671}\x{8672}' .
-'\x{8673}\x{8674}\x{8676}\x{8677}\x{8678}\x{8679}\x{867A}\x{867B}\x{867C}' .
-'\x{867D}\x{867E}\x{867F}\x{8680}\x{8681}\x{8682}\x{8683}\x{8684}\x{8685}' .
-'\x{8686}\x{8687}\x{8688}\x{868A}\x{868B}\x{868C}\x{868D}\x{868E}\x{868F}' .
-'\x{8690}\x{8691}\x{8693}\x{8694}\x{8695}\x{8696}\x{8697}\x{8698}\x{8699}' .
-'\x{869A}\x{869B}\x{869C}\x{869D}\x{869E}\x{869F}\x{86A1}\x{86A2}\x{86A3}' .
-'\x{86A4}\x{86A5}\x{86A7}\x{86A8}\x{86A9}\x{86AA}\x{86AB}\x{86AC}\x{86AD}' .
-'\x{86AE}\x{86AF}\x{86B0}\x{86B1}\x{86B2}\x{86B3}\x{86B4}\x{86B5}\x{86B6}' .
-'\x{86B7}\x{86B8}\x{86B9}\x{86BA}\x{86BB}\x{86BC}\x{86BD}\x{86BE}\x{86BF}' .
-'\x{86C0}\x{86C1}\x{86C2}\x{86C3}\x{86C4}\x{86C5}\x{86C6}\x{86C7}\x{86C8}' .
-'\x{86C9}\x{86CA}\x{86CB}\x{86CC}\x{86CE}\x{86CF}\x{86D0}\x{86D1}\x{86D2}' .
-'\x{86D3}\x{86D4}\x{86D6}\x{86D7}\x{86D8}\x{86D9}\x{86DA}\x{86DB}\x{86DC}' .
-'\x{86DD}\x{86DE}\x{86DF}\x{86E1}\x{86E2}\x{86E3}\x{86E4}\x{86E5}\x{86E6}' .
-'\x{86E8}\x{86E9}\x{86EA}\x{86EB}\x{86EC}\x{86ED}\x{86EE}\x{86EF}\x{86F0}' .
-'\x{86F1}\x{86F2}\x{86F3}\x{86F4}\x{86F5}\x{86F6}\x{86F7}\x{86F8}\x{86F9}' .
-'\x{86FA}\x{86FB}\x{86FC}\x{86FE}\x{86FF}\x{8700}\x{8701}\x{8702}\x{8703}' .
-'\x{8704}\x{8705}\x{8706}\x{8707}\x{8708}\x{8709}\x{870A}\x{870B}\x{870C}' .
-'\x{870D}\x{870E}\x{870F}\x{8710}\x{8711}\x{8712}\x{8713}\x{8714}\x{8715}' .
-'\x{8716}\x{8717}\x{8718}\x{8719}\x{871A}\x{871B}\x{871C}\x{871E}\x{871F}' .
-'\x{8720}\x{8721}\x{8722}\x{8723}\x{8724}\x{8725}\x{8726}\x{8727}\x{8728}' .
-'\x{8729}\x{872A}\x{872B}\x{872C}\x{872D}\x{872E}\x{8730}\x{8731}\x{8732}' .
-'\x{8733}\x{8734}\x{8735}\x{8736}\x{8737}\x{8738}\x{8739}\x{873A}\x{873B}' .
-'\x{873C}\x{873E}\x{873F}\x{8740}\x{8741}\x{8742}\x{8743}\x{8744}\x{8746}' .
-'\x{8747}\x{8748}\x{8749}\x{874A}\x{874C}\x{874D}\x{874E}\x{874F}\x{8750}' .
-'\x{8751}\x{8752}\x{8753}\x{8754}\x{8755}\x{8756}\x{8757}\x{8758}\x{8759}' .
-'\x{875A}\x{875B}\x{875C}\x{875D}\x{875E}\x{875F}\x{8760}\x{8761}\x{8762}' .
-'\x{8763}\x{8764}\x{8765}\x{8766}\x{8767}\x{8768}\x{8769}\x{876A}\x{876B}' .
-'\x{876C}\x{876D}\x{876E}\x{876F}\x{8770}\x{8772}\x{8773}\x{8774}\x{8775}' .
-'\x{8776}\x{8777}\x{8778}\x{8779}\x{877A}\x{877B}\x{877C}\x{877D}\x{877E}' .
-'\x{8780}\x{8781}\x{8782}\x{8783}\x{8784}\x{8785}\x{8786}\x{8787}\x{8788}' .
-'\x{8789}\x{878A}\x{878B}\x{878C}\x{878D}\x{878F}\x{8790}\x{8791}\x{8792}' .
-'\x{8793}\x{8794}\x{8795}\x{8796}\x{8797}\x{8798}\x{879A}\x{879B}\x{879C}' .
-'\x{879D}\x{879E}\x{879F}\x{87A0}\x{87A1}\x{87A2}\x{87A3}\x{87A4}\x{87A5}' .
-'\x{87A6}\x{87A7}\x{87A8}\x{87A9}\x{87AA}\x{87AB}\x{87AC}\x{87AD}\x{87AE}' .
-'\x{87AF}\x{87B0}\x{87B1}\x{87B2}\x{87B3}\x{87B4}\x{87B5}\x{87B6}\x{87B7}' .
-'\x{87B8}\x{87B9}\x{87BA}\x{87BB}\x{87BC}\x{87BD}\x{87BE}\x{87BF}\x{87C0}' .
-'\x{87C1}\x{87C2}\x{87C3}\x{87C4}\x{87C5}\x{87C6}\x{87C7}\x{87C8}\x{87C9}' .
-'\x{87CA}\x{87CB}\x{87CC}\x{87CD}\x{87CE}\x{87CF}\x{87D0}\x{87D1}\x{87D2}' .
-'\x{87D3}\x{87D4}\x{87D5}\x{87D6}\x{87D7}\x{87D8}\x{87D9}\x{87DB}\x{87DC}' .
-'\x{87DD}\x{87DE}\x{87DF}\x{87E0}\x{87E1}\x{87E2}\x{87E3}\x{87E4}\x{87E5}' .
-'\x{87E6}\x{87E7}\x{87E8}\x{87E9}\x{87EA}\x{87EB}\x{87EC}\x{87ED}\x{87EE}' .
-'\x{87EF}\x{87F1}\x{87F2}\x{87F3}\x{87F4}\x{87F5}\x{87F6}\x{87F7}\x{87F8}' .
-'\x{87F9}\x{87FA}\x{87FB}\x{87FC}\x{87FD}\x{87FE}\x{87FF}\x{8800}\x{8801}' .
-'\x{8802}\x{8803}\x{8804}\x{8805}\x{8806}\x{8808}\x{8809}\x{880A}\x{880B}' .
-'\x{880C}\x{880D}\x{880E}\x{880F}\x{8810}\x{8811}\x{8813}\x{8814}\x{8815}' .
-'\x{8816}\x{8817}\x{8818}\x{8819}\x{881A}\x{881B}\x{881C}\x{881D}\x{881E}' .
-'\x{881F}\x{8820}\x{8821}\x{8822}\x{8823}\x{8824}\x{8825}\x{8826}\x{8827}' .
-'\x{8828}\x{8829}\x{882A}\x{882B}\x{882C}\x{882E}\x{882F}\x{8830}\x{8831}' .
-'\x{8832}\x{8833}\x{8834}\x{8835}\x{8836}\x{8837}\x{8838}\x{8839}\x{883B}' .
-'\x{883C}\x{883D}\x{883E}\x{883F}\x{8840}\x{8841}\x{8842}\x{8843}\x{8844}' .
-'\x{8845}\x{8846}\x{8848}\x{8849}\x{884A}\x{884B}\x{884C}\x{884D}\x{884E}' .
-'\x{884F}\x{8850}\x{8851}\x{8852}\x{8853}\x{8854}\x{8855}\x{8856}\x{8857}' .
-'\x{8859}\x{885A}\x{885B}\x{885D}\x{885E}\x{8860}\x{8861}\x{8862}\x{8863}' .
-'\x{8864}\x{8865}\x{8866}\x{8867}\x{8868}\x{8869}\x{886A}\x{886B}\x{886C}' .
-'\x{886D}\x{886E}\x{886F}\x{8870}\x{8871}\x{8872}\x{8873}\x{8874}\x{8875}' .
-'\x{8876}\x{8877}\x{8878}\x{8879}\x{887B}\x{887C}\x{887D}\x{887E}\x{887F}' .
-'\x{8880}\x{8881}\x{8882}\x{8883}\x{8884}\x{8885}\x{8886}\x{8887}\x{8888}' .
-'\x{8889}\x{888A}\x{888B}\x{888C}\x{888D}\x{888E}\x{888F}\x{8890}\x{8891}' .
-'\x{8892}\x{8893}\x{8894}\x{8895}\x{8896}\x{8897}\x{8898}\x{8899}\x{889A}' .
-'\x{889B}\x{889C}\x{889D}\x{889E}\x{889F}\x{88A0}\x{88A1}\x{88A2}\x{88A3}' .
-'\x{88A4}\x{88A5}\x{88A6}\x{88A7}\x{88A8}\x{88A9}\x{88AA}\x{88AB}\x{88AC}' .
-'\x{88AD}\x{88AE}\x{88AF}\x{88B0}\x{88B1}\x{88B2}\x{88B3}\x{88B4}\x{88B6}' .
-'\x{88B7}\x{88B8}\x{88B9}\x{88BA}\x{88BB}\x{88BC}\x{88BD}\x{88BE}\x{88BF}' .
-'\x{88C0}\x{88C1}\x{88C2}\x{88C3}\x{88C4}\x{88C5}\x{88C6}\x{88C7}\x{88C8}' .
-'\x{88C9}\x{88CA}\x{88CB}\x{88CC}\x{88CD}\x{88CE}\x{88CF}\x{88D0}\x{88D1}' .
-'\x{88D2}\x{88D3}\x{88D4}\x{88D5}\x{88D6}\x{88D7}\x{88D8}\x{88D9}\x{88DA}' .
-'\x{88DB}\x{88DC}\x{88DD}\x{88DE}\x{88DF}\x{88E0}\x{88E1}\x{88E2}\x{88E3}' .
-'\x{88E4}\x{88E5}\x{88E7}\x{88E8}\x{88EA}\x{88EB}\x{88EC}\x{88EE}\x{88EF}' .
-'\x{88F0}\x{88F1}\x{88F2}\x{88F3}\x{88F4}\x{88F5}\x{88F6}\x{88F7}\x{88F8}' .
-'\x{88F9}\x{88FA}\x{88FB}\x{88FC}\x{88FD}\x{88FE}\x{88FF}\x{8900}\x{8901}' .
-'\x{8902}\x{8904}\x{8905}\x{8906}\x{8907}\x{8908}\x{8909}\x{890A}\x{890B}' .
-'\x{890C}\x{890D}\x{890E}\x{8910}\x{8911}\x{8912}\x{8913}\x{8914}\x{8915}' .
-'\x{8916}\x{8917}\x{8918}\x{8919}\x{891A}\x{891B}\x{891C}\x{891D}\x{891E}' .
-'\x{891F}\x{8920}\x{8921}\x{8922}\x{8923}\x{8925}\x{8926}\x{8927}\x{8928}' .
-'\x{8929}\x{892A}\x{892B}\x{892C}\x{892D}\x{892E}\x{892F}\x{8930}\x{8931}' .
-'\x{8932}\x{8933}\x{8934}\x{8935}\x{8936}\x{8937}\x{8938}\x{8939}\x{893A}' .
-'\x{893B}\x{893C}\x{893D}\x{893E}\x{893F}\x{8940}\x{8941}\x{8942}\x{8943}' .
-'\x{8944}\x{8945}\x{8946}\x{8947}\x{8948}\x{8949}\x{894A}\x{894B}\x{894C}' .
-'\x{894E}\x{894F}\x{8950}\x{8951}\x{8952}\x{8953}\x{8954}\x{8955}\x{8956}' .
-'\x{8957}\x{8958}\x{8959}\x{895A}\x{895B}\x{895C}\x{895D}\x{895E}\x{895F}' .
-'\x{8960}\x{8961}\x{8962}\x{8963}\x{8964}\x{8966}\x{8967}\x{8968}\x{8969}' .
-'\x{896A}\x{896B}\x{896C}\x{896D}\x{896E}\x{896F}\x{8970}\x{8971}\x{8972}' .
-'\x{8973}\x{8974}\x{8976}\x{8977}\x{8978}\x{8979}\x{897A}\x{897B}\x{897C}' .
-'\x{897E}\x{897F}\x{8980}\x{8981}\x{8982}\x{8983}\x{8984}\x{8985}\x{8986}' .
-'\x{8987}\x{8988}\x{8989}\x{898A}\x{898B}\x{898C}\x{898E}\x{898F}\x{8991}' .
-'\x{8992}\x{8993}\x{8995}\x{8996}\x{8997}\x{8998}\x{899A}\x{899B}\x{899C}' .
-'\x{899D}\x{899E}\x{899F}\x{89A0}\x{89A1}\x{89A2}\x{89A3}\x{89A4}\x{89A5}' .
-'\x{89A6}\x{89A7}\x{89A8}\x{89AA}\x{89AB}\x{89AC}\x{89AD}\x{89AE}\x{89AF}' .
-'\x{89B1}\x{89B2}\x{89B3}\x{89B5}\x{89B6}\x{89B7}\x{89B8}\x{89B9}\x{89BA}' .
-'\x{89BD}\x{89BE}\x{89BF}\x{89C0}\x{89C1}\x{89C2}\x{89C3}\x{89C4}\x{89C5}' .
-'\x{89C6}\x{89C7}\x{89C8}\x{89C9}\x{89CA}\x{89CB}\x{89CC}\x{89CD}\x{89CE}' .
-'\x{89CF}\x{89D0}\x{89D1}\x{89D2}\x{89D3}\x{89D4}\x{89D5}\x{89D6}\x{89D7}' .
-'\x{89D8}\x{89D9}\x{89DA}\x{89DB}\x{89DC}\x{89DD}\x{89DE}\x{89DF}\x{89E0}' .
-'\x{89E1}\x{89E2}\x{89E3}\x{89E4}\x{89E5}\x{89E6}\x{89E7}\x{89E8}\x{89E9}' .
-'\x{89EA}\x{89EB}\x{89EC}\x{89ED}\x{89EF}\x{89F0}\x{89F1}\x{89F2}\x{89F3}' .
-'\x{89F4}\x{89F6}\x{89F7}\x{89F8}\x{89FA}\x{89FB}\x{89FC}\x{89FE}\x{89FF}' .
-'\x{8A00}\x{8A01}\x{8A02}\x{8A03}\x{8A04}\x{8A07}\x{8A08}\x{8A09}\x{8A0A}' .
-'\x{8A0B}\x{8A0C}\x{8A0D}\x{8A0E}\x{8A0F}\x{8A10}\x{8A11}\x{8A12}\x{8A13}' .
-'\x{8A15}\x{8A16}\x{8A17}\x{8A18}\x{8A1A}\x{8A1B}\x{8A1C}\x{8A1D}\x{8A1E}' .
-'\x{8A1F}\x{8A22}\x{8A23}\x{8A24}\x{8A25}\x{8A26}\x{8A27}\x{8A28}\x{8A29}' .
-'\x{8A2A}\x{8A2C}\x{8A2D}\x{8A2E}\x{8A2F}\x{8A30}\x{8A31}\x{8A32}\x{8A34}' .
-'\x{8A35}\x{8A36}\x{8A37}\x{8A38}\x{8A39}\x{8A3A}\x{8A3B}\x{8A3C}\x{8A3E}' .
-'\x{8A3F}\x{8A40}\x{8A41}\x{8A42}\x{8A43}\x{8A44}\x{8A45}\x{8A46}\x{8A47}' .
-'\x{8A48}\x{8A49}\x{8A4A}\x{8A4C}\x{8A4D}\x{8A4E}\x{8A4F}\x{8A50}\x{8A51}' .
-'\x{8A52}\x{8A53}\x{8A54}\x{8A55}\x{8A56}\x{8A57}\x{8A58}\x{8A59}\x{8A5A}' .
-'\x{8A5B}\x{8A5C}\x{8A5D}\x{8A5E}\x{8A5F}\x{8A60}\x{8A61}\x{8A62}\x{8A63}' .
-'\x{8A65}\x{8A66}\x{8A67}\x{8A68}\x{8A69}\x{8A6A}\x{8A6B}\x{8A6C}\x{8A6D}' .
-'\x{8A6E}\x{8A6F}\x{8A70}\x{8A71}\x{8A72}\x{8A73}\x{8A74}\x{8A75}\x{8A76}' .
-'\x{8A77}\x{8A79}\x{8A7A}\x{8A7B}\x{8A7C}\x{8A7E}\x{8A7F}\x{8A80}\x{8A81}' .
-'\x{8A82}\x{8A83}\x{8A84}\x{8A85}\x{8A86}\x{8A87}\x{8A89}\x{8A8A}\x{8A8B}' .
-'\x{8A8C}\x{8A8D}\x{8A8E}\x{8A8F}\x{8A90}\x{8A91}\x{8A92}\x{8A93}\x{8A94}' .
-'\x{8A95}\x{8A96}\x{8A97}\x{8A98}\x{8A99}\x{8A9A}\x{8A9B}\x{8A9C}\x{8A9D}' .
-'\x{8A9E}\x{8AA0}\x{8AA1}\x{8AA2}\x{8AA3}\x{8AA4}\x{8AA5}\x{8AA6}\x{8AA7}' .
-'\x{8AA8}\x{8AA9}\x{8AAA}\x{8AAB}\x{8AAC}\x{8AAE}\x{8AB0}\x{8AB1}\x{8AB2}' .
-'\x{8AB3}\x{8AB4}\x{8AB5}\x{8AB6}\x{8AB8}\x{8AB9}\x{8ABA}\x{8ABB}\x{8ABC}' .
-'\x{8ABD}\x{8ABE}\x{8ABF}\x{8AC0}\x{8AC1}\x{8AC2}\x{8AC3}\x{8AC4}\x{8AC5}' .
-'\x{8AC6}\x{8AC7}\x{8AC8}\x{8AC9}\x{8ACA}\x{8ACB}\x{8ACC}\x{8ACD}\x{8ACE}' .
-'\x{8ACF}\x{8AD1}\x{8AD2}\x{8AD3}\x{8AD4}\x{8AD5}\x{8AD6}\x{8AD7}\x{8AD8}' .
-'\x{8AD9}\x{8ADA}\x{8ADB}\x{8ADC}\x{8ADD}\x{8ADE}\x{8ADF}\x{8AE0}\x{8AE1}' .
-'\x{8AE2}\x{8AE3}\x{8AE4}\x{8AE5}\x{8AE6}\x{8AE7}\x{8AE8}\x{8AE9}\x{8AEA}' .
-'\x{8AEB}\x{8AED}\x{8AEE}\x{8AEF}\x{8AF0}\x{8AF1}\x{8AF2}\x{8AF3}\x{8AF4}' .
-'\x{8AF5}\x{8AF6}\x{8AF7}\x{8AF8}\x{8AF9}\x{8AFA}\x{8AFB}\x{8AFC}\x{8AFD}' .
-'\x{8AFE}\x{8AFF}\x{8B00}\x{8B01}\x{8B02}\x{8B03}\x{8B04}\x{8B05}\x{8B06}' .
-'\x{8B07}\x{8B08}\x{8B09}\x{8B0A}\x{8B0B}\x{8B0D}\x{8B0E}\x{8B0F}\x{8B10}' .
-'\x{8B11}\x{8B12}\x{8B13}\x{8B14}\x{8B15}\x{8B16}\x{8B17}\x{8B18}\x{8B19}' .
-'\x{8B1A}\x{8B1B}\x{8B1C}\x{8B1D}\x{8B1E}\x{8B1F}\x{8B20}\x{8B21}\x{8B22}' .
-'\x{8B23}\x{8B24}\x{8B25}\x{8B26}\x{8B27}\x{8B28}\x{8B2A}\x{8B2B}\x{8B2C}' .
-'\x{8B2D}\x{8B2E}\x{8B2F}\x{8B30}\x{8B31}\x{8B33}\x{8B34}\x{8B35}\x{8B36}' .
-'\x{8B37}\x{8B39}\x{8B3A}\x{8B3B}\x{8B3C}\x{8B3D}\x{8B3E}\x{8B40}\x{8B41}' .
-'\x{8B42}\x{8B43}\x{8B44}\x{8B45}\x{8B46}\x{8B47}\x{8B48}\x{8B49}\x{8B4A}' .
-'\x{8B4B}\x{8B4C}\x{8B4D}\x{8B4E}\x{8B4F}\x{8B50}\x{8B51}\x{8B52}\x{8B53}' .
-'\x{8B54}\x{8B55}\x{8B56}\x{8B57}\x{8B58}\x{8B59}\x{8B5A}\x{8B5B}\x{8B5C}' .
-'\x{8B5D}\x{8B5E}\x{8B5F}\x{8B60}\x{8B63}\x{8B64}\x{8B65}\x{8B66}\x{8B67}' .
-'\x{8B68}\x{8B6A}\x{8B6B}\x{8B6C}\x{8B6D}\x{8B6E}\x{8B6F}\x{8B70}\x{8B71}' .
-'\x{8B73}\x{8B74}\x{8B76}\x{8B77}\x{8B78}\x{8B79}\x{8B7A}\x{8B7B}\x{8B7D}' .
-'\x{8B7E}\x{8B7F}\x{8B80}\x{8B82}\x{8B83}\x{8B84}\x{8B85}\x{8B86}\x{8B88}' .
-'\x{8B89}\x{8B8A}\x{8B8B}\x{8B8C}\x{8B8E}\x{8B90}\x{8B91}\x{8B92}\x{8B93}' .
-'\x{8B94}\x{8B95}\x{8B96}\x{8B97}\x{8B98}\x{8B99}\x{8B9A}\x{8B9C}\x{8B9D}' .
-'\x{8B9E}\x{8B9F}\x{8BA0}\x{8BA1}\x{8BA2}\x{8BA3}\x{8BA4}\x{8BA5}\x{8BA6}' .
-'\x{8BA7}\x{8BA8}\x{8BA9}\x{8BAA}\x{8BAB}\x{8BAC}\x{8BAD}\x{8BAE}\x{8BAF}' .
-'\x{8BB0}\x{8BB1}\x{8BB2}\x{8BB3}\x{8BB4}\x{8BB5}\x{8BB6}\x{8BB7}\x{8BB8}' .
-'\x{8BB9}\x{8BBA}\x{8BBB}\x{8BBC}\x{8BBD}\x{8BBE}\x{8BBF}\x{8BC0}\x{8BC1}' .
-'\x{8BC2}\x{8BC3}\x{8BC4}\x{8BC5}\x{8BC6}\x{8BC7}\x{8BC8}\x{8BC9}\x{8BCA}' .
-'\x{8BCB}\x{8BCC}\x{8BCD}\x{8BCE}\x{8BCF}\x{8BD0}\x{8BD1}\x{8BD2}\x{8BD3}' .
-'\x{8BD4}\x{8BD5}\x{8BD6}\x{8BD7}\x{8BD8}\x{8BD9}\x{8BDA}\x{8BDB}\x{8BDC}' .
-'\x{8BDD}\x{8BDE}\x{8BDF}\x{8BE0}\x{8BE1}\x{8BE2}\x{8BE3}\x{8BE4}\x{8BE5}' .
-'\x{8BE6}\x{8BE7}\x{8BE8}\x{8BE9}\x{8BEA}\x{8BEB}\x{8BEC}\x{8BED}\x{8BEE}' .
-'\x{8BEF}\x{8BF0}\x{8BF1}\x{8BF2}\x{8BF3}\x{8BF4}\x{8BF5}\x{8BF6}\x{8BF7}' .
-'\x{8BF8}\x{8BF9}\x{8BFA}\x{8BFB}\x{8BFC}\x{8BFD}\x{8BFE}\x{8BFF}\x{8C00}' .
-'\x{8C01}\x{8C02}\x{8C03}\x{8C04}\x{8C05}\x{8C06}\x{8C07}\x{8C08}\x{8C09}' .
-'\x{8C0A}\x{8C0B}\x{8C0C}\x{8C0D}\x{8C0E}\x{8C0F}\x{8C10}\x{8C11}\x{8C12}' .
-'\x{8C13}\x{8C14}\x{8C15}\x{8C16}\x{8C17}\x{8C18}\x{8C19}\x{8C1A}\x{8C1B}' .
-'\x{8C1C}\x{8C1D}\x{8C1E}\x{8C1F}\x{8C20}\x{8C21}\x{8C22}\x{8C23}\x{8C24}' .
-'\x{8C25}\x{8C26}\x{8C27}\x{8C28}\x{8C29}\x{8C2A}\x{8C2B}\x{8C2C}\x{8C2D}' .
-'\x{8C2E}\x{8C2F}\x{8C30}\x{8C31}\x{8C32}\x{8C33}\x{8C34}\x{8C35}\x{8C36}' .
-'\x{8C37}\x{8C39}\x{8C3A}\x{8C3B}\x{8C3C}\x{8C3D}\x{8C3E}\x{8C3F}\x{8C41}' .
-'\x{8C42}\x{8C43}\x{8C45}\x{8C46}\x{8C47}\x{8C48}\x{8C49}\x{8C4A}\x{8C4B}' .
-'\x{8C4C}\x{8C4D}\x{8C4E}\x{8C4F}\x{8C50}\x{8C54}\x{8C55}\x{8C56}\x{8C57}' .
-'\x{8C59}\x{8C5A}\x{8C5B}\x{8C5C}\x{8C5D}\x{8C5E}\x{8C5F}\x{8C60}\x{8C61}' .
-'\x{8C62}\x{8C63}\x{8C64}\x{8C65}\x{8C66}\x{8C67}\x{8C68}\x{8C69}\x{8C6A}' .
-'\x{8C6B}\x{8C6C}\x{8C6D}\x{8C6E}\x{8C6F}\x{8C70}\x{8C71}\x{8C72}\x{8C73}' .
-'\x{8C75}\x{8C76}\x{8C77}\x{8C78}\x{8C79}\x{8C7A}\x{8C7B}\x{8C7D}\x{8C7E}' .
-'\x{8C80}\x{8C81}\x{8C82}\x{8C84}\x{8C85}\x{8C86}\x{8C88}\x{8C89}\x{8C8A}' .
-'\x{8C8C}\x{8C8D}\x{8C8F}\x{8C90}\x{8C91}\x{8C92}\x{8C93}\x{8C94}\x{8C95}' .
-'\x{8C96}\x{8C97}\x{8C98}\x{8C99}\x{8C9A}\x{8C9C}\x{8C9D}\x{8C9E}\x{8C9F}' .
-'\x{8CA0}\x{8CA1}\x{8CA2}\x{8CA3}\x{8CA4}\x{8CA5}\x{8CA7}\x{8CA8}\x{8CA9}' .
-'\x{8CAA}\x{8CAB}\x{8CAC}\x{8CAD}\x{8CAE}\x{8CAF}\x{8CB0}\x{8CB1}\x{8CB2}' .
-'\x{8CB3}\x{8CB4}\x{8CB5}\x{8CB6}\x{8CB7}\x{8CB8}\x{8CB9}\x{8CBA}\x{8CBB}' .
-'\x{8CBC}\x{8CBD}\x{8CBE}\x{8CBF}\x{8CC0}\x{8CC1}\x{8CC2}\x{8CC3}\x{8CC4}' .
-'\x{8CC5}\x{8CC6}\x{8CC7}\x{8CC8}\x{8CC9}\x{8CCA}\x{8CCC}\x{8CCE}\x{8CCF}' .
-'\x{8CD0}\x{8CD1}\x{8CD2}\x{8CD3}\x{8CD4}\x{8CD5}\x{8CD7}\x{8CD9}\x{8CDA}' .
-'\x{8CDB}\x{8CDC}\x{8CDD}\x{8CDE}\x{8CDF}\x{8CE0}\x{8CE1}\x{8CE2}\x{8CE3}' .
-'\x{8CE4}\x{8CE5}\x{8CE6}\x{8CE7}\x{8CE8}\x{8CEA}\x{8CEB}\x{8CEC}\x{8CED}' .
-'\x{8CEE}\x{8CEF}\x{8CF0}\x{8CF1}\x{8CF2}\x{8CF3}\x{8CF4}\x{8CF5}\x{8CF6}' .
-'\x{8CF8}\x{8CF9}\x{8CFA}\x{8CFB}\x{8CFC}\x{8CFD}\x{8CFE}\x{8CFF}\x{8D00}' .
-'\x{8D02}\x{8D03}\x{8D04}\x{8D05}\x{8D06}\x{8D07}\x{8D08}\x{8D09}\x{8D0A}' .
-'\x{8D0B}\x{8D0C}\x{8D0D}\x{8D0E}\x{8D0F}\x{8D10}\x{8D13}\x{8D14}\x{8D15}' .
-'\x{8D16}\x{8D17}\x{8D18}\x{8D19}\x{8D1A}\x{8D1B}\x{8D1C}\x{8D1D}\x{8D1E}' .
-'\x{8D1F}\x{8D20}\x{8D21}\x{8D22}\x{8D23}\x{8D24}\x{8D25}\x{8D26}\x{8D27}' .
-'\x{8D28}\x{8D29}\x{8D2A}\x{8D2B}\x{8D2C}\x{8D2D}\x{8D2E}\x{8D2F}\x{8D30}' .
-'\x{8D31}\x{8D32}\x{8D33}\x{8D34}\x{8D35}\x{8D36}\x{8D37}\x{8D38}\x{8D39}' .
-'\x{8D3A}\x{8D3B}\x{8D3C}\x{8D3D}\x{8D3E}\x{8D3F}\x{8D40}\x{8D41}\x{8D42}' .
-'\x{8D43}\x{8D44}\x{8D45}\x{8D46}\x{8D47}\x{8D48}\x{8D49}\x{8D4A}\x{8D4B}' .
-'\x{8D4C}\x{8D4D}\x{8D4E}\x{8D4F}\x{8D50}\x{8D51}\x{8D52}\x{8D53}\x{8D54}' .
-'\x{8D55}\x{8D56}\x{8D57}\x{8D58}\x{8D59}\x{8D5A}\x{8D5B}\x{8D5C}\x{8D5D}' .
-'\x{8D5E}\x{8D5F}\x{8D60}\x{8D61}\x{8D62}\x{8D63}\x{8D64}\x{8D65}\x{8D66}' .
-'\x{8D67}\x{8D68}\x{8D69}\x{8D6A}\x{8D6B}\x{8D6C}\x{8D6D}\x{8D6E}\x{8D6F}' .
-'\x{8D70}\x{8D71}\x{8D72}\x{8D73}\x{8D74}\x{8D75}\x{8D76}\x{8D77}\x{8D78}' .
-'\x{8D79}\x{8D7A}\x{8D7B}\x{8D7D}\x{8D7E}\x{8D7F}\x{8D80}\x{8D81}\x{8D82}' .
-'\x{8D83}\x{8D84}\x{8D85}\x{8D86}\x{8D87}\x{8D88}\x{8D89}\x{8D8A}\x{8D8B}' .
-'\x{8D8C}\x{8D8D}\x{8D8E}\x{8D8F}\x{8D90}\x{8D91}\x{8D92}\x{8D93}\x{8D94}' .
-'\x{8D95}\x{8D96}\x{8D97}\x{8D98}\x{8D99}\x{8D9A}\x{8D9B}\x{8D9C}\x{8D9D}' .
-'\x{8D9E}\x{8D9F}\x{8DA0}\x{8DA1}\x{8DA2}\x{8DA3}\x{8DA4}\x{8DA5}\x{8DA7}' .
-'\x{8DA8}\x{8DA9}\x{8DAA}\x{8DAB}\x{8DAC}\x{8DAD}\x{8DAE}\x{8DAF}\x{8DB0}' .
-'\x{8DB1}\x{8DB2}\x{8DB3}\x{8DB4}\x{8DB5}\x{8DB6}\x{8DB7}\x{8DB8}\x{8DB9}' .
-'\x{8DBA}\x{8DBB}\x{8DBC}\x{8DBD}\x{8DBE}\x{8DBF}\x{8DC1}\x{8DC2}\x{8DC3}' .
-'\x{8DC4}\x{8DC5}\x{8DC6}\x{8DC7}\x{8DC8}\x{8DC9}\x{8DCA}\x{8DCB}\x{8DCC}' .
-'\x{8DCD}\x{8DCE}\x{8DCF}\x{8DD0}\x{8DD1}\x{8DD2}\x{8DD3}\x{8DD4}\x{8DD5}' .
-'\x{8DD6}\x{8DD7}\x{8DD8}\x{8DD9}\x{8DDA}\x{8DDB}\x{8DDC}\x{8DDD}\x{8DDE}' .
-'\x{8DDF}\x{8DE0}\x{8DE1}\x{8DE2}\x{8DE3}\x{8DE4}\x{8DE6}\x{8DE7}\x{8DE8}' .
-'\x{8DE9}\x{8DEA}\x{8DEB}\x{8DEC}\x{8DED}\x{8DEE}\x{8DEF}\x{8DF0}\x{8DF1}' .
-'\x{8DF2}\x{8DF3}\x{8DF4}\x{8DF5}\x{8DF6}\x{8DF7}\x{8DF8}\x{8DF9}\x{8DFA}' .
-'\x{8DFB}\x{8DFC}\x{8DFD}\x{8DFE}\x{8DFF}\x{8E00}\x{8E02}\x{8E03}\x{8E04}' .
-'\x{8E05}\x{8E06}\x{8E07}\x{8E08}\x{8E09}\x{8E0A}\x{8E0C}\x{8E0D}\x{8E0E}' .
-'\x{8E0F}\x{8E10}\x{8E11}\x{8E12}\x{8E13}\x{8E14}\x{8E15}\x{8E16}\x{8E17}' .
-'\x{8E18}\x{8E19}\x{8E1A}\x{8E1B}\x{8E1C}\x{8E1D}\x{8E1E}\x{8E1F}\x{8E20}' .
-'\x{8E21}\x{8E22}\x{8E23}\x{8E24}\x{8E25}\x{8E26}\x{8E27}\x{8E28}\x{8E29}' .
-'\x{8E2A}\x{8E2B}\x{8E2C}\x{8E2D}\x{8E2E}\x{8E2F}\x{8E30}\x{8E31}\x{8E33}' .
-'\x{8E34}\x{8E35}\x{8E36}\x{8E37}\x{8E38}\x{8E39}\x{8E3A}\x{8E3B}\x{8E3C}' .
-'\x{8E3D}\x{8E3E}\x{8E3F}\x{8E40}\x{8E41}\x{8E42}\x{8E43}\x{8E44}\x{8E45}' .
-'\x{8E47}\x{8E48}\x{8E49}\x{8E4A}\x{8E4B}\x{8E4C}\x{8E4D}\x{8E4E}\x{8E50}' .
-'\x{8E51}\x{8E52}\x{8E53}\x{8E54}\x{8E55}\x{8E56}\x{8E57}\x{8E58}\x{8E59}' .
-'\x{8E5A}\x{8E5B}\x{8E5C}\x{8E5D}\x{8E5E}\x{8E5F}\x{8E60}\x{8E61}\x{8E62}' .
-'\x{8E63}\x{8E64}\x{8E65}\x{8E66}\x{8E67}\x{8E68}\x{8E69}\x{8E6A}\x{8E6B}' .
-'\x{8E6C}\x{8E6D}\x{8E6F}\x{8E70}\x{8E71}\x{8E72}\x{8E73}\x{8E74}\x{8E76}' .
-'\x{8E78}\x{8E7A}\x{8E7B}\x{8E7C}\x{8E7D}\x{8E7E}\x{8E7F}\x{8E80}\x{8E81}' .
-'\x{8E82}\x{8E83}\x{8E84}\x{8E85}\x{8E86}\x{8E87}\x{8E88}\x{8E89}\x{8E8A}' .
-'\x{8E8B}\x{8E8C}\x{8E8D}\x{8E8E}\x{8E8F}\x{8E90}\x{8E91}\x{8E92}\x{8E93}' .
-'\x{8E94}\x{8E95}\x{8E96}\x{8E97}\x{8E98}\x{8E9A}\x{8E9C}\x{8E9D}\x{8E9E}' .
-'\x{8E9F}\x{8EA0}\x{8EA1}\x{8EA3}\x{8EA4}\x{8EA5}\x{8EA6}\x{8EA7}\x{8EA8}' .
-'\x{8EA9}\x{8EAA}\x{8EAB}\x{8EAC}\x{8EAD}\x{8EAE}\x{8EAF}\x{8EB0}\x{8EB1}' .
-'\x{8EB2}\x{8EB4}\x{8EB5}\x{8EB8}\x{8EB9}\x{8EBA}\x{8EBB}\x{8EBC}\x{8EBD}' .
-'\x{8EBE}\x{8EBF}\x{8EC0}\x{8EC2}\x{8EC3}\x{8EC5}\x{8EC6}\x{8EC7}\x{8EC8}' .
-'\x{8EC9}\x{8ECA}\x{8ECB}\x{8ECC}\x{8ECD}\x{8ECE}\x{8ECF}\x{8ED0}\x{8ED1}' .
-'\x{8ED2}\x{8ED3}\x{8ED4}\x{8ED5}\x{8ED6}\x{8ED7}\x{8ED8}\x{8EDA}\x{8EDB}' .
-'\x{8EDC}\x{8EDD}\x{8EDE}\x{8EDF}\x{8EE0}\x{8EE1}\x{8EE4}\x{8EE5}\x{8EE6}' .
-'\x{8EE7}\x{8EE8}\x{8EE9}\x{8EEA}\x{8EEB}\x{8EEC}\x{8EED}\x{8EEE}\x{8EEF}' .
-'\x{8EF1}\x{8EF2}\x{8EF3}\x{8EF4}\x{8EF5}\x{8EF6}\x{8EF7}\x{8EF8}\x{8EF9}' .
-'\x{8EFA}\x{8EFB}\x{8EFC}\x{8EFD}\x{8EFE}\x{8EFF}\x{8F00}\x{8F01}\x{8F02}' .
-'\x{8F03}\x{8F04}\x{8F05}\x{8F06}\x{8F07}\x{8F08}\x{8F09}\x{8F0A}\x{8F0B}' .
-'\x{8F0D}\x{8F0E}\x{8F10}\x{8F11}\x{8F12}\x{8F13}\x{8F14}\x{8F15}\x{8F16}' .
-'\x{8F17}\x{8F18}\x{8F1A}\x{8F1B}\x{8F1C}\x{8F1D}\x{8F1E}\x{8F1F}\x{8F20}' .
-'\x{8F21}\x{8F22}\x{8F23}\x{8F24}\x{8F25}\x{8F26}\x{8F27}\x{8F28}\x{8F29}' .
-'\x{8F2A}\x{8F2B}\x{8F2C}\x{8F2E}\x{8F2F}\x{8F30}\x{8F31}\x{8F32}\x{8F33}' .
-'\x{8F34}\x{8F35}\x{8F36}\x{8F37}\x{8F38}\x{8F39}\x{8F3B}\x{8F3C}\x{8F3D}' .
-'\x{8F3E}\x{8F3F}\x{8F40}\x{8F42}\x{8F43}\x{8F44}\x{8F45}\x{8F46}\x{8F47}' .
-'\x{8F48}\x{8F49}\x{8F4A}\x{8F4B}\x{8F4C}\x{8F4D}\x{8F4E}\x{8F4F}\x{8F50}' .
-'\x{8F51}\x{8F52}\x{8F53}\x{8F54}\x{8F55}\x{8F56}\x{8F57}\x{8F58}\x{8F59}' .
-'\x{8F5A}\x{8F5B}\x{8F5D}\x{8F5E}\x{8F5F}\x{8F60}\x{8F61}\x{8F62}\x{8F63}' .
-'\x{8F64}\x{8F65}\x{8F66}\x{8F67}\x{8F68}\x{8F69}\x{8F6A}\x{8F6B}\x{8F6C}' .
-'\x{8F6D}\x{8F6E}\x{8F6F}\x{8F70}\x{8F71}\x{8F72}\x{8F73}\x{8F74}\x{8F75}' .
-'\x{8F76}\x{8F77}\x{8F78}\x{8F79}\x{8F7A}\x{8F7B}\x{8F7C}\x{8F7D}\x{8F7E}' .
-'\x{8F7F}\x{8F80}\x{8F81}\x{8F82}\x{8F83}\x{8F84}\x{8F85}\x{8F86}\x{8F87}' .
-'\x{8F88}\x{8F89}\x{8F8A}\x{8F8B}\x{8F8C}\x{8F8D}\x{8F8E}\x{8F8F}\x{8F90}' .
-'\x{8F91}\x{8F92}\x{8F93}\x{8F94}\x{8F95}\x{8F96}\x{8F97}\x{8F98}\x{8F99}' .
-'\x{8F9A}\x{8F9B}\x{8F9C}\x{8F9E}\x{8F9F}\x{8FA0}\x{8FA1}\x{8FA2}\x{8FA3}' .
-'\x{8FA5}\x{8FA6}\x{8FA7}\x{8FA8}\x{8FA9}\x{8FAA}\x{8FAB}\x{8FAC}\x{8FAD}' .
-'\x{8FAE}\x{8FAF}\x{8FB0}\x{8FB1}\x{8FB2}\x{8FB4}\x{8FB5}\x{8FB6}\x{8FB7}' .
-'\x{8FB8}\x{8FB9}\x{8FBB}\x{8FBC}\x{8FBD}\x{8FBE}\x{8FBF}\x{8FC0}\x{8FC1}' .
-'\x{8FC2}\x{8FC4}\x{8FC5}\x{8FC6}\x{8FC7}\x{8FC8}\x{8FC9}\x{8FCB}\x{8FCC}' .
-'\x{8FCD}\x{8FCE}\x{8FCF}\x{8FD0}\x{8FD1}\x{8FD2}\x{8FD3}\x{8FD4}\x{8FD5}' .
-'\x{8FD6}\x{8FD7}\x{8FD8}\x{8FD9}\x{8FDA}\x{8FDB}\x{8FDC}\x{8FDD}\x{8FDE}' .
-'\x{8FDF}\x{8FE0}\x{8FE1}\x{8FE2}\x{8FE3}\x{8FE4}\x{8FE5}\x{8FE6}\x{8FE8}' .
-'\x{8FE9}\x{8FEA}\x{8FEB}\x{8FEC}\x{8FED}\x{8FEE}\x{8FEF}\x{8FF0}\x{8FF1}' .
-'\x{8FF2}\x{8FF3}\x{8FF4}\x{8FF5}\x{8FF6}\x{8FF7}\x{8FF8}\x{8FF9}\x{8FFA}' .
-'\x{8FFB}\x{8FFC}\x{8FFD}\x{8FFE}\x{8FFF}\x{9000}\x{9001}\x{9002}\x{9003}' .
-'\x{9004}\x{9005}\x{9006}\x{9007}\x{9008}\x{9009}\x{900A}\x{900B}\x{900C}' .
-'\x{900D}\x{900F}\x{9010}\x{9011}\x{9012}\x{9013}\x{9014}\x{9015}\x{9016}' .
-'\x{9017}\x{9018}\x{9019}\x{901A}\x{901B}\x{901C}\x{901D}\x{901E}\x{901F}' .
-'\x{9020}\x{9021}\x{9022}\x{9023}\x{9024}\x{9025}\x{9026}\x{9027}\x{9028}' .
-'\x{9029}\x{902B}\x{902D}\x{902E}\x{902F}\x{9030}\x{9031}\x{9032}\x{9033}' .
-'\x{9034}\x{9035}\x{9036}\x{9038}\x{903A}\x{903B}\x{903C}\x{903D}\x{903E}' .
-'\x{903F}\x{9041}\x{9042}\x{9043}\x{9044}\x{9045}\x{9047}\x{9048}\x{9049}' .
-'\x{904A}\x{904B}\x{904C}\x{904D}\x{904E}\x{904F}\x{9050}\x{9051}\x{9052}' .
-'\x{9053}\x{9054}\x{9055}\x{9056}\x{9057}\x{9058}\x{9059}\x{905A}\x{905B}' .
-'\x{905C}\x{905D}\x{905E}\x{905F}\x{9060}\x{9061}\x{9062}\x{9063}\x{9064}' .
-'\x{9065}\x{9066}\x{9067}\x{9068}\x{9069}\x{906A}\x{906B}\x{906C}\x{906D}' .
-'\x{906E}\x{906F}\x{9070}\x{9071}\x{9072}\x{9073}\x{9074}\x{9075}\x{9076}' .
-'\x{9077}\x{9078}\x{9079}\x{907A}\x{907B}\x{907C}\x{907D}\x{907E}\x{907F}' .
-'\x{9080}\x{9081}\x{9082}\x{9083}\x{9084}\x{9085}\x{9086}\x{9087}\x{9088}' .
-'\x{9089}\x{908A}\x{908B}\x{908C}\x{908D}\x{908E}\x{908F}\x{9090}\x{9091}' .
-'\x{9092}\x{9093}\x{9094}\x{9095}\x{9096}\x{9097}\x{9098}\x{9099}\x{909A}' .
-'\x{909B}\x{909C}\x{909D}\x{909E}\x{909F}\x{90A0}\x{90A1}\x{90A2}\x{90A3}' .
-'\x{90A4}\x{90A5}\x{90A6}\x{90A7}\x{90A8}\x{90A9}\x{90AA}\x{90AC}\x{90AD}' .
-'\x{90AE}\x{90AF}\x{90B0}\x{90B1}\x{90B2}\x{90B3}\x{90B4}\x{90B5}\x{90B6}' .
-'\x{90B7}\x{90B8}\x{90B9}\x{90BA}\x{90BB}\x{90BC}\x{90BD}\x{90BE}\x{90BF}' .
-'\x{90C0}\x{90C1}\x{90C2}\x{90C3}\x{90C4}\x{90C5}\x{90C6}\x{90C7}\x{90C8}' .
-'\x{90C9}\x{90CA}\x{90CB}\x{90CE}\x{90CF}\x{90D0}\x{90D1}\x{90D3}\x{90D4}' .
-'\x{90D5}\x{90D6}\x{90D7}\x{90D8}\x{90D9}\x{90DA}\x{90DB}\x{90DC}\x{90DD}' .
-'\x{90DE}\x{90DF}\x{90E0}\x{90E1}\x{90E2}\x{90E3}\x{90E4}\x{90E5}\x{90E6}' .
-'\x{90E7}\x{90E8}\x{90E9}\x{90EA}\x{90EB}\x{90EC}\x{90ED}\x{90EE}\x{90EF}' .
-'\x{90F0}\x{90F1}\x{90F2}\x{90F3}\x{90F4}\x{90F5}\x{90F7}\x{90F8}\x{90F9}' .
-'\x{90FA}\x{90FB}\x{90FC}\x{90FD}\x{90FE}\x{90FF}\x{9100}\x{9101}\x{9102}' .
-'\x{9103}\x{9104}\x{9105}\x{9106}\x{9107}\x{9108}\x{9109}\x{910B}\x{910C}' .
-'\x{910D}\x{910E}\x{910F}\x{9110}\x{9111}\x{9112}\x{9113}\x{9114}\x{9115}' .
-'\x{9116}\x{9117}\x{9118}\x{9119}\x{911A}\x{911B}\x{911C}\x{911D}\x{911E}' .
-'\x{911F}\x{9120}\x{9121}\x{9122}\x{9123}\x{9124}\x{9125}\x{9126}\x{9127}' .
-'\x{9128}\x{9129}\x{912A}\x{912B}\x{912C}\x{912D}\x{912E}\x{912F}\x{9130}' .
-'\x{9131}\x{9132}\x{9133}\x{9134}\x{9135}\x{9136}\x{9137}\x{9138}\x{9139}' .
-'\x{913A}\x{913B}\x{913E}\x{913F}\x{9140}\x{9141}\x{9142}\x{9143}\x{9144}' .
-'\x{9145}\x{9146}\x{9147}\x{9148}\x{9149}\x{914A}\x{914B}\x{914C}\x{914D}' .
-'\x{914E}\x{914F}\x{9150}\x{9151}\x{9152}\x{9153}\x{9154}\x{9155}\x{9156}' .
-'\x{9157}\x{9158}\x{915A}\x{915B}\x{915C}\x{915D}\x{915E}\x{915F}\x{9160}' .
-'\x{9161}\x{9162}\x{9163}\x{9164}\x{9165}\x{9166}\x{9167}\x{9168}\x{9169}' .
-'\x{916A}\x{916B}\x{916C}\x{916D}\x{916E}\x{916F}\x{9170}\x{9171}\x{9172}' .
-'\x{9173}\x{9174}\x{9175}\x{9176}\x{9177}\x{9178}\x{9179}\x{917A}\x{917C}' .
-'\x{917D}\x{917E}\x{917F}\x{9180}\x{9181}\x{9182}\x{9183}\x{9184}\x{9185}' .
-'\x{9186}\x{9187}\x{9188}\x{9189}\x{918A}\x{918B}\x{918C}\x{918D}\x{918E}' .
-'\x{918F}\x{9190}\x{9191}\x{9192}\x{9193}\x{9194}\x{9196}\x{9199}\x{919A}' .
-'\x{919B}\x{919C}\x{919D}\x{919E}\x{919F}\x{91A0}\x{91A1}\x{91A2}\x{91A3}' .
-'\x{91A5}\x{91A6}\x{91A7}\x{91A8}\x{91AA}\x{91AB}\x{91AC}\x{91AD}\x{91AE}' .
-'\x{91AF}\x{91B0}\x{91B1}\x{91B2}\x{91B3}\x{91B4}\x{91B5}\x{91B6}\x{91B7}' .
-'\x{91B9}\x{91BA}\x{91BB}\x{91BC}\x{91BD}\x{91BE}\x{91C0}\x{91C1}\x{91C2}' .
-'\x{91C3}\x{91C5}\x{91C6}\x{91C7}\x{91C9}\x{91CA}\x{91CB}\x{91CC}\x{91CD}' .
-'\x{91CE}\x{91CF}\x{91D0}\x{91D1}\x{91D2}\x{91D3}\x{91D4}\x{91D5}\x{91D7}' .
-'\x{91D8}\x{91D9}\x{91DA}\x{91DB}\x{91DC}\x{91DD}\x{91DE}\x{91DF}\x{91E2}' .
-'\x{91E3}\x{91E4}\x{91E5}\x{91E6}\x{91E7}\x{91E8}\x{91E9}\x{91EA}\x{91EB}' .
-'\x{91EC}\x{91ED}\x{91EE}\x{91F0}\x{91F1}\x{91F2}\x{91F3}\x{91F4}\x{91F5}' .
-'\x{91F7}\x{91F8}\x{91F9}\x{91FA}\x{91FB}\x{91FD}\x{91FE}\x{91FF}\x{9200}' .
-'\x{9201}\x{9202}\x{9203}\x{9204}\x{9205}\x{9206}\x{9207}\x{9208}\x{9209}' .
-'\x{920A}\x{920B}\x{920C}\x{920D}\x{920E}\x{920F}\x{9210}\x{9211}\x{9212}' .
-'\x{9214}\x{9215}\x{9216}\x{9217}\x{9218}\x{9219}\x{921A}\x{921B}\x{921C}' .
-'\x{921D}\x{921E}\x{9220}\x{9221}\x{9223}\x{9224}\x{9225}\x{9226}\x{9227}' .
-'\x{9228}\x{9229}\x{922A}\x{922B}\x{922D}\x{922E}\x{922F}\x{9230}\x{9231}' .
-'\x{9232}\x{9233}\x{9234}\x{9235}\x{9236}\x{9237}\x{9238}\x{9239}\x{923A}' .
-'\x{923B}\x{923C}\x{923D}\x{923E}\x{923F}\x{9240}\x{9241}\x{9242}\x{9245}' .
-'\x{9246}\x{9247}\x{9248}\x{9249}\x{924A}\x{924B}\x{924C}\x{924D}\x{924E}' .
-'\x{924F}\x{9250}\x{9251}\x{9252}\x{9253}\x{9254}\x{9255}\x{9256}\x{9257}' .
-'\x{9258}\x{9259}\x{925A}\x{925B}\x{925C}\x{925D}\x{925E}\x{925F}\x{9260}' .
-'\x{9261}\x{9262}\x{9263}\x{9264}\x{9265}\x{9266}\x{9267}\x{9268}\x{926B}' .
-'\x{926C}\x{926D}\x{926E}\x{926F}\x{9270}\x{9272}\x{9273}\x{9274}\x{9275}' .
-'\x{9276}\x{9277}\x{9278}\x{9279}\x{927A}\x{927B}\x{927C}\x{927D}\x{927E}' .
-'\x{927F}\x{9280}\x{9282}\x{9283}\x{9285}\x{9286}\x{9287}\x{9288}\x{9289}' .
-'\x{928A}\x{928B}\x{928C}\x{928D}\x{928E}\x{928F}\x{9290}\x{9291}\x{9292}' .
-'\x{9293}\x{9294}\x{9295}\x{9296}\x{9297}\x{9298}\x{9299}\x{929A}\x{929B}' .
-'\x{929C}\x{929D}\x{929F}\x{92A0}\x{92A1}\x{92A2}\x{92A3}\x{92A4}\x{92A5}' .
-'\x{92A6}\x{92A7}\x{92A8}\x{92A9}\x{92AA}\x{92AB}\x{92AC}\x{92AD}\x{92AE}' .
-'\x{92AF}\x{92B0}\x{92B1}\x{92B2}\x{92B3}\x{92B4}\x{92B5}\x{92B6}\x{92B7}' .
-'\x{92B8}\x{92B9}\x{92BA}\x{92BB}\x{92BC}\x{92BE}\x{92BF}\x{92C0}\x{92C1}' .
-'\x{92C2}\x{92C3}\x{92C4}\x{92C5}\x{92C6}\x{92C7}\x{92C8}\x{92C9}\x{92CA}' .
-'\x{92CB}\x{92CC}\x{92CD}\x{92CE}\x{92CF}\x{92D0}\x{92D1}\x{92D2}\x{92D3}' .
-'\x{92D5}\x{92D6}\x{92D7}\x{92D8}\x{92D9}\x{92DA}\x{92DC}\x{92DD}\x{92DE}' .
-'\x{92DF}\x{92E0}\x{92E1}\x{92E3}\x{92E4}\x{92E5}\x{92E6}\x{92E7}\x{92E8}' .
-'\x{92E9}\x{92EA}\x{92EB}\x{92EC}\x{92ED}\x{92EE}\x{92EF}\x{92F0}\x{92F1}' .
-'\x{92F2}\x{92F3}\x{92F4}\x{92F5}\x{92F6}\x{92F7}\x{92F8}\x{92F9}\x{92FA}' .
-'\x{92FB}\x{92FC}\x{92FD}\x{92FE}\x{92FF}\x{9300}\x{9301}\x{9302}\x{9303}' .
-'\x{9304}\x{9305}\x{9306}\x{9307}\x{9308}\x{9309}\x{930A}\x{930B}\x{930C}' .
-'\x{930D}\x{930E}\x{930F}\x{9310}\x{9311}\x{9312}\x{9313}\x{9314}\x{9315}' .
-'\x{9316}\x{9317}\x{9318}\x{9319}\x{931A}\x{931B}\x{931D}\x{931E}\x{931F}' .
-'\x{9320}\x{9321}\x{9322}\x{9323}\x{9324}\x{9325}\x{9326}\x{9327}\x{9328}' .
-'\x{9329}\x{932A}\x{932B}\x{932D}\x{932E}\x{932F}\x{9332}\x{9333}\x{9334}' .
-'\x{9335}\x{9336}\x{9337}\x{9338}\x{9339}\x{933A}\x{933B}\x{933C}\x{933D}' .
-'\x{933E}\x{933F}\x{9340}\x{9341}\x{9342}\x{9343}\x{9344}\x{9345}\x{9346}' .
-'\x{9347}\x{9348}\x{9349}\x{934A}\x{934B}\x{934C}\x{934D}\x{934E}\x{934F}' .
-'\x{9350}\x{9351}\x{9352}\x{9353}\x{9354}\x{9355}\x{9356}\x{9357}\x{9358}' .
-'\x{9359}\x{935A}\x{935B}\x{935C}\x{935D}\x{935E}\x{935F}\x{9360}\x{9361}' .
-'\x{9363}\x{9364}\x{9365}\x{9366}\x{9367}\x{9369}\x{936A}\x{936C}\x{936D}' .
-'\x{936E}\x{9370}\x{9371}\x{9372}\x{9374}\x{9375}\x{9376}\x{9377}\x{9379}' .
-'\x{937A}\x{937B}\x{937C}\x{937D}\x{937E}\x{9380}\x{9382}\x{9383}\x{9384}' .
-'\x{9385}\x{9386}\x{9387}\x{9388}\x{9389}\x{938A}\x{938C}\x{938D}\x{938E}' .
-'\x{938F}\x{9390}\x{9391}\x{9392}\x{9393}\x{9394}\x{9395}\x{9396}\x{9397}' .
-'\x{9398}\x{9399}\x{939A}\x{939B}\x{939D}\x{939E}\x{939F}\x{93A1}\x{93A2}' .
-'\x{93A3}\x{93A4}\x{93A5}\x{93A6}\x{93A7}\x{93A8}\x{93A9}\x{93AA}\x{93AC}' .
-'\x{93AD}\x{93AE}\x{93AF}\x{93B0}\x{93B1}\x{93B2}\x{93B3}\x{93B4}\x{93B5}' .
-'\x{93B6}\x{93B7}\x{93B8}\x{93B9}\x{93BA}\x{93BC}\x{93BD}\x{93BE}\x{93BF}' .
-'\x{93C0}\x{93C1}\x{93C2}\x{93C3}\x{93C4}\x{93C5}\x{93C6}\x{93C7}\x{93C8}' .
-'\x{93C9}\x{93CA}\x{93CB}\x{93CC}\x{93CD}\x{93CE}\x{93CF}\x{93D0}\x{93D1}' .
-'\x{93D2}\x{93D3}\x{93D4}\x{93D5}\x{93D6}\x{93D7}\x{93D8}\x{93D9}\x{93DA}' .
-'\x{93DB}\x{93DC}\x{93DD}\x{93DE}\x{93DF}\x{93E1}\x{93E2}\x{93E3}\x{93E4}' .
-'\x{93E6}\x{93E7}\x{93E8}\x{93E9}\x{93EA}\x{93EB}\x{93EC}\x{93ED}\x{93EE}' .
-'\x{93EF}\x{93F0}\x{93F1}\x{93F2}\x{93F4}\x{93F5}\x{93F6}\x{93F7}\x{93F8}' .
-'\x{93F9}\x{93FA}\x{93FB}\x{93FC}\x{93FD}\x{93FE}\x{93FF}\x{9400}\x{9401}' .
-'\x{9403}\x{9404}\x{9405}\x{9406}\x{9407}\x{9408}\x{9409}\x{940A}\x{940B}' .
-'\x{940C}\x{940D}\x{940E}\x{940F}\x{9410}\x{9411}\x{9412}\x{9413}\x{9414}' .
-'\x{9415}\x{9416}\x{9418}\x{9419}\x{941B}\x{941D}\x{9420}\x{9422}\x{9423}' .
-'\x{9425}\x{9426}\x{9427}\x{9428}\x{9429}\x{942A}\x{942B}\x{942C}\x{942D}' .
-'\x{942E}\x{942F}\x{9430}\x{9431}\x{9432}\x{9433}\x{9434}\x{9435}\x{9436}' .
-'\x{9437}\x{9438}\x{9439}\x{943A}\x{943B}\x{943C}\x{943D}\x{943E}\x{943F}' .
-'\x{9440}\x{9441}\x{9442}\x{9444}\x{9445}\x{9446}\x{9447}\x{9448}\x{9449}' .
-'\x{944A}\x{944B}\x{944C}\x{944D}\x{944F}\x{9450}\x{9451}\x{9452}\x{9453}' .
-'\x{9454}\x{9455}\x{9456}\x{9457}\x{9458}\x{9459}\x{945B}\x{945C}\x{945D}' .
-'\x{945E}\x{945F}\x{9460}\x{9461}\x{9462}\x{9463}\x{9464}\x{9465}\x{9466}' .
-'\x{9467}\x{9468}\x{9469}\x{946A}\x{946B}\x{946D}\x{946E}\x{946F}\x{9470}' .
-'\x{9471}\x{9472}\x{9473}\x{9474}\x{9475}\x{9476}\x{9477}\x{9478}\x{9479}' .
-'\x{947A}\x{947C}\x{947D}\x{947E}\x{947F}\x{9480}\x{9481}\x{9482}\x{9483}' .
-'\x{9484}\x{9485}\x{9486}\x{9487}\x{9488}\x{9489}\x{948A}\x{948B}\x{948C}' .
-'\x{948D}\x{948E}\x{948F}\x{9490}\x{9491}\x{9492}\x{9493}\x{9494}\x{9495}' .
-'\x{9496}\x{9497}\x{9498}\x{9499}\x{949A}\x{949B}\x{949C}\x{949D}\x{949E}' .
-'\x{949F}\x{94A0}\x{94A1}\x{94A2}\x{94A3}\x{94A4}\x{94A5}\x{94A6}\x{94A7}' .
-'\x{94A8}\x{94A9}\x{94AA}\x{94AB}\x{94AC}\x{94AD}\x{94AE}\x{94AF}\x{94B0}' .
-'\x{94B1}\x{94B2}\x{94B3}\x{94B4}\x{94B5}\x{94B6}\x{94B7}\x{94B8}\x{94B9}' .
-'\x{94BA}\x{94BB}\x{94BC}\x{94BD}\x{94BE}\x{94BF}\x{94C0}\x{94C1}\x{94C2}' .
-'\x{94C3}\x{94C4}\x{94C5}\x{94C6}\x{94C7}\x{94C8}\x{94C9}\x{94CA}\x{94CB}' .
-'\x{94CC}\x{94CD}\x{94CE}\x{94CF}\x{94D0}\x{94D1}\x{94D2}\x{94D3}\x{94D4}' .
-'\x{94D5}\x{94D6}\x{94D7}\x{94D8}\x{94D9}\x{94DA}\x{94DB}\x{94DC}\x{94DD}' .
-'\x{94DE}\x{94DF}\x{94E0}\x{94E1}\x{94E2}\x{94E3}\x{94E4}\x{94E5}\x{94E6}' .
-'\x{94E7}\x{94E8}\x{94E9}\x{94EA}\x{94EB}\x{94EC}\x{94ED}\x{94EE}\x{94EF}' .
-'\x{94F0}\x{94F1}\x{94F2}\x{94F3}\x{94F4}\x{94F5}\x{94F6}\x{94F7}\x{94F8}' .
-'\x{94F9}\x{94FA}\x{94FB}\x{94FC}\x{94FD}\x{94FE}\x{94FF}\x{9500}\x{9501}' .
-'\x{9502}\x{9503}\x{9504}\x{9505}\x{9506}\x{9507}\x{9508}\x{9509}\x{950A}' .
-'\x{950B}\x{950C}\x{950D}\x{950E}\x{950F}\x{9510}\x{9511}\x{9512}\x{9513}' .
-'\x{9514}\x{9515}\x{9516}\x{9517}\x{9518}\x{9519}\x{951A}\x{951B}\x{951C}' .
-'\x{951D}\x{951E}\x{951F}\x{9520}\x{9521}\x{9522}\x{9523}\x{9524}\x{9525}' .
-'\x{9526}\x{9527}\x{9528}\x{9529}\x{952A}\x{952B}\x{952C}\x{952D}\x{952E}' .
-'\x{952F}\x{9530}\x{9531}\x{9532}\x{9533}\x{9534}\x{9535}\x{9536}\x{9537}' .
-'\x{9538}\x{9539}\x{953A}\x{953B}\x{953C}\x{953D}\x{953E}\x{953F}\x{9540}' .
-'\x{9541}\x{9542}\x{9543}\x{9544}\x{9545}\x{9546}\x{9547}\x{9548}\x{9549}' .
-'\x{954A}\x{954B}\x{954C}\x{954D}\x{954E}\x{954F}\x{9550}\x{9551}\x{9552}' .
-'\x{9553}\x{9554}\x{9555}\x{9556}\x{9557}\x{9558}\x{9559}\x{955A}\x{955B}' .
-'\x{955C}\x{955D}\x{955E}\x{955F}\x{9560}\x{9561}\x{9562}\x{9563}\x{9564}' .
-'\x{9565}\x{9566}\x{9567}\x{9568}\x{9569}\x{956A}\x{956B}\x{956C}\x{956D}' .
-'\x{956E}\x{956F}\x{9570}\x{9571}\x{9572}\x{9573}\x{9574}\x{9575}\x{9576}' .
-'\x{9577}\x{957A}\x{957B}\x{957C}\x{957D}\x{957F}\x{9580}\x{9581}\x{9582}' .
-'\x{9583}\x{9584}\x{9586}\x{9587}\x{9588}\x{9589}\x{958A}\x{958B}\x{958C}' .
-'\x{958D}\x{958E}\x{958F}\x{9590}\x{9591}\x{9592}\x{9593}\x{9594}\x{9595}' .
-'\x{9596}\x{9598}\x{9599}\x{959A}\x{959B}\x{959C}\x{959D}\x{959E}\x{959F}' .
-'\x{95A1}\x{95A2}\x{95A3}\x{95A4}\x{95A5}\x{95A6}\x{95A7}\x{95A8}\x{95A9}' .
-'\x{95AA}\x{95AB}\x{95AC}\x{95AD}\x{95AE}\x{95AF}\x{95B0}\x{95B1}\x{95B2}' .
-'\x{95B5}\x{95B6}\x{95B7}\x{95B9}\x{95BA}\x{95BB}\x{95BC}\x{95BD}\x{95BE}' .
-'\x{95BF}\x{95C0}\x{95C2}\x{95C3}\x{95C4}\x{95C5}\x{95C6}\x{95C7}\x{95C8}' .
-'\x{95C9}\x{95CA}\x{95CB}\x{95CC}\x{95CD}\x{95CE}\x{95CF}\x{95D0}\x{95D1}' .
-'\x{95D2}\x{95D3}\x{95D4}\x{95D5}\x{95D6}\x{95D7}\x{95D8}\x{95DA}\x{95DB}' .
-'\x{95DC}\x{95DE}\x{95DF}\x{95E0}\x{95E1}\x{95E2}\x{95E3}\x{95E4}\x{95E5}' .
-'\x{95E6}\x{95E7}\x{95E8}\x{95E9}\x{95EA}\x{95EB}\x{95EC}\x{95ED}\x{95EE}' .
-'\x{95EF}\x{95F0}\x{95F1}\x{95F2}\x{95F3}\x{95F4}\x{95F5}\x{95F6}\x{95F7}' .
-'\x{95F8}\x{95F9}\x{95FA}\x{95FB}\x{95FC}\x{95FD}\x{95FE}\x{95FF}\x{9600}' .
-'\x{9601}\x{9602}\x{9603}\x{9604}\x{9605}\x{9606}\x{9607}\x{9608}\x{9609}' .
-'\x{960A}\x{960B}\x{960C}\x{960D}\x{960E}\x{960F}\x{9610}\x{9611}\x{9612}' .
-'\x{9613}\x{9614}\x{9615}\x{9616}\x{9617}\x{9618}\x{9619}\x{961A}\x{961B}' .
-'\x{961C}\x{961D}\x{961E}\x{961F}\x{9620}\x{9621}\x{9622}\x{9623}\x{9624}' .
-'\x{9627}\x{9628}\x{962A}\x{962B}\x{962C}\x{962D}\x{962E}\x{962F}\x{9630}' .
-'\x{9631}\x{9632}\x{9633}\x{9634}\x{9635}\x{9636}\x{9637}\x{9638}\x{9639}' .
-'\x{963A}\x{963B}\x{963C}\x{963D}\x{963F}\x{9640}\x{9641}\x{9642}\x{9643}' .
-'\x{9644}\x{9645}\x{9646}\x{9647}\x{9648}\x{9649}\x{964A}\x{964B}\x{964C}' .
-'\x{964D}\x{964E}\x{964F}\x{9650}\x{9651}\x{9652}\x{9653}\x{9654}\x{9655}' .
-'\x{9658}\x{9659}\x{965A}\x{965B}\x{965C}\x{965D}\x{965E}\x{965F}\x{9660}' .
-'\x{9661}\x{9662}\x{9663}\x{9664}\x{9666}\x{9667}\x{9668}\x{9669}\x{966A}' .
-'\x{966B}\x{966C}\x{966D}\x{966E}\x{966F}\x{9670}\x{9671}\x{9672}\x{9673}' .
-'\x{9674}\x{9675}\x{9676}\x{9677}\x{9678}\x{967C}\x{967D}\x{967E}\x{9680}' .
-'\x{9683}\x{9684}\x{9685}\x{9686}\x{9687}\x{9688}\x{9689}\x{968A}\x{968B}' .
-'\x{968D}\x{968E}\x{968F}\x{9690}\x{9691}\x{9692}\x{9693}\x{9694}\x{9695}' .
-'\x{9697}\x{9698}\x{9699}\x{969B}\x{969C}\x{969E}\x{96A0}\x{96A1}\x{96A2}' .
-'\x{96A3}\x{96A4}\x{96A5}\x{96A6}\x{96A7}\x{96A8}\x{96A9}\x{96AA}\x{96AC}' .
-'\x{96AD}\x{96AE}\x{96B0}\x{96B1}\x{96B3}\x{96B4}\x{96B6}\x{96B7}\x{96B8}' .
-'\x{96B9}\x{96BA}\x{96BB}\x{96BC}\x{96BD}\x{96BE}\x{96BF}\x{96C0}\x{96C1}' .
-'\x{96C2}\x{96C3}\x{96C4}\x{96C5}\x{96C6}\x{96C7}\x{96C8}\x{96C9}\x{96CA}' .
-'\x{96CB}\x{96CC}\x{96CD}\x{96CE}\x{96CF}\x{96D0}\x{96D1}\x{96D2}\x{96D3}' .
-'\x{96D4}\x{96D5}\x{96D6}\x{96D7}\x{96D8}\x{96D9}\x{96DA}\x{96DB}\x{96DC}' .
-'\x{96DD}\x{96DE}\x{96DF}\x{96E0}\x{96E1}\x{96E2}\x{96E3}\x{96E5}\x{96E8}' .
-'\x{96E9}\x{96EA}\x{96EB}\x{96EC}\x{96ED}\x{96EE}\x{96EF}\x{96F0}\x{96F1}' .
-'\x{96F2}\x{96F3}\x{96F4}\x{96F5}\x{96F6}\x{96F7}\x{96F8}\x{96F9}\x{96FA}' .
-'\x{96FB}\x{96FD}\x{96FE}\x{96FF}\x{9700}\x{9701}\x{9702}\x{9703}\x{9704}' .
-'\x{9705}\x{9706}\x{9707}\x{9708}\x{9709}\x{970A}\x{970B}\x{970C}\x{970D}' .
-'\x{970E}\x{970F}\x{9710}\x{9711}\x{9712}\x{9713}\x{9715}\x{9716}\x{9718}' .
-'\x{9719}\x{971C}\x{971D}\x{971E}\x{971F}\x{9720}\x{9721}\x{9722}\x{9723}' .
-'\x{9724}\x{9725}\x{9726}\x{9727}\x{9728}\x{9729}\x{972A}\x{972B}\x{972C}' .
-'\x{972D}\x{972E}\x{972F}\x{9730}\x{9731}\x{9732}\x{9735}\x{9736}\x{9738}' .
-'\x{9739}\x{973A}\x{973B}\x{973C}\x{973D}\x{973E}\x{973F}\x{9742}\x{9743}' .
-'\x{9744}\x{9745}\x{9746}\x{9747}\x{9748}\x{9749}\x{974A}\x{974B}\x{974C}' .
-'\x{974E}\x{974F}\x{9750}\x{9751}\x{9752}\x{9753}\x{9754}\x{9755}\x{9756}' .
-'\x{9758}\x{9759}\x{975A}\x{975B}\x{975C}\x{975D}\x{975E}\x{975F}\x{9760}' .
-'\x{9761}\x{9762}\x{9765}\x{9766}\x{9767}\x{9768}\x{9769}\x{976A}\x{976B}' .
-'\x{976C}\x{976D}\x{976E}\x{976F}\x{9770}\x{9772}\x{9773}\x{9774}\x{9776}' .
-'\x{9777}\x{9778}\x{9779}\x{977A}\x{977B}\x{977C}\x{977D}\x{977E}\x{977F}' .
-'\x{9780}\x{9781}\x{9782}\x{9783}\x{9784}\x{9785}\x{9786}\x{9788}\x{978A}' .
-'\x{978B}\x{978C}\x{978D}\x{978E}\x{978F}\x{9790}\x{9791}\x{9792}\x{9793}' .
-'\x{9794}\x{9795}\x{9796}\x{9797}\x{9798}\x{9799}\x{979A}\x{979C}\x{979D}' .
-'\x{979E}\x{979F}\x{97A0}\x{97A1}\x{97A2}\x{97A3}\x{97A4}\x{97A5}\x{97A6}' .
-'\x{97A7}\x{97A8}\x{97AA}\x{97AB}\x{97AC}\x{97AD}\x{97AE}\x{97AF}\x{97B2}' .
-'\x{97B3}\x{97B4}\x{97B6}\x{97B7}\x{97B8}\x{97B9}\x{97BA}\x{97BB}\x{97BC}' .
-'\x{97BD}\x{97BF}\x{97C1}\x{97C2}\x{97C3}\x{97C4}\x{97C5}\x{97C6}\x{97C7}' .
-'\x{97C8}\x{97C9}\x{97CA}\x{97CB}\x{97CC}\x{97CD}\x{97CE}\x{97CF}\x{97D0}' .
-'\x{97D1}\x{97D3}\x{97D4}\x{97D5}\x{97D6}\x{97D7}\x{97D8}\x{97D9}\x{97DA}' .
-'\x{97DB}\x{97DC}\x{97DD}\x{97DE}\x{97DF}\x{97E0}\x{97E1}\x{97E2}\x{97E3}' .
-'\x{97E4}\x{97E5}\x{97E6}\x{97E7}\x{97E8}\x{97E9}\x{97EA}\x{97EB}\x{97EC}' .
-'\x{97ED}\x{97EE}\x{97EF}\x{97F0}\x{97F1}\x{97F2}\x{97F3}\x{97F4}\x{97F5}' .
-'\x{97F6}\x{97F7}\x{97F8}\x{97F9}\x{97FA}\x{97FB}\x{97FD}\x{97FE}\x{97FF}' .
-'\x{9800}\x{9801}\x{9802}\x{9803}\x{9804}\x{9805}\x{9806}\x{9807}\x{9808}' .
-'\x{9809}\x{980A}\x{980B}\x{980C}\x{980D}\x{980E}\x{980F}\x{9810}\x{9811}' .
-'\x{9812}\x{9813}\x{9814}\x{9815}\x{9816}\x{9817}\x{9818}\x{9819}\x{981A}' .
-'\x{981B}\x{981C}\x{981D}\x{981E}\x{9820}\x{9821}\x{9822}\x{9823}\x{9824}' .
-'\x{9826}\x{9827}\x{9828}\x{9829}\x{982B}\x{982D}\x{982E}\x{982F}\x{9830}' .
-'\x{9831}\x{9832}\x{9834}\x{9835}\x{9836}\x{9837}\x{9838}\x{9839}\x{983B}' .
-'\x{983C}\x{983D}\x{983F}\x{9840}\x{9841}\x{9843}\x{9844}\x{9845}\x{9846}' .
-'\x{9848}\x{9849}\x{984A}\x{984C}\x{984D}\x{984E}\x{984F}\x{9850}\x{9851}' .
-'\x{9852}\x{9853}\x{9854}\x{9855}\x{9857}\x{9858}\x{9859}\x{985A}\x{985B}' .
-'\x{985C}\x{985D}\x{985E}\x{985F}\x{9860}\x{9861}\x{9862}\x{9863}\x{9864}' .
-'\x{9865}\x{9867}\x{9869}\x{986A}\x{986B}\x{986C}\x{986D}\x{986E}\x{986F}' .
-'\x{9870}\x{9871}\x{9872}\x{9873}\x{9874}\x{9875}\x{9876}\x{9877}\x{9878}' .
-'\x{9879}\x{987A}\x{987B}\x{987C}\x{987D}\x{987E}\x{987F}\x{9880}\x{9881}' .
-'\x{9882}\x{9883}\x{9884}\x{9885}\x{9886}\x{9887}\x{9888}\x{9889}\x{988A}' .
-'\x{988B}\x{988C}\x{988D}\x{988E}\x{988F}\x{9890}\x{9891}\x{9892}\x{9893}' .
-'\x{9894}\x{9895}\x{9896}\x{9897}\x{9898}\x{9899}\x{989A}\x{989B}\x{989C}' .
-'\x{989D}\x{989E}\x{989F}\x{98A0}\x{98A1}\x{98A2}\x{98A3}\x{98A4}\x{98A5}' .
-'\x{98A6}\x{98A7}\x{98A8}\x{98A9}\x{98AA}\x{98AB}\x{98AC}\x{98AD}\x{98AE}' .
-'\x{98AF}\x{98B0}\x{98B1}\x{98B2}\x{98B3}\x{98B4}\x{98B5}\x{98B6}\x{98B8}' .
-'\x{98B9}\x{98BA}\x{98BB}\x{98BC}\x{98BD}\x{98BE}\x{98BF}\x{98C0}\x{98C1}' .
-'\x{98C2}\x{98C3}\x{98C4}\x{98C5}\x{98C6}\x{98C8}\x{98C9}\x{98CB}\x{98CC}' .
-'\x{98CD}\x{98CE}\x{98CF}\x{98D0}\x{98D1}\x{98D2}\x{98D3}\x{98D4}\x{98D5}' .
-'\x{98D6}\x{98D7}\x{98D8}\x{98D9}\x{98DA}\x{98DB}\x{98DC}\x{98DD}\x{98DE}' .
-'\x{98DF}\x{98E0}\x{98E2}\x{98E3}\x{98E5}\x{98E6}\x{98E7}\x{98E8}\x{98E9}' .
-'\x{98EA}\x{98EB}\x{98ED}\x{98EF}\x{98F0}\x{98F2}\x{98F3}\x{98F4}\x{98F5}' .
-'\x{98F6}\x{98F7}\x{98F9}\x{98FA}\x{98FC}\x{98FD}\x{98FE}\x{98FF}\x{9900}' .
-'\x{9901}\x{9902}\x{9903}\x{9904}\x{9905}\x{9906}\x{9907}\x{9908}\x{9909}' .
-'\x{990A}\x{990B}\x{990C}\x{990D}\x{990E}\x{990F}\x{9910}\x{9911}\x{9912}' .
-'\x{9913}\x{9914}\x{9915}\x{9916}\x{9917}\x{9918}\x{991A}\x{991B}\x{991C}' .
-'\x{991D}\x{991E}\x{991F}\x{9920}\x{9921}\x{9922}\x{9923}\x{9924}\x{9925}' .
-'\x{9926}\x{9927}\x{9928}\x{9929}\x{992A}\x{992B}\x{992C}\x{992D}\x{992E}' .
-'\x{992F}\x{9930}\x{9931}\x{9932}\x{9933}\x{9934}\x{9935}\x{9936}\x{9937}' .
-'\x{9938}\x{9939}\x{993A}\x{993C}\x{993D}\x{993E}\x{993F}\x{9940}\x{9941}' .
-'\x{9942}\x{9943}\x{9945}\x{9946}\x{9947}\x{9948}\x{9949}\x{994A}\x{994B}' .
-'\x{994C}\x{994E}\x{994F}\x{9950}\x{9951}\x{9952}\x{9953}\x{9954}\x{9955}' .
-'\x{9956}\x{9957}\x{9958}\x{9959}\x{995B}\x{995C}\x{995E}\x{995F}\x{9960}' .
-'\x{9961}\x{9962}\x{9963}\x{9964}\x{9965}\x{9966}\x{9967}\x{9968}\x{9969}' .
-'\x{996A}\x{996B}\x{996C}\x{996D}\x{996E}\x{996F}\x{9970}\x{9971}\x{9972}' .
-'\x{9973}\x{9974}\x{9975}\x{9976}\x{9977}\x{9978}\x{9979}\x{997A}\x{997B}' .
-'\x{997C}\x{997D}\x{997E}\x{997F}\x{9980}\x{9981}\x{9982}\x{9983}\x{9984}' .
-'\x{9985}\x{9986}\x{9987}\x{9988}\x{9989}\x{998A}\x{998B}\x{998C}\x{998D}' .
-'\x{998E}\x{998F}\x{9990}\x{9991}\x{9992}\x{9993}\x{9994}\x{9995}\x{9996}' .
-'\x{9997}\x{9998}\x{9999}\x{999A}\x{999B}\x{999C}\x{999D}\x{999E}\x{999F}' .
-'\x{99A0}\x{99A1}\x{99A2}\x{99A3}\x{99A4}\x{99A5}\x{99A6}\x{99A7}\x{99A8}' .
-'\x{99A9}\x{99AA}\x{99AB}\x{99AC}\x{99AD}\x{99AE}\x{99AF}\x{99B0}\x{99B1}' .
-'\x{99B2}\x{99B3}\x{99B4}\x{99B5}\x{99B6}\x{99B7}\x{99B8}\x{99B9}\x{99BA}' .
-'\x{99BB}\x{99BC}\x{99BD}\x{99BE}\x{99C0}\x{99C1}\x{99C2}\x{99C3}\x{99C4}' .
-'\x{99C6}\x{99C7}\x{99C8}\x{99C9}\x{99CA}\x{99CB}\x{99CC}\x{99CD}\x{99CE}' .
-'\x{99CF}\x{99D0}\x{99D1}\x{99D2}\x{99D3}\x{99D4}\x{99D5}\x{99D6}\x{99D7}' .
-'\x{99D8}\x{99D9}\x{99DA}\x{99DB}\x{99DC}\x{99DD}\x{99DE}\x{99DF}\x{99E1}' .
-'\x{99E2}\x{99E3}\x{99E4}\x{99E5}\x{99E7}\x{99E8}\x{99E9}\x{99EA}\x{99EC}' .
-'\x{99ED}\x{99EE}\x{99EF}\x{99F0}\x{99F1}\x{99F2}\x{99F3}\x{99F4}\x{99F6}' .
-'\x{99F7}\x{99F8}\x{99F9}\x{99FA}\x{99FB}\x{99FC}\x{99FD}\x{99FE}\x{99FF}' .
-'\x{9A00}\x{9A01}\x{9A02}\x{9A03}\x{9A04}\x{9A05}\x{9A06}\x{9A07}\x{9A08}' .
-'\x{9A09}\x{9A0A}\x{9A0B}\x{9A0C}\x{9A0D}\x{9A0E}\x{9A0F}\x{9A11}\x{9A14}' .
-'\x{9A15}\x{9A16}\x{9A19}\x{9A1A}\x{9A1B}\x{9A1C}\x{9A1D}\x{9A1E}\x{9A1F}' .
-'\x{9A20}\x{9A21}\x{9A22}\x{9A23}\x{9A24}\x{9A25}\x{9A26}\x{9A27}\x{9A29}' .
-'\x{9A2A}\x{9A2B}\x{9A2C}\x{9A2D}\x{9A2E}\x{9A2F}\x{9A30}\x{9A31}\x{9A32}' .
-'\x{9A33}\x{9A34}\x{9A35}\x{9A36}\x{9A37}\x{9A38}\x{9A39}\x{9A3A}\x{9A3C}' .
-'\x{9A3D}\x{9A3E}\x{9A3F}\x{9A40}\x{9A41}\x{9A42}\x{9A43}\x{9A44}\x{9A45}' .
-'\x{9A46}\x{9A47}\x{9A48}\x{9A49}\x{9A4A}\x{9A4B}\x{9A4C}\x{9A4D}\x{9A4E}' .
-'\x{9A4F}\x{9A50}\x{9A52}\x{9A53}\x{9A54}\x{9A55}\x{9A56}\x{9A57}\x{9A59}' .
-'\x{9A5A}\x{9A5B}\x{9A5C}\x{9A5E}\x{9A5F}\x{9A60}\x{9A61}\x{9A62}\x{9A64}' .
-'\x{9A65}\x{9A66}\x{9A67}\x{9A68}\x{9A69}\x{9A6A}\x{9A6B}\x{9A6C}\x{9A6D}' .
-'\x{9A6E}\x{9A6F}\x{9A70}\x{9A71}\x{9A72}\x{9A73}\x{9A74}\x{9A75}\x{9A76}' .
-'\x{9A77}\x{9A78}\x{9A79}\x{9A7A}\x{9A7B}\x{9A7C}\x{9A7D}\x{9A7E}\x{9A7F}' .
-'\x{9A80}\x{9A81}\x{9A82}\x{9A83}\x{9A84}\x{9A85}\x{9A86}\x{9A87}\x{9A88}' .
-'\x{9A89}\x{9A8A}\x{9A8B}\x{9A8C}\x{9A8D}\x{9A8E}\x{9A8F}\x{9A90}\x{9A91}' .
-'\x{9A92}\x{9A93}\x{9A94}\x{9A95}\x{9A96}\x{9A97}\x{9A98}\x{9A99}\x{9A9A}' .
-'\x{9A9B}\x{9A9C}\x{9A9D}\x{9A9E}\x{9A9F}\x{9AA0}\x{9AA1}\x{9AA2}\x{9AA3}' .
-'\x{9AA4}\x{9AA5}\x{9AA6}\x{9AA7}\x{9AA8}\x{9AAA}\x{9AAB}\x{9AAC}\x{9AAD}' .
-'\x{9AAE}\x{9AAF}\x{9AB0}\x{9AB1}\x{9AB2}\x{9AB3}\x{9AB4}\x{9AB5}\x{9AB6}' .
-'\x{9AB7}\x{9AB8}\x{9AB9}\x{9ABA}\x{9ABB}\x{9ABC}\x{9ABE}\x{9ABF}\x{9AC0}' .
-'\x{9AC1}\x{9AC2}\x{9AC3}\x{9AC4}\x{9AC5}\x{9AC6}\x{9AC7}\x{9AC9}\x{9ACA}' .
-'\x{9ACB}\x{9ACC}\x{9ACD}\x{9ACE}\x{9ACF}\x{9AD0}\x{9AD1}\x{9AD2}\x{9AD3}' .
-'\x{9AD4}\x{9AD5}\x{9AD6}\x{9AD8}\x{9AD9}\x{9ADA}\x{9ADB}\x{9ADC}\x{9ADD}' .
-'\x{9ADE}\x{9ADF}\x{9AE1}\x{9AE2}\x{9AE3}\x{9AE5}\x{9AE6}\x{9AE7}\x{9AEA}' .
-'\x{9AEB}\x{9AEC}\x{9AED}\x{9AEE}\x{9AEF}\x{9AF1}\x{9AF2}\x{9AF3}\x{9AF4}' .
-'\x{9AF5}\x{9AF6}\x{9AF7}\x{9AF8}\x{9AF9}\x{9AFA}\x{9AFB}\x{9AFC}\x{9AFD}' .
-'\x{9AFE}\x{9AFF}\x{9B01}\x{9B03}\x{9B04}\x{9B05}\x{9B06}\x{9B07}\x{9B08}' .
-'\x{9B0A}\x{9B0B}\x{9B0C}\x{9B0D}\x{9B0E}\x{9B0F}\x{9B10}\x{9B11}\x{9B12}' .
-'\x{9B13}\x{9B15}\x{9B16}\x{9B17}\x{9B18}\x{9B19}\x{9B1A}\x{9B1C}\x{9B1D}' .
-'\x{9B1E}\x{9B1F}\x{9B20}\x{9B21}\x{9B22}\x{9B23}\x{9B24}\x{9B25}\x{9B26}' .
-'\x{9B27}\x{9B28}\x{9B29}\x{9B2A}\x{9B2B}\x{9B2C}\x{9B2D}\x{9B2E}\x{9B2F}' .
-'\x{9B30}\x{9B31}\x{9B32}\x{9B33}\x{9B35}\x{9B36}\x{9B37}\x{9B38}\x{9B39}' .
-'\x{9B3A}\x{9B3B}\x{9B3C}\x{9B3E}\x{9B3F}\x{9B41}\x{9B42}\x{9B43}\x{9B44}' .
-'\x{9B45}\x{9B46}\x{9B47}\x{9B48}\x{9B49}\x{9B4A}\x{9B4B}\x{9B4C}\x{9B4D}' .
-'\x{9B4E}\x{9B4F}\x{9B51}\x{9B52}\x{9B53}\x{9B54}\x{9B55}\x{9B56}\x{9B58}' .
-'\x{9B59}\x{9B5A}\x{9B5B}\x{9B5C}\x{9B5D}\x{9B5E}\x{9B5F}\x{9B60}\x{9B61}' .
-'\x{9B63}\x{9B64}\x{9B65}\x{9B66}\x{9B67}\x{9B68}\x{9B69}\x{9B6A}\x{9B6B}' .
-'\x{9B6C}\x{9B6D}\x{9B6E}\x{9B6F}\x{9B70}\x{9B71}\x{9B73}\x{9B74}\x{9B75}' .
-'\x{9B76}\x{9B77}\x{9B78}\x{9B79}\x{9B7A}\x{9B7B}\x{9B7C}\x{9B7D}\x{9B7E}' .
-'\x{9B7F}\x{9B80}\x{9B81}\x{9B82}\x{9B83}\x{9B84}\x{9B85}\x{9B86}\x{9B87}' .
-'\x{9B88}\x{9B8A}\x{9B8B}\x{9B8D}\x{9B8E}\x{9B8F}\x{9B90}\x{9B91}\x{9B92}' .
-'\x{9B93}\x{9B94}\x{9B95}\x{9B96}\x{9B97}\x{9B98}\x{9B9A}\x{9B9B}\x{9B9C}' .
-'\x{9B9D}\x{9B9E}\x{9B9F}\x{9BA0}\x{9BA1}\x{9BA2}\x{9BA3}\x{9BA4}\x{9BA5}' .
-'\x{9BA6}\x{9BA7}\x{9BA8}\x{9BA9}\x{9BAA}\x{9BAB}\x{9BAC}\x{9BAD}\x{9BAE}' .
-'\x{9BAF}\x{9BB0}\x{9BB1}\x{9BB2}\x{9BB3}\x{9BB4}\x{9BB5}\x{9BB6}\x{9BB7}' .
-'\x{9BB8}\x{9BB9}\x{9BBA}\x{9BBB}\x{9BBC}\x{9BBD}\x{9BBE}\x{9BBF}\x{9BC0}' .
-'\x{9BC1}\x{9BC3}\x{9BC4}\x{9BC5}\x{9BC6}\x{9BC7}\x{9BC8}\x{9BC9}\x{9BCA}' .
-'\x{9BCB}\x{9BCC}\x{9BCD}\x{9BCE}\x{9BCF}\x{9BD0}\x{9BD1}\x{9BD2}\x{9BD3}' .
-'\x{9BD4}\x{9BD5}\x{9BD6}\x{9BD7}\x{9BD8}\x{9BD9}\x{9BDA}\x{9BDB}\x{9BDC}' .
-'\x{9BDD}\x{9BDE}\x{9BDF}\x{9BE0}\x{9BE1}\x{9BE2}\x{9BE3}\x{9BE4}\x{9BE5}' .
-'\x{9BE6}\x{9BE7}\x{9BE8}\x{9BE9}\x{9BEA}\x{9BEB}\x{9BEC}\x{9BED}\x{9BEE}' .
-'\x{9BEF}\x{9BF0}\x{9BF1}\x{9BF2}\x{9BF3}\x{9BF4}\x{9BF5}\x{9BF7}\x{9BF8}' .
-'\x{9BF9}\x{9BFA}\x{9BFB}\x{9BFC}\x{9BFD}\x{9BFE}\x{9BFF}\x{9C02}\x{9C05}' .
-'\x{9C06}\x{9C07}\x{9C08}\x{9C09}\x{9C0A}\x{9C0B}\x{9C0C}\x{9C0D}\x{9C0E}' .
-'\x{9C0F}\x{9C10}\x{9C11}\x{9C12}\x{9C13}\x{9C14}\x{9C15}\x{9C16}\x{9C17}' .
-'\x{9C18}\x{9C19}\x{9C1A}\x{9C1B}\x{9C1C}\x{9C1D}\x{9C1E}\x{9C1F}\x{9C20}' .
-'\x{9C21}\x{9C22}\x{9C23}\x{9C24}\x{9C25}\x{9C26}\x{9C27}\x{9C28}\x{9C29}' .
-'\x{9C2A}\x{9C2B}\x{9C2C}\x{9C2D}\x{9C2F}\x{9C30}\x{9C31}\x{9C32}\x{9C33}' .
-'\x{9C34}\x{9C35}\x{9C36}\x{9C37}\x{9C38}\x{9C39}\x{9C3A}\x{9C3B}\x{9C3C}' .
-'\x{9C3D}\x{9C3E}\x{9C3F}\x{9C40}\x{9C41}\x{9C43}\x{9C44}\x{9C45}\x{9C46}' .
-'\x{9C47}\x{9C48}\x{9C49}\x{9C4A}\x{9C4B}\x{9C4C}\x{9C4D}\x{9C4E}\x{9C50}' .
-'\x{9C52}\x{9C53}\x{9C54}\x{9C55}\x{9C56}\x{9C57}\x{9C58}\x{9C59}\x{9C5A}' .
-'\x{9C5B}\x{9C5C}\x{9C5D}\x{9C5E}\x{9C5F}\x{9C60}\x{9C62}\x{9C63}\x{9C65}' .
-'\x{9C66}\x{9C67}\x{9C68}\x{9C69}\x{9C6A}\x{9C6B}\x{9C6C}\x{9C6D}\x{9C6E}' .
-'\x{9C6F}\x{9C70}\x{9C71}\x{9C72}\x{9C73}\x{9C74}\x{9C75}\x{9C77}\x{9C78}' .
-'\x{9C79}\x{9C7A}\x{9C7C}\x{9C7D}\x{9C7E}\x{9C7F}\x{9C80}\x{9C81}\x{9C82}' .
-'\x{9C83}\x{9C84}\x{9C85}\x{9C86}\x{9C87}\x{9C88}\x{9C89}\x{9C8A}\x{9C8B}' .
-'\x{9C8C}\x{9C8D}\x{9C8E}\x{9C8F}\x{9C90}\x{9C91}\x{9C92}\x{9C93}\x{9C94}' .
-'\x{9C95}\x{9C96}\x{9C97}\x{9C98}\x{9C99}\x{9C9A}\x{9C9B}\x{9C9C}\x{9C9D}' .
-'\x{9C9E}\x{9C9F}\x{9CA0}\x{9CA1}\x{9CA2}\x{9CA3}\x{9CA4}\x{9CA5}\x{9CA6}' .
-'\x{9CA7}\x{9CA8}\x{9CA9}\x{9CAA}\x{9CAB}\x{9CAC}\x{9CAD}\x{9CAE}\x{9CAF}' .
-'\x{9CB0}\x{9CB1}\x{9CB2}\x{9CB3}\x{9CB4}\x{9CB5}\x{9CB6}\x{9CB7}\x{9CB8}' .
-'\x{9CB9}\x{9CBA}\x{9CBB}\x{9CBC}\x{9CBD}\x{9CBE}\x{9CBF}\x{9CC0}\x{9CC1}' .
-'\x{9CC2}\x{9CC3}\x{9CC4}\x{9CC5}\x{9CC6}\x{9CC7}\x{9CC8}\x{9CC9}\x{9CCA}' .
-'\x{9CCB}\x{9CCC}\x{9CCD}\x{9CCE}\x{9CCF}\x{9CD0}\x{9CD1}\x{9CD2}\x{9CD3}' .
-'\x{9CD4}\x{9CD5}\x{9CD6}\x{9CD7}\x{9CD8}\x{9CD9}\x{9CDA}\x{9CDB}\x{9CDC}' .
-'\x{9CDD}\x{9CDE}\x{9CDF}\x{9CE0}\x{9CE1}\x{9CE2}\x{9CE3}\x{9CE4}\x{9CE5}' .
-'\x{9CE6}\x{9CE7}\x{9CE8}\x{9CE9}\x{9CEA}\x{9CEB}\x{9CEC}\x{9CED}\x{9CEE}' .
-'\x{9CEF}\x{9CF0}\x{9CF1}\x{9CF2}\x{9CF3}\x{9CF4}\x{9CF5}\x{9CF6}\x{9CF7}' .
-'\x{9CF8}\x{9CF9}\x{9CFA}\x{9CFB}\x{9CFC}\x{9CFD}\x{9CFE}\x{9CFF}\x{9D00}' .
-'\x{9D01}\x{9D02}\x{9D03}\x{9D04}\x{9D05}\x{9D06}\x{9D07}\x{9D08}\x{9D09}' .
-'\x{9D0A}\x{9D0B}\x{9D0F}\x{9D10}\x{9D12}\x{9D13}\x{9D14}\x{9D15}\x{9D16}' .
-'\x{9D17}\x{9D18}\x{9D19}\x{9D1A}\x{9D1B}\x{9D1C}\x{9D1D}\x{9D1E}\x{9D1F}' .
-'\x{9D20}\x{9D21}\x{9D22}\x{9D23}\x{9D24}\x{9D25}\x{9D26}\x{9D28}\x{9D29}' .
-'\x{9D2B}\x{9D2D}\x{9D2E}\x{9D2F}\x{9D30}\x{9D31}\x{9D32}\x{9D33}\x{9D34}' .
-'\x{9D36}\x{9D37}\x{9D38}\x{9D39}\x{9D3A}\x{9D3B}\x{9D3D}\x{9D3E}\x{9D3F}' .
-'\x{9D40}\x{9D41}\x{9D42}\x{9D43}\x{9D45}\x{9D46}\x{9D47}\x{9D48}\x{9D49}' .
-'\x{9D4A}\x{9D4B}\x{9D4C}\x{9D4D}\x{9D4E}\x{9D4F}\x{9D50}\x{9D51}\x{9D52}' .
-'\x{9D53}\x{9D54}\x{9D55}\x{9D56}\x{9D57}\x{9D58}\x{9D59}\x{9D5A}\x{9D5B}' .
-'\x{9D5C}\x{9D5D}\x{9D5E}\x{9D5F}\x{9D60}\x{9D61}\x{9D62}\x{9D63}\x{9D64}' .
-'\x{9D65}\x{9D66}\x{9D67}\x{9D68}\x{9D69}\x{9D6A}\x{9D6B}\x{9D6C}\x{9D6E}' .
-'\x{9D6F}\x{9D70}\x{9D71}\x{9D72}\x{9D73}\x{9D74}\x{9D75}\x{9D76}\x{9D77}' .
-'\x{9D78}\x{9D79}\x{9D7A}\x{9D7B}\x{9D7C}\x{9D7D}\x{9D7E}\x{9D7F}\x{9D80}' .
-'\x{9D81}\x{9D82}\x{9D83}\x{9D84}\x{9D85}\x{9D86}\x{9D87}\x{9D88}\x{9D89}' .
-'\x{9D8A}\x{9D8B}\x{9D8C}\x{9D8D}\x{9D8E}\x{9D90}\x{9D91}\x{9D92}\x{9D93}' .
-'\x{9D94}\x{9D96}\x{9D97}\x{9D98}\x{9D99}\x{9D9A}\x{9D9B}\x{9D9C}\x{9D9D}' .
-'\x{9D9E}\x{9D9F}\x{9DA0}\x{9DA1}\x{9DA2}\x{9DA3}\x{9DA4}\x{9DA5}\x{9DA6}' .
-'\x{9DA7}\x{9DA8}\x{9DA9}\x{9DAA}\x{9DAB}\x{9DAC}\x{9DAD}\x{9DAF}\x{9DB0}' .
-'\x{9DB1}\x{9DB2}\x{9DB3}\x{9DB4}\x{9DB5}\x{9DB6}\x{9DB7}\x{9DB8}\x{9DB9}' .
-'\x{9DBA}\x{9DBB}\x{9DBC}\x{9DBE}\x{9DBF}\x{9DC1}\x{9DC2}\x{9DC3}\x{9DC4}' .
-'\x{9DC5}\x{9DC7}\x{9DC8}\x{9DC9}\x{9DCA}\x{9DCB}\x{9DCC}\x{9DCD}\x{9DCE}' .
-'\x{9DCF}\x{9DD0}\x{9DD1}\x{9DD2}\x{9DD3}\x{9DD4}\x{9DD5}\x{9DD6}\x{9DD7}' .
-'\x{9DD8}\x{9DD9}\x{9DDA}\x{9DDB}\x{9DDC}\x{9DDD}\x{9DDE}\x{9DDF}\x{9DE0}' .
-'\x{9DE1}\x{9DE2}\x{9DE3}\x{9DE4}\x{9DE5}\x{9DE6}\x{9DE7}\x{9DE8}\x{9DE9}' .
-'\x{9DEB}\x{9DEC}\x{9DED}\x{9DEE}\x{9DEF}\x{9DF0}\x{9DF1}\x{9DF2}\x{9DF3}' .
-'\x{9DF4}\x{9DF5}\x{9DF6}\x{9DF7}\x{9DF8}\x{9DF9}\x{9DFA}\x{9DFB}\x{9DFD}' .
-'\x{9DFE}\x{9DFF}\x{9E00}\x{9E01}\x{9E02}\x{9E03}\x{9E04}\x{9E05}\x{9E06}' .
-'\x{9E07}\x{9E08}\x{9E09}\x{9E0A}\x{9E0B}\x{9E0C}\x{9E0D}\x{9E0F}\x{9E10}' .
-'\x{9E11}\x{9E12}\x{9E13}\x{9E14}\x{9E15}\x{9E17}\x{9E18}\x{9E19}\x{9E1A}' .
-'\x{9E1B}\x{9E1D}\x{9E1E}\x{9E1F}\x{9E20}\x{9E21}\x{9E22}\x{9E23}\x{9E24}' .
-'\x{9E25}\x{9E26}\x{9E27}\x{9E28}\x{9E29}\x{9E2A}\x{9E2B}\x{9E2C}\x{9E2D}' .
-'\x{9E2E}\x{9E2F}\x{9E30}\x{9E31}\x{9E32}\x{9E33}\x{9E34}\x{9E35}\x{9E36}' .
-'\x{9E37}\x{9E38}\x{9E39}\x{9E3A}\x{9E3B}\x{9E3C}\x{9E3D}\x{9E3E}\x{9E3F}' .
-'\x{9E40}\x{9E41}\x{9E42}\x{9E43}\x{9E44}\x{9E45}\x{9E46}\x{9E47}\x{9E48}' .
-'\x{9E49}\x{9E4A}\x{9E4B}\x{9E4C}\x{9E4D}\x{9E4E}\x{9E4F}\x{9E50}\x{9E51}' .
-'\x{9E52}\x{9E53}\x{9E54}\x{9E55}\x{9E56}\x{9E57}\x{9E58}\x{9E59}\x{9E5A}' .
-'\x{9E5B}\x{9E5C}\x{9E5D}\x{9E5E}\x{9E5F}\x{9E60}\x{9E61}\x{9E62}\x{9E63}' .
-'\x{9E64}\x{9E65}\x{9E66}\x{9E67}\x{9E68}\x{9E69}\x{9E6A}\x{9E6B}\x{9E6C}' .
-'\x{9E6D}\x{9E6E}\x{9E6F}\x{9E70}\x{9E71}\x{9E72}\x{9E73}\x{9E74}\x{9E75}' .
-'\x{9E76}\x{9E77}\x{9E79}\x{9E7A}\x{9E7C}\x{9E7D}\x{9E7E}\x{9E7F}\x{9E80}' .
-'\x{9E81}\x{9E82}\x{9E83}\x{9E84}\x{9E85}\x{9E86}\x{9E87}\x{9E88}\x{9E89}' .
-'\x{9E8A}\x{9E8B}\x{9E8C}\x{9E8D}\x{9E8E}\x{9E91}\x{9E92}\x{9E93}\x{9E94}' .
-'\x{9E96}\x{9E97}\x{9E99}\x{9E9A}\x{9E9B}\x{9E9C}\x{9E9D}\x{9E9F}\x{9EA0}' .
-'\x{9EA1}\x{9EA3}\x{9EA4}\x{9EA5}\x{9EA6}\x{9EA7}\x{9EA8}\x{9EA9}\x{9EAA}' .
-'\x{9EAD}\x{9EAE}\x{9EAF}\x{9EB0}\x{9EB2}\x{9EB3}\x{9EB4}\x{9EB5}\x{9EB6}' .
-'\x{9EB7}\x{9EB8}\x{9EBB}\x{9EBC}\x{9EBD}\x{9EBE}\x{9EBF}\x{9EC0}\x{9EC1}' .
-'\x{9EC2}\x{9EC3}\x{9EC4}\x{9EC5}\x{9EC6}\x{9EC7}\x{9EC8}\x{9EC9}\x{9ECA}' .
-'\x{9ECB}\x{9ECC}\x{9ECD}\x{9ECE}\x{9ECF}\x{9ED0}\x{9ED1}\x{9ED2}\x{9ED3}' .
-'\x{9ED4}\x{9ED5}\x{9ED6}\x{9ED7}\x{9ED8}\x{9ED9}\x{9EDA}\x{9EDB}\x{9EDC}' .
-'\x{9EDD}\x{9EDE}\x{9EDF}\x{9EE0}\x{9EE1}\x{9EE2}\x{9EE3}\x{9EE4}\x{9EE5}' .
-'\x{9EE6}\x{9EE7}\x{9EE8}\x{9EE9}\x{9EEA}\x{9EEB}\x{9EED}\x{9EEE}\x{9EEF}' .
-'\x{9EF0}\x{9EF2}\x{9EF3}\x{9EF4}\x{9EF5}\x{9EF6}\x{9EF7}\x{9EF8}\x{9EF9}' .
-'\x{9EFA}\x{9EFB}\x{9EFC}\x{9EFD}\x{9EFE}\x{9EFF}\x{9F00}\x{9F01}\x{9F02}' .
-'\x{9F04}\x{9F05}\x{9F06}\x{9F07}\x{9F08}\x{9F09}\x{9F0A}\x{9F0B}\x{9F0C}' .
-'\x{9F0D}\x{9F0E}\x{9F0F}\x{9F10}\x{9F12}\x{9F13}\x{9F15}\x{9F16}\x{9F17}' .
-'\x{9F18}\x{9F19}\x{9F1A}\x{9F1B}\x{9F1C}\x{9F1D}\x{9F1E}\x{9F1F}\x{9F20}' .
-'\x{9F22}\x{9F23}\x{9F24}\x{9F25}\x{9F27}\x{9F28}\x{9F29}\x{9F2A}\x{9F2B}' .
-'\x{9F2C}\x{9F2D}\x{9F2E}\x{9F2F}\x{9F30}\x{9F31}\x{9F32}\x{9F33}\x{9F34}' .
-'\x{9F35}\x{9F36}\x{9F37}\x{9F38}\x{9F39}\x{9F3A}\x{9F3B}\x{9F3C}\x{9F3D}' .
-'\x{9F3E}\x{9F3F}\x{9F40}\x{9F41}\x{9F42}\x{9F43}\x{9F44}\x{9F46}\x{9F47}' .
-'\x{9F48}\x{9F49}\x{9F4A}\x{9F4B}\x{9F4C}\x{9F4D}\x{9F4E}\x{9F4F}\x{9F50}' .
-'\x{9F51}\x{9F52}\x{9F54}\x{9F55}\x{9F56}\x{9F57}\x{9F58}\x{9F59}\x{9F5A}' .
-'\x{9F5B}\x{9F5C}\x{9F5D}\x{9F5E}\x{9F5F}\x{9F60}\x{9F61}\x{9F63}\x{9F64}' .
-'\x{9F65}\x{9F66}\x{9F67}\x{9F68}\x{9F69}\x{9F6A}\x{9F6B}\x{9F6C}\x{9F6E}' .
-'\x{9F6F}\x{9F70}\x{9F71}\x{9F72}\x{9F73}\x{9F74}\x{9F75}\x{9F76}\x{9F77}' .
-'\x{9F78}\x{9F79}\x{9F7A}\x{9F7B}\x{9F7C}\x{9F7D}\x{9F7E}\x{9F7F}\x{9F80}' .
-'\x{9F81}\x{9F82}\x{9F83}\x{9F84}\x{9F85}\x{9F86}\x{9F87}\x{9F88}\x{9F89}' .
-'\x{9F8A}\x{9F8B}\x{9F8C}\x{9F8D}\x{9F8E}\x{9F8F}\x{9F90}\x{9F91}\x{9F92}' .
-'\x{9F93}\x{9F94}\x{9F95}\x{9F96}\x{9F97}\x{9F98}\x{9F99}\x{9F9A}\x{9F9B}' .
-'\x{9F9C}\x{9F9D}\x{9F9E}\x{9F9F}\x{9FA0}\x{9FA2}\x{9FA4}\x{9FA5}]{1,20}$/iu');
diff --git a/airtime_mvc/library/Zend/Validate/Hostname/Com.php b/airtime_mvc/library/Zend/Validate/Hostname/Com.php
deleted file mode 100644
index 413971fec..000000000
--- a/airtime_mvc/library/Zend/Validate/Hostname/Com.php
+++ /dev/null
@@ -1,198 +0,0 @@
- '/^[\x{002d}0-9\x{0400}-\x{052f}]{1,63}$/iu',
- 2 => '/^[\x{002d}0-9\x{0370}-\x{03ff}]{1,63}$/iu',
- 3 => '/^[\x{002d}0-9a-z\x{ac00}-\x{d7a3}]{1,17}$/iu',
- 4 => '/^[\x{002d}0-9a-z·à -öø-Ă¿ÄăąćĉċÄÄđēĕėęěÄğġģĥħĩīÄįıĵķĸĺļľłńņňŋÅÅőœŕŗřśÅşšţťŧũūÅůűųŵŷźżž]{1,63}$/iu',
- 5 => '/^[\x{002d}0-9A-Za-z\x{3400}-\x{3401}\x{3404}-\x{3406}\x{340C}\x{3416}\x{341C}' .
-'\x{3421}\x{3424}\x{3428}-\x{3429}\x{342B}-\x{342E}\x{3430}-\x{3434}\x{3436}' .
-'\x{3438}-\x{343C}\x{343E}\x{3441}-\x{3445}\x{3447}\x{3449}-\x{3451}\x{3453}' .
-'\x{3457}-\x{345F}\x{3463}-\x{3467}\x{346E}-\x{3471}\x{3473}-\x{3477}\x{3479}-\x{348E}\x{3491}-\x{3497}' .
-'\x{3499}-\x{34A1}\x{34A4}-\x{34AD}\x{34AF}-\x{34B0}\x{34B2}-\x{34BF}\x{34C2}-\x{34C5}\x{34C7}-\x{34CC}' .
-'\x{34CE}-\x{34D1}\x{34D3}-\x{34D8}\x{34DA}-\x{34E4}\x{34E7}-\x{34E9}\x{34EC}-\x{34EF}\x{34F1}-\x{34FE}' .
-'\x{3500}-\x{3507}\x{350A}-\x{3513}\x{3515}\x{3517}-\x{351A}\x{351C}-\x{351E}\x{3520}-\x{352A}' .
-'\x{352C}-\x{3552}\x{3554}-\x{355C}\x{355E}-\x{3567}\x{3569}-\x{3573}\x{3575}-\x{357C}\x{3580}-\x{3588}' .
-'\x{358F}-\x{3598}\x{359E}-\x{35AB}\x{35B4}-\x{35CD}\x{35D0}\x{35D3}-\x{35DC}\x{35E2}-\x{35ED}' .
-'\x{35F0}-\x{35F6}\x{35FB}-\x{3602}\x{3605}-\x{360E}\x{3610}-\x{3611}\x{3613}-\x{3616}\x{3619}-\x{362D}' .
-'\x{362F}-\x{3634}\x{3636}-\x{363B}\x{363F}-\x{3645}\x{3647}-\x{364B}\x{364D}-\x{3653}\x{3655}' .
-'\x{3659}-\x{365E}\x{3660}-\x{3665}\x{3667}-\x{367C}\x{367E}\x{3680}-\x{3685}\x{3687}' .
-'\x{3689}-\x{3690}\x{3692}-\x{3698}\x{369A}\x{369C}-\x{36AE}\x{36B0}-\x{36BF}\x{36C1}-\x{36C5}' .
-'\x{36C9}-\x{36CA}\x{36CD}-\x{36DE}\x{36E1}-\x{36E2}\x{36E5}-\x{36FE}\x{3701}-\x{3713}\x{3715}-\x{371E}' .
-'\x{3720}-\x{372C}\x{372E}-\x{3745}\x{3747}-\x{3748}\x{374A}\x{374C}-\x{3759}\x{375B}-\x{3760}' .
-'\x{3762}-\x{3767}\x{3769}-\x{3772}\x{3774}-\x{378C}\x{378F}-\x{379C}\x{379F}\x{37A1}-\x{37AD}' .
-'\x{37AF}-\x{37B7}\x{37B9}-\x{37C1}\x{37C3}-\x{37C5}\x{37C7}-\x{37D4}\x{37D6}-\x{37E0}\x{37E2}' .
-'\x{37E5}-\x{37ED}\x{37EF}-\x{37F6}\x{37F8}-\x{3802}\x{3804}-\x{381D}\x{3820}-\x{3822}\x{3825}-\x{382A}' .
-'\x{382D}-\x{382F}\x{3831}-\x{3832}\x{3834}-\x{384C}\x{384E}-\x{3860}\x{3862}-\x{3863}\x{3865}-\x{386B}' .
-'\x{386D}-\x{3886}\x{3888}-\x{38A1}\x{38A3}\x{38A5}-\x{38AA}\x{38AC}\x{38AE}-\x{38B0}' .
-'\x{38B2}-\x{38B6}\x{38B8}\x{38BA}-\x{38BE}\x{38C0}-\x{38C9}\x{38CB}-\x{38D4}\x{38D8}-\x{38E0}' .
-'\x{38E2}-\x{38E6}\x{38EB}-\x{38ED}\x{38EF}-\x{38F2}\x{38F5}-\x{38F7}\x{38FA}-\x{38FF}\x{3901}-\x{392A}' .
-'\x{392C}\x{392E}-\x{393B}\x{393E}-\x{3956}\x{395A}-\x{3969}\x{396B}-\x{397A}\x{397C}-\x{3987}' .
-'\x{3989}-\x{3998}\x{399A}-\x{39B0}\x{39B2}\x{39B4}-\x{39D0}\x{39D2}-\x{39DA}\x{39DE}-\x{39DF}' .
-'\x{39E1}-\x{39EF}\x{39F1}-\x{3A17}\x{3A19}-\x{3A2A}\x{3A2D}-\x{3A40}\x{3A43}-\x{3A4E}\x{3A50}' .
-'\x{3A52}-\x{3A5E}\x{3A60}-\x{3A6D}\x{3A6F}-\x{3A77}\x{3A79}-\x{3A82}\x{3A84}-\x{3A85}\x{3A87}-\x{3A89}' .
-'\x{3A8B}-\x{3A8F}\x{3A91}-\x{3A93}\x{3A95}-\x{3A96}\x{3A9A}\x{3A9C}-\x{3AA6}\x{3AA8}-\x{3AA9}' .
-'\x{3AAB}-\x{3AB1}\x{3AB4}-\x{3ABC}\x{3ABE}-\x{3AC5}\x{3ACA}-\x{3ACB}\x{3ACD}-\x{3AD5}\x{3AD7}-\x{3AE1}' .
-'\x{3AE4}-\x{3AE7}\x{3AE9}-\x{3AEC}\x{3AEE}-\x{3AFD}\x{3B01}-\x{3B10}\x{3B12}-\x{3B15}\x{3B17}-\x{3B1E}' .
-'\x{3B20}-\x{3B23}\x{3B25}-\x{3B27}\x{3B29}-\x{3B36}\x{3B38}-\x{3B39}\x{3B3B}-\x{3B3C}\x{3B3F}' .
-'\x{3B41}-\x{3B44}\x{3B47}-\x{3B4C}\x{3B4E}\x{3B51}-\x{3B55}\x{3B58}-\x{3B62}\x{3B68}-\x{3B72}' .
-'\x{3B78}-\x{3B88}\x{3B8B}-\x{3B9F}\x{3BA1}\x{3BA3}-\x{3BBA}\x{3BBC}\x{3BBF}-\x{3BD0}' .
-'\x{3BD3}-\x{3BE6}\x{3BEA}-\x{3BFB}\x{3BFE}-\x{3C12}\x{3C14}-\x{3C1B}\x{3C1D}-\x{3C37}\x{3C39}-\x{3C4F}' .
-'\x{3C52}\x{3C54}-\x{3C5C}\x{3C5E}-\x{3C68}\x{3C6A}-\x{3C76}\x{3C78}-\x{3C8F}\x{3C91}-\x{3CA8}' .
-'\x{3CAA}-\x{3CAD}\x{3CAF}-\x{3CBE}\x{3CC0}-\x{3CC8}\x{3CCA}-\x{3CD3}\x{3CD6}-\x{3CE0}\x{3CE4}-\x{3CEE}' .
-'\x{3CF3}-\x{3D0A}\x{3D0E}-\x{3D1E}\x{3D20}-\x{3D21}\x{3D25}-\x{3D38}\x{3D3B}-\x{3D46}\x{3D4A}-\x{3D59}' .
-'\x{3D5D}-\x{3D7B}\x{3D7D}-\x{3D81}\x{3D84}-\x{3D88}\x{3D8C}-\x{3D8F}\x{3D91}-\x{3D98}\x{3D9A}-\x{3D9C}' .
-'\x{3D9E}-\x{3DA1}\x{3DA3}-\x{3DB0}\x{3DB2}-\x{3DB5}\x{3DB9}-\x{3DBC}\x{3DBE}-\x{3DCB}\x{3DCD}-\x{3DDB}' .
-'\x{3DDF}-\x{3DE8}\x{3DEB}-\x{3DF0}\x{3DF3}-\x{3DF9}\x{3DFB}-\x{3DFC}\x{3DFE}-\x{3E05}\x{3E08}-\x{3E33}' .
-'\x{3E35}-\x{3E3E}\x{3E40}-\x{3E47}\x{3E49}-\x{3E67}\x{3E6B}-\x{3E6F}\x{3E71}-\x{3E85}\x{3E87}-\x{3E8C}' .
-'\x{3E8E}-\x{3E98}\x{3E9A}-\x{3EA1}\x{3EA3}-\x{3EAE}\x{3EB0}-\x{3EB5}\x{3EB7}-\x{3EBA}\x{3EBD}' .
-'\x{3EBF}-\x{3EC4}\x{3EC7}-\x{3ECE}\x{3ED1}-\x{3ED7}\x{3ED9}-\x{3EDA}\x{3EDD}-\x{3EE3}\x{3EE7}-\x{3EE8}' .
-'\x{3EEB}-\x{3EF2}\x{3EF5}-\x{3EFF}\x{3F01}-\x{3F02}\x{3F04}-\x{3F07}\x{3F09}-\x{3F44}\x{3F46}-\x{3F4E}' .
-'\x{3F50}-\x{3F53}\x{3F55}-\x{3F72}\x{3F74}-\x{3F75}\x{3F77}-\x{3F7B}\x{3F7D}-\x{3FB0}\x{3FB6}-\x{3FBF}' .
-'\x{3FC1}-\x{3FCF}\x{3FD1}-\x{3FD3}\x{3FD5}-\x{3FDF}\x{3FE1}-\x{400B}\x{400D}-\x{401C}\x{401E}-\x{4024}' .
-'\x{4027}-\x{403F}\x{4041}-\x{4060}\x{4062}-\x{4069}\x{406B}-\x{408A}\x{408C}-\x{40A7}\x{40A9}-\x{40B4}' .
-'\x{40B6}-\x{40C2}\x{40C7}-\x{40CF}\x{40D1}-\x{40DE}\x{40E0}-\x{40E7}\x{40E9}-\x{40EE}\x{40F0}-\x{40FB}' .
-'\x{40FD}-\x{4109}\x{410B}-\x{4115}\x{4118}-\x{411D}\x{411F}-\x{4122}\x{4124}-\x{4133}\x{4136}-\x{4138}' .
-'\x{413A}-\x{4148}\x{414A}-\x{4169}\x{416C}-\x{4185}\x{4188}-\x{418B}\x{418D}-\x{41AD}\x{41AF}-\x{41B3}' .
-'\x{41B5}-\x{41C3}\x{41C5}-\x{41C9}\x{41CB}-\x{41F2}\x{41F5}-\x{41FE}\x{4200}-\x{4227}\x{422A}-\x{4246}' .
-'\x{4248}-\x{4263}\x{4265}-\x{428B}\x{428D}-\x{42A1}\x{42A3}-\x{42C4}\x{42C8}-\x{42DC}\x{42DE}-\x{430A}' .
-'\x{430C}-\x{4335}\x{4337}\x{4342}-\x{435F}\x{4361}-\x{439A}\x{439C}-\x{439D}\x{439F}-\x{43A4}' .
-'\x{43A6}-\x{43EC}\x{43EF}-\x{4405}\x{4407}-\x{4429}\x{442B}-\x{4455}\x{4457}-\x{4468}\x{446A}-\x{446D}' .
-'\x{446F}-\x{4476}\x{4479}-\x{447D}\x{447F}-\x{4486}\x{4488}-\x{4490}\x{4492}-\x{4498}\x{449A}-\x{44AD}' .
-'\x{44B0}-\x{44BD}\x{44C1}-\x{44D3}\x{44D6}-\x{44E7}\x{44EA}\x{44EC}-\x{44FA}\x{44FC}-\x{4541}' .
-'\x{4543}-\x{454F}\x{4551}-\x{4562}\x{4564}-\x{4575}\x{4577}-\x{45AB}\x{45AD}-\x{45BD}\x{45BF}-\x{45D5}' .
-'\x{45D7}-\x{45EC}\x{45EE}-\x{45F2}\x{45F4}-\x{45FA}\x{45FC}-\x{461A}\x{461C}-\x{461D}\x{461F}-\x{4631}' .
-'\x{4633}-\x{4649}\x{464C}\x{464E}-\x{4652}\x{4654}-\x{466A}\x{466C}-\x{4675}\x{4677}-\x{467A}' .
-'\x{467C}-\x{4694}\x{4696}-\x{46A3}\x{46A5}-\x{46AB}\x{46AD}-\x{46D2}\x{46D4}-\x{4723}\x{4729}-\x{4732}' .
-'\x{4734}-\x{4758}\x{475A}\x{475C}-\x{478B}\x{478D}\x{4791}-\x{47B1}\x{47B3}-\x{47F1}' .
-'\x{47F3}-\x{480B}\x{480D}-\x{4815}\x{4817}-\x{4839}\x{483B}-\x{4870}\x{4872}-\x{487A}\x{487C}-\x{487F}' .
-'\x{4883}-\x{488E}\x{4890}-\x{4896}\x{4899}-\x{48A2}\x{48A4}-\x{48B9}\x{48BB}-\x{48C8}\x{48CA}-\x{48D1}' .
-'\x{48D3}-\x{48E5}\x{48E7}-\x{48F2}\x{48F4}-\x{48FF}\x{4901}-\x{4922}\x{4924}-\x{4928}\x{492A}-\x{4931}' .
-'\x{4933}-\x{495B}\x{495D}-\x{4978}\x{497A}\x{497D}\x{4982}-\x{4983}\x{4985}-\x{49A8}' .
-'\x{49AA}-\x{49AF}\x{49B1}-\x{49B7}\x{49B9}-\x{49BD}\x{49C1}-\x{49C7}\x{49C9}-\x{49CE}\x{49D0}-\x{49E8}' .
-'\x{49EA}\x{49EC}\x{49EE}-\x{4A19}\x{4A1B}-\x{4A43}\x{4A45}-\x{4A4D}\x{4A4F}-\x{4A9E}' .
-'\x{4AA0}-\x{4AA9}\x{4AAB}-\x{4B4E}\x{4B50}-\x{4B5B}\x{4B5D}-\x{4B69}\x{4B6B}-\x{4BC2}\x{4BC6}-\x{4BE8}' .
-'\x{4BEA}-\x{4BFA}\x{4BFC}-\x{4C06}\x{4C08}-\x{4C2D}\x{4C2F}-\x{4C32}\x{4C34}-\x{4C35}\x{4C37}-\x{4C69}' .
-'\x{4C6B}-\x{4C73}\x{4C75}-\x{4C86}\x{4C88}-\x{4C97}\x{4C99}-\x{4C9C}\x{4C9F}-\x{4CA3}\x{4CA5}-\x{4CB5}' .
-'\x{4CB7}-\x{4CF8}\x{4CFA}-\x{4D27}\x{4D29}-\x{4DAC}\x{4DAE}-\x{4DB1}\x{4DB3}-\x{4DB5}\x{4E00}-\x{4E54}' .
-'\x{4E56}-\x{4E89}\x{4E8B}-\x{4EEC}\x{4EEE}-\x{4FAC}\x{4FAE}-\x{503C}\x{503E}-\x{51E5}\x{51E7}-\x{5270}' .
-'\x{5272}-\x{56A1}\x{56A3}-\x{5840}\x{5842}-\x{58B5}\x{58B7}-\x{58CB}\x{58CD}-\x{5BC8}\x{5BCA}-\x{5C01}' .
-'\x{5C03}-\x{5C25}\x{5C27}-\x{5D5B}\x{5D5D}-\x{5F08}\x{5F0A}-\x{61F3}\x{61F5}-\x{63BA}\x{63BC}-\x{6441}' .
-'\x{6443}-\x{657C}\x{657E}-\x{663E}\x{6640}-\x{66FC}\x{66FE}-\x{6728}\x{672A}-\x{6766}\x{6768}-\x{67A8}' .
-'\x{67AA}-\x{685B}\x{685D}-\x{685E}\x{6860}-\x{68B9}\x{68BB}-\x{6AC8}\x{6ACA}-\x{6BB0}\x{6BB2}-\x{6C16}' .
-'\x{6C18}-\x{6D9B}\x{6D9D}-\x{6E12}\x{6E14}-\x{6E8B}\x{6E8D}-\x{704D}\x{704F}-\x{7113}\x{7115}-\x{713B}' .
-'\x{713D}-\x{7154}\x{7156}-\x{729F}\x{72A1}-\x{731E}\x{7320}-\x{7362}\x{7364}-\x{7533}\x{7535}-\x{7551}' .
-'\x{7553}-\x{7572}\x{7574}-\x{75E8}\x{75EA}-\x{7679}\x{767B}-\x{783E}\x{7840}-\x{7A62}\x{7A64}-\x{7AC2}' .
-'\x{7AC4}-\x{7B06}\x{7B08}-\x{7B79}\x{7B7B}-\x{7BCE}\x{7BD0}-\x{7D99}\x{7D9B}-\x{7E49}\x{7E4C}-\x{8132}' .
-'\x{8134}\x{8136}-\x{81D2}\x{81D4}-\x{8216}\x{8218}-\x{822D}\x{822F}-\x{83B4}\x{83B6}-\x{841F}' .
-'\x{8421}-\x{86CC}\x{86CE}-\x{874A}\x{874C}-\x{877E}\x{8780}-\x{8A32}\x{8A34}-\x{8B71}\x{8B73}-\x{8B8E}' .
-'\x{8B90}-\x{8DE4}\x{8DE6}-\x{8E9A}\x{8E9C}-\x{8EE1}\x{8EE4}-\x{8F0B}\x{8F0D}-\x{8FB9}\x{8FBB}-\x{9038}' .
-'\x{903A}-\x{9196}\x{9198}-\x{91A3}\x{91A5}-\x{91B7}\x{91B9}-\x{91C7}\x{91C9}-\x{91E0}\x{91E2}-\x{91FB}' .
-'\x{91FD}-\x{922B}\x{922D}-\x{9270}\x{9272}-\x{9420}\x{9422}-\x{9664}\x{9666}-\x{9679}\x{967B}-\x{9770}' .
-'\x{9772}-\x{982B}\x{982D}-\x{98ED}\x{98EF}-\x{99C4}\x{99C6}-\x{9A11}\x{9A14}-\x{9A27}\x{9A29}-\x{9D0D}' .
-'\x{9D0F}-\x{9D2B}\x{9D2D}-\x{9D8E}\x{9D90}-\x{9DC5}\x{9DC7}-\x{9E77}\x{9E79}-\x{9EB8}\x{9EBB}-\x{9F20}' .
-'\x{9F22}-\x{9F61}\x{9F63}-\x{9FA5}\x{FA28}]{1,20}$/iu',
- 6 => '/^[\x{002d}0-9A-Za-z]{1,63}$/iu',
- 7 => '/^[\x{00A1}-\x{00FF}]{1,63}$/iu',
- 8 => '/^[\x{0100}-\x{017f}]{1,63}$/iu',
- 9 => '/^[\x{0180}-\x{024f}]{1,63}$/iu',
- 10 => '/^[\x{0250}-\x{02af}]{1,63}$/iu',
- 11 => '/^[\x{02b0}-\x{02ff}]{1,63}$/iu',
- 12 => '/^[\x{0300}-\x{036f}]{1,63}$/iu',
- 13 => '/^[\x{0370}-\x{03ff}]{1,63}$/iu',
- 14 => '/^[\x{0400}-\x{04ff}]{1,63}$/iu',
- 15 => '/^[\x{0500}-\x{052f}]{1,63}$/iu',
- 16 => '/^[\x{0530}-\x{058F}]{1,63}$/iu',
- 17 => '/^[\x{0590}-\x{05FF}]{1,63}$/iu',
- 18 => '/^[\x{0600}-\x{06FF}]{1,63}$/iu',
- 19 => '/^[\x{0700}-\x{074F}]{1,63}$/iu',
- 20 => '/^[\x{0780}-\x{07BF}]{1,63}$/iu',
- 21 => '/^[\x{0900}-\x{097F}]{1,63}$/iu',
- 22 => '/^[\x{0980}-\x{09FF}]{1,63}$/iu',
- 23 => '/^[\x{0A00}-\x{0A7F}]{1,63}$/iu',
- 24 => '/^[\x{0A80}-\x{0AFF}]{1,63}$/iu',
- 25 => '/^[\x{0B00}-\x{0B7F}]{1,63}$/iu',
- 26 => '/^[\x{0B80}-\x{0BFF}]{1,63}$/iu',
- 27 => '/^[\x{0C00}-\x{0C7F}]{1,63}$/iu',
- 28 => '/^[\x{0C80}-\x{0CFF}]{1,63}$/iu',
- 29 => '/^[\x{0D00}-\x{0D7F}]{1,63}$/iu',
- 30 => '/^[\x{0D80}-\x{0DFF}]{1,63}$/iu',
- 31 => '/^[\x{0E00}-\x{0E7F}]{1,63}$/iu',
- 32 => '/^[\x{0E80}-\x{0EFF}]{1,63}$/iu',
- 33 => '/^[\x{0F00}-\x{0FFF}]{1,63}$/iu',
- 34 => '/^[\x{1000}-\x{109F}]{1,63}$/iu',
- 35 => '/^[\x{10A0}-\x{10FF}]{1,63}$/iu',
- 36 => '/^[\x{1100}-\x{11FF}]{1,63}$/iu',
- 37 => '/^[\x{1200}-\x{137F}]{1,63}$/iu',
- 38 => '/^[\x{13A0}-\x{13FF}]{1,63}$/iu',
- 39 => '/^[\x{1400}-\x{167F}]{1,63}$/iu',
- 40 => '/^[\x{1680}-\x{169F}]{1,63}$/iu',
- 41 => '/^[\x{16A0}-\x{16FF}]{1,63}$/iu',
- 42 => '/^[\x{1700}-\x{171F}]{1,63}$/iu',
- 43 => '/^[\x{1720}-\x{173F}]{1,63}$/iu',
- 44 => '/^[\x{1740}-\x{175F}]{1,63}$/iu',
- 45 => '/^[\x{1760}-\x{177F}]{1,63}$/iu',
- 46 => '/^[\x{1780}-\x{17FF}]{1,63}$/iu',
- 47 => '/^[\x{1800}-\x{18AF}]{1,63}$/iu',
- 48 => '/^[\x{1E00}-\x{1EFF}]{1,63}$/iu',
- 49 => '/^[\x{1F00}-\x{1FFF}]{1,63}$/iu',
- 50 => '/^[\x{2070}-\x{209F}]{1,63}$/iu',
- 51 => '/^[\x{2100}-\x{214F}]{1,63}$/iu',
- 52 => '/^[\x{2150}-\x{218F}]{1,63}$/iu',
- 53 => '/^[\x{2460}-\x{24FF}]{1,63}$/iu',
- 54 => '/^[\x{2E80}-\x{2EFF}]{1,63}$/iu',
- 55 => '/^[\x{2F00}-\x{2FDF}]{1,63}$/iu',
- 56 => '/^[\x{2FF0}-\x{2FFF}]{1,63}$/iu',
- 57 => '/^[\x{3040}-\x{309F}]{1,63}$/iu',
- 58 => '/^[\x{30A0}-\x{30FF}]{1,63}$/iu',
- 59 => '/^[\x{3100}-\x{312F}]{1,63}$/iu',
- 60 => '/^[\x{3130}-\x{318F}]{1,63}$/iu',
- 61 => '/^[\x{3190}-\x{319F}]{1,63}$/iu',
- 62 => '/^[\x{31A0}-\x{31BF}]{1,63}$/iu',
- 63 => '/^[\x{31F0}-\x{31FF}]{1,63}$/iu',
- 64 => '/^[\x{3200}-\x{32FF}]{1,63}$/iu',
- 65 => '/^[\x{3300}-\x{33FF}]{1,63}$/iu',
- 66 => '/^[\x{3400}-\x{4DBF}]{1,63}$/iu',
- 67 => '/^[\x{4E00}-\x{9FFF}]{1,63}$/iu',
- 68 => '/^[\x{A000}-\x{A48F}]{1,63}$/iu',
- 69 => '/^[\x{A490}-\x{A4CF}]{1,63}$/iu',
- 70 => '/^[\x{AC00}-\x{D7AF}]{1,63}$/iu',
- 71 => '/^[\x{D800}-\x{DB7F}]{1,63}$/iu',
- 72 => '/^[\x{DC00}-\x{DFFF}]{1,63}$/iu',
- 73 => '/^[\x{F900}-\x{FAFF}]{1,63}$/iu',
- 74 => '/^[\x{FB00}-\x{FB4F}]{1,63}$/iu',
- 75 => '/^[\x{FB50}-\x{FDFF}]{1,63}$/iu',
- 76 => '/^[\x{FE20}-\x{FE2F}]{1,63}$/iu',
- 77 => '/^[\x{FE70}-\x{FEFF}]{1,63}$/iu',
- 78 => '/^[\x{FF00}-\x{FFEF}]{1,63}$/iu',
- 79 => '/^[\x{20000}-\x{2A6DF}]{1,63}$/iu',
- 80 => '/^[\x{2F800}-\x{2FA1F}]{1,63}$/iu'
-
-);
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/Validate/Hostname/Jp.php b/airtime_mvc/library/Zend/Validate/Hostname/Jp.php
deleted file mode 100644
index 02f278e2b..000000000
--- a/airtime_mvc/library/Zend/Validate/Hostname/Jp.php
+++ /dev/null
@@ -1,739 +0,0 @@
- '/^[\x{002d}0-9a-z\x{3005}-\x{3007}\x{3041}-\x{3093}\x{309D}\x{309E}' .
-'\x{30A1}-\x{30F6}\x{30FC}' .
-'\x{30FD}\x{30FE}\x{4E00}\x{4E01}\x{4E03}\x{4E07}\x{4E08}\x{4E09}\x{4E0A}' .
-'\x{4E0B}\x{4E0D}\x{4E0E}\x{4E10}\x{4E11}\x{4E14}\x{4E15}\x{4E16}\x{4E17}' .
-'\x{4E18}\x{4E19}\x{4E1E}\x{4E21}\x{4E26}\x{4E2A}\x{4E2D}\x{4E31}\x{4E32}' .
-'\x{4E36}\x{4E38}\x{4E39}\x{4E3B}\x{4E3C}\x{4E3F}\x{4E42}\x{4E43}\x{4E45}' .
-'\x{4E4B}\x{4E4D}\x{4E4E}\x{4E4F}\x{4E55}\x{4E56}\x{4E57}\x{4E58}\x{4E59}' .
-'\x{4E5D}\x{4E5E}\x{4E5F}\x{4E62}\x{4E71}\x{4E73}\x{4E7E}\x{4E80}\x{4E82}' .
-'\x{4E85}\x{4E86}\x{4E88}\x{4E89}\x{4E8A}\x{4E8B}\x{4E8C}\x{4E8E}\x{4E91}' .
-'\x{4E92}\x{4E94}\x{4E95}\x{4E98}\x{4E99}\x{4E9B}\x{4E9C}\x{4E9E}\x{4E9F}' .
-'\x{4EA0}\x{4EA1}\x{4EA2}\x{4EA4}\x{4EA5}\x{4EA6}\x{4EA8}\x{4EAB}\x{4EAC}' .
-'\x{4EAD}\x{4EAE}\x{4EB0}\x{4EB3}\x{4EB6}\x{4EBA}\x{4EC0}\x{4EC1}\x{4EC2}' .
-'\x{4EC4}\x{4EC6}\x{4EC7}\x{4ECA}\x{4ECB}\x{4ECD}\x{4ECE}\x{4ECF}\x{4ED4}' .
-'\x{4ED5}\x{4ED6}\x{4ED7}\x{4ED8}\x{4ED9}\x{4EDD}\x{4EDE}\x{4EDF}\x{4EE3}' .
-'\x{4EE4}\x{4EE5}\x{4EED}\x{4EEE}\x{4EF0}\x{4EF2}\x{4EF6}\x{4EF7}\x{4EFB}' .
-'\x{4F01}\x{4F09}\x{4F0A}\x{4F0D}\x{4F0E}\x{4F0F}\x{4F10}\x{4F11}\x{4F1A}' .
-'\x{4F1C}\x{4F1D}\x{4F2F}\x{4F30}\x{4F34}\x{4F36}\x{4F38}\x{4F3A}\x{4F3C}' .
-'\x{4F3D}\x{4F43}\x{4F46}\x{4F47}\x{4F4D}\x{4F4E}\x{4F4F}\x{4F50}\x{4F51}' .
-'\x{4F53}\x{4F55}\x{4F57}\x{4F59}\x{4F5A}\x{4F5B}\x{4F5C}\x{4F5D}\x{4F5E}' .
-'\x{4F69}\x{4F6F}\x{4F70}\x{4F73}\x{4F75}\x{4F76}\x{4F7B}\x{4F7C}\x{4F7F}' .
-'\x{4F83}\x{4F86}\x{4F88}\x{4F8B}\x{4F8D}\x{4F8F}\x{4F91}\x{4F96}\x{4F98}' .
-'\x{4F9B}\x{4F9D}\x{4FA0}\x{4FA1}\x{4FAB}\x{4FAD}\x{4FAE}\x{4FAF}\x{4FB5}' .
-'\x{4FB6}\x{4FBF}\x{4FC2}\x{4FC3}\x{4FC4}\x{4FCA}\x{4FCE}\x{4FD0}\x{4FD1}' .
-'\x{4FD4}\x{4FD7}\x{4FD8}\x{4FDA}\x{4FDB}\x{4FDD}\x{4FDF}\x{4FE1}\x{4FE3}' .
-'\x{4FE4}\x{4FE5}\x{4FEE}\x{4FEF}\x{4FF3}\x{4FF5}\x{4FF6}\x{4FF8}\x{4FFA}' .
-'\x{4FFE}\x{5005}\x{5006}\x{5009}\x{500B}\x{500D}\x{500F}\x{5011}\x{5012}' .
-'\x{5014}\x{5016}\x{5019}\x{501A}\x{501F}\x{5021}\x{5023}\x{5024}\x{5025}' .
-'\x{5026}\x{5028}\x{5029}\x{502A}\x{502B}\x{502C}\x{502D}\x{5036}\x{5039}' .
-'\x{5043}\x{5047}\x{5048}\x{5049}\x{504F}\x{5050}\x{5055}\x{5056}\x{505A}' .
-'\x{505C}\x{5065}\x{506C}\x{5072}\x{5074}\x{5075}\x{5076}\x{5078}\x{507D}' .
-'\x{5080}\x{5085}\x{508D}\x{5091}\x{5098}\x{5099}\x{509A}\x{50AC}\x{50AD}' .
-'\x{50B2}\x{50B3}\x{50B4}\x{50B5}\x{50B7}\x{50BE}\x{50C2}\x{50C5}\x{50C9}' .
-'\x{50CA}\x{50CD}\x{50CF}\x{50D1}\x{50D5}\x{50D6}\x{50DA}\x{50DE}\x{50E3}' .
-'\x{50E5}\x{50E7}\x{50ED}\x{50EE}\x{50F5}\x{50F9}\x{50FB}\x{5100}\x{5101}' .
-'\x{5102}\x{5104}\x{5109}\x{5112}\x{5114}\x{5115}\x{5116}\x{5118}\x{511A}' .
-'\x{511F}\x{5121}\x{512A}\x{5132}\x{5137}\x{513A}\x{513B}\x{513C}\x{513F}' .
-'\x{5140}\x{5141}\x{5143}\x{5144}\x{5145}\x{5146}\x{5147}\x{5148}\x{5149}' .
-'\x{514B}\x{514C}\x{514D}\x{514E}\x{5150}\x{5152}\x{5154}\x{515A}\x{515C}' .
-'\x{5162}\x{5165}\x{5168}\x{5169}\x{516A}\x{516B}\x{516C}\x{516D}\x{516E}' .
-'\x{5171}\x{5175}\x{5176}\x{5177}\x{5178}\x{517C}\x{5180}\x{5182}\x{5185}' .
-'\x{5186}\x{5189}\x{518A}\x{518C}\x{518D}\x{518F}\x{5190}\x{5191}\x{5192}' .
-'\x{5193}\x{5195}\x{5196}\x{5197}\x{5199}\x{51A0}\x{51A2}\x{51A4}\x{51A5}' .
-'\x{51A6}\x{51A8}\x{51A9}\x{51AA}\x{51AB}\x{51AC}\x{51B0}\x{51B1}\x{51B2}' .
-'\x{51B3}\x{51B4}\x{51B5}\x{51B6}\x{51B7}\x{51BD}\x{51C4}\x{51C5}\x{51C6}' .
-'\x{51C9}\x{51CB}\x{51CC}\x{51CD}\x{51D6}\x{51DB}\x{51DC}\x{51DD}\x{51E0}' .
-'\x{51E1}\x{51E6}\x{51E7}\x{51E9}\x{51EA}\x{51ED}\x{51F0}\x{51F1}\x{51F5}' .
-'\x{51F6}\x{51F8}\x{51F9}\x{51FA}\x{51FD}\x{51FE}\x{5200}\x{5203}\x{5204}' .
-'\x{5206}\x{5207}\x{5208}\x{520A}\x{520B}\x{520E}\x{5211}\x{5214}\x{5217}' .
-'\x{521D}\x{5224}\x{5225}\x{5227}\x{5229}\x{522A}\x{522E}\x{5230}\x{5233}' .
-'\x{5236}\x{5237}\x{5238}\x{5239}\x{523A}\x{523B}\x{5243}\x{5244}\x{5247}' .
-'\x{524A}\x{524B}\x{524C}\x{524D}\x{524F}\x{5254}\x{5256}\x{525B}\x{525E}' .
-'\x{5263}\x{5264}\x{5265}\x{5269}\x{526A}\x{526F}\x{5270}\x{5271}\x{5272}' .
-'\x{5273}\x{5274}\x{5275}\x{527D}\x{527F}\x{5283}\x{5287}\x{5288}\x{5289}' .
-'\x{528D}\x{5291}\x{5292}\x{5294}\x{529B}\x{529F}\x{52A0}\x{52A3}\x{52A9}' .
-'\x{52AA}\x{52AB}\x{52AC}\x{52AD}\x{52B1}\x{52B4}\x{52B5}\x{52B9}\x{52BC}' .
-'\x{52BE}\x{52C1}\x{52C3}\x{52C5}\x{52C7}\x{52C9}\x{52CD}\x{52D2}\x{52D5}' .
-'\x{52D7}\x{52D8}\x{52D9}\x{52DD}\x{52DE}\x{52DF}\x{52E0}\x{52E2}\x{52E3}' .
-'\x{52E4}\x{52E6}\x{52E7}\x{52F2}\x{52F3}\x{52F5}\x{52F8}\x{52F9}\x{52FA}' .
-'\x{52FE}\x{52FF}\x{5301}\x{5302}\x{5305}\x{5306}\x{5308}\x{530D}\x{530F}' .
-'\x{5310}\x{5315}\x{5316}\x{5317}\x{5319}\x{531A}\x{531D}\x{5320}\x{5321}' .
-'\x{5323}\x{532A}\x{532F}\x{5331}\x{5333}\x{5338}\x{5339}\x{533A}\x{533B}' .
-'\x{533F}\x{5340}\x{5341}\x{5343}\x{5345}\x{5346}\x{5347}\x{5348}\x{5349}' .
-'\x{534A}\x{534D}\x{5351}\x{5352}\x{5353}\x{5354}\x{5357}\x{5358}\x{535A}' .
-'\x{535C}\x{535E}\x{5360}\x{5366}\x{5369}\x{536E}\x{536F}\x{5370}\x{5371}' .
-'\x{5373}\x{5374}\x{5375}\x{5377}\x{5378}\x{537B}\x{537F}\x{5382}\x{5384}' .
-'\x{5396}\x{5398}\x{539A}\x{539F}\x{53A0}\x{53A5}\x{53A6}\x{53A8}\x{53A9}' .
-'\x{53AD}\x{53AE}\x{53B0}\x{53B3}\x{53B6}\x{53BB}\x{53C2}\x{53C3}\x{53C8}' .
-'\x{53C9}\x{53CA}\x{53CB}\x{53CC}\x{53CD}\x{53CE}\x{53D4}\x{53D6}\x{53D7}' .
-'\x{53D9}\x{53DB}\x{53DF}\x{53E1}\x{53E2}\x{53E3}\x{53E4}\x{53E5}\x{53E8}' .
-'\x{53E9}\x{53EA}\x{53EB}\x{53EC}\x{53ED}\x{53EE}\x{53EF}\x{53F0}\x{53F1}' .
-'\x{53F2}\x{53F3}\x{53F6}\x{53F7}\x{53F8}\x{53FA}\x{5401}\x{5403}\x{5404}' .
-'\x{5408}\x{5409}\x{540A}\x{540B}\x{540C}\x{540D}\x{540E}\x{540F}\x{5410}' .
-'\x{5411}\x{541B}\x{541D}\x{541F}\x{5420}\x{5426}\x{5429}\x{542B}\x{542C}' .
-'\x{542D}\x{542E}\x{5436}\x{5438}\x{5439}\x{543B}\x{543C}\x{543D}\x{543E}' .
-'\x{5440}\x{5442}\x{5446}\x{5448}\x{5449}\x{544A}\x{544E}\x{5451}\x{545F}' .
-'\x{5468}\x{546A}\x{5470}\x{5471}\x{5473}\x{5475}\x{5476}\x{5477}\x{547B}' .
-'\x{547C}\x{547D}\x{5480}\x{5484}\x{5486}\x{548B}\x{548C}\x{548E}\x{548F}' .
-'\x{5490}\x{5492}\x{54A2}\x{54A4}\x{54A5}\x{54A8}\x{54AB}\x{54AC}\x{54AF}' .
-'\x{54B2}\x{54B3}\x{54B8}\x{54BC}\x{54BD}\x{54BE}\x{54C0}\x{54C1}\x{54C2}' .
-'\x{54C4}\x{54C7}\x{54C8}\x{54C9}\x{54D8}\x{54E1}\x{54E2}\x{54E5}\x{54E6}' .
-'\x{54E8}\x{54E9}\x{54ED}\x{54EE}\x{54F2}\x{54FA}\x{54FD}\x{5504}\x{5506}' .
-'\x{5507}\x{550F}\x{5510}\x{5514}\x{5516}\x{552E}\x{552F}\x{5531}\x{5533}' .
-'\x{5538}\x{5539}\x{553E}\x{5540}\x{5544}\x{5545}\x{5546}\x{554C}\x{554F}' .
-'\x{5553}\x{5556}\x{5557}\x{555C}\x{555D}\x{5563}\x{557B}\x{557C}\x{557E}' .
-'\x{5580}\x{5583}\x{5584}\x{5587}\x{5589}\x{558A}\x{558B}\x{5598}\x{5599}' .
-'\x{559A}\x{559C}\x{559D}\x{559E}\x{559F}\x{55A7}\x{55A8}\x{55A9}\x{55AA}' .
-'\x{55AB}\x{55AC}\x{55AE}\x{55B0}\x{55B6}\x{55C4}\x{55C5}\x{55C7}\x{55D4}' .
-'\x{55DA}\x{55DC}\x{55DF}\x{55E3}\x{55E4}\x{55F7}\x{55F9}\x{55FD}\x{55FE}' .
-'\x{5606}\x{5609}\x{5614}\x{5616}\x{5617}\x{5618}\x{561B}\x{5629}\x{562F}' .
-'\x{5631}\x{5632}\x{5634}\x{5636}\x{5638}\x{5642}\x{564C}\x{564E}\x{5650}' .
-'\x{565B}\x{5664}\x{5668}\x{566A}\x{566B}\x{566C}\x{5674}\x{5678}\x{567A}' .
-'\x{5680}\x{5686}\x{5687}\x{568A}\x{568F}\x{5694}\x{56A0}\x{56A2}\x{56A5}' .
-'\x{56AE}\x{56B4}\x{56B6}\x{56BC}\x{56C0}\x{56C1}\x{56C2}\x{56C3}\x{56C8}' .
-'\x{56CE}\x{56D1}\x{56D3}\x{56D7}\x{56D8}\x{56DA}\x{56DB}\x{56DE}\x{56E0}' .
-'\x{56E3}\x{56EE}\x{56F0}\x{56F2}\x{56F3}\x{56F9}\x{56FA}\x{56FD}\x{56FF}' .
-'\x{5700}\x{5703}\x{5704}\x{5708}\x{5709}\x{570B}\x{570D}\x{570F}\x{5712}' .
-'\x{5713}\x{5716}\x{5718}\x{571C}\x{571F}\x{5726}\x{5727}\x{5728}\x{572D}' .
-'\x{5730}\x{5737}\x{5738}\x{573B}\x{5740}\x{5742}\x{5747}\x{574A}\x{574E}' .
-'\x{574F}\x{5750}\x{5751}\x{5761}\x{5764}\x{5766}\x{5769}\x{576A}\x{577F}' .
-'\x{5782}\x{5788}\x{5789}\x{578B}\x{5793}\x{57A0}\x{57A2}\x{57A3}\x{57A4}' .
-'\x{57AA}\x{57B0}\x{57B3}\x{57C0}\x{57C3}\x{57C6}\x{57CB}\x{57CE}\x{57D2}' .
-'\x{57D3}\x{57D4}\x{57D6}\x{57DC}\x{57DF}\x{57E0}\x{57E3}\x{57F4}\x{57F7}' .
-'\x{57F9}\x{57FA}\x{57FC}\x{5800}\x{5802}\x{5805}\x{5806}\x{580A}\x{580B}' .
-'\x{5815}\x{5819}\x{581D}\x{5821}\x{5824}\x{582A}\x{582F}\x{5830}\x{5831}' .
-'\x{5834}\x{5835}\x{583A}\x{583D}\x{5840}\x{5841}\x{584A}\x{584B}\x{5851}' .
-'\x{5852}\x{5854}\x{5857}\x{5858}\x{5859}\x{585A}\x{585E}\x{5862}\x{5869}' .
-'\x{586B}\x{5870}\x{5872}\x{5875}\x{5879}\x{587E}\x{5883}\x{5885}\x{5893}' .
-'\x{5897}\x{589C}\x{589F}\x{58A8}\x{58AB}\x{58AE}\x{58B3}\x{58B8}\x{58B9}' .
-'\x{58BA}\x{58BB}\x{58BE}\x{58C1}\x{58C5}\x{58C7}\x{58CA}\x{58CC}\x{58D1}' .
-'\x{58D3}\x{58D5}\x{58D7}\x{58D8}\x{58D9}\x{58DC}\x{58DE}\x{58DF}\x{58E4}' .
-'\x{58E5}\x{58EB}\x{58EC}\x{58EE}\x{58EF}\x{58F0}\x{58F1}\x{58F2}\x{58F7}' .
-'\x{58F9}\x{58FA}\x{58FB}\x{58FC}\x{58FD}\x{5902}\x{5909}\x{590A}\x{590F}' .
-'\x{5910}\x{5915}\x{5916}\x{5918}\x{5919}\x{591A}\x{591B}\x{591C}\x{5922}' .
-'\x{5925}\x{5927}\x{5929}\x{592A}\x{592B}\x{592C}\x{592D}\x{592E}\x{5931}' .
-'\x{5932}\x{5937}\x{5938}\x{593E}\x{5944}\x{5947}\x{5948}\x{5949}\x{594E}' .
-'\x{594F}\x{5950}\x{5951}\x{5954}\x{5955}\x{5957}\x{5958}\x{595A}\x{5960}' .
-'\x{5962}\x{5965}\x{5967}\x{5968}\x{5969}\x{596A}\x{596C}\x{596E}\x{5973}' .
-'\x{5974}\x{5978}\x{597D}\x{5981}\x{5982}\x{5983}\x{5984}\x{598A}\x{598D}' .
-'\x{5993}\x{5996}\x{5999}\x{599B}\x{599D}\x{59A3}\x{59A5}\x{59A8}\x{59AC}' .
-'\x{59B2}\x{59B9}\x{59BB}\x{59BE}\x{59C6}\x{59C9}\x{59CB}\x{59D0}\x{59D1}' .
-'\x{59D3}\x{59D4}\x{59D9}\x{59DA}\x{59DC}\x{59E5}\x{59E6}\x{59E8}\x{59EA}' .
-'\x{59EB}\x{59F6}\x{59FB}\x{59FF}\x{5A01}\x{5A03}\x{5A09}\x{5A11}\x{5A18}' .
-'\x{5A1A}\x{5A1C}\x{5A1F}\x{5A20}\x{5A25}\x{5A29}\x{5A2F}\x{5A35}\x{5A36}' .
-'\x{5A3C}\x{5A40}\x{5A41}\x{5A46}\x{5A49}\x{5A5A}\x{5A62}\x{5A66}\x{5A6A}' .
-'\x{5A6C}\x{5A7F}\x{5A92}\x{5A9A}\x{5A9B}\x{5ABC}\x{5ABD}\x{5ABE}\x{5AC1}' .
-'\x{5AC2}\x{5AC9}\x{5ACB}\x{5ACC}\x{5AD0}\x{5AD6}\x{5AD7}\x{5AE1}\x{5AE3}' .
-'\x{5AE6}\x{5AE9}\x{5AFA}\x{5AFB}\x{5B09}\x{5B0B}\x{5B0C}\x{5B16}\x{5B22}' .
-'\x{5B2A}\x{5B2C}\x{5B30}\x{5B32}\x{5B36}\x{5B3E}\x{5B40}\x{5B43}\x{5B45}' .
-'\x{5B50}\x{5B51}\x{5B54}\x{5B55}\x{5B57}\x{5B58}\x{5B5A}\x{5B5B}\x{5B5C}' .
-'\x{5B5D}\x{5B5F}\x{5B63}\x{5B64}\x{5B65}\x{5B66}\x{5B69}\x{5B6B}\x{5B70}' .
-'\x{5B71}\x{5B73}\x{5B75}\x{5B78}\x{5B7A}\x{5B80}\x{5B83}\x{5B85}\x{5B87}' .
-'\x{5B88}\x{5B89}\x{5B8B}\x{5B8C}\x{5B8D}\x{5B8F}\x{5B95}\x{5B97}\x{5B98}' .
-'\x{5B99}\x{5B9A}\x{5B9B}\x{5B9C}\x{5B9D}\x{5B9F}\x{5BA2}\x{5BA3}\x{5BA4}' .
-'\x{5BA5}\x{5BA6}\x{5BAE}\x{5BB0}\x{5BB3}\x{5BB4}\x{5BB5}\x{5BB6}\x{5BB8}' .
-'\x{5BB9}\x{5BBF}\x{5BC2}\x{5BC3}\x{5BC4}\x{5BC5}\x{5BC6}\x{5BC7}\x{5BC9}' .
-'\x{5BCC}\x{5BD0}\x{5BD2}\x{5BD3}\x{5BD4}\x{5BDB}\x{5BDD}\x{5BDE}\x{5BDF}' .
-'\x{5BE1}\x{5BE2}\x{5BE4}\x{5BE5}\x{5BE6}\x{5BE7}\x{5BE8}\x{5BE9}\x{5BEB}' .
-'\x{5BEE}\x{5BF0}\x{5BF3}\x{5BF5}\x{5BF6}\x{5BF8}\x{5BFA}\x{5BFE}\x{5BFF}' .
-'\x{5C01}\x{5C02}\x{5C04}\x{5C05}\x{5C06}\x{5C07}\x{5C08}\x{5C09}\x{5C0A}' .
-'\x{5C0B}\x{5C0D}\x{5C0E}\x{5C0F}\x{5C11}\x{5C13}\x{5C16}\x{5C1A}\x{5C20}' .
-'\x{5C22}\x{5C24}\x{5C28}\x{5C2D}\x{5C31}\x{5C38}\x{5C39}\x{5C3A}\x{5C3B}' .
-'\x{5C3C}\x{5C3D}\x{5C3E}\x{5C3F}\x{5C40}\x{5C41}\x{5C45}\x{5C46}\x{5C48}' .
-'\x{5C4A}\x{5C4B}\x{5C4D}\x{5C4E}\x{5C4F}\x{5C50}\x{5C51}\x{5C53}\x{5C55}' .
-'\x{5C5E}\x{5C60}\x{5C61}\x{5C64}\x{5C65}\x{5C6C}\x{5C6E}\x{5C6F}\x{5C71}' .
-'\x{5C76}\x{5C79}\x{5C8C}\x{5C90}\x{5C91}\x{5C94}\x{5CA1}\x{5CA8}\x{5CA9}' .
-'\x{5CAB}\x{5CAC}\x{5CB1}\x{5CB3}\x{5CB6}\x{5CB7}\x{5CB8}\x{5CBB}\x{5CBC}' .
-'\x{5CBE}\x{5CC5}\x{5CC7}\x{5CD9}\x{5CE0}\x{5CE1}\x{5CE8}\x{5CE9}\x{5CEA}' .
-'\x{5CED}\x{5CEF}\x{5CF0}\x{5CF6}\x{5CFA}\x{5CFB}\x{5CFD}\x{5D07}\x{5D0B}' .
-'\x{5D0E}\x{5D11}\x{5D14}\x{5D15}\x{5D16}\x{5D17}\x{5D18}\x{5D19}\x{5D1A}' .
-'\x{5D1B}\x{5D1F}\x{5D22}\x{5D29}\x{5D4B}\x{5D4C}\x{5D4E}\x{5D50}\x{5D52}' .
-'\x{5D5C}\x{5D69}\x{5D6C}\x{5D6F}\x{5D73}\x{5D76}\x{5D82}\x{5D84}\x{5D87}' .
-'\x{5D8B}\x{5D8C}\x{5D90}\x{5D9D}\x{5DA2}\x{5DAC}\x{5DAE}\x{5DB7}\x{5DBA}' .
-'\x{5DBC}\x{5DBD}\x{5DC9}\x{5DCC}\x{5DCD}\x{5DD2}\x{5DD3}\x{5DD6}\x{5DDB}' .
-'\x{5DDD}\x{5DDE}\x{5DE1}\x{5DE3}\x{5DE5}\x{5DE6}\x{5DE7}\x{5DE8}\x{5DEB}' .
-'\x{5DEE}\x{5DF1}\x{5DF2}\x{5DF3}\x{5DF4}\x{5DF5}\x{5DF7}\x{5DFB}\x{5DFD}' .
-'\x{5DFE}\x{5E02}\x{5E03}\x{5E06}\x{5E0B}\x{5E0C}\x{5E11}\x{5E16}\x{5E19}' .
-'\x{5E1A}\x{5E1B}\x{5E1D}\x{5E25}\x{5E2B}\x{5E2D}\x{5E2F}\x{5E30}\x{5E33}' .
-'\x{5E36}\x{5E37}\x{5E38}\x{5E3D}\x{5E40}\x{5E43}\x{5E44}\x{5E45}\x{5E47}' .
-'\x{5E4C}\x{5E4E}\x{5E54}\x{5E55}\x{5E57}\x{5E5F}\x{5E61}\x{5E62}\x{5E63}' .
-'\x{5E64}\x{5E72}\x{5E73}\x{5E74}\x{5E75}\x{5E76}\x{5E78}\x{5E79}\x{5E7A}' .
-'\x{5E7B}\x{5E7C}\x{5E7D}\x{5E7E}\x{5E7F}\x{5E81}\x{5E83}\x{5E84}\x{5E87}' .
-'\x{5E8A}\x{5E8F}\x{5E95}\x{5E96}\x{5E97}\x{5E9A}\x{5E9C}\x{5EA0}\x{5EA6}' .
-'\x{5EA7}\x{5EAB}\x{5EAD}\x{5EB5}\x{5EB6}\x{5EB7}\x{5EB8}\x{5EC1}\x{5EC2}' .
-'\x{5EC3}\x{5EC8}\x{5EC9}\x{5ECA}\x{5ECF}\x{5ED0}\x{5ED3}\x{5ED6}\x{5EDA}' .
-'\x{5EDB}\x{5EDD}\x{5EDF}\x{5EE0}\x{5EE1}\x{5EE2}\x{5EE3}\x{5EE8}\x{5EE9}' .
-'\x{5EEC}\x{5EF0}\x{5EF1}\x{5EF3}\x{5EF4}\x{5EF6}\x{5EF7}\x{5EF8}\x{5EFA}' .
-'\x{5EFB}\x{5EFC}\x{5EFE}\x{5EFF}\x{5F01}\x{5F03}\x{5F04}\x{5F09}\x{5F0A}' .
-'\x{5F0B}\x{5F0C}\x{5F0D}\x{5F0F}\x{5F10}\x{5F11}\x{5F13}\x{5F14}\x{5F15}' .
-'\x{5F16}\x{5F17}\x{5F18}\x{5F1B}\x{5F1F}\x{5F25}\x{5F26}\x{5F27}\x{5F29}' .
-'\x{5F2D}\x{5F2F}\x{5F31}\x{5F35}\x{5F37}\x{5F38}\x{5F3C}\x{5F3E}\x{5F41}' .
-'\x{5F48}\x{5F4A}\x{5F4C}\x{5F4E}\x{5F51}\x{5F53}\x{5F56}\x{5F57}\x{5F59}' .
-'\x{5F5C}\x{5F5D}\x{5F61}\x{5F62}\x{5F66}\x{5F69}\x{5F6A}\x{5F6B}\x{5F6C}' .
-'\x{5F6D}\x{5F70}\x{5F71}\x{5F73}\x{5F77}\x{5F79}\x{5F7C}\x{5F7F}\x{5F80}' .
-'\x{5F81}\x{5F82}\x{5F83}\x{5F84}\x{5F85}\x{5F87}\x{5F88}\x{5F8A}\x{5F8B}' .
-'\x{5F8C}\x{5F90}\x{5F91}\x{5F92}\x{5F93}\x{5F97}\x{5F98}\x{5F99}\x{5F9E}' .
-'\x{5FA0}\x{5FA1}\x{5FA8}\x{5FA9}\x{5FAA}\x{5FAD}\x{5FAE}\x{5FB3}\x{5FB4}' .
-'\x{5FB9}\x{5FBC}\x{5FBD}\x{5FC3}\x{5FC5}\x{5FCC}\x{5FCD}\x{5FD6}\x{5FD7}' .
-'\x{5FD8}\x{5FD9}\x{5FDC}\x{5FDD}\x{5FE0}\x{5FE4}\x{5FEB}\x{5FF0}\x{5FF1}' .
-'\x{5FF5}\x{5FF8}\x{5FFB}\x{5FFD}\x{5FFF}\x{600E}\x{600F}\x{6010}\x{6012}' .
-'\x{6015}\x{6016}\x{6019}\x{601B}\x{601C}\x{601D}\x{6020}\x{6021}\x{6025}' .
-'\x{6026}\x{6027}\x{6028}\x{6029}\x{602A}\x{602B}\x{602F}\x{6031}\x{603A}' .
-'\x{6041}\x{6042}\x{6043}\x{6046}\x{604A}\x{604B}\x{604D}\x{6050}\x{6052}' .
-'\x{6055}\x{6059}\x{605A}\x{605F}\x{6060}\x{6062}\x{6063}\x{6064}\x{6065}' .
-'\x{6068}\x{6069}\x{606A}\x{606B}\x{606C}\x{606D}\x{606F}\x{6070}\x{6075}' .
-'\x{6077}\x{6081}\x{6083}\x{6084}\x{6089}\x{608B}\x{608C}\x{608D}\x{6092}' .
-'\x{6094}\x{6096}\x{6097}\x{609A}\x{609B}\x{609F}\x{60A0}\x{60A3}\x{60A6}' .
-'\x{60A7}\x{60A9}\x{60AA}\x{60B2}\x{60B3}\x{60B4}\x{60B5}\x{60B6}\x{60B8}' .
-'\x{60BC}\x{60BD}\x{60C5}\x{60C6}\x{60C7}\x{60D1}\x{60D3}\x{60D8}\x{60DA}' .
-'\x{60DC}\x{60DF}\x{60E0}\x{60E1}\x{60E3}\x{60E7}\x{60E8}\x{60F0}\x{60F1}' .
-'\x{60F3}\x{60F4}\x{60F6}\x{60F7}\x{60F9}\x{60FA}\x{60FB}\x{6100}\x{6101}' .
-'\x{6103}\x{6106}\x{6108}\x{6109}\x{610D}\x{610E}\x{610F}\x{6115}\x{611A}' .
-'\x{611B}\x{611F}\x{6121}\x{6127}\x{6128}\x{612C}\x{6134}\x{613C}\x{613D}' .
-'\x{613E}\x{613F}\x{6142}\x{6144}\x{6147}\x{6148}\x{614A}\x{614B}\x{614C}' .
-'\x{614D}\x{614E}\x{6153}\x{6155}\x{6158}\x{6159}\x{615A}\x{615D}\x{615F}' .
-'\x{6162}\x{6163}\x{6165}\x{6167}\x{6168}\x{616B}\x{616E}\x{616F}\x{6170}' .
-'\x{6171}\x{6173}\x{6174}\x{6175}\x{6176}\x{6177}\x{617E}\x{6182}\x{6187}' .
-'\x{618A}\x{618E}\x{6190}\x{6191}\x{6194}\x{6196}\x{6199}\x{619A}\x{61A4}' .
-'\x{61A7}\x{61A9}\x{61AB}\x{61AC}\x{61AE}\x{61B2}\x{61B6}\x{61BA}\x{61BE}' .
-'\x{61C3}\x{61C6}\x{61C7}\x{61C8}\x{61C9}\x{61CA}\x{61CB}\x{61CC}\x{61CD}' .
-'\x{61D0}\x{61E3}\x{61E6}\x{61F2}\x{61F4}\x{61F6}\x{61F7}\x{61F8}\x{61FA}' .
-'\x{61FC}\x{61FD}\x{61FE}\x{61FF}\x{6200}\x{6208}\x{6209}\x{620A}\x{620C}' .
-'\x{620D}\x{620E}\x{6210}\x{6211}\x{6212}\x{6214}\x{6216}\x{621A}\x{621B}' .
-'\x{621D}\x{621E}\x{621F}\x{6221}\x{6226}\x{622A}\x{622E}\x{622F}\x{6230}' .
-'\x{6232}\x{6233}\x{6234}\x{6238}\x{623B}\x{623F}\x{6240}\x{6241}\x{6247}' .
-'\x{6248}\x{6249}\x{624B}\x{624D}\x{624E}\x{6253}\x{6255}\x{6258}\x{625B}' .
-'\x{625E}\x{6260}\x{6263}\x{6268}\x{626E}\x{6271}\x{6276}\x{6279}\x{627C}' .
-'\x{627E}\x{627F}\x{6280}\x{6282}\x{6283}\x{6284}\x{6289}\x{628A}\x{6291}' .
-'\x{6292}\x{6293}\x{6294}\x{6295}\x{6296}\x{6297}\x{6298}\x{629B}\x{629C}' .
-'\x{629E}\x{62AB}\x{62AC}\x{62B1}\x{62B5}\x{62B9}\x{62BB}\x{62BC}\x{62BD}' .
-'\x{62C2}\x{62C5}\x{62C6}\x{62C7}\x{62C8}\x{62C9}\x{62CA}\x{62CC}\x{62CD}' .
-'\x{62CF}\x{62D0}\x{62D1}\x{62D2}\x{62D3}\x{62D4}\x{62D7}\x{62D8}\x{62D9}' .
-'\x{62DB}\x{62DC}\x{62DD}\x{62E0}\x{62E1}\x{62EC}\x{62ED}\x{62EE}\x{62EF}' .
-'\x{62F1}\x{62F3}\x{62F5}\x{62F6}\x{62F7}\x{62FE}\x{62FF}\x{6301}\x{6302}' .
-'\x{6307}\x{6308}\x{6309}\x{630C}\x{6311}\x{6319}\x{631F}\x{6327}\x{6328}' .
-'\x{632B}\x{632F}\x{633A}\x{633D}\x{633E}\x{633F}\x{6349}\x{634C}\x{634D}' .
-'\x{634F}\x{6350}\x{6355}\x{6357}\x{635C}\x{6367}\x{6368}\x{6369}\x{636B}' .
-'\x{636E}\x{6372}\x{6376}\x{6377}\x{637A}\x{637B}\x{6380}\x{6383}\x{6388}' .
-'\x{6389}\x{638C}\x{638E}\x{638F}\x{6392}\x{6396}\x{6398}\x{639B}\x{639F}' .
-'\x{63A0}\x{63A1}\x{63A2}\x{63A3}\x{63A5}\x{63A7}\x{63A8}\x{63A9}\x{63AA}' .
-'\x{63AB}\x{63AC}\x{63B2}\x{63B4}\x{63B5}\x{63BB}\x{63BE}\x{63C0}\x{63C3}' .
-'\x{63C4}\x{63C6}\x{63C9}\x{63CF}\x{63D0}\x{63D2}\x{63D6}\x{63DA}\x{63DB}' .
-'\x{63E1}\x{63E3}\x{63E9}\x{63EE}\x{63F4}\x{63F6}\x{63FA}\x{6406}\x{640D}' .
-'\x{640F}\x{6413}\x{6416}\x{6417}\x{641C}\x{6426}\x{6428}\x{642C}\x{642D}' .
-'\x{6434}\x{6436}\x{643A}\x{643E}\x{6442}\x{644E}\x{6458}\x{6467}\x{6469}' .
-'\x{646F}\x{6476}\x{6478}\x{647A}\x{6483}\x{6488}\x{6492}\x{6493}\x{6495}' .
-'\x{649A}\x{649E}\x{64A4}\x{64A5}\x{64A9}\x{64AB}\x{64AD}\x{64AE}\x{64B0}' .
-'\x{64B2}\x{64B9}\x{64BB}\x{64BC}\x{64C1}\x{64C2}\x{64C5}\x{64C7}\x{64CD}' .
-'\x{64D2}\x{64D4}\x{64D8}\x{64DA}\x{64E0}\x{64E1}\x{64E2}\x{64E3}\x{64E6}' .
-'\x{64E7}\x{64EC}\x{64EF}\x{64F1}\x{64F2}\x{64F4}\x{64F6}\x{64FA}\x{64FD}' .
-'\x{64FE}\x{6500}\x{6505}\x{6518}\x{651C}\x{651D}\x{6523}\x{6524}\x{652A}' .
-'\x{652B}\x{652C}\x{652F}\x{6534}\x{6535}\x{6536}\x{6537}\x{6538}\x{6539}' .
-'\x{653B}\x{653E}\x{653F}\x{6545}\x{6548}\x{654D}\x{654F}\x{6551}\x{6555}' .
-'\x{6556}\x{6557}\x{6558}\x{6559}\x{655D}\x{655E}\x{6562}\x{6563}\x{6566}' .
-'\x{656C}\x{6570}\x{6572}\x{6574}\x{6575}\x{6577}\x{6578}\x{6582}\x{6583}' .
-'\x{6587}\x{6588}\x{6589}\x{658C}\x{658E}\x{6590}\x{6591}\x{6597}\x{6599}' .
-'\x{659B}\x{659C}\x{659F}\x{65A1}\x{65A4}\x{65A5}\x{65A7}\x{65AB}\x{65AC}' .
-'\x{65AD}\x{65AF}\x{65B0}\x{65B7}\x{65B9}\x{65BC}\x{65BD}\x{65C1}\x{65C3}' .
-'\x{65C4}\x{65C5}\x{65C6}\x{65CB}\x{65CC}\x{65CF}\x{65D2}\x{65D7}\x{65D9}' .
-'\x{65DB}\x{65E0}\x{65E1}\x{65E2}\x{65E5}\x{65E6}\x{65E7}\x{65E8}\x{65E9}' .
-'\x{65EC}\x{65ED}\x{65F1}\x{65FA}\x{65FB}\x{6602}\x{6603}\x{6606}\x{6607}' .
-'\x{660A}\x{660C}\x{660E}\x{660F}\x{6613}\x{6614}\x{661C}\x{661F}\x{6620}' .
-'\x{6625}\x{6627}\x{6628}\x{662D}\x{662F}\x{6634}\x{6635}\x{6636}\x{663C}' .
-'\x{663F}\x{6641}\x{6642}\x{6643}\x{6644}\x{6649}\x{664B}\x{664F}\x{6652}' .
-'\x{665D}\x{665E}\x{665F}\x{6662}\x{6664}\x{6666}\x{6667}\x{6668}\x{6669}' .
-'\x{666E}\x{666F}\x{6670}\x{6674}\x{6676}\x{667A}\x{6681}\x{6683}\x{6684}' .
-'\x{6687}\x{6688}\x{6689}\x{668E}\x{6691}\x{6696}\x{6697}\x{6698}\x{669D}' .
-'\x{66A2}\x{66A6}\x{66AB}\x{66AE}\x{66B4}\x{66B8}\x{66B9}\x{66BC}\x{66BE}' .
-'\x{66C1}\x{66C4}\x{66C7}\x{66C9}\x{66D6}\x{66D9}\x{66DA}\x{66DC}\x{66DD}' .
-'\x{66E0}\x{66E6}\x{66E9}\x{66F0}\x{66F2}\x{66F3}\x{66F4}\x{66F5}\x{66F7}' .
-'\x{66F8}\x{66F9}\x{66FC}\x{66FD}\x{66FE}\x{66FF}\x{6700}\x{6703}\x{6708}' .
-'\x{6709}\x{670B}\x{670D}\x{670F}\x{6714}\x{6715}\x{6716}\x{6717}\x{671B}' .
-'\x{671D}\x{671E}\x{671F}\x{6726}\x{6727}\x{6728}\x{672A}\x{672B}\x{672C}' .
-'\x{672D}\x{672E}\x{6731}\x{6734}\x{6736}\x{6737}\x{6738}\x{673A}\x{673D}' .
-'\x{673F}\x{6741}\x{6746}\x{6749}\x{674E}\x{674F}\x{6750}\x{6751}\x{6753}' .
-'\x{6756}\x{6759}\x{675C}\x{675E}\x{675F}\x{6760}\x{6761}\x{6762}\x{6763}' .
-'\x{6764}\x{6765}\x{676A}\x{676D}\x{676F}\x{6770}\x{6771}\x{6772}\x{6773}' .
-'\x{6775}\x{6777}\x{677C}\x{677E}\x{677F}\x{6785}\x{6787}\x{6789}\x{678B}' .
-'\x{678C}\x{6790}\x{6795}\x{6797}\x{679A}\x{679C}\x{679D}\x{67A0}\x{67A1}' .
-'\x{67A2}\x{67A6}\x{67A9}\x{67AF}\x{67B3}\x{67B4}\x{67B6}\x{67B7}\x{67B8}' .
-'\x{67B9}\x{67C1}\x{67C4}\x{67C6}\x{67CA}\x{67CE}\x{67CF}\x{67D0}\x{67D1}' .
-'\x{67D3}\x{67D4}\x{67D8}\x{67DA}\x{67DD}\x{67DE}\x{67E2}\x{67E4}\x{67E7}' .
-'\x{67E9}\x{67EC}\x{67EE}\x{67EF}\x{67F1}\x{67F3}\x{67F4}\x{67F5}\x{67FB}' .
-'\x{67FE}\x{67FF}\x{6802}\x{6803}\x{6804}\x{6813}\x{6816}\x{6817}\x{681E}' .
-'\x{6821}\x{6822}\x{6829}\x{682A}\x{682B}\x{6832}\x{6834}\x{6838}\x{6839}' .
-'\x{683C}\x{683D}\x{6840}\x{6841}\x{6842}\x{6843}\x{6846}\x{6848}\x{684D}' .
-'\x{684E}\x{6850}\x{6851}\x{6853}\x{6854}\x{6859}\x{685C}\x{685D}\x{685F}' .
-'\x{6863}\x{6867}\x{6874}\x{6876}\x{6877}\x{687E}\x{687F}\x{6881}\x{6883}' .
-'\x{6885}\x{688D}\x{688F}\x{6893}\x{6894}\x{6897}\x{689B}\x{689D}\x{689F}' .
-'\x{68A0}\x{68A2}\x{68A6}\x{68A7}\x{68A8}\x{68AD}\x{68AF}\x{68B0}\x{68B1}' .
-'\x{68B3}\x{68B5}\x{68B6}\x{68B9}\x{68BA}\x{68BC}\x{68C4}\x{68C6}\x{68C9}' .
-'\x{68CA}\x{68CB}\x{68CD}\x{68D2}\x{68D4}\x{68D5}\x{68D7}\x{68D8}\x{68DA}' .
-'\x{68DF}\x{68E0}\x{68E1}\x{68E3}\x{68E7}\x{68EE}\x{68EF}\x{68F2}\x{68F9}' .
-'\x{68FA}\x{6900}\x{6901}\x{6904}\x{6905}\x{6908}\x{690B}\x{690C}\x{690D}' .
-'\x{690E}\x{690F}\x{6912}\x{6919}\x{691A}\x{691B}\x{691C}\x{6921}\x{6922}' .
-'\x{6923}\x{6925}\x{6926}\x{6928}\x{692A}\x{6930}\x{6934}\x{6936}\x{6939}' .
-'\x{693D}\x{693F}\x{694A}\x{6953}\x{6954}\x{6955}\x{6959}\x{695A}\x{695C}' .
-'\x{695D}\x{695E}\x{6960}\x{6961}\x{6962}\x{696A}\x{696B}\x{696D}\x{696E}' .
-'\x{696F}\x{6973}\x{6974}\x{6975}\x{6977}\x{6978}\x{6979}\x{697C}\x{697D}' .
-'\x{697E}\x{6981}\x{6982}\x{698A}\x{698E}\x{6991}\x{6994}\x{6995}\x{699B}' .
-'\x{699C}\x{69A0}\x{69A7}\x{69AE}\x{69B1}\x{69B2}\x{69B4}\x{69BB}\x{69BE}' .
-'\x{69BF}\x{69C1}\x{69C3}\x{69C7}\x{69CA}\x{69CB}\x{69CC}\x{69CD}\x{69CE}' .
-'\x{69D0}\x{69D3}\x{69D8}\x{69D9}\x{69DD}\x{69DE}\x{69E7}\x{69E8}\x{69EB}' .
-'\x{69ED}\x{69F2}\x{69F9}\x{69FB}\x{69FD}\x{69FF}\x{6A02}\x{6A05}\x{6A0A}' .
-'\x{6A0B}\x{6A0C}\x{6A12}\x{6A13}\x{6A14}\x{6A17}\x{6A19}\x{6A1B}\x{6A1E}' .
-'\x{6A1F}\x{6A21}\x{6A22}\x{6A23}\x{6A29}\x{6A2A}\x{6A2B}\x{6A2E}\x{6A35}' .
-'\x{6A36}\x{6A38}\x{6A39}\x{6A3A}\x{6A3D}\x{6A44}\x{6A47}\x{6A48}\x{6A4B}' .
-'\x{6A58}\x{6A59}\x{6A5F}\x{6A61}\x{6A62}\x{6A66}\x{6A72}\x{6A78}\x{6A7F}' .
-'\x{6A80}\x{6A84}\x{6A8D}\x{6A8E}\x{6A90}\x{6A97}\x{6A9C}\x{6AA0}\x{6AA2}' .
-'\x{6AA3}\x{6AAA}\x{6AAC}\x{6AAE}\x{6AB3}\x{6AB8}\x{6ABB}\x{6AC1}\x{6AC2}' .
-'\x{6AC3}\x{6AD1}\x{6AD3}\x{6ADA}\x{6ADB}\x{6ADE}\x{6ADF}\x{6AE8}\x{6AEA}' .
-'\x{6AFA}\x{6AFB}\x{6B04}\x{6B05}\x{6B0A}\x{6B12}\x{6B16}\x{6B1D}\x{6B1F}' .
-'\x{6B20}\x{6B21}\x{6B23}\x{6B27}\x{6B32}\x{6B37}\x{6B38}\x{6B39}\x{6B3A}' .
-'\x{6B3D}\x{6B3E}\x{6B43}\x{6B47}\x{6B49}\x{6B4C}\x{6B4E}\x{6B50}\x{6B53}' .
-'\x{6B54}\x{6B59}\x{6B5B}\x{6B5F}\x{6B61}\x{6B62}\x{6B63}\x{6B64}\x{6B66}' .
-'\x{6B69}\x{6B6A}\x{6B6F}\x{6B73}\x{6B74}\x{6B78}\x{6B79}\x{6B7B}\x{6B7F}' .
-'\x{6B80}\x{6B83}\x{6B84}\x{6B86}\x{6B89}\x{6B8A}\x{6B8B}\x{6B8D}\x{6B95}' .
-'\x{6B96}\x{6B98}\x{6B9E}\x{6BA4}\x{6BAA}\x{6BAB}\x{6BAF}\x{6BB1}\x{6BB2}' .
-'\x{6BB3}\x{6BB4}\x{6BB5}\x{6BB7}\x{6BBA}\x{6BBB}\x{6BBC}\x{6BBF}\x{6BC0}' .
-'\x{6BC5}\x{6BC6}\x{6BCB}\x{6BCD}\x{6BCE}\x{6BD2}\x{6BD3}\x{6BD4}\x{6BD8}' .
-'\x{6BDB}\x{6BDF}\x{6BEB}\x{6BEC}\x{6BEF}\x{6BF3}\x{6C08}\x{6C0F}\x{6C11}' .
-'\x{6C13}\x{6C14}\x{6C17}\x{6C1B}\x{6C23}\x{6C24}\x{6C34}\x{6C37}\x{6C38}' .
-'\x{6C3E}\x{6C40}\x{6C41}\x{6C42}\x{6C4E}\x{6C50}\x{6C55}\x{6C57}\x{6C5A}' .
-'\x{6C5D}\x{6C5E}\x{6C5F}\x{6C60}\x{6C62}\x{6C68}\x{6C6A}\x{6C70}\x{6C72}' .
-'\x{6C73}\x{6C7A}\x{6C7D}\x{6C7E}\x{6C81}\x{6C82}\x{6C83}\x{6C88}\x{6C8C}' .
-'\x{6C8D}\x{6C90}\x{6C92}\x{6C93}\x{6C96}\x{6C99}\x{6C9A}\x{6C9B}\x{6CA1}' .
-'\x{6CA2}\x{6CAB}\x{6CAE}\x{6CB1}\x{6CB3}\x{6CB8}\x{6CB9}\x{6CBA}\x{6CBB}' .
-'\x{6CBC}\x{6CBD}\x{6CBE}\x{6CBF}\x{6CC1}\x{6CC4}\x{6CC5}\x{6CC9}\x{6CCA}' .
-'\x{6CCC}\x{6CD3}\x{6CD5}\x{6CD7}\x{6CD9}\x{6CDB}\x{6CDD}\x{6CE1}\x{6CE2}' .
-'\x{6CE3}\x{6CE5}\x{6CE8}\x{6CEA}\x{6CEF}\x{6CF0}\x{6CF1}\x{6CF3}\x{6D0B}' .
-'\x{6D0C}\x{6D12}\x{6D17}\x{6D19}\x{6D1B}\x{6D1E}\x{6D1F}\x{6D25}\x{6D29}' .
-'\x{6D2A}\x{6D2B}\x{6D32}\x{6D33}\x{6D35}\x{6D36}\x{6D38}\x{6D3B}\x{6D3D}' .
-'\x{6D3E}\x{6D41}\x{6D44}\x{6D45}\x{6D59}\x{6D5A}\x{6D5C}\x{6D63}\x{6D64}' .
-'\x{6D66}\x{6D69}\x{6D6A}\x{6D6C}\x{6D6E}\x{6D74}\x{6D77}\x{6D78}\x{6D79}' .
-'\x{6D85}\x{6D88}\x{6D8C}\x{6D8E}\x{6D93}\x{6D95}\x{6D99}\x{6D9B}\x{6D9C}' .
-'\x{6DAF}\x{6DB2}\x{6DB5}\x{6DB8}\x{6DBC}\x{6DC0}\x{6DC5}\x{6DC6}\x{6DC7}' .
-'\x{6DCB}\x{6DCC}\x{6DD1}\x{6DD2}\x{6DD5}\x{6DD8}\x{6DD9}\x{6DDE}\x{6DE1}' .
-'\x{6DE4}\x{6DE6}\x{6DE8}\x{6DEA}\x{6DEB}\x{6DEC}\x{6DEE}\x{6DF1}\x{6DF3}' .
-'\x{6DF5}\x{6DF7}\x{6DF9}\x{6DFA}\x{6DFB}\x{6E05}\x{6E07}\x{6E08}\x{6E09}' .
-'\x{6E0A}\x{6E0B}\x{6E13}\x{6E15}\x{6E19}\x{6E1A}\x{6E1B}\x{6E1D}\x{6E1F}' .
-'\x{6E20}\x{6E21}\x{6E23}\x{6E24}\x{6E25}\x{6E26}\x{6E29}\x{6E2B}\x{6E2C}' .
-'\x{6E2D}\x{6E2E}\x{6E2F}\x{6E38}\x{6E3A}\x{6E3E}\x{6E43}\x{6E4A}\x{6E4D}' .
-'\x{6E4E}\x{6E56}\x{6E58}\x{6E5B}\x{6E5F}\x{6E67}\x{6E6B}\x{6E6E}\x{6E6F}' .
-'\x{6E72}\x{6E76}\x{6E7E}\x{6E7F}\x{6E80}\x{6E82}\x{6E8C}\x{6E8F}\x{6E90}' .
-'\x{6E96}\x{6E98}\x{6E9C}\x{6E9D}\x{6E9F}\x{6EA2}\x{6EA5}\x{6EAA}\x{6EAF}' .
-'\x{6EB2}\x{6EB6}\x{6EB7}\x{6EBA}\x{6EBD}\x{6EC2}\x{6EC4}\x{6EC5}\x{6EC9}' .
-'\x{6ECB}\x{6ECC}\x{6ED1}\x{6ED3}\x{6ED4}\x{6ED5}\x{6EDD}\x{6EDE}\x{6EEC}' .
-'\x{6EEF}\x{6EF2}\x{6EF4}\x{6EF7}\x{6EF8}\x{6EFE}\x{6EFF}\x{6F01}\x{6F02}' .
-'\x{6F06}\x{6F09}\x{6F0F}\x{6F11}\x{6F13}\x{6F14}\x{6F15}\x{6F20}\x{6F22}' .
-'\x{6F23}\x{6F2B}\x{6F2C}\x{6F31}\x{6F32}\x{6F38}\x{6F3E}\x{6F3F}\x{6F41}' .
-'\x{6F45}\x{6F54}\x{6F58}\x{6F5B}\x{6F5C}\x{6F5F}\x{6F64}\x{6F66}\x{6F6D}' .
-'\x{6F6E}\x{6F6F}\x{6F70}\x{6F74}\x{6F78}\x{6F7A}\x{6F7C}\x{6F80}\x{6F81}' .
-'\x{6F82}\x{6F84}\x{6F86}\x{6F8E}\x{6F91}\x{6F97}\x{6FA1}\x{6FA3}\x{6FA4}' .
-'\x{6FAA}\x{6FB1}\x{6FB3}\x{6FB9}\x{6FC0}\x{6FC1}\x{6FC2}\x{6FC3}\x{6FC6}' .
-'\x{6FD4}\x{6FD5}\x{6FD8}\x{6FDB}\x{6FDF}\x{6FE0}\x{6FE1}\x{6FE4}\x{6FEB}' .
-'\x{6FEC}\x{6FEE}\x{6FEF}\x{6FF1}\x{6FF3}\x{6FF6}\x{6FFA}\x{6FFE}\x{7001}' .
-'\x{7009}\x{700B}\x{700F}\x{7011}\x{7015}\x{7018}\x{701A}\x{701B}\x{701D}' .
-'\x{701E}\x{701F}\x{7026}\x{7027}\x{702C}\x{7030}\x{7032}\x{703E}\x{704C}' .
-'\x{7051}\x{7058}\x{7063}\x{706B}\x{706F}\x{7070}\x{7078}\x{707C}\x{707D}' .
-'\x{7089}\x{708A}\x{708E}\x{7092}\x{7099}\x{70AC}\x{70AD}\x{70AE}\x{70AF}' .
-'\x{70B3}\x{70B8}\x{70B9}\x{70BA}\x{70C8}\x{70CB}\x{70CF}\x{70D9}\x{70DD}' .
-'\x{70DF}\x{70F1}\x{70F9}\x{70FD}\x{7109}\x{7114}\x{7119}\x{711A}\x{711C}' .
-'\x{7121}\x{7126}\x{7136}\x{713C}\x{7149}\x{714C}\x{714E}\x{7155}\x{7156}' .
-'\x{7159}\x{7162}\x{7164}\x{7165}\x{7166}\x{7167}\x{7169}\x{716C}\x{716E}' .
-'\x{717D}\x{7184}\x{7188}\x{718A}\x{718F}\x{7194}\x{7195}\x{7199}\x{719F}' .
-'\x{71A8}\x{71AC}\x{71B1}\x{71B9}\x{71BE}\x{71C3}\x{71C8}\x{71C9}\x{71CE}' .
-'\x{71D0}\x{71D2}\x{71D4}\x{71D5}\x{71D7}\x{71DF}\x{71E0}\x{71E5}\x{71E6}' .
-'\x{71E7}\x{71EC}\x{71ED}\x{71EE}\x{71F5}\x{71F9}\x{71FB}\x{71FC}\x{71FF}' .
-'\x{7206}\x{720D}\x{7210}\x{721B}\x{7228}\x{722A}\x{722C}\x{722D}\x{7230}' .
-'\x{7232}\x{7235}\x{7236}\x{723A}\x{723B}\x{723C}\x{723D}\x{723E}\x{723F}' .
-'\x{7240}\x{7246}\x{7247}\x{7248}\x{724B}\x{724C}\x{7252}\x{7258}\x{7259}' .
-'\x{725B}\x{725D}\x{725F}\x{7261}\x{7262}\x{7267}\x{7269}\x{7272}\x{7274}' .
-'\x{7279}\x{727D}\x{727E}\x{7280}\x{7281}\x{7282}\x{7287}\x{7292}\x{7296}' .
-'\x{72A0}\x{72A2}\x{72A7}\x{72AC}\x{72AF}\x{72B2}\x{72B6}\x{72B9}\x{72C2}' .
-'\x{72C3}\x{72C4}\x{72C6}\x{72CE}\x{72D0}\x{72D2}\x{72D7}\x{72D9}\x{72DB}' .
-'\x{72E0}\x{72E1}\x{72E2}\x{72E9}\x{72EC}\x{72ED}\x{72F7}\x{72F8}\x{72F9}' .
-'\x{72FC}\x{72FD}\x{730A}\x{7316}\x{7317}\x{731B}\x{731C}\x{731D}\x{731F}' .
-'\x{7325}\x{7329}\x{732A}\x{732B}\x{732E}\x{732F}\x{7334}\x{7336}\x{7337}' .
-'\x{733E}\x{733F}\x{7344}\x{7345}\x{734E}\x{734F}\x{7357}\x{7363}\x{7368}' .
-'\x{736A}\x{7370}\x{7372}\x{7375}\x{7378}\x{737A}\x{737B}\x{7384}\x{7387}' .
-'\x{7389}\x{738B}\x{7396}\x{73A9}\x{73B2}\x{73B3}\x{73BB}\x{73C0}\x{73C2}' .
-'\x{73C8}\x{73CA}\x{73CD}\x{73CE}\x{73DE}\x{73E0}\x{73E5}\x{73EA}\x{73ED}' .
-'\x{73EE}\x{73F1}\x{73F8}\x{73FE}\x{7403}\x{7405}\x{7406}\x{7409}\x{7422}' .
-'\x{7425}\x{7432}\x{7433}\x{7434}\x{7435}\x{7436}\x{743A}\x{743F}\x{7441}' .
-'\x{7455}\x{7459}\x{745A}\x{745B}\x{745C}\x{745E}\x{745F}\x{7460}\x{7463}' .
-'\x{7464}\x{7469}\x{746A}\x{746F}\x{7470}\x{7473}\x{7476}\x{747E}\x{7483}' .
-'\x{748B}\x{749E}\x{74A2}\x{74A7}\x{74B0}\x{74BD}\x{74CA}\x{74CF}\x{74D4}' .
-'\x{74DC}\x{74E0}\x{74E2}\x{74E3}\x{74E6}\x{74E7}\x{74E9}\x{74EE}\x{74F0}' .
-'\x{74F1}\x{74F2}\x{74F6}\x{74F7}\x{74F8}\x{7503}\x{7504}\x{7505}\x{750C}' .
-'\x{750D}\x{750E}\x{7511}\x{7513}\x{7515}\x{7518}\x{751A}\x{751C}\x{751E}' .
-'\x{751F}\x{7523}\x{7525}\x{7526}\x{7528}\x{752B}\x{752C}\x{7530}\x{7531}' .
-'\x{7532}\x{7533}\x{7537}\x{7538}\x{753A}\x{753B}\x{753C}\x{7544}\x{7546}' .
-'\x{7549}\x{754A}\x{754B}\x{754C}\x{754D}\x{754F}\x{7551}\x{7554}\x{7559}' .
-'\x{755A}\x{755B}\x{755C}\x{755D}\x{7560}\x{7562}\x{7564}\x{7565}\x{7566}' .
-'\x{7567}\x{7569}\x{756A}\x{756B}\x{756D}\x{7570}\x{7573}\x{7574}\x{7576}' .
-'\x{7577}\x{7578}\x{757F}\x{7582}\x{7586}\x{7587}\x{7589}\x{758A}\x{758B}' .
-'\x{758E}\x{758F}\x{7591}\x{7594}\x{759A}\x{759D}\x{75A3}\x{75A5}\x{75AB}' .
-'\x{75B1}\x{75B2}\x{75B3}\x{75B5}\x{75B8}\x{75B9}\x{75BC}\x{75BD}\x{75BE}' .
-'\x{75C2}\x{75C3}\x{75C5}\x{75C7}\x{75CA}\x{75CD}\x{75D2}\x{75D4}\x{75D5}' .
-'\x{75D8}\x{75D9}\x{75DB}\x{75DE}\x{75E2}\x{75E3}\x{75E9}\x{75F0}\x{75F2}' .
-'\x{75F3}\x{75F4}\x{75FA}\x{75FC}\x{75FE}\x{75FF}\x{7601}\x{7609}\x{760B}' .
-'\x{760D}\x{761F}\x{7620}\x{7621}\x{7622}\x{7624}\x{7627}\x{7630}\x{7634}' .
-'\x{763B}\x{7642}\x{7646}\x{7647}\x{7648}\x{764C}\x{7652}\x{7656}\x{7658}' .
-'\x{765C}\x{7661}\x{7662}\x{7667}\x{7668}\x{7669}\x{766A}\x{766C}\x{7670}' .
-'\x{7672}\x{7676}\x{7678}\x{767A}\x{767B}\x{767C}\x{767D}\x{767E}\x{7680}' .
-'\x{7683}\x{7684}\x{7686}\x{7687}\x{7688}\x{768B}\x{768E}\x{7690}\x{7693}' .
-'\x{7696}\x{7699}\x{769A}\x{76AE}\x{76B0}\x{76B4}\x{76B7}\x{76B8}\x{76B9}' .
-'\x{76BA}\x{76BF}\x{76C2}\x{76C3}\x{76C6}\x{76C8}\x{76CA}\x{76CD}\x{76D2}' .
-'\x{76D6}\x{76D7}\x{76DB}\x{76DC}\x{76DE}\x{76DF}\x{76E1}\x{76E3}\x{76E4}' .
-'\x{76E5}\x{76E7}\x{76EA}\x{76EE}\x{76F2}\x{76F4}\x{76F8}\x{76FB}\x{76FE}' .
-'\x{7701}\x{7704}\x{7707}\x{7708}\x{7709}\x{770B}\x{770C}\x{771B}\x{771E}' .
-'\x{771F}\x{7720}\x{7724}\x{7725}\x{7726}\x{7729}\x{7737}\x{7738}\x{773A}' .
-'\x{773C}\x{7740}\x{7747}\x{775A}\x{775B}\x{7761}\x{7763}\x{7765}\x{7766}' .
-'\x{7768}\x{776B}\x{7779}\x{777E}\x{777F}\x{778B}\x{778E}\x{7791}\x{779E}' .
-'\x{77A0}\x{77A5}\x{77AC}\x{77AD}\x{77B0}\x{77B3}\x{77B6}\x{77B9}\x{77BB}' .
-'\x{77BC}\x{77BD}\x{77BF}\x{77C7}\x{77CD}\x{77D7}\x{77DA}\x{77DB}\x{77DC}' .
-'\x{77E2}\x{77E3}\x{77E5}\x{77E7}\x{77E9}\x{77ED}\x{77EE}\x{77EF}\x{77F3}' .
-'\x{77FC}\x{7802}\x{780C}\x{7812}\x{7814}\x{7815}\x{7820}\x{7825}\x{7826}' .
-'\x{7827}\x{7832}\x{7834}\x{783A}\x{783F}\x{7845}\x{785D}\x{786B}\x{786C}' .
-'\x{786F}\x{7872}\x{7874}\x{787C}\x{7881}\x{7886}\x{7887}\x{788C}\x{788D}' .
-'\x{788E}\x{7891}\x{7893}\x{7895}\x{7897}\x{789A}\x{78A3}\x{78A7}\x{78A9}' .
-'\x{78AA}\x{78AF}\x{78B5}\x{78BA}\x{78BC}\x{78BE}\x{78C1}\x{78C5}\x{78C6}' .
-'\x{78CA}\x{78CB}\x{78D0}\x{78D1}\x{78D4}\x{78DA}\x{78E7}\x{78E8}\x{78EC}' .
-'\x{78EF}\x{78F4}\x{78FD}\x{7901}\x{7907}\x{790E}\x{7911}\x{7912}\x{7919}' .
-'\x{7926}\x{792A}\x{792B}\x{792C}\x{793A}\x{793C}\x{793E}\x{7940}\x{7941}' .
-'\x{7947}\x{7948}\x{7949}\x{7950}\x{7953}\x{7955}\x{7956}\x{7957}\x{795A}' .
-'\x{795D}\x{795E}\x{795F}\x{7960}\x{7962}\x{7965}\x{7968}\x{796D}\x{7977}' .
-'\x{797A}\x{797F}\x{7980}\x{7981}\x{7984}\x{7985}\x{798A}\x{798D}\x{798E}' .
-'\x{798F}\x{799D}\x{79A6}\x{79A7}\x{79AA}\x{79AE}\x{79B0}\x{79B3}\x{79B9}' .
-'\x{79BA}\x{79BD}\x{79BE}\x{79BF}\x{79C0}\x{79C1}\x{79C9}\x{79CB}\x{79D1}' .
-'\x{79D2}\x{79D5}\x{79D8}\x{79DF}\x{79E1}\x{79E3}\x{79E4}\x{79E6}\x{79E7}' .
-'\x{79E9}\x{79EC}\x{79F0}\x{79FB}\x{7A00}\x{7A08}\x{7A0B}\x{7A0D}\x{7A0E}' .
-'\x{7A14}\x{7A17}\x{7A18}\x{7A19}\x{7A1A}\x{7A1C}\x{7A1F}\x{7A20}\x{7A2E}' .
-'\x{7A31}\x{7A32}\x{7A37}\x{7A3B}\x{7A3C}\x{7A3D}\x{7A3E}\x{7A3F}\x{7A40}' .
-'\x{7A42}\x{7A43}\x{7A46}\x{7A49}\x{7A4D}\x{7A4E}\x{7A4F}\x{7A50}\x{7A57}' .
-'\x{7A61}\x{7A62}\x{7A63}\x{7A69}\x{7A6B}\x{7A70}\x{7A74}\x{7A76}\x{7A79}' .
-'\x{7A7A}\x{7A7D}\x{7A7F}\x{7A81}\x{7A83}\x{7A84}\x{7A88}\x{7A92}\x{7A93}' .
-'\x{7A95}\x{7A96}\x{7A97}\x{7A98}\x{7A9F}\x{7AA9}\x{7AAA}\x{7AAE}\x{7AAF}' .
-'\x{7AB0}\x{7AB6}\x{7ABA}\x{7ABF}\x{7AC3}\x{7AC4}\x{7AC5}\x{7AC7}\x{7AC8}' .
-'\x{7ACA}\x{7ACB}\x{7ACD}\x{7ACF}\x{7AD2}\x{7AD3}\x{7AD5}\x{7AD9}\x{7ADA}' .
-'\x{7ADC}\x{7ADD}\x{7ADF}\x{7AE0}\x{7AE1}\x{7AE2}\x{7AE3}\x{7AE5}\x{7AE6}' .
-'\x{7AEA}\x{7AED}\x{7AEF}\x{7AF0}\x{7AF6}\x{7AF8}\x{7AF9}\x{7AFA}\x{7AFF}' .
-'\x{7B02}\x{7B04}\x{7B06}\x{7B08}\x{7B0A}\x{7B0B}\x{7B0F}\x{7B11}\x{7B18}' .
-'\x{7B19}\x{7B1B}\x{7B1E}\x{7B20}\x{7B25}\x{7B26}\x{7B28}\x{7B2C}\x{7B33}' .
-'\x{7B35}\x{7B36}\x{7B39}\x{7B45}\x{7B46}\x{7B48}\x{7B49}\x{7B4B}\x{7B4C}' .
-'\x{7B4D}\x{7B4F}\x{7B50}\x{7B51}\x{7B52}\x{7B54}\x{7B56}\x{7B5D}\x{7B65}' .
-'\x{7B67}\x{7B6C}\x{7B6E}\x{7B70}\x{7B71}\x{7B74}\x{7B75}\x{7B7A}\x{7B86}' .
-'\x{7B87}\x{7B8B}\x{7B8D}\x{7B8F}\x{7B92}\x{7B94}\x{7B95}\x{7B97}\x{7B98}' .
-'\x{7B99}\x{7B9A}\x{7B9C}\x{7B9D}\x{7B9F}\x{7BA1}\x{7BAA}\x{7BAD}\x{7BB1}' .
-'\x{7BB4}\x{7BB8}\x{7BC0}\x{7BC1}\x{7BC4}\x{7BC6}\x{7BC7}\x{7BC9}\x{7BCB}' .
-'\x{7BCC}\x{7BCF}\x{7BDD}\x{7BE0}\x{7BE4}\x{7BE5}\x{7BE6}\x{7BE9}\x{7BED}' .
-'\x{7BF3}\x{7BF6}\x{7BF7}\x{7C00}\x{7C07}\x{7C0D}\x{7C11}\x{7C12}\x{7C13}' .
-'\x{7C14}\x{7C17}\x{7C1F}\x{7C21}\x{7C23}\x{7C27}\x{7C2A}\x{7C2B}\x{7C37}' .
-'\x{7C38}\x{7C3D}\x{7C3E}\x{7C3F}\x{7C40}\x{7C43}\x{7C4C}\x{7C4D}\x{7C4F}' .
-'\x{7C50}\x{7C54}\x{7C56}\x{7C58}\x{7C5F}\x{7C60}\x{7C64}\x{7C65}\x{7C6C}' .
-'\x{7C73}\x{7C75}\x{7C7E}\x{7C81}\x{7C82}\x{7C83}\x{7C89}\x{7C8B}\x{7C8D}' .
-'\x{7C90}\x{7C92}\x{7C95}\x{7C97}\x{7C98}\x{7C9B}\x{7C9F}\x{7CA1}\x{7CA2}' .
-'\x{7CA4}\x{7CA5}\x{7CA7}\x{7CA8}\x{7CAB}\x{7CAD}\x{7CAE}\x{7CB1}\x{7CB2}' .
-'\x{7CB3}\x{7CB9}\x{7CBD}\x{7CBE}\x{7CC0}\x{7CC2}\x{7CC5}\x{7CCA}\x{7CCE}' .
-'\x{7CD2}\x{7CD6}\x{7CD8}\x{7CDC}\x{7CDE}\x{7CDF}\x{7CE0}\x{7CE2}\x{7CE7}' .
-'\x{7CEF}\x{7CF2}\x{7CF4}\x{7CF6}\x{7CF8}\x{7CFA}\x{7CFB}\x{7CFE}\x{7D00}' .
-'\x{7D02}\x{7D04}\x{7D05}\x{7D06}\x{7D0A}\x{7D0B}\x{7D0D}\x{7D10}\x{7D14}' .
-'\x{7D15}\x{7D17}\x{7D18}\x{7D19}\x{7D1A}\x{7D1B}\x{7D1C}\x{7D20}\x{7D21}' .
-'\x{7D22}\x{7D2B}\x{7D2C}\x{7D2E}\x{7D2F}\x{7D30}\x{7D32}\x{7D33}\x{7D35}' .
-'\x{7D39}\x{7D3A}\x{7D3F}\x{7D42}\x{7D43}\x{7D44}\x{7D45}\x{7D46}\x{7D4B}' .
-'\x{7D4C}\x{7D4E}\x{7D4F}\x{7D50}\x{7D56}\x{7D5B}\x{7D5E}\x{7D61}\x{7D62}' .
-'\x{7D63}\x{7D66}\x{7D68}\x{7D6E}\x{7D71}\x{7D72}\x{7D73}\x{7D75}\x{7D76}' .
-'\x{7D79}\x{7D7D}\x{7D89}\x{7D8F}\x{7D93}\x{7D99}\x{7D9A}\x{7D9B}\x{7D9C}' .
-'\x{7D9F}\x{7DA2}\x{7DA3}\x{7DAB}\x{7DAC}\x{7DAD}\x{7DAE}\x{7DAF}\x{7DB0}' .
-'\x{7DB1}\x{7DB2}\x{7DB4}\x{7DB5}\x{7DB8}\x{7DBA}\x{7DBB}\x{7DBD}\x{7DBE}' .
-'\x{7DBF}\x{7DC7}\x{7DCA}\x{7DCB}\x{7DCF}\x{7DD1}\x{7DD2}\x{7DD5}\x{7DD8}' .
-'\x{7DDA}\x{7DDC}\x{7DDD}\x{7DDE}\x{7DE0}\x{7DE1}\x{7DE4}\x{7DE8}\x{7DE9}' .
-'\x{7DEC}\x{7DEF}\x{7DF2}\x{7DF4}\x{7DFB}\x{7E01}\x{7E04}\x{7E05}\x{7E09}' .
-'\x{7E0A}\x{7E0B}\x{7E12}\x{7E1B}\x{7E1E}\x{7E1F}\x{7E21}\x{7E22}\x{7E23}' .
-'\x{7E26}\x{7E2B}\x{7E2E}\x{7E31}\x{7E32}\x{7E35}\x{7E37}\x{7E39}\x{7E3A}' .
-'\x{7E3B}\x{7E3D}\x{7E3E}\x{7E41}\x{7E43}\x{7E46}\x{7E4A}\x{7E4B}\x{7E4D}' .
-'\x{7E54}\x{7E55}\x{7E56}\x{7E59}\x{7E5A}\x{7E5D}\x{7E5E}\x{7E66}\x{7E67}' .
-'\x{7E69}\x{7E6A}\x{7E6D}\x{7E70}\x{7E79}\x{7E7B}\x{7E7C}\x{7E7D}\x{7E7F}' .
-'\x{7E82}\x{7E83}\x{7E88}\x{7E89}\x{7E8C}\x{7E8E}\x{7E8F}\x{7E90}\x{7E92}' .
-'\x{7E93}\x{7E94}\x{7E96}\x{7E9B}\x{7E9C}\x{7F36}\x{7F38}\x{7F3A}\x{7F45}' .
-'\x{7F4C}\x{7F4D}\x{7F4E}\x{7F50}\x{7F51}\x{7F54}\x{7F55}\x{7F58}\x{7F5F}' .
-'\x{7F60}\x{7F67}\x{7F68}\x{7F69}\x{7F6A}\x{7F6B}\x{7F6E}\x{7F70}\x{7F72}' .
-'\x{7F75}\x{7F77}\x{7F78}\x{7F79}\x{7F82}\x{7F83}\x{7F85}\x{7F86}\x{7F87}' .
-'\x{7F88}\x{7F8A}\x{7F8C}\x{7F8E}\x{7F94}\x{7F9A}\x{7F9D}\x{7F9E}\x{7FA3}' .
-'\x{7FA4}\x{7FA8}\x{7FA9}\x{7FAE}\x{7FAF}\x{7FB2}\x{7FB6}\x{7FB8}\x{7FB9}' .
-'\x{7FBD}\x{7FC1}\x{7FC5}\x{7FC6}\x{7FCA}\x{7FCC}\x{7FD2}\x{7FD4}\x{7FD5}' .
-'\x{7FE0}\x{7FE1}\x{7FE6}\x{7FE9}\x{7FEB}\x{7FF0}\x{7FF3}\x{7FF9}\x{7FFB}' .
-'\x{7FFC}\x{8000}\x{8001}\x{8003}\x{8004}\x{8005}\x{8006}\x{800B}\x{800C}' .
-'\x{8010}\x{8012}\x{8015}\x{8017}\x{8018}\x{8019}\x{801C}\x{8021}\x{8028}' .
-'\x{8033}\x{8036}\x{803B}\x{803D}\x{803F}\x{8046}\x{804A}\x{8052}\x{8056}' .
-'\x{8058}\x{805A}\x{805E}\x{805F}\x{8061}\x{8062}\x{8068}\x{806F}\x{8070}' .
-'\x{8072}\x{8073}\x{8074}\x{8076}\x{8077}\x{8079}\x{807D}\x{807E}\x{807F}' .
-'\x{8084}\x{8085}\x{8086}\x{8087}\x{8089}\x{808B}\x{808C}\x{8093}\x{8096}' .
-'\x{8098}\x{809A}\x{809B}\x{809D}\x{80A1}\x{80A2}\x{80A5}\x{80A9}\x{80AA}' .
-'\x{80AC}\x{80AD}\x{80AF}\x{80B1}\x{80B2}\x{80B4}\x{80BA}\x{80C3}\x{80C4}' .
-'\x{80C6}\x{80CC}\x{80CE}\x{80D6}\x{80D9}\x{80DA}\x{80DB}\x{80DD}\x{80DE}' .
-'\x{80E1}\x{80E4}\x{80E5}\x{80EF}\x{80F1}\x{80F4}\x{80F8}\x{80FC}\x{80FD}' .
-'\x{8102}\x{8105}\x{8106}\x{8107}\x{8108}\x{8109}\x{810A}\x{811A}\x{811B}' .
-'\x{8123}\x{8129}\x{812F}\x{8131}\x{8133}\x{8139}\x{813E}\x{8146}\x{814B}' .
-'\x{814E}\x{8150}\x{8151}\x{8153}\x{8154}\x{8155}\x{815F}\x{8165}\x{8166}' .
-'\x{816B}\x{816E}\x{8170}\x{8171}\x{8174}\x{8178}\x{8179}\x{817A}\x{817F}' .
-'\x{8180}\x{8182}\x{8183}\x{8188}\x{818A}\x{818F}\x{8193}\x{8195}\x{819A}' .
-'\x{819C}\x{819D}\x{81A0}\x{81A3}\x{81A4}\x{81A8}\x{81A9}\x{81B0}\x{81B3}' .
-'\x{81B5}\x{81B8}\x{81BA}\x{81BD}\x{81BE}\x{81BF}\x{81C0}\x{81C2}\x{81C6}' .
-'\x{81C8}\x{81C9}\x{81CD}\x{81D1}\x{81D3}\x{81D8}\x{81D9}\x{81DA}\x{81DF}' .
-'\x{81E0}\x{81E3}\x{81E5}\x{81E7}\x{81E8}\x{81EA}\x{81ED}\x{81F3}\x{81F4}' .
-'\x{81FA}\x{81FB}\x{81FC}\x{81FE}\x{8201}\x{8202}\x{8205}\x{8207}\x{8208}' .
-'\x{8209}\x{820A}\x{820C}\x{820D}\x{820E}\x{8210}\x{8212}\x{8216}\x{8217}' .
-'\x{8218}\x{821B}\x{821C}\x{821E}\x{821F}\x{8229}\x{822A}\x{822B}\x{822C}' .
-'\x{822E}\x{8233}\x{8235}\x{8236}\x{8237}\x{8238}\x{8239}\x{8240}\x{8247}' .
-'\x{8258}\x{8259}\x{825A}\x{825D}\x{825F}\x{8262}\x{8264}\x{8266}\x{8268}' .
-'\x{826A}\x{826B}\x{826E}\x{826F}\x{8271}\x{8272}\x{8276}\x{8277}\x{8278}' .
-'\x{827E}\x{828B}\x{828D}\x{8292}\x{8299}\x{829D}\x{829F}\x{82A5}\x{82A6}' .
-'\x{82AB}\x{82AC}\x{82AD}\x{82AF}\x{82B1}\x{82B3}\x{82B8}\x{82B9}\x{82BB}' .
-'\x{82BD}\x{82C5}\x{82D1}\x{82D2}\x{82D3}\x{82D4}\x{82D7}\x{82D9}\x{82DB}' .
-'\x{82DC}\x{82DE}\x{82DF}\x{82E1}\x{82E3}\x{82E5}\x{82E6}\x{82E7}\x{82EB}' .
-'\x{82F1}\x{82F3}\x{82F4}\x{82F9}\x{82FA}\x{82FB}\x{8302}\x{8303}\x{8304}' .
-'\x{8305}\x{8306}\x{8309}\x{830E}\x{8316}\x{8317}\x{8318}\x{831C}\x{8323}' .
-'\x{8328}\x{832B}\x{832F}\x{8331}\x{8332}\x{8334}\x{8335}\x{8336}\x{8338}' .
-'\x{8339}\x{8340}\x{8345}\x{8349}\x{834A}\x{834F}\x{8350}\x{8352}\x{8358}' .
-'\x{8373}\x{8375}\x{8377}\x{837B}\x{837C}\x{8385}\x{8387}\x{8389}\x{838A}' .
-'\x{838E}\x{8393}\x{8396}\x{839A}\x{839E}\x{839F}\x{83A0}\x{83A2}\x{83A8}' .
-'\x{83AA}\x{83AB}\x{83B1}\x{83B5}\x{83BD}\x{83C1}\x{83C5}\x{83CA}\x{83CC}' .
-'\x{83CE}\x{83D3}\x{83D6}\x{83D8}\x{83DC}\x{83DF}\x{83E0}\x{83E9}\x{83EB}' .
-'\x{83EF}\x{83F0}\x{83F1}\x{83F2}\x{83F4}\x{83F7}\x{83FB}\x{83FD}\x{8403}' .
-'\x{8404}\x{8407}\x{840B}\x{840C}\x{840D}\x{840E}\x{8413}\x{8420}\x{8422}' .
-'\x{8429}\x{842A}\x{842C}\x{8431}\x{8435}\x{8438}\x{843C}\x{843D}\x{8446}' .
-'\x{8449}\x{844E}\x{8457}\x{845B}\x{8461}\x{8462}\x{8463}\x{8466}\x{8469}' .
-'\x{846B}\x{846C}\x{846D}\x{846E}\x{846F}\x{8471}\x{8475}\x{8477}\x{8479}' .
-'\x{847A}\x{8482}\x{8484}\x{848B}\x{8490}\x{8494}\x{8499}\x{849C}\x{849F}' .
-'\x{84A1}\x{84AD}\x{84B2}\x{84B8}\x{84B9}\x{84BB}\x{84BC}\x{84BF}\x{84C1}' .
-'\x{84C4}\x{84C6}\x{84C9}\x{84CA}\x{84CB}\x{84CD}\x{84D0}\x{84D1}\x{84D6}' .
-'\x{84D9}\x{84DA}\x{84EC}\x{84EE}\x{84F4}\x{84FC}\x{84FF}\x{8500}\x{8506}' .
-'\x{8511}\x{8513}\x{8514}\x{8515}\x{8517}\x{8518}\x{851A}\x{851F}\x{8521}' .
-'\x{8526}\x{852C}\x{852D}\x{8535}\x{853D}\x{8540}\x{8541}\x{8543}\x{8548}' .
-'\x{8549}\x{854A}\x{854B}\x{854E}\x{8555}\x{8557}\x{8558}\x{855A}\x{8563}' .
-'\x{8568}\x{8569}\x{856A}\x{856D}\x{8577}\x{857E}\x{8580}\x{8584}\x{8587}' .
-'\x{8588}\x{858A}\x{8590}\x{8591}\x{8594}\x{8597}\x{8599}\x{859B}\x{859C}' .
-'\x{85A4}\x{85A6}\x{85A8}\x{85A9}\x{85AA}\x{85AB}\x{85AC}\x{85AE}\x{85AF}' .
-'\x{85B9}\x{85BA}\x{85C1}\x{85C9}\x{85CD}\x{85CF}\x{85D0}\x{85D5}\x{85DC}' .
-'\x{85DD}\x{85E4}\x{85E5}\x{85E9}\x{85EA}\x{85F7}\x{85F9}\x{85FA}\x{85FB}' .
-'\x{85FE}\x{8602}\x{8606}\x{8607}\x{860A}\x{860B}\x{8613}\x{8616}\x{8617}' .
-'\x{861A}\x{8622}\x{862D}\x{862F}\x{8630}\x{863F}\x{864D}\x{864E}\x{8650}' .
-'\x{8654}\x{8655}\x{865A}\x{865C}\x{865E}\x{865F}\x{8667}\x{866B}\x{8671}' .
-'\x{8679}\x{867B}\x{868A}\x{868B}\x{868C}\x{8693}\x{8695}\x{86A3}\x{86A4}' .
-'\x{86A9}\x{86AA}\x{86AB}\x{86AF}\x{86B0}\x{86B6}\x{86C4}\x{86C6}\x{86C7}' .
-'\x{86C9}\x{86CB}\x{86CD}\x{86CE}\x{86D4}\x{86D9}\x{86DB}\x{86DE}\x{86DF}' .
-'\x{86E4}\x{86E9}\x{86EC}\x{86ED}\x{86EE}\x{86EF}\x{86F8}\x{86F9}\x{86FB}' .
-'\x{86FE}\x{8700}\x{8702}\x{8703}\x{8706}\x{8708}\x{8709}\x{870A}\x{870D}' .
-'\x{8711}\x{8712}\x{8718}\x{871A}\x{871C}\x{8725}\x{8729}\x{8734}\x{8737}' .
-'\x{873B}\x{873F}\x{8749}\x{874B}\x{874C}\x{874E}\x{8753}\x{8755}\x{8757}' .
-'\x{8759}\x{875F}\x{8760}\x{8763}\x{8766}\x{8768}\x{876A}\x{876E}\x{8774}' .
-'\x{8776}\x{8778}\x{877F}\x{8782}\x{878D}\x{879F}\x{87A2}\x{87AB}\x{87AF}' .
-'\x{87B3}\x{87BA}\x{87BB}\x{87BD}\x{87C0}\x{87C4}\x{87C6}\x{87C7}\x{87CB}' .
-'\x{87D0}\x{87D2}\x{87E0}\x{87EF}\x{87F2}\x{87F6}\x{87F7}\x{87F9}\x{87FB}' .
-'\x{87FE}\x{8805}\x{880D}\x{880E}\x{880F}\x{8811}\x{8815}\x{8816}\x{8821}' .
-'\x{8822}\x{8823}\x{8827}\x{8831}\x{8836}\x{8839}\x{883B}\x{8840}\x{8842}' .
-'\x{8844}\x{8846}\x{884C}\x{884D}\x{8852}\x{8853}\x{8857}\x{8859}\x{885B}' .
-'\x{885D}\x{885E}\x{8861}\x{8862}\x{8863}\x{8868}\x{886B}\x{8870}\x{8872}' .
-'\x{8875}\x{8877}\x{887D}\x{887E}\x{887F}\x{8881}\x{8882}\x{8888}\x{888B}' .
-'\x{888D}\x{8892}\x{8896}\x{8897}\x{8899}\x{889E}\x{88A2}\x{88A4}\x{88AB}' .
-'\x{88AE}\x{88B0}\x{88B1}\x{88B4}\x{88B5}\x{88B7}\x{88BF}\x{88C1}\x{88C2}' .
-'\x{88C3}\x{88C4}\x{88C5}\x{88CF}\x{88D4}\x{88D5}\x{88D8}\x{88D9}\x{88DC}' .
-'\x{88DD}\x{88DF}\x{88E1}\x{88E8}\x{88F2}\x{88F3}\x{88F4}\x{88F8}\x{88F9}' .
-'\x{88FC}\x{88FD}\x{88FE}\x{8902}\x{8904}\x{8907}\x{890A}\x{890C}\x{8910}' .
-'\x{8912}\x{8913}\x{891D}\x{891E}\x{8925}\x{892A}\x{892B}\x{8936}\x{8938}' .
-'\x{893B}\x{8941}\x{8943}\x{8944}\x{894C}\x{894D}\x{8956}\x{895E}\x{895F}' .
-'\x{8960}\x{8964}\x{8966}\x{896A}\x{896D}\x{896F}\x{8972}\x{8974}\x{8977}' .
-'\x{897E}\x{897F}\x{8981}\x{8983}\x{8986}\x{8987}\x{8988}\x{898A}\x{898B}' .
-'\x{898F}\x{8993}\x{8996}\x{8997}\x{8998}\x{899A}\x{89A1}\x{89A6}\x{89A7}' .
-'\x{89A9}\x{89AA}\x{89AC}\x{89AF}\x{89B2}\x{89B3}\x{89BA}\x{89BD}\x{89BF}' .
-'\x{89C0}\x{89D2}\x{89DA}\x{89DC}\x{89DD}\x{89E3}\x{89E6}\x{89E7}\x{89F4}' .
-'\x{89F8}\x{8A00}\x{8A02}\x{8A03}\x{8A08}\x{8A0A}\x{8A0C}\x{8A0E}\x{8A10}' .
-'\x{8A13}\x{8A16}\x{8A17}\x{8A18}\x{8A1B}\x{8A1D}\x{8A1F}\x{8A23}\x{8A25}' .
-'\x{8A2A}\x{8A2D}\x{8A31}\x{8A33}\x{8A34}\x{8A36}\x{8A3A}\x{8A3B}\x{8A3C}' .
-'\x{8A41}\x{8A46}\x{8A48}\x{8A50}\x{8A51}\x{8A52}\x{8A54}\x{8A55}\x{8A5B}' .
-'\x{8A5E}\x{8A60}\x{8A62}\x{8A63}\x{8A66}\x{8A69}\x{8A6B}\x{8A6C}\x{8A6D}' .
-'\x{8A6E}\x{8A70}\x{8A71}\x{8A72}\x{8A73}\x{8A7C}\x{8A82}\x{8A84}\x{8A85}' .
-'\x{8A87}\x{8A89}\x{8A8C}\x{8A8D}\x{8A91}\x{8A93}\x{8A95}\x{8A98}\x{8A9A}' .
-'\x{8A9E}\x{8AA0}\x{8AA1}\x{8AA3}\x{8AA4}\x{8AA5}\x{8AA6}\x{8AA8}\x{8AAC}' .
-'\x{8AAD}\x{8AB0}\x{8AB2}\x{8AB9}\x{8ABC}\x{8ABF}\x{8AC2}\x{8AC4}\x{8AC7}' .
-'\x{8ACB}\x{8ACC}\x{8ACD}\x{8ACF}\x{8AD2}\x{8AD6}\x{8ADA}\x{8ADB}\x{8ADC}' .
-'\x{8ADE}\x{8AE0}\x{8AE1}\x{8AE2}\x{8AE4}\x{8AE6}\x{8AE7}\x{8AEB}\x{8AED}' .
-'\x{8AEE}\x{8AF1}\x{8AF3}\x{8AF7}\x{8AF8}\x{8AFA}\x{8AFE}\x{8B00}\x{8B01}' .
-'\x{8B02}\x{8B04}\x{8B07}\x{8B0C}\x{8B0E}\x{8B10}\x{8B14}\x{8B16}\x{8B17}' .
-'\x{8B19}\x{8B1A}\x{8B1B}\x{8B1D}\x{8B20}\x{8B21}\x{8B26}\x{8B28}\x{8B2B}' .
-'\x{8B2C}\x{8B33}\x{8B39}\x{8B3E}\x{8B41}\x{8B49}\x{8B4C}\x{8B4E}\x{8B4F}' .
-'\x{8B56}\x{8B58}\x{8B5A}\x{8B5B}\x{8B5C}\x{8B5F}\x{8B66}\x{8B6B}\x{8B6C}' .
-'\x{8B6F}\x{8B70}\x{8B71}\x{8B72}\x{8B74}\x{8B77}\x{8B7D}\x{8B80}\x{8B83}' .
-'\x{8B8A}\x{8B8C}\x{8B8E}\x{8B90}\x{8B92}\x{8B93}\x{8B96}\x{8B99}\x{8B9A}' .
-'\x{8C37}\x{8C3A}\x{8C3F}\x{8C41}\x{8C46}\x{8C48}\x{8C4A}\x{8C4C}\x{8C4E}' .
-'\x{8C50}\x{8C55}\x{8C5A}\x{8C61}\x{8C62}\x{8C6A}\x{8C6B}\x{8C6C}\x{8C78}' .
-'\x{8C79}\x{8C7A}\x{8C7C}\x{8C82}\x{8C85}\x{8C89}\x{8C8A}\x{8C8C}\x{8C8D}' .
-'\x{8C8E}\x{8C94}\x{8C98}\x{8C9D}\x{8C9E}\x{8CA0}\x{8CA1}\x{8CA2}\x{8CA7}' .
-'\x{8CA8}\x{8CA9}\x{8CAA}\x{8CAB}\x{8CAC}\x{8CAD}\x{8CAE}\x{8CAF}\x{8CB0}' .
-'\x{8CB2}\x{8CB3}\x{8CB4}\x{8CB6}\x{8CB7}\x{8CB8}\x{8CBB}\x{8CBC}\x{8CBD}' .
-'\x{8CBF}\x{8CC0}\x{8CC1}\x{8CC2}\x{8CC3}\x{8CC4}\x{8CC7}\x{8CC8}\x{8CCA}' .
-'\x{8CCD}\x{8CCE}\x{8CD1}\x{8CD3}\x{8CDA}\x{8CDB}\x{8CDC}\x{8CDE}\x{8CE0}' .
-'\x{8CE2}\x{8CE3}\x{8CE4}\x{8CE6}\x{8CEA}\x{8CED}\x{8CFA}\x{8CFB}\x{8CFC}' .
-'\x{8CFD}\x{8D04}\x{8D05}\x{8D07}\x{8D08}\x{8D0A}\x{8D0B}\x{8D0D}\x{8D0F}' .
-'\x{8D10}\x{8D13}\x{8D14}\x{8D16}\x{8D64}\x{8D66}\x{8D67}\x{8D6B}\x{8D6D}' .
-'\x{8D70}\x{8D71}\x{8D73}\x{8D74}\x{8D77}\x{8D81}\x{8D85}\x{8D8A}\x{8D99}' .
-'\x{8DA3}\x{8DA8}\x{8DB3}\x{8DBA}\x{8DBE}\x{8DC2}\x{8DCB}\x{8DCC}\x{8DCF}' .
-'\x{8DD6}\x{8DDA}\x{8DDB}\x{8DDD}\x{8DDF}\x{8DE1}\x{8DE3}\x{8DE8}\x{8DEA}' .
-'\x{8DEB}\x{8DEF}\x{8DF3}\x{8DF5}\x{8DFC}\x{8DFF}\x{8E08}\x{8E09}\x{8E0A}' .
-'\x{8E0F}\x{8E10}\x{8E1D}\x{8E1E}\x{8E1F}\x{8E2A}\x{8E30}\x{8E34}\x{8E35}' .
-'\x{8E42}\x{8E44}\x{8E47}\x{8E48}\x{8E49}\x{8E4A}\x{8E4C}\x{8E50}\x{8E55}' .
-'\x{8E59}\x{8E5F}\x{8E60}\x{8E63}\x{8E64}\x{8E72}\x{8E74}\x{8E76}\x{8E7C}' .
-'\x{8E81}\x{8E84}\x{8E85}\x{8E87}\x{8E8A}\x{8E8B}\x{8E8D}\x{8E91}\x{8E93}' .
-'\x{8E94}\x{8E99}\x{8EA1}\x{8EAA}\x{8EAB}\x{8EAC}\x{8EAF}\x{8EB0}\x{8EB1}' .
-'\x{8EBE}\x{8EC5}\x{8EC6}\x{8EC8}\x{8ECA}\x{8ECB}\x{8ECC}\x{8ECD}\x{8ED2}' .
-'\x{8EDB}\x{8EDF}\x{8EE2}\x{8EE3}\x{8EEB}\x{8EF8}\x{8EFB}\x{8EFC}\x{8EFD}' .
-'\x{8EFE}\x{8F03}\x{8F05}\x{8F09}\x{8F0A}\x{8F0C}\x{8F12}\x{8F13}\x{8F14}' .
-'\x{8F15}\x{8F19}\x{8F1B}\x{8F1C}\x{8F1D}\x{8F1F}\x{8F26}\x{8F29}\x{8F2A}' .
-'\x{8F2F}\x{8F33}\x{8F38}\x{8F39}\x{8F3B}\x{8F3E}\x{8F3F}\x{8F42}\x{8F44}' .
-'\x{8F45}\x{8F46}\x{8F49}\x{8F4C}\x{8F4D}\x{8F4E}\x{8F57}\x{8F5C}\x{8F5F}' .
-'\x{8F61}\x{8F62}\x{8F63}\x{8F64}\x{8F9B}\x{8F9C}\x{8F9E}\x{8F9F}\x{8FA3}' .
-'\x{8FA7}\x{8FA8}\x{8FAD}\x{8FAE}\x{8FAF}\x{8FB0}\x{8FB1}\x{8FB2}\x{8FB7}' .
-'\x{8FBA}\x{8FBB}\x{8FBC}\x{8FBF}\x{8FC2}\x{8FC4}\x{8FC5}\x{8FCE}\x{8FD1}' .
-'\x{8FD4}\x{8FDA}\x{8FE2}\x{8FE5}\x{8FE6}\x{8FE9}\x{8FEA}\x{8FEB}\x{8FED}' .
-'\x{8FEF}\x{8FF0}\x{8FF4}\x{8FF7}\x{8FF8}\x{8FF9}\x{8FFA}\x{8FFD}\x{9000}' .
-'\x{9001}\x{9003}\x{9005}\x{9006}\x{900B}\x{900D}\x{900E}\x{900F}\x{9010}' .
-'\x{9011}\x{9013}\x{9014}\x{9015}\x{9016}\x{9017}\x{9019}\x{901A}\x{901D}' .
-'\x{901E}\x{901F}\x{9020}\x{9021}\x{9022}\x{9023}\x{9027}\x{902E}\x{9031}' .
-'\x{9032}\x{9035}\x{9036}\x{9038}\x{9039}\x{903C}\x{903E}\x{9041}\x{9042}' .
-'\x{9045}\x{9047}\x{9049}\x{904A}\x{904B}\x{904D}\x{904E}\x{904F}\x{9050}' .
-'\x{9051}\x{9052}\x{9053}\x{9054}\x{9055}\x{9056}\x{9058}\x{9059}\x{905C}' .
-'\x{905E}\x{9060}\x{9061}\x{9063}\x{9065}\x{9068}\x{9069}\x{906D}\x{906E}' .
-'\x{906F}\x{9072}\x{9075}\x{9076}\x{9077}\x{9078}\x{907A}\x{907C}\x{907D}' .
-'\x{907F}\x{9080}\x{9081}\x{9082}\x{9083}\x{9084}\x{9087}\x{9089}\x{908A}' .
-'\x{908F}\x{9091}\x{90A3}\x{90A6}\x{90A8}\x{90AA}\x{90AF}\x{90B1}\x{90B5}' .
-'\x{90B8}\x{90C1}\x{90CA}\x{90CE}\x{90DB}\x{90E1}\x{90E2}\x{90E4}\x{90E8}' .
-'\x{90ED}\x{90F5}\x{90F7}\x{90FD}\x{9102}\x{9112}\x{9119}\x{912D}\x{9130}' .
-'\x{9132}\x{9149}\x{914A}\x{914B}\x{914C}\x{914D}\x{914E}\x{9152}\x{9154}' .
-'\x{9156}\x{9158}\x{9162}\x{9163}\x{9165}\x{9169}\x{916A}\x{916C}\x{9172}' .
-'\x{9173}\x{9175}\x{9177}\x{9178}\x{9182}\x{9187}\x{9189}\x{918B}\x{918D}' .
-'\x{9190}\x{9192}\x{9197}\x{919C}\x{91A2}\x{91A4}\x{91AA}\x{91AB}\x{91AF}' .
-'\x{91B4}\x{91B5}\x{91B8}\x{91BA}\x{91C0}\x{91C1}\x{91C6}\x{91C7}\x{91C8}' .
-'\x{91C9}\x{91CB}\x{91CC}\x{91CD}\x{91CE}\x{91CF}\x{91D0}\x{91D1}\x{91D6}' .
-'\x{91D8}\x{91DB}\x{91DC}\x{91DD}\x{91DF}\x{91E1}\x{91E3}\x{91E6}\x{91E7}' .
-'\x{91F5}\x{91F6}\x{91FC}\x{91FF}\x{920D}\x{920E}\x{9211}\x{9214}\x{9215}' .
-'\x{921E}\x{9229}\x{922C}\x{9234}\x{9237}\x{923F}\x{9244}\x{9245}\x{9248}' .
-'\x{9249}\x{924B}\x{9250}\x{9257}\x{925A}\x{925B}\x{925E}\x{9262}\x{9264}' .
-'\x{9266}\x{9271}\x{927E}\x{9280}\x{9283}\x{9285}\x{9291}\x{9293}\x{9295}' .
-'\x{9296}\x{9298}\x{929A}\x{929B}\x{929C}\x{92AD}\x{92B7}\x{92B9}\x{92CF}' .
-'\x{92D2}\x{92E4}\x{92E9}\x{92EA}\x{92ED}\x{92F2}\x{92F3}\x{92F8}\x{92FA}' .
-'\x{92FC}\x{9306}\x{930F}\x{9310}\x{9318}\x{9319}\x{931A}\x{9320}\x{9322}' .
-'\x{9323}\x{9326}\x{9328}\x{932B}\x{932C}\x{932E}\x{932F}\x{9332}\x{9335}' .
-'\x{933A}\x{933B}\x{9344}\x{934B}\x{934D}\x{9354}\x{9356}\x{935B}\x{935C}' .
-'\x{9360}\x{936C}\x{936E}\x{9375}\x{937C}\x{937E}\x{938C}\x{9394}\x{9396}' .
-'\x{9397}\x{939A}\x{93A7}\x{93AC}\x{93AD}\x{93AE}\x{93B0}\x{93B9}\x{93C3}' .
-'\x{93C8}\x{93D0}\x{93D1}\x{93D6}\x{93D7}\x{93D8}\x{93DD}\x{93E1}\x{93E4}' .
-'\x{93E5}\x{93E8}\x{9403}\x{9407}\x{9410}\x{9413}\x{9414}\x{9418}\x{9419}' .
-'\x{941A}\x{9421}\x{942B}\x{9435}\x{9436}\x{9438}\x{943A}\x{9441}\x{9444}' .
-'\x{9451}\x{9452}\x{9453}\x{945A}\x{945B}\x{945E}\x{9460}\x{9462}\x{946A}' .
-'\x{9470}\x{9475}\x{9477}\x{947C}\x{947D}\x{947E}\x{947F}\x{9481}\x{9577}' .
-'\x{9580}\x{9582}\x{9583}\x{9587}\x{9589}\x{958A}\x{958B}\x{958F}\x{9591}' .
-'\x{9593}\x{9594}\x{9596}\x{9598}\x{9599}\x{95A0}\x{95A2}\x{95A3}\x{95A4}' .
-'\x{95A5}\x{95A7}\x{95A8}\x{95AD}\x{95B2}\x{95B9}\x{95BB}\x{95BC}\x{95BE}' .
-'\x{95C3}\x{95C7}\x{95CA}\x{95CC}\x{95CD}\x{95D4}\x{95D5}\x{95D6}\x{95D8}' .
-'\x{95DC}\x{95E1}\x{95E2}\x{95E5}\x{961C}\x{9621}\x{9628}\x{962A}\x{962E}' .
-'\x{962F}\x{9632}\x{963B}\x{963F}\x{9640}\x{9642}\x{9644}\x{964B}\x{964C}' .
-'\x{964D}\x{964F}\x{9650}\x{965B}\x{965C}\x{965D}\x{965E}\x{965F}\x{9662}' .
-'\x{9663}\x{9664}\x{9665}\x{9666}\x{966A}\x{966C}\x{9670}\x{9672}\x{9673}' .
-'\x{9675}\x{9676}\x{9677}\x{9678}\x{967A}\x{967D}\x{9685}\x{9686}\x{9688}' .
-'\x{968A}\x{968B}\x{968D}\x{968E}\x{968F}\x{9694}\x{9695}\x{9697}\x{9698}' .
-'\x{9699}\x{969B}\x{969C}\x{96A0}\x{96A3}\x{96A7}\x{96A8}\x{96AA}\x{96B0}' .
-'\x{96B1}\x{96B2}\x{96B4}\x{96B6}\x{96B7}\x{96B8}\x{96B9}\x{96BB}\x{96BC}' .
-'\x{96C0}\x{96C1}\x{96C4}\x{96C5}\x{96C6}\x{96C7}\x{96C9}\x{96CB}\x{96CC}' .
-'\x{96CD}\x{96CE}\x{96D1}\x{96D5}\x{96D6}\x{96D9}\x{96DB}\x{96DC}\x{96E2}' .
-'\x{96E3}\x{96E8}\x{96EA}\x{96EB}\x{96F0}\x{96F2}\x{96F6}\x{96F7}\x{96F9}' .
-'\x{96FB}\x{9700}\x{9704}\x{9706}\x{9707}\x{9708}\x{970A}\x{970D}\x{970E}' .
-'\x{970F}\x{9711}\x{9713}\x{9716}\x{9719}\x{971C}\x{971E}\x{9724}\x{9727}' .
-'\x{972A}\x{9730}\x{9732}\x{9738}\x{9739}\x{973D}\x{973E}\x{9742}\x{9744}' .
-'\x{9746}\x{9748}\x{9749}\x{9752}\x{9756}\x{9759}\x{975C}\x{975E}\x{9760}' .
-'\x{9761}\x{9762}\x{9764}\x{9766}\x{9768}\x{9769}\x{976B}\x{976D}\x{9771}' .
-'\x{9774}\x{9779}\x{977A}\x{977C}\x{9781}\x{9784}\x{9785}\x{9786}\x{978B}' .
-'\x{978D}\x{978F}\x{9790}\x{9798}\x{979C}\x{97A0}\x{97A3}\x{97A6}\x{97A8}' .
-'\x{97AB}\x{97AD}\x{97B3}\x{97B4}\x{97C3}\x{97C6}\x{97C8}\x{97CB}\x{97D3}' .
-'\x{97DC}\x{97ED}\x{97EE}\x{97F2}\x{97F3}\x{97F5}\x{97F6}\x{97FB}\x{97FF}' .
-'\x{9801}\x{9802}\x{9803}\x{9805}\x{9806}\x{9808}\x{980C}\x{980F}\x{9810}' .
-'\x{9811}\x{9812}\x{9813}\x{9817}\x{9818}\x{981A}\x{9821}\x{9824}\x{982C}' .
-'\x{982D}\x{9834}\x{9837}\x{9838}\x{983B}\x{983C}\x{983D}\x{9846}\x{984B}' .
-'\x{984C}\x{984D}\x{984E}\x{984F}\x{9854}\x{9855}\x{9858}\x{985B}\x{985E}' .
-'\x{9867}\x{986B}\x{986F}\x{9870}\x{9871}\x{9873}\x{9874}\x{98A8}\x{98AA}' .
-'\x{98AF}\x{98B1}\x{98B6}\x{98C3}\x{98C4}\x{98C6}\x{98DB}\x{98DC}\x{98DF}' .
-'\x{98E2}\x{98E9}\x{98EB}\x{98ED}\x{98EE}\x{98EF}\x{98F2}\x{98F4}\x{98FC}' .
-'\x{98FD}\x{98FE}\x{9903}\x{9905}\x{9909}\x{990A}\x{990C}\x{9910}\x{9912}' .
-'\x{9913}\x{9914}\x{9918}\x{991D}\x{991E}\x{9920}\x{9921}\x{9924}\x{9928}' .
-'\x{992C}\x{992E}\x{993D}\x{993E}\x{9942}\x{9945}\x{9949}\x{994B}\x{994C}' .
-'\x{9950}\x{9951}\x{9952}\x{9955}\x{9957}\x{9996}\x{9997}\x{9998}\x{9999}' .
-'\x{99A5}\x{99A8}\x{99AC}\x{99AD}\x{99AE}\x{99B3}\x{99B4}\x{99BC}\x{99C1}' .
-'\x{99C4}\x{99C5}\x{99C6}\x{99C8}\x{99D0}\x{99D1}\x{99D2}\x{99D5}\x{99D8}' .
-'\x{99DB}\x{99DD}\x{99DF}\x{99E2}\x{99ED}\x{99EE}\x{99F1}\x{99F2}\x{99F8}' .
-'\x{99FB}\x{99FF}\x{9A01}\x{9A05}\x{9A0E}\x{9A0F}\x{9A12}\x{9A13}\x{9A19}' .
-'\x{9A28}\x{9A2B}\x{9A30}\x{9A37}\x{9A3E}\x{9A40}\x{9A42}\x{9A43}\x{9A45}' .
-'\x{9A4D}\x{9A55}\x{9A57}\x{9A5A}\x{9A5B}\x{9A5F}\x{9A62}\x{9A64}\x{9A65}' .
-'\x{9A69}\x{9A6A}\x{9A6B}\x{9AA8}\x{9AAD}\x{9AB0}\x{9AB8}\x{9ABC}\x{9AC0}' .
-'\x{9AC4}\x{9ACF}\x{9AD1}\x{9AD3}\x{9AD4}\x{9AD8}\x{9ADE}\x{9ADF}\x{9AE2}' .
-'\x{9AE3}\x{9AE6}\x{9AEA}\x{9AEB}\x{9AED}\x{9AEE}\x{9AEF}\x{9AF1}\x{9AF4}' .
-'\x{9AF7}\x{9AFB}\x{9B06}\x{9B18}\x{9B1A}\x{9B1F}\x{9B22}\x{9B23}\x{9B25}' .
-'\x{9B27}\x{9B28}\x{9B29}\x{9B2A}\x{9B2E}\x{9B2F}\x{9B31}\x{9B32}\x{9B3B}' .
-'\x{9B3C}\x{9B41}\x{9B42}\x{9B43}\x{9B44}\x{9B45}\x{9B4D}\x{9B4E}\x{9B4F}' .
-'\x{9B51}\x{9B54}\x{9B58}\x{9B5A}\x{9B6F}\x{9B74}\x{9B83}\x{9B8E}\x{9B91}' .
-'\x{9B92}\x{9B93}\x{9B96}\x{9B97}\x{9B9F}\x{9BA0}\x{9BA8}\x{9BAA}\x{9BAB}' .
-'\x{9BAD}\x{9BAE}\x{9BB4}\x{9BB9}\x{9BC0}\x{9BC6}\x{9BC9}\x{9BCA}\x{9BCF}' .
-'\x{9BD1}\x{9BD2}\x{9BD4}\x{9BD6}\x{9BDB}\x{9BE1}\x{9BE2}\x{9BE3}\x{9BE4}' .
-'\x{9BE8}\x{9BF0}\x{9BF1}\x{9BF2}\x{9BF5}\x{9C04}\x{9C06}\x{9C08}\x{9C09}' .
-'\x{9C0A}\x{9C0C}\x{9C0D}\x{9C10}\x{9C12}\x{9C13}\x{9C14}\x{9C15}\x{9C1B}' .
-'\x{9C21}\x{9C24}\x{9C25}\x{9C2D}\x{9C2E}\x{9C2F}\x{9C30}\x{9C32}\x{9C39}' .
-'\x{9C3A}\x{9C3B}\x{9C3E}\x{9C46}\x{9C47}\x{9C48}\x{9C52}\x{9C57}\x{9C5A}' .
-'\x{9C60}\x{9C67}\x{9C76}\x{9C78}\x{9CE5}\x{9CE7}\x{9CE9}\x{9CEB}\x{9CEC}' .
-'\x{9CF0}\x{9CF3}\x{9CF4}\x{9CF6}\x{9D03}\x{9D06}\x{9D07}\x{9D08}\x{9D09}' .
-'\x{9D0E}\x{9D12}\x{9D15}\x{9D1B}\x{9D1F}\x{9D23}\x{9D26}\x{9D28}\x{9D2A}' .
-'\x{9D2B}\x{9D2C}\x{9D3B}\x{9D3E}\x{9D3F}\x{9D41}\x{9D44}\x{9D46}\x{9D48}' .
-'\x{9D50}\x{9D51}\x{9D59}\x{9D5C}\x{9D5D}\x{9D5E}\x{9D60}\x{9D61}\x{9D64}' .
-'\x{9D6C}\x{9D6F}\x{9D72}\x{9D7A}\x{9D87}\x{9D89}\x{9D8F}\x{9D9A}\x{9DA4}' .
-'\x{9DA9}\x{9DAB}\x{9DAF}\x{9DB2}\x{9DB4}\x{9DB8}\x{9DBA}\x{9DBB}\x{9DC1}' .
-'\x{9DC2}\x{9DC4}\x{9DC6}\x{9DCF}\x{9DD3}\x{9DD9}\x{9DE6}\x{9DED}\x{9DEF}' .
-'\x{9DF2}\x{9DF8}\x{9DF9}\x{9DFA}\x{9DFD}\x{9E1A}\x{9E1B}\x{9E1E}\x{9E75}' .
-'\x{9E78}\x{9E79}\x{9E7D}\x{9E7F}\x{9E81}\x{9E88}\x{9E8B}\x{9E8C}\x{9E91}' .
-'\x{9E92}\x{9E93}\x{9E95}\x{9E97}\x{9E9D}\x{9E9F}\x{9EA5}\x{9EA6}\x{9EA9}' .
-'\x{9EAA}\x{9EAD}\x{9EB8}\x{9EB9}\x{9EBA}\x{9EBB}\x{9EBC}\x{9EBE}\x{9EBF}' .
-'\x{9EC4}\x{9ECC}\x{9ECD}\x{9ECE}\x{9ECF}\x{9ED0}\x{9ED2}\x{9ED4}\x{9ED8}' .
-'\x{9ED9}\x{9EDB}\x{9EDC}\x{9EDD}\x{9EDE}\x{9EE0}\x{9EE5}\x{9EE8}\x{9EEF}' .
-'\x{9EF4}\x{9EF6}\x{9EF7}\x{9EF9}\x{9EFB}\x{9EFC}\x{9EFD}\x{9F07}\x{9F08}' .
-'\x{9F0E}\x{9F13}\x{9F15}\x{9F20}\x{9F21}\x{9F2C}\x{9F3B}\x{9F3E}\x{9F4A}' .
-'\x{9F4B}\x{9F4E}\x{9F4F}\x{9F52}\x{9F54}\x{9F5F}\x{9F60}\x{9F61}\x{9F62}' .
-'\x{9F63}\x{9F66}\x{9F67}\x{9F6A}\x{9F6C}\x{9F72}\x{9F76}\x{9F77}\x{9F8D}' .
-'\x{9F95}\x{9F9C}\x{9F9D}\x{9FA0}]{1,15}$/iu');
diff --git a/airtime_mvc/library/Zend/Validate/Iban.php b/airtime_mvc/library/Zend/Validate/Iban.php
deleted file mode 100644
index a35dff526..000000000
--- a/airtime_mvc/library/Zend/Validate/Iban.php
+++ /dev/null
@@ -1,223 +0,0 @@
- "Unknown country within the IBAN '%value%'",
- self::FALSEFORMAT => "'%value%' has a false IBAN format",
- self::CHECKFAILED => "'%value%' has failed the IBAN check",
- );
-
- /**
- * Optional locale
- *
- * @var string|Zend_Locale|null
- */
- protected $_locale;
-
- /**
- * IBAN regexes by region
- *
- * @var array
- */
- protected $_ibanregex = array(
- 'AD' => '/^AD[0-9]{2}[0-9]{8}[A-Z0-9]{12}$/',
- 'AT' => '/^AT[0-9]{2}[0-9]{5}[0-9]{11}$/',
- 'BA' => '/^BA[0-9]{2}[0-9]{6}[0-9]{10}$/',
- 'BE' => '/^BE[0-9]{2}[0-9]{3}[0-9]{9}$/',
- 'BG' => '/^BG[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}$/',
- 'CH' => '/^CH[0-9]{2}[0-9]{5}[A-Z0-9]{12}$/',
- 'CS' => '/^CS[0-9]{2}[0-9]{3}[0-9]{15}$/',
- 'CY' => '/^CY[0-9]{2}[0-9]{8}[A-Z0-9]{16}$/',
- 'CZ' => '/^CZ[0-9]{2}[0-9]{4}[0-9]{16}$/',
- 'DE' => '/^DE[0-9]{2}[0-9]{8}[0-9]{10}$/',
- 'DK' => '/^DK[0-9]{2}[0-9]{4}[0-9]{10}$/',
- 'EE' => '/^EE[0-9]{2}[0-9]{4}[0-9]{12}$/',
- 'ES' => '/^ES[0-9]{2}[0-9]{8}[0-9]{12}$/',
- 'FR' => '/^FR[0-9]{2}[0-9]{10}[A-Z0-9]{13}$/',
- 'FI' => '/^FI[0-9]{2}[0-9]{6}[0-9]{8}$/',
- 'GB' => '/^GB[0-9]{2}[A-Z]{4}[0-9]{14}$/',
- 'GI' => '/^GI[0-9]{2}[A-Z]{4}[A-Z0-9]{15}$/',
- 'GR' => '/^GR[0-9]{2}[0-9]{7}[A-Z0-9]{16}$/',
- 'HR' => '/^HR[0-9]{2}[0-9]{7}[0-9]{10}$/',
- 'HU' => '/^HU[0-9]{2}[0-9]{7}[0-9]{1}[0-9]{15}[0-9]{1}$/',
- 'IE' => '/^IE[0-9]{2}[A-Z0-9]{4}[0-9]{6}[0-9]{8}$/',
- 'IS' => '/^IS[0-9]{2}[0-9]{4}[0-9]{18}$/',
- 'IT' => '/^IT[0-9]{2}[A-Z]{1}[0-9]{10}[A-Z0-9]{12}$/',
- 'LI' => '/^LI[0-9]{2}[0-9]{5}[A-Z0-9]{12}$/',
- 'LU' => '/^LU[0-9]{2}[0-9]{3}[A-Z0-9]{13}$/',
- 'LT' => '/^LT[0-9]{2}[0-9]{5}[0-9]{11}$/',
- 'LV' => '/^LV[0-9]{2}[A-Z]{4}[A-Z0-9]{13}$/',
- 'MK' => '/^MK[0-9]{2}[A-Z]{3}[A-Z0-9]{10}[0-9]{2}$/',
- 'MT' => '/^MT[0-9]{2}[A-Z]{4}[0-9]{5}[A-Z0-9]{18}$/',
- 'NL' => '/^NL[0-9]{2}[A-Z]{4}[0-9]{10}$/',
- 'NO' => '/^NO[0-9]{2}[0-9]{4}[0-9]{7}$/',
- 'PL' => '/^PL[0-9]{2}[0-9]{8}[0-9]{16}$/',
- 'PT' => '/^PT[0-9]{2}[0-9]{8}[0-9]{13}$/',
- 'RO' => '/^RO[0-9]{2}[A-Z]{4}[A-Z0-9]{16}$/',
- 'SE' => '/^SE[0-9]{2}[0-9]{3}[0-9]{17}$/',
- 'SI' => '/^SI[0-9]{2}[0-9]{5}[0-9]{8}[0-9]{2}$/',
- 'SK' => '/^SK[0-9]{2}[0-9]{4}[0-9]{16}$/',
- 'TN' => '/^TN[0-9]{2}[0-9]{5}[0-9]{15}$/',
- 'TR' => '/^TR[0-9]{2}[0-9]{5}[A-Z0-9]{17}$/'
- );
-
- /**
- * Sets validator options
- *
- * @param string|Zend_Config|Zend_Locale $locale OPTIONAL
- * @return void
- */
- public function __construct($locale = null)
- {
- if ($locale instanceof Zend_Config) {
- $locale = $locale->toArray();
- }
-
- if (is_array($locale)) {
- if (array_key_exists('locale', $locale)) {
- $locale = $locale['locale'];
- } else {
- $locale = null;
- }
- }
-
- if ($locale !== false) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Locale')) {
- $locale = Zend_Registry::get('Zend_Locale');
- }
- }
-
- if (!empty($locale)) {
- $this->setLocale($locale);
- }
- }
-
- /**
- * Returns the locale option
- *
- * @return string|Zend_Locale|null
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Sets the locale option
- *
- * @param string|Zend_Locale $locale
- * @return Zend_Validate_Date provides a fluent interface
- */
- public function setLocale($locale = null)
- {
- if ($locale !== false) {
- require_once 'Zend/Locale.php';
- $locale = Zend_Locale::findLocale($locale);
- if (strlen($locale) < 4) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Region must be given for IBAN validation');
- }
- }
-
- $this->_locale = $locale;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if $value is a valid IBAN
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- $value = strtoupper($value);
- $this->_setValue($value);
-
- if (empty($this->_locale)) {
- $region = substr($value, 0, 2);
- } else {
- $region = new Zend_Locale($this->_locale);
- $region = $region->getRegion();
- }
-
- if (!array_key_exists($region, $this->_ibanregex)) {
- $this->_setValue($region);
- $this->_error(self::NOTSUPPORTED);
- return false;
- }
-
- if (!preg_match($this->_ibanregex[$region], $value)) {
- $this->_error(self::FALSEFORMAT);
- return false;
- }
-
- $format = substr($value, 4) . substr($value, 0, 4);
- $format = str_replace(
- array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
- 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'),
- array('10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22',
- '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35'),
- $format);
-
- $temp = intval(substr($format, 0, 1));
- $len = strlen($format);
- for ($x = 1; $x < $len; ++$x) {
- $temp *= 10;
- $temp += intval(substr($format, $x, 1));
- $temp %= 97;
- }
-
- if ($temp != 1) {
- $this->_error(self::CHECKFAILED);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Identical.php b/airtime_mvc/library/Zend/Validate/Identical.php
deleted file mode 100644
index 3886f3975..000000000
--- a/airtime_mvc/library/Zend/Validate/Identical.php
+++ /dev/null
@@ -1,133 +0,0 @@
- "The token '%token%' does not match the given token '%value%'",
- self::MISSING_TOKEN => 'No token was provided to match against',
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'token' => '_tokenString'
- );
-
- /**
- * Original token against which to validate
- * @var string
- */
- protected $_tokenString;
- protected $_token;
-
- /**
- * Sets validator options
- *
- * @param mixed $token
- * @return void
- */
- public function __construct($token = null)
- {
- if ($token instanceof Zend_Config) {
- $token = $token->toArray();
- }
-
- if (is_array($token) && (count($token) == 1) && array_key_exists('token', $token)) {
- $token = $token['token'];
- }
-
- if (null !== $token) {
- $this->setToken($token);
- }
- }
-
- /**
- * Set token against which to compare
- *
- * @param mixed $token
- * @return Zend_Validate_Identical
- */
- public function setToken($token)
- {
- $this->_tokenString = (string) $token;
- $this->_token = $token;
- return $this;
- }
-
- /**
- * Retrieve token
- *
- * @return string
- */
- public function getToken()
- {
- return $this->_token;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if a token has been set and the provided value
- * matches that token.
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue((string) $value);
- $token = $this->getToken();
-
- if ($token === null) {
- $this->_error(self::MISSING_TOKEN);
- return false;
- }
-
- if ($value !== $token) {
- $this->_error(self::NOT_SAME);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/InArray.php b/airtime_mvc/library/Zend/Validate/InArray.php
deleted file mode 100644
index 1d8196025..000000000
--- a/airtime_mvc/library/Zend/Validate/InArray.php
+++ /dev/null
@@ -1,204 +0,0 @@
- "'%value%' was not found in the haystack",
- );
-
- /**
- * Haystack of possible values
- *
- * @var array
- */
- protected $_haystack;
-
- /**
- * Whether a strict in_array() invocation is used
- *
- * @var boolean
- */
- protected $_strict = false;
-
- /**
- * Whether a recursive search should be done
- *
- * @var boolean
- */
- protected $_recursive = false;
-
- /**
- * Sets validator options
- *
- * @param array|Zend_Config $haystack
- * @return void
- */
- public function __construct($options)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Array expected as parameter');
- } else {
- $count = func_num_args();
- $temp = array();
- if ($count > 1) {
- $temp['haystack'] = func_get_arg(0);
- $temp['strict'] = func_get_arg(1);
- $options = $temp;
- } else {
- $temp = func_get_arg(0);
- if (!array_key_exists('haystack', $options)) {
- $options = array();
- $options['haystack'] = $temp;
- } else {
- $options = $temp;
- }
- }
- }
-
- $this->setHaystack($options['haystack']);
- if (array_key_exists('strict', $options)) {
- $this->setStrict($options['strict']);
- }
-
- if (array_key_exists('recursive', $options)) {
- $this->setRecursive($options['recursive']);
- }
- }
-
- /**
- * Returns the haystack option
- *
- * @return mixed
- */
- public function getHaystack()
- {
- return $this->_haystack;
- }
-
- /**
- * Sets the haystack option
- *
- * @param mixed $haystack
- * @return Zend_Validate_InArray Provides a fluent interface
- */
- public function setHaystack(array $haystack)
- {
- $this->_haystack = $haystack;
- return $this;
- }
-
- /**
- * Returns the strict option
- *
- * @return boolean
- */
- public function getStrict()
- {
- return $this->_strict;
- }
-
- /**
- * Sets the strict option
- *
- * @param boolean $strict
- * @return Zend_Validate_InArray Provides a fluent interface
- */
- public function setStrict($strict)
- {
- $this->_strict = (boolean) $strict;
- return $this;
- }
-
- /**
- * Returns the recursive option
- *
- * @return boolean
- */
- public function getRecursive()
- {
- return $this->_recursive;
- }
-
- /**
- * Sets the recursive option
- *
- * @param boolean $recursive
- * @return Zend_Validate_InArray Provides a fluent interface
- */
- public function setRecursive($recursive)
- {
- $this->_recursive = (boolean) $recursive;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is contained in the haystack option. If the strict
- * option is true, then the type of $value is also checked.
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
- if ($this->getRecursive()) {
- $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($this->_haystack));
- foreach($iterator as $element) {
- if ($this->_strict) {
- if ($element === $value) {
- return true;
- }
- } else if ($element == $value) {
- return true;
- }
- }
- } else {
- if (in_array($value, $this->_haystack, $this->_strict)) {
- return true;
- }
- }
-
- $this->_error(self::NOT_IN_ARRAY);
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Int.php b/airtime_mvc/library/Zend/Validate/Int.php
deleted file mode 100644
index 4c14f25e4..000000000
--- a/airtime_mvc/library/Zend/Validate/Int.php
+++ /dev/null
@@ -1,148 +0,0 @@
- "Invalid type given, value should be string or integer",
- self::NOT_INT => "'%value%' does not appear to be an integer",
- );
-
- protected $_locale;
-
- /**
- * Constructor for the integer validator
- *
- * @param string|Zend_Config|Zend_Locale $locale
- */
- public function __construct($locale = null)
- {
- if ($locale instanceof Zend_Config) {
- $locale = $locale->toArray();
- }
-
- if (is_array($locale)) {
- if (array_key_exists('locale', $locale)) {
- $locale = $locale['locale'];
- } else {
- $locale = null;
- }
- }
-
- if (empty($locale)) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Locale')) {
- $locale = Zend_Registry::get('Zend_Locale');
- }
- }
-
- if ($locale !== null) {
- $this->setLocale($locale);
- }
- }
-
- /**
- * Returns the set locale
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Sets the locale to use
- *
- * @param string|Zend_Locale $locale
- */
- public function setLocale($locale = null)
- {
- require_once 'Zend/Locale.php';
- $this->_locale = Zend_Locale::findLocale($locale);
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is a valid integer
- *
- * @param string|integer $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value) && !is_float($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- if (is_int($value)) {
- return true;
- }
-
- $this->_setValue($value);
- if ($this->_locale === null) {
- $locale = localeconv();
- $valueFiltered = str_replace($locale['decimal_point'], '.', $value);
- $valueFiltered = str_replace($locale['thousands_sep'], '', $valueFiltered);
-
- if (strval(intval($valueFiltered)) != $valueFiltered) {
- $this->_error(self::NOT_INT);
- return false;
- }
-
- } else {
- try {
- if (!Zend_Locale_Format::isInteger($value, array('locale' => $this->_locale))) {
- $this->_error(self::NOT_INT);
- return false;
- }
- } catch (Zend_Locale_Exception $e) {
- $this->_error(self::NOT_INT);
- return false;
- }
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Interface.php b/airtime_mvc/library/Zend/Validate/Interface.php
deleted file mode 100644
index 9dfca9421..000000000
--- a/airtime_mvc/library/Zend/Validate/Interface.php
+++ /dev/null
@@ -1,54 +0,0 @@
- "Invalid type given, value should be a string",
- self::NOT_IP_ADDRESS => "'%value%' does not appear to be a valid IP address",
- );
-
- /**
- * internal options
- *
- * @var array
- */
- protected $_options = array(
- 'allowipv6' => true,
- 'allowipv4' => true
- );
-
- /**
- * Sets validator options
- *
- * @param array $options OPTIONAL Options to set, see the manual for all available options
- * @return void
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['allowipv6'] = array_shift($options);
- if (!empty($options)) {
- $temp['allowipv4'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- $options += $this->_options;
- $this->setOptions($options);
- }
-
- /**
- * Returns all set options
- *
- * @return array
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Sets the options for this validator
- *
- * @param array $options
- * @return Zend_Validate_Ip
- */
- public function setOptions($options)
- {
- if (array_key_exists('allowipv6', $options)) {
- $this->_options['allowipv6'] = (boolean) $options['allowipv6'];
- }
-
- if (array_key_exists('allowipv4', $options)) {
- $this->_options['allowipv4'] = (boolean) $options['allowipv4'];
- }
-
- if (!$this->_options['allowipv4'] && !$this->_options['allowipv6']) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Nothing to validate. Check your options');
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is a valid IP address
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- if (($this->_options['allowipv4'] && !$this->_options['allowipv6'] && !$this->_validateIPv4($value)) ||
- (!$this->_options['allowipv4'] && $this->_options['allowipv6'] && !$this->_validateIPv6($value)) ||
- ($this->_options['allowipv4'] && $this->_options['allowipv6'] && !$this->_validateIPv4($value) && !$this->_validateIPv6($value))) {
- $this->_error(self::NOT_IP_ADDRESS);
- return false;
- }
-
- return true;
- }
-
- /**
- * Validates an IPv4 address
- *
- * @param string $value
- */
- protected function _validateIPv4($value) {
- $ip2long = ip2long($value);
- if($ip2long === false) {
- return false;
- }
-
- return $value == long2ip($ip2long);
- }
-
- /**
- * Validates an IPv6 address
- *
- * @param string $value Value to check against
- * @return boolean True when $value is a valid ipv6 address
- * False otherwise
- */
- protected function _validateIPv6($value) {
- if (strlen($value) < 3) {
- return $value == '::';
- }
-
- if (strpos($value, '.')) {
- $lastcolon = strrpos($value, ':');
- if (!($lastcolon && $this->_validateIPv4(substr($value, $lastcolon + 1)))) {
- return false;
- }
-
- $value = substr($value, 0, $lastcolon) . ':0:0';
- }
-
- if (strpos($value, '::') === false) {
- return preg_match('/\A(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}\z/i', $value);
- }
-
- $colonCount = substr_count($value, ':');
- if ($colonCount < 8) {
- return preg_match('/\A(?::|(?:[a-f0-9]{1,4}:)+):(?:(?:[a-f0-9]{1,4}:)*[a-f0-9]{1,4})?\z/i', $value);
- }
-
- // special case with ending or starting double colon
- if ($colonCount == 8) {
- return preg_match('/\A(?:::)?(?:[a-f0-9]{1,4}:){6}[a-f0-9]{1,4}(?:::)?\z/i', $value);
- }
-
- return false;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Isbn.php b/airtime_mvc/library/Zend/Validate/Isbn.php
deleted file mode 100644
index 0d392ffbb..000000000
--- a/airtime_mvc/library/Zend/Validate/Isbn.php
+++ /dev/null
@@ -1,273 +0,0 @@
- "'%value%' is no valid ISBN number",
- );
-
- /**
- * Allowed type.
- *
- * @var string
- */
- protected $_type = self::AUTO;
-
- /**
- * Separator character.
- *
- * @var string
- */
- protected $_separator = '';
-
- /**
- * Set up options.
- *
- * @param Zend_Config|array $options
- * @throws Zend_Validate_Exception When $options is not valid
- * @return void
- */
- public function __construct($options = array())
- {
- // prepare options
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
- if (!is_array($options)) {
- /**
- * @see Zend_Validate_Exception
- */
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid options provided.');
- }
-
- // set type
- if (array_key_exists('type', $options)) {
- $this->setType($options['type']);
- }
-
- // set separator
- if (array_key_exists('separator', $options)) {
- $this->setSeparator($options['separator']);
- }
- }
-
- /**
- * Detect input format.
- *
- * @return string
- */
- protected function _detectFormat()
- {
- // prepare separator and pattern list
- $sep = quotemeta($this->_separator);
- $patterns = array();
- $lengths = array();
-
- // check for ISBN-10
- if ($this->_type == self::ISBN10 || $this->_type == self::AUTO) {
- if (empty($sep)) {
- $pattern = '/^[0-9]{9}[0-9X]{1}$/';
- $length = 10;
- } else {
- $pattern = "/^[0-9]{1,7}[{$sep}]{1}[0-9]{1,7}[{$sep}]{1}[0-9]{1,7}[{$sep}]{1}[0-9X]{1}$/";
- $length = 13;
- }
-
- $patterns[$pattern] = self::ISBN10;
- $lengths[$pattern] = $length;
- }
-
- // check for ISBN-13
- if ($this->_type == self::ISBN13 || $this->_type == self::AUTO) {
- if (empty($sep)) {
- $pattern = '/^[0-9]{13}$/';
- $length = 13;
- } else {
- $pattern = "/^[0-9]{1,9}[{$sep}]{1}[0-9]{1,5}[{$sep}]{1}[0-9]{1,9}[{$sep}]{1}[0-9]{1,9}[{$sep}]{1}[0-9]{1}$/";
- $length = 17;
- }
-
- $patterns[$pattern] = self::ISBN13;
- $lengths[$pattern] = $length;
- }
-
- // check pattern list
- foreach ($patterns as $pattern => $type) {
- if ((strlen($this->_value) == $lengths[$pattern]) && preg_match($pattern, $this->_value)) {
- return $type;
- }
- }
-
- return null;
- }
-
- /**
- * Defined by Zend_Validate_Interface.
- *
- * Returns true if and only if $value contains a valid ISBN.
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- // save value
- $value = (string) $value;
- $this->_setValue($value);
-
- switch ($this->_detectFormat()) {
- case self::ISBN10:
- // sum
- $isbn10 = preg_replace('/[^0-9X]/', '', $value);
- $sum = 0;
- for ($i = 0; $i < 9; $i++) {
- $sum += (10 - $i) * $isbn10{$i};
- }
-
- // checksum
- $checksum = 11 - ($sum % 11);
- if ($checksum == 11) {
- $checksum = '0';
- } elseif ($checksum == 10) {
- $checksum = 'X';
- }
- break;
-
- case self::ISBN13:
- // sum
- $isbn13 = preg_replace('/[^0-9]/', '', $value);
- $sum = 0;
- for ($i = 0; $i < 12; $i++) {
- if ($i % 2 == 0) {
- $sum += $isbn13{$i};
- } else {
- $sum += 3 * $isbn13{$i};
- }
- }
- // checksum
- $checksum = 10 - ($sum % 10);
- if ($checksum == 10) {
- $checksum = '0';
- }
- break;
-
- default:
- $this->_error(self::INVALID);
- return false;
- }
-
- // validate
- if (substr($this->_value, -1) != $checksum) {
- $this->_error(self::INVALID);
- return false;
- }
- return true;
- }
-
- /**
- * Set separator characters.
- *
- * It is allowed only empty string, hyphen and space.
- *
- * @param string $separator
- * @throws Zend_Validate_Exception When $separator is not valid
- * @return Zend_Validate_Isbn Provides a fluent interface
- */
- public function setSeparator($separator)
- {
- // check separator
- if (!in_array($separator, array('-', ' ', ''))) {
- /**
- * @see Zend_Validate_Exception
- */
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid ISBN separator.');
- }
-
- $this->_separator = $separator;
- return $this;
- }
-
- /**
- * Get separator characters.
- *
- * @return string
- */
- public function getSeparator()
- {
- return $this->_separator;
- }
-
- /**
- * Set allowed ISBN type.
- *
- * @param string $type
- * @throws Zend_Validate_Exception When $type is not valid
- * @return Zend_Validate_Isbn Provides a fluent interface
- */
- public function setType($type)
- {
- // check type
- if (!in_array($type, array(self::AUTO, self::ISBN10, self::ISBN13))) {
- /**
- * @see Zend_Validate_Exception
- */
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Invalid ISBN type');
- }
-
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Get allowed ISBN type.
- *
- * @return string
- */
- public function getType()
- {
- return $this->_type;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/LessThan.php b/airtime_mvc/library/Zend/Validate/LessThan.php
deleted file mode 100644
index e730603f0..000000000
--- a/airtime_mvc/library/Zend/Validate/LessThan.php
+++ /dev/null
@@ -1,122 +0,0 @@
- "'%value%' is not less than '%max%'"
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'max' => '_max'
- );
-
- /**
- * Maximum value
- *
- * @var mixed
- */
- protected $_max;
-
- /**
- * Sets validator options
- *
- * @param mixed|Zend_Config $max
- * @return void
- */
- public function __construct($max)
- {
- if ($max instanceof Zend_Config) {
- $max = $max->toArray();
- }
-
- if (is_array($max)) {
- if (array_key_exists('max', $max)) {
- $max = $max['max'];
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Missing option 'max'");
- }
- }
-
- $this->setMax($max);
- }
-
- /**
- * Returns the max option
- *
- * @return mixed
- */
- public function getMax()
- {
- return $this->_max;
- }
-
- /**
- * Sets the max option
- *
- * @param mixed $max
- * @return Zend_Validate_LessThan Provides a fluent interface
- */
- public function setMax($max)
- {
- $this->_max = $max;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is less than max option
- *
- * @param mixed $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
- if ($this->_max <= $value) {
- $this->_error(self::NOT_LESS);
- return false;
- }
- return true;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/Validate/NotEmpty.php b/airtime_mvc/library/Zend/Validate/NotEmpty.php
deleted file mode 100644
index 40eeb993e..000000000
--- a/airtime_mvc/library/Zend/Validate/NotEmpty.php
+++ /dev/null
@@ -1,237 +0,0 @@
- 'boolean',
- self::INTEGER => 'integer',
- self::FLOAT => 'float',
- self::STRING => 'string',
- self::ZERO => 'zero',
- self::EMPTY_ARRAY => 'array',
- self::NULL => 'null',
- self::PHP => 'php',
- self::SPACE => 'space',
- self::ALL => 'all'
- );
-
- /**
- * @var array
- */
- protected $_messageTemplates = array(
- self::IS_EMPTY => "Value is required and can't be empty",
- self::INVALID => "Invalid type given, value should be float, string, array, boolean or integer",
- );
-
- /**
- * Internal type to detect
- *
- * @var integer
- */
- protected $_type = 237;
-
- /**
- * Constructor
- *
- * @param string|array|Zend_Config $options OPTIONAL
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp = array();
- if (!empty($options)) {
- $temp['type'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (is_array($options) && array_key_exists('type', $options)) {
- $this->setType($options['type']);
- }
- }
-
- /**
- * Returns the set types
- *
- * @return array
- */
- public function getType()
- {
- return $this->_type;
- }
-
- /**
- * Set the types
- *
- * @param integer|array $type
- * @throws Zend_Validate_Exception
- * @return Zend_Validate_NotEmpty
- */
- public function setType($type = null)
- {
- if (is_array($type)) {
- $detected = 0;
- foreach($type as $value) {
- if (is_int($value)) {
- $detected += $value;
- } else if (in_array($value, $this->_constants)) {
- $detected += array_search($value, $this->_constants);
- }
- }
-
- $type = $detected;
- } else if (is_string($type) && in_array($type, $this->_constants)) {
- $type = array_search($type, $this->_constants);
- }
-
- if (!is_int($type) || ($type < 0) || ($type > self::ALL)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Unknown type');
- }
-
- $this->_type = $type;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is not an empty value.
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_null($value) && !is_string($value) && !is_int($value) && !is_float($value) &&
- !is_bool($value) && !is_array($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $type = $this->getType();
- $this->_setValue($value);
-
- // SPACE (' ')
- if ($type >= self::SPACE) {
- $type -= self::SPACE;
- if (is_string($value) && (preg_match('/^\s+$/s', $value))) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // NULL (null)
- if ($type >= self::NULL) {
- $type -= self::NULL;
- if (is_null($value)) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // EMPTY_ARRAY (array())
- if ($type >= self::EMPTY_ARRAY) {
- $type -= self::EMPTY_ARRAY;
- if (is_array($value) && ($value == array())) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // ZERO ('0')
- if ($type >= self::ZERO) {
- $type -= self::ZERO;
- if (is_string($value) && ($value == '0')) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // STRING ('')
- if ($type >= self::STRING) {
- $type -= self::STRING;
- if (is_string($value) && ($value == '')) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // FLOAT (0.0)
- if ($type >= self::FLOAT) {
- $type -= self::FLOAT;
- if (is_float($value) && ($value == 0.0)) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // INTEGER (0)
- if ($type >= self::INTEGER) {
- $type -= self::INTEGER;
- if (is_int($value) && ($value == 0)) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- // BOOLEAN (false)
- if ($type >= self::BOOLEAN) {
- $type -= self::BOOLEAN;
- if (is_bool($value) && ($value == false)) {
- $this->_error(self::IS_EMPTY);
- return false;
- }
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/PostCode.php b/airtime_mvc/library/Zend/Validate/PostCode.php
deleted file mode 100644
index 9d122c93e..000000000
--- a/airtime_mvc/library/Zend/Validate/PostCode.php
+++ /dev/null
@@ -1,210 +0,0 @@
- "Invalid type given. The value should be a string or a integer",
- self::NO_MATCH => "'%value%' does not appear to be a postal code",
- );
-
- /**
- * Locale to use
- *
- * @var string
- */
- protected $_locale;
-
- /**
- * Manual postal code format
- *
- * @var unknown_type
- */
- protected $_format;
-
- /**
- * Constructor for the integer validator
- *
- * Accepts either a string locale, a Zend_Locale object, or an array or
- * Zend_Config object containing the keys "locale" and/or "format".
- *
- * @param string|Zend_Locale|array|Zend_Config $options
- * @throws Zend_Validate_Exception On empty format
- */
- public function __construct($options = null)
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- }
-
- if (empty($options)) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Locale')) {
- $this->setLocale(Zend_Registry::get('Zend_Locale'));
- }
- } elseif (is_array($options)) {
- // Received
- if (array_key_exists('locale', $options)) {
- $this->setLocale($options['locale']);
- }
-
- if (array_key_exists('format', $options)) {
- $this->setFormat($options['format']);
- }
- } elseif ($options instanceof Zend_Locale || is_string($options)) {
- // Received Locale object or string locale
- $this->setLocale($options);
- }
-
- $format = $this->getFormat();
- if (empty($format)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("A postcode-format string has to be given for validation");
- }
- }
-
- /**
- * Returns the set locale
- *
- * @return string|Zend_Locale The set locale
- */
- public function getLocale()
- {
- return $this->_locale;
- }
-
- /**
- * Sets the locale to use
- *
- * @param string|Zend_Locale $locale
- * @throws Zend_Validate_Exception On unrecognised region
- * @throws Zend_Validate_Exception On not detected format
- * @return Zend_Validate_PostCode Provides fluid interface
- */
- public function setLocale($locale = null)
- {
- require_once 'Zend/Locale.php';
- $this->_locale = Zend_Locale::findLocale($locale);
- $locale = new Zend_Locale($this->_locale);
- $region = $locale->getRegion();
- if (empty($region)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Unable to detect a region for the locale '$locale'");
- }
-
- $format = Zend_Locale::getTranslation(
- $locale->getRegion(),
- 'postaltoterritory',
- $this->_locale
- );
-
- if (empty($format)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Unable to detect a postcode format for the region '{$locale->getRegion()}'");
- }
-
- $this->setFormat($format);
- return $this;
- }
-
- /**
- * Returns the set postal code format
- *
- * @return string
- */
- public function getFormat()
- {
- return $this->_format;
- }
-
- /**
- * Sets a self defined postal format as regex
- *
- * @param string $format
- * @throws Zend_Validate_Exception On empty format
- * @return Zend_Validate_PostCode Provides fluid interface
- */
- public function setFormat($format)
- {
- if (empty($format) || !is_string($format)) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("A postcode-format string has to be given for validation");
- }
-
- if ($format[0] !== '/') {
- $format = '/^' . $format;
- }
-
- if ($format[strlen($format) - 1] !== '/') {
- $format .= '$/';
- }
-
- $this->_format = $format;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value is a valid postalcode
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- $this->_setValue($value);
- if (!is_string($value) && !is_int($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $format = $this->getFormat();
- if (!preg_match($format, $value)) {
- $this->_error(self::NO_MATCH);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Regex.php b/airtime_mvc/library/Zend/Validate/Regex.php
deleted file mode 100644
index 4c9b5ed36..000000000
--- a/airtime_mvc/library/Zend/Validate/Regex.php
+++ /dev/null
@@ -1,147 +0,0 @@
- "Invalid type given, value should be string, integer or float",
- self::NOT_MATCH => "'%value%' does not match against pattern '%pattern%'",
- self::ERROROUS => "There was an internal error while using the pattern '%pattern%'",
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'pattern' => '_pattern'
- );
-
- /**
- * Regular expression pattern
- *
- * @var string
- */
- protected $_pattern;
-
- /**
- * Sets validator options
- *
- * @param string|Zend_Config $pattern
- * @throws Zend_Validate_Exception On missing 'pattern' parameter
- * @return void
- */
- public function __construct($pattern)
- {
- if ($pattern instanceof Zend_Config) {
- $pattern = $pattern->toArray();
- }
-
- if (is_array($pattern)) {
- if (array_key_exists('pattern', $pattern)) {
- $pattern = $pattern['pattern'];
- } else {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Missing option 'pattern'");
- }
- }
-
- $this->setPattern($pattern);
- }
-
- /**
- * Returns the pattern option
- *
- * @return string
- */
- public function getPattern()
- {
- return $this->_pattern;
- }
-
- /**
- * Sets the pattern option
- *
- * @param string $pattern
- * @throws Zend_Validate_Exception if there is a fatal error in pattern matching
- * @return Zend_Validate_Regex Provides a fluent interface
- */
- public function setPattern($pattern)
- {
- $this->_pattern = (string) $pattern;
- $status = @preg_match($this->_pattern, "Test");
-
- if (false === $status) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("Internal error while using the pattern '$this->_pattern'");
- }
-
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if $value matches against the pattern option
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value) && !is_int($value) && !is_float($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
-
- $status = @preg_match($this->_pattern, $value);
- if (false === $status) {
- $this->_error(self::ERROROUS);
- return false;
- }
-
- if (!$status) {
- $this->_error(self::NOT_MATCH);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Sitemap/Changefreq.php b/airtime_mvc/library/Zend/Validate/Sitemap/Changefreq.php
deleted file mode 100644
index 517f9b577..000000000
--- a/airtime_mvc/library/Zend/Validate/Sitemap/Changefreq.php
+++ /dev/null
@@ -1,95 +0,0 @@
- value
- *
- * @link http://www.sitemaps.org/protocol.php Sitemaps XML format
- *
- * @category Zend
- * @package Zend_Validate
- * @subpackage Sitemap
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_Validate_Sitemap_Changefreq extends Zend_Validate_Abstract
-{
- /**
- * Validation key for not valid
- *
- */
- const NOT_VALID = 'sitemapChangefreqNotValid';
- const INVALID = 'sitemapChangefreqInvalid';
-
- /**
- * Validation failure message template definitions
- *
- * @var array
- */
- protected $_messageTemplates = array(
- self::NOT_VALID => "'%value%' is no valid sitemap changefreq",
- self::INVALID => "Invalid type given, the value should be a string",
- );
-
- /**
- * Valid change frequencies
- *
- * @var array
- */
- protected $_changeFreqs = array(
- 'always', 'hourly', 'daily', 'weekly',
- 'monthly', 'yearly', 'never'
- );
-
- /**
- * Validates if a string is valid as a sitemap changefreq
- *
- * @link http://www.sitemaps.org/protocol.php#changefreqdef
- *
- * @param string $value value to validate
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- if (!is_string($value)) {
- return false;
- }
-
- if (!in_array($value, $this->_changeFreqs, true)) {
- $this->_error(self::NOT_VALID);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Sitemap/Lastmod.php b/airtime_mvc/library/Zend/Validate/Sitemap/Lastmod.php
deleted file mode 100644
index 5644137da..000000000
--- a/airtime_mvc/library/Zend/Validate/Sitemap/Lastmod.php
+++ /dev/null
@@ -1,88 +0,0 @@
- value
- *
- * @link http://www.sitemaps.org/protocol.php Sitemaps XML format
- *
- * @category Zend
- * @package Zend_Validate
- * @subpackage Sitemap
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_Validate_Sitemap_Lastmod extends Zend_Validate_Abstract
-{
- /**
- * Regular expression to use when validating
- *
- */
- const LASTMOD_REGEX = '/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])(T([0-1][0-9]|2[0-3])(:[0-5][0-9])(:[0-5][0-9])?(\\+|-)([0-1][0-9]|2[0-3]):[0-5][0-9])?$/';
-
- /**
- * Validation key for not valid
- *
- */
- const NOT_VALID = 'sitemapLastmodNotValid';
- const INVALID = 'sitemapLastmodInvalid';
-
- /**
- * Validation failure message template definitions
- *
- * @var array
- */
- protected $_messageTemplates = array(
- self::NOT_VALID => "'%value%' is no valid sitemap lastmod",
- self::INVALID => "Invalid type given, the value should be a string",
- );
-
- /**
- * Validates if a string is valid as a sitemap lastmod
- *
- * @link http://www.sitemaps.org/protocol.php#lastmoddef
- *
- * @param string $value value to validate
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- $result = @preg_match(self::LASTMOD_REGEX, $value);
- if ($result != 1) {
- $this->_error(self::NOT_VALID);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Sitemap/Loc.php b/airtime_mvc/library/Zend/Validate/Sitemap/Loc.php
deleted file mode 100644
index 7e0668f9f..000000000
--- a/airtime_mvc/library/Zend/Validate/Sitemap/Loc.php
+++ /dev/null
@@ -1,87 +0,0 @@
- value
- *
- * @link http://www.sitemaps.org/protocol.php Sitemaps XML format
- *
- * @category Zend
- * @package Zend_Validate
- * @subpackage Sitemap
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_Validate_Sitemap_Loc extends Zend_Validate_Abstract
-{
- /**
- * Validation key for not valid
- *
- */
- const NOT_VALID = 'sitemapLocNotValid';
- const INVALID = 'sitemapLocInvalid';
-
- /**
- * Validation failure message template definitions
- *
- * @var array
- */
- protected $_messageTemplates = array(
- self::NOT_VALID => "'%value%' is no valid sitemap location",
- self::INVALID => "Invalid type given, the value should be a string",
- );
-
- /**
- * Validates if a string is valid as a sitemap location
- *
- * @link http://www.sitemaps.org/protocol.php#locdef
- *
- * @param string $value value to validate
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- $result = Zend_Uri::check($value);
- if ($result !== true) {
- $this->_error(self::NOT_VALID);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/Sitemap/Priority.php b/airtime_mvc/library/Zend/Validate/Sitemap/Priority.php
deleted file mode 100644
index 9875ecd20..000000000
--- a/airtime_mvc/library/Zend/Validate/Sitemap/Priority.php
+++ /dev/null
@@ -1,82 +0,0 @@
- value
- *
- * @link http://www.sitemaps.org/protocol.php Sitemaps XML format
- *
- * @category Zend
- * @package Zend_Validate
- * @subpackage Sitemap
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_Validate_Sitemap_Priority extends Zend_Validate_Abstract
-{
- /**
- * Validation key for not valid
- *
- */
- const NOT_VALID = 'sitemapPriorityNotValid';
- const INVALID = 'sitemapPriorityInvalid';
-
- /**
- * Validation failure message template definitions
- *
- * @var array
- */
- protected $_messageTemplates = array(
- self::NOT_VALID => "'%value%' is no valid sitemap priority",
- self::INVALID => "Invalid type given, the value should be a integer, a float or a numeric string",
- );
-
- /**
- * Validates if a string is valid as a sitemap priority
- *
- * @link http://www.sitemaps.org/protocol.php#prioritydef
- *
- * @param string $value value to validate
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_numeric($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- $value = (float) $value;
- if ($value < 0 || $value > 1) {
- $this->_error(self::NOT_VALID);
- return false;
- }
-
- return true;
- }
-}
diff --git a/airtime_mvc/library/Zend/Validate/StringLength.php b/airtime_mvc/library/Zend/Validate/StringLength.php
deleted file mode 100644
index c9c5b80ff..000000000
--- a/airtime_mvc/library/Zend/Validate/StringLength.php
+++ /dev/null
@@ -1,253 +0,0 @@
- "Invalid type given, value should be a string",
- self::TOO_SHORT => "'%value%' is less than %min% characters long",
- self::TOO_LONG => "'%value%' is more than %max% characters long",
- );
-
- /**
- * @var array
- */
- protected $_messageVariables = array(
- 'min' => '_min',
- 'max' => '_max'
- );
-
- /**
- * Minimum length
- *
- * @var integer
- */
- protected $_min;
-
- /**
- * Maximum length
- *
- * If null, there is no maximum length
- *
- * @var integer|null
- */
- protected $_max;
-
- /**
- * Encoding to use
- *
- * @var string|null
- */
- protected $_encoding;
-
- /**
- * Sets validator options
- *
- * @param integer|array|Zend_Config $options
- * @return void
- */
- public function __construct($options = array())
- {
- if ($options instanceof Zend_Config) {
- $options = $options->toArray();
- } else if (!is_array($options)) {
- $options = func_get_args();
- $temp['min'] = array_shift($options);
- if (!empty($options)) {
- $temp['max'] = array_shift($options);
- }
-
- if (!empty($options)) {
- $temp['encoding'] = array_shift($options);
- }
-
- $options = $temp;
- }
-
- if (!array_key_exists('min', $options)) {
- $options['min'] = 0;
- }
-
- $this->setMin($options['min']);
- if (array_key_exists('max', $options)) {
- $this->setMax($options['max']);
- }
-
- if (array_key_exists('encoding', $options)) {
- $this->setEncoding($options['encoding']);
- }
- }
-
- /**
- * Returns the min option
- *
- * @return integer
- */
- public function getMin()
- {
- return $this->_min;
- }
-
- /**
- * Sets the min option
- *
- * @param integer $min
- * @throws Zend_Validate_Exception
- * @return Zend_Validate_StringLength Provides a fluent interface
- */
- public function setMin($min)
- {
- if (null !== $this->_max && $min > $this->_max) {
- /**
- * @see Zend_Validate_Exception
- */
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The minimum must be less than or equal to the maximum length, but $min >"
- . " $this->_max");
- }
- $this->_min = max(0, (integer) $min);
- return $this;
- }
-
- /**
- * Returns the max option
- *
- * @return integer|null
- */
- public function getMax()
- {
- return $this->_max;
- }
-
- /**
- * Sets the max option
- *
- * @param integer|null $max
- * @throws Zend_Validate_Exception
- * @return Zend_Validate_StringLength Provides a fluent interface
- */
- public function setMax($max)
- {
- if (null === $max) {
- $this->_max = null;
- } else if ($max < $this->_min) {
- /**
- * @see Zend_Validate_Exception
- */
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception("The maximum must be greater than or equal to the minimum length, but "
- . "$max < $this->_min");
- } else {
- $this->_max = (integer) $max;
- }
-
- return $this;
- }
-
- /**
- * Returns the actual encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Sets a new encoding to use
- *
- * @param string $encoding
- * @return Zend_Validate_StringLength
- */
- public function setEncoding($encoding = null)
- {
- if ($encoding !== null) {
- $orig = iconv_get_encoding('internal_encoding');
- $result = iconv_set_encoding('internal_encoding', $encoding);
- if (!$result) {
- require_once 'Zend/Validate/Exception.php';
- throw new Zend_Validate_Exception('Given encoding not supported on this OS!');
- }
-
- iconv_set_encoding('internal_encoding', $orig);
- }
-
- $this->_encoding = $encoding;
- return $this;
- }
-
- /**
- * Defined by Zend_Validate_Interface
- *
- * Returns true if and only if the string length of $value is at least the min option and
- * no greater than the max option (when the max option is not null).
- *
- * @param string $value
- * @return boolean
- */
- public function isValid($value)
- {
- if (!is_string($value)) {
- $this->_error(self::INVALID);
- return false;
- }
-
- $this->_setValue($value);
- if ($this->_encoding !== null) {
- $length = iconv_strlen($value, $this->_encoding);
- } else {
- $length = iconv_strlen($value);
- }
-
- if ($length < $this->_min) {
- $this->_error(self::TOO_SHORT);
- }
-
- if (null !== $this->_max && $this->_max < $length) {
- $this->_error(self::TOO_LONG);
- }
-
- if (count($this->_messages)) {
- return false;
- } else {
- return true;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Version.php b/airtime_mvc/library/Zend/Version.php
deleted file mode 100644
index 78d425e8c..000000000
--- a/airtime_mvc/library/Zend/Version.php
+++ /dev/null
@@ -1,53 +0,0 @@
-_useViewStream = (bool) ini_get('short_open_tag') ? false : true;
- if ($this->_useViewStream) {
- if (!in_array('zend.view', stream_get_wrappers())) {
- require_once 'Zend/View/Stream.php';
- stream_wrapper_register('zend.view', 'Zend_View_Stream');
- }
- }
-
- if (array_key_exists('useStreamWrapper', $config)) {
- $this->setUseStreamWrapper($config['useStreamWrapper']);
- }
-
- parent::__construct($config);
- }
-
- /**
- * Set flag indicating if stream wrapper should be used if short_open_tag is off
- *
- * @param bool $flag
- * @return Zend_View
- */
- public function setUseStreamWrapper($flag)
- {
- $this->_useStreamWrapper = (bool) $flag;
- return $this;
- }
-
- /**
- * Should the stream wrapper be used if short_open_tag is off?
- *
- * @return bool
- */
- public function useStreamWrapper()
- {
- return $this->_useStreamWrapper;
- }
-
- /**
- * Includes the view script in a scope with only public $this variables.
- *
- * @param string The view script to execute.
- */
- protected function _run()
- {
- if ($this->_useViewStream && $this->useStreamWrapper()) {
- include 'zend.view://' . func_get_arg(0);
- } else {
- include func_get_arg(0);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Abstract.php b/airtime_mvc/library/Zend/View/Abstract.php
deleted file mode 100644
index 6b96990f8..000000000
--- a/airtime_mvc/library/Zend/View/Abstract.php
+++ /dev/null
@@ -1,1188 +0,0 @@
- array(),
- 'helper' => array(),
- 'filter' => array(),
- );
-
- /**
- * Script file name to execute
- *
- * @var string
- */
- private $_file = null;
-
- /**
- * Instances of helper objects.
- *
- * @var array
- */
- private $_helper = array();
-
- /**
- * Map of helper => class pairs to help in determining helper class from
- * name
- * @var array
- */
- private $_helperLoaded = array();
-
- /**
- * Map of helper => classfile pairs to aid in determining helper classfile
- * @var array
- */
- private $_helperLoadedDir = array();
-
- /**
- * Stack of Zend_View_Filter names to apply as filters.
- * @var array
- */
- private $_filter = array();
-
- /**
- * Stack of Zend_View_Filter objects that have been loaded
- * @var array
- */
- private $_filterClass = array();
-
- /**
- * Map of filter => class pairs to help in determining filter class from
- * name
- * @var array
- */
- private $_filterLoaded = array();
-
- /**
- * Map of filter => classfile pairs to aid in determining filter classfile
- * @var array
- */
- private $_filterLoadedDir = array();
-
- /**
- * Callback for escaping.
- *
- * @var string
- */
- private $_escape = 'htmlspecialchars';
-
- /**
- * Encoding to use in escaping mechanisms; defaults to utf-8
- * @var string
- */
- private $_encoding = 'UTF-8';
-
- /**
- * Flag indicating whether or not LFI protection for rendering view scripts is enabled
- * @var bool
- */
- private $_lfiProtectionOn = true;
-
- /**
- * Plugin loaders
- * @var array
- */
- private $_loaders = array();
-
- /**
- * Plugin types
- * @var array
- */
- private $_loaderTypes = array('filter', 'helper');
-
- /**
- * Strict variables flag; when on, undefined variables accessed in the view
- * scripts will trigger notices
- * @var boolean
- */
- private $_strictVars = false;
-
- /**
- * Constructor.
- *
- * @param array $config Configuration key-value pairs.
- */
- public function __construct($config = array())
- {
- // set inital paths and properties
- $this->setScriptPath(null);
-
- // $this->setHelperPath(null);
- $this->setFilterPath(null);
-
- // user-defined escaping callback
- if (array_key_exists('escape', $config)) {
- $this->setEscape($config['escape']);
- }
-
- // encoding
- if (array_key_exists('encoding', $config)) {
- $this->setEncoding($config['encoding']);
- }
-
- // base path
- if (array_key_exists('basePath', $config)) {
- $prefix = 'Zend_View';
- if (array_key_exists('basePathPrefix', $config)) {
- $prefix = $config['basePathPrefix'];
- }
- $this->setBasePath($config['basePath'], $prefix);
- }
-
- // user-defined view script path
- if (array_key_exists('scriptPath', $config)) {
- $this->addScriptPath($config['scriptPath']);
- }
-
- // user-defined helper path
- if (array_key_exists('helperPath', $config)) {
- if (is_array($config['helperPath'])) {
- foreach ($config['helperPath'] as $prefix => $path) {
- $this->addHelperPath($path, $prefix);
- }
- } else {
- $prefix = 'Zend_View_Helper';
- if (array_key_exists('helperPathPrefix', $config)) {
- $prefix = $config['helperPathPrefix'];
- }
- $this->addHelperPath($config['helperPath'], $prefix);
- }
- }
-
- // user-defined filter path
- if (array_key_exists('filterPath', $config)) {
- if (is_array($config['filterPath'])) {
- foreach ($config['filterPath'] as $prefix => $path) {
- $this->addFilterPath($path, $prefix);
- }
- } else {
- $prefix = 'Zend_View_Filter';
- if (array_key_exists('filterPathPrefix', $config)) {
- $prefix = $config['filterPathPrefix'];
- }
- $this->addFilterPath($config['filterPath'], $prefix);
- }
- }
-
- // user-defined filters
- if (array_key_exists('filter', $config)) {
- $this->addFilter($config['filter']);
- }
-
- // strict vars
- if (array_key_exists('strictVars', $config)) {
- $this->strictVars($config['strictVars']);
- }
-
- // LFI protection flag
- if (array_key_exists('lfiProtectionOn', $config)) {
- $this->setLfiProtection($config['lfiProtectionOn']);
- }
-
- $this->init();
- }
-
- /**
- * Return the template engine object
- *
- * Returns the object instance, as it is its own template engine
- *
- * @return Zend_View_Abstract
- */
- public function getEngine()
- {
- return $this;
- }
-
- /**
- * Allow custom object initialization when extending Zend_View_Abstract or
- * Zend_View
- *
- * Triggered by {@link __construct() the constructor} as its final action.
- *
- * @return void
- */
- public function init()
- {
- }
-
- /**
- * Prevent E_NOTICE for nonexistent values
- *
- * If {@link strictVars()} is on, raises a notice.
- *
- * @param string $key
- * @return null
- */
- public function __get($key)
- {
- if ($this->_strictVars) {
- trigger_error('Key "' . $key . '" does not exist', E_USER_NOTICE);
- }
-
- return null;
- }
-
- /**
- * Allows testing with empty() and isset() to work inside
- * templates.
- *
- * @param string $key
- * @return boolean
- */
- public function __isset($key)
- {
- if ('_' != substr($key, 0, 1)) {
- return isset($this->$key);
- }
-
- return false;
- }
-
- /**
- * Directly assigns a variable to the view script.
- *
- * Checks first to ensure that the caller is not attempting to set a
- * protected or private member (by checking for a prefixed underscore); if
- * not, the public member is set; otherwise, an exception is raised.
- *
- * @param string $key The variable name.
- * @param mixed $val The variable value.
- * @return void
- * @throws Zend_View_Exception if an attempt to set a private or protected
- * member is detected
- */
- public function __set($key, $val)
- {
- if ('_' != substr($key, 0, 1)) {
- $this->$key = $val;
- return;
- }
-
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Setting private or protected class members is not allowed');
- $e->setView($this);
- throw $e;
- }
-
- /**
- * Allows unset() on object properties to work
- *
- * @param string $key
- * @return void
- */
- public function __unset($key)
- {
- if ('_' != substr($key, 0, 1) && isset($this->$key)) {
- unset($this->$key);
- }
- }
-
- /**
- * Accesses a helper object from within a script.
- *
- * If the helper class has a 'view' property, sets it with the current view
- * object.
- *
- * @param string $name The helper name.
- * @param array $args The parameters for the helper.
- * @return string The result of the helper output.
- */
- public function __call($name, $args)
- {
- // is the helper already loaded?
- $helper = $this->getHelper($name);
-
- // call the helper method
- return call_user_func_array(
- array($helper, $name),
- $args
- );
- }
-
- /**
- * Given a base path, sets the script, helper, and filter paths relative to it
- *
- * Assumes a directory structure of:
- *
- * basePath/
- * scripts/
- * helpers/
- * filters/
- *
- *
- * @param string $path
- * @param string $prefix Prefix to use for helper and filter paths
- * @return Zend_View_Abstract
- */
- public function setBasePath($path, $classPrefix = 'Zend_View')
- {
- $path = rtrim($path, '/');
- $path = rtrim($path, '\\');
- $path .= DIRECTORY_SEPARATOR;
- $classPrefix = rtrim($classPrefix, '_') . '_';
- $this->setScriptPath($path . 'scripts');
- $this->setHelperPath($path . 'helpers', $classPrefix . 'Helper');
- $this->setFilterPath($path . 'filters', $classPrefix . 'Filter');
- return $this;
- }
-
- /**
- * Given a base path, add script, helper, and filter paths relative to it
- *
- * Assumes a directory structure of:
- *
- * basePath/
- * scripts/
- * helpers/
- * filters/
- *
- *
- * @param string $path
- * @param string $prefix Prefix to use for helper and filter paths
- * @return Zend_View_Abstract
- */
- public function addBasePath($path, $classPrefix = 'Zend_View')
- {
- $path = rtrim($path, '/');
- $path = rtrim($path, '\\');
- $path .= DIRECTORY_SEPARATOR;
- $classPrefix = rtrim($classPrefix, '_') . '_';
- $this->addScriptPath($path . 'scripts');
- $this->addHelperPath($path . 'helpers', $classPrefix . 'Helper');
- $this->addFilterPath($path . 'filters', $classPrefix . 'Filter');
- return $this;
- }
-
- /**
- * Adds to the stack of view script paths in LIFO order.
- *
- * @param string|array The directory (-ies) to add.
- * @return Zend_View_Abstract
- */
- public function addScriptPath($path)
- {
- $this->_addPath('script', $path);
- return $this;
- }
-
- /**
- * Resets the stack of view script paths.
- *
- * To clear all paths, use Zend_View::setScriptPath(null).
- *
- * @param string|array The directory (-ies) to set as the path.
- * @return Zend_View_Abstract
- */
- public function setScriptPath($path)
- {
- $this->_path['script'] = array();
- $this->_addPath('script', $path);
- return $this;
- }
-
- /**
- * Return full path to a view script specified by $name
- *
- * @param string $name
- * @return false|string False if script not found
- * @throws Zend_View_Exception if no script directory set
- */
- public function getScriptPath($name)
- {
- try {
- $path = $this->_script($name);
- return $path;
- } catch (Zend_View_Exception $e) {
- if (strstr($e->getMessage(), 'no view script directory set')) {
- throw $e;
- }
-
- return false;
- }
- }
-
- /**
- * Returns an array of all currently set script paths
- *
- * @return array
- */
- public function getScriptPaths()
- {
- return $this->_getPaths('script');
- }
-
- /**
- * Set plugin loader for a particular plugin type
- *
- * @param Zend_Loader_PluginLoader $loader
- * @param string $type
- * @return Zend_View_Abstract
- */
- public function setPluginLoader(Zend_Loader_PluginLoader $loader, $type)
- {
- $type = strtolower($type);
- if (!in_array($type, $this->_loaderTypes)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Invalid plugin loader type "%s"', $type));
- $e->setView($this);
- throw $e;
- }
-
- $this->_loaders[$type] = $loader;
- return $this;
- }
-
- /**
- * Retrieve plugin loader for a specific plugin type
- *
- * @param string $type
- * @return Zend_Loader_PluginLoader
- */
- public function getPluginLoader($type)
- {
- $type = strtolower($type);
- if (!in_array($type, $this->_loaderTypes)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Invalid plugin loader type "%s"; cannot retrieve', $type));
- $e->setView($this);
- throw $e;
- }
-
- if (!array_key_exists($type, $this->_loaders)) {
- $prefix = 'Zend_View_';
- $pathPrefix = 'Zend/View/';
-
- $pType = ucfirst($type);
- switch ($type) {
- case 'filter':
- case 'helper':
- default:
- $prefix .= $pType;
- $pathPrefix .= $pType;
- $loader = new Zend_Loader_PluginLoader(array(
- $prefix => $pathPrefix
- ));
- $this->_loaders[$type] = $loader;
- break;
- }
- }
- return $this->_loaders[$type];
- }
-
- /**
- * Adds to the stack of helper paths in LIFO order.
- *
- * @param string|array The directory (-ies) to add.
- * @param string $classPrefix Class prefix to use with classes in this
- * directory; defaults to Zend_View_Helper
- * @return Zend_View_Abstract
- */
- public function addHelperPath($path, $classPrefix = 'Zend_View_Helper_')
- {
- return $this->_addPluginPath('helper', $classPrefix, (array) $path);
- }
-
- /**
- * Resets the stack of helper paths.
- *
- * To clear all paths, use Zend_View::setHelperPath(null).
- *
- * @param string|array $path The directory (-ies) to set as the path.
- * @param string $classPrefix The class prefix to apply to all elements in
- * $path; defaults to Zend_View_Helper
- * @return Zend_View_Abstract
- */
- public function setHelperPath($path, $classPrefix = 'Zend_View_Helper_')
- {
- unset($this->_loaders['helper']);
- return $this->addHelperPath($path, $classPrefix);
- }
-
- /**
- * Get full path to a helper class file specified by $name
- *
- * @param string $name
- * @return string|false False on failure, path on success
- */
- public function getHelperPath($name)
- {
- return $this->_getPluginPath('helper', $name);
- }
-
- /**
- * Returns an array of all currently set helper paths
- *
- * @return array
- */
- public function getHelperPaths()
- {
- return $this->getPluginLoader('helper')->getPaths();
- }
-
- /**
- * Registers a helper object, bypassing plugin loader
- *
- * @param Zend_View_Helper_Abstract|object $helper
- * @param string $name
- * @return Zend_View_Abstract
- * @throws Zend_View_Exception
- */
- public function registerHelper($helper, $name)
- {
- if (!is_object($helper)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('View helper must be an object');
- $e->setView($this);
- throw $e;
- }
-
- if (!$helper instanceof Zend_View_Interface) {
- if (!method_exists($helper, $name)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(
- 'View helper must implement Zend_View_Interface or have a method matching the name provided'
- );
- $e->setView($this);
- throw $e;
- }
- }
-
- if (method_exists($helper, 'setView')) {
- $helper->setView($this);
- }
-
- $name = ucfirst($name);
- $this->_helper[$name] = $helper;
- return $this;
- }
-
- /**
- * Get a helper by name
- *
- * @param string $name
- * @return object
- */
- public function getHelper($name)
- {
- return $this->_getPlugin('helper', $name);
- }
-
- /**
- * Get array of all active helpers
- *
- * Only returns those that have already been instantiated.
- *
- * @return array
- */
- public function getHelpers()
- {
- return $this->_helper;
- }
-
- /**
- * Adds to the stack of filter paths in LIFO order.
- *
- * @param string|array The directory (-ies) to add.
- * @param string $classPrefix Class prefix to use with classes in this
- * directory; defaults to Zend_View_Filter
- * @return Zend_View_Abstract
- */
- public function addFilterPath($path, $classPrefix = 'Zend_View_Filter_')
- {
- return $this->_addPluginPath('filter', $classPrefix, (array) $path);
- }
-
- /**
- * Resets the stack of filter paths.
- *
- * To clear all paths, use Zend_View::setFilterPath(null).
- *
- * @param string|array The directory (-ies) to set as the path.
- * @param string $classPrefix The class prefix to apply to all elements in
- * $path; defaults to Zend_View_Filter
- * @return Zend_View_Abstract
- */
- public function setFilterPath($path, $classPrefix = 'Zend_View_Filter_')
- {
- unset($this->_loaders['filter']);
- return $this->addFilterPath($path, $classPrefix);
- }
-
- /**
- * Get full path to a filter class file specified by $name
- *
- * @param string $name
- * @return string|false False on failure, path on success
- */
- public function getFilterPath($name)
- {
- return $this->_getPluginPath('filter', $name);
- }
-
- /**
- * Get a filter object by name
- *
- * @param string $name
- * @return object
- */
- public function getFilter($name)
- {
- return $this->_getPlugin('filter', $name);
- }
-
- /**
- * Return array of all currently active filters
- *
- * Only returns those that have already been instantiated.
- *
- * @return array
- */
- public function getFilters()
- {
- return $this->_filter;
- }
-
- /**
- * Returns an array of all currently set filter paths
- *
- * @return array
- */
- public function getFilterPaths()
- {
- return $this->getPluginLoader('filter')->getPaths();
- }
-
- /**
- * Return associative array of path types => paths
- *
- * @return array
- */
- public function getAllPaths()
- {
- $paths = $this->_path;
- $paths['helper'] = $this->getHelperPaths();
- $paths['filter'] = $this->getFilterPaths();
- return $paths;
- }
-
- /**
- * Add one or more filters to the stack in FIFO order.
- *
- * @param string|array One or more filters to add.
- * @return Zend_View_Abstract
- */
- public function addFilter($name)
- {
- foreach ((array) $name as $val) {
- $this->_filter[] = $val;
- }
- return $this;
- }
-
- /**
- * Resets the filter stack.
- *
- * To clear all filters, use Zend_View::setFilter(null).
- *
- * @param string|array One or more filters to set.
- * @return Zend_View_Abstract
- */
- public function setFilter($name)
- {
- $this->_filter = array();
- $this->addFilter($name);
- return $this;
- }
-
- /**
- * Sets the _escape() callback.
- *
- * @param mixed $spec The callback for _escape() to use.
- * @return Zend_View_Abstract
- */
- public function setEscape($spec)
- {
- $this->_escape = $spec;
- return $this;
- }
-
- /**
- * Set LFI protection flag
- *
- * @param bool $flag
- * @return Zend_View_Abstract
- */
- public function setLfiProtection($flag)
- {
- $this->_lfiProtectionOn = (bool) $flag;
- return $this;
- }
-
- /**
- * Return status of LFI protection flag
- *
- * @return bool
- */
- public function isLfiProtectionOn()
- {
- return $this->_lfiProtectionOn;
- }
-
- /**
- * Assigns variables to the view script via differing strategies.
- *
- * Zend_View::assign('name', $value) assigns a variable called 'name'
- * with the corresponding $value.
- *
- * Zend_View::assign($array) assigns the array keys as variable
- * names (with the corresponding array values).
- *
- * @see __set()
- * @param string|array The assignment strategy to use.
- * @param mixed (Optional) If assigning a named variable, use this
- * as the value.
- * @return Zend_View_Abstract Fluent interface
- * @throws Zend_View_Exception if $spec is neither a string nor an array,
- * or if an attempt to set a private or protected member is detected
- */
- public function assign($spec, $value = null)
- {
- // which strategy to use?
- if (is_string($spec)) {
- // assign by name and value
- if ('_' == substr($spec, 0, 1)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Setting private or protected class members is not allowed');
- $e->setView($this);
- throw $e;
- }
- $this->$spec = $value;
- } elseif (is_array($spec)) {
- // assign from associative array
- $error = false;
- foreach ($spec as $key => $val) {
- if ('_' == substr($key, 0, 1)) {
- $error = true;
- break;
- }
- $this->$key = $val;
- }
- if ($error) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Setting private or protected class members is not allowed');
- $e->setView($this);
- throw $e;
- }
- } else {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('assign() expects a string or array, received ' . gettype($spec));
- $e->setView($this);
- throw $e;
- }
-
- return $this;
- }
-
- /**
- * Return list of all assigned variables
- *
- * Returns all public properties of the object. Reflection is not used
- * here as testing reflection properties for visibility is buggy.
- *
- * @return array
- */
- public function getVars()
- {
- $vars = get_object_vars($this);
- foreach ($vars as $key => $value) {
- if ('_' == substr($key, 0, 1)) {
- unset($vars[$key]);
- }
- }
-
- return $vars;
- }
-
- /**
- * Clear all assigned variables
- *
- * Clears all variables assigned to Zend_View either via {@link assign()} or
- * property overloading ({@link __set()}).
- *
- * @return void
- */
- public function clearVars()
- {
- $vars = get_object_vars($this);
- foreach ($vars as $key => $value) {
- if ('_' != substr($key, 0, 1)) {
- unset($this->$key);
- }
- }
- }
-
- /**
- * Processes a view script and returns the output.
- *
- * @param string $name The script name to process.
- * @return string The script output.
- */
- public function render($name)
- {
- // find the script file name using the parent private method
- $this->_file = $this->_script($name);
- unset($name); // remove $name from local scope
-
- ob_start();
- $this->_run($this->_file);
-
- return $this->_filter(ob_get_clean()); // filter output
- }
-
- /**
- * Escapes a value for output in a view script.
- *
- * If escaping mechanism is one of htmlspecialchars or htmlentities, uses
- * {@link $_encoding} setting.
- *
- * @param mixed $var The output to escape.
- * @return mixed The escaped value.
- */
- public function escape($var)
- {
- if (in_array($this->_escape, array('htmlspecialchars', 'htmlentities'))) {
- return call_user_func($this->_escape, $var, ENT_COMPAT, $this->_encoding);
- }
-
- return call_user_func($this->_escape, $var);
- }
-
- /**
- * Set encoding to use with htmlentities() and htmlspecialchars()
- *
- * @param string $encoding
- * @return Zend_View_Abstract
- */
- public function setEncoding($encoding)
- {
- $this->_encoding = $encoding;
- return $this;
- }
-
- /**
- * Return current escape encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Enable or disable strict vars
- *
- * If strict variables are enabled, {@link __get()} will raise a notice
- * when a variable is not defined.
- *
- * Use in conjunction with {@link Zend_View_Helper_DeclareVars the declareVars() helper}
- * to enforce strict variable handling in your view scripts.
- *
- * @param boolean $flag
- * @return Zend_View_Abstract
- */
- public function strictVars($flag = true)
- {
- $this->_strictVars = ($flag) ? true : false;
-
- return $this;
- }
-
- /**
- * Finds a view script from the available directories.
- *
- * @param $name string The base name of the script.
- * @return void
- */
- protected function _script($name)
- {
- if ($this->isLfiProtectionOn() && preg_match('#\.\.[\\\/]#', $name)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Requested scripts may not include parent directory traversal ("../", "..\\" notation)');
- $e->setView($this);
- throw $e;
- }
-
- if (0 == count($this->_path['script'])) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('no view script directory set; unable to determine location for view script');
- $e->setView($this);
- throw $e;
- }
-
- foreach ($this->_path['script'] as $dir) {
- if (is_readable($dir . $name)) {
- return $dir . $name;
- }
- }
-
- require_once 'Zend/View/Exception.php';
- $message = "script '$name' not found in path ("
- . implode(PATH_SEPARATOR, $this->_path['script'])
- . ")";
- $e = new Zend_View_Exception($message);
- $e->setView($this);
- throw $e;
- }
-
- /**
- * Applies the filter callback to a buffer.
- *
- * @param string $buffer The buffer contents.
- * @return string The filtered buffer.
- */
- private function _filter($buffer)
- {
- // loop through each filter class
- foreach ($this->_filter as $name) {
- // load and apply the filter class
- $filter = $this->getFilter($name);
- $buffer = call_user_func(array($filter, 'filter'), $buffer);
- }
-
- // done!
- return $buffer;
- }
-
- /**
- * Adds paths to the path stack in LIFO order.
- *
- * Zend_View::_addPath($type, 'dirname') adds one directory
- * to the path stack.
- *
- * Zend_View::_addPath($type, $array) adds one directory for
- * each array element value.
- *
- * In the case of filter and helper paths, $prefix should be used to
- * specify what class prefix to use with the given path.
- *
- * @param string $type The path type ('script', 'helper', or 'filter').
- * @param string|array $path The path specification.
- * @param string $prefix Class prefix to use with path (helpers and filters
- * only)
- * @return void
- */
- private function _addPath($type, $path, $prefix = null)
- {
- foreach ((array) $path as $dir) {
- // attempt to strip any possible separator and
- // append the system directory separator
- $dir = rtrim($dir, '/');
- $dir = rtrim($dir, '\\');
- $dir .= '/';
-
- switch ($type) {
- case 'script':
- // add to the top of the stack.
- array_unshift($this->_path[$type], $dir);
- break;
- case 'filter':
- case 'helper':
- default:
- // add as array with prefix and dir keys
- array_unshift($this->_path[$type], array('prefix' => $prefix, 'dir' => $dir));
- break;
- }
- }
- }
-
- /**
- * Resets the path stack for helpers and filters.
- *
- * @param string $type The path type ('helper' or 'filter').
- * @param string|array $path The directory (-ies) to set as the path.
- * @param string $classPrefix Class prefix to apply to elements of $path
- */
- private function _setPath($type, $path, $classPrefix = null)
- {
- $dir = DIRECTORY_SEPARATOR . ucfirst($type) . DIRECTORY_SEPARATOR;
-
- switch ($type) {
- case 'script':
- $this->_path[$type] = array(dirname(__FILE__) . $dir);
- $this->_addPath($type, $path);
- break;
- case 'filter':
- case 'helper':
- default:
- $this->_path[$type] = array(array(
- 'prefix' => 'Zend_View_' . ucfirst($type) . '_',
- 'dir' => dirname(__FILE__) . $dir
- ));
- $this->_addPath($type, $path, $classPrefix);
- break;
- }
- }
-
- /**
- * Return all paths for a given path type
- *
- * @param string $type The path type ('helper', 'filter', 'script')
- * @return array
- */
- private function _getPaths($type)
- {
- return $this->_path[$type];
- }
-
- /**
- * Register helper class as loaded
- *
- * @param string $name
- * @param string $class
- * @param string $file path to class file
- * @return void
- */
- private function _setHelperClass($name, $class, $file)
- {
- $this->_helperLoadedDir[$name] = $file;
- $this->_helperLoaded[$name] = $class;
- }
-
- /**
- * Register filter class as loaded
- *
- * @param string $name
- * @param string $class
- * @param string $file path to class file
- * @return void
- */
- private function _setFilterClass($name, $class, $file)
- {
- $this->_filterLoadedDir[$name] = $file;
- $this->_filterLoaded[$name] = $class;
- }
-
- /**
- * Add a prefixPath for a plugin type
- *
- * @param string $type
- * @param string $classPrefix
- * @param array $paths
- * @return Zend_View_Abstract
- */
- private function _addPluginPath($type, $classPrefix, array $paths)
- {
- $loader = $this->getPluginLoader($type);
- foreach ($paths as $path) {
- $loader->addPrefixPath($classPrefix, $path);
- }
- return $this;
- }
-
- /**
- * Get a path to a given plugin class of a given type
- *
- * @param string $type
- * @param string $name
- * @return string|false
- */
- private function _getPluginPath($type, $name)
- {
- $loader = $this->getPluginLoader($type);
- if ($loader->isLoaded($name)) {
- return $loader->getClassPath($name);
- }
-
- try {
- $loader->load($name);
- return $loader->getClassPath($name);
- } catch (Zend_Loader_Exception $e) {
- return false;
- }
- }
-
- /**
- * Retrieve a plugin object
- *
- * @param string $type
- * @param string $name
- * @return object
- */
- private function _getPlugin($type, $name)
- {
- $name = ucfirst($name);
- switch ($type) {
- case 'filter':
- $storeVar = '_filterClass';
- $store = $this->_filterClass;
- break;
- case 'helper':
- $storeVar = '_helper';
- $store = $this->_helper;
- break;
- }
-
- if (!isset($store[$name])) {
- $class = $this->getPluginLoader($type)->load($name);
- $store[$name] = new $class();
- if (method_exists($store[$name], 'setView')) {
- $store[$name]->setView($this);
- }
- }
-
- $this->$storeVar = $store;
- return $store[$name];
- }
-
- /**
- * Use to include the view script in a scope that only allows public
- * members.
- *
- * @return mixed
- */
- abstract protected function _run();
-}
diff --git a/airtime_mvc/library/Zend/View/Exception.php b/airtime_mvc/library/Zend/View/Exception.php
deleted file mode 100644
index 70afa4ae2..000000000
--- a/airtime_mvc/library/Zend/View/Exception.php
+++ /dev/null
@@ -1,51 +0,0 @@
-view = $view;
- return $this;
- }
-
- public function getView()
- {
- return $this->view;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Abstract.php b/airtime_mvc/library/Zend/View/Helper/Abstract.php
deleted file mode 100644
index a1560b849..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Abstract.php
+++ /dev/null
@@ -1,64 +0,0 @@
-view = $view;
- return $this;
- }
-
- /**
- * Strategy pattern: currently unutilized
- *
- * @return void
- */
- public function direct()
- {
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Action.php b/airtime_mvc/library/Zend/View/Helper/Action.php
deleted file mode 100644
index e677cd38e..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Action.php
+++ /dev/null
@@ -1,164 +0,0 @@
-getControllerDirectory();
- if (empty($modules)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Action helper depends on valid front controller instance');
- $e->setView($this->view);
- throw $e;
- }
-
- $request = $front->getRequest();
- $response = $front->getResponse();
-
- if (empty($request) || empty($response)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Action view helper requires both a registered request and response object in the front controller instance');
- $e->setView($this->view);
- throw $e;
- }
-
- $this->request = clone $request;
- $this->response = clone $response;
- $this->dispatcher = clone $front->getDispatcher();
- $this->defaultModule = $front->getDefaultModule();
- }
-
- /**
- * Reset object states
- *
- * @return void
- */
- public function resetObjects()
- {
- $params = $this->request->getUserParams();
- foreach (array_keys($params) as $key) {
- $this->request->setParam($key, null);
- }
-
- $this->response->clearBody();
- $this->response->clearHeaders()
- ->clearRawHeaders();
- }
-
- /**
- * Retrieve rendered contents of a controller action
- *
- * If the action results in a forward or redirect, returns empty string.
- *
- * @param string $action
- * @param string $controller
- * @param string $module Defaults to default module
- * @param array $params
- * @return string
- */
- public function action($action, $controller, $module = null, array $params = array())
- {
- $this->resetObjects();
- if (null === $module) {
- $module = $this->defaultModule;
- }
-
- // clone the view object to prevent over-writing of view variables
- $viewRendererObj = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
- Zend_Controller_Action_HelperBroker::addHelper(clone $viewRendererObj);
-
- $this->request->setParams($params)
- ->setModuleName($module)
- ->setControllerName($controller)
- ->setActionName($action)
- ->setDispatched(true);
-
- $this->dispatcher->dispatch($this->request, $this->response);
-
- // reset the viewRenderer object to it's original state
- Zend_Controller_Action_HelperBroker::addHelper($viewRendererObj);
-
-
- if (!$this->request->isDispatched()
- || $this->response->isRedirect())
- {
- // forwards and redirects render nothing
- return '';
- }
-
- $return = $this->response->getBody();
- $this->resetObjects();
- return $return;
- }
-
- /**
- * Clone the current View
- *
- * @return Zend_View_Interface
- */
- public function cloneView()
- {
- $view = clone $this->view;
- $view->clearVars();
- return $view;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/BaseUrl.php b/airtime_mvc/library/Zend/View/Helper/BaseUrl.php
deleted file mode 100644
index 2c7da7e7a..000000000
--- a/airtime_mvc/library/Zend/View/Helper/BaseUrl.php
+++ /dev/null
@@ -1,116 +0,0 @@
-getBaseUrl();
-
- // Remove trailing slashes
- if (null !== $file) {
- $file = '/' . ltrim($file, '/\\');
- }
-
- return $baseUrl . $file;
- }
-
- /**
- * Set BaseUrl
- *
- * @param string $base
- * @return Zend_View_Helper_BaseUrl
- */
- public function setBaseUrl($base)
- {
- $this->_baseUrl = rtrim($base, '/\\');
- return $this;
- }
-
- /**
- * Get BaseUrl
- *
- * @return string
- */
- public function getBaseUrl()
- {
- if ($this->_baseUrl === null) {
- /** @see Zend_Controller_Front */
- require_once 'Zend/Controller/Front.php';
- $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
-
- // Remove scriptname, eg. index.php from baseUrl
- $baseUrl = $this->_removeScriptName($baseUrl);
-
- $this->setBaseUrl($baseUrl);
- }
-
- return $this->_baseUrl;
- }
-
- /**
- * Remove Script filename from baseurl
- *
- * @param string $url
- * @return string
- */
- protected function _removeScriptName($url)
- {
- if (!isset($_SERVER['SCRIPT_NAME'])) {
- // We can't do much now can we? (Well, we could parse out by ".")
- return $url;
- }
-
- if (($pos = strripos($url, basename($_SERVER['SCRIPT_NAME']))) !== false) {
- $url = substr($url, 0, $pos);
- }
-
- return $url;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Currency.php b/airtime_mvc/library/Zend/View/Helper/Currency.php
deleted file mode 100644
index 08bdbce63..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Currency.php
+++ /dev/null
@@ -1,119 +0,0 @@
-setCurrency($currency);
- }
-
- /**
- * Output a formatted currency
- *
- * @param integer|float $value Currency value to output
- * @param string|Zend_Locale|Zend_Currency $currency OPTIONAL Currency to use for this call
- * @return string Formatted currency
- */
- public function currency($value = null, $currency = null)
- {
- if ($value === null) {
- return $this;
- }
-
- if (is_string($currency) || ($currency instanceof Zend_Locale)) {
- require_once 'Zend/Locale.php';
- if (Zend_Locale::isLocale($currency)) {
- $currency = array('locale' => $currency);
- }
- }
-
- if (is_string($currency)) {
- $currency = array('currency' => $currency);
- }
-
- if (is_array($currency)) {
- return $this->_currency->toCurrency($value, $currency);
- }
-
- return $this->_currency->toCurrency($value);
- }
-
- /**
- * Sets a currency to use
- *
- * @param Zend_Currency|String|Zend_Locale $currency Currency to use
- * @throws Zend_View_Exception When no or a false currency was set
- * @return Zend_View_Helper_Currency
- */
- public function setCurrency($currency = null)
- {
- if (!$currency instanceof Zend_Currency) {
- require_once 'Zend/Currency.php';
- $currency = new Zend_Currency($currency);
- }
- $this->_currency = $currency;
-
- return $this;
- }
-
- /**
- * Retrieve currency object
- *
- * @return Zend_Currency|null
- */
- public function getCurrency()
- {
- return $this->_currency;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Cycle.php b/airtime_mvc/library/Zend/View/Helper/Cycle.php
deleted file mode 100644
index 7f42bb100..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Cycle.php
+++ /dev/null
@@ -1,226 +0,0 @@
--1) ;
-
- /**
- * Array of values
- *
- * @var array
- */
- protected $_data = array(self::DEFAULT_NAME=>array());
-
- /**
- * Actual name of cycle
- *
- * @var string
- */
- protected $_name = self::DEFAULT_NAME;
-
- /**
- * Add elements to alternate
- *
- * @param array $data
- * @param string $name
- * @return Zend_View_Helper_Cycle
- */
- public function cycle(array $data = array(), $name = self::DEFAULT_NAME)
- {
- if(!empty($data))
- $this->_data[$name] = $data;
-
- $this->setName($name);
- return $this;
- }
-
- /**
- * Add elements to alternate
- *
- * @param array $data
- * @param string $name
- * @return Zend_View_Helper_Cycle
- */
- public function assign(Array $data , $name = self::DEFAULT_NAME)
- {
- $this->setName($name);
- $this->_data[$name] = $data;
- $this->rewind();
- return $this;
- }
-
- /**
- * Sets actual name of cycle
- *
- * @param $name
- * @return Zend_View_Helper_Cycle
- */
- public function setName($name = self::DEFAULT_NAME)
- {
- $this->_name = $name;
-
- if(!isset($this->_data[$this->_name]))
- $this->_data[$this->_name] = array();
-
- if(!isset($this->_pointers[$this->_name]))
- $this->rewind();
-
- return $this;
- }
-
- /**
- * Gets actual name of cycle
- *
- * @param $name
- * @return string
- */
- public function getName()
- {
- return $this->_name;
- }
-
-
- /**
- * Return all elements
- *
- * @return array
- */
- public function getAll()
- {
- return $this->_data[$this->_name];
- }
-
- /**
- * Turn helper into string
- *
- * @return string
- */
- public function toString()
- {
- return (string) $this->_data[$this->_name][$this->key()];
- }
-
- /**
- * Cast to string
- *
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-
- /**
- * Move to next value
- *
- * @return Zend_View_Helper_Cycle
- */
- public function next()
- {
- $count = count($this->_data[$this->_name]);
- if ($this->_pointers[$this->_name] == ($count - 1))
- $this->_pointers[$this->_name] = 0;
- else
- $this->_pointers[$this->_name] = ++$this->_pointers[$this->_name];
- return $this;
- }
-
- /**
- * Move to previous value
- *
- * @return Zend_View_Helper_Cycle
- */
- public function prev()
- {
- $count = count($this->_data[$this->_name]);
- if ($this->_pointers[$this->_name] <= 0)
- $this->_pointers[$this->_name] = $count - 1;
- else
- $this->_pointers[$this->_name] = --$this->_pointers[$this->_name];
- return $this;
- }
-
- /**
- * Return iteration number
- *
- * @return int
- */
- public function key()
- {
- if ($this->_pointers[$this->_name] < 0)
- return 0;
- else
- return $this->_pointers[$this->_name];
- }
-
- /**
- * Rewind pointer
- *
- * @return Zend_View_Helper_Cycle
- */
- public function rewind()
- {
- $this->_pointers[$this->_name] = -1;
- return $this;
- }
-
- /**
- * Check if element is valid
- *
- * @return bool
- */
- public function valid()
- {
- return isset($this->_data[$this->_name][$this->key()]);
- }
-
- /**
- * Return current element
- *
- * @return mixed
- */
- public function current()
- {
- return $this->_data[$this->_name][$this->key()];
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/DeclareVars.php b/airtime_mvc/library/Zend/View/Helper/DeclareVars.php
deleted file mode 100644
index 251bff07d..000000000
--- a/airtime_mvc/library/Zend/View/Helper/DeclareVars.php
+++ /dev/null
@@ -1,95 +0,0 @@
-
- * $this->declareVars(
- * 'varName1',
- * 'varName2',
- * array('varName3' => 'defaultValue',
- * 'varName4' => array()
- * )
- * );
- *
- *
- * @param string|array variable number of arguments, all string names of variables to test
- * @return void
- */
- public function declareVars()
- {
- $args = func_get_args();
- foreach($args as $key) {
- if (is_array($key)) {
- foreach ($key as $name => $value) {
- $this->_declareVar($name, $value);
- }
- } else if (!isset($view->$key)) {
- $this->_declareVar($key);
- }
- }
- }
-
- /**
- * Set a view variable
- *
- * Checks to see if a $key is set in the view object; if not, sets it to $value.
- *
- * @param string $key
- * @param string $value Defaults to an empty string
- * @return void
- */
- protected function _declareVar($key, $value = '')
- {
- if (!isset($this->view->$key)) {
- $this->view->$key = $value;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Doctype.php b/airtime_mvc/library/Zend/View/Helper/Doctype.php
deleted file mode 100644
index 4c13cb1bf..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Doctype.php
+++ /dev/null
@@ -1,209 +0,0 @@
-_regKey)) {
- $this->_registry = new ArrayObject(array(
- 'doctypes' => array(
- self::XHTML11 => '',
- self::XHTML1_STRICT => '',
- self::XHTML1_TRANSITIONAL => '',
- self::XHTML1_FRAMESET => '',
- self::XHTML_BASIC1 => '',
- self::XHTML5 => '',
- self::HTML4_STRICT => '',
- self::HTML4_LOOSE => '',
- self::HTML4_FRAMESET => '',
- self::HTML5 => '',
- )
- ));
- Zend_Registry::set($this->_regKey, $this->_registry);
- $this->setDoctype($this->_defaultDoctype);
- } else {
- $this->_registry = Zend_Registry::get($this->_regKey);
- }
- }
-
- /**
- * Set or retrieve doctype
- *
- * @param string $doctype
- * @return Zend_View_Helper_Doctype
- */
- public function doctype($doctype = null)
- {
- if (null !== $doctype) {
- switch ($doctype) {
- case self::XHTML11:
- case self::XHTML1_STRICT:
- case self::XHTML1_TRANSITIONAL:
- case self::XHTML1_FRAMESET:
- case self::XHTML_BASIC1:
- case self::XHTML5:
- case self::HTML4_STRICT:
- case self::HTML4_LOOSE:
- case self::HTML4_FRAMESET:
- case self::HTML5:
- $this->setDoctype($doctype);
- break;
- default:
- if (substr($doctype, 0, 9) != 'setView($this->view);
- throw $e;
- }
- if (stristr($doctype, 'xhtml')) {
- $type = self::CUSTOM_XHTML;
- } else {
- $type = self::CUSTOM;
- }
- $this->setDoctype($type);
- $this->_registry['doctypes'][$type] = $doctype;
- break;
- }
- }
-
- return $this;
- }
-
- /**
- * Set doctype
- *
- * @param string $doctype
- * @return Zend_View_Helper_Doctype
- */
- public function setDoctype($doctype)
- {
- $this->_registry['doctype'] = $doctype;
- return $this;
- }
-
- /**
- * Retrieve doctype
- *
- * @return string
- */
- public function getDoctype()
- {
- return $this->_registry['doctype'];
- }
-
- /**
- * Get doctype => string mappings
- *
- * @return array
- */
- public function getDoctypes()
- {
- return $this->_registry['doctypes'];
- }
-
- /**
- * Is doctype XHTML?
- *
- * @return boolean
- */
- public function isXhtml()
- {
- return (stristr($this->getDoctype(), 'xhtml') ? true : false);
- }
-
- /**
- * Is doctype HTML5? (HeadMeta uses this for validation)
- *
- * @return booleean
- */
- public function isHtml5() {
- return (stristr($this->doctype(), '') ? true : false);
- }
-
- /**
- * String representation of doctype
- *
- * @return string
- */
- public function __toString()
- {
- $doctypes = $this->getDoctypes();
- return $doctypes[$this->getDoctype()];
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Fieldset.php b/airtime_mvc/library/Zend/View/Helper/Fieldset.php
deleted file mode 100644
index 8d9ee267d..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Fieldset.php
+++ /dev/null
@@ -1,79 +0,0 @@
-_getInfo($name, $content, $attribs);
- extract($info);
-
- // get legend
- $legend = '';
- if (isset($attribs['legend'])) {
- $legendString = trim($attribs['legend']);
- if (!empty($legendString)) {
- $legend = ''
- . (($escape) ? $this->view->escape($legendString) : $legendString)
- . ' ' . PHP_EOL;
- }
- unset($attribs['legend']);
- }
-
- // get id
- if (!empty($id)) {
- $id = ' id="' . $this->view->escape($id) . '"';
- } else {
- $id = '';
- }
-
- // render fieldset
- $xhtml = '_htmlAttribs($attribs)
- . '>'
- . $legend
- . $content
- . ' ';
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Form.php b/airtime_mvc/library/Zend/View/Helper/Form.php
deleted file mode 100644
index c0fac06a7..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Form.php
+++ /dev/null
@@ -1,71 +0,0 @@
-_getInfo($name, $content, $attribs);
- extract($info);
-
- if (!empty($id)) {
- $id = ' id="' . $this->view->escape($id) . '"';
- } else {
- $id = '';
- }
-
- if (array_key_exists('id', $attribs) && empty($attribs['id'])) {
- unset($attribs['id']);
- }
-
- $xhtml = '';
- }
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormButton.php b/airtime_mvc/library/Zend/View/Helper/FormButton.php
deleted file mode 100644
index bfb1e2c1e..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormButton.php
+++ /dev/null
@@ -1,105 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, id, value, attribs, options, listsep, disable
-
- // Get content
- $content = '';
- if (isset($attribs['content'])) {
- $content = $attribs['content'];
- unset($attribs['content']);
- } else {
- $content = $value;
- }
-
- // Ensure type is sane
- $type = 'button';
- if (isset($attribs['type'])) {
- $attribs['type'] = strtolower($attribs['type']);
- if (in_array($attribs['type'], array('submit', 'reset', 'button'))) {
- $type = $attribs['type'];
- }
- unset($attribs['type']);
- }
-
- // build the element
- if ($disable) {
- $attribs['disabled'] = 'disabled';
- }
-
- $content = ($escape) ? $this->view->escape($content) : $content;
-
- $xhtml = 'view->escape($value) . '"';
- }
-
- // add attributes and close start tag
- $xhtml .= $this->_htmlAttribs($attribs) . '>';
-
- // add content and end tag
- $xhtml .= $content . ' ';
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormCheckbox.php b/airtime_mvc/library/Zend/View/Helper/FormCheckbox.php
deleted file mode 100644
index 1baef884c..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormCheckbox.php
+++ /dev/null
@@ -1,163 +0,0 @@
- '1',
- 'uncheckedValue' => '0'
- );
-
- /**
- * Generates a 'checkbox' element.
- *
- * @access public
- *
- * @param string|array $name If a string, the element name. If an
- * array, all other parameters are ignored, and the array elements
- * are extracted in place of added parameters.
- * @param mixed $value The element value.
- * @param array $attribs Attributes for the element tag.
- * @return string The element XHTML.
- */
- public function formCheckbox($name, $value = null, $attribs = null, array $checkedOptions = null)
- {
- $info = $this->_getInfo($name, $value, $attribs);
- extract($info); // name, id, value, attribs, options, listsep, disable
-
- $checked = false;
- if (isset($attribs['checked']) && $attribs['checked']) {
- $checked = true;
- unset($attribs['checked']);
- } elseif (isset($attribs['checked'])) {
- $checked = false;
- unset($attribs['checked']);
- }
-
- $checkedOptions = self::determineCheckboxInfo($value, $checked, $checkedOptions);
-
- // is the element disabled?
- $disabled = '';
- if ($disable) {
- $disabled = ' disabled="disabled"';
- }
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- // build the element
- $xhtml = '';
- if (!$disable && !strstr($name, '[]')) {
- $xhtml = $this->_hidden($name, $checkedOptions['uncheckedValue']);
- }
- $xhtml .= ' _htmlAttribs($attribs)
- . $endTag;
-
- return $xhtml;
- }
-
- /**
- * Determine checkbox information
- *
- * @param string $value
- * @param bool $checked
- * @param array|null $checkedOptions
- * @return array
- */
- public static function determineCheckboxInfo($value, $checked, array $checkedOptions = null)
- {
- // Checked/unchecked values
- $checkedValue = null;
- $uncheckedValue = null;
- if (is_array($checkedOptions)) {
- if (array_key_exists('checkedValue', $checkedOptions)) {
- $checkedValue = (string) $checkedOptions['checkedValue'];
- unset($checkedOptions['checkedValue']);
- }
- if (array_key_exists('uncheckedValue', $checkedOptions)) {
- $uncheckedValue = (string) $checkedOptions['uncheckedValue'];
- unset($checkedOptions['uncheckedValue']);
- }
- if (null === $checkedValue) {
- $checkedValue = (string) array_shift($checkedOptions);
- }
- if (null === $uncheckedValue) {
- $uncheckedValue = (string) array_shift($checkedOptions);
- }
- } elseif ($value !== null) {
- $uncheckedValue = self::$_defaultCheckedOptions['uncheckedValue'];
- } else {
- $checkedValue = self::$_defaultCheckedOptions['checkedValue'];
- $uncheckedValue = self::$_defaultCheckedOptions['uncheckedValue'];
- }
-
- // is the element checked?
- $checkedString = '';
- if ($checked || ((string) $value === $checkedValue)) {
- $checkedString = ' checked="checked"';
- $checked = true;
- } else {
- $checked = false;
- }
-
- // Checked value should be value if no checked options provided
- if ($checkedValue == null) {
- $checkedValue = $value;
- }
-
- return array(
- 'checked' => $checked,
- 'checkedString' => $checkedString,
- 'checkedValue' => $checkedValue,
- 'uncheckedValue' => $uncheckedValue,
- );
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormElement.php b/airtime_mvc/library/Zend/View/Helper/FormElement.php
deleted file mode 100644
index 08736271d..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormElement.php
+++ /dev/null
@@ -1,204 +0,0 @@
-_translator;
- }
-
- /**
- * Set translator
- *
- * @param $translator|null Zend_Translate
- * @return Zend_View_Helper_FormElement
- */
- public function setTranslator($translator = null)
- {
- if (null === $translator) {
- $this->_translator = null;
- } elseif ($translator instanceof Zend_Translate_Adapter) {
- $this->_translator = $translator;
- } elseif ($translator instanceof Zend_Translate) {
- $this->_translator = $translator->getAdapter();
- } else {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid translator specified');
- $e->setView($this->view);
- throw $e;
- }
- return $this;
- }
-
- /**
- * Converts parameter arguments to an element info array.
- *
- * E.g, formExample($name, $value, $attribs, $options, $listsep) is
- * the same thing as formExample(array('name' => ...)).
- *
- * Note that you cannot pass a 'disable' param; you need to pass
- * it as an 'attribs' key.
- *
- * @access protected
- *
- * @return array An element info array with keys for name, value,
- * attribs, options, listsep, disable, and escape.
- */
- protected function _getInfo($name, $value = null, $attribs = null,
- $options = null, $listsep = null
- ) {
- // the baseline info. note that $name serves a dual purpose;
- // if an array, it's an element info array that will override
- // these baseline values. as such, ignore it for the 'name'
- // if it's an array.
- $info = array(
- 'name' => is_array($name) ? '' : $name,
- 'id' => is_array($name) ? '' : $name,
- 'value' => $value,
- 'attribs' => $attribs,
- 'options' => $options,
- 'listsep' => $listsep,
- 'disable' => false,
- 'escape' => true,
- );
-
- // override with named args
- if (is_array($name)) {
- // only set keys that are already in info
- foreach ($info as $key => $val) {
- if (isset($name[$key])) {
- $info[$key] = $name[$key];
- }
- }
- }
-
- // force attribs to an array, per note from Orjan Persson.
- settype($info['attribs'], 'array');
-
- // Normalize readonly tag
- if (isset($info['attribs']['readonly'])
- && $info['attribs']['readonly'] != 'readonly')
- {
- $info['attribs']['readonly'] = 'readonly';
- }
-
- // Disable attribute
- if (isset($info['attribs']['disable'])
- && is_scalar($info['attribs']['disable']))
- {
- // disable the element
- $info['disable'] = (bool)$info['attribs']['disable'];
- unset($info['attribs']['disable']);
- } elseif (isset($info['attribs']['disable'])
- && is_array($info['attribs']['disable']))
- {
- $info['disable'] = $info['attribs']['disable'];
- unset($info['attribs']['disable']);
- }
-
- // Set ID for element
- if (isset($info['attribs']['id'])) {
- $info['id'] = (string) $info['attribs']['id'];
- } elseif (!isset($info['attribs']['id']) && !empty($info['name'])) {
- $id = $info['name'];
- if (substr($id, -2) == '[]') {
- $id = substr($id, 0, strlen($id) - 2);
- }
- if (strstr($id, ']')) {
- $id = trim($id, ']');
- $id = str_replace('][', '-', $id);
- $id = str_replace('[', '-', $id);
- }
- $info['id'] = $id;
- }
-
- // Determine escaping from attributes
- if (isset($info['attribs']['escape'])) {
- $info['escape'] = (bool) $info['attribs']['escape'];
- }
-
- // Determine listsetp from attributes
- if (isset($info['attribs']['listsep'])) {
- $info['listsep'] = (string) $info['attribs']['listsep'];
- }
-
- // Remove attribs that might overwrite the other keys. We do this LAST
- // because we needed the other attribs values earlier.
- foreach ($info as $key => $val) {
- if (isset($info['attribs'][$key])) {
- unset($info['attribs'][$key]);
- }
- }
-
- // done!
- return $info;
- }
-
- /**
- * Creates a hidden element.
- *
- * We have this as a common method because other elements often
- * need hidden elements for their operation.
- *
- * @access protected
- *
- * @param $name The element name.
- *
- * @param $value The element value.
- *
- * @param $attribs Attributes for the element.
- *
- * @return string A hidden element.
- */
- protected function _hidden($name, $value = null, $attribs = null)
- {
- return ' _htmlAttribs($attribs) . $this->getClosingBracket();
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormErrors.php b/airtime_mvc/library/Zend/View/Helper/FormErrors.php
deleted file mode 100644
index a3a44cd14..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormErrors.php
+++ /dev/null
@@ -1,157 +0,0 @@
-';
- protected $_htmlElementStart = '';
- protected $_htmlElementSeparator = ' ';
- /**#@-*/
-
- /**
- * Render form errors
- *
- * @param string|array $errors Error(s) to render
- * @param array $options
- * @return string
- */
- public function formErrors($errors, array $options = null)
- {
- $escape = true;
- if (isset($options['escape'])) {
- $escape = (bool) $options['escape'];
- unset($options['escape']);
- }
-
- if (empty($options['class'])) {
- $options['class'] = 'errors';
- }
-
- $start = $this->getElementStart();
- if (strstr($start, '%s')) {
- $attribs = $this->_htmlAttribs($options);
- $start = sprintf($start, $attribs);
- }
-
- if ($escape) {
- foreach ($errors as $key => $error) {
- $errors[$key] = $this->view->escape($error);
- }
- }
-
- $html = $start
- . implode($this->getElementSeparator(), (array) $errors)
- . $this->getElementEnd();
-
- return $html;
- }
-
- /**
- * Set end string for displaying errors
- *
- * @param string $string
- * @return Zend_View_Helper_FormErrors
- */
- public function setElementEnd($string)
- {
- $this->_htmlElementEnd = (string) $string;
- return $this;
- }
-
- /**
- * Retrieve end string for displaying errors
- *
- * @return string
- */
- public function getElementEnd()
- {
- return $this->_htmlElementEnd;
- }
-
- /**
- * Set separator string for displaying errors
- *
- * @param string $string
- * @return Zend_View_Helper_FormErrors
- */
- public function setElementSeparator($string)
- {
- $this->_htmlElementSeparator = (string) $string;
- return $this;
- }
-
- /**
- * Retrieve separator string for displaying errors
- *
- * @return string
- */
- public function getElementSeparator()
- {
- return $this->_htmlElementSeparator;
- }
-
- /**
- * Set start string for displaying errors
- *
- * @param string $string
- * @return Zend_View_Helper_FormErrors
- */
- public function setElementStart($string)
- {
- $this->_htmlElementStart = (string) $string;
- return $this;
- }
-
- /**
- * Retrieve start string for displaying errors
- *
- * @return string
- */
- public function getElementStart()
- {
- return $this->_htmlElementStart;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormFile.php b/airtime_mvc/library/Zend/View/Helper/FormFile.php
deleted file mode 100644
index b8de480fe..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormFile.php
+++ /dev/null
@@ -1,81 +0,0 @@
-_getInfo($name, null, $attribs);
- extract($info); // name, id, value, attribs, options, listsep, disable
-
- // is it disabled?
- $disabled = '';
- if ($disable) {
- $disabled = ' disabled="disabled"';
- }
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- // build the element
- $xhtml = ' _htmlAttribs($attribs)
- . $endTag;
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormHidden.php b/airtime_mvc/library/Zend/View/Helper/FormHidden.php
deleted file mode 100644
index 387ae3bd8..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormHidden.php
+++ /dev/null
@@ -1,66 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
- if (isset($id)) {
- if (isset($attribs) && is_array($attribs)) {
- $attribs['id'] = $id;
- } else {
- $attribs = array('id' => $id);
- }
- }
- return $this->_hidden($name, $value, $attribs);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormImage.php b/airtime_mvc/library/Zend/View/Helper/FormImage.php
deleted file mode 100644
index 1226cb701..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormImage.php
+++ /dev/null
@@ -1,101 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // Determine if we should use the value or the src attribute
- if (isset($attribs['src'])) {
- $src = ' src="' . $this->view->escape($attribs['src']) . '"';
- unset($attribs['src']);
- } else {
- $src = ' src="' . $this->view->escape($value) . '"';
- unset($value);
- }
-
- // Do we have a value?
- if (isset($value) && !empty($value)) {
- $value = ' value="' . $this->view->escape($value) . '"';
- } else {
- $value = '';
- }
-
- // Disabled?
- $disabled = '';
- if ($disable) {
- $disabled = ' disabled="disabled"';
- }
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- // build the element
- $xhtml = ' _htmlAttribs($attribs)
- . $endTag;
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormLabel.php b/airtime_mvc/library/Zend/View/Helper/FormLabel.php
deleted file mode 100644
index dca842f0a..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormLabel.php
+++ /dev/null
@@ -1,72 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable, escape
-
- // build the element
- if ($disable) {
- // disabled; display nothing
- return '';
- }
-
- $value = ($escape) ? $this->view->escape($value) : $value;
- $for = (empty($attribs['disableFor']) || !$attribs['disableFor'])
- ? ' for="' . $this->view->escape($id) . '"'
- : '';
- if (array_key_exists('disableFor', $attribs)) {
- unset($attribs['disableFor']);
- }
-
- // enabled; display label
- $xhtml = '_htmlAttribs($attribs)
- . '>' . $value . ' ';
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormMultiCheckbox.php b/airtime_mvc/library/Zend/View/Helper/FormMultiCheckbox.php
deleted file mode 100644
index 4f1b98638..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormMultiCheckbox.php
+++ /dev/null
@@ -1,74 +0,0 @@
-\n")
- {
- return $this->formRadio($name, $value, $attribs, $options, $listsep);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormNote.php b/airtime_mvc/library/Zend/View/Helper/FormNote.php
deleted file mode 100644
index 36837275d..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormNote.php
+++ /dev/null
@@ -1,61 +0,0 @@
-_getInfo($name, $value);
- extract($info); // name, value, attribs, options, listsep, disable
- return $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormPassword.php b/airtime_mvc/library/Zend/View/Helper/FormPassword.php
deleted file mode 100644
index ccae1e5d8..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormPassword.php
+++ /dev/null
@@ -1,95 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // is it disabled?
- $disabled = '';
- if ($disable) {
- // disabled
- $disabled = ' disabled="disabled"';
- }
-
- // determine the XHTML value
- $valueString = ' value=""';
- if (array_key_exists('renderPassword', $attribs)) {
- if ($attribs['renderPassword']) {
- $valueString = ' value="' . $this->view->escape($value) . '"';
- }
- unset($attribs['renderPassword']);
- }
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- // render the element
- $xhtml = ' _htmlAttribs($attribs)
- . $endTag;
-
- return $xhtml;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormRadio.php b/airtime_mvc/library/Zend/View/Helper/FormRadio.php
deleted file mode 100644
index d559b34f6..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormRadio.php
+++ /dev/null
@@ -1,183 +0,0 @@
-\n")
- {
-
- $info = $this->_getInfo($name, $value, $attribs, $options, $listsep);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // retrieve attributes for labels (prefixed with 'label_' or 'label')
- $label_attribs = array();
- foreach ($attribs as $key => $val) {
- $tmp = false;
- $keyLen = strlen($key);
- if ((6 < $keyLen) && (substr($key, 0, 6) == 'label_')) {
- $tmp = substr($key, 6);
- } elseif ((5 < $keyLen) && (substr($key, 0, 5) == 'label')) {
- $tmp = substr($key, 5);
- }
-
- if ($tmp) {
- // make sure first char is lowercase
- $tmp[0] = strtolower($tmp[0]);
- $label_attribs[$tmp] = $val;
- unset($attribs[$key]);
- }
- }
-
- $labelPlacement = 'append';
- foreach ($label_attribs as $key => $val) {
- switch (strtolower($key)) {
- case 'placement':
- unset($label_attribs[$key]);
- $val = strtolower($val);
- if (in_array($val, array('prepend', 'append'))) {
- $labelPlacement = $val;
- }
- break;
- }
- }
-
- // the radio button values and labels
- $options = (array) $options;
-
- // build the element
- $xhtml = '';
- $list = array();
-
- // should the name affect an array collection?
- $name = $this->view->escape($name);
- if ($this->_isArray && ('[]' != substr($name, -2))) {
- $name .= '[]';
- }
-
- // ensure value is an array to allow matching multiple times
- $value = (array) $value;
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- // add radio buttons to the list.
- require_once 'Zend/Filter/Alnum.php';
- $filter = new Zend_Filter_Alnum();
- foreach ($options as $opt_value => $opt_label) {
-
- // Should the label be escaped?
- if ($escape) {
- $opt_label = $this->view->escape($opt_label);
- }
-
- // is it disabled?
- $disabled = '';
- if (true === $disable) {
- $disabled = ' disabled="disabled"';
- } elseif (is_array($disable) && in_array($opt_value, $disable)) {
- $disabled = ' disabled="disabled"';
- }
-
- // is it checked?
- $checked = '';
- if (in_array($opt_value, $value)) {
- $checked = ' checked="checked"';
- }
-
- // generate ID
- $optId = $id . '-' . $filter->filter($opt_value);
-
- // Wrap the radios in labels
- $radio = '_htmlAttribs($label_attribs) . ' for="' . $optId . '">'
- . (('prepend' == $labelPlacement) ? $opt_label : '')
- . ' _htmlAttribs($attribs)
- . $endTag
- . (('append' == $labelPlacement) ? $opt_label : '')
- . ' ';
-
- // add to the array of radio buttons
- $list[] = $radio;
- }
-
- // done!
- $xhtml .= implode($listsep, $list);
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormReset.php b/airtime_mvc/library/Zend/View/Helper/FormReset.php
deleted file mode 100644
index 05556fe74..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormReset.php
+++ /dev/null
@@ -1,88 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // check if disabled
- $disabled = '';
- if ($disable) {
- $disabled = ' disabled="disabled"';
- }
-
- // get closing tag
- $endTag = '>';
- if ($this->view->doctype()->isXhtml()) {
- $endTag = ' />';
- }
-
- // Render button
- $xhtml = ' view->escape($value) . '"';
- }
-
- // add attributes, close, and return
- $xhtml .= $this->_htmlAttribs($attribs) . $endTag;
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormSelect.php b/airtime_mvc/library/Zend/View/Helper/FormSelect.php
deleted file mode 100644
index bb5c777e8..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormSelect.php
+++ /dev/null
@@ -1,178 +0,0 @@
-\n")
- {
- $info = $this->_getInfo($name, $value, $attribs, $options, $listsep);
- extract($info); // name, id, value, attribs, options, listsep, disable
-
- // force $value to array so we can compare multiple values to multiple
- // options; also ensure it's a string for comparison purposes.
- $value = array_map('strval', (array) $value);
-
- // check if element may have multiple values
- $multiple = '';
-
- if (substr($name, -2) == '[]') {
- // multiple implied by the name
- $multiple = ' multiple="multiple"';
- }
-
- if (isset($attribs['multiple'])) {
- // Attribute set
- if ($attribs['multiple']) {
- // True attribute; set multiple attribute
- $multiple = ' multiple="multiple"';
-
- // Make sure name indicates multiple values are allowed
- if (!empty($multiple) && (substr($name, -2) != '[]')) {
- $name .= '[]';
- }
- } else {
- // False attribute; ensure attribute not set
- $multiple = '';
- }
- unset($attribs['multiple']);
- }
-
- // now start building the XHTML.
- $disabled = '';
- if (true === $disable) {
- $disabled = ' disabled="disabled"';
- }
-
- // Build the surrounding select element first.
- $xhtml = '_htmlAttribs($attribs)
- . ">\n ";
-
- // build the list of options
- $list = array();
- $translator = $this->getTranslator();
- foreach ((array) $options as $opt_value => $opt_label) {
- if (is_array($opt_label)) {
- $opt_disable = '';
- if (is_array($disable) && in_array($opt_value, $disable)) {
- $opt_disable = ' disabled="disabled"';
- }
- if (null !== $translator) {
- $opt_value = $translator->translate($opt_value);
- }
- $list[] = '';
- foreach ($opt_label as $val => $lab) {
- $list[] = $this->_build($val, $lab, $value, $disable);
- }
- $list[] = ' ';
- } else {
- $list[] = $this->_build($opt_value, $opt_label, $value, $disable);
- }
- }
-
- // add the options to the xhtml and close the select
- $xhtml .= implode("\n ", $list) . "\n ";
-
- return $xhtml;
- }
-
- /**
- * Builds the actual tag
- *
- * @param string $value Options Value
- * @param string $label Options Label
- * @param array $selected The option value(s) to mark as 'selected'
- * @param array|bool $disable Whether the select is disabled, or individual options are
- * @return string Option Tag XHTML
- */
- protected function _build($value, $label, $selected, $disable)
- {
- if (is_bool($disable)) {
- $disable = array();
- }
-
- $opt = ' view->escape($label) . " ";
-
- return $opt;
- }
-
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormSubmit.php b/airtime_mvc/library/Zend/View/Helper/FormSubmit.php
deleted file mode 100644
index d38d35d73..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormSubmit.php
+++ /dev/null
@@ -1,84 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // check if disabled
- $disabled = '';
- if ($disable) {
- $disabled = ' disabled="disabled"';
- }
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- // Render the button.
- $xhtml = ' _htmlAttribs($attribs)
- . $endTag;
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormText.php b/airtime_mvc/library/Zend/View/Helper/FormText.php
deleted file mode 100644
index 420b28862..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormText.php
+++ /dev/null
@@ -1,84 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // build the element
- $disabled = '';
- if ($disable) {
- // disabled
- $disabled = ' disabled="disabled"';
- }
-
- // XHTML or HTML end tag?
- $endTag = ' />';
- if (($this->view instanceof Zend_View_Abstract) && !$this->view->doctype()->isXhtml()) {
- $endTag= '>';
- }
-
- $xhtml = ' _htmlAttribs($attribs)
- . $endTag;
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/FormTextarea.php b/airtime_mvc/library/Zend/View/Helper/FormTextarea.php
deleted file mode 100644
index 47783ef93..000000000
--- a/airtime_mvc/library/Zend/View/Helper/FormTextarea.php
+++ /dev/null
@@ -1,104 +0,0 @@
-_getInfo($name, $value, $attribs);
- extract($info); // name, value, attribs, options, listsep, disable
-
- // is it disabled?
- $disabled = '';
- if ($disable) {
- // disabled.
- $disabled = ' disabled="disabled"';
- }
-
- // Make sure that there are 'rows' and 'cols' values
- // as required by the spec. noted by Orjan Persson.
- if (empty($attribs['rows'])) {
- $attribs['rows'] = (int) $this->rows;
- }
- if (empty($attribs['cols'])) {
- $attribs['cols'] = (int) $this->cols;
- }
-
- // build the element
- $xhtml = '';
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HeadLink.php b/airtime_mvc/library/Zend/View/Helper/HeadLink.php
deleted file mode 100644
index f3c4d8627..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HeadLink.php
+++ /dev/null
@@ -1,437 +0,0 @@
-setSeparator(PHP_EOL);
- }
-
- /**
- * headLink() - View Helper Method
- *
- * Returns current object instance. Optionally, allows passing array of
- * values to build link.
- *
- * @return Zend_View_Helper_HeadLink
- */
- public function headLink(array $attributes = null, $placement = Zend_View_Helper_Placeholder_Container_Abstract::APPEND)
- {
- if (null !== $attributes) {
- $item = $this->createData($attributes);
- switch ($placement) {
- case Zend_View_Helper_Placeholder_Container_Abstract::SET:
- $this->set($item);
- break;
- case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND:
- $this->prepend($item);
- break;
- case Zend_View_Helper_Placeholder_Container_Abstract::APPEND:
- default:
- $this->append($item);
- break;
- }
- }
- return $this;
- }
-
- /**
- * Overload method access
- *
- * Creates the following virtual methods:
- * - appendStylesheet($href, $media, $conditionalStylesheet, $extras)
- * - offsetSetStylesheet($index, $href, $media, $conditionalStylesheet, $extras)
- * - prependStylesheet($href, $media, $conditionalStylesheet, $extras)
- * - setStylesheet($href, $media, $conditionalStylesheet, $extras)
- * - appendAlternate($href, $type, $title, $extras)
- * - offsetSetAlternate($index, $href, $type, $title, $extras)
- * - prependAlternate($href, $type, $title, $extras)
- * - setAlternate($href, $type, $title, $extras)
- *
- * Items that may be added in the future:
- * - Navigation? need to find docs on this
- * - public function appendStart()
- * - public function appendContents()
- * - public function appendPrev()
- * - public function appendNext()
- * - public function appendIndex()
- * - public function appendEnd()
- * - public function appendGlossary()
- * - public function appendAppendix()
- * - public function appendHelp()
- * - public function appendBookmark()
- * - Other?
- * - public function appendCopyright()
- * - public function appendChapter()
- * - public function appendSection()
- * - public function appendSubsection()
- *
- * @param mixed $method
- * @param mixed $args
- * @return void
- */
- public function __call($method, $args)
- {
- if (preg_match('/^(?Pset|(ap|pre)pend|offsetSet)(?PStylesheet|Alternate)$/', $method, $matches)) {
- $argc = count($args);
- $action = $matches['action'];
- $type = $matches['type'];
- $index = null;
-
- if ('offsetSet' == $action) {
- if (0 < $argc) {
- $index = array_shift($args);
- --$argc;
- }
- }
-
- if (1 > $argc) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('%s requires at least one argument', $method));
- $e->setView($this->view);
- throw $e;
- }
-
- if (is_array($args[0])) {
- $item = $this->createData($args[0]);
- } else {
- $dataMethod = 'createData' . $type;
- $item = $this->$dataMethod($args);
- }
-
- if ($item) {
- if ('offsetSet' == $action) {
- $this->offsetSet($index, $item);
- } else {
- $this->$action($item);
- }
- }
-
- return $this;
- }
-
- return parent::__call($method, $args);
- }
-
- /**
- * Check if value is valid
- *
- * @param mixed $value
- * @return boolean
- */
- protected function _isValid($value)
- {
- if (!$value instanceof stdClass) {
- return false;
- }
-
- $vars = get_object_vars($value);
- $keys = array_keys($vars);
- $intersection = array_intersect($this->_itemKeys, $keys);
- if (empty($intersection)) {
- return false;
- }
-
- return true;
- }
-
- /**
- * append()
- *
- * @param array $value
- * @return void
- */
- public function append($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('append() expects a data token; please use one of the custom append*() methods');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->append($value);
- }
-
- /**
- * offsetSet()
- *
- * @param string|int $index
- * @param array $value
- * @return void
- */
- public function offsetSet($index, $value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('offsetSet() expects a data token; please use one of the custom offsetSet*() methods');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->offsetSet($index, $value);
- }
-
- /**
- * prepend()
- *
- * @param array $value
- * @return Zend_Layout_ViewHelper_HeadLink
- */
- public function prepend($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('prepend() expects a data token; please use one of the custom prepend*() methods');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->prepend($value);
- }
-
- /**
- * set()
- *
- * @param array $value
- * @return Zend_Layout_ViewHelper_HeadLink
- */
- public function set($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('set() expects a data token; please use one of the custom set*() methods');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->set($value);
- }
-
-
- /**
- * Create HTML link element from data item
- *
- * @param stdClass $item
- * @return string
- */
- public function itemToString(stdClass $item)
- {
- $attributes = (array) $item;
- $link = ' _itemKeys as $itemKey) {
- if (isset($attributes[$itemKey])) {
- if(is_array($attributes[$itemKey])) {
- foreach($attributes[$itemKey] as $key => $value) {
- $link .= sprintf('%s="%s" ', $key, ($this->_autoEscape) ? $this->_escape($value) : $value);
- }
- } else {
- $link .= sprintf('%s="%s" ', $itemKey, ($this->_autoEscape) ? $this->_escape($attributes[$itemKey]) : $attributes[$itemKey]);
- }
- }
- }
-
- if ($this->view instanceof Zend_View_Abstract) {
- $link .= ($this->view->doctype()->isXhtml()) ? '/>' : '>';
- } else {
- $link .= '/>';
- }
-
- if (($link == ' ') || ($link == ' ')) {
- return '';
- }
-
- if (isset($attributes['conditionalStylesheet'])
- && !empty($attributes['conditionalStylesheet'])
- && is_string($attributes['conditionalStylesheet']))
- {
- $link = '';
- }
-
- return $link;
- }
-
- /**
- * Render link elements as string
- *
- * @param string|int $indent
- * @return string
- */
- public function toString($indent = null)
- {
- $indent = (null !== $indent)
- ? $this->getWhitespace($indent)
- : $this->getIndent();
-
- $items = array();
- $this->getContainer()->ksort();
- foreach ($this as $item) {
- $items[] = $this->itemToString($item);
- }
-
- return $indent . implode($this->_escape($this->getSeparator()) . $indent, $items);
- }
-
- /**
- * Create data item for stack
- *
- * @param array $attributes
- * @return stdClass
- */
- public function createData(array $attributes)
- {
- $data = (object) $attributes;
- return $data;
- }
-
- /**
- * Create item for stylesheet link item
- *
- * @param array $args
- * @return stdClass|false Returns fals if stylesheet is a duplicate
- */
- public function createDataStylesheet(array $args)
- {
- $rel = 'stylesheet';
- $type = 'text/css';
- $media = 'screen';
- $conditionalStylesheet = false;
- $href = array_shift($args);
-
- if ($this->_isDuplicateStylesheet($href)) {
- return false;
- }
-
- if (0 < count($args)) {
- $media = array_shift($args);
- if(is_array($media)) {
- $media = implode(',', $media);
- } else {
- $media = (string) $media;
- }
- }
- if (0 < count($args)) {
- $conditionalStylesheet = array_shift($args);
- if(!empty($conditionalStylesheet) && is_string($conditionalStylesheet)) {
- $conditionalStylesheet = (string) $conditionalStylesheet;
- } else {
- $conditionalStylesheet = null;
- }
- }
-
- if(0 < count($args) && is_array($args[0])) {
- $extras = array_shift($args);
- $extras = (array) $extras;
- }
-
- $attributes = compact('rel', 'type', 'href', 'media', 'conditionalStylesheet', 'extras');
- return $this->createData($attributes);
- }
-
- /**
- * Is the linked stylesheet a duplicate?
- *
- * @param string $uri
- * @return bool
- */
- protected function _isDuplicateStylesheet($uri)
- {
- foreach ($this->getContainer() as $item) {
- if (($item->rel == 'stylesheet') && ($item->href == $uri)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Create item for alternate link item
- *
- * @param array $args
- * @return stdClass
- */
- public function createDataAlternate(array $args)
- {
- if (3 > count($args)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Alternate tags require 3 arguments; %s provided', count($args)));
- $e->setView($this->view);
- throw $e;
- }
-
- $rel = 'alternate';
- $href = array_shift($args);
- $type = array_shift($args);
- $title = array_shift($args);
-
- if(0 < count($args) && is_array($args[0])) {
- $extras = array_shift($args);
- $extras = (array) $extras;
-
- if(isset($extras['media']) && is_array($extras['media'])) {
- $extras['media'] = implode(',', $extras['media']);
- }
- }
-
- $href = (string) $href;
- $type = (string) $type;
- $title = (string) $title;
-
- $attributes = compact('rel', 'href', 'type', 'title', 'extras');
- return $this->createData($attributes);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HeadMeta.php b/airtime_mvc/library/Zend/View/Helper/HeadMeta.php
deleted file mode 100644
index 837ad7384..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HeadMeta.php
+++ /dev/null
@@ -1,412 +0,0 @@
-setSeparator(PHP_EOL);
- }
-
- /**
- * Retrieve object instance; optionally add meta tag
- *
- * @param string $content
- * @param string $keyValue
- * @param string $keyType
- * @param array $modifiers
- * @param string $placement
- * @return Zend_View_Helper_HeadMeta
- */
- public function headMeta($content = null, $keyValue = null, $keyType = 'name', $modifiers = array(), $placement = Zend_View_Helper_Placeholder_Container_Abstract::APPEND)
- {
- if ((null !== $content) && (null !== $keyValue)) {
- $item = $this->createData($keyType, $keyValue, $content, $modifiers);
- $action = strtolower($placement);
- switch ($action) {
- case 'append':
- case 'prepend':
- case 'set':
- $this->$action($item);
- break;
- default:
- $this->append($item);
- break;
- }
- }
-
- return $this;
- }
-
- protected function _normalizeType($type)
- {
- switch ($type) {
- case 'Name':
- return 'name';
- case 'HttpEquiv':
- return 'http-equiv';
- default:
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Invalid type "%s" passed to _normalizeType', $type));
- $e->setView($this->view);
- throw $e;
- }
- }
-
- /**
- * Overload method access
- *
- * Allows the following 'virtual' methods:
- * - appendName($keyValue, $content, $modifiers = array())
- * - offsetGetName($index, $keyValue, $content, $modifers = array())
- * - prependName($keyValue, $content, $modifiers = array())
- * - setName($keyValue, $content, $modifiers = array())
- * - appendHttpEquiv($keyValue, $content, $modifiers = array())
- * - offsetGetHttpEquiv($index, $keyValue, $content, $modifers = array())
- * - prependHttpEquiv($keyValue, $content, $modifiers = array())
- * - setHttpEquiv($keyValue, $content, $modifiers = array())
- *
- * @param string $method
- * @param array $args
- * @return Zend_View_Helper_HeadMeta
- */
- public function __call($method, $args)
- {
- if (preg_match('/^(?Pset|(pre|ap)pend|offsetSet)(?PName|HttpEquiv)$/', $method, $matches)) {
- $action = $matches['action'];
- $type = $this->_normalizeType($matches['type']);
- $argc = count($args);
- $index = null;
-
- if ('offsetSet' == $action) {
- if (0 < $argc) {
- $index = array_shift($args);
- --$argc;
- }
- }
-
- if (2 > $argc) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Too few arguments provided; requires key value, and content');
- $e->setView($this->view);
- throw $e;
- }
-
- if (3 > $argc) {
- $args[] = array();
- }
-
- $item = $this->createData($type, $args[0], $args[1], $args[2]);
-
- if ('offsetSet' == $action) {
- return $this->offsetSet($index, $item);
- }
-
- $this->$action($item);
- return $this;
- }
-
- return parent::__call($method, $args);
- }
-
- /**
- * Create an HTML5-style meta charset tag. Something like
- *
- * Not valid in a non-HTML5 doctype
- *
- * @param string $charset
- * @return Zend_View_Helper_HeadMeta Provides a fluent interface
- */
- public function setCharset($charset)
- {
- $item = new stdClass;
- $item->type = 'charset';
- $item->charset = $charset;
- $item->content = null;
- $item->modifiers = array();
- $this->set($item);
- return $this;
- }
-
- /**
- * Determine if item is valid
- *
- * @param mixed $item
- * @return boolean
- */
- protected function _isValid($item)
- {
- if ((!$item instanceof stdClass)
- || !isset($item->type)
- || !isset($item->modifiers))
- {
- return false;
- }
-
- if (!isset($item->content)
- && (! $this->view->doctype()->isHtml5()
- || (! $this->view->doctype()->isHtml5() && $item->type !== 'charset'))) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Append
- *
- * @param string $value
- * @return void
- * @throws Zend_View_Exception
- */
- public function append($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to append; please use appendMeta()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->append($value);
- }
-
- /**
- * OffsetSet
- *
- * @param string|int $index
- * @param string $value
- * @return void
- * @throws Zend_View_Exception
- */
- public function offsetSet($index, $value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to offsetSet; please use offsetSetName() or offsetSetHttpEquiv()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->offsetSet($index, $value);
- }
-
- /**
- * OffsetUnset
- *
- * @param string|int $index
- * @return void
- * @throws Zend_View_Exception
- */
- public function offsetUnset($index)
- {
- if (!in_array($index, $this->getContainer()->getKeys())) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid index passed to offsetUnset()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->offsetUnset($index);
- }
-
- /**
- * Prepend
- *
- * @param string $value
- * @return void
- * @throws Zend_View_Exception
- */
- public function prepend($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to prepend; please use prependMeta()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->prepend($value);
- }
-
- /**
- * Set
- *
- * @param string $value
- * @return void
- * @throws Zend_View_Exception
- */
- public function set($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to set; please use setMeta()');
- $e->setView($this->view);
- throw $e;
- }
-
- $container = $this->getContainer();
- foreach ($container->getArrayCopy() as $index => $item) {
- if ($item->type == $value->type && $item->{$item->type} == $value->{$value->type}) {
- $this->offsetUnset($index);
- }
- }
-
- return $this->append($value);
- }
-
- /**
- * Build meta HTML string
- *
- * @param string $type
- * @param string $typeValue
- * @param string $content
- * @param array $modifiers
- * @return string
- */
- public function itemToString(stdClass $item)
- {
- if (!in_array($item->type, $this->_typeKeys)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Invalid type "%s" provided for meta', $item->type));
- $e->setView($this->view);
- throw $e;
- }
- $type = $item->type;
-
- $modifiersString = '';
- foreach ($item->modifiers as $key => $value) {
- if ($this->view->doctype()->isHtml5()
- && $key == 'scheme') {
- require_once 'Zend/View/Exception.php';
- throw new Zend_View_Exception('Invalid modifier '
- . '"scheme" provided; not supported by HTML5');
- }
- if (!in_array($key, $this->_modifierKeys)) {
- continue;
- }
- $modifiersString .= $key . '="' . $this->_escape($value) . '" ';
- }
-
- if ($this->view instanceof Zend_View_Abstract) {
- if ($this->view->doctype()->isHtml5()
- && $type == 'charset') {
- $tpl = ($this->view->doctype()->isXhtml())
- ? ' '
- : ' ';
- } elseif ($this->view->doctype()->isXhtml()) {
- $tpl = ' ';
- } else {
- $tpl = ' ';
- }
- } else {
- $tpl = ' ';
- }
-
- $meta = sprintf(
- $tpl,
- $type,
- $this->_escape($item->$type),
- $this->_escape($item->content),
- $modifiersString
- );
- return $meta;
- }
-
- /**
- * Render placeholder as string
- *
- * @param string|int $indent
- * @return string
- */
- public function toString($indent = null)
- {
- $indent = (null !== $indent)
- ? $this->getWhitespace($indent)
- : $this->getIndent();
-
- $items = array();
- $this->getContainer()->ksort();
- try {
- foreach ($this as $item) {
- $items[] = $this->itemToString($item);
- }
- } catch (Zend_View_Exception $e) {
- trigger_error($e->getMessage(), E_USER_WARNING);
- return '';
- }
- return $indent . implode($this->_escape($this->getSeparator()) . $indent, $items);
- }
-
- /**
- * Create data item for inserting into stack
- *
- * @param string $type
- * @param string $typeValue
- * @param string $content
- * @param array $modifiers
- * @return stdClass
- */
- public function createData($type, $typeValue, $content, array $modifiers)
- {
- $data = new stdClass;
- $data->type = $type;
- $data->$type = $typeValue;
- $data->content = $content;
- $data->modifiers = $modifiers;
- return $data;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HeadScript.php b/airtime_mvc/library/Zend/View/Helper/HeadScript.php
deleted file mode 100644
index db3e80296..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HeadScript.php
+++ /dev/null
@@ -1,495 +0,0 @@
-setSeparator(PHP_EOL);
- }
-
- /**
- * Return headScript object
- *
- * Returns headScript helper object; optionally, allows specifying a script
- * or script file to include.
- *
- * @param string $mode Script or file
- * @param string $spec Script/url
- * @param string $placement Append, prepend, or set
- * @param array $attrs Array of script attributes
- * @param string $type Script type and/or array of script attributes
- * @return Zend_View_Helper_HeadScript
- */
- public function headScript($mode = Zend_View_Helper_HeadScript::FILE, $spec = null, $placement = 'APPEND', array $attrs = array(), $type = 'text/javascript')
- {
- if ((null !== $spec) && is_string($spec)) {
- $action = ucfirst(strtolower($mode));
- $placement = strtolower($placement);
- switch ($placement) {
- case 'set':
- case 'prepend':
- case 'append':
- $action = $placement . $action;
- break;
- default:
- $action = 'append' . $action;
- break;
- }
- $this->$action($spec, $type, $attrs);
- }
-
- return $this;
- }
-
- /**
- * Start capture action
- *
- * @param mixed $captureType
- * @param string $typeOrAttrs
- * @return void
- */
- public function captureStart($captureType = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $type = 'text/javascript', $attrs = array())
- {
- if ($this->_captureLock) {
- require_once 'Zend/View/Helper/Placeholder/Container/Exception.php';
- $e = new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest headScript captures');
- $e->setView($this->view);
- throw $e;
- }
-
- $this->_captureLock = true;
- $this->_captureType = $captureType;
- $this->_captureScriptType = $type;
- $this->_captureScriptAttrs = $attrs;
- ob_start();
- }
-
- /**
- * End capture action and store
- *
- * @return void
- */
- public function captureEnd()
- {
- $content = ob_get_clean();
- $type = $this->_captureScriptType;
- $attrs = $this->_captureScriptAttrs;
- $this->_captureScriptType = null;
- $this->_captureScriptAttrs = null;
- $this->_captureLock = false;
-
- switch ($this->_captureType) {
- case Zend_View_Helper_Placeholder_Container_Abstract::SET:
- case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND:
- case Zend_View_Helper_Placeholder_Container_Abstract::APPEND:
- $action = strtolower($this->_captureType) . 'Script';
- break;
- default:
- $action = 'appendScript';
- break;
- }
- $this->$action($content, $type, $attrs);
- }
-
- /**
- * Overload method access
- *
- * Allows the following method calls:
- * - appendFile($src, $type = 'text/javascript', $attrs = array())
- * - offsetSetFile($index, $src, $type = 'text/javascript', $attrs = array())
- * - prependFile($src, $type = 'text/javascript', $attrs = array())
- * - setFile($src, $type = 'text/javascript', $attrs = array())
- * - appendScript($script, $type = 'text/javascript', $attrs = array())
- * - offsetSetScript($index, $src, $type = 'text/javascript', $attrs = array())
- * - prependScript($script, $type = 'text/javascript', $attrs = array())
- * - setScript($script, $type = 'text/javascript', $attrs = array())
- *
- * @param string $method
- * @param array $args
- * @return Zend_View_Helper_HeadScript
- * @throws Zend_View_Exception if too few arguments or invalid method
- */
- public function __call($method, $args)
- {
- if (preg_match('/^(?Pset|(ap|pre)pend|offsetSet)(?PFile|Script)$/', $method, $matches)) {
- if (1 > count($args)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Method "%s" requires at least one argument', $method));
- $e->setView($this->view);
- throw $e;
- }
-
- $action = $matches['action'];
- $mode = strtolower($matches['mode']);
- $type = 'text/javascript';
- $attrs = array();
-
- if ('offsetSet' == $action) {
- $index = array_shift($args);
- if (1 > count($args)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Method "%s" requires at least two arguments, an index and source', $method));
- $e->setView($this->view);
- throw $e;
- }
- }
-
- $content = $args[0];
-
- if (isset($args[1])) {
- $type = (string) $args[1];
- }
- if (isset($args[2])) {
- $attrs = (array) $args[2];
- }
-
- switch ($mode) {
- case 'script':
- $item = $this->createData($type, $attrs, $content);
- if ('offsetSet' == $action) {
- $this->offsetSet($index, $item);
- } else {
- $this->$action($item);
- }
- break;
- case 'file':
- default:
- if (!$this->_isDuplicate($content)) {
- $attrs['src'] = $content;
- $item = $this->createData($type, $attrs);
- if ('offsetSet' == $action) {
- $this->offsetSet($index, $item);
- } else {
- $this->$action($item);
- }
- }
- break;
- }
-
- return $this;
- }
-
- return parent::__call($method, $args);
- }
-
- /**
- * Is the file specified a duplicate?
- *
- * @param string $file
- * @return bool
- */
- protected function _isDuplicate($file)
- {
- foreach ($this->getContainer() as $item) {
- if (($item->source === null)
- && array_key_exists('src', $item->attributes)
- && ($file == $item->attributes['src']))
- {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Is the script provided valid?
- *
- * @param mixed $value
- * @param string $method
- * @return bool
- */
- protected function _isValid($value)
- {
- if ((!$value instanceof stdClass)
- || !isset($value->type)
- || (!isset($value->source) && !isset($value->attributes)))
- {
- return false;
- }
-
- return true;
- }
-
- /**
- * Override append
- *
- * @param string $value
- * @return void
- */
- public function append($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid argument passed to append(); please use one of the helper methods, appendScript() or appendFile()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->append($value);
- }
-
- /**
- * Override prepend
- *
- * @param string $value
- * @return void
- */
- public function prepend($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid argument passed to prepend(); please use one of the helper methods, prependScript() or prependFile()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->prepend($value);
- }
-
- /**
- * Override set
- *
- * @param string $value
- * @return void
- */
- public function set($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid argument passed to set(); please use one of the helper methods, setScript() or setFile()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->set($value);
- }
-
- /**
- * Override offsetSet
- *
- * @param string|int $index
- * @param mixed $value
- * @return void
- */
- public function offsetSet($index, $value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid argument passed to offsetSet(); please use one of the helper methods, offsetSetScript() or offsetSetFile()');
- $e->setView($this->view);
- throw $e;
- }
-
- $this->_isValid($value);
- return $this->getContainer()->offsetSet($index, $value);
- }
-
- /**
- * Set flag indicating if arbitrary attributes are allowed
- *
- * @param bool $flag
- * @return Zend_View_Helper_HeadScript
- */
- public function setAllowArbitraryAttributes($flag)
- {
- $this->_arbitraryAttributes = (bool) $flag;
- return $this;
- }
-
- /**
- * Are arbitrary attributes allowed?
- *
- * @return bool
- */
- public function arbitraryAttributesAllowed()
- {
- return $this->_arbitraryAttributes;
- }
-
- /**
- * Create script HTML
- *
- * @param string $type
- * @param array $attributes
- * @param string $content
- * @param string|int $indent
- * @return string
- */
- public function itemToString($item, $indent, $escapeStart, $escapeEnd)
- {
- $attrString = '';
- if (!empty($item->attributes)) {
- foreach ($item->attributes as $key => $value) {
- if (!$this->arbitraryAttributesAllowed()
- && !in_array($key, $this->_optionalAttributes))
- {
- continue;
- }
- if ('defer' == $key) {
- $value = 'defer';
- }
- $attrString .= sprintf(' %s="%s"', $key, ($this->_autoEscape) ? $this->_escape($value) : $value);
- }
- }
-
- $type = ($this->_autoEscape) ? $this->_escape($item->type) : $item->type;
- $html = '';
-
- if (isset($item->attributes['conditional'])
- && !empty($item->attributes['conditional'])
- && is_string($item->attributes['conditional']))
- {
- $html = $indent . '';
- } else {
- $html = $indent . $html;
- }
-
- return $html;
- }
-
- /**
- * Retrieve string representation
- *
- * @param string|int $indent
- * @return string
- */
- public function toString($indent = null)
- {
- $indent = (null !== $indent)
- ? $this->getWhitespace($indent)
- : $this->getIndent();
-
- if ($this->view) {
- $useCdata = $this->view->doctype()->isXhtml() ? true : false;
- } else {
- $useCdata = $this->useCdata ? true : false;
- }
- $escapeStart = ($useCdata) ? '//' : '//-->';
-
- $items = array();
- $this->getContainer()->ksort();
- foreach ($this as $item) {
- if (!$this->_isValid($item)) {
- continue;
- }
-
- $items[] = $this->itemToString($item, $indent, $escapeStart, $escapeEnd);
- }
-
- $return = implode($this->getSeparator(), $items);
- return $return;
- }
-
- /**
- * Create data item containing all necessary components of script
- *
- * @param string $type
- * @param array $attributes
- * @param string $content
- * @return stdClass
- */
- public function createData($type, array $attributes, $content = null)
- {
- $data = new stdClass();
- $data->type = $type;
- $data->attributes = $attributes;
- $data->source = $content;
- return $data;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HeadStyle.php b/airtime_mvc/library/Zend/View/Helper/HeadStyle.php
deleted file mode 100644
index a27af6221..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HeadStyle.php
+++ /dev/null
@@ -1,419 +0,0 @@
-setSeparator(PHP_EOL);
- }
-
- /**
- * Return headStyle object
- *
- * Returns headStyle helper object; optionally, allows specifying
- *
- * @param string $content Stylesheet contents
- * @param string $placement Append, prepend, or set
- * @param string|array $attributes Optional attributes to utilize
- * @return Zend_View_Helper_HeadStyle
- */
- public function headStyle($content = null, $placement = 'APPEND', $attributes = array())
- {
- if ((null !== $content) && is_string($content)) {
- switch (strtoupper($placement)) {
- case 'SET':
- $action = 'setStyle';
- break;
- case 'PREPEND':
- $action = 'prependStyle';
- break;
- case 'APPEND':
- default:
- $action = 'appendStyle';
- break;
- }
- $this->$action($content, $attributes);
- }
-
- return $this;
- }
-
- /**
- * Overload method calls
- *
- * Allows the following method calls:
- * - appendStyle($content, $attributes = array())
- * - offsetSetStyle($index, $content, $attributes = array())
- * - prependStyle($content, $attributes = array())
- * - setStyle($content, $attributes = array())
- *
- * @param string $method
- * @param array $args
- * @return void
- * @throws Zend_View_Exception When no $content provided or invalid method
- */
- public function __call($method, $args)
- {
- if (preg_match('/^(?Pset|(ap|pre)pend|offsetSet)(Style)$/', $method, $matches)) {
- $index = null;
- $argc = count($args);
- $action = $matches['action'];
-
- if ('offsetSet' == $action) {
- if (0 < $argc) {
- $index = array_shift($args);
- --$argc;
- }
- }
-
- if (1 > $argc) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf('Method "%s" requires minimally content for the stylesheet', $method));
- $e->setView($this->view);
- throw $e;
- }
-
- $content = $args[0];
- $attrs = array();
- if (isset($args[1])) {
- $attrs = (array) $args[1];
- }
-
- $item = $this->createData($content, $attrs);
-
- if ('offsetSet' == $action) {
- $this->offsetSet($index, $item);
- } else {
- $this->$action($item);
- }
-
- return $this;
- }
-
- return parent::__call($method, $args);
- }
-
- /**
- * Determine if a value is a valid style tag
- *
- * @param mixed $value
- * @param string $method
- * @return boolean
- */
- protected function _isValid($value)
- {
- if ((!$value instanceof stdClass)
- || !isset($value->content)
- || !isset($value->attributes))
- {
- return false;
- }
-
- return true;
- }
-
- /**
- * Override append to enforce style creation
- *
- * @param mixed $value
- * @return void
- */
- public function append($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to append; please use appendStyle()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->append($value);
- }
-
- /**
- * Override offsetSet to enforce style creation
- *
- * @param string|int $index
- * @param mixed $value
- * @return void
- */
- public function offsetSet($index, $value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to offsetSet; please use offsetSetStyle()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->offsetSet($index, $value);
- }
-
- /**
- * Override prepend to enforce style creation
- *
- * @param mixed $value
- * @return void
- */
- public function prepend($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to prepend; please use prependStyle()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->prepend($value);
- }
-
- /**
- * Override set to enforce style creation
- *
- * @param mixed $value
- * @return void
- */
- public function set($value)
- {
- if (!$this->_isValid($value)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Invalid value passed to set; please use setStyle()');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->getContainer()->set($value);
- }
-
- /**
- * Start capture action
- *
- * @param mixed $captureType
- * @param string $typeOrAttrs
- * @return void
- */
- public function captureStart($type = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $attrs = null)
- {
- if ($this->_captureLock) {
- require_once 'Zend/View/Helper/Placeholder/Container/Exception.php';
- $e = new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest headStyle captures');
- $e->setView($this->view);
- throw $e;
- }
-
- $this->_captureLock = true;
- $this->_captureAttrs = $attrs;
- $this->_captureType = $type;
- ob_start();
- }
-
- /**
- * End capture action and store
- *
- * @return void
- */
- public function captureEnd()
- {
- $content = ob_get_clean();
- $attrs = $this->_captureAttrs;
- $this->_captureAttrs = null;
- $this->_captureLock = false;
-
- switch ($this->_captureType) {
- case Zend_View_Helper_Placeholder_Container_Abstract::SET:
- $this->setStyle($content, $attrs);
- break;
- case Zend_View_Helper_Placeholder_Container_Abstract::PREPEND:
- $this->prependStyle($content, $attrs);
- break;
- case Zend_View_Helper_Placeholder_Container_Abstract::APPEND:
- default:
- $this->appendStyle($content, $attrs);
- break;
- }
- }
-
- /**
- * Convert content and attributes into valid style tag
- *
- * @param stdClass $item Item to render
- * @param string $indent Indentation to use
- * @return string
- */
- public function itemToString(stdClass $item, $indent)
- {
- $attrString = '';
- if (!empty($item->attributes)) {
- $enc = 'UTF-8';
- if ($this->view instanceof Zend_View_Interface
- && method_exists($this->view, 'getEncoding')
- ) {
- $enc = $this->view->getEncoding();
- }
- foreach ($item->attributes as $key => $value) {
- if (!in_array($key, $this->_optionalAttributes)) {
- continue;
- }
- if ('media' == $key) {
- if(false === strpos($value, ',')) {
- if (!in_array($value, $this->_mediaTypes)) {
- continue;
- }
- } else {
- $media_types = explode(',', $value);
- $value = '';
- foreach($media_types as $type) {
- $type = trim($type);
- if (!in_array($type, $this->_mediaTypes)) {
- continue;
- }
- $value .= $type .',';
- }
- $value = substr($value, 0, -1);
- }
- }
- $attrString .= sprintf(' %s="%s"', $key, htmlspecialchars($value, ENT_COMPAT, $enc));
- }
- }
-
- $html = '';
-
- if (isset($item->attributes['conditional'])
- && !empty($item->attributes['conditional'])
- && is_string($item->attributes['conditional']))
- {
- $html = '';
- }
-
- return $html;
- }
-
- /**
- * Create string representation of placeholder
- *
- * @param string|int $indent
- * @return string
- */
- public function toString($indent = null)
- {
- $indent = (null !== $indent)
- ? $this->getWhitespace($indent)
- : $this->getIndent();
-
- $items = array();
- $this->getContainer()->ksort();
- foreach ($this as $item) {
- if (!$this->_isValid($item)) {
- continue;
- }
- $items[] = $this->itemToString($item, $indent);
- }
-
- $return = $indent . implode($this->getSeparator() . $indent, $items);
- $return = preg_replace("/(\r\n?|\n)/", '$1' . $indent, $return);
- return $return;
- }
-
- /**
- * Create data item for use in stack
- *
- * @param string $content
- * @param array $attributes
- * @return stdClass
- */
- public function createData($content, array $attributes)
- {
- if (!isset($attributes['media'])) {
- $attributes['media'] = 'screen';
- } else if(is_array($attributes['media'])) {
- $attributes['media'] = implode(',', $attributes['media']);
- }
-
- $data = new stdClass();
- $data->content = $content;
- $data->attributes = $attributes;
-
- return $data;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HeadTitle.php b/airtime_mvc/library/Zend/View/Helper/HeadTitle.php
deleted file mode 100644
index c2748bf80..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HeadTitle.php
+++ /dev/null
@@ -1,181 +0,0 @@
-set($title);
- } elseif ($setType == Zend_View_Helper_Placeholder_Container_Abstract::PREPEND) {
- $this->prepend($title);
- } else {
- $this->append($title);
- }
- }
-
- return $this;
- }
-
- /**
- * Sets a translation Adapter for translation
- *
- * @param Zend_Translate|Zend_Translate_Adapter $translate
- * @return Zend_View_Helper_HeadTitle
- */
- public function setTranslator($translate)
- {
- if ($translate instanceof Zend_Translate_Adapter) {
- $this->_translator = $translate;
- } elseif ($translate instanceof Zend_Translate) {
- $this->_translator = $translate->getAdapter();
- } else {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception("You must set an instance of Zend_Translate or Zend_Translate_Adapter");
- $e->setView($this->view);
- throw $e;
- }
- return $this;
- }
-
- /*
- * Retrieve translation object
- *
- * If none is currently registered, attempts to pull it from the registry
- * using the key 'Zend_Translate'.
- *
- * @return Zend_Translate_Adapter|null
- */
- public function getTranslator()
- {
- if (null === $this->_translator) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Translate')) {
- $this->setTranslator(Zend_Registry::get('Zend_Translate'));
- }
- }
- return $this->_translator;
- }
-
- /**
- * Enables translation
- *
- * @return Zend_View_Helper_HeadTitle
- */
- public function enableTranslation()
- {
- $this->_translate = true;
- return $this;
- }
-
- /**
- * Disables translation
- *
- * @return Zend_View_Helper_HeadTitle
- */
- public function disableTranslation()
- {
- $this->_translate = false;
- return $this;
- }
-
- /**
- * Turn helper into string
- *
- * @param string|null $indent
- * @param string|null $locale
- * @return string
- */
- public function toString($indent = null, $locale = null)
- {
- $indent = (null !== $indent)
- ? $this->getWhitespace($indent)
- : $this->getIndent();
-
- $items = array();
-
- if($this->_translate && $translator = $this->getTranslator()) {
- foreach ($this as $item) {
- $items[] = $translator->translate($item, $locale);
- }
- } else {
- foreach ($this as $item) {
- $items[] = $item;
- }
- }
-
- $separator = $this->getSeparator();
- $output = '';
- if(($prefix = $this->getPrefix())) {
- $output .= $prefix;
- }
- $output .= implode($separator, $items);
- if(($postfix = $this->getPostfix())) {
- $output .= $postfix;
- }
-
- $output = ($this->_autoEscape) ? $this->_escape($output) : $output;
-
- return $indent . '' . $output . ' ';
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HtmlElement.php b/airtime_mvc/library/Zend/View/Helper/HtmlElement.php
deleted file mode 100644
index d4d7ae3b0..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HtmlElement.php
+++ /dev/null
@@ -1,141 +0,0 @@
-_closingBracket) {
- if ($this->_isXhtml()) {
- $this->_closingBracket = ' />';
- } else {
- $this->_closingBracket = '>';
- }
- }
-
- return $this->_closingBracket;
- }
-
- /**
- * Is doctype XHTML?
- *
- * @return boolean
- */
- protected function _isXhtml()
- {
- $doctype = $this->view->doctype();
- return $doctype->isXhtml();
- }
-
- /**
- * Converts an associative array to a string of tag attributes.
- *
- * @access public
- *
- * @param array $attribs From this array, each key-value pair is
- * converted to an attribute name and value.
- *
- * @return string The XHTML for the attributes.
- */
- protected function _htmlAttribs($attribs)
- {
- $xhtml = '';
- foreach ((array) $attribs as $key => $val) {
- $key = $this->view->escape($key);
-
- if (('on' == substr($key, 0, 2)) || ('constraints' == $key)) {
- // Don't escape event attributes; _do_ substitute double quotes with singles
- if (!is_scalar($val)) {
- // non-scalar data should be cast to JSON first
- require_once 'Zend/Json.php';
- $val = Zend_Json::encode($val);
- }
- $val = preg_replace('/"([^"]*)":/', '$1:', $val);
- } else {
- if (is_array($val)) {
- $val = implode(' ', $val);
- }
- $val = $this->view->escape($val);
- }
-
- if ('id' == $key) {
- $val = $this->_normalizeId($val);
- }
-
- if (strpos($val, '"') !== false) {
- $xhtml .= " $key='$val'";
- } else {
- $xhtml .= " $key=\"$val\"";
- }
-
- }
- return $xhtml;
- }
-
- /**
- * Normalize an ID
- *
- * @param string $value
- * @return string
- */
- protected function _normalizeId($value)
- {
- if (strstr($value, '[')) {
- if ('[]' == substr($value, -2)) {
- $value = substr($value, 0, strlen($value) - 2);
- }
- $value = trim($value, ']');
- $value = str_replace('][', '-', $value);
- $value = str_replace('[', '-', $value);
- }
- return $value;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HtmlFlash.php b/airtime_mvc/library/Zend/View/Helper/HtmlFlash.php
deleted file mode 100644
index 700218042..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HtmlFlash.php
+++ /dev/null
@@ -1,60 +0,0 @@
- $data,
- 'quality' => 'high'), $params);
-
- return $this->htmlObject($data, self::TYPE, $attribs, $params, $content);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HtmlList.php b/airtime_mvc/library/Zend/View/Helper/HtmlList.php
deleted file mode 100644
index 8a59498a1..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HtmlList.php
+++ /dev/null
@@ -1,90 +0,0 @@
-setView($this->view);
- throw $e;
- }
-
- $list = '';
-
- foreach ($items as $item) {
- if (!is_array($item)) {
- if ($escape) {
- $item = $this->view->escape($item);
- }
- $list .= '' . $item . ' ' . self::EOL;
- } else {
- if (6 < strlen($list)) {
- $list = substr($list, 0, strlen($list) - 6)
- . $this->htmlList($item, $ordered, $attribs, $escape) . ' ' . self::EOL;
- } else {
- $list .= '' . $this->htmlList($item, $ordered, $attribs, $escape) . ' ' . self::EOL;
- }
- }
- }
-
- if ($attribs) {
- $attribs = $this->_htmlAttribs($attribs);
- } else {
- $attribs = '';
- }
-
- $tag = 'ul';
- if ($ordered) {
- $tag = 'ol';
- }
-
- return '<' . $tag . $attribs . '>' . self::EOL . $list . '' . $tag . '>' . self::EOL;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HtmlObject.php b/airtime_mvc/library/Zend/View/Helper/HtmlObject.php
deleted file mode 100644
index 05562ce07..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HtmlObject.php
+++ /dev/null
@@ -1,80 +0,0 @@
- $data,
- 'type' => $type), $attribs);
-
- // Params
- $paramHtml = array();
- $closingBracket = $this->getClosingBracket();
-
- foreach ($params as $param => $options) {
- if (is_string($options)) {
- $options = array('value' => $options);
- }
-
- $options = array_merge(array('name' => $param), $options);
-
- $paramHtml[] = ' _htmlAttribs($options) . $closingBracket;
- }
-
- // Content
- if (is_array($content)) {
- $content = implode(self::EOL, $content);
- }
-
- // Object header
- $xhtml = '_htmlAttribs($attribs) . '>' . self::EOL
- . implode(self::EOL, $paramHtml) . self::EOL
- . ($content ? $content . self::EOL : '')
- . ' ';
-
- return $xhtml;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HtmlPage.php b/airtime_mvc/library/Zend/View/Helper/HtmlPage.php
deleted file mode 100644
index bfcddcca1..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HtmlPage.php
+++ /dev/null
@@ -1,75 +0,0 @@
- self::ATTRIB_CLASSID);
-
- /**
- * Output a html object tag
- *
- * @param string $data The html url
- * @param array $attribs Attribs for the object tag
- * @param array $params Params for in the object tag
- * @param string $content Alternative content
- * @return string
- */
- public function htmlPage($data, array $attribs = array(), array $params = array(), $content = null)
- {
- // Attrs
- $attribs = array_merge($this->_attribs, $attribs);
-
- // Params
- $params = array_merge(array('data' => $data), $params);
-
- return $this->htmlObject($data, self::TYPE, $attribs, $params, $content);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/HtmlQuicktime.php b/airtime_mvc/library/Zend/View/Helper/HtmlQuicktime.php
deleted file mode 100644
index b06f38014..000000000
--- a/airtime_mvc/library/Zend/View/Helper/HtmlQuicktime.php
+++ /dev/null
@@ -1,82 +0,0 @@
- self::ATTRIB_CLASSID,
- 'codebase' => self::ATTRIB_CODEBASE);
-
- /**
- * Output a quicktime movie object tag
- *
- * @param string $data The quicktime file
- * @param array $attribs Attribs for the object tag
- * @param array $params Params for in the object tag
- * @param string $content Alternative content
- * @return string
- */
- public function htmlQuicktime($data, array $attribs = array(), array $params = array(), $content = null)
- {
- // Attrs
- $attribs = array_merge($this->_attribs, $attribs);
-
- // Params
- $params = array_merge(array('src' => $data), $params);
-
- return $this->htmlObject($data, self::TYPE, $attribs, $params, $content);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/InlineScript.php b/airtime_mvc/library/Zend/View/Helper/InlineScript.php
deleted file mode 100644
index e95b30d4c..000000000
--- a/airtime_mvc/library/Zend/View/Helper/InlineScript.php
+++ /dev/null
@@ -1,61 +0,0 @@
-headScript($mode, $spec, $placement, $attrs, $type);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Interface.php b/airtime_mvc/library/Zend/View/Helper/Interface.php
deleted file mode 100644
index 26ea148d2..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Interface.php
+++ /dev/null
@@ -1,46 +0,0 @@
-true|false
- * this array can contains a 'keepLayout'=>true|false
- * that will not be passed to Zend_Json::encode method but will be used here
- * @return string|void
- */
- public function json($data, $keepLayouts = false)
- {
- $options = array();
- if (is_array($keepLayouts))
- {
- $options = $keepLayouts;
- $keepLayouts = (array_key_exists('keepLayouts', $keepLayouts))
- ? $keepLayouts['keepLayouts']
- : false;
- unset($options['keepLayouts']);
- }
-
- $data = Zend_Json::encode($data, null, $options);
- if (!$keepLayouts) {
- require_once 'Zend/Layout.php';
- $layout = Zend_Layout::getMvcInstance();
- if ($layout instanceof Zend_Layout) {
- $layout->disableLayout();
- }
- }
-
- $response = Zend_Controller_Front::getInstance()->getResponse();
- $response->setHeader('Content-Type', 'application/json');
- return $data;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Layout.php b/airtime_mvc/library/Zend/View/Helper/Layout.php
deleted file mode 100644
index 20613f231..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Layout.php
+++ /dev/null
@@ -1,81 +0,0 @@
-_layout) {
- require_once 'Zend/Layout.php';
- $this->_layout = Zend_Layout::getMvcInstance();
- if (null === $this->_layout) {
- // Implicitly creates layout object
- $this->_layout = new Zend_Layout();
- }
- }
-
- return $this->_layout;
- }
-
- /**
- * Set layout object
- *
- * @param Zend_Layout $layout
- * @return Zend_Layout_Controller_Action_Helper_Layout
- */
- public function setLayout(Zend_Layout $layout)
- {
- $this->_layout = $layout;
- return $this;
- }
-
- /**
- * Return layout object
- *
- * Usage: $this->layout()->setLayout('alternate');
- *
- * @return Zend_Layout
- */
- public function layout()
- {
- return $this->getLayout();
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Navigation.php b/airtime_mvc/library/Zend/View/Helper/Navigation.php
deleted file mode 100644
index 6c5013cc0..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Navigation.php
+++ /dev/null
@@ -1,338 +0,0 @@
-setContainer($container);
- }
-
- return $this;
- }
-
- /**
- * Magic overload: Proxy to other navigation helpers or the container
- *
- * Examples of usage from a view script or layout:
- *
- * // proxy to Menu helper and render container:
- * echo $this->navigation()->menu();
- *
- * // proxy to Breadcrumbs helper and set indentation:
- * $this->navigation()->breadcrumbs()->setIndent(8);
- *
- * // proxy to container and find all pages with 'blog' route:
- * $blogPages = $this->navigation()->findAllByRoute('blog');
- *
- *
- * @param string $method helper name or method name in
- * container
- * @param array $arguments [optional] arguments to pass
- * @return mixed returns what the proxied call returns
- * @throws Zend_View_Exception if proxying to a helper, and the
- * helper is not an instance of the
- * interface specified in
- * {@link findHelper()}
- * @throws Zend_Navigation_Exception if method does not exist in container
- */
- public function __call($method, array $arguments = array())
- {
- // check if call should proxy to another helper
- if ($helper = $this->findHelper($method, false)) {
- return call_user_func_array(array($helper, $method), $arguments);
- }
-
- // default behaviour: proxy call to container
- return parent::__call($method, $arguments);
- }
-
- /**
- * Returns the helper matching $proxy
- *
- * The helper must implement the interface
- * {@link Zend_View_Helper_Navigation_Helper}.
- *
- * @param string $proxy helper name
- * @param bool $strict [optional] whether
- * exceptions should be
- * thrown if something goes
- * wrong. Default is true.
- * @return Zend_View_Helper_Navigation_Helper helper instance
- * @throws Zend_Loader_PluginLoader_Exception if $strict is true and
- * helper cannot be found
- * @throws Zend_View_Exception if $strict is true and
- * helper does not implement
- * the specified interface
- */
- public function findHelper($proxy, $strict = true)
- {
- if (isset($this->_helpers[$proxy])) {
- return $this->_helpers[$proxy];
- }
-
- if (!$this->view->getPluginLoader('helper')->getPaths(self::NS)) {
- $this->view->addHelperPath(
- str_replace('_', '/', self::NS),
- self::NS);
- }
-
- if ($strict) {
- $helper = $this->view->getHelper($proxy);
- } else {
- try {
- $helper = $this->view->getHelper($proxy);
- } catch (Zend_Loader_PluginLoader_Exception $e) {
- return null;
- }
- }
-
- if (!$helper instanceof Zend_View_Helper_Navigation_Helper) {
- if ($strict) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf(
- 'Proxy helper "%s" is not an instance of ' .
- 'Zend_View_Helper_Navigation_Helper',
- get_class($helper)));
- $e->setView($this->view);
- throw $e;
- }
-
- return null;
- }
-
- $this->_inject($helper);
- $this->_helpers[$proxy] = $helper;
-
- return $helper;
- }
-
- /**
- * Injects container, ACL, and translator to the given $helper if this
- * helper is configured to do so
- *
- * @param Zend_View_Helper_Navigation_Helper $helper helper instance
- * @return void
- */
- protected function _inject(Zend_View_Helper_Navigation_Helper $helper)
- {
- if ($this->getInjectContainer() && !$helper->hasContainer()) {
- $helper->setContainer($this->getContainer());
- }
-
- if ($this->getInjectAcl()) {
- if (!$helper->hasAcl()) {
- $helper->setAcl($this->getAcl());
- }
- if (!$helper->hasRole()) {
- $helper->setRole($this->getRole());
- }
- }
-
- if ($this->getInjectTranslator() && !$helper->hasTranslator()) {
- $helper->setTranslator($this->getTranslator());
- }
- }
-
- // Accessors:
-
- /**
- * Sets the default proxy to use in {@link render()}
- *
- * @param string $proxy default proxy
- * @return Zend_View_Helper_Navigation fluent interface, returns self
- */
- public function setDefaultProxy($proxy)
- {
- $this->_defaultProxy = (string) $proxy;
- return $this;
- }
-
- /**
- * Returns the default proxy to use in {@link render()}
- *
- * @return string the default proxy to use in {@link render()}
- */
- public function getDefaultProxy()
- {
- return $this->_defaultProxy;
- }
-
- /**
- * Sets whether container should be injected when proxying
- *
- * @param bool $injectContainer [optional] whether container should
- * be injected when proxying. Default
- * is true.
- * @return Zend_View_Helper_Navigation fluent interface, returns self
- */
- public function setInjectContainer($injectContainer = true)
- {
- $this->_injectContainer = (bool) $injectContainer;
- return $this;
- }
-
- /**
- * Returns whether container should be injected when proxying
- *
- * @return bool whether container should be injected when proxying
- */
- public function getInjectContainer()
- {
- return $this->_injectContainer;
- }
-
- /**
- * Sets whether ACL should be injected when proxying
- *
- * @param bool $injectAcl [optional] whether ACL should be
- * injected when proxying. Default is
- * true.
- * @return Zend_View_Helper_Navigation fluent interface, returns self
- */
- public function setInjectAcl($injectAcl = true)
- {
- $this->_injectAcl = (bool) $injectAcl;
- return $this;
- }
-
- /**
- * Returns whether ACL should be injected when proxying
- *
- * @return bool whether ACL should be injected when proxying
- */
- public function getInjectAcl()
- {
- return $this->_injectAcl;
- }
-
- /**
- * Sets whether translator should be injected when proxying
- *
- * @param bool $injectTranslator [optional] whether translator should
- * be injected when proxying. Default
- * is true.
- * @return Zend_View_Helper_Navigation fluent interface, returns self
- */
- public function setInjectTranslator($injectTranslator = true)
- {
- $this->_injectTranslator = (bool) $injectTranslator;
- return $this;
- }
-
- /**
- * Returns whether translator should be injected when proxying
- *
- * @return bool whether translator should be injected when proxying
- */
- public function getInjectTranslator()
- {
- return $this->_injectTranslator;
- }
-
- // Zend_View_Helper_Navigation_Helper:
-
- /**
- * Renders helper
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to
- * render the container
- * registered in the helper.
- * @return string helper output
- * @throws Zend_Loader_PluginLoader_Exception if helper cannot be found
- * @throws Zend_View_Exception if helper doesn't implement
- * the interface specified in
- * {@link findHelper()}
- */
- public function render(Zend_Navigation_Container $container = null)
- {
- $helper = $this->findHelper($this->getDefaultProxy());
- return $helper->render($container);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Navigation/Breadcrumbs.php b/airtime_mvc/library/Zend/View/Helper/Navigation/Breadcrumbs.php
deleted file mode 100644
index 7ec3cc02b..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Navigation/Breadcrumbs.php
+++ /dev/null
@@ -1,331 +0,0 @@
-setContainer($container);
- }
-
- return $this;
- }
-
- // Accessors:
-
- /**
- * Sets breadcrumb separator
- *
- * @param string $separator separator string
- * @return Zend_View_Helper_Navigation_Breadcrumbs fluent interface,
- * returns self
- */
- public function setSeparator($separator)
- {
- if (is_string($separator)) {
- $this->_separator = $separator;
- }
-
- return $this;
- }
-
- /**
- * Returns breadcrumb separator
- *
- * @return string breadcrumb separator
- */
- public function getSeparator()
- {
- return $this->_separator;
- }
-
- /**
- * Sets whether last page in breadcrumbs should be hyperlinked
- *
- * @param bool $linkLast whether last page should
- * be hyperlinked
- * @return Zend_View_Helper_Navigation_Breadcrumbs fluent interface,
- * returns self
- */
- public function setLinkLast($linkLast)
- {
- $this->_linkLast = (bool) $linkLast;
- return $this;
- }
-
- /**
- * Returns whether last page in breadcrumbs should be hyperlinked
- *
- * @return bool whether last page in breadcrumbs should be hyperlinked
- */
- public function getLinkLast()
- {
- return $this->_linkLast;
- }
-
- /**
- * Sets which partial view script to use for rendering menu
- *
- * @param string|array $partial partial view script or
- * null. If an array is
- * given, it is expected to
- * contain two values;
- * the partial view script
- * to use, and the module
- * where the script can be
- * found.
- * @return Zend_View_Helper_Navigation_Breadcrumbs fluent interface,
- * returns self
- */
- public function setPartial($partial)
- {
- if (null === $partial || is_string($partial) || is_array($partial)) {
- $this->_partial = $partial;
- }
-
- return $this;
- }
-
- /**
- * Returns partial view script to use for rendering menu
- *
- * @return string|array|null
- */
- public function getPartial()
- {
- return $this->_partial;
- }
-
- // Render methods:
-
- /**
- * Renders breadcrumbs by chaining 'a' elements with the separator
- * registered in the helper
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to
- * render the container
- * registered in the helper.
- * @return string helper output
- */
- public function renderStraight(Zend_Navigation_Container $container = null)
- {
- if (null === $container) {
- $container = $this->getContainer();
- }
-
- // find deepest active
- if (!$active = $this->findActive($container)) {
- return '';
- }
-
- $active = $active['page'];
-
- // put the deepest active page last in breadcrumbs
- if ($this->getLinkLast()) {
- $html = $this->htmlify($active);
- } else {
- $html = $active->getLabel();
- if ($this->getUseTranslator() && $t = $this->getTranslator()) {
- $html = $t->translate($html);
- }
- $html = $this->view->escape($html);
- }
-
- // walk back to root
- while ($parent = $active->getParent()) {
- if ($parent instanceof Zend_Navigation_Page) {
- // prepend crumb to html
- $html = $this->htmlify($parent)
- . $this->getSeparator()
- . $html;
- }
-
- if ($parent === $container) {
- // at the root of the given container
- break;
- }
-
- $active = $parent;
- }
-
- return strlen($html) ? $this->getIndent() . $html : '';
- }
-
- /**
- * Renders the given $container by invoking the partial view helper
- *
- * The container will simply be passed on as a model to the view script,
- * so in the script it will be available in $this->container
.
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * pass to view script.
- * Default is to use the
- * container registered in the
- * helper.
- * @param string|array $partial [optional] partial view
- * script to use. Default is
- * to use the partial
- * registered in the helper.
- * If an array is given, it is
- * expected to contain two
- * values; the partial view
- * script to use, and the
- * module where the script can
- * be found.
- * @return string helper output
- */
- public function renderPartial(Zend_Navigation_Container $container = null,
- $partial = null)
- {
- if (null === $container) {
- $container = $this->getContainer();
- }
-
- if (null === $partial) {
- $partial = $this->getPartial();
- }
-
- if (empty($partial)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(
- 'Unable to render menu: No partial view script provided'
- );
- $e->setView($this->view);
- throw $e;
- }
-
- // put breadcrumb pages in model
- $model = array('pages' => array());
- if ($active = $this->findActive($container)) {
- $active = $active['page'];
- $model['pages'][] = $active;
- while ($parent = $active->getParent()) {
- if ($parent instanceof Zend_Navigation_Page) {
- $model['pages'][] = $parent;
- } else {
- break;
- }
-
- if ($parent === $container) {
- // break if at the root of the given container
- break;
- }
-
- $active = $parent;
- }
- $model['pages'] = array_reverse($model['pages']);
- }
-
- if (is_array($partial)) {
- if (count($partial) != 2) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(
- 'Unable to render menu: A view partial supplied as '
- . 'an array must contain two values: partial view '
- . 'script and module where script can be found'
- );
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->view->partial($partial[0], $partial[1], $model);
- }
-
- return $this->view->partial($partial, null, $model);
- }
-
- // Zend_View_Helper_Navigation_Helper:
-
- /**
- * Renders helper
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::render()}.
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to
- * render the container
- * registered in the helper.
- * @return string helper output
- */
- public function render(Zend_Navigation_Container $container = null)
- {
- if ($partial = $this->getPartial()) {
- return $this->renderPartial($container, $partial);
- } else {
- return $this->renderStraight($container);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Navigation/Helper.php b/airtime_mvc/library/Zend/View/Helper/Navigation/Helper.php
deleted file mode 100644
index 48c0ae8c9..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Navigation/Helper.php
+++ /dev/null
@@ -1,212 +0,0 @@
-_container = $container;
- return $this;
- }
-
- /**
- * Returns the navigation container helper operates on by default
- *
- * Implements {@link Zend_View_Helper_Navigation_Interface::getContainer()}.
- *
- * If a helper is not explicitly set in this helper instance by calling
- * {@link setContainer()} or by passing it through the helper entry point,
- * this method will look in {@link Zend_Registry} for a container by using
- * the key 'Zend_Navigation'.
- *
- * If no container is set, and nothing is found in Zend_Registry, a new
- * container will be instantiated and stored in the helper.
- *
- * @return Zend_Navigation_Container navigation container
- */
- public function getContainer()
- {
- if (null === $this->_container) {
- // try to fetch from registry first
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Navigation')) {
- $nav = Zend_Registry::get('Zend_Navigation');
- if ($nav instanceof Zend_Navigation_Container) {
- return $this->_container = $nav;
- }
- }
-
- // nothing found in registry, create new container
- require_once 'Zend/Navigation.php';
- $this->_container = new Zend_Navigation();
- }
-
- return $this->_container;
- }
-
- /**
- * Sets the minimum depth a page must have to be included when rendering
- *
- * @param int $minDepth [optional] minimum
- * depth. Default is
- * null, which sets
- * no minimum depth.
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setMinDepth($minDepth = null)
- {
- if (null === $minDepth || is_int($minDepth)) {
- $this->_minDepth = $minDepth;
- } else {
- $this->_minDepth = (int) $minDepth;
- }
- return $this;
- }
-
- /**
- * Returns minimum depth a page must have to be included when rendering
- *
- * @return int|null minimum depth or null
- */
- public function getMinDepth()
- {
- if (!is_int($this->_minDepth) || $this->_minDepth < 0) {
- return 0;
- }
- return $this->_minDepth;
- }
-
- /**
- * Sets the maximum depth a page can have to be included when rendering
- *
- * @param int $maxDepth [optional] maximum
- * depth. Default is
- * null, which sets no
- * maximum depth.
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setMaxDepth($maxDepth = null)
- {
- if (null === $maxDepth || is_int($maxDepth)) {
- $this->_maxDepth = $maxDepth;
- } else {
- $this->_maxDepth = (int) $maxDepth;
- }
- return $this;
- }
-
- /**
- * Returns maximum depth a page can have to be included when rendering
- *
- * @return int|null maximum depth or null
- */
- public function getMaxDepth()
- {
- return $this->_maxDepth;
- }
-
- /**
- * Set the indentation string for using in {@link render()}, optionally a
- * number of spaces to indent with
- *
- * @param string|int $indent indentation string or
- * number of spaces
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setIndent($indent)
- {
- $this->_indent = $this->_getWhitespace($indent);
- return $this;
- }
-
- /**
- * Returns indentation
- *
- * @return string
- */
- public function getIndent()
- {
- return $this->_indent;
- }
-
- /**
- * Sets translator to use in helper
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::setTranslator()}.
- *
- * @param mixed $translator [optional] translator.
- * Expects an object of
- * type
- * {@link Zend_Translate_Adapter}
- * or {@link Zend_Translate},
- * or null. Default is
- * null, which sets no
- * translator.
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setTranslator($translator = null)
- {
- if (null == $translator ||
- $translator instanceof Zend_Translate_Adapter) {
- $this->_translator = $translator;
- } elseif ($translator instanceof Zend_Translate) {
- $this->_translator = $translator->getAdapter();
- }
-
- return $this;
- }
-
- /**
- * Returns translator used in helper
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::getTranslator()}.
- *
- * @return Zend_Translate_Adapter|null translator or null
- */
- public function getTranslator()
- {
- if (null === $this->_translator) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Translate')) {
- $this->setTranslator(Zend_Registry::get('Zend_Translate'));
- }
- }
-
- return $this->_translator;
- }
-
- /**
- * Sets ACL to use when iterating pages
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::setAcl()}.
- *
- * @param Zend_Acl $acl [optional] ACL object.
- * Default is null.
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setAcl(Zend_Acl $acl = null)
- {
- $this->_acl = $acl;
- return $this;
- }
-
- /**
- * Returns ACL or null if it isn't set using {@link setAcl()} or
- * {@link setDefaultAcl()}
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::getAcl()}.
- *
- * @return Zend_Acl|null ACL object or null
- */
- public function getAcl()
- {
- if ($this->_acl === null && self::$_defaultAcl !== null) {
- return self::$_defaultAcl;
- }
-
- return $this->_acl;
- }
-
- /**
- * Sets ACL role(s) to use when iterating pages
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::setRole()}.
- *
- * @param mixed $role [optional] role to
- * set. Expects a string,
- * an instance of type
- * {@link Zend_Acl_Role_Interface},
- * or null. Default is
- * null, which will set
- * no role.
- * @throws Zend_View_Exception if $role is invalid
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setRole($role = null)
- {
- if (null === $role || is_string($role) ||
- $role instanceof Zend_Acl_Role_Interface) {
- $this->_role = $role;
- } else {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf(
- '$role must be a string, null, or an instance of '
- . 'Zend_Acl_Role_Interface; %s given',
- gettype($role)
- ));
- $e->setView($this->view);
- throw $e;
- }
-
- return $this;
- }
-
- /**
- * Returns ACL role to use when iterating pages, or null if it isn't set
- * using {@link setRole()} or {@link setDefaultRole()}
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::getRole()}.
- *
- * @return string|Zend_Acl_Role_Interface|null role or null
- */
- public function getRole()
- {
- if ($this->_role === null && self::$_defaultRole !== null) {
- return self::$_defaultRole;
- }
-
- return $this->_role;
- }
-
- /**
- * Sets whether ACL should be used
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::setUseAcl()}.
- *
- * @param bool $useAcl [optional] whether ACL
- * should be used.
- * Default is true.
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setUseAcl($useAcl = true)
- {
- $this->_useAcl = (bool) $useAcl;
- return $this;
- }
-
- /**
- * Returns whether ACL should be used
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::getUseAcl()}.
- *
- * @return bool whether ACL should be used
- */
- public function getUseAcl()
- {
- return $this->_useAcl;
- }
-
- /**
- * Return renderInvisible flag
- *
- * @return bool
- */
- public function getRenderInvisible()
- {
- return $this->_renderInvisible;
- }
-
- /**
- * Render invisible items?
- *
- * @param bool $renderInvisible [optional] boolean flag
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface
- * returns self
- */
- public function setRenderInvisible($renderInvisible = true)
- {
- $this->_renderInvisible = (bool) $renderInvisible;
- return $this;
- }
-
- /**
- * Sets whether translator should be used
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::setUseTranslator()}.
- *
- * @param bool $useTranslator [optional] whether
- * translator should be
- * used. Default is true.
- * @return Zend_View_Helper_Navigation_HelperAbstract fluent interface,
- * returns self
- */
- public function setUseTranslator($useTranslator = true)
- {
- $this->_useTranslator = (bool) $useTranslator;
- return $this;
- }
-
- /**
- * Returns whether translator should be used
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::getUseTranslator()}.
- *
- * @return bool whether translator should be used
- */
- public function getUseTranslator()
- {
- return $this->_useTranslator;
- }
-
- // Magic overloads:
-
- /**
- * Magic overload: Proxy calls to the navigation container
- *
- * @param string $method method name in container
- * @param array $arguments [optional] arguments to pass
- * @return mixed returns what the container returns
- * @throws Zend_Navigation_Exception if method does not exist in container
- */
- public function __call($method, array $arguments = array())
- {
- return call_user_func_array(
- array($this->getContainer(), $method),
- $arguments);
- }
-
- /**
- * Magic overload: Proxy to {@link render()}.
- *
- * This method will trigger an E_USER_ERROR if rendering the helper causes
- * an exception to be thrown.
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::__toString()}.
- *
- * @return string
- */
- public function __toString()
- {
- try {
- return $this->render();
- } catch (Exception $e) {
- $msg = get_class($e) . ': ' . $e->getMessage();
- trigger_error($msg, E_USER_ERROR);
- return '';
- }
- }
-
- // Public methods:
-
- /**
- * Finds the deepest active page in the given container
- *
- * @param Zend_Navigation_Container $container container to search
- * @param int|null $minDepth [optional] minimum depth
- * required for page to be
- * valid. Default is to use
- * {@link getMinDepth()}. A
- * null value means no minimum
- * depth required.
- * @param int|null $minDepth [optional] maximum depth
- * a page can have to be
- * valid. Default is to use
- * {@link getMaxDepth()}. A
- * null value means no maximum
- * depth required.
- * @return array an associative array with
- * the values 'depth' and
- * 'page', or an empty array
- * if not found
- */
- public function findActive(Zend_Navigation_Container $container,
- $minDepth = null,
- $maxDepth = -1)
- {
- if (!is_int($minDepth)) {
- $minDepth = $this->getMinDepth();
- }
- if ((!is_int($maxDepth) || $maxDepth < 0) && null !== $maxDepth) {
- $maxDepth = $this->getMaxDepth();
- }
-
- $found = null;
- $foundDepth = -1;
- $iterator = new RecursiveIteratorIterator($container,
- RecursiveIteratorIterator::CHILD_FIRST);
-
- foreach ($iterator as $page) {
- $currDepth = $iterator->getDepth();
- if ($currDepth < $minDepth || !$this->accept($page)) {
- // page is not accepted
- continue;
- }
-
- if ($page->isActive(false) && $currDepth > $foundDepth) {
- // found an active page at a deeper level than before
- $found = $page;
- $foundDepth = $currDepth;
- }
- }
-
- if (is_int($maxDepth) && $foundDepth > $maxDepth) {
- while ($foundDepth > $maxDepth) {
- if (--$foundDepth < $minDepth) {
- $found = null;
- break;
- }
-
- $found = $found->getParent();
- if (!$found instanceof Zend_Navigation_Page) {
- $found = null;
- break;
- }
- }
- }
-
- if ($found) {
- return array('page' => $found, 'depth' => $foundDepth);
- } else {
- return array();
- }
- }
-
- /**
- * Checks if the helper has a container
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::hasContainer()}.
- *
- * @return bool whether the helper has a container or not
- */
- public function hasContainer()
- {
- return null !== $this->_container;
- }
-
- /**
- * Checks if the helper has an ACL instance
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::hasAcl()}.
- *
- * @return bool whether the helper has a an ACL instance or not
- */
- public function hasAcl()
- {
- return null !== $this->_acl;
- }
-
- /**
- * Checks if the helper has an ACL role
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::hasRole()}.
- *
- * @return bool whether the helper has a an ACL role or not
- */
- public function hasRole()
- {
- return null !== $this->_role;
- }
-
- /**
- * Checks if the helper has a translator
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::hasTranslator()}.
- *
- * @return bool whether the helper has a translator or not
- */
- public function hasTranslator()
- {
- return null !== $this->_translator;
- }
-
- /**
- * Returns an HTML string containing an 'a' element for the given page
- *
- * @param Zend_Navigation_Page $page page to generate HTML for
- * @return string HTML string for the given page
- */
- public function htmlify(Zend_Navigation_Page $page)
- {
- // get label and title for translating
- $label = $page->getLabel();
- $title = $page->getTitle();
-
- if ($this->getUseTranslator() && $t = $this->getTranslator()) {
- if (is_string($label) && !empty($label)) {
- $label = $t->translate($label);
- }
- if (is_string($title) && !empty($title)) {
- $title = $t->translate($title);
- }
- }
-
- // get attribs for anchor element
- $attribs = array(
- 'id' => $page->getId(),
- 'title' => $title,
- 'class' => $page->getClass(),
- 'href' => $page->getHref(),
- 'target' => $page->getTarget()
- );
-
- return '_htmlAttribs($attribs) . '>'
- . $this->view->escape($label)
- . ' ';
- }
-
- // Iterator filter methods:
-
- /**
- * Determines whether a page should be accepted when iterating
- *
- * Rules:
- * - If a page is not visible it is not accepted, unless RenderInvisible has
- * been set to true.
- * - If helper has no ACL, page is accepted
- * - If helper has ACL, but no role, page is not accepted
- * - If helper has ACL and role:
- * - Page is accepted if it has no resource or privilege
- * - Page is accepted if ACL allows page's resource or privilege
- * - If page is accepted by the rules above and $recursive is true, the page
- * will not be accepted if it is the descendant of a non-accepted page.
- *
- * @param Zend_Navigation_Page $page page to check
- * @param bool $recursive [optional] if true, page will not
- * be accepted if it is the
- * descendant of a page that is not
- * accepted. Default is true.
- * @return bool whether page should be accepted
- */
- public function accept(Zend_Navigation_Page $page, $recursive = true)
- {
- // accept by default
- $accept = true;
-
- if (!$page->isVisible(false) && !$this->getRenderInvisible()) {
- // don't accept invisible pages
- $accept = false;
- } elseif ($this->getUseAcl() && !$this->_acceptAcl($page)) {
- // acl is not amused
- $accept = false;
- }
-
- if ($accept && $recursive) {
- $parent = $page->getParent();
- if ($parent instanceof Zend_Navigation_Page) {
- $accept = $this->accept($parent, true);
- }
- }
-
- return $accept;
- }
-
- /**
- * Determines whether a page should be accepted by ACL when iterating
- *
- * Rules:
- * - If helper has no ACL, page is accepted
- * - If page has a resource or privilege defined, page is accepted
- * if the ACL allows access to it using the helper's role
- * - If page has no resource or privilege, page is accepted
- *
- * @param Zend_Navigation_Page $page page to check
- * @return bool whether page is accepted by ACL
- */
- protected function _acceptAcl(Zend_Navigation_Page $page)
- {
- if (!$acl = $this->getAcl()) {
- // no acl registered means don't use acl
- return true;
- }
-
- $role = $this->getRole();
- $resource = $page->getResource();
- $privilege = $page->getPrivilege();
-
- if ($resource || $privilege) {
- // determine using helper role and page resource/privilege
- return $acl->isAllowed($role, $resource, $privilege);
- }
-
- return true;
- }
-
- // Util methods:
-
- /**
- * Retrieve whitespace representation of $indent
- *
- * @param int|string $indent
- * @return string
- */
- protected function _getWhitespace($indent)
- {
- if (is_int($indent)) {
- $indent = str_repeat(' ', $indent);
- }
-
- return (string) $indent;
- }
-
- /**
- * Converts an associative array to a string of tag attributes.
- *
- * Overloads {@link Zend_View_Helper_HtmlElement::_htmlAttribs()}.
- *
- * @param array $attribs an array where each key-value pair is converted
- * to an attribute name and value
- * @return string an attribute string
- */
- protected function _htmlAttribs($attribs)
- {
- // filter out null values and empty string values
- foreach ($attribs as $key => $value) {
- if ($value === null || (is_string($value) && !strlen($value))) {
- unset($attribs[$key]);
- }
- }
-
- return parent::_htmlAttribs($attribs);
- }
-
- /**
- * Normalize an ID
- *
- * Overrides {@link Zend_View_Helper_HtmlElement::_normalizeId()}.
- *
- * @param string $value
- * @return string
- */
- protected function _normalizeId($value)
- {
- $prefix = get_class($this);
- $prefix = strtolower(trim(substr($prefix, strrpos($prefix, '_')), '_'));
-
- return $prefix . '-' . $value;
- }
-
- // Static methods:
-
- /**
- * Sets default ACL to use if another ACL is not explicitly set
- *
- * @param Zend_Acl $acl [optional] ACL object. Default is null, which
- * sets no ACL object.
- * @return void
- */
- public static function setDefaultAcl(Zend_Acl $acl = null)
- {
- self::$_defaultAcl = $acl;
- }
-
- /**
- * Sets default ACL role(s) to use when iterating pages if not explicitly
- * set later with {@link setRole()}
- *
- * @param midex $role [optional] role to set. Expects null,
- * string, or an instance of
- * {@link Zend_Acl_Role_Interface}.
- * Default is null, which sets no default
- * role.
- * @throws Zend_View_Exception if role is invalid
- * @return void
- */
- public static function setDefaultRole($role = null)
- {
- if (null === $role ||
- is_string($role) ||
- $role instanceof Zend_Acl_Role_Interface) {
- self::$_defaultRole = $role;
- } else {
- require_once 'Zend/View/Exception.php';
- throw new Zend_View_Exception(
- '$role must be null|string|Zend_Acl_Role_Interface'
- );
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Navigation/Links.php b/airtime_mvc/library/Zend/View/Helper/Navigation/Links.php
deleted file mode 100644
index 7a735daaf..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Navigation/Links.php
+++ /dev/null
@@ -1,783 +0,0 @@
- elements
- *
- * @category Zend
- * @package Zend_View
- * @subpackage Helper
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_View_Helper_Navigation_Links
- extends Zend_View_Helper_Navigation_HelperAbstract
-{
- /**#@+
- * Constants used for specifying which link types to find and render
- *
- * @var int
- */
- const RENDER_ALTERNATE = 0x0001;
- const RENDER_STYLESHEET = 0x0002;
- const RENDER_START = 0x0004;
- const RENDER_NEXT = 0x0008;
- const RENDER_PREV = 0x0010;
- const RENDER_CONTENTS = 0x0020;
- const RENDER_INDEX = 0x0040;
- const RENDER_GLOSSARY = 0x0080;
- const RENDER_COPYRIGHT = 0x0100;
- const RENDER_CHAPTER = 0x0200;
- const RENDER_SECTION = 0x0400;
- const RENDER_SUBSECTION = 0x0800;
- const RENDER_APPENDIX = 0x1000;
- const RENDER_HELP = 0x2000;
- const RENDER_BOOKMARK = 0x4000;
- const RENDER_CUSTOM = 0x8000;
- const RENDER_ALL = 0xffff;
- /**#@+**/
-
- /**
- * Maps render constants to W3C link types
- *
- * @var array
- */
- protected static $_RELATIONS = array(
- self::RENDER_ALTERNATE => 'alternate',
- self::RENDER_STYLESHEET => 'stylesheet',
- self::RENDER_START => 'start',
- self::RENDER_NEXT => 'next',
- self::RENDER_PREV => 'prev',
- self::RENDER_CONTENTS => 'contents',
- self::RENDER_INDEX => 'index',
- self::RENDER_GLOSSARY => 'glossary',
- self::RENDER_COPYRIGHT => 'copyright',
- self::RENDER_CHAPTER => 'chapter',
- self::RENDER_SECTION => 'section',
- self::RENDER_SUBSECTION => 'subsection',
- self::RENDER_APPENDIX => 'appendix',
- self::RENDER_HELP => 'help',
- self::RENDER_BOOKMARK => 'bookmark'
- );
-
- /**
- * The helper's render flag
- *
- * @see render()
- * @see setRenderFlag()
- * @var int
- */
- protected $_renderFlag = self::RENDER_ALL;
-
- /**
- * Root container
- *
- * Used for preventing methods to traverse above the container given to
- * the {@link render()} method.
- *
- * @see _findRoot()
- *
- * @var Zend_Navigation_Container
- */
- protected $_root;
-
- /**
- * View helper entry point:
- * Retrieves helper and optionally sets container to operate on
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * operate on
- * @return Zend_View_Helper_Navigation_Links fluent interface, returns
- * self
- */
- public function links(Zend_Navigation_Container $container = null)
- {
- if (null !== $container) {
- $this->setContainer($container);
- }
-
- return $this;
- }
-
- /**
- * Magic overload: Proxy calls to {@link findRelation()} or container
- *
- * Examples of finder calls:
- *
- * // METHOD // SAME AS
- * $h->findRelNext($page); // $h->findRelation($page, 'rel', 'next')
- * $h->findRevSection($page); // $h->findRelation($page, 'rev', 'section');
- * $h->findRelFoo($page); // $h->findRelation($page, 'rel', 'foo');
- *
- *
- * @param string $method method name
- * @param array $arguments method arguments
- * @throws Zend_Navigation_Exception if method does not exist in container
- */
- public function __call($method, array $arguments = array())
- {
- if (@preg_match('/find(Rel|Rev)(.+)/', $method, $match)) {
- return $this->findRelation($arguments[0],
- strtolower($match[1]),
- strtolower($match[2]));
- }
-
- return parent::__call($method, $arguments);
- }
-
- // Accessors:
-
- /**
- * Sets the helper's render flag
- *
- * The helper uses the bitwise '&' operator against the hex values of the
- * render constants. This means that the flag can is "bitwised" value of
- * the render constants. Examples:
- *
- * // render all links except glossary
- * $flag = Zend_View_Helper_Navigation_Links:RENDER_ALL ^
- * Zend_View_Helper_Navigation_Links:RENDER_GLOSSARY;
- * $helper->setRenderFlag($flag);
- *
- * // render only chapters and sections
- * $flag = Zend_View_Helper_Navigation_Links:RENDER_CHAPTER |
- * Zend_View_Helper_Navigation_Links:RENDER_SECTION;
- * $helper->setRenderFlag($flag);
- *
- * // render only relations that are not native W3C relations
- * $helper->setRenderFlag(Zend_View_Helper_Navigation_Links:RENDER_CUSTOM);
- *
- * // render all relations (default)
- * $helper->setRenderFlag(Zend_View_Helper_Navigation_Links:RENDER_ALL);
- *
- *
- * Note that custom relations can also be rendered directly using the
- * {@link renderLink()} method.
- *
- * @param int $renderFlag render flag
- * @return Zend_View_Helper_Navigation_Links fluent interface, returns self
- */
- public function setRenderFlag($renderFlag)
- {
- $this->_renderFlag = (int) $renderFlag;
- return $this;
- }
-
- /**
- * Returns the helper's render flag
- *
- * @return int render flag
- */
- public function getRenderFlag()
- {
- return $this->_renderFlag;
- }
-
- // Finder methods:
-
- /**
- * Finds all relations (forward and reverse) for the given $page
- *
- * The form of the returned array:
- *
- * // $page denotes an instance of Zend_Navigation_Page
- * $returned = array(
- * 'rel' => array(
- * 'alternate' => array($page, $page, $page),
- * 'start' => array($page),
- * 'next' => array($page),
- * 'prev' => array($page),
- * 'canonical' => array($page)
- * ),
- * 'rev' => array(
- * 'section' => array($page)
- * )
- * );
- *
- *
- * @param Zend_Navigation_Page $page page to find links for
- * @return array related pages
- */
- public function findAllRelations(Zend_Navigation_Page $page,
- $flag = null)
- {
- if (!is_int($flag)) {
- $flag = self::RENDER_ALL;
- }
-
- $result = array('rel' => array(), 'rev' => array());
- $native = array_values(self::$_RELATIONS);
-
- foreach (array_keys($result) as $rel) {
- $meth = 'getDefined' . ucfirst($rel);
- $types = array_merge($native, array_diff($page->$meth(), $native));
-
- foreach ($types as $type) {
- if (!$relFlag = array_search($type, self::$_RELATIONS)) {
- $relFlag = self::RENDER_CUSTOM;
- }
- if (!($flag & $relFlag)) {
- continue;
- }
- if ($found = $this->findRelation($page, $rel, $type)) {
- if (!is_array($found)) {
- $found = array($found);
- }
- $result[$rel][$type] = $found;
- }
- }
- }
-
- return $result;
- }
-
- /**
- * Finds relations of the given $rel=$type from $page
- *
- * This method will first look for relations in the page instance, then
- * by searching the root container if nothing was found in the page.
- *
- * @param Zend_Navigation_Page $page page to find relations for
- * @param string $rel relation, "rel" or "rev"
- * @param string $type link type, e.g. 'start', 'next'
- * @return Zend_Navigaiton_Page|array|null page(s), or null if not found
- * @throws Zend_View_Exception if $rel is not "rel" or "rev"
- */
- public function findRelation(Zend_Navigation_Page $page, $rel, $type)
- {
- if (!in_array($rel, array('rel', 'rev'))) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf(
- 'Invalid argument: $rel must be "rel" or "rev"; "%s" given',
- $rel));
- $e->setView($this->view);
- throw $e;
- }
-
- if (!$result = $this->_findFromProperty($page, $rel, $type)) {
- $result = $this->_findFromSearch($page, $rel, $type);
- }
-
- return $result;
- }
-
- /**
- * Finds relations of given $type for $page by checking if the
- * relation is specified as a property of $page
- *
- * @param Zend_Navigation_Page $page page to find relations for
- * @param string $rel relation, 'rel' or 'rev'
- * @param string $type link type, e.g. 'start', 'next'
- * @return Zend_Navigation_Page|array|null page(s), or null if not found
- */
- protected function _findFromProperty(Zend_Navigation_Page $page, $rel, $type)
- {
- $method = 'get' . ucfirst($rel);
- if ($result = $page->$method($type)) {
- if ($result = $this->_convertToPages($result)) {
- if (!is_array($result)) {
- $result = array($result);
- }
-
- foreach ($result as $key => $page) {
- if (!$this->accept($page)) {
- unset($result[$key]);
- }
- }
-
- return count($result) == 1 ? $result[0] : $result;
- }
- }
-
- return null;
- }
-
- /**
- * Finds relations of given $rel=$type for $page by using the helper to
- * search for the relation in the root container
- *
- * @param Zend_Navigation_Page $page page to find relations for
- * @param string $rel relation, 'rel' or 'rev'
- * @param string $type link type, e.g. 'start', 'next', etc
- * @return array|null array of pages, or null if not found
- */
- protected function _findFromSearch(Zend_Navigation_Page $page, $rel, $type)
- {
- $found = null;
-
- $method = 'search' . ucfirst($rel) . ucfirst($type);
- if (method_exists($this, $method)) {
- $found = $this->$method($page);
- }
-
- return $found;
- }
-
- // Search methods:
-
- /**
- * Searches the root container for the forward 'start' relation of the given
- * $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to the first document in a collection of documents. This link type
- * tells search engines which document is considered by the author to be the
- * starting point of the collection.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|null page or null
- */
- public function searchRelStart(Zend_Navigation_Page $page)
- {
- $found = $this->_findRoot($page);
- if (!$found instanceof Zend_Navigation_Page) {
- $found->rewind();
- $found = $found->current();
- }
-
- if ($found === $page || !$this->accept($found)) {
- $found = null;
- }
-
- return $found;
- }
-
- /**
- * Searches the root container for the forward 'next' relation of the given
- * $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to the next document in a linear sequence of documents. User
- * agents may choose to preload the "next" document, to reduce the perceived
- * load time.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|null page(s) or null
- */
- public function searchRelNext(Zend_Navigation_Page $page)
- {
- $found = null;
- $break = false;
- $iterator = new RecursiveIteratorIterator($this->_findRoot($page),
- RecursiveIteratorIterator::SELF_FIRST);
- foreach ($iterator as $intermediate) {
- if ($intermediate === $page) {
- // current page; break at next accepted page
- $break = true;
- continue;
- }
-
- if ($break && $this->accept($intermediate)) {
- $found = $intermediate;
- break;
- }
- }
-
- return $found;
- }
-
- /**
- * Searches the root container for the forward 'prev' relation of the given
- * $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to the previous document in an ordered series of documents. Some
- * user agents also support the synonym "Previous".
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|null page or null
- */
- public function searchRelPrev(Zend_Navigation_Page $page)
- {
- $found = null;
- $prev = null;
- $iterator = new RecursiveIteratorIterator(
- $this->_findRoot($page),
- RecursiveIteratorIterator::SELF_FIRST);
- foreach ($iterator as $intermediate) {
- if (!$this->accept($intermediate)) {
- continue;
- }
- if ($intermediate === $page) {
- $found = $prev;
- break;
- }
-
- $prev = $intermediate;
- }
-
- return $found;
- }
-
- /**
- * Searches the root container for forward 'chapter' relations of the given
- * $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to a document serving as a chapter in a collection of documents.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|array|null page(s) or null
- */
- public function searchRelChapter(Zend_Navigation_Page $page)
- {
- $found = array();
-
- // find first level of pages
- $root = $this->_findRoot($page);
-
- // find start page(s)
- $start = $this->findRelation($page, 'rel', 'start');
- if (!is_array($start)) {
- $start = array($start);
- }
-
- foreach ($root as $chapter) {
- // exclude self and start page from chapters
- if ($chapter !== $page &&
- !in_array($chapter, $start) &&
- $this->accept($chapter)) {
- $found[] = $chapter;
- }
- }
-
- switch (count($found)) {
- case 0:
- return null;
- case 1:
- return $found[0];
- default:
- return $found;
- }
- }
-
- /**
- * Searches the root container for forward 'section' relations of the given
- * $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to a document serving as a section in a collection of documents.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|array|null page(s) or null
- */
- public function searchRelSection(Zend_Navigation_Page $page)
- {
- $found = array();
-
- // check if given page has pages and is a chapter page
- if ($page->hasPages() && $this->_findRoot($page)->hasPage($page)) {
- foreach ($page as $section) {
- if ($this->accept($section)) {
- $found[] = $section;
- }
- }
- }
-
- switch (count($found)) {
- case 0:
- return null;
- case 1:
- return $found[0];
- default:
- return $found;
- }
- }
-
- /**
- * Searches the root container for forward 'subsection' relations of the
- * given $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to a document serving as a subsection in a collection of
- * documents.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|array|null page(s) or null
- */
- public function searchRelSubsection(Zend_Navigation_Page $page)
- {
- $found = array();
-
- if ($page->hasPages()) {
- // given page has child pages, loop chapters
- foreach ($this->_findRoot($page) as $chapter) {
- // is page a section?
- if ($chapter->hasPage($page)) {
- foreach ($page as $subsection) {
- if ($this->accept($subsection)) {
- $found[] = $subsection;
- }
- }
- }
- }
- }
-
- switch (count($found)) {
- case 0:
- return null;
- case 1:
- return $found[0];
- default:
- return $found;
- }
- }
-
- /**
- * Searches the root container for the reverse 'section' relation of the
- * given $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to a document serving as a section in a collection of documents.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|null page(s) or null
- */
- public function searchRevSection(Zend_Navigation_Page $page)
- {
- $found = null;
-
- if ($parent = $page->getParent()) {
- if ($parent instanceof Zend_Navigation_Page &&
- $this->_findRoot($page)->hasPage($parent)) {
- $found = $parent;
- }
- }
-
- return $found;
- }
-
- /**
- * Searches the root container for the reverse 'section' relation of the
- * given $page
- *
- * From {@link http://www.w3.org/TR/html4/types.html#type-links}:
- * Refers to a document serving as a subsection in a collection of
- * documents.
- *
- * @param Zend_Navigation_Page $page page to find relation for
- * @return Zend_Navigation_Page|null page(s) or null
- */
- public function searchRevSubsection(Zend_Navigation_Page $page)
- {
- $found = null;
-
- if ($parent = $page->getParent()) {
- if ($parent instanceof Zend_Navigation_Page) {
- $root = $this->_findRoot($page);
- foreach ($root as $chapter) {
- if ($chapter->hasPage($parent)) {
- $found = $parent;
- break;
- }
- }
- }
- }
-
- return $found;
- }
-
- // Util methods:
-
- /**
- * Returns the root container of the given page
- *
- * When rendering a container, the render method still store the given
- * container as the root container, and unset it when done rendering. This
- * makes sure finder methods will not traverse above the container given
- * to the render method.
- *
- * @param Zend_Navigaiton_Page $page page to find root for
- * @return Zend_Navigation_Container the root container of the given page
- */
- protected function _findRoot(Zend_Navigation_Page $page)
- {
- if ($this->_root) {
- return $this->_root;
- }
-
- $root = $page;
-
- while ($parent = $page->getParent()) {
- $root = $parent;
- if ($parent instanceof Zend_Navigation_Page) {
- $page = $parent;
- } else {
- break;
- }
- }
-
- return $root;
- }
-
- /**
- * Converts a $mixed value to an array of pages
- *
- * @param mixed $mixed mixed value to get page(s) from
- * @param bool $recursive whether $value should be looped
- * if it is an array or a config
- * @return Zend_Navigation_Page|array|null empty if unable to convert
- */
- protected function _convertToPages($mixed, $recursive = true)
- {
- if (is_object($mixed)) {
- if ($mixed instanceof Zend_Navigation_Page) {
- // value is a page instance; return directly
- return $mixed;
- } elseif ($mixed instanceof Zend_Navigation_Container) {
- // value is a container; return pages in it
- $pages = array();
- foreach ($mixed as $page) {
- $pages[] = $page;
- }
- return $pages;
- } elseif ($mixed instanceof Zend_Config) {
- // convert config object to array and extract
- return $this->_convertToPages($mixed->toArray(), $recursive);
- }
- } elseif (is_string($mixed)) {
- // value is a string; make an URI page
- return Zend_Navigation_Page::factory(array(
- 'type' => 'uri',
- 'uri' => $mixed
- ));
- } elseif (is_array($mixed) && !empty($mixed)) {
- if ($recursive && is_numeric(key($mixed))) {
- // first key is numeric; assume several pages
- $pages = array();
- foreach ($mixed as $value) {
- if ($value = $this->_convertToPages($value, false)) {
- $pages[] = $value;
- }
- }
- return $pages;
- } else {
- // pass array to factory directly
- try {
- $page = Zend_Navigation_Page::factory($mixed);
- return $page;
- } catch (Exception $e) {
- }
- }
- }
-
- // nothing found
- return null;
- }
-
- // Render methods:
-
- /**
- * Renders the given $page as a link element, with $attrib = $relation
- *
- * @param Zend_Navigation_Page $page the page to render the link for
- * @param string $attrib the attribute to use for $type,
- * either 'rel' or 'rev'
- * @param string $relation relation type, muse be one of;
- * alternate, appendix, bookmark,
- * chapter, contents, copyright,
- * glossary, help, home, index, next,
- * prev, section, start, stylesheet,
- * subsection
- * @return string rendered link element
- * @throws Zend_View_Exception if $attrib is invalid
- */
- public function renderLink(Zend_Navigation_Page $page, $attrib, $relation)
- {
- if (!in_array($attrib, array('rel', 'rev'))) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf(
- 'Invalid relation attribute "%s", must be "rel" or "rev"',
- $attrib));
- $e->setView($this->view);
- throw $e;
- }
-
- if (!$href = $page->getHref()) {
- return '';
- }
-
- // TODO: add more attribs
- // http://www.w3.org/TR/html401/struct/links.html#h-12.2
- $attribs = array(
- $attrib => $relation,
- 'href' => $href,
- 'title' => $page->getLabel()
- );
-
- return ' _htmlAttribs($attribs) .
- $this->getClosingBracket();
- }
-
- // Zend_View_Helper_Navigation_Helper:
-
- /**
- * Renders helper
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::render()}.
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to
- * render the container
- * registered in the helper.
- * @return string helper output
- */
- public function render(Zend_Navigation_Container $container = null)
- {
- if (null === $container) {
- $container = $this->getContainer();
- }
-
- if ($active = $this->findActive($container)) {
- $active = $active['page'];
- } else {
- // no active page
- return '';
- }
-
- $output = '';
- $indent = $this->getIndent();
- $this->_root = $container;
-
- $result = $this->findAllRelations($active, $this->getRenderFlag());
- foreach ($result as $attrib => $types) {
- foreach ($types as $relation => $pages) {
- foreach ($pages as $page) {
- if ($r = $this->renderLink($page, $attrib, $relation)) {
- $output .= $indent . $r . self::EOL;
- }
- }
- }
- }
-
- $this->_root = null;
-
- // return output (trim last newline by spec)
- return strlen($output) ? rtrim($output, self::EOL) : '';
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Navigation/Menu.php b/airtime_mvc/library/Zend/View/Helper/Navigation/Menu.php
deleted file mode 100644
index f805e339e..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Navigation/Menu.php
+++ /dev/null
@@ -1,647 +0,0 @@
-setContainer($container);
- }
-
- return $this;
- }
-
- // Accessors:
-
- /**
- * Sets CSS class to use for the first 'ul' element when rendering
- *
- * @param string $ulClass CSS class to set
- * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self
- */
- public function setUlClass($ulClass)
- {
- if (is_string($ulClass)) {
- $this->_ulClass = $ulClass;
- }
-
- return $this;
- }
-
- /**
- * Returns CSS class to use for the first 'ul' element when rendering
- *
- * @return string CSS class
- */
- public function getUlClass()
- {
- return $this->_ulClass;
- }
-
- /**
- * Sets a flag indicating whether only active branch should be rendered
- *
- * @param bool $flag [optional] render only active
- * branch. Default is true.
- * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self
- */
- public function setOnlyActiveBranch($flag = true)
- {
- $this->_onlyActiveBranch = (bool) $flag;
- return $this;
- }
-
- /**
- * Returns a flag indicating whether only active branch should be rendered
- *
- * By default, this value is false, meaning the entire menu will be
- * be rendered.
- *
- * @return bool whether only active branch should be rendered
- */
- public function getOnlyActiveBranch()
- {
- return $this->_onlyActiveBranch;
- }
-
- /**
- * Enables/disables rendering of parents when only rendering active branch
- *
- * See {@link setOnlyActiveBranch()} for more information.
- *
- * @param bool $flag [optional] render parents when
- * rendering active branch.
- * Default is true.
- * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self
- */
- public function setRenderParents($flag = true)
- {
- $this->_renderParents = (bool) $flag;
- return $this;
- }
-
- /**
- * Returns flag indicating whether parents should be rendered when rendering
- * only the active branch
- *
- * By default, this value is true.
- *
- * @return bool whether parents should be rendered
- */
- public function getRenderParents()
- {
- return $this->_renderParents;
- }
-
- /**
- * Sets which partial view script to use for rendering menu
- *
- * @param string|array $partial partial view script or null. If
- * an array is given, it is
- * expected to contain two values;
- * the partial view script to use,
- * and the module where the script
- * can be found.
- * @return Zend_View_Helper_Navigation_Menu fluent interface, returns self
- */
- public function setPartial($partial)
- {
- if (null === $partial || is_string($partial) || is_array($partial)) {
- $this->_partial = $partial;
- }
-
- return $this;
- }
-
- /**
- * Returns partial view script to use for rendering menu
- *
- * @return string|array|null
- */
- public function getPartial()
- {
- return $this->_partial;
- }
-
- // Public methods:
-
- /**
- * Returns an HTML string containing an 'a' element for the given page if
- * the page's href is not empty, and a 'span' element if it is empty
- *
- * Overrides {@link Zend_View_Helper_Navigation_Abstract::htmlify()}.
- *
- * @param Zend_Navigation_Page $page page to generate HTML for
- * @return string HTML string for the given page
- */
- public function htmlify(Zend_Navigation_Page $page)
- {
- // get label and title for translating
- $label = $page->getLabel();
- $title = $page->getTitle();
-
- // translate label and title?
- if ($this->getUseTranslator() && $t = $this->getTranslator()) {
- if (is_string($label) && !empty($label)) {
- $label = $t->translate($label);
- }
- if (is_string($title) && !empty($title)) {
- $title = $t->translate($title);
- }
- }
-
- // get attribs for element
- $attribs = array(
- 'id' => $page->getId(),
- 'title' => $title,
- 'class' => $page->getClass()
- );
-
- // does page have a href?
- if ($href = $page->getHref()) {
- $element = 'a';
- $attribs['href'] = $href;
- $attribs['target'] = $page->getTarget();
- } else {
- $element = 'span';
- }
-
- return '<' . $element . $this->_htmlAttribs($attribs) . '>'
- . $this->view->escape($label)
- . '' . $element . '>';
- }
-
- /**
- * Normalizes given render options
- *
- * @param array $options [optional] options to normalize
- * @return array normalized options
- */
- protected function _normalizeOptions(array $options = array())
- {
- if (isset($options['indent'])) {
- $options['indent'] = $this->_getWhitespace($options['indent']);
- } else {
- $options['indent'] = $this->getIndent();
- }
-
- if (isset($options['ulClass']) && $options['ulClass'] !== null) {
- $options['ulClass'] = (string) $options['ulClass'];
- } else {
- $options['ulClass'] = $this->getUlClass();
- }
-
- if (array_key_exists('minDepth', $options)) {
- if (null !== $options['minDepth']) {
- $options['minDepth'] = (int) $options['minDepth'];
- }
- } else {
- $options['minDepth'] = $this->getMinDepth();
- }
-
- if ($options['minDepth'] < 0 || $options['minDepth'] === null) {
- $options['minDepth'] = 0;
- }
-
- if (array_key_exists('maxDepth', $options)) {
- if (null !== $options['maxDepth']) {
- $options['maxDepth'] = (int) $options['maxDepth'];
- }
- } else {
- $options['maxDepth'] = $this->getMaxDepth();
- }
-
- if (!isset($options['onlyActiveBranch'])) {
- $options['onlyActiveBranch'] = $this->getOnlyActiveBranch();
- }
-
- if (!isset($options['renderParents'])) {
- $options['renderParents'] = $this->getRenderParents();
- }
-
- return $options;
- }
-
- // Render methods:
-
- /**
- * Renders the deepest active menu within [$minDepth, $maxDeth], (called
- * from {@link renderMenu()})
- *
- * @param Zend_Navigation_Container $container container to render
- * @param array $active active page and depth
- * @param string $ulClass CSS class for first UL
- * @param string $indent initial indentation
- * @param int|null $minDepth minimum depth
- * @param int|null $maxDepth maximum depth
- * @return string rendered menu
- */
- protected function _renderDeepestMenu(Zend_Navigation_Container $container,
- $ulClass,
- $indent,
- $minDepth,
- $maxDepth)
- {
- if (!$active = $this->findActive($container, $minDepth - 1, $maxDepth)) {
- return '';
- }
-
- // special case if active page is one below minDepth
- if ($active['depth'] < $minDepth) {
- if (!$active['page']->hasPages()) {
- return '';
- }
- } else if (!$active['page']->hasPages()) {
- // found pages has no children; render siblings
- $active['page'] = $active['page']->getParent();
- } else if (is_int($maxDepth) && $active['depth'] +1 > $maxDepth) {
- // children are below max depth; render siblings
- $active['page'] = $active['page']->getParent();
- }
-
- $ulClass = $ulClass ? ' class="' . $ulClass . '"' : '';
- $html = $indent . '' . self::EOL;
-
- foreach ($active['page'] as $subPage) {
- if (!$this->accept($subPage)) {
- continue;
- }
- $liClass = $subPage->isActive(true) ? ' class="active"' : '';
- $html .= $indent . ' ' . self::EOL;
- $html .= $indent . ' ' . $this->htmlify($subPage) . self::EOL;
- $html .= $indent . ' ' . self::EOL;
- }
-
- $html .= $indent . ' ';
-
- return $html;
- }
-
- /**
- * Renders a normal menu (called from {@link renderMenu()})
- *
- * @param Zend_Navigation_Container $container container to render
- * @param string $ulClass CSS class for first UL
- * @param string $indent initial indentation
- * @param int|null $minDepth minimum depth
- * @param int|null $maxDepth maximum depth
- * @param bool $onlyActive render only active branch?
- * @return string
- */
- protected function _renderMenu(Zend_Navigation_Container $container,
- $ulClass,
- $indent,
- $minDepth,
- $maxDepth,
- $onlyActive)
- {
- $html = '';
-
- // find deepest active
- if ($found = $this->findActive($container, $minDepth, $maxDepth)) {
- $foundPage = $found['page'];
- $foundDepth = $found['depth'];
- } else {
- $foundPage = null;
- }
-
- // create iterator
- $iterator = new RecursiveIteratorIterator($container,
- RecursiveIteratorIterator::SELF_FIRST);
- if (is_int($maxDepth)) {
- $iterator->setMaxDepth($maxDepth);
- }
-
- // iterate container
- $prevDepth = -1;
- foreach ($iterator as $page) {
- $depth = $iterator->getDepth();
- $isActive = $page->isActive(true);
- if ($depth < $minDepth || !$this->accept($page)) {
- // page is below minDepth or not accepted by acl/visibilty
- continue;
- } else if ($onlyActive && !$isActive) {
- // page is not active itself, but might be in the active branch
- $accept = false;
- if ($foundPage) {
- if ($foundPage->hasPage($page)) {
- // accept if page is a direct child of the active page
- $accept = true;
- } else if ($foundPage->getParent()->hasPage($page)) {
- // page is a sibling of the active page...
- if (!$foundPage->hasPages() ||
- is_int($maxDepth) && $foundDepth + 1 > $maxDepth) {
- // accept if active page has no children, or the
- // children are too deep to be rendered
- $accept = true;
- }
- }
- }
-
- if (!$accept) {
- continue;
- }
- }
-
- // make sure indentation is correct
- $depth -= $minDepth;
- $myIndent = $indent . str_repeat(' ', $depth);
-
- if ($depth > $prevDepth) {
- // start new ul tag
- if ($ulClass && $depth == 0) {
- $ulClass = ' class="' . $ulClass . '"';
- } else {
- $ulClass = '';
- }
- $html .= $myIndent . '' . self::EOL;
- } else if ($prevDepth > $depth) {
- // close li/ul tags until we're at current depth
- for ($i = $prevDepth; $i > $depth; $i--) {
- $ind = $indent . str_repeat(' ', $i);
- $html .= $ind . ' ' . self::EOL;
- $html .= $ind . '' . self::EOL;
- }
- // close previous li tag
- $html .= $myIndent . ' ' . self::EOL;
- } else {
- // close previous li tag
- $html .= $myIndent . ' ' . self::EOL;
- }
-
- // render li tag and page
- $liClass = $isActive ? ' class="active"' : '';
- $html .= $myIndent . ' ' . self::EOL
- . $myIndent . ' ' . $this->htmlify($page) . self::EOL;
-
- // store as previous depth for next iteration
- $prevDepth = $depth;
- }
-
- if ($html) {
- // done iterating container; close open ul/li tags
- for ($i = $prevDepth+1; $i > 0; $i--) {
- $myIndent = $indent . str_repeat(' ', $i-1);
- $html .= $myIndent . ' ' . self::EOL
- . $myIndent . '' . self::EOL;
- }
- $html = rtrim($html, self::EOL);
- }
-
- return $html;
- }
-
- /**
- * Renders helper
- *
- * Renders a HTML 'ul' for the given $container. If $container is not given,
- * the container registered in the helper will be used.
- *
- * Available $options:
- *
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * create menu from. Default
- * is to use the container
- * retrieved from
- * {@link getContainer()}.
- * @param array $options [optional] options for
- * controlling rendering
- * @return string rendered menu
- */
- public function renderMenu(Zend_Navigation_Container $container = null,
- array $options = array())
- {
- if (null === $container) {
- $container = $this->getContainer();
- }
-
- $options = $this->_normalizeOptions($options);
-
- if ($options['onlyActiveBranch'] && !$options['renderParents']) {
- $html = $this->_renderDeepestMenu($container,
- $options['ulClass'],
- $options['indent'],
- $options['minDepth'],
- $options['maxDepth']);
- } else {
- $html = $this->_renderMenu($container,
- $options['ulClass'],
- $options['indent'],
- $options['minDepth'],
- $options['maxDepth'],
- $options['onlyActiveBranch']);
- }
-
- return $html;
- }
-
- /**
- * Renders the inner-most sub menu for the active page in the $container
- *
- * This is a convenience method which is equivalent to the following call:
- *
- * renderMenu($container, array(
- * 'indent' => $indent,
- * 'ulClass' => $ulClass,
- * 'minDepth' => null,
- * 'maxDepth' => null,
- * 'onlyActiveBranch' => true,
- * 'renderParents' => false
- * ));
- *
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to render
- * the container registered in
- * the helper.
- * @param string $ulClass [optional] CSS class to
- * use for UL element. Default
- * is to use the value from
- * {@link getUlClass()}.
- * @param string|int $indent [optional] indentation as
- * a string or number of
- * spaces. Default is to use
- * the value retrieved from
- * {@link getIndent()}.
- * @return string rendered content
- */
- public function renderSubMenu(Zend_Navigation_Container $container = null,
- $ulClass = null,
- $indent = null)
- {
- return $this->renderMenu($container, array(
- 'indent' => $indent,
- 'ulClass' => $ulClass,
- 'minDepth' => null,
- 'maxDepth' => null,
- 'onlyActiveBranch' => true,
- 'renderParents' => false
- ));
- }
-
- /**
- * Renders the given $container by invoking the partial view helper
- *
- * The container will simply be passed on as a model to the view script
- * as-is, and will be available in the partial script as 'container', e.g.
- * echo 'Number of pages: ', count($this->container);
.
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * pass to view script. Default
- * is to use the container
- * registered in the helper.
- * @param string|array $partial [optional] partial view
- * script to use. Default is to
- * use the partial registered
- * in the helper. If an array
- * is given, it is expected to
- * contain two values; the
- * partial view script to use,
- * and the module where the
- * script can be found.
- * @return string helper output
- */
- public function renderPartial(Zend_Navigation_Container $container = null,
- $partial = null)
- {
- if (null === $container) {
- $container = $this->getContainer();
- }
-
- if (null === $partial) {
- $partial = $this->getPartial();
- }
-
- if (empty($partial)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(
- 'Unable to render menu: No partial view script provided'
- );
- $e->setView($this->view);
- throw $e;
- }
-
- $model = array(
- 'container' => $container
- );
-
- if (is_array($partial)) {
- if (count($partial) != 2) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(
- 'Unable to render menu: A view partial supplied as '
- . 'an array must contain two values: partial view '
- . 'script and module where script can be found'
- );
- $e->setView($this->view);
- throw $e;
- }
-
- return $this->view->partial($partial[0], $partial[1], $model);
- }
-
- return $this->view->partial($partial, null, $model);
- }
-
- // Zend_View_Helper_Navigation_Helper:
-
- /**
- * Renders menu
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::render()}.
- *
- * If a partial view is registered in the helper, the menu will be rendered
- * using the given partial script. If no partial is registered, the menu
- * will be rendered as an 'ul' element by the helper's internal method.
- *
- * @see renderPartial()
- * @see renderMenu()
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to
- * render the container
- * registered in the helper.
- * @return string helper output
- */
- public function render(Zend_Navigation_Container $container = null)
- {
- if ($partial = $this->getPartial()) {
- return $this->renderPartial($container, $partial);
- } else {
- return $this->renderMenu($container);
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Navigation/Sitemap.php b/airtime_mvc/library/Zend/View/Helper/Navigation/Sitemap.php
deleted file mode 100644
index 78a0e167f..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Navigation/Sitemap.php
+++ /dev/null
@@ -1,483 +0,0 @@
- tag
- *
- * @var string
- */
- const SITEMAP_NS = 'http://www.sitemaps.org/schemas/sitemap/0.9';
-
- /**
- * Schema URL
- *
- * @var string
- */
- const SITEMAP_XSD = 'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd';
-
- /**
- * Whether XML output should be formatted
- *
- * @var bool
- */
- protected $_formatOutput = false;
-
- /**
- * Whether the XML declaration should be included in XML output
- *
- * @var bool
- */
- protected $_useXmlDeclaration = true;
-
- /**
- * Whether sitemap should be validated using Zend_Validate_Sitemap_*
- *
- * @var bool
- */
- protected $_useSitemapValidators = true;
-
- /**
- * Whether sitemap should be schema validated when generated
- *
- * @var bool
- */
- protected $_useSchemaValidation = false;
-
- /**
- * Server url
- *
- * @var string
- */
- protected $_serverUrl;
-
- /**
- * View helper entry point:
- * Retrieves helper and optionally sets container to operate on
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * operate on
- * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns
- * self
- */
- public function sitemap(Zend_Navigation_Container $container = null)
- {
- if (null !== $container) {
- $this->setContainer($container);
- }
-
- return $this;
- }
-
- // Accessors:
-
- /**
- * Sets whether XML output should be formatted
- *
- * @param bool $formatOutput [optional] whether output
- * should be formatted. Default
- * is true.
- * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns
- * self
- */
- public function setFormatOutput($formatOutput = true)
- {
- $this->_formatOutput = (bool) $formatOutput;
- return $this;
- }
-
- /**
- * Returns whether XML output should be formatted
- *
- * @return bool whether XML output should be formatted
- */
- public function getFormatOutput()
- {
- return $this->_formatOutput;
- }
-
- /**
- * Sets whether the XML declaration should be used in output
- *
- * @param bool $useXmlDecl whether XML delcaration
- * should be rendered
- * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns
- * self
- */
- public function setUseXmlDeclaration($useXmlDecl)
- {
- $this->_useXmlDeclaration = (bool) $useXmlDecl;
- return $this;
- }
-
- /**
- * Returns whether the XML declaration should be used in output
- *
- * @return bool whether the XML declaration should be used in output
- */
- public function getUseXmlDeclaration()
- {
- return $this->_useXmlDeclaration;
- }
-
- /**
- * Sets whether sitemap should be validated using Zend_Validate_Sitemap_*
- *
- * @param bool $useSitemapValidators whether sitemap validators
- * should be used
- * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns
- * self
- */
- public function setUseSitemapValidators($useSitemapValidators)
- {
- $this->_useSitemapValidators = (bool) $useSitemapValidators;
- return $this;
- }
-
- /**
- * Returns whether sitemap should be validated using Zend_Validate_Sitemap_*
- *
- * @return bool whether sitemap should be validated using validators
- */
- public function getUseSitemapValidators()
- {
- return $this->_useSitemapValidators;
- }
-
- /**
- * Sets whether sitemap should be schema validated when generated
- *
- * @param bool $schemaValidation whether sitemap should
- * validated using XSD Schema
- * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns
- * self
- */
- public function setUseSchemaValidation($schemaValidation)
- {
- $this->_useSchemaValidation = (bool) $schemaValidation;
- return $this;
- }
-
- /**
- * Returns true if sitemap should be schema validated when generated
- *
- * @return bool
- */
- public function getUseSchemaValidation()
- {
- return $this->_useSchemaValidation;
- }
-
- /**
- * Sets server url (scheme and host-related stuff without request URI)
- *
- * E.g. http://www.example.com
- *
- * @param string $serverUrl server URL to set (only
- * scheme and host)
- * @throws Zend_Uri_Exception if invalid server URL
- * @return Zend_View_Helper_Navigation_Sitemap fluent interface, returns
- * self
- */
- public function setServerUrl($serverUrl)
- {
- require_once 'Zend/Uri.php';
- $uri = Zend_Uri::factory($serverUrl);
- $uri->setFragment('');
- $uri->setPath('');
- $uri->setQuery('');
-
- if ($uri->valid()) {
- $this->_serverUrl = $uri->getUri();
- } else {
- require_once 'Zend/Uri/Exception.php';
- $e = new Zend_Uri_Exception(sprintf(
- 'Invalid server URL: "%s"',
- $serverUrl));
- $e->setView($this->view);
- throw $e;
- }
-
- return $this;
- }
-
- /**
- * Returns server URL
- *
- * @return string server URL
- */
- public function getServerUrl()
- {
- if (!isset($this->_serverUrl)) {
- $this->_serverUrl = $this->view->serverUrl();
- }
-
- return $this->_serverUrl;
- }
-
- // Helper methods:
-
- /**
- * Escapes string for XML usage
- *
- * @param string $string string to escape
- * @return string escaped string
- */
- protected function _xmlEscape($string)
- {
- $enc = 'UTF-8';
- if ($this->view instanceof Zend_View_Interface
- && method_exists($this->view, 'getEncoding')
- ) {
- $enc = $this->view->getEncoding();
- }
-
- // TODO: remove check when minimum PHP version is >= 5.2.3
- if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
- // do not encode existing HTML entities
- return htmlspecialchars($string, ENT_QUOTES, $enc, false);
- } else {
- $string = preg_replace('/&(?!(?:#\d++|[a-z]++);)/ui', '&', $string);
- $string = str_replace(array('<', '>', '\'', '"'), array('<', '>', ''', '"'), $string);
- return $string;
- }
- }
-
- // Public methods:
-
- /**
- * Returns an escaped absolute URL for the given page
- *
- * @param Zend_Navigation_Page $page page to get URL from
- * @return string
- */
- public function url(Zend_Navigation_Page $page)
- {
- $href = $page->getHref();
-
- if (!isset($href{0})) {
- // no href
- return '';
- } elseif ($href{0} == '/') {
- // href is relative to root; use serverUrl helper
- $url = $this->getServerUrl() . $href;
- } elseif (preg_match('/^[a-z]+:/im', (string) $href)) {
- // scheme is given in href; assume absolute URL already
- $url = (string) $href;
- } else {
- // href is relative to current document; use url helpers
- $url = $this->getServerUrl()
- . rtrim($this->view->url(), '/') . '/'
- . $href;
- }
-
- return $this->_xmlEscape($url);
- }
-
- /**
- * Returns a DOMDocument containing the Sitemap XML for the given container
- *
- * @param Zend_Navigation_Container $container [optional] container to get
- * breadcrumbs from, defaults
- * to what is registered in the
- * helper
- * @return DOMDocument DOM representation of the
- * container
- * @throws Zend_View_Exception if schema validation is on
- * and the sitemap is invalid
- * according to the sitemap
- * schema, or if sitemap
- * validators are used and the
- * loc element fails validation
- */
- public function getDomSitemap(Zend_Navigation_Container $container = null)
- {
- if (null === $container) {
- $container = $this->getContainer();
- }
-
- // check if we should validate using our own validators
- if ($this->getUseSitemapValidators()) {
- require_once 'Zend/Validate/Sitemap/Changefreq.php';
- require_once 'Zend/Validate/Sitemap/Lastmod.php';
- require_once 'Zend/Validate/Sitemap/Loc.php';
- require_once 'Zend/Validate/Sitemap/Priority.php';
-
- // create validators
- $locValidator = new Zend_Validate_Sitemap_Loc();
- $lastmodValidator = new Zend_Validate_Sitemap_Lastmod();
- $changefreqValidator = new Zend_Validate_Sitemap_Changefreq();
- $priorityValidator = new Zend_Validate_Sitemap_Priority();
- }
-
- // create document
- $dom = new DOMDocument('1.0', 'UTF-8');
- $dom->formatOutput = $this->getFormatOutput();
-
- // ...and urlset (root) element
- $urlSet = $dom->createElementNS(self::SITEMAP_NS, 'urlset');
- $dom->appendChild($urlSet);
-
- // create iterator
- $iterator = new RecursiveIteratorIterator($container,
- RecursiveIteratorIterator::SELF_FIRST);
-
- $maxDepth = $this->getMaxDepth();
- if (is_int($maxDepth)) {
- $iterator->setMaxDepth($maxDepth);
- }
- $minDepth = $this->getMinDepth();
- if (!is_int($minDepth) || $minDepth < 0) {
- $minDepth = 0;
- }
-
- // iterate container
- foreach ($iterator as $page) {
- if ($iterator->getDepth() < $minDepth || !$this->accept($page)) {
- // page should not be included
- continue;
- }
-
- // get absolute url from page
- if (!$url = $this->url($page)) {
- // skip page if it has no url (rare case)
- continue;
- }
-
- // create url node for this page
- $urlNode = $dom->createElementNS(self::SITEMAP_NS, 'url');
- $urlSet->appendChild($urlNode);
-
- if ($this->getUseSitemapValidators() &&
- !$locValidator->isValid($url)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf(
- 'Encountered an invalid URL for Sitemap XML: "%s"',
- $url));
- $e->setView($this->view);
- throw $e;
- }
-
- // put url in 'loc' element
- $urlNode->appendChild($dom->createElementNS(self::SITEMAP_NS,
- 'loc', $url));
-
- // add 'lastmod' element if a valid lastmod is set in page
- if (isset($page->lastmod)) {
- $lastmod = strtotime((string) $page->lastmod);
-
- // prevent 1970-01-01...
- if ($lastmod !== false) {
- $lastmod = date('c', $lastmod);
- }
-
- if (!$this->getUseSitemapValidators() ||
- $lastmodValidator->isValid($lastmod)) {
- $urlNode->appendChild(
- $dom->createElementNS(self::SITEMAP_NS, 'lastmod',
- $lastmod)
- );
- }
- }
-
- // add 'changefreq' element if a valid changefreq is set in page
- if (isset($page->changefreq)) {
- $changefreq = $page->changefreq;
- if (!$this->getUseSitemapValidators() ||
- $changefreqValidator->isValid($changefreq)) {
- $urlNode->appendChild(
- $dom->createElementNS(self::SITEMAP_NS, 'changefreq',
- $changefreq)
- );
- }
- }
-
- // add 'priority' element if a valid priority is set in page
- if (isset($page->priority)) {
- $priority = $page->priority;
- if (!$this->getUseSitemapValidators() ||
- $priorityValidator->isValid($priority)) {
- $urlNode->appendChild(
- $dom->createElementNS(self::SITEMAP_NS, 'priority',
- $priority)
- );
- }
- }
- }
-
- // validate using schema if specified
- if ($this->getUseSchemaValidation()) {
- if (!@$dom->schemaValidate(self::SITEMAP_XSD)) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception(sprintf(
- 'Sitemap is invalid according to XML Schema at "%s"',
- self::SITEMAP_XSD));
- $e->setView($this->view);
- throw $e;
- }
- }
-
- return $dom;
- }
-
- // Zend_View_Helper_Navigation_Helper:
-
- /**
- * Renders helper
- *
- * Implements {@link Zend_View_Helper_Navigation_Helper::render()}.
- *
- * @param Zend_Navigation_Container $container [optional] container to
- * render. Default is to
- * render the container
- * registered in the helper.
- * @return string helper output
- */
- public function render(Zend_Navigation_Container $container = null)
- {
- $dom = $this->getDomSitemap($container);
-
- $xml = $this->getUseXmlDeclaration() ?
- $dom->saveXML() :
- $dom->saveXML($dom->documentElement);
-
- return rtrim($xml, PHP_EOL);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/PaginationControl.php b/airtime_mvc/library/Zend/View/Helper/PaginationControl.php
deleted file mode 100644
index 2599da932..000000000
--- a/airtime_mvc/library/Zend/View/Helper/PaginationControl.php
+++ /dev/null
@@ -1,145 +0,0 @@
-view = $view;
- return $this;
- }
-
- /**
- * Sets the default view partial.
- *
- * @param string|array $partial View partial
- */
- public static function setDefaultViewPartial($partial)
- {
- self::$_defaultViewPartial = $partial;
- }
-
- /**
- * Gets the default view partial
- *
- * @return string|array
- */
- public static function getDefaultViewPartial()
- {
- return self::$_defaultViewPartial;
- }
-
- /**
- * Render the provided pages. This checks if $view->paginator is set and,
- * if so, uses that. Also, if no scrolling style or partial are specified,
- * the defaults will be used (if set).
- *
- * @param Zend_Paginator (Optional) $paginator
- * @param string $scrollingStyle (Optional) Scrolling style
- * @param string $partial (Optional) View partial
- * @param array|string $params (Optional) params to pass to the partial
- * @return string
- * @throws Zend_View_Exception
- */
- public function paginationControl(Zend_Paginator $paginator = null, $scrollingStyle = null, $partial = null, $params = null)
- {
- if ($paginator === null) {
- if (isset($this->view->paginator) and $this->view->paginator !== null and $this->view->paginator instanceof Zend_Paginator) {
- $paginator = $this->view->paginator;
- } else {
- /**
- * @see Zend_View_Exception
- */
- require_once 'Zend/View/Exception.php';
-
- $e = new Zend_View_Exception('No paginator instance provided or incorrect type');
- $e->setView($this->view);
- throw $e;
- }
- }
-
- if ($partial === null) {
- if (self::$_defaultViewPartial === null) {
- /**
- * @see Zend_View_Exception
- */
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('No view partial provided and no default set');
- $e->setView($this->view);
- throw $e;
- }
-
- $partial = self::$_defaultViewPartial;
- }
-
- $pages = get_object_vars($paginator->getPages($scrollingStyle));
-
- if ($params !== null) {
- $pages = array_merge($pages, (array) $params);
- }
-
- if (is_array($partial)) {
- if (count($partial) != 2) {
- /**
- * @see Zend_View_Exception
- */
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('A view partial supplied as an array must contain two values: the filename and its module');
- $e->setView($this->view);
- throw $e;
- }
-
- if ($partial[1] !== null) {
- return $this->view->partial($partial[0], $partial[1], $pages);
- }
-
- $partial = $partial[0];
- }
-
- return $this->view->partial($partial, $pages);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Partial.php b/airtime_mvc/library/Zend/View/Helper/Partial.php
deleted file mode 100644
index 6b4a89247..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Partial.php
+++ /dev/null
@@ -1,149 +0,0 @@
-cloneView();
- if (isset($this->partialCounter)) {
- $view->partialCounter = $this->partialCounter;
- }
- if ((null !== $module) && is_string($module)) {
- require_once 'Zend/Controller/Front.php';
- $moduleDir = Zend_Controller_Front::getInstance()->getControllerDirectory($module);
- if (null === $moduleDir) {
- require_once 'Zend/View/Helper/Partial/Exception.php';
- $e = new Zend_View_Helper_Partial_Exception('Cannot render partial; module does not exist');
- $e->setView($this->view);
- throw $e;
- }
- $viewsDir = dirname($moduleDir) . '/views';
- $view->addBasePath($viewsDir);
- } elseif ((null == $model) && (null !== $module)
- && (is_array($module) || is_object($module)))
- {
- $model = $module;
- }
-
- if (!empty($model)) {
- if (is_array($model)) {
- $view->assign($model);
- } elseif (is_object($model)) {
- if (null !== ($objectKey = $this->getObjectKey())) {
- $view->assign($objectKey, $model);
- } elseif (method_exists($model, 'toArray')) {
- $view->assign($model->toArray());
- } else {
- $view->assign(get_object_vars($model));
- }
- }
- }
-
- return $view->render($name);
- }
-
- /**
- * Clone the current View
- *
- * @return Zend_View_Interface
- */
- public function cloneView()
- {
- $view = clone $this->view;
- $view->clearVars();
- return $view;
- }
-
- /**
- * Set object key
- *
- * @param string $key
- * @return Zend_View_Helper_Partial
- */
- public function setObjectKey($key)
- {
- if (null === $key) {
- $this->_objectKey = null;
- } else {
- $this->_objectKey = (string) $key;
- }
-
- return $this;
- }
-
- /**
- * Retrieve object key
- *
- * The objectKey is the variable to which an object in the iterator will be
- * assigned.
- *
- * @return null|string
- */
- public function getObjectKey()
- {
- return $this->_objectKey;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Partial/Exception.php b/airtime_mvc/library/Zend/View/Helper/Partial/Exception.php
deleted file mode 100644
index 237b4f55a..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Partial/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-setView($this->view);
- throw $e;
- }
-
- if (is_object($model)
- && (!$model instanceof Traversable)
- && method_exists($model, 'toArray')
- ) {
- $model = $model->toArray();
- }
-
- $content = '';
- // reset the counter if it's call again
- $this->partialCounter = 0;
- foreach ($model as $item) {
- // increment the counter variable
- $this->partialCounter++;
-
- $content .= $this->partial($name, $module, $item);
- }
-
- return $content;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Placeholder.php b/airtime_mvc/library/Zend/View/Helper/Placeholder.php
deleted file mode 100644
index 3ef212891..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Placeholder.php
+++ /dev/null
@@ -1,87 +0,0 @@
-_registry = Zend_View_Helper_Placeholder_Registry::getRegistry();
- }
-
-
- /**
- * Placeholder helper
- *
- * @param string $name
- * @return Zend_View_Helper_Placeholder_Container_Abstract
- */
- public function placeholder($name)
- {
- $name = (string) $name;
- return $this->_registry->getContainer($name);
- }
-
- /**
- * Retrieve the registry
- *
- * @return Zend_View_Helper_Placeholder_Registry
- */
- public function getRegistry()
- {
- return $this->_registry;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Placeholder/Container.php b/airtime_mvc/library/Zend/View/Helper/Placeholder/Container.php
deleted file mode 100644
index ef7d2bf7f..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Placeholder/Container.php
+++ /dev/null
@@ -1,36 +0,0 @@
-exchangeArray(array($value));
- }
-
- /**
- * Prepend a value to the top of the container
- *
- * @param mixed $value
- * @return void
- */
- public function prepend($value)
- {
- $values = $this->getArrayCopy();
- array_unshift($values, $value);
- $this->exchangeArray($values);
- }
-
- /**
- * Retrieve container value
- *
- * If single element registered, returns that element; otherwise,
- * serializes to array.
- *
- * @return mixed
- */
- public function getValue()
- {
- if (1 == count($this)) {
- $keys = $this->getKeys();
- $key = array_shift($keys);
- return $this[$key];
- }
-
- return $this->getArrayCopy();
- }
-
- /**
- * Set prefix for __toString() serialization
- *
- * @param string $prefix
- * @return Zend_View_Helper_Placeholder_Container
- */
- public function setPrefix($prefix)
- {
- $this->_prefix = (string) $prefix;
- return $this;
- }
-
- /**
- * Retrieve prefix
- *
- * @return string
- */
- public function getPrefix()
- {
- return $this->_prefix;
- }
-
- /**
- * Set postfix for __toString() serialization
- *
- * @param string $postfix
- * @return Zend_View_Helper_Placeholder_Container
- */
- public function setPostfix($postfix)
- {
- $this->_postfix = (string) $postfix;
- return $this;
- }
-
- /**
- * Retrieve postfix
- *
- * @return string
- */
- public function getPostfix()
- {
- return $this->_postfix;
- }
-
- /**
- * Set separator for __toString() serialization
- *
- * Used to implode elements in container
- *
- * @param string $separator
- * @return Zend_View_Helper_Placeholder_Container
- */
- public function setSeparator($separator)
- {
- $this->_separator = (string) $separator;
- return $this;
- }
-
- /**
- * Retrieve separator
- *
- * @return string
- */
- public function getSeparator()
- {
- return $this->_separator;
- }
-
- /**
- * Set the indentation string for __toString() serialization,
- * optionally, if a number is passed, it will be the number of spaces
- *
- * @param string|int $indent
- * @return Zend_View_Helper_Placeholder_Container_Abstract
- */
- public function setIndent($indent)
- {
- $this->_indent = $this->getWhitespace($indent);
- return $this;
- }
-
- /**
- * Retrieve indentation
- *
- * @return string
- */
- public function getIndent()
- {
- return $this->_indent;
- }
-
- /**
- * Retrieve whitespace representation of $indent
- *
- * @param int|string $indent
- * @return string
- */
- public function getWhitespace($indent)
- {
- if (is_int($indent)) {
- $indent = str_repeat(' ', $indent);
- }
-
- return (string) $indent;
- }
-
- /**
- * Start capturing content to push into placeholder
- *
- * @param int $type How to capture content into placeholder; append, prepend, or set
- * @return void
- * @throws Zend_View_Helper_Placeholder_Exception if nested captures detected
- */
- public function captureStart($type = Zend_View_Helper_Placeholder_Container_Abstract::APPEND, $key = null)
- {
- if ($this->_captureLock) {
- require_once 'Zend/View/Helper/Placeholder/Container/Exception.php';
- $e = new Zend_View_Helper_Placeholder_Container_Exception('Cannot nest placeholder captures for the same placeholder');
- $e->setView($this->view);
- throw $e;
- }
-
- $this->_captureLock = true;
- $this->_captureType = $type;
- if ((null !== $key) && is_scalar($key)) {
- $this->_captureKey = (string) $key;
- }
- ob_start();
- }
-
- /**
- * End content capture
- *
- * @return void
- */
- public function captureEnd()
- {
- $data = ob_get_clean();
- $key = null;
- $this->_captureLock = false;
- if (null !== $this->_captureKey) {
- $key = $this->_captureKey;
- }
- switch ($this->_captureType) {
- case self::SET:
- if (null !== $key) {
- $this[$key] = $data;
- } else {
- $this->exchangeArray(array($data));
- }
- break;
- case self::PREPEND:
- if (null !== $key) {
- $array = array($key => $data);
- $values = $this->getArrayCopy();
- $final = $array + $values;
- $this->exchangeArray($final);
- } else {
- $this->prepend($data);
- }
- break;
- case self::APPEND:
- default:
- if (null !== $key) {
- if (empty($this[$key])) {
- $this[$key] = $data;
- } else {
- $this[$key] .= $data;
- }
- } else {
- $this[$this->nextIndex()] = $data;
- }
- break;
- }
- }
-
- /**
- * Get keys
- *
- * @return array
- */
- public function getKeys()
- {
- $array = $this->getArrayCopy();
- return array_keys($array);
- }
-
- /**
- * Next Index
- *
- * as defined by the PHP manual
- * @return int
- */
- public function nextIndex()
- {
- $keys = $this->getKeys();
- if (0 == count($keys)) {
- return 0;
- }
-
- return $nextIndex = max($keys) + 1;
- }
-
- /**
- * Render the placeholder
- *
- * @return string
- */
- public function toString($indent = null)
- {
- $indent = ($indent !== null)
- ? $this->getWhitespace($indent)
- : $this->getIndent();
-
- $items = $this->getArrayCopy();
- $return = $indent
- . $this->getPrefix()
- . implode($this->getSeparator(), $items)
- . $this->getPostfix();
- $return = preg_replace("/(\r\n?|\n)/", '$1' . $indent, $return);
- return $return;
- }
-
- /**
- * Serialize object to string
- *
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Placeholder/Container/Exception.php b/airtime_mvc/library/Zend/View/Helper/Placeholder/Container/Exception.php
deleted file mode 100644
index 293c3ff40..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Placeholder/Container/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-setRegistry(Zend_View_Helper_Placeholder_Registry::getRegistry());
- $this->setContainer($this->getRegistry()->getContainer($this->_regKey));
- }
-
- /**
- * Retrieve registry
- *
- * @return Zend_View_Helper_Placeholder_Registry
- */
- public function getRegistry()
- {
- return $this->_registry;
- }
-
- /**
- * Set registry object
- *
- * @param Zend_View_Helper_Placeholder_Registry $registry
- * @return Zend_View_Helper_Placeholder_Container_Standalone
- */
- public function setRegistry(Zend_View_Helper_Placeholder_Registry $registry)
- {
- $this->_registry = $registry;
- return $this;
- }
-
- /**
- * Set whether or not auto escaping should be used
- *
- * @param bool $autoEscape whether or not to auto escape output
- * @return Zend_View_Helper_Placeholder_Container_Standalone
- */
- public function setAutoEscape($autoEscape = true)
- {
- $this->_autoEscape = ($autoEscape) ? true : false;
- return $this;
- }
-
- /**
- * Return whether autoEscaping is enabled or disabled
- *
- * return bool
- */
- public function getAutoEscape()
- {
- return $this->_autoEscape;
- }
-
- /**
- * Escape a string
- *
- * @param string $string
- * @return string
- */
- protected function _escape($string)
- {
- $enc = 'UTF-8';
- if ($this->view instanceof Zend_View_Interface
- && method_exists($this->view, 'getEncoding')
- ) {
- $enc = $this->view->getEncoding();
- }
-
- return htmlspecialchars((string) $string, ENT_COMPAT, $enc);
- }
-
- /**
- * Set container on which to operate
- *
- * @param Zend_View_Helper_Placeholder_Container_Abstract $container
- * @return Zend_View_Helper_Placeholder_Container_Standalone
- */
- public function setContainer(Zend_View_Helper_Placeholder_Container_Abstract $container)
- {
- $this->_container = $container;
- return $this;
- }
-
- /**
- * Retrieve placeholder container
- *
- * @return Zend_View_Helper_Placeholder_Container_Abstract
- */
- public function getContainer()
- {
- return $this->_container;
- }
-
- /**
- * Overloading: set property value
- *
- * @param string $key
- * @param mixed $value
- * @return void
- */
- public function __set($key, $value)
- {
- $container = $this->getContainer();
- $container[$key] = $value;
- }
-
- /**
- * Overloading: retrieve property
- *
- * @param string $key
- * @return mixed
- */
- public function __get($key)
- {
- $container = $this->getContainer();
- if (isset($container[$key])) {
- return $container[$key];
- }
-
- return null;
- }
-
- /**
- * Overloading: check if property is set
- *
- * @param string $key
- * @return bool
- */
- public function __isset($key)
- {
- $container = $this->getContainer();
- return isset($container[$key]);
- }
-
- /**
- * Overloading: unset property
- *
- * @param string $key
- * @return void
- */
- public function __unset($key)
- {
- $container = $this->getContainer();
- if (isset($container[$key])) {
- unset($container[$key]);
- }
- }
-
- /**
- * Overload
- *
- * Proxy to container methods
- *
- * @param string $method
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- $container = $this->getContainer();
- if (method_exists($container, $method)) {
- $return = call_user_func_array(array($container, $method), $args);
- if ($return === $container) {
- // If the container is returned, we really want the current object
- return $this;
- }
- return $return;
- }
-
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('Method "' . $method . '" does not exist');
- $e->setView($this->view);
- throw $e;
- }
-
- /**
- * String representation
- *
- * @return string
- */
- public function toString()
- {
- return $this->getContainer()->toString();
- }
-
- /**
- * Cast to string representation
- *
- * @return string
- */
- public function __toString()
- {
- return $this->toString();
- }
-
- /**
- * Countable
- *
- * @return int
- */
- public function count()
- {
- $container = $this->getContainer();
- return count($container);
- }
-
- /**
- * ArrayAccess: offsetExists
- *
- * @param string|int $offset
- * @return bool
- */
- public function offsetExists($offset)
- {
- return $this->getContainer()->offsetExists($offset);
- }
-
- /**
- * ArrayAccess: offsetGet
- *
- * @param string|int $offset
- * @return mixed
- */
- public function offsetGet($offset)
- {
- return $this->getContainer()->offsetGet($offset);
- }
-
- /**
- * ArrayAccess: offsetSet
- *
- * @param string|int $offset
- * @param mixed $value
- * @return void
- */
- public function offsetSet($offset, $value)
- {
- return $this->getContainer()->offsetSet($offset, $value);
- }
-
- /**
- * ArrayAccess: offsetUnset
- *
- * @param string|int $offset
- * @return void
- */
- public function offsetUnset($offset)
- {
- return $this->getContainer()->offsetUnset($offset);
- }
-
- /**
- * IteratorAggregate: get Iterator
- *
- * @return Iterator
- */
- public function getIterator()
- {
- return $this->getContainer()->getIterator();
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Placeholder/Registry.php b/airtime_mvc/library/Zend/View/Helper/Placeholder/Registry.php
deleted file mode 100644
index 1e793e4d7..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Placeholder/Registry.php
+++ /dev/null
@@ -1,188 +0,0 @@
-_items[$key] = new $this->_containerClass(array());
- return $this->_items[$key];
- }
-
- /**
- * Retrieve a placeholder container
- *
- * @param string $key
- * @return Zend_View_Helper_Placeholder_Container_Abstract
- */
- public function getContainer($key)
- {
- $key = (string) $key;
- if (isset($this->_items[$key])) {
- return $this->_items[$key];
- }
-
- $container = $this->createContainer($key);
-
- return $container;
- }
-
- /**
- * Does a particular container exist?
- *
- * @param string $key
- * @return bool
- */
- public function containerExists($key)
- {
- $key = (string) $key;
- $return = array_key_exists($key, $this->_items);
- return $return;
- }
-
- /**
- * Set the container for an item in the registry
- *
- * @param string $key
- * @param Zend_View_Placeholder_Container_Abstract $container
- * @return Zend_View_Placeholder_Registry
- */
- public function setContainer($key, Zend_View_Helper_Placeholder_Container_Abstract $container)
- {
- $key = (string) $key;
- $this->_items[$key] = $container;
- return $this;
- }
-
- /**
- * Delete a container
- *
- * @param string $key
- * @return bool
- */
- public function deleteContainer($key)
- {
- $key = (string) $key;
- if (isset($this->_items[$key])) {
- unset($this->_items[$key]);
- return true;
- }
-
- return false;
- }
-
- /**
- * Set the container class to use
- *
- * @param string $name
- * @return Zend_View_Helper_Placeholder_Registry
- */
- public function setContainerClass($name)
- {
- if (!class_exists($name)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($name);
- }
-
- $reflection = new ReflectionClass($name);
- if (!$reflection->isSubclassOf(new ReflectionClass('Zend_View_Helper_Placeholder_Container_Abstract'))) {
- require_once 'Zend/View/Helper/Placeholder/Registry/Exception.php';
- $e = new Zend_View_Helper_Placeholder_Registry_Exception('Invalid Container class specified');
- $e->setView($this->view);
- throw $e;
- }
-
- $this->_containerClass = $name;
- return $this;
- }
-
- /**
- * Retrieve the container class
- *
- * @return string
- */
- public function getContainerClass()
- {
- return $this->_containerClass;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Placeholder/Registry/Exception.php b/airtime_mvc/library/Zend/View/Helper/Placeholder/Registry/Exception.php
deleted file mode 100644
index 74cc46b9f..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Placeholder/Registry/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
-view->placeholder($placeholder)->captureStart();
- echo $this->view->render($script);
- $this->view->placeholder($placeholder)->captureEnd();
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/ServerUrl.php b/airtime_mvc/library/Zend/View/Helper/ServerUrl.php
deleted file mode 100644
index 0461725eb..000000000
--- a/airtime_mvc/library/Zend/View/Helper/ServerUrl.php
+++ /dev/null
@@ -1,144 +0,0 @@
-setScheme($scheme);
-
- if (isset($_SERVER['HTTP_HOST']) && !empty($_SERVER['HTTP_HOST'])) {
- $this->setHost($_SERVER['HTTP_HOST']);
- } else if (isset($_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'])) {
- $name = $_SERVER['SERVER_NAME'];
- $port = $_SERVER['SERVER_PORT'];
-
- if (($scheme == 'http' && $port == 80) ||
- ($scheme == 'https' && $port == 443)) {
- $this->setHost($name);
- } else {
- $this->setHost($name . ':' . $port);
- }
- }
- }
-
- /**
- * View helper entry point:
- * Returns the current host's URL like http://site.com
- *
- * @param string|boolean $requestUri [optional] if true, the request URI
- * found in $_SERVER will be appended
- * as a path. If a string is given, it
- * will be appended as a path. Default
- * is to not append any path.
- * @return string server url
- */
- public function serverUrl($requestUri = null)
- {
- if ($requestUri === true) {
- $path = $_SERVER['REQUEST_URI'];
- } else if (is_string($requestUri)) {
- $path = $requestUri;
- } else {
- $path = '';
- }
-
- return $this->getScheme() . '://' . $this->getHost() . $path;
- }
-
- /**
- * Returns host
- *
- * @return string host
- */
- public function getHost()
- {
- return $this->_host;
- }
-
- /**
- * Sets host
- *
- * @param string $host new host
- * @return Zend_View_Helper_ServerUrl fluent interface, returns self
- */
- public function setHost($host)
- {
- $this->_host = $host;
- return $this;
- }
-
- /**
- * Returns scheme (typically http or https)
- *
- * @return string scheme (typically http or https)
- */
- public function getScheme()
- {
- return $this->_scheme;
- }
-
- /**
- * Sets scheme (typically http or https)
- *
- * @param string $scheme new scheme (typically http or https)
- * @return Zend_View_Helper_ServerUrl fluent interface, returns self
- */
- public function setScheme($scheme)
- {
- $this->_scheme = $scheme;
- return $this;
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Translate.php b/airtime_mvc/library/Zend/View/Helper/Translate.php
deleted file mode 100644
index ec310f27b..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Translate.php
+++ /dev/null
@@ -1,180 +0,0 @@
-setTranslator($translate);
- }
- }
-
- /**
- * Translate a message
- * You can give multiple params or an array of params.
- * If you want to output another locale just set it as last single parameter
- * Example 1: translate('%1\$s + %2\$s', $value1, $value2, $locale);
- * Example 2: translate('%1\$s + %2\$s', array($value1, $value2), $locale);
- *
- * @param string $messageid Id of the message to be translated
- * @return string|Zend_View_Helper_Translate Translated message
- */
- public function translate($messageid = null)
- {
- if ($messageid === null) {
- return $this;
- }
-
- $translate = $this->getTranslator();
- $options = func_get_args();
-
- array_shift($options);
- $count = count($options);
- $locale = null;
- if ($count > 0) {
- if (Zend_Locale::isLocale($options[($count - 1)], null, false) !== false) {
- $locale = array_pop($options);
- }
- }
-
- if ((count($options) === 1) and (is_array($options[0]) === true)) {
- $options = $options[0];
- }
-
- if ($translate !== null) {
- $messageid = $translate->translate($messageid, $locale);
- }
-
- if (count($options) === 0) {
- return $messageid;
- }
-
- return vsprintf($messageid, $options);
- }
-
- /**
- * Sets a translation Adapter for translation
- *
- * @param Zend_Translate|Zend_Translate_Adapter $translate Instance of Zend_Translate
- * @throws Zend_View_Exception When no or a false instance was set
- * @return Zend_View_Helper_Translate
- */
- public function setTranslator($translate)
- {
- if ($translate instanceof Zend_Translate_Adapter) {
- $this->_translator = $translate;
- } else if ($translate instanceof Zend_Translate) {
- $this->_translator = $translate->getAdapter();
- } else {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter');
- $e->setView($this->view);
- throw $e;
- }
-
- return $this;
- }
-
- /**
- * Retrieve translation object
- *
- * @return Zend_Translate_Adapter|null
- */
- public function getTranslator()
- {
- if ($this->_translator === null) {
- require_once 'Zend/Registry.php';
- if (Zend_Registry::isRegistered('Zend_Translate')) {
- $this->setTranslator(Zend_Registry::get('Zend_Translate'));
- }
- }
-
- return $this->_translator;
- }
-
- /**
- * Set's an new locale for all further translations
- *
- * @param string|Zend_Locale $locale New locale to set
- * @throws Zend_View_Exception When no Zend_Translate instance was set
- * @return Zend_View_Helper_Translate
- */
- public function setLocale($locale = null)
- {
- $translate = $this->getTranslator();
- if ($translate === null) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter');
- $e->setView($this->view);
- throw $e;
- }
-
- $translate->setLocale($locale);
- return $this;
- }
-
- /**
- * Returns the set locale for translations
- *
- * @throws Zend_View_Exception When no Zend_Translate instance was set
- * @return string|Zend_Locale
- */
- public function getLocale()
- {
- $translate = $this->getTranslator();
- if ($translate === null) {
- require_once 'Zend/View/Exception.php';
- $e = new Zend_View_Exception('You must set an instance of Zend_Translate or Zend_Translate_Adapter');
- $e->setView($this->view);
- throw $e;
- }
-
- return $translate->getLocale();
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Helper/Url.php b/airtime_mvc/library/Zend/View/Helper/Url.php
deleted file mode 100644
index 1932f0357..000000000
--- a/airtime_mvc/library/Zend/View/Helper/Url.php
+++ /dev/null
@@ -1,51 +0,0 @@
-getRouter();
- return $router->assemble($urlOptions, $name, $reset, $encode);
- }
-}
diff --git a/airtime_mvc/library/Zend/View/Interface.php b/airtime_mvc/library/Zend/View/Interface.php
deleted file mode 100644
index 501535e82..000000000
--- a/airtime_mvc/library/Zend/View/Interface.php
+++ /dev/null
@@ -1,137 +0,0 @@
- value pairs to set en
- * masse.
- *
- * @see __set()
- * @param string|array $spec The assignment strategy to use (key or array of key
- * => value pairs)
- * @param mixed $value (Optional) If assigning a named variable, use this
- * as the value.
- * @return void
- */
- public function assign($spec, $value = null);
-
- /**
- * Clear all assigned variables
- *
- * Clears all variables assigned to Zend_View either via {@link assign()} or
- * property overloading ({@link __get()}/{@link __set()}).
- *
- * @return void
- */
- public function clearVars();
-
- /**
- * Processes a view script and returns the output.
- *
- * @param string $name The script name to process.
- * @return string The script output.
- */
- public function render($name);
-}
diff --git a/airtime_mvc/library/Zend/View/Stream.php b/airtime_mvc/library/Zend/View/Stream.php
deleted file mode 100644
index f4869ddc9..000000000
--- a/airtime_mvc/library/Zend/View/Stream.php
+++ /dev/null
@@ -1,183 +0,0 @@
-_data = file_get_contents($path);
-
- /**
- * If reading the file failed, update our local stat store
- * to reflect the real stat of the file, then return on failure
- */
- if ($this->_data === false) {
- $this->_stat = stat($path);
- return false;
- }
-
- /**
- * Convert = ?> to long-form and ?> to
- *
- */
- $this->_data = preg_replace('/\<\?\=/', "_data);
- $this->_data = preg_replace('/<\?(?!xml|php)/s', '_data);
-
- /**
- * file_get_contents() won't update PHP's stat cache, so we grab a stat
- * of the file to prevent additional reads should the script be
- * requested again, which will make include() happy.
- */
- $this->_stat = stat($path);
-
- return true;
- }
-
- /**
- * Included so that __FILE__ returns the appropriate info
- *
- * @return array
- */
- public function url_stat()
- {
- return $this->_stat;
- }
-
- /**
- * Reads from the stream.
- */
- public function stream_read($count)
- {
- $ret = substr($this->_data, $this->_pos, $count);
- $this->_pos += strlen($ret);
- return $ret;
- }
-
-
- /**
- * Tells the current position in the stream.
- */
- public function stream_tell()
- {
- return $this->_pos;
- }
-
-
- /**
- * Tells if we are at the end of the stream.
- */
- public function stream_eof()
- {
- return $this->_pos >= strlen($this->_data);
- }
-
-
- /**
- * Stream statistics.
- */
- public function stream_stat()
- {
- return $this->_stat;
- }
-
-
- /**
- * Seek to a specific point in the stream.
- */
- public function stream_seek($offset, $whence)
- {
- switch ($whence) {
- case SEEK_SET:
- if ($offset < strlen($this->_data) && $offset >= 0) {
- $this->_pos = $offset;
- return true;
- } else {
- return false;
- }
- break;
-
- case SEEK_CUR:
- if ($offset >= 0) {
- $this->_pos += $offset;
- return true;
- } else {
- return false;
- }
- break;
-
- case SEEK_END:
- if (strlen($this->_data) + $offset >= 0) {
- $this->_pos = strlen($this->_data) + $offset;
- return true;
- } else {
- return false;
- }
- break;
-
- default:
- return false;
- }
- }
-}
diff --git a/airtime_mvc/library/Zend/Wildfire/Channel/HttpHeaders.php b/airtime_mvc/library/Zend/Wildfire/Channel/HttpHeaders.php
deleted file mode 100644
index 5ef70798a..000000000
--- a/airtime_mvc/library/Zend/Wildfire/Channel/HttpHeaders.php
+++ /dev/null
@@ -1,339 +0,0 @@
-_protocols[$uri])) {
- $this->_protocols[$uri] = $this->_initProtocol($uri);
- }
-
- $this->_registerControllerPlugin();
-
- return $this->_protocols[$uri];
- }
-
- /**
- * Initialize a new protocol
- *
- * @param string $uri The URI for the protocol to be initialized
- * @return object Returns the new initialized protocol instance
- * @throws Zend_Wildfire_Exception
- */
- protected function _initProtocol($uri)
- {
- switch ($uri) {
- case Zend_Wildfire_Protocol_JsonStream::PROTOCOL_URI;
- return new Zend_Wildfire_Protocol_JsonStream();
- }
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Tyring to initialize unknown protocol for URI "'.$uri.'".');
- }
-
-
- /**
- * Flush all data from all protocols and send all data to response headers.
- *
- * @return boolean Returns TRUE if data was flushed
- */
- public function flush()
- {
- if (!$this->_protocols || !$this->isReady()) {
- return false;
- }
-
- foreach ( $this->_protocols as $protocol ) {
-
- $payload = $protocol->getPayload($this);
-
- if ($payload) {
- foreach( $payload as $message ) {
-
- $this->getResponse()->setHeader(self::$_headerPrefix.$message[0],
- $message[1], true);
- }
- }
- }
- return true;
- }
-
- /**
- * Set the index of the plugin in the controller dispatch loop plugin stack
- *
- * @param integer $index The index of the plugin in the stack
- * @return integer The previous index.
- */
- public static function setControllerPluginStackIndex($index)
- {
- $previous = self::$_controllerPluginStackIndex;
- self::$_controllerPluginStackIndex = $index;
- return $previous;
- }
-
- /**
- * Register this object as a controller plugin.
- *
- * @return void
- */
- protected function _registerControllerPlugin()
- {
- $controller = Zend_Controller_Front::getInstance();
- if (!$controller->hasPlugin(get_class($this))) {
- $controller->registerPlugin($this, self::$_controllerPluginStackIndex);
- }
- }
-
-
- /*
- * Zend_Wildfire_Channel_Interface
- */
-
- /**
- * Determine if channel is ready.
- *
- * The channel is ready as long as the request and response objects are initialized,
- * can send headers and the FirePHP header exists in the User-Agent.
- *
- * If the header does not exist in the User-Agent, no appropriate client
- * is making this request and the messages should not be sent.
- *
- * A timing issue arises when messages are logged before the request/response
- * objects are initialized. In this case we do not yet know if the client
- * will be able to accept the messages. If we consequently indicate that
- * the channel is not ready, these messages will be dropped which is in
- * most cases not the intended behaviour. The intent is to send them at the
- * end of the request when the request/response objects will be available
- * for sure.
- *
- * If the request/response objects are not yet initialized we assume if messages are
- * logged, the client will be able to receive them. As soon as the request/response
- * objects are availoable and a message is logged this assumption is challenged.
- * If the client cannot accept the messages any further messages are dropped
- * and messages sent prior are kept but discarded when the channel is finally
- * flushed at the end of the request.
- *
- * When the channel is flushed the $forceCheckRequest option is used to force
- * a check of the request/response objects. This is the last verification to ensure
- * messages are only sent when the client can accept them.
- *
- * @param boolean $forceCheckRequest OPTIONAL Set to TRUE if the request must be checked
- * @return boolean Returns TRUE if channel is ready.
- */
- public function isReady($forceCheckRequest=false)
- {
- if (!$forceCheckRequest
- && !$this->_request
- && !$this->_response
- ) {
- return true;
- }
-
- return ($this->getResponse()->canSendHeaders()
- && (preg_match_all(
- '/\s?FirePHP\/([\.\d]*)\s?/si',
- $this->getRequest()->getHeader('User-Agent'),
- $m
- ) ||
- (($header = $this->getRequest()->getHeader('X-FirePHP-Version'))
- && preg_match_all('/^([\.\d]*)$/si', $header, $m)
- ))
- );
- }
-
-
- /*
- * Zend_Controller_Plugin_Abstract
- */
-
- /**
- * Flush messages to headers as late as possible but before headers have been sent.
- *
- * @return void
- */
- public function dispatchLoopShutdown()
- {
- $this->flush();
- }
-
- /**
- * Get the request object
- *
- * @return Zend_Controller_Request_Abstract
- * @throws Zend_Wildfire_Exception
- */
- public function getRequest()
- {
- if (!$this->_request) {
- $controller = Zend_Controller_Front::getInstance();
- $this->setRequest($controller->getRequest());
- }
- if (!$this->_request) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Request objects not initialized.');
- }
- return $this->_request;
- }
-
- /**
- * Get the response object
- *
- * @return Zend_Controller_Response_Abstract
- * @throws Zend_Wildfire_Exception
- */
- public function getResponse()
- {
- if (!$this->_response) {
- $response = Zend_Controller_Front::getInstance()->getResponse();
- if ($response) {
- $this->setResponse($response);
- }
- }
- if (!$this->_response) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Response objects not initialized.');
- }
- return $this->_response;
- }
-}
diff --git a/airtime_mvc/library/Zend/Wildfire/Channel/Interface.php b/airtime_mvc/library/Zend/Wildfire/Channel/Interface.php
deleted file mode 100644
index 46c9bf2ab..000000000
--- a/airtime_mvc/library/Zend/Wildfire/Channel/Interface.php
+++ /dev/null
@@ -1,38 +0,0 @@
- 1, /* The offset in the trace which identifies the source of the message */
- 'maxTraceDepth' => 99, /* Maximum depth for stack traces */
- 'maxObjectDepth' => 10, /* The maximum depth to traverse objects when encoding */
- 'maxArrayDepth' => 20, /* The maximum depth to traverse nested arrays when encoding */
- 'includeLineNumbers' => true /* Whether to include line and file info for each message */
- );
-
- /**
- * Filters used to exclude object members when encoding
- * @var array
- */
- protected $_objectFilters = array();
-
- /**
- * A stack of objects used during encoding to detect recursion
- * @var array
- */
- protected $_objectStack = array();
-
- /**
- * Create singleton instance.
- *
- * @param string $class OPTIONAL Subclass of Zend_Wildfire_Plugin_FirePhp
- * @return Zend_Wildfire_Plugin_FirePhp Returns the singleton Zend_Wildfire_Plugin_FirePhp instance
- * @throws Zend_Wildfire_Exception
- */
- public static function init($class = null)
- {
- if (self::$_instance !== null) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Singleton instance of Zend_Wildfire_Plugin_FirePhp already exists!');
- }
- if ($class !== null) {
- if (!is_string($class)) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Third argument is not a class string');
- }
-
- if (!class_exists($class)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($class);
- }
- self::$_instance = new $class();
- if (!self::$_instance instanceof Zend_Wildfire_Plugin_FirePhp) {
- self::$_instance = null;
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Invalid class to third argument. Must be subclass of Zend_Wildfire_Plugin_FirePhp.');
- }
- } else {
- self::$_instance = new self();
- }
-
- return self::$_instance;
- }
-
- /**
- * Constructor
- * @return void
- */
- protected function __construct()
- {
- $this->_channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
- $this->_channel->getProtocol(self::PROTOCOL_URI)->registerPlugin($this);
- }
-
- /**
- * Get or create singleton instance
- *
- * @param $skipCreate boolean True if an instance should not be created
- * @return Zend_Wildfire_Plugin_FirePhp
- */
- public static function getInstance($skipCreate=false)
- {
- if (self::$_instance===null && $skipCreate!==true) {
- return self::init();
- }
- return self::$_instance;
- }
-
- /**
- * Destroys the singleton instance
- *
- * Primarily used for testing.
- *
- * @return void
- */
- public static function destroyInstance()
- {
- self::$_instance = null;
- }
-
- /**
- * Enable or disable sending of messages to user-agent.
- * If disabled all headers to be sent will be removed.
- *
- * @param boolean $enabled Set to TRUE to enable sending of messages.
- * @return boolean The previous value.
- */
- public function setEnabled($enabled)
- {
- $previous = $this->_enabled;
- $this->_enabled = $enabled;
- if (!$this->_enabled) {
- $this->_messages = array();
- $this->_channel->getProtocol(self::PROTOCOL_URI)->clearMessages($this);
- }
- return $previous;
- }
-
- /**
- * Determine if logging to user-agent is enabled.
- *
- * @return boolean Returns TRUE if logging is enabled.
- */
- public function getEnabled()
- {
- return $this->_enabled;
- }
-
- /**
- * Set a single option
- *
- * @param string $key The name of the option
- * @param mixed $value The value of the option
- * @return mixed The previous value of the option
- */
- public function setOption($key, $value)
- {
- if (!array_key_exists($key,$this->_options)) {
- throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!');
- }
- $previous = $this->_options[$key];
- $this->_options[$key] = $value;
- return $previous;
- }
-
- /**
- * Retrieve a single option
- *
- * @param string $key The name of the option
- * @return mixed The value of the option
- */
- public function getOption($key)
- {
- if (!array_key_exists($key,$this->_options)) {
- throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!');
- }
- return $this->_options[$key];
- }
-
- /**
- * Retrieve all options
- *
- * @return array All options
- */
- public function getOptions()
- {
- return $this->_options;
- }
-
- /**
- * Specify a filter to be used when encoding an object
- *
- * Filters are used to exclude object members.
- *
- * @param string $Class The class name of the object
- * @param array $Filter An array of members to exclude
- * @return void
- */
- public function setObjectFilter($class, $filter) {
- $this->_objectFilters[$class] = $filter;
- }
-
- /**
- * Starts a group in the Firebug Console
- *
- * @param string $title The title of the group
- * @return TRUE if the group instruction was added to the response headers or buffered.
- */
- public static function group($title)
- {
- return self::send(null, $title, self::GROUP_START);
- }
-
- /**
- * Ends a group in the Firebug Console
- *
- * @return TRUE if the group instruction was added to the response headers or buffered.
- */
- public static function groupEnd()
- {
- return self::send(null, null, self::GROUP_END);
- }
-
- /**
- * Logs variables to the Firebug Console
- * via HTTP response headers and the FirePHP Firefox Extension.
- *
- * @param mixed $var The variable to log.
- * @param string $label OPTIONAL Label to prepend to the log event.
- * @param string $style OPTIONAL Style of the log event.
- * @param array $options OPTIONAL Options to change how messages are processed and sent
- * @return boolean Returns TRUE if the variable was added to the response headers or buffered.
- * @throws Zend_Wildfire_Exception
- */
- public static function send($var, $label=null, $style=null, $options=array())
- {
- $firephp = self::getInstance();
-
- if (!$firephp->getEnabled()) {
- return false;
- }
-
- if ($var instanceof Zend_Wildfire_Plugin_FirePhp_Message) {
-
- if ($var->getBuffered()) {
- if (!in_array($var, self::$_instance->_messages)) {
- self::$_instance->_messages[] = $var;
- }
- return true;
- }
-
- if ($var->getDestroy()) {
- return false;
- }
-
- $style = $var->getStyle();
- $label = $var->getLabel();
- $options = $var->getOptions();
- $var = $var->getMessage();
- }
-
- if (!self::$_instance->_channel->isReady()) {
- return false;
- }
-
- foreach ($options as $name => $value) {
- if ($value===null) {
- unset($options[$name]);
- }
- }
- $options = array_merge($firephp->getOptions(), $options);
-
- $trace = null;
-
- $skipFinalEncode = false;
-
- $meta = array();
- $meta['Type'] = $style;
-
- if ($var instanceof Exception) {
-
- $eTrace = $var->getTrace();
- $eTrace = array_splice($eTrace, 0, $options['maxTraceDepth']);
-
- $var = array('Class'=>get_class($var),
- 'Message'=>$var->getMessage(),
- 'File'=>$var->getFile(),
- 'Line'=>$var->getLine(),
- 'Type'=>'throw',
- 'Trace'=>$firephp->_encodeTrace($eTrace));
-
- $meta['Type'] = self::EXCEPTION;
-
- $skipFinalEncode = true;
-
- } else
- if ($meta['Type']==self::TRACE) {
-
- if (!$label && $var) {
- $label = $var;
- $var = null;
- }
-
- if (!$trace) {
- $trace = $firephp->_getStackTrace(array_merge($options,
- array('maxTraceDepth'=>$options['maxTraceDepth']+1)));
- }
-
- $var = array('Class'=>$trace[0]['class'],
- 'Type'=>$trace[0]['type'],
- 'Function'=>$trace[0]['function'],
- 'Message'=>$label,
- 'File'=>isset($trace[0]['file'])?$trace[0]['file']:'',
- 'Line'=>isset($trace[0]['line'])?$trace[0]['line']:'',
- 'Args'=>isset($trace[0]['args'])?$firephp->_encodeObject($trace[0]['args']):'',
- 'Trace'=>$firephp->_encodeTrace(array_splice($trace,1)));
-
- $skipFinalEncode = true;
-
- } else
- if ($meta['Type']==self::TABLE) {
-
- $var = $firephp->_encodeTable($var);
-
- $skipFinalEncode = true;
-
- } else {
- if ($meta['Type']===null) {
- $meta['Type'] = self::LOG;
- }
- }
-
- if ($label!=null) {
- $meta['Label'] = $label;
- }
-
- switch ($meta['Type']) {
- case self::LOG:
- case self::INFO:
- case self::WARN:
- case self::ERROR:
- case self::EXCEPTION:
- case self::TRACE:
- case self::TABLE:
- case self::DUMP:
- case self::GROUP_START:
- case self::GROUP_END:
- break;
- default:
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Log style "'.$meta['Type'].'" not recognized!');
- break;
- }
-
- if ($meta['Type'] != self::DUMP && $options['includeLineNumbers']) {
- if (!isset($meta['File']) || !isset($meta['Line'])) {
-
- if (!$trace) {
- $trace = $firephp->_getStackTrace($options);
- }
-
- $meta['File'] = isset($trace[0]['file'])?$trace[0]['file']:'';
- $meta['Line'] = isset($trace[0]['line'])?$trace[0]['line']:'';
-
- }
- } else {
- unset($meta['File']);
- unset($meta['Line']);
- }
-
- if ($meta['Type'] == self::DUMP) {
-
- return $firephp->_recordMessage(self::STRUCTURE_URI_DUMP,
- array('key'=>$meta['Label'],
- 'data'=>$var),
- $skipFinalEncode);
-
- } else {
-
- return $firephp->_recordMessage(self::STRUCTURE_URI_FIREBUGCONSOLE,
- array('data'=>$var,
- 'meta'=>$meta),
- $skipFinalEncode);
- }
- }
-
- /**
- * Gets a stack trace
- *
- * @param array $options Options to change how the stack trace is returned
- * @return array The stack trace
- */
- protected function _getStackTrace($options)
- {
- $trace = debug_backtrace();
-
- return array_splice($trace, $options['traceOffset'], $options['maxTraceDepth']);
- }
-
- /**
- * Record a message with the given data in the given structure
- *
- * @param string $structure The structure to be used for the data
- * @param array $data The data to be recorded
- * @param boolean $skipEncode TRUE if variable encoding should be skipped
- * @return boolean Returns TRUE if message was recorded
- * @throws Zend_Wildfire_Exception
- */
- protected function _recordMessage($structure, $data, $skipEncode=false)
- {
- switch($structure) {
-
- case self::STRUCTURE_URI_DUMP:
-
- if (!isset($data['key'])) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('You must supply a key.');
- }
- if (!array_key_exists('data',$data)) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('You must supply data.');
- }
-
- $value = $data['data'];
- if (!$skipEncode) {
- $value = $this->_encodeObject($data['data']);
- }
-
- return $this->_channel->getProtocol(self::PROTOCOL_URI)->
- recordMessage($this,
- $structure,
- array($data['key']=>$value));
-
- case self::STRUCTURE_URI_FIREBUGCONSOLE:
-
- if (!isset($data['meta']) ||
- !is_array($data['meta']) ||
- !array_key_exists('Type',$data['meta'])) {
-
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('You must supply a "Type" in the meta information.');
- }
- if (!array_key_exists('data',$data)) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('You must supply data.');
- }
-
- $value = $data['data'];
- if (!$skipEncode) {
- $value = $this->_encodeObject($data['data']);
- }
-
- return $this->_channel->getProtocol(self::PROTOCOL_URI)->
- recordMessage($this,
- $structure,
- array($data['meta'],
- $value));
-
- default:
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Structure of name "'.$structure.'" is not recognized.');
- break;
- }
- return false;
- }
-
- /**
- * Encodes a table by encoding each row and column with _encodeObject()
- *
- * @param array $Table The table to be encoded
- * @return array
- */
- protected function _encodeTable($table)
- {
- if (!$table) {
- return $table;
- }
- for ($i=0 ; $i_encodeObject($table[$i][$j]);
- }
- }
- }
- return $table;
- }
-
- /**
- * Encodes a trace by encoding all "args" with _encodeObject()
- *
- * @param array $Trace The trace to be encoded
- * @return array The encoded trace
- */
- protected function _encodeTrace($trace)
- {
- if (!$trace) {
- return $trace;
- }
- for ($i=0 ; $i_encodeObject($trace[$i]['args']);
- }
- }
- return $trace;
- }
-
- /**
- * Encode an object by generating an array containing all object members.
- *
- * All private and protected members are included. Some meta info about
- * the object class is added.
- *
- * @param mixed $object The object/array/value to be encoded
- * @return array The encoded object
- */
- protected function _encodeObject($object, $objectDepth = 1, $arrayDepth = 1)
- {
- $return = array();
-
- if (is_resource($object)) {
-
- return '** '.(string)$object.' **';
-
- } else
- if (is_object($object)) {
-
- if ($objectDepth > $this->_options['maxObjectDepth']) {
- return '** Max Object Depth ('.$this->_options['maxObjectDepth'].') **';
- }
-
- foreach ($this->_objectStack as $refVal) {
- if ($refVal === $object) {
- return '** Recursion ('.get_class($object).') **';
- }
- }
- array_push($this->_objectStack, $object);
-
- $return['__className'] = $class = get_class($object);
-
- $reflectionClass = new ReflectionClass($class);
- $properties = array();
- foreach ( $reflectionClass->getProperties() as $property) {
- $properties[$property->getName()] = $property;
- }
-
- $members = (array)$object;
-
- foreach ($properties as $just_name => $property) {
-
- $name = $raw_name = $just_name;
-
- if ($property->isStatic()) {
- $name = 'static:'.$name;
- }
- if ($property->isPublic()) {
- $name = 'public:'.$name;
- } else
- if ($property->isPrivate()) {
- $name = 'private:'.$name;
- $raw_name = "\0".$class."\0".$raw_name;
- } else
- if ($property->isProtected()) {
- $name = 'protected:'.$name;
- $raw_name = "\0".'*'."\0".$raw_name;
- }
-
- if (!(isset($this->_objectFilters[$class])
- && is_array($this->_objectFilters[$class])
- && in_array($just_name,$this->_objectFilters[$class]))) {
-
- if (array_key_exists($raw_name,$members)
- && !$property->isStatic()) {
-
- $return[$name] = $this->_encodeObject($members[$raw_name], $objectDepth + 1, 1);
-
- } else {
- if (method_exists($property,'setAccessible')) {
- $property->setAccessible(true);
- $return[$name] = $this->_encodeObject($property->getValue($object), $objectDepth + 1, 1);
- } else
- if ($property->isPublic()) {
- $return[$name] = $this->_encodeObject($property->getValue($object), $objectDepth + 1, 1);
- } else {
- $return[$name] = '** Need PHP 5.3 to get value **';
- }
- }
- } else {
- $return[$name] = '** Excluded by Filter **';
- }
- }
-
- // Include all members that are not defined in the class
- // but exist in the object
- foreach($members as $just_name => $value) {
-
- $name = $raw_name = $just_name;
-
- if ($name{0} == "\0") {
- $parts = explode("\0", $name);
- $name = $parts[2];
- }
- if (!isset($properties[$name])) {
- $name = 'undeclared:'.$name;
-
- if (!(isset($this->objectFilters[$class])
- && is_array($this->objectFilters[$class])
- && in_array($just_name,$this->objectFilters[$class]))) {
-
- $return[$name] = $this->_encodeObject($value, $objectDepth + 1, 1);
- } else {
- $return[$name] = '** Excluded by Filter **';
- }
- }
- }
-
- array_pop($this->_objectStack);
-
- } elseif (is_array($object)) {
-
- if ($arrayDepth > $this->_options['maxArrayDepth']) {
- return '** Max Array Depth ('.$this->_options['maxArrayDepth'].') **';
- }
-
- foreach ($object as $key => $val) {
-
- // Encoding the $GLOBALS PHP array causes an infinite loop
- // if the recursion is not reset here as it contains
- // a reference to itself. This is the only way I have come up
- // with to stop infinite recursion in this case.
- if ($key=='GLOBALS'
- && is_array($val)
- && array_key_exists('GLOBALS',$val)) {
-
- $val['GLOBALS'] = '** Recursion (GLOBALS) **';
- }
- $return[$key] = $this->_encodeObject($val, 1, $arrayDepth + 1);
- }
- } else {
- return $object;
- }
- return $return;
- }
-
- /*
- * Zend_Wildfire_Plugin_Interface
- */
-
- /**
- * Get the unique indentifier for this plugin.
- *
- * @return string Returns the URI of the plugin.
- */
- public function getUri()
- {
- return self::PLUGIN_URI;
- }
-
- /**
- * Flush any buffered data.
- *
- * @param string $protocolUri The URI of the protocol that should be flushed to
- * @return void
- */
- public function flushMessages($protocolUri)
- {
- if (!$this->_messages || $protocolUri!=self::PROTOCOL_URI) {
- return;
- }
-
- foreach( $this->_messages as $message ) {
- if (!$message->getDestroy()) {
- $this->send($message->getMessage(),
- $message->getLabel(),
- $message->getStyle(),
- $message->getOptions());
- }
- }
-
- $this->_messages = array();
- }
-}
diff --git a/airtime_mvc/library/Zend/Wildfire/Plugin/FirePhp/Message.php b/airtime_mvc/library/Zend/Wildfire/Plugin/FirePhp/Message.php
deleted file mode 100644
index f6e2cad09..000000000
--- a/airtime_mvc/library/Zend/Wildfire/Plugin/FirePhp/Message.php
+++ /dev/null
@@ -1,246 +0,0 @@
- null, /* The offset in the trace which identifies the source of the message */
- 'includeLineNumbers' => null /* Whether to include line and file info for this message */
- );
-
- /**
- * Creates a new message with the given style and message
- *
- * @param string $style Style of the message.
- * @param mixed $message The message
- * @return void
- */
- function __construct($style, $message)
- {
- $this->_style = $style;
- $this->_message = $message;
- $this->_ruid = md5(microtime().mt_rand());
- }
-
- /**
- * Set the label of the message
- *
- * @param string $label The label to be set
- * @return void
- */
- public function setLabel($label)
- {
- $this->_label = $label;
- }
-
- /**
- * Get the label of the message
- *
- * @return string The label of the message
- */
- public function getLabel()
- {
- return $this->_label;
- }
-
- /**
- * Enable or disable message buffering
- *
- * If a message is buffered it can be updated for the duration of the
- * request and is only flushed at the end of the request.
- *
- * @param boolean $buffered TRUE to enable buffering FALSE otherwise
- * @return boolean Returns previous buffering value
- */
- public function setBuffered($buffered)
- {
- $previous = $this->_buffered;
- $this->_buffered = $buffered;
- return $previous;
- }
-
- /**
- * Determine if buffering is enabled or disabled
- *
- * @return boolean Returns TRUE if buffering is enabled, FALSE otherwise.
- */
- public function getBuffered()
- {
- return $this->_buffered;
- }
-
- /**
- * Destroy the message to prevent delivery
- *
- * @param boolean $destroy TRUE to destroy FALSE otherwise
- * @return boolean Returns previous destroy value
- */
- public function setDestroy($destroy)
- {
- $previous = $this->_destroy;
- $this->_destroy = $destroy;
- return $previous;
- }
-
- /**
- * Determine if message should be destroyed
- *
- * @return boolean Returns TRUE if message should be destroyed, FALSE otherwise.
- */
- public function getDestroy()
- {
- return $this->_destroy;
- }
-
- /**
- * Set the style of the message
- *
- * @return void
- */
- public function setStyle($style)
- {
- $this->_style = $style;
- }
-
- /**
- * Get the style of the message
- *
- * @return string The style of the message
- */
- public function getStyle()
- {
- return $this->_style;
- }
-
- /**
- * Set the actual message to be sent in its final format.
- *
- * @return void
- */
- public function setMessage($message)
- {
- $this->_message = $message;
- }
-
- /**
- * Get the actual message to be sent in its final format.
- *
- * @return mixed Returns the message to be sent.
- */
- public function getMessage()
- {
- return $this->_message;
- }
-
- /**
- * Set a single option
- *
- * @param string $key The name of the option
- * @param mixed $value The value of the option
- * @return mixed The previous value of the option
- */
- public function setOption($key, $value)
- {
- if(!array_key_exists($key,$this->_options)) {
- throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!');
- }
- $previous = $this->_options[$key];
- $this->_options[$key] = $value;
- return $previous;
- }
-
- /**
- * Retrieve a single option
- *
- * @param string $key The name of the option
- * @return mixed The value of the option
- */
- public function getOption($key)
- {
- if(!array_key_exists($key,$this->_options)) {
- throw new Zend_Wildfire_Exception('Option with name "'.$key.'" does not exist!');
- }
- return $this->_options[$key];
- }
-
- /**
- * Retrieve all options
- *
- * @return array All options
- */
- public function getOptions()
- {
- return $this->_options;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/Wildfire/Plugin/FirePhp/TableMessage.php b/airtime_mvc/library/Zend/Wildfire/Plugin/FirePhp/TableMessage.php
deleted file mode 100644
index e62e6e8b8..000000000
--- a/airtime_mvc/library/Zend/Wildfire/Plugin/FirePhp/TableMessage.php
+++ /dev/null
@@ -1,165 +0,0 @@
-setLabel($label);
- }
-
- /**
- * Set the table header
- *
- * @param array $header The header columns
- * @return void
- */
- public function setHeader($header)
- {
- $this->_header = $header;
- }
-
- /**
- * Append a row to the end of the table.
- *
- * @param array $row An array of column values representing a row.
- * @return void
- */
- public function addRow($row)
- {
- $this->_rows[] = $row;
- }
-
- /**
- * Get the actual message to be sent in its final format.
- *
- * @return mixed Returns the message to be sent.
- */
- public function getMessage()
- {
- $table = $this->_rows;
- if($this->_header) {
- array_unshift($table,$this->_header);
- }
- return $table;
- }
-
- /**
- * Returns the row at the given index
- *
- * @param integer $index The index of the row
- * @return array Returns the row
- * @throws Zend_Wildfire_Exception
- */
- public function getRowAt($index)
- {
- $count = $this->getRowCount();
-
- if($index < 0 || $index > $count-1) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Row index('.$index.') out of bounds('.$count.')!');
- }
-
- return $this->_rows[$index];
- }
-
- /**
- * Sets the row on the given index to a new row
- *
- * @param integer $index The index of the row
- * @param array $row The new data for the row
- * @throws Zend_Wildfire_Exception
- */
- public function setRowAt($index, $row)
- {
- $count = $this->getRowCount();
-
- if($index < 0 || $index > $count-1) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Row index('.$index.') out of bounds('.$count.')!');
- }
-
- $this->_rows[$index] = $row;
- }
-
- /**
- * Returns the number of rows
- *
- * @return integer
- */
- public function getRowCount()
- {
- return count($this->_rows);
- }
-
- /**
- * Returns the last row of the table
- *
- * @return array Returns the last row
- * @throws Zend_Wildfire_Exception
- */
- public function getLastRow()
- {
- $count = $this->getRowCount();
-
- if($count==0) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Cannot get last row as no rows exist!');
- }
-
- return $this->_rows[$count-1];
- }
-}
diff --git a/airtime_mvc/library/Zend/Wildfire/Plugin/Interface.php b/airtime_mvc/library/Zend/Wildfire/Plugin/Interface.php
deleted file mode 100644
index ae948102e..000000000
--- a/airtime_mvc/library/Zend/Wildfire/Plugin/Interface.php
+++ /dev/null
@@ -1,48 +0,0 @@
-_plugins)) {
- return false;
- }
- $this->_plugins[] = $plugin;
- return true;
- }
-
- /**
- * Record a message with the given data in the given structure
- *
- * @param Zend_Wildfire_Plugin_Interface $plugin The plugin recording the message
- * @param string $structure The structure to be used for the data
- * @param array $data The data to be recorded
- * @return boolean Returns TRUE if message was recorded
- */
- public function recordMessage(Zend_Wildfire_Plugin_Interface $plugin, $structure, $data)
- {
- if(!isset($this->_messages[$structure])) {
- $this->_messages[$structure] = array();
- }
-
- $uri = $plugin->getUri();
-
- if(!isset($this->_messages[$structure][$uri])) {
- $this->_messages[$structure][$uri] = array();
- }
-
- $this->_messages[$structure][$uri][] = $this->_encode($data);
- return true;
- }
-
- /**
- * Remove all qued messages
- *
- * @param Zend_Wildfire_Plugin_Interface $plugin The plugin for which to clear messages
- * @return boolean Returns TRUE if messages were present
- */
- public function clearMessages(Zend_Wildfire_Plugin_Interface $plugin)
- {
- $uri = $plugin->getUri();
-
- $present = false;
- foreach ($this->_messages as $structure => $messages) {
-
- if(!isset($this->_messages[$structure][$uri])) {
- continue;
- }
-
- $present = true;
-
- unset($this->_messages[$structure][$uri]);
-
- if (!$this->_messages[$structure]) {
- unset($this->_messages[$structure]);
- }
- }
- return $present;
- }
-
- /**
- * Get all qued messages
- *
- * @return mixed Returns qued messages or FALSE if no messages are qued
- */
- public function getMessages()
- {
- if (!$this->_messages) {
- return false;
- }
- return $this->_messages;
- }
-
- /**
- * Use the JSON encoding scheme for the value specified
- *
- * @param mixed $value The value to be encoded
- * @return string The encoded value
- */
- protected function _encode($value)
- {
- return Zend_Json::encode($value, true, array('silenceCyclicalExceptions'=>true));
- }
-
- /**
- * Retrieves all formatted data ready to be sent by the channel.
- *
- * @param Zend_Wildfire_Channel_Interface $channel The instance of the channel that will be transmitting the data
- * @return mixed Returns the data to be sent by the channel.
- * @throws Zend_Wildfire_Exception
- */
- public function getPayload(Zend_Wildfire_Channel_Interface $channel)
- {
- if (!$channel instanceof Zend_Wildfire_Channel_HttpHeaders) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('The '.get_class($channel).' channel is not supported by the '.get_class($this).' protocol.');
- }
-
- if ($this->_plugins) {
- foreach ($this->_plugins as $plugin) {
- $plugin->flushMessages(self::PROTOCOL_URI);
- }
- }
-
- if (!$this->_messages) {
- return false;
- }
-
- $protocol_index = 1;
- $structure_index = 1;
- $plugin_index = 1;
- $message_index = 1;
-
- $payload = array();
-
- $payload[] = array('Protocol-'.$protocol_index, self::PROTOCOL_URI);
-
- foreach ($this->_messages as $structure_uri => $plugin_messages ) {
-
- $payload[] = array($protocol_index.'-Structure-'.$structure_index, $structure_uri);
-
- foreach ($plugin_messages as $plugin_uri => $messages ) {
-
- $payload[] = array($protocol_index.'-Plugin-'.$plugin_index, $plugin_uri);
-
- foreach ($messages as $message) {
-
- $parts = explode("\n",chunk_split($message, 5000, "\n"));
-
- for ($i=0 ; $i2) {
- $msg = (($i==0)?strlen($message):'')
- . '|' . $part . '|'
- . (($i 99999) {
- require_once 'Zend/Wildfire/Exception.php';
- throw new Zend_Wildfire_Exception('Maximum number (99,999) of messages reached!');
- }
- }
- }
- }
- $plugin_index++;
- }
- $structure_index++;
- }
-
- return $payload;
- }
-
-}
-
diff --git a/airtime_mvc/library/Zend/XmlRpc/Client.php b/airtime_mvc/library/Zend/XmlRpc/Client.php
deleted file mode 100644
index 69cefc359..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Client.php
+++ /dev/null
@@ -1,386 +0,0 @@
-_httpClient = new Zend_Http_Client();
- } else {
- $this->_httpClient = $httpClient;
- }
-
- $this->_introspector = new Zend_XmlRpc_Client_ServerIntrospection($this);
- $this->_serverAddress = $server;
- }
-
-
- /**
- * Sets the HTTP client object to use for connecting the XML-RPC server.
- *
- * @param Zend_Http_Client $httpClient
- * @return Zend_Http_Client
- */
- public function setHttpClient(Zend_Http_Client $httpClient)
- {
- return $this->_httpClient = $httpClient;
- }
-
-
- /**
- * Gets the HTTP client object.
- *
- * @return Zend_Http_Client
- */
- public function getHttpClient()
- {
- return $this->_httpClient;
- }
-
-
- /**
- * Sets the object used to introspect remote servers
- *
- * @param Zend_XmlRpc_Client_ServerIntrospection
- * @return Zend_XmlRpc_Client_ServerIntrospection
- */
- public function setIntrospector(Zend_XmlRpc_Client_ServerIntrospection $introspector)
- {
- return $this->_introspector = $introspector;
- }
-
-
- /**
- * Gets the introspection object.
- *
- * @return Zend_XmlRpc_Client_ServerIntrospection
- */
- public function getIntrospector()
- {
- return $this->_introspector;
- }
-
-
- /**
- * The request of the last method call
- *
- * @return Zend_XmlRpc_Request
- */
- public function getLastRequest()
- {
- return $this->_lastRequest;
- }
-
-
- /**
- * The response received from the last method call
- *
- * @return Zend_XmlRpc_Response
- */
- public function getLastResponse()
- {
- return $this->_lastResponse;
- }
-
-
- /**
- * Returns a proxy object for more convenient method calls
- *
- * @param $namespace Namespace to proxy or empty string for none
- * @return Zend_XmlRpc_Client_ServerProxy
- */
- public function getProxy($namespace = '')
- {
- if (empty($this->_proxyCache[$namespace])) {
- $proxy = new Zend_XmlRpc_Client_ServerProxy($this, $namespace);
- $this->_proxyCache[$namespace] = $proxy;
- }
- return $this->_proxyCache[$namespace];
- }
-
- /**
- * Set skip system lookup flag
- *
- * @param bool $flag
- * @return Zend_XmlRpc_Client
- */
- public function setSkipSystemLookup($flag = true)
- {
- $this->_skipSystemLookup = (bool) $flag;
- return $this;
- }
-
- /**
- * Skip system lookup when determining if parameter should be array or struct?
- *
- * @return bool
- */
- public function skipSystemLookup()
- {
- return $this->_skipSystemLookup;
- }
-
- /**
- * Perform an XML-RPC request and return a response.
- *
- * @param Zend_XmlRpc_Request $request
- * @param null|Zend_XmlRpc_Response $response
- * @return void
- * @throws Zend_XmlRpc_Client_HttpException
- */
- public function doRequest($request, $response = null)
- {
- $this->_lastRequest = $request;
-
- iconv_set_encoding('input_encoding', 'UTF-8');
- iconv_set_encoding('output_encoding', 'UTF-8');
- iconv_set_encoding('internal_encoding', 'UTF-8');
-
- $http = $this->getHttpClient();
- if($http->getUri() === null) {
- $http->setUri($this->_serverAddress);
- }
-
- $http->setHeaders(array(
- 'Content-Type: text/xml; charset=utf-8',
- 'Accept: text/xml',
- ));
-
- if ($http->getHeader('user-agent') === null) {
- $http->setHeaders(array('User-Agent: Zend_XmlRpc_Client'));
- }
-
- $xml = $this->_lastRequest->__toString();
- $http->setRawData($xml);
- $httpResponse = $http->request(Zend_Http_Client::POST);
-
- if (! $httpResponse->isSuccessful()) {
- /**
- * Exception thrown when an HTTP error occurs
- * @see Zend_XmlRpc_Client_HttpException
- */
- require_once 'Zend/XmlRpc/Client/HttpException.php';
- throw new Zend_XmlRpc_Client_HttpException(
- $httpResponse->getMessage(),
- $httpResponse->getStatus());
- }
-
- if ($response === null) {
- $response = new Zend_XmlRpc_Response();
- }
- $this->_lastResponse = $response;
- $this->_lastResponse->loadXml($httpResponse->getBody());
- }
-
- /**
- * Send an XML-RPC request to the service (for a specific method)
- *
- * @param string $method Name of the method we want to call
- * @param array $params Array of parameters for the method
- * @return mixed
- * @throws Zend_XmlRpc_Client_FaultException
- */
- public function call($method, $params=array())
- {
- if (!$this->skipSystemLookup() && ('system.' != substr($method, 0, 7))) {
- // Ensure empty array/struct params are cast correctly
- // If system.* methods are not available, bypass. (ZF-2978)
- $success = true;
- try {
- $signatures = $this->getIntrospector()->getMethodSignature($method);
- } catch (Zend_XmlRpc_Exception $e) {
- $success = false;
- }
- if ($success) {
- $validTypes = array(
- Zend_XmlRpc_Value::XMLRPC_TYPE_ARRAY,
- Zend_XmlRpc_Value::XMLRPC_TYPE_BASE64,
- Zend_XmlRpc_Value::XMLRPC_TYPE_BOOLEAN,
- Zend_XmlRpc_Value::XMLRPC_TYPE_DATETIME,
- Zend_XmlRpc_Value::XMLRPC_TYPE_DOUBLE,
- Zend_XmlRpc_Value::XMLRPC_TYPE_I4,
- Zend_XmlRpc_Value::XMLRPC_TYPE_INTEGER,
- Zend_XmlRpc_Value::XMLRPC_TYPE_NIL,
- Zend_XmlRpc_Value::XMLRPC_TYPE_STRING,
- Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT,
- );
-
- if (!is_array($params)) {
- $params = array($params);
- }
- foreach ($params as $key => $param) {
-
- if ($param instanceof Zend_XmlRpc_Value) {
- continue;
- }
-
- $type = Zend_XmlRpc_Value::AUTO_DETECT_TYPE;
- foreach ($signatures as $signature) {
- if (!is_array($signature)) {
- continue;
- }
-
- if (isset($signature['parameters'][$key])) {
- $type = $signature['parameters'][$key];
- $type = in_array($type, $validTypes) ? $type : Zend_XmlRpc_Value::AUTO_DETECT_TYPE;
- }
- }
-
- $params[$key] = Zend_XmlRpc_Value::getXmlRpcValue($param, $type);
- }
- }
- }
-
- $request = $this->_createRequest($method, $params);
-
- $this->doRequest($request);
-
- if ($this->_lastResponse->isFault()) {
- $fault = $this->_lastResponse->getFault();
- /**
- * Exception thrown when an XML-RPC fault is returned
- * @see Zend_XmlRpc_Client_FaultException
- */
- require_once 'Zend/XmlRpc/Client/FaultException.php';
- throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(),
- $fault->getCode());
- }
-
- return $this->_lastResponse->getReturnValue();
- }
-
- /**
- * Create request object
- *
- * @return Zend_XmlRpc_Request
- */
- protected function _createRequest($method, $params)
- {
- return new Zend_XmlRpc_Request($method, $params);
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Client/Exception.php b/airtime_mvc/library/Zend/XmlRpc/Client/Exception.php
deleted file mode 100644
index 9ee06d5b1..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Client/Exception.php
+++ /dev/null
@@ -1,40 +0,0 @@
-_system = $client->getProxy('system');
- }
-
- /**
- * Returns the signature for each method on the server,
- * autodetecting whether system.multicall() is supported and
- * using it if so.
- *
- * @return array
- */
- public function getSignatureForEachMethod()
- {
- $methods = $this->listMethods();
-
- require_once 'Zend/XmlRpc/Client/FaultException.php';
- try {
- $signatures = $this->getSignatureForEachMethodByMulticall($methods);
- } catch (Zend_XmlRpc_Client_FaultException $e) {
- // degrade to looping
- }
-
- if (empty($signatures)) {
- $signatures = $this->getSignatureForEachMethodByLooping($methods);
- }
-
- return $signatures;
- }
-
- /**
- * Attempt to get the method signatures in one request via system.multicall().
- * This is a boxcar feature of XML-RPC and is found on fewer servers. However,
- * can significantly improve performance if present.
- *
- * @param array $methods
- * @return array array(array(return, param, param, param...))
- */
- public function getSignatureForEachMethodByMulticall($methods = null)
- {
- if ($methods === null) {
- $methods = $this->listMethods();
- }
-
- $multicallParams = array();
- foreach ($methods as $method) {
- $multicallParams[] = array('methodName' => 'system.methodSignature',
- 'params' => array($method));
- }
-
- $serverSignatures = $this->_system->multicall($multicallParams);
-
- if (! is_array($serverSignatures)) {
- $type = gettype($serverSignatures);
- $error = "Multicall return is malformed. Expected array, got $type";
- require_once 'Zend/XmlRpc/Client/IntrospectException.php';
- throw new Zend_XmlRpc_Client_IntrospectException($error);
- }
-
- if (count($serverSignatures) != count($methods)) {
- $error = 'Bad number of signatures received from multicall';
- require_once 'Zend/XmlRpc/Client/IntrospectException.php';
- throw new Zend_XmlRpc_Client_IntrospectException($error);
- }
-
- // Create a new signatures array with the methods name as keys and the signature as value
- $signatures = array();
- foreach ($serverSignatures as $i => $signature) {
- $signatures[$methods[$i]] = $signature;
- }
-
- return $signatures;
- }
-
- /**
- * Get the method signatures for every method by
- * successively calling system.methodSignature
- *
- * @param array $methods
- * @return array
- */
- public function getSignatureForEachMethodByLooping($methods = null)
- {
- if ($methods === null) {
- $methods = $this->listMethods();
- }
-
- $signatures = array();
- foreach ($methods as $method) {
- $signatures[$method] = $this->getMethodSignature($method);
- }
-
- return $signatures;
- }
-
- /**
- * Call system.methodSignature() for the given method
- *
- * @param array $method
- * @return array array(array(return, param, param, param...))
- */
- public function getMethodSignature($method)
- {
- $signature = $this->_system->methodSignature($method);
- if (!is_array($signature)) {
- $error = 'Invalid signature for method "' . $method . '"';
- require_once 'Zend/XmlRpc/Client/IntrospectException.php';
- throw new Zend_XmlRpc_Client_IntrospectException($error);
- }
- return $signature;
- }
-
- /**
- * Call system.listMethods()
- *
- * @param array $method
- * @return array array(method, method, method...)
- */
- public function listMethods()
- {
- return $this->_system->listMethods();
- }
-
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Client/ServerProxy.php b/airtime_mvc/library/Zend/XmlRpc/Client/ServerProxy.php
deleted file mode 100644
index 621843fec..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Client/ServerProxy.php
+++ /dev/null
@@ -1,95 +0,0 @@
-foo->bar->baz()".
- *
- * @category Zend
- * @package Zend_XmlRpc
- * @subpackage Client
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_XmlRpc_Client_ServerProxy
-{
- /**
- * @var Zend_XmlRpc_Client
- */
- private $_client = null;
-
- /**
- * @var string
- */
- private $_namespace = '';
-
-
- /**
- * @var array of Zend_XmlRpc_Client_ServerProxy
- */
- private $_cache = array();
-
-
- /**
- * Class constructor
- *
- * @param string $namespace
- * @param Zend_XmlRpc_Client $client
- */
- public function __construct($client, $namespace = '')
- {
- $this->_namespace = $namespace;
- $this->_client = $client;
- }
-
-
- /**
- * Get the next successive namespace
- *
- * @param string $name
- * @return Zend_XmlRpc_Client_ServerProxy
- */
- public function __get($namespace)
- {
- $namespace = ltrim("$this->_namespace.$namespace", '.');
- if (!isset($this->_cache[$namespace])) {
- $this->_cache[$namespace] = new $this($this->_client, $namespace);
- }
- return $this->_cache[$namespace];
- }
-
-
- /**
- * Call a method in this namespace.
- *
- * @param string $methodN
- * @param array $args
- * @return mixed
- */
- public function __call($method, $args)
- {
- $method = ltrim("$this->_namespace.$method", '.');
- return $this->_client->call($method, $args);
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Exception.php b/airtime_mvc/library/Zend/XmlRpc/Exception.php
deleted file mode 100644
index 86fde322e..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Exception.php
+++ /dev/null
@@ -1,37 +0,0 @@
- messages
- * @var array
- */
- protected $_internal = array(
- 404 => 'Unknown Error',
-
- // 610 - 619 reflection errors
- 610 => 'Invalid method class',
- 611 => 'Unable to attach function or callback; not callable',
- 612 => 'Unable to load array; not an array',
- 613 => 'One or more method records are corrupt or otherwise unusable',
-
- // 620 - 629 dispatch errors
- 620 => 'Method does not exist',
- 621 => 'Error instantiating class to invoke method',
- 622 => 'Method missing implementation',
- 623 => 'Calling parameters do not match signature',
-
- // 630 - 639 request errors
- 630 => 'Unable to read request',
- 631 => 'Failed to parse request',
- 632 => 'Invalid request, no method passed; request must contain a \'methodName\' tag',
- 633 => 'Param must contain a value',
- 634 => 'Invalid method name',
- 635 => 'Invalid XML provided to request',
- 636 => 'Error creating xmlrpc value',
-
- // 640 - 649 system.* errors
- 640 => 'Method does not exist',
-
- // 650 - 659 response errors
- 650 => 'Invalid XML provided for response',
- 651 => 'Failed to parse response',
- 652 => 'Invalid response',
- 653 => 'Invalid XMLRPC value in response',
- );
-
- /**
- * Constructor
- *
- * @return Zend_XmlRpc_Fault
- */
- public function __construct($code = 404, $message = '')
- {
- $this->setCode($code);
- $code = $this->getCode();
-
- if (empty($message) && isset($this->_internal[$code])) {
- $message = $this->_internal[$code];
- } elseif (empty($message)) {
- $message = 'Unknown error';
- }
- $this->setMessage($message);
- }
-
- /**
- * Set the fault code
- *
- * @param int $code
- * @return Zend_XmlRpc_Fault
- */
- public function setCode($code)
- {
- $this->_code = (int) $code;
- return $this;
- }
-
- /**
- * Return fault code
- *
- * @return int
- */
- public function getCode()
- {
- return $this->_code;
- }
-
- /**
- * Retrieve fault message
- *
- * @param string
- * @return Zend_XmlRpc_Fault
- */
- public function setMessage($message)
- {
- $this->_message = (string) $message;
- return $this;
- }
-
- /**
- * Retrieve fault message
- *
- * @return string
- */
- public function getMessage()
- {
- return $this->_message;
- }
-
- /**
- * Set encoding to use in fault response
- *
- * @param string $encoding
- * @return Zend_XmlRpc_Fault
- */
- public function setEncoding($encoding)
- {
- $this->_encoding = $encoding;
- Zend_XmlRpc_Value::setEncoding($encoding);
- return $this;
- }
-
- /**
- * Retrieve current fault encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Load an XMLRPC fault from XML
- *
- * @param string $fault
- * @return boolean Returns true if successfully loaded fault response, false
- * if response was not a fault response
- * @throws Zend_XmlRpc_Exception if no or faulty XML provided, or if fault
- * response does not contain either code or message
- */
- public function loadXml($fault)
- {
- if (!is_string($fault)) {
- require_once 'Zend/XmlRpc/Exception.php';
- throw new Zend_XmlRpc_Exception('Invalid XML provided to fault');
- }
-
- try {
- $xml = @new SimpleXMLElement($fault);
- } catch (Exception $e) {
- // Not valid XML
- require_once 'Zend/XmlRpc/Exception.php';
- throw new Zend_XmlRpc_Exception('Failed to parse XML fault: ' . $e->getMessage(), 500, $e);
- }
-
- // Check for fault
- if (!$xml->fault) {
- // Not a fault
- return false;
- }
-
- if (!$xml->fault->value->struct) {
- // not a proper fault
- require_once 'Zend/XmlRpc/Exception.php';
- throw new Zend_XmlRpc_Exception('Invalid fault structure', 500);
- }
-
- $structXml = $xml->fault->value->asXML();
- $struct = Zend_XmlRpc_Value::getXmlRpcValue($structXml, Zend_XmlRpc_Value::XML_STRING);
- $struct = $struct->getValue();
-
- if (isset($struct['faultCode'])) {
- $code = $struct['faultCode'];
- }
- if (isset($struct['faultString'])) {
- $message = $struct['faultString'];
- }
-
- if (empty($code) && empty($message)) {
- require_once 'Zend/XmlRpc/Exception.php';
- throw new Zend_XmlRpc_Exception('Fault code and string required');
- }
-
- if (empty($code)) {
- $code = '404';
- }
-
- if (empty($message)) {
- if (isset($this->_internal[$code])) {
- $message = $this->_internal[$code];
- } else {
- $message = 'Unknown Error';
- }
- }
-
- $this->setCode($code);
- $this->setMessage($message);
-
- return true;
- }
-
- /**
- * Determine if an XML response is an XMLRPC fault
- *
- * @param string $xml
- * @return boolean
- */
- public static function isFault($xml)
- {
- $fault = new self();
- require_once 'Zend/XmlRpc/Exception.php';
- try {
- $isFault = $fault->loadXml($xml);
- } catch (Zend_XmlRpc_Exception $e) {
- $isFault = false;
- }
-
- return $isFault;
- }
-
- /**
- * Serialize fault to XML
- *
- * @return string
- */
- public function saveXml()
- {
- // Create fault value
- $faultStruct = array(
- 'faultCode' => $this->getCode(),
- 'faultString' => $this->getMessage()
- );
- $value = Zend_XmlRpc_Value::getXmlRpcValue($faultStruct);
-
- $generator = Zend_XmlRpc_Value::getGenerator();
- $generator->openElement('methodResponse')
- ->openElement('fault');
- $value->generateXml();
- $generator->closeElement('fault')
- ->closeElement('methodResponse');
-
- return $generator->flush();
- }
-
- /**
- * Return XML fault response
- *
- * @return string
- */
- public function __toString()
- {
- return $this->saveXML();
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Generator/DomDocument.php b/airtime_mvc/library/Zend/XmlRpc/Generator/DomDocument.php
deleted file mode 100644
index 7113c4a00..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Generator/DomDocument.php
+++ /dev/null
@@ -1,101 +0,0 @@
-_dom->createElement($name);
-
- $this->_currentElement = $this->_currentElement->appendChild($newElement);
- }
-
- /**
- * Write XML text data into the currently opened XML element
- *
- * @param string $text
- */
- protected function _writeTextData($text)
- {
- $this->_currentElement->appendChild($this->_dom->createTextNode($text));
- }
-
- /**
- * Close an previously opened XML element
- *
- * Resets $_currentElement to the next parent node in the hierarchy
- *
- * @param string $name
- * @return void
- */
- protected function _closeElement($name)
- {
- if (isset($this->_currentElement->parentNode)) {
- $this->_currentElement = $this->_currentElement->parentNode;
- }
- }
-
- /**
- * Save XML as a string
- *
- * @return string
- */
- public function saveXml()
- {
- return $this->_dom->saveXml();
- }
-
- /**
- * Initializes internal objects
- *
- * @return void
- */
- protected function _init()
- {
- $this->_dom = new DOMDocument('1.0', $this->_encoding);
- $this->_currentElement = $this->_dom;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/XmlRpc/Generator/GeneratorAbstract.php b/airtime_mvc/library/Zend/XmlRpc/Generator/GeneratorAbstract.php
deleted file mode 100644
index 87f44c517..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Generator/GeneratorAbstract.php
+++ /dev/null
@@ -1,150 +0,0 @@
-_encoding = $encoding;
- $this->_init();
- }
-
- /**
- * Start XML element
- *
- * Method opens a new XML element with an element name and an optional value
- *
- * @param string $name XML tag name
- * @param string $value Optional value of the XML tag
- * @return Zend_XmlRpc_Generator_Abstract Fluent interface
- */
- public function openElement($name, $value = null)
- {
- $this->_openElement($name);
- if ($value !== null) {
- $this->_writeTextData($value);
- }
-
- return $this;
- }
-
- /**
- * End of an XML element
- *
- * Method marks the end of an XML element
- *
- * @param string $name XML tag name
- * @return Zend_XmlRpc_Generator_Abstract Fluent interface
- */
- public function closeElement($name)
- {
- $this->_closeElement($name);
-
- return $this;
- }
-
- /**
- * Return XML as a string
- *
- * @return string
- */
- abstract public function saveXml();
-
- /**
- * Return encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Returns the XML as a string and flushes all internal buffers
- *
- * @return string
- */
- public function flush()
- {
- $xml = $this->saveXml();
- $this->_init();
- return $xml;
- }
-
- /**
- * Returns XML without document declaration
- *
- * @return string
- */
- public function __toString()
- {
- return $this->stripDeclaration($this->saveXml());
- }
-
- /**
- * Removes XML declaration from a string
- *
- * @param string $xml
- * @return string
- */
- public function stripDeclaration($xml)
- {
- return preg_replace('/<\?xml version="1.0"( encoding="[^\"]*")?\?>\n/u', '', $xml);
- }
-
- /**
- * Start XML element
- *
- * @param string $name XML element name
- */
- abstract protected function _openElement($name);
-
- /**
- * Write XML text data into the currently opened XML element
- *
- * @param string $text
- */
- abstract protected function _writeTextData($text);
-
- /**
- * End XML element
- *
- * @param string $name
- */
- abstract protected function _closeElement($name);
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Generator/XmlWriter.php b/airtime_mvc/library/Zend/XmlRpc/Generator/XmlWriter.php
deleted file mode 100644
index 70f64b7af..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Generator/XmlWriter.php
+++ /dev/null
@@ -1,92 +0,0 @@
-_xmlWriter = new XMLWriter();
- $this->_xmlWriter->openMemory();
- $this->_xmlWriter->startDocument('1.0', $this->_encoding);
- }
-
-
- /**
- * Open a new XML element
- *
- * @param string $name XML element name
- * @return void
- */
- protected function _openElement($name)
- {
- $this->_xmlWriter->startElement($name);
- }
-
- /**
- * Write XML text data into the currently opened XML element
- *
- * @param string $text XML text data
- * @return void
- */
- protected function _writeTextData($text)
- {
- $this->_xmlWriter->text($text);
- }
-
- /**
- * Close an previously opened XML element
- *
- * @param string $name
- * @return void
- */
- protected function _closeElement($name)
- {
- $this->_xmlWriter->endElement();
-
- return $this;
- }
-
- public function saveXml()
- {
- return $this->_xmlWriter->flush(false);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/XmlRpc/Request.php b/airtime_mvc/library/Zend/XmlRpc/Request.php
deleted file mode 100644
index 64e284b76..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Request.php
+++ /dev/null
@@ -1,439 +0,0 @@
-setMethod($method);
- }
-
- if ($params !== null) {
- $this->setParams($params);
- }
- }
-
-
- /**
- * Set encoding to use in request
- *
- * @param string $encoding
- * @return Zend_XmlRpc_Request
- */
- public function setEncoding($encoding)
- {
- $this->_encoding = $encoding;
- Zend_XmlRpc_Value::setEncoding($encoding);
- return $this;
- }
-
- /**
- * Retrieve current request encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set method to call
- *
- * @param string $method
- * @return boolean Returns true on success, false if method name is invalid
- */
- public function setMethod($method)
- {
- if (!is_string($method) || !preg_match('/^[a-z0-9_.:\/]+$/i', $method)) {
- $this->_fault = new Zend_XmlRpc_Fault(634, 'Invalid method name ("' . $method . '")');
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- $this->_method = $method;
- return true;
- }
-
- /**
- * Retrieve call method
- *
- * @return string
- */
- public function getMethod()
- {
- return $this->_method;
- }
-
- /**
- * Add a parameter to the parameter stack
- *
- * Adds a parameter to the parameter stack, associating it with the type
- * $type if provided
- *
- * @param mixed $value
- * @param string $type Optional; type hinting
- * @return void
- */
- public function addParam($value, $type = null)
- {
- $this->_params[] = $value;
- if (null === $type) {
- // Detect type if not provided explicitly
- if ($value instanceof Zend_XmlRpc_Value) {
- $type = $value->getType();
- } else {
- $xmlRpcValue = Zend_XmlRpc_Value::getXmlRpcValue($value);
- $type = $xmlRpcValue->getType();
- }
- }
- $this->_types[] = $type;
- $this->_xmlRpcParams[] = array('value' => $value, 'type' => $type);
- }
-
- /**
- * Set the parameters array
- *
- * If called with a single, array value, that array is used to set the
- * parameters stack. If called with multiple values or a single non-array
- * value, the arguments are used to set the parameters stack.
- *
- * Best is to call with array of the format, in order to allow type hinting
- * when creating the XMLRPC values for each parameter:
- *
- * $array = array(
- * array(
- * 'value' => $value,
- * 'type' => $type
- * )[, ... ]
- * );
- *
- *
- * @access public
- * @return void
- */
- public function setParams()
- {
- $argc = func_num_args();
- $argv = func_get_args();
- if (0 == $argc) {
- return;
- }
-
- if ((1 == $argc) && is_array($argv[0])) {
- $params = array();
- $types = array();
- $wellFormed = true;
- foreach ($argv[0] as $arg) {
- if (!is_array($arg) || !isset($arg['value'])) {
- $wellFormed = false;
- break;
- }
- $params[] = $arg['value'];
-
- if (!isset($arg['type'])) {
- $xmlRpcValue = Zend_XmlRpc_Value::getXmlRpcValue($arg['value']);
- $arg['type'] = $xmlRpcValue->getType();
- }
- $types[] = $arg['type'];
- }
- if ($wellFormed) {
- $this->_xmlRpcParams = $argv[0];
- $this->_params = $params;
- $this->_types = $types;
- } else {
- $this->_params = $argv[0];
- $this->_types = array();
- $xmlRpcParams = array();
- foreach ($argv[0] as $arg) {
- if ($arg instanceof Zend_XmlRpc_Value) {
- $type = $arg->getType();
- } else {
- $xmlRpcValue = Zend_XmlRpc_Value::getXmlRpcValue($arg);
- $type = $xmlRpcValue->getType();
- }
- $xmlRpcParams[] = array('value' => $arg, 'type' => $type);
- $this->_types[] = $type;
- }
- $this->_xmlRpcParams = $xmlRpcParams;
- }
- return;
- }
-
- $this->_params = $argv;
- $this->_types = array();
- $xmlRpcParams = array();
- foreach ($argv as $arg) {
- if ($arg instanceof Zend_XmlRpc_Value) {
- $type = $arg->getType();
- } else {
- $xmlRpcValue = Zend_XmlRpc_Value::getXmlRpcValue($arg);
- $type = $xmlRpcValue->getType();
- }
- $xmlRpcParams[] = array('value' => $arg, 'type' => $type);
- $this->_types[] = $type;
- }
- $this->_xmlRpcParams = $xmlRpcParams;
- }
-
- /**
- * Retrieve the array of parameters
- *
- * @return array
- */
- public function getParams()
- {
- return $this->_params;
- }
-
- /**
- * Return parameter types
- *
- * @return array
- */
- public function getTypes()
- {
- return $this->_types;
- }
-
- /**
- * Load XML and parse into request components
- *
- * @param string $request
- * @return boolean True on success, false if an error occurred.
- */
- public function loadXml($request)
- {
- if (!is_string($request)) {
- $this->_fault = new Zend_XmlRpc_Fault(635);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- try {
- $xml = new SimpleXMLElement($request);
- } catch (Exception $e) {
- // Not valid XML
- $this->_fault = new Zend_XmlRpc_Fault(631);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- // Check for method name
- if (empty($xml->methodName)) {
- // Missing method name
- $this->_fault = new Zend_XmlRpc_Fault(632);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- $this->_method = (string) $xml->methodName;
-
- // Check for parameters
- if (!empty($xml->params)) {
- $types = array();
- $argv = array();
- foreach ($xml->params->children() as $param) {
- if (!isset($param->value)) {
- $this->_fault = new Zend_XmlRpc_Fault(633);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- try {
- $param = Zend_XmlRpc_Value::getXmlRpcValue($param->value, Zend_XmlRpc_Value::XML_STRING);
- $types[] = $param->getType();
- $argv[] = $param->getValue();
- } catch (Exception $e) {
- $this->_fault = new Zend_XmlRpc_Fault(636);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
- }
-
- $this->_types = $types;
- $this->_params = $argv;
- }
-
- $this->_xml = $request;
-
- return true;
- }
-
- /**
- * Does the current request contain errors and should it return a fault
- * response?
- *
- * @return boolean
- */
- public function isFault()
- {
- return $this->_fault instanceof Zend_XmlRpc_Fault;
- }
-
- /**
- * Retrieve the fault response, if any
- *
- * @return null|Zend_XmlRpc_Fault
- */
- public function getFault()
- {
- return $this->_fault;
- }
-
- /**
- * Retrieve method parameters as XMLRPC values
- *
- * @return array
- */
- protected function _getXmlRpcParams()
- {
- $params = array();
- if (is_array($this->_xmlRpcParams)) {
- foreach ($this->_xmlRpcParams as $param) {
- $value = $param['value'];
- $type = isset($param['type']) ? $param['type'] : Zend_XmlRpc_Value::AUTO_DETECT_TYPE;
-
- if (!$value instanceof Zend_XmlRpc_Value) {
- $value = Zend_XmlRpc_Value::getXmlRpcValue($value, $type);
- }
- $params[] = $value;
- }
- }
-
- return $params;
- }
-
- /**
- * Create XML request
- *
- * @return string
- */
- public function saveXml()
- {
- $args = $this->_getXmlRpcParams();
- $method = $this->getMethod();
-
- $generator = Zend_XmlRpc_Value::getGenerator();
- $generator->openElement('methodCall')
- ->openElement('methodName', $method)
- ->closeElement('methodName');
-
- if (is_array($args) && count($args)) {
- $generator->openElement('params');
-
- foreach ($args as $arg) {
- $generator->openElement('param');
- $arg->generateXml();
- $generator->closeElement('param');
- }
- $generator->closeElement('params');
- }
- $generator->closeElement('methodCall');
-
- return $generator->flush();
- }
-
- /**
- * Return XML request
- *
- * @return string
- */
- public function __toString()
- {
- return $this->saveXML();
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Request/Http.php b/airtime_mvc/library/Zend/XmlRpc/Request/Http.php
deleted file mode 100644
index 29b8b4b78..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Request/Http.php
+++ /dev/null
@@ -1,124 +0,0 @@
-_fault = new Zend_XmlRpc_Fault(630);
- return;
- }
-
- $this->_xml = $xml;
-
- $this->loadXml($xml);
- }
-
- /**
- * Retrieve the raw XML request
- *
- * @return string
- */
- public function getRawRequest()
- {
- return $this->_xml;
- }
-
- /**
- * Get headers
- *
- * Gets all headers as key => value pairs and returns them.
- *
- * @return array
- */
- public function getHeaders()
- {
- if (null === $this->_headers) {
- $this->_headers = array();
- foreach ($_SERVER as $key => $value) {
- if ('HTTP_' == substr($key, 0, 5)) {
- $header = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($key, 5)))));
- $this->_headers[$header] = $value;
- }
- }
- }
-
- return $this->_headers;
- }
-
- /**
- * Retrieve the full HTTP request, including headers and XML
- *
- * @return string
- */
- public function getFullRequest()
- {
- $request = '';
- foreach ($this->getHeaders() as $key => $value) {
- $request .= $key . ': ' . $value . "\n";
- }
-
- $request .= $this->_xml;
-
- return $request;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Request/Stdin.php b/airtime_mvc/library/Zend/XmlRpc/Request/Stdin.php
deleted file mode 100644
index 3d16dde1d..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Request/Stdin.php
+++ /dev/null
@@ -1,84 +0,0 @@
-_fault = new Zend_XmlRpc_Server_Exception(630);
- return;
- }
-
- $xml = '';
- while (!feof($fh)) {
- $xml .= fgets($fh);
- }
- fclose($fh);
-
- $this->_xml = $xml;
-
- $this->loadXml($xml);
- }
-
- /**
- * Retrieve the raw XML request
- *
- * @return string
- */
- public function getRawRequest()
- {
- return $this->_xml;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Response.php b/airtime_mvc/library/Zend/XmlRpc/Response.php
deleted file mode 100644
index 3dce6d546..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Response.php
+++ /dev/null
@@ -1,248 +0,0 @@
-setReturnValue($return, $type);
- }
-
- /**
- * Set encoding to use in response
- *
- * @param string $encoding
- * @return Zend_XmlRpc_Response
- */
- public function setEncoding($encoding)
- {
- $this->_encoding = $encoding;
- Zend_XmlRpc_Value::setEncoding($encoding);
- return $this;
- }
-
- /**
- * Retrieve current response encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Set the return value
- *
- * Sets the return value, with optional type hinting if provided.
- *
- * @param mixed $value
- * @param string $type
- * @return void
- */
- public function setReturnValue($value, $type = null)
- {
- $this->_return = $value;
- $this->_type = (string) $type;
- }
-
- /**
- * Retrieve the return value
- *
- * @return mixed
- */
- public function getReturnValue()
- {
- return $this->_return;
- }
-
- /**
- * Retrieve the XMLRPC value for the return value
- *
- * @return Zend_XmlRpc_Value
- */
- protected function _getXmlRpcReturn()
- {
- return Zend_XmlRpc_Value::getXmlRpcValue($this->_return);
- }
-
- /**
- * Is the response a fault response?
- *
- * @return boolean
- */
- public function isFault()
- {
- return $this->_fault instanceof Zend_XmlRpc_Fault;
- }
-
- /**
- * Returns the fault, if any.
- *
- * @return null|Zend_XmlRpc_Fault
- */
- public function getFault()
- {
- return $this->_fault;
- }
-
- /**
- * Load a response from an XML response
- *
- * Attempts to load a response from an XMLRPC response, autodetecting if it
- * is a fault response.
- *
- * @param string $response
- * @return boolean True if a valid XMLRPC response, false if a fault
- * response or invalid input
- */
- public function loadXml($response)
- {
- if (!is_string($response)) {
- $this->_fault = new Zend_XmlRpc_Fault(650);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- try {
- $xml = new SimpleXMLElement($response);
- } catch (Exception $e) {
- // Not valid XML
- $this->_fault = new Zend_XmlRpc_Fault(651);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- if (!empty($xml->fault)) {
- // fault response
- $this->_fault = new Zend_XmlRpc_Fault();
- $this->_fault->setEncoding($this->getEncoding());
- $this->_fault->loadXml($response);
- return false;
- }
-
- if (empty($xml->params)) {
- // Invalid response
- $this->_fault = new Zend_XmlRpc_Fault(652);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- try {
- if (!isset($xml->params) || !isset($xml->params->param) || !isset($xml->params->param->value)) {
- throw new Zend_XmlRpc_Value_Exception('Missing XML-RPC value in XML');
- }
- $valueXml = $xml->params->param->value->asXML();
- $value = Zend_XmlRpc_Value::getXmlRpcValue($valueXml, Zend_XmlRpc_Value::XML_STRING);
- } catch (Zend_XmlRpc_Value_Exception $e) {
- $this->_fault = new Zend_XmlRpc_Fault(653);
- $this->_fault->setEncoding($this->getEncoding());
- return false;
- }
-
- $this->setReturnValue($value->getValue());
- return true;
- }
-
- /**
- * Return response as XML
- *
- * @return string
- */
- public function saveXml()
- {
- $value = $this->_getXmlRpcReturn();
- $generator = Zend_XmlRpc_Value::getGenerator();
- $generator->openElement('methodResponse')
- ->openElement('params')
- ->openElement('param');
- $value->generateXml();
- $generator->closeElement('param')
- ->closeElement('params')
- ->closeElement('methodResponse');
-
- return $generator->flush();
- }
-
- /**
- * Return XML response
- *
- * @return string
- */
- public function __toString()
- {
- return $this->saveXML();
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Response/Http.php b/airtime_mvc/library/Zend/XmlRpc/Response/Http.php
deleted file mode 100644
index 63f0854e1..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Response/Http.php
+++ /dev/null
@@ -1,51 +0,0 @@
-getEncoding()));
- }
-
- return parent::__toString();
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Server.php b/airtime_mvc/library/Zend/XmlRpc/Server.php
deleted file mode 100644
index d00daf430..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Server.php
+++ /dev/null
@@ -1,615 +0,0 @@
-
- * require_once 'Zend/XmlRpc/Server.php';
- * require_once 'Zend/XmlRpc/Server/Cache.php';
- * require_once 'Zend/XmlRpc/Server/Fault.php';
- * require_once 'My/Exception.php';
- * require_once 'My/Fault/Observer.php';
- *
- * // Instantiate server
- * $server = new Zend_XmlRpc_Server();
- *
- * // Allow some exceptions to report as fault responses:
- * Zend_XmlRpc_Server_Fault::attachFaultException('My_Exception');
- * Zend_XmlRpc_Server_Fault::attachObserver('My_Fault_Observer');
- *
- * // Get or build dispatch table:
- * if (!Zend_XmlRpc_Server_Cache::get($filename, $server)) {
- * require_once 'Some/Service/Class.php';
- * require_once 'Another/Service/Class.php';
- *
- * // Attach Some_Service_Class in 'some' namespace
- * $server->setClass('Some_Service_Class', 'some');
- *
- * // Attach Another_Service_Class in 'another' namespace
- * $server->setClass('Another_Service_Class', 'another');
- *
- * // Create dispatch table cache file
- * Zend_XmlRpc_Server_Cache::save($filename, $server);
- * }
- *
- * $response = $server->handle();
- * echo $response;
- *
- *
- * @category Zend
- * @package Zend_XmlRpc
- * @subpackage Server
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
-class Zend_XmlRpc_Server extends Zend_Server_Abstract
-{
- /**
- * Character encoding
- * @var string
- */
- protected $_encoding = 'UTF-8';
-
- /**
- * Request processed
- * @var null|Zend_XmlRpc_Request
- */
- protected $_request = null;
-
- /**
- * Class to use for responses; defaults to {@link Zend_XmlRpc_Response_Http}
- * @var string
- */
- protected $_responseClass = 'Zend_XmlRpc_Response_Http';
-
- /**
- * Dispatch table of name => method pairs
- * @var Zend_Server_Definition
- */
- protected $_table;
-
- /**
- * PHP types => XML-RPC types
- * @var array
- */
- protected $_typeMap = array(
- 'i4' => 'i4',
- 'int' => 'int',
- 'integer' => 'int',
- 'Zend_Crypt_Math_BigInteger' => 'i8',
- 'i8' => 'i8',
- 'ex:i8' => 'i8',
- 'double' => 'double',
- 'float' => 'double',
- 'real' => 'double',
- 'boolean' => 'boolean',
- 'bool' => 'boolean',
- 'true' => 'boolean',
- 'false' => 'boolean',
- 'string' => 'string',
- 'str' => 'string',
- 'base64' => 'base64',
- 'dateTime.iso8601' => 'dateTime.iso8601',
- 'date' => 'dateTime.iso8601',
- 'time' => 'dateTime.iso8601',
- 'time' => 'dateTime.iso8601',
- 'Zend_Date' => 'dateTime.iso8601',
- 'DateTime' => 'dateTime.iso8601',
- 'array' => 'array',
- 'struct' => 'struct',
- 'null' => 'nil',
- 'nil' => 'nil',
- 'ex:nil' => 'nil',
- 'void' => 'void',
- 'mixed' => 'struct',
- );
-
- /**
- * Send arguments to all methods or just constructor?
- *
- * @var bool
- */
- protected $_sendArgumentsToAllMethods = true;
-
- /**
- * Constructor
- *
- * Creates system.* methods.
- *
- * @return void
- */
- public function __construct()
- {
- $this->_table = new Zend_Server_Definition();
- $this->_registerSystemMethods();
- }
-
- /**
- * Proxy calls to system object
- *
- * @param string $method
- * @param array $params
- * @return mixed
- * @throws Zend_XmlRpc_Server_Exception
- */
- public function __call($method, $params)
- {
- $system = $this->getSystem();
- if (!method_exists($system, $method)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Unknown instance method called on server: ' . $method);
- }
- return call_user_func_array(array($system, $method), $params);
- }
-
- /**
- * Attach a callback as an XMLRPC method
- *
- * Attaches a callback as an XMLRPC method, prefixing the XMLRPC method name
- * with $namespace, if provided. Reflection is done on the callback's
- * docblock to create the methodHelp for the XMLRPC method.
- *
- * Additional arguments to pass to the function at dispatch may be passed;
- * any arguments following the namespace will be aggregated and passed at
- * dispatch time.
- *
- * @param string|array $function Valid callback
- * @param string $namespace Optional namespace prefix
- * @return void
- * @throws Zend_XmlRpc_Server_Exception
- */
- public function addFunction($function, $namespace = '')
- {
- if (!is_string($function) && !is_array($function)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Unable to attach function; invalid', 611);
- }
-
- $argv = null;
- if (2 < func_num_args()) {
- $argv = func_get_args();
- $argv = array_slice($argv, 2);
- }
-
- $function = (array) $function;
- foreach ($function as $func) {
- if (!is_string($func) || !function_exists($func)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Unable to attach function; invalid', 611);
- }
- $reflection = Zend_Server_Reflection::reflectFunction($func, $argv, $namespace);
- $this->_buildSignature($reflection);
- }
- }
-
- /**
- * Attach class methods as XMLRPC method handlers
- *
- * $class may be either a class name or an object. Reflection is done on the
- * class or object to determine the available public methods, and each is
- * attached to the server as an available method; if a $namespace has been
- * provided, that namespace is used to prefix the XMLRPC method names.
- *
- * Any additional arguments beyond $namespace will be passed to a method at
- * invocation.
- *
- * @param string|object $class
- * @param string $namespace Optional
- * @param mixed $argv Optional arguments to pass to methods
- * @return void
- * @throws Zend_XmlRpc_Server_Exception on invalid input
- */
- public function setClass($class, $namespace = '', $argv = null)
- {
- if (is_string($class) && !class_exists($class)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Invalid method class', 610);
- }
-
- $argv = null;
- if (2 < func_num_args()) {
- $argv = func_get_args();
- $argv = array_slice($argv, 2);
- }
-
- $dispatchable = Zend_Server_Reflection::reflectClass($class, $argv, $namespace);
- foreach ($dispatchable->getMethods() as $reflection) {
- $this->_buildSignature($reflection, $class);
- }
- }
-
- /**
- * Raise an xmlrpc server fault
- *
- * @param string|Exception $fault
- * @param int $code
- * @return Zend_XmlRpc_Server_Fault
- */
- public function fault($fault = null, $code = 404)
- {
- if (!$fault instanceof Exception) {
- $fault = (string) $fault;
- if (empty($fault)) {
- $fault = 'Unknown Error';
- }
- require_once 'Zend/XmlRpc/Server/Exception.php';
- $fault = new Zend_XmlRpc_Server_Exception($fault, $code);
- }
-
- return Zend_XmlRpc_Server_Fault::getInstance($fault);
- }
-
- /**
- * Handle an xmlrpc call
- *
- * @param Zend_XmlRpc_Request $request Optional
- * @return Zend_XmlRpc_Response|Zend_XmlRpc_Fault
- */
- public function handle($request = false)
- {
- // Get request
- if ((!$request || !$request instanceof Zend_XmlRpc_Request)
- && (null === ($request = $this->getRequest()))
- ) {
- require_once 'Zend/XmlRpc/Request/Http.php';
- $request = new Zend_XmlRpc_Request_Http();
- $request->setEncoding($this->getEncoding());
- }
-
- $this->setRequest($request);
-
- if ($request->isFault()) {
- $response = $request->getFault();
- } else {
- try {
- $response = $this->_handle($request);
- } catch (Exception $e) {
- $response = $this->fault($e);
- }
- }
-
- // Set output encoding
- $response->setEncoding($this->getEncoding());
-
- return $response;
- }
-
- /**
- * Load methods as returned from {@link getFunctions}
- *
- * Typically, you will not use this method; it will be called using the
- * results pulled from {@link Zend_XmlRpc_Server_Cache::get()}.
- *
- * @param array|Zend_Server_Definition $definition
- * @return void
- * @throws Zend_XmlRpc_Server_Exception on invalid input
- */
- public function loadFunctions($definition)
- {
- if (!is_array($definition) && (!$definition instanceof Zend_Server_Definition)) {
- if (is_object($definition)) {
- $type = get_class($definition);
- } else {
- $type = gettype($definition);
- }
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Unable to load server definition; must be an array or Zend_Server_Definition, received ' . $type, 612);
- }
-
- $this->_table->clearMethods();
- $this->_registerSystemMethods();
-
- if ($definition instanceof Zend_Server_Definition) {
- $definition = $definition->getMethods();
- }
-
- foreach ($definition as $key => $method) {
- if ('system.' == substr($key, 0, 7)) {
- continue;
- }
- $this->_table->addMethod($method, $key);
- }
- }
-
- /**
- * Set encoding
- *
- * @param string $encoding
- * @return Zend_XmlRpc_Server
- */
- public function setEncoding($encoding)
- {
- $this->_encoding = $encoding;
- Zend_XmlRpc_Value::setEncoding($encoding);
- return $this;
- }
-
- /**
- * Retrieve current encoding
- *
- * @return string
- */
- public function getEncoding()
- {
- return $this->_encoding;
- }
-
- /**
- * Do nothing; persistence is handled via {@link Zend_XmlRpc_Server_Cache}
- *
- * @param mixed $mode
- * @return void
- */
- public function setPersistence($mode)
- {
- }
-
- /**
- * Set the request object
- *
- * @param string|Zend_XmlRpc_Request $request
- * @return Zend_XmlRpc_Server
- * @throws Zend_XmlRpc_Server_Exception on invalid request class or object
- */
- public function setRequest($request)
- {
- if (is_string($request) && class_exists($request)) {
- $request = new $request();
- if (!$request instanceof Zend_XmlRpc_Request) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Invalid request class');
- }
- $request->setEncoding($this->getEncoding());
- } elseif (!$request instanceof Zend_XmlRpc_Request) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Invalid request object');
- }
-
- $this->_request = $request;
- return $this;
- }
-
- /**
- * Return currently registered request object
- *
- * @return null|Zend_XmlRpc_Request
- */
- public function getRequest()
- {
- return $this->_request;
- }
-
- /**
- * Set the class to use for the response
- *
- * @param string $class
- * @return boolean True if class was set, false if not
- */
- public function setResponseClass($class)
- {
- if (!class_exists($class) or
- ($c = new ReflectionClass($class) and !$c->isSubclassOf('Zend_XmlRpc_Response'))) {
-
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Invalid response class');
- }
- $this->_responseClass = $class;
- return true;
- }
-
- /**
- * Retrieve current response class
- *
- * @return string
- */
- public function getResponseClass()
- {
- return $this->_responseClass;
- }
-
- /**
- * Retrieve dispatch table
- *
- * @return array
- */
- public function getDispatchTable()
- {
- return $this->_table;
- }
-
- /**
- * Returns a list of registered methods
- *
- * Returns an array of dispatchables (Zend_Server_Reflection_Function,
- * _Method, and _Class items).
- *
- * @return array
- */
- public function getFunctions()
- {
- return $this->_table->toArray();
- }
-
- /**
- * Retrieve system object
- *
- * @return Zend_XmlRpc_Server_System
- */
- public function getSystem()
- {
- return $this->_system;
- }
-
- /**
- * Send arguments to all methods?
- *
- * If setClass() is used to add classes to the server, this flag defined
- * how to handle arguments. If set to true, all methods including constructor
- * will receive the arguments. If set to false, only constructor will receive the
- * arguments
- */
- public function sendArgumentsToAllMethods($flag = null)
- {
- if ($flag === null) {
- return $this->_sendArgumentsToAllMethods;
- }
-
- $this->_sendArgumentsToAllMethods = (bool)$flag;
- return $this;
- }
-
- /**
- * Map PHP type to XML-RPC type
- *
- * @param string $type
- * @return string
- */
- protected function _fixType($type)
- {
- if (isset($this->_typeMap[$type])) {
- return $this->_typeMap[$type];
- }
- return 'void';
- }
-
- /**
- * Handle an xmlrpc call (actual work)
- *
- * @param Zend_XmlRpc_Request $request
- * @return Zend_XmlRpc_Response
- * @throws Zend_XmlRpcServer_Exception|Exception
- * Zend_XmlRpcServer_Exceptions are thrown for internal errors; otherwise,
- * any other exception may be thrown by the callback
- */
- protected function _handle(Zend_XmlRpc_Request $request)
- {
- $method = $request->getMethod();
-
- // Check for valid method
- if (!$this->_table->hasMethod($method)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Method "' . $method . '" does not exist', 620);
- }
-
- $info = $this->_table->getMethod($method);
- $params = $request->getParams();
- $argv = $info->getInvokeArguments();
- if (0 < count($argv) and $this->sendArgumentsToAllMethods()) {
- $params = array_merge($params, $argv);
- }
-
- // Check calling parameters against signatures
- $matched = false;
- $sigCalled = $request->getTypes();
-
- $sigLength = count($sigCalled);
- $paramsLen = count($params);
- if ($sigLength < $paramsLen) {
- for ($i = $sigLength; $i < $paramsLen; ++$i) {
- $xmlRpcValue = Zend_XmlRpc_Value::getXmlRpcValue($params[$i]);
- $sigCalled[] = $xmlRpcValue->getType();
- }
- }
-
- $signatures = $info->getPrototypes();
- foreach ($signatures as $signature) {
- $sigParams = $signature->getParameters();
- if ($sigCalled === $sigParams) {
- $matched = true;
- break;
- }
- }
- if (!$matched) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Calling parameters do not match signature', 623);
- }
-
- $return = $this->_dispatch($info, $params);
- $responseClass = $this->getResponseClass();
- return new $responseClass($return);
- }
-
- /**
- * Register system methods with the server
- *
- * @return void
- */
- protected function _registerSystemMethods()
- {
- $system = new Zend_XmlRpc_Server_System($this);
- $this->_system = $system;
- $this->setClass($system, 'system');
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Server/Cache.php b/airtime_mvc/library/Zend/XmlRpc/Server/Cache.php
deleted file mode 100644
index 1b24d0d47..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Server/Cache.php
+++ /dev/null
@@ -1,46 +0,0 @@
- true);
-
- /**
- * @var array Array of fault observers
- */
- protected static $_observers = array();
-
- /**
- * Constructor
- *
- * @param Exception $e
- * @return Zend_XmlRpc_Server_Fault
- */
- public function __construct(Exception $e)
- {
- $this->_exception = $e;
- $code = 404;
- $message = 'Unknown error';
- $exceptionClass = get_class($e);
-
- foreach (array_keys(self::$_faultExceptionClasses) as $class) {
- if ($e instanceof $class) {
- $code = $e->getCode();
- $message = $e->getMessage();
- break;
- }
- }
-
- parent::__construct($code, $message);
-
- // Notify exception observers, if present
- if (!empty(self::$_observers)) {
- foreach (array_keys(self::$_observers) as $observer) {
- call_user_func(array($observer, 'observe'), $this);
- }
- }
- }
-
- /**
- * Return Zend_XmlRpc_Server_Fault instance
- *
- * @param Exception $e
- * @return Zend_XmlRpc_Server_Fault
- */
- public static function getInstance(Exception $e)
- {
- return new self($e);
- }
-
- /**
- * Attach valid exceptions that can be used to define xmlrpc faults
- *
- * @param string|array $classes Class name or array of class names
- * @return void
- */
- public static function attachFaultException($classes)
- {
- if (!is_array($classes)) {
- $classes = (array) $classes;
- }
-
- foreach ($classes as $class) {
- if (is_string($class) && class_exists($class)) {
- self::$_faultExceptionClasses[$class] = true;
- }
- }
- }
-
- /**
- * Detach fault exception classes
- *
- * @param string|array $classes Class name or array of class names
- * @return void
- */
- public static function detachFaultException($classes)
- {
- if (!is_array($classes)) {
- $classes = (array) $classes;
- }
-
- foreach ($classes as $class) {
- if (is_string($class) && isset(self::$_faultExceptionClasses[$class])) {
- unset(self::$_faultExceptionClasses[$class]);
- }
- }
- }
-
- /**
- * Attach an observer class
- *
- * Allows observation of xmlrpc server faults, thus allowing logging or mail
- * notification of fault responses on the xmlrpc server.
- *
- * Expects a valid class name; that class must have a public static method
- * 'observe' that accepts an exception as its sole argument.
- *
- * @param string $class
- * @return boolean
- */
- public static function attachObserver($class)
- {
- if (!is_string($class)
- || !class_exists($class)
- || !is_callable(array($class, 'observe')))
- {
- return false;
- }
-
- if (!isset(self::$_observers[$class])) {
- self::$_observers[$class] = true;
- }
-
- return true;
- }
-
- /**
- * Detach an observer
- *
- * @param string $class
- * @return boolean
- */
- public static function detachObserver($class)
- {
- if (!isset(self::$_observers[$class])) {
- return false;
- }
-
- unset(self::$_observers[$class]);
- return true;
- }
-
- /**
- * Retrieve the exception
- *
- * @access public
- * @return Exception
- */
- public function getException()
- {
- return $this->_exception;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Server/System.php b/airtime_mvc/library/Zend/XmlRpc/Server/System.php
deleted file mode 100644
index 6c01dde57..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Server/System.php
+++ /dev/null
@@ -1,162 +0,0 @@
-_server = $server;
- }
-
- /**
- * List all available XMLRPC methods
- *
- * Returns an array of methods.
- *
- * @return array
- */
- public function listMethods()
- {
- $table = $this->_server->getDispatchTable()->getMethods();
- return array_keys($table);
- }
-
- /**
- * Display help message for an XMLRPC method
- *
- * @param string $method
- * @return string
- */
- public function methodHelp($method)
- {
- $table = $this->_server->getDispatchTable();
- if (!$table->hasMethod($method)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Method "' . $method . '" does not exist', 640);
- }
-
- return $table->getMethod($method)->getMethodHelp();
- }
-
- /**
- * Return a method signature
- *
- * @param string $method
- * @return array
- */
- public function methodSignature($method)
- {
- $table = $this->_server->getDispatchTable();
- if (!$table->hasMethod($method)) {
- require_once 'Zend/XmlRpc/Server/Exception.php';
- throw new Zend_XmlRpc_Server_Exception('Method "' . $method . '" does not exist', 640);
- }
- $method = $table->getMethod($method)->toArray();
- return $method['prototypes'];
- }
-
- /**
- * Multicall - boxcar feature of XML-RPC for calling multiple methods
- * in a single request.
- *
- * Expects a an array of structs representing method calls, each element
- * having the keys:
- * - methodName
- * - params
- *
- * Returns an array of responses, one for each method called, with the value
- * returned by the method. If an error occurs for a given method, returns a
- * struct with a fault response.
- *
- * @see http://www.xmlrpc.com/discuss/msgReader$1208
- * @param array $methods
- * @return array
- */
- public function multicall($methods)
- {
- $responses = array();
- foreach ($methods as $method) {
- $fault = false;
- if (!is_array($method)) {
- $fault = $this->_server->fault('system.multicall expects each method to be a struct', 601);
- } elseif (!isset($method['methodName'])) {
- $fault = $this->_server->fault('Missing methodName: ' . var_export($methods, 1), 602);
- } elseif (!isset($method['params'])) {
- $fault = $this->_server->fault('Missing params', 603);
- } elseif (!is_array($method['params'])) {
- $fault = $this->_server->fault('Params must be an array', 604);
- } else {
- if ('system.multicall' == $method['methodName']) {
- // don't allow recursive calls to multicall
- $fault = $this->_server->fault('Recursive system.multicall forbidden', 605);
- }
- }
-
- if (!$fault) {
- try {
- $request = new Zend_XmlRpc_Request();
- $request->setMethod($method['methodName']);
- $request->setParams($method['params']);
- $response = $this->_server->handle($request);
- if ($response instanceof Zend_XmlRpc_Fault
- || $response->isFault()
- ) {
- $fault = $response;
- } else {
- $responses[] = $response->getReturnValue();
- }
- } catch (Exception $e) {
- $fault = $this->_server->fault($e);
- }
- }
-
- if ($fault) {
- $responses[] = array(
- 'faultCode' => $fault->getCode(),
- 'faultString' => $fault->getMessage()
- );
- }
- }
-
- return $responses;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value.php b/airtime_mvc/library/Zend/XmlRpc/Value.php
deleted file mode 100644
index f5833bd72..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value.php
+++ /dev/null
@@ -1,485 +0,0 @@
-_type;
- }
-
- /**
- * Get XML generator instance
- *
- * @return Zend_XmlRpc_Generator_GeneratorAbstract
- */
- public static function getGenerator()
- {
- if (!self::$_generator) {
- if (extension_loaded('xmlwriter')) {
- require_once 'Zend/XmlRpc/Generator/XmlWriter.php';
- self::$_generator = new Zend_XmlRpc_Generator_XmlWriter();
- } else {
- require_once 'Zend/XmlRpc/Generator/DomDocument.php';
- self::$_generator = new Zend_XmlRpc_Generator_DomDocument();
- }
- }
-
- return self::$_generator;
- }
-
- /**
- * Sets XML generator instance
- *
- * @param Zend_XmlRpc_Generator_GeneratorAbstract $generator
- * @return void
- */
- public static function setGenerator(Zend_XmlRpc_Generator_GeneratorAbstract $generator)
- {
- self::$_generator = $generator;
- }
-
- /**
- * Changes the encoding of the generator
- *
- * @param string $encoding
- * @return void
- */
- public static function setEncoding($encoding)
- {
- $generator = self::getGenerator();
- $newGenerator = new $generator($encoding);
- self::setGenerator($newGenerator);
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native value into a PHP variable
- *
- * @return mixed
- */
- abstract public function getValue();
-
-
- /**
- * Return the XML code that represent a native MXL-RPC value
- *
- * @return string
- */
- public function saveXml()
- {
- if (!$this->_xml) {
- $this->generateXml();
- }
- return $this->_xml;
- }
-
- /**
- * Generate XML code that represent a native XML/RPC value
- *
- * @return void
- */
- public function generateXml()
- {
- if (!$this->_xml) {
- $this->_generateXml();
- }
- }
-
- /**
- * Creates a Zend_XmlRpc_Value* object, representing a native XML-RPC value
- * A XmlRpcValue object can be created in 3 ways:
- * 1. Autodetecting the native type out of a PHP variable
- * (if $type is not set or equal to Zend_XmlRpc_Value::AUTO_DETECT_TYPE)
- * 2. By specifing the native type ($type is one of the Zend_XmlRpc_Value::XMLRPC_TYPE_* constants)
- * 3. From a XML string ($type is set to Zend_XmlRpc_Value::XML_STRING)
- *
- * By default the value type is autodetected according to it's PHP type
- *
- * @param mixed $value
- * @param Zend_XmlRpc_Value::constant $type
- *
- * @return Zend_XmlRpc_Value
- * @static
- */
- public static function getXmlRpcValue($value, $type = self::AUTO_DETECT_TYPE)
- {
- switch ($type) {
- case self::AUTO_DETECT_TYPE:
- // Auto detect the XML-RPC native type from the PHP type of $value
- return self::_phpVarToNativeXmlRpc($value);
-
- case self::XML_STRING:
- // Parse the XML string given in $value and get the XML-RPC value in it
- return self::_xmlStringToNativeXmlRpc($value);
-
- case self::XMLRPC_TYPE_I4:
- // fall through to the next case
- case self::XMLRPC_TYPE_INTEGER:
- require_once 'Zend/XmlRpc/Value/Integer.php';
- return new Zend_XmlRpc_Value_Integer($value);
-
- case self::XMLRPC_TYPE_I8:
- // fall through to the next case
- case self::XMLRPC_TYPE_APACHEI8:
- require_once 'Zend/XmlRpc/Value/BigInteger.php';
- return new Zend_XmlRpc_Value_BigInteger($value);
-
- case self::XMLRPC_TYPE_DOUBLE:
- require_once 'Zend/XmlRpc/Value/Double.php';
- return new Zend_XmlRpc_Value_Double($value);
-
- case self::XMLRPC_TYPE_BOOLEAN:
- require_once 'Zend/XmlRpc/Value/Boolean.php';
- return new Zend_XmlRpc_Value_Boolean($value);
-
- case self::XMLRPC_TYPE_STRING:
- require_once 'Zend/XmlRpc/Value/String.php';
- return new Zend_XmlRpc_Value_String($value);
-
- case self::XMLRPC_TYPE_BASE64:
- require_once 'Zend/XmlRpc/Value/Base64.php';
- return new Zend_XmlRpc_Value_Base64($value);
-
- case self::XMLRPC_TYPE_NIL:
- // fall through to the next case
- case self::XMLRPC_TYPE_APACHENIL:
- require_once 'Zend/XmlRpc/Value/Nil.php';
- return new Zend_XmlRpc_Value_Nil();
-
- case self::XMLRPC_TYPE_DATETIME:
- require_once 'Zend/XmlRpc/Value/DateTime.php';
- return new Zend_XmlRpc_Value_DateTime($value);
-
- case self::XMLRPC_TYPE_ARRAY:
- require_once 'Zend/XmlRpc/Value/Array.php';
- return new Zend_XmlRpc_Value_Array($value);
-
- case self::XMLRPC_TYPE_STRUCT:
- require_once 'Zend/XmlRpc/Value/Struct.php';
- return new Zend_XmlRpc_Value_Struct($value);
-
- default:
- require_once 'Zend/XmlRpc/Value/Exception.php';
- throw new Zend_XmlRpc_Value_Exception('Given type is not a '. __CLASS__ .' constant');
- }
- }
-
-
- /**
- * Transform a PHP native variable into a XML-RPC native value
- *
- * @param mixed $value The PHP variable for convertion
- *
- * @return Zend_XmlRpc_Value
- * @static
- */
- protected static function _phpVarToNativeXmlRpc($value)
- {
- switch (gettype($value)) {
- case 'object':
- // Check to see if it's an XmlRpc value
- if ($value instanceof Zend_XmlRpc_Value) {
- return $value;
- }
-
- if ($value instanceof Zend_Crypt_Math_BigInteger) {
- require_once 'Zend/XmlRpc/Value/BigInteger.php';
- return new Zend_XmlRpc_Value_BigInteger($value);
- }
-
- if ($value instanceof Zend_Date or $value instanceof DateTime) {
- require_once 'Zend/XmlRpc/Value/DateTime.php';
- return new Zend_XmlRpc_Value_DateTime($value);
- }
-
- // Otherwise, we convert the object into a struct
- $value = get_object_vars($value);
- // Break intentionally omitted
- case 'array':
- // Default native type for a PHP array (a simple numeric array) is 'array'
- require_once 'Zend/XmlRpc/Value/Array.php';
- $obj = 'Zend_XmlRpc_Value_Array';
-
- // Determine if this is an associative array
- if (!empty($value) && is_array($value) && (array_keys($value) !== range(0, count($value) - 1))) {
- require_once 'Zend/XmlRpc/Value/Struct.php';
- $obj = 'Zend_XmlRpc_Value_Struct';
- }
- return new $obj($value);
-
- case 'integer':
- require_once 'Zend/XmlRpc/Value/Integer.php';
- return new Zend_XmlRpc_Value_Integer($value);
-
- case 'double':
- require_once 'Zend/XmlRpc/Value/Double.php';
- return new Zend_XmlRpc_Value_Double($value);
-
- case 'boolean':
- require_once 'Zend/XmlRpc/Value/Boolean.php';
- return new Zend_XmlRpc_Value_Boolean($value);
-
- case 'NULL':
- case 'null':
- require_once 'Zend/XmlRpc/Value/Nil.php';
- return new Zend_XmlRpc_Value_Nil();
-
- case 'string':
- // Fall through to the next case
- default:
- // If type isn't identified (or identified as string), it treated as string
- require_once 'Zend/XmlRpc/Value/String.php';
- return new Zend_XmlRpc_Value_String($value);
- }
- }
-
-
- /**
- * Transform an XML string into a XML-RPC native value
- *
- * @param string|SimpleXMLElement $xml A SimpleXMLElement object represent the XML string
- * It can be also a valid XML string for convertion
- *
- * @return Zend_XmlRpc_Value
- * @static
- */
- protected static function _xmlStringToNativeXmlRpc($xml)
- {
- self::_createSimpleXMLElement($xml);
-
- self::_extractTypeAndValue($xml, $type, $value);
-
- switch ($type) {
- // All valid and known XML-RPC native values
- case self::XMLRPC_TYPE_I4:
- // Fall through to the next case
- case self::XMLRPC_TYPE_INTEGER:
- require_once 'Zend/XmlRpc/Value/Integer.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Integer($value);
- break;
- case self::XMLRPC_TYPE_APACHEI8:
- // Fall through to the next case
- case self::XMLRPC_TYPE_I8:
- require_once 'Zend/XmlRpc/Value/BigInteger.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_BigInteger($value);
- break;
- case self::XMLRPC_TYPE_DOUBLE:
- require_once 'Zend/XmlRpc/Value/Double.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Double($value);
- break;
- case self::XMLRPC_TYPE_BOOLEAN:
- require_once 'Zend/XmlRpc/Value/Boolean.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Boolean($value);
- break;
- case self::XMLRPC_TYPE_STRING:
- require_once 'Zend/XmlRpc/Value/String.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_String($value);
- break;
- case self::XMLRPC_TYPE_DATETIME: // The value should already be in a iso8601 format
- require_once 'Zend/XmlRpc/Value/DateTime.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_DateTime($value);
- break;
- case self::XMLRPC_TYPE_BASE64: // The value should already be base64 encoded
- require_once 'Zend/XmlRpc/Value/Base64.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Base64($value, true);
- break;
- case self::XMLRPC_TYPE_NIL:
- // Fall through to the next case
- case self::XMLRPC_TYPE_APACHENIL:
- // The value should always be NULL
- require_once 'Zend/XmlRpc/Value/Nil.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Nil();
- break;
- case self::XMLRPC_TYPE_ARRAY:
- // PHP 5.2.4 introduced a regression in how empty($xml->value)
- // returns; need to look for the item specifically
- $data = null;
- foreach ($value->children() as $key => $value) {
- if ('data' == $key) {
- $data = $value;
- break;
- }
- }
-
- if (null === $data) {
- require_once 'Zend/XmlRpc/Value/Exception.php';
- throw new Zend_XmlRpc_Value_Exception('Invalid XML for XML-RPC native '. self::XMLRPC_TYPE_ARRAY .' type: ARRAY tag must contain DATA tag');
- }
- $values = array();
- // Parse all the elements of the array from the XML string
- // (simple xml element) to Zend_XmlRpc_Value objects
- foreach ($data->value as $element) {
- $values[] = self::_xmlStringToNativeXmlRpc($element);
- }
- require_once 'Zend/XmlRpc/Value/Array.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Array($values);
- break;
- case self::XMLRPC_TYPE_STRUCT:
- $values = array();
- // Parse all the memebers of the struct from the XML string
- // (simple xml element) to Zend_XmlRpc_Value objects
- foreach ($value->member as $member) {
- // @todo? If a member doesn't have a tag, we don't add it to the struct
- // Maybe we want to throw an exception here ?
- if (!isset($member->value) or !isset($member->name)) {
- continue;
- //throw new Zend_XmlRpc_Value_Exception('Member of the '. self::XMLRPC_TYPE_STRUCT .' XML-RPC native type must contain a VALUE tag');
- }
- $values[(string)$member->name] = self::_xmlStringToNativeXmlRpc($member->value);
- }
- require_once 'Zend/XmlRpc/Value/Struct.php';
- $xmlrpcValue = new Zend_XmlRpc_Value_Struct($values);
- break;
- default:
- require_once 'Zend/XmlRpc/Value/Exception.php';
- throw new Zend_XmlRpc_Value_Exception('Value type \''. $type .'\' parsed from the XML string is not a known XML-RPC native type');
- break;
- }
- $xmlrpcValue->_setXML($xml->asXML());
-
- return $xmlrpcValue;
- }
-
- protected static function _createSimpleXMLElement(&$xml)
- {
- if ($xml instanceof SimpleXMLElement) {
- return;
- }
-
- try {
- $xml = new SimpleXMLElement($xml);
- } catch (Exception $e) {
- // The given string is not a valid XML
- require_once 'Zend/XmlRpc/Value/Exception.php';
- throw new Zend_XmlRpc_Value_Exception('Failed to create XML-RPC value from XML string: ' . $e->getMessage(), $e->getCode(), $e);
- }
- }
-
- /**
- * Extract XML/RPC type and value from SimpleXMLElement object
- *
- * @param SimpleXMLElement $xml
- * @param string &$type Type bind variable
- * @param string &$value Value bind variable
- * @return void
- */
- protected static function _extractTypeAndValue(SimpleXMLElement $xml, &$type, &$value)
- {
- list($type, $value) = each($xml);
-
- if (!$type and $value === null) {
- $namespaces = array('ex' => 'http://ws.apache.org/xmlrpc/namespaces/extensions');
- foreach ($namespaces as $namespaceName => $namespaceUri) {
- $namespaceXml = $xml->children($namespaceUri);
- list($type, $value) = each($namespaceXml);
- if ($type !== null) {
- $type = $namespaceName . ':' . $type;
- break;
- }
- }
- }
-
- // If no type was specified, the default is string
- if (!$type) {
- $type = self::XMLRPC_TYPE_STRING;
- }
- }
-
- /**
- * @param $xml
- * @return void
- */
- protected function _setXML($xml)
- {
- $this->_xml = $this->getGenerator()->stripDeclaration($xml);
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Array.php b/airtime_mvc/library/Zend/XmlRpc/Value/Array.php
deleted file mode 100644
index 873930685..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Array.php
+++ /dev/null
@@ -1,75 +0,0 @@
-_type = self::XMLRPC_TYPE_ARRAY;
- parent::__construct($value);
- }
-
-
- /**
- * Generate the XML code that represent an array native MXL-RPC value
- *
- * @return void
- */
- protected function _generateXml()
- {
- $generator = $this->getGenerator();
- $generator->openElement('value')
- ->openElement('array')
- ->openElement('data');
-
- if (is_array($this->_value)) {
- foreach ($this->_value as $val) {
- $val->generateXml();
- }
- }
- $generator->closeElement('data')
- ->closeElement('array')
- ->closeElement('value');
-
- $this->_xml = (string)$generator;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Base64.php b/airtime_mvc/library/Zend/XmlRpc/Value/Base64.php
deleted file mode 100644
index 050900ca4..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Base64.php
+++ /dev/null
@@ -1,68 +0,0 @@
-_type = self::XMLRPC_TYPE_BASE64;
-
- $value = (string)$value; // Make sure this value is string
- if (!$alreadyEncoded) {
- $value = base64_encode($value); // We encode it in base64
- }
- $this->_value = $value;
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native base64 value into a PHP string
- * We return this value decoded (a normal string)
- *
- * @return string
- */
- public function getValue()
- {
- return base64_decode($this->_value);
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/BigInteger.php b/airtime_mvc/library/Zend/XmlRpc/Value/BigInteger.php
deleted file mode 100644
index 3db442d8d..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/BigInteger.php
+++ /dev/null
@@ -1,65 +0,0 @@
-_integer = new Zend_Crypt_Math_BigInteger();
- $this->_value = $this->_integer->init($this->_value);
-
- $this->_type = self::XMLRPC_TYPE_I8;
- }
-
- /**
- * Return bigint value object
- *
- * @return Zend_Crypt_Math_BigInteger
- */
- public function getValue()
- {
- return $this->_integer;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Boolean.php b/airtime_mvc/library/Zend/XmlRpc/Value/Boolean.php
deleted file mode 100644
index e73d940d1..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Boolean.php
+++ /dev/null
@@ -1,63 +0,0 @@
-_type = self::XMLRPC_TYPE_BOOLEAN;
- // Make sure the value is boolean and then convert it into a integer
- // The double convertion is because a bug in the ZendOptimizer in PHP version 5.0.4
- $this->_value = (int)(bool)$value;
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native boolean value into a PHP boolean
- *
- * @return bool
- */
- public function getValue()
- {
- return (bool)$this->_value;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Collection.php b/airtime_mvc/library/Zend/XmlRpc/Value/Collection.php
deleted file mode 100644
index 51a204470..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Collection.php
+++ /dev/null
@@ -1,73 +0,0 @@
- $value) {
- // If the elements of the given array are not Zend_XmlRpc_Value objects,
- // we need to convert them as such (using auto-detection from PHP value)
- if (!$value instanceof parent) {
- $value = self::getXmlRpcValue($value, self::AUTO_DETECT_TYPE);
- }
- $this->_value[$key] = $value;
- }
- }
-
-
- /**
- * Return the value of this object, convert the XML-RPC native collection values into a PHP array
- *
- * @return arary
- */
- public function getValue()
- {
- $values = (array)$this->_value;
- foreach ($values as $key => $value) {
- /* @var $value Zend_XmlRpc_Value */
- $values[$key] = $value->getValue();
- }
- return $values;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/DateTime.php b/airtime_mvc/library/Zend/XmlRpc/Value/DateTime.php
deleted file mode 100644
index 55ddf8a23..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/DateTime.php
+++ /dev/null
@@ -1,91 +0,0 @@
-_type = self::XMLRPC_TYPE_DATETIME;
-
- if ($value instanceof Zend_Date) {
- $this->_value = $value->toString($this->_isoFormatString);
- } elseif ($value instanceof DateTime) {
- $this->_value = $value->format($this->_phpFormatString);
- } elseif (is_numeric($value)) { // The value is numeric, we make sure it is an integer
- $this->_value = date($this->_phpFormatString, (int)$value);
- } else {
- $timestamp = strtotime($value);
- if ($timestamp === false || $timestamp == -1) { // cannot convert the value to a timestamp
- require_once 'Zend/XmlRpc/Value/Exception.php';
- throw new Zend_XmlRpc_Value_Exception('Cannot convert given value \''. $value .'\' to a timestamp');
- }
-
- $this->_value = date($this->_phpFormatString, $timestamp); // Convert the timestamp to iso8601 format
- }
- }
-
- /**
- * Return the value of this object as iso8601 dateTime value
- *
- * @return int As a Unix timestamp
- */
- public function getValue()
- {
- return $this->_value;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Double.php b/airtime_mvc/library/Zend/XmlRpc/Value/Double.php
deleted file mode 100644
index 940e76631..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Double.php
+++ /dev/null
@@ -1,62 +0,0 @@
-_type = self::XMLRPC_TYPE_DOUBLE;
- $precision = (int)ini_get('precision');
- $formatString = '%1.' . $precision . 'F';
- $this->_value = rtrim(sprintf($formatString, (float)$value), '0');
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native double value into a PHP float
- *
- * @return float
- */
- public function getValue()
- {
- return (float)$this->_value;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Exception.php b/airtime_mvc/library/Zend/XmlRpc/Value/Exception.php
deleted file mode 100644
index 37ae0d8bf..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Exception.php
+++ /dev/null
@@ -1,39 +0,0 @@
- PHP_INT_MAX) {
- require_once 'Zend/XmlRpc/Value/Exception.php';
- throw new Zend_XmlRpc_Value_Exception('Overlong integer given');
- }
-
- $this->_type = self::XMLRPC_TYPE_INTEGER;
- $this->_value = (int)$value; // Make sure this value is integer
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native integer value into a PHP integer
- *
- * @return int
- */
- public function getValue()
- {
- return $this->_value;
- }
-}
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Nil.php b/airtime_mvc/library/Zend/XmlRpc/Value/Nil.php
deleted file mode 100644
index 2e5ce92e9..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Nil.php
+++ /dev/null
@@ -1,60 +0,0 @@
-_type = self::XMLRPC_TYPE_NIL;
- $this->_value = null;
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native nill value into a PHP NULL
- *
- * @return null
- */
- public function getValue()
- {
- return null;
- }
-}
-
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Scalar.php b/airtime_mvc/library/Zend/XmlRpc/Value/Scalar.php
deleted file mode 100644
index 62a72b46d..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Scalar.php
+++ /dev/null
@@ -1,55 +0,0 @@
-getGenerator();
-
- $generator->openElement('value')
- ->openElement($this->_type, $this->_value)
- ->closeElement($this->_type)
- ->closeElement('value');
-
- $this->_xml = (string)$generator;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/String.php b/airtime_mvc/library/Zend/XmlRpc/Value/String.php
deleted file mode 100644
index 83e8c5ac5..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/String.php
+++ /dev/null
@@ -1,60 +0,0 @@
-_type = self::XMLRPC_TYPE_STRING;
-
- // Make sure this value is string and all XML characters are encoded
- $this->_value = (string)$value;
- }
-
- /**
- * Return the value of this object, convert the XML-RPC native string value into a PHP string
- *
- * @return string
- */
- public function getValue()
- {
- return (string)$this->_value;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/Zend/XmlRpc/Value/Struct.php b/airtime_mvc/library/Zend/XmlRpc/Value/Struct.php
deleted file mode 100644
index 6c54cba83..000000000
--- a/airtime_mvc/library/Zend/XmlRpc/Value/Struct.php
+++ /dev/null
@@ -1,76 +0,0 @@
-_type = self::XMLRPC_TYPE_STRUCT;
- parent::__construct($value);
- }
-
-
- /**
- * Generate the XML code that represent struct native MXL-RPC value
- *
- * @return void
- */
- protected function _generateXML()
- {
- $generator = $this->getGenerator();
- $generator->openElement('value')
- ->openElement('struct');
-
- if (is_array($this->_value)) {
- foreach ($this->_value as $name => $val) {
- /* @var $val Zend_XmlRpc_Value */
- $generator->openElement('member')
- ->openElement('name', $name)
- ->closeElement('name');
- $val->generateXml();
- $generator->closeElement('member');
- }
- }
- $generator->closeElement('struct')
- ->closeElement('value');
- $this->_xml = (string)$generator;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Archive/Tar.php b/airtime_mvc/library/pear/Archive/Tar.php
deleted file mode 100644
index 61eff98e6..000000000
--- a/airtime_mvc/library/pear/Archive/Tar.php
+++ /dev/null
@@ -1,1909 +0,0 @@
-
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * @category File_Formats
- * @package Archive_Tar
- * @author Vincent Blavet
- * @copyright 1997-2008 The Authors
- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
- * @version CVS: $Id: Tar.php 295988 2010-03-09 08:39:37Z mrook $
- * @link http://pear.php.net/package/Archive_Tar
- */
-
-require_once 'PEAR.php';
-
-
-define ('ARCHIVE_TAR_ATT_SEPARATOR', 90001);
-define ('ARCHIVE_TAR_END_BLOCK', pack("a512", ''));
-
-/**
-* Creates a (compressed) Tar archive
-*
-* @author Vincent Blavet
-* @version $Revision: 295988 $
-* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
-* @package Archive_Tar
-*/
-class Archive_Tar extends PEAR
-{
- /**
- * @var string Name of the Tar
- */
- var $_tarname='';
-
- /**
- * @var boolean if true, the Tar file will be gzipped
- */
- var $_compress=false;
-
- /**
- * @var string Type of compression : 'none', 'gz' or 'bz2'
- */
- var $_compress_type='none';
-
- /**
- * @var string Explode separator
- */
- var $_separator=' ';
-
- /**
- * @var file descriptor
- */
- var $_file=0;
-
- /**
- * @var string Local Tar name of a remote Tar (http:// or ftp://)
- */
- var $_temp_tarname='';
-
- /**
- * @var string regular expression for ignoring files or directories
- */
- var $_ignore_regexp='';
-
- // {{{ constructor
- /**
- * Archive_Tar Class constructor. This flavour of the constructor only
- * declare a new Archive_Tar object, identifying it by the name of the
- * tar file.
- * If the compress argument is set the tar will be read or created as a
- * gzip or bz2 compressed TAR file.
- *
- * @param string $p_tarname The name of the tar archive to create
- * @param string $p_compress can be null, 'gz' or 'bz2'. This
- * parameter indicates if gzip or bz2 compression
- * is required. For compatibility reason the
- * boolean value 'true' means 'gz'.
- * @access public
- */
- function Archive_Tar($p_tarname, $p_compress = null)
- {
- $this->PEAR();
- $this->_compress = false;
- $this->_compress_type = 'none';
- if (($p_compress === null) || ($p_compress == '')) {
- if (@file_exists($p_tarname)) {
- if ($fp = @fopen($p_tarname, "rb")) {
- // look for gzip magic cookie
- $data = fread($fp, 2);
- fclose($fp);
- if ($data == "\37\213") {
- $this->_compress = true;
- $this->_compress_type = 'gz';
- // No sure it's enought for a magic code ....
- } elseif ($data == "BZ") {
- $this->_compress = true;
- $this->_compress_type = 'bz2';
- }
- }
- } else {
- // probably a remote file or some file accessible
- // through a stream interface
- if (substr($p_tarname, -2) == 'gz') {
- $this->_compress = true;
- $this->_compress_type = 'gz';
- } elseif ((substr($p_tarname, -3) == 'bz2') ||
- (substr($p_tarname, -2) == 'bz')) {
- $this->_compress = true;
- $this->_compress_type = 'bz2';
- }
- }
- } else {
- if (($p_compress === true) || ($p_compress == 'gz')) {
- $this->_compress = true;
- $this->_compress_type = 'gz';
- } else if ($p_compress == 'bz2') {
- $this->_compress = true;
- $this->_compress_type = 'bz2';
- } else {
- $this->_error("Unsupported compression type '$p_compress'\n".
- "Supported types are 'gz' and 'bz2'.\n");
- return false;
- }
- }
- $this->_tarname = $p_tarname;
- if ($this->_compress) { // assert zlib or bz2 extension support
- if ($this->_compress_type == 'gz')
- $extname = 'zlib';
- else if ($this->_compress_type == 'bz2')
- $extname = 'bz2';
-
- if (!extension_loaded($extname)) {
- PEAR::loadExtension($extname);
- }
- if (!extension_loaded($extname)) {
- $this->_error("The extension '$extname' couldn't be found.\n".
- "Please make sure your version of PHP was built ".
- "with '$extname' support.\n");
- return false;
- }
- }
- }
- // }}}
-
- // {{{ destructor
- function _Archive_Tar()
- {
- $this->_close();
- // ----- Look for a local copy to delete
- if ($this->_temp_tarname != '')
- @unlink($this->_temp_tarname);
- $this->_PEAR();
- }
- // }}}
-
- // {{{ create()
- /**
- * This method creates the archive file and add the files / directories
- * that are listed in $p_filelist.
- * If a file with the same name exist and is writable, it is replaced
- * by the new tar.
- * The method return false and a PEAR error text.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * For each directory added in the archive, the files and
- * sub-directories are also added.
- * See also createModify() method for more details.
- *
- * @param array $p_filelist An array of filenames and directory names, or a
- * single string with names separated by a single
- * blank space.
- * @return true on success, false on error.
- * @see createModify()
- * @access public
- */
- function create($p_filelist)
- {
- return $this->createModify($p_filelist, '', '');
- }
- // }}}
-
- // {{{ add()
- /**
- * This method add the files / directories that are listed in $p_filelist in
- * the archive. If the archive does not exist it is created.
- * The method return false and a PEAR error text.
- * The files and directories listed are only added at the end of the archive,
- * even if a file with the same name is already archived.
- * See also createModify() method for more details.
- *
- * @param array $p_filelist An array of filenames and directory names, or a
- * single string with names separated by a single
- * blank space.
- * @return true on success, false on error.
- * @see createModify()
- * @access public
- */
- function add($p_filelist)
- {
- return $this->addModify($p_filelist, '', '');
- }
- // }}}
-
- // {{{ extract()
- function extract($p_path='')
- {
- return $this->extractModify($p_path, '');
- }
- // }}}
-
- // {{{ listContent()
- function listContent()
- {
- $v_list_detail = array();
-
- if ($this->_openRead()) {
- if (!$this->_extractList('', $v_list_detail, "list", '', '')) {
- unset($v_list_detail);
- $v_list_detail = 0;
- }
- $this->_close();
- }
-
- return $v_list_detail;
- }
- // }}}
-
- // {{{ createModify()
- /**
- * This method creates the archive file and add the files / directories
- * that are listed in $p_filelist.
- * If the file already exists and is writable, it is replaced by the
- * new tar. It is a create and not an add. If the file exists and is
- * read-only or is a directory it is not replaced. The method return
- * false and a PEAR error text.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * The path indicated in $p_remove_dir will be removed from the
- * memorized path of each file / directory listed when this path
- * exists. By default nothing is removed (empty path '')
- * The path indicated in $p_add_dir will be added at the beginning of
- * the memorized path of each file / directory listed. However it can
- * be set to empty ''. The adding of a path is done after the removing
- * of path.
- * The path add/remove ability enables the user to prepare an archive
- * for extraction in a different path than the origin files are.
- * See also addModify() method for file adding properties.
- *
- * @param array $p_filelist An array of filenames and directory names,
- * or a single string with names separated by
- * a single blank space.
- * @param string $p_add_dir A string which contains a path to be added
- * to the memorized path of each element in
- * the list.
- * @param string $p_remove_dir A string which contains a path to be
- * removed from the memorized path of each
- * element in the list, when relevant.
- * @return boolean true on success, false on error.
- * @access public
- * @see addModify()
- */
- function createModify($p_filelist, $p_add_dir, $p_remove_dir='')
- {
- $v_result = true;
-
- if (!$this->_openWrite())
- return false;
-
- if ($p_filelist != '') {
- if (is_array($p_filelist))
- $v_list = $p_filelist;
- elseif (is_string($p_filelist))
- $v_list = explode($this->_separator, $p_filelist);
- else {
- $this->_cleanFile();
- $this->_error('Invalid file list');
- return false;
- }
-
- $v_result = $this->_addList($v_list, $p_add_dir, $p_remove_dir);
- }
-
- if ($v_result) {
- $this->_writeFooter();
- $this->_close();
- } else
- $this->_cleanFile();
-
- return $v_result;
- }
- // }}}
-
- // {{{ addModify()
- /**
- * This method add the files / directories listed in $p_filelist at the
- * end of the existing archive. If the archive does not yet exists it
- * is created.
- * The $p_filelist parameter can be an array of string, each string
- * representing a filename or a directory name with their path if
- * needed. It can also be a single string with names separated by a
- * single blank.
- * The path indicated in $p_remove_dir will be removed from the
- * memorized path of each file / directory listed when this path
- * exists. By default nothing is removed (empty path '')
- * The path indicated in $p_add_dir will be added at the beginning of
- * the memorized path of each file / directory listed. However it can
- * be set to empty ''. The adding of a path is done after the removing
- * of path.
- * The path add/remove ability enables the user to prepare an archive
- * for extraction in a different path than the origin files are.
- * If a file/dir is already in the archive it will only be added at the
- * end of the archive. There is no update of the existing archived
- * file/dir. However while extracting the archive, the last file will
- * replace the first one. This results in a none optimization of the
- * archive size.
- * If a file/dir does not exist the file/dir is ignored. However an
- * error text is send to PEAR error.
- * If a file/dir is not readable the file/dir is ignored. However an
- * error text is send to PEAR error.
- *
- * @param array $p_filelist An array of filenames and directory
- * names, or a single string with names
- * separated by a single blank space.
- * @param string $p_add_dir A string which contains a path to be
- * added to the memorized path of each
- * element in the list.
- * @param string $p_remove_dir A string which contains a path to be
- * removed from the memorized path of
- * each element in the list, when
- * relevant.
- * @return true on success, false on error.
- * @access public
- */
- function addModify($p_filelist, $p_add_dir, $p_remove_dir='')
- {
- $v_result = true;
-
- if (!$this->_isArchive())
- $v_result = $this->createModify($p_filelist, $p_add_dir,
- $p_remove_dir);
- else {
- if (is_array($p_filelist))
- $v_list = $p_filelist;
- elseif (is_string($p_filelist))
- $v_list = explode($this->_separator, $p_filelist);
- else {
- $this->_error('Invalid file list');
- return false;
- }
-
- $v_result = $this->_append($v_list, $p_add_dir, $p_remove_dir);
- }
-
- return $v_result;
- }
- // }}}
-
- // {{{ addString()
- /**
- * This method add a single string as a file at the
- * end of the existing archive. If the archive does not yet exists it
- * is created.
- *
- * @param string $p_filename A string which contains the full
- * filename path that will be associated
- * with the string.
- * @param string $p_string The content of the file added in
- * the archive.
- * @return true on success, false on error.
- * @access public
- */
- function addString($p_filename, $p_string)
- {
- $v_result = true;
-
- if (!$this->_isArchive()) {
- if (!$this->_openWrite()) {
- return false;
- }
- $this->_close();
- }
-
- if (!$this->_openAppend())
- return false;
-
- // Need to check the get back to the temporary file ? ....
- $v_result = $this->_addString($p_filename, $p_string);
-
- $this->_writeFooter();
-
- $this->_close();
-
- return $v_result;
- }
- // }}}
-
- // {{{ extractModify()
- /**
- * This method extract all the content of the archive in the directory
- * indicated by $p_path. When relevant the memorized path of the
- * files/dir can be modified by removing the $p_remove_path path at the
- * beginning of the file/dir path.
- * While extracting a file, if the directory path does not exists it is
- * created.
- * While extracting a file, if the file already exists it is replaced
- * without looking for last modification date.
- * While extracting a file, if the file already exists and is write
- * protected, the extraction is aborted.
- * While extracting a file, if a directory with the same name already
- * exists, the extraction is aborted.
- * While extracting a directory, if a file with the same name already
- * exists, the extraction is aborted.
- * While extracting a file/directory if the destination directory exist
- * and is write protected, or does not exist but can not be created,
- * the extraction is aborted.
- * If after extraction an extracted file does not show the correct
- * stored file size, the extraction is aborted.
- * When the extraction is aborted, a PEAR error text is set and false
- * is returned. However the result can be a partial extraction that may
- * need to be manually cleaned.
- *
- * @param string $p_path The path of the directory where the
- * files/dir need to by extracted.
- * @param string $p_remove_path Part of the memorized path that can be
- * removed if present at the beginning of
- * the file/dir path.
- * @return boolean true on success, false on error.
- * @access public
- * @see extractList()
- */
- function extractModify($p_path, $p_remove_path)
- {
- $v_result = true;
- $v_list_detail = array();
-
- if ($v_result = $this->_openRead()) {
- $v_result = $this->_extractList($p_path, $v_list_detail,
- "complete", 0, $p_remove_path);
- $this->_close();
- }
-
- return $v_result;
- }
- // }}}
-
- // {{{ extractInString()
- /**
- * This method extract from the archive one file identified by $p_filename.
- * The return value is a string with the file content, or NULL on error.
- * @param string $p_filename The path of the file to extract in a string.
- * @return a string with the file content or NULL.
- * @access public
- */
- function extractInString($p_filename)
- {
- if ($this->_openRead()) {
- $v_result = $this->_extractInString($p_filename);
- $this->_close();
- } else {
- $v_result = NULL;
- }
-
- return $v_result;
- }
- // }}}
-
- // {{{ extractList()
- /**
- * This method extract from the archive only the files indicated in the
- * $p_filelist. These files are extracted in the current directory or
- * in the directory indicated by the optional $p_path parameter.
- * If indicated the $p_remove_path can be used in the same way as it is
- * used in extractModify() method.
- * @param array $p_filelist An array of filenames and directory names,
- * or a single string with names separated
- * by a single blank space.
- * @param string $p_path The path of the directory where the
- * files/dir need to by extracted.
- * @param string $p_remove_path Part of the memorized path that can be
- * removed if present at the beginning of
- * the file/dir path.
- * @return true on success, false on error.
- * @access public
- * @see extractModify()
- */
- function extractList($p_filelist, $p_path='', $p_remove_path='')
- {
- $v_result = true;
- $v_list_detail = array();
-
- if (is_array($p_filelist))
- $v_list = $p_filelist;
- elseif (is_string($p_filelist))
- $v_list = explode($this->_separator, $p_filelist);
- else {
- $this->_error('Invalid string list');
- return false;
- }
-
- if ($v_result = $this->_openRead()) {
- $v_result = $this->_extractList($p_path, $v_list_detail, "partial",
- $v_list, $p_remove_path);
- $this->_close();
- }
-
- return $v_result;
- }
- // }}}
-
- // {{{ setAttribute()
- /**
- * This method set specific attributes of the archive. It uses a variable
- * list of parameters, in the format attribute code + attribute values :
- * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ',');
- * @param mixed $argv variable list of attributes and values
- * @return true on success, false on error.
- * @access public
- */
- function setAttribute()
- {
- $v_result = true;
-
- // ----- Get the number of variable list of arguments
- if (($v_size = func_num_args()) == 0) {
- return true;
- }
-
- // ----- Get the arguments
- $v_att_list = &func_get_args();
-
- // ----- Read the attributes
- $i=0;
- while ($i<$v_size) {
-
- // ----- Look for next option
- switch ($v_att_list[$i]) {
- // ----- Look for options that request a string value
- case ARCHIVE_TAR_ATT_SEPARATOR :
- // ----- Check the number of parameters
- if (($i+1) >= $v_size) {
- $this->_error('Invalid number of parameters for '
- .'attribute ARCHIVE_TAR_ATT_SEPARATOR');
- return false;
- }
-
- // ----- Get the value
- $this->_separator = $v_att_list[$i+1];
- $i++;
- break;
-
- default :
- $this->_error('Unknow attribute code '.$v_att_list[$i].'');
- return false;
- }
-
- // ----- Next attribute
- $i++;
- }
-
- return $v_result;
- }
- // }}}
-
- // {{{ setIgnoreRegexp()
- /**
- * This method sets the regular expression for ignoring files and directories
- * at import, for example:
- * $arch->setIgnoreRegexp("#CVS|\.svn#");
- * @param string $regexp regular expression defining which files or directories to ignore
- * @access public
- */
- function setIgnoreRegexp($regexp)
- {
- $this->_ignore_regexp = $regexp;
- }
- // }}}
-
- // {{{ setIgnoreList()
- /**
- * This method sets the regular expression for ignoring all files and directories
- * matching the filenames in the array list at import, for example:
- * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool'));
- * @param array $list a list of file or directory names to ignore
- * @access public
- */
- function setIgnoreList($list)
- {
- $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
- $regexp = '#/'.join('$|/', $list).'#';
- $this->setIgnoreRegexp($regexp);
- }
- // }}}
-
- // {{{ _error()
- function _error($p_message)
- {
- // ----- To be completed
- $this->raiseError($p_message);
- }
- // }}}
-
- // {{{ _warning()
- function _warning($p_message)
- {
- // ----- To be completed
- $this->raiseError($p_message);
- }
- // }}}
-
- // {{{ _isArchive()
- function _isArchive($p_filename=NULL)
- {
- if ($p_filename == NULL) {
- $p_filename = $this->_tarname;
- }
- clearstatcache();
- return @is_file($p_filename) && !@is_link($p_filename);
- }
- // }}}
-
- // {{{ _openWrite()
- function _openWrite()
- {
- if ($this->_compress_type == 'gz')
- $this->_file = @gzopen($this->_tarname, "wb9");
- else if ($this->_compress_type == 'bz2')
- $this->_file = @bzopen($this->_tarname, "w");
- else if ($this->_compress_type == 'none')
- $this->_file = @fopen($this->_tarname, "wb");
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- if ($this->_file == 0) {
- $this->_error('Unable to open in write mode \''
- .$this->_tarname.'\'');
- return false;
- }
-
- return true;
- }
- // }}}
-
- // {{{ _openRead()
- function _openRead()
- {
- if (strtolower(substr($this->_tarname, 0, 7)) == 'http://') {
-
- // ----- Look if a local copy need to be done
- if ($this->_temp_tarname == '') {
- $this->_temp_tarname = uniqid('tar').'.tmp';
- if (!$v_file_from = @fopen($this->_tarname, 'rb')) {
- $this->_error('Unable to open in read mode \''
- .$this->_tarname.'\'');
- $this->_temp_tarname = '';
- return false;
- }
- if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) {
- $this->_error('Unable to open in write mode \''
- .$this->_temp_tarname.'\'');
- $this->_temp_tarname = '';
- return false;
- }
- while ($v_data = @fread($v_file_from, 1024))
- @fwrite($v_file_to, $v_data);
- @fclose($v_file_from);
- @fclose($v_file_to);
- }
-
- // ----- File to open if the local copy
- $v_filename = $this->_temp_tarname;
-
- } else
- // ----- File to open if the normal Tar file
- $v_filename = $this->_tarname;
-
- if ($this->_compress_type == 'gz')
- $this->_file = @gzopen($v_filename, "rb");
- else if ($this->_compress_type == 'bz2')
- $this->_file = @bzopen($v_filename, "r");
- else if ($this->_compress_type == 'none')
- $this->_file = @fopen($v_filename, "rb");
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- if ($this->_file == 0) {
- $this->_error('Unable to open in read mode \''.$v_filename.'\'');
- return false;
- }
-
- return true;
- }
- // }}}
-
- // {{{ _openReadWrite()
- function _openReadWrite()
- {
- if ($this->_compress_type == 'gz')
- $this->_file = @gzopen($this->_tarname, "r+b");
- else if ($this->_compress_type == 'bz2') {
- $this->_error('Unable to open bz2 in read/write mode \''
- .$this->_tarname.'\' (limitation of bz2 extension)');
- return false;
- } else if ($this->_compress_type == 'none')
- $this->_file = @fopen($this->_tarname, "r+b");
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- if ($this->_file == 0) {
- $this->_error('Unable to open in read/write mode \''
- .$this->_tarname.'\'');
- return false;
- }
-
- return true;
- }
- // }}}
-
- // {{{ _close()
- function _close()
- {
- //if (isset($this->_file)) {
- if (is_resource($this->_file)) {
- if ($this->_compress_type == 'gz')
- @gzclose($this->_file);
- else if ($this->_compress_type == 'bz2')
- @bzclose($this->_file);
- else if ($this->_compress_type == 'none')
- @fclose($this->_file);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- $this->_file = 0;
- }
-
- // ----- Look if a local copy need to be erase
- // Note that it might be interesting to keep the url for a time : ToDo
- if ($this->_temp_tarname != '') {
- @unlink($this->_temp_tarname);
- $this->_temp_tarname = '';
- }
-
- return true;
- }
- // }}}
-
- // {{{ _cleanFile()
- function _cleanFile()
- {
- $this->_close();
-
- // ----- Look for a local copy
- if ($this->_temp_tarname != '') {
- // ----- Remove the local copy but not the remote tarname
- @unlink($this->_temp_tarname);
- $this->_temp_tarname = '';
- } else {
- // ----- Remove the local tarname file
- @unlink($this->_tarname);
- }
- $this->_tarname = '';
-
- return true;
- }
- // }}}
-
- // {{{ _writeBlock()
- function _writeBlock($p_binary_data, $p_len=null)
- {
- if (is_resource($this->_file)) {
- if ($p_len === null) {
- if ($this->_compress_type == 'gz')
- @gzputs($this->_file, $p_binary_data);
- else if ($this->_compress_type == 'bz2')
- @bzwrite($this->_file, $p_binary_data);
- else if ($this->_compress_type == 'none')
- @fputs($this->_file, $p_binary_data);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- } else {
- if ($this->_compress_type == 'gz')
- @gzputs($this->_file, $p_binary_data, $p_len);
- else if ($this->_compress_type == 'bz2')
- @bzwrite($this->_file, $p_binary_data, $p_len);
- else if ($this->_compress_type == 'none')
- @fputs($this->_file, $p_binary_data, $p_len);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- }
- }
- return true;
- }
- // }}}
-
- // {{{ _readBlock()
- function _readBlock()
- {
- $v_block = null;
- if (is_resource($this->_file)) {
- if ($this->_compress_type == 'gz')
- $v_block = @gzread($this->_file, 512);
- else if ($this->_compress_type == 'bz2')
- $v_block = @bzread($this->_file, 512);
- else if ($this->_compress_type == 'none')
- $v_block = @fread($this->_file, 512);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
- }
- return $v_block;
- }
- // }}}
-
- // {{{ _jumpBlock()
- function _jumpBlock($p_len=null)
- {
- if (is_resource($this->_file)) {
- if ($p_len === null)
- $p_len = 1;
-
- if ($this->_compress_type == 'gz') {
- @gzseek($this->_file, gztell($this->_file)+($p_len*512));
- }
- else if ($this->_compress_type == 'bz2') {
- // ----- Replace missing bztell() and bzseek()
- for ($i=0; $i<$p_len; $i++)
- $this->_readBlock();
- } else if ($this->_compress_type == 'none')
- @fseek($this->_file, $p_len*512, SEEK_CUR);
- else
- $this->_error('Unknown or missing compression type ('
- .$this->_compress_type.')');
-
- }
- return true;
- }
- // }}}
-
- // {{{ _writeFooter()
- function _writeFooter()
- {
- if (is_resource($this->_file)) {
- // ----- Write the last 0 filled block for end of archive
- $v_binary_data = pack('a1024', '');
- $this->_writeBlock($v_binary_data);
- }
- return true;
- }
- // }}}
-
- // {{{ _addList()
- function _addList($p_list, $p_add_dir, $p_remove_dir)
- {
- $v_result=true;
- $v_header = array();
-
- // ----- Remove potential windows directory separator
- $p_add_dir = $this->_translateWinPath($p_add_dir);
- $p_remove_dir = $this->_translateWinPath($p_remove_dir, false);
-
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if (sizeof($p_list) == 0)
- return true;
-
- foreach ($p_list as $v_filename) {
- if (!$v_result) {
- break;
- }
-
- // ----- Skip the current tar name
- if ($v_filename == $this->_tarname)
- continue;
-
- if ($v_filename == '')
- continue;
-
- // ----- ignore files and directories matching the ignore regular expression
- if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/'.$v_filename)) {
- $this->_warning("File '$v_filename' ignored");
- continue;
- }
-
- if (!file_exists($v_filename)) {
- $this->_warning("File '$v_filename' does not exist");
- continue;
- }
-
- // ----- Add the file or directory header
- if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir))
- return false;
-
- if (@is_dir($v_filename) && !@is_link($v_filename)) {
- if (!($p_hdir = opendir($v_filename))) {
- $this->_warning("Directory '$v_filename' can not be read");
- continue;
- }
- while (false !== ($p_hitem = readdir($p_hdir))) {
- if (($p_hitem != '.') && ($p_hitem != '..')) {
- if ($v_filename != ".")
- $p_temp_list[0] = $v_filename.'/'.$p_hitem;
- else
- $p_temp_list[0] = $p_hitem;
-
- $v_result = $this->_addList($p_temp_list,
- $p_add_dir,
- $p_remove_dir);
- }
- }
-
- unset($p_temp_list);
- unset($p_hdir);
- unset($p_hitem);
- }
- }
-
- return $v_result;
- }
- // }}}
-
- // {{{ _addFile()
- function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir)
- {
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if ($p_filename == '') {
- $this->_error('Invalid file name');
- return false;
- }
-
- // ----- Calculate the stored filename
- $p_filename = $this->_translateWinPath($p_filename, false);;
- $v_stored_filename = $p_filename;
- if (strcmp($p_filename, $p_remove_dir) == 0) {
- return true;
- }
- if ($p_remove_dir != '') {
- if (substr($p_remove_dir, -1) != '/')
- $p_remove_dir .= '/';
-
- if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir)
- $v_stored_filename = substr($p_filename, strlen($p_remove_dir));
- }
- $v_stored_filename = $this->_translateWinPath($v_stored_filename);
- if ($p_add_dir != '') {
- if (substr($p_add_dir, -1) == '/')
- $v_stored_filename = $p_add_dir.$v_stored_filename;
- else
- $v_stored_filename = $p_add_dir.'/'.$v_stored_filename;
- }
-
- $v_stored_filename = $this->_pathReduction($v_stored_filename);
-
- if ($this->_isArchive($p_filename)) {
- if (($v_file = @fopen($p_filename, "rb")) == 0) {
- $this->_warning("Unable to open file '".$p_filename
- ."' in binary read mode");
- return true;
- }
-
- if (!$this->_writeHeader($p_filename, $v_stored_filename))
- return false;
-
- while (($v_buffer = fread($v_file, 512)) != '') {
- $v_binary_data = pack("a512", "$v_buffer");
- $this->_writeBlock($v_binary_data);
- }
-
- fclose($v_file);
-
- } else {
- // ----- Only header for dir
- if (!$this->_writeHeader($p_filename, $v_stored_filename))
- return false;
- }
-
- return true;
- }
- // }}}
-
- // {{{ _addString()
- function _addString($p_filename, $p_string)
- {
- if (!$this->_file) {
- $this->_error('Invalid file descriptor');
- return false;
- }
-
- if ($p_filename == '') {
- $this->_error('Invalid file name');
- return false;
- }
-
- // ----- Calculate the stored filename
- $p_filename = $this->_translateWinPath($p_filename, false);;
-
- if (!$this->_writeHeaderBlock($p_filename, strlen($p_string),
- time(), 384, "", 0, 0))
- return false;
-
- $i=0;
- while (($v_buffer = substr($p_string, (($i++)*512), 512)) != '') {
- $v_binary_data = pack("a512", $v_buffer);
- $this->_writeBlock($v_binary_data);
- }
-
- return true;
- }
- // }}}
-
- // {{{ _writeHeader()
- function _writeHeader($p_filename, $p_stored_filename)
- {
- if ($p_stored_filename == '')
- $p_stored_filename = $p_filename;
- $v_reduce_filename = $this->_pathReduction($p_stored_filename);
-
- if (strlen($v_reduce_filename) > 99) {
- if (!$this->_writeLongHeader($v_reduce_filename))
- return false;
- }
-
- $v_info = lstat($p_filename);
- $v_uid = sprintf("%07s", DecOct($v_info[4]));
- $v_gid = sprintf("%07s", DecOct($v_info[5]));
- $v_perms = sprintf("%07s", DecOct($v_info['mode'] & 000777));
-
- $v_mtime = sprintf("%011s", DecOct($v_info['mtime']));
-
- $v_linkname = '';
-
- if (@is_link($p_filename)) {
- $v_typeflag = '2';
- $v_linkname = readlink($p_filename);
- $v_size = sprintf("%011s", DecOct(0));
- } elseif (@is_dir($p_filename)) {
- $v_typeflag = "5";
- $v_size = sprintf("%011s", DecOct(0));
- } else {
- $v_typeflag = '0';
- clearstatcache();
- $v_size = sprintf("%011s", DecOct($v_info['size']));
- }
-
- $v_magic = 'ustar ';
-
- $v_version = ' ';
-
- if (function_exists('posix_getpwuid'))
- {
- $userinfo = posix_getpwuid($v_info[4]);
- $groupinfo = posix_getgrgid($v_info[5]);
-
- $v_uname = $userinfo['name'];
- $v_gname = $groupinfo['name'];
- }
- else
- {
- $v_uname = '';
- $v_gname = '';
- }
-
- $v_devmajor = '';
-
- $v_devminor = '';
-
- $v_prefix = '';
-
- $v_binary_data_first = pack("a100a8a8a8a12a12",
- $v_reduce_filename, $v_perms, $v_uid,
- $v_gid, $v_size, $v_mtime);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $v_typeflag, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
-
- // ----- Calculate the checksum
- $v_checksum = 0;
- // ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
- // ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
- $v_checksum += ord(' ');
- // ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
-
- // ----- Write the first 148 bytes of the header in the archive
- $this->_writeBlock($v_binary_data_first, 148);
-
- // ----- Write the calculated checksum
- $v_checksum = sprintf("%06s ", DecOct($v_checksum));
- $v_binary_data = pack("a8", $v_checksum);
- $this->_writeBlock($v_binary_data, 8);
-
- // ----- Write the last 356 bytes of the header in the archive
- $this->_writeBlock($v_binary_data_last, 356);
-
- return true;
- }
- // }}}
-
- // {{{ _writeHeaderBlock()
- function _writeHeaderBlock($p_filename, $p_size, $p_mtime=0, $p_perms=0,
- $p_type='', $p_uid=0, $p_gid=0)
- {
- $p_filename = $this->_pathReduction($p_filename);
-
- if (strlen($p_filename) > 99) {
- if (!$this->_writeLongHeader($p_filename))
- return false;
- }
-
- if ($p_type == "5") {
- $v_size = sprintf("%011s", DecOct(0));
- } else {
- $v_size = sprintf("%011s", DecOct($p_size));
- }
-
- $v_uid = sprintf("%07s", DecOct($p_uid));
- $v_gid = sprintf("%07s", DecOct($p_gid));
- $v_perms = sprintf("%07s", DecOct($p_perms & 000777));
-
- $v_mtime = sprintf("%11s", DecOct($p_mtime));
-
- $v_linkname = '';
-
- $v_magic = 'ustar ';
-
- $v_version = ' ';
-
- if (function_exists('posix_getpwuid'))
- {
- $userinfo = posix_getpwuid($p_uid);
- $groupinfo = posix_getgrgid($p_gid);
-
- $v_uname = $userinfo['name'];
- $v_gname = $groupinfo['name'];
- }
- else
- {
- $v_uname = '';
- $v_gname = '';
- }
-
- $v_devmajor = '';
-
- $v_devminor = '';
-
- $v_prefix = '';
-
- $v_binary_data_first = pack("a100a8a8a8a12A12",
- $p_filename, $v_perms, $v_uid, $v_gid,
- $v_size, $v_mtime);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $p_type, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
-
- // ----- Calculate the checksum
- $v_checksum = 0;
- // ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
- // ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
- $v_checksum += ord(' ');
- // ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
-
- // ----- Write the first 148 bytes of the header in the archive
- $this->_writeBlock($v_binary_data_first, 148);
-
- // ----- Write the calculated checksum
- $v_checksum = sprintf("%06s ", DecOct($v_checksum));
- $v_binary_data = pack("a8", $v_checksum);
- $this->_writeBlock($v_binary_data, 8);
-
- // ----- Write the last 356 bytes of the header in the archive
- $this->_writeBlock($v_binary_data_last, 356);
-
- return true;
- }
- // }}}
-
- // {{{ _writeLongHeader()
- function _writeLongHeader($p_filename)
- {
- $v_size = sprintf("%11s ", DecOct(strlen($p_filename)));
-
- $v_typeflag = 'L';
-
- $v_linkname = '';
-
- $v_magic = '';
-
- $v_version = '';
-
- $v_uname = '';
-
- $v_gname = '';
-
- $v_devmajor = '';
-
- $v_devminor = '';
-
- $v_prefix = '';
-
- $v_binary_data_first = pack("a100a8a8a8a12a12",
- '././@LongLink', 0, 0, 0, $v_size, 0);
- $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12",
- $v_typeflag, $v_linkname, $v_magic,
- $v_version, $v_uname, $v_gname,
- $v_devmajor, $v_devminor, $v_prefix, '');
-
- // ----- Calculate the checksum
- $v_checksum = 0;
- // ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum += ord(substr($v_binary_data_first,$i,1));
- // ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
- $v_checksum += ord(' ');
- // ..... Last part of the header
- for ($i=156, $j=0; $i<512; $i++, $j++)
- $v_checksum += ord(substr($v_binary_data_last,$j,1));
-
- // ----- Write the first 148 bytes of the header in the archive
- $this->_writeBlock($v_binary_data_first, 148);
-
- // ----- Write the calculated checksum
- $v_checksum = sprintf("%06s ", DecOct($v_checksum));
- $v_binary_data = pack("a8", $v_checksum);
- $this->_writeBlock($v_binary_data, 8);
-
- // ----- Write the last 356 bytes of the header in the archive
- $this->_writeBlock($v_binary_data_last, 356);
-
- // ----- Write the filename as content of the block
- $i=0;
- while (($v_buffer = substr($p_filename, (($i++)*512), 512)) != '') {
- $v_binary_data = pack("a512", "$v_buffer");
- $this->_writeBlock($v_binary_data);
- }
-
- return true;
- }
- // }}}
-
- // {{{ _readHeader()
- function _readHeader($v_binary_data, &$v_header)
- {
- if (strlen($v_binary_data)==0) {
- $v_header['filename'] = '';
- return true;
- }
-
- if (strlen($v_binary_data) != 512) {
- $v_header['filename'] = '';
- $this->_error('Invalid block size : '.strlen($v_binary_data));
- return false;
- }
-
- if (!is_array($v_header)) {
- $v_header = array();
- }
- // ----- Calculate the checksum
- $v_checksum = 0;
- // ..... First part of the header
- for ($i=0; $i<148; $i++)
- $v_checksum+=ord(substr($v_binary_data,$i,1));
- // ..... Ignore the checksum value and replace it by ' ' (space)
- for ($i=148; $i<156; $i++)
- $v_checksum += ord(' ');
- // ..... Last part of the header
- for ($i=156; $i<512; $i++)
- $v_checksum+=ord(substr($v_binary_data,$i,1));
-
- $v_data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/"
- ."a8checksum/a1typeflag/a100link/a6magic/a2version/"
- ."a32uname/a32gname/a8devmajor/a8devminor",
- $v_binary_data);
-
- // ----- Extract the checksum
- $v_header['checksum'] = OctDec(trim($v_data['checksum']));
- if ($v_header['checksum'] != $v_checksum) {
- $v_header['filename'] = '';
-
- // ----- Look for last block (empty block)
- if (($v_checksum == 256) && ($v_header['checksum'] == 0))
- return true;
-
- $this->_error('Invalid checksum for file "'.$v_data['filename']
- .'" : '.$v_checksum.' calculated, '
- .$v_header['checksum'].' expected');
- return false;
- }
-
- // ----- Extract the properties
- $v_header['filename'] = $v_data['filename'];
- if ($this->_maliciousFilename($v_header['filename'])) {
- $this->_error('Malicious .tar detected, file "' . $v_header['filename'] .
- '" will not install in desired directory tree');
- return false;
- }
- $v_header['mode'] = OctDec(trim($v_data['mode']));
- $v_header['uid'] = OctDec(trim($v_data['uid']));
- $v_header['gid'] = OctDec(trim($v_data['gid']));
- $v_header['size'] = OctDec(trim($v_data['size']));
- $v_header['mtime'] = OctDec(trim($v_data['mtime']));
- if (($v_header['typeflag'] = $v_data['typeflag']) == "5") {
- $v_header['size'] = 0;
- }
- $v_header['link'] = trim($v_data['link']);
- /* ----- All these fields are removed form the header because
- they do not carry interesting info
- $v_header[magic] = trim($v_data[magic]);
- $v_header[version] = trim($v_data[version]);
- $v_header[uname] = trim($v_data[uname]);
- $v_header[gname] = trim($v_data[gname]);
- $v_header[devmajor] = trim($v_data[devmajor]);
- $v_header[devminor] = trim($v_data[devminor]);
- */
-
- return true;
- }
- // }}}
-
- // {{{ _maliciousFilename()
- /**
- * Detect and report a malicious file name
- *
- * @param string $file
- * @return bool
- * @access private
- */
- function _maliciousFilename($file)
- {
- if (strpos($file, '/../') !== false) {
- return true;
- }
- if (strpos($file, '../') === 0) {
- return true;
- }
- return false;
- }
- // }}}
-
- // {{{ _readLongHeader()
- function _readLongHeader(&$v_header)
- {
- $v_filename = '';
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_content = $this->_readBlock();
- $v_filename .= $v_content;
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- $v_filename .= trim($v_content);
- }
-
- // ----- Read the next header
- $v_binary_data = $this->_readBlock();
-
- if (!$this->_readHeader($v_binary_data, $v_header))
- return false;
-
- $v_filename = trim($v_filename);
- $v_header['filename'] = $v_filename;
- if ($this->_maliciousFilename($v_filename)) {
- $this->_error('Malicious .tar detected, file "' . $v_filename .
- '" will not install in desired directory tree');
- return false;
- }
-
- return true;
- }
- // }}}
-
- // {{{ _extractInString()
- /**
- * This method extract from the archive one file identified by $p_filename.
- * The return value is a string with the file content, or NULL on error.
- * @param string $p_filename The path of the file to extract in a string.
- * @return a string with the file content or NULL.
- * @access private
- */
- function _extractInString($p_filename)
- {
- $v_result_str = "";
-
- While (strlen($v_binary_data = $this->_readBlock()) != 0)
- {
- if (!$this->_readHeader($v_binary_data, $v_header))
- return NULL;
-
- if ($v_header['filename'] == '')
- continue;
-
- // ----- Look for long filename
- if ($v_header['typeflag'] == 'L') {
- if (!$this->_readLongHeader($v_header))
- return NULL;
- }
-
- if ($v_header['filename'] == $p_filename) {
- if ($v_header['typeflag'] == "5") {
- $this->_error('Unable to extract in string a directory '
- .'entry {'.$v_header['filename'].'}');
- return NULL;
- } else {
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_result_str .= $this->_readBlock();
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- $v_result_str .= substr($v_content, 0,
- ($v_header['size'] % 512));
- }
- return $v_result_str;
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
- }
-
- return NULL;
- }
- // }}}
-
- // {{{ _extractList()
- function _extractList($p_path, &$p_list_detail, $p_mode,
- $p_file_list, $p_remove_path)
- {
- $v_result=true;
- $v_nb = 0;
- $v_extract_all = true;
- $v_listing = false;
-
- $p_path = $this->_translateWinPath($p_path, false);
- if ($p_path == '' || (substr($p_path, 0, 1) != '/'
- && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))) {
- $p_path = "./".$p_path;
- }
- $p_remove_path = $this->_translateWinPath($p_remove_path);
-
- // ----- Look for path to remove format (should end by /)
- if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/'))
- $p_remove_path .= '/';
- $p_remove_path_size = strlen($p_remove_path);
-
- switch ($p_mode) {
- case "complete" :
- $v_extract_all = TRUE;
- $v_listing = FALSE;
- break;
- case "partial" :
- $v_extract_all = FALSE;
- $v_listing = FALSE;
- break;
- case "list" :
- $v_extract_all = FALSE;
- $v_listing = TRUE;
- break;
- default :
- $this->_error('Invalid extract mode ('.$p_mode.')');
- return false;
- }
-
- clearstatcache();
-
- while (strlen($v_binary_data = $this->_readBlock()) != 0)
- {
- $v_extract_file = FALSE;
- $v_extraction_stopped = 0;
-
- if (!$this->_readHeader($v_binary_data, $v_header))
- return false;
-
- if ($v_header['filename'] == '') {
- continue;
- }
-
- // ----- Look for long filename
- if ($v_header['typeflag'] == 'L') {
- if (!$this->_readLongHeader($v_header))
- return false;
- }
-
- if ((!$v_extract_all) && (is_array($p_file_list))) {
- // ----- By default no unzip if the file is not found
- $v_extract_file = false;
-
- for ($i=0; $i strlen($p_file_list[$i]))
- && (substr($v_header['filename'], 0, strlen($p_file_list[$i]))
- == $p_file_list[$i])) {
- $v_extract_file = TRUE;
- break;
- }
- }
-
- // ----- It is a file, so compare the file names
- elseif ($p_file_list[$i] == $v_header['filename']) {
- $v_extract_file = TRUE;
- break;
- }
- }
- } else {
- $v_extract_file = TRUE;
- }
-
- // ----- Look if this file need to be extracted
- if (($v_extract_file) && (!$v_listing))
- {
- if (($p_remove_path != '')
- && (substr($v_header['filename'], 0, $p_remove_path_size)
- == $p_remove_path))
- $v_header['filename'] = substr($v_header['filename'],
- $p_remove_path_size);
- if (($p_path != './') && ($p_path != '/')) {
- while (substr($p_path, -1) == '/')
- $p_path = substr($p_path, 0, strlen($p_path)-1);
-
- if (substr($v_header['filename'], 0, 1) == '/')
- $v_header['filename'] = $p_path.$v_header['filename'];
- else
- $v_header['filename'] = $p_path.'/'.$v_header['filename'];
- }
- if (file_exists($v_header['filename'])) {
- if ( (@is_dir($v_header['filename']))
- && ($v_header['typeflag'] == '')) {
- $this->_error('File '.$v_header['filename']
- .' already exists as a directory');
- return false;
- }
- if ( ($this->_isArchive($v_header['filename']))
- && ($v_header['typeflag'] == "5")) {
- $this->_error('Directory '.$v_header['filename']
- .' already exists as a file');
- return false;
- }
- if (!is_writeable($v_header['filename'])) {
- $this->_error('File '.$v_header['filename']
- .' already exists and is write protected');
- return false;
- }
- if (filemtime($v_header['filename']) > $v_header['mtime']) {
- // To be completed : An error or silent no replace ?
- }
- }
-
- // ----- Check the directory availability and create it if necessary
- elseif (($v_result
- = $this->_dirCheck(($v_header['typeflag'] == "5"
- ?$v_header['filename']
- :dirname($v_header['filename'])))) != 1) {
- $this->_error('Unable to create path for '.$v_header['filename']);
- return false;
- }
-
- if ($v_extract_file) {
- if ($v_header['typeflag'] == "5") {
- if (!@file_exists($v_header['filename'])) {
- if (!@mkdir($v_header['filename'], 0777)) {
- $this->_error('Unable to create directory {'
- .$v_header['filename'].'}');
- return false;
- }
- }
- } elseif ($v_header['typeflag'] == "2") {
- if (@file_exists($v_header['filename'])) {
- @unlink($v_header['filename']);
- }
- if (!@symlink($v_header['link'], $v_header['filename'])) {
- $this->_error('Unable to extract symbolic link {'
- .$v_header['filename'].'}');
- return false;
- }
- } else {
- if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) {
- $this->_error('Error while opening {'.$v_header['filename']
- .'} in write binary mode');
- return false;
- } else {
- $n = floor($v_header['size']/512);
- for ($i=0; $i<$n; $i++) {
- $v_content = $this->_readBlock();
- fwrite($v_dest_file, $v_content, 512);
- }
- if (($v_header['size'] % 512) != 0) {
- $v_content = $this->_readBlock();
- fwrite($v_dest_file, $v_content, ($v_header['size'] % 512));
- }
-
- @fclose($v_dest_file);
-
- // ----- Change the file mode, mtime
- @touch($v_header['filename'], $v_header['mtime']);
- if ($v_header['mode'] & 0111) {
- // make file executable, obey umask
- $mode = fileperms($v_header['filename']) | (~umask() & 0111);
- @chmod($v_header['filename'], $mode);
- }
- }
-
- // ----- Check the file size
- clearstatcache();
- if (filesize($v_header['filename']) != $v_header['size']) {
- $this->_error('Extracted file '.$v_header['filename']
- .' does not have the correct file size \''
- .filesize($v_header['filename'])
- .'\' ('.$v_header['size']
- .' expected). Archive may be corrupted.');
- return false;
- }
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
- } else {
- $this->_jumpBlock(ceil(($v_header['size']/512)));
- }
-
- /* TBC : Seems to be unused ...
- if ($this->_compress)
- $v_end_of_file = @gzeof($this->_file);
- else
- $v_end_of_file = @feof($this->_file);
- */
-
- if ($v_listing || $v_extract_file || $v_extraction_stopped) {
- // ----- Log extracted files
- if (($v_file_dir = dirname($v_header['filename']))
- == $v_header['filename'])
- $v_file_dir = '';
- if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == ''))
- $v_file_dir = '/';
-
- $p_list_detail[$v_nb++] = $v_header;
- if (is_array($p_file_list) && (count($p_list_detail) == count($p_file_list))) {
- return true;
- }
- }
- }
-
- return true;
- }
- // }}}
-
- // {{{ _openAppend()
- function _openAppend()
- {
- if (filesize($this->_tarname) == 0)
- return $this->_openWrite();
-
- if ($this->_compress) {
- $this->_close();
-
- if (!@rename($this->_tarname, $this->_tarname.".tmp")) {
- $this->_error('Error while renaming \''.$this->_tarname
- .'\' to temporary file \''.$this->_tarname
- .'.tmp\'');
- return false;
- }
-
- if ($this->_compress_type == 'gz')
- $v_temp_tar = @gzopen($this->_tarname.".tmp", "rb");
- elseif ($this->_compress_type == 'bz2')
- $v_temp_tar = @bzopen($this->_tarname.".tmp", "r");
-
- if ($v_temp_tar == 0) {
- $this->_error('Unable to open file \''.$this->_tarname
- .'.tmp\' in binary read mode');
- @rename($this->_tarname.".tmp", $this->_tarname);
- return false;
- }
-
- if (!$this->_openWrite()) {
- @rename($this->_tarname.".tmp", $this->_tarname);
- return false;
- }
-
- if ($this->_compress_type == 'gz') {
- while (!@gzeof($v_temp_tar)) {
- $v_buffer = @gzread($v_temp_tar, 512);
- if ($v_buffer == ARCHIVE_TAR_END_BLOCK) {
- // do not copy end blocks, we will re-make them
- // after appending
- continue;
- }
- $v_binary_data = pack("a512", $v_buffer);
- $this->_writeBlock($v_binary_data);
- }
-
- @gzclose($v_temp_tar);
- }
- elseif ($this->_compress_type == 'bz2') {
- while (strlen($v_buffer = @bzread($v_temp_tar, 512)) > 0) {
- if ($v_buffer == ARCHIVE_TAR_END_BLOCK) {
- continue;
- }
- $v_binary_data = pack("a512", $v_buffer);
- $this->_writeBlock($v_binary_data);
- }
-
- @bzclose($v_temp_tar);
- }
-
- if (!@unlink($this->_tarname.".tmp")) {
- $this->_error('Error while deleting temporary file \''
- .$this->_tarname.'.tmp\'');
- }
-
- } else {
- // ----- For not compressed tar, just add files before the last
- // one or two 512 bytes block
- if (!$this->_openReadWrite())
- return false;
-
- clearstatcache();
- $v_size = filesize($this->_tarname);
-
- // We might have zero, one or two end blocks.
- // The standard is two, but we should try to handle
- // other cases.
- fseek($this->_file, $v_size - 1024);
- if (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
- fseek($this->_file, $v_size - 1024);
- }
- elseif (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) {
- fseek($this->_file, $v_size - 512);
- }
- }
-
- return true;
- }
- // }}}
-
- // {{{ _append()
- function _append($p_filelist, $p_add_dir='', $p_remove_dir='')
- {
- if (!$this->_openAppend())
- return false;
-
- if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir))
- $this->_writeFooter();
-
- $this->_close();
-
- return true;
- }
- // }}}
-
- // {{{ _dirCheck()
-
- /**
- * Check if a directory exists and create it (including parent
- * dirs) if not.
- *
- * @param string $p_dir directory to check
- *
- * @return bool TRUE if the directory exists or was created
- */
- function _dirCheck($p_dir)
- {
- clearstatcache();
- if ((@is_dir($p_dir)) || ($p_dir == ''))
- return true;
-
- $p_parent_dir = dirname($p_dir);
-
- if (($p_parent_dir != $p_dir) &&
- ($p_parent_dir != '') &&
- (!$this->_dirCheck($p_parent_dir)))
- return false;
-
- if (!@mkdir($p_dir, 0777)) {
- $this->_error("Unable to create directory '$p_dir'");
- return false;
- }
-
- return true;
- }
-
- // }}}
-
- // {{{ _pathReduction()
-
- /**
- * Compress path by changing for example "/dir/foo/../bar" to "/dir/bar",
- * rand emove double slashes.
- *
- * @param string $p_dir path to reduce
- *
- * @return string reduced path
- *
- * @access private
- *
- */
- function _pathReduction($p_dir)
- {
- $v_result = '';
-
- // ----- Look for not empty path
- if ($p_dir != '') {
- // ----- Explode path by directory names
- $v_list = explode('/', $p_dir);
-
- // ----- Study directories from last to first
- for ($i=sizeof($v_list)-1; $i>=0; $i--) {
- // ----- Look for current path
- if ($v_list[$i] == ".") {
- // ----- Ignore this directory
- // Should be the first $i=0, but no check is done
- }
- else if ($v_list[$i] == "..") {
- // ----- Ignore it and ignore the $i-1
- $i--;
- }
- else if ( ($v_list[$i] == '')
- && ($i!=(sizeof($v_list)-1))
- && ($i!=0)) {
- // ----- Ignore only the double '//' in path,
- // but not the first and last /
- } else {
- $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?'/'
- .$v_result:'');
- }
- }
- }
- $v_result = strtr($v_result, '\\', '/');
- return $v_result;
- }
-
- // }}}
-
- // {{{ _translateWinPath()
- function _translateWinPath($p_path, $p_remove_disk_letter=true)
- {
- if (defined('OS_WINDOWS') && OS_WINDOWS) {
- // ----- Look for potential disk letter
- if ( ($p_remove_disk_letter)
- && (($v_position = strpos($p_path, ':')) != false)) {
- $p_path = substr($p_path, $v_position+1);
- }
- // ----- Change potential windows directory separator
- if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) {
- $p_path = strtr($p_path, '\\', '/');
- }
- }
- return $p_path;
- }
- // }}}
-
-}
-?>
diff --git a/airtime_mvc/library/pear/Calendar/Calendar.php b/airtime_mvc/library/pear/Calendar/Calendar.php
deleted file mode 100644
index f1670ff25..000000000
--- a/airtime_mvc/library/pear/Calendar/Calendar.php
+++ /dev/null
@@ -1,780 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Calendar.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Constant which defines the calculation engine to use
- */
-if (!defined('CALENDAR_ENGINE')) {
- define('CALENDAR_ENGINE', 'UnixTS');
-}
-
-/**
- * Define Calendar Month states
- */
-define('CALENDAR_USE_MONTH', 1);
-define('CALENDAR_USE_MONTH_WEEKDAYS', 2);
-define('CALENDAR_USE_MONTH_WEEKS', 3);
-
-/**
- * Contains a factory method to return a Singleton instance of a class
- * implementing the Calendar_Engine_Interface.
- * Note: this class must be modified to "register" alternative
- * Calendar_Engines. The engine used can be controlled with the constant
- * CALENDAR_ENGINE
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @see Calendar_Engine_Interface
- * @access protected
- */
-class Calendar_Engine_Factory
-{
- /**
- * Returns an instance of the engine
- *
- * @return object instance of a calendar calculation engine
- * @access protected
- */
- function & getEngine()
- {
- static $engine = false;
- switch (CALENDAR_ENGINE) {
- case 'PearDate':
- $class = 'Calendar_Engine_PearDate';
- break;
- case 'UnixTS':
- default:
- $class = 'Calendar_Engine_UnixTS';
- break;
- }
- if (!$engine) {
- if (!class_exists($class)) {
- include_once CALENDAR_ROOT.'Engine'.DIRECTORY_SEPARATOR.CALENDAR_ENGINE.'.php';
- }
- $engine = new $class;
- }
- return $engine;
- }
-}
-
-/**
- * Base class for Calendar API. This class should not be instantiated directly.
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @abstract
- */
-class Calendar
-{
- /**
- * Instance of class implementing calendar engine interface
- * @var object
- * @access private
- */
- var $cE;
-
- /**
- * Instance of Calendar_Validator (lazy initialized when isValid() or
- * getValidor() is called
- * @var Calendar_Validator
- * @access private
- */
- var $validator;
-
- /**
- * Year for this calendar object e.g. 2003
- * @access private
- * @var int
- */
- var $year;
-
- /**
- * Month for this calendar object e.g. 9
- * @access private
- * @var int
- */
- var $month;
-
- /**
- * Day of month for this calendar object e.g. 23
- * @access private
- * @var int
- */
- var $day;
-
- /**
- * Hour of day for this calendar object e.g. 13
- * @access private
- * @var int
- */
- var $hour;
-
- /**
- * Minute of hour this calendar object e.g. 46
- * @access private
- * @var int
- */
- var $minute;
-
- /**
- * Second of minute this calendar object e.g. 34
- * @access private
- * @var int
- */
- var $second;
-
- /**
- * Marks this calendar object as selected (e.g. 'today')
- * @access private
- * @var boolean
- */
- var $selected = false;
-
- /**
- * Collection of child calendar objects created from subclasses
- * of Calendar. Type depends on the object which created them.
- * @access private
- * @var array
- */
- var $children = array();
-
- /**
- * Constructs the Calendar
- *
- * @param int $y year
- * @param int $m month
- * @param int $d day
- * @param int $h hour
- * @param int $i minute
- * @param int $s second
- *
- * @access protected
- */
- function Calendar($y = 2000, $m = 1, $d = 1, $h = 0, $i = 0, $s = 0)
- {
- static $cE = null;
- if (!isset($cE)) {
- $cE = & Calendar_Engine_Factory::getEngine();
- }
- $this->cE = & $cE;
- $this->year = (int)$y;
- $this->month = (int)$m;
- $this->day = (int)$d;
- $this->hour = (int)$h;
- $this->minute = (int)$i;
- $this->second = (int)$s;
- }
-
- /**
- * Defines the calendar by a timestamp (Unix or ISO-8601), replacing values
- * passed to the constructor
- *
- * @param int|string $ts Unix or ISO-8601 timestamp
- *
- * @return void
- * @access public
- */
- function setTimestamp($ts)
- {
- $this->year = $this->cE->stampToYear($ts);
- $this->month = $this->cE->stampToMonth($ts);
- $this->day = $this->cE->stampToDay($ts);
- $this->hour = $this->cE->stampToHour($ts);
- $this->minute = $this->cE->stampToMinute($ts);
- $this->second = $this->cE->stampToSecond($ts);
- }
-
- /**
- * Returns a timestamp from the current date / time values. Format of
- * timestamp depends on Calendar_Engine implementation being used
- *
- * @return int|string timestamp
- * @access public
- */
- function getTimestamp()
- {
- return $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute, $this->second);
- }
-
- /**
- * Defines calendar object as selected (e.g. for today)
- *
- * @param boolean $state whether Calendar subclass
- *
- * @return void
- * @access public
- */
- function setSelected($state = true)
- {
- $this->selected = $state;
- }
-
- /**
- * True if the calendar subclass object is selected (e.g. today)
- *
- * @return boolean
- * @access public
- */
- function isSelected()
- {
- return $this->selected;
- }
-
- /**
- * Checks if the current Calendar object is today's date
- *
- * @return boolean
- * @access public
- */
- function isToday()
- {
- return $this->cE->isToday($this->getTimeStamp());
- }
-
- /**
- * Adjusts the date (helper method)
- *
- * @return void
- * @access public
- */
- function adjust()
- {
- $stamp = $this->getTimeStamp();
- $this->year = $this->cE->stampToYear($stamp);
- $this->month = $this->cE->stampToMonth($stamp);
- $this->day = $this->cE->stampToDay($stamp);
- $this->hour = $this->cE->stampToHour($stamp);
- $this->minute = $this->cE->stampToMinute($stamp);
- $this->second = $this->cE->stampToSecond($stamp);
- }
-
- /**
- * Returns the date as an associative array (helper method)
- *
- * @param mixed $stamp timestamp (leave empty for current timestamp)
- *
- * @return array
- * @access public
- */
- function toArray($stamp=null)
- {
- if (is_null($stamp)) {
- $stamp = $this->getTimeStamp();
- }
- return array(
- 'year' => $this->cE->stampToYear($stamp),
- 'month' => $this->cE->stampToMonth($stamp),
- 'day' => $this->cE->stampToDay($stamp),
- 'hour' => $this->cE->stampToHour($stamp),
- 'minute' => $this->cE->stampToMinute($stamp),
- 'second' => $this->cE->stampToSecond($stamp)
- );
- }
-
- /**
- * Returns the value as an associative array (helper method)
- *
- * @param string $returnType type of date object that return value represents
- * @param string $format ['int' | 'array' | 'timestamp' | 'object']
- * @param mixed $stamp timestamp (depending on Calendar engine being used)
- * @param int $default default value (i.e. give me the answer quick)
- *
- * @return mixed
- * @access private
- */
- function returnValue($returnType, $format, $stamp, $default)
- {
- switch (strtolower($format)) {
- case 'int':
- return $default;
- case 'array':
- return $this->toArray($stamp);
- break;
- case 'object':
- include_once CALENDAR_ROOT.'Factory.php';
- return Calendar_Factory::createByTimestamp($returnType, $stamp);
- break;
- case 'timestamp':
- default:
- return $stamp;
- break;
- }
- }
-
- /**
- * Abstract method for building the children of a calendar object.
- * Implemented by Calendar subclasses
- *
- * @param array $sDates array containing Calendar objects to select (optional)
- *
- * @return boolean
- * @access public
- * @abstract
- */
- function build($sDates = array())
- {
- include_once 'PEAR.php';
- PEAR::raiseError('Calendar::build is abstract', null, PEAR_ERROR_TRIGGER,
- E_USER_NOTICE, 'Calendar::build()');
- return false;
- }
-
- /**
- * Abstract method for selected data objects called from build
- *
- * @param array $sDates array of Calendar objects to select
- *
- * @return boolean
- * @access public
- * @abstract
- */
- function setSelection($sDates)
- {
- include_once 'PEAR.php';
- PEAR::raiseError(
- 'Calendar::setSelection is abstract', null, PEAR_ERROR_TRIGGER,
- E_USER_NOTICE, 'Calendar::setSelection()');
- return false;
- }
-
- /**
- * Iterator method for fetching child Calendar subclass objects
- * (e.g. a minute from an hour object). On reaching the end of
- * the collection, returns false and resets the collection for
- * further iteratations.
- *
- * @return mixed either an object subclass of Calendar or false
- * @access public
- */
- function fetch()
- {
- $child = each($this->children);
- if ($child) {
- return $child['value'];
- } else {
- reset($this->children);
- return false;
- }
- }
-
- /**
- * Fetches all child from the current collection of children
- *
- * @return array
- * @access public
- */
- function fetchAll()
- {
- return $this->children;
- }
-
- /**
- * Get the number Calendar subclass objects stored in the internal collection
- *
- * @return int
- * @access public
- */
- function size()
- {
- return count($this->children);
- }
-
- /**
- * Determine whether this date is valid, with the bounds determined by
- * the Calendar_Engine. The call is passed on to Calendar_Validator::isValid
- *
- * @return boolean
- * @access public
- */
- function isValid()
- {
- $validator = & $this->getValidator();
- return $validator->isValid();
- }
-
- /**
- * Returns an instance of Calendar_Validator
- *
- * @return Calendar_Validator
- * @access public
- */
- function & getValidator()
- {
- if (!isset($this->validator)) {
- include_once CALENDAR_ROOT.'Validator.php';
- $this->validator = new Calendar_Validator($this);
- }
- return $this->validator;
- }
-
- /**
- * Returns a reference to the current Calendar_Engine being used. Useful
- * for Calendar_Table_Helper and Calendar_Validator
- *
- * @return object implementing Calendar_Engine_Inteface
- * @access protected
- */
- function & getEngine()
- {
- return $this->cE;
- }
-
- /**
- * Set the CALENDAR_FIRST_DAY_OF_WEEK constant to the $firstDay value
- * if the constant is not set yet.
- *
- * @param integer $firstDay first day of the week (0=sunday, 1=monday, ...)
- *
- * @return integer
- * @throws E_USER_WARNING this method throws a WARNING if the
- * CALENDAR_FIRST_DAY_OF_WEEK constant is already defined and
- * the $firstDay parameter is set to a different value
- * @access protected
- */
- function defineFirstDayOfWeek($firstDay = null)
- {
- if (defined('CALENDAR_FIRST_DAY_OF_WEEK')) {
- if (!is_null($firstDay) && ($firstDay != CALENDAR_FIRST_DAY_OF_WEEK)) {
- $msg = 'CALENDAR_FIRST_DAY_OF_WEEK constant already defined.'
- .' The $firstDay parameter will be ignored.';
- trigger_error($msg, E_USER_WARNING);
- }
- return CALENDAR_FIRST_DAY_OF_WEEK;
- }
- if (is_null($firstDay)) {
- $firstDay = $this->cE->getFirstDayOfWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- );
- }
- define ('CALENDAR_FIRST_DAY_OF_WEEK', $firstDay);
- return CALENDAR_FIRST_DAY_OF_WEEK;
- }
-
- /**
- * Returns the value for the previous year
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 2002 or timestamp
- * @access public
- */
- function prevYear($format = 'int')
- {
- $ts = $this->cE->dateToStamp($this->year-1, 1, 1, 0, 0, 0);
- return $this->returnValue('Year', $format, $ts, $this->year-1);
- }
-
- /**
- * Returns the value for this year
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 2003 or timestamp
- * @access public
- */
- function thisYear($format = 'int')
- {
- $ts = $this->cE->dateToStamp($this->year, 1, 1, 0, 0, 0);
- return $this->returnValue('Year', $format, $ts, $this->year);
- }
-
- /**
- * Returns the value for next year
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 2004 or timestamp
- * @access public
- */
- function nextYear($format = 'int')
- {
- $ts = $this->cE->dateToStamp($this->year+1, 1, 1, 0, 0, 0);
- return $this->returnValue('Year', $format, $ts, $this->year+1);
- }
-
- /**
- * Returns the value for the previous month
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 4 or Unix timestamp
- * @access public
- */
- function prevMonth($format = 'int')
- {
- $ts = $this->cE->dateToStamp($this->year, $this->month-1, 1, 0, 0, 0);
- return $this->returnValue('Month', $format, $ts, $this->cE->stampToMonth($ts));
- }
-
- /**
- * Returns the value for this month
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 5 or timestamp
- * @access public
- */
- function thisMonth($format = 'int')
- {
- $ts = $this->cE->dateToStamp($this->year, $this->month, 1, 0, 0, 0);
- return $this->returnValue('Month', $format, $ts, $this->month);
- }
-
- /**
- * Returns the value for next month
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 6 or timestamp
- * @access public
- */
- function nextMonth($format = 'int')
- {
- $ts = $this->cE->dateToStamp($this->year, $this->month+1, 1, 0, 0, 0);
- return $this->returnValue('Month', $format, $ts, $this->cE->stampToMonth($ts));
- }
-
- /**
- * Returns the value for the previous day
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 10 or timestamp
- * @access public
- */
- function prevDay($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day-1, 0, 0, 0);
- return $this->returnValue('Day', $format, $ts, $this->cE->stampToDay($ts));
- }
-
- /**
- * Returns the value for this day
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 11 or timestamp
- * @access public
- */
- function thisDay($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day, 0, 0, 0);
- return $this->returnValue('Day', $format, $ts, $this->day);
- }
-
- /**
- * Returns the value for the next day
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 12 or timestamp
- * @access public
- */
- function nextDay($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day+1, 0, 0, 0);
- return $this->returnValue('Day', $format, $ts, $this->cE->stampToDay($ts));
- }
-
- /**
- * Returns the value for the previous hour
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 13 or timestamp
- * @access public
- */
- function prevHour($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day, $this->hour-1, 0, 0);
- return $this->returnValue('Hour', $format, $ts, $this->cE->stampToHour($ts));
- }
-
- /**
- * Returns the value for this hour
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 14 or timestamp
- * @access public
- */
- function thisHour($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day, $this->hour, 0, 0);
- return $this->returnValue('Hour', $format, $ts, $this->hour);
- }
-
- /**
- * Returns the value for the next hour
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 14 or timestamp
- * @access public
- */
- function nextHour($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day, $this->hour+1, 0, 0);
- return $this->returnValue('Hour', $format, $ts, $this->cE->stampToHour($ts));
- }
-
- /**
- * Returns the value for the previous minute
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 23 or timestamp
- * @access public
- */
- function prevMinute($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute-1, 0);
- return $this->returnValue('Minute', $format, $ts, $this->cE->stampToMinute($ts));
- }
-
- /**
- * Returns the value for this minute
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 24 or timestamp
- * @access public
- */
- function thisMinute($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute, 0);
- return $this->returnValue('Minute', $format, $ts, $this->minute);
- }
-
- /**
- * Returns the value for the next minute
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 25 or timestamp
- * @access public
- */
- function nextMinute($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute+1, 0);
- return $this->returnValue('Minute', $format, $ts, $this->cE->stampToMinute($ts));
- }
-
- /**
- * Returns the value for the previous second
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 43 or timestamp
- * @access public
- */
- function prevSecond($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute, $this->second-1);
- return $this->returnValue('Second', $format, $ts, $this->cE->stampToSecond($ts));
- }
-
- /**
- * Returns the value for this second
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 44 or timestamp
- * @access public
- */
- function thisSecond($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute, $this->second);
- return $this->returnValue('Second', $format, $ts, $this->second);
- }
-
- /**
- * Returns the value for the next second
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 45 or timestamp
- * @access public
- */
- function nextSecond($format = 'int')
- {
- $ts = $this->cE->dateToStamp(
- $this->year, $this->month, $this->day,
- $this->hour, $this->minute, $this->second+1);
- return $this->returnValue('Second', $format, $ts, $this->cE->stampToSecond($ts));
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Day.php b/airtime_mvc/library/pear/Calendar/Day.php
deleted file mode 100644
index 3ef48538c..000000000
--- a/airtime_mvc/library/pear/Calendar/Day.php
+++ /dev/null
@@ -1,232 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Day.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents a Day and builds Hours.
- *
- * require_once 'Calendar/Day.php';
- * $Day = new Calendar_Day(2003, 10, 21); // Oct 21st 2003
- * while ($Hour = & $Day->fetch()) {
- * echo $Hour->thisHour().' ';
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Day extends Calendar
-{
- /**
- * Marks the Day at the beginning of a week
- * @access private
- * @var boolean
- */
- var $first = false;
-
- /**
- * Marks the Day at the end of a week
- * @access private
- * @var boolean
- */
- var $last = false;
-
-
- /**
- * Used for tabular calendars
- * @access private
- * @var boolean
- */
- var $empty = false;
-
- /**
- * Constructs Calendar_Day
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 8
- * @param int $d day e.g. 15
- *
- * @access public
- */
- function Calendar_Day($y, $m, $d)
- {
- parent::Calendar($y, $m, $d);
- }
-
- /**
- * Builds the Hours of the Day
- *
- * @param array $sDates (optional) Caledar_Hour objects representing selected dates
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Hour.php';
-
- $hID = $this->cE->getHoursInDay($this->year, $this->month, $this->day);
- for ($i=0; $i < $hID; $i++) {
- $this->children[$i] =
- new Calendar_Hour($this->year, $this->month, $this->day, $i);
- }
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates dates to be selected
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- if ($this->year == $sDate->thisYear()
- && $this->month == $sDate->thisMonth()
- && $this->day == $sDate->thisDay())
- {
- $key = (int)$sDate->thisHour();
- if (isset($this->children[$key])) {
- $sDate->setSelected();
- $this->children[$key] = $sDate;
- }
- }
- }
- }
-
- /**
- * Defines Day object as first in a week
- * Only used by Calendar_Month_Weekdays::build()
- *
- * @param boolean $state set this day as first in week
- *
- * @return void
- * @access private
- */
- function setFirst($state = true)
- {
- $this->first = $state;
- }
-
- /**
- * Defines Day object as last in a week
- * Used only following Calendar_Month_Weekdays::build()
- *
- * @param boolean $state set this day as last in week
- *
- * @return void
- * @access private
- */
- function setLast($state = true)
- {
- $this->last = $state;
- }
-
- /**
- * Returns true if Day object is first in a Week
- * Only relevant when Day is created by Calendar_Month_Weekdays::build()
- *
- * @return boolean
- * @access public
- */
- function isFirst()
- {
- return $this->first;
- }
-
- /**
- * Returns true if Day object is last in a Week
- * Only relevant when Day is created by Calendar_Month_Weekdays::build()
- *
- * @return boolean
- * @access public
- */
- function isLast()
- {
- return $this->last;
- }
-
- /**
- * Defines Day object as empty
- * Only used by Calendar_Month_Weekdays::build()
- *
- * @param boolean $state set this day as empty
- *
- * @return void
- * @access private
- */
- function setEmpty ($state = true)
- {
- $this->empty = $state;
- }
-
- /**
- * Check if this day is empty
- *
- * @return boolean
- * @access public
- */
- function isEmpty()
- {
- return $this->empty;
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Decorator.php b/airtime_mvc/library/pear/Calendar/Decorator.php
deleted file mode 100644
index e4e27663a..000000000
--- a/airtime_mvc/library/pear/Calendar/Decorator.php
+++ /dev/null
@@ -1,650 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Decorator.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Decorates any calendar class.
- * Create a subclass of this class for your own "decoration".
- * Used for "selections"
- *
- * class DayDecorator extends Calendar_Decorator
- * {
- * function thisDay($format = 'int')
- * {
-.* $day = parent::thisDay('timestamp');
-.* return date('D', $day);
- * }
- * }
- * $Day = new Calendar_Day(2003, 10, 25);
- * $DayDecorator = new DayDecorator($Day);
- * echo $DayDecorator->thisDay(); // Outputs "Sat"
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @abstract
- */
-class Calendar_Decorator
-{
- /**
- * Subclass of Calendar being decorated
- * @var object
- * @access private
- */
- var $calendar;
-
- /**
- * Constructs the Calendar_Decorator
- *
- * @param object &$calendar subclass to Calendar to decorate
- */
- function Calendar_Decorator(&$calendar)
- {
- $this->calendar = & $calendar;
- }
-
- /**
- * Defines the calendar by a Unix timestamp, replacing values
- * passed to the constructor
- *
- * @param int $ts Unix timestamp
- *
- * @return void
- * @access public
- */
- function setTimestamp($ts)
- {
- $this->calendar->setTimestamp($ts);
- }
-
- /**
- * Returns a timestamp from the current date / time values. Format of
- * timestamp depends on Calendar_Engine implementation being used
- *
- * @return int $ts timestamp
- * @access public
- */
- function getTimestamp()
- {
- return $this->calendar->getTimeStamp();
- }
-
- /**
- * Defines calendar object as selected (e.g. for today)
- *
- * @param boolean $state whether Calendar subclass must be selected
- *
- * @return void
- * @access public
- */
- function setSelected($state = true)
- {
- $this->calendar->setSelected($state = true);
- }
-
- /**
- * True if the calendar subclass object is selected (e.g. today)
- *
- * @return boolean
- * @access public
- */
- function isSelected()
- {
- return $this->calendar->isSelected();
- }
-
- /**
- * Adjusts the date (helper method)
- *
- * @return void
- * @access public
- */
- function adjust()
- {
- $this->calendar->adjust();
- }
-
- /**
- * Returns the date as an associative array (helper method)
- *
- * @param mixed $stamp timestamp (leave empty for current timestamp)
- *
- * @return array
- * @access public
- */
- function toArray($stamp = null)
- {
- return $this->calendar->toArray($stamp);
- }
-
- /**
- * Returns the value as an associative array (helper method)
- *
- * @param string $returnType type of date object that return value represents
- * @param string $format ['int'|'timestamp'|'object'|'array']
- * @param mixed $stamp timestamp (depending on Calendar engine being used)
- * @param integer $default default value (i.e. give me the answer quick)
- *
- * @return mixed
- * @access private
- */
- function returnValue($returnType, $format, $stamp, $default)
- {
- return $this->calendar->returnValue($returnType, $format, $stamp, $default);
- }
-
- /**
- * Defines Day object as first in a week
- * Only used by Calendar_Month_Weekdays::build()
- *
- * @param boolean $state whether it's first or not
- *
- * @return void
- * @access private
- */
- function setFirst($state = true)
- {
- if (method_exists($this->calendar, 'setFirst')) {
- $this->calendar->setFirst($state);
- }
- }
-
- /**
- * Defines Day object as last in a week
- * Used only following Calendar_Month_Weekdays::build()
- *
- * @param boolean $state whether it's last or not
- *
- * @return void
- * @access private
- */
- function setLast($state = true)
- {
- if (method_exists($this->calendar, 'setLast')) {
- $this->calendar->setLast($state);
- }
- }
-
- /**
- * Returns true if Day object is first in a Week
- * Only relevant when Day is created by Calendar_Month_Weekdays::build()
- *
- * @return boolean
- * @access public
- */
- function isFirst()
- {
- if (method_exists($this->calendar, 'isFirst')) {
- return $this->calendar->isFirst();
- }
- }
-
- /**
- * Returns true if Day object is last in a Week
- * Only relevant when Day is created by Calendar_Month_Weekdays::build()
- *
- * @return boolean
- * @access public
- */
- function isLast()
- {
- if (method_exists($this->calendar, 'isLast')) {
- return $this->calendar->isLast();
- }
- }
-
- /**
- * Defines Day object as empty
- * Only used by Calendar_Month_Weekdays::build()
- *
- * @param boolean $state whether it's empty or not
- *
- * @return void
- * @access private
- */
- function setEmpty ($state = true)
- {
- if (method_exists($this->calendar, 'setEmpty')) {
- $this->calendar->setEmpty($state);
- }
- }
-
- /**
- * Check if the current object is empty
- *
- * @return boolean
- * @access public
- */
- function isEmpty()
- {
- if (method_exists($this->calendar, 'isEmpty')) {
- return $this->calendar->isEmpty();
- }
- }
-
- /**
- * Build the children
- *
- * @param array $sDates array containing Calendar objects to select (optional)
- *
- * @return boolean
- * @access public
- * @abstract
- */
- function build($sDates = array())
- {
- $this->calendar->build($sDates);
- }
-
- /**
- * Iterator method for fetching child Calendar subclass objects
- * (e.g. a minute from an hour object). On reaching the end of
- * the collection, returns false and resets the collection for
- * further iteratations.
- *
- * @return mixed either an object subclass of Calendar or false
- * @access public
- */
- function fetch()
- {
- return $this->calendar->fetch();
- }
-
- /**
- * Fetches all child from the current collection of children
- *
- * @return array
- * @access public
- */
- function fetchAll()
- {
- return $this->calendar->fetchAll();
- }
-
- /**
- * Get the number Calendar subclass objects stored in the internal collection
- *
- * @return int
- * @access public
- */
- function size()
- {
- return $this->calendar->size();
- }
-
- /**
- * Determine whether this date is valid, with the bounds determined by
- * the Calendar_Engine. The call is passed on to Calendar_Validator::isValid
- *
- * @return boolean
- * @access public
- */
- function isValid()
- {
- return $this->calendar->isValid();
- }
-
- /**
- * Returns an instance of Calendar_Validator
- *
- * @return Calendar_Validator
- * @access public
- */
- function & getValidator()
- {
- $validator = $this->calendar->getValidator();
- return $validator;
- }
-
- /**
- * Returns a reference to the current Calendar_Engine being used. Useful
- * for Calendar_Table_Helper and Calendar_Validator
- *
- * @return object implementing Calendar_Engine_Inteface
- * @access private
- */
- function & getEngine()
- {
- $engine = $this->calendar->getEngine();
- return $engine;
- }
-
- /**
- * Returns the value for the previous year
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 2002 or timestamp
- * @access public
- */
- function prevYear($format = 'int')
- {
- return $this->calendar->prevYear($format);
- }
-
- /**
- * Returns the value for this year
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 2003 or timestamp
- * @access public
- */
- function thisYear($format = 'int')
- {
- return $this->calendar->thisYear($format);
- }
-
- /**
- * Returns the value for next year
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 2004 or timestamp
- * @access public
- */
- function nextYear($format = 'int')
- {
- return $this->calendar->nextYear($format);
- }
-
- /**
- * Returns the value for the previous month
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 4 or Unix timestamp
- * @access public
- */
- function prevMonth($format = 'int')
- {
- return $this->calendar->prevMonth($format);
- }
-
- /**
- * Returns the value for this month
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 5 or timestamp
- * @access public
- */
- function thisMonth($format = 'int')
- {
- return $this->calendar->thisMonth($format);
- }
-
- /**
- * Returns the value for next month
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 6 or timestamp
- * @access public
- */
- function nextMonth($format = 'int')
- {
- return $this->calendar->nextMonth($format);
- }
-
- /**
- * Returns the value for the previous week
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 4 or Unix timestamp
- * @access public
- */
- function prevWeek($format = 'n_in_month')
- {
- if ( method_exists($this->calendar, 'prevWeek')) {
- return $this->calendar->prevWeek($format);
- } else {
- include_once 'PEAR.php';
- PEAR::raiseError(
- 'Cannot call prevWeek on Calendar object of type: '.
- get_class($this->calendar), 133, PEAR_ERROR_TRIGGER,
- E_USER_NOTICE, 'Calendar_Decorator::prevWeek()');
- return false;
- }
- }
-
- /**
- * Returns the value for this week
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 5 or timestamp
- * @access public
- */
- function thisWeek($format = 'n_in_month')
- {
- if ( method_exists($this->calendar, 'thisWeek')) {
- return $this->calendar->thisWeek($format);
- } else {
- include_once 'PEAR.php';
- PEAR::raiseError(
- 'Cannot call thisWeek on Calendar object of type: '.
- get_class($this->calendar), 133, PEAR_ERROR_TRIGGER,
- E_USER_NOTICE, 'Calendar_Decorator::thisWeek()');
- return false;
- }
- }
-
- /**
- * Returns the value for next week
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 6 or timestamp
- * @access public
- */
- function nextWeek($format = 'n_in_month')
- {
- if ( method_exists($this->calendar, 'nextWeek')) {
- return $this->calendar->nextWeek($format);
- } else {
- include_once 'PEAR.php';
- PEAR::raiseError(
- 'Cannot call thisWeek on Calendar object of type: '.
- get_class($this->calendar), 133, PEAR_ERROR_TRIGGER,
- E_USER_NOTICE, 'Calendar_Decorator::nextWeek()');
- return false;
- }
- }
-
- /**
- * Returns the value for the previous day
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 10 or timestamp
- * @access public
- */
- function prevDay($format = 'int')
- {
- return $this->calendar->prevDay($format);
- }
-
- /**
- * Returns the value for this day
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 11 or timestamp
- * @access public
- */
- function thisDay($format = 'int')
- {
- return $this->calendar->thisDay($format);
- }
-
- /**
- * Returns the value for the next day
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 12 or timestamp
- * @access public
- */
- function nextDay($format = 'int')
- {
- return $this->calendar->nextDay($format);
- }
-
- /**
- * Returns the value for the previous hour
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 13 or timestamp
- * @access public
- */
- function prevHour($format = 'int')
- {
- return $this->calendar->prevHour($format);
- }
-
- /**
- * Returns the value for this hour
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 14 or timestamp
- * @access public
- */
- function thisHour($format = 'int')
- {
- return $this->calendar->thisHour($format);
- }
-
- /**
- * Returns the value for the next hour
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 14 or timestamp
- * @access public
- */
- function nextHour($format = 'int')
- {
- return $this->calendar->nextHour($format);
- }
-
- /**
- * Returns the value for the previous minute
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 23 or timestamp
- * @access public
- */
- function prevMinute($format = 'int')
- {
- return $this->calendar->prevMinute($format);
- }
-
- /**
- * Returns the value for this minute
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 24 or timestamp
- * @access public
- */
- function thisMinute($format = 'int')
- {
- return $this->calendar->thisMinute($format);
- }
-
- /**
- * Returns the value for the next minute
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 25 or timestamp
- * @access public
- */
- function nextMinute($format = 'int')
- {
- return $this->calendar->nextMinute($format);
- }
-
- /**
- * Returns the value for the previous second
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 43 or timestamp
- * @access public
- */
- function prevSecond($format = 'int')
- {
- return $this->calendar->prevSecond($format);
- }
-
- /**
- * Returns the value for this second
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 44 or timestamp
- * @access public
- */
- function thisSecond($format = 'int')
- {
- return $this->calendar->thisSecond($format);
- }
-
- /**
- * Returns the value for the next second
- *
- * @param string $format return value format ['int'|'timestamp'|'object'|'array']
- *
- * @return int e.g. 45 or timestamp
- * @access public
- */
- function nextSecond($format = 'int')
- {
- return $this->calendar->nextSecond($format);
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Decorator/Textual.php b/airtime_mvc/library/pear/Calendar/Decorator/Textual.php
deleted file mode 100644
index 729862010..000000000
--- a/airtime_mvc/library/pear/Calendar/Decorator/Textual.php
+++ /dev/null
@@ -1,208 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Textual.php 246907 2007-11-24 11:04:24Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar decorator base class
- */
-require_once CALENDAR_ROOT.'Decorator.php';
-
-/**
- * Load the Uri utility
- */
-require_once CALENDAR_ROOT.'Util'.DIRECTORY_SEPARATOR.'Textual.php';
-
-/**
- * Decorator to help with fetching textual representations of months and
- * days of the week.
- * Note: for performance you should prefer Calendar_Util_Textual unless you
- * have a specific need to use a decorator
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Decorator_Textual extends Calendar_Decorator
-{
- /**
- * Constructs Calendar_Decorator_Textual
- *
- * @param object &$Calendar subclass of Calendar
- *
- * @access public
- */
- function Calendar_Decorator_Textual(&$Calendar)
- {
- parent::Calendar_Decorator($Calendar);
- }
-
- /**
- * Returns an array of 12 month names (first index = 1)
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return array
- * @access public
- * @static
- */
- function monthNames($format = 'long')
- {
- return Calendar_Util_Textual::monthNames($format);
- }
-
- /**
- * Returns an array of 7 week day names (first index = 0)
- *
- * @param string $format (optional) format of returned days (one|two|short|long)
- *
- * @return array
- * @access public
- * @static
- */
- function weekdayNames($format = 'long')
- {
- return Calendar_Util_Textual::weekdayNames($format);
- }
-
- /**
- * Returns textual representation of the previous month of the decorated calendar object
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return string
- * @access public
- */
- function prevMonthName($format = 'long')
- {
- return Calendar_Util_Textual::prevMonthName($this->calendar, $format);
- }
-
- /**
- * Returns textual representation of the month of the decorated calendar object
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return string
- * @access public
- */
- function thisMonthName($format = 'long')
- {
- return Calendar_Util_Textual::thisMonthName($this->calendar, $format);
- }
-
- /**
- * Returns textual representation of the next month of the decorated calendar object
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return string
- * @access public
- */
- function nextMonthName($format = 'long')
- {
- return Calendar_Util_Textual::nextMonthName($this->calendar, $format);
- }
-
- /**
- * Returns textual representation of the previous day of week of the decorated calendar object
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return string
- * @access public
- */
- function prevDayName($format = 'long')
- {
- return Calendar_Util_Textual::prevDayName($this->calendar, $format);
- }
-
- /**
- * Returns textual representation of the day of week of the decorated calendar object
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return string
- * @access public
- */
- function thisDayName($format = 'long')
- {
- return Calendar_Util_Textual::thisDayName($this->calendar, $format);
- }
-
- /**
- * Returns textual representation of the next day of week of the decorated calendar object
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return string
- * @access public
- */
- function nextDayName($format = 'long')
- {
- return Calendar_Util_Textual::nextDayName($this->calendar, $format);
- }
-
- /**
- * Returns the days of the week using the order defined in the decorated
- * calendar object. Only useful for Calendar_Month_Weekdays, Calendar_Month_Weeks
- * and Calendar_Week. Otherwise the returned array will begin on Sunday
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return array ordered array of week day names
- * @access public
- */
- function orderedWeekdays($format = 'long')
- {
- return Calendar_Util_Textual::orderedWeekdays($this->calendar, $format);
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Decorator/Uri.php b/airtime_mvc/library/pear/Calendar/Decorator/Uri.php
deleted file mode 100644
index 08e4deb69..000000000
--- a/airtime_mvc/library/pear/Calendar/Decorator/Uri.php
+++ /dev/null
@@ -1,183 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Uri.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar decorator base class
- */
-require_once CALENDAR_ROOT.'Decorator.php';
-
-/**
- * Load the Uri utility
- */
-require_once CALENDAR_ROOT.'Util'.DIRECTORY_SEPARATOR.'Uri.php';
-
-/**
- * Decorator to help with building HTML links for navigating the calendar
- * Note: for performance you should prefer Calendar_Util_Uri unless you
- * have a specific need to use a decorator
- *
- * $Day = new Calendar_Day(2003, 10, 23);
- * $Uri = new Calendar_Decorator_Uri($Day);
- * $Uri->setFragments('year', 'month', 'day');
- * echo $Uri->getPrev(); // Displays year=2003&month=10&day=22
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @see Calendar_Util_Uri
- * @access public
- */
-class Calendar_Decorator_Uri extends Calendar_Decorator
-{
-
- /**
- * @var Calendar_Util_Uri
- * @access private
- */
- var $Uri;
-
- /**
- * Constructs Calendar_Decorator_Uri
- *
- * @param object &$Calendar subclass of Calendar
- *
- * @access public
- */
- function Calendar_Decorator_Uri(&$Calendar)
- {
- parent::Calendar_Decorator($Calendar);
- }
-
- /**
- * Sets the URI fragment names
- *
- * @param string $y URI fragment for year
- * @param string $m (optional) URI fragment for month
- * @param string $d (optional) URI fragment for day
- * @param string $h (optional) URI fragment for hour
- * @param string $i (optional) URI fragment for minute
- * @param string $s (optional) URI fragment for second
- *
- * @return void
- * @access public
- */
- function setFragments($y, $m = null, $d = null, $h = null, $i = null, $s = null)
- {
- $this->Uri = new Calendar_Util_Uri($y, $m, $d, $h, $i, $s);
- }
-
- /**
- * Sets the separator string between fragments
- *
- * @param string $separator url fragment separator e.g. /
- *
- * @return void
- * @access public
- */
- function setSeparator($separator)
- {
- $this->Uri->separator = $separator;
- }
-
- /**
- * Puts Uri decorator into "scalar mode" - URI variable names are not returned
- *
- * @param boolean $state (optional)
- *
- * @return void
- * @access public
- */
- function setScalar($state = true)
- {
- $this->Uri->scalar = $state;
- }
-
- /**
- * Gets the URI string for the previous calendar unit
- *
- * @param string $method calendar unit to fetch uri for (year, month, week or day etc)
- *
- * @return string
- * @access public
- */
- function prev($method)
- {
- return $this->Uri->prev($this, $method);
- }
-
- /**
- * Gets the URI string for the current calendar unit
- *
- * @param string $method calendar unit to fetch uri for (year,month,week or day etc)
- *
- * @return string
- * @access public
- */
- function this($method)
- {
- return $this->Uri->this($this, $method);
- }
-
- /**
- * Gets the URI string for the next calendar unit
- *
- * @param string $method calendar unit to fetch uri for (year,month,week or day etc)
- *
- * @return string
- * @access public
- */
- function next($method)
- {
- return $this->Uri->next($this, $method);
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Decorator/Weekday.php b/airtime_mvc/library/pear/Calendar/Decorator/Weekday.php
deleted file mode 100644
index d02c87dcc..000000000
--- a/airtime_mvc/library/pear/Calendar/Decorator/Weekday.php
+++ /dev/null
@@ -1,195 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Weekday.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar decorator base class
- */
-require_once CALENDAR_ROOT.'Decorator.php';
-
-/**
- * Load a Calendar_Day
- */
-require_once CALENDAR_ROOT.'Day.php';
-/**
- * Decorator for fetching the day of the week
- *
- * $Day = new Calendar_Day(2003, 10, 23);
- * $Weekday = new Calendar_Decorator_Weekday($Day);
- * $Weekday->setFirstDay(0); // Set first day of week to Sunday (default Mon)
- * echo $Weekday->thisWeekDay(); // Displays 5 - fifth day of week relative to Sun
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Decorator_Weekday extends Calendar_Decorator
-{
- /**
- * First day of week
- * @var int (default = 1 for Monday)
- * @access private
- */
- var $firstDay = 1;
-
- /**
- * Constructs Calendar_Decorator_Weekday
- *
- * @param object &$Calendar subclass of Calendar
- *
- * @access public
- */
- function Calendar_Decorator_Weekday(&$Calendar)
- {
- parent::Calendar_Decorator($Calendar);
- }
-
- /**
- * Sets the first day of the week (0 = Sunday, 1 = Monday (default) etc)
- *
- * @param int $firstDay first day of week
- *
- * @return void
- * @access public
- */
- function setFirstDay($firstDay)
- {
- $this->firstDay = (int)$firstDay;
- }
-
- /**
- * Returns the previous weekday
- *
- * @param string $format (default = 'int') return value format
- *
- * @return int $format numeric day of week or timestamp
- * @access public
- */
- function prevWeekDay($format = 'int')
- {
- $ts = $this->calendar->prevDay('timestamp');
- $Day = new Calendar_Day(2000, 1, 1);
- $Day->setTimeStamp($ts);
- $day = $this->calendar->cE->getDayOfWeek(
- $Day->thisYear(),
- $Day->thisMonth(),
- $Day->thisDay()
- );
- $day = $this->adjustWeekScale($day);
- return $this->returnValue('Day', $format, $ts, $day);
- }
-
- /**
- * Returns the current weekday
- *
- * @param string $format (default = 'int') return value format
- *
- * @return int numeric day of week or timestamp
- * @access public
- */
- function thisWeekDay($format = 'int')
- {
- $ts = $this->calendar->thisDay('timestamp');
- $day = $this->calendar->cE->getDayOfWeek(
- $this->calendar->year,
- $this->calendar->month,
- $this->calendar->day
- );
- $day = $this->adjustWeekScale($day);
- return $this->returnValue('Day', $format, $ts, $day);
- }
-
- /**
- * Returns the next weekday
- *
- * @param string $format (default = 'int') return value format
- *
- * @return int numeric day of week or timestamp
- * @access public
- */
- function nextWeekDay($format = 'int')
- {
- $ts = $this->calendar->nextDay('timestamp');
- $Day = new Calendar_Day(2000, 1, 1);
- $Day->setTimeStamp($ts);
- $day = $this->calendar->cE->getDayOfWeek(
- $Day->thisYear(),
- $Day->thisMonth(),
- $Day->thisDay()
- );
- $day = $this->adjustWeekScale($day);
- return $this->returnValue('Day', $format, $ts, $day);
- }
-
- /**
- * Adjusts the day of the week relative to the first day of the week
- *
- * @param int $dayOfWeek day of week calendar from Calendar_Engine
- *
- * @return int day of week adjusted to first day
- * @access private
- */
- function adjustWeekScale($dayOfWeek)
- {
- $dayOfWeek = $dayOfWeek - $this->firstDay;
- if ($dayOfWeek >= 0) {
- return $dayOfWeek;
- } else {
- return $this->calendar->cE->getDaysInWeek(
- $this->calendar->year,
- $this->calendar->month,
- $this->calendar->day
- ) + $dayOfWeek;
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Decorator/Wrapper.php b/airtime_mvc/library/pear/Calendar/Decorator/Wrapper.php
deleted file mode 100644
index 4ed2f84ac..000000000
--- a/airtime_mvc/library/pear/Calendar/Decorator/Wrapper.php
+++ /dev/null
@@ -1,115 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Wrapper.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar decorator base class
- */
-require_once CALENDAR_ROOT.'Decorator.php';
-
-/**
- * Decorator to help with wrapping built children in another decorator
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Decorator_Wrapper extends Calendar_Decorator
-{
- /**
- * Constructs Calendar_Decorator_Wrapper
- *
- * @param object &$Calendar subclass of Calendar
- *
- * @access public
- */
- function Calendar_Decorator_Wrapper(&$Calendar)
- {
- parent::Calendar_Decorator($Calendar);
- }
-
- /**
- * Wraps objects returned from fetch in the named Decorator class
- *
- * @param string $decorator name of Decorator class to wrap with
- *
- * @return object instance of named decorator
- * @access public
- */
- function & fetch($decorator)
- {
- $Calendar = parent::fetch();
- if ($Calendar) {
- $ret = new $decorator($Calendar);
- } else {
- $ret = false;
- }
- return $ret;
- }
-
- /**
- * Wraps the returned calendar objects from fetchAll in the named decorator
- *
- * @param string $decorator name of Decorator class to wrap with
- *
- * @return array
- * @access public
- */
- function fetchAll($decorator)
- {
- $children = parent::fetchAll();
- foreach ($children as $key => $Calendar) {
- $children[$key] = new $decorator($Calendar);
- }
- return $children;
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Engine/Interface.php b/airtime_mvc/library/pear/Calendar/Engine/Interface.php
deleted file mode 100644
index d443210bc..000000000
--- a/airtime_mvc/library/pear/Calendar/Engine/Interface.php
+++ /dev/null
@@ -1,377 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Interface.php 269074 2008-11-15 21:21:42Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * The methods the classes implementing the Calendar_Engine must implement.
- * Note this class is not used but simply to help development
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access protected
- */
-class Calendar_Engine_Interface
-{
- /**
- * Provides a mechansim to make sure parsing of timestamps
- * into human dates is only performed once per timestamp.
- * Typically called "internally" by methods like stampToYear.
- * Return value can vary, depending on the specific implementation
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return mixed
- * @access protected
- */
- function stampCollection($stamp)
- {
- }
-
- /**
- * Returns a numeric year given a timestamp
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return int year (e.g. 2003)
- * @access protected
- */
- function stampToYear($stamp)
- {
- }
-
- /**
- * Returns a numeric month given a timestamp
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return int month (e.g. 9)
- * @access protected
- */
- function stampToMonth($stamp)
- {
- }
-
- /**
- * Returns a numeric day given a timestamp
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return int day (e.g. 15)
- * @access protected
- */
- function stampToDay($stamp)
- {
- }
-
- /**
- * Returns a numeric hour given a timestamp
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return int hour (e.g. 13)
- * @access protected
- */
- function stampToHour($stamp)
- {
- }
-
- /**
- * Returns a numeric minute given a timestamp
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return int minute (e.g. 34)
- * @access protected
- */
- function stampToMinute($stamp)
- {
- }
-
- /**
- * Returns a numeric second given a timestamp
- *
- * @param int $stamp timestamp (depending on implementation)
- *
- * @return int second (e.g. 51)
- * @access protected
- */
- function stampToSecond($stamp)
- {
- }
-
- /**
- * Returns a timestamp. Can be worth "caching" generated timestamps in a
- * static variable, identified by the params this method accepts,
- * to timestamp will only be calculated once.
- *
- * @param int $y year (e.g. 2003)
- * @param int $m month (e.g. 9)
- * @param int $d day (e.g. 13)
- * @param int $h hour (e.g. 13)
- * @param int $i minute (e.g. 34)
- * @param int $s second (e.g. 53)
- *
- * @return int (depends on implementation)
- * @access protected
- */
- function dateToStamp($y, $m, $d, $h, $i, $s)
- {
- }
-
- /**
- * The upper limit on years that the Calendar Engine can work with
- *
- * @return int (e.g. 2037)
- * @access protected
- */
- function getMaxYears()
- {
- }
-
- /**
- * The lower limit on years that the Calendar Engine can work with
- *
- * @return int (e.g 1902)
- * @access protected
- */
- function getMinYears()
- {
- }
-
- /**
- * Returns the number of months in a year
- *
- * @param int $y (optional) year to get months for
- *
- * @return int (e.g. 12)
- * @access protected
- */
- function getMonthsInYear($y=null)
- {
- }
-
- /**
- * Returns the number of days in a month, given year and month
- *
- * @param int $y year (e.g. 2003)
- * @param int $m month (e.g. 9)
- *
- * @return int days in month
- * @access protected
- */
- function getDaysInMonth($y, $m)
- {
- }
-
- /**
- * Returns numeric representation of the day of the week in a month,
- * given year and month
- *
- * @param int $y year (e.g. 2003)
- * @param int $m month (e.g. 9)
- *
- * @return int
- * @access protected
- */
- function getFirstDayInMonth ($y, $m)
- {
- }
-
- /**
- * Returns the number of days in a week
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (e.g. 7)
- * @access protected
- */
- function getDaysInWeek($y=null, $m=null, $d=null)
- {
- }
-
- /**
- * Returns the number of the week in the year (ISO-8601), given a date
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int week number
- * @access protected
- */
- function getWeekNInYear($y, $m, $d)
- {
- }
-
- /**
- * Returns the number of the week in the month, given a date
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $firstDay first day of the week (default: 1 - monday)
- *
- * @return int week number
- * @access protected
- */
- function getWeekNInMonth($y, $m, $d, $firstDay=1)
- {
- }
-
- /**
- * Returns the number of weeks in the month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- *
- * @return int weeks number
- * @access protected
- */
- function getWeeksInMonth($y, $m)
- {
- }
-
- /**
- * Returns the number of the day of the week (0=sunday, 1=monday...)
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int weekday number
- * @access protected
- */
- function getDayOfWeek($y, $m, $d)
- {
- }
-
- /**
- * Returns the numeric values of the days of the week.
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return array list of numeric values of days in week, beginning 0
- * @access protected
- */
- function getWeekDays($y=null, $m=null, $d=null)
- {
- }
-
- /**
- * Returns the default first day of the week as an integer. Must be a
- * member of the array returned from getWeekDays
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (e.g. 1 for Monday)
- * @see getWeekDays
- * @access protected
- */
- function getFirstDayOfWeek($y=null, $m=null, $d=null)
- {
- }
-
- /**
- * Returns the number of hours in a day
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (e.g. 24)
- * @access protected
- */
- function getHoursInDay($y=null,$m=null,$d=null)
- {
- }
-
- /**
- * Returns the number of minutes in an hour
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $h hour
- *
- * @return int
- * @access protected
- */
- function getMinutesInHour($y=null,$m=null,$d=null,$h=null)
- {
- }
-
- /**
- * Returns the number of seconds in a minutes
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $h hour
- * @param int $i minute
- *
- * @return int
- * @access protected
- */
- function getSecondsInMinute($y=null,$m=null,$d=null,$h=null,$i=null)
- {
- }
-
- /**
- * Checks if the given day is the current day
- *
- * @param int timestamp (depending on implementation)
- *
- * @return boolean
- * @access protected
- */
- function isToday($stamp)
- {
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Engine/PearDate.php b/airtime_mvc/library/pear/Calendar/Engine/PearDate.php
deleted file mode 100644
index 7c54d37cd..000000000
--- a/airtime_mvc/library/pear/Calendar/Engine/PearDate.php
+++ /dev/null
@@ -1,509 +0,0 @@
-
- * @copyright 2003-2007 Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: PearDate.php 269076 2008-11-15 21:41:38Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Load PEAR::Date class
- */
-require_once 'Date.php';
-
-/**
- * Performs calendar calculations based on the PEAR::Date class
- * Timestamps are in the ISO-8601 format (YYYY-MM-DD HH:MM:SS)
- *
- * @category Date and Time
- * @package Calendar
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access protected
- */
-class Calendar_Engine_PearDate /* implements Calendar_Engine_Interface */
-{
- /**
- * Makes sure a given timestamp is only ever parsed once
- * Uses a static variable to prevent date() being used twice
- * for a date which is already known
- *
- * @param mixed $stamp Any timestamp format recognized by Pear::Date
- *
- * @return object Pear::Date object
- * @access protected
- */
- function stampCollection($stamp)
- {
- static $stamps = array();
- if (!isset($stamps[$stamp])) {
- $stamps[$stamp] = new Date($stamp);
- }
- return $stamps[$stamp];
- }
-
- /**
- * Returns a numeric year given a iso-8601 datetime
- *
- * @param string $stamp iso-8601 datetime (YYYY-MM-DD HH:MM:SS)
- *
- * @return int year (e.g. 2003)
- * @access protected
- */
- function stampToYear($stamp)
- {
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return (int)$date->year;
- }
-
- /**
- * Returns a numeric month given a iso-8601 datetime
- *
- * @param string $stamp iso-8601 datetime (YYYY-MM-DD HH:MM:SS)
- *
- * @return int month (e.g. 9)
- * @access protected
- */
- function stampToMonth($stamp)
- {
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return (int)$date->month;
- }
-
- /**
- * Returns a numeric day given a iso-8601 datetime
- *
- * @param string $stamp iso-8601 datetime (YYYY-MM-DD HH:MM:SS)
- *
- * @return int day (e.g. 15)
- * @access protected
- */
- function stampToDay($stamp)
- {
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return (int)$date->day;
- }
-
- /**
- * Returns a numeric hour given a iso-8601 datetime
- *
- * @param string $stamp iso-8601 datetime (YYYY-MM-DD HH:MM:SS)
- *
- * @return int hour (e.g. 13)
- * @access protected
- */
- function stampToHour($stamp)
- {
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return (int)$date->hour;
- }
-
- /**
- * Returns a numeric minute given a iso-8601 datetime
- *
- * @param string $stamp iso-8601 datetime (YYYY-MM-DD HH:MM:SS)
- *
- * @return int minute (e.g. 34)
- * @access protected
- */
- function stampToMinute($stamp)
- {
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return (int)$date->minute;
- }
-
- /**
- * Returns a numeric second given a iso-8601 datetime
- *
- * @param string $stamp iso-8601 datetime (YYYY-MM-DD HH:MM:SS)
- *
- * @return int second (e.g. 51)
- * @access protected
- */
- function stampToSecond($stamp)
- {
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return (int)$date->second;
- }
-
- /**
- * Returns a iso-8601 datetime
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (13)
- * @param int $h hour (13)
- * @param int $i minute (34)
- * @param int $s second (53)
- *
- * @return string iso-8601 datetime
- * @access protected
- */
- function dateToStamp($y, $m, $d, $h=0, $i=0, $s=0)
- {
- $r = array();
- Calendar_Engine_PearDate::adjustDate($y, $m, $d, $h, $i, $s);
- $key = $y.$m.$d.$h.$i.$s;
- if (!isset($r[$key])) {
- $r[$key] = sprintf("%04d-%02d-%02d %02d:%02d:%02d",
- $y, $m, $d, $h, $i, $s);
- }
- return $r[$key];
- }
-
- /**
- * Set the correct date values (useful for math operations on dates)
- *
- * @param int &$y year (2003)
- * @param int &$m month (9)
- * @param int &$d day (13)
- * @param int &$h hour (13)
- * @param int &$i minute (34)
- * @param int &$s second (53)
- *
- * @return void
- * @access protected
- */
- function adjustDate(&$y, &$m, &$d, &$h, &$i, &$s)
- {
- if ($s < 0) {
- $m -= floor($s / 60);
- $s = -$s % 60;
- }
- if ($s > 60) {
- $m += floor($s / 60);
- $s %= 60;
- }
- if ($i < 0) {
- $h -= floor($i / 60);
- $i = -$i % 60;
- }
- if ($i > 60) {
- $h += floor($i / 60);
- $i %= 60;
- }
- if ($h < 0) {
- $d -= floor($h / 24);
- $h = -$h % 24;
- }
- if ($h > 24) {
- $d += floor($h / 24);
- $h %= 24;
- }
- for(; $m < 1; $y--, $m+=12);
- for(; $m > 12; $y++, $m-=12);
-
- while ($d < 1) {
- if ($m > 1) {
- $m--;
- } else {
- $m = 12;
- $y--;
- }
- $d += Date_Calc::daysInMonth($m, $y);
- }
- for ($max_days = Date_Calc::daysInMonth($m, $y); $d > $max_days; ) {
- $d -= $max_days;
- if ($m < 12) {
- $m++;
- } else {
- $m = 1;
- $y++;
- }
- }
- }
-
- /**
- * The upper limit on years that the Calendar Engine can work with
- *
- * @return int 9999
- * @access protected
- */
- function getMaxYears()
- {
- return 9999;
- }
-
- /**
- * The lower limit on years that the Calendar Engine can work with
- *
- * @return int 0
- * @access protected
- */
- function getMinYears()
- {
- return 0;
- }
-
- /**
- * Returns the number of months in a year
- *
- * @param int $y year
- *
- * @return int (12)
- * @access protected
- */
- function getMonthsInYear($y=null)
- {
- return 12;
- }
-
- /**
- * Returns the number of days in a month, given year and month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- *
- * @return int days in month
- * @access protected
- */
- function getDaysInMonth($y, $m)
- {
- return (int)Date_Calc::daysInMonth($m, $y);
- }
-
- /**
- * Returns numeric representation of the day of the week in a month,
- * given year and month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- *
- * @return int from 0 to 7
- * @access protected
- */
- function getFirstDayInMonth($y, $m)
- {
- return (int)Date_Calc::dayOfWeek(1, $m, $y);
- }
-
- /**
- * Returns the number of days in a week
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (7)
- * @access protected
- */
- function getDaysInWeek($y=null, $m=null, $d=null)
- {
- return 7;
- }
-
- /**
- * Returns the number of the week in the year (ISO-8601), given a date
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int week number
- * @access protected
- */
- function getWeekNInYear($y, $m, $d)
- {
- //return Date_Calc::weekOfYear($d, $m, $y); //beware, Date_Calc doesn't follow ISO-8601 standard!
- list($nYear, $nWeek) = Date_Calc::weekOfYear4th($d, $m, $y);
- return $nWeek;
- }
-
- /**
- * Returns the number of the week in the month, given a date
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $firstDay first day of the week (default: monday)
- *
- * @return int week number
- * @access protected
- */
- function getWeekNInMonth($y, $m, $d, $firstDay=1)
- {
- $weekEnd = ($firstDay == 0) ? $this->getDaysInWeek()-1 : $firstDay-1;
- $end_of_week = (int)Date_Calc::nextDayOfWeek($weekEnd, 1, $m, $y, '%e', true);
- $w = 1;
- while ($d > $end_of_week) {
- ++$w;
- $end_of_week += $this->getDaysInWeek();
- }
- return $w;
- }
-
- /**
- * Returns the number of weeks in the month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $firstDay first day of the week (default: monday)
- *
- * @return int weeks number
- * @access protected
- */
- function getWeeksInMonth($y, $m, $firstDay=1)
- {
- $FDOM = Date_Calc::firstOfMonthWeekday($m, $y);
- if ($FDOM == 0) {
- $FDOM = $this->getDaysInWeek();
- }
- if ($FDOM > $firstDay) {
- $daysInTheFirstWeek = $this->getDaysInWeek() - $FDOM + $firstDay;
- $weeks = 1;
- } else {
- $daysInTheFirstWeek = $firstDay - $FDOM;
- $weeks = 0;
- }
- $daysInTheFirstWeek %= $this->getDaysInWeek();
- return (int)(ceil(($this->getDaysInMonth($y, $m) - $daysInTheFirstWeek) /
- $this->getDaysInWeek()) + $weeks);
- }
-
- /**
- * Returns the number of the day of the week (0=sunday, 1=monday...)
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int weekday number
- * @access protected
- */
- function getDayOfWeek($y, $m, $d)
- {
- return Date_Calc::dayOfWeek($d, $m, $y);
- }
-
- /**
- * Returns a list of integer days of the week beginning 0
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return array (0, 1, 2, 3, 4, 5, 6) 1 = Monday
- * @access protected
- */
- function getWeekDays($y=null, $m=null, $d=null)
- {
- return array(0, 1, 2, 3, 4, 5, 6);
- }
-
- /**
- * Returns the default first day of the week
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (default 1 = Monday)
- * @access protected
- */
- function getFirstDayOfWeek($y=null, $m=null, $d=null)
- {
- return 1;
- }
-
- /**
- * Returns the number of hours in a day
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (24)
- * @access protected
- */
- function getHoursInDay($y=null,$m=null,$d=null)
- {
- return 24;
- }
-
- /**
- * Returns the number of minutes in an hour
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $h hour
- *
- * @return int (60)
- * @access protected
- */
- function getMinutesInHour($y=null,$m=null,$d=null,$h=null)
- {
- return 60;
- }
-
- /**
- * Returns the number of seconds in a minutes
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $h hour
- * @param int $i minute
- *
- * @return int (60)
- * @access protected
- */
- function getSecondsInMinute($y=null,$m=null,$d=null,$h=null,$i=null)
- {
- return 60;
- }
-
- /**
- * Checks if the given day is the current day
- *
- * @param mixed $stamp Any timestamp format recognized by Pear::Date
- *
- * @return boolean
- * @access protected
- */
- function isToday($stamp)
- {
- static $today = null;
- if (is_null($today)) {
- $today = new Date();
- }
- $date = Calendar_Engine_PearDate::stampCollection($stamp);
- return ( $date->day == $today->getDay()
- && $date->month == $today->getMonth()
- && $date->year == $today->getYear()
- );
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Engine/UnixTS.php b/airtime_mvc/library/pear/Calendar/Engine/UnixTS.php
deleted file mode 100644
index e24f0240d..000000000
--- a/airtime_mvc/library/pear/Calendar/Engine/UnixTS.php
+++ /dev/null
@@ -1,463 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: UnixTS.php 269074 2008-11-15 21:21:42Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Performs calendar calculations based on the PHP date() function and
- * Unix timestamps (using PHP's mktime() function).
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access protected
- */
-class Calendar_Engine_UnixTS /* implements Calendar_Engine_Interface */
-{
- /**
- * Makes sure a given timestamp is only ever parsed once
- *
- * array (
- * [0] => year (e.g 2003),
- * [1] => month (e.g 9),
- * [2] => day (e.g 6),
- * [3] => hour (e.g 14),
- * [4] => minute (e.g 34),
- * [5] => second (e.g 45),
- * [6] => num days in month (e.g. 31),
- * [7] => week in year (e.g. 50),
- * [8] => day in week (e.g. 0 for Sunday)
- * )
- *
- * Uses a static variable to prevent date() being used twice
- * for a date which is already known
- *
- * @param int $stamp Unix timestamp
- *
- * @return array
- * @access protected
- */
- function stampCollection($stamp)
- {
- static $stamps = array();
- if ( !isset($stamps[$stamp]) ) {
- $date = @date('Y n j H i s t W w', $stamp);
- $stamps[$stamp] = sscanf($date, "%d %d %d %d %d %d %d %d %d");
- }
- return $stamps[$stamp];
- }
-
- /**
- * Returns a numeric year given a timestamp
- *
- * @param int $stamp Unix timestamp
- *
- * @return int year (e.g. 2003)
- * @access protected
- */
- function stampToYear($stamp)
- {
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return (int)$date[0];
- }
-
- /**
- * Returns a numeric month given a timestamp
- *
- * @param int $stamp Unix timestamp
- *
- * @return int month (e.g. 9)
- * @access protected
- */
- function stampToMonth($stamp)
- {
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return (int)$date[1];
- }
-
- /**
- * Returns a numeric day given a timestamp
- *
- * @param int $stamp Unix timestamp
- *
- * @return int day (e.g. 15)
- * @access protected
- */
- function stampToDay($stamp)
- {
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return (int)$date[2];
- }
-
- /**
- * Returns a numeric hour given a timestamp
- *
- * @param int $stamp Unix timestamp
- *
- * @return int hour (e.g. 13)
- * @access protected
- */
- function stampToHour($stamp)
- {
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return (int)$date[3];
- }
-
- /**
- * Returns a numeric minute given a timestamp
- *
- * @param int $stamp Unix timestamp
- *
- * @return int minute (e.g. 34)
- * @access protected
- */
- function stampToMinute($stamp)
- {
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return (int)$date[4];
- }
-
- /**
- * Returns a numeric second given a timestamp
- *
- * @param int $stamp Unix timestamp
- *
- * @return int second (e.g. 51)
- * @access protected
- */
- function stampToSecond($stamp)
- {
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return (int)$date[5];
- }
-
- /**
- * Returns a timestamp
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (13)
- * @param int $h hour (13)
- * @param int $i minute (34)
- * @param int $s second (53)
- *
- * @return int Unix timestamp
- * @access protected
- */
- function dateToStamp($y, $m, $d, $h=0, $i=0, $s=0)
- {
- static $dates = array();
- if (!isset($dates[$y][$m][$d][$h][$i][$s])) {
- $dates[$y][$m][$d][$h][$i][$s] = @mktime($h, $i, $s, $m, $d, $y);
- }
- return $dates[$y][$m][$d][$h][$i][$s];
- }
-
- /**
- * The upper limit on years that the Calendar Engine can work with
- *
- * @return int (2037)
- * @access protected
- */
- function getMaxYears()
- {
- return 2037;
- }
-
- /**
- * The lower limit on years that the Calendar Engine can work with
- *
- * @return int (1970 if it's Windows and 1902 for all other OSs)
- * @access protected
- */
- function getMinYears()
- {
- return $min = strpos(PHP_OS, 'WIN') === false ? 1902 : 1970;
- }
-
- /**
- * Returns the number of months in a year
- *
- * @param int $y year
- *
- * @return int (12)
- * @access protected
- */
- function getMonthsInYear($y=null)
- {
- return 12;
- }
-
- /**
- * Returns the number of days in a month, given year and month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- *
- * @return int days in month
- * @access protected
- */
- function getDaysInMonth($y, $m)
- {
- $stamp = Calendar_Engine_UnixTS::dateToStamp($y, $m, 1);
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return $date[6];
- }
-
- /**
- * Returns numeric representation of the day of the week in a month,
- * given year and month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- *
- * @return int from 0 to 6
- * @access protected
- */
- function getFirstDayInMonth($y, $m)
- {
- $stamp = Calendar_Engine_UnixTS::dateToStamp($y, $m, 1);
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return $date[8];
- }
-
- /**
- * Returns the number of days in a week
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (7)
- * @access protected
- */
- function getDaysInWeek($y=null, $m=null, $d=null)
- {
- return 7;
- }
-
- /**
- * Returns the number of the week in the year (ISO-8601), given a date
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int week number
- * @access protected
- */
- function getWeekNInYear($y, $m, $d)
- {
- $stamp = Calendar_Engine_UnixTS::dateToStamp($y, $m, $d);
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return $date[7];
- }
-
- /**
- * Returns the number of the week in the month, given a date
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $firstDay first day of the week (default: monday)
- *
- * @return int week number
- * @access protected
- */
- function getWeekNInMonth($y, $m, $d, $firstDay=1)
- {
- $weekEnd = (0 == $firstDay) ? $this->getDaysInWeek()-1 : $firstDay-1;
- $end_of_week = 1;
- while (@date('w', @mktime(0, 0, 0, $m, $end_of_week, $y)) != $weekEnd) {
- ++$end_of_week; //find first weekend of the month
- }
- $w = 1;
- while ($d > $end_of_week) {
- ++$w;
- $end_of_week += $this->getDaysInWeek();
- }
- return $w;
- }
-
- /**
- * Returns the number of weeks in the month
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $firstDay first day of the week (default: monday)
- *
- * @return int weeks number
- * @access protected
- */
- function getWeeksInMonth($y, $m, $firstDay = 1)
- {
- $FDOM = $this->getFirstDayInMonth($y, $m);
- if ($FDOM == 0) {
- $FDOM = $this->getDaysInWeek();
- }
- if ($FDOM > $firstDay) {
- $daysInTheFirstWeek = $this->getDaysInWeek() - $FDOM + $firstDay;
- $weeks = 1;
- } else {
- $daysInTheFirstWeek = $firstDay - $FDOM;
- $weeks = 0;
- }
- $daysInTheFirstWeek %= $this->getDaysInWeek();
- return (int)(ceil(($this->getDaysInMonth($y, $m) - $daysInTheFirstWeek) /
- $this->getDaysInWeek()) + $weeks);
- }
-
- /**
- * Returns the number of the day of the week (0=sunday, 1=monday...)
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int weekday number
- * @access protected
- */
- function getDayOfWeek($y, $m, $d)
- {
- $stamp = Calendar_Engine_UnixTS::dateToStamp($y, $m, $d);
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return $date[8];
- }
-
- /**
- * Returns a list of integer days of the week beginning 0
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return array (0,1,2,3,4,5,6) 1 = Monday
- * @access protected
- */
- function getWeekDays($y=null, $m=null, $d=null)
- {
- return array(0, 1, 2, 3, 4, 5, 6);
- }
-
- /**
- * Returns the default first day of the week
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (default 1 = Monday)
- * @access protected
- */
- function getFirstDayOfWeek($y=null, $m=null, $d=null)
- {
- return 1;
- }
-
- /**
- * Returns the number of hours in a day
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- *
- * @return int (24)
- * @access protected
- */
- function getHoursInDay($y=null, $m=null, $d=null)
- {
- return 24;
- }
-
- /**
- * Returns the number of minutes in an hour
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $h hour
- *
- * @return int (60)
- * @access protected
- */
- function getMinutesInHour($y=null, $m=null, $d=null, $h=null)
- {
- return 60;
- }
-
- /**
- * Returns the number of seconds in a minutes
- *
- * @param int $y year (2003)
- * @param int $m month (9)
- * @param int $d day (4)
- * @param int $h hour
- * @param int $i minute
- *
- * @return int (60)
- * @access protected
- */
- function getSecondsInMinute($y=null, $m=null, $d=null, $h=null, $i=null)
- {
- return 60;
- }
-
- /**
- * Checks if the given day is the current day
- *
- * @param mixed $stamp Any timestamp format recognized by Pear::Date
- *
- * @return boolean
- * @access protected
- */
- function isToday($stamp)
- {
- static $today = null;
- if (is_null($today)) {
- $today_date = @date('Y n j');
- $today = sscanf($today_date, '%d %d %d');
- }
- $date = Calendar_Engine_UnixTS::stampCollection($stamp);
- return ( $date[2] == $today[2]
- && $date[1] == $today[1]
- && $date[0] == $today[0]
- );
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Factory.php b/airtime_mvc/library/pear/Calendar/Factory.php
deleted file mode 100644
index 39b3b3901..000000000
--- a/airtime_mvc/library/pear/Calendar/Factory.php
+++ /dev/null
@@ -1,168 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Factory.php 246404 2007-11-18 21:46:43Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Contains a factory method to return a Singleton instance of a class
- * implementing the Calendar_Engine_Interface.
- * For Month objects, to control type of month returned, use CALENDAR_MONTH_STATE
- * constact e.g.;
- *
- * require_once 'Calendar/Factory.php';
- * define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH_WEEKDAYS); // Use Calendar_Month_Weekdays
- * // define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH_WEEKS); // Use Calendar_Month_Weeks
- * // define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH); // Use Calendar_Month
- *
- * It defaults to building Calendar_Month objects.
- * Use the constract CALENDAR_FIRST_DAY_OF_WEEK to control the first day of the week
- * for Month or Week objects (e.g. 0 = Sunday, 6 = Saturday)
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access protected
- */
-class Calendar_Factory
-{
- /**
- * Creates a calendar object given the type and units
- *
- * @param string $type class of calendar object to create
- * @param int $y year
- * @param int $m month
- * @param int $d day
- * @param int $h hour
- * @param int $i minute
- * @param int $s second
- *
- * @return object subclass of Calendar
- * @access public
- * @static
- */
- function create($type, $y = 2000, $m = 1, $d = 1, $h = 0, $i = 0, $s = 0)
- {
- $firstDay = defined('CALENDAR_FIRST_DAY_OF_WEEK') ? CALENDAR_FIRST_DAY_OF_WEEK : 1;
- switch ($type) {
- case 'Day':
- include_once CALENDAR_ROOT.'Day.php';
- return new Calendar_Day($y, $m, $d);
- case 'Month':
- // Set default state for which month type to build
- if (!defined('CALENDAR_MONTH_STATE')) {
- define('CALENDAR_MONTH_STATE', CALENDAR_USE_MONTH);
- }
- switch (CALENDAR_MONTH_STATE) {
- case CALENDAR_USE_MONTH_WEEKDAYS:
- include_once CALENDAR_ROOT.'Month/Weekdays.php';
- $class = 'Calendar_Month_Weekdays';
- break;
- case CALENDAR_USE_MONTH_WEEKS:
- include_once CALENDAR_ROOT.'Month/Weeks.php';
- $class = 'Calendar_Month_Weeks';
- break;
- case CALENDAR_USE_MONTH:
- default:
- include_once CALENDAR_ROOT.'Month.php';
- $class = 'Calendar_Month';
- break;
- }
- return new $class($y, $m, $firstDay);
- case 'Week':
- include_once CALENDAR_ROOT.'Week.php';
- return new Calendar_Week($y, $m, $d, $firstDay);
- case 'Hour':
- include_once CALENDAR_ROOT.'Hour.php';
- return new Calendar_Hour($y, $m, $d, $h);
- case 'Minute':
- include_once CALENDAR_ROOT.'Minute.php';
- return new Calendar_Minute($y, $m, $d, $h, $i);
- case 'Second':
- include_once CALENDAR_ROOT.'Second.php';
- return new Calendar_Second($y, $m, $d, $h, $i, $s);
- case 'Year':
- include_once CALENDAR_ROOT.'Year.php';
- return new Calendar_Year($y);
- default:
- include_once 'PEAR.php';
- PEAR::raiseError('Calendar_Factory::create() unrecognised type: '.$type,
- null, PEAR_ERROR_TRIGGER, E_USER_NOTICE, 'Calendar_Factory::create()');
- return false;
- }
- }
-
- /**
- * Creates an instance of a calendar object, given a type and timestamp
- *
- * @param string $type type of object to create
- * @param mixed $stamp timestamp (depending on Calendar engine being used)
- *
- * @return object subclass of Calendar
- * @access public
- * @static
- */
- function & createByTimestamp($type, $stamp)
- {
- $cE = & Calendar_Engine_Factory::getEngine();
- $y = $cE->stampToYear($stamp);
- $m = $cE->stampToMonth($stamp);
- $d = $cE->stampToDay($stamp);
- $h = $cE->stampToHour($stamp);
- $i = $cE->stampToMinute($stamp);
- $s = $cE->stampToSecond($stamp);
- $cal = Calendar_Factory::create($type, $y, $m, $d, $h, $i, $s);
- return $cal;
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Hour.php b/airtime_mvc/library/pear/Calendar/Hour.php
deleted file mode 100644
index fe05024b5..000000000
--- a/airtime_mvc/library/pear/Calendar/Hour.php
+++ /dev/null
@@ -1,137 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Hour.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents an Hour and builds Minutes
- *
- * require_once 'Calendar'.DIRECTORY_SEPARATOR.'Hour.php';
- * $Hour = new Calendar_Hour(2003, 10, 21, 15); // Oct 21st 2003, 3pm
- * $Hour->build(); // Build Calendar_Minute objects
- * while ($Minute = & $Hour->fetch()) {
- * echo $Minute->thisMinute().' ';
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Hour extends Calendar
-{
- /**
- * Constructs Calendar_Hour
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $d day e.g. 11
- * @param int $h hour e.g. 13
- *
- * @access public
- */
- function Calendar_Hour($y, $m, $d, $h)
- {
- parent::Calendar($y, $m, $d, $h);
- }
-
- /**
- * Builds the Minutes in the Hour
- *
- * @param array $sDates (optional) Calendar_Minute objects representing selected dates
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Minute.php';
- $mIH = $this->cE->getMinutesInHour($this->year, $this->month, $this->day,
- $this->hour);
- for ($i=0; $i < $mIH; $i++) {
- $this->children[$i] =
- new Calendar_Minute($this->year, $this->month, $this->day,
- $this->hour, $i);
- }
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates Calendar_Minute objects representing selected dates
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- if ($this->year == $sDate->thisYear()
- && $this->month == $sDate->thisMonth()
- && $this->day == $sDate->thisDay()
- && $this->hour == $sDate->thisHour())
- {
- $key = (int)$sDate->thisMinute();
- if (isset($this->children[$key])) {
- $sDate->setSelected();
- $this->children[$key] = $sDate;
- }
- }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Minute.php b/airtime_mvc/library/pear/Calendar/Minute.php
deleted file mode 100644
index 7c0b014f2..000000000
--- a/airtime_mvc/library/pear/Calendar/Minute.php
+++ /dev/null
@@ -1,138 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Minute.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents a Minute and builds Seconds
- *
- * require_once 'Calendar'.DIRECTORY_SEPARATOR.'Minute.php';
- * $Minute = new Calendar_Minute(2003, 10, 21, 15, 31); // Oct 21st 2003, 3:31pm
- * $Minute->build(); // Build Calendar_Second objects
- * while ($Second = & $Minute->fetch()) {
- * echo $Second->thisSecond().' ';
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Minute extends Calendar
-{
- /**
- * Constructs Minute
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $d day e.g. 11
- * @param int $h hour e.g. 13
- * @param int $i minute e.g. 31
- *
- * @access public
- */
- function Calendar_Minute($y, $m, $d, $h, $i)
- {
- parent::Calendar($y, $m, $d, $h, $i);
- }
-
- /**
- * Builds the Calendar_Second objects
- *
- * @param array $sDates (optional) Calendar_Second objects representing selected dates
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Second.php';
- $sIM = $this->cE->getSecondsInMinute($this->year, $this->month,
- $this->day, $this->hour, $this->minute);
- for ($i=0; $i < $sIM; $i++) {
- $this->children[$i] = new Calendar_Second($this->year, $this->month,
- $this->day, $this->hour, $this->minute, $i);
- }
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates Calendar_Second objects representing selected dates
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- if ($this->year == $sDate->thisYear()
- && $this->month == $sDate->thisMonth()
- && $this->day == $sDate->thisDay()
- && $this->hour == $sDate->thisHour()
- && $this->minute == $sDate->thisMinute())
- {
- $key = (int)$sDate->thisSecond();
- if (isset($this->children[$key])) {
- $sDate->setSelected();
- $this->children[$key] = $sDate;
- }
- }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Month.php b/airtime_mvc/library/pear/Calendar/Month.php
deleted file mode 100644
index afd017277..000000000
--- a/airtime_mvc/library/pear/Calendar/Month.php
+++ /dev/null
@@ -1,138 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Month.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents a Month and builds Days
- *
- * require_once 'Calendar/Month.php';
- * $Month = new Calendar_Month(2003, 10); // Oct 2003
- * $Month->build(); // Build Calendar_Day objects
- * while ($Day = & $Month->fetch()) {
- * echo $Day->thisDay().' ';
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Month extends Calendar
-{
- /**
- * Constructs Calendar_Month
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $firstDay first day of the week [optional]
- *
- * @access public
- */
- function Calendar_Month($y, $m, $firstDay=null)
- {
- parent::Calendar($y, $m);
- $this->firstDay = $this->defineFirstDayOfWeek($firstDay);
- }
-
- /**
- * Builds Day objects for this Month. Creates as many Calendar_Day objects
- * as there are days in the month
- *
- * @param array $sDates (optional) Calendar_Day objects representing selected dates
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Day.php';
- $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
- for ($i=1; $i<=$daysInMonth; $i++) {
- $this->children[$i] = new Calendar_Day($this->year, $this->month, $i);
- }
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates Calendar_Day objects representing selected dates
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- if ($this->year == $sDate->thisYear()
- && $this->month == $sDate->thisMonth()
- ) {
- $key = $sDate->thisDay();
- if (isset($this->children[$key])) {
- $sDate->setSelected();
- $class = strtolower(get_class($sDate));
- if ($class == 'calendar_day' || $class == 'calendar_decorator') {
- $sDate->setFirst($this->children[$key]->isFirst());
- $sDate->setLast($this->children[$key]->isLast());
- }
- $this->children[$key] = $sDate;
- }
- }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Month/Weekdays.php b/airtime_mvc/library/pear/Calendar/Month/Weekdays.php
deleted file mode 100644
index a2a4cf19e..000000000
--- a/airtime_mvc/library/pear/Calendar/Month/Weekdays.php
+++ /dev/null
@@ -1,215 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Weekdays.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Load base month
- */
-require_once CALENDAR_ROOT.'Month.php';
-
-/**
- * Represents a Month and builds Days in tabular form
- *
- * require_once 'Calendar/Month/Weekdays.php';
- * $Month = new Calendar_Month_Weekdays(2003, 10); // Oct 2003
- * $Month->build(); // Build Calendar_Day objects
- * while ($Day = & $Month->fetch()) {
- * if ($Day->isFirst()) {
- * echo '';
- * }
- * if ($Day->isEmpty()) {
- * echo ' ';
- * } else {
- * echo ''.$Day->thisDay().' ';
- * }
- * if ($Day->isLast()) {
- * echo ' ';
- * }
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Month_Weekdays extends Calendar_Month
-{
- /**
- * Instance of Calendar_Table_Helper
- * @var Calendar_Table_Helper
- * @access private
- */
- var $tableHelper;
-
- /**
- * First day of the week
- * @access private
- * @var string
- */
- var $firstDay;
-
- /**
- * Constructs Calendar_Month_Weekdays
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $firstDay (optional) first day of week (e.g. 0 for Sunday, 2 for Tuesday etc.)
- *
- * @access public
- */
- function Calendar_Month_Weekdays($y, $m, $firstDay=null)
- {
- parent::Calendar_Month($y, $m, $firstDay);
- }
-
- /**
- * Builds Day objects in tabular form, to allow display of calendar month
- * with empty cells if the first day of the week does not fall on the first
- * day of the month.
- *
- * @param array $sDates (optional) Calendar_Day objects representing selected dates
- *
- * @return boolean
- * @access public
- * @see Calendar_Day::isEmpty()
- * @see Calendar_Day_Base::isFirst()
- * @see Calendar_Day_Base::isLast()
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Table/Helper.php';
- $this->tableHelper = new Calendar_Table_Helper($this, $this->firstDay);
- Calendar_Month::build($sDates);
- $this->buildEmptyDaysBefore();
- $this->shiftDays();
- $this->buildEmptyDaysAfter();
- $this->setWeekMarkers();
- return true;
- }
-
- /**
- * Prepends empty days before the real days in the month
- *
- * @return void
- * @access private
- */
- function buildEmptyDaysBefore()
- {
- $eBefore = $this->tableHelper->getEmptyDaysBefore();
- for ($i=0; $i < $eBefore; $i++) {
- $stamp = $this->cE->dateToStamp($this->year, $this->month, -$i);
- $Day = new Calendar_Day(
- $this->cE->stampToYear($stamp),
- $this->cE->stampToMonth($stamp),
- $this->cE->stampToDay($stamp));
- $Day->setEmpty();
- $Day->adjust();
- array_unshift($this->children, $Day);
- }
- }
-
- /**
- * Shifts the array of children forward, if necessary
- *
- * @return void
- * @access private
- */
- function shiftDays()
- {
- if (isset($this->children[0])) {
- array_unshift($this->children, null);
- unset($this->children[0]);
- }
- }
-
- /**
- * Appends empty days after the real days in the month
- *
- * @return void
- * @access private
- */
- function buildEmptyDaysAfter()
- {
- $eAfter = $this->tableHelper->getEmptyDaysAfter();
- $sDOM = $this->tableHelper->getNumTableDaysInMonth();
- for ($i=1; $i <= $sDOM-$eAfter; $i++) {
- $Day = new Calendar_Day($this->year, $this->month+1, $i);
- $Day->setEmpty();
- $Day->adjust();
- array_push($this->children, $Day);
- }
- }
-
- /**
- * Sets the "markers" for the beginning and of a of week, in the
- * built Calendar_Day children
- *
- * @return void
- * @access private
- */
- function setWeekMarkers()
- {
- $dIW = $this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- );
- $sDOM = $this->tableHelper->getNumTableDaysInMonth();
- for ($i=1; $i <= $sDOM; $i+= $dIW) {
- $this->children[$i]->setFirst();
- $this->children[$i+($dIW-1)]->setLast();
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Month/Weeks.php b/airtime_mvc/library/pear/Calendar/Month/Weeks.php
deleted file mode 100644
index aab651392..000000000
--- a/airtime_mvc/library/pear/Calendar/Month/Weeks.php
+++ /dev/null
@@ -1,166 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Weeks.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Load base month
- */
-require_once CALENDAR_ROOT.'Month.php';
-
-/**
- * Represents a Month and builds Weeks
- *
- * require_once 'Calendar'.DIRECTORY_SEPARATOR.'Month'.DIRECTORY_SEPARATOR.'Weeks.php';
- * $Month = new Calendar_Month_Weeks(2003, 10); // Oct 2003
- * $Month->build(); // Build Calendar_Day objects
- * while ($Week = & $Month->fetch()) {
- * echo $Week->thisWeek().' ';
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Month_Weeks extends Calendar_Month
-{
- /**
- * Instance of Calendar_Table_Helper
- * @var Calendar_Table_Helper
- * @access private
- */
- var $tableHelper;
-
- /**
- * First day of the week
- * @access private
- * @var string
- */
- var $firstDay;
-
- /**
- * Constructs Calendar_Month_Weeks
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $firstDay (optional) first day of week (e.g. 0 for Sunday, 2 for Tuesday etc.)
- *
- * @access public
- */
- function Calendar_Month_Weeks($y, $m, $firstDay=null)
- {
- parent::Calendar_Month($y, $m, $firstDay);
- }
-
- /**
- * Builds Calendar_Week objects for the Month. Note that Calendar_Week
- * builds Calendar_Day object in tabular form (with Calendar_Day->empty)
- *
- * @param array $sDates (optional) Calendar_Week objects representing selected dates
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Table/Helper.php';
- $this->tableHelper = new Calendar_Table_Helper($this, $this->firstDay);
- include_once CALENDAR_ROOT.'Week.php';
- $numWeeks = $this->tableHelper->getNumWeeks();
- for ($i=1, $d=1; $i<=$numWeeks; $i++,
- $d+=$this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- )
- ) {
- $this->children[$i] = new Calendar_Week(
- $this->year, $this->month, $d, $this->tableHelper->getFirstDay());
- }
- //used to set empty days
- $this->children[1]->setFirst(true);
- $this->children[$numWeeks]->setLast(true);
-
- // Handle selected weeks here
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates Calendar_Week objects representing selected dates
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- if ($this->year == $sDate->thisYear()
- && $this->month == $sDate->thisMonth())
- {
- $key = $sDate->thisWeek('n_in_month');
- if (isset($this->children[$key])) {
- $this->children[$key]->setSelected();
- }
- }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Second.php b/airtime_mvc/library/pear/Calendar/Second.php
deleted file mode 100644
index b1b962b8b..000000000
--- a/airtime_mvc/library/pear/Calendar/Second.php
+++ /dev/null
@@ -1,122 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Second.php 300728 2010-06-24 11:43:56Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents a Second
- * Note: Seconds do not build other objects
- * so related methods are overridden to return NULL
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Second extends Calendar
-{
- /**
- * Constructs Second
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $d day e.g. 11
- * @param int $h hour e.g. 13
- * @param int $i minute e.g. 31
- * @param int $s second e.g. 45
- */
- function Calendar_Second($y, $m, $d, $h, $i, $s)
- {
- parent::Calendar($y, $m, $d, $h, $i, $s);
- }
-
- /**
- * Overwrite build
- *
- * @return NULL
- */
- function build()
- {
- return null;
- }
-
- /**
- * Overwrite fetch
- *
- * @return NULL
- */
- function fetch()
- {
- return null;
- }
-
- /**
- * Overwrite fetchAll
- *
- * @return NULL
- */
- function fetchAll()
- {
- return null;
- }
-
- /**
- * Overwrite size
- *
- * @return NULL
- */
- function size()
- {
- return null;
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Table/Helper.php b/airtime_mvc/library/pear/Calendar/Table/Helper.php
deleted file mode 100644
index c852dc083..000000000
--- a/airtime_mvc/library/pear/Calendar/Table/Helper.php
+++ /dev/null
@@ -1,316 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Helper.php 246317 2007-11-16 20:05:32Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Used by Calendar_Month_Weekdays, Calendar_Month_Weeks and Calendar_Week to
- * help with building the calendar in tabular form
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Table_Helper
-{
- /**
- * Instance of the Calendar object being helped.
- * @var object
- * @access private
- */
- var $calendar;
-
- /**
- * Instance of the Calendar_Engine
- * @var object
- * @access private
- */
- var $cE;
-
- /**
- * First day of the week
- * @access private
- * @var string
- */
- var $firstDay;
-
- /**
- * The seven days of the week named
- * @access private
- * @var array
- */
- var $weekDays;
-
- /**
- * Days of the week ordered with $firstDay at the beginning
- * @access private
- * @var array
- */
- var $daysOfWeek = array();
-
- /**
- * Days of the month built from days of the week
- * @access private
- * @var array
- */
- var $daysOfMonth = array();
-
- /**
- * Number of weeks in month
- * @var int
- * @access private
- */
- var $numWeeks = null;
-
- /**
- * Number of emtpy days before real days begin in month
- * @var int
- * @access private
- */
- var $emptyBefore = 0;
-
- /**
- * Constructs Calendar_Table_Helper
- *
- * @param object &$calendar Calendar_Month_Weekdays, Calendar_Month_Weeks, Calendar_Week
- * @param int $firstDay (optional) first day of the week e.g. 1 for Monday
- *
- * @access protected
- */
- function Calendar_Table_Helper(& $calendar, $firstDay=null)
- {
- $this->calendar = & $calendar;
- $this->cE = & $calendar->getEngine();
- if (is_null($firstDay)) {
- $firstDay = $this->cE->getFirstDayOfWeek(
- $this->calendar->thisYear(),
- $this->calendar->thisMonth(),
- $this->calendar->thisDay()
- );
- }
- $this->firstDay = $firstDay;
- $this->setFirstDay();
- $this->setDaysOfMonth();
- }
-
- /**
- * Constructs $this->daysOfWeek based on $this->firstDay
- *
- * @return void
- * @access private
- */
- function setFirstDay()
- {
- $weekDays = $this->cE->getWeekDays(
- $this->calendar->thisYear(),
- $this->calendar->thisMonth(),
- $this->calendar->thisDay()
- );
- $endDays = array();
- $tmpDays = array();
- $begin = false;
- foreach ($weekDays as $day) {
- if ($begin) {
- $endDays[] = $day;
- } else if ($day === $this->firstDay) {
- $begin = true;
- $endDays[] = $day;
- } else {
- $tmpDays[] = $day;
- }
- }
- $this->daysOfWeek = array_merge($endDays, $tmpDays);
- }
-
- /**
- * Constructs $this->daysOfMonth
- *
- * @return void
- * @access private
- */
- function setDaysOfMonth()
- {
- $this->daysOfMonth = $this->daysOfWeek;
- $daysInMonth = $this->cE->getDaysInMonth(
- $this->calendar->thisYear(), $this->calendar->thisMonth());
- $firstDayInMonth = $this->cE->getFirstDayInMonth(
- $this->calendar->thisYear(), $this->calendar->thisMonth());
- $this->emptyBefore=0;
- foreach ($this->daysOfMonth as $dayOfWeek) {
- if ($firstDayInMonth == $dayOfWeek) {
- break;
- }
- $this->emptyBefore++;
- }
- $this->numWeeks = ceil(
- ($daysInMonth + $this->emptyBefore)
- /
- $this->cE->getDaysInWeek(
- $this->calendar->thisYear(),
- $this->calendar->thisMonth(),
- $this->calendar->thisDay()
- )
- );
- for ($i=1; $i < $this->numWeeks; $i++) {
- $this->daysOfMonth =
- array_merge($this->daysOfMonth, $this->daysOfWeek);
- }
- }
-
- /**
- * Returns the first day of the month
- *
- * @return int
- * @access protected
- * @see Calendar_Engine_Interface::getFirstDayOfWeek()
- */
- function getFirstDay()
- {
- return $this->firstDay;
- }
-
- /**
- * Returns the order array of days in a week
- *
- * @return int
- * @access protected
- */
- function getDaysOfWeek()
- {
- return $this->daysOfWeek;
- }
-
- /**
- * Returns the number of tabular weeks in a month
- *
- * @return int
- * @access protected
- */
- function getNumWeeks()
- {
- return $this->numWeeks;
- }
-
- /**
- * Returns the number of real days + empty days
- *
- * @return int
- * @access protected
- */
- function getNumTableDaysInMonth()
- {
- return count($this->daysOfMonth);
- }
-
- /**
- * Returns the number of empty days before the real days begin
- *
- * @return int
- * @access protected
- */
- function getEmptyDaysBefore()
- {
- return $this->emptyBefore;
- }
-
- /**
- * Returns the index of the last real day in the month
- *
- * @todo Potential performance optimization with static
- * @return int
- * @access protected
- */
- function getEmptyDaysAfter()
- {
- // Causes bug when displaying more than one month
- //static $index;
- //if (!isset($index)) {
- $index = $this->getEmptyDaysBefore() + $this->cE->getDaysInMonth(
- $this->calendar->thisYear(), $this->calendar->thisMonth());
- //}
- return $index;
- }
-
- /**
- * Returns the index of the last real day in the month, relative to the
- * beginning of the tabular week it is part of
- *
- * @return int
- * @access protected
- */
- function getEmptyDaysAfterOffset()
- {
- $eAfter = $this->getEmptyDaysAfter();
- return $eAfter - (
- $this->cE->getDaysInWeek(
- $this->calendar->thisYear(),
- $this->calendar->thisMonth(),
- $this->calendar->thisDay()
- ) * ($this->numWeeks-1));
- }
-
- /**
- * Returns the timestamp of the first day of the current week
- *
- * @param int $y year
- * @param int $m month
- * @param int $d day
- * @param int $firstDay first day of the week (default 1 = Monday)
- *
- * @return int timestamp
- */
- function getWeekStart($y, $m, $d, $firstDay=1)
- {
- $dow = $this->cE->getDayOfWeek($y, $m, $d);
- if ($dow > $firstDay) {
- $d -= ($dow - $firstDay);
- }
- if ($dow < $firstDay) {
- $d -= (
- $this->cE->getDaysInWeek(
- $this->calendar->thisYear(),
- $this->calendar->thisMonth(),
- $this->calendar->thisDay()
- ) - $firstDay + $dow);
- }
- return $this->cE->dateToStamp($y, $m, $d);
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Util/Textual.php b/airtime_mvc/library/pear/Calendar/Util/Textual.php
deleted file mode 100644
index 109a00ba0..000000000
--- a/airtime_mvc/library/pear/Calendar/Util/Textual.php
+++ /dev/null
@@ -1,304 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Textual.php 247250 2007-11-28 19:42:01Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * @package Calendar
- * @version $Id: Textual.php 247250 2007-11-28 19:42:01Z quipo $
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar decorator base class
- */
-require_once CALENDAR_ROOT.'Decorator.php';
-
-/**
- * Static utlities to help with fetching textual representations of months and
- * days of the week.
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Util_Textual
-{
-
- /**
- * Returns an array of 12 month names (first index = 1)
- *
- * @param string $format (optional) format of returned months (one|two|short|long)
- *
- * @return array
- * @access public
- * @static
- */
- function monthNames($format = 'long')
- {
- $formats = array(
- 'one' => '%b',
- 'two' => '%b',
- 'short' => '%b',
- 'long' => '%B',
- );
- if (!array_key_exists($format, $formats)) {
- $format = 'long';
- }
- $months = array();
- for ($i=1; $i<=12; $i++) {
- $stamp = mktime(0, 0, 0, $i, 1, 2003);
- $month = strftime($formats[$format], $stamp);
- switch($format) {
- case 'one':
- $month = substr($month, 0, 1);
- break;
- case 'two':
- $month = substr($month, 0, 2);
- break;
- }
- $months[$i] = $month;
- }
- return $months;
- }
-
- /**
- * Returns an array of 7 week day names (first index = 0)
- *
- * @param string $format (optional) format of returned days (one,two,short or long)
- *
- * @return array
- * @access public
- * @static
- */
- function weekdayNames($format = 'long')
- {
- $formats = array(
- 'one' => '%a',
- 'two' => '%a',
- 'short' => '%a',
- 'long' => '%A',
- );
- if (!array_key_exists($format, $formats)) {
- $format = 'long';
- }
- $days = array();
- for ($i=0; $i<=6; $i++) {
- $stamp = mktime(0, 0, 0, 11, $i+2, 2003);
- $day = strftime($formats[$format], $stamp);
- switch($format) {
- case 'one':
- $day = substr($day, 0, 1);
- break;
- case 'two':
- $day = substr($day, 0, 2);
- break;
- }
- $days[$i] = $day;
- }
- return $days;
- }
-
- /**
- * Returns textual representation of the previous month of the decorated calendar object
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return string
- * @access public
- * @static
- */
- function prevMonthName($Calendar, $format = 'long')
- {
- $months = Calendar_Util_Textual::monthNames($format);
- return $months[$Calendar->prevMonth()];
- }
-
- /**
- * Returns textual representation of the month of the decorated calendar object
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return string
- * @access public
- * @static
- */
- function thisMonthName($Calendar, $format = 'long')
- {
- $months = Calendar_Util_Textual::monthNames($format);
- return $months[$Calendar->thisMonth()];
- }
-
- /**
- * Returns textual representation of the next month of the decorated calendar object
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return string
- * @access public
- * @static
- */
- function nextMonthName($Calendar, $format = 'long')
- {
- $months = Calendar_Util_Textual::monthNames($format);
- return $months[$Calendar->nextMonth()];
- }
-
- /**
- * Returns textual representation of the previous day of week of the decorated calendar object
- * Note: Requires PEAR::Date
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return string
- * @access public
- * @static
- */
- function prevDayName($Calendar, $format = 'long')
- {
- $days = Calendar_Util_Textual::weekdayNames($format);
- $stamp = $Calendar->prevDay('timestamp');
- $cE = $Calendar->getEngine();
- include_once 'Date/Calc.php';
- $day = Date_Calc::dayOfWeek($cE->stampToDay($stamp),
- $cE->stampToMonth($stamp), $cE->stampToYear($stamp));
- return $days[$day];
- }
-
- /**
- * Returns textual representation of the day of week of the decorated calendar object
- * Note: Requires PEAR::Date
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return string
- * @access public
- * @static
- */
- function thisDayName($Calendar, $format='long')
- {
- $days = Calendar_Util_Textual::weekdayNames($format);
- include_once 'Date/Calc.php';
- $day = Date_Calc::dayOfWeek($Calendar->thisDay(), $Calendar->thisMonth(), $Calendar->thisYear());
- return $days[$day];
- }
-
- /**
- * Returns textual representation of the next day of week of the decorated calendar object
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return string
- * @access public
- * @static
- */
- function nextDayName($Calendar, $format='long')
- {
- $days = Calendar_Util_Textual::weekdayNames($format);
- $stamp = $Calendar->nextDay('timestamp');
- $cE = $Calendar->getEngine();
- include_once 'Date/Calc.php';
- $day = Date_Calc::dayOfWeek($cE->stampToDay($stamp),
- $cE->stampToMonth($stamp), $cE->stampToYear($stamp));
- return $days[$day];
- }
-
- /**
- * Returns the days of the week using the order defined in the decorated
- * calendar object. Only useful for Calendar_Month_Weekdays, Calendar_Month_Weeks
- * and Calendar_Week. Otherwise the returned array will begin on Sunday
- *
- * @param object $Calendar subclass of Calendar e.g. Calendar_Month
- * @param string $format (optional) format of returned months (one,two,short or long)
- *
- * @return array ordered array of week day names
- * @access public
- * @static
- */
- function orderedWeekdays($Calendar, $format = 'long')
- {
- $days = Calendar_Util_Textual::weekdayNames($format);
-
- if (isset($Calendar->tableHelper)) {
- $ordereddays = $Calendar->tableHelper->getDaysOfWeek();
- } else {
- //default: start from Sunday
- $firstDay = 0;
- //check if defined / set
- if (defined('CALENDAR_FIRST_DAY_OF_WEEK')) {
- $firstDay = CALENDAR_FIRST_DAY_OF_WEEK;
- } elseif(isset($Calendar->firstDay)) {
- $firstDay = $Calendar->firstDay;
- }
- $ordereddays = array();
- for ($i = $firstDay; $i < 7; $i++) {
- $ordereddays[] = $i;
- }
- for ($i = 0; $i < $firstDay; $i++) {
- $ordereddays[] = $i;
- }
- }
-
- $ordereddays = array_flip($ordereddays);
- $i = 0;
- $returndays = array();
- foreach ($ordereddays as $key => $value) {
- $returndays[$i] = $days[$key];
- $i++;
- }
- return $returndays;
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Util/Uri.php b/airtime_mvc/library/pear/Calendar/Util/Uri.php
deleted file mode 100644
index 1490501f7..000000000
--- a/airtime_mvc/library/pear/Calendar/Util/Uri.php
+++ /dev/null
@@ -1,204 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Uri.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Utility to help building HTML links for navigating the calendar
- *
- * $Day = new Calendar_Day(2003, 10, 23);
- * $Uri = new Calendar_Util_Uri('year', 'month', 'day');
- * echo $Uri->prev($Day,'month'); // Displays year=2003&month=10
- * echo $Uri->prev($Day,'day'); // Displays year=2003&month=10&day=22
- * $Uri->seperator = '/';
- * $Uri->scalar = true;
- * echo $Uri->prev($Day,'month'); // Displays 2003/10
- * echo $Uri->prev($Day,'day'); // Displays 2003/10/22
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Util_Uri
-{
- /**
- * Uri fragments for year, month, day etc.
- * @var array
- * @access private
- */
- var $uris = array();
-
- /**
- * String to separate fragments with.
- * Set to just & for HTML.
- * For a scalar URL you might use / as the seperator
- * @var string (default XHTML &)
- * @access public
- */
- var $separator = '&';
-
- /**
- * To output a "scalar" string - variable names omitted.
- * Used for urls like index.php/2004/8/12
- * @var boolean (default false)
- * @access public
- */
- var $scalar = false;
-
- /**
- * Constructs Calendar_Decorator_Uri
- * The term "fragment" means name of a calendar GET variables in the URL
- *
- * @param string $y URI fragment for year
- * @param string $m (optional) URI fragment for month
- * @param string $d (optional) URI fragment for day
- * @param string $h (optional) URI fragment for hour
- * @param string $i (optional) URI fragment for minute
- * @param string $s (optional) URI fragment for second
- *
- * @access public
- */
- function Calendar_Util_Uri($y, $m=null, $d=null, $h=null, $i=null, $s=null)
- {
- $this->setFragments($y, $m, $d, $h, $i, $s);
- }
-
- /**
- * Sets the URI fragment names
- *
- * @param string $y URI fragment for year
- * @param string $m (optional) URI fragment for month
- * @param string $d (optional) URI fragment for day
- * @param string $h (optional) URI fragment for hour
- * @param string $i (optional) URI fragment for minute
- * @param string $s (optional) URI fragment for second
- *
- * @return void
- * @access public
- */
- function setFragments($y, $m=null, $d=null, $h=null, $i=null, $s=null)
- {
- if (!is_null($y)) $this->uris['Year'] = $y;
- if (!is_null($m)) $this->uris['Month'] = $m;
- if (!is_null($d)) $this->uris['Day'] = $d;
- if (!is_null($h)) $this->uris['Hour'] = $h;
- if (!is_null($i)) $this->uris['Minute'] = $i;
- if (!is_null($s)) $this->uris['Second'] = $s;
- }
-
- /**
- * Gets the URI string for the previous calendar unit
- *
- * @param object $Calendar subclassed from Calendar e.g. Calendar_Month
- * @param string $unit calendar unit (year|month|week|day|hour|minute|second)
- *
- * @return string
- * @access public
- */
- function prev($Calendar, $unit)
- {
- $method = 'prev'.$unit;
- $stamp = $Calendar->{$method}('timestamp');
- return $this->buildUriString($Calendar, $method, $stamp);
- }
-
- /**
- * Gets the URI string for the current calendar unit
- *
- * @param object $Calendar subclassed from Calendar e.g. Calendar_Month
- * @param string $unit calendar unit (year|month|week|day|hour|minute|second)
- *
- * @return string
- * @access public
- */
- function this($Calendar, $unit)
- {
- $method = 'this'.$unit;
- $stamp = $Calendar->{$method}('timestamp');
- return $this->buildUriString($Calendar, $method, $stamp);
- }
-
- /**
- * Gets the URI string for the next calendar unit
- *
- * @param object $Calendar subclassed from Calendar e.g. Calendar_Month
- * @param string $unit calendar unit (year|month|week|day|hour|minute|second)
- *
- * @return string
- * @access public
- */
- function next($Calendar, $unit)
- {
- $method = 'next'.$unit;
- $stamp = $Calendar->{$method}('timestamp');
- return $this->buildUriString($Calendar, $method, $stamp);
- }
-
- /**
- * Build the URI string
- *
- * @param object $Calendar subclassed from Calendar e.g. Calendar_Month
- * @param string $method method substring
- * @param int $stamp timestamp
- *
- * @return string build uri string
- * @access private
- */
- function buildUriString($Calendar, $method, $stamp)
- {
- $uriString = '';
- $cE = & $Calendar->getEngine();
- $separator = '';
- foreach ($this->uris as $unit => $uri) {
- $call = 'stampTo'.$unit;
- $uriString .= $separator;
- if (!$this->scalar) {
- $uriString .= $uri.'=';
- }
- $uriString .= $cE->{$call}($stamp);
- $separator = $this->separator;
- }
- return $uriString;
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Validator.php b/airtime_mvc/library/pear/Calendar/Validator.php
deleted file mode 100644
index a96c8e223..000000000
--- a/airtime_mvc/library/pear/Calendar/Validator.php
+++ /dev/null
@@ -1,377 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Validator.php 247251 2007-11-28 19:42:33Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Validation Error Messages
- */
-if (!defined('CALENDAR_VALUE_TOOSMALL')) {
- define('CALENDAR_VALUE_TOOSMALL', 'Too small: min = ');
-}
-if (!defined('CALENDAR_VALUE_TOOLARGE')) {
- define('CALENDAR_VALUE_TOOLARGE', 'Too large: max = ');
-}
-
-/**
- * Used to validate any given Calendar date object. Instances of this class
- * can be obtained from any data object using the getValidator method
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @see Calendar::getValidator()
- * @access public
- */
-class Calendar_Validator
-{
- /**
- * Instance of the Calendar date object to validate
- * @var object
- * @access private
- */
- var $calendar;
-
- /**
- * Instance of the Calendar_Engine
- * @var object
- * @access private
- */
- var $cE;
-
- /**
- * Array of errors for validation failures
- * @var array
- * @access private
- */
- var $errors = array();
-
- /**
- * Constructs Calendar_Validator
- *
- * @param object &$calendar subclass of Calendar
- *
- * @access public
- */
- function Calendar_Validator(&$calendar)
- {
- $this->calendar = & $calendar;
- $this->cE = & $calendar->getEngine();
- }
-
- /**
- * Calls all the other isValidXXX() methods in the validator
- *
- * @return boolean
- * @access public
- */
- function isValid()
- {
- $checks = array('isValidYear', 'isValidMonth', 'isValidDay',
- 'isValidHour', 'isValidMinute', 'isValidSecond');
- $valid = true;
- foreach ($checks as $check) {
- if (!$this->{$check}()) {
- $valid = false;
- }
- }
- return $valid;
- }
-
- /**
- * Check whether this is a valid year
- *
- * @return boolean
- * @access public
- */
- function isValidYear()
- {
- $y = $this->calendar->thisYear();
- $min = $this->cE->getMinYears();
- if ($min > $y) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Year', $y, CALENDAR_VALUE_TOOSMALL.$min);
- return false;
- }
- $max = $this->cE->getMaxYears();
- if ($y > $max) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Year', $y, CALENDAR_VALUE_TOOLARGE.$max);
- return false;
- }
- return true;
- }
-
- /**
- * Check whether this is a valid month
- *
- * @return boolean
- * @access public
- */
- function isValidMonth()
- {
- $m = $this->calendar->thisMonth();
- $min = 1;
- if ($min > $m) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Month', $m, CALENDAR_VALUE_TOOSMALL.$min);
- return false;
- }
- $max = $this->cE->getMonthsInYear($this->calendar->thisYear());
- if ($m > $max) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Month', $m, CALENDAR_VALUE_TOOLARGE.$max);
- return false;
- }
- return true;
- }
-
- /**
- * Check whether this is a valid day
- *
- * @return boolean
- * @access public
- */
- function isValidDay()
- {
- $d = $this->calendar->thisDay();
- $min = 1;
- if ($min > $d) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Day', $d, CALENDAR_VALUE_TOOSMALL.$min);
- return false;
- }
- $max = $this->cE->getDaysInMonth(
- $this->calendar->thisYear(),
- $this->calendar->thisMonth()
- );
- if ($d > $max) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Day', $d, CALENDAR_VALUE_TOOLARGE.$max);
- return false;
- }
- return true;
- }
-
- /**
- * Check whether this is a valid hour
- *
- * @return boolean
- * @access public
- */
- function isValidHour()
- {
- $h = $this->calendar->thisHour();
- $min = 0;
- if ($min > $h) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Hour', $h, CALENDAR_VALUE_TOOSMALL.$min);
- return false;
- }
- $max = ($this->cE->getHoursInDay($this->calendar->thisDay())-1);
- if ($h > $max) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Hour', $h, CALENDAR_VALUE_TOOLARGE.$max);
- return false;
- }
- return true;
- }
-
- /**
- * Check whether this is a valid minute
- *
- * @return boolean
- * @access public
- */
- function isValidMinute()
- {
- $i = $this->calendar->thisMinute();
- $min = 0;
- if ($min > $i) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Minute', $i, CALENDAR_VALUE_TOOSMALL.$min);
- return false;
- }
- $max = ($this->cE->getMinutesInHour($this->calendar->thisHour())-1);
- if ($i > $max) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Minute', $i, CALENDAR_VALUE_TOOLARGE.$max);
- return false;
- }
- return true;
- }
-
- /**
- * Check whether this is a valid second
- *
- * @return boolean
- * @access public
- */
- function isValidSecond()
- {
- $s = $this->calendar->thisSecond();
- $min = 0;
- if ($min > $s) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Second', $s, CALENDAR_VALUE_TOOSMALL.$min);
- return false;
- }
- $max = ($this->cE->getSecondsInMinute($this->calendar->thisMinute())-1);
- if ($s > $max) {
- $this->errors[] = new Calendar_Validation_Error(
- 'Second', $s, CALENDAR_VALUE_TOOLARGE.$max);
- return false;
- }
- return true;
- }
-
- /**
- * Iterates over any validation errors
- *
- * @return mixed either Calendar_Validation_Error or false
- * @access public
- */
- function fetch()
- {
- $error = each($this->errors);
- if ($error) {
- return $error['value'];
- } else {
- reset($this->errors);
- return false;
- }
- }
-}
-
-/**
- * For Validation Error messages
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @see Calendar::fetch()
- * @access public
- */
-class Calendar_Validation_Error
-{
- /**
- * Date unit (e.g. month,hour,second) which failed test
- * @var string
- * @access private
- */
- var $unit;
-
- /**
- * Value of unit which failed test
- * @var int
- * @access private
- */
- var $value;
-
- /**
- * Validation error message
- * @var string
- * @access private
- */
- var $message;
-
- /**
- * Constructs Calendar_Validation_Error
- *
- * @param string $unit Date unit (e.g. month,hour,second)
- * @param int $value Value of unit which failed test
- * @param string $message Validation error message
- *
- * @access protected
- */
- function Calendar_Validation_Error($unit, $value, $message)
- {
- $this->unit = $unit;
- $this->value = $value;
- $this->message = $message;
- }
-
- /**
- * Returns the Date unit
- *
- * @return string
- * @access public
- */
- function getUnit()
- {
- return $this->unit;
- }
-
- /**
- * Returns the value of the unit
- *
- * @return int
- * @access public
- */
- function getValue()
- {
- return $this->value;
- }
-
- /**
- * Returns the validation error message
- *
- * @return string
- * @access public
- */
- function getMessage()
- {
- return $this->message;
- }
-
- /**
- * Returns a string containing the unit, value and error message
- *
- * @return string
- * @access public
- */
- function toString ()
- {
- return $this->unit.' = '.$this->value.' ['.$this->message.']';
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Week.php b/airtime_mvc/library/pear/Calendar/Week.php
deleted file mode 100644
index 966128f2c..000000000
--- a/airtime_mvc/library/pear/Calendar/Week.php
+++ /dev/null
@@ -1,470 +0,0 @@
-
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Week.php 300729 2010-06-24 12:05:53Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents a Week and builds Days in tabular format
- *
- * require_once 'Calendar/Week.php';
- * $Week = new Calendar_Week(2003, 10, 1); Oct 2003, 1st tabular week
- * echo '';
- * while ($Day = & $Week->fetch()) {
- * if ($Day->isEmpty()) {
- * echo ' ';
- * } else {
- * echo ''.$Day->thisDay().' ';
- * }
- * }
- * echo ' ';
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @author Lorenzo Alberton
- * @copyright 2003-2007 Harry Fuecks, Lorenzo Alberton
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- */
-class Calendar_Week extends Calendar
-{
- /**
- * Instance of Calendar_Table_Helper
- * @var Calendar_Table_Helper
- * @access private
- */
- var $tableHelper;
-
- /**
- * Stores the timestamp of the first day of this week
- * @access private
- * @var object
- */
- var $thisWeek;
-
- /**
- * Stores the timestamp of first day of previous week
- * @access private
- * @var object
- */
- var $prevWeek;
-
- /**
- * Stores the timestamp of first day of next week
- * @access private
- * @var object
- */
- var $nextWeek;
-
- /**
- * Used by build() to set empty days
- * @access private
- * @var boolean
- */
- var $firstWeek = false;
-
- /**
- * Used by build() to set empty days
- * @access private
- * @var boolean
- */
- var $lastWeek = false;
-
- /**
- * First day of the week (0=sunday, 1=monday...)
- * @access private
- * @var boolean
- */
- var $firstDay = 1;
-
- /**
- * Constructs Week
- *
- * @param int $y year e.g. 2003
- * @param int $m month e.g. 5
- * @param int $d a day of the desired week
- * @param int $firstDay (optional) first day of week (e.g. 0 for Sunday, 2 for Tuesday etc.)
- *
- * @access public
- */
- function Calendar_Week($y, $m, $d, $firstDay = null)
- {
- include_once CALENDAR_ROOT.'Table/Helper.php';
- parent::Calendar($y, $m, $d);
- $this->firstDay = $this->defineFirstDayOfWeek($firstDay);
- $this->tableHelper = new Calendar_Table_Helper($this, $this->firstDay);
- $this->thisWeek = $this->tableHelper->getWeekStart($y, $m, $d, $this->firstDay);
- $this->prevWeek = $this->tableHelper->getWeekStart(
- $y,
- $m,
- $d - $this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- ),
- $this->firstDay
- );
- $this->nextWeek = $this->tableHelper->getWeekStart(
- $y,
- $m,
- $d + $this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- ),
- $this->firstDay
- );
- }
-
- /**
- * Defines the calendar by a timestamp (Unix or ISO-8601), replacing values
- * passed to the constructor
- *
- * @param int|string $ts Unix or ISO-8601 timestamp
- *
- * @return void
- * @access public
- */
- function setTimestamp($ts)
- {
- parent::setTimestamp($ts);
- $this->thisWeek = $this->tableHelper->getWeekStart(
- $this->year, $this->month, $this->day, $this->firstDay
- );
- $this->prevWeek = $this->tableHelper->getWeekStart(
- $this->year,
- $this->month,
- $this->day - $this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- ),
- $this->firstDay
- );
- $this->nextWeek = $this->tableHelper->getWeekStart(
- $this->year,
- $this->month,
- $this->day + $this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- ),
- $this->firstDay
- );
- }
-
- /**
- * Builds Calendar_Day objects for this Week
- *
- * @param array $sDates (optional) Calendar_Day objects representing selected dates
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array())
- {
- include_once CALENDAR_ROOT.'Day.php';
- $year = $this->cE->stampToYear($this->thisWeek);
- $month = $this->cE->stampToMonth($this->thisWeek);
- $day = $this->cE->stampToDay($this->thisWeek);
- $end = $this->cE->getDaysInWeek(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay()
- );
-
- for ($i=1; $i <= $end; $i++) {
- $stamp = $this->cE->dateToStamp($year, $month, $day++);
- $this->children[$i] = new Calendar_Day(
- $this->cE->stampToYear($stamp),
- $this->cE->stampToMonth($stamp),
- $this->cE->stampToDay($stamp)
- );
- }
-
- //set empty days (@see Calendar_Month_Weeks::build())
- if ($this->firstWeek) {
- $eBefore = $this->tableHelper->getEmptyDaysBefore();
- for ($i=1; $i <= $eBefore; $i++) {
- $this->children[$i]->setEmpty();
- }
- }
- if ($this->lastWeek) {
- $eAfter = $this->tableHelper->getEmptyDaysAfterOffset();
- for ($i = $eAfter+1; $i <= $end; $i++) {
- $this->children[$i]->setEmpty();
- }
- }
-
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Set as first week of the month
- *
- * @param boolean $state whether it's first or not
- *
- * @return void
- * @access private
- */
- function setFirst($state = true)
- {
- $this->firstWeek = $state;
- }
-
- /**
- * Set as last week of the month
- *
- * @param boolean $state whether it's lasst or not
- *
- * @return void
- * @access private
- */
- function setLast($state = true)
- {
- $this->lastWeek = $state;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates Calendar_Day objects representing selected dates
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- foreach ($this->children as $key => $child) {
- if ($child->thisDay() == $sDate->thisDay() &&
- $child->thisMonth() == $sDate->thisMonth() &&
- $child->thisYear() == $sDate->thisYear()
- ) {
- $this->children[$key] = $sDate;
- $this->children[$key]->setSelected();
- }
- }
- }
- reset($this->children);
- }
-
- /**
- * Returns the value for this year
- *
- * When a on the first/last week of the year, the year of the week is
- * calculated according to ISO-8601
- *
- * @param string $format return value format ['int' | 'timestamp' | 'object' | 'array']
- *
- * @return int e.g. 2003 or timestamp
- * @access public
- */
- function thisYear($format = 'int')
- {
- if (null !== $this->thisWeek) {
- $tmp_cal = new Calendar();
- $tmp_cal->setTimestamp($this->thisWeek);
- $first_dow = $tmp_cal->thisDay('array');
- $days_in_week = $tmp_cal->cE->getDaysInWeek($tmp_cal->year, $tmp_cal->month, $tmp_cal->day);
- $tmp_cal->day += $days_in_week;
- $last_dow = $tmp_cal->thisDay('array');
-
- if ($first_dow['year'] == $last_dow['year']) {
- return $first_dow['year'];
- }
-
- if ($last_dow['day'] > floor($days_in_week / 2)) {
- return $last_dow['year'];
- }
- return $first_dow['year'];
- }
- return parent::thisYear();
- }
-
- /**
- * Gets the value of the previous week, according to the requested format
- *
- * @param string $format ['timestamp' | 'n_in_month' | 'n_in_year' | 'array']
- *
- * @return mixed
- * @access public
- */
- function prevWeek($format = 'n_in_month')
- {
- switch (strtolower($format)) {
- case 'int':
- case 'n_in_month':
- return ($this->firstWeek) ? null : $this->thisWeek('n_in_month') -1;
- case 'n_in_year':
- return $this->cE->getWeekNInYear(
- $this->cE->stampToYear($this->prevWeek),
- $this->cE->stampToMonth($this->prevWeek),
- $this->cE->stampToDay($this->prevWeek));
- case 'array':
- return $this->toArray($this->prevWeek);
- case 'object':
- include_once CALENDAR_ROOT.'Factory.php';
- return Calendar_Factory::createByTimestamp('Week', $this->prevWeek);
- case 'timestamp':
- default:
- return $this->prevWeek;
- }
- }
-
- /**
- * Gets the value of the current week, according to the requested format
- *
- * @param string $format ['timestamp' | 'n_in_month' | 'n_in_year' | 'array']
- *
- * @return mixed
- * @access public
- */
- function thisWeek($format = 'n_in_month')
- {
- switch (strtolower($format)) {
- case 'int':
- case 'n_in_month':
- if ($this->firstWeek) {
- return 1;
- }
- if ($this->lastWeek) {
- return $this->cE->getWeeksInMonth(
- $this->thisYear(),
- $this->thisMonth(),
- $this->firstDay);
- }
- return $this->cE->getWeekNInMonth(
- $this->thisYear(),
- $this->thisMonth(),
- $this->thisDay(),
- $this->firstDay);
- case 'n_in_year':
- return $this->cE->getWeekNInYear(
- $this->cE->stampToYear($this->thisWeek),
- $this->cE->stampToMonth($this->thisWeek),
- $this->cE->stampToDay($this->thisWeek));
- case 'array':
- return $this->toArray($this->thisWeek);
- case 'object':
- include_once CALENDAR_ROOT.'Factory.php';
- return Calendar_Factory::createByTimestamp('Week', $this->thisWeek);
- case 'timestamp':
- default:
- return $this->thisWeek;
- }
- }
-
- /**
- * Gets the value of the following week, according to the requested format
- *
- * @param string $format ['timestamp' | 'n_in_month' | 'n_in_year' | 'array']
- *
- * @return mixed
- * @access public
- */
- function nextWeek($format = 'n_in_month')
- {
- switch (strtolower($format)) {
- case 'int':
- case 'n_in_month':
- return ($this->lastWeek) ? null : $this->thisWeek('n_in_month') +1;
- case 'n_in_year':
- return $this->cE->getWeekNInYear(
- $this->cE->stampToYear($this->nextWeek),
- $this->cE->stampToMonth($this->nextWeek),
- $this->cE->stampToDay($this->nextWeek));
- case 'array':
- return $this->toArray($this->nextWeek);
- case 'object':
- include_once CALENDAR_ROOT.'Factory.php';
- return Calendar_Factory::createByTimestamp('Week', $this->nextWeek);
- case 'timestamp':
- default:
- return $this->nextWeek;
- }
- }
-
- /**
- * Returns the instance of Calendar_Table_Helper.
- * Called from Calendar_Validator::isValidWeek
- *
- * @return Calendar_Table_Helper
- * @access protected
- */
- function & getHelper()
- {
- return $this->tableHelper;
- }
-
- /**
- * Makes sure theres a value for $this->day
- *
- * @return void
- * @access private
- */
- function findFirstDay()
- {
- if (!count($this->children) > 0) {
- $this->build();
- foreach ($this->children as $Day) {
- if (!$Day->isEmpty()) {
- $this->day = $Day->thisDay();
- break;
- }
- }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/Year.php b/airtime_mvc/library/pear/Calendar/Year.php
deleted file mode 100644
index a52f8dd25..000000000
--- a/airtime_mvc/library/pear/Calendar/Year.php
+++ /dev/null
@@ -1,140 +0,0 @@
-
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @version CVS: $Id: Year.php 300728 2010-06-24 11:43:56Z quipo $
- * @link http://pear.php.net/package/Calendar
- */
-
-/**
- * Allows Calendar include path to be redefined
- * @ignore
- */
-if (!defined('CALENDAR_ROOT')) {
- define('CALENDAR_ROOT', 'Calendar'.DIRECTORY_SEPARATOR);
-}
-
-/**
- * Load Calendar base class
- */
-require_once CALENDAR_ROOT.'Calendar.php';
-
-/**
- * Represents a Year and builds Months
- *
- * require_once 'Calendar'.DIRECTORY_SEPARATOR.'Year.php';
- * $Year = & new Calendar_Year(2003, 10, 21); // 21st Oct 2003
- * $Year->build(); // Build Calendar_Month objects
- * while ($Month = & $Year->fetch()) {
- * echo $Month->thisMonth().' ';
- * }
- *
- *
- * @category Date and Time
- * @package Calendar
- * @author Harry Fuecks
- * @copyright 2003-2007 Harry Fuecks
- * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause)
- * @link http://pear.php.net/package/Calendar
- * @access public
- */
-class Calendar_Year extends Calendar
-{
- /**
- * Constructs Calendar_Year
- *
- * @param int $y year e.g. 2003
- *
- * @access public
- */
- function Calendar_Year($y)
- {
- parent::Calendar($y);
- }
-
- /**
- * Builds the Months of the Year.
- * Note: by defining the constant CALENDAR_MONTH_STATE you can
- * control what class of Calendar_Month is built e.g.;
- *
- * require_once 'Calendar/Calendar_Year.php';
- * define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH_WEEKDAYS); // Use Calendar_Month_Weekdays
- * // define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH_WEEKS); // Use Calendar_Month_Weeks
- * // define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH); // Use Calendar_Month
- *
- * It defaults to building Calendar_Month objects.
- *
- * @param array $sDates (optional) array of Calendar_Month objects
- * representing selected dates
- * @param int $firstDay (optional) first day of week
- * (e.g. 0 for Sunday, 2 for Tuesday etc.)
- *
- * @return boolean
- * @access public
- */
- function build($sDates = array(), $firstDay = null)
- {
- include_once CALENDAR_ROOT.'Factory.php';
- $this->firstDay = $this->defineFirstDayOfWeek($firstDay);
- $monthsInYear = $this->cE->getMonthsInYear($this->thisYear());
- for ($i=1; $i <= $monthsInYear; $i++) {
- $this->children[$i] = Calendar_Factory::create('Month', $this->year, $i);
- }
- if (count($sDates) > 0) {
- $this->setSelection($sDates);
- }
- return true;
- }
-
- /**
- * Called from build()
- *
- * @param array $sDates array of Calendar_Month objects representing selected dates
- *
- * @return void
- * @access private
- */
- function setSelection($sDates)
- {
- foreach ($sDates as $sDate) {
- if ($this->year == $sDate->thisYear()) {
- $key = $sDate->thisMonth();
- if (isset($this->children[$key])) {
- $sDate->setSelected();
- $this->children[$key] = $sDate;
- }
- }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/Readme b/airtime_mvc/library/pear/Calendar/docs/Readme
deleted file mode 100644
index 6bacca0f3..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/Readme
+++ /dev/null
@@ -1,3 +0,0 @@
-Readme
-
-See the PEAR manual at http://pear.php.net/manual/en/package.datetime.calendar.php for details.
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/1.php b/airtime_mvc/library/pear/Calendar/docs/examples/1.php
deleted file mode 100644
index 662a17da5..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/1.php
+++ /dev/null
@@ -1,92 +0,0 @@
-' );
-echo ( 'The time is now: '.date('Y M d H:i:s',$c->getTimestamp()).' ' );
-
-$i = 1;
-echo ( 'First Iteration ' );
-echo ( 'The first iteration is more "expensive", the calendar data
- structures having to be built.
' );
-$start = getmicrotime();
-$c->build();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-
-$i = 1;
-echo ( 'Second Iteration ' );
-echo ( 'This second iteration is faster, the data structures
- being re-used
' );
-$start = getmicrotime();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/1.phps b/airtime_mvc/library/pear/Calendar/docs/examples/1.phps
deleted file mode 100644
index 662a17da5..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/1.phps
+++ /dev/null
@@ -1,92 +0,0 @@
-' );
-echo ( 'The time is now: '.date('Y M d H:i:s',$c->getTimestamp()).' ' );
-
-$i = 1;
-echo ( 'First Iteration ' );
-echo ( 'The first iteration is more "expensive", the calendar data
- structures having to be built.
' );
-$start = getmicrotime();
-$c->build();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-
-$i = 1;
-echo ( 'Second Iteration ' );
-echo ( 'This second iteration is faster, the data structures
- being re-used
' );
-$start = getmicrotime();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/10.php b/airtime_mvc/library/pear/Calendar/docs/examples/10.php
deleted file mode 100644
index c9d92e026..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/10.php
+++ /dev/null
@@ -1,93 +0,0 @@
-build();
-?>
-
-
-
-
- A Simple Decorator
-
-
-A Simple Decorator
-
-thisMonth() ); ?>
-fetch() ) {
- if ( $Day->isFirst() ) {
- echo ( "\n\n" );
- }
- if ( $Day->isEmpty() ) {
- echo ( " " );
- } else {
- echo ( "".$Day->thisDay()." " );
- }
- if ( $Day->isLast() ) {
- echo ( "\n \n" );
- }
-}
-?>
-
-Prev
-
-Next
-
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/10.phps b/airtime_mvc/library/pear/Calendar/docs/examples/10.phps
deleted file mode 100644
index c9d92e026..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/10.phps
+++ /dev/null
@@ -1,93 +0,0 @@
-build();
-?>
-
-
-
-
- A Simple Decorator
-
-
-A Simple Decorator
-
-thisMonth() ); ?>
-fetch() ) {
- if ( $Day->isFirst() ) {
- echo ( "\n\n" );
- }
- if ( $Day->isEmpty() ) {
- echo ( " " );
- } else {
- echo ( "".$Day->thisDay()." " );
- }
- if ( $Day->isLast() ) {
- echo ( "\n \n" );
- }
-}
-?>
-
-Prev
-
-Next
-
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/11.php b/airtime_mvc/library/pear/Calendar/docs/examples/11.php
deleted file mode 100644
index 281dc8c70..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/11.php
+++ /dev/null
@@ -1,109 +0,0 @@
-entry = $entry;
- }
- function getEntry() {
- return $this->entry;
- }
-}
-
-// Create a day to view the hours for
-$Day = & new Calendar_Day(2003,10,24);
-
-// A sample query to get the data for today (NOT ACTUALLY USED HERE)
-$sql = "
- SELECT
- *
- FROM
- diary
- WHERE
- eventtime >= '".$Day->thisDay(TRUE)."'
- AND
- eventtime < '".$Day->nextDay(TRUE)."';";
-
-// An array simulating data from a database
-$result = array (
- array('eventtime'=>mktime(9,0,0,10,24,2003),'entry'=>'Meeting with sales team'),
- array('eventtime'=>mktime(11,0,0,10,24,2003),'entry'=>'Conference call with Widget Inc.'),
- array('eventtime'=>mktime(15,0,0,10,24,2003),'entry'=>'Presentation to board of directors')
- );
-
-// An array to place selected hours in
-$selection = array();
-
-// Loop through the "database result"
-foreach ( $result as $row ) {
- $Hour = new Calendar_Hour(2000,1,1,1); // Create Hour with dummy values
- $Hour->setTimeStamp($row['eventtime']); // Set the real time with setTimeStamp
-
- // Create the decorator, passing it the Hour
- $DiaryEvent = new DiaryEvent($Hour);
-
- // Attach the payload
- $DiaryEvent->setEntry($row['entry']);
-
- // Add the decorator to the selection
- $selection[] = $DiaryEvent;
-}
-
-// Build the hours in that day, passing the selection
-$Day->build($selection);
-?>
-
-
-
- Passing a Selection Payload with a Decorator
-
-
-Passing a Selection "Payload" using a Decorator
-
-Your Schedule for thisDay(TRUE)) ); ?>
-
-Time
-Entry
-
-fetch() ) {
-
- $hour = $Hour->thisHour();
- $minute = $Hour->thisMinute();
-
- // Office hours only...
- if ( $hour >= 8 && $hour <= 18 ) {
- echo ( "\n" );
- echo ( "$hour:$minute \n" );
-
- // If the hour is selected, call the decorator method...
- if ( $Hour->isSelected() ) {
- echo ( "".$Hour->getEntry()." \n" );
- } else {
- echo ( " \n" );
- }
- echo ( " \n" );
- }
-}
-?>
-
-The query to fetch this data, with help from PEAR::Calendar, might be;
-
-
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/11.phps b/airtime_mvc/library/pear/Calendar/docs/examples/11.phps
deleted file mode 100644
index 281dc8c70..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/11.phps
+++ /dev/null
@@ -1,109 +0,0 @@
-entry = $entry;
- }
- function getEntry() {
- return $this->entry;
- }
-}
-
-// Create a day to view the hours for
-$Day = & new Calendar_Day(2003,10,24);
-
-// A sample query to get the data for today (NOT ACTUALLY USED HERE)
-$sql = "
- SELECT
- *
- FROM
- diary
- WHERE
- eventtime >= '".$Day->thisDay(TRUE)."'
- AND
- eventtime < '".$Day->nextDay(TRUE)."';";
-
-// An array simulating data from a database
-$result = array (
- array('eventtime'=>mktime(9,0,0,10,24,2003),'entry'=>'Meeting with sales team'),
- array('eventtime'=>mktime(11,0,0,10,24,2003),'entry'=>'Conference call with Widget Inc.'),
- array('eventtime'=>mktime(15,0,0,10,24,2003),'entry'=>'Presentation to board of directors')
- );
-
-// An array to place selected hours in
-$selection = array();
-
-// Loop through the "database result"
-foreach ( $result as $row ) {
- $Hour = new Calendar_Hour(2000,1,1,1); // Create Hour with dummy values
- $Hour->setTimeStamp($row['eventtime']); // Set the real time with setTimeStamp
-
- // Create the decorator, passing it the Hour
- $DiaryEvent = new DiaryEvent($Hour);
-
- // Attach the payload
- $DiaryEvent->setEntry($row['entry']);
-
- // Add the decorator to the selection
- $selection[] = $DiaryEvent;
-}
-
-// Build the hours in that day, passing the selection
-$Day->build($selection);
-?>
-
-
-
- Passing a Selection Payload with a Decorator
-
-
-Passing a Selection "Payload" using a Decorator
-
-Your Schedule for thisDay(TRUE)) ); ?>
-
-Time
-Entry
-
-fetch() ) {
-
- $hour = $Hour->thisHour();
- $minute = $Hour->thisMinute();
-
- // Office hours only...
- if ( $hour >= 8 && $hour <= 18 ) {
- echo ( "\n" );
- echo ( "$hour:$minute \n" );
-
- // If the hour is selected, call the decorator method...
- if ( $Hour->isSelected() ) {
- echo ( "".$Hour->getEntry()." \n" );
- } else {
- echo ( " \n" );
- }
- echo ( " \n" );
- }
-}
-?>
-
-The query to fetch this data, with help from PEAR::Calendar, might be;
-
-
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/12.php b/airtime_mvc/library/pear/Calendar/docs/examples/12.php
deleted file mode 100644
index 0096d21ce..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/12.php
+++ /dev/null
@@ -1,116 +0,0 @@
-build();
-?>
-
-
-
- thisYear() ); ?>
-
-
-
-
-
-thisYear() ); ?>
-
-
-
-fetch() ) {
-
- switch ( $i ) {
- case 0:
- echo ( "\n" );
- break;
- case 3:
- case 6:
- case 9:
- echo ( " \n\n" );
- break;
- case 12:
- echo ( " \n" );
- break;
- }
-
- echo ( "\n\n" );
- echo ( "".date('F',$Month->thisMonth(TRUE))." " );
- echo ( "\nM T W T F S S \n " );
- $Month->build();
- while ( $Day = $Month->fetch() ) {
- if ( $Day->isFirst() ) {
- echo ( "\n" );
- }
- if ( $Day->isEmpty() ) {
- echo ( " \n" );
- } else {
- echo ( "".$Day->thisDay()." \n" );
- }
- if ( $Day->isLast() ) {
- echo ( " \n" );
- }
- }
- echo ( "
\n \n" );
-
- $i++;
-}
-?>
-
-Took:
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/12.phps b/airtime_mvc/library/pear/Calendar/docs/examples/12.phps
deleted file mode 100644
index 0096d21ce..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/12.phps
+++ /dev/null
@@ -1,116 +0,0 @@
-build();
-?>
-
-
-
- thisYear() ); ?>
-
-
-
-
-
-thisYear() ); ?>
-
-
-
-fetch() ) {
-
- switch ( $i ) {
- case 0:
- echo ( "\n" );
- break;
- case 3:
- case 6:
- case 9:
- echo ( " \n\n" );
- break;
- case 12:
- echo ( " \n" );
- break;
- }
-
- echo ( "\n\n" );
- echo ( "".date('F',$Month->thisMonth(TRUE))." " );
- echo ( "\nM T W T F S S \n " );
- $Month->build();
- while ( $Day = $Month->fetch() ) {
- if ( $Day->isFirst() ) {
- echo ( "\n" );
- }
- if ( $Day->isEmpty() ) {
- echo ( " \n" );
- } else {
- echo ( "".$Day->thisDay()." \n" );
- }
- if ( $Day->isLast() ) {
- echo ( " \n" );
- }
- }
- echo ( "
\n \n" );
-
- $i++;
-}
-?>
-
-Took:
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/13.php b/airtime_mvc/library/pear/Calendar/docs/examples/13.php
deleted file mode 100644
index 4fb0f317e..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/13.php
+++ /dev/null
@@ -1,99 +0,0 @@
-getTimestamp());
-
-echo ( 'Using PEAR::Date engine ' );
-echo ( 'Viewing: '.@$_GET['view'].' ' );
-echo ( 'The time is now: '.$date->format('%Y %a %e %T').' ' );
-
-$i = 1;
-echo ( 'First Iteration ' );
-echo ( 'The first iteration is more "expensive", the calendar data
- structures having to be built.
' );
-$start = getmicrotime();
-$c->build();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-
-$i = 1;
-echo ( 'Second Iteration ' );
-echo ( 'This second iteration is faster, the data structures
- being re-used
' );
-$start = getmicrotime();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/13.phps b/airtime_mvc/library/pear/Calendar/docs/examples/13.phps
deleted file mode 100644
index 4fb0f317e..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/13.phps
+++ /dev/null
@@ -1,99 +0,0 @@
-getTimestamp());
-
-echo ( 'Using PEAR::Date engine ' );
-echo ( 'Viewing: '.@$_GET['view'].' ' );
-echo ( 'The time is now: '.$date->format('%Y %a %e %T').' ' );
-
-$i = 1;
-echo ( 'First Iteration ' );
-echo ( 'The first iteration is more "expensive", the calendar data
- structures having to be built.
' );
-$start = getmicrotime();
-$c->build();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-
-$i = 1;
-echo ( 'Second Iteration ' );
-echo ( 'This second iteration is faster, the data structures
- being re-used
' );
-$start = getmicrotime();
-while ( $e = $c->fetch() ) {
- $class = strtolower(get_class($e));
- $link ="&y=".$e->thisYear()."&m=".$e->thisMonth()."&d=".$e->thisDay().
- "&h=".$e->thisHour()."&i=".$e->thisMinute()."&s=".$e->thisSecond();
- $method = 'this'.str_replace('calendar_','',$class);
- echo ( "".$e->{$method}()." : " );
- if ( ($i % 10) == 0 ) {
- echo ( ' ' );
- }
- $i++;
-}
-echo ( 'Took: '.(getmicrotime()-$start).' seconds
' );
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/14.php b/airtime_mvc/library/pear/Calendar/docs/examples/14.php
deleted file mode 100644
index b1c520c80..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/14.php
+++ /dev/null
@@ -1,141 +0,0 @@
-build($selectedDays);
-
-// Construct strings for next/previous links
-$PMonth = $month->prevMonth('object'); // Get previous month as object
-$prev = $_SERVER['PHP_SELF'].'?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay();
-$NMonth = $month->nextMonth('object');
-$next = $_SERVER['PHP_SELF'].'?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay();
-
-$thisDate = new Date($month->thisMonth('timestamp'));
-?>
-
-
-
- Calendar using PEAR::Date Engine
-
-
-
-
-
-Calendar using PEAR::Date Engine
-
-
-format('%B %Y'); ?>
-
-
-M
-T
-W
-T
-F
-S
-S
-
-fetch()) {
- // Build a link string for each day
- $link = $_SERVER['PHP_SELF'].
- '?y='.$day->thisYear().
- '&m='.$day->thisMonth().
- '&d='.$day->thisDay();
-
- // isFirst() to find start of week
- if ($day->isFirst())
- echo "\n";
-
- if ($day->isSelected()) {
- echo ''.$day->thisDay().' '."\n";
- } else if ($day->isEmpty()) {
- echo ' '."\n";
- } else {
- echo ''.$day->thisDay().' '."\n";
- }
-
- // isLast() to find end of week
- if ($day->isLast()) {
- echo " \n";
- }
-}
-?>
-
-
-<<
-
-
-
- >>
-
-
-
-Took: '.(getmicrotime()-$start).' seconds ';
-?>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/14.phps b/airtime_mvc/library/pear/Calendar/docs/examples/14.phps
deleted file mode 100644
index b1c520c80..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/14.phps
+++ /dev/null
@@ -1,141 +0,0 @@
-build($selectedDays);
-
-// Construct strings for next/previous links
-$PMonth = $month->prevMonth('object'); // Get previous month as object
-$prev = $_SERVER['PHP_SELF'].'?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay();
-$NMonth = $month->nextMonth('object');
-$next = $_SERVER['PHP_SELF'].'?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay();
-
-$thisDate = new Date($month->thisMonth('timestamp'));
-?>
-
-
-
- Calendar using PEAR::Date Engine
-
-
-
-
-
-Calendar using PEAR::Date Engine
-
-
-format('%B %Y'); ?>
-
-
-M
-T
-W
-T
-F
-S
-S
-
-fetch()) {
- // Build a link string for each day
- $link = $_SERVER['PHP_SELF'].
- '?y='.$day->thisYear().
- '&m='.$day->thisMonth().
- '&d='.$day->thisDay();
-
- // isFirst() to find start of week
- if ($day->isFirst())
- echo "\n";
-
- if ($day->isSelected()) {
- echo ''.$day->thisDay().' '."\n";
- } else if ($day->isEmpty()) {
- echo ' '."\n";
- } else {
- echo ''.$day->thisDay().' '."\n";
- }
-
- // isLast() to find end of week
- if ($day->isLast()) {
- echo " \n";
- }
-}
-?>
-
-
-<<
-
-
-
- >>
-
-
-
-Took: '.(getmicrotime()-$start).' seconds ';
-?>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/15.php b/airtime_mvc/library/pear/Calendar/docs/examples/15.php
deleted file mode 100644
index c13adc563..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/15.php
+++ /dev/null
@@ -1,58 +0,0 @@
-getValidator();
-if (!$Validator->isValidWeek()) {
- die ('Please enter a valid week!');
-}
-*/
-?>
-
-
-
- Paging Weeks
-
-
-Paging Weeks
-Week: thisWeek().' '.date('F Y',$Week->thisMonth(true)); ?>
-build();
-while ($Day = $Week->fetch()) {
- echo ''.date('jS F',$Day->thisDay(true))."
\n";
-}
-$days = $Week->fetchAll();
-
-$prevWeek = $Week->prevWeek('array');
-$prevWeekLink = $_SERVER['PHP_SELF'].
- '?y='.$prevWeek['year'].
- '&m='.$prevWeek['month'].
- '&d='.$prevWeek['day'];
-
-$nextWeek = $Week->nextWeek('array');
-$nextWeekLink = $_SERVER['PHP_SELF'].
- '?y='.$nextWeek['year'].
- '&m='.$nextWeek['month'].
- '&d='.$nextWeek['day'];
-?>
-<< | >>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/15.phps b/airtime_mvc/library/pear/Calendar/docs/examples/15.phps
deleted file mode 100644
index c13adc563..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/15.phps
+++ /dev/null
@@ -1,58 +0,0 @@
-getValidator();
-if (!$Validator->isValidWeek()) {
- die ('Please enter a valid week!');
-}
-*/
-?>
-
-
-
- Paging Weeks
-
-
-Paging Weeks
-Week: thisWeek().' '.date('F Y',$Week->thisMonth(true)); ?>
-build();
-while ($Day = $Week->fetch()) {
- echo ''.date('jS F',$Day->thisDay(true))."
\n";
-}
-$days = $Week->fetchAll();
-
-$prevWeek = $Week->prevWeek('array');
-$prevWeekLink = $_SERVER['PHP_SELF'].
- '?y='.$prevWeek['year'].
- '&m='.$prevWeek['month'].
- '&d='.$prevWeek['day'];
-
-$nextWeek = $Week->nextWeek('array');
-$nextWeekLink = $_SERVER['PHP_SELF'].
- '?y='.$nextWeek['year'].
- '&m='.$nextWeek['month'].
- '&d='.$nextWeek['day'];
-?>
-<< | >>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/16.php b/airtime_mvc/library/pear/Calendar/docs/examples/16.php
deleted file mode 100644
index 2551708a3..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/16.php
+++ /dev/null
@@ -1,31 +0,0 @@
-The current month is '
- .$Calendar->thisMonth().' of year '.$Calendar->thisYear().'');
-
-$Uri = & new Calendar_Decorator_Uri($Calendar);
-$Uri->setFragments('jahr','monat');
-// $Uri->setSeperator('/'); // Default is &
-// $Uri->setScalar(); // Omit variable names
-echo ( "Previous Uri:\t".$Uri->prev('month')."\n" );
-echo ( "This Uri:\t".$Uri->this('month')."\n" );
-echo ( "Next Uri:\t".$Uri->next('month')."\n " );
-?>
-
-Prev :
-Next
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/16.phps b/airtime_mvc/library/pear/Calendar/docs/examples/16.phps
deleted file mode 100644
index 2551708a3..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/16.phps
+++ /dev/null
@@ -1,31 +0,0 @@
-The current month is '
- .$Calendar->thisMonth().' of year '.$Calendar->thisYear().'');
-
-$Uri = & new Calendar_Decorator_Uri($Calendar);
-$Uri->setFragments('jahr','monat');
-// $Uri->setSeperator('/'); // Default is &
-// $Uri->setScalar(); // Omit variable names
-echo ( "Previous Uri:\t".$Uri->prev('month')."\n" );
-echo ( "This Uri:\t".$Uri->this('month')."\n" );
-echo ( "Next Uri:\t".$Uri->next('month')."\n " );
-?>
-
-Prev :
-Next
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/17.php b/airtime_mvc/library/pear/Calendar/docs/examples/17.php
deleted file mode 100644
index 0cfebce3c..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/17.php
+++ /dev/null
@@ -1,71 +0,0 @@
-Calling: Calendar_Decorator_Textual::monthNames('long');";
-print_r(Calendar_Decorator_Textual::monthNames('long'));
-echo ' ';
-
-echo " Calling: Calendar_Decorator_Textual::weekdayNames('two');";
-print_r(Calendar_Decorator_Textual::weekdayNames('two'));
-echo ' ';
-
-echo " Creating: new Calendar_Day(date('Y'), date('n'), date('d')); ";
-$Calendar = new Calendar_Day(date('Y'), date('n'), date('d'));
-
-// Decorate
-$Textual = & new Calendar_Decorator_Textual($Calendar);
-
-echo ' Previous month is: '.$Textual->prevMonthName('two').' ';
-echo 'This month is: '.$Textual->thisMonthName('short').' ';
-echo 'Next month is: '.$Textual->nextMonthName().' ';
-echo 'Previous day is: '.$Textual->prevDayName().' ';
-echo 'This day is: '.$Textual->thisDayName('short').' ';
-echo 'Next day is: '.$Textual->nextDayName('one').' ';
-
-echo "Creating: new Calendar_Month_Weekdays(date('Y'), date('n'), 6); - Saturday is first day of week ";
-$Calendar = new Calendar_Month_Weekdays(date('Y'), date('n'), 6);
-
-// Decorate
-$Textual = & new Calendar_Decorator_Textual($Calendar);
-?>
-Rendering calendar....
-
-thisMonthName().' '.$Textual->thisYear(); ?>
-
-orderedWeekdays('short');
-foreach ($dayheaders as $dayheader) {
- echo ''.$dayheader.' ';
-}
-?>
-
-build();
-while ($Day = $Calendar->fetch()) {
- if ($Day->isFirst()) {
- echo "\n";
- }
- if ($Day->isEmpty()) {
- echo ' ';
- } else {
- echo ''.$Day->thisDay().' ';
- }
- if ($Day->isLast()) {
- echo " \n";
- }
-}
-?>
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/17.phps b/airtime_mvc/library/pear/Calendar/docs/examples/17.phps
deleted file mode 100644
index 0cfebce3c..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/17.phps
+++ /dev/null
@@ -1,71 +0,0 @@
-Calling: Calendar_Decorator_Textual::monthNames('long');";
-print_r(Calendar_Decorator_Textual::monthNames('long'));
-echo ' ';
-
-echo " Calling: Calendar_Decorator_Textual::weekdayNames('two');";
-print_r(Calendar_Decorator_Textual::weekdayNames('two'));
-echo ' ';
-
-echo " Creating: new Calendar_Day(date('Y'), date('n'), date('d')); ";
-$Calendar = new Calendar_Day(date('Y'), date('n'), date('d'));
-
-// Decorate
-$Textual = & new Calendar_Decorator_Textual($Calendar);
-
-echo ' Previous month is: '.$Textual->prevMonthName('two').' ';
-echo 'This month is: '.$Textual->thisMonthName('short').' ';
-echo 'Next month is: '.$Textual->nextMonthName().' ';
-echo 'Previous day is: '.$Textual->prevDayName().' ';
-echo 'This day is: '.$Textual->thisDayName('short').' ';
-echo 'Next day is: '.$Textual->nextDayName('one').' ';
-
-echo "Creating: new Calendar_Month_Weekdays(date('Y'), date('n'), 6); - Saturday is first day of week ";
-$Calendar = new Calendar_Month_Weekdays(date('Y'), date('n'), 6);
-
-// Decorate
-$Textual = & new Calendar_Decorator_Textual($Calendar);
-?>
-Rendering calendar....
-
-thisMonthName().' '.$Textual->thisYear(); ?>
-
-orderedWeekdays('short');
-foreach ($dayheaders as $dayheader) {
- echo ''.$dayheader.' ';
-}
-?>
-
-build();
-while ($Day = $Calendar->fetch()) {
- if ($Day->isFirst()) {
- echo "\n";
- }
- if ($Day->isEmpty()) {
- echo ' ';
- } else {
- echo ''.$Day->thisDay().' ';
- }
- if ($Day->isLast()) {
- echo " \n";
- }
-}
-?>
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/18.php b/airtime_mvc/library/pear/Calendar/docs/examples/18.php
deleted file mode 100644
index 7ec2a4988..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/18.php
+++ /dev/null
@@ -1,36 +0,0 @@
-'.parent::thisDay().'';
- }
-}
-
-$Month = new Calendar_Month(date('Y'), date('n'));
-
-$Wrapper = & new Calendar_Decorator_Wrapper($Month);
-$Wrapper->build();
-
-echo 'The Wrapper decorator ';
-echo 'Day numbers are rendered in bold ';
-while ($DecoratedDay = $Wrapper->fetch('MyBoldDecorator')) {
- echo $DecoratedDay->thisDay().' ';
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/18.phps b/airtime_mvc/library/pear/Calendar/docs/examples/18.phps
deleted file mode 100644
index 7ec2a4988..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/18.phps
+++ /dev/null
@@ -1,36 +0,0 @@
-'.parent::thisDay().'';
- }
-}
-
-$Month = new Calendar_Month(date('Y'), date('n'));
-
-$Wrapper = & new Calendar_Decorator_Wrapper($Month);
-$Wrapper->build();
-
-echo 'The Wrapper decorator ';
-echo 'Day numbers are rendered in bold ';
-while ($DecoratedDay = $Wrapper->fetch('MyBoldDecorator')) {
- echo $DecoratedDay->thisDay().' ';
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/19.php b/airtime_mvc/library/pear/Calendar/docs/examples/19.php
deleted file mode 100644
index e46d10759..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/19.php
+++ /dev/null
@@ -1,24 +0,0 @@
-setFirstDay(0); // Make Sunday first Day
-
-echo 'Yesterday: '.$WeekDay->prevWeekDay().' ';
-echo 'Today: '.$WeekDay->thisWeekDay().' ';
-echo 'Tomorrow: '.$WeekDay->nextWeekDay().' ';
-
-$WeekDay->build();
-echo 'Hours today: ';
-while ( $Hour = $WeekDay->fetch() ) {
- echo $Hour->thisHour().' ';
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/19.phps b/airtime_mvc/library/pear/Calendar/docs/examples/19.phps
deleted file mode 100644
index e46d10759..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/19.phps
+++ /dev/null
@@ -1,24 +0,0 @@
-setFirstDay(0); // Make Sunday first Day
-
-echo 'Yesterday: '.$WeekDay->prevWeekDay().' ';
-echo 'Today: '.$WeekDay->thisWeekDay().' ';
-echo 'Tomorrow: '.$WeekDay->nextWeekDay().' ';
-
-$WeekDay->build();
-echo 'Hours today: ';
-while ( $Hour = $WeekDay->fetch() ) {
- echo $Hour->thisHour().' ';
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/2.php b/airtime_mvc/library/pear/Calendar/docs/examples/2.php
deleted file mode 100644
index 38de8a7ac..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/2.php
+++ /dev/null
@@ -1,142 +0,0 @@
-build();
-
-// Construct strings for next/previous links
-$PMonth = $Month->prevMonth('object'); // Get previous month as object
-$prev = $_SERVER['PHP_SELF'].'?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay();
-$NMonth = $Month->nextMonth('object');
-$next = $_SERVER['PHP_SELF'].'?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay();
-?>
-
-
-
- Calendar
-
-
-
-
-Build with Calendar_Month_Weeks::build() then Calendar_Week::build()
-
-
-getTimeStamp()); ?>
-
-
-M
-T
-W
-T
-F
-S
-S
-
-fetch()) {
- echo "\n";
- // Build the days in the week, passing the selected days
- $Week->build($selectedDays);
- while ($Day = $Week->fetch()) {
-
- // Build a link string for each day
- $link = $_SERVER['PHP_SELF'].
- '?y='.$Day->thisYear().
- '&m='.$Day->thisMonth().
- '&d='.$Day->thisDay();
-
- // Check to see if day is selected
- if ($Day->isSelected()) {
- echo ''.$Day->thisDay().' '."\n";
- // Check to see if day is empty
- } else if ($Day->isEmpty()) {
- echo ''.$Day->thisDay().' '."\n";
- } else {
- echo ''.$Day->thisDay().' '."\n";
- }
- }
- echo ' '."\n";
-}
-?>
-
-
-<<
-
-
-
- >>
-
-
-
-Took: '.(getmicrotime()-$start).' seconds ';
-?>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/2.phps b/airtime_mvc/library/pear/Calendar/docs/examples/2.phps
deleted file mode 100644
index 38de8a7ac..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/2.phps
+++ /dev/null
@@ -1,142 +0,0 @@
-build();
-
-// Construct strings for next/previous links
-$PMonth = $Month->prevMonth('object'); // Get previous month as object
-$prev = $_SERVER['PHP_SELF'].'?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay();
-$NMonth = $Month->nextMonth('object');
-$next = $_SERVER['PHP_SELF'].'?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay();
-?>
-
-
-
- Calendar
-
-
-
-
-Build with Calendar_Month_Weeks::build() then Calendar_Week::build()
-
-
-getTimeStamp()); ?>
-
-
-M
-T
-W
-T
-F
-S
-S
-
-fetch()) {
- echo "\n";
- // Build the days in the week, passing the selected days
- $Week->build($selectedDays);
- while ($Day = $Week->fetch()) {
-
- // Build a link string for each day
- $link = $_SERVER['PHP_SELF'].
- '?y='.$Day->thisYear().
- '&m='.$Day->thisMonth().
- '&d='.$Day->thisDay();
-
- // Check to see if day is selected
- if ($Day->isSelected()) {
- echo ''.$Day->thisDay().' '."\n";
- // Check to see if day is empty
- } else if ($Day->isEmpty()) {
- echo ''.$Day->thisDay().' '."\n";
- } else {
- echo ''.$Day->thisDay().' '."\n";
- }
- }
- echo ' '."\n";
-}
-?>
-
-
-<<
-
-
-
- >>
-
-
-
-Took: '.(getmicrotime()-$start).' seconds ';
-?>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/20.php b/airtime_mvc/library/pear/Calendar/docs/examples/20.php
deleted file mode 100644
index 31b868bbc..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/20.php
+++ /dev/null
@@ -1,240 +0,0 @@
-entries[] = $entry;
- }
-
- function getEntry() {
- $entry = each($this->entries);
- if ($entry) {
- return $entry['value'];
- } else {
- reset($this->entries);
- return false;
- }
- }
-}
-
-class MonthPayload_Decorator extends Calendar_Decorator
-{
- //Calendar engine
- var $cE;
- var $tableHelper;
-
- var $year;
- var $month;
- var $firstDay = false;
-
- function build($events=array())
- {
- require_once CALENDAR_ROOT . 'Day.php';
- require_once CALENDAR_ROOT . 'Table/Helper.php';
-
- $this->tableHelper = & new Calendar_Table_Helper($this, $this->firstDay);
- $this->cE = & $this->getEngine();
- $this->year = $this->thisYear();
- $this->month = $this->thisMonth();
-
- $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
- for ($i=1; $i<=$daysInMonth; $i++) {
- $Day = new Calendar_Day(2000,1,1); // Create Day with dummy values
- $Day->setTimeStamp($this->cE->dateToStamp($this->year, $this->month, $i));
- $this->children[$i] = new DiaryEvent($Day);
- }
- if (count($events) > 0) {
- $this->setSelection($events);
- }
- Calendar_Month_Weekdays::buildEmptyDaysBefore();
- Calendar_Month_Weekdays::shiftDays();
- Calendar_Month_Weekdays::buildEmptyDaysAfter();
- Calendar_Month_Weekdays::setWeekMarkers();
- return true;
- }
-
- function setSelection($events)
- {
- $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
- for ($i=1; $i<=$daysInMonth; $i++) {
- $stamp1 = $this->cE->dateToStamp($this->year, $this->month, $i);
- $stamp2 = $this->cE->dateToStamp($this->year, $this->month, $i+1);
- foreach ($events as $event) {
- if (($stamp1 >= $event['start'] && $stamp1 < $event['end']) ||
- ($stamp2 >= $event['start'] && $stamp2 < $event['end']) ||
- ($stamp1 <= $event['start'] && $stamp2 > $event['end'])
- ) {
- $this->children[$i]->addEntry($event);
- $this->children[$i]->setSelected();
- }
- }
- }
- }
-
- function fetch()
- {
- $child = each($this->children);
- if ($child) {
- return $child['value'];
- } else {
- reset($this->children);
- return false;
- }
- }
-}
-
-// Calendar instance used to get the dates in the preferred format:
-// you can switch Calendar Engine and the example still works
-$cal = new Calendar;
-
-$events = array();
-//add some events
-$events[] = array(
- 'start' => $cal->cE->dateToStamp(2004, 6, 1, 10),
- 'end' => $cal->cE->dateToStamp(2004, 6, 1, 12),
- 'desc' => 'Important meeting'
-);
-$events[] = array(
- 'start' => $cal->cE->dateToStamp(2004, 6, 1, 21),
- 'end' => $cal->cE->dateToStamp(2004, 6, 1, 23, 59),
- 'desc' => 'Dinner with the boss'
-);
-$events[] = array(
- 'start' => $cal->cE->dateToStamp(2004, 6, 5),
- 'end' => $cal->cE->dateToStamp(2004, 6, 10, 23, 59),
- 'desc' => 'Holidays!'
-);
-
-
-
-$Month = & new Calendar_Month_Weekdays(2004, 6);
-$MonthDecorator = new MonthPayload_Decorator($Month);
-$MonthDecorator->build($events);
-
-?>
-
-
-
- Calendar
-
-
-
-
-
-Sample Calendar Payload Decorator (using engine)
-
-
- thisMonth().' / '.$MonthDecorator->thisYear(); ?>
-
-
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
-
-fetch()) {
-
- if ($Day->isFirst()) {
- echo "\n";
- }
-
- echo '';
- echo ''.$Day->thisDay().'
';
-
- if ($Day->isEmpty()) {
- echo ' ';
- } else {
- echo '';
- while ($entry = $Day->getEntry()) {
- echo ''.$entry['desc'].' ';
- //you can print the time range as well
- }
- echo ' ';
- }
- echo ' ';
-
- if ($Day->isLast()) {
- echo " \n";
- }
-}
-?>
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/20.phps b/airtime_mvc/library/pear/Calendar/docs/examples/20.phps
deleted file mode 100644
index 31b868bbc..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/20.phps
+++ /dev/null
@@ -1,240 +0,0 @@
-entries[] = $entry;
- }
-
- function getEntry() {
- $entry = each($this->entries);
- if ($entry) {
- return $entry['value'];
- } else {
- reset($this->entries);
- return false;
- }
- }
-}
-
-class MonthPayload_Decorator extends Calendar_Decorator
-{
- //Calendar engine
- var $cE;
- var $tableHelper;
-
- var $year;
- var $month;
- var $firstDay = false;
-
- function build($events=array())
- {
- require_once CALENDAR_ROOT . 'Day.php';
- require_once CALENDAR_ROOT . 'Table/Helper.php';
-
- $this->tableHelper = & new Calendar_Table_Helper($this, $this->firstDay);
- $this->cE = & $this->getEngine();
- $this->year = $this->thisYear();
- $this->month = $this->thisMonth();
-
- $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
- for ($i=1; $i<=$daysInMonth; $i++) {
- $Day = new Calendar_Day(2000,1,1); // Create Day with dummy values
- $Day->setTimeStamp($this->cE->dateToStamp($this->year, $this->month, $i));
- $this->children[$i] = new DiaryEvent($Day);
- }
- if (count($events) > 0) {
- $this->setSelection($events);
- }
- Calendar_Month_Weekdays::buildEmptyDaysBefore();
- Calendar_Month_Weekdays::shiftDays();
- Calendar_Month_Weekdays::buildEmptyDaysAfter();
- Calendar_Month_Weekdays::setWeekMarkers();
- return true;
- }
-
- function setSelection($events)
- {
- $daysInMonth = $this->cE->getDaysInMonth($this->year, $this->month);
- for ($i=1; $i<=$daysInMonth; $i++) {
- $stamp1 = $this->cE->dateToStamp($this->year, $this->month, $i);
- $stamp2 = $this->cE->dateToStamp($this->year, $this->month, $i+1);
- foreach ($events as $event) {
- if (($stamp1 >= $event['start'] && $stamp1 < $event['end']) ||
- ($stamp2 >= $event['start'] && $stamp2 < $event['end']) ||
- ($stamp1 <= $event['start'] && $stamp2 > $event['end'])
- ) {
- $this->children[$i]->addEntry($event);
- $this->children[$i]->setSelected();
- }
- }
- }
- }
-
- function fetch()
- {
- $child = each($this->children);
- if ($child) {
- return $child['value'];
- } else {
- reset($this->children);
- return false;
- }
- }
-}
-
-// Calendar instance used to get the dates in the preferred format:
-// you can switch Calendar Engine and the example still works
-$cal = new Calendar;
-
-$events = array();
-//add some events
-$events[] = array(
- 'start' => $cal->cE->dateToStamp(2004, 6, 1, 10),
- 'end' => $cal->cE->dateToStamp(2004, 6, 1, 12),
- 'desc' => 'Important meeting'
-);
-$events[] = array(
- 'start' => $cal->cE->dateToStamp(2004, 6, 1, 21),
- 'end' => $cal->cE->dateToStamp(2004, 6, 1, 23, 59),
- 'desc' => 'Dinner with the boss'
-);
-$events[] = array(
- 'start' => $cal->cE->dateToStamp(2004, 6, 5),
- 'end' => $cal->cE->dateToStamp(2004, 6, 10, 23, 59),
- 'desc' => 'Holidays!'
-);
-
-
-
-$Month = & new Calendar_Month_Weekdays(2004, 6);
-$MonthDecorator = new MonthPayload_Decorator($Month);
-$MonthDecorator->build($events);
-
-?>
-
-
-
- Calendar
-
-
-
-
-
-Sample Calendar Payload Decorator (using engine)
-
-
- thisMonth().' / '.$MonthDecorator->thisYear(); ?>
-
-
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
-
-fetch()) {
-
- if ($Day->isFirst()) {
- echo "\n";
- }
-
- echo '';
- echo ''.$Day->thisDay().'
';
-
- if ($Day->isEmpty()) {
- echo ' ';
- } else {
- echo '';
- while ($entry = $Day->getEntry()) {
- echo ''.$entry['desc'].' ';
- //you can print the time range as well
- }
- echo ' ';
- }
- echo ' ';
-
- if ($Day->isLast()) {
- echo " \n";
- }
-}
-?>
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/21.php b/airtime_mvc/library/pear/Calendar/docs/examples/21.php
deleted file mode 100644
index dbdd68aec..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/21.php
+++ /dev/null
@@ -1,139 +0,0 @@
-build();
-?>
-
-
-
- thisYear(); ?>
-
-
-
-
-
-thisYear(); ?>
-
-
-
-
-fetch()) {
-
- switch ($i) {
- case 0:
- echo "\n";
- break;
- case 3:
- case 6:
- case 9:
- echo " \n\n";
- break;
- case 12:
- echo " \n";
- break;
- }
-
- echo "\n\n";
- echo ''.date('F', $Month->thisMonth(TRUE)).' ';
- echo ' '."\n";
- echo "\nWeek M T W T F S S \n ";
- $Month->build();
- while ($Week = $Month->fetch()) {
- echo "\n";
- echo ''.$Week->thisWeek($_GET['week_type'])." \n";
- $Week->build();
-
- while ($Day = $Week->fetch()) {
- if ($Day->isEmpty()) {
- echo " \n";
- } else {
- echo "".$Day->thisDay()." \n";
- }
- }
- }
- echo "
\n \n";
-
- $i++;
-}
-?>
-
-Took:
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/21.phps b/airtime_mvc/library/pear/Calendar/docs/examples/21.phps
deleted file mode 100644
index dbdd68aec..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/21.phps
+++ /dev/null
@@ -1,139 +0,0 @@
-build();
-?>
-
-
-
- thisYear(); ?>
-
-
-
-
-
-thisYear(); ?>
-
-
-
-
-fetch()) {
-
- switch ($i) {
- case 0:
- echo "\n";
- break;
- case 3:
- case 6:
- case 9:
- echo " \n\n";
- break;
- case 12:
- echo " \n";
- break;
- }
-
- echo "\n\n";
- echo ''.date('F', $Month->thisMonth(TRUE)).' ';
- echo ' '."\n";
- echo "\nWeek M T W T F S S \n ";
- $Month->build();
- while ($Week = $Month->fetch()) {
- echo "\n";
- echo ''.$Week->thisWeek($_GET['week_type'])." \n";
- $Week->build();
-
- while ($Day = $Week->fetch()) {
- if ($Day->isEmpty()) {
- echo " \n";
- } else {
- echo "".$Day->thisDay()." \n";
- }
- }
- }
- echo "
\n \n";
-
- $i++;
-}
-?>
-
-Took:
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/22.php b/airtime_mvc/library/pear/Calendar/docs/examples/22.php
deleted file mode 100644
index 089c53606..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/22.php
+++ /dev/null
@@ -1,46 +0,0 @@
-The current month is '
- .$Calendar->thisMonth().' of year '.$Calendar->thisYear().'');
-
-$Uri = & new Calendar_Util_Uri('jahr','monat');
-$Uri->setFragments('jahr','monat');
-
-echo "\"Vector\" URIs";
-echo ( "Previous Uri:\t".htmlentities($Uri->prev($Calendar, 'month'))."\n" );
-echo ( "This Uri:\t".htmlentities($Uri->this($Calendar, 'month'))."\n" );
-echo ( "Next Uri:\t".htmlentities($Uri->next($Calendar, 'month'))."\n" );
-echo " ";
-
-// Switch to scalar URIs
-$Uri->separator = '/'; // Default is &
-$Uri->scalar = true; // Omit variable names
-
-echo "\"Scalar\" URIs";
-echo ( "Previous Uri:\t".$Uri->prev($Calendar, 'month')."\n" );
-echo ( "This Uri:\t".$Uri->this($Calendar, 'month')."\n" );
-echo ( "Next Uri:\t".$Uri->next($Calendar, 'month')."\n" );
-echo " ";
-
-// Restore the vector URIs
-$Uri->separator = '&';
-$Uri->scalar = false;
-?>
-
-Prev :
-Next
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/22.phps b/airtime_mvc/library/pear/Calendar/docs/examples/22.phps
deleted file mode 100644
index 089c53606..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/22.phps
+++ /dev/null
@@ -1,46 +0,0 @@
-The current month is '
- .$Calendar->thisMonth().' of year '.$Calendar->thisYear().'');
-
-$Uri = & new Calendar_Util_Uri('jahr','monat');
-$Uri->setFragments('jahr','monat');
-
-echo "\"Vector\" URIs";
-echo ( "Previous Uri:\t".htmlentities($Uri->prev($Calendar, 'month'))."\n" );
-echo ( "This Uri:\t".htmlentities($Uri->this($Calendar, 'month'))."\n" );
-echo ( "Next Uri:\t".htmlentities($Uri->next($Calendar, 'month'))."\n" );
-echo " ";
-
-// Switch to scalar URIs
-$Uri->separator = '/'; // Default is &
-$Uri->scalar = true; // Omit variable names
-
-echo "\"Scalar\" URIs";
-echo ( "Previous Uri:\t".$Uri->prev($Calendar, 'month')."\n" );
-echo ( "This Uri:\t".$Uri->this($Calendar, 'month')."\n" );
-echo ( "Next Uri:\t".$Uri->next($Calendar, 'month')."\n" );
-echo " ";
-
-// Restore the vector URIs
-$Uri->separator = '&';
-$Uri->scalar = false;
-?>
-
-Prev :
-Next
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/23.php b/airtime_mvc/library/pear/Calendar/docs/examples/23.php
deleted file mode 100644
index 3f04b4486..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/23.php
+++ /dev/null
@@ -1,66 +0,0 @@
-Calling: Calendar_Util_Textual::monthNames('long');";
-print_r(Calendar_Util_Textual::monthNames('long'));
-echo ' ';
-
-echo " Calling: Calendar_Util_Textual::weekdayNames('two');";
-print_r(Calendar_Util_Textual::weekdayNames('two'));
-echo ' ';
-
-echo " Creating: new Calendar_Day(date('Y'), date('n'), date('d')); ";
-$Calendar = new Calendar_Day(date('Y'), date('n'), date('d'));
-
-echo ' Previous month is: '.Calendar_Util_Textual::prevMonthName($Calendar,'two').' ';
-echo 'This month is: '.Calendar_Util_Textual::thisMonthName($Calendar,'short').' ';
-echo 'Next month is: '.Calendar_Util_Textual::nextMonthName($Calendar).' ';
-echo 'Previous day is: '.Calendar_Util_Textual::prevDayName($Calendar).' ';
-echo 'This day is: '.Calendar_Util_Textual::thisDayName($Calendar,'short').' ';
-echo 'Next day is: '.Calendar_Util_Textual::nextDayName($Calendar,'one').' ';
-
-echo "Creating: new Calendar_Month_Weekdays(date('Y'), date('n'), 6); - Saturday is first day of week ";
-$Calendar = new Calendar_Month_Weekdays(date('Y'), date('n'), 6);
-
-?>
-Rendering calendar....
-
-thisYear(); ?>
-
-'.$dayheader.'';
-}
-?>
-
-build();
-while ($Day = $Calendar->fetch()) {
- if ($Day->isFirst()) {
- echo "\n";
- }
- if ($Day->isEmpty()) {
- echo ' ';
- } else {
- echo ''.$Day->thisDay().' ';
- }
- if ($Day->isLast()) {
- echo " \n";
- }
-}
-?>
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/23.phps b/airtime_mvc/library/pear/Calendar/docs/examples/23.phps
deleted file mode 100644
index 3f04b4486..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/23.phps
+++ /dev/null
@@ -1,66 +0,0 @@
-Calling: Calendar_Util_Textual::monthNames('long');";
-print_r(Calendar_Util_Textual::monthNames('long'));
-echo ' ';
-
-echo " Calling: Calendar_Util_Textual::weekdayNames('two');";
-print_r(Calendar_Util_Textual::weekdayNames('two'));
-echo ' ';
-
-echo " Creating: new Calendar_Day(date('Y'), date('n'), date('d')); ";
-$Calendar = new Calendar_Day(date('Y'), date('n'), date('d'));
-
-echo ' Previous month is: '.Calendar_Util_Textual::prevMonthName($Calendar,'two').' ';
-echo 'This month is: '.Calendar_Util_Textual::thisMonthName($Calendar,'short').' ';
-echo 'Next month is: '.Calendar_Util_Textual::nextMonthName($Calendar).' ';
-echo 'Previous day is: '.Calendar_Util_Textual::prevDayName($Calendar).' ';
-echo 'This day is: '.Calendar_Util_Textual::thisDayName($Calendar,'short').' ';
-echo 'Next day is: '.Calendar_Util_Textual::nextDayName($Calendar,'one').' ';
-
-echo "Creating: new Calendar_Month_Weekdays(date('Y'), date('n'), 6); - Saturday is first day of week ";
-$Calendar = new Calendar_Month_Weekdays(date('Y'), date('n'), 6);
-
-?>
-Rendering calendar....
-
-thisYear(); ?>
-
-'.$dayheader.'';
-}
-?>
-
-build();
-while ($Day = $Calendar->fetch()) {
- if ($Day->isFirst()) {
- echo "\n";
- }
- if ($Day->isEmpty()) {
- echo ' ';
- } else {
- echo ''.$Day->thisDay().' ';
- }
- if ($Day->isLast()) {
- echo " \n";
- }
-}
-?>
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/3.php b/airtime_mvc/library/pear/Calendar/docs/examples/3.php
deleted file mode 100644
index f92dcbbc9..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/3.php
+++ /dev/null
@@ -1,134 +0,0 @@
-prevMonth('object'); // Get previous month as object
-$prev = $_SERVER['PHP_SELF'].'?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay();
-$NMonth = $Month->nextMonth('object');
-$next = $_SERVER['PHP_SELF'].'?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay();
-?>
-
-
-
- Calendar
-
-
-
-
-
-build($selectedDays);
-?>
-Built with Calendar_Month_Weekday::build()
-
-
-getTimeStamp())); ?>
-
-
-M
-T
-W
-T
-F
-S
-S
-
-fetch() ) {
-
- // Build a link string for each day
- $link = $_SERVER['PHP_SELF'].
- '?y='.$Day->thisYear().
- '&m='.$Day->thisMonth().
- '&d='.$Day->thisDay();
-
- // isFirst() to find start of week
- if ( $Day->isFirst() )
- echo ( "\n" );
-
- if ( $Day->isSelected() ) {
- echo ( "".$Day->thisDay()." \n" );
- } else if ( $Day->isEmpty() ) {
- echo ( " \n" );
- } else {
- echo ( "".$Day->thisDay()." \n" );
- }
-
- // isLast() to find end of week
- if ( $Day->isLast() )
- echo ( " \n" );
-}
-?>
-
-
-<<
-
-
-
- >>
-
-
-
-Took: '.(getmicrotime()-$start).' seconds ' );
-?>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/3.phps b/airtime_mvc/library/pear/Calendar/docs/examples/3.phps
deleted file mode 100644
index f92dcbbc9..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/3.phps
+++ /dev/null
@@ -1,134 +0,0 @@
-prevMonth('object'); // Get previous month as object
-$prev = $_SERVER['PHP_SELF'].'?y='.$PMonth->thisYear().'&m='.$PMonth->thisMonth().'&d='.$PMonth->thisDay();
-$NMonth = $Month->nextMonth('object');
-$next = $_SERVER['PHP_SELF'].'?y='.$NMonth->thisYear().'&m='.$NMonth->thisMonth().'&d='.$NMonth->thisDay();
-?>
-
-
-
- Calendar
-
-
-
-
-
-build($selectedDays);
-?>
-Built with Calendar_Month_Weekday::build()
-
-
-getTimeStamp())); ?>
-
-
-M
-T
-W
-T
-F
-S
-S
-
-fetch() ) {
-
- // Build a link string for each day
- $link = $_SERVER['PHP_SELF'].
- '?y='.$Day->thisYear().
- '&m='.$Day->thisMonth().
- '&d='.$Day->thisDay();
-
- // isFirst() to find start of week
- if ( $Day->isFirst() )
- echo ( "\n" );
-
- if ( $Day->isSelected() ) {
- echo ( "".$Day->thisDay()." \n" );
- } else if ( $Day->isEmpty() ) {
- echo ( " \n" );
- } else {
- echo ( "".$Day->thisDay()." \n" );
- }
-
- // isLast() to find end of week
- if ( $Day->isLast() )
- echo ( " \n" );
-}
-?>
-
-
-<<
-
-
-
- >>
-
-
-
-Took: '.(getmicrotime()-$start).' seconds ' );
-?>
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/4.php b/airtime_mvc/library/pear/Calendar/docs/examples/4.php
deleted file mode 100644
index 034813ee3..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/4.php
+++ /dev/null
@@ -1,49 +0,0 @@
-Result: '.$Unit->thisYear().'-'.$Unit->thisMonth().'-'.$Unit->thisDay().
- ' '.$Unit->thisHour().':'.$Unit->thisMinute().':'.$Unit->thisSecond();
-if ($Unit->isValid()) {
- echo ' is valid!';
-} else {
- $V= & $Unit->getValidator();
- echo ' is invalid:';
- while ($error = $V->fetch()) {
- echo $error->toString() .' ';
- }
-}
-?>
-Enter a date / time to validate:
-
-Note: Error messages can be controlled with the constants CALENDAR_VALUE_TOOSMALL
and CALENDAR_VALUE_TOOLARGE
- see Calendar_Validator.php
-
-Took: '.(getmicrotime()-$start).' seconds '; ?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/4.phps b/airtime_mvc/library/pear/Calendar/docs/examples/4.phps
deleted file mode 100644
index 034813ee3..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/4.phps
+++ /dev/null
@@ -1,49 +0,0 @@
-Result: '.$Unit->thisYear().'-'.$Unit->thisMonth().'-'.$Unit->thisDay().
- ' '.$Unit->thisHour().':'.$Unit->thisMinute().':'.$Unit->thisSecond();
-if ($Unit->isValid()) {
- echo ' is valid!';
-} else {
- $V= & $Unit->getValidator();
- echo ' is invalid:';
- while ($error = $V->fetch()) {
- echo $error->toString() .' ';
- }
-}
-?>
-Enter a date / time to validate:
-
-Note: Error messages can be controlled with the constants CALENDAR_VALUE_TOOSMALL
and CALENDAR_VALUE_TOOLARGE
- see Calendar_Validator.php
-
-Took: '.(getmicrotime()-$start).' seconds '; ?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/5.php b/airtime_mvc/library/pear/Calendar/docs/examples/5.php
deleted file mode 100644
index ce5ae7e00..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/5.php
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
- Select and Update
-
-
-Select and Update
-isValid() ) {
- $V= & $Second->getValidator();
- echo ('Validation failed:
' );
- while ( $error = $V->fetch() ) {
- echo ( $error->toString() .' ' );
- }
- } else {
- echo ('Validation success.
' );
- echo ( 'New timestamp is: '.$Second->getTimeStamp().' which could be used to update a database, for example');
- }
-} else {
-$Year = new Calendar_Year($_POST['y']);
-$Month = new Calendar_Month($_POST['y'],$_POST['m']);
-$Day = new Calendar_Day($_POST['y'],$_POST['m'],$_POST['d']);
-$Hour = new Calendar_Hour($_POST['y'],$_POST['m'],$_POST['d'],$_POST['h']);
-$Minute = new Calendar_Minute($_POST['y'],$_POST['m'],$_POST['d'],$_POST['h'],$_POST['i']);
-$Second = new Calendar_Second($_POST['y'],$_POST['m'],$_POST['d'],$_POST['h'],$_POST['i'],$_POST['s']);
-?>
-
Set the alarm clock
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/8.phps b/airtime_mvc/library/pear/Calendar/docs/examples/8.phps
deleted file mode 100644
index f84887953..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/8.phps
+++ /dev/null
@@ -1,70 +0,0 @@
-") ) {
- die('PHP 5 has problems with PEAR::SOAP Client (8.0RC3)
- - remove @ before include below to see why');
-}
-
-if (!@include('SOAP'.DIRECTORY_SEPARATOR.'Client.php')) {
- die('You must have PEAR::SOAP installed');
-}
-
-// Just to save manaul modification...
-$basePath = explode('/', $_SERVER['SCRIPT_NAME']);
-array_pop($basePath);
-$basePath = implode('/', $basePath);
-$url = 'http://'.$_SERVER['SERVER_NAME'].$basePath.'/7.php?wsdl';
-
-if (!isset($_GET['y'])) $_GET['y'] = date('Y');
-if (!isset($_GET['m'])) $_GET['m'] = date('n');
-
-$wsdl = new SOAP_WSDL ($url);
-
-echo ( ''.$wsdl->generateProxyCode().' ' );
-
-$calendarClient = $wsdl->getProxy();
-
-$month = $calendarClient->getMonth((int)$_GET['y'],(int)$_GET['m']);
-
-if ( PEAR::isError($month) ) {
- die ( $month->toString() );
-}
-?>
-
-
-
- Calendar over the Wire
-
-
-Calendar Over the Wire (featuring PEAR::SOAP)
-
-monthname );?>
-
-M T W T F S S
-
-days as $day ) {
-
- if ( $day->isFirst === 1 )
- echo ( "\n" );
- if ( $day->isEmpty === 1 ) {
- echo ( " " );
- } else {
- echo ( "".$day->day." " );
- }
- if ( $day->isLast === 1 )
- echo ( " \n" );
-}
-?>
-
-
-Enter Year and Month to View:
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/9.php b/airtime_mvc/library/pear/Calendar/docs/examples/9.php
deleted file mode 100644
index 4b6a937a4..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/9.php
+++ /dev/null
@@ -1,16 +0,0 @@
-getTimeStamp()));
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/9.phps b/airtime_mvc/library/pear/Calendar/docs/examples/9.phps
deleted file mode 100644
index 4b6a937a4..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/9.phps
+++ /dev/null
@@ -1,16 +0,0 @@
-getTimeStamp()));
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/docs/examples/index.html b/airtime_mvc/library/pear/Calendar/docs/examples/index.html
deleted file mode 100644
index a68e996eb..000000000
--- a/airtime_mvc/library/pear/Calendar/docs/examples/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
- PEAR::Calendar Examples
-
-
-
-
-PEAR::Calendar Examples
-$Id: index.html 166574 2004-08-17 09:10:53Z hfuecks $
-
-1.php [src ] - shows basic usage, passing all the way down from Calendar_Year
to Calendar_Second
- more of a quick test it's working
-2.php [src ] - shows how to build a tabular month using Calendar_Month_Weeks
, Calendar_Week
, Calendar_Day
as well as selecting some dates.
-3.php [src ] - shows how to build a tabular month using Calendar_Month_Weekdays
and Calendar_Day
, as well as selecting some dates (this method is faster).
-4.php [src ] - shows how to use PEAR::Calendar for validation.
-5.php [src ] - shows PEAR::Calendar in use to help generate a form.
-6.php [src ] - a month and day "planner" calendar, which can be rendered both as HTML and WML.
-7.php [src ] - a simple SOAP Calendar Server, using PEAR::SOAP and PEAR::Calendar
-8.php [src ] - a WSDL SOAP client for the SOAP Calendar Server
-9.php [src ] - quick example of i18n with setlocale
(not working on SF)
-10.php [src ] - an example of extending Calendar_Decorator
to modify output
-11.php [src ] - attaching a "payload" (e.g. results of a DB query) to a calendar using Calendar_Decorator
to allow the payload to be available inside the main loop.
-12.php [src ] - a complete year with months.
-13.php [src ] - same as 1.php but using Calendar_Engine_PearDate
, (see PEAR::Date ).
-14.php [src ] - same as 3.php but using Calendar_Engine_PearDate
-15.php [src ] - paging through weeks
-16.php [src ] - example of Calendar_Decorator_Uri
. Note you should prefer Calendar_Util_Uri
(see below) in most cases, for performance
-17.php [src ] - example of Calendar_Decorator_Textual
. Note you should prefer Calendar_Util_Textual
(see below) in most cases, for performance
-18.php [src ] - example of Calendar_Decorator_Wrapper
.
-19.php [src ] - example of Calendar_Decorator_Weekday
.
-20.php [src ] - shows how to attach a "payload" spanning multiple days, with more than one entry per day
-21.php [src ] - same as 12.php but using Calendar_Month_Weeks
instead of Calendar_Month_Weekdays
to allow the week in the year or week in the month to be displayed.
-22.php [src ] - demonstrates use of Calendar_Util_Uri
.
-23.php [src ] - demonstrates use of Calendar_Util_Textual
.
-24.php [src ] - Calendar_Decorator_Weekday
combined with Calendar_Decorator_Wrapper
to decorate days in the month.
-
-
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/README b/airtime_mvc/library/pear/Calendar/tests/README
deleted file mode 100644
index cbae24227..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/README
+++ /dev/null
@@ -1,7 +0,0 @@
-These tests require Simple Test: http://www.lastcraft.com/simple_test.php
-
-Ideally they would use PEAR::PHPUnit but the current version has bugs and
-lacks alot of the functionality (e.g. Mock Objects) which Simple Test
-provides.
-
-Modifying the simple_include.php script for your simple test install dir
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/all_tests.php b/airtime_mvc/library/pear/Calendar/tests/all_tests.php
deleted file mode 100644
index bda396ada..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/all_tests.php
+++ /dev/null
@@ -1,34 +0,0 @@
-GroupTest('All PEAR::Calendar Tests');
- $this->AddTestCase(new CalendarTests());
- $this->AddTestCase(new CalendarTabularTests());
- $this->AddTestCase(new ValidatorTests());
- $this->AddTestCase(new CalendarEngineTests());
- $this->AddTestCase(new TableHelperTests());
- $this->AddTestCase(new DecoratorTests());
- $this->AddTestCase(new UtilTests());
- }
-}
-
-$test = &new AllTests();
-$test->run(new HtmlReporter());
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/calendar_engine_tests.php b/airtime_mvc/library/pear/Calendar/tests/calendar_engine_tests.php
deleted file mode 100644
index f44138189..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/calendar_engine_tests.php
+++ /dev/null
@@ -1,20 +0,0 @@
-GroupTest('Calendar Engine Tests');
- $this->addTestFile('peardate_engine_test.php');
- $this->addTestFile('unixts_engine_test.php');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new CalendarEngineTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/calendar_include.php b/airtime_mvc/library/pear/Calendar/tests/calendar_include.php
deleted file mode 100644
index a375eafcf..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/calendar_include.php
+++ /dev/null
@@ -1,28 +0,0 @@
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/calendar_tabular_tests.php b/airtime_mvc/library/pear/Calendar/tests/calendar_tabular_tests.php
deleted file mode 100644
index 8dbaf4e67..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/calendar_tabular_tests.php
+++ /dev/null
@@ -1,22 +0,0 @@
-GroupTest('Calendar Tabular Tests');
- $this->addTestFile('month_weekdays_test.php');
- $this->addTestFile('month_weeks_test.php');
- $this->addTestFile('week_test.php');
- //$this->addTestFile('week_firstday_0_test.php'); //switch with the above
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new CalendarTabularTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/calendar_test.php b/airtime_mvc/library/pear/Calendar/tests/calendar_test.php
deleted file mode 100644
index 62c6a696c..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/calendar_test.php
+++ /dev/null
@@ -1,124 +0,0 @@
-UnitTestCase($name);
- }
- function setUp() {
- $this->cal = new Calendar(2003,10,25,13,32,43);
- }
- function tearDown() {
- unset($this->cal);
- }
- function testPrevYear () {
- $this->assertEqual(2002,$this->cal->prevYear());
- }
- function testPrevYear_Array () {
- $this->assertEqual(
- array(
- 'year' => 2002,
- 'month' => 1,
- 'day' => 1,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevYear('array'));
- }
- function testThisYear () {
- $this->assertEqual(2003,$this->cal->thisYear());
- }
- function testNextYear () {
- $this->assertEqual(2004,$this->cal->nextYear());
- }
- function testPrevMonth () {
- $this->assertEqual(9,$this->cal->prevMonth());
- }
- function testPrevMonth_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 9,
- 'day' => 1,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevMonth('array'));
- }
- function testThisMonth () {
- $this->assertEqual(10,$this->cal->thisMonth());
- }
- function testNextMonth () {
- $this->assertEqual(11,$this->cal->nextMonth());
- }
- function testPrevDay () {
- $this->assertEqual(24,$this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 24,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(25,$this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(26,$this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(12,$this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(13,$this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(14,$this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(31,$this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(32,$this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(33,$this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(42,$this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(43,$this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(44,$this->cal->nextSecond());
- }
- function testSetTimeStamp() {
- $stamp = mktime(13,32,43,10,25,2003);
- $this->cal->setTimeStamp($stamp);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
- function testGetTimeStamp() {
- $stamp = mktime(13,32,43,10,25,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
- function testIsToday() {
- $stamp = mktime();
- $this->cal->setTimestamp($stamp);
- $this->assertTrue($this->cal->isToday());
-
- $stamp += 1000000000;
- $this->cal->setTimestamp($stamp);
- $this->assertFalse($this->cal->isToday());
- }
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/calendar_tests.php b/airtime_mvc/library/pear/Calendar/tests/calendar_tests.php
deleted file mode 100644
index 09513a307..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/calendar_tests.php
+++ /dev/null
@@ -1,25 +0,0 @@
-GroupTest('Calendar Tests');
- $this->addTestFile('calendar_test.php');
- $this->addTestFile('year_test.php');
- $this->addTestFile('month_test.php');
- $this->addTestFile('day_test.php');
- $this->addTestFile('hour_test.php');
- $this->addTestFile('minute_test.php');
- $this->addTestFile('second_test.php');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new CalendarTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/day_test.php b/airtime_mvc/library/pear/Calendar/tests/day_test.php
deleted file mode 100644
index a812d4414..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/day_test.php
+++ /dev/null
@@ -1,107 +0,0 @@
-UnitTestCase('Test of Day');
- }
- function setUp() {
- $this->cal = new Calendar_Day(2003,10,25);
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 24,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testPrevHour () {
- $this->assertEqual(23,$this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0,$this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1,$this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59,$this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0,$this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1,$this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59,$this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0,$this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1,$this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0,0,0,10,25,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
-}
-
-class TestOfDayBuild extends TestOfDay {
- function TestOfDayBuild() {
- $this->UnitTestCase('Test of Day::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(24,$this->cal->size());
- }
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ( $Child = $this->cal->fetch() ) {
- $i++;
- }
- $this->assertEqual(24,$i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 0;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Hour.php');
- $selection = array(new Calendar_Hour(2003,10,25,13));
- $this->cal->build($selection);
- $i = 0;
- while ( $Child = $this->cal->fetch() ) {
- if ( $i == 13 )
- break;
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfDay();
- $test->run(new HtmlReporter());
- $test = &new TestOfDayBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/decorator_test.php b/airtime_mvc/library/pear/Calendar/tests/decorator_test.php
deleted file mode 100644
index 6c6dd7974..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/decorator_test.php
+++ /dev/null
@@ -1,268 +0,0 @@
-UnitTestCase('Test of Calendar_Decorator');
- }
- function setUp() {
- $this->mockengine = new Mock_Calendar_Engine($this);
- $this->mockcal = new Mock_Calendar_Second($this);
- $this->mockcal->setReturnValue('prevYear',2002);
- $this->mockcal->setReturnValue('thisYear',2003);
- $this->mockcal->setReturnValue('nextYear',2004);
- $this->mockcal->setReturnValue('prevMonth',9);
- $this->mockcal->setReturnValue('thisMonth',10);
- $this->mockcal->setReturnValue('nextMonth',11);
- $this->mockcal->setReturnValue('prevDay',14);
- $this->mockcal->setReturnValue('thisDay',15);
- $this->mockcal->setReturnValue('nextDay',16);
- $this->mockcal->setReturnValue('prevHour',12);
- $this->mockcal->setReturnValue('thisHour',13);
- $this->mockcal->setReturnValue('nextHour',14);
- $this->mockcal->setReturnValue('prevMinute',29);
- $this->mockcal->setReturnValue('thisMinute',30);
- $this->mockcal->setReturnValue('nextMinute',31);
- $this->mockcal->setReturnValue('prevSecond',44);
- $this->mockcal->setReturnValue('thisSecond',45);
- $this->mockcal->setReturnValue('nextSecond',46);
- $this->mockcal->setReturnValue('getEngine',$this->mockengine);
- $this->mockcal->setReturnValue('getTimestamp',12345);
-
- }
- function tearDown() {
- unset ( $this->engine );
- unset ( $this->mockcal );
- }
- function testPrevYear() {
- $this->mockcal->expectOnce('prevYear',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(2002,$Decorator->prevYear());
- }
- function testThisYear() {
- $this->mockcal->expectOnce('thisYear',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(2003,$Decorator->thisYear());
- }
- function testNextYear() {
- $this->mockcal->expectOnce('nextYear',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(2004,$Decorator->nextYear());
- }
- function testPrevMonth() {
- $this->mockcal->expectOnce('prevMonth',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(9,$Decorator->prevMonth());
- }
- function testThisMonth() {
- $this->mockcal->expectOnce('thisMonth',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(10,$Decorator->thisMonth());
- }
- function testNextMonth() {
- $this->mockcal->expectOnce('nextMonth',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(11,$Decorator->nextMonth());
- }
- function testPrevWeek() {
- $mockweek = & new Mock_Calendar_Week($this);
- $mockweek->setReturnValue('prevWeek',1);
- $mockweek->expectOnce('prevWeek',array('n_in_month'));
- $Decorator =& new Calendar_Decorator($mockweek);
- $this->assertEqual(1,$Decorator->prevWeek());
- }
- function testThisWeek() {
- $mockweek = & new Mock_Calendar_Week($this);
- $mockweek->setReturnValue('thisWeek',2);
- $mockweek->expectOnce('thisWeek',array('n_in_month'));
- $Decorator =& new Calendar_Decorator($mockweek);
- $this->assertEqual(2,$Decorator->thisWeek());
- }
- function testNextWeek() {
- $mockweek = & new Mock_Calendar_Week($this);
- $mockweek->setReturnValue('nextWeek',3);
- $mockweek->expectOnce('nextWeek',array('n_in_month'));
- $Decorator =& new Calendar_Decorator($mockweek);
- $this->assertEqual(3,$Decorator->nextWeek());
- }
- function testPrevDay() {
- $this->mockcal->expectOnce('prevDay',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(14,$Decorator->prevDay());
- }
- function testThisDay() {
- $this->mockcal->expectOnce('thisDay',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(15,$Decorator->thisDay());
- }
- function testNextDay() {
- $this->mockcal->expectOnce('nextDay',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(16,$Decorator->nextDay());
- }
- function testPrevHour() {
- $this->mockcal->expectOnce('prevHour',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(12,$Decorator->prevHour());
- }
- function testThisHour() {
- $this->mockcal->expectOnce('thisHour',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(13,$Decorator->thisHour());
- }
- function testNextHour() {
- $this->mockcal->expectOnce('nextHour',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(14,$Decorator->nextHour());
- }
- function testPrevMinute() {
- $this->mockcal->expectOnce('prevMinute',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(29,$Decorator->prevMinute());
- }
- function testThisMinute() {
- $this->mockcal->expectOnce('thisMinute',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(30,$Decorator->thisMinute());
- }
- function testNextMinute() {
- $this->mockcal->expectOnce('nextMinute',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(31,$Decorator->nextMinute());
- }
- function testPrevSecond() {
- $this->mockcal->expectOnce('prevSecond',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(44,$Decorator->prevSecond());
- }
- function testThisSecond() {
- $this->mockcal->expectOnce('thisSecond',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(45,$Decorator->thisSecond());
- }
- function testNextSecond() {
- $this->mockcal->expectOnce('nextSecond',array('int'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(46,$Decorator->nextSecond());
- }
- function testGetEngine() {
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertIsA($Decorator->getEngine(),'Mock_Calendar_Engine');
- }
- function testSetTimestamp() {
- $this->mockcal->expectOnce('setTimestamp',array('12345'));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->setTimestamp('12345');
- }
- function testGetTimestamp() {
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual(12345,$Decorator->getTimestamp());
- }
- function testSetSelected() {
- $this->mockcal->expectOnce('setSelected',array(true));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->setSelected();
- }
- function testIsSelected() {
- $this->mockcal->setReturnValue('isSelected',true);
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertTrue($Decorator->isSelected());
- }
- function testAdjust() {
- $this->mockcal->expectOnce('adjust',array());
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->adjust();
- }
- function testToArray() {
- $this->mockcal->expectOnce('toArray',array(12345));
- $testArray = array('foo'=>'bar');
- $this->mockcal->setReturnValue('toArray',$testArray);
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual($testArray,$Decorator->toArray(12345));
- }
- function testReturnValue() {
- $this->mockcal->expectOnce('returnValue',array('a','b','c','d'));
- $this->mockcal->setReturnValue('returnValue','foo');
- $Decorator = new Calendar_Decorator($this->mockcal);
- $this->assertEqual('foo',$Decorator->returnValue('a','b','c','d'));
- }
- function testSetFirst() {
- $mockday = & new Mock_Calendar_Day($this);
- $mockday->expectOnce('setFirst',array(true));
- $Decorator =& new Calendar_Decorator($mockday);
- $Decorator->setFirst();
- }
- function testSetLast() {
- $mockday = & new Mock_Calendar_Day($this);
- $mockday->expectOnce('setLast',array(true));
- $Decorator =& new Calendar_Decorator($mockday);
- $Decorator->setLast();
- }
- function testIsFirst() {
- $mockday = & new Mock_Calendar_Day($this);
- $mockday->setReturnValue('isFirst',TRUE);
- $Decorator =& new Calendar_Decorator($mockday);
- $this->assertTrue($Decorator->isFirst());
- }
- function testIsLast() {
- $mockday = & new Mock_Calendar_Day($this);
- $mockday->setReturnValue('isLast',TRUE);
- $Decorator =& new Calendar_Decorator($mockday);
- $this->assertTrue($Decorator->isLast());
- }
- function testSetEmpty() {
- $mockday = & new Mock_Calendar_Day($this);
- $mockday->expectOnce('setEmpty',array(true));
- $Decorator =& new Calendar_Decorator($mockday);
- $Decorator->setEmpty();
- }
- function testIsEmpty() {
- $mockday = & new Mock_Calendar_Day($this);
- $mockday->setReturnValue('isEmpty',TRUE);
- $Decorator =& new Calendar_Decorator($mockday);
- $this->assertTrue($Decorator->isEmpty());
- }
- function testBuild() {
- $testArray=array('foo'=>'bar');
- $this->mockcal->expectOnce('build',array($testArray));
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->build($testArray);
- }
- function testFetch() {
- $this->mockcal->expectOnce('fetch',array());
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->fetch();
- }
- function testFetchAll() {
- $this->mockcal->expectOnce('fetchAll',array());
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->fetchAll();
- }
- function testSize() {
- $this->mockcal->expectOnce('size',array());
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->size();
- }
- function testIsValid() {
- $this->mockcal->expectOnce('isValid',array());
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->isValid();
- }
- function testGetValidator() {
- $this->mockcal->expectOnce('getValidator',array());
- $Decorator = new Calendar_Decorator($this->mockcal);
- $Decorator->getValidator();
- }
-}
-?>
diff --git a/airtime_mvc/library/pear/Calendar/tests/decorator_tests.php b/airtime_mvc/library/pear/Calendar/tests/decorator_tests.php
deleted file mode 100644
index 6ebc47b77..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/decorator_tests.php
+++ /dev/null
@@ -1,21 +0,0 @@
-GroupTest('Decorator Tests');
- $this->addTestFile('decorator_test.php');
- $this->addTestFile('decorator_textual_test.php');
- $this->addTestFile('decorator_uri_test.php');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new DecoratorTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/decorator_textual_test.php b/airtime_mvc/library/pear/Calendar/tests/decorator_textual_test.php
deleted file mode 100644
index f9dc737e5..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/decorator_textual_test.php
+++ /dev/null
@@ -1,179 +0,0 @@
-UnitTestCase('Test of Calendar_Decorator_Textual');
- }
- function testMonthNamesLong() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $monthNames = array(
- 1=>'January',
- 2=>'February',
- 3=>'March',
- 4=>'April',
- 5=>'May',
- 6=>'June',
- 7=>'July',
- 8=>'August',
- 9=>'September',
- 10=>'October',
- 11=>'November',
- 12=>'December',
- );
- $this->assertEqual($monthNames,$Textual->monthNames());
- }
- function testMonthNamesShort() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $monthNames = array(
- 1=>'Jan',
- 2=>'Feb',
- 3=>'Mar',
- 4=>'Apr',
- 5=>'May',
- 6=>'Jun',
- 7=>'Jul',
- 8=>'Aug',
- 9=>'Sep',
- 10=>'Oct',
- 11=>'Nov',
- 12=>'Dec',
- );
- $this->assertEqual($monthNames,$Textual->monthNames('short'));
- }
- function testMonthNamesTwo() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $monthNames = array(
- 1=>'Ja',
- 2=>'Fe',
- 3=>'Ma',
- 4=>'Ap',
- 5=>'Ma',
- 6=>'Ju',
- 7=>'Ju',
- 8=>'Au',
- 9=>'Se',
- 10=>'Oc',
- 11=>'No',
- 12=>'De',
- );
- $this->assertEqual($monthNames,$Textual->monthNames('two'));
- }
- function testMonthNamesOne() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $monthNames = array(
- 1=>'J',
- 2=>'F',
- 3=>'M',
- 4=>'A',
- 5=>'M',
- 6=>'J',
- 7=>'J',
- 8=>'A',
- 9=>'S',
- 10=>'O',
- 11=>'N',
- 12=>'D',
- );
- $this->assertEqual($monthNames,$Textual->monthNames('one'));
- }
- function testWeekdayNamesLong() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $weekdayNames = array(
- 0=>'Sunday',
- 1=>'Monday',
- 2=>'Tuesday',
- 3=>'Wednesday',
- 4=>'Thursday',
- 5=>'Friday',
- 6=>'Saturday',
- );
- $this->assertEqual($weekdayNames,$Textual->weekdayNames());
- }
- function testWeekdayNamesShort() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $weekdayNames = array(
- 0=>'Sun',
- 1=>'Mon',
- 2=>'Tue',
- 3=>'Wed',
- 4=>'Thu',
- 5=>'Fri',
- 6=>'Sat',
- );
- $this->assertEqual($weekdayNames,$Textual->weekdayNames('short'));
- }
- function testWeekdayNamesTwo() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $weekdayNames = array(
- 0=>'Su',
- 1=>'Mo',
- 2=>'Tu',
- 3=>'We',
- 4=>'Th',
- 5=>'Fr',
- 6=>'Sa',
- );
- $this->assertEqual($weekdayNames,$Textual->weekdayNames('two'));
- }
- function testWeekdayNamesOne() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $weekdayNames = array(
- 0=>'S',
- 1=>'M',
- 2=>'T',
- 3=>'W',
- 4=>'T',
- 5=>'F',
- 6=>'S',
- );
- $this->assertEqual($weekdayNames,$Textual->weekdayNames('one'));
- }
- function testPrevMonthNameShort() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $this->assertEqual('Sep',$Textual->prevMonthName('short'));
- }
- function testThisMonthNameShort() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $this->assertEqual('Oct',$Textual->thisMonthName('short'));
- }
- function testNextMonthNameShort() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $this->assertEqual('Nov',$Textual->nextMonthName('short'));
- }
- function testThisDayNameShort() {
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $this->assertEqual('Wed',$Textual->thisDayName('short'));
- }
- function testOrderedWeekdaysShort() {
- $weekdayNames = array(
- 0=>'Sun',
- 1=>'Mon',
- 2=>'Tue',
- 3=>'Wed',
- 4=>'Thu',
- 5=>'Fri',
- 6=>'Sat',
- );
- $nShifts = CALENDAR_FIRST_DAY_OF_WEEK;
- while ($nShifts-- > 0) {
- $day = array_shift($weekdayNames);
- array_push($weekdayNames, $day);
- }
- $Textual = new Calendar_Decorator_Textual($this->mockcal);
- $this->assertEqual($weekdayNames,$Textual->orderedWeekdays('short'));
- }
-
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfDecoratorTextual();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/decorator_uri_test.php b/airtime_mvc/library/pear/Calendar/tests/decorator_uri_test.php
deleted file mode 100644
index 5a3624cc7..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/decorator_uri_test.php
+++ /dev/null
@@ -1,37 +0,0 @@
-UnitTestCase('Test of Calendar_Decorator_Uri');
- }
- function testFragments() {
- $Uri = new Calendar_Decorator_Uri($this->mockcal);
- $Uri->setFragments('year','month','day','hour','minute','second');
- $this->assertEqual('year=&month=&day=&hour=&minute=&second=',$Uri->this('second'));
- }
- function testScalarFragments() {
- $Uri = new Calendar_Decorator_Uri($this->mockcal);
- $Uri->setFragments('year','month','day','hour','minute','second');
- $Uri->setScalar();
- $this->assertEqual('&&&&&',$Uri->this('second'));
- }
- function testSetSeperator() {
- $Uri = new Calendar_Decorator_Uri($this->mockcal);
- $Uri->setFragments('year','month','day','hour','minute','second');
- $Uri->setSeparator('/');
- $this->assertEqual('year=/month=/day=/hour=/minute=/second=',$Uri->this('second'));
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfDecoratorUri();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/helper_test.php b/airtime_mvc/library/pear/Calendar/tests/helper_test.php
deleted file mode 100644
index 0f9702f43..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/helper_test.php
+++ /dev/null
@@ -1,83 +0,0 @@
-UnitTestCase('Test of Calendar_Table_Helper');
- }
- function setUp() {
- $this->mockengine = new Mock_Calendar_Engine($this);
- $this->mockengine->setReturnValue('getMinYears',1970);
- $this->mockengine->setReturnValue('getMaxYears',2037);
- $this->mockengine->setReturnValue('getMonthsInYear',12);
- $this->mockengine->setReturnValue('getDaysInMonth',31);
- $this->mockengine->setReturnValue('getHoursInDay',24);
- $this->mockengine->setReturnValue('getMinutesInHour',60);
- $this->mockengine->setReturnValue('getSecondsInMinute',60);
- $this->mockengine->setReturnValue('getWeekDays',array(0,1,2,3,4,5,6));
- $this->mockengine->setReturnValue('getDaysInWeek',7);
- $this->mockengine->setReturnValue('getFirstDayOfWeek',1);
- $this->mockengine->setReturnValue('getFirstDayInMonth',3);
- $this->mockcal = new Mock_Calendar_Second($this);
- $this->mockcal->setReturnValue('thisYear',2003);
- $this->mockcal->setReturnValue('thisMonth',10);
- $this->mockcal->setReturnValue('thisDay',15);
- $this->mockcal->setReturnValue('thisHour',13);
- $this->mockcal->setReturnValue('thisMinute',30);
- $this->mockcal->setReturnValue('thisSecond',45);
- $this->mockcal->setReturnValue('getEngine',$this->mockengine);
- }
- function testGetFirstDay() {
- for ( $i = 0; $i <= 7; $i++ ) {
- $Helper = & new Calendar_Table_Helper($this->mockcal,$i);
- $this->assertEqual($Helper->getFirstDay(),$i);
- }
- }
- function testGetDaysOfWeekMonday() {
- $Helper = new Calendar_Table_Helper($this->mockcal);
- $this->assertEqual($Helper->getDaysOfWeek(),array(1,2,3,4,5,6,0));
- }
- function testGetDaysOfWeekSunday() {
- $Helper = new Calendar_Table_Helper($this->mockcal,0);
- $this->assertEqual($Helper->getDaysOfWeek(),array(0,1,2,3,4,5,6));
- }
- function testGetDaysOfWeekThursday() {
- $Helper = new Calendar_Table_Helper($this->mockcal,4);
- $this->assertEqual($Helper->getDaysOfWeek(),array(4,5,6,0,1,2,3));
- }
- function testGetNumWeeks() {
- $Helper = new Calendar_Table_Helper($this->mockcal);
- $this->assertEqual($Helper->getNumWeeks(),5);
- }
- function testGetNumTableDaysInMonth() {
- $Helper = new Calendar_Table_Helper($this->mockcal);
- $this->assertEqual($Helper->getNumTableDaysInMonth(),35);
- }
- function testGetEmptyDaysBefore() {
- $Helper = new Calendar_Table_Helper($this->mockcal);
- $this->assertEqual($Helper->getEmptyDaysBefore(),2);
- }
- function testGetEmptyDaysAfter() {
- $Helper = new Calendar_Table_Helper($this->mockcal);
- $this->assertEqual($Helper->getEmptyDaysAfter(),33);
- }
- function testGetEmptyDaysAfterOffset() {
- $Helper = new Calendar_Table_Helper($this->mockcal);
- $this->assertEqual($Helper->getEmptyDaysAfterOffset(),5);
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfTableHelper();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/hour_test.php b/airtime_mvc/library/pear/Calendar/tests/hour_test.php
deleted file mode 100644
index 9c04a9eb4..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/hour_test.php
+++ /dev/null
@@ -1,98 +0,0 @@
-UnitTestCase('Test of Hour');
- }
- function setUp() {
- $this->cal = new Calendar_Hour(2003,10,25,13);
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 24,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testPrevMinute () {
- $this->assertEqual(59,$this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0,$this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1,$this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59,$this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0,$this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1,$this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(13,0,0,10,25,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
-}
-
-class TestOfHourBuild extends TestOfHour {
- function TestOfHourBuild() {
- $this->UnitTestCase('Test of Hour::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(60,$this->cal->size());
- }
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ( $Child = $this->cal->fetch() ) {
- $i++;
- }
- $this->assertEqual(60,$i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 0;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Minute.php');
- $selection = array(new Calendar_Minute(2003,10,25,13,32));
- $this->cal->build($selection);
- $i = 0;
- while ( $Child = $this->cal->fetch() ) {
- if ( $i == 32 )
- break;
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfHour();
- $test->run(new HtmlReporter());
- $test = &new TestOfHourBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/minute_test.php b/airtime_mvc/library/pear/Calendar/tests/minute_test.php
deleted file mode 100644
index 07a7db242..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/minute_test.php
+++ /dev/null
@@ -1,99 +0,0 @@
-UnitTestCase('Test of Minute');
- }
- function setUp() {
- $this->cal = new Calendar_Minute(2003,10,25,13,32);
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 24,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testPrevSecond () {
- $this->assertEqual(59,$this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0,$this->cal->thisSecond());
- }
- function testThisSecond_Timestamp () {
- $this->assertEqual($this->cal->cE->dateToStamp(
- 2003, 10, 25, 13, 32, 0),
- $this->cal->thisSecond('timestamp'));
- }
- function testNextSecond () {
- $this->assertEqual(1,$this->cal->nextSecond());
- }
- function testNextSecond_Timestamp () {
- $this->assertEqual($this->cal->cE->dateToStamp(
- 2003, 10, 25, 13, 32, 1),
- $this->cal->nextSecond('timestamp'));
- }
- function testGetTimeStamp() {
- $stamp = mktime(13,32,0,10,25,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
-}
-
-class TestOfMinuteBuild extends TestOfMinute {
- function TestOfMinuteBuild() {
- $this->UnitTestCase('Test of Minute::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(60,$this->cal->size());
- }
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ( $Child = $this->cal->fetch() ) {
- $i++;
- }
- $this->assertEqual(60,$i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 0;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Second.php');
- $selection = array(new Calendar_Second(2003,10,25,13,32,43));
- $this->cal->build($selection);
- $i = 0;
- while ( $Child = $this->cal->fetch() ) {
- if ( $i == 43 )
- break;
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfMinute();
- $test->run(new HtmlReporter());
- $test = &new TestOfMinuteBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/month_test.php b/airtime_mvc/library/pear/Calendar/tests/month_test.php
deleted file mode 100644
index c2238406b..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/month_test.php
+++ /dev/null
@@ -1,119 +0,0 @@
-UnitTestCase('Test of Month');
- }
- function setUp() {
- $this->cal = new Calendar_Month(2003,10);
- }
- function testPrevMonth_Object() {
- $this->assertEqual(new Calendar_Month(2003, 9), $this->cal->prevMonth('object'));
- }
- function testPrevDay () {
- $this->assertEqual(30,$this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 9,
- 'day' => 30,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(1,$this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(2,$this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(23,$this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0,$this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1,$this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59,$this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0,$this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1,$this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59,$this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0,$this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1,$this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0,0,0,10,1,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
-}
-
-class TestOfMonthBuild extends TestOfMonth {
- function TestOfMonthBuild() {
- $this->UnitTestCase('Test of Month::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(31,$this->cal->size());
- }
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ( $Child = $this->cal->fetch() ) {
- $i++;
- }
- $this->assertEqual(31,$i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Day.php');
- $selection = array(new Calendar_Day(2003,10,25));
- $this->cal->build($selection);
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- if ( $i == 25 )
- break;
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfMonth();
- $test->run(new HtmlReporter());
- $test = &new TestOfMonthBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/month_weekdays_test.php b/airtime_mvc/library/pear/Calendar/tests/month_weekdays_test.php
deleted file mode 100644
index b60005d7e..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/month_weekdays_test.php
+++ /dev/null
@@ -1,182 +0,0 @@
-UnitTestCase('Test of Month Weekdays');
- }
- function setUp() {
- $this->cal = new Calendar_Month_Weekdays(2003, 10);
- }
- function testPrevDay () {
- $this->assertEqual(30,$this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 9,
- 'day' => 30,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(1, $this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(2, $this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(23, $this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0, $this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1, $this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59, $this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0, $this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1, $this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59, $this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0, $this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1, $this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0, 0, 0, 10, 1, 2003);
- $this->assertEqual($stamp, $this->cal->getTimeStamp());
- }
-}
-
-class TestOfMonthWeekdaysBuild extends TestOfMonthWeekdays {
- function TestOfMonthWeekdaysBuild() {
- $this->UnitTestCase('Test of Month_Weekdays::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(35, $this->cal->size());
- }
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ($Child = $this->cal->fetch()) {
- $i++;
- }
- $this->assertEqual(35, $i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 1;
- while ($Child = $this->cal->fetch()) {
- $children[$i] = $Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
- function testSelection() {
- include_once CALENDAR_ROOT . 'Day.php';
- $selection = array(new Calendar_Day(2003, 10, 25));
- $this->cal->build($selection);
- $daysInPrevMonth = (0 == CALENDAR_FIRST_DAY_OF_WEEK) ? 3 : 2;
- $end = 25 + $daysInPrevMonth;
- $i = 1;
- while ($Child = $this->cal->fetch()) {
- if ($i == $end) {
- break;
- }
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- $this->assertEqual(25, $Child->day);
- }
- function testEmptyCount() {
- $this->cal->build();
- $empty = 0;
- while ($Child = $this->cal->fetch()) {
- if ($Child->isEmpty()) {
- $empty++;
- }
- }
- $this->assertEqual(4, $empty);
- }
- function testEmptyCount2() {
- $this->cal = new Calendar_Month_Weekdays(2010,3);
- $this->cal->build();
- $empty = 0;
- while ($Child = $this->cal->fetch()) {
- if ($Child->isEmpty()) {
- $empty++;
- }
- }
- $this->assertEqual(4, $empty);
- }
- function testEmptyCount3() {
- $this->cal = new Calendar_Month_Weekdays(2010,6);
- $this->cal->build();
- $empty = 0;
- while ($Child = $this->cal->fetch()) {
- if ($Child->isEmpty()) {
- $empty++;
- }
- }
- $this->assertEqual(5, $empty);
- }
- function testEmptyDaysBefore_AfterAdjust() {
- $this->cal = new Calendar_Month_Weekdays(2004, 0);
- $this->cal->build();
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 1 : 0;
- $this->assertEqual($expected, $this->cal->tableHelper->getEmptyDaysBefore());
- }
- function testEmptyDaysBefore() {
- $this->cal = new Calendar_Month_Weekdays(2010, 3);
- $this->cal->build();
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 1 : 0;
- $this->assertEqual($expected, $this->cal->tableHelper->getEmptyDaysBefore());
- }
- function testEmptyDaysBefore2() {
- $this->cal = new Calendar_Month_Weekdays(2010, 6);
- $this->cal->build();
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 2 : 1;
- $this->assertEqual($expected, $this->cal->tableHelper->getEmptyDaysBefore());
- }
- function testEmptyDaysAfter() {
- $this->cal = new Calendar_Month_Weekdays(2010, 3);
- $this->cal->build();
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 30 : 31;
- $this->assertEqual($expected, $this->cal->tableHelper->getEmptyDaysAfter());
- }
- function testEmptyDaysAfter2() {
- $this->cal = new Calendar_Month_Weekdays(2010, 6);
- $this->cal->build();
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 30 : 31;
- $this->assertEqual($expected, $this->cal->tableHelper->getEmptyDaysAfter());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfMonthWeekdays();
- $test->run(new HtmlReporter());
- $test = &new TestOfMonthWeekdaysBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/month_weeks_test.php b/airtime_mvc/library/pear/Calendar/tests/month_weeks_test.php
deleted file mode 100644
index d8f130294..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/month_weeks_test.php
+++ /dev/null
@@ -1,129 +0,0 @@
-UnitTestCase('Test of Month Weeks');
- }
- function setUp() {
- $this->cal = new Calendar_Month_Weeks(2003, 10);
- }
- function testPrevDay () {
- $this->assertEqual(30, $this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 9,
- 'day' => 30,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(1, $this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(2, $this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(23, $this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0, $this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1, $this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59, $this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0, $this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1, $this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59, $this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0, $this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1, $this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0,0,0,10,1,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
-}
-
-class TestOfMonthWeeksBuild extends TestOfMonthWeeks {
- function TestOfMonthWeeksBuild() {
- $this->UnitTestCase('Test of Month_Weeks::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(5,$this->cal->size());
- }
-
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ($Child = $this->cal->fetch()) {
- $i++;
- }
- $this->assertEqual(5,$i);
- }
-/* Recusive dependency issue with SimpleTest
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
-*/
- function testSelection() {
- include_once CALENDAR_ROOT . 'Week.php';
- $selection = array(new Calendar_Week(2003, 10, 12));
- $this->cal->build($selection);
- $i = 1;
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 3 : 2;
- while ($Child = $this->cal->fetch()) {
- if ($i == $expected) {
- //12-10-2003 is in the 2nd week of the month if firstDay is Monday,
- //in the 3rd if firstDay is Sunday
- break;
- }
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
- function testEmptyDaysBefore_AfterAdjust() {
- $this->cal = new Calendar_Month_Weeks(2004, 0);
- $this->cal->build();
- $expected = (CALENDAR_FIRST_DAY_OF_WEEK == 0) ? 1 : 0;
- $this->assertEqual($expected, $this->cal->tableHelper->getEmptyDaysBefore());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfMonthWeeks();
- $test->run(new HtmlReporter());
- $test = &new TestOfMonthWeeksBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/peardate_engine_test.php b/airtime_mvc/library/pear/Calendar/tests/peardate_engine_test.php
deleted file mode 100644
index c32c890d7..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/peardate_engine_test.php
+++ /dev/null
@@ -1,130 +0,0 @@
-UnitTestCase('Test of Calendar_Engine_PearDate');
- }
- function setUp() {
- $this->engine = new Calendar_Engine_PearDate();
- }
- function testGetSecondsInMinute() {
- $this->assertEqual($this->engine->getSecondsInMinute(),60);
- }
- function testGetMinutesInHour() {
- $this->assertEqual($this->engine->getMinutesInHour(),60);
- }
- function testGetHoursInDay() {
- $this->assertEqual($this->engine->getHoursInDay(),24);
- }
- function testGetFirstDayOfWeek() {
- $this->assertEqual($this->engine->getFirstDayOfWeek(),1);
- }
- function testGetWeekDays() {
- $this->assertEqual($this->engine->getWeekDays(),array(0,1,2,3,4,5,6));
- }
- function testGetDaysInWeek() {
- $this->assertEqual($this->engine->getDaysInWeek(),7);
- }
- function testGetWeekNInYear() {
- $this->assertEqual($this->engine->getWeekNInYear(2003, 11, 3), 45);
- }
- function testGetWeekNInMonth() {
- $this->assertEqual($this->engine->getWeekNInMonth(2003, 11, 3), 2);
- }
- function testGetWeeksInMonth0() {
- $this->assertEqual($this->engine->getWeeksInMonth(2003, 11, 0), 6); //week starts on sunday
- }
- function testGetWeeksInMonth1() {
- $this->assertEqual($this->engine->getWeeksInMonth(2003, 11, 1), 5); //week starts on monday
- }
- function testGetWeeksInMonth2() {
- $this->assertEqual($this->engine->getWeeksInMonth(2003, 2, 6), 4); //week starts on saturday
- }
- function testGetWeeksInMonth3() {
- // Unusual cases that can cause fails (shows up with example 21.php)
- $this->assertEqual($this->engine->getWeeksInMonth(2004,2,1),5);
- $this->assertEqual($this->engine->getWeeksInMonth(2004,8,1),6);
- }
- function testGetDayOfWeek() {
- $this->assertEqual($this->engine->getDayOfWeek(2003, 11, 18), 2);
- }
- function testGetFirstDayInMonth() {
- $this->assertEqual($this->engine->getFirstDayInMonth(2003,10),3);
- }
- function testGetDaysInMonth() {
- $this->assertEqual($this->engine->getDaysInMonth(2003,10),31);
- }
- function testGetMinYears() {
- $this->assertEqual($this->engine->getMinYears(),0);
- }
- function testGetMaxYears() {
- $this->assertEqual($this->engine->getMaxYears(),9999);
- }
- function testDateToStamp() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->dateToStamp(2003,10,15,13,30,45),$stamp);
- }
- function testStampToSecond() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->stampToSecond($stamp),45);
- }
- function testStampToMinute() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->stampToMinute($stamp),30);
- }
- function testStampToHour() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->stampToHour($stamp),13);
- }
- function testStampToDay() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->stampToDay($stamp),15);
- }
- function testStampToMonth() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->stampToMonth($stamp),10);
- }
- function testStampToYear() {
- $stamp = '2003-10-15 13:30:45';
- $this->assertEqual($this->engine->stampToYear($stamp),2003);
- }
- function testAdjustDate() {
- $stamp = '2004-01-01 13:30:45';
- $y = $this->engine->stampToYear($stamp);
- $m = $this->engine->stampToMonth($stamp);
- $d = $this->engine->stampToDay($stamp);
-
- //the first day of the month should be thursday
- $this->assertEqual($this->engine->getDayOfWeek($y, $m, $d), 4);
-
- $m--; // 2004-00-01 => 2003-12-01
- $this->engine->adjustDate($y, $m, $d, $dummy, $dummy, $dummy);
-
- $this->assertEqual($y, 2003);
- $this->assertEqual($m, 12);
- $this->assertEqual($d, 1);
-
- // get last day and check if it's wednesday
- $d = $this->engine->getDaysInMonth($y, $m);
-
- $this->assertEqual($this->engine->getDayOfWeek($y, $m, $d), 3);
- }
- function testIsToday() {
- $stamp = date('Y-m-d H:i:s');
- $this->assertTrue($this->engine->isToday($stamp));
- $stamp = date('Y-m-d H:i:s', time() + 1000000000);
- $this->assertFalse($this->engine->isToday($stamp));
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfPearDateEngine();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/second_test.php b/airtime_mvc/library/pear/Calendar/tests/second_test.php
deleted file mode 100644
index 78c56565a..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/second_test.php
+++ /dev/null
@@ -1,34 +0,0 @@
-UnitTestCase('Test of Second');
- }
- function setUp() {
- $this->cal = new Calendar_Second(2003,10,25,13,32,43);
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 24,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfSecond();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/simple_include.php b/airtime_mvc/library/pear/Calendar/tests/simple_include.php
deleted file mode 100644
index cd7ad4413..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/simple_include.php
+++ /dev/null
@@ -1,10 +0,0 @@
-
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/table_helper_tests.php b/airtime_mvc/library/pear/Calendar/tests/table_helper_tests.php
deleted file mode 100644
index c8abe64eb..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/table_helper_tests.php
+++ /dev/null
@@ -1,19 +0,0 @@
-GroupTest('Table Helper Tests');
- $this->addTestFile('helper_test.php');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TableHelperTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/unixts_engine_test.php b/airtime_mvc/library/pear/Calendar/tests/unixts_engine_test.php
deleted file mode 100644
index 2d7c11f97..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/unixts_engine_test.php
+++ /dev/null
@@ -1,110 +0,0 @@
-UnitTestCase('Test of Calendar_Engine_UnixTs');
- }
- function setUp() {
- $this->engine = new Calendar_Engine_UnixTs();
- }
- function testGetSecondsInMinute() {
- $this->assertEqual($this->engine->getSecondsInMinute(),60);
- }
- function testGetMinutesInHour() {
- $this->assertEqual($this->engine->getMinutesInHour(),60);
- }
- function testGetHoursInDay() {
- $this->assertEqual($this->engine->getHoursInDay(),24);
- }
- function testGetFirstDayOfWeek() {
- $this->assertEqual($this->engine->getFirstDayOfWeek(),1);
- }
- function testGetWeekDays() {
- $this->assertEqual($this->engine->getWeekDays(),array(0,1,2,3,4,5,6));
- }
- function testGetDaysInWeek() {
- $this->assertEqual($this->engine->getDaysInWeek(),7);
- }
- function testGetWeekNInYear() {
- $this->assertEqual($this->engine->getWeekNInYear(2003, 11, 3), 45);
- }
- function testGetWeekNInMonth() {
- $this->assertEqual($this->engine->getWeekNInMonth(2003, 11, 3), 2);
- }
- function testGetWeeksInMonth0() {
- $this->assertEqual($this->engine->getWeeksInMonth(2003, 11, 0), 6); //week starts on sunday
- }
- function testGetWeeksInMonth1() {
- $this->assertEqual($this->engine->getWeeksInMonth(2003, 11, 1), 5); //week starts on monday
- }
- function testGetWeeksInMonth2() {
- $this->assertEqual($this->engine->getWeeksInMonth(2003, 2, 6), 4); //week starts on saturday
- }
- function testGetWeeksInMonth3() {
- // Unusual cases that can cause fails (shows up with example 21.php)
- $this->assertEqual($this->engine->getWeeksInMonth(2004,2,1),5);
- $this->assertEqual($this->engine->getWeeksInMonth(2004,8,1),6);
- }
- function testGetDayOfWeek() {
- $this->assertEqual($this->engine->getDayOfWeek(2003, 11, 18), 2);
- }
- function testGetFirstDayInMonth() {
- $this->assertEqual($this->engine->getFirstDayInMonth(2003,10),3);
- }
- function testGetDaysInMonth() {
- $this->assertEqual($this->engine->getDaysInMonth(2003,10),31);
- }
- function testGetMinYears() {
- $test = strpos(PHP_OS, 'WIN') >= 0 ? 1970 : 1902;
- $this->assertEqual($this->engine->getMinYears(),$test);
- }
- function testGetMaxYears() {
- $this->assertEqual($this->engine->getMaxYears(),2037);
- }
- function testDateToStamp() {
- $stamp = mktime(0,0,0,10,15,2003);
- $this->assertEqual($this->engine->dateToStamp(2003,10,15,0,0,0),$stamp);
- }
- function testStampToSecond() {
- $stamp = mktime(13,30,45,10,15,2003);
- $this->assertEqual($this->engine->stampToSecond($stamp),45);
- }
- function testStampToMinute() {
- $stamp = mktime(13,30,45,10,15,2003);
- $this->assertEqual($this->engine->stampToMinute($stamp),30);
- }
- function testStampToHour() {
- $stamp = mktime(13,30,45,10,15,2003);
- $this->assertEqual($this->engine->stampToHour($stamp),13);
- }
- function testStampToDay() {
- $stamp = mktime(13,30,45,10,15,2003);
- $this->assertEqual($this->engine->stampToDay($stamp),15);
- }
- function testStampToMonth() {
- $stamp = mktime(13,30,45,10,15,2003);
- $this->assertEqual($this->engine->stampToMonth($stamp),10);
- }
- function testStampToYear() {
- $stamp = mktime(13,30,45,10,15,2003);
- $this->assertEqual($this->engine->stampToYear($stamp),2003);
- }
- function testIsToday() {
- $stamp = mktime();
- $this->assertTrue($this->engine->isToday($stamp));
- $stamp += 1000000000;
- $this->assertFalse($this->engine->isToday($stamp));
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfUnixTsEngine();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/util_tests.php b/airtime_mvc/library/pear/Calendar/tests/util_tests.php
deleted file mode 100644
index ce058ea4b..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/util_tests.php
+++ /dev/null
@@ -1,20 +0,0 @@
-GroupTest('Util Tests');
- $this->addTestFile('util_uri_test.php');
- $this->addTestFile('util_textual_test.php');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new UtilTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/util_textual_test.php b/airtime_mvc/library/pear/Calendar/tests/util_textual_test.php
deleted file mode 100644
index e47735dca..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/util_textual_test.php
+++ /dev/null
@@ -1,196 +0,0 @@
-UnitTestCase('Test of Calendar_Util_Textual');
- }
- function setUp() {
- $this->mockengine = new Mock_Calendar_Engine($this);
- $this->mockcal = new Mock_Calendar_Second($this);
- $this->mockcal->setReturnValue('prevYear',2002);
- $this->mockcal->setReturnValue('thisYear',2003);
- $this->mockcal->setReturnValue('nextYear',2004);
- $this->mockcal->setReturnValue('prevMonth',9);
- $this->mockcal->setReturnValue('thisMonth',10);
- $this->mockcal->setReturnValue('nextMonth',11);
- $this->mockcal->setReturnValue('prevDay',14);
- $this->mockcal->setReturnValue('thisDay',15);
- $this->mockcal->setReturnValue('nextDay',16);
- $this->mockcal->setReturnValue('prevHour',12);
- $this->mockcal->setReturnValue('thisHour',13);
- $this->mockcal->setReturnValue('nextHour',14);
- $this->mockcal->setReturnValue('prevMinute',29);
- $this->mockcal->setReturnValue('thisMinute',30);
- $this->mockcal->setReturnValue('nextMinute',31);
- $this->mockcal->setReturnValue('prevSecond',44);
- $this->mockcal->setReturnValue('thisSecond',45);
- $this->mockcal->setReturnValue('nextSecond',46);
- $this->mockcal->setReturnValue('getEngine',$this->mockengine);
- $this->mockcal->setReturnValue('getTimestamp',12345);
- }
- function tearDown() {
- unset ( $this->engine );
- unset ( $this->mockcal );
- }
- function testMonthNamesLong() {
- $monthNames = array(
- 1=>'January',
- 2=>'February',
- 3=>'March',
- 4=>'April',
- 5=>'May',
- 6=>'June',
- 7=>'July',
- 8=>'August',
- 9=>'September',
- 10=>'October',
- 11=>'November',
- 12=>'December',
- );
- $this->assertEqual($monthNames,Calendar_Util_Textual::monthNames());
- }
- function testMonthNamesShort() {
- $monthNames = array(
- 1=>'Jan',
- 2=>'Feb',
- 3=>'Mar',
- 4=>'Apr',
- 5=>'May',
- 6=>'Jun',
- 7=>'Jul',
- 8=>'Aug',
- 9=>'Sep',
- 10=>'Oct',
- 11=>'Nov',
- 12=>'Dec',
- );
- $this->assertEqual($monthNames,Calendar_Util_Textual::monthNames('short'));
- }
- function testMonthNamesTwo() {
- $monthNames = array(
- 1=>'Ja',
- 2=>'Fe',
- 3=>'Ma',
- 4=>'Ap',
- 5=>'Ma',
- 6=>'Ju',
- 7=>'Ju',
- 8=>'Au',
- 9=>'Se',
- 10=>'Oc',
- 11=>'No',
- 12=>'De',
- );
- $this->assertEqual($monthNames,Calendar_Util_Textual::monthNames('two'));
- }
- function testMonthNamesOne() {
- $monthNames = array(
- 1=>'J',
- 2=>'F',
- 3=>'M',
- 4=>'A',
- 5=>'M',
- 6=>'J',
- 7=>'J',
- 8=>'A',
- 9=>'S',
- 10=>'O',
- 11=>'N',
- 12=>'D',
- );
- $this->assertEqual($monthNames,Calendar_Util_Textual::monthNames('one'));
- }
- function testWeekdayNamesLong() {
- $weekdayNames = array(
- 0=>'Sunday',
- 1=>'Monday',
- 2=>'Tuesday',
- 3=>'Wednesday',
- 4=>'Thursday',
- 5=>'Friday',
- 6=>'Saturday',
- );
- $this->assertEqual($weekdayNames,Calendar_Util_Textual::weekdayNames());
- }
- function testWeekdayNamesShort() {
- $weekdayNames = array(
- 0=>'Sun',
- 1=>'Mon',
- 2=>'Tue',
- 3=>'Wed',
- 4=>'Thu',
- 5=>'Fri',
- 6=>'Sat',
- );
- $this->assertEqual($weekdayNames,Calendar_Util_Textual::weekdayNames('short'));
- }
- function testWeekdayNamesTwo() {
- $weekdayNames = array(
- 0=>'Su',
- 1=>'Mo',
- 2=>'Tu',
- 3=>'We',
- 4=>'Th',
- 5=>'Fr',
- 6=>'Sa',
- );
- $this->assertEqual($weekdayNames,Calendar_Util_Textual::weekdayNames('two'));
- }
- function testWeekdayNamesOne() {
- $weekdayNames = array(
- 0=>'S',
- 1=>'M',
- 2=>'T',
- 3=>'W',
- 4=>'T',
- 5=>'F',
- 6=>'S',
- );
- $this->assertEqual($weekdayNames,Calendar_Util_Textual::weekdayNames('one'));
- }
- function testPrevMonthNameShort() {
- $this->assertEqual('Sep',Calendar_Util_Textual::prevMonthName($this->mockcal,'short'));
- }
- function testThisMonthNameShort() {
- $this->assertEqual('Oct',Calendar_Util_Textual::thisMonthName($this->mockcal,'short'));
- }
- function testNextMonthNameShort() {
- $this->assertEqual('Nov',Calendar_Util_Textual::nextMonthName($this->mockcal,'short'));
- }
- function testThisDayNameShort() {
- $this->assertEqual('Wed',Calendar_Util_Textual::thisDayName($this->mockcal,'short'));
- }
- function testOrderedWeekdaysShort() {
- $weekdayNames = array(
- 0=>'Sun',
- 1=>'Mon',
- 2=>'Tue',
- 3=>'Wed',
- 4=>'Thu',
- 5=>'Fri',
- 6=>'Sat',
- );
- $nShifts = CALENDAR_FIRST_DAY_OF_WEEK;
- while ($nShifts-- > 0) {
- $day = array_shift($weekdayNames);
- array_push($weekdayNames, $day);
- }
- $this->assertEqual($weekdayNames,Calendar_Util_Textual::orderedWeekdays($this->mockcal,'short'));
- }
-
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfUtilTextual();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/util_uri_test.php b/airtime_mvc/library/pear/Calendar/tests/util_uri_test.php
deleted file mode 100644
index 970f26985..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/util_uri_test.php
+++ /dev/null
@@ -1,54 +0,0 @@
-UnitTestCase('Test of Calendar_Util_Uri');
- }
-
- function setUp() {
- $this->MockCal = & new Mock_Calendar_Day($this);
- $this->MockCal->setReturnValue('getEngine',new Mock_Calendar_Engine($this));
- }
-
- function testFragments() {
- $Uri = new Calendar_Util_Uri('y','m','d','h','m','s');
- $Uri->setFragments('year','month','day','hour','minute','second');
- $this->assertEqual(
- 'year=&month=&day=&hour=&minute=&second=',
- $Uri->this($this->MockCal, 'second')
- );
- }
- function testScalarFragments() {
- $Uri = new Calendar_Util_Uri('year','month','day','hour','minute','second');
- $Uri->scalar = true;
- $this->assertEqual(
- '&&&&&',
- $Uri->this($this->MockCal, 'second')
- );
- }
- function testSetSeperator() {
- $Uri = new Calendar_Util_Uri('year','month','day','hour','minute','second');
- $Uri->separator = '/';
- $this->assertEqual(
- 'year=/month=/day=/hour=/minute=/second=',
- $Uri->this($this->MockCal, 'second')
- );
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfUtilUri();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/validator_error_test.php b/airtime_mvc/library/pear/Calendar/tests/validator_error_test.php
deleted file mode 100644
index ba47092cd..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/validator_error_test.php
+++ /dev/null
@@ -1,34 +0,0 @@
-UnitTestCase('Test of Validation Error');
- }
- function setUp() {
- $this->vError = new Calendar_Validation_Error('foo',20,'bar');
- }
- function testGetUnit() {
- $this->assertEqual($this->vError->getUnit(),'foo');
- }
- function testGetValue() {
- $this->assertEqual($this->vError->getValue(),20);
- }
- function testGetMessage() {
- $this->assertEqual($this->vError->getMessage(),'bar');
- }
- function testToString() {
- $this->assertEqual($this->vError->toString(),'foo = 20 [bar]');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfValidationError();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/validator_tests.php b/airtime_mvc/library/pear/Calendar/tests/validator_tests.php
deleted file mode 100644
index 9d06b7fff..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/validator_tests.php
+++ /dev/null
@@ -1,20 +0,0 @@
-GroupTest('Validator Tests');
- $this->addTestFile('validator_unit_test.php');
- $this->addTestFile('validator_error_test.php');
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new ValidatorTests();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/validator_unit_test.php b/airtime_mvc/library/pear/Calendar/tests/validator_unit_test.php
deleted file mode 100644
index c655bee02..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/validator_unit_test.php
+++ /dev/null
@@ -1,210 +0,0 @@
-UnitTestCase('Test of Validator');
- }
- function setUp() {
- $this->mockengine = new Mock_Calendar_Engine($this);
- $this->mockengine->setReturnValue('getMinYears',1970);
- $this->mockengine->setReturnValue('getMaxYears',2037);
- $this->mockengine->setReturnValue('getMonthsInYear',12);
- $this->mockengine->setReturnValue('getDaysInMonth',30);
- $this->mockengine->setReturnValue('getHoursInDay',24);
- $this->mockengine->setReturnValue('getMinutesInHour',60);
- $this->mockengine->setReturnValue('getSecondsInMinute',60);
- $this->mockcal = new Mock_Calendar_Second($this);
- $this->mockcal->setReturnValue('getEngine',$this->mockengine);
- }
- function tearDown() {
- unset ($this->mockengine);
- unset ($this->mocksecond);
- }
- function testIsValidYear() {
- $this->mockcal->setReturnValue('thisYear',2000);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValidYear());
- }
- function testIsValidYearTooSmall() {
- $this->mockcal->setReturnValue('thisYear',1969);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidYear());
- }
- function testIsValidYearTooLarge() {
- $this->mockcal->setReturnValue('thisYear',2038);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidYear());
- }
- function testIsValidMonth() {
- $this->mockcal->setReturnValue('thisMonth',10);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValidMonth());
- }
- function testIsValidMonthTooSmall() {
- $this->mockcal->setReturnValue('thisMonth',0);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidMonth());
- }
- function testIsValidMonthTooLarge() {
- $this->mockcal->setReturnValue('thisMonth',13);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidMonth());
- }
- function testIsValidDay() {
- $this->mockcal->setReturnValue('thisDay',10);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValidDay());
- }
- function testIsValidDayTooSmall() {
- $this->mockcal->setReturnValue('thisDay',0);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidDay());
- }
- function testIsValidDayTooLarge() {
- $this->mockcal->setReturnValue('thisDay',31);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidDay());
- }
- function testIsValidHour() {
- $this->mockcal->setReturnValue('thisHour',10);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValidHour());
- }
- function testIsValidHourTooSmall() {
- $this->mockcal->setReturnValue('thisHour',-1);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidHour());
- }
- function testIsValidHourTooLarge() {
- $this->mockcal->setReturnValue('thisHour',24);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidHour());
- }
- function testIsValidMinute() {
- $this->mockcal->setReturnValue('thisMinute',30);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValidMinute());
- }
- function testIsValidMinuteTooSmall() {
- $this->mockcal->setReturnValue('thisMinute',-1);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidMinute());
- }
- function testIsValidMinuteTooLarge() {
- $this->mockcal->setReturnValue('thisMinute',60);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidMinute());
- }
- function testIsValidSecond() {
- $this->mockcal->setReturnValue('thisSecond',30);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValidSecond());
- }
- function testIsValidSecondTooSmall() {
- $this->mockcal->setReturnValue('thisSecond',-1);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidSecond());
- }
- function testIsValidSecondTooLarge() {
- $this->mockcal->setReturnValue('thisSecond',60);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValidSecond());
- }
- function testIsValid() {
- $this->mockcal->setReturnValue('thisYear',2000);
- $this->mockcal->setReturnValue('thisMonth',5);
- $this->mockcal->setReturnValue('thisDay',15);
- $this->mockcal->setReturnValue('thisHour',13);
- $this->mockcal->setReturnValue('thisMinute',30);
- $this->mockcal->setReturnValue('thisSecond',40);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertTrue($Validator->isValid());
- }
- function testIsValidAllWrong() {
- $this->mockcal->setReturnValue('thisYear',2038);
- $this->mockcal->setReturnValue('thisMonth',13);
- $this->mockcal->setReturnValue('thisDay',31);
- $this->mockcal->day = 31;
- $this->mockcal->setReturnValue('thisHour',24);
- $this->mockcal->setReturnValue('thisMinute',60);
- $this->mockcal->setReturnValue('thisSecond',60);
- $Validator = new Calendar_Validator($this->mockcal);
- $this->assertFalse($Validator->isValid());
- $i = 0;
- while ( $Validator->fetch() ) {
- $i++;
- }
- $this->assertEqual($i,6);
- }
-}
-
-class TestOfValidatorLive extends UnitTestCase {
- function TestOfValidatorLive() {
- $this->UnitTestCase('Test of Validator Live');
- }
- function testYear() {
- $Unit = new Calendar_Year(2038);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidYear());
- }
- function testMonth() {
- $Unit = new Calendar_Month(2000,13);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidMonth());
- }
-/*
- function testWeek() {
- $Unit = new Calendar_Week(2000,12,7);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidWeek());
- }
-*/
- function testDay() {
- $Unit = new Calendar_Day(2000,12,32);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidDay());
- }
- function testHour() {
- $Unit = new Calendar_Hour(2000,12,20,24);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidHour());
- }
- function testMinute() {
- $Unit = new Calendar_Minute(2000,12,20,23,60);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidMinute());
- }
- function testSecond() {
- $Unit = new Calendar_Second(2000,12,20,23,59,60);
- $Validator = & $Unit->getValidator();
- $this->assertFalse($Validator->isValidSecond());
- }
- function testAllBad() {
- $Unit = new Calendar_Second(2000,13,32,24,60,60);
- $this->assertFalse($Unit->isValid());
- $Validator = & $Unit->getValidator();
- $i = 0;
- while ( $Validator->fetch() ) {
- $i++;
- }
- $this->assertEqual($i,5);
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfValidator();
- $test->run(new HtmlReporter());
- $test = &new TestOfValidatorLive();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/week_firstday_0_test.php b/airtime_mvc/library/pear/Calendar/tests/week_firstday_0_test.php
deleted file mode 100644
index 4ba0c48f5..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/week_firstday_0_test.php
+++ /dev/null
@@ -1,241 +0,0 @@
-UnitTestCase('Test of Week - Week Starting on Sunday');
- }
- function setUp() {
- $this->cal = Calendar_Factory::create('Week', 2003, 10, 9);
- //print_r($this->cal);
- }
- function testPrevDay () {
- $this->assertEqual(8, $this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 8,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(9, $this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(10, $this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(23, $this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0, $this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1, $this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59, $this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0, $this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1, $this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59, $this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0, $this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1, $this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0,0,0,10,9,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
- function testNewTimeStamp() {
- $stamp = mktime(0,0,0,7,28,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual('29 2004', date('W Y', $this->cal->prevWeek(true)));
- $this->assertEqual('30 2004', date('W Y', $this->cal->thisWeek(true)));
- $this->assertEqual('31 2004', date('W Y', $this->cal->nextWeek(true)));
- }
- function testPrevWeekInMonth() {
- $this->assertEqual(1, $this->cal->prevWeek());
- $stamp = mktime(0,0,0,2,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(0, $this->cal->prevWeek());
- }
- function testThisWeekInMonth() {
- $this->assertEqual(2, $this->cal->thisWeek());
- $stamp = mktime(0,0,0,2,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(1, $this->cal->thisWeek());
- $stamp = mktime(0,0,0,1,1,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(1, $this->cal->thisWeek());
- $stamp = mktime(0,0,0,1,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2, $this->cal->thisWeek());
- }
- function testNextWeekInMonth() {
- $this->assertEqual(3, $this->cal->nextWeek());
- $stamp = mktime(0,0,0,2,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2, $this->cal->nextWeek());
- }
- function testPrevWeekInYear() {
- $this->assertEqual(date('W', $this->cal->prevWeek('timestamp')), $this->cal->prevWeek('n_in_year'));
- $stamp = mktime(0,0,0,1,1,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(date('W', $this->cal->nextWeek('timestamp')), $this->cal->nextWeek('n_in_year'));
- }
- function testThisWeekInYear() {
- $this->assertEqual(date('W', $this->cal->thisWeek('timestamp')), $this->cal->thisWeek('n_in_year'));
- $stamp = mktime(0,0,0,1,1,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(date('W', $this->cal->thisWeek('timestamp')), $this->cal->thisWeek('n_in_year'));
- }
- function testFirstWeekInYear() {
- $stamp = mktime(0,0,0,1,4,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(1, $this->cal->thisWeek('n_in_year'));
- }
- function testNextWeekInYear() {
- $this->assertEqual(date('W', $this->cal->nextWeek('timestamp')), $this->cal->nextWeek('n_in_year'));
- }
- function testPrevWeekArray() {
- $testArray = array(
- 'year'=>2003,
- 'month'=>9,
- 'day'=>28,
- 'hour'=>0,
- 'minute'=>0,
- 'second'=>0
- );
- $this->assertEqual($testArray, $this->cal->prevWeek('array'));
- }
- function testThisWeekArray() {
- $testArray = array(
- 'year'=>2003,
- 'month'=>10,
- 'day'=>5,
- 'hour'=>0,
- 'minute'=>0,
- 'second'=>0
- );
- $this->assertEqual($testArray, $this->cal->thisWeek('array'));
- }
- function testNextWeekArray() {
- $testArray = array(
- 'year'=>2003,
- 'month'=>10,
- 'day'=>12,
- 'hour'=>0,
- 'minute'=>0,
- 'second'=>0
- );
- $this->assertEqual($testArray, $this->cal->nextWeek('array'));
- }
- function testPrevWeekObject() {
- $testWeek = Calendar_Factory::create('Week', 2003,9,28);
- $Week = $this->cal->prevWeek('object');
- $this->assertEqual($testWeek->getTimeStamp(),$Week->getTimeStamp());
- }
- function testThisWeekObject() {
- $testWeek = Calendar_Factory::create('Week', 2003,10,5);
- $Week = $this->cal->thisWeek('object');
- $this->assertEqual($testWeek->getTimeStamp(),$Week->getTimeStamp());
- }
- function testNextWeekObject() {
- $testWeek = Calendar_Factory::create('Week', 2003,10,12);
- $Week = $this->cal->nextWeek('object');
- $this->assertEqual($testWeek->getTimeStamp(),$Week->getTimeStamp());
- }
-}
-
-class TestOfWeek_firstday_0_Build extends TestOfWeek_firstday_0 {
- function TestOfWeek_firstday_0_Build() {
- $this->UnitTestCase('Test of Week::build() - FirstDay = Sunday');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(7, $this->cal->size());
- }
-
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ($Child = $this->cal->fetch()) {
- $i++;
- }
- $this->assertEqual(7, $i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
-
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Day.php');
- $selection = array(Calendar_Factory::create('Day', 2003, 10, 6));
- $this->cal->build($selection);
- $i = 1;
- while ($Child = $this->cal->fetch()) {
- if ($i == 2) {
- break; //06-10-2003 is the 2nd day of the week
- }
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
- function testSelectionCornerCase() {
- require_once(CALENDAR_ROOT . 'Day.php');
- $selectedDays = array(
- Calendar_Factory::create('Day', 2003, 12, 28),
- Calendar_Factory::create('Day', 2003, 12, 29),
- Calendar_Factory::create('Day', 2003, 12, 30),
- Calendar_Factory::create('Day', 2003, 12, 31),
- Calendar_Factory::create('Day', 2004, 01, 01),
- Calendar_Factory::create('Day', 2004, 01, 02),
- Calendar_Factory::create('Day', 2004, 01, 03)
- );
- $this->cal = Calendar_Factory::create('Week', 2003, 12, 31, 0);
- $this->cal->build($selectedDays);
- while ($Day = $this->cal->fetch()) {
- $this->assertTrue($Day->isSelected());
- }
- $this->cal = Calendar_Factory::create('Week', 2004, 1, 1, 0);
- $this->cal->build($selectedDays);
- while ($Day = $this->cal->fetch()) {
- $this->assertTrue($Day->isSelected());
- }
- }
-}
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfWeek_firstday_0();
- $test->run(new HtmlReporter());
- $test = &new TestOfWeek_firstday_0_Build();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/week_test.php b/airtime_mvc/library/pear/Calendar/tests/week_test.php
deleted file mode 100644
index 64db83071..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/week_test.php
+++ /dev/null
@@ -1,276 +0,0 @@
-UnitTestCase('Test of Week');
- }
- function setUp() {
- $this->cal = Calendar_Factory::create('Week', 2003, 10, 9);
- //print_r($this->cal);
- }
- function testThisYear () {
- $this->assertEqual(2003, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,1,1,2003);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2003, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,12,31,2003);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2004, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,1,1,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2004, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,12,31,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2004, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,1,1,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2004, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,12,31,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2005, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,1,1,2006);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2005, $this->cal->thisYear());
-
- $stamp = mktime(0,0,0,12,31,2006);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2006, $this->cal->thisYear());
- }
- function testPrevDay () {
- $this->assertEqual(8, $this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2003,
- 'month' => 10,
- 'day' => 8,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(9, $this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(10, $this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(23, $this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0, $this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1, $this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59, $this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0, $this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1, $this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59, $this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0, $this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1, $this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0,0,0,10,9,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
- function testNewTimeStamp() {
- $stamp = mktime(0,0,0,7,28,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual('30 2004', date('W Y', $this->cal->prevWeek(true)));
- $this->assertEqual('31 2004', date('W Y', $this->cal->thisWeek(true)));
- $this->assertEqual('32 2004', date('W Y', $this->cal->nextWeek(true)));
- }
- function testPrevWeekInMonth() {
- $this->assertEqual(1, $this->cal->prevWeek());
- $stamp = mktime(0,0,0,2,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(0, $this->cal->prevWeek());
- }
- function testThisWeekInMonth() {
- $this->assertEqual(2, $this->cal->thisWeek());
- $stamp = mktime(0,0,0,2,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(1, $this->cal->thisWeek());
- $stamp = mktime(0,0,0,1,1,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(1, $this->cal->thisWeek());
- $stamp = mktime(0,0,0,1,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2, $this->cal->thisWeek());
- }
- function testNextWeekInMonth() {
- $this->assertEqual(3, $this->cal->nextWeek());
- $stamp = mktime(0,0,0,2,3,2005);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(2, $this->cal->nextWeek());
- }
- function testPrevWeekInYear() {
- $this->assertEqual(date('W', $this->cal->prevWeek('timestamp')), $this->cal->prevWeek('n_in_year'));
- $stamp = mktime(0,0,0,1,1,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(date('W', $this->cal->nextWeek('timestamp')), $this->cal->nextWeek('n_in_year'));
- }
- function testThisWeekInYear() {
- $this->assertEqual(date('W', $this->cal->thisWeek('timestamp')), $this->cal->thisWeek('n_in_year'));
- $stamp = mktime(0,0,0,1,1,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(date('W', $this->cal->thisWeek('timestamp')), $this->cal->thisWeek('n_in_year'));
- }
- function testFirstWeekInYear() {
- $stamp = mktime(0,0,0,1,4,2004);
- $this->cal->setTimestamp($stamp);
- $this->assertEqual(1, $this->cal->thisWeek('n_in_year'));
- }
- function testNextWeekInYear() {
- $this->assertEqual(date('W', $this->cal->nextWeek('timestamp')), $this->cal->nextWeek('n_in_year'));
- }
- function testPrevWeekArray() {
- $testArray = array(
- 'year'=>2003,
- 'month'=>9,
- 'day'=>29,
- 'hour'=>0,
- 'minute'=>0,
- 'second'=>0
- );
- $this->assertEqual($testArray, $this->cal->prevWeek('array'));
- }
- function testThisWeekArray() {
- $testArray = array(
- 'year'=>2003,
- 'month'=>10,
- 'day'=>6,
- 'hour'=>0,
- 'minute'=>0,
- 'second'=>0
- );
- $this->assertEqual($testArray, $this->cal->thisWeek('array'));
- }
- function testNextWeekArray() {
- $testArray = array(
- 'year'=>2003,
- 'month'=>10,
- 'day'=>13,
- 'hour'=>0,
- 'minute'=>0,
- 'second'=>0
- );
- $this->assertEqual($testArray, $this->cal->nextWeek('array'));
- }
- function testPrevWeekObject() {
- $testWeek = Calendar_Factory::create('Week', 2003, 9, 29); //week starts on monday
- $Week = $this->cal->prevWeek('object');
- $this->assertEqual($testWeek->getTimeStamp(), $Week->getTimeStamp());
- }
- function testThisWeekObject() {
- $testWeek = Calendar_Factory::create('Week', 2003, 10, 6); //week starts on monday
- $Week = $this->cal->thisWeek('object');
- $this->assertEqual($testWeek->getTimeStamp(), $Week->getTimeStamp());
- }
- function testNextWeekObject() {
- $testWeek = Calendar_Factory::create('Week', 2003, 10, 13); //week starts on monday
- $Week = $this->cal->nextWeek('object');
- $this->assertEqual($testWeek->getTimeStamp(), $Week->getTimeStamp());
- }
-}
-
-class TestOfWeekBuild extends TestOfWeek {
- function TestOfWeekBuild() {
- $this->UnitTestCase('Test of Week::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(7, $this->cal->size());
- }
-
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ($Child = $this->cal->fetch()) {
- $i++;
- }
- $this->assertEqual(7, $i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
-
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Day.php');
- $selection = array(Calendar_Factory::create('Day', 2003, 10, 7));
- $this->cal->build($selection);
- $i = 1;
- while ($Child = $this->cal->fetch()) {
- if ($i == 2) {
- break; //07-10-2003 is the 2nd day of the week (starting on monday)
- }
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
- function testSelectionCornerCase() {
- require_once(CALENDAR_ROOT . 'Day.php');
- $selectedDays = array(
- Calendar_Factory::create('Day', 2003, 12, 29),
- Calendar_Factory::create('Day', 2003, 12, 30),
- Calendar_Factory::create('Day', 2003, 12, 31),
- Calendar_Factory::create('Day', 2004, 01, 01),
- Calendar_Factory::create('Day', 2004, 01, 02),
- Calendar_Factory::create('Day', 2004, 01, 03),
- Calendar_Factory::create('Day', 2004, 01, 04)
- );
- $this->cal = Calendar_Factory::create('Week', 2003, 12, 31, 0);
- $this->cal->build($selectedDays);
- while ($Day = $this->cal->fetch()) {
- $this->assertTrue($Day->isSelected());
- }
- $this->cal = Calendar_Factory::create('Week', 2004, 1, 1, 0);
- $this->cal->build($selectedDays);
- while ($Day = $this->cal->fetch()) {
- $this->assertTrue($Day->isSelected());
- }
- }
-}
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfWeek();
- $test->run(new HtmlReporter());
- $test = &new TestOfWeekBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Calendar/tests/year_test.php b/airtime_mvc/library/pear/Calendar/tests/year_test.php
deleted file mode 100644
index bacd1ec8d..000000000
--- a/airtime_mvc/library/pear/Calendar/tests/year_test.php
+++ /dev/null
@@ -1,142 +0,0 @@
-UnitTestCase('Test of Year');
- }
- function setUp() {
- $this->cal = new Calendar_Year(2003);
- }
- function testPrevYear_Object() {
- $this->assertEqual(new Calendar_Year(2002), $this->cal->prevYear('object'));
- }
- function testThisYear_Object() {
- $this->assertEqual(new Calendar_Year(2003), $this->cal->thisYear('object'));
- }
- function testPrevMonth () {
- $this->assertEqual(12,$this->cal->prevMonth());
- }
- function testPrevMonth_Array () {
- $this->assertEqual(
- array(
- 'year' => 2002,
- 'month' => 12,
- 'day' => 1,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevMonth('array'));
- }
- function testThisMonth () {
- $this->assertEqual(1,$this->cal->thisMonth());
- }
- function testNextMonth () {
- $this->assertEqual(2,$this->cal->nextMonth());
- }
- function testPrevDay () {
- $this->assertEqual(31,$this->cal->prevDay());
- }
- function testPrevDay_Array () {
- $this->assertEqual(
- array(
- 'year' => 2002,
- 'month' => 12,
- 'day' => 31,
- 'hour' => 0,
- 'minute' => 0,
- 'second' => 0),
- $this->cal->prevDay('array'));
- }
- function testThisDay () {
- $this->assertEqual(1,$this->cal->thisDay());
- }
- function testNextDay () {
- $this->assertEqual(2,$this->cal->nextDay());
- }
- function testPrevHour () {
- $this->assertEqual(23,$this->cal->prevHour());
- }
- function testThisHour () {
- $this->assertEqual(0,$this->cal->thisHour());
- }
- function testNextHour () {
- $this->assertEqual(1,$this->cal->nextHour());
- }
- function testPrevMinute () {
- $this->assertEqual(59,$this->cal->prevMinute());
- }
- function testThisMinute () {
- $this->assertEqual(0,$this->cal->thisMinute());
- }
- function testNextMinute () {
- $this->assertEqual(1,$this->cal->nextMinute());
- }
- function testPrevSecond () {
- $this->assertEqual(59,$this->cal->prevSecond());
- }
- function testThisSecond () {
- $this->assertEqual(0,$this->cal->thisSecond());
- }
- function testNextSecond () {
- $this->assertEqual(1,$this->cal->nextSecond());
- }
- function testGetTimeStamp() {
- $stamp = mktime(0,0,0,1,1,2003);
- $this->assertEqual($stamp,$this->cal->getTimeStamp());
- }
-}
-
-class TestOfYearBuild extends TestOfYear {
- function TestOfYearBuild() {
- $this->UnitTestCase('Test of Year::build()');
- }
- function testSize() {
- $this->cal->build();
- $this->assertEqual(12,$this->cal->size());
- }
- function testFetch() {
- $this->cal->build();
- $i=0;
- while ( $Child = $this->cal->fetch() ) {
- $i++;
- }
- $this->assertEqual(12,$i);
- }
- function testFetchAll() {
- $this->cal->build();
- $children = array();
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- $children[$i]=$Child;
- $i++;
- }
- $this->assertEqual($children,$this->cal->fetchAll());
- }
- function testSelection() {
- require_once(CALENDAR_ROOT . 'Month.php');
- $selection = array(new Calendar_Month(2003,10));
- $this->cal->build($selection);
- $i = 1;
- while ( $Child = $this->cal->fetch() ) {
- if ( $i == 10 )
- break;
- $i++;
- }
- $this->assertTrue($Child->isSelected());
- }
-}
-
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfYear();
- $test->run(new HtmlReporter());
- $test = &new TestOfYearBuild();
- $test->run(new HtmlReporter());
-}
-?>
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/Console/Getopt.php b/airtime_mvc/library/pear/Console/Getopt.php
deleted file mode 100644
index bb9d69ca2..000000000
--- a/airtime_mvc/library/pear/Console/Getopt.php
+++ /dev/null
@@ -1,290 +0,0 @@
- |
-// +----------------------------------------------------------------------+
-//
-// $Id: Getopt.php,v 1.4 2007/06/12 14:58:56 cellog Exp $
-
-require_once 'PEAR.php';
-
-/**
- * Command-line options parsing class.
- *
- * @author Andrei Zmievski
- *
- */
-class Console_Getopt {
- /**
- * Parses the command-line options.
- *
- * The first parameter to this function should be the list of command-line
- * arguments without the leading reference to the running program.
- *
- * The second parameter is a string of allowed short options. Each of the
- * option letters can be followed by a colon ':' to specify that the option
- * requires an argument, or a double colon '::' to specify that the option
- * takes an optional argument.
- *
- * The third argument is an optional array of allowed long options. The
- * leading '--' should not be included in the option name. Options that
- * require an argument should be followed by '=', and options that take an
- * option argument should be followed by '=='.
- *
- * The return value is an array of two elements: the list of parsed
- * options and the list of non-option command-line arguments. Each entry in
- * the list of parsed options is a pair of elements - the first one
- * specifies the option, and the second one specifies the option argument,
- * if there was one.
- *
- * Long and short options can be mixed.
- *
- * Most of the semantics of this function are based on GNU getopt_long().
- *
- * @param array $args an array of command-line arguments
- * @param string $short_options specifies the list of allowed short options
- * @param array $long_options specifies the list of allowed long options
- *
- * @return array two-element array containing the list of parsed options and
- * the non-option arguments
- *
- * @access public
- *
- */
- function getopt2($args, $short_options, $long_options = null)
- {
- return Console_Getopt::doGetopt(2, $args, $short_options, $long_options);
- }
-
- /**
- * This function expects $args to start with the script name (POSIX-style).
- * Preserved for backwards compatibility.
- * @see getopt2()
- */
- function getopt($args, $short_options, $long_options = null)
- {
- return Console_Getopt::doGetopt(1, $args, $short_options, $long_options);
- }
-
- /**
- * The actual implementation of the argument parsing code.
- */
- function doGetopt($version, $args, $short_options, $long_options = null)
- {
- // in case you pass directly readPHPArgv() as the first arg
- if (PEAR::isError($args)) {
- return $args;
- }
- if (empty($args)) {
- return array(array(), array());
- }
- $opts = array();
- $non_opts = array();
-
- settype($args, 'array');
-
- if ($long_options) {
- sort($long_options);
- }
-
- /*
- * Preserve backwards compatibility with callers that relied on
- * erroneous POSIX fix.
- */
- if ($version < 2) {
- if (isset($args[0]{0}) && $args[0]{0} != '-') {
- array_shift($args);
- }
- }
-
- reset($args);
- while (list($i, $arg) = each($args)) {
-
- /* The special element '--' means explicit end of
- options. Treat the rest of the arguments as non-options
- and end the loop. */
- if ($arg == '--') {
- $non_opts = array_merge($non_opts, array_slice($args, $i + 1));
- break;
- }
-
- if ($arg{0} != '-' || (strlen($arg) > 1 && $arg{1} == '-' && !$long_options)) {
- $non_opts = array_merge($non_opts, array_slice($args, $i));
- break;
- } elseif (strlen($arg) > 1 && $arg{1} == '-') {
- $error = Console_Getopt::_parseLongOption(substr($arg, 2), $long_options, $opts, $args);
- if (PEAR::isError($error))
- return $error;
- } elseif ($arg == '-') {
- // - is stdin
- $non_opts = array_merge($non_opts, array_slice($args, $i));
- break;
- } else {
- $error = Console_Getopt::_parseShortOption(substr($arg, 1), $short_options, $opts, $args);
- if (PEAR::isError($error))
- return $error;
- }
- }
-
- return array($opts, $non_opts);
- }
-
- /**
- * @access private
- *
- */
- function _parseShortOption($arg, $short_options, &$opts, &$args)
- {
- for ($i = 0; $i < strlen($arg); $i++) {
- $opt = $arg{$i};
- $opt_arg = null;
-
- /* Try to find the short option in the specifier string. */
- if (($spec = strstr($short_options, $opt)) === false || $arg{$i} == ':')
- {
- return PEAR::raiseError("Console_Getopt: unrecognized option -- $opt");
- }
-
- if (strlen($spec) > 1 && $spec{1} == ':') {
- if (strlen($spec) > 2 && $spec{2} == ':') {
- if ($i + 1 < strlen($arg)) {
- /* Option takes an optional argument. Use the remainder of
- the arg string if there is anything left. */
- $opts[] = array($opt, substr($arg, $i + 1));
- break;
- }
- } else {
- /* Option requires an argument. Use the remainder of the arg
- string if there is anything left. */
- if ($i + 1 < strlen($arg)) {
- $opts[] = array($opt, substr($arg, $i + 1));
- break;
- } else if (list(, $opt_arg) = each($args)) {
- /* Else use the next argument. */;
- if (Console_Getopt::_isShortOpt($opt_arg) || Console_Getopt::_isLongOpt($opt_arg)) {
- return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt");
- }
- } else {
- return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt");
- }
- }
- }
-
- $opts[] = array($opt, $opt_arg);
- }
- }
-
- /**
- * @access private
- *
- */
- function _isShortOpt($arg)
- {
- return strlen($arg) == 2 && $arg[0] == '-' && preg_match('/[a-zA-Z]/', $arg[1]);
- }
-
- /**
- * @access private
- *
- */
- function _isLongOpt($arg)
- {
- return strlen($arg) > 2 && $arg[0] == '-' && $arg[1] == '-' &&
- preg_match('/[a-zA-Z]+$/', substr($arg, 2));
- }
-
- /**
- * @access private
- *
- */
- function _parseLongOption($arg, $long_options, &$opts, &$args)
- {
- @list($opt, $opt_arg) = explode('=', $arg, 2);
- $opt_len = strlen($opt);
-
- for ($i = 0; $i < count($long_options); $i++) {
- $long_opt = $long_options[$i];
- $opt_start = substr($long_opt, 0, $opt_len);
- $long_opt_name = str_replace('=', '', $long_opt);
-
- /* Option doesn't match. Go on to the next one. */
- if ($long_opt_name != $opt) {
- continue;
- }
-
- $opt_rest = substr($long_opt, $opt_len);
-
- /* Check that the options uniquely matches one of the allowed
- options. */
- if ($i + 1 < count($long_options)) {
- $next_option_rest = substr($long_options[$i + 1], $opt_len);
- } else {
- $next_option_rest = '';
- }
- if ($opt_rest != '' && $opt{0} != '=' &&
- $i + 1 < count($long_options) &&
- $opt == substr($long_options[$i+1], 0, $opt_len) &&
- $next_option_rest != '' &&
- $next_option_rest{0} != '=') {
- return PEAR::raiseError("Console_Getopt: option --$opt is ambiguous");
- }
-
- if (substr($long_opt, -1) == '=') {
- if (substr($long_opt, -2) != '==') {
- /* Long option requires an argument.
- Take the next argument if one wasn't specified. */;
- if (!strlen($opt_arg) && !(list(, $opt_arg) = each($args))) {
- return PEAR::raiseError("Console_Getopt: option --$opt requires an argument");
- }
- if (Console_Getopt::_isShortOpt($opt_arg) || Console_Getopt::_isLongOpt($opt_arg)) {
- return PEAR::raiseError("Console_Getopt: option requires an argument --$opt");
- }
- }
- } else if ($opt_arg) {
- return PEAR::raiseError("Console_Getopt: option --$opt doesn't allow an argument");
- }
-
- $opts[] = array('--' . $opt, $opt_arg);
- return;
- }
-
- return PEAR::raiseError("Console_Getopt: unrecognized option --$opt");
- }
-
- /**
- * Safely read the $argv PHP array across different PHP configurations.
- * Will take care on register_globals and register_argc_argv ini directives
- *
- * @access public
- * @return mixed the $argv PHP array or PEAR error if not registered
- */
- function readPHPArgv()
- {
- global $argv;
- if (!is_array($argv)) {
- if (!@is_array($_SERVER['argv'])) {
- if (!@is_array($GLOBALS['HTTP_SERVER_VARS']['argv'])) {
- return PEAR::raiseError("Console_Getopt: Could not read cmd args (register_argc_argv=Off?)");
- }
- return $GLOBALS['HTTP_SERVER_VARS']['argv'];
- }
- return $_SERVER['argv'];
- }
- return $argv;
- }
-
-}
-
-?>
diff --git a/airtime_mvc/library/pear/DB.php b/airtime_mvc/library/pear/DB.php
deleted file mode 100644
index a511979e6..000000000
--- a/airtime_mvc/library/pear/DB.php
+++ /dev/null
@@ -1,1489 +0,0 @@
-
- * @author Tomas V.V.Cox
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: DB.php,v 1.88 2007/08/12 05:27:25 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the PEAR class so it can be extended from
- */
-require_once 'PEAR.php';
-
-
-// {{{ constants
-// {{{ error codes
-
-/**#@+
- * One of PEAR DB's portable error codes.
- * @see DB_common::errorCode(), DB::errorMessage()
- *
- * {@internal If you add an error code here, make sure you also add a textual
- * version of it in DB::errorMessage().}}
- */
-
-/**
- * The code returned by many methods upon success
- */
-define('DB_OK', 1);
-
-/**
- * Unkown error
- */
-define('DB_ERROR', -1);
-
-/**
- * Syntax error
- */
-define('DB_ERROR_SYNTAX', -2);
-
-/**
- * Tried to insert a duplicate value into a primary or unique index
- */
-define('DB_ERROR_CONSTRAINT', -3);
-
-/**
- * An identifier in the query refers to a non-existant object
- */
-define('DB_ERROR_NOT_FOUND', -4);
-
-/**
- * Tried to create a duplicate object
- */
-define('DB_ERROR_ALREADY_EXISTS', -5);
-
-/**
- * The current driver does not support the action you attempted
- */
-define('DB_ERROR_UNSUPPORTED', -6);
-
-/**
- * The number of parameters does not match the number of placeholders
- */
-define('DB_ERROR_MISMATCH', -7);
-
-/**
- * A literal submitted did not match the data type expected
- */
-define('DB_ERROR_INVALID', -8);
-
-/**
- * The current DBMS does not support the action you attempted
- */
-define('DB_ERROR_NOT_CAPABLE', -9);
-
-/**
- * A literal submitted was too long so the end of it was removed
- */
-define('DB_ERROR_TRUNCATED', -10);
-
-/**
- * A literal number submitted did not match the data type expected
- */
-define('DB_ERROR_INVALID_NUMBER', -11);
-
-/**
- * A literal date submitted did not match the data type expected
- */
-define('DB_ERROR_INVALID_DATE', -12);
-
-/**
- * Attempt to divide something by zero
- */
-define('DB_ERROR_DIVZERO', -13);
-
-/**
- * A database needs to be selected
- */
-define('DB_ERROR_NODBSELECTED', -14);
-
-/**
- * Could not create the object requested
- */
-define('DB_ERROR_CANNOT_CREATE', -15);
-
-/**
- * Could not drop the database requested because it does not exist
- */
-define('DB_ERROR_CANNOT_DROP', -17);
-
-/**
- * An identifier in the query refers to a non-existant table
- */
-define('DB_ERROR_NOSUCHTABLE', -18);
-
-/**
- * An identifier in the query refers to a non-existant column
- */
-define('DB_ERROR_NOSUCHFIELD', -19);
-
-/**
- * The data submitted to the method was inappropriate
- */
-define('DB_ERROR_NEED_MORE_DATA', -20);
-
-/**
- * The attempt to lock the table failed
- */
-define('DB_ERROR_NOT_LOCKED', -21);
-
-/**
- * The number of columns doesn't match the number of values
- */
-define('DB_ERROR_VALUE_COUNT_ON_ROW', -22);
-
-/**
- * The DSN submitted has problems
- */
-define('DB_ERROR_INVALID_DSN', -23);
-
-/**
- * Could not connect to the database
- */
-define('DB_ERROR_CONNECT_FAILED', -24);
-
-/**
- * The PHP extension needed for this DBMS could not be found
- */
-define('DB_ERROR_EXTENSION_NOT_FOUND',-25);
-
-/**
- * The present user has inadequate permissions to perform the task requestd
- */
-define('DB_ERROR_ACCESS_VIOLATION', -26);
-
-/**
- * The database requested does not exist
- */
-define('DB_ERROR_NOSUCHDB', -27);
-
-/**
- * Tried to insert a null value into a column that doesn't allow nulls
- */
-define('DB_ERROR_CONSTRAINT_NOT_NULL',-29);
-/**#@-*/
-
-
-// }}}
-// {{{ prepared statement-related
-
-
-/**#@+
- * Identifiers for the placeholders used in prepared statements.
- * @see DB_common::prepare()
- */
-
-/**
- * Indicates a scalar (? ) placeholder was used
- *
- * Quote and escape the value as necessary.
- */
-define('DB_PARAM_SCALAR', 1);
-
-/**
- * Indicates an opaque (& ) placeholder was used
- *
- * The value presented is a file name. Extract the contents of that file
- * and place them in this column.
- */
-define('DB_PARAM_OPAQUE', 2);
-
-/**
- * Indicates a misc (! ) placeholder was used
- *
- * The value should not be quoted or escaped.
- */
-define('DB_PARAM_MISC', 3);
-/**#@-*/
-
-
-// }}}
-// {{{ binary data-related
-
-
-/**#@+
- * The different ways of returning binary data from queries.
- */
-
-/**
- * Sends the fetched data straight through to output
- */
-define('DB_BINMODE_PASSTHRU', 1);
-
-/**
- * Lets you return data as usual
- */
-define('DB_BINMODE_RETURN', 2);
-
-/**
- * Converts the data to hex format before returning it
- *
- * For example the string "123" would become "313233".
- */
-define('DB_BINMODE_CONVERT', 3);
-/**#@-*/
-
-
-// }}}
-// {{{ fetch modes
-
-
-/**#@+
- * Fetch Modes.
- * @see DB_common::setFetchMode()
- */
-
-/**
- * Indicates the current default fetch mode should be used
- * @see DB_common::$fetchmode
- */
-define('DB_FETCHMODE_DEFAULT', 0);
-
-/**
- * Column data indexed by numbers, ordered from 0 and up
- */
-define('DB_FETCHMODE_ORDERED', 1);
-
-/**
- * Column data indexed by column names
- */
-define('DB_FETCHMODE_ASSOC', 2);
-
-/**
- * Column data as object properties
- */
-define('DB_FETCHMODE_OBJECT', 3);
-
-/**
- * For multi-dimensional results, make the column name the first level
- * of the array and put the row number in the second level of the array
- *
- * This is flipped from the normal behavior, which puts the row numbers
- * in the first level of the array and the column names in the second level.
- */
-define('DB_FETCHMODE_FLIPPED', 4);
-/**#@-*/
-
-/**#@+
- * Old fetch modes. Left here for compatibility.
- */
-define('DB_GETMODE_ORDERED', DB_FETCHMODE_ORDERED);
-define('DB_GETMODE_ASSOC', DB_FETCHMODE_ASSOC);
-define('DB_GETMODE_FLIPPED', DB_FETCHMODE_FLIPPED);
-/**#@-*/
-
-
-// }}}
-// {{{ tableInfo() && autoPrepare()-related
-
-
-/**#@+
- * The type of information to return from the tableInfo() method.
- *
- * Bitwised constants, so they can be combined using |
- * and removed using ^ .
- *
- * @see DB_common::tableInfo()
- *
- * {@internal Since the TABLEINFO constants are bitwised, if more of them are
- * added in the future, make sure to adjust DB_TABLEINFO_FULL accordingly.}}
- */
-define('DB_TABLEINFO_ORDER', 1);
-define('DB_TABLEINFO_ORDERTABLE', 2);
-define('DB_TABLEINFO_FULL', 3);
-/**#@-*/
-
-
-/**#@+
- * The type of query to create with the automatic query building methods.
- * @see DB_common::autoPrepare(), DB_common::autoExecute()
- */
-define('DB_AUTOQUERY_INSERT', 1);
-define('DB_AUTOQUERY_UPDATE', 2);
-/**#@-*/
-
-
-// }}}
-// {{{ portability modes
-
-
-/**#@+
- * Portability Modes.
- *
- * Bitwised constants, so they can be combined using |
- * and removed using ^ .
- *
- * @see DB_common::setOption()
- *
- * {@internal Since the PORTABILITY constants are bitwised, if more of them are
- * added in the future, make sure to adjust DB_PORTABILITY_ALL accordingly.}}
- */
-
-/**
- * Turn off all portability features
- */
-define('DB_PORTABILITY_NONE', 0);
-
-/**
- * Convert names of tables and fields to lower case
- * when using the get*(), fetch*() and tableInfo() methods
- */
-define('DB_PORTABILITY_LOWERCASE', 1);
-
-/**
- * Right trim the data output by get*() and fetch*()
- */
-define('DB_PORTABILITY_RTRIM', 2);
-
-/**
- * Force reporting the number of rows deleted
- */
-define('DB_PORTABILITY_DELETE_COUNT', 4);
-
-/**
- * Enable hack that makes numRows() work in Oracle
- */
-define('DB_PORTABILITY_NUMROWS', 8);
-
-/**
- * Makes certain error messages in certain drivers compatible
- * with those from other DBMS's
- *
- * + mysql, mysqli: change unique/primary key constraints
- * DB_ERROR_ALREADY_EXISTS -> DB_ERROR_CONSTRAINT
- *
- * + odbc(access): MS's ODBC driver reports 'no such field' as code
- * 07001, which means 'too few parameters.' When this option is on
- * that code gets mapped to DB_ERROR_NOSUCHFIELD.
- */
-define('DB_PORTABILITY_ERRORS', 16);
-
-/**
- * Convert null values to empty strings in data output by
- * get*() and fetch*()
- */
-define('DB_PORTABILITY_NULL_TO_EMPTY', 32);
-
-/**
- * Turn on all portability features
- */
-define('DB_PORTABILITY_ALL', 63);
-/**#@-*/
-
-// }}}
-
-
-// }}}
-// {{{ class DB
-
-/**
- * Database independent query interface
- *
- * The main "DB" class is simply a container class with some static
- * methods for creating DB objects as well as some utility functions
- * common to all parts of DB.
- *
- * The object model of DB is as follows (indentation means inheritance):
- *
- * DB The main DB class. This is simply a utility class
- * with some "static" methods for creating DB objects as
- * well as common utility functions for other DB classes.
- *
- * DB_common The base for each DB implementation. Provides default
- * | implementations (in OO lingo virtual methods) for
- * | the actual DB implementations as well as a bunch of
- * | query utility functions.
- * |
- * +-DB_mysql The DB implementation for MySQL. Inherits DB_common.
- * When calling DB::factory or DB::connect for MySQL
- * connections, the object returned is an instance of this
- * class.
- *
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @author Tomas V.V.Cox
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB
-{
- // {{{ &factory()
-
- /**
- * Create a new DB object for the specified database type but don't
- * connect to the database
- *
- * @param string $type the database type (eg "mysql")
- * @param array $options an associative array of option names and values
- *
- * @return object a new DB object. A DB_Error object on failure.
- *
- * @see DB_common::setOption()
- */
- function &factory($type, $options = false)
- {
- if (!is_array($options)) {
- $options = array('persistent' => $options);
- }
-
- if (isset($options['debug']) && $options['debug'] >= 2) {
- // expose php errors with sufficient debug level
- include_once "DB/{$type}.php";
- } else {
- @include_once "DB/{$type}.php";
- }
-
- $classname = "DB_${type}";
-
- if (!class_exists($classname)) {
- $tmp = PEAR::raiseError(null, DB_ERROR_NOT_FOUND, null, null,
- "Unable to include the DB/{$type}.php"
- . " file for '$dsn'",
- 'DB_Error', true);
- return $tmp;
- }
-
- @$obj = new $classname;
-
- foreach ($options as $option => $value) {
- $test = $obj->setOption($option, $value);
- if (DB::isError($test)) {
- return $test;
- }
- }
-
- return $obj;
- }
-
- // }}}
- // {{{ &connect()
-
- /**
- * Create a new DB object including a connection to the specified database
- *
- * Example 1.
- *
- * require_once 'DB.php';
- *
- * $dsn = 'pgsql://user:password@host/database';
- * $options = array(
- * 'debug' => 2,
- * 'portability' => DB_PORTABILITY_ALL,
- * );
- *
- * $db =& DB::connect($dsn, $options);
- * if (PEAR::isError($db)) {
- * die($db->getMessage());
- * }
- *
- *
- * @param mixed $dsn the string "data source name" or array in the
- * format returned by DB::parseDSN()
- * @param array $options an associative array of option names and values
- *
- * @return object a new DB object. A DB_Error object on failure.
- *
- * @uses DB_dbase::connect(), DB_fbsql::connect(), DB_ibase::connect(),
- * DB_ifx::connect(), DB_msql::connect(), DB_mssql::connect(),
- * DB_mysql::connect(), DB_mysqli::connect(), DB_oci8::connect(),
- * DB_odbc::connect(), DB_pgsql::connect(), DB_sqlite::connect(),
- * DB_sybase::connect()
- *
- * @uses DB::parseDSN(), DB_common::setOption(), PEAR::isError()
- */
- function &connect($dsn, $options = array())
- {
- $dsninfo = DB::parseDSN($dsn);
- $type = $dsninfo['phptype'];
-
- if (!is_array($options)) {
- /*
- * For backwards compatibility. $options used to be boolean,
- * indicating whether the connection should be persistent.
- */
- $options = array('persistent' => $options);
- }
-
- if (isset($options['debug']) && $options['debug'] >= 2) {
- // expose php errors with sufficient debug level
- include_once "DB/${type}.php";
- } else {
- @include_once "DB/${type}.php";
- }
-
- $classname = "DB_${type}";
- if (!class_exists($classname)) {
- $tmp = PEAR::raiseError(null, DB_ERROR_NOT_FOUND, null, null,
- "Unable to include the DB/{$type}.php"
- . " file for '$dsn'",
- 'DB_Error', true);
- return $tmp;
- }
-
- @$obj = new $classname;
-
- foreach ($options as $option => $value) {
- $test = $obj->setOption($option, $value);
- if (DB::isError($test)) {
- return $test;
- }
- }
-
- $err = $obj->connect($dsninfo, $obj->getOption('persistent'));
- if (DB::isError($err)) {
- if (is_array($dsn)) {
- $err->addUserInfo(DB::getDSNString($dsn, true));
- } else {
- $err->addUserInfo($dsn);
- }
- return $err;
- }
-
- return $obj;
- }
-
- // }}}
- // {{{ apiVersion()
-
- /**
- * Return the DB API version
- *
- * @return string the DB API version number
- */
- function apiVersion()
- {
- return '1.7.13';
- }
-
- // }}}
- // {{{ isError()
-
- /**
- * Determines if a variable is a DB_Error object
- *
- * @param mixed $value the variable to check
- *
- * @return bool whether $value is DB_Error object
- */
- function isError($value)
- {
- return is_a($value, 'DB_Error');
- }
-
- // }}}
- // {{{ isConnection()
-
- /**
- * Determines if a value is a DB_ object
- *
- * @param mixed $value the value to test
- *
- * @return bool whether $value is a DB_ object
- */
- function isConnection($value)
- {
- return (is_object($value) &&
- is_subclass_of($value, 'db_common') &&
- method_exists($value, 'simpleQuery'));
- }
-
- // }}}
- // {{{ isManip()
-
- /**
- * Tell whether a query is a data manipulation or data definition query
- *
- * Examples of data manipulation queries are INSERT, UPDATE and DELETE.
- * Examples of data definition queries are CREATE, DROP, ALTER, GRANT,
- * REVOKE.
- *
- * @param string $query the query
- *
- * @return boolean whether $query is a data manipulation query
- */
- function isManip($query)
- {
- $manips = 'INSERT|UPDATE|DELETE|REPLACE|'
- . 'CREATE|DROP|'
- . 'LOAD DATA|SELECT .* INTO .* FROM|COPY|'
- . 'ALTER|GRANT|REVOKE|'
- . 'LOCK|UNLOCK';
- if (preg_match('/^\s*"?(' . $manips . ')\s+/i', $query)) {
- return true;
- }
- return false;
- }
-
- // }}}
- // {{{ errorMessage()
-
- /**
- * Return a textual error message for a DB error code
- *
- * @param integer $value the DB error code
- *
- * @return string the error message or false if the error code was
- * not recognized
- */
- function errorMessage($value)
- {
- static $errorMessages;
- if (!isset($errorMessages)) {
- $errorMessages = array(
- DB_ERROR => 'unknown error',
- DB_ERROR_ACCESS_VIOLATION => 'insufficient permissions',
- DB_ERROR_ALREADY_EXISTS => 'already exists',
- DB_ERROR_CANNOT_CREATE => 'can not create',
- DB_ERROR_CANNOT_DROP => 'can not drop',
- DB_ERROR_CONNECT_FAILED => 'connect failed',
- DB_ERROR_CONSTRAINT => 'constraint violation',
- DB_ERROR_CONSTRAINT_NOT_NULL=> 'null value violates not-null constraint',
- DB_ERROR_DIVZERO => 'division by zero',
- DB_ERROR_EXTENSION_NOT_FOUND=> 'extension not found',
- DB_ERROR_INVALID => 'invalid',
- DB_ERROR_INVALID_DATE => 'invalid date or time',
- DB_ERROR_INVALID_DSN => 'invalid DSN',
- DB_ERROR_INVALID_NUMBER => 'invalid number',
- DB_ERROR_MISMATCH => 'mismatch',
- DB_ERROR_NEED_MORE_DATA => 'insufficient data supplied',
- DB_ERROR_NODBSELECTED => 'no database selected',
- DB_ERROR_NOSUCHDB => 'no such database',
- DB_ERROR_NOSUCHFIELD => 'no such field',
- DB_ERROR_NOSUCHTABLE => 'no such table',
- DB_ERROR_NOT_CAPABLE => 'DB backend not capable',
- DB_ERROR_NOT_FOUND => 'not found',
- DB_ERROR_NOT_LOCKED => 'not locked',
- DB_ERROR_SYNTAX => 'syntax error',
- DB_ERROR_UNSUPPORTED => 'not supported',
- DB_ERROR_TRUNCATED => 'truncated',
- DB_ERROR_VALUE_COUNT_ON_ROW => 'value count on row',
- DB_OK => 'no error',
- );
- }
-
- if (DB::isError($value)) {
- $value = $value->getCode();
- }
-
- return isset($errorMessages[$value]) ? $errorMessages[$value]
- : $errorMessages[DB_ERROR];
- }
-
- // }}}
- // {{{ parseDSN()
-
- /**
- * Parse a data source name
- *
- * Additional keys can be added by appending a URI query string to the
- * end of the DSN.
- *
- * The format of the supplied DSN is in its fullest form:
- *
- * phptype(dbsyntax)://username:password@protocol+hostspec/database?option=8&another=true
- *
- *
- * Most variations are allowed:
- *
- * phptype://username:password@protocol+hostspec:110//usr/db_file.db?mode=0644
- * phptype://username:password@hostspec/database_name
- * phptype://username:password@hostspec
- * phptype://username@hostspec
- * phptype://hostspec/database
- * phptype://hostspec
- * phptype(dbsyntax)
- * phptype
- *
- *
- * @param string $dsn Data Source Name to be parsed
- *
- * @return array an associative array with the following keys:
- * + phptype: Database backend used in PHP (mysql, odbc etc.)
- * + dbsyntax: Database used with regards to SQL syntax etc.
- * + protocol: Communication protocol to use (tcp, unix etc.)
- * + hostspec: Host specification (hostname[:port])
- * + database: Database to use on the DBMS server
- * + username: User name for login
- * + password: Password for login
- */
- function parseDSN($dsn)
- {
- $parsed = array(
- 'phptype' => false,
- 'dbsyntax' => false,
- 'username' => false,
- 'password' => false,
- 'protocol' => false,
- 'hostspec' => false,
- 'port' => false,
- 'socket' => false,
- 'database' => false,
- );
-
- if (is_array($dsn)) {
- $dsn = array_merge($parsed, $dsn);
- if (!$dsn['dbsyntax']) {
- $dsn['dbsyntax'] = $dsn['phptype'];
- }
- return $dsn;
- }
-
- // Find phptype and dbsyntax
- if (($pos = strpos($dsn, '://')) !== false) {
- $str = substr($dsn, 0, $pos);
- $dsn = substr($dsn, $pos + 3);
- } else {
- $str = $dsn;
- $dsn = null;
- }
-
- // Get phptype and dbsyntax
- // $str => phptype(dbsyntax)
- if (preg_match('|^(.+?)\((.*?)\)$|', $str, $arr)) {
- $parsed['phptype'] = $arr[1];
- $parsed['dbsyntax'] = !$arr[2] ? $arr[1] : $arr[2];
- } else {
- $parsed['phptype'] = $str;
- $parsed['dbsyntax'] = $str;
- }
-
- if (!count($dsn)) {
- return $parsed;
- }
-
- // Get (if found): username and password
- // $dsn => username:password@protocol+hostspec/database
- if (($at = strrpos($dsn,'@')) !== false) {
- $str = substr($dsn, 0, $at);
- $dsn = substr($dsn, $at + 1);
- if (($pos = strpos($str, ':')) !== false) {
- $parsed['username'] = rawurldecode(substr($str, 0, $pos));
- $parsed['password'] = rawurldecode(substr($str, $pos + 1));
- } else {
- $parsed['username'] = rawurldecode($str);
- }
- }
-
- // Find protocol and hostspec
-
- if (preg_match('|^([^(]+)\((.*?)\)/?(.*?)$|', $dsn, $match)) {
- // $dsn => proto(proto_opts)/database
- $proto = $match[1];
- $proto_opts = $match[2] ? $match[2] : false;
- $dsn = $match[3];
-
- } else {
- // $dsn => protocol+hostspec/database (old format)
- if (strpos($dsn, '+') !== false) {
- list($proto, $dsn) = explode('+', $dsn, 2);
- }
- if (strpos($dsn, '/') !== false) {
- list($proto_opts, $dsn) = explode('/', $dsn, 2);
- } else {
- $proto_opts = $dsn;
- $dsn = null;
- }
- }
-
- // process the different protocol options
- $parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp';
- $proto_opts = rawurldecode($proto_opts);
- if (strpos($proto_opts, ':') !== false) {
- list($proto_opts, $parsed['port']) = explode(':', $proto_opts);
- }
- if ($parsed['protocol'] == 'tcp') {
- $parsed['hostspec'] = $proto_opts;
- } elseif ($parsed['protocol'] == 'unix') {
- $parsed['socket'] = $proto_opts;
- }
-
- // Get dabase if any
- // $dsn => database
- if ($dsn) {
- if (($pos = strpos($dsn, '?')) === false) {
- // /database
- $parsed['database'] = rawurldecode($dsn);
- } else {
- // /database?param1=value1¶m2=value2
- $parsed['database'] = rawurldecode(substr($dsn, 0, $pos));
- $dsn = substr($dsn, $pos + 1);
- if (strpos($dsn, '&') !== false) {
- $opts = explode('&', $dsn);
- } else { // database?param1=value1
- $opts = array($dsn);
- }
- foreach ($opts as $opt) {
- list($key, $value) = explode('=', $opt);
- if (!isset($parsed[$key])) {
- // don't allow params overwrite
- $parsed[$key] = rawurldecode($value);
- }
- }
- }
- }
-
- return $parsed;
- }
-
- // }}}
- // {{{ getDSNString()
-
- /**
- * Returns the given DSN in a string format suitable for output.
- *
- * @param array|string the DSN to parse and format
- * @param boolean true to hide the password, false to include it
- * @return string
- */
- function getDSNString($dsn, $hidePassword) {
- /* Calling parseDSN will ensure that we have all the array elements
- * defined, and means that we deal with strings and array in the same
- * manner. */
- $dsnArray = DB::parseDSN($dsn);
-
- if ($hidePassword) {
- $dsnArray['password'] = 'PASSWORD';
- }
-
- /* Protocol is special-cased, as using the default "tcp" along with an
- * Oracle TNS connection string fails. */
- if (is_string($dsn) && strpos($dsn, 'tcp') === false && $dsnArray['protocol'] == 'tcp') {
- $dsnArray['protocol'] = false;
- }
-
- // Now we just have to construct the actual string. This is ugly.
- $dsnString = $dsnArray['phptype'];
- if ($dsnArray['dbsyntax']) {
- $dsnString .= '('.$dsnArray['dbsyntax'].')';
- }
- $dsnString .= '://'
- .$dsnArray['username']
- .':'
- .$dsnArray['password']
- .'@'
- .$dsnArray['protocol'];
- if ($dsnArray['socket']) {
- $dsnString .= '('.$dsnArray['socket'].')';
- }
- if ($dsnArray['protocol'] && $dsnArray['hostspec']) {
- $dsnString .= '+';
- }
- $dsnString .= $dsnArray['hostspec'];
- if ($dsnArray['port']) {
- $dsnString .= ':'.$dsnArray['port'];
- }
- $dsnString .= '/'.$dsnArray['database'];
-
- /* Option handling. Unfortunately, parseDSN simply places options into
- * the top-level array, so we'll first get rid of the fields defined by
- * DB and see what's left. */
- unset($dsnArray['phptype'],
- $dsnArray['dbsyntax'],
- $dsnArray['username'],
- $dsnArray['password'],
- $dsnArray['protocol'],
- $dsnArray['socket'],
- $dsnArray['hostspec'],
- $dsnArray['port'],
- $dsnArray['database']
- );
- if (count($dsnArray) > 0) {
- $dsnString .= '?';
- $i = 0;
- foreach ($dsnArray as $key => $value) {
- if (++$i > 1) {
- $dsnString .= '&';
- }
- $dsnString .= $key.'='.$value;
- }
- }
-
- return $dsnString;
- }
-
- // }}}
-}
-
-// }}}
-// {{{ class DB_Error
-
-/**
- * DB_Error implements a class for reporting portable database error
- * messages
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_Error extends PEAR_Error
-{
- // {{{ constructor
-
- /**
- * DB_Error constructor
- *
- * @param mixed $code DB error code, or string with error message
- * @param int $mode what "error mode" to operate in
- * @param int $level what error level to use for $mode &
- * PEAR_ERROR_TRIGGER
- * @param mixed $debuginfo additional debug info, such as the last query
- *
- * @see PEAR_Error
- */
- function DB_Error($code = DB_ERROR, $mode = PEAR_ERROR_RETURN,
- $level = E_USER_NOTICE, $debuginfo = null)
- {
- if (is_int($code)) {
- $this->PEAR_Error('DB Error: ' . DB::errorMessage($code), $code,
- $mode, $level, $debuginfo);
- } else {
- $this->PEAR_Error("DB Error: $code", DB_ERROR,
- $mode, $level, $debuginfo);
- }
- }
-
- // }}}
-}
-
-// }}}
-// {{{ class DB_result
-
-/**
- * This class implements a wrapper for a DB result set
- *
- * A new instance of this class will be returned by the DB implementation
- * after processing a query that returns data.
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_result
-{
- // {{{ properties
-
- /**
- * Should results be freed automatically when there are no more rows?
- * @var boolean
- * @see DB_common::$options
- */
- var $autofree;
-
- /**
- * A reference to the DB_ object
- * @var object
- */
- var $dbh;
-
- /**
- * The current default fetch mode
- * @var integer
- * @see DB_common::$fetchmode
- */
- var $fetchmode;
-
- /**
- * The name of the class into which results should be fetched when
- * DB_FETCHMODE_OBJECT is in effect
- *
- * @var string
- * @see DB_common::$fetchmode_object_class
- */
- var $fetchmode_object_class;
-
- /**
- * The number of rows to fetch from a limit query
- * @var integer
- */
- var $limit_count = null;
-
- /**
- * The row to start fetching from in limit queries
- * @var integer
- */
- var $limit_from = null;
-
- /**
- * The execute parameters that created this result
- * @var array
- * @since Property available since Release 1.7.0
- */
- var $parameters;
-
- /**
- * The query string that created this result
- *
- * Copied here incase it changes in $dbh, which is referenced
- *
- * @var string
- * @since Property available since Release 1.7.0
- */
- var $query;
-
- /**
- * The query result resource id created by PHP
- * @var resource
- */
- var $result;
-
- /**
- * The present row being dealt with
- * @var integer
- */
- var $row_counter = null;
-
- /**
- * The prepared statement resource id created by PHP in $dbh
- *
- * This resource is only available when the result set was created using
- * a driver's native execute() method, not PEAR DB's emulated one.
- *
- * Copied here incase it changes in $dbh, which is referenced
- *
- * {@internal Mainly here because the InterBase/Firebird API is only
- * able to retrieve data from result sets if the statemnt handle is
- * still in scope.}}
- *
- * @var resource
- * @since Property available since Release 1.7.0
- */
- var $statement;
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor sets the object's properties
- *
- * @param object &$dbh the DB object reference
- * @param resource $result the result resource id
- * @param array $options an associative array with result options
- *
- * @return void
- */
- function DB_result(&$dbh, $result, $options = array())
- {
- $this->autofree = $dbh->options['autofree'];
- $this->dbh = &$dbh;
- $this->fetchmode = $dbh->fetchmode;
- $this->fetchmode_object_class = $dbh->fetchmode_object_class;
- $this->parameters = $dbh->last_parameters;
- $this->query = $dbh->last_query;
- $this->result = $result;
- $this->statement = empty($dbh->last_stmt) ? null : $dbh->last_stmt;
- foreach ($options as $key => $value) {
- $this->setOption($key, $value);
- }
- }
-
- /**
- * Set options for the DB_result object
- *
- * @param string $key the option to set
- * @param mixed $value the value to set the option to
- *
- * @return void
- */
- function setOption($key, $value = null)
- {
- switch ($key) {
- case 'limit_from':
- $this->limit_from = $value;
- break;
- case 'limit_count':
- $this->limit_count = $value;
- }
- }
-
- // }}}
- // {{{ fetchRow()
-
- /**
- * Fetch a row of data and return it by reference into an array
- *
- * The type of array returned can be controlled either by setting this
- * method's $fetchmode parameter or by changing the default
- * fetch mode setFetchMode() before calling this method.
- *
- * There are two options for standardizing the information returned
- * from databases, ensuring their values are consistent when changing
- * DBMS's. These portability options can be turned on when creating a
- * new DB object or by using setOption().
- *
- * + DB_PORTABILITY_LOWERCASE
- * convert names of fields to lower case
- *
- * + DB_PORTABILITY_RTRIM
- * right trim the data
- *
- * @param int $fetchmode the constant indicating how to format the data
- * @param int $rownum the row number to fetch (index starts at 0)
- *
- * @return mixed an array or object containing the row's data,
- * NULL when the end of the result set is reached
- * or a DB_Error object on failure.
- *
- * @see DB_common::setOption(), DB_common::setFetchMode()
- */
- function &fetchRow($fetchmode = DB_FETCHMODE_DEFAULT, $rownum = null)
- {
- if ($fetchmode === DB_FETCHMODE_DEFAULT) {
- $fetchmode = $this->fetchmode;
- }
- if ($fetchmode === DB_FETCHMODE_OBJECT) {
- $fetchmode = DB_FETCHMODE_ASSOC;
- $object_class = $this->fetchmode_object_class;
- }
- if (is_null($rownum) && $this->limit_from !== null) {
- if ($this->row_counter === null) {
- $this->row_counter = $this->limit_from;
- // Skip rows
- if ($this->dbh->features['limit'] === false) {
- $i = 0;
- while ($i++ < $this->limit_from) {
- $this->dbh->fetchInto($this->result, $arr, $fetchmode);
- }
- }
- }
- if ($this->row_counter >= ($this->limit_from + $this->limit_count))
- {
- if ($this->autofree) {
- $this->free();
- }
- $tmp = null;
- return $tmp;
- }
- if ($this->dbh->features['limit'] === 'emulate') {
- $rownum = $this->row_counter;
- }
- $this->row_counter++;
- }
- $res = $this->dbh->fetchInto($this->result, $arr, $fetchmode, $rownum);
- if ($res === DB_OK) {
- if (isset($object_class)) {
- // The default mode is specified in the
- // DB_common::fetchmode_object_class property
- if ($object_class == 'stdClass') {
- $arr = (object) $arr;
- } else {
- $arr = new $object_class($arr);
- }
- }
- return $arr;
- }
- if ($res == null && $this->autofree) {
- $this->free();
- }
- return $res;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Fetch a row of data into an array which is passed by reference
- *
- * The type of array returned can be controlled either by setting this
- * method's $fetchmode parameter or by changing the default
- * fetch mode setFetchMode() before calling this method.
- *
- * There are two options for standardizing the information returned
- * from databases, ensuring their values are consistent when changing
- * DBMS's. These portability options can be turned on when creating a
- * new DB object or by using setOption().
- *
- * + DB_PORTABILITY_LOWERCASE
- * convert names of fields to lower case
- *
- * + DB_PORTABILITY_RTRIM
- * right trim the data
- *
- * @param array &$arr the variable where the data should be placed
- * @param int $fetchmode the constant indicating how to format the data
- * @param int $rownum the row number to fetch (index starts at 0)
- *
- * @return mixed DB_OK if a row is processed, NULL when the end of the
- * result set is reached or a DB_Error object on failure
- *
- * @see DB_common::setOption(), DB_common::setFetchMode()
- */
- function fetchInto(&$arr, $fetchmode = DB_FETCHMODE_DEFAULT, $rownum = null)
- {
- if ($fetchmode === DB_FETCHMODE_DEFAULT) {
- $fetchmode = $this->fetchmode;
- }
- if ($fetchmode === DB_FETCHMODE_OBJECT) {
- $fetchmode = DB_FETCHMODE_ASSOC;
- $object_class = $this->fetchmode_object_class;
- }
- if (is_null($rownum) && $this->limit_from !== null) {
- if ($this->row_counter === null) {
- $this->row_counter = $this->limit_from;
- // Skip rows
- if ($this->dbh->features['limit'] === false) {
- $i = 0;
- while ($i++ < $this->limit_from) {
- $this->dbh->fetchInto($this->result, $arr, $fetchmode);
- }
- }
- }
- if ($this->row_counter >= (
- $this->limit_from + $this->limit_count))
- {
- if ($this->autofree) {
- $this->free();
- }
- return null;
- }
- if ($this->dbh->features['limit'] === 'emulate') {
- $rownum = $this->row_counter;
- }
-
- $this->row_counter++;
- }
- $res = $this->dbh->fetchInto($this->result, $arr, $fetchmode, $rownum);
- if ($res === DB_OK) {
- if (isset($object_class)) {
- // default mode specified in the
- // DB_common::fetchmode_object_class property
- if ($object_class == 'stdClass') {
- $arr = (object) $arr;
- } else {
- $arr = new $object_class($arr);
- }
- }
- return DB_OK;
- }
- if ($res == null && $this->autofree) {
- $this->free();
- }
- return $res;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Get the the number of columns in a result set
- *
- * @return int the number of columns. A DB_Error object on failure.
- */
- function numCols()
- {
- return $this->dbh->numCols($this->result);
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Get the number of rows in a result set
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function numRows()
- {
- if ($this->dbh->features['numrows'] === 'emulate'
- && $this->dbh->options['portability'] & DB_PORTABILITY_NUMROWS)
- {
- if ($this->dbh->features['prepare']) {
- $res = $this->dbh->query($this->query, $this->parameters);
- } else {
- $res = $this->dbh->query($this->query);
- }
- if (DB::isError($res)) {
- return $res;
- }
- $i = 0;
- while ($res->fetchInto($tmp, DB_FETCHMODE_ORDERED)) {
- $i++;
- }
- $count = $i;
- } else {
- $count = $this->dbh->numRows($this->result);
- }
-
- /* fbsql is checked for here because limit queries are implemented
- * using a TOP() function, which results in fbsql_num_rows still
- * returning the total number of rows that would have been returned,
- * rather than the real number. As a result, we'll just do the limit
- * calculations for fbsql in the same way as a database with emulated
- * limits. Unfortunately, we can't just do this in DB_fbsql::numRows()
- * because that only gets the result resource, rather than the full
- * DB_Result object. */
- if (($this->dbh->features['limit'] === 'emulate'
- && $this->limit_from !== null)
- || $this->dbh->phptype == 'fbsql') {
- $limit_count = is_null($this->limit_count) ? $count : $this->limit_count;
- if ($count < $this->limit_from) {
- $count = 0;
- } elseif ($count < ($this->limit_from + $limit_count)) {
- $count -= $this->limit_from;
- } else {
- $count = $limit_count;
- }
- }
-
- return $count;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Get the next result if a batch of queries was executed
- *
- * @return bool true if a new result is available or false if not
- */
- function nextResult()
- {
- return $this->dbh->nextResult($this->result);
- }
-
- // }}}
- // {{{ free()
-
- /**
- * Frees the resources allocated for this result set
- *
- * @return bool true on success. A DB_Error object on failure.
- */
- function free()
- {
- $err = $this->dbh->freeResult($this->result);
- if (DB::isError($err)) {
- return $err;
- }
- $this->result = false;
- $this->statement = false;
- return true;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * @see DB_common::tableInfo()
- * @deprecated Method deprecated some time before Release 1.2
- */
- function tableInfo($mode = null)
- {
- if (is_string($mode)) {
- return $this->dbh->raiseError(DB_ERROR_NEED_MORE_DATA);
- }
- return $this->dbh->tableInfo($this, $mode);
- }
-
- // }}}
- // {{{ getQuery()
-
- /**
- * Determine the query string that created this result
- *
- * @return string the query string
- *
- * @since Method available since Release 1.7.0
- */
- function getQuery()
- {
- return $this->query;
- }
-
- // }}}
- // {{{ getRowCounter()
-
- /**
- * Tells which row number is currently being processed
- *
- * @return integer the current row being looked at. Starts at 1.
- */
- function getRowCounter()
- {
- return $this->row_counter;
- }
-
- // }}}
-}
-
-// }}}
-// {{{ class DB_row
-
-/**
- * PEAR DB Row Object
- *
- * The object contains a row of data from a result set. Each column's data
- * is placed in a property named for the column.
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- * @see DB_common::setFetchMode()
- */
-class DB_row
-{
- // {{{ constructor
-
- /**
- * The constructor places a row's data into properties of this object
- *
- * @param array the array containing the row's data
- *
- * @return void
- */
- function DB_row(&$arr)
- {
- foreach ($arr as $key => $value) {
- $this->$key = &$arr[$key];
- }
- }
-
- // }}}
-}
-
-// }}}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/common.php b/airtime_mvc/library/pear/DB/common.php
deleted file mode 100644
index 8d403126f..000000000
--- a/airtime_mvc/library/pear/DB/common.php
+++ /dev/null
@@ -1,2257 +0,0 @@
-
- * @author Tomas V.V. Cox
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: common.php,v 1.143 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the PEAR class so it can be extended from
- */
-require_once 'PEAR.php';
-
-/**
- * DB_common is the base class from which each database driver class extends
- *
- * All common methods are declared here. If a given DBMS driver contains
- * a particular method, that method will overload the one here.
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @author Tomas V.V. Cox
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_common extends PEAR
-{
- // {{{ properties
-
- /**
- * The current default fetch mode
- * @var integer
- */
- var $fetchmode = DB_FETCHMODE_ORDERED;
-
- /**
- * The name of the class into which results should be fetched when
- * DB_FETCHMODE_OBJECT is in effect
- *
- * @var string
- */
- var $fetchmode_object_class = 'stdClass';
-
- /**
- * Was a connection present when the object was serialized()?
- * @var bool
- * @see DB_common::__sleep(), DB_common::__wake()
- */
- var $was_connected = null;
-
- /**
- * The most recently executed query
- * @var string
- */
- var $last_query = '';
-
- /**
- * Run-time configuration options
- *
- * The 'optimize' option has been deprecated. Use the 'portability'
- * option instead.
- *
- * @var array
- * @see DB_common::setOption()
- */
- var $options = array(
- 'result_buffering' => 500,
- 'persistent' => false,
- 'ssl' => false,
- 'debug' => 0,
- 'seqname_format' => '%s_seq',
- 'autofree' => false,
- 'portability' => DB_PORTABILITY_NONE,
- 'optimize' => 'performance', // Deprecated. Use 'portability'.
- );
-
- /**
- * The parameters from the most recently executed query
- * @var array
- * @since Property available since Release 1.7.0
- */
- var $last_parameters = array();
-
- /**
- * The elements from each prepared statement
- * @var array
- */
- var $prepare_tokens = array();
-
- /**
- * The data types of the various elements in each prepared statement
- * @var array
- */
- var $prepare_types = array();
-
- /**
- * The prepared queries
- * @var array
- */
- var $prepared_queries = array();
-
- /**
- * Flag indicating that the last query was a manipulation query.
- * @access protected
- * @var boolean
- */
- var $_last_query_manip = false;
-
- /**
- * Flag indicating that the next query must be a manipulation
- * query.
- * @access protected
- * @var boolean
- */
- var $_next_query_manip = false;
-
-
- // }}}
- // {{{ DB_common
-
- /**
- * This constructor calls $this->PEAR('DB_Error')
- *
- * @return void
- */
- function DB_common()
- {
- $this->PEAR('DB_Error');
- }
-
- // }}}
- // {{{ __sleep()
-
- /**
- * Automatically indicates which properties should be saved
- * when PHP's serialize() function is called
- *
- * @return array the array of properties names that should be saved
- */
- function __sleep()
- {
- if ($this->connection) {
- // Don't disconnect(), people use serialize() for many reasons
- $this->was_connected = true;
- } else {
- $this->was_connected = false;
- }
- if (isset($this->autocommit)) {
- return array('autocommit',
- 'dbsyntax',
- 'dsn',
- 'features',
- 'fetchmode',
- 'fetchmode_object_class',
- 'options',
- 'was_connected',
- );
- } else {
- return array('dbsyntax',
- 'dsn',
- 'features',
- 'fetchmode',
- 'fetchmode_object_class',
- 'options',
- 'was_connected',
- );
- }
- }
-
- // }}}
- // {{{ __wakeup()
-
- /**
- * Automatically reconnects to the database when PHP's unserialize()
- * function is called
- *
- * The reconnection attempt is only performed if the object was connected
- * at the time PHP's serialize() function was run.
- *
- * @return void
- */
- function __wakeup()
- {
- if ($this->was_connected) {
- $this->connect($this->dsn, $this->options);
- }
- }
-
- // }}}
- // {{{ __toString()
-
- /**
- * Automatic string conversion for PHP 5
- *
- * @return string a string describing the current PEAR DB object
- *
- * @since Method available since Release 1.7.0
- */
- function __toString()
- {
- $info = strtolower(get_class($this));
- $info .= ': (phptype=' . $this->phptype .
- ', dbsyntax=' . $this->dbsyntax .
- ')';
- if ($this->connection) {
- $info .= ' [connected]';
- }
- return $info;
- }
-
- // }}}
- // {{{ toString()
-
- /**
- * DEPRECATED: String conversion method
- *
- * @return string a string describing the current PEAR DB object
- *
- * @deprecated Method deprecated in Release 1.7.0
- */
- function toString()
- {
- return $this->__toString();
- }
-
- // }}}
- // {{{ quoteString()
-
- /**
- * DEPRECATED: Quotes a string so it can be safely used within string
- * delimiters in a query
- *
- * @param string $string the string to be quoted
- *
- * @return string the quoted string
- *
- * @see DB_common::quoteSmart(), DB_common::escapeSimple()
- * @deprecated Method deprecated some time before Release 1.2
- */
- function quoteString($string)
- {
- $string = $this->quote($string);
- if ($string{0} == "'") {
- return substr($string, 1, -1);
- }
- return $string;
- }
-
- // }}}
- // {{{ quote()
-
- /**
- * DEPRECATED: Quotes a string so it can be safely used in a query
- *
- * @param string $string the string to quote
- *
- * @return string the quoted string or the string NULL
- * if the value submitted is null .
- *
- * @see DB_common::quoteSmart(), DB_common::escapeSimple()
- * @deprecated Deprecated in release 1.6.0
- */
- function quote($string = null)
- {
- return ($string === null) ? 'NULL'
- : "'" . str_replace("'", "''", $string) . "'";
- }
-
- // }}}
- // {{{ quoteIdentifier()
-
- /**
- * Quotes a string so it can be safely used as a table or column name
- *
- * Delimiting style depends on which database driver is being used.
- *
- * NOTE: just because you CAN use delimited identifiers doesn't mean
- * you SHOULD use them. In general, they end up causing way more
- * problems than they solve.
- *
- * Portability is broken by using the following characters inside
- * delimited identifiers:
- * + backtick (` ) -- due to MySQL
- * + double quote (" ) -- due to Oracle
- * + brackets ([ or ] ) -- due to Access
- *
- * Delimited identifiers are known to generally work correctly under
- * the following drivers:
- * + mssql
- * + mysql
- * + mysqli
- * + oci8
- * + odbc(access)
- * + odbc(db2)
- * + pgsql
- * + sqlite
- * + sybase (must execute set quoted_identifier on sometime
- * prior to use)
- *
- * InterBase doesn't seem to be able to use delimited identifiers
- * via PHP 4. They work fine under PHP 5.
- *
- * @param string $str the identifier name to be quoted
- *
- * @return string the quoted identifier
- *
- * @since Method available since Release 1.6.0
- */
- function quoteIdentifier($str)
- {
- return '"' . str_replace('"', '""', $str) . '"';
- }
-
- // }}}
- // {{{ quoteSmart()
-
- /**
- * Formats input so it can be safely used in a query
- *
- * The output depends on the PHP data type of input and the database
- * type being used.
- *
- * @param mixed $in the data to be formatted
- *
- * @return mixed the formatted data. The format depends on the input's
- * PHP type:
- *
- *
- * input -> returns
- *
- *
- * null -> the string NULL
- *
- *
- * integer or double -> the unquoted number
- *
- *
- * bool -> output depends on the driver in use
- * Most drivers return integers: 1 if
- * true or 0 if
- * false .
- * Some return strings: TRUE if
- * true or FALSE if
- * false .
- * Finally one returns strings: T if
- * true or F if
- * false . Here is a list of each DBMS,
- * the values returned and the suggested column type:
- *
- *
- * dbase -> T/F
- * (Logical )
- *
- *
- * fbase -> TRUE/FALSE
- * (BOOLEAN )
- *
- *
- * ibase -> 1/0
- * (SMALLINT ) [1]
- *
- *
- * ifx -> 1/0
- * (SMALLINT ) [1]
- *
- *
- * msql -> 1/0
- * (INTEGER )
- *
- *
- * mssql -> 1/0
- * (BIT )
- *
- *
- * mysql -> 1/0
- * (TINYINT(1) )
- *
- *
- * mysqli -> 1/0
- * (TINYINT(1) )
- *
- *
- * oci8 -> 1/0
- * (NUMBER(1) )
- *
- *
- * odbc -> 1/0
- * (SMALLINT ) [1]
- *
- *
- * pgsql -> TRUE/FALSE
- * (BOOLEAN )
- *
- *
- * sqlite -> 1/0
- * (INTEGER )
- *
- *
- * sybase -> 1/0
- * (TINYINT(1) )
- *
- *
- * [1] Accommodate the lowest common denominator because not all
- * versions of have BOOLEAN .
- *
- *
- * other (including strings and numeric strings) ->
- * the data with single quotes escaped by preceeding
- * single quotes, backslashes are escaped by preceeding
- * backslashes, then the whole string is encapsulated
- * between single quotes
- *
- *
- *
- * @see DB_common::escapeSimple()
- * @since Method available since Release 1.6.0
- */
- function quoteSmart($in)
- {
- if (is_int($in)) {
- return $in;
- } elseif (is_float($in)) {
- return $this->quoteFloat($in);
- } elseif (is_bool($in)) {
- return $this->quoteBoolean($in);
- } elseif (is_null($in)) {
- return 'NULL';
- } else {
- if ($this->dbsyntax == 'access'
- && preg_match('/^#.+#$/', $in))
- {
- return $this->escapeSimple($in);
- }
- return "'" . $this->escapeSimple($in) . "'";
- }
- }
-
- // }}}
- // {{{ quoteBoolean()
-
- /**
- * Formats a boolean value for use within a query in a locale-independent
- * manner.
- *
- * @param boolean the boolean value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteBoolean($boolean) {
- return $boolean ? '1' : '0';
- }
-
- // }}}
- // {{{ quoteFloat()
-
- /**
- * Formats a float value for use within a query in a locale-independent
- * manner.
- *
- * @param float the float value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteFloat($float) {
- return "'".$this->escapeSimple(str_replace(',', '.', strval(floatval($float))))."'";
- }
-
- // }}}
- // {{{ escapeSimple()
-
- /**
- * Escapes a string according to the current DBMS's standards
- *
- * In SQLite, this makes things safe for inserts/updates, but may
- * cause problems when performing text comparisons against columns
- * containing binary data. See the
- * {@link http://php.net/sqlite_escape_string PHP manual} for more info.
- *
- * @param string $str the string to be escaped
- *
- * @return string the escaped string
- *
- * @see DB_common::quoteSmart()
- * @since Method available since Release 1.6.0
- */
- function escapeSimple($str)
- {
- return str_replace("'", "''", $str);
- }
-
- // }}}
- // {{{ provides()
-
- /**
- * Tells whether the present driver supports a given feature
- *
- * @param string $feature the feature you're curious about
- *
- * @return bool whether this driver supports $feature
- */
- function provides($feature)
- {
- return $this->features[$feature];
- }
-
- // }}}
- // {{{ setFetchMode()
-
- /**
- * Sets the fetch mode that should be used by default for query results
- *
- * @param integer $fetchmode DB_FETCHMODE_ORDERED, DB_FETCHMODE_ASSOC
- * or DB_FETCHMODE_OBJECT
- * @param string $object_class the class name of the object to be returned
- * by the fetch methods when the
- * DB_FETCHMODE_OBJECT mode is selected.
- * If no class is specified by default a cast
- * to object from the assoc array row will be
- * done. There is also the posibility to use
- * and extend the 'DB_row' class.
- *
- * @see DB_FETCHMODE_ORDERED, DB_FETCHMODE_ASSOC, DB_FETCHMODE_OBJECT
- */
- function setFetchMode($fetchmode, $object_class = 'stdClass')
- {
- switch ($fetchmode) {
- case DB_FETCHMODE_OBJECT:
- $this->fetchmode_object_class = $object_class;
- case DB_FETCHMODE_ORDERED:
- case DB_FETCHMODE_ASSOC:
- $this->fetchmode = $fetchmode;
- break;
- default:
- return $this->raiseError('invalid fetchmode mode');
- }
- }
-
- // }}}
- // {{{ setOption()
-
- /**
- * Sets run-time configuration options for PEAR DB
- *
- * Options, their data types, default values and description:
- *
- *
- * autofree boolean = false
- * should results be freed automatically when there are no
- * more rows?
- *
- * result_buffering integer = 500
- * how many rows of the result set should be buffered?
- * In mysql: mysql_unbuffered_query() is used instead of
- * mysql_query() if this value is 0. (Release 1.7.0)
- * In oci8: this value is passed to ocisetprefetch().
- * (Release 1.7.0)
- *
- * debug integer = 0
- * debug level
- *
- * persistent boolean = false
- * should the connection be persistent?
- *
- * portability integer = DB_PORTABILITY_NONE
- * portability mode constant (see below)
- *
- * seqname_format string = %s_seq
- * the sprintf() format string used on sequence names. This
- * format is applied to sequence names passed to
- * createSequence(), nextID() and dropSequence().
- *
- * ssl boolean = false
- * use ssl to connect?
- *
- *
- *
- * -----------------------------------------
- *
- * PORTABILITY MODES
- *
- * These modes are bitwised, so they can be combined using |
- * and removed using ^ . See the examples section below on how
- * to do this.
- *
- * DB_PORTABILITY_NONE
- * turn off all portability features
- *
- * This mode gets automatically turned on if the deprecated
- * optimize option gets set to performance .
- *
- *
- * DB_PORTABILITY_LOWERCASE
- * convert names of tables and fields to lower case when using
- * get*() , fetch*() and tableInfo()
- *
- * This mode gets automatically turned on in the following databases
- * if the deprecated option optimize gets set to
- * portability :
- * + oci8
- *
- *
- * DB_PORTABILITY_RTRIM
- * right trim the data output by get*() fetch*()
- *
- *
- * DB_PORTABILITY_DELETE_COUNT
- * force reporting the number of rows deleted
- *
- * Some DBMS's don't count the number of rows deleted when performing
- * simple DELETE FROM tablename queries. This portability
- * mode tricks such DBMS's into telling the count by adding
- * WHERE 1=1 to the end of DELETE queries.
- *
- * This mode gets automatically turned on in the following databases
- * if the deprecated option optimize gets set to
- * portability :
- * + fbsql
- * + mysql
- * + mysqli
- * + sqlite
- *
- *
- * DB_PORTABILITY_NUMROWS
- * enable hack that makes numRows() work in Oracle
- *
- * This mode gets automatically turned on in the following databases
- * if the deprecated option optimize gets set to
- * portability :
- * + oci8
- *
- *
- * DB_PORTABILITY_ERRORS
- * makes certain error messages in certain drivers compatible
- * with those from other DBMS's
- *
- * + mysql, mysqli: change unique/primary key constraints
- * DB_ERROR_ALREADY_EXISTS -> DB_ERROR_CONSTRAINT
- *
- * + odbc(access): MS's ODBC driver reports 'no such field' as code
- * 07001, which means 'too few parameters.' When this option is on
- * that code gets mapped to DB_ERROR_NOSUCHFIELD.
- * DB_ERROR_MISMATCH -> DB_ERROR_NOSUCHFIELD
- *
- * DB_PORTABILITY_NULL_TO_EMPTY
- * convert null values to empty strings in data output by get*() and
- * fetch*(). Needed because Oracle considers empty strings to be null,
- * while most other DBMS's know the difference between empty and null.
- *
- *
- * DB_PORTABILITY_ALL
- * turn on all portability features
- *
- * -----------------------------------------
- *
- * Example 1. Simple setOption() example
- *
- * $db->setOption('autofree', true);
- *
- *
- * Example 2. Portability for lowercasing and trimming
- *
- * $db->setOption('portability',
- * DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_RTRIM);
- *
- *
- * Example 3. All portability options except trimming
- *
- * $db->setOption('portability',
- * DB_PORTABILITY_ALL ^ DB_PORTABILITY_RTRIM);
- *
- *
- * @param string $option option name
- * @param mixed $value value for the option
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::$options
- */
- function setOption($option, $value)
- {
- if (isset($this->options[$option])) {
- $this->options[$option] = $value;
-
- /*
- * Backwards compatibility check for the deprecated 'optimize'
- * option. Done here in case settings change after connecting.
- */
- if ($option == 'optimize') {
- if ($value == 'portability') {
- switch ($this->phptype) {
- case 'oci8':
- $this->options['portability'] =
- DB_PORTABILITY_LOWERCASE |
- DB_PORTABILITY_NUMROWS;
- break;
- case 'fbsql':
- case 'mysql':
- case 'mysqli':
- case 'sqlite':
- $this->options['portability'] =
- DB_PORTABILITY_DELETE_COUNT;
- break;
- }
- } else {
- $this->options['portability'] = DB_PORTABILITY_NONE;
- }
- }
-
- return DB_OK;
- }
- return $this->raiseError("unknown option $option");
- }
-
- // }}}
- // {{{ getOption()
-
- /**
- * Returns the value of an option
- *
- * @param string $option the option name you're curious about
- *
- * @return mixed the option's value
- */
- function getOption($option)
- {
- if (isset($this->options[$option])) {
- return $this->options[$option];
- }
- return $this->raiseError("unknown option $option");
- }
-
- // }}}
- // {{{ prepare()
-
- /**
- * Prepares a query for multiple execution with execute()
- *
- * Creates a query that can be run multiple times. Each time it is run,
- * the placeholders, if any, will be replaced by the contents of
- * execute()'s $data argument.
- *
- * Three types of placeholders can be used:
- * + ? scalar value (i.e. strings, integers). The system
- * will automatically quote and escape the data.
- * + ! value is inserted 'as is'
- * + & requires a file name. The file's contents get
- * inserted into the query (i.e. saving binary
- * data in a db)
- *
- * Example 1.
- *
- * $sth = $db->prepare('INSERT INTO tbl (a, b, c) VALUES (?, !, &)');
- * $data = array(
- * "John's text",
- * "'it''s good'",
- * 'filename.txt'
- * );
- * $res = $db->execute($sth, $data);
- *
- *
- * Use backslashes to escape placeholder characters if you don't want
- * them to be interpreted as placeholders:
- *
- * "UPDATE foo SET col=? WHERE col='over \& under'"
- *
- *
- * With some database backends, this is emulated.
- *
- * {@internal ibase and oci8 have their own prepare() methods.}}
- *
- * @param string $query the query to be prepared
- *
- * @return mixed DB statement resource on success. A DB_Error object
- * on failure.
- *
- * @see DB_common::execute()
- */
- function prepare($query)
- {
- $tokens = preg_split('/((?prepare_tokens[] = &$newtokens;
- end($this->prepare_tokens);
-
- $k = key($this->prepare_tokens);
- $this->prepare_types[$k] = $types;
- $this->prepared_queries[$k] = implode(' ', $newtokens);
-
- return $k;
- }
-
- // }}}
- // {{{ autoPrepare()
-
- /**
- * Automaticaly generates an insert or update query and pass it to prepare()
- *
- * @param string $table the table name
- * @param array $table_fields the array of field names
- * @param int $mode a type of query to make:
- * DB_AUTOQUERY_INSERT or DB_AUTOQUERY_UPDATE
- * @param string $where for update queries: the WHERE clause to
- * append to the SQL statement. Don't
- * include the "WHERE" keyword.
- *
- * @return resource the query handle
- *
- * @uses DB_common::prepare(), DB_common::buildManipSQL()
- */
- function autoPrepare($table, $table_fields, $mode = DB_AUTOQUERY_INSERT,
- $where = false)
- {
- $query = $this->buildManipSQL($table, $table_fields, $mode, $where);
- if (DB::isError($query)) {
- return $query;
- }
- return $this->prepare($query);
- }
-
- // }}}
- // {{{ autoExecute()
-
- /**
- * Automaticaly generates an insert or update query and call prepare()
- * and execute() with it
- *
- * @param string $table the table name
- * @param array $fields_values the associative array where $key is a
- * field name and $value its value
- * @param int $mode a type of query to make:
- * DB_AUTOQUERY_INSERT or DB_AUTOQUERY_UPDATE
- * @param string $where for update queries: the WHERE clause to
- * append to the SQL statement. Don't
- * include the "WHERE" keyword.
- *
- * @return mixed a new DB_result object for successful SELECT queries
- * or DB_OK for successul data manipulation queries.
- * A DB_Error object on failure.
- *
- * @uses DB_common::autoPrepare(), DB_common::execute()
- */
- function autoExecute($table, $fields_values, $mode = DB_AUTOQUERY_INSERT,
- $where = false)
- {
- $sth = $this->autoPrepare($table, array_keys($fields_values), $mode,
- $where);
- if (DB::isError($sth)) {
- return $sth;
- }
- $ret = $this->execute($sth, array_values($fields_values));
- $this->freePrepared($sth);
- return $ret;
-
- }
-
- // }}}
- // {{{ buildManipSQL()
-
- /**
- * Produces an SQL query string for autoPrepare()
- *
- * Example:
- *
- * buildManipSQL('table_sql', array('field1', 'field2', 'field3'),
- * DB_AUTOQUERY_INSERT);
- *
- *
- * That returns
- *
- * INSERT INTO table_sql (field1,field2,field3) VALUES (?,?,?)
- *
- *
- * NOTES:
- * - This belongs more to a SQL Builder class, but this is a simple
- * facility.
- * - Be carefull! If you don't give a $where param with an UPDATE
- * query, all the records of the table will be updated!
- *
- * @param string $table the table name
- * @param array $table_fields the array of field names
- * @param int $mode a type of query to make:
- * DB_AUTOQUERY_INSERT or DB_AUTOQUERY_UPDATE
- * @param string $where for update queries: the WHERE clause to
- * append to the SQL statement. Don't
- * include the "WHERE" keyword.
- *
- * @return string the sql query for autoPrepare()
- */
- function buildManipSQL($table, $table_fields, $mode, $where = false)
- {
- if (count($table_fields) == 0) {
- return $this->raiseError(DB_ERROR_NEED_MORE_DATA);
- }
- $first = true;
- switch ($mode) {
- case DB_AUTOQUERY_INSERT:
- $values = '';
- $names = '';
- foreach ($table_fields as $value) {
- if ($first) {
- $first = false;
- } else {
- $names .= ',';
- $values .= ',';
- }
- $names .= $value;
- $values .= '?';
- }
- return "INSERT INTO $table ($names) VALUES ($values)";
- case DB_AUTOQUERY_UPDATE:
- $set = '';
- foreach ($table_fields as $value) {
- if ($first) {
- $first = false;
- } else {
- $set .= ',';
- }
- $set .= "$value = ?";
- }
- $sql = "UPDATE $table SET $set";
- if ($where) {
- $sql .= " WHERE $where";
- }
- return $sql;
- default:
- return $this->raiseError(DB_ERROR_SYNTAX);
- }
- }
-
- // }}}
- // {{{ execute()
-
- /**
- * Executes a DB statement prepared with prepare()
- *
- * Example 1.
- *
- * $sth = $db->prepare('INSERT INTO tbl (a, b, c) VALUES (?, !, &)');
- * $data = array(
- * "John's text",
- * "'it''s good'",
- * 'filename.txt'
- * );
- * $res = $db->execute($sth, $data);
- *
- *
- * @param resource $stmt a DB statement resource returned from prepare()
- * @param mixed $data array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return mixed a new DB_result object for successful SELECT queries
- * or DB_OK for successul data manipulation queries.
- * A DB_Error object on failure.
- *
- * {@internal ibase and oci8 have their own execute() methods.}}
- *
- * @see DB_common::prepare()
- */
- function &execute($stmt, $data = array())
- {
- $realquery = $this->executeEmulateQuery($stmt, $data);
- if (DB::isError($realquery)) {
- return $realquery;
- }
- $result = $this->simpleQuery($realquery);
-
- if ($result === DB_OK || DB::isError($result)) {
- return $result;
- } else {
- $tmp = new DB_result($this, $result);
- return $tmp;
- }
- }
-
- // }}}
- // {{{ executeEmulateQuery()
-
- /**
- * Emulates executing prepared statements if the DBMS not support them
- *
- * @param resource $stmt a DB statement resource returned from execute()
- * @param mixed $data array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return mixed a string containing the real query run when emulating
- * prepare/execute. A DB_Error object on failure.
- *
- * @access protected
- * @see DB_common::execute()
- */
- function executeEmulateQuery($stmt, $data = array())
- {
- $stmt = (int)$stmt;
- $data = (array)$data;
- $this->last_parameters = $data;
-
- if (count($this->prepare_types[$stmt]) != count($data)) {
- $this->last_query = $this->prepared_queries[$stmt];
- return $this->raiseError(DB_ERROR_MISMATCH);
- }
-
- $realquery = $this->prepare_tokens[$stmt][0];
-
- $i = 0;
- foreach ($data as $value) {
- if ($this->prepare_types[$stmt][$i] == DB_PARAM_SCALAR) {
- $realquery .= $this->quoteSmart($value);
- } elseif ($this->prepare_types[$stmt][$i] == DB_PARAM_OPAQUE) {
- $fp = @fopen($value, 'rb');
- if (!$fp) {
- return $this->raiseError(DB_ERROR_ACCESS_VIOLATION);
- }
- $realquery .= $this->quoteSmart(fread($fp, filesize($value)));
- fclose($fp);
- } else {
- $realquery .= $value;
- }
-
- $realquery .= $this->prepare_tokens[$stmt][++$i];
- }
-
- return $realquery;
- }
-
- // }}}
- // {{{ executeMultiple()
-
- /**
- * Performs several execute() calls on the same statement handle
- *
- * $data must be an array indexed numerically
- * from 0, one execute call is done for every "row" in the array.
- *
- * If an error occurs during execute(), executeMultiple() does not
- * execute the unfinished rows, but rather returns that error.
- *
- * @param resource $stmt query handle from prepare()
- * @param array $data numeric array containing the
- * data to insert into the query
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::prepare(), DB_common::execute()
- */
- function executeMultiple($stmt, $data)
- {
- foreach ($data as $value) {
- $res = $this->execute($stmt, $value);
- if (DB::isError($res)) {
- return $res;
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freePrepared()
-
- /**
- * Frees the internal resources associated with a prepared query
- *
- * @param resource $stmt the prepared statement's PHP resource
- * @param bool $free_resource should the PHP resource be freed too?
- * Use false if you need to get data
- * from the result set later.
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_common::prepare()
- */
- function freePrepared($stmt, $free_resource = true)
- {
- $stmt = (int)$stmt;
- if (isset($this->prepare_tokens[$stmt])) {
- unset($this->prepare_tokens[$stmt]);
- unset($this->prepare_types[$stmt]);
- unset($this->prepared_queries[$stmt]);
- return true;
- }
- return false;
- }
-
- // }}}
- // {{{ modifyQuery()
-
- /**
- * Changes a query string for various DBMS specific reasons
- *
- * It is defined here to ensure all drivers have this method available.
- *
- * @param string $query the query string to modify
- *
- * @return string the modified query string
- *
- * @access protected
- * @see DB_mysql::modifyQuery(), DB_oci8::modifyQuery(),
- * DB_sqlite::modifyQuery()
- */
- function modifyQuery($query)
- {
- return $query;
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * It is defined here to assure that all implementations
- * have this method defined.
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- return $query;
- }
-
- // }}}
- // {{{ query()
-
- /**
- * Sends a query to the database server
- *
- * The query string can be either a normal statement to be sent directly
- * to the server OR if $params are passed the query can have
- * placeholders and it will be passed through prepare() and execute().
- *
- * @param string $query the SQL query or the statement to prepare
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return mixed a new DB_result object for successful SELECT queries
- * or DB_OK for successul data manipulation queries.
- * A DB_Error object on failure.
- *
- * @see DB_result, DB_common::prepare(), DB_common::execute()
- */
- function &query($query, $params = array())
- {
- if (sizeof($params) > 0) {
- $sth = $this->prepare($query);
- if (DB::isError($sth)) {
- return $sth;
- }
- $ret = $this->execute($sth, $params);
- $this->freePrepared($sth, false);
- return $ret;
- } else {
- $this->last_parameters = array();
- $result = $this->simpleQuery($query);
- if ($result === DB_OK || DB::isError($result)) {
- return $result;
- } else {
- $tmp = new DB_result($this, $result);
- return $tmp;
- }
- }
- }
-
- // }}}
- // {{{ limitQuery()
-
- /**
- * Generates and executes a LIMIT query
- *
- * @param string $query the query
- * @param intr $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return mixed a new DB_result object for successful SELECT queries
- * or DB_OK for successul data manipulation queries.
- * A DB_Error object on failure.
- */
- function &limitQuery($query, $from, $count, $params = array())
- {
- $query = $this->modifyLimitQuery($query, $from, $count, $params);
- if (DB::isError($query)){
- return $query;
- }
- $result = $this->query($query, $params);
- if (is_a($result, 'DB_result')) {
- $result->setOption('limit_from', $from);
- $result->setOption('limit_count', $count);
- }
- return $result;
- }
-
- // }}}
- // {{{ getOne()
-
- /**
- * Fetches the first column of the first row from a query result
- *
- * Takes care of doing the query and freeing the results when finished.
- *
- * @param string $query the SQL query
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return mixed the returned value of the query.
- * A DB_Error object on failure.
- */
- function &getOne($query, $params = array())
- {
- $params = (array)$params;
- // modifyLimitQuery() would be nice here, but it causes BC issues
- if (sizeof($params) > 0) {
- $sth = $this->prepare($query);
- if (DB::isError($sth)) {
- return $sth;
- }
- $res = $this->execute($sth, $params);
- $this->freePrepared($sth);
- } else {
- $res = $this->query($query);
- }
-
- if (DB::isError($res)) {
- return $res;
- }
-
- $err = $res->fetchInto($row, DB_FETCHMODE_ORDERED);
- $res->free();
-
- if ($err !== DB_OK) {
- return $err;
- }
-
- return $row[0];
- }
-
- // }}}
- // {{{ getRow()
-
- /**
- * Fetches the first row of data returned from a query result
- *
- * Takes care of doing the query and freeing the results when finished.
- *
- * @param string $query the SQL query
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- * @param int $fetchmode the fetch mode to use
- *
- * @return array the first row of results as an array.
- * A DB_Error object on failure.
- */
- function &getRow($query, $params = array(),
- $fetchmode = DB_FETCHMODE_DEFAULT)
- {
- // compat check, the params and fetchmode parameters used to
- // have the opposite order
- if (!is_array($params)) {
- if (is_array($fetchmode)) {
- if ($params === null) {
- $tmp = DB_FETCHMODE_DEFAULT;
- } else {
- $tmp = $params;
- }
- $params = $fetchmode;
- $fetchmode = $tmp;
- } elseif ($params !== null) {
- $fetchmode = $params;
- $params = array();
- }
- }
- // modifyLimitQuery() would be nice here, but it causes BC issues
- if (sizeof($params) > 0) {
- $sth = $this->prepare($query);
- if (DB::isError($sth)) {
- return $sth;
- }
- $res = $this->execute($sth, $params);
- $this->freePrepared($sth);
- } else {
- $res = $this->query($query);
- }
-
- if (DB::isError($res)) {
- return $res;
- }
-
- $err = $res->fetchInto($row, $fetchmode);
-
- $res->free();
-
- if ($err !== DB_OK) {
- return $err;
- }
-
- return $row;
- }
-
- // }}}
- // {{{ getCol()
-
- /**
- * Fetches a single column from a query result and returns it as an
- * indexed array
- *
- * @param string $query the SQL query
- * @param mixed $col which column to return (integer [column number,
- * starting at 0] or string [column name])
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return array the results as an array. A DB_Error object on failure.
- *
- * @see DB_common::query()
- */
- function &getCol($query, $col = 0, $params = array())
- {
- $params = (array)$params;
- if (sizeof($params) > 0) {
- $sth = $this->prepare($query);
-
- if (DB::isError($sth)) {
- return $sth;
- }
-
- $res = $this->execute($sth, $params);
- $this->freePrepared($sth);
- } else {
- $res = $this->query($query);
- }
-
- if (DB::isError($res)) {
- return $res;
- }
-
- $fetchmode = is_int($col) ? DB_FETCHMODE_ORDERED : DB_FETCHMODE_ASSOC;
-
- if (!is_array($row = $res->fetchRow($fetchmode))) {
- $ret = array();
- } else {
- if (!array_key_exists($col, $row)) {
- $ret = $this->raiseError(DB_ERROR_NOSUCHFIELD);
- } else {
- $ret = array($row[$col]);
- while (is_array($row = $res->fetchRow($fetchmode))) {
- $ret[] = $row[$col];
- }
- }
- }
-
- $res->free();
-
- if (DB::isError($row)) {
- $ret = $row;
- }
-
- return $ret;
- }
-
- // }}}
- // {{{ getAssoc()
-
- /**
- * Fetches an entire query result and returns it as an
- * associative array using the first column as the key
- *
- * If the result set contains more than two columns, the value
- * will be an array of the values from column 2-n. If the result
- * set contains only two columns, the returned value will be a
- * scalar with the value of the second column (unless forced to an
- * array with the $force_array parameter). A DB error code is
- * returned on errors. If the result set contains fewer than two
- * columns, a DB_ERROR_TRUNCATED error is returned.
- *
- * For example, if the table "mytable" contains:
- *
- *
- * ID TEXT DATE
- * --------------------------------
- * 1 'one' 944679408
- * 2 'two' 944679408
- * 3 'three' 944679408
- *
- *
- * Then the call getAssoc('SELECT id,text FROM mytable') returns:
- *
- * array(
- * '1' => 'one',
- * '2' => 'two',
- * '3' => 'three',
- * )
- *
- *
- * ...while the call getAssoc('SELECT id,text,date FROM mytable') returns:
- *
- * array(
- * '1' => array('one', '944679408'),
- * '2' => array('two', '944679408'),
- * '3' => array('three', '944679408')
- * )
- *
- *
- * If the more than one row occurs with the same value in the
- * first column, the last row overwrites all previous ones by
- * default. Use the $group parameter if you don't want to
- * overwrite like this. Example:
- *
- *
- * getAssoc('SELECT category,id,name FROM mytable', false, null,
- * DB_FETCHMODE_ASSOC, true) returns:
- *
- * array(
- * '1' => array(array('id' => '4', 'name' => 'number four'),
- * array('id' => '6', 'name' => 'number six')
- * ),
- * '9' => array(array('id' => '4', 'name' => 'number four'),
- * array('id' => '6', 'name' => 'number six')
- * )
- * )
- *
- *
- * Keep in mind that database functions in PHP usually return string
- * values for results regardless of the database's internal type.
- *
- * @param string $query the SQL query
- * @param bool $force_array used only when the query returns
- * exactly two columns. If true, the values
- * of the returned array will be one-element
- * arrays instead of scalars.
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of
- * items passed must match quantity of
- * placeholders in query: meaning 1
- * placeholder for non-array parameters or
- * 1 placeholder per array element.
- * @param int $fetchmode the fetch mode to use
- * @param bool $group if true, the values of the returned array
- * is wrapped in another array. If the same
- * key value (in the first column) repeats
- * itself, the values will be appended to
- * this array instead of overwriting the
- * existing values.
- *
- * @return array the associative array containing the query results.
- * A DB_Error object on failure.
- */
- function &getAssoc($query, $force_array = false, $params = array(),
- $fetchmode = DB_FETCHMODE_DEFAULT, $group = false)
- {
- $params = (array)$params;
- if (sizeof($params) > 0) {
- $sth = $this->prepare($query);
-
- if (DB::isError($sth)) {
- return $sth;
- }
-
- $res = $this->execute($sth, $params);
- $this->freePrepared($sth);
- } else {
- $res = $this->query($query);
- }
-
- if (DB::isError($res)) {
- return $res;
- }
- if ($fetchmode == DB_FETCHMODE_DEFAULT) {
- $fetchmode = $this->fetchmode;
- }
- $cols = $res->numCols();
-
- if ($cols < 2) {
- $tmp = $this->raiseError(DB_ERROR_TRUNCATED);
- return $tmp;
- }
-
- $results = array();
-
- if ($cols > 2 || $force_array) {
- // return array values
- // XXX this part can be optimized
- if ($fetchmode == DB_FETCHMODE_ASSOC) {
- while (is_array($row = $res->fetchRow(DB_FETCHMODE_ASSOC))) {
- reset($row);
- $key = current($row);
- unset($row[key($row)]);
- if ($group) {
- $results[$key][] = $row;
- } else {
- $results[$key] = $row;
- }
- }
- } elseif ($fetchmode == DB_FETCHMODE_OBJECT) {
- while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
- $arr = get_object_vars($row);
- $key = current($arr);
- if ($group) {
- $results[$key][] = $row;
- } else {
- $results[$key] = $row;
- }
- }
- } else {
- while (is_array($row = $res->fetchRow(DB_FETCHMODE_ORDERED))) {
- // we shift away the first element to get
- // indices running from 0 again
- $key = array_shift($row);
- if ($group) {
- $results[$key][] = $row;
- } else {
- $results[$key] = $row;
- }
- }
- }
- if (DB::isError($row)) {
- $results = $row;
- }
- } else {
- // return scalar values
- while (is_array($row = $res->fetchRow(DB_FETCHMODE_ORDERED))) {
- if ($group) {
- $results[$row[0]][] = $row[1];
- } else {
- $results[$row[0]] = $row[1];
- }
- }
- if (DB::isError($row)) {
- $results = $row;
- }
- }
-
- $res->free();
-
- return $results;
- }
-
- // }}}
- // {{{ getAll()
-
- /**
- * Fetches all of the rows from a query result
- *
- * @param string $query the SQL query
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of
- * items passed must match quantity of
- * placeholders in query: meaning 1
- * placeholder for non-array parameters or
- * 1 placeholder per array element.
- * @param int $fetchmode the fetch mode to use:
- * + DB_FETCHMODE_ORDERED
- * + DB_FETCHMODE_ASSOC
- * + DB_FETCHMODE_ORDERED | DB_FETCHMODE_FLIPPED
- * + DB_FETCHMODE_ASSOC | DB_FETCHMODE_FLIPPED
- *
- * @return array the nested array. A DB_Error object on failure.
- */
- function &getAll($query, $params = array(),
- $fetchmode = DB_FETCHMODE_DEFAULT)
- {
- // compat check, the params and fetchmode parameters used to
- // have the opposite order
- if (!is_array($params)) {
- if (is_array($fetchmode)) {
- if ($params === null) {
- $tmp = DB_FETCHMODE_DEFAULT;
- } else {
- $tmp = $params;
- }
- $params = $fetchmode;
- $fetchmode = $tmp;
- } elseif ($params !== null) {
- $fetchmode = $params;
- $params = array();
- }
- }
-
- if (sizeof($params) > 0) {
- $sth = $this->prepare($query);
-
- if (DB::isError($sth)) {
- return $sth;
- }
-
- $res = $this->execute($sth, $params);
- $this->freePrepared($sth);
- } else {
- $res = $this->query($query);
- }
-
- if ($res === DB_OK || DB::isError($res)) {
- return $res;
- }
-
- $results = array();
- while (DB_OK === $res->fetchInto($row, $fetchmode)) {
- if ($fetchmode & DB_FETCHMODE_FLIPPED) {
- foreach ($row as $key => $val) {
- $results[$key][] = $val;
- }
- } else {
- $results[] = $row;
- }
- }
-
- $res->free();
-
- if (DB::isError($row)) {
- $tmp = $this->raiseError($row);
- return $tmp;
- }
- return $results;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Determines the number of rows in a query result
- *
- * @param resource $result the query result idenifier produced by PHP
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function numRows($result)
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ getSequenceName()
-
- /**
- * Generates the name used inside the database for a sequence
- *
- * The createSequence() docblock contains notes about storing sequence
- * names.
- *
- * @param string $sqn the sequence's public name
- *
- * @return string the sequence's name in the backend
- *
- * @access protected
- * @see DB_common::createSequence(), DB_common::dropSequence(),
- * DB_common::nextID(), DB_common::setOption()
- */
- function getSequenceName($sqn)
- {
- return sprintf($this->getOption('seqname_format'),
- preg_replace('/[^a-z0-9_.]/i', '_', $sqn));
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::dropSequence(),
- * DB_common::getSequenceName()
- */
- function nextId($seq_name, $ondemand = true)
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ createSequence()
-
- /**
- * Creates a new sequence
- *
- * The name of a given sequence is determined by passing the string
- * provided in the $seq_name argument through PHP's sprintf()
- * function using the value from the seqname_format option as
- * the sprintf()'s format argument.
- *
- * seqname_format is set via setOption().
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_common::nextID()
- */
- function createSequence($seq_name)
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_common::nextID()
- */
- function dropSequence($seq_name)
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ raiseError()
-
- /**
- * Communicates an error and invoke error callbacks, etc
- *
- * Basically a wrapper for PEAR::raiseError without the message string.
- *
- * @param mixed integer error code, or a PEAR error object (all
- * other parameters are ignored if this parameter is
- * an object
- * @param int error mode, see PEAR_Error docs
- * @param mixed if error mode is PEAR_ERROR_TRIGGER, this is the
- * error level (E_USER_NOTICE etc). If error mode is
- * PEAR_ERROR_CALLBACK, this is the callback function,
- * either as a function name, or as an array of an
- * object and method name. For other error modes this
- * parameter is ignored.
- * @param string extra debug information. Defaults to the last
- * query and native error code.
- * @param mixed native error code, integer or string depending the
- * backend
- *
- * @return object the PEAR_Error object
- *
- * @see PEAR_Error
- */
- function &raiseError($code = DB_ERROR, $mode = null, $options = null,
- $userinfo = null, $nativecode = null)
- {
- // The error is yet a DB error object
- if (is_object($code)) {
- // because we the static PEAR::raiseError, our global
- // handler should be used if it is set
- if ($mode === null && !empty($this->_default_error_mode)) {
- $mode = $this->_default_error_mode;
- $options = $this->_default_error_options;
- }
- $tmp = PEAR::raiseError($code, null, $mode, $options,
- null, null, true);
- return $tmp;
- }
-
- if ($userinfo === null) {
- $userinfo = $this->last_query;
- }
-
- if ($nativecode) {
- $userinfo .= ' [nativecode=' . trim($nativecode) . ']';
- } else {
- $userinfo .= ' [DB Error: ' . DB::errorMessage($code) . ']';
- }
-
- $tmp = PEAR::raiseError(null, $code, $mode, $options, $userinfo,
- 'DB_Error', true);
- return $tmp;
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return mixed the DBMS' error code. A DB_Error object on failure.
- */
- function errorNative()
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Maps native error codes to DB's portable ones
- *
- * Uses the $errorcode_map property defined in each driver.
- *
- * @param string|int $nativecode the error code returned by the DBMS
- *
- * @return int the portable DB error code. Return DB_ERROR if the
- * current driver doesn't have a mapping for the
- * $nativecode submitted.
- */
- function errorCode($nativecode)
- {
- if (isset($this->errorcode_map[$nativecode])) {
- return $this->errorcode_map[$nativecode];
- }
- // Fall back to DB_ERROR if there was no mapping.
- return DB_ERROR;
- }
-
- // }}}
- // {{{ errorMessage()
-
- /**
- * Maps a DB error code to a textual message
- *
- * @param integer $dbcode the DB error code
- *
- * @return string the error message corresponding to the error code
- * submitted. FALSE if the error code is unknown.
- *
- * @see DB::errorMessage()
- */
- function errorMessage($dbcode)
- {
- return DB::errorMessage($this->errorcode_map[$dbcode]);
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * The format of the resulting array depends on which $mode
- * you select. The sample output below is based on this query:
- *
- * SELECT tblFoo.fldID, tblFoo.fldPhone, tblBar.fldId
- * FROM tblFoo
- * JOIN tblBar ON tblFoo.fldId = tblBar.fldId
- *
- *
- *
- *
- *
- * null (default)
- *
- * [0] => Array (
- * [table] => tblFoo
- * [name] => fldId
- * [type] => int
- * [len] => 11
- * [flags] => primary_key not_null
- * )
- * [1] => Array (
- * [table] => tblFoo
- * [name] => fldPhone
- * [type] => string
- * [len] => 20
- * [flags] =>
- * )
- * [2] => Array (
- * [table] => tblBar
- * [name] => fldId
- * [type] => int
- * [len] => 11
- * [flags] => primary_key not_null
- * )
- *
- *
- *
- *
- * DB_TABLEINFO_ORDER
- *
- * In addition to the information found in the default output,
- * a notation of the number of columns is provided by the
- * num_fields element while the order
- * element provides an array with the column names as the keys and
- * their location index number (corresponding to the keys in the
- * the default output) as the values.
- *
- * If a result set has identical field names, the last one is
- * used.
- *
- *
- * [num_fields] => 3
- * [order] => Array (
- * [fldId] => 2
- * [fldTrans] => 1
- * )
- *
- *
- *
- *
- * DB_TABLEINFO_ORDERTABLE
- *
- * Similar to DB_TABLEINFO_ORDER but adds more
- * dimensions to the array in which the table names are keys and
- * the field names are sub-keys. This is helpful for queries that
- * join tables which have identical field names.
- *
- *
- * [num_fields] => 3
- * [ordertable] => Array (
- * [tblFoo] => Array (
- * [fldId] => 0
- * [fldPhone] => 1
- * )
- * [tblBar] => Array (
- * [fldId] => 2
- * )
- * )
- *
- *
- *
- *
- *
- * The flags element contains a space separated list
- * of extra information about the field. This data is inconsistent
- * between DBMS's due to the way each DBMS works.
- * + primary_key
- * + unique_key
- * + multiple_key
- * + not_null
- *
- * Most DBMS's only provide the table and flags
- * elements if $result is a table name. The following DBMS's
- * provide full information from queries:
- * + fbsql
- * + mysql
- *
- * If the 'portability' option has DB_PORTABILITY_LOWERCASE
- * turned on, the names of tables and fields will be lowercased.
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode either unused or one of the tableInfo modes:
- * DB_TABLEINFO_ORDERTABLE ,
- * DB_TABLEINFO_ORDER or
- * DB_TABLEINFO_FULL (which does both).
- * These are bitwise, so the first two can be
- * combined using | .
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::setOption()
- */
- function tableInfo($result, $mode = null)
- {
- /*
- * If the DB_ class has a tableInfo() method, that one
- * overrides this one. But, if the driver doesn't have one,
- * this method runs and tells users about that fact.
- */
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ getTables()
-
- /**
- * Lists the tables in the current database
- *
- * @return array the list of tables. A DB_Error object on failure.
- *
- * @deprecated Method deprecated some time before Release 1.2
- */
- function getTables()
- {
- return $this->getListOf('tables');
- }
-
- // }}}
- // {{{ getListOf()
-
- /**
- * Lists internal database information
- *
- * @param string $type type of information being sought.
- * Common items being sought are:
- * tables, databases, users, views, functions
- * Each DBMS's has its own capabilities.
- *
- * @return array an array listing the items sought.
- * A DB DB_Error object on failure.
- */
- function getListOf($type)
- {
- $sql = $this->getSpecialQuery($type);
- if ($sql === null) {
- $this->last_query = '';
- return $this->raiseError(DB_ERROR_UNSUPPORTED);
- } elseif (is_int($sql) || DB::isError($sql)) {
- // Previous error
- return $this->raiseError($sql);
- } elseif (is_array($sql)) {
- // Already the result
- return $sql;
- }
- // Launch this query
- return $this->getCol($sql);
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- return $this->raiseError(DB_ERROR_UNSUPPORTED);
- }
-
- // }}}
- // {{{ nextQueryIsManip()
-
- /**
- * Sets (or unsets) a flag indicating that the next query will be a
- * manipulation query, regardless of the usual DB::isManip() heuristics.
- *
- * @param boolean true to set the flag overriding the isManip() behaviour,
- * false to clear it and fall back onto isManip()
- *
- * @return void
- *
- * @access public
- */
- function nextQueryIsManip($manip)
- {
- $this->_next_query_manip = $manip;
- }
-
- // }}}
- // {{{ _checkManip()
-
- /**
- * Checks if the given query is a manipulation query. This also takes into
- * account the _next_query_manip flag and sets the _last_query_manip flag
- * (and resets _next_query_manip) according to the result.
- *
- * @param string The query to check.
- *
- * @return boolean true if the query is a manipulation query, false
- * otherwise
- *
- * @access protected
- */
- function _checkManip($query)
- {
- if ($this->_next_query_manip || DB::isManip($query)) {
- $this->_last_query_manip = true;
- } else {
- $this->_last_query_manip = false;
- }
- $this->_next_query_manip = false;
- return $this->_last_query_manip;
- $manip = $this->_next_query_manip;
- }
-
- // }}}
- // {{{ _rtrimArrayValues()
-
- /**
- * Right-trims all strings in an array
- *
- * @param array $array the array to be trimmed (passed by reference)
- *
- * @return void
- *
- * @access protected
- */
- function _rtrimArrayValues(&$array)
- {
- foreach ($array as $key => $value) {
- if (is_string($value)) {
- $array[$key] = rtrim($value);
- }
- }
- }
-
- // }}}
- // {{{ _convertNullArrayValuesToEmpty()
-
- /**
- * Converts all null values in an array to empty strings
- *
- * @param array $array the array to be de-nullified (passed by reference)
- *
- * @return void
- *
- * @access protected
- */
- function _convertNullArrayValuesToEmpty(&$array)
- {
- foreach ($array as $key => $value) {
- if (is_null($value)) {
- $array[$key] = '';
- }
- }
- }
-
- // }}}
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/dbase.php b/airtime_mvc/library/pear/DB/dbase.php
deleted file mode 100644
index cdd2e59ef..000000000
--- a/airtime_mvc/library/pear/DB/dbase.php
+++ /dev/null
@@ -1,510 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: dbase.php,v 1.45 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's dbase extension
- * for interacting with dBase databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * @category Database
- * @package DB
- * @author Tomas V.V. Cox
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_dbase extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'dbase';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'dbase';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => false,
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => false,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => false,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * A means of emulating result resources
- * @var array
- */
- var $res_row = array();
-
- /**
- * The quantity of results so far
- *
- * For emulating result resources.
- *
- * @var integer
- */
- var $result = 0;
-
- /**
- * Maps dbase data type id's to human readable strings
- *
- * The human readable values are based on the output of PHP's
- * dbase_get_header_info() function.
- *
- * @var array
- * @since Property available since Release 1.7.0
- */
- var $types = array(
- 'C' => 'character',
- 'D' => 'date',
- 'L' => 'boolean',
- 'M' => 'memo',
- 'N' => 'number',
- );
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_dbase()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database and create it if it doesn't exist
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's dbase driver supports the following extra DSN options:
- * + mode An integer specifying the read/write mode to use
- * (0 = read only, 1 = write only, 2 = read/write).
- * Available since PEAR DB 1.7.0.
- * + fields An array of arrays that PHP's dbase_create() function needs
- * to create a new database. This information is used if the
- * dBase file specified in the "database" segment of the DSN
- * does not exist. For more info, see the PHP manual's
- * {@link http://php.net/dbase_create dbase_create()} page.
- * Available since PEAR DB 1.7.0.
- *
- * Example of how to connect and establish a new dBase file if necessary:
- *
- * require_once 'DB.php';
- *
- * $dsn = array(
- * 'phptype' => 'dbase',
- * 'database' => '/path/and/name/of/dbase/file',
- * 'mode' => 2,
- * 'fields' => array(
- * array('a', 'N', 5, 0),
- * array('b', 'C', 40),
- * array('c', 'C', 255),
- * array('d', 'C', 20),
- * ),
- * );
- * $options = array(
- * 'debug' => 2,
- * 'portability' => DB_PORTABILITY_ALL,
- * );
- *
- * $db = DB::connect($dsn, $options);
- * if (PEAR::isError($db)) {
- * die($db->getMessage());
- * }
- *
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('dbase')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- /*
- * Turn track_errors on for entire script since $php_errormsg
- * is the only way to find errors from the dbase extension.
- */
- @ini_set('track_errors', 1);
- $php_errormsg = '';
-
- if (!file_exists($dsn['database'])) {
- $this->dsn['mode'] = 2;
- if (empty($dsn['fields']) || !is_array($dsn['fields'])) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- 'the dbase file does not exist and '
- . 'it could not be created because '
- . 'the "fields" element of the DSN '
- . 'is not properly set');
- }
- $this->connection = @dbase_create($dsn['database'],
- $dsn['fields']);
- if (!$this->connection) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- 'the dbase file does not exist and '
- . 'the attempt to create it failed: '
- . $php_errormsg);
- }
- } else {
- if (!isset($this->dsn['mode'])) {
- $this->dsn['mode'] = 0;
- }
- $this->connection = @dbase_open($dsn['database'],
- $this->dsn['mode']);
- if (!$this->connection) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @dbase_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ &query()
-
- function &query($query = null)
- {
- // emulate result resources
- $this->res_row[(int)$this->result] = 0;
- $tmp = new DB_result($this, $this->result++);
- return $tmp;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum === null) {
- $rownum = $this->res_row[(int)$result]++;
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @dbase_get_record_with_names($this->connection, $rownum);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @dbase_get_record($this->connection, $rownum);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set.
- *
- * This method is a no-op for dbase, as there aren't result resources in
- * the same sense as most other database backends.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return true;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($foo)
- {
- return @dbase_numfields($this->connection);
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($foo)
- {
- return @dbase_numrecords($this->connection);
- }
-
- // }}}
- // {{{ quoteBoolean()
-
- /**
- * Formats a boolean value for use within a query in a locale-independent
- * manner.
- *
- * @param boolean the boolean value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteBoolean($boolean) {
- return $boolean ? 'T' : 'F';
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about the current database
- *
- * @param mixed $result THIS IS UNUSED IN DBASE. The current database
- * is examined regardless of what is provided here.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- * @since Method available since Release 1.7.0
- */
- function tableInfo($result = null, $mode = null)
- {
- if (function_exists('dbase_get_header_info')) {
- $id = @dbase_get_header_info($this->connection);
- if (!$id && $php_errormsg) {
- return $this->raiseError(DB_ERROR,
- null, null, null,
- $php_errormsg);
- }
- } else {
- /*
- * This segment for PHP 4 is loosely based on code by
- * Hadi Rusiah in the comments on
- * the dBase reference page in the PHP manual.
- */
- $db = @fopen($this->dsn['database'], 'r');
- if (!$db) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
-
- $id = array();
- $i = 0;
-
- $line = fread($db, 32);
- while (!feof($db)) {
- $line = fread($db, 32);
- if (substr($line, 0, 1) == chr(13)) {
- break;
- } else {
- $pos = strpos(substr($line, 0, 10), chr(0));
- $pos = ($pos == 0 ? 10 : $pos);
- $id[$i] = array(
- 'name' => substr($line, 0, $pos),
- 'type' => $this->types[substr($line, 11, 1)],
- 'length' => ord(substr($line, 16, 1)),
- 'precision' => ord(substr($line, 17, 1)),
- );
- }
- $i++;
- }
-
- fclose($db);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $res = array();
- $count = count($id);
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $res[$i] = array(
- 'table' => $this->dsn['database'],
- 'name' => $case_func($id[$i]['name']),
- 'type' => $id[$i]['type'],
- 'len' => $id[$i]['length'],
- 'flags' => ''
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- return $res;
- }
-
- // }}}
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/fbsql.php b/airtime_mvc/library/pear/DB/fbsql.php
deleted file mode 100644
index 7749a98fa..000000000
--- a/airtime_mvc/library/pear/DB/fbsql.php
+++ /dev/null
@@ -1,769 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: fbsql.php,v 1.88 2007/07/06 05:19:21 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's fbsql extension
- * for interacting with FrontBase databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * @category Database
- * @package DB
- * @author Frank M. Kromann
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- * @since Class functional since Release 1.7.0
- */
-class DB_fbsql extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'fbsql';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'fbsql';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'alter',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- 22 => DB_ERROR_SYNTAX,
- 85 => DB_ERROR_ALREADY_EXISTS,
- 108 => DB_ERROR_SYNTAX,
- 116 => DB_ERROR_NOSUCHTABLE,
- 124 => DB_ERROR_VALUE_COUNT_ON_ROW,
- 215 => DB_ERROR_NOSUCHFIELD,
- 217 => DB_ERROR_INVALID_NUMBER,
- 226 => DB_ERROR_NOSUCHFIELD,
- 231 => DB_ERROR_INVALID,
- 239 => DB_ERROR_TRUNCATED,
- 251 => DB_ERROR_SYNTAX,
- 266 => DB_ERROR_NOT_FOUND,
- 357 => DB_ERROR_CONSTRAINT_NOT_NULL,
- 358 => DB_ERROR_CONSTRAINT,
- 360 => DB_ERROR_CONSTRAINT,
- 361 => DB_ERROR_CONSTRAINT,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_fbsql()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('fbsql')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $params = array(
- $dsn['hostspec'] ? $dsn['hostspec'] : 'localhost',
- $dsn['username'] ? $dsn['username'] : null,
- $dsn['password'] ? $dsn['password'] : null,
- );
-
- $connect_function = $persistent ? 'fbsql_pconnect' : 'fbsql_connect';
-
- $ini = ini_get('track_errors');
- $php_errormsg = '';
- if ($ini) {
- $this->connection = @call_user_func_array($connect_function,
- $params);
- } else {
- @ini_set('track_errors', 1);
- $this->connection = @call_user_func_array($connect_function,
- $params);
- @ini_set('track_errors', $ini);
- }
-
- if (!$this->connection) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
-
- if ($dsn['database']) {
- if (!@fbsql_select_db($dsn['database'], $this->connection)) {
- return $this->fbsqlRaiseError();
- }
- }
-
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @fbsql_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- $result = @fbsql_query("$query;", $this->connection);
- if (!$result) {
- return $this->fbsqlRaiseError();
- }
- // Determine which queries that should return data, and which
- // should return an error code only.
- if ($this->_checkManip($query)) {
- return DB_OK;
- }
- return $result;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal fbsql result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return @fbsql_next_result($result);
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@fbsql_data_seek($result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @fbsql_fetch_array($result, FBSQL_ASSOC);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @fbsql_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? fbsql_free_result($result) : false;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff=false)
- {
- if ($onoff) {
- $this->query("SET COMMIT TRUE");
- } else {
- $this->query("SET COMMIT FALSE");
- }
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- @fbsql_commit($this->connection);
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- @fbsql_rollback($this->connection);
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @fbsql_num_fields($result);
- if (!$cols) {
- return $this->fbsqlRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @fbsql_num_rows($result);
- if ($rows === null) {
- return $this->fbsqlRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->_last_query_manip) {
- $result = @fbsql_affected_rows($this->connection);
- } else {
- $result = 0;
- }
- return $result;
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_fbsql::createSequence(), DB_fbsql::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- do {
- $repeat = 0;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query('SELECT UNIQUE FROM ' . $seqname);
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE) {
- $repeat = 1;
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $result;
- }
- } else {
- $repeat = 0;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->fbsqlRaiseError();
- }
- $result->fetchInto($tmp, DB_FETCHMODE_ORDERED);
- return $tmp[0];
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_fbsql::nextID(), DB_fbsql::dropSequence()
- */
- function createSequence($seq_name)
- {
- $seqname = $this->getSequenceName($seq_name);
- $res = $this->query('CREATE TABLE ' . $seqname
- . ' (id INTEGER NOT NULL,'
- . ' PRIMARY KEY(id))');
- if ($res) {
- $res = $this->query('SET UNIQUE = 0 FOR ' . $seqname);
- }
- return $res;
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_fbsql::nextID(), DB_fbsql::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name)
- . ' RESTRICT');
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- if (DB::isManip($query) || $this->_next_query_manip) {
- return preg_replace('/^([\s(])*SELECT/i',
- "\\1SELECT TOP($count)", $query);
- } else {
- return preg_replace('/([\s(])*SELECT/i',
- "\\1SELECT TOP($from, $count)", $query);
- }
- }
-
- // }}}
- // {{{ quoteBoolean()
-
- /**
- * Formats a boolean value for use within a query in a locale-independent
- * manner.
- *
- * @param boolean the boolean value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteBoolean($boolean) {
- return $boolean ? 'TRUE' : 'FALSE';
- }
-
- // }}}
- // {{{ quoteFloat()
-
- /**
- * Formats a float value for use within a query in a locale-independent
- * manner.
- *
- * @param float the float value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteFloat($float) {
- return $this->escapeSimple(str_replace(',', '.', strval(floatval($float))));
- }
-
- // }}}
- // {{{ fbsqlRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_fbsql::errorNative(), DB_common::errorCode()
- */
- function fbsqlRaiseError($errno = null)
- {
- if ($errno === null) {
- $errno = $this->errorCode(fbsql_errno($this->connection));
- }
- return $this->raiseError($errno, null, null, null,
- @fbsql_error($this->connection));
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return int the DBMS' error code
- */
- function errorNative()
- {
- return @fbsql_errno($this->connection);
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @fbsql_list_fields($this->dsn['database'],
- $result, $this->connection);
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->fbsqlRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @fbsql_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $res[$i] = array(
- 'table' => $case_func(@fbsql_field_table($id, $i)),
- 'name' => $case_func(@fbsql_field_name($id, $i)),
- 'type' => @fbsql_field_type($id, $i),
- 'len' => @fbsql_field_len($id, $i),
- 'flags' => @fbsql_field_flags($id, $i),
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @fbsql_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SELECT "table_name" FROM information_schema.tables'
- . ' t0, information_schema.schemata t1'
- . ' WHERE t0.schema_pk=t1.schema_pk AND'
- . ' "table_type" = \'BASE TABLE\''
- . ' AND "schema_name" = current_schema';
- case 'views':
- return 'SELECT "table_name" FROM information_schema.tables'
- . ' t0, information_schema.schemata t1'
- . ' WHERE t0.schema_pk=t1.schema_pk AND'
- . ' "table_type" = \'VIEW\''
- . ' AND "schema_name" = current_schema';
- case 'users':
- return 'SELECT "user_name" from information_schema.users';
- case 'functions':
- return 'SELECT "routine_name" FROM'
- . ' information_schema.psm_routines'
- . ' t0, information_schema.schemata t1'
- . ' WHERE t0.schema_pk=t1.schema_pk'
- . ' AND "routine_kind"=\'FUNCTION\''
- . ' AND "schema_name" = current_schema';
- case 'procedures':
- return 'SELECT "routine_name" FROM'
- . ' information_schema.psm_routines'
- . ' t0, information_schema.schemata t1'
- . ' WHERE t0.schema_pk=t1.schema_pk'
- . ' AND "routine_kind"=\'PROCEDURE\''
- . ' AND "schema_name" = current_schema';
- default:
- return null;
- }
- }
-
- // }}}
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/ibase.php b/airtime_mvc/library/pear/DB/ibase.php
deleted file mode 100644
index 783606425..000000000
--- a/airtime_mvc/library/pear/DB/ibase.php
+++ /dev/null
@@ -1,1082 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: ibase.php,v 1.116 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's interbase extension
- * for interacting with Interbase and Firebird databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * While this class works with PHP 4, PHP's InterBase extension is
- * unstable in PHP 4. Use PHP 5.
- *
- * NOTICE: limitQuery() only works for Firebird.
- *
- * @category Database
- * @package DB
- * @author Sterling Hughes
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- * @since Class became stable in Release 1.7.0
- */
-class DB_ibase extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'ibase';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'ibase';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * NOTE: only firebird supports limit.
- *
- * @var array
- */
- var $features = array(
- 'limit' => false,
- 'new_link' => false,
- 'numrows' => 'emulate',
- 'pconnect' => true,
- 'prepare' => true,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- -104 => DB_ERROR_SYNTAX,
- -150 => DB_ERROR_ACCESS_VIOLATION,
- -151 => DB_ERROR_ACCESS_VIOLATION,
- -155 => DB_ERROR_NOSUCHTABLE,
- -157 => DB_ERROR_NOSUCHFIELD,
- -158 => DB_ERROR_VALUE_COUNT_ON_ROW,
- -170 => DB_ERROR_MISMATCH,
- -171 => DB_ERROR_MISMATCH,
- -172 => DB_ERROR_INVALID,
- // -204 => // Covers too many errors, need to use regex on msg
- -205 => DB_ERROR_NOSUCHFIELD,
- -206 => DB_ERROR_NOSUCHFIELD,
- -208 => DB_ERROR_INVALID,
- -219 => DB_ERROR_NOSUCHTABLE,
- -297 => DB_ERROR_CONSTRAINT,
- -303 => DB_ERROR_INVALID,
- -413 => DB_ERROR_INVALID_NUMBER,
- -530 => DB_ERROR_CONSTRAINT,
- -551 => DB_ERROR_ACCESS_VIOLATION,
- -552 => DB_ERROR_ACCESS_VIOLATION,
- // -607 => // Covers too many errors, need to use regex on msg
- -625 => DB_ERROR_CONSTRAINT_NOT_NULL,
- -803 => DB_ERROR_CONSTRAINT,
- -804 => DB_ERROR_VALUE_COUNT_ON_ROW,
- // -902 => // Covers too many errors, need to use regex on msg
- -904 => DB_ERROR_CONNECT_FAILED,
- -922 => DB_ERROR_NOSUCHDB,
- -923 => DB_ERROR_CONNECT_FAILED,
- -924 => DB_ERROR_CONNECT_FAILED
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * The number of rows affected by a data manipulation query
- * @var integer
- * @access private
- */
- var $affected = 0;
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The prepared statement handle from the most recently executed statement
- *
- * {@internal Mainly here because the InterBase/Firebird API is only
- * able to retrieve data from result sets if the statemnt handle is
- * still in scope.}}
- *
- * @var resource
- */
- var $last_stmt;
-
- /**
- * Is the given prepared statement a data manipulation query?
- * @var array
- * @access private
- */
- var $manip_query = array();
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_ibase()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's ibase driver supports the following extra DSN options:
- * + buffers The number of database buffers to allocate for the
- * server-side cache.
- * + charset The default character set for a database.
- * + dialect The default SQL dialect for any statement
- * executed within a connection. Defaults to the
- * highest one supported by client libraries.
- * Functional only with InterBase 6 and up.
- * + role Functional only with InterBase 5 and up.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('interbase')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
- if ($this->dbsyntax == 'firebird') {
- $this->features['limit'] = 'alter';
- }
-
- $params = array(
- $dsn['hostspec']
- ? ($dsn['hostspec'] . ':' . $dsn['database'])
- : $dsn['database'],
- $dsn['username'] ? $dsn['username'] : null,
- $dsn['password'] ? $dsn['password'] : null,
- isset($dsn['charset']) ? $dsn['charset'] : null,
- isset($dsn['buffers']) ? $dsn['buffers'] : null,
- isset($dsn['dialect']) ? $dsn['dialect'] : null,
- isset($dsn['role']) ? $dsn['role'] : null,
- );
-
- $connect_function = $persistent ? 'ibase_pconnect' : 'ibase_connect';
-
- $this->connection = @call_user_func_array($connect_function, $params);
- if (!$this->connection) {
- return $this->ibaseRaiseError(DB_ERROR_CONNECT_FAILED);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @ibase_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- $result = @ibase_query($this->connection, $query);
-
- if (!$result) {
- return $this->ibaseRaiseError();
- }
- if ($this->autocommit && $ismanip) {
- @ibase_commit($this->connection);
- }
- if ($ismanip) {
- $this->affected = $result;
- return DB_OK;
- } else {
- $this->affected = 0;
- return $result;
- }
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * Only works with Firebird.
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- if ($this->dsn['dbsyntax'] == 'firebird') {
- $query = preg_replace('/^([\s(])*SELECT/i',
- "SELECT FIRST $count SKIP $from", $query);
- }
- return $query;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal ibase result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- return $this->ibaseRaiseError(DB_ERROR_NOT_CAPABLE);
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- if (function_exists('ibase_fetch_assoc')) {
- $arr = @ibase_fetch_assoc($result);
- } else {
- $arr = get_object_vars(ibase_fetch_object($result));
- }
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @ibase_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? ibase_free_result($result) : false;
- }
-
- // }}}
- // {{{ freeQuery()
-
- function freeQuery($query)
- {
- return is_resource($query) ? ibase_free_query($query) : false;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if (is_integer($this->affected)) {
- return $this->affected;
- }
- return $this->ibaseRaiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @ibase_num_fields($result);
- if (!$cols) {
- return $this->ibaseRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ prepare()
-
- /**
- * Prepares a query for multiple execution with execute().
- *
- * prepare() requires a generic query as string like
- * INSERT INTO numbers VALUES (?, ?, ?)
- *
. The ? characters are placeholders.
- *
- * Three types of placeholders can be used:
- * + ? a quoted scalar value, i.e. strings, integers
- * + ! value is inserted 'as is'
- * + & requires a file name. The file's contents get
- * inserted into the query (i.e. saving binary
- * data in a db)
- *
- * Use backslashes to escape placeholder characters if you don't want
- * them to be interpreted as placeholders. Example:
- * "UPDATE foo SET col=? WHERE col='over \& under'"
- *
- *
- * @param string $query query to be prepared
- * @return mixed DB statement resource on success. DB_Error on failure.
- */
- function prepare($query)
- {
- $tokens = preg_split('/((? $val) {
- switch ($val) {
- case '?':
- $types[$token++] = DB_PARAM_SCALAR;
- break;
- case '&':
- $types[$token++] = DB_PARAM_OPAQUE;
- break;
- case '!':
- $types[$token++] = DB_PARAM_MISC;
- break;
- default:
- $tokens[$key] = preg_replace('/\\\([&?!])/', "\\1", $val);
- $newquery .= $tokens[$key] . '?';
- }
- }
-
- $newquery = substr($newquery, 0, -1);
- $this->last_query = $query;
- $newquery = $this->modifyQuery($newquery);
- $stmt = @ibase_prepare($this->connection, $newquery);
-
- if ($stmt === false) {
- $stmt = $this->ibaseRaiseError();
- } else {
- $this->prepare_types[(int)$stmt] = $types;
- $this->manip_query[(int)$stmt] = DB::isManip($query);
- }
-
- return $stmt;
- }
-
- // }}}
- // {{{ execute()
-
- /**
- * Executes a DB statement prepared with prepare().
- *
- * @param resource $stmt a DB statement resource returned from prepare()
- * @param mixed $data array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 for non-array items or the
- * quantity of elements in the array.
- * @return object a new DB_Result or a DB_Error when fail
- * @see DB_ibase::prepare()
- * @access public
- */
- function &execute($stmt, $data = array())
- {
- $data = (array)$data;
- $this->last_parameters = $data;
-
- $types = $this->prepare_types[(int)$stmt];
- if (count($types) != count($data)) {
- $tmp = $this->raiseError(DB_ERROR_MISMATCH);
- return $tmp;
- }
-
- $i = 0;
- foreach ($data as $key => $value) {
- if ($types[$i] == DB_PARAM_MISC) {
- /*
- * ibase doesn't seem to have the ability to pass a
- * parameter along unchanged, so strip off quotes from start
- * and end, plus turn two single quotes to one single quote,
- * in order to avoid the quotes getting escaped by
- * ibase and ending up in the database.
- */
- $data[$key] = preg_replace("/^'(.*)'$/", "\\1", $data[$key]);
- $data[$key] = str_replace("''", "'", $data[$key]);
- } elseif ($types[$i] == DB_PARAM_OPAQUE) {
- $fp = @fopen($data[$key], 'rb');
- if (!$fp) {
- $tmp = $this->raiseError(DB_ERROR_ACCESS_VIOLATION);
- return $tmp;
- }
- $data[$key] = fread($fp, filesize($data[$key]));
- fclose($fp);
- }
- $i++;
- }
-
- array_unshift($data, $stmt);
-
- $res = call_user_func_array('ibase_execute', $data);
- if (!$res) {
- $tmp = $this->ibaseRaiseError();
- return $tmp;
- }
- /* XXX need this?
- if ($this->autocommit && $this->manip_query[(int)$stmt]) {
- @ibase_commit($this->connection);
- }*/
- $this->last_stmt = $stmt;
- if ($this->manip_query[(int)$stmt] || $this->_next_query_manip) {
- $this->_last_query_manip = true;
- $this->_next_query_manip = false;
- $tmp = DB_OK;
- } else {
- $this->_last_query_manip = false;
- $tmp = new DB_result($this, $res);
- }
- return $tmp;
- }
-
- /**
- * Frees the internal resources associated with a prepared query
- *
- * @param resource $stmt the prepared statement's PHP resource
- * @param bool $free_resource should the PHP resource be freed too?
- * Use false if you need to get data
- * from the result set later.
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_ibase::prepare()
- */
- function freePrepared($stmt, $free_resource = true)
- {
- if (!is_resource($stmt)) {
- return false;
- }
- if ($free_resource) {
- @ibase_free_query($stmt);
- }
- unset($this->prepare_tokens[(int)$stmt]);
- unset($this->prepare_types[(int)$stmt]);
- unset($this->manip_query[(int)$stmt]);
- return true;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- $this->autocommit = $onoff ? 1 : 0;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- return @ibase_commit($this->connection);
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- return @ibase_rollback($this->connection);
- }
-
- // }}}
- // {{{ transactionInit()
-
- function transactionInit($trans_args = 0)
- {
- return $trans_args
- ? @ibase_trans($trans_args, $this->connection)
- : @ibase_trans();
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_ibase::createSequence(), DB_ibase::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $sqn = strtoupper($this->getSequenceName($seq_name));
- $repeat = 0;
- do {
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("SELECT GEN_ID(${sqn}, 1) "
- . 'FROM RDB$GENERATORS '
- . "WHERE RDB\$GENERATOR_NAME='${sqn}'");
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result)) {
- $repeat = 1;
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $result;
- }
- } else {
- $repeat = 0;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $arr = $result->fetchRow(DB_FETCHMODE_ORDERED);
- $result->free();
- return $arr[0];
- }
-
- // }}}
- // {{{ createSequence()
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_ibase::nextID(), DB_ibase::dropSequence()
- */
- function createSequence($seq_name)
- {
- $sqn = strtoupper($this->getSequenceName($seq_name));
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("CREATE GENERATOR ${sqn}");
- $this->popErrorHandling();
-
- return $result;
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_ibase::nextID(), DB_ibase::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DELETE FROM RDB$GENERATORS '
- . "WHERE RDB\$GENERATOR_NAME='"
- . strtoupper($this->getSequenceName($seq_name))
- . "'");
- }
-
- // }}}
- // {{{ _ibaseFieldFlags()
-
- /**
- * Get the column's flags
- *
- * Supports "primary_key", "unique_key", "not_null", "default",
- * "computed" and "blob".
- *
- * @param string $field_name the name of the field
- * @param string $table_name the name of the table
- *
- * @return string the flags
- *
- * @access private
- */
- function _ibaseFieldFlags($field_name, $table_name)
- {
- $sql = 'SELECT R.RDB$CONSTRAINT_TYPE CTYPE'
- .' FROM RDB$INDEX_SEGMENTS I'
- .' JOIN RDB$RELATION_CONSTRAINTS R ON I.RDB$INDEX_NAME=R.RDB$INDEX_NAME'
- .' WHERE I.RDB$FIELD_NAME=\'' . $field_name . '\''
- .' AND UPPER(R.RDB$RELATION_NAME)=\'' . strtoupper($table_name) . '\'';
-
- $result = @ibase_query($this->connection, $sql);
- if (!$result) {
- return $this->ibaseRaiseError();
- }
-
- $flags = '';
- if ($obj = @ibase_fetch_object($result)) {
- @ibase_free_result($result);
- if (isset($obj->CTYPE) && trim($obj->CTYPE) == 'PRIMARY KEY') {
- $flags .= 'primary_key ';
- }
- if (isset($obj->CTYPE) && trim($obj->CTYPE) == 'UNIQUE') {
- $flags .= 'unique_key ';
- }
- }
-
- $sql = 'SELECT R.RDB$NULL_FLAG AS NFLAG,'
- .' R.RDB$DEFAULT_SOURCE AS DSOURCE,'
- .' F.RDB$FIELD_TYPE AS FTYPE,'
- .' F.RDB$COMPUTED_SOURCE AS CSOURCE'
- .' FROM RDB$RELATION_FIELDS R '
- .' JOIN RDB$FIELDS F ON R.RDB$FIELD_SOURCE=F.RDB$FIELD_NAME'
- .' WHERE UPPER(R.RDB$RELATION_NAME)=\'' . strtoupper($table_name) . '\''
- .' AND R.RDB$FIELD_NAME=\'' . $field_name . '\'';
-
- $result = @ibase_query($this->connection, $sql);
- if (!$result) {
- return $this->ibaseRaiseError();
- }
- if ($obj = @ibase_fetch_object($result)) {
- @ibase_free_result($result);
- if (isset($obj->NFLAG)) {
- $flags .= 'not_null ';
- }
- if (isset($obj->DSOURCE)) {
- $flags .= 'default ';
- }
- if (isset($obj->CSOURCE)) {
- $flags .= 'computed ';
- }
- if (isset($obj->FTYPE) && $obj->FTYPE == 261) {
- $flags .= 'blob ';
- }
- }
-
- return trim($flags);
- }
-
- // }}}
- // {{{ ibaseRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_ibase::errorNative(), DB_ibase::errorCode()
- */
- function &ibaseRaiseError($errno = null)
- {
- if ($errno === null) {
- $errno = $this->errorCode($this->errorNative());
- }
- $tmp = $this->raiseError($errno, null, null, null, @ibase_errmsg());
- return $tmp;
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return int the DBMS' error code. NULL if there is no error code.
- *
- * @since Method available since Release 1.7.0
- */
- function errorNative()
- {
- if (function_exists('ibase_errcode')) {
- return @ibase_errcode();
- }
- if (preg_match('/^Dynamic SQL Error SQL error code = ([0-9-]+)/i',
- @ibase_errmsg(), $m)) {
- return (int)$m[1];
- }
- return null;
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Maps native error codes to DB's portable ones
- *
- * @param int $nativecode the error code returned by the DBMS
- *
- * @return int the portable DB error code. Return DB_ERROR if the
- * current driver doesn't have a mapping for the
- * $nativecode submitted.
- *
- * @since Method available since Release 1.7.0
- */
- function errorCode($nativecode = null)
- {
- if (isset($this->errorcode_map[$nativecode])) {
- return $this->errorcode_map[$nativecode];
- }
-
- static $error_regexps;
- if (!isset($error_regexps)) {
- $error_regexps = array(
- '/generator .* is not defined/'
- => DB_ERROR_SYNTAX, // for compat. w ibase_errcode()
- '/table.*(not exist|not found|unknown)/i'
- => DB_ERROR_NOSUCHTABLE,
- '/table .* already exists/i'
- => DB_ERROR_ALREADY_EXISTS,
- '/unsuccessful metadata update .* failed attempt to store duplicate value/i'
- => DB_ERROR_ALREADY_EXISTS,
- '/unsuccessful metadata update .* not found/i'
- => DB_ERROR_NOT_FOUND,
- '/validation error for column .* value "\*\*\* null/i'
- => DB_ERROR_CONSTRAINT_NOT_NULL,
- '/violation of [\w ]+ constraint/i'
- => DB_ERROR_CONSTRAINT,
- '/conversion error from string/i'
- => DB_ERROR_INVALID_NUMBER,
- '/no permission for/i'
- => DB_ERROR_ACCESS_VIOLATION,
- '/arithmetic exception, numeric overflow, or string truncation/i'
- => DB_ERROR_INVALID,
- '/feature is not supported/i'
- => DB_ERROR_NOT_CAPABLE,
- );
- }
-
- $errormsg = @ibase_errmsg();
- foreach ($error_regexps as $regexp => $code) {
- if (preg_match($regexp, $errormsg)) {
- return $code;
- }
- }
- return DB_ERROR;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * NOTE: only supports 'table' and 'flags' if $result
- * is a table name.
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @ibase_query($this->connection,
- "SELECT * FROM $result WHERE 1=0");
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->ibaseRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @ibase_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $info = @ibase_field_info($id, $i);
- $res[$i] = array(
- 'table' => $got_string ? $case_func($result) : '',
- 'name' => $case_func($info['name']),
- 'type' => $info['type'],
- 'len' => $info['length'],
- 'flags' => ($got_string)
- ? $this->_ibaseFieldFlags($info['name'], $result)
- : '',
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @ibase_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SELECT DISTINCT R.RDB$RELATION_NAME FROM '
- . 'RDB$RELATION_FIELDS R WHERE R.RDB$SYSTEM_FLAG=0';
- case 'views':
- return 'SELECT DISTINCT RDB$VIEW_NAME from RDB$VIEW_RELATIONS';
- case 'users':
- return 'SELECT DISTINCT RDB$USER FROM RDB$USER_PRIVILEGES';
- default:
- return null;
- }
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/ifx.php b/airtime_mvc/library/pear/DB/ifx.php
deleted file mode 100644
index 98ebecb2d..000000000
--- a/airtime_mvc/library/pear/DB/ifx.php
+++ /dev/null
@@ -1,683 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: ifx.php,v 1.75 2007/07/06 05:19:21 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's ifx extension
- * for interacting with Informix databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * More info on Informix errors can be found at:
- * http://www.informix.com/answers/english/ierrors.htm
- *
- * TODO:
- * - set needed env Informix vars on connect
- * - implement native prepare/execute
- *
- * @category Database
- * @package DB
- * @author Tomas V.V.Cox
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_ifx extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'ifx';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'ifx';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'emulate',
- 'new_link' => false,
- 'numrows' => 'emulate',
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- '-201' => DB_ERROR_SYNTAX,
- '-206' => DB_ERROR_NOSUCHTABLE,
- '-217' => DB_ERROR_NOSUCHFIELD,
- '-236' => DB_ERROR_VALUE_COUNT_ON_ROW,
- '-239' => DB_ERROR_CONSTRAINT,
- '-253' => DB_ERROR_SYNTAX,
- '-268' => DB_ERROR_CONSTRAINT,
- '-292' => DB_ERROR_CONSTRAINT_NOT_NULL,
- '-310' => DB_ERROR_ALREADY_EXISTS,
- '-316' => DB_ERROR_ALREADY_EXISTS,
- '-319' => DB_ERROR_NOT_FOUND,
- '-329' => DB_ERROR_NODBSELECTED,
- '-346' => DB_ERROR_CONSTRAINT,
- '-386' => DB_ERROR_CONSTRAINT_NOT_NULL,
- '-391' => DB_ERROR_CONSTRAINT_NOT_NULL,
- '-554' => DB_ERROR_SYNTAX,
- '-691' => DB_ERROR_CONSTRAINT,
- '-692' => DB_ERROR_CONSTRAINT,
- '-703' => DB_ERROR_CONSTRAINT_NOT_NULL,
- '-1202' => DB_ERROR_DIVZERO,
- '-1204' => DB_ERROR_INVALID_DATE,
- '-1205' => DB_ERROR_INVALID_DATE,
- '-1206' => DB_ERROR_INVALID_DATE,
- '-1209' => DB_ERROR_INVALID_DATE,
- '-1210' => DB_ERROR_INVALID_DATE,
- '-1212' => DB_ERROR_INVALID_DATE,
- '-1213' => DB_ERROR_INVALID_NUMBER,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The quantity of transactions begun
- *
- * {@internal While this is private, it can't actually be designated
- * private in PHP 5 because it is directly accessed in the test suite.}}
- *
- * @var integer
- * @access private
- */
- var $transaction_opcount = 0;
-
- /**
- * The number of rows affected by a data manipulation query
- * @var integer
- * @access private
- */
- var $affected = 0;
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_ifx()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('informix') &&
- !PEAR::loadExtension('Informix'))
- {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $dbhost = $dsn['hostspec'] ? '@' . $dsn['hostspec'] : '';
- $dbname = $dsn['database'] ? $dsn['database'] . $dbhost : '';
- $user = $dsn['username'] ? $dsn['username'] : '';
- $pw = $dsn['password'] ? $dsn['password'] : '';
-
- $connect_function = $persistent ? 'ifx_pconnect' : 'ifx_connect';
-
- $this->connection = @$connect_function($dbname, $user, $pw);
- if (!is_resource($this->connection)) {
- return $this->ifxRaiseError(DB_ERROR_CONNECT_FAILED);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @ifx_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- $this->affected = null;
- if (preg_match('/(SELECT|EXECUTE)/i', $query)) { //TESTME: Use !DB::isManip()?
- // the scroll is needed for fetching absolute row numbers
- // in a select query result
- $result = @ifx_query($query, $this->connection, IFX_SCROLL);
- } else {
- if (!$this->autocommit && $ismanip) {
- if ($this->transaction_opcount == 0) {
- $result = @ifx_query('BEGIN WORK', $this->connection);
- if (!$result) {
- return $this->ifxRaiseError();
- }
- }
- $this->transaction_opcount++;
- }
- $result = @ifx_query($query, $this->connection);
- }
- if (!$result) {
- return $this->ifxRaiseError();
- }
- $this->affected = @ifx_affected_rows($result);
- // Determine which queries should return data, and which
- // should return an error code only.
- if (preg_match('/(SELECT|EXECUTE)/i', $query)) {
- return $result;
- }
- // XXX Testme: free results inside a transaction
- // may cause to stop it and commit the work?
-
- // Result has to be freed even with a insert or update
- @ifx_free_result($result);
-
- return DB_OK;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal ifx result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->_last_query_manip) {
- return $this->affected;
- } else {
- return 0;
- }
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if (($rownum !== null) && ($rownum < 0)) {
- return null;
- }
- if ($rownum === null) {
- /*
- * Even though fetch_row() should return the next row if
- * $rownum is null, it doesn't in all cases. Bug 598.
- */
- $rownum = 'NEXT';
- } else {
- // Index starts at row 1, unlike most DBMS's starting at 0.
- $rownum++;
- }
- if (!$arr = @ifx_fetch_row($result, $rownum)) {
- return null;
- }
- if ($fetchmode !== DB_FETCHMODE_ASSOC) {
- $i=0;
- $order = array();
- foreach ($arr as $val) {
- $order[$i++] = $val;
- }
- $arr = $order;
- } elseif ($fetchmode == DB_FETCHMODE_ASSOC &&
- $this->options['portability'] & DB_PORTABILITY_LOWERCASE)
- {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- if (!$cols = @ifx_num_fields($result)) {
- return $this->ifxRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? ifx_free_result($result) : false;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = true)
- {
- // XXX if $this->transaction_opcount > 0, we should probably
- // issue a warning here.
- $this->autocommit = $onoff ? true : false;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if ($this->transaction_opcount > 0) {
- $result = @ifx_query('COMMIT WORK', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->ifxRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if ($this->transaction_opcount > 0) {
- $result = @ifx_query('ROLLBACK WORK', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->ifxRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ ifxRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_ifx::errorNative(), DB_ifx::errorCode()
- */
- function ifxRaiseError($errno = null)
- {
- if ($errno === null) {
- $errno = $this->errorCode(ifx_error());
- }
- return $this->raiseError($errno, null, null, null,
- $this->errorNative());
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code and message produced by the last query
- *
- * @return string the DBMS' error code and message
- */
- function errorNative()
- {
- return @ifx_error() . ' ' . @ifx_errormsg();
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Maps native error codes to DB's portable ones.
- *
- * Requires that the DB implementation's constructor fills
- * in the $errorcode_map property.
- *
- * @param string $nativecode error code returned by the database
- * @return int a portable DB error code, or DB_ERROR if this DB
- * implementation has no mapping for the given error code.
- */
- function errorCode($nativecode)
- {
- if (ereg('SQLCODE=(.*)]', $nativecode, $match)) {
- $code = $match[1];
- if (isset($this->errorcode_map[$code])) {
- return $this->errorcode_map[$code];
- }
- }
- return DB_ERROR;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * NOTE: only supports 'table' if $result is a table name.
- *
- * If analyzing a query result and the result has duplicate field names,
- * an error will be raised saying
- * can't distinguish duplicate field names .
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- * @since Method available since Release 1.6.0
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @ifx_query("SELECT * FROM $result WHERE 1=0",
- $this->connection);
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->ifxRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- $flds = @ifx_fieldproperties($id);
- $count = @ifx_num_fields($id);
-
- if (count($flds) != $count) {
- return $this->raiseError("can't distinguish duplicate field names");
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $i = 0;
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- foreach ($flds as $key => $value) {
- $props = explode(';', $value);
- $res[$i] = array(
- 'table' => $got_string ? $case_func($result) : '',
- 'name' => $case_func($key),
- 'type' => $props[0],
- 'len' => $props[1],
- 'flags' => $props[4] == 'N' ? 'not_null' : '',
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- $i++;
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @ifx_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SELECT tabname FROM systables WHERE tabid >= 100';
- default:
- return null;
- }
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/msql.php b/airtime_mvc/library/pear/DB/msql.php
deleted file mode 100644
index f9c107d34..000000000
--- a/airtime_mvc/library/pear/DB/msql.php
+++ /dev/null
@@ -1,831 +0,0 @@
-
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: msql.php,v 1.64 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's msql extension
- * for interacting with Mini SQL databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * PHP's mSQL extension did weird things with NULL values prior to PHP
- * 4.3.11 and 5.0.4. Make sure your version of PHP meets or exceeds
- * those versions.
- *
- * @category Database
- * @package DB
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- * @since Class not functional until Release 1.7.0
- */
-class DB_msql extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'msql';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'msql';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'emulate',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => false,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * The query result resource created by PHP
- *
- * Used to make affectedRows() work. Only contains the result for
- * data manipulation queries. Contains false for other queries.
- *
- * @var resource
- * @access private
- */
- var $_result;
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_msql()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * Example of how to connect:
- *
- * require_once 'DB.php';
- *
- * // $dsn = 'msql://hostname/dbname'; // use a TCP connection
- * $dsn = 'msql:///dbname'; // use a socket
- * $options = array(
- * 'portability' => DB_PORTABILITY_ALL,
- * );
- *
- * $db = DB::connect($dsn, $options);
- * if (PEAR::isError($db)) {
- * die($db->getMessage());
- * }
- *
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('msql')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $params = array();
- if ($dsn['hostspec']) {
- $params[] = $dsn['port']
- ? $dsn['hostspec'] . ',' . $dsn['port']
- : $dsn['hostspec'];
- }
-
- $connect_function = $persistent ? 'msql_pconnect' : 'msql_connect';
-
- $ini = ini_get('track_errors');
- $php_errormsg = '';
- if ($ini) {
- $this->connection = @call_user_func_array($connect_function,
- $params);
- } else {
- @ini_set('track_errors', 1);
- $this->connection = @call_user_func_array($connect_function,
- $params);
- @ini_set('track_errors', $ini);
- }
-
- if (!$this->connection) {
- if (($err = @msql_error()) != '') {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $err);
- } else {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
- }
-
- if (!@msql_select_db($dsn['database'], $this->connection)) {
- return $this->msqlRaiseError();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @msql_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- $result = @msql_query($query, $this->connection);
- if (!$result) {
- return $this->msqlRaiseError();
- }
- // Determine which queries that should return data, and which
- // should return an error code only.
- if ($this->_checkManip($query)) {
- $this->_result = $result;
- return DB_OK;
- } else {
- $this->_result = false;
- return $result;
- }
- }
-
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal msql result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * PHP's mSQL extension did weird things with NULL values prior to PHP
- * 4.3.11 and 5.0.4. Make sure your version of PHP meets or exceeds
- * those versions.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@msql_data_seek($result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @msql_fetch_array($result, MSQL_ASSOC);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @msql_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? msql_free_result($result) : false;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @msql_num_fields($result);
- if (!$cols) {
- return $this->msqlRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @msql_num_rows($result);
- if ($rows === false) {
- return $this->msqlRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ affected()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if (!$this->_result) {
- return 0;
- }
- return msql_affected_rows($this->_result);
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_msql::createSequence(), DB_msql::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- $repeat = false;
- do {
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("SELECT _seq FROM ${seqname}");
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE) {
- $repeat = true;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->createSequence($seq_name);
- $this->popErrorHandling();
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- } else {
- $repeat = false;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $arr = $result->fetchRow(DB_FETCHMODE_ORDERED);
- $result->free();
- return $arr[0];
- }
-
- // }}}
- // {{{ createSequence()
-
- /**
- * Creates a new sequence
- *
- * Also creates a new table to associate the sequence with. Uses
- * a separate table to ensure portability with other drivers.
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_msql::nextID(), DB_msql::dropSequence()
- */
- function createSequence($seq_name)
- {
- $seqname = $this->getSequenceName($seq_name);
- $res = $this->query('CREATE TABLE ' . $seqname
- . ' (id INTEGER NOT NULL)');
- if (DB::isError($res)) {
- return $res;
- }
- $res = $this->query("CREATE SEQUENCE ON ${seqname}");
- return $res;
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_msql::nextID(), DB_msql::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ quoteIdentifier()
-
- /**
- * mSQL does not support delimited identifiers
- *
- * @param string $str the identifier name to be quoted
- *
- * @return object a DB_Error object
- *
- * @see DB_common::quoteIdentifier()
- * @since Method available since Release 1.7.0
- */
- function quoteIdentifier($str)
- {
- return $this->raiseError(DB_ERROR_UNSUPPORTED);
- }
-
- // }}}
- // {{{ quoteFloat()
-
- /**
- * Formats a float value for use within a query in a locale-independent
- * manner.
- *
- * @param float the float value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteFloat($float) {
- return $this->escapeSimple(str_replace(',', '.', strval(floatval($float))));
- }
-
- // }}}
- // {{{ escapeSimple()
-
- /**
- * Escapes a string according to the current DBMS's standards
- *
- * @param string $str the string to be escaped
- *
- * @return string the escaped string
- *
- * @see DB_common::quoteSmart()
- * @since Method available since Release 1.7.0
- */
- function escapeSimple($str)
- {
- return addslashes($str);
- }
-
- // }}}
- // {{{ msqlRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_msql::errorNative(), DB_msql::errorCode()
- */
- function msqlRaiseError($errno = null)
- {
- $native = $this->errorNative();
- if ($errno === null) {
- $errno = $this->errorCode($native);
- }
- return $this->raiseError($errno, null, null, null, $native);
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error message produced by the last query
- *
- * @return string the DBMS' error message
- */
- function errorNative()
- {
- return @msql_error();
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Determines PEAR::DB error code from the database's text error message
- *
- * @param string $errormsg the error message returned from the database
- *
- * @return integer the error number from a DB_ERROR* constant
- */
- function errorCode($errormsg)
- {
- static $error_regexps;
-
- // PHP 5.2+ prepends the function name to $php_errormsg, so we need
- // this hack to work around it, per bug #9599.
- $errormsg = preg_replace('/^msql[a-z_]+\(\): /', '', $errormsg);
-
- if (!isset($error_regexps)) {
- $error_regexps = array(
- '/^Access to database denied/i'
- => DB_ERROR_ACCESS_VIOLATION,
- '/^Bad index name/i'
- => DB_ERROR_ALREADY_EXISTS,
- '/^Bad order field/i'
- => DB_ERROR_SYNTAX,
- '/^Bad type for comparison/i'
- => DB_ERROR_SYNTAX,
- '/^Can\'t perform LIKE on/i'
- => DB_ERROR_SYNTAX,
- '/^Can\'t use TEXT fields in LIKE comparison/i'
- => DB_ERROR_SYNTAX,
- '/^Couldn\'t create temporary table/i'
- => DB_ERROR_CANNOT_CREATE,
- '/^Error creating table file/i'
- => DB_ERROR_CANNOT_CREATE,
- '/^Field .* cannot be null$/i'
- => DB_ERROR_CONSTRAINT_NOT_NULL,
- '/^Index (field|condition) .* cannot be null$/i'
- => DB_ERROR_SYNTAX,
- '/^Invalid date format/i'
- => DB_ERROR_INVALID_DATE,
- '/^Invalid time format/i'
- => DB_ERROR_INVALID,
- '/^Literal value for .* is wrong type$/i'
- => DB_ERROR_INVALID_NUMBER,
- '/^No Database Selected/i'
- => DB_ERROR_NODBSELECTED,
- '/^No value specified for field/i'
- => DB_ERROR_VALUE_COUNT_ON_ROW,
- '/^Non unique value for unique index/i'
- => DB_ERROR_CONSTRAINT,
- '/^Out of memory for temporary table/i'
- => DB_ERROR_CANNOT_CREATE,
- '/^Permission denied/i'
- => DB_ERROR_ACCESS_VIOLATION,
- '/^Reference to un-selected table/i'
- => DB_ERROR_SYNTAX,
- '/^syntax error/i'
- => DB_ERROR_SYNTAX,
- '/^Table .* exists$/i'
- => DB_ERROR_ALREADY_EXISTS,
- '/^Unknown database/i'
- => DB_ERROR_NOSUCHDB,
- '/^Unknown field/i'
- => DB_ERROR_NOSUCHFIELD,
- '/^Unknown (index|system variable)/i'
- => DB_ERROR_NOT_FOUND,
- '/^Unknown table/i'
- => DB_ERROR_NOSUCHTABLE,
- '/^Unqualified field/i'
- => DB_ERROR_SYNTAX,
- );
- }
-
- foreach ($error_regexps as $regexp => $code) {
- if (preg_match($regexp, $errormsg)) {
- return $code;
- }
- }
- return DB_ERROR;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::setOption()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @msql_query("SELECT * FROM $result",
- $this->connection);
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->raiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @msql_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $tmp = @msql_fetch_field($id);
-
- $flags = '';
- if ($tmp->not_null) {
- $flags .= 'not_null ';
- }
- if ($tmp->unique) {
- $flags .= 'unique_key ';
- }
- $flags = trim($flags);
-
- $res[$i] = array(
- 'table' => $case_func($tmp->table),
- 'name' => $case_func($tmp->name),
- 'type' => $tmp->type,
- 'len' => msql_field_len($id, $i),
- 'flags' => $flags,
- );
-
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @msql_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtain a list of a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return array the array containing the list of objects requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'databases':
- $id = @msql_list_dbs($this->connection);
- break;
- case 'tables':
- $id = @msql_list_tables($this->dsn['database'],
- $this->connection);
- break;
- default:
- return null;
- }
- if (!$id) {
- return $this->msqlRaiseError();
- }
- $out = array();
- while ($row = @msql_fetch_row($id)) {
- $out[] = $row[0];
- }
- return $out;
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/mssql.php b/airtime_mvc/library/pear/DB/mssql.php
deleted file mode 100644
index 57e19b0fd..000000000
--- a/airtime_mvc/library/pear/DB/mssql.php
+++ /dev/null
@@ -1,963 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: mssql.php,v 1.92 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's mssql extension
- * for interacting with Microsoft SQL Server databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * DB's mssql driver is only for Microsfoft SQL Server databases.
- *
- * If you're connecting to a Sybase database, you MUST specify "sybase"
- * as the "phptype" in the DSN.
- *
- * This class only works correctly if you have compiled PHP using
- * --with-mssql=[dir_to_FreeTDS].
- *
- * @category Database
- * @package DB
- * @author Sterling Hughes
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_mssql extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'mssql';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'mssql';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'emulate',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- // XXX Add here error codes ie: 'S100E' => DB_ERROR_SYNTAX
- var $errorcode_map = array(
- 102 => DB_ERROR_SYNTAX,
- 110 => DB_ERROR_VALUE_COUNT_ON_ROW,
- 155 => DB_ERROR_NOSUCHFIELD,
- 156 => DB_ERROR_SYNTAX,
- 170 => DB_ERROR_SYNTAX,
- 207 => DB_ERROR_NOSUCHFIELD,
- 208 => DB_ERROR_NOSUCHTABLE,
- 245 => DB_ERROR_INVALID_NUMBER,
- 319 => DB_ERROR_SYNTAX,
- 321 => DB_ERROR_NOSUCHFIELD,
- 325 => DB_ERROR_SYNTAX,
- 336 => DB_ERROR_SYNTAX,
- 515 => DB_ERROR_CONSTRAINT_NOT_NULL,
- 547 => DB_ERROR_CONSTRAINT,
- 1018 => DB_ERROR_SYNTAX,
- 1035 => DB_ERROR_SYNTAX,
- 1913 => DB_ERROR_ALREADY_EXISTS,
- 2209 => DB_ERROR_SYNTAX,
- 2223 => DB_ERROR_SYNTAX,
- 2248 => DB_ERROR_SYNTAX,
- 2256 => DB_ERROR_SYNTAX,
- 2257 => DB_ERROR_SYNTAX,
- 2627 => DB_ERROR_CONSTRAINT,
- 2714 => DB_ERROR_ALREADY_EXISTS,
- 3607 => DB_ERROR_DIVZERO,
- 3701 => DB_ERROR_NOSUCHTABLE,
- 7630 => DB_ERROR_SYNTAX,
- 8134 => DB_ERROR_DIVZERO,
- 9303 => DB_ERROR_SYNTAX,
- 9317 => DB_ERROR_SYNTAX,
- 9318 => DB_ERROR_SYNTAX,
- 9331 => DB_ERROR_SYNTAX,
- 9332 => DB_ERROR_SYNTAX,
- 15253 => DB_ERROR_SYNTAX,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The quantity of transactions begun
- *
- * {@internal While this is private, it can't actually be designated
- * private in PHP 5 because it is directly accessed in the test suite.}}
- *
- * @var integer
- * @access private
- */
- var $transaction_opcount = 0;
-
- /**
- * The database specified in the DSN
- *
- * It's a fix to allow calls to different databases in the same script.
- *
- * @var string
- * @access private
- */
- var $_db = null;
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_mssql()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('mssql') && !PEAR::loadExtension('sybase')
- && !PEAR::loadExtension('sybase_ct'))
- {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $params = array(
- $dsn['hostspec'] ? $dsn['hostspec'] : 'localhost',
- $dsn['username'] ? $dsn['username'] : null,
- $dsn['password'] ? $dsn['password'] : null,
- );
- if ($dsn['port']) {
- $params[0] .= ((substr(PHP_OS, 0, 3) == 'WIN') ? ',' : ':')
- . $dsn['port'];
- }
-
- $connect_function = $persistent ? 'mssql_pconnect' : 'mssql_connect';
-
- $this->connection = @call_user_func_array($connect_function, $params);
-
- if (!$this->connection) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- @mssql_get_last_message());
- }
- if ($dsn['database']) {
- if (!@mssql_select_db($dsn['database'], $this->connection)) {
- return $this->raiseError(DB_ERROR_NODBSELECTED,
- null, null, null,
- @mssql_get_last_message());
- }
- $this->_db = $dsn['database'];
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @mssql_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- if (!@mssql_select_db($this->_db, $this->connection)) {
- return $this->mssqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- $query = $this->modifyQuery($query);
- if (!$this->autocommit && $ismanip) {
- if ($this->transaction_opcount == 0) {
- $result = @mssql_query('BEGIN TRAN', $this->connection);
- if (!$result) {
- return $this->mssqlRaiseError();
- }
- }
- $this->transaction_opcount++;
- }
- $result = @mssql_query($query, $this->connection);
- if (!$result) {
- return $this->mssqlRaiseError();
- }
- // Determine which queries that should return data, and which
- // should return an error code only.
- return $ismanip ? DB_OK : $result;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal mssql result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return @mssql_next_result($result);
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@mssql_data_seek($result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @mssql_fetch_assoc($result);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @mssql_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? mssql_free_result($result) : false;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @mssql_num_fields($result);
- if (!$cols) {
- return $this->mssqlRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @mssql_num_rows($result);
- if ($rows === false) {
- return $this->mssqlRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- // XXX if $this->transaction_opcount > 0, we should probably
- // issue a warning here.
- $this->autocommit = $onoff ? true : false;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if ($this->transaction_opcount > 0) {
- if (!@mssql_select_db($this->_db, $this->connection)) {
- return $this->mssqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- $result = @mssql_query('COMMIT TRAN', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->mssqlRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if ($this->transaction_opcount > 0) {
- if (!@mssql_select_db($this->_db, $this->connection)) {
- return $this->mssqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- $result = @mssql_query('ROLLBACK TRAN', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->mssqlRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->_last_query_manip) {
- $res = @mssql_query('select @@rowcount', $this->connection);
- if (!$res) {
- return $this->mssqlRaiseError();
- }
- $ar = @mssql_fetch_row($res);
- if (!$ar) {
- $result = 0;
- } else {
- @mssql_free_result($res);
- $result = $ar[0];
- }
- } else {
- $result = 0;
- }
- return $result;
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_mssql::createSequence(), DB_mssql::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- if (!@mssql_select_db($this->_db, $this->connection)) {
- return $this->mssqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- $repeat = 0;
- do {
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("INSERT INTO $seqname (vapor) VALUES (0)");
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result) &&
- ($result->getCode() == DB_ERROR || $result->getCode() == DB_ERROR_NOSUCHTABLE))
- {
- $repeat = 1;
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- } elseif (!DB::isError($result)) {
- $result = $this->query("SELECT IDENT_CURRENT('$seqname')");
- if (DB::isError($result)) {
- /* Fallback code for MS SQL Server 7.0, which doesn't have
- * IDENT_CURRENT. This is *not* safe for concurrent
- * requests, and really, if you're using it, you're in a
- * world of hurt. Nevertheless, it's here to ensure BC. See
- * bug #181 for the gory details.*/
- $result = $this->query("SELECT @@IDENTITY FROM $seqname");
- }
- $repeat = 0;
- } else {
- $repeat = false;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $result = $result->fetchRow(DB_FETCHMODE_ORDERED);
- return $result[0];
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_mssql::nextID(), DB_mssql::dropSequence()
- */
- function createSequence($seq_name)
- {
- return $this->query('CREATE TABLE '
- . $this->getSequenceName($seq_name)
- . ' ([id] [int] IDENTITY (1, 1) NOT NULL,'
- . ' [vapor] [int] NULL)');
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_mssql::nextID(), DB_mssql::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ quoteIdentifier()
-
- /**
- * Quotes a string so it can be safely used as a table or column name
- *
- * @param string $str identifier name to be quoted
- *
- * @return string quoted identifier string
- *
- * @see DB_common::quoteIdentifier()
- * @since Method available since Release 1.6.0
- */
- function quoteIdentifier($str)
- {
- return '[' . str_replace(']', ']]', $str) . ']';
- }
-
- // }}}
- // {{{ mssqlRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_mssql::errorNative(), DB_mssql::errorCode()
- */
- function mssqlRaiseError($code = null)
- {
- $message = @mssql_get_last_message();
- if (!$code) {
- $code = $this->errorNative();
- }
- return $this->raiseError($this->errorCode($code, $message),
- null, null, null, "$code - $message");
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return int the DBMS' error code
- */
- function errorNative()
- {
- $res = @mssql_query('select @@ERROR as ErrorCode', $this->connection);
- if (!$res) {
- return DB_ERROR;
- }
- $row = @mssql_fetch_row($res);
- return $row[0];
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Determines PEAR::DB error code from mssql's native codes.
- *
- * If $nativecode isn't known yet, it will be looked up.
- *
- * @param mixed $nativecode mssql error code, if known
- * @return integer an error number from a DB error constant
- * @see errorNative()
- */
- function errorCode($nativecode = null, $msg = '')
- {
- if (!$nativecode) {
- $nativecode = $this->errorNative();
- }
- if (isset($this->errorcode_map[$nativecode])) {
- if ($nativecode == 3701
- && preg_match('/Cannot drop the index/i', $msg))
- {
- return DB_ERROR_NOT_FOUND;
- }
- return $this->errorcode_map[$nativecode];
- } else {
- return DB_ERROR;
- }
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * NOTE: only supports 'table' and 'flags' if $result
- * is a table name.
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- if (!@mssql_select_db($this->_db, $this->connection)) {
- return $this->mssqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- $id = @mssql_query("SELECT * FROM $result WHERE 1=0",
- $this->connection);
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->mssqlRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @mssql_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- if ($got_string) {
- $flags = $this->_mssql_field_flags($result,
- @mssql_field_name($id, $i));
- if (DB::isError($flags)) {
- return $flags;
- }
- } else {
- $flags = '';
- }
-
- $res[$i] = array(
- 'table' => $got_string ? $case_func($result) : '',
- 'name' => $case_func(@mssql_field_name($id, $i)),
- 'type' => @mssql_field_type($id, $i),
- 'len' => @mssql_field_length($id, $i),
- 'flags' => $flags,
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @mssql_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ _mssql_field_flags()
-
- /**
- * Get a column's flags
- *
- * Supports "not_null", "primary_key",
- * "auto_increment" (mssql identity), "timestamp" (mssql timestamp),
- * "unique_key" (mssql unique index, unique check or primary_key) and
- * "multiple_key" (multikey index)
- *
- * mssql timestamp is NOT similar to the mysql timestamp so this is maybe
- * not useful at all - is the behaviour of mysql_field_flags that primary
- * keys are alway unique? is the interpretation of multiple_key correct?
- *
- * @param string $table the table name
- * @param string $column the field name
- *
- * @return string the flags
- *
- * @access private
- * @author Joern Barthel
- */
- function _mssql_field_flags($table, $column)
- {
- static $tableName = null;
- static $flags = array();
-
- if ($table != $tableName) {
-
- $flags = array();
- $tableName = $table;
-
- // get unique and primary keys
- $res = $this->getAll("EXEC SP_HELPINDEX $table", DB_FETCHMODE_ASSOC);
- if (DB::isError($res)) {
- return $res;
- }
-
- foreach ($res as $val) {
- $keys = explode(', ', $val['index_keys']);
-
- if (sizeof($keys) > 1) {
- foreach ($keys as $key) {
- $this->_add_flag($flags[$key], 'multiple_key');
- }
- }
-
- if (strpos($val['index_description'], 'primary key')) {
- foreach ($keys as $key) {
- $this->_add_flag($flags[$key], 'primary_key');
- }
- } elseif (strpos($val['index_description'], 'unique')) {
- foreach ($keys as $key) {
- $this->_add_flag($flags[$key], 'unique_key');
- }
- }
- }
-
- // get auto_increment, not_null and timestamp
- $res = $this->getAll("EXEC SP_COLUMNS $table", DB_FETCHMODE_ASSOC);
- if (DB::isError($res)) {
- return $res;
- }
-
- foreach ($res as $val) {
- $val = array_change_key_case($val, CASE_LOWER);
- if ($val['nullable'] == '0') {
- $this->_add_flag($flags[$val['column_name']], 'not_null');
- }
- if (strpos($val['type_name'], 'identity')) {
- $this->_add_flag($flags[$val['column_name']], 'auto_increment');
- }
- if (strpos($val['type_name'], 'timestamp')) {
- $this->_add_flag($flags[$val['column_name']], 'timestamp');
- }
- }
- }
-
- if (array_key_exists($column, $flags)) {
- return(implode(' ', $flags[$column]));
- }
- return '';
- }
-
- // }}}
- // {{{ _add_flag()
-
- /**
- * Adds a string to the flags array if the flag is not yet in there
- * - if there is no flag present the array is created
- *
- * @param array &$array the reference to the flag-array
- * @param string $value the flag value
- *
- * @return void
- *
- * @access private
- * @author Joern Barthel
- */
- function _add_flag(&$array, $value)
- {
- if (!is_array($array)) {
- $array = array($value);
- } elseif (!in_array($value, $array)) {
- array_push($array, $value);
- }
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return "SELECT name FROM sysobjects WHERE type = 'U'"
- . ' ORDER BY name';
- case 'views':
- return "SELECT name FROM sysobjects WHERE type = 'V'";
- default:
- return null;
- }
- }
-
- // }}}
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/mysql.php b/airtime_mvc/library/pear/DB/mysql.php
deleted file mode 100644
index e9b5e70c9..000000000
--- a/airtime_mvc/library/pear/DB/mysql.php
+++ /dev/null
@@ -1,1045 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: mysql.php,v 1.126 2007/09/21 13:32:52 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's mysql extension
- * for interacting with MySQL databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_mysql extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'mysql';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'mysql';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'alter',
- 'new_link' => '4.2.0',
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- 1004 => DB_ERROR_CANNOT_CREATE,
- 1005 => DB_ERROR_CANNOT_CREATE,
- 1006 => DB_ERROR_CANNOT_CREATE,
- 1007 => DB_ERROR_ALREADY_EXISTS,
- 1008 => DB_ERROR_CANNOT_DROP,
- 1022 => DB_ERROR_ALREADY_EXISTS,
- 1044 => DB_ERROR_ACCESS_VIOLATION,
- 1046 => DB_ERROR_NODBSELECTED,
- 1048 => DB_ERROR_CONSTRAINT,
- 1049 => DB_ERROR_NOSUCHDB,
- 1050 => DB_ERROR_ALREADY_EXISTS,
- 1051 => DB_ERROR_NOSUCHTABLE,
- 1054 => DB_ERROR_NOSUCHFIELD,
- 1061 => DB_ERROR_ALREADY_EXISTS,
- 1062 => DB_ERROR_ALREADY_EXISTS,
- 1064 => DB_ERROR_SYNTAX,
- 1091 => DB_ERROR_NOT_FOUND,
- 1100 => DB_ERROR_NOT_LOCKED,
- 1136 => DB_ERROR_VALUE_COUNT_ON_ROW,
- 1142 => DB_ERROR_ACCESS_VIOLATION,
- 1146 => DB_ERROR_NOSUCHTABLE,
- 1216 => DB_ERROR_CONSTRAINT,
- 1217 => DB_ERROR_CONSTRAINT,
- 1356 => DB_ERROR_DIVZERO,
- 1451 => DB_ERROR_CONSTRAINT,
- 1452 => DB_ERROR_CONSTRAINT,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The quantity of transactions begun
- *
- * {@internal While this is private, it can't actually be designated
- * private in PHP 5 because it is directly accessed in the test suite.}}
- *
- * @var integer
- * @access private
- */
- var $transaction_opcount = 0;
-
- /**
- * The database specified in the DSN
- *
- * It's a fix to allow calls to different databases in the same script.
- *
- * @var string
- * @access private
- */
- var $_db = '';
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_mysql()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's mysql driver supports the following extra DSN options:
- * + new_link If set to true, causes subsequent calls to connect()
- * to return a new connection link instead of the
- * existing one. WARNING: this is not portable to
- * other DBMS's. Available since PEAR DB 1.7.0.
- * + client_flags Any combination of MYSQL_CLIENT_* constants.
- * Only used if PHP is at version 4.3.0 or greater.
- * Available since PEAR DB 1.7.0.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('mysql')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $params = array();
- if ($dsn['protocol'] && $dsn['protocol'] == 'unix') {
- $params[0] = ':' . $dsn['socket'];
- } else {
- $params[0] = $dsn['hostspec'] ? $dsn['hostspec']
- : 'localhost';
- if ($dsn['port']) {
- $params[0] .= ':' . $dsn['port'];
- }
- }
- $params[] = $dsn['username'] ? $dsn['username'] : null;
- $params[] = $dsn['password'] ? $dsn['password'] : null;
-
- if (!$persistent) {
- if (isset($dsn['new_link'])
- && ($dsn['new_link'] == 'true' || $dsn['new_link'] === true))
- {
- $params[] = true;
- } else {
- $params[] = false;
- }
- }
- if (version_compare(phpversion(), '4.3.0', '>=')) {
- $params[] = isset($dsn['client_flags'])
- ? $dsn['client_flags'] : null;
- }
-
- $connect_function = $persistent ? 'mysql_pconnect' : 'mysql_connect';
-
- $ini = ini_get('track_errors');
- $php_errormsg = '';
- if ($ini) {
- $this->connection = @call_user_func_array($connect_function,
- $params);
- } else {
- @ini_set('track_errors', 1);
- $this->connection = @call_user_func_array($connect_function,
- $params);
- @ini_set('track_errors', $ini);
- }
-
- if (!$this->connection) {
- if (($err = @mysql_error()) != '') {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $err);
- } else {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
- }
-
- if ($dsn['database']) {
- if (!@mysql_select_db($dsn['database'], $this->connection)) {
- return $this->mysqlRaiseError();
- }
- $this->_db = $dsn['database'];
- }
-
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @mysql_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * Generally uses mysql_query(). If you want to use
- * mysql_unbuffered_query() set the "result_buffering" option to 0 using
- * setOptions(). This option was added in Release 1.7.0.
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- if ($this->_db) {
- if (!@mysql_select_db($this->_db, $this->connection)) {
- return $this->mysqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
- if (!$this->autocommit && $ismanip) {
- if ($this->transaction_opcount == 0) {
- $result = @mysql_query('SET AUTOCOMMIT=0', $this->connection);
- $result = @mysql_query('BEGIN', $this->connection);
- if (!$result) {
- return $this->mysqlRaiseError();
- }
- }
- $this->transaction_opcount++;
- }
- if (!$this->options['result_buffering']) {
- $result = @mysql_unbuffered_query($query, $this->connection);
- } else {
- $result = @mysql_query($query, $this->connection);
- }
- if (!$result) {
- return $this->mysqlRaiseError();
- }
- if (is_resource($result)) {
- return $result;
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal mysql result pointer to the next available result
- *
- * This method has not been implemented yet.
- *
- * @param a valid sql result resource
- *
- * @return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@mysql_data_seek($result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @mysql_fetch_array($result, MYSQL_ASSOC);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @mysql_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- /*
- * Even though this DBMS already trims output, we do this because
- * a field might have intentional whitespace at the end that
- * gets removed by DB_PORTABILITY_RTRIM under another driver.
- */
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? mysql_free_result($result) : false;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @mysql_num_fields($result);
- if (!$cols) {
- return $this->mysqlRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @mysql_num_rows($result);
- if ($rows === null) {
- return $this->mysqlRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- // XXX if $this->transaction_opcount > 0, we should probably
- // issue a warning here.
- $this->autocommit = $onoff ? true : false;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if ($this->transaction_opcount > 0) {
- if ($this->_db) {
- if (!@mysql_select_db($this->_db, $this->connection)) {
- return $this->mysqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
- $result = @mysql_query('COMMIT', $this->connection);
- $result = @mysql_query('SET AUTOCOMMIT=1', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->mysqlRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if ($this->transaction_opcount > 0) {
- if ($this->_db) {
- if (!@mysql_select_db($this->_db, $this->connection)) {
- return $this->mysqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
- $result = @mysql_query('ROLLBACK', $this->connection);
- $result = @mysql_query('SET AUTOCOMMIT=1', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->mysqlRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->_last_query_manip) {
- return @mysql_affected_rows($this->connection);
- } else {
- return 0;
- }
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_mysql::createSequence(), DB_mysql::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- do {
- $repeat = 0;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("UPDATE ${seqname} ".
- 'SET id=LAST_INSERT_ID(id+1)');
- $this->popErrorHandling();
- if ($result === DB_OK) {
- // COMMON CASE
- $id = @mysql_insert_id($this->connection);
- if ($id != 0) {
- return $id;
- }
- // EMPTY SEQ TABLE
- // Sequence table must be empty for some reason, so fill
- // it and return 1 and obtain a user-level lock
- $result = $this->getOne("SELECT GET_LOCK('${seqname}_lock',10)");
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- if ($result == 0) {
- // Failed to get the lock
- return $this->mysqlRaiseError(DB_ERROR_NOT_LOCKED);
- }
-
- // add the default value
- $result = $this->query("REPLACE INTO ${seqname} (id) VALUES (0)");
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
-
- // Release the lock
- $result = $this->getOne('SELECT RELEASE_LOCK('
- . "'${seqname}_lock')");
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- // We know what the result will be, so no need to try again
- return 1;
-
- } elseif ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE)
- {
- // ONDEMAND TABLE CREATION
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- } else {
- $repeat = 1;
- }
-
- } elseif (DB::isError($result) &&
- $result->getCode() == DB_ERROR_ALREADY_EXISTS)
- {
- // BACKWARDS COMPAT
- // see _BCsequence() comment
- $result = $this->_BCsequence($seqname);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $repeat = 1;
- }
- } while ($repeat);
-
- return $this->raiseError($result);
- }
-
- // }}}
- // {{{ createSequence()
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_mysql::nextID(), DB_mysql::dropSequence()
- */
- function createSequence($seq_name)
- {
- $seqname = $this->getSequenceName($seq_name);
- $res = $this->query('CREATE TABLE ' . $seqname
- . ' (id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL,'
- . ' PRIMARY KEY(id))');
- if (DB::isError($res)) {
- return $res;
- }
- // insert yields value 1, nextId call will generate ID 2
- $res = $this->query("INSERT INTO ${seqname} (id) VALUES (0)");
- if (DB::isError($res)) {
- return $res;
- }
- // so reset to zero
- return $this->query("UPDATE ${seqname} SET id = 0");
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_mysql::nextID(), DB_mysql::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ _BCsequence()
-
- /**
- * Backwards compatibility with old sequence emulation implementation
- * (clean up the dupes)
- *
- * @param string $seqname the sequence name to clean up
- *
- * @return bool true on success. A DB_Error object on failure.
- *
- * @access private
- */
- function _BCsequence($seqname)
- {
- // Obtain a user-level lock... this will release any previous
- // application locks, but unlike LOCK TABLES, it does not abort
- // the current transaction and is much less frequently used.
- $result = $this->getOne("SELECT GET_LOCK('${seqname}_lock',10)");
- if (DB::isError($result)) {
- return $result;
- }
- if ($result == 0) {
- // Failed to get the lock, can't do the conversion, bail
- // with a DB_ERROR_NOT_LOCKED error
- return $this->mysqlRaiseError(DB_ERROR_NOT_LOCKED);
- }
-
- $highest_id = $this->getOne("SELECT MAX(id) FROM ${seqname}");
- if (DB::isError($highest_id)) {
- return $highest_id;
- }
- // This should kill all rows except the highest
- // We should probably do something if $highest_id isn't
- // numeric, but I'm at a loss as how to handle that...
- $result = $this->query('DELETE FROM ' . $seqname
- . " WHERE id <> $highest_id");
- if (DB::isError($result)) {
- return $result;
- }
-
- // If another thread has been waiting for this lock,
- // it will go thru the above procedure, but will have no
- // real effect
- $result = $this->getOne("SELECT RELEASE_LOCK('${seqname}_lock')");
- if (DB::isError($result)) {
- return $result;
- }
- return true;
- }
-
- // }}}
- // {{{ quoteIdentifier()
-
- /**
- * Quotes a string so it can be safely used as a table or column name
- * (WARNING: using names that require this is a REALLY BAD IDEA)
- *
- * WARNING: Older versions of MySQL can't handle the backtick
- * character (` ) in table or column names.
- *
- * @param string $str identifier name to be quoted
- *
- * @return string quoted identifier string
- *
- * @see DB_common::quoteIdentifier()
- * @since Method available since Release 1.6.0
- */
- function quoteIdentifier($str)
- {
- return '`' . str_replace('`', '``', $str) . '`';
- }
-
- // }}}
- // {{{ quote()
-
- /**
- * @deprecated Deprecated in release 1.6.0
- */
- function quote($str)
- {
- return $this->quoteSmart($str);
- }
-
- // }}}
- // {{{ escapeSimple()
-
- /**
- * Escapes a string according to the current DBMS's standards
- *
- * @param string $str the string to be escaped
- *
- * @return string the escaped string
- *
- * @see DB_common::quoteSmart()
- * @since Method available since Release 1.6.0
- */
- function escapeSimple($str)
- {
- if (function_exists('mysql_real_escape_string')) {
- return @mysql_real_escape_string($str, $this->connection);
- } else {
- return @mysql_escape_string($str);
- }
- }
-
- // }}}
- // {{{ modifyQuery()
-
- /**
- * Changes a query string for various DBMS specific reasons
- *
- * This little hack lets you know how many rows were deleted
- * when running a "DELETE FROM table" query. Only implemented
- * if the DB_PORTABILITY_DELETE_COUNT portability option is on.
- *
- * @param string $query the query string to modify
- *
- * @return string the modified query string
- *
- * @access protected
- * @see DB_common::setOption()
- */
- function modifyQuery($query)
- {
- if ($this->options['portability'] & DB_PORTABILITY_DELETE_COUNT) {
- // "DELETE FROM table" gives 0 affected rows in MySQL.
- // This little hack lets you know how many rows were deleted.
- if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $query)) {
- $query = preg_replace('/^\s*DELETE\s+FROM\s+(\S+)\s*$/',
- 'DELETE FROM \1 WHERE 1=1', $query);
- }
- }
- return $query;
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- if (DB::isManip($query) || $this->_next_query_manip) {
- return $query . " LIMIT $count";
- } else {
- return $query . " LIMIT $from, $count";
- }
- }
-
- // }}}
- // {{{ mysqlRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_mysql::errorNative(), DB_common::errorCode()
- */
- function mysqlRaiseError($errno = null)
- {
- if ($errno === null) {
- if ($this->options['portability'] & DB_PORTABILITY_ERRORS) {
- $this->errorcode_map[1022] = DB_ERROR_CONSTRAINT;
- $this->errorcode_map[1048] = DB_ERROR_CONSTRAINT_NOT_NULL;
- $this->errorcode_map[1062] = DB_ERROR_CONSTRAINT;
- } else {
- // Doing this in case mode changes during runtime.
- $this->errorcode_map[1022] = DB_ERROR_ALREADY_EXISTS;
- $this->errorcode_map[1048] = DB_ERROR_CONSTRAINT;
- $this->errorcode_map[1062] = DB_ERROR_ALREADY_EXISTS;
- }
- $errno = $this->errorCode(mysql_errno($this->connection));
- }
- return $this->raiseError($errno, null, null, null,
- @mysql_errno($this->connection) . ' ** ' .
- @mysql_error($this->connection));
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return int the DBMS' error code
- */
- function errorNative()
- {
- return @mysql_errno($this->connection);
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- // Fix for bug #11580.
- if ($this->_db) {
- if (!@mysql_select_db($this->_db, $this->connection)) {
- return $this->mysqlRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
-
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @mysql_query("SELECT * FROM $result LIMIT 0",
- $this->connection);
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->mysqlRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @mysql_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $res[$i] = array(
- 'table' => $case_func(@mysql_field_table($id, $i)),
- 'name' => $case_func(@mysql_field_name($id, $i)),
- 'type' => @mysql_field_type($id, $i),
- 'len' => @mysql_field_len($id, $i),
- 'flags' => @mysql_field_flags($id, $i),
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @mysql_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SHOW TABLES';
- case 'users':
- return 'SELECT DISTINCT User FROM mysql.user';
- case 'databases':
- return 'SHOW DATABASES';
- default:
- return null;
- }
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/mysqli.php b/airtime_mvc/library/pear/DB/mysqli.php
deleted file mode 100644
index 4449484d7..000000000
--- a/airtime_mvc/library/pear/DB/mysqli.php
+++ /dev/null
@@ -1,1092 +0,0 @@
-
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: mysqli.php,v 1.82 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's mysqli extension
- * for interacting with MySQL databases
- *
- * This is for MySQL versions 4.1 and above. Requires PHP 5.
- *
- * Note that persistent connections no longer exist.
- *
- * These methods overload the ones declared in DB_common.
- *
- * @category Database
- * @package DB
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- * @since Class functional since Release 1.6.3
- */
-class DB_mysqli extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'mysqli';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'mysqli';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'alter',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => false,
- 'prepare' => false,
- 'ssl' => true,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- 1004 => DB_ERROR_CANNOT_CREATE,
- 1005 => DB_ERROR_CANNOT_CREATE,
- 1006 => DB_ERROR_CANNOT_CREATE,
- 1007 => DB_ERROR_ALREADY_EXISTS,
- 1008 => DB_ERROR_CANNOT_DROP,
- 1022 => DB_ERROR_ALREADY_EXISTS,
- 1044 => DB_ERROR_ACCESS_VIOLATION,
- 1046 => DB_ERROR_NODBSELECTED,
- 1048 => DB_ERROR_CONSTRAINT,
- 1049 => DB_ERROR_NOSUCHDB,
- 1050 => DB_ERROR_ALREADY_EXISTS,
- 1051 => DB_ERROR_NOSUCHTABLE,
- 1054 => DB_ERROR_NOSUCHFIELD,
- 1061 => DB_ERROR_ALREADY_EXISTS,
- 1062 => DB_ERROR_ALREADY_EXISTS,
- 1064 => DB_ERROR_SYNTAX,
- 1091 => DB_ERROR_NOT_FOUND,
- 1100 => DB_ERROR_NOT_LOCKED,
- 1136 => DB_ERROR_VALUE_COUNT_ON_ROW,
- 1142 => DB_ERROR_ACCESS_VIOLATION,
- 1146 => DB_ERROR_NOSUCHTABLE,
- 1216 => DB_ERROR_CONSTRAINT,
- 1217 => DB_ERROR_CONSTRAINT,
- 1356 => DB_ERROR_DIVZERO,
- 1451 => DB_ERROR_CONSTRAINT,
- 1452 => DB_ERROR_CONSTRAINT,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The quantity of transactions begun
- *
- * {@internal While this is private, it can't actually be designated
- * private in PHP 5 because it is directly accessed in the test suite.}}
- *
- * @var integer
- * @access private
- */
- var $transaction_opcount = 0;
-
- /**
- * The database specified in the DSN
- *
- * It's a fix to allow calls to different databases in the same script.
- *
- * @var string
- * @access private
- */
- var $_db = '';
-
- /**
- * Array for converting MYSQLI_*_FLAG constants to text values
- * @var array
- * @access public
- * @since Property available since Release 1.6.5
- */
- var $mysqli_flags = array(
- MYSQLI_NOT_NULL_FLAG => 'not_null',
- MYSQLI_PRI_KEY_FLAG => 'primary_key',
- MYSQLI_UNIQUE_KEY_FLAG => 'unique_key',
- MYSQLI_MULTIPLE_KEY_FLAG => 'multiple_key',
- MYSQLI_BLOB_FLAG => 'blob',
- MYSQLI_UNSIGNED_FLAG => 'unsigned',
- MYSQLI_ZEROFILL_FLAG => 'zerofill',
- MYSQLI_AUTO_INCREMENT_FLAG => 'auto_increment',
- MYSQLI_TIMESTAMP_FLAG => 'timestamp',
- MYSQLI_SET_FLAG => 'set',
- // MYSQLI_NUM_FLAG => 'numeric', // unnecessary
- // MYSQLI_PART_KEY_FLAG => 'multiple_key', // duplicatvie
- MYSQLI_GROUP_FLAG => 'group_by'
- );
-
- /**
- * Array for converting MYSQLI_TYPE_* constants to text values
- * @var array
- * @access public
- * @since Property available since Release 1.6.5
- */
- var $mysqli_types = array(
- MYSQLI_TYPE_DECIMAL => 'decimal',
- MYSQLI_TYPE_TINY => 'tinyint',
- MYSQLI_TYPE_SHORT => 'int',
- MYSQLI_TYPE_LONG => 'int',
- MYSQLI_TYPE_FLOAT => 'float',
- MYSQLI_TYPE_DOUBLE => 'double',
- // MYSQLI_TYPE_NULL => 'DEFAULT NULL', // let flags handle it
- MYSQLI_TYPE_TIMESTAMP => 'timestamp',
- MYSQLI_TYPE_LONGLONG => 'bigint',
- MYSQLI_TYPE_INT24 => 'mediumint',
- MYSQLI_TYPE_DATE => 'date',
- MYSQLI_TYPE_TIME => 'time',
- MYSQLI_TYPE_DATETIME => 'datetime',
- MYSQLI_TYPE_YEAR => 'year',
- MYSQLI_TYPE_NEWDATE => 'date',
- MYSQLI_TYPE_ENUM => 'enum',
- MYSQLI_TYPE_SET => 'set',
- MYSQLI_TYPE_TINY_BLOB => 'tinyblob',
- MYSQLI_TYPE_MEDIUM_BLOB => 'mediumblob',
- MYSQLI_TYPE_LONG_BLOB => 'longblob',
- MYSQLI_TYPE_BLOB => 'blob',
- MYSQLI_TYPE_VAR_STRING => 'varchar',
- MYSQLI_TYPE_STRING => 'char',
- MYSQLI_TYPE_GEOMETRY => 'geometry',
- /* These constants are conditionally compiled in ext/mysqli, so we'll
- * define them by number rather than constant. */
- 16 => 'bit',
- 246 => 'decimal',
- );
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_mysqli()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's mysqli driver supports the following extra DSN options:
- * + When the 'ssl' $option passed to DB::connect() is true:
- * + key The path to the key file.
- * + cert The path to the certificate file.
- * + ca The path to the certificate authority file.
- * + capath The path to a directory that contains trusted SSL
- * CA certificates in pem format.
- * + cipher The list of allowable ciphers for SSL encryption.
- *
- * Example of how to connect using SSL:
- *
- * require_once 'DB.php';
- *
- * $dsn = array(
- * 'phptype' => 'mysqli',
- * 'username' => 'someuser',
- * 'password' => 'apasswd',
- * 'hostspec' => 'localhost',
- * 'database' => 'thedb',
- * 'key' => 'client-key.pem',
- * 'cert' => 'client-cert.pem',
- * 'ca' => 'cacert.pem',
- * 'capath' => '/path/to/ca/dir',
- * 'cipher' => 'AES',
- * );
- *
- * $options = array(
- * 'ssl' => true,
- * );
- *
- * $db = DB::connect($dsn, $options);
- * if (PEAR::isError($db)) {
- * die($db->getMessage());
- * }
- *
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('mysqli')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $ini = ini_get('track_errors');
- @ini_set('track_errors', 1);
- $php_errormsg = '';
-
- if (((int) $this->getOption('ssl')) === 1) {
- $init = mysqli_init();
- mysqli_ssl_set(
- $init,
- empty($dsn['key']) ? null : $dsn['key'],
- empty($dsn['cert']) ? null : $dsn['cert'],
- empty($dsn['ca']) ? null : $dsn['ca'],
- empty($dsn['capath']) ? null : $dsn['capath'],
- empty($dsn['cipher']) ? null : $dsn['cipher']
- );
- if ($this->connection = @mysqli_real_connect(
- $init,
- $dsn['hostspec'],
- $dsn['username'],
- $dsn['password'],
- $dsn['database'],
- $dsn['port'],
- $dsn['socket']))
- {
- $this->connection = $init;
- }
- } else {
- $this->connection = @mysqli_connect(
- $dsn['hostspec'],
- $dsn['username'],
- $dsn['password'],
- $dsn['database'],
- $dsn['port'],
- $dsn['socket']
- );
- }
-
- @ini_set('track_errors', $ini);
-
- if (!$this->connection) {
- if (($err = @mysqli_connect_error()) != '') {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $err);
- } else {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
- }
-
- if ($dsn['database']) {
- $this->_db = $dsn['database'];
- }
-
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @mysqli_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- if ($this->_db) {
- if (!@mysqli_select_db($this->connection, $this->_db)) {
- return $this->mysqliRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
- if (!$this->autocommit && $ismanip) {
- if ($this->transaction_opcount == 0) {
- $result = @mysqli_query($this->connection, 'SET AUTOCOMMIT=0');
- $result = @mysqli_query($this->connection, 'BEGIN');
- if (!$result) {
- return $this->mysqliRaiseError();
- }
- }
- $this->transaction_opcount++;
- }
- $result = @mysqli_query($this->connection, $query);
- if (!$result) {
- return $this->mysqliRaiseError();
- }
- if (is_object($result)) {
- return $result;
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal mysql result pointer to the next available result.
- *
- * This method has not been implemented yet.
- *
- * @param resource $result a valid sql result resource
- * @return false
- * @access public
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@mysqli_data_seek($result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @mysqli_fetch_array($result, MYSQLI_ASSOC);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @mysqli_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- /*
- * Even though this DBMS already trims output, we do this because
- * a field might have intentional whitespace at the end that
- * gets removed by DB_PORTABILITY_RTRIM under another driver.
- */
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? mysqli_free_result($result) : false;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @mysqli_num_fields($result);
- if (!$cols) {
- return $this->mysqliRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @mysqli_num_rows($result);
- if ($rows === null) {
- return $this->mysqliRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- // XXX if $this->transaction_opcount > 0, we should probably
- // issue a warning here.
- $this->autocommit = $onoff ? true : false;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if ($this->transaction_opcount > 0) {
- if ($this->_db) {
- if (!@mysqli_select_db($this->connection, $this->_db)) {
- return $this->mysqliRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
- $result = @mysqli_query($this->connection, 'COMMIT');
- $result = @mysqli_query($this->connection, 'SET AUTOCOMMIT=1');
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->mysqliRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if ($this->transaction_opcount > 0) {
- if ($this->_db) {
- if (!@mysqli_select_db($this->connection, $this->_db)) {
- return $this->mysqliRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
- $result = @mysqli_query($this->connection, 'ROLLBACK');
- $result = @mysqli_query($this->connection, 'SET AUTOCOMMIT=1');
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->mysqliRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->_last_query_manip) {
- return @mysqli_affected_rows($this->connection);
- } else {
- return 0;
- }
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_mysqli::createSequence(), DB_mysqli::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- do {
- $repeat = 0;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query('UPDATE ' . $seqname
- . ' SET id = LAST_INSERT_ID(id + 1)');
- $this->popErrorHandling();
- if ($result === DB_OK) {
- // COMMON CASE
- $id = @mysqli_insert_id($this->connection);
- if ($id != 0) {
- return $id;
- }
-
- // EMPTY SEQ TABLE
- // Sequence table must be empty for some reason,
- // so fill it and return 1
- // Obtain a user-level lock
- $result = $this->getOne('SELECT GET_LOCK('
- . "'${seqname}_lock', 10)");
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- if ($result == 0) {
- return $this->mysqliRaiseError(DB_ERROR_NOT_LOCKED);
- }
-
- // add the default value
- $result = $this->query('REPLACE INTO ' . $seqname
- . ' (id) VALUES (0)');
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
-
- // Release the lock
- $result = $this->getOne('SELECT RELEASE_LOCK('
- . "'${seqname}_lock')");
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- // We know what the result will be, so no need to try again
- return 1;
-
- } elseif ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE)
- {
- // ONDEMAND TABLE CREATION
- $result = $this->createSequence($seq_name);
-
- // Since createSequence initializes the ID to be 1,
- // we do not need to retrieve the ID again (or we will get 2)
- if (DB::isError($result)) {
- return $this->raiseError($result);
- } else {
- // First ID of a newly created sequence is 1
- return 1;
- }
-
- } elseif (DB::isError($result) &&
- $result->getCode() == DB_ERROR_ALREADY_EXISTS)
- {
- // BACKWARDS COMPAT
- // see _BCsequence() comment
- $result = $this->_BCsequence($seqname);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $repeat = 1;
- }
- } while ($repeat);
-
- return $this->raiseError($result);
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_mysqli::nextID(), DB_mysqli::dropSequence()
- */
- function createSequence($seq_name)
- {
- $seqname = $this->getSequenceName($seq_name);
- $res = $this->query('CREATE TABLE ' . $seqname
- . ' (id INTEGER UNSIGNED AUTO_INCREMENT NOT NULL,'
- . ' PRIMARY KEY(id))');
- if (DB::isError($res)) {
- return $res;
- }
- // insert yields value 1, nextId call will generate ID 2
- return $this->query("INSERT INTO ${seqname} (id) VALUES (0)");
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_mysql::nextID(), DB_mysql::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ _BCsequence()
-
- /**
- * Backwards compatibility with old sequence emulation implementation
- * (clean up the dupes)
- *
- * @param string $seqname the sequence name to clean up
- *
- * @return bool true on success. A DB_Error object on failure.
- *
- * @access private
- */
- function _BCsequence($seqname)
- {
- // Obtain a user-level lock... this will release any previous
- // application locks, but unlike LOCK TABLES, it does not abort
- // the current transaction and is much less frequently used.
- $result = $this->getOne("SELECT GET_LOCK('${seqname}_lock',10)");
- if (DB::isError($result)) {
- return $result;
- }
- if ($result == 0) {
- // Failed to get the lock, can't do the conversion, bail
- // with a DB_ERROR_NOT_LOCKED error
- return $this->mysqliRaiseError(DB_ERROR_NOT_LOCKED);
- }
-
- $highest_id = $this->getOne("SELECT MAX(id) FROM ${seqname}");
- if (DB::isError($highest_id)) {
- return $highest_id;
- }
-
- // This should kill all rows except the highest
- // We should probably do something if $highest_id isn't
- // numeric, but I'm at a loss as how to handle that...
- $result = $this->query('DELETE FROM ' . $seqname
- . " WHERE id <> $highest_id");
- if (DB::isError($result)) {
- return $result;
- }
-
- // If another thread has been waiting for this lock,
- // it will go thru the above procedure, but will have no
- // real effect
- $result = $this->getOne("SELECT RELEASE_LOCK('${seqname}_lock')");
- if (DB::isError($result)) {
- return $result;
- }
- return true;
- }
-
- // }}}
- // {{{ quoteIdentifier()
-
- /**
- * Quotes a string so it can be safely used as a table or column name
- * (WARNING: using names that require this is a REALLY BAD IDEA)
- *
- * WARNING: Older versions of MySQL can't handle the backtick
- * character (` ) in table or column names.
- *
- * @param string $str identifier name to be quoted
- *
- * @return string quoted identifier string
- *
- * @see DB_common::quoteIdentifier()
- * @since Method available since Release 1.6.0
- */
- function quoteIdentifier($str)
- {
- return '`' . str_replace('`', '``', $str) . '`';
- }
-
- // }}}
- // {{{ escapeSimple()
-
- /**
- * Escapes a string according to the current DBMS's standards
- *
- * @param string $str the string to be escaped
- *
- * @return string the escaped string
- *
- * @see DB_common::quoteSmart()
- * @since Method available since Release 1.6.0
- */
- function escapeSimple($str)
- {
- return @mysqli_real_escape_string($this->connection, $str);
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- if (DB::isManip($query) || $this->_next_query_manip) {
- return $query . " LIMIT $count";
- } else {
- return $query . " LIMIT $from, $count";
- }
- }
-
- // }}}
- // {{{ mysqliRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_mysqli::errorNative(), DB_common::errorCode()
- */
- function mysqliRaiseError($errno = null)
- {
- if ($errno === null) {
- if ($this->options['portability'] & DB_PORTABILITY_ERRORS) {
- $this->errorcode_map[1022] = DB_ERROR_CONSTRAINT;
- $this->errorcode_map[1048] = DB_ERROR_CONSTRAINT_NOT_NULL;
- $this->errorcode_map[1062] = DB_ERROR_CONSTRAINT;
- } else {
- // Doing this in case mode changes during runtime.
- $this->errorcode_map[1022] = DB_ERROR_ALREADY_EXISTS;
- $this->errorcode_map[1048] = DB_ERROR_CONSTRAINT;
- $this->errorcode_map[1062] = DB_ERROR_ALREADY_EXISTS;
- }
- $errno = $this->errorCode(mysqli_errno($this->connection));
- }
- return $this->raiseError($errno, null, null, null,
- @mysqli_errno($this->connection) . ' ** ' .
- @mysqli_error($this->connection));
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return int the DBMS' error code
- */
- function errorNative()
- {
- return @mysqli_errno($this->connection);
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::setOption()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- // Fix for bug #11580.
- if ($this->_db) {
- if (!@mysqli_select_db($this->connection, $this->_db)) {
- return $this->mysqliRaiseError(DB_ERROR_NODBSELECTED);
- }
- }
-
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @mysqli_query($this->connection,
- "SELECT * FROM $result LIMIT 0");
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_a($id, 'mysqli_result')) {
- return $this->mysqliRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @mysqli_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $tmp = @mysqli_fetch_field($id);
-
- $flags = '';
- foreach ($this->mysqli_flags as $const => $means) {
- if ($tmp->flags & $const) {
- $flags .= $means . ' ';
- }
- }
- if ($tmp->def) {
- $flags .= 'default_' . rawurlencode($tmp->def);
- }
- $flags = trim($flags);
-
- $res[$i] = array(
- 'table' => $case_func($tmp->table),
- 'name' => $case_func($tmp->name),
- 'type' => isset($this->mysqli_types[$tmp->type])
- ? $this->mysqli_types[$tmp->type]
- : 'unknown',
- // http://bugs.php.net/?id=36579
- 'len' => $tmp->length,
- 'flags' => $flags,
- );
-
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @mysqli_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SHOW TABLES';
- case 'users':
- return 'SELECT DISTINCT User FROM mysql.user';
- case 'databases':
- return 'SHOW DATABASES';
- default:
- return null;
- }
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/oci8.php b/airtime_mvc/library/pear/DB/oci8.php
deleted file mode 100644
index 3dfee116e..000000000
--- a/airtime_mvc/library/pear/DB/oci8.php
+++ /dev/null
@@ -1,1156 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: oci8.php,v 1.115 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's oci8 extension
- * for interacting with Oracle databases
- *
- * Definitely works with versions 8 and 9 of Oracle.
- *
- * These methods overload the ones declared in DB_common.
- *
- * Be aware... OCIError() only appears to return anything when given a
- * statement, so functions return the generic DB_ERROR instead of more
- * useful errors that have to do with feedback from the database.
- *
- * @category Database
- * @package DB
- * @author James L. Pine
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_oci8 extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'oci8';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'oci8';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'alter',
- 'new_link' => '5.0.0',
- 'numrows' => 'subquery',
- 'pconnect' => true,
- 'prepare' => true,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- 1 => DB_ERROR_CONSTRAINT,
- 900 => DB_ERROR_SYNTAX,
- 904 => DB_ERROR_NOSUCHFIELD,
- 913 => DB_ERROR_VALUE_COUNT_ON_ROW,
- 921 => DB_ERROR_SYNTAX,
- 923 => DB_ERROR_SYNTAX,
- 942 => DB_ERROR_NOSUCHTABLE,
- 955 => DB_ERROR_ALREADY_EXISTS,
- 1400 => DB_ERROR_CONSTRAINT_NOT_NULL,
- 1401 => DB_ERROR_INVALID,
- 1407 => DB_ERROR_CONSTRAINT_NOT_NULL,
- 1418 => DB_ERROR_NOT_FOUND,
- 1476 => DB_ERROR_DIVZERO,
- 1722 => DB_ERROR_INVALID_NUMBER,
- 2289 => DB_ERROR_NOSUCHTABLE,
- 2291 => DB_ERROR_CONSTRAINT,
- 2292 => DB_ERROR_CONSTRAINT,
- 2449 => DB_ERROR_CONSTRAINT,
- 12899 => DB_ERROR_INVALID,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * Stores the $data passed to execute() in the oci8 driver
- *
- * Gets reset to array() when simpleQuery() is run.
- *
- * Needed in case user wants to call numRows() after prepare/execute
- * was used.
- *
- * @var array
- * @access private
- */
- var $_data = array();
-
- /**
- * The result or statement handle from the most recently executed query
- * @var resource
- */
- var $last_stmt;
-
- /**
- * Is the given prepared statement a data manipulation query?
- * @var array
- * @access private
- */
- var $manip_query = array();
-
- /**
- * Store of prepared SQL queries.
- * @var array
- * @access private
- */
- var $_prepared_queries = array();
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_oci8()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * If PHP is at version 5.0.0 or greater:
- * + Generally, oci_connect() or oci_pconnect() are used.
- * + But if the new_link DSN option is set to true, oci_new_connect()
- * is used.
- *
- * When using PHP version 4.x, OCILogon() or OCIPLogon() are used.
- *
- * PEAR DB's oci8 driver supports the following extra DSN options:
- * + charset The character set to be used on the connection.
- * Only used if PHP is at version 5.0.0 or greater
- * and the Oracle server is at 9.2 or greater.
- * Available since PEAR DB 1.7.0.
- * + new_link If set to true, causes subsequent calls to
- * connect() to return a new connection link
- * instead of the existing one. WARNING: this is
- * not portable to other DBMS's.
- * Available since PEAR DB 1.7.0.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('oci8')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- // Backwards compatibility with DB < 1.7.0
- if (empty($dsn['database']) && !empty($dsn['hostspec'])) {
- $db = $dsn['hostspec'];
- } else {
- $db = $dsn['database'];
- }
-
- if (function_exists('oci_connect')) {
- if (isset($dsn['new_link'])
- && ($dsn['new_link'] == 'true' || $dsn['new_link'] === true))
- {
- $connect_function = 'oci_new_connect';
- } else {
- $connect_function = $persistent ? 'oci_pconnect'
- : 'oci_connect';
- }
- if (isset($this->dsn['port']) && $this->dsn['port']) {
- $db = '//'.$db.':'.$this->dsn['port'];
- }
-
- $char = empty($dsn['charset']) ? null : $dsn['charset'];
- $this->connection = @$connect_function($dsn['username'],
- $dsn['password'],
- $db,
- $char);
- $error = OCIError();
- if (!empty($error) && $error['code'] == 12541) {
- // Couldn't find TNS listener. Try direct connection.
- $this->connection = @$connect_function($dsn['username'],
- $dsn['password'],
- null,
- $char);
- }
- } else {
- $connect_function = $persistent ? 'OCIPLogon' : 'OCILogon';
- if ($db) {
- $this->connection = @$connect_function($dsn['username'],
- $dsn['password'],
- $db);
- } elseif ($dsn['username'] || $dsn['password']) {
- $this->connection = @$connect_function($dsn['username'],
- $dsn['password']);
- }
- }
-
- if (!$this->connection) {
- $error = OCIError();
- $error = (is_array($error)) ? $error['message'] : null;
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $error);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- if (function_exists('oci_close')) {
- $ret = @oci_close($this->connection);
- } else {
- $ret = @OCILogOff($this->connection);
- }
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * To determine how many rows of a result set get buffered using
- * ocisetprefetch(), see the "result_buffering" option in setOptions().
- * This option was added in Release 1.7.0.
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $this->_data = array();
- $this->last_parameters = array();
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- $result = @OCIParse($this->connection, $query);
- if (!$result) {
- return $this->oci8RaiseError();
- }
- if ($this->autocommit) {
- $success = @OCIExecute($result,OCI_COMMIT_ON_SUCCESS);
- } else {
- $success = @OCIExecute($result,OCI_DEFAULT);
- }
- if (!$success) {
- return $this->oci8RaiseError($result);
- }
- $this->last_stmt = $result;
- if ($this->_checkManip($query)) {
- return DB_OK;
- } else {
- @ocisetprefetch($result, $this->options['result_buffering']);
- return $result;
- }
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal oracle result pointer to the next available result
- *
- * @param a valid oci8 result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $moredata = @OCIFetchInto($result,$arr,OCI_ASSOC+OCI_RETURN_NULLS+OCI_RETURN_LOBS);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE &&
- $moredata)
- {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $moredata = OCIFetchInto($result,$arr,OCI_RETURN_NULLS+OCI_RETURN_LOBS);
- }
- if (!$moredata) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? OCIFreeStatement($result) : false;
- }
-
- /**
- * Frees the internal resources associated with a prepared query
- *
- * @param resource $stmt the prepared statement's resource
- * @param bool $free_resource should the PHP resource be freed too?
- * Use false if you need to get data
- * from the result set later.
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_oci8::prepare()
- */
- function freePrepared($stmt, $free_resource = true)
- {
- if (!is_resource($stmt)) {
- return false;
- }
- if ($free_resource) {
- @ocifreestatement($stmt);
- }
- if (isset($this->prepare_types[(int)$stmt])) {
- unset($this->prepare_types[(int)$stmt]);
- unset($this->manip_query[(int)$stmt]);
- } else {
- return false;
- }
- return true;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * Only works if the DB_PORTABILITY_NUMROWS portability option
- * is turned on.
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows(), DB_common::setOption()
- */
- function numRows($result)
- {
- // emulate numRows for Oracle. yuck.
- if ($this->options['portability'] & DB_PORTABILITY_NUMROWS &&
- $result === $this->last_stmt)
- {
- $countquery = 'SELECT COUNT(*) FROM ('.$this->last_query.')';
- $save_query = $this->last_query;
- $save_stmt = $this->last_stmt;
-
- $count = $this->query($countquery);
-
- // Restore the last query and statement.
- $this->last_query = $save_query;
- $this->last_stmt = $save_stmt;
-
- if (DB::isError($count) ||
- DB::isError($row = $count->fetchRow(DB_FETCHMODE_ORDERED)))
- {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- return $row[0];
- }
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @OCINumCols($result);
- if (!$cols) {
- return $this->oci8RaiseError($result);
- }
- return $cols;
- }
-
- // }}}
- // {{{ prepare()
-
- /**
- * Prepares a query for multiple execution with execute().
- *
- * With oci8, this is emulated.
- *
- * prepare() requires a generic query as string like
- * INSERT INTO numbers VALUES (?, ?, ?)
- *
. The ? characters are placeholders.
- *
- * Three types of placeholders can be used:
- * + ? a quoted scalar value, i.e. strings, integers
- * + ! value is inserted 'as is'
- * + & requires a file name. The file's contents get
- * inserted into the query (i.e. saving binary
- * data in a db)
- *
- * Use backslashes to escape placeholder characters if you don't want
- * them to be interpreted as placeholders. Example:
- * "UPDATE foo SET col=? WHERE col='over \& under'"
- *
- *
- * @param string $query the query to be prepared
- *
- * @return mixed DB statement resource on success. DB_Error on failure.
- *
- * @see DB_oci8::execute()
- */
- function prepare($query)
- {
- $tokens = preg_split('/((? $val) {
- switch ($val) {
- case '?':
- $types[$token++] = DB_PARAM_SCALAR;
- unset($tokens[$key]);
- break;
- case '&':
- $types[$token++] = DB_PARAM_OPAQUE;
- unset($tokens[$key]);
- break;
- case '!':
- $types[$token++] = DB_PARAM_MISC;
- unset($tokens[$key]);
- break;
- default:
- $tokens[$key] = preg_replace('/\\\([&?!])/', "\\1", $val);
- if ($key != $binds) {
- $newquery .= $tokens[$key] . ':bind' . $token;
- } else {
- $newquery .= $tokens[$key];
- }
- }
- }
-
- $this->last_query = $query;
- $newquery = $this->modifyQuery($newquery);
- if (!$stmt = @OCIParse($this->connection, $newquery)) {
- return $this->oci8RaiseError();
- }
- $this->prepare_types[(int)$stmt] = $types;
- $this->manip_query[(int)$stmt] = DB::isManip($query);
- $this->_prepared_queries[(int)$stmt] = $newquery;
- return $stmt;
- }
-
- // }}}
- // {{{ execute()
-
- /**
- * Executes a DB statement prepared with prepare().
- *
- * To determine how many rows of a result set get buffered using
- * ocisetprefetch(), see the "result_buffering" option in setOptions().
- * This option was added in Release 1.7.0.
- *
- * @param resource $stmt a DB statement resource returned from prepare()
- * @param mixed $data array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 for non-array items or the
- * quantity of elements in the array.
- *
- * @return mixed returns an oic8 result resource for successful SELECT
- * queries, DB_OK for other successful queries.
- * A DB error object is returned on failure.
- *
- * @see DB_oci8::prepare()
- */
- function &execute($stmt, $data = array())
- {
- $data = (array)$data;
- $this->last_parameters = $data;
- $this->last_query = $this->_prepared_queries[(int)$stmt];
- $this->_data = $data;
-
- $types = $this->prepare_types[(int)$stmt];
- if (count($types) != count($data)) {
- $tmp = $this->raiseError(DB_ERROR_MISMATCH);
- return $tmp;
- }
-
- $i = 0;
- foreach ($data as $key => $value) {
- if ($types[$i] == DB_PARAM_MISC) {
- /*
- * Oracle doesn't seem to have the ability to pass a
- * parameter along unchanged, so strip off quotes from start
- * and end, plus turn two single quotes to one single quote,
- * in order to avoid the quotes getting escaped by
- * Oracle and ending up in the database.
- */
- $data[$key] = preg_replace("/^'(.*)'$/", "\\1", $data[$key]);
- $data[$key] = str_replace("''", "'", $data[$key]);
- } elseif ($types[$i] == DB_PARAM_OPAQUE) {
- $fp = @fopen($data[$key], 'rb');
- if (!$fp) {
- $tmp = $this->raiseError(DB_ERROR_ACCESS_VIOLATION);
- return $tmp;
- }
- $data[$key] = fread($fp, filesize($data[$key]));
- fclose($fp);
- } elseif ($types[$i] == DB_PARAM_SCALAR) {
- // Floats have to be converted to a locale-neutral
- // representation.
- if (is_float($data[$key])) {
- $data[$key] = $this->quoteFloat($data[$key]);
- }
- }
- if (!@OCIBindByName($stmt, ':bind' . $i, $data[$key], -1)) {
- $tmp = $this->oci8RaiseError($stmt);
- return $tmp;
- }
- $this->last_query = str_replace(':bind'.$i, $this->quoteSmart($data[$key]), $this->last_query);
- $i++;
- }
- if ($this->autocommit) {
- $success = @OCIExecute($stmt, OCI_COMMIT_ON_SUCCESS);
- } else {
- $success = @OCIExecute($stmt, OCI_DEFAULT);
- }
- if (!$success) {
- $tmp = $this->oci8RaiseError($stmt);
- return $tmp;
- }
- $this->last_stmt = $stmt;
- if ($this->manip_query[(int)$stmt] || $this->_next_query_manip) {
- $this->_last_query_manip = true;
- $this->_next_query_manip = false;
- $tmp = DB_OK;
- } else {
- $this->_last_query_manip = false;
- @ocisetprefetch($stmt, $this->options['result_buffering']);
- $tmp = new DB_result($this, $stmt);
- }
- return $tmp;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- $this->autocommit = (bool)$onoff;;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- $result = @OCICommit($this->connection);
- if (!$result) {
- return $this->oci8RaiseError();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- $result = @OCIRollback($this->connection);
- if (!$result) {
- return $this->oci8RaiseError();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->last_stmt === false) {
- return $this->oci8RaiseError();
- }
- $result = @OCIRowCount($this->last_stmt);
- if ($result === false) {
- return $this->oci8RaiseError($this->last_stmt);
- }
- return $result;
- }
-
- // }}}
- // {{{ modifyQuery()
-
- /**
- * Changes a query string for various DBMS specific reasons
- *
- * "SELECT 2+2" must be "SELECT 2+2 FROM dual" in Oracle.
- *
- * @param string $query the query string to modify
- *
- * @return string the modified query string
- *
- * @access protected
- */
- function modifyQuery($query)
- {
- if (preg_match('/^\s*SELECT/i', $query) &&
- !preg_match('/\sFROM\s/i', $query)) {
- $query .= ' FROM dual';
- }
- return $query;
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- // Let Oracle return the name of the columns instead of
- // coding a "home" SQL parser
-
- if (count($params)) {
- $result = $this->prepare("SELECT * FROM ($query) "
- . 'WHERE NULL = NULL');
- $tmp = $this->execute($result, $params);
- } else {
- $q_fields = "SELECT * FROM ($query) WHERE NULL = NULL";
-
- if (!$result = @OCIParse($this->connection, $q_fields)) {
- $this->last_query = $q_fields;
- return $this->oci8RaiseError();
- }
- if (!@OCIExecute($result, OCI_DEFAULT)) {
- $this->last_query = $q_fields;
- return $this->oci8RaiseError($result);
- }
- }
-
- $ncols = OCINumCols($result);
- $cols = array();
- for ( $i = 1; $i <= $ncols; $i++ ) {
- $cols[] = '"' . OCIColumnName($result, $i) . '"';
- }
- $fields = implode(', ', $cols);
- // XXX Test that (tip by John Lim)
- //if (preg_match('/^\s*SELECT\s+/is', $query, $match)) {
- // // Introduce the FIRST_ROWS Oracle query optimizer
- // $query = substr($query, strlen($match[0]), strlen($query));
- // $query = "SELECT /* +FIRST_ROWS */ " . $query;
- //}
-
- // Construct the query
- // more at: http://marc.theaimsgroup.com/?l=php-db&m=99831958101212&w=2
- // Perhaps this could be optimized with the use of Unions
- $query = "SELECT $fields FROM".
- " (SELECT rownum as linenum, $fields FROM".
- " ($query)".
- ' WHERE rownum <= '. ($from + $count) .
- ') WHERE linenum >= ' . ++$from;
- return $query;
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_oci8::createSequence(), DB_oci8::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- $repeat = 0;
- do {
- $this->expectError(DB_ERROR_NOSUCHTABLE);
- $result = $this->query("SELECT ${seqname}.nextval FROM dual");
- $this->popExpect();
- if ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE) {
- $repeat = 1;
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- } else {
- $repeat = 0;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $arr = $result->fetchRow(DB_FETCHMODE_ORDERED);
- return $arr[0];
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_oci8::nextID(), DB_oci8::dropSequence()
- */
- function createSequence($seq_name)
- {
- return $this->query('CREATE SEQUENCE '
- . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_oci8::nextID(), DB_oci8::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP SEQUENCE '
- . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ oci8RaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_oci8::errorNative(), DB_oci8::errorCode()
- */
- function oci8RaiseError($errno = null)
- {
- if ($errno === null) {
- $error = @OCIError($this->connection);
- return $this->raiseError($this->errorCode($error['code']),
- null, null, null, $error['message']);
- } elseif (is_resource($errno)) {
- $error = @OCIError($errno);
- return $this->raiseError($this->errorCode($error['code']),
- null, null, null, $error['message']);
- }
- return $this->raiseError($this->errorCode($errno));
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code produced by the last query
- *
- * @return int the DBMS' error code. FALSE if the code could not be
- * determined
- */
- function errorNative()
- {
- if (is_resource($this->last_stmt)) {
- $error = @OCIError($this->last_stmt);
- } else {
- $error = @OCIError($this->connection);
- }
- if (is_array($error)) {
- return $error['code'];
- }
- return false;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * NOTE: only supports 'table' and 'flags' if $result
- * is a table name.
- *
- * NOTE: flags won't contain index information.
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- */
- function tableInfo($result, $mode = null)
- {
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $res = array();
-
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $result = strtoupper($result);
- $q_fields = 'SELECT column_name, data_type, data_length, '
- . 'nullable '
- . 'FROM user_tab_columns '
- . "WHERE table_name='$result' ORDER BY column_id";
-
- $this->last_query = $q_fields;
-
- if (!$stmt = @OCIParse($this->connection, $q_fields)) {
- return $this->oci8RaiseError(DB_ERROR_NEED_MORE_DATA);
- }
- if (!@OCIExecute($stmt, OCI_DEFAULT)) {
- return $this->oci8RaiseError($stmt);
- }
-
- $i = 0;
- while (@OCIFetch($stmt)) {
- $res[$i] = array(
- 'table' => $case_func($result),
- 'name' => $case_func(@OCIResult($stmt, 1)),
- 'type' => @OCIResult($stmt, 2),
- 'len' => @OCIResult($stmt, 3),
- 'flags' => (@OCIResult($stmt, 4) == 'N') ? 'not_null' : '',
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- $i++;
- }
-
- if ($mode) {
- $res['num_fields'] = $i;
- }
- @OCIFreeStatement($stmt);
-
- } else {
- if (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $result = $result->result;
- }
-
- $res = array();
-
- if ($result === $this->last_stmt) {
- $count = @OCINumCols($result);
- if ($mode) {
- $res['num_fields'] = $count;
- }
- for ($i = 0; $i < $count; $i++) {
- $res[$i] = array(
- 'table' => '',
- 'name' => $case_func(@OCIColumnName($result, $i+1)),
- 'type' => @OCIColumnType($result, $i+1),
- 'len' => @OCIColumnSize($result, $i+1),
- 'flags' => '',
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
- } else {
- return $this->raiseError(DB_ERROR_NOT_CAPABLE);
- }
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SELECT table_name FROM user_tables';
- case 'synonyms':
- return 'SELECT synonym_name FROM user_synonyms';
- case 'views':
- return 'SELECT view_name FROM user_views';
- default:
- return null;
- }
- }
-
- // }}}
- // {{{ quoteFloat()
-
- /**
- * Formats a float value for use within a query in a locale-independent
- * manner.
- *
- * @param float the float value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteFloat($float) {
- return $this->escapeSimple(str_replace(',', '.', strval(floatval($float))));
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/odbc.php b/airtime_mvc/library/pear/DB/odbc.php
deleted file mode 100644
index fecc548d8..000000000
--- a/airtime_mvc/library/pear/DB/odbc.php
+++ /dev/null
@@ -1,883 +0,0 @@
-
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: odbc.php,v 1.81 2007/07/06 05:19:21 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's odbc extension
- * for interacting with databases via ODBC connections
- *
- * These methods overload the ones declared in DB_common.
- *
- * More info on ODBC errors could be found here:
- * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/trblsql/tr_err_odbc_5stz.asp
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_odbc extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'odbc';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'sql92';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * NOTE: The feature set of the following drivers are different than
- * the default:
- * + solid: 'transactions' = true
- * + navision: 'limit' = false
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'emulate',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => false,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- '01004' => DB_ERROR_TRUNCATED,
- '07001' => DB_ERROR_MISMATCH,
- '21S01' => DB_ERROR_VALUE_COUNT_ON_ROW,
- '21S02' => DB_ERROR_MISMATCH,
- '22001' => DB_ERROR_INVALID,
- '22003' => DB_ERROR_INVALID_NUMBER,
- '22005' => DB_ERROR_INVALID_NUMBER,
- '22008' => DB_ERROR_INVALID_DATE,
- '22012' => DB_ERROR_DIVZERO,
- '23000' => DB_ERROR_CONSTRAINT,
- '23502' => DB_ERROR_CONSTRAINT_NOT_NULL,
- '23503' => DB_ERROR_CONSTRAINT,
- '23504' => DB_ERROR_CONSTRAINT,
- '23505' => DB_ERROR_CONSTRAINT,
- '24000' => DB_ERROR_INVALID,
- '34000' => DB_ERROR_INVALID,
- '37000' => DB_ERROR_SYNTAX,
- '42000' => DB_ERROR_SYNTAX,
- '42601' => DB_ERROR_SYNTAX,
- 'IM001' => DB_ERROR_UNSUPPORTED,
- 'S0000' => DB_ERROR_NOSUCHTABLE,
- 'S0001' => DB_ERROR_ALREADY_EXISTS,
- 'S0002' => DB_ERROR_NOSUCHTABLE,
- 'S0011' => DB_ERROR_ALREADY_EXISTS,
- 'S0012' => DB_ERROR_NOT_FOUND,
- 'S0021' => DB_ERROR_ALREADY_EXISTS,
- 'S0022' => DB_ERROR_NOSUCHFIELD,
- 'S1009' => DB_ERROR_INVALID,
- 'S1090' => DB_ERROR_INVALID,
- 'S1C00' => DB_ERROR_NOT_CAPABLE,
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * The number of rows affected by a data manipulation query
- * @var integer
- * @access private
- */
- var $affected = 0;
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_odbc()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's odbc driver supports the following extra DSN options:
- * + cursor The type of cursor to be used for this connection.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('odbc')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
- switch ($this->dbsyntax) {
- case 'access':
- case 'db2':
- case 'solid':
- $this->features['transactions'] = true;
- break;
- case 'navision':
- $this->features['limit'] = false;
- }
-
- /*
- * This is hear for backwards compatibility. Should have been using
- * 'database' all along, but prior to 1.6.0RC3 'hostspec' was used.
- */
- if ($dsn['database']) {
- $odbcdsn = $dsn['database'];
- } elseif ($dsn['hostspec']) {
- $odbcdsn = $dsn['hostspec'];
- } else {
- $odbcdsn = 'localhost';
- }
-
- $connect_function = $persistent ? 'odbc_pconnect' : 'odbc_connect';
-
- if (empty($dsn['cursor'])) {
- $this->connection = @$connect_function($odbcdsn, $dsn['username'],
- $dsn['password']);
- } else {
- $this->connection = @$connect_function($odbcdsn, $dsn['username'],
- $dsn['password'],
- $dsn['cursor']);
- }
-
- if (!is_resource($this->connection)) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $this->errorNative());
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $err = @odbc_close($this->connection);
- $this->connection = null;
- return $err;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- $result = @odbc_exec($this->connection, $query);
- if (!$result) {
- return $this->odbcRaiseError(); // XXX ERRORMSG
- }
- // Determine which queries that should return data, and which
- // should return an error code only.
- if ($this->_checkManip($query)) {
- $this->affected = $result; // For affectedRows()
- return DB_OK;
- }
- $this->affected = 0;
- return $result;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal odbc result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return @odbc_next_result($result);
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- $arr = array();
- if ($rownum !== null) {
- $rownum++; // ODBC first row is 1
- if (version_compare(phpversion(), '4.2.0', 'ge')) {
- $cols = @odbc_fetch_into($result, $arr, $rownum);
- } else {
- $cols = @odbc_fetch_into($result, $rownum, $arr);
- }
- } else {
- $cols = @odbc_fetch_into($result, $arr);
- }
- if (!$cols) {
- return null;
- }
- if ($fetchmode !== DB_FETCHMODE_ORDERED) {
- for ($i = 0; $i < count($arr); $i++) {
- $colName = @odbc_field_name($result, $i+1);
- $a[$colName] = $arr[$i];
- }
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $a = array_change_key_case($a, CASE_LOWER);
- }
- $arr = $a;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? odbc_free_result($result) : false;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @odbc_num_fields($result);
- if (!$cols) {
- return $this->odbcRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if (empty($this->affected)) { // In case of SELECT stms
- return 0;
- }
- $nrows = @odbc_num_rows($this->affected);
- if ($nrows == -1) {
- return $this->odbcRaiseError();
- }
- return $nrows;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * Not all ODBC drivers support this functionality. If they don't
- * a DB_Error object for DB_ERROR_UNSUPPORTED is returned.
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $nrows = @odbc_num_rows($result);
- if ($nrows == -1) {
- return $this->odbcRaiseError(DB_ERROR_UNSUPPORTED);
- }
- if ($nrows === false) {
- return $this->odbcRaiseError();
- }
- return $nrows;
- }
-
- // }}}
- // {{{ quoteIdentifier()
-
- /**
- * Quotes a string so it can be safely used as a table or column name
- *
- * Use 'mssql' as the dbsyntax in the DB DSN only if you've unchecked
- * "Use ANSI quoted identifiers" when setting up the ODBC data source.
- *
- * @param string $str identifier name to be quoted
- *
- * @return string quoted identifier string
- *
- * @see DB_common::quoteIdentifier()
- * @since Method available since Release 1.6.0
- */
- function quoteIdentifier($str)
- {
- switch ($this->dsn['dbsyntax']) {
- case 'access':
- return '[' . $str . ']';
- case 'mssql':
- case 'sybase':
- return '[' . str_replace(']', ']]', $str) . ']';
- case 'mysql':
- case 'mysqli':
- return '`' . $str . '`';
- default:
- return '"' . str_replace('"', '""', $str) . '"';
- }
- }
-
- // }}}
- // {{{ quote()
-
- /**
- * @deprecated Deprecated in release 1.6.0
- * @internal
- */
- function quote($str)
- {
- return $this->quoteSmart($str);
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_odbc::createSequence(), DB_odbc::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- $repeat = 0;
- do {
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("update ${seqname} set id = id + 1");
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE) {
- $repeat = 1;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->createSequence($seq_name);
- $this->popErrorHandling();
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $result = $this->query("insert into ${seqname} (id) values(0)");
- } else {
- $repeat = 0;
- }
- } while ($repeat);
-
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
-
- $result = $this->query("select id from ${seqname}");
- if (DB::isError($result)) {
- return $result;
- }
-
- $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
- if (DB::isError($row || !$row)) {
- return $row;
- }
-
- return $row[0];
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_odbc::nextID(), DB_odbc::dropSequence()
- */
- function createSequence($seq_name)
- {
- return $this->query('CREATE TABLE '
- . $this->getSequenceName($seq_name)
- . ' (id integer NOT NULL,'
- . ' PRIMARY KEY(id))');
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_odbc::nextID(), DB_odbc::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- if (!@odbc_autocommit($this->connection, $onoff)) {
- return $this->odbcRaiseError();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if (!@odbc_commit($this->connection)) {
- return $this->odbcRaiseError();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if (!@odbc_rollback($this->connection)) {
- return $this->odbcRaiseError();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ odbcRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_odbc::errorNative(), DB_common::errorCode()
- */
- function odbcRaiseError($errno = null)
- {
- if ($errno === null) {
- switch ($this->dbsyntax) {
- case 'access':
- if ($this->options['portability'] & DB_PORTABILITY_ERRORS) {
- $this->errorcode_map['07001'] = DB_ERROR_NOSUCHFIELD;
- } else {
- // Doing this in case mode changes during runtime.
- $this->errorcode_map['07001'] = DB_ERROR_MISMATCH;
- }
-
- $native_code = odbc_error($this->connection);
-
- // S1000 is for "General Error." Let's be more specific.
- if ($native_code == 'S1000') {
- $errormsg = odbc_errormsg($this->connection);
- static $error_regexps;
- if (!isset($error_regexps)) {
- $error_regexps = array(
- '/includes related records.$/i' => DB_ERROR_CONSTRAINT,
- '/cannot contain a Null value/i' => DB_ERROR_CONSTRAINT_NOT_NULL,
- );
- }
- foreach ($error_regexps as $regexp => $code) {
- if (preg_match($regexp, $errormsg)) {
- return $this->raiseError($code,
- null, null, null,
- $native_code . ' ' . $errormsg);
- }
- }
- $errno = DB_ERROR;
- } else {
- $errno = $this->errorCode($native_code);
- }
- break;
- default:
- $errno = $this->errorCode(odbc_error($this->connection));
- }
- }
- return $this->raiseError($errno, null, null, null,
- $this->errorNative());
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error code and message produced by the last query
- *
- * @return string the DBMS' error code and message
- */
- function errorNative()
- {
- if (!is_resource($this->connection)) {
- return @odbc_error() . ' ' . @odbc_errormsg();
- }
- return @odbc_error($this->connection) . ' ' . @odbc_errormsg($this->connection);
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- * @since Method available since Release 1.7.0
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @odbc_exec($this->connection, "SELECT * FROM $result");
- if (!$id) {
- return $this->odbcRaiseError();
- }
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->odbcRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @odbc_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $col = $i + 1;
- $res[$i] = array(
- 'table' => $got_string ? $case_func($result) : '',
- 'name' => $case_func(@odbc_field_name($id, $col)),
- 'type' => @odbc_field_type($id, $col),
- 'len' => @odbc_field_len($id, $col),
- 'flags' => '',
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @odbc_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * Thanks to symbol1@gmail.com and Philippe.Jausions@11abacus.com.
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the list of objects requested
- *
- * @access protected
- * @see DB_common::getListOf()
- * @since Method available since Release 1.7.0
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'databases':
- if (!function_exists('odbc_data_source')) {
- return null;
- }
- $res = @odbc_data_source($this->connection, SQL_FETCH_FIRST);
- if (is_array($res)) {
- $out = array($res['server']);
- while($res = @odbc_data_source($this->connection,
- SQL_FETCH_NEXT))
- {
- $out[] = $res['server'];
- }
- return $out;
- } else {
- return $this->odbcRaiseError();
- }
- break;
- case 'tables':
- case 'schema.tables':
- $keep = 'TABLE';
- break;
- case 'views':
- $keep = 'VIEW';
- break;
- default:
- return null;
- }
-
- /*
- * Removing non-conforming items in the while loop rather than
- * in the odbc_tables() call because some backends choke on this:
- * odbc_tables($this->connection, '', '', '', 'TABLE')
- */
- $res = @odbc_tables($this->connection);
- if (!$res) {
- return $this->odbcRaiseError();
- }
- $out = array();
- while ($row = odbc_fetch_array($res)) {
- if ($row['TABLE_TYPE'] != $keep) {
- continue;
- }
- if ($type == 'schema.tables') {
- $out[] = $row['TABLE_SCHEM'] . '.' . $row['TABLE_NAME'];
- } else {
- $out[] = $row['TABLE_NAME'];
- }
- }
- return $out;
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/pgsql.php b/airtime_mvc/library/pear/DB/pgsql.php
deleted file mode 100644
index 039888faf..000000000
--- a/airtime_mvc/library/pear/DB/pgsql.php
+++ /dev/null
@@ -1,1116 +0,0 @@
-
- * @author Stig Bakken
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: pgsql.php,v 1.138 2007/09/21 13:40:41 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's pgsql extension
- * for interacting with PostgreSQL databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * @category Database
- * @package DB
- * @author Rui Hirokawa
- * @author Stig Bakken
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_pgsql extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'pgsql';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'pgsql';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'alter',
- 'new_link' => '4.3.0',
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => true,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The quantity of transactions begun
- *
- * {@internal While this is private, it can't actually be designated
- * private in PHP 5 because it is directly accessed in the test suite.}}
- *
- * @var integer
- * @access private
- */
- var $transaction_opcount = 0;
-
- /**
- * The number of rows affected by a data manipulation query
- * @var integer
- */
- var $affected = 0;
-
- /**
- * The current row being looked at in fetchInto()
- * @var array
- * @access private
- */
- var $row = array();
-
- /**
- * The number of rows in a given result set
- * @var array
- * @access private
- */
- var $_num_rows = array();
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_pgsql()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's pgsql driver supports the following extra DSN options:
- * + connect_timeout How many seconds to wait for a connection to
- * be established. Available since PEAR DB 1.7.0.
- * + new_link If set to true, causes subsequent calls to
- * connect() to return a new connection link
- * instead of the existing one. WARNING: this is
- * not portable to other DBMS's. Available only
- * if PHP is >= 4.3.0 and PEAR DB is >= 1.7.0.
- * + options Command line options to be sent to the server.
- * Available since PEAR DB 1.6.4.
- * + service Specifies a service name in pg_service.conf that
- * holds additional connection parameters.
- * Available since PEAR DB 1.7.0.
- * + sslmode How should SSL be used when connecting? Values:
- * disable, allow, prefer or require.
- * Available since PEAR DB 1.7.0.
- * + tty This was used to specify where to send server
- * debug output. Available since PEAR DB 1.6.4.
- *
- * Example of connecting to a new link via a socket:
- *
- * require_once 'DB.php';
- *
- * $dsn = 'pgsql://user:pass@unix(/tmp)/dbname?new_link=true';
- * $options = array(
- * 'portability' => DB_PORTABILITY_ALL,
- * );
- *
- * $db = DB::connect($dsn, $options);
- * if (PEAR::isError($db)) {
- * die($db->getMessage());
- * }
- *
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @link http://www.postgresql.org/docs/current/static/libpq.html#LIBPQ-CONNECT
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('pgsql')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $protocol = $dsn['protocol'] ? $dsn['protocol'] : 'tcp';
-
- $params = array('');
- if ($protocol == 'tcp') {
- if ($dsn['hostspec']) {
- $params[0] .= 'host=' . $dsn['hostspec'];
- }
- if ($dsn['port']) {
- $params[0] .= ' port=' . $dsn['port'];
- }
- } elseif ($protocol == 'unix') {
- // Allow for pg socket in non-standard locations.
- if ($dsn['socket']) {
- $params[0] .= 'host=' . $dsn['socket'];
- }
- if ($dsn['port']) {
- $params[0] .= ' port=' . $dsn['port'];
- }
- }
- if ($dsn['database']) {
- $params[0] .= ' dbname=\'' . addslashes($dsn['database']) . '\'';
- }
- if ($dsn['username']) {
- $params[0] .= ' user=\'' . addslashes($dsn['username']) . '\'';
- }
- if ($dsn['password']) {
- $params[0] .= ' password=\'' . addslashes($dsn['password']) . '\'';
- }
- if (!empty($dsn['options'])) {
- $params[0] .= ' options=' . $dsn['options'];
- }
- if (!empty($dsn['tty'])) {
- $params[0] .= ' tty=' . $dsn['tty'];
- }
- if (!empty($dsn['connect_timeout'])) {
- $params[0] .= ' connect_timeout=' . $dsn['connect_timeout'];
- }
- if (!empty($dsn['sslmode'])) {
- $params[0] .= ' sslmode=' . $dsn['sslmode'];
- }
- if (!empty($dsn['service'])) {
- $params[0] .= ' service=' . $dsn['service'];
- }
-
- if (isset($dsn['new_link'])
- && ($dsn['new_link'] == 'true' || $dsn['new_link'] === true))
- {
- if (version_compare(phpversion(), '4.3.0', '>=')) {
- $params[] = PGSQL_CONNECT_FORCE_NEW;
- }
- }
-
- $connect_function = $persistent ? 'pg_pconnect' : 'pg_connect';
-
- $ini = ini_get('track_errors');
- $php_errormsg = '';
- if ($ini) {
- $this->connection = @call_user_func_array($connect_function,
- $params);
- } else {
- @ini_set('track_errors', 1);
- $this->connection = @call_user_func_array($connect_function,
- $params);
- @ini_set('track_errors', $ini);
- }
-
- if (!$this->connection) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- $php_errormsg);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @pg_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
- if (!$this->autocommit && $ismanip) {
- if ($this->transaction_opcount == 0) {
- $result = @pg_exec($this->connection, 'begin;');
- if (!$result) {
- return $this->pgsqlRaiseError();
- }
- }
- $this->transaction_opcount++;
- }
- $result = @pg_exec($this->connection, $query);
- if (!$result) {
- return $this->pgsqlRaiseError();
- }
-
- /*
- * Determine whether queries produce affected rows, result or nothing.
- *
- * This logic was introduced in version 1.1 of the file by ssb,
- * though the regex has been modified slightly since then.
- *
- * PostgreSQL commands:
- * ABORT, ALTER, BEGIN, CLOSE, CLUSTER, COMMIT, COPY,
- * CREATE, DECLARE, DELETE, DROP TABLE, EXPLAIN, FETCH,
- * GRANT, INSERT, LISTEN, LOAD, LOCK, MOVE, NOTIFY, RESET,
- * REVOKE, ROLLBACK, SELECT, SELECT INTO, SET, SHOW,
- * UNLISTEN, UPDATE, VACUUM
- */
- if ($ismanip) {
- $this->affected = @pg_affected_rows($result);
- return DB_OK;
- } elseif (preg_match('/^\s*\(*\s*(SELECT|EXPLAIN|FETCH|SHOW)\s/si',
- $query))
- {
- $this->row[(int)$result] = 0; // reset the row counter.
- $numrows = $this->numRows($result);
- if (is_object($numrows)) {
- return $numrows;
- }
- $this->_num_rows[(int)$result] = $numrows;
- $this->affected = 0;
- return $result;
- } else {
- $this->affected = 0;
- return DB_OK;
- }
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal pgsql result pointer to the next available result
- *
- * @param a valid fbsql result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- $result_int = (int)$result;
- $rownum = ($rownum !== null) ? $rownum : $this->row[$result_int];
- if ($rownum >= $this->_num_rows[$result_int]) {
- return null;
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @pg_fetch_array($result, $rownum, PGSQL_ASSOC);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @pg_fetch_row($result, $rownum);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- $this->row[$result_int] = ++$rownum;
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- if (is_resource($result)) {
- unset($this->row[(int)$result]);
- unset($this->_num_rows[(int)$result]);
- $this->affected = 0;
- return @pg_freeresult($result);
- }
- return false;
- }
-
- // }}}
- // {{{ quote()
-
- /**
- * @deprecated Deprecated in release 1.6.0
- * @internal
- */
- function quote($str)
- {
- return $this->quoteSmart($str);
- }
-
- // }}}
- // {{{ quoteBoolean()
-
- /**
- * Formats a boolean value for use within a query in a locale-independent
- * manner.
- *
- * @param boolean the boolean value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteBoolean($boolean) {
- return $boolean ? 'TRUE' : 'FALSE';
- }
-
- // }}}
- // {{{ escapeSimple()
-
- /**
- * Escapes a string according to the current DBMS's standards
- *
- * {@internal PostgreSQL treats a backslash as an escape character,
- * so they are escaped as well.
- *
- * @param string $str the string to be escaped
- *
- * @return string the escaped string
- *
- * @see DB_common::quoteSmart()
- * @since Method available since Release 1.6.0
- */
- function escapeSimple($str)
- {
- if (function_exists('pg_escape_string')) {
- /* This fixes an undocumented BC break in PHP 5.2.0 which changed
- * the prototype of pg_escape_string. I'm not thrilled about having
- * to sniff the PHP version, quite frankly, but it's the only way
- * to deal with the problem. Revision 1.331.2.13.2.10 on
- * php-src/ext/pgsql/pgsql.c (PHP_5_2 branch) is to blame, for the
- * record. */
- if (version_compare(PHP_VERSION, '5.2.0', '>=')) {
- return pg_escape_string($this->connection, $str);
- } else {
- return pg_escape_string($str);
- }
- } else {
- return str_replace("'", "''", str_replace('\\', '\\\\', $str));
- }
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @pg_numfields($result);
- if (!$cols) {
- return $this->pgsqlRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @pg_numrows($result);
- if ($rows === null) {
- return $this->pgsqlRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- // XXX if $this->transaction_opcount > 0, we should probably
- // issue a warning here.
- $this->autocommit = $onoff ? true : false;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if ($this->transaction_opcount > 0) {
- // (disabled) hack to shut up error messages from libpq.a
- //@fclose(@fopen("php://stderr", "w"));
- $result = @pg_exec($this->connection, 'end;');
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->pgsqlRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if ($this->transaction_opcount > 0) {
- $result = @pg_exec($this->connection, 'abort;');
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->pgsqlRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- return $this->affected;
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_pgsql::createSequence(), DB_pgsql::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- $repeat = false;
- do {
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("SELECT NEXTVAL('${seqname}')");
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE) {
- $repeat = true;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->createSequence($seq_name);
- $this->popErrorHandling();
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- } else {
- $repeat = false;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $arr = $result->fetchRow(DB_FETCHMODE_ORDERED);
- $result->free();
- return $arr[0];
- }
-
- // }}}
- // {{{ createSequence()
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_pgsql::nextID(), DB_pgsql::dropSequence()
- */
- function createSequence($seq_name)
- {
- $seqname = $this->getSequenceName($seq_name);
- $result = $this->query("CREATE SEQUENCE ${seqname}");
- return $result;
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_pgsql::nextID(), DB_pgsql::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP SEQUENCE '
- . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- return "$query LIMIT $count OFFSET $from";
- }
-
- // }}}
- // {{{ pgsqlRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_pgsql::errorNative(), DB_pgsql::errorCode()
- */
- function pgsqlRaiseError($errno = null)
- {
- $native = $this->errorNative();
- if (!$native) {
- $native = 'Database connection has been lost.';
- $errno = DB_ERROR_CONNECT_FAILED;
- }
- if ($errno === null) {
- $errno = $this->errorCode($native);
- }
- return $this->raiseError($errno, null, null, null, $native);
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error message produced by the last query
- *
- * {@internal Error messages are used instead of error codes
- * in order to support older versions of PostgreSQL.}}
- *
- * @return string the DBMS' error message
- */
- function errorNative()
- {
- return @pg_errormessage($this->connection);
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Determines PEAR::DB error code from the database's text error message.
- *
- * @param string $errormsg error message returned from the database
- * @return integer an error number from a DB error constant
- */
- function errorCode($errormsg)
- {
- static $error_regexps;
- if (!isset($error_regexps)) {
- $error_regexps = array(
- '/column .* (of relation .*)?does not exist/i'
- => DB_ERROR_NOSUCHFIELD,
- '/(relation|sequence|table).*does not exist|class .* not found/i'
- => DB_ERROR_NOSUCHTABLE,
- '/index .* does not exist/'
- => DB_ERROR_NOT_FOUND,
- '/relation .* already exists/i'
- => DB_ERROR_ALREADY_EXISTS,
- '/(divide|division) by zero$/i'
- => DB_ERROR_DIVZERO,
- '/pg_atoi: error in .*: can\'t parse /i'
- => DB_ERROR_INVALID_NUMBER,
- '/invalid input syntax for( type)? (integer|numeric)/i'
- => DB_ERROR_INVALID_NUMBER,
- '/value .* is out of range for type \w*int/i'
- => DB_ERROR_INVALID_NUMBER,
- '/integer out of range/i'
- => DB_ERROR_INVALID_NUMBER,
- '/value too long for type character/i'
- => DB_ERROR_INVALID,
- '/attribute .* not found|relation .* does not have attribute/i'
- => DB_ERROR_NOSUCHFIELD,
- '/column .* specified in USING clause does not exist in (left|right) table/i'
- => DB_ERROR_NOSUCHFIELD,
- '/parser: parse error at or near/i'
- => DB_ERROR_SYNTAX,
- '/syntax error at/'
- => DB_ERROR_SYNTAX,
- '/column reference .* is ambiguous/i'
- => DB_ERROR_SYNTAX,
- '/permission denied/'
- => DB_ERROR_ACCESS_VIOLATION,
- '/violates not-null constraint/'
- => DB_ERROR_CONSTRAINT_NOT_NULL,
- '/violates [\w ]+ constraint/'
- => DB_ERROR_CONSTRAINT,
- '/referential integrity violation/'
- => DB_ERROR_CONSTRAINT,
- '/more expressions than target columns/i'
- => DB_ERROR_VALUE_COUNT_ON_ROW,
- );
- }
- foreach ($error_regexps as $regexp => $code) {
- if (preg_match($regexp, $errormsg)) {
- return $code;
- }
- }
- // Fall back to DB_ERROR if there was no mapping.
- return DB_ERROR;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * NOTE: only supports 'table' and 'flags' if $result
- * is a table name.
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @pg_exec($this->connection, "SELECT * FROM $result LIMIT 0");
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->pgsqlRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @pg_numfields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $res[$i] = array(
- 'table' => $got_string ? $case_func($result) : '',
- 'name' => $case_func(@pg_fieldname($id, $i)),
- 'type' => @pg_fieldtype($id, $i),
- 'len' => @pg_fieldsize($id, $i),
- 'flags' => $got_string
- ? $this->_pgFieldFlags($id, $i, $result)
- : '',
- );
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @pg_freeresult($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ _pgFieldFlags()
-
- /**
- * Get a column's flags
- *
- * Supports "not_null", "default_value", "primary_key", "unique_key"
- * and "multiple_key". The default value is passed through
- * rawurlencode() in case there are spaces in it.
- *
- * @param int $resource the PostgreSQL result identifier
- * @param int $num_field the field number
- *
- * @return string the flags
- *
- * @access private
- */
- function _pgFieldFlags($resource, $num_field, $table_name)
- {
- $field_name = @pg_fieldname($resource, $num_field);
-
- // Check if there's a schema in $table_name and update things
- // accordingly.
- $from = 'pg_attribute f, pg_class tab, pg_type typ';
- if (strpos($table_name, '.') !== false) {
- $from .= ', pg_namespace nsp';
- list($schema, $table) = explode('.', $table_name);
- $tableWhere = "tab.relname = '$table' AND tab.relnamespace = nsp.oid AND nsp.nspname = '$schema'";
- } else {
- $tableWhere = "tab.relname = '$table_name'";
- }
-
- $result = @pg_exec($this->connection, "SELECT f.attnotnull, f.atthasdef
- FROM $from
- WHERE tab.relname = typ.typname
- AND typ.typrelid = f.attrelid
- AND f.attname = '$field_name'
- AND $tableWhere");
- if (@pg_numrows($result) > 0) {
- $row = @pg_fetch_row($result, 0);
- $flags = ($row[0] == 't') ? 'not_null ' : '';
-
- if ($row[1] == 't') {
- $result = @pg_exec($this->connection, "SELECT a.adsrc
- FROM $from, pg_attrdef a
- WHERE tab.relname = typ.typname AND typ.typrelid = f.attrelid
- AND f.attrelid = a.adrelid AND f.attname = '$field_name'
- AND $tableWhere AND f.attnum = a.adnum");
- $row = @pg_fetch_row($result, 0);
- $num = preg_replace("/'(.*)'::\w+/", "\\1", $row[0]);
- $flags .= 'default_' . rawurlencode($num) . ' ';
- }
- } else {
- $flags = '';
- }
- $result = @pg_exec($this->connection, "SELECT i.indisunique, i.indisprimary, i.indkey
- FROM $from, pg_index i
- WHERE tab.relname = typ.typname
- AND typ.typrelid = f.attrelid
- AND f.attrelid = i.indrelid
- AND f.attname = '$field_name'
- AND $tableWhere");
- $count = @pg_numrows($result);
-
- for ($i = 0; $i < $count ; $i++) {
- $row = @pg_fetch_row($result, $i);
- $keys = explode(' ', $row[2]);
-
- if (in_array($num_field + 1, $keys)) {
- $flags .= ($row[0] == 't' && $row[1] == 'f') ? 'unique_key ' : '';
- $flags .= ($row[1] == 't') ? 'primary_key ' : '';
- if (count($keys) > 1)
- $flags .= 'multiple_key ';
- }
- }
-
- return trim($flags);
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return 'SELECT c.relname AS "Name"'
- . ' FROM pg_class c, pg_user u'
- . ' WHERE c.relowner = u.usesysid'
- . " AND c.relkind = 'r'"
- . ' AND NOT EXISTS'
- . ' (SELECT 1 FROM pg_views'
- . ' WHERE viewname = c.relname)'
- . " AND c.relname !~ '^(pg_|sql_)'"
- . ' UNION'
- . ' SELECT c.relname AS "Name"'
- . ' FROM pg_class c'
- . " WHERE c.relkind = 'r'"
- . ' AND NOT EXISTS'
- . ' (SELECT 1 FROM pg_views'
- . ' WHERE viewname = c.relname)'
- . ' AND NOT EXISTS'
- . ' (SELECT 1 FROM pg_user'
- . ' WHERE usesysid = c.relowner)'
- . " AND c.relname !~ '^pg_'";
- case 'schema.tables':
- return "SELECT schemaname || '.' || tablename"
- . ' AS "Name"'
- . ' FROM pg_catalog.pg_tables'
- . ' WHERE schemaname NOT IN'
- . " ('pg_catalog', 'information_schema', 'pg_toast')";
- case 'schema.views':
- return "SELECT schemaname || '.' || viewname from pg_views WHERE schemaname"
- . " NOT IN ('information_schema', 'pg_catalog')";
- case 'views':
- // Table cols: viewname | viewowner | definition
- return 'SELECT viewname from pg_views WHERE schemaname'
- . " NOT IN ('information_schema', 'pg_catalog')";
- case 'users':
- // cols: usename |usesysid|usecreatedb|usetrace|usesuper|usecatupd|passwd |valuntil
- return 'SELECT usename FROM pg_user';
- case 'databases':
- return 'SELECT datname FROM pg_database';
- case 'functions':
- case 'procedures':
- return 'SELECT proname FROM pg_proc WHERE proowner <> 1';
- default:
- return null;
- }
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/sqlite.php b/airtime_mvc/library/pear/DB/sqlite.php
deleted file mode 100644
index bf2acec5a..000000000
--- a/airtime_mvc/library/pear/DB/sqlite.php
+++ /dev/null
@@ -1,959 +0,0 @@
-
- * @author Mika Tuupola
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0 3.0
- * @version CVS: $Id: sqlite.php,v 1.117 2007/09/21 14:23:28 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's sqlite extension
- * for interacting with SQLite databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * NOTICE: This driver needs PHP's track_errors ini setting to be on.
- * It is automatically turned on when connecting to the database.
- * Make sure your scripts don't turn it off.
- *
- * @category Database
- * @package DB
- * @author Urs Gehrig
- * @author Mika Tuupola
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_sqlite extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'sqlite';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'sqlite';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'alter',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => false,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- *
- * {@internal Error codes according to sqlite_exec. See the online
- * manual at http://sqlite.org/c_interface.html for info.
- * This error handling based on sqlite_exec is not yet implemented.}}
- *
- * @var array
- */
- var $errorcode_map = array(
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * SQLite data types
- *
- * @link http://www.sqlite.org/datatypes.html
- *
- * @var array
- */
- var $keywords = array (
- 'BLOB' => '',
- 'BOOLEAN' => '',
- 'CHARACTER' => '',
- 'CLOB' => '',
- 'FLOAT' => '',
- 'INTEGER' => '',
- 'KEY' => '',
- 'NATIONAL' => '',
- 'NUMERIC' => '',
- 'NVARCHAR' => '',
- 'PRIMARY' => '',
- 'TEXT' => '',
- 'TIMESTAMP' => '',
- 'UNIQUE' => '',
- 'VARCHAR' => '',
- 'VARYING' => '',
- );
-
- /**
- * The most recent error message from $php_errormsg
- * @var string
- * @access private
- */
- var $_lasterror = '';
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_sqlite()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's sqlite driver supports the following extra DSN options:
- * + mode The permissions for the database file, in four digit
- * chmod octal format (eg "0600").
- *
- * Example of connecting to a database in read-only mode:
- *
- * require_once 'DB.php';
- *
- * $dsn = 'sqlite:///path/and/name/of/db/file?mode=0400';
- * $options = array(
- * 'portability' => DB_PORTABILITY_ALL,
- * );
- *
- * $db = DB::connect($dsn, $options);
- * if (PEAR::isError($db)) {
- * die($db->getMessage());
- * }
- *
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('sqlite')) {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- if (!$dsn['database']) {
- return $this->sqliteRaiseError(DB_ERROR_ACCESS_VIOLATION);
- }
-
- if ($dsn['database'] !== ':memory:') {
- if (!file_exists($dsn['database'])) {
- if (!touch($dsn['database'])) {
- return $this->sqliteRaiseError(DB_ERROR_NOT_FOUND);
- }
- if (!isset($dsn['mode']) ||
- !is_numeric($dsn['mode']))
- {
- $mode = 0644;
- } else {
- $mode = octdec($dsn['mode']);
- }
- if (!chmod($dsn['database'], $mode)) {
- return $this->sqliteRaiseError(DB_ERROR_NOT_FOUND);
- }
- if (!file_exists($dsn['database'])) {
- return $this->sqliteRaiseError(DB_ERROR_NOT_FOUND);
- }
- }
- if (!is_file($dsn['database'])) {
- return $this->sqliteRaiseError(DB_ERROR_INVALID);
- }
- if (!is_readable($dsn['database'])) {
- return $this->sqliteRaiseError(DB_ERROR_ACCESS_VIOLATION);
- }
- }
-
- $connect_function = $persistent ? 'sqlite_popen' : 'sqlite_open';
-
- // track_errors must remain on for simpleQuery()
- @ini_set('track_errors', 1);
- $php_errormsg = '';
-
- if (!$this->connection = @$connect_function($dsn['database'])) {
- return $this->raiseError(DB_ERROR_NODBSELECTED,
- null, null, null,
- $php_errormsg);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @sqlite_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * NOTICE: This method needs PHP's track_errors ini setting to be on.
- * It is automatically turned on when connecting to the database.
- * Make sure your scripts don't turn it off.
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- $query = $this->modifyQuery($query);
-
- $php_errormsg = '';
-
- $result = @sqlite_query($query, $this->connection);
- $this->_lasterror = $php_errormsg ? $php_errormsg : '';
-
- $this->result = $result;
- if (!$this->result) {
- return $this->sqliteRaiseError(null);
- }
-
- // sqlite_query() seems to allways return a resource
- // so cant use that. Using $ismanip instead
- if (!$ismanip) {
- $numRows = $this->numRows($result);
- if (is_object($numRows)) {
- // we've got PEAR_Error
- return $numRows;
- }
- return $result;
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal sqlite result pointer to the next available result
- *
- * @param resource $result the valid sqlite result resource
- *
- * @return bool true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@sqlite_seek($this->result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- $arr = @sqlite_fetch_array($result, SQLITE_ASSOC);
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
-
- /* Remove extraneous " characters from the fields in the result.
- * Fixes bug #11716. */
- if (is_array($arr) && count($arr) > 0) {
- $strippedArr = array();
- foreach ($arr as $field => $value) {
- $strippedArr[trim($field, '"')] = $value;
- }
- $arr = $strippedArr;
- }
- } else {
- $arr = @sqlite_fetch_array($result, SQLITE_NUM);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- /*
- * Even though this DBMS already trims output, we do this because
- * a field might have intentional whitespace at the end that
- * gets removed by DB_PORTABILITY_RTRIM under another driver.
- */
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult(&$result)
- {
- // XXX No native free?
- if (!is_resource($result)) {
- return false;
- }
- $result = null;
- return true;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @sqlite_num_fields($result);
- if (!$cols) {
- return $this->sqliteRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @sqlite_num_rows($result);
- if ($rows === null) {
- return $this->sqliteRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ affected()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- return @sqlite_changes($this->connection);
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_sqlite::nextID(), DB_sqlite::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_sqlite::nextID(), DB_sqlite::dropSequence()
- */
- function createSequence($seq_name)
- {
- $seqname = $this->getSequenceName($seq_name);
- $query = 'CREATE TABLE ' . $seqname .
- ' (id INTEGER UNSIGNED PRIMARY KEY) ';
- $result = $this->query($query);
- if (DB::isError($result)) {
- return($result);
- }
- $query = "CREATE TRIGGER ${seqname}_cleanup AFTER INSERT ON $seqname
- BEGIN
- DELETE FROM $seqname WHERE idquery($query);
- if (DB::isError($result)) {
- return($result);
- }
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_sqlite::createSequence(), DB_sqlite::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
-
- do {
- $repeat = 0;
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("INSERT INTO $seqname (id) VALUES (NULL)");
- $this->popErrorHandling();
- if ($result === DB_OK) {
- $id = @sqlite_last_insert_rowid($this->connection);
- if ($id != 0) {
- return $id;
- }
- } elseif ($ondemand && DB::isError($result) &&
- $result->getCode() == DB_ERROR_NOSUCHTABLE)
- {
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- } else {
- $repeat = 1;
- }
- }
- } while ($repeat);
-
- return $this->raiseError($result);
- }
-
- // }}}
- // {{{ getDbFileStats()
-
- /**
- * Get the file stats for the current database
- *
- * Possible arguments are dev, ino, mode, nlink, uid, gid, rdev, size,
- * atime, mtime, ctime, blksize, blocks or a numeric key between
- * 0 and 12.
- *
- * @param string $arg the array key for stats()
- *
- * @return mixed an array on an unspecified key, integer on a passed
- * arg and false at a stats error
- */
- function getDbFileStats($arg = '')
- {
- $stats = stat($this->dsn['database']);
- if ($stats == false) {
- return false;
- }
- if (is_array($stats)) {
- if (is_numeric($arg)) {
- if (((int)$arg <= 12) & ((int)$arg >= 0)) {
- return false;
- }
- return $stats[$arg ];
- }
- if (array_key_exists(trim($arg), $stats)) {
- return $stats[$arg ];
- }
- }
- return $stats;
- }
-
- // }}}
- // {{{ escapeSimple()
-
- /**
- * Escapes a string according to the current DBMS's standards
- *
- * In SQLite, this makes things safe for inserts/updates, but may
- * cause problems when performing text comparisons against columns
- * containing binary data. See the
- * {@link http://php.net/sqlite_escape_string PHP manual} for more info.
- *
- * @param string $str the string to be escaped
- *
- * @return string the escaped string
- *
- * @since Method available since Release 1.6.1
- * @see DB_common::escapeSimple()
- */
- function escapeSimple($str)
- {
- return @sqlite_escape_string($str);
- }
-
- // }}}
- // {{{ modifyLimitQuery()
-
- /**
- * Adds LIMIT clauses to a query string according to current DBMS standards
- *
- * @param string $query the query to modify
- * @param int $from the row to start to fetching (0 = the first row)
- * @param int $count the numbers of rows to fetch
- * @param mixed $params array, string or numeric data to be used in
- * execution of the statement. Quantity of items
- * passed must match quantity of placeholders in
- * query: meaning 1 placeholder for non-array
- * parameters or 1 placeholder per array element.
- *
- * @return string the query string with LIMIT clauses added
- *
- * @access protected
- */
- function modifyLimitQuery($query, $from, $count, $params = array())
- {
- return "$query LIMIT $count OFFSET $from";
- }
-
- // }}}
- // {{{ modifyQuery()
-
- /**
- * Changes a query string for various DBMS specific reasons
- *
- * This little hack lets you know how many rows were deleted
- * when running a "DELETE FROM table" query. Only implemented
- * if the DB_PORTABILITY_DELETE_COUNT portability option is on.
- *
- * @param string $query the query string to modify
- *
- * @return string the modified query string
- *
- * @access protected
- * @see DB_common::setOption()
- */
- function modifyQuery($query)
- {
- if ($this->options['portability'] & DB_PORTABILITY_DELETE_COUNT) {
- if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $query)) {
- $query = preg_replace('/^\s*DELETE\s+FROM\s+(\S+)\s*$/',
- 'DELETE FROM \1 WHERE 1=1', $query);
- }
- }
- return $query;
- }
-
- // }}}
- // {{{ sqliteRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_sqlite::errorNative(), DB_sqlite::errorCode()
- */
- function sqliteRaiseError($errno = null)
- {
- $native = $this->errorNative();
- if ($errno === null) {
- $errno = $this->errorCode($native);
- }
-
- $errorcode = @sqlite_last_error($this->connection);
- $userinfo = "$errorcode ** $this->last_query";
-
- return $this->raiseError($errno, null, null, $userinfo, $native);
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error message produced by the last query
- *
- * {@internal This is used to retrieve more meaningfull error messages
- * because sqlite_last_error() does not provide adequate info.}}
- *
- * @return string the DBMS' error message
- */
- function errorNative()
- {
- return $this->_lasterror;
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Determines PEAR::DB error code from the database's text error message
- *
- * @param string $errormsg the error message returned from the database
- *
- * @return integer the DB error number
- */
- function errorCode($errormsg)
- {
- static $error_regexps;
-
- // PHP 5.2+ prepends the function name to $php_errormsg, so we need
- // this hack to work around it, per bug #9599.
- $errormsg = preg_replace('/^sqlite[a-z_]+\(\): /', '', $errormsg);
-
- if (!isset($error_regexps)) {
- $error_regexps = array(
- '/^no such table:/' => DB_ERROR_NOSUCHTABLE,
- '/^no such index:/' => DB_ERROR_NOT_FOUND,
- '/^(table|index) .* already exists$/' => DB_ERROR_ALREADY_EXISTS,
- '/PRIMARY KEY must be unique/i' => DB_ERROR_CONSTRAINT,
- '/is not unique/' => DB_ERROR_CONSTRAINT,
- '/columns .* are not unique/i' => DB_ERROR_CONSTRAINT,
- '/uniqueness constraint failed/' => DB_ERROR_CONSTRAINT,
- '/may not be NULL/' => DB_ERROR_CONSTRAINT_NOT_NULL,
- '/^no such column:/' => DB_ERROR_NOSUCHFIELD,
- '/column not present in both tables/i' => DB_ERROR_NOSUCHFIELD,
- '/^near ".*": syntax error$/' => DB_ERROR_SYNTAX,
- '/[0-9]+ values for [0-9]+ columns/i' => DB_ERROR_VALUE_COUNT_ON_ROW,
- );
- }
- foreach ($error_regexps as $regexp => $code) {
- if (preg_match($regexp, $errormsg)) {
- return $code;
- }
- }
- // Fall back to DB_ERROR if there was no mapping.
- return DB_ERROR;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table
- *
- * @param string $result a string containing the name of a table
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- * @since Method available since Release 1.7.0
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- $id = @sqlite_array_query($this->connection,
- "PRAGMA table_info('$result');",
- SQLITE_ASSOC);
- $got_string = true;
- } else {
- $this->last_query = '';
- return $this->raiseError(DB_ERROR_NOT_CAPABLE, null, null, null,
- 'This DBMS can not obtain tableInfo' .
- ' from result sets');
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = count($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- if (strpos($id[$i]['type'], '(') !== false) {
- $bits = explode('(', $id[$i]['type']);
- $type = $bits[0];
- $len = rtrim($bits[1],')');
- } else {
- $type = $id[$i]['type'];
- $len = 0;
- }
-
- $flags = '';
- if ($id[$i]['pk']) {
- $flags .= 'primary_key ';
- }
- if ($id[$i]['notnull']) {
- $flags .= 'not_null ';
- }
- if ($id[$i]['dflt_value'] !== null) {
- $flags .= 'default_' . rawurlencode($id[$i]['dflt_value']);
- }
- $flags = trim($flags);
-
- $res[$i] = array(
- 'table' => $case_func($result),
- 'name' => $case_func($id[$i]['name']),
- 'type' => $type,
- 'len' => $len,
- 'flags' => $flags,
- );
-
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- return $res;
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- * @param array $args SQLITE DRIVER ONLY: a private array of arguments
- * used by the getSpecialQuery(). Do not use
- * this directly.
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type, $args = array())
- {
- if (!is_array($args)) {
- return $this->raiseError('no key specified', null, null, null,
- 'Argument has to be an array.');
- }
-
- switch ($type) {
- case 'master':
- return 'SELECT * FROM sqlite_master;';
- case 'tables':
- return "SELECT name FROM sqlite_master WHERE type='table' "
- . 'UNION ALL SELECT name FROM sqlite_temp_master '
- . "WHERE type='table' ORDER BY name;";
- case 'schema':
- return 'SELECT sql FROM (SELECT * FROM sqlite_master '
- . 'UNION ALL SELECT * FROM sqlite_temp_master) '
- . "WHERE type!='meta' "
- . 'ORDER BY tbl_name, type DESC, name;';
- case 'schemax':
- case 'schema_x':
- /*
- * Use like:
- * $res = $db->query($db->getSpecialQuery('schema_x',
- * array('table' => 'table3')));
- */
- return 'SELECT sql FROM (SELECT * FROM sqlite_master '
- . 'UNION ALL SELECT * FROM sqlite_temp_master) '
- . "WHERE tbl_name LIKE '{$args['table']}' "
- . "AND type!='meta' "
- . 'ORDER BY type DESC, name;';
- case 'alter':
- /*
- * SQLite does not support ALTER TABLE; this is a helper query
- * to handle this. 'table' represents the table name, 'rows'
- * the news rows to create, 'save' the row(s) to keep _with_
- * the data.
- *
- * Use like:
- * $args = array(
- * 'table' => $table,
- * 'rows' => "id INTEGER PRIMARY KEY, firstname TEXT, surname TEXT, datetime TEXT",
- * 'save' => "NULL, titel, content, datetime"
- * );
- * $res = $db->query( $db->getSpecialQuery('alter', $args));
- */
- $rows = strtr($args['rows'], $this->keywords);
-
- $q = array(
- 'BEGIN TRANSACTION',
- "CREATE TEMPORARY TABLE {$args['table']}_backup ({$args['rows']})",
- "INSERT INTO {$args['table']}_backup SELECT {$args['save']} FROM {$args['table']}",
- "DROP TABLE {$args['table']}",
- "CREATE TABLE {$args['table']} ({$args['rows']})",
- "INSERT INTO {$args['table']} SELECT {$rows} FROM {$args['table']}_backup",
- "DROP TABLE {$args['table']}_backup",
- 'COMMIT',
- );
-
- /*
- * This is a dirty hack, since the above query will not get
- * executed with a single query call so here the query method
- * will be called directly and return a select instead.
- */
- foreach ($q as $query) {
- $this->query($query);
- }
- return "SELECT * FROM {$args['table']};";
- default:
- return null;
- }
- }
-
- // }}}
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/storage.php b/airtime_mvc/library/pear/DB/storage.php
deleted file mode 100644
index 30762e87e..000000000
--- a/airtime_mvc/library/pear/DB/storage.php
+++ /dev/null
@@ -1,506 +0,0 @@
-
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: storage.php,v 1.24 2007/08/12 05:27:25 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB class so it can be extended from
- */
-require_once 'DB.php';
-
-/**
- * Provides an object interface to a table row
- *
- * It lets you add, delete and change rows using objects rather than SQL
- * statements.
- *
- * @category Database
- * @package DB
- * @author Stig Bakken
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_storage extends PEAR
-{
- // {{{ properties
-
- /** the name of the table (or view, if the backend database supports
- updates in views) we hold data from */
- var $_table = null;
-
- /** which column(s) in the table contains primary keys, can be a
- string for single-column primary keys, or an array of strings
- for multiple-column primary keys */
- var $_keycolumn = null;
-
- /** DB connection handle used for all transactions */
- var $_dbh = null;
-
- /** an assoc with the names of database fields stored as properties
- in this object */
- var $_properties = array();
-
- /** an assoc with the names of the properties in this object that
- have been changed since they were fetched from the database */
- var $_changes = array();
-
- /** flag that decides if data in this object can be changed.
- objects that don't have their table's key column in their
- property lists will be flagged as read-only. */
- var $_readonly = false;
-
- /** function or method that implements a validator for fields that
- are set, this validator function returns true if the field is
- valid, false if not */
- var $_validator = null;
-
- // }}}
- // {{{ constructor
-
- /**
- * Constructor
- *
- * @param $table string the name of the database table
- *
- * @param $keycolumn mixed string with name of key column, or array of
- * strings if the table has a primary key of more than one column
- *
- * @param $dbh object database connection object
- *
- * @param $validator mixed function or method used to validate
- * each new value, called with three parameters: the name of the
- * field/column that is changing, a reference to the new value and
- * a reference to this object
- *
- */
- function DB_storage($table, $keycolumn, &$dbh, $validator = null)
- {
- $this->PEAR('DB_Error');
- $this->_table = $table;
- $this->_keycolumn = $keycolumn;
- $this->_dbh = $dbh;
- $this->_readonly = false;
- $this->_validator = $validator;
- }
-
- // }}}
- // {{{ _makeWhere()
-
- /**
- * Utility method to build a "WHERE" clause to locate ourselves in
- * the table.
- *
- * XXX future improvement: use rowids?
- *
- * @access private
- */
- function _makeWhere($keyval = null)
- {
- if (is_array($this->_keycolumn)) {
- if ($keyval === null) {
- for ($i = 0; $i < sizeof($this->_keycolumn); $i++) {
- $keyval[] = $this->{$this->_keycolumn[$i]};
- }
- }
- $whereclause = '';
- for ($i = 0; $i < sizeof($this->_keycolumn); $i++) {
- if ($i > 0) {
- $whereclause .= ' AND ';
- }
- $whereclause .= $this->_keycolumn[$i];
- if (is_null($keyval[$i])) {
- // there's not much point in having a NULL key,
- // but we support it anyway
- $whereclause .= ' IS NULL';
- } else {
- $whereclause .= ' = ' . $this->_dbh->quote($keyval[$i]);
- }
- }
- } else {
- if ($keyval === null) {
- $keyval = @$this->{$this->_keycolumn};
- }
- $whereclause = $this->_keycolumn;
- if (is_null($keyval)) {
- // there's not much point in having a NULL key,
- // but we support it anyway
- $whereclause .= ' IS NULL';
- } else {
- $whereclause .= ' = ' . $this->_dbh->quote($keyval);
- }
- }
- return $whereclause;
- }
-
- // }}}
- // {{{ setup()
-
- /**
- * Method used to initialize a DB_storage object from the
- * configured table.
- *
- * @param $keyval mixed the key[s] of the row to fetch (string or array)
- *
- * @return int DB_OK on success, a DB error if not
- */
- function setup($keyval)
- {
- $whereclause = $this->_makeWhere($keyval);
- $query = 'SELECT * FROM ' . $this->_table . ' WHERE ' . $whereclause;
- $sth = $this->_dbh->query($query);
- if (DB::isError($sth)) {
- return $sth;
- }
- $row = $sth->fetchRow(DB_FETCHMODE_ASSOC);
- if (DB::isError($row)) {
- return $row;
- }
- if (!$row) {
- return $this->raiseError(null, DB_ERROR_NOT_FOUND, null, null,
- $query, null, true);
- }
- foreach ($row as $key => $value) {
- $this->_properties[$key] = true;
- $this->$key = $value;
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ insert()
-
- /**
- * Create a new (empty) row in the configured table for this
- * object.
- */
- function insert($newpk)
- {
- if (is_array($this->_keycolumn)) {
- $primarykey = $this->_keycolumn;
- } else {
- $primarykey = array($this->_keycolumn);
- }
- settype($newpk, "array");
- for ($i = 0; $i < sizeof($primarykey); $i++) {
- $pkvals[] = $this->_dbh->quote($newpk[$i]);
- }
-
- $sth = $this->_dbh->query("INSERT INTO $this->_table (" .
- implode(",", $primarykey) . ") VALUES(" .
- implode(",", $pkvals) . ")");
- if (DB::isError($sth)) {
- return $sth;
- }
- if (sizeof($newpk) == 1) {
- $newpk = $newpk[0];
- }
- $this->setup($newpk);
- }
-
- // }}}
- // {{{ toString()
-
- /**
- * Output a simple description of this DB_storage object.
- * @return string object description
- */
- function toString()
- {
- $info = strtolower(get_class($this));
- $info .= " (table=";
- $info .= $this->_table;
- $info .= ", keycolumn=";
- if (is_array($this->_keycolumn)) {
- $info .= "(" . implode(",", $this->_keycolumn) . ")";
- } else {
- $info .= $this->_keycolumn;
- }
- $info .= ", dbh=";
- if (is_object($this->_dbh)) {
- $info .= $this->_dbh->toString();
- } else {
- $info .= "null";
- }
- $info .= ")";
- if (sizeof($this->_properties)) {
- $info .= " [loaded, key=";
- $keyname = $this->_keycolumn;
- if (is_array($keyname)) {
- $info .= "(";
- for ($i = 0; $i < sizeof($keyname); $i++) {
- if ($i > 0) {
- $info .= ",";
- }
- $info .= $this->$keyname[$i];
- }
- $info .= ")";
- } else {
- $info .= $this->$keyname;
- }
- $info .= "]";
- }
- if (sizeof($this->_changes)) {
- $info .= " [modified]";
- }
- return $info;
- }
-
- // }}}
- // {{{ dump()
-
- /**
- * Dump the contents of this object to "standard output".
- */
- function dump()
- {
- foreach ($this->_properties as $prop => $foo) {
- print "$prop = ";
- print htmlentities($this->$prop);
- print " \n";
- }
- }
-
- // }}}
- // {{{ &create()
-
- /**
- * Static method used to create new DB storage objects.
- * @param $data assoc. array where the keys are the names
- * of properties/columns
- * @return object a new instance of DB_storage or a subclass of it
- */
- function &create($table, &$data)
- {
- $classname = strtolower(get_class($this));
- $obj = new $classname($table);
- foreach ($data as $name => $value) {
- $obj->_properties[$name] = true;
- $obj->$name = &$value;
- }
- return $obj;
- }
-
- // }}}
- // {{{ loadFromQuery()
-
- /**
- * Loads data into this object from the given query. If this
- * object already contains table data, changes will be saved and
- * the object re-initialized first.
- *
- * @param $query SQL query
- *
- * @param $params parameter list in case you want to use
- * prepare/execute mode
- *
- * @return int DB_OK on success, DB_WARNING_READ_ONLY if the
- * returned object is read-only (because the object's specified
- * key column was not found among the columns returned by $query),
- * or another DB error code in case of errors.
- */
-// XXX commented out for now
-/*
- function loadFromQuery($query, $params = null)
- {
- if (sizeof($this->_properties)) {
- if (sizeof($this->_changes)) {
- $this->store();
- $this->_changes = array();
- }
- $this->_properties = array();
- }
- $rowdata = $this->_dbh->getRow($query, DB_FETCHMODE_ASSOC, $params);
- if (DB::isError($rowdata)) {
- return $rowdata;
- }
- reset($rowdata);
- $found_keycolumn = false;
- while (list($key, $value) = each($rowdata)) {
- if ($key == $this->_keycolumn) {
- $found_keycolumn = true;
- }
- $this->_properties[$key] = true;
- $this->$key = &$value;
- unset($value); // have to unset, or all properties will
- // refer to the same value
- }
- if (!$found_keycolumn) {
- $this->_readonly = true;
- return DB_WARNING_READ_ONLY;
- }
- return DB_OK;
- }
- */
-
- // }}}
- // {{{ set()
-
- /**
- * Modify an attriute value.
- */
- function set($property, $newvalue)
- {
- // only change if $property is known and object is not
- // read-only
- if ($this->_readonly) {
- return $this->raiseError(null, DB_WARNING_READ_ONLY, null,
- null, null, null, true);
- }
- if (@isset($this->_properties[$property])) {
- if (empty($this->_validator)) {
- $valid = true;
- } else {
- $valid = @call_user_func($this->_validator,
- $this->_table,
- $property,
- $newvalue,
- $this->$property,
- $this);
- }
- if ($valid) {
- $this->$property = $newvalue;
- if (empty($this->_changes[$property])) {
- $this->_changes[$property] = 0;
- } else {
- $this->_changes[$property]++;
- }
- } else {
- return $this->raiseError(null, DB_ERROR_INVALID, null,
- null, "invalid field: $property",
- null, true);
- }
- return true;
- }
- return $this->raiseError(null, DB_ERROR_NOSUCHFIELD, null,
- null, "unknown field: $property",
- null, true);
- }
-
- // }}}
- // {{{ &get()
-
- /**
- * Fetch an attribute value.
- *
- * @param string attribute name
- *
- * @return attribute contents, or null if the attribute name is
- * unknown
- */
- function &get($property)
- {
- // only return if $property is known
- if (isset($this->_properties[$property])) {
- return $this->$property;
- }
- $tmp = null;
- return $tmp;
- }
-
- // }}}
- // {{{ _DB_storage()
-
- /**
- * Destructor, calls DB_storage::store() if there are changes
- * that are to be kept.
- */
- function _DB_storage()
- {
- if (sizeof($this->_changes)) {
- $this->store();
- }
- $this->_properties = array();
- $this->_changes = array();
- $this->_table = null;
- }
-
- // }}}
- // {{{ store()
-
- /**
- * Stores changes to this object in the database.
- *
- * @return DB_OK or a DB error
- */
- function store()
- {
- $params = array();
- $vars = array();
- foreach ($this->_changes as $name => $foo) {
- $params[] = &$this->$name;
- $vars[] = $name . ' = ?';
- }
- if ($vars) {
- $query = 'UPDATE ' . $this->_table . ' SET ' .
- implode(', ', $vars) . ' WHERE ' .
- $this->_makeWhere();
- $stmt = $this->_dbh->prepare($query);
- $res = $this->_dbh->execute($stmt, $params);
- if (DB::isError($res)) {
- return $res;
- }
- $this->_changes = array();
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ remove()
-
- /**
- * Remove the row represented by this object from the database.
- *
- * @return mixed DB_OK or a DB error
- */
- function remove()
- {
- if ($this->_readonly) {
- return $this->raiseError(null, DB_WARNING_READ_ONLY, null,
- null, null, null, true);
- }
- $query = 'DELETE FROM ' . $this->_table .' WHERE '.
- $this->_makeWhere();
- $res = $this->_dbh->query($query);
- if (DB::isError($res)) {
- return $res;
- }
- foreach ($this->_properties as $prop => $foo) {
- unset($this->$prop);
- }
- $this->_properties = array();
- $this->_changes = array();
- return DB_OK;
- }
-
- // }}}
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/DB/sybase.php b/airtime_mvc/library/pear/DB/sybase.php
deleted file mode 100644
index bb79c78c2..000000000
--- a/airtime_mvc/library/pear/DB/sybase.php
+++ /dev/null
@@ -1,942 +0,0 @@
-
- * @author Antônio Carlos Venâncio Júnior
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: sybase.php,v 1.87 2007/09/21 13:40:42 aharvey Exp $
- * @link http://pear.php.net/package/DB
- */
-
-/**
- * Obtain the DB_common class so it can be extended from
- */
-require_once 'DB/common.php';
-
-/**
- * The methods PEAR DB uses to interact with PHP's sybase extension
- * for interacting with Sybase databases
- *
- * These methods overload the ones declared in DB_common.
- *
- * WARNING: This driver may fail with multiple connections under the
- * same user/pass/host and different databases.
- *
- * @category Database
- * @package DB
- * @author Sterling Hughes
- * @author Antônio Carlos Venâncio Júnior
- * @author Daniel Convissor
- * @copyright 1997-2007 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.13
- * @link http://pear.php.net/package/DB
- */
-class DB_sybase extends DB_common
-{
- // {{{ properties
-
- /**
- * The DB driver type (mysql, oci8, odbc, etc.)
- * @var string
- */
- var $phptype = 'sybase';
-
- /**
- * The database syntax variant to be used (db2, access, etc.), if any
- * @var string
- */
- var $dbsyntax = 'sybase';
-
- /**
- * The capabilities of this DB implementation
- *
- * The 'new_link' element contains the PHP version that first provided
- * new_link support for this DBMS. Contains false if it's unsupported.
- *
- * Meaning of the 'limit' element:
- * + 'emulate' = emulate with fetch row by number
- * + 'alter' = alter the query
- * + false = skip rows
- *
- * @var array
- */
- var $features = array(
- 'limit' => 'emulate',
- 'new_link' => false,
- 'numrows' => true,
- 'pconnect' => true,
- 'prepare' => false,
- 'ssl' => false,
- 'transactions' => true,
- );
-
- /**
- * A mapping of native error codes to DB error codes
- * @var array
- */
- var $errorcode_map = array(
- );
-
- /**
- * The raw database connection created by PHP
- * @var resource
- */
- var $connection;
-
- /**
- * The DSN information for connecting to a database
- * @var array
- */
- var $dsn = array();
-
-
- /**
- * Should data manipulation queries be committed automatically?
- * @var bool
- * @access private
- */
- var $autocommit = true;
-
- /**
- * The quantity of transactions begun
- *
- * {@internal While this is private, it can't actually be designated
- * private in PHP 5 because it is directly accessed in the test suite.}}
- *
- * @var integer
- * @access private
- */
- var $transaction_opcount = 0;
-
- /**
- * The database specified in the DSN
- *
- * It's a fix to allow calls to different databases in the same script.
- *
- * @var string
- * @access private
- */
- var $_db = '';
-
-
- // }}}
- // {{{ constructor
-
- /**
- * This constructor calls $this->DB_common()
- *
- * @return void
- */
- function DB_sybase()
- {
- $this->DB_common();
- }
-
- // }}}
- // {{{ connect()
-
- /**
- * Connect to the database server, log in and open the database
- *
- * Don't call this method directly. Use DB::connect() instead.
- *
- * PEAR DB's sybase driver supports the following extra DSN options:
- * + appname The application name to use on this connection.
- * Available since PEAR DB 1.7.0.
- * + charset The character set to use on this connection.
- * Available since PEAR DB 1.7.0.
- *
- * @param array $dsn the data source name
- * @param bool $persistent should the connection be persistent?
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function connect($dsn, $persistent = false)
- {
- if (!PEAR::loadExtension('sybase') &&
- !PEAR::loadExtension('sybase_ct'))
- {
- return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
- }
-
- $this->dsn = $dsn;
- if ($dsn['dbsyntax']) {
- $this->dbsyntax = $dsn['dbsyntax'];
- }
-
- $dsn['hostspec'] = $dsn['hostspec'] ? $dsn['hostspec'] : 'localhost';
- $dsn['password'] = !empty($dsn['password']) ? $dsn['password'] : false;
- $dsn['charset'] = isset($dsn['charset']) ? $dsn['charset'] : false;
- $dsn['appname'] = isset($dsn['appname']) ? $dsn['appname'] : false;
-
- $connect_function = $persistent ? 'sybase_pconnect' : 'sybase_connect';
-
- if ($dsn['username']) {
- $this->connection = @$connect_function($dsn['hostspec'],
- $dsn['username'],
- $dsn['password'],
- $dsn['charset'],
- $dsn['appname']);
- } else {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- 'The DSN did not contain a username.');
- }
-
- if (!$this->connection) {
- return $this->raiseError(DB_ERROR_CONNECT_FAILED,
- null, null, null,
- @sybase_get_last_message());
- }
-
- if ($dsn['database']) {
- if (!@sybase_select_db($dsn['database'], $this->connection)) {
- return $this->raiseError(DB_ERROR_NODBSELECTED,
- null, null, null,
- @sybase_get_last_message());
- }
- $this->_db = $dsn['database'];
- }
-
- return DB_OK;
- }
-
- // }}}
- // {{{ disconnect()
-
- /**
- * Disconnects from the database server
- *
- * @return bool TRUE on success, FALSE on failure
- */
- function disconnect()
- {
- $ret = @sybase_close($this->connection);
- $this->connection = null;
- return $ret;
- }
-
- // }}}
- // {{{ simpleQuery()
-
- /**
- * Sends a query to the database server
- *
- * @param string the SQL query string
- *
- * @return mixed + a PHP result resrouce for successful SELECT queries
- * + the DB_OK constant for other successful queries
- * + a DB_Error object on failure
- */
- function simpleQuery($query)
- {
- $ismanip = $this->_checkManip($query);
- $this->last_query = $query;
- if ($this->_db && !@sybase_select_db($this->_db, $this->connection)) {
- return $this->sybaseRaiseError(DB_ERROR_NODBSELECTED);
- }
- $query = $this->modifyQuery($query);
- if (!$this->autocommit && $ismanip) {
- if ($this->transaction_opcount == 0) {
- $result = @sybase_query('BEGIN TRANSACTION', $this->connection);
- if (!$result) {
- return $this->sybaseRaiseError();
- }
- }
- $this->transaction_opcount++;
- }
- $result = @sybase_query($query, $this->connection);
- if (!$result) {
- return $this->sybaseRaiseError();
- }
- if (is_resource($result)) {
- return $result;
- }
- // Determine which queries that should return data, and which
- // should return an error code only.
- return $ismanip ? DB_OK : $result;
- }
-
- // }}}
- // {{{ nextResult()
-
- /**
- * Move the internal sybase result pointer to the next available result
- *
- * @param a valid sybase result resource
- *
- * @access public
- *
- * @return true if a result is available otherwise return false
- */
- function nextResult($result)
- {
- return false;
- }
-
- // }}}
- // {{{ fetchInto()
-
- /**
- * Places a row from the result set into the given array
- *
- * Formating of the array and the data therein are configurable.
- * See DB_result::fetchInto() for more information.
- *
- * This method is not meant to be called directly. Use
- * DB_result::fetchInto() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result the query result resource
- * @param array $arr the referenced array to put the data in
- * @param int $fetchmode how the resulting array should be indexed
- * @param int $rownum the row number to fetch (0 = first row)
- *
- * @return mixed DB_OK on success, NULL when the end of a result set is
- * reached or on failure
- *
- * @see DB_result::fetchInto()
- */
- function fetchInto($result, &$arr, $fetchmode, $rownum = null)
- {
- if ($rownum !== null) {
- if (!@sybase_data_seek($result, $rownum)) {
- return null;
- }
- }
- if ($fetchmode & DB_FETCHMODE_ASSOC) {
- if (function_exists('sybase_fetch_assoc')) {
- $arr = @sybase_fetch_assoc($result);
- } else {
- if ($arr = @sybase_fetch_array($result)) {
- foreach ($arr as $key => $value) {
- if (is_int($key)) {
- unset($arr[$key]);
- }
- }
- }
- }
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE && $arr) {
- $arr = array_change_key_case($arr, CASE_LOWER);
- }
- } else {
- $arr = @sybase_fetch_row($result);
- }
- if (!$arr) {
- return null;
- }
- if ($this->options['portability'] & DB_PORTABILITY_RTRIM) {
- $this->_rtrimArrayValues($arr);
- }
- if ($this->options['portability'] & DB_PORTABILITY_NULL_TO_EMPTY) {
- $this->_convertNullArrayValuesToEmpty($arr);
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ freeResult()
-
- /**
- * Deletes the result set and frees the memory occupied by the result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::free() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return bool TRUE on success, FALSE if $result is invalid
- *
- * @see DB_result::free()
- */
- function freeResult($result)
- {
- return is_resource($result) ? sybase_free_result($result) : false;
- }
-
- // }}}
- // {{{ numCols()
-
- /**
- * Gets the number of columns in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numCols() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of columns. A DB_Error object on failure.
- *
- * @see DB_result::numCols()
- */
- function numCols($result)
- {
- $cols = @sybase_num_fields($result);
- if (!$cols) {
- return $this->sybaseRaiseError();
- }
- return $cols;
- }
-
- // }}}
- // {{{ numRows()
-
- /**
- * Gets the number of rows in a result set
- *
- * This method is not meant to be called directly. Use
- * DB_result::numRows() instead. It can't be declared "protected"
- * because DB_result is a separate object.
- *
- * @param resource $result PHP's query result resource
- *
- * @return int the number of rows. A DB_Error object on failure.
- *
- * @see DB_result::numRows()
- */
- function numRows($result)
- {
- $rows = @sybase_num_rows($result);
- if ($rows === false) {
- return $this->sybaseRaiseError();
- }
- return $rows;
- }
-
- // }}}
- // {{{ affectedRows()
-
- /**
- * Determines the number of rows affected by a data maniuplation query
- *
- * 0 is returned for queries that don't manipulate data.
- *
- * @return int the number of rows. A DB_Error object on failure.
- */
- function affectedRows()
- {
- if ($this->_last_query_manip) {
- $result = @sybase_affected_rows($this->connection);
- } else {
- $result = 0;
- }
- return $result;
- }
-
- // }}}
- // {{{ nextId()
-
- /**
- * Returns the next free id in a sequence
- *
- * @param string $seq_name name of the sequence
- * @param boolean $ondemand when true, the seqence is automatically
- * created if it does not exist
- *
- * @return int the next id number in the sequence.
- * A DB_Error object on failure.
- *
- * @see DB_common::nextID(), DB_common::getSequenceName(),
- * DB_sybase::createSequence(), DB_sybase::dropSequence()
- */
- function nextId($seq_name, $ondemand = true)
- {
- $seqname = $this->getSequenceName($seq_name);
- if ($this->_db && !@sybase_select_db($this->_db, $this->connection)) {
- return $this->sybaseRaiseError(DB_ERROR_NODBSELECTED);
- }
- $repeat = 0;
- do {
- $this->pushErrorHandling(PEAR_ERROR_RETURN);
- $result = $this->query("INSERT INTO $seqname (vapor) VALUES (0)");
- $this->popErrorHandling();
- if ($ondemand && DB::isError($result) &&
- ($result->getCode() == DB_ERROR || $result->getCode() == DB_ERROR_NOSUCHTABLE))
- {
- $repeat = 1;
- $result = $this->createSequence($seq_name);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- } elseif (!DB::isError($result)) {
- $result = $this->query("SELECT @@IDENTITY FROM $seqname");
- $repeat = 0;
- } else {
- $repeat = false;
- }
- } while ($repeat);
- if (DB::isError($result)) {
- return $this->raiseError($result);
- }
- $result = $result->fetchRow(DB_FETCHMODE_ORDERED);
- return $result[0];
- }
-
- /**
- * Creates a new sequence
- *
- * @param string $seq_name name of the new sequence
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::createSequence(), DB_common::getSequenceName(),
- * DB_sybase::nextID(), DB_sybase::dropSequence()
- */
- function createSequence($seq_name)
- {
- return $this->query('CREATE TABLE '
- . $this->getSequenceName($seq_name)
- . ' (id numeric(10, 0) IDENTITY NOT NULL,'
- . ' vapor int NULL)');
- }
-
- // }}}
- // {{{ dropSequence()
-
- /**
- * Deletes a sequence
- *
- * @param string $seq_name name of the sequence to be deleted
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- *
- * @see DB_common::dropSequence(), DB_common::getSequenceName(),
- * DB_sybase::nextID(), DB_sybase::createSequence()
- */
- function dropSequence($seq_name)
- {
- return $this->query('DROP TABLE ' . $this->getSequenceName($seq_name));
- }
-
- // }}}
- // {{{ quoteFloat()
-
- /**
- * Formats a float value for use within a query in a locale-independent
- * manner.
- *
- * @param float the float value to be quoted.
- * @return string the quoted string.
- * @see DB_common::quoteSmart()
- * @since Method available since release 1.7.8.
- */
- function quoteFloat($float) {
- return $this->escapeSimple(str_replace(',', '.', strval(floatval($float))));
- }
-
- // }}}
- // {{{ autoCommit()
-
- /**
- * Enables or disables automatic commits
- *
- * @param bool $onoff true turns it on, false turns it off
- *
- * @return int DB_OK on success. A DB_Error object if the driver
- * doesn't support auto-committing transactions.
- */
- function autoCommit($onoff = false)
- {
- // XXX if $this->transaction_opcount > 0, we should probably
- // issue a warning here.
- $this->autocommit = $onoff ? true : false;
- return DB_OK;
- }
-
- // }}}
- // {{{ commit()
-
- /**
- * Commits the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function commit()
- {
- if ($this->transaction_opcount > 0) {
- if ($this->_db && !@sybase_select_db($this->_db, $this->connection)) {
- return $this->sybaseRaiseError(DB_ERROR_NODBSELECTED);
- }
- $result = @sybase_query('COMMIT', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->sybaseRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ rollback()
-
- /**
- * Reverts the current transaction
- *
- * @return int DB_OK on success. A DB_Error object on failure.
- */
- function rollback()
- {
- if ($this->transaction_opcount > 0) {
- if ($this->_db && !@sybase_select_db($this->_db, $this->connection)) {
- return $this->sybaseRaiseError(DB_ERROR_NODBSELECTED);
- }
- $result = @sybase_query('ROLLBACK', $this->connection);
- $this->transaction_opcount = 0;
- if (!$result) {
- return $this->sybaseRaiseError();
- }
- }
- return DB_OK;
- }
-
- // }}}
- // {{{ sybaseRaiseError()
-
- /**
- * Produces a DB_Error object regarding the current problem
- *
- * @param int $errno if the error is being manually raised pass a
- * DB_ERROR* constant here. If this isn't passed
- * the error information gathered from the DBMS.
- *
- * @return object the DB_Error object
- *
- * @see DB_common::raiseError(),
- * DB_sybase::errorNative(), DB_sybase::errorCode()
- */
- function sybaseRaiseError($errno = null)
- {
- $native = $this->errorNative();
- if ($errno === null) {
- $errno = $this->errorCode($native);
- }
- return $this->raiseError($errno, null, null, null, $native);
- }
-
- // }}}
- // {{{ errorNative()
-
- /**
- * Gets the DBMS' native error message produced by the last query
- *
- * @return string the DBMS' error message
- */
- function errorNative()
- {
- return @sybase_get_last_message();
- }
-
- // }}}
- // {{{ errorCode()
-
- /**
- * Determines PEAR::DB error code from the database's text error message.
- *
- * @param string $errormsg error message returned from the database
- * @return integer an error number from a DB error constant
- */
- function errorCode($errormsg)
- {
- static $error_regexps;
-
- // PHP 5.2+ prepends the function name to $php_errormsg, so we need
- // this hack to work around it, per bug #9599.
- $errormsg = preg_replace('/^sybase[a-z_]+\(\): /', '', $errormsg);
-
- if (!isset($error_regexps)) {
- $error_regexps = array(
- '/Incorrect syntax near/'
- => DB_ERROR_SYNTAX,
- '/^Unclosed quote before the character string [\"\'].*[\"\']\./'
- => DB_ERROR_SYNTAX,
- '/Implicit conversion (from datatype|of NUMERIC value)/i'
- => DB_ERROR_INVALID_NUMBER,
- '/Cannot drop the table [\"\'].+[\"\'], because it doesn\'t exist in the system catalogs\./'
- => DB_ERROR_NOSUCHTABLE,
- '/Only the owner of object [\"\'].+[\"\'] or a user with System Administrator \(SA\) role can run this command\./'
- => DB_ERROR_ACCESS_VIOLATION,
- '/^.+ permission denied on object .+, database .+, owner .+/'
- => DB_ERROR_ACCESS_VIOLATION,
- '/^.* permission denied, database .+, owner .+/'
- => DB_ERROR_ACCESS_VIOLATION,
- '/[^.*] not found\./'
- => DB_ERROR_NOSUCHTABLE,
- '/There is already an object named/'
- => DB_ERROR_ALREADY_EXISTS,
- '/Invalid column name/'
- => DB_ERROR_NOSUCHFIELD,
- '/does not allow null values/'
- => DB_ERROR_CONSTRAINT_NOT_NULL,
- '/Command has been aborted/'
- => DB_ERROR_CONSTRAINT,
- '/^Cannot drop the index .* because it doesn\'t exist/i'
- => DB_ERROR_NOT_FOUND,
- '/^There is already an index/i'
- => DB_ERROR_ALREADY_EXISTS,
- '/^There are fewer columns in the INSERT statement than values specified/i'
- => DB_ERROR_VALUE_COUNT_ON_ROW,
- '/Divide by zero/i'
- => DB_ERROR_DIVZERO,
- );
- }
-
- foreach ($error_regexps as $regexp => $code) {
- if (preg_match($regexp, $errormsg)) {
- return $code;
- }
- }
- return DB_ERROR;
- }
-
- // }}}
- // {{{ tableInfo()
-
- /**
- * Returns information about a table or a result set
- *
- * NOTE: only supports 'table' and 'flags' if $result
- * is a table name.
- *
- * @param object|string $result DB_result object from a query or a
- * string containing the name of a table.
- * While this also accepts a query result
- * resource identifier, this behavior is
- * deprecated.
- * @param int $mode a valid tableInfo mode
- *
- * @return array an associative array with the information requested.
- * A DB_Error object on failure.
- *
- * @see DB_common::tableInfo()
- * @since Method available since Release 1.6.0
- */
- function tableInfo($result, $mode = null)
- {
- if (is_string($result)) {
- /*
- * Probably received a table name.
- * Create a result resource identifier.
- */
- if ($this->_db && !@sybase_select_db($this->_db, $this->connection)) {
- return $this->sybaseRaiseError(DB_ERROR_NODBSELECTED);
- }
- $id = @sybase_query("SELECT * FROM $result WHERE 1=0",
- $this->connection);
- $got_string = true;
- } elseif (isset($result->result)) {
- /*
- * Probably received a result object.
- * Extract the result resource identifier.
- */
- $id = $result->result;
- $got_string = false;
- } else {
- /*
- * Probably received a result resource identifier.
- * Copy it.
- * Deprecated. Here for compatibility only.
- */
- $id = $result;
- $got_string = false;
- }
-
- if (!is_resource($id)) {
- return $this->sybaseRaiseError(DB_ERROR_NEED_MORE_DATA);
- }
-
- if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) {
- $case_func = 'strtolower';
- } else {
- $case_func = 'strval';
- }
-
- $count = @sybase_num_fields($id);
- $res = array();
-
- if ($mode) {
- $res['num_fields'] = $count;
- }
-
- for ($i = 0; $i < $count; $i++) {
- $f = @sybase_fetch_field($id, $i);
- // column_source is often blank
- $res[$i] = array(
- 'table' => $got_string
- ? $case_func($result)
- : $case_func($f->column_source),
- 'name' => $case_func($f->name),
- 'type' => $f->type,
- 'len' => $f->max_length,
- 'flags' => '',
- );
- if ($res[$i]['table']) {
- $res[$i]['flags'] = $this->_sybase_field_flags(
- $res[$i]['table'], $res[$i]['name']);
- }
- if ($mode & DB_TABLEINFO_ORDER) {
- $res['order'][$res[$i]['name']] = $i;
- }
- if ($mode & DB_TABLEINFO_ORDERTABLE) {
- $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i;
- }
- }
-
- // free the result only if we were called on a table
- if ($got_string) {
- @sybase_free_result($id);
- }
- return $res;
- }
-
- // }}}
- // {{{ _sybase_field_flags()
-
- /**
- * Get the flags for a field
- *
- * Currently supports:
- * + unique_key (unique index, unique check or primary_key)
- * + multiple_key (multi-key index)
- *
- * @param string $table the table name
- * @param string $column the field name
- *
- * @return string space delimited string of flags. Empty string if none.
- *
- * @access private
- */
- function _sybase_field_flags($table, $column)
- {
- static $tableName = null;
- static $flags = array();
-
- if ($table != $tableName) {
- $flags = array();
- $tableName = $table;
-
- /* We're running sp_helpindex directly because it doesn't exist in
- * older versions of ASE -- unfortunately, we can't just use
- * DB::isError() because the user may be using callback error
- * handling. */
- $res = @sybase_query("sp_helpindex $table", $this->connection);
-
- if ($res === false || $res === true) {
- // Fake a valid response for BC reasons.
- return '';
- }
-
- while (($val = sybase_fetch_assoc($res)) !== false) {
- if (!isset($val['index_keys'])) {
- /* No useful information returned. Break and be done with
- * it, which preserves the pre-1.7.9 behaviour. */
- break;
- }
-
- $keys = explode(', ', trim($val['index_keys']));
-
- if (sizeof($keys) > 1) {
- foreach ($keys as $key) {
- $this->_add_flag($flags[$key], 'multiple_key');
- }
- }
-
- if (strpos($val['index_description'], 'unique')) {
- foreach ($keys as $key) {
- $this->_add_flag($flags[$key], 'unique_key');
- }
- }
- }
-
- sybase_free_result($res);
-
- }
-
- if (array_key_exists($column, $flags)) {
- return(implode(' ', $flags[$column]));
- }
-
- return '';
- }
-
- // }}}
- // {{{ _add_flag()
-
- /**
- * Adds a string to the flags array if the flag is not yet in there
- * - if there is no flag present the array is created
- *
- * @param array $array reference of flags array to add a value to
- * @param mixed $value value to add to the flag array
- *
- * @return void
- *
- * @access private
- */
- function _add_flag(&$array, $value)
- {
- if (!is_array($array)) {
- $array = array($value);
- } elseif (!in_array($value, $array)) {
- array_push($array, $value);
- }
- }
-
- // }}}
- // {{{ getSpecialQuery()
-
- /**
- * Obtains the query string needed for listing a given type of objects
- *
- * @param string $type the kind of objects you want to retrieve
- *
- * @return string the SQL query string or null if the driver doesn't
- * support the object type requested
- *
- * @access protected
- * @see DB_common::getListOf()
- */
- function getSpecialQuery($type)
- {
- switch ($type) {
- case 'tables':
- return "SELECT name FROM sysobjects WHERE type = 'U'"
- . ' ORDER BY name';
- case 'views':
- return "SELECT name FROM sysobjects WHERE type = 'V'";
- default:
- return null;
- }
- }
-
- // }}}
-
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/File.php b/airtime_mvc/library/pear/File.php
deleted file mode 100644
index d3c311116..000000000
--- a/airtime_mvc/library/pear/File.php
+++ /dev/null
@@ -1,543 +0,0 @@
-
- * @author Tal Peer
- * @author Michael Wallner
- * @copyright 2002-2005 The Authors
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: File.php,v 1.38 2007/03/24 16:38:56 dufuz Exp $
- * @link http://pear.php.net/package/File
- */
-
-/**
- * Requires PEAR
- */
-require_once 'PEAR.php';
-
-/**
- * The default number of bytes for reading
- */
-if (!defined('FILE_DEFAULT_READSIZE')) {
- define('FILE_DEFAULT_READSIZE', 1024, true);
-}
-
-/**
- * The maximum number of bytes for reading lines
- */
-if (!defined('FILE_MAX_LINE_READSIZE')) {
- define('FILE_MAX_LINE_READSIZE', 40960, true);
-}
-
-/**
- * Whether file locks should block
- */
-if (!defined('FILE_LOCKS_BLOCK')) {
- define('FILE_LOCKS_BLOCK', true, true);
-}
-
-/**
- * Mode to use for reading from files
- */
-define('FILE_MODE_READ', 'rb', true);
-
-/**
- * Mode to use for truncating files, then writing
- */
-define('FILE_MODE_WRITE', 'wb', true);
-
-/**
- * Mode to use for appending to files
- */
-define('FILE_MODE_APPEND', 'ab', true);
-
-/**
- * Use this when a shared (read) lock is required
- */
-define('FILE_LOCK_SHARED', LOCK_SH | (FILE_LOCKS_BLOCK ? 0 : LOCK_NB), true);
-
-/**
- * Use this when an exclusive (write) lock is required
- */
-define('FILE_LOCK_EXCLUSIVE', LOCK_EX | (FILE_LOCKS_BLOCK ? 0 : LOCK_NB), true);
-
-/**
- * Class for handling files
- *
- * A class with common functions for writing,
- * reading and handling files and directories
- *
- * @author Richard Heyes
- * @author Tal Peer
- * @author Michael Wallner
- * @access public
- * @package File
- *
- * @static
- */
-class File extends PEAR
-{
- /**
- * Destructor
- *
- * Unlocks any locked file pointers and closes all filepointers
- *
- * @access private
- */
- function _File()
- {
- File::closeAll();
- }
-
- /**
- * Handles file pointers. If a file pointer needs to be opened,
- * it will be. If it already exists (based on filename and mode)
- * then the existing one will be returned.
- *
- * @access private
- * @param string $filename Filename to be used
- * @param string $mode Mode to open the file in
- * @param mixed $lock Type of lock to use
- * @return mixed PEAR_Error on error or file pointer resource on success
- */
- function _getFilePointer($filename, $mode, $lock = false)
- {
- $filePointers = &PEAR::getStaticProperty('File', 'filePointers');
-
- // Win32 is case-insensitive
- if (OS_WINDOWS) {
- $filename = strtolower($filename);
- }
-
- // check if file pointer already exists
- if (!isset($filePointers[$filename][$mode]) ||
- !is_resource($filePointers[$filename][$mode])) {
-
- // check if we can open the file in the desired mode
- switch ($mode)
- {
- case FILE_MODE_READ:
- if (!preg_match('/^.+(? $modes) {
- foreach (array_keys($modes) as $mode) {
- if (is_resource($filePointers[$fname][$mode])) {
- @fclose($filePointers[$fname][$mode]);
- }
- unset($filePointers[$fname][$mode]);
- }
- }
- }
- }
-
- /**
- * This closes an open file pointer
- *
- * @access public
- * @param string $filename The filename that was opened
- * @param string $mode Mode the file was opened in
- * @return mixed PEAR Error on error, true otherwise
- */
- function close($filename, $mode)
- {
- $filePointers = &PEAR::getStaticProperty('File', 'filePointers');
-
- if (OS_WINDOWS) {
- $filename = strToLower($filename);
- }
-
- if (!isset($filePointers[$filename][$mode])) {
- return true;
- }
-
- $fp = $filePointers[$filename][$mode];
- unset($filePointers[$filename][$mode]);
-
- if (is_resource($fp)) {
- // unlock file
- @flock($fp, LOCK_UN);
- // close file
- if (!@fclose($fp)) {
- return PEAR::raiseError("Cannot close file: $filename");
- }
- }
-
- return true;
- }
-
- /**
- * This unlocks a locked file pointer.
- *
- * @access public
- * @param string $filename The filename that was opened
- * @param string $mode Mode the file was opened in
- * @return mixed PEAR Error on error, true otherwise
- */
- function unlock($filename, $mode)
- {
- $fp = File::_getFilePointer($filename, $mode);
- if (PEAR::isError($fp)) {
- return $fp;
- }
-
- if (!@flock($fp, LOCK_UN)) {
- return PEAR::raiseError("Cacnnot unlock file: $filename");
- }
-
- return true;
- }
-
- /**
- * @deprecated
- */
- function stripTrailingSeparators($path, $separator = DIRECTORY_SEPARATOR)
- {
- if ($path === $separator) {
- return $path;
- }
- return rtrim($path, $separator);
- }
-
- /**
- * @deprecated
- */
- function stripLeadingSeparators($path, $separator = DIRECTORY_SEPARATOR)
- {
- if ($path === $separator) {
- return $path;
- }
- return ltrim($path, $separator);
- }
-
- /**
- * @deprecated Use File_Util::buildPath() instead.
- */
- function buildPath($parts, $separator = DIRECTORY_SEPARATOR)
- {
- require_once 'File/Util.php';
- return File_Util::buildPath($parts, $separator);
- }
-
- /**
- * @deprecated Use File_Util::skipRoot() instead.
- */
- function skipRoot($path)
- {
- require_once 'File/Util.php';
- return File_Util::skipRoot($path);
- }
-
- /**
- * @deprecated Use File_Util::tmpDir() instead.
- */
- function getTempDir()
- {
- require_once 'File/Util.php';
- return File_Util::tmpDir();
- }
-
- /**
- * @deprecated Use File_Util::tmpFile() instead.
- */
- function getTempFile($dirname = null)
- {
- require_once 'File/Util.php';
- return File_Util::tmpFile($dirname);
- }
-
- /**
- * @deprecated Use File_Util::isAbsolute() instead.
- */
- function isAbsolute($path)
- {
- require_once 'File/Util.php';
- return File_Util::isAbsolute($path);
- }
-
- /**
- * @deprecated Use File_Util::relativePath() instead.
- */
- function relativePath($path, $root, $separator = DIRECTORY_SEPARATOR)
- {
- require_once 'File/Util.php';
- return File_Util::relativePath($path, $root, $separator);
- }
-
- /**
- * @deprecated Use File_Util::realpath() instead.
- */
- function realpath($path, $separator = DIRECTORY_SEPARATOR)
- {
- require_once 'File/Util.php';
- return File_Util::realpath($path, $separator);
- }
-}
-
-PEAR::registerShutdownFunc(array('File', '_File'));
-
-?>
diff --git a/airtime_mvc/library/pear/File/CSV.php b/airtime_mvc/library/pear/File/CSV.php
deleted file mode 100644
index a4c5141c9..000000000
--- a/airtime_mvc/library/pear/File/CSV.php
+++ /dev/null
@@ -1,628 +0,0 @@
-
- * @author Helgi ̃ormar
- * @copyright 2004-2005 The Authors
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: CSV.php,v 1.41 2007/05/20 12:25:14 dufuz Exp $
- * @link http://pear.php.net/package/File
- */
-
-require_once 'PEAR.php';
-require_once 'File.php';
-
-/**
-* File class for handling CSV files (Comma Separated Values), a common format
-* for exchanging data.
-*
-* TODO:
-* - Usage example and Doc
-* - Use getPointer() in discoverFormat
-* - Add a line counter for being able to output better error reports
-* - Store the last error in GLOBALS and add File_CSV::getLastError()
-*
-* Wish:
-* - Other methods like readAll(), writeAll(), numFields(), numRows()
-* - Try to detect if a CSV has header or not in discoverFormat() (not possible with CSV)
-*
-* Known Bugs:
-* (they has been analyzed but for the moment the impact in the speed for
-* properly handle this uncommon cases is too high and won't be supported)
-* - A field which is composed only by a single quoted separator (ie -> ;";";)
-* is not handled properly
-* - When there is exactly one field minus than the expected number and there
-* is a field with a separator inside, the parser will throw the "wrong count" error
-*
-* Info about CSV and links to other sources
-* http://www.shaftek.org/publications/drafts/mime-csv/draft-shafranovich-mime-csv-00.html#appendix
-*
-* @author Tomas V.V.Cox
-* @author Helgi ̃ormar
-* @package File
-*/
-class File_CSV
-{
- /**
- * This raiseError method works in a different way. It will always return
- * false (an error occurred) but it will call PEAR::raiseError() before
- * it. If no default PEAR global handler is set, will trigger an error.
- *
- * @param string $error The error message
- * @return bool always false
- */
- function raiseError($error)
- {
- // If a default PEAR Error handler is not set trigger the error
- // XXX Add a PEAR::isSetHandler() method?
- if ($GLOBALS['_PEAR_default_error_mode'] == PEAR_ERROR_RETURN) {
- PEAR::raiseError($error, null, PEAR_ERROR_TRIGGER, E_USER_WARNING);
- } else {
- PEAR::raiseError($error);
- }
- return false;
- }
-
- /**
- * Checks the configuration given by the user
- *
- * @access private
- * @param string &$error The error will be written here if any
- * @param array &$conf The configuration assoc array
- * @return string error Returns a error message
- */
- function _conf(&$error, &$conf)
- {
- // check conf
- if (!is_array($conf)) {
- return $error = 'Invalid configuration';
- }
-
- if (!isset($conf['fields']) || !(int)$conf['fields']) {
- return $error = 'The number of fields must be numeric (the "fields" key)';
- }
-
- if (isset($conf['sep'])) {
- if (strlen($conf['sep']) != 1) {
- return $error = 'Separator can only be one char';
- }
- } elseif ($conf['fields'] > 1) {
- return $error = 'Missing separator (the "sep" key)';
- }
-
- if (isset($conf['quote'])) {
- if (strlen($conf['quote']) != 1) {
- return $error = 'The quote char must be one char (the "quote" key)';
- }
- } else {
- $conf['quote'] = null;
- }
-
- if (!isset($conf['crlf'])) {
- $conf['crlf'] = "\n";
- }
-
- if (!isset($conf['eol2unix'])) {
- $conf['eol2unix'] = true;
- }
- }
-
- /**
- * Return or create the file descriptor associated with a file
- *
- * @param string $file The name of the file
- * @param array &$conf The configuration
- * @param string $mode The open node (ex: FILE_MODE_READ or FILE_MODE_WRITE)
- * @param boolean $reset if passed as true and resource for the file exists
- * than the file pointer will be moved to the beginning
- *
- * @return mixed A file resource or false
- */
- function getPointer($file, &$conf, $mode = FILE_MODE_READ, $reset = false)
- {
- static $resources = array();
- static $config;
- if (isset($resources[$file][$mode])) {
- $conf = $config;
- if ($reset) {
- fseek($resources[$file][$mode], 0);
- }
- return $resources[$file][$mode];
- }
- File_CSV::_conf($error, $conf);
- if ($error) {
- return File_CSV::raiseError($error);
- }
- $config = $conf;
- PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
- $fp = File::_getFilePointer($file, $mode);
- PEAR::popErrorHandling();
- if (PEAR::isError($fp)) {
- return File_CSV::raiseError($fp);
- }
- $resources[$file][$mode] = $fp;
- return $fp;
- }
-
- /**
- * Unquote data
- *
- * @param string $field The data to unquote
- * @param string $quote The quote char
- * @return string the unquoted data
- */
- function unquote($field, $quote)
- {
- // Trim first the string.
- $field = trim($field);
- $quote = trim($quote);
-
- // Incase null fields (form: ;;)
- if (!strlen($field)) {
- return $field;
- }
-
- // excel compat
- if ($field[0] == '=' && $field[1] == '"') {
- $field = str_replace('="', '"', $field);
- }
-
- $field_len = strlen($field);
- if ($quote && $field[0] == $quote && $field[$field_len - 1] == $quote) {
- // Get rid of escaping quotes
- $new = $prev = $c = '';
- for ($i = 0; $i < $field_len; ++$i) {
- $prev = $c;
- $c = $field[$i];
- // Deal with escaping quotes
- if ($c == $quote && $prev == $quote) {
- $c = '';
- }
-
- $new .= $c;
- }
- $field = substr($new, 1, -1);
- }
-
- return $field;
- }
-
- /**
- * Reads a row of data as an array from a CSV file. It's able to
- * read memo fields with multiline data.
- *
- * @param string $file The filename where to write the data
- * @param array &$conf The configuration of the dest CSV
- *
- * @return mixed Array with the data read or false on error/no more data
- */
- function readQuoted($file, &$conf)
- {
- if (!$fp = File_CSV::getPointer($file, $conf, FILE_MODE_READ)) {
- return false;
- }
-
- $buff = $old = $prev = $c = '';
- $ret = array();
- $i = 1;
- $in_quote = false;
- $quote = $conf['quote'];
- $f = $conf['fields'];
- $sep = $conf['sep'];
- while (false !== $ch = fgetc($fp)) {
- $old = $prev;
- $prev = $c;
- $c = $ch;
-
- // Common case
- if ($c != $quote && $c != $sep && $c != "\n" && $c != "\r") {
- $buff .= $c;
- continue;
- }
-
- // Start quote.
- if (
- $in_quote === false &&
- $quote && $c == $quote &&
- (
- $prev == $sep || $prev == "\n" || $prev === null ||
- $prev == "\r" || $prev == '' || $prev == ' '
- || $prev == '=' //excel compat
- )
- ) {
- $in_quote = true;
- // excel compat, removing the = part but only if we are in a quote
- if ($prev == '=') {
- $buff{strlen($buff) - 1} = '';
- }
- }
-
- if ($in_quote) {
-
- // When does the quote end, make sure it's not double quoted
- if ($c == $sep && $prev == $quote && $old != $quote) {
- $in_quote = false;
- } elseif ($c == $sep && $buff == $quote.$quote) {
- // In case we are dealing with double quote but empty value
- $in_quote = false;
- } elseif ($c == "\n" || $c == "\r") {
- $sub = ($prev == "\r") ? 2 : 1;
- $buff_len = strlen($buff);
- if (
- $buff_len >= $sub &&
- $buff[$buff_len - $sub] == $quote
- ) {
- $in_quote = false;
- }
- }
- }
-
- if (!$in_quote && ($c == $sep || $c == "\n" || $c == "\r") && $prev != '') {
- // More fields than expected
- if ($c == $sep && (count($ret) + 1) == $f) {
- // Seek the pointer into linebreak character.
- while (true) {
- $c = fgetc($fp);
- if ($c == "\n" || $c == "\r" || $c == '') {
- break;
- }
- }
-
- // Insert last field value.
- $ret[] = File_CSV::unquote($buff, $quote);
- return $ret;
- }
-
- // Less fields than expected
- if (($c == "\n" || $c == "\r") && $i != $f) {
- // Insert last field value.
- $ret[] = File_CSV::unquote($buff, $quote);
- if (count($ret) == 1 && empty($ret[0])) {
- return array();
- }
-
- // Pair the array elements to fields count. - inserting empty values
- $ret_count = count($ret);
- $sum = ($f - 1) - ($ret_count - 1);
- $data = array_merge($ret, array_fill($ret_count, $sum, ''));
- return $data;
- }
-
- if ($prev == "\r") {
- $buff = substr($buff, 0, -1);
- }
-
- // Convert EOL character to Unix EOL (LF).
- if ($conf['eol2unix']) {
- $buff = preg_replace('/(\r\n|\r)$/', "\n", $buff);
- }
-
- $ret[] = File_CSV::unquote($buff, $quote);
- if (count($ret) == $f) {
- return $ret;
- }
- $buff = '';
- ++$i;
- continue;
- }
- $buff .= $c;
- }
-
- /* If it's the end of the file and we still have something in buffer
- * then we process it since files can have no CL/FR at the end
- */
- $feof = feof($fp);
- if ($feof && !in_array($buff, array("\r", "\n", "\r\n")) && strlen($buff) > 0) {
- $ret[] = File_CSV::unquote($buff, $quote);
- if (count($ret) == $f) {
- return $ret;
- }
- }
-
- return !$feof ? $ret : false;
- }
-
- /**
- * Reads a "row" from a CSV file and return it as an array
- *
- * @param string $file The CSV file
- * @param array &$conf The configuration of the dest CSV
- *
- * @return mixed Array or false
- */
- function read($file, &$conf)
- {
- static $headers = array();
- if (!$fp = File_CSV::getPointer($file, $conf, FILE_MODE_READ)) {
- return false;
- }
-
- // The size is limited to 4K
- if (!$line = fgets($fp, 4096)) {
- return false;
- }
-
- $fields = $conf['fields'] == 1 ? array($line) : explode($conf['sep'], $line);
-
- $nl = array("\n", "\r", "\r\n");
- if (in_array($fields[count($fields) - 1], $nl)) {
- array_pop($fields);
- }
-
- $field_count = count($fields);
- $last =& $fields[$field_count - 1];
- $len = strlen($last);
- if (
- $field_count != $conf['fields'] ||
- $conf['quote'] &&
- (
- $len !== 0 && $last[$len - 1] == "\n"
- &&
- (
- ($last[0] == $conf['quote']
- && $last[strlen(rtrim($last)) - 1] != $conf['quote'])
- ||
- // excel support
- ($last[0] == '=' && $last[1] == $conf['quote'])
- ||
- // if the row has spaces before the quote
- preg_match('|^\s+'.preg_quote($conf['quote']) .'|Ums', $last, $match)
- )
- )
- // XXX perhaps there is a separator inside a quoted field
- //preg_match("|{$conf['quote']}.*{$conf['sep']}.*{$conf['quote']}|U", $line)
- ) {
- fseek($fp, -1 * strlen($line), SEEK_CUR);
- return File_CSV::readQuoted($file, $conf);
- } else {
- foreach ($fields as $k => $v) {
- $fields[$k] = File_CSV::unquote($v, $conf['quote']);
- }
- }
-
- if (isset($conf['header']) && empty($headers)) {
- // read the first row and assign to $headers
- $headers = $fields;
- return $headers;
- }
-
- if ($field_count != $conf['fields']) {
- File_CSV::raiseError("Read wrong fields number count: '". $field_count .
- "' expected ".$conf['fields']);
- return true;
- }
-
- if (!empty($headers)) {
- $tmp = array();
- foreach ($fields as $k => $v) {
- $tmp[$headers[$k]] = $v;
- }
- $fields = $tmp;
- }
-
- return $fields;
- }
-
- /**
- * Internal use only, will be removed in the future
- *
- * @param string $str The string to debug
- * @access private
- */
- function _dbgBuff($str)
- {
- if (strpos($str, "\r") !== false) {
- $str = str_replace("\r", "_r_", $str);
- }
- if (strpos($str, "\n") !== false) {
- $str = str_replace("\n", "_n_", $str);
- }
- if (strpos($str, "\t") !== false) {
- $str = str_replace("\t", "_t_", $str);
- }
- if ($str === null) {
- $str = '_NULL_';
- }
- if ($str === '') {
- $str = 'Empty string';
- }
- echo "buff: ($str)\n";
- }
-
- /**
- * Writes a struc (array) in a file as CSV
- *
- * @param string $file The filename where to write the data
- * @param array $fields Ordered array with the data
- * @param array &$conf The configuration of the dest CSV
- *
- * @return bool True on success false otherwise
- */
- function write($file, $fields, &$conf)
- {
- if (!$fp = File_CSV::getPointer($file, $conf, FILE_MODE_WRITE)) {
- return false;
- }
-
- $field_count = count($fields);
- if ($field_count != $conf['fields']) {
- File_CSV::raiseError("Wrong fields number count: '". $field_count .
- "' expected ".$conf['fields']);
- return true;
- }
-
- $write = '';
- for ($i = 0; $i < $field_count; ++$i) {
- // only quote if the field contains a sep
- if (!is_numeric($fields[$i]) && $conf['quote']
- && isset($conf['sep']) && strpos($fields[$i], $conf['sep'])
- ) {
- $write .= $conf['quote'] . $fields[$i] . $conf['quote'];
- } else {
- $write .= $fields[$i];
- }
-
- $write .= ($i < ($field_count - 1)) ? $conf['sep']: $conf['crlf'];
- }
-
- if (!fwrite($fp, $write, strlen($write))) {
- return File_CSV::raiseError('Can not write to file');
- }
-
- return true;
- }
-
- /**
- * Discover the format of a CSV file (the number of fields, the separator
- * and if it quote string fields)
- *
- * @param string the CSV file name
- * @param array extra separators that should be checked for.
- * @return mixed Assoc array or false
- */
- function discoverFormat($file, $extraSeps = array())
- {
- if (!$fp = @fopen($file, 'rb')) {
- return File_CSV::raiseError("Could not open file: $file");
- }
-
- // Set auto detect line ending for Mac EOL support
- $oldini = ini_get('auto_detect_line_endings');
- if ($oldini != '1') {
- ini_set('auto_detect_line_endings', '1');
- }
-
- // Take the first 30 lines and store the number of ocurrences
- // for each separator in each line
- $lines = '';
- for ($i = 0; $i < 30 && $line = fgets($fp, 4096); $i++) {
- $lines .= $line;
- }
- fclose($fp);
-
- if ($oldini != '1') {
- ini_set('auto_detect_line_endings', $oldini);
- }
-
- $seps = array("\t", ';', ':', ',');
- $seps = array_merge($seps, $extraSeps);
- $matches = array();
- $quotes = '"\'';
-
- $lines = str_replace('""', '', $lines);
- while ($lines != ($newLines = preg_replace('|((["\'])[^"]*(\2))|', '\2_\2', $lines))){
- $lines = $newLines;
- }
-
- $eol = strpos($lines, "\r") ? "\r" : "\n";
- $lines = explode($eol, $lines);
- foreach ($lines as $line) {
- $orgLine = $line;
- foreach ($seps as $sep) {
- $line = preg_replace("|^[^$quotes$sep]*$sep*([$quotes][^$quotes]*[$quotes])|sm", '_', $orgLine);
- // Find all seps that are within qoutes
- ///FIXME ... counts legitimit lines as bad ones
-
- // In case there's a whitespace infront the field
- $regex = '|\s*?';
- // Match the first quote (optional), also optionally match = since it's excel stuff
- $regex.= "(?:\=?[$quotes])";
- $regex.= '(.*';
- // Don't match a sep if we are inside a quote
- // also don't accept the sep if it has a quote on the either side
- ///FIXME has to be possible if we are inside a quote! (tests fail because of this)
- $regex.= "(?:[^$quotes])$sep(?:[^$quotes])";
- $regex.= '.*)';
- // Close quote (if it's present) and the sep (optional, could be end of line)
- $regex.= "(?:[$quotes](?:$sep?))|Ums";
- preg_match_all($regex, $line, $match);
- // Finding all seps, within quotes or not
- $sep_count = substr_count($line, $sep);
- // Real count
- $matches[$sep][] = $sep_count - count($match[0]);
- }
- }
-
- $final = array();
- // Group the results by amount of equal ocurrences
- foreach ($matches as $sep => $res) {
- $times = array();
- $times[0] = 0;
- foreach ($res as $k => $num) {
- if ($num > 0) {
- $times[$num] = (isset($times[$num])) ? $times[$num] + 1 : 1;
- }
- }
- arsort($times);
-
- // Use max fields count.
- $fields[$sep] = max(array_flip($times));
- $amount[$sep] = $times[key($times)];
- }
-
- arsort($amount);
- $sep = key($amount);
-
- $conf['fields'] = $fields[$sep] + 1;
- $conf['sep'] = $sep;
-
- // Test if there are fields with quotes around in the first 30 lines
- $quote = null;
-
- $string = implode('', $lines);
- foreach (array('"', '\'') as $q) {
- if (preg_match_all("|$sep(?:\s*?)(\=?[$q]).*([$q])$sep|Us", $string, $match)) {
- if ($match[1][0] == $match[2][0]) {
- $quote = $match[1][0];
- break;
- }
- }
-
- if (
- preg_match_all("|^(\=?[$q]).*([$q])$sep{0,1}|Ums", $string, $match)
- || preg_match_all("|(\=?[$q]).*([$q])$sep\s$|Ums", $string, $match)
- ) {
- if ($match[1][0] == $match[2][0]) {
- $quote = $match[1][0];
- break;
- }
- }
- }
-
- $conf['quote'] = $quote;
- return $conf;
- }
-
- /**
- * Front to call getPointer and moving the resource to the
- * beginning of the file
- * Reset it if you like.
- *
- * @param string $file The name of the file
- * @param array &$conf The configuration
- * @param string $mode The open node (ex: FILE_MODE_READ or FILE_MODE_WRITE)
- *
- * @return boolean true on success false on failure
- */
- function resetPointer($file, &$conf, $mode)
- {
- if (!File_CSV::getPointer($file, $conf, $mode, true)) {
- return false;
- }
-
- return true;
- }
-}
\ No newline at end of file
diff --git a/airtime_mvc/library/pear/File/Find.php b/airtime_mvc/library/pear/File/Find.php
deleted file mode 100644
index df99baa22..000000000
--- a/airtime_mvc/library/pear/File/Find.php
+++ /dev/null
@@ -1,485 +0,0 @@
- |
-// +----------------------------------------------------------------------+
-//
-// $Id: Find.php,v 1.27 2006/06/30 14:06:16 techtonik Exp $
-//
-
-require_once 'PEAR.php';
-
-define('FILE_FIND_VERSION', '@package_version@');
-
-// to debug uncomment this string
-// define('FILE_FIND_DEBUG', '');
-
-/**
-* Commonly needed functions searching directory trees
-*
-* @access public
-* @version $Id: Find.php,v 1.27 2006/06/30 14:06:16 techtonik Exp $
-* @package File
-* @author Sterling Hughes
-*/
-class File_Find
-{
- /**
- * internal dir-list
- * @var array
- */
- var $_dirs = array();
-
- /**
- * directory separator
- * @var string
- */
- var $dirsep = "/";
-
- /**
- * found files
- * @var array
- */
- var $files = array();
-
- /**
- * found dirs
- * @var array
- */
- var $directories = array();
-
- /**
- * Search specified directory to find matches for specified pattern
- *
- * @param string $pattern a string containing the pattern to search
- * the directory for.
- *
- * @param string $dirpath a string containing the directory path
- * to search.
- *
- * @param string $pattern_type a string containing the type of
- * pattern matching functions to use (can either be 'php',
- * 'perl' or 'shell').
- *
- * @return array containing all of the files and directories
- * matching the pattern or null if no matches
- *
- * @author Sterling Hughes
- * @access public
- * @static
- */
- function &glob($pattern, $dirpath, $pattern_type = 'php')
- {
- $dh = @opendir($dirpath);
-
- if (!$dh) {
- $pe = PEAR::raiseError("Cannot open directory $dirpath");
- return $pe;
- }
-
- $match_function = File_Find::_determineRegex($pattern, $pattern_type);
- $matches = array();
-
- // empty string cannot be specified for 'php' and 'perl' pattern
- if ($pattern || ($pattern_type != 'php' && $pattern_type != 'perl')) {
- while (false !== ($entry = @readdir($dh))) {
- if ($match_function($pattern, $entry) &&
- $entry != '.' && $entry != '..') {
- $matches[] = $entry;
- }
- }
- }
-
- @closedir($dh);
-
- if (0 == count($matches)) {
- $matches = null;
- }
-
- return $matches ;
- }
-
- /**
- * Map the directory tree given by the directory_path parameter.
- *
- * @param string $directory contains the directory path that you
- * want to map.
- *
- * @return array a two element array, the first element containing a list
- * of all the directories, the second element containing a list of all the
- * files.
- *
- * @author Sterling Hughes
- * @access public
- */
- function &maptree($directory)
- {
-
- /* if called statically */
- if (!isset($this) || !is_a($this, "File_Find")) {
- $obj = &new File_Find();
- return $obj->maptree($directory);
- }
-
- /* clear the results just in case */
- $this->files = array();
- $this->directories = array();
-
- /* strip out trailing slashes */
- $directory = preg_replace('![\\\\/]+$!', '', $directory);
-
- $this->_dirs = array($directory);
-
- while (count($this->_dirs)) {
- $dir = array_pop($this->_dirs);
- File_Find::_build($dir, $this->dirsep);
- array_push($this->directories, $dir);
- }
-
- $retval = array($this->directories, $this->files);
- return $retval;
-
- }
-
- /**
- * Map the directory tree given by the directory parameter.
- *
- * @param string $directory contains the directory path that you
- * want to map.
- * @param integer $maxrecursion maximun number of folders to recursive
- * map
- *
- * @return array a multidimensional array containing all subdirectories
- * and their files. For example:
- *
- * Array
- * (
- * [0] => file_1.php
- * [1] => file_2.php
- * [subdirname] => Array
- * (
- * [0] => file_1.php
- * )
- * )
- *
- * @author Mika Tuupola
- * @access public
- * @static
- */
- function &mapTreeMultiple($directory, $maxrecursion = 0, $count = 0)
- {
- $retval = array();
-
- $count++;
-
- /* strip trailing slashes */
- $directory = preg_replace('![\\\\/]+$!', '', $directory);
-
- if (is_readable($directory)) {
- $dh = opendir($directory);
- while (false !== ($entry = @readdir($dh))) {
- if ($entry != '.' && $entry != '..') {
- array_push($retval, $entry);
- }
- }
- closedir($dh);
- }
-
- while (list($key, $val) = each($retval)) {
- $path = $directory . "/" . $val;
-
- if (!is_array($val) && is_dir($path)) {
- unset($retval[$key]);
- if ($maxrecursion == 0 || $count < $maxrecursion) {
- $retval[$val] = &File_Find::mapTreeMultiple($path,
- $maxrecursion, $count);
- }
- }
- }
-
- return $retval;
- }
-
- /**
- * Search the specified directory tree with the specified pattern. Return
- * an array containing all matching files (no directories included).
- *
- * @param string $pattern the pattern to match every file with.
- *
- * @param string $directory the directory tree to search in.
- *
- * @param string $type the type of regular expression support to use, either
- * 'php', 'perl' or 'shell'.
- *
- * @param bool $fullpath whether the regex should be matched against the
- * full path or only against the filename
- *
- * @param string $match can be either 'files', 'dirs' or 'both' to specify
- * the kind of list to return
- *
- * @return array a list of files matching the pattern parameter in the the
- * directory path specified by the directory parameter
- *
- * @author Sterling Hughes
- * @access public
- * @static
- */
- function &search($pattern, $directory, $type = 'php', $fullpath = true, $match = 'files')
- {
-
- $matches = array();
- list ($directories,$files) = File_Find::maptree($directory);
- switch($match) {
- case 'directories':
- $data = $directories;
- break;
- case 'both':
- $data = array_merge($directories, $files);
- break;
- case 'files':
- default:
- $data = $files;
- }
- unset($files, $directories);
-
- $match_function = File_Find::_determineRegex($pattern, $type);
-
- reset($data);
- // check if empty string given (ok for 'shell' method, but bad for others)
- if ($pattern || ($type != 'php' && $type != 'perl')) {
- while (list(,$entry) = each($data)) {
- if ($match_function($pattern,
- $fullpath ? $entry : basename($entry))) {
- $matches[] = $entry;
- }
- }
- }
-
- return $matches;
- }
-
- /**
- * Determine whether or not a variable is a PEAR error
- *
- * @param object PEAR_Error $var the variable to test.
- *
- * @return boolean returns true if the variable is a PEAR error, otherwise
- * it returns false.
- * @access public
- */
- function isError(&$var)
- {
- return PEAR::isError($var);
- }
-
- /**
- * internal function to build singular directory trees, used by
- * File_Find::maptree()
- *
- * @param string $directory name of the directory to read
- * @param string $separator directory separator
- * @return void
- */
- function _build($directory, $separator = "/")
- {
-
- $dh = @opendir($directory);
-
- if (!$dh) {
- $pe = PEAR::raiseError("Cannot open directory");
- return $pe;
- }
-
- while (false !== ($entry = @readdir($dh))) {
- if ($entry != '.' && $entry != '..') {
-
- $entry = $directory.$separator.$entry;
-
- if (is_dir($entry)) {
- array_push($this->_dirs, $entry);
- } else {
- array_push($this->files, $entry);
- }
- }
- }
-
- @closedir($dh);
- }
-
- /**
- * internal function to determine the type of regular expression to
- * use, implemented by File_Find::glob() and File_Find::search()
- *
- * @param string $type given RegExp type
- * @return string kind of function ( "eregi", "ereg" or "preg_match") ;
- *
- */
- function _determineRegex($pattern, $type)
- {
- if (!strcasecmp($type, 'shell')) {
- $match_function = 'File_Find_match_shell';
- } else if (!strcasecmp($type, 'perl')) {
- $match_function = 'preg_match';
- } else if (!strcasecmp(substr($pattern, -2), '/i')) {
- $match_function = 'eregi';
- } else {
- $match_function = 'ereg';
- }
- return $match_function;
- }
-
-}
-
-/**
-* Package method to match via 'shell' pattern. Provided in global
-* scope, because it should be called like 'preg_match' and 'eregi'
-* and can be easily copied into other packages
-*
-* @author techtonik
-* @return mixed bool on success and PEAR_Error on failure
-*/
-function File_Find_match_shell($pattern, $filename)
-{
- // {{{ convert pattern to positive and negative regexps
- $positive = $pattern;
- $negation = substr_count($pattern, "|");
-
- if ($negation > 1) {
- PEAR::raiseError("Mask string contains errors!");
- return FALSE;
- } elseif ($negation) {
- list($positive, $negative) = explode("|", $pattern);
- if (strlen($negative) == 0) {
- PEAR::raiseError("File-mask string contains errors!");
- return FALSE;
- }
- }
-
- $positive = _File_Find_match_shell_get_pattern($positive);
- if ($negation) {
- $negative = _File_Find_match_shell_get_pattern($negative);
- }
- // }}} convert end
-
-
- if (defined("FILE_FIND_DEBUG")) {
- print("Method: $type\nPattern: $pattern\n Converted pattern:");
- print_r($positive);
- if (isset($negative)) print_r($negative);
- }
-
- if (!preg_match($positive, $filename)) {
- return FALSE;
- } else {
- if (isset($negative)
- && preg_match($negative, $filename)) {
- return FALSE;
- } else {
- return TRUE;
- }
- }
-}
-
-/**
-* function used by File_Find_match_shell to convert 'shell' mask
-* into pcre regexp. Some of the rules (see testcases for more):
-* escaping all special chars and replacing
-* . with \.
-* * with .*
-* ? with .{1}
-* also adding ^ and $ as the pattern matches whole filename
-*
-* @author techtonik
-* @return string pcre regexp for preg_match
-*/
-function _File_Find_match_shell_get_pattern($mask) {
- // get array of several masks (if any) delimited by comma
- // do not touch commas in char class
- $premasks = preg_split("|(\[[^\]]+\])|", $mask, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
- if (defined("FILE_FIND_DEBUG")) {
- print("\nPremask: ");
- print_r($premasks);
- }
- $pi = 0;
- foreach($premasks as $pm) {
- if (!isset($masks[$pi])) $masks[$pi] = "";
- if ($pm{0} == '[' && $pm{strlen($pm)-1} == ']') {
- // strip commas from character class
- $masks[$pi] .= str_replace(",", "", $pm);
- } else {
- $tarr = explode(",", $pm);
- if (sizeof($tarr) == 1) {
- $masks[$pi] .= $pm;
- } else {
- foreach ($tarr as $te) {
- $masks[$pi++] .= $te;
- $masks[$pi] = "";
- }
- unset($masks[$pi--]);
- }
- }
- }
-
- // if empty string given return *.* pattern
- if (strlen($mask) == 0) return "!^.*$!";
-
- // convert to preg regexp
- $regexmask = implode("|", $masks);
- if (defined("FILE_FIND_DEBUG")) {
- print("regexMask step one(implode): $regexmask");
- }
- $regexmask = addcslashes($regexmask, '^$}!{)(\/.+');
- if (defined("FILE_FIND_DEBUG")) {
- print("\nregexMask step two(addcslashes): $regexmask");
- }
- $regexmask = preg_replace("!(\*|\?)!", ".$1", $regexmask);
- if (defined("FILE_FIND_DEBUG")) {
- print("\nregexMask step three(* ? -> .* .?): $regexmask");
- }
- // a special case '*.' at the end means that there is no extension
- $regexmask = preg_replace("!\.\*\\\.(\||$)!", "[^\.]*$1", $regexmask);
- // it is impossible to have dot at the end of filename
- $regexmask = preg_replace("!\\\.(\||$)!", "$1", $regexmask);
- // and .* at the end also means that there could be nothing at all
- // (i.e. no dot at the end also)
- $regexmask = preg_replace("!\\\.\.\*(\||$)!", "(\\\\..*)?$1", $regexmask);
- if (defined("FILE_FIND_DEBUG")) {
- print("\nregexMask step two and half(*.$ \\..*$ .$ -> [^.]*$ .?.* $): $regexmask");
- }
- // if no extension supplied - add .* to match partially from filename start
- if (strpos($regexmask, "\\.") === FALSE) $regexmask .= ".*";
-
- // file mask match whole name - adding restrictions
- $regexmask = preg_replace("!(\|)!", '^'."$1".'$', $regexmask);
- $regexmask = '^'.$regexmask.'$';
- if (defined("FILE_FIND_DEBUG")) {
- print("\nregexMask step three(^ and $ to match whole name): $regexmask");
- }
- // wrap regex into ! since all ! are already escaped
- $regexmask = "!$regexmask!i";
- if (defined("FILE_FIND_DEBUG")) {
- print("\nWrapped regex: $regexmask\n");
- }
- return $regexmask;
-}
-
-/*
- * Local variables:
- * tab-width: 4
- * c-basic-offset: 4
- * End:
- */
-
-?>
diff --git a/airtime_mvc/library/pear/File/Util.php b/airtime_mvc/library/pear/File/Util.php
deleted file mode 100644
index 92de5bed0..000000000
--- a/airtime_mvc/library/pear/File/Util.php
+++ /dev/null
@@ -1,482 +0,0 @@
-
- * @copyright 2004-2005 Michael Wallner
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Util.php,v 1.25 2007/02/20 14:19:08 mike Exp $
- * @link http://pear.php.net/package/File
- */
-
-/**#@+
- * Sorting Constants
- */
-define('FILE_SORT_NONE', 0);
-define('FILE_SORT_REVERSE', 1);
-define('FILE_SORT_NAME', 2);
-define('FILE_SORT_SIZE', 4);
-define('FILE_SORT_DATE', 8);
-define('FILE_SORT_RANDOM', 16);
-/**#@-*/
-
-/**#@+
- * Listing Constants
- */
-define('FILE_LIST_FILES', 1);
-define('FILE_LIST_DIRS', 2);
-define('FILE_LIST_DOTS', 4);
-define('FILE_LIST_ALL', FILE_LIST_FILES | FILE_LIST_DIRS | FILE_LIST_DOTS);
-/**#@-*/
-
-/**
- * @ignore
- */
-define('FILE_WIN32', defined('OS_WINDOWS') ? OS_WINDOWS : !strncasecmp(PHP_OS, 'win', 3));
-
-/**
- * File_Util
- *
- * File and directory utility functions.
- *
- * @access public
- * @static
- */
-class File_Util
-{
- /**
- * Returns a string path built from the array $pathParts. Where a join
- * occurs multiple separators are removed. Joins using the optional
- * separator, defaulting to the PHP DIRECTORY_SEPARATOR constant.
- *
- * @static
- * @access public
- * @param array $parts Array containing the parts to be joined
- * @param string $separator The directory seperator
- */
- function buildPath($parts, $separator = DIRECTORY_SEPARATOR)
- {
- $qs = '/^'. preg_quote($separator, '/') .'+$/';
- for ($i = 0, $c = count($parts); $i < $c; $i++) {
- if (!strlen($parts[$i]) || preg_match($qs, $parts[$i])) {
- unset($parts[$i]);
- } elseif (0 == $i) {
- $parts[$i] = rtrim($parts[$i], $separator);
- } elseif ($c - 1 == $i) {
- $parts[$i] = ltrim($parts[$i], $separator);
- } else {
- $parts[$i] = trim($parts[$i], $separator);
- }
- }
- return implode($separator, $parts);
- }
-
- /**
- * Returns a path without leading / or C:\. If this is not
- * present the path is returned as is.
- *
- * @static
- * @access public
- * @param string $path The path to be processed
- * @return string The processed path or the path as is
- */
- function skipRoot($path)
- {
- if (File_Util::isAbsolute($path)) {
- if (FILE_WIN32) {
- return substr($path, $path{3} == '\\' ? 4 : 3);
- }
- return ltrim($path, '/');
- }
- return $path;
- }
-
- /**
- * Returns the temp directory according to either the TMP, TMPDIR, or
- * TEMP env variables. If these are not set it will also check for the
- * existence of /tmp, %WINDIR%\temp
- *
- * @static
- * @access public
- * @return string The system tmp directory
- */
- function tmpDir()
- {
- if (FILE_WIN32) {
- if (isset($_ENV['TEMP'])) {
- return $_ENV['TEMP'];
- }
- if (isset($_ENV['TMP'])) {
- return $_ENV['TMP'];
- }
- if (isset($_ENV['windir'])) {
- return $_ENV['windir'] . '\\temp';
- }
- if (isset($_ENV['SystemRoot'])) {
- return $_ENV['SystemRoot'] . '\\temp';
- }
- if (isset($_SERVER['TEMP'])) {
- return $_SERVER['TEMP'];
- }
- if (isset($_SERVER['TMP'])) {
- return $_SERVER['TMP'];
- }
- if (isset($_SERVER['windir'])) {
- return $_SERVER['windir'] . '\\temp';
- }
- if (isset($_SERVER['SystemRoot'])) {
- return $_SERVER['SystemRoot'] . '\\temp';
- }
- return '\temp';
- }
- if (isset($_ENV['TMPDIR'])) {
- return $_ENV['TMPDIR'];
- }
- if (isset($_SERVER['TMPDIR'])) {
- return $_SERVER['TMPDIR'];
- }
- return '/tmp';
- }
-
- /**
- * Returns a temporary filename using tempnam() and File::tmpDir().
- *
- * @static
- * @access public
- * @param string $dirname Optional directory name for the tmp file
- * @return string Filename and path of the tmp file
- */
- function tmpFile($dirname = null)
- {
- if (!isset($dirname)) {
- $dirname = File_Util::tmpDir();
- }
- return tempnam($dirname, 'temp.');
- }
-
- /**
- * Returns boolean based on whether given path is absolute or not.
- *
- * @static
- * @access public
- * @param string $path Given path
- * @return boolean True if the path is absolute, false if it is not
- */
- function isAbsolute($path)
- {
- if (preg_match('/(?:\/|\\\)\.\.(?=\/|$)/', $path)) {
- return false;
- }
- if (FILE_WIN32) {
- return preg_match('/^[a-zA-Z]:(\\\|\/)/', $path);
- }
- return ($path{0} == '/') || ($path{0} == '~');
- }
-
- /**
- * Checks for a file's existence, taking the current include path
- * into consideration
- *
- * This method can be called statically
- * (e.g., File_Util::isIncludable('config.php'))
- *
- * @param string $file
- * @param string $sep the directory separator (optional)
- * @return string the includable path
- * @access public
- * @static
- */
- function isIncludable($file, $sep = DIRECTORY_SEPARATOR)
- {
- foreach ((array) explode(PATH_SEPARATOR, ini_get('include_path')) as $path) {
- if (file_exists($path .= $sep . $file)) {
- return $path;
- }
- }
- if (file_exists($file)) {
- return $file;
- }
- return NULL;
- }
-
- /**
- * Get path relative to another path
- *
- * @static
- * @access public
- * @return string
- * @param string $path
- * @param string $root
- * @param string $separator
- */
- function relativePath($path, $root, $separator = DIRECTORY_SEPARATOR)
- {
- $path = File_Util::realpath($path, $separator);
- $root = File_Util::realpath($root, $separator);
- $dirs = explode($separator, $path);
- $comp = explode($separator, $root);
-
- if (FILE_WIN32) {
- if (strcasecmp($dirs[0], $comp[0])) {
- return $path;
- }
- unset($dirs[0], $comp[0]);
- }
-
- foreach ($comp as $i => $part) {
- if (isset($dirs[$i]) && $part == $dirs[$i]) {
- unset($dirs[$i], $comp[$i]);
- } else {
- break;
- }
- }
-
- return str_repeat('..' . $separator, count($comp)) . implode($separator, $dirs);
- }
-
- /**
- * Get real path (works with non-existant paths)
- *
- * @static
- * @access public
- * @return string
- * @param string $path
- * @param string $separator
- */
- function realPath($path, $separator = DIRECTORY_SEPARATOR)
- {
- if (!strlen($path)) {
- return $separator;
- }
-
- $drive = '';
- if (FILE_WIN32) {
- $path = preg_replace('/[\\\\\/]/', $separator, $path);
- if (preg_match('/([a-zA-Z]\:)(.*)/', $path, $matches)) {
- $drive = $matches[1];
- $path = $matches[2];
- } else {
- $cwd = getcwd();
- $drive = substr($cwd, 0, 2);
- if ($path{0} !== $separator{0}) {
- $path = substr($cwd, 3) . $separator . $path;
- }
- }
- } elseif ($path{0} !== $separator) {
- $path = getcwd() . $separator . $path;
- }
-
- $dirStack = array();
- foreach (explode($separator, $path) as $dir) {
- if (strlen($dir) && $dir !== '.') {
- if ($dir == '..') {
- array_pop($dirStack);
- } else {
- $dirStack[] = $dir;
- }
- }
- }
-
- return $drive . $separator . implode($separator, $dirStack);
- }
-
- /**
- * Check whether path is in root path
- *
- * @static
- * @access public
- * @return bool
- * @param string $path
- * @param string $root
- */
- function pathInRoot($path, $root)
- {
- static $realPaths = array();
-
- if (!isset($realPaths[$root])) {
- $realPaths[$root] = File_Util::realPath($root);
- }
-
- return false !== strstr(File_Util::realPath($path), $realPaths[$root]);
- }
-
- /**
- * List Directory
- *
- * The final argument, $cb, is a callback that either evaluates to true or
- * false and performs a filter operation, or it can also modify the
- * directory/file names returned. To achieve the latter effect use as
- * follows:
- *
- *
- * name, "\n";
- * }
- * ?>
- *
- *
- * @static
- * @access public
- * @return array
- * @param string $path
- * @param int $list
- * @param int $sort
- * @param mixed $cb
- */
- function listDir($path, $list = FILE_LIST_ALL, $sort = FILE_SORT_NONE, $cb = null)
- {
- if (!strlen($path) || !is_dir($path)) {
- return null;
- }
-
- $entries = array();
- for ($dir = dir($path); false !== $entry = $dir->read(); ) {
- if ($list & FILE_LIST_DOTS || $entry{0} !== '.') {
- $isRef = ($entry === '.' || $entry === '..');
- $isDir = $isRef || is_dir($path .'/'. $entry);
- if ( ((!$isDir && $list & FILE_LIST_FILES) ||
- ($isDir && $list & FILE_LIST_DIRS)) &&
- (!is_callable($cb) ||
- call_user_func_array($cb, array(&$entry)))) {
- $entries[] = (object) array(
- 'name' => $entry,
- 'size' => $isDir ? null : filesize($path .'/'. $entry),
- 'date' => filemtime($path .'/'. $entry),
- );
- }
- }
- }
- $dir->close();
-
- if ($sort) {
- $entries = File_Util::sortFiles($entries, $sort);
- }
-
- return $entries;
- }
-
- /**
- * Sort Files
- *
- * @static
- * @access public
- * @return array
- * @param array $files
- * @param int $sort
- */
- function sortFiles($files, $sort)
- {
- if (!$files) {
- return array();
- }
-
- if (!$sort) {
- return $files;
- }
-
- if ($sort === 1) {
- return array_reverse($files);
- }
-
- if ($sort & FILE_SORT_RANDOM) {
- shuffle($files);
- return $files;
- }
-
- $names = array();
- $sizes = array();
- $dates = array();
-
- if ($sort & FILE_SORT_NAME) {
- $r = &$names;
- } elseif ($sort & FILE_SORT_DATE) {
- $r = &$dates;
- } elseif ($sort & FILE_SORT_SIZE) {
- $r = &$sizes;
- } else {
- asort($files, SORT_REGULAR);
- return $files;
- }
-
- $sortFlags = array(
- FILE_SORT_NAME => SORT_STRING,
- FILE_SORT_DATE => SORT_NUMERIC,
- FILE_SORT_SIZE => SORT_NUMERIC,
- );
-
- foreach ($files as $file) {
- $names[] = $file->name;
- $sizes[] = $file->size;
- $dates[] = $file->date;
- }
-
- if ($sort & FILE_SORT_REVERSE) {
- arsort($r, $sortFlags[$sort & ~1]);
- } else {
- asort($r, $sortFlags[$sort]);
- }
-
- $result = array();
- foreach ($r as $i => $f) {
- $result[] = $files[$i];
- }
-
- return $result;
- }
-
- /**
- * Switch File Extension
- *
- * @static
- * @access public
- * @return string|array
- * @param string|array $filename
- * @param string $to new file extension
- * @param string $from change only files with this extension
- * @param bool $reverse change only files not having $from extension
- */
- function switchExt($filename, $to, $from = null, $reverse = false)
- {
- if (is_array($filename)) {
- foreach ($filename as $key => $file) {
- $filename[$key] = File_Util::switchExt($file, $to, $from);
- }
- return $filename;
- }
-
- if ($len = strlen($from)) {
- $ext = substr($filename, -$len - 1);
- $cfn = FILE_WIN32 ? 'strcasecmp' : 'strcmp';
- if (!$reverse == $cfn($ext, '.'. $from)) {
- return $filename;
- }
- return substr($filename, 0, -$len - 1) .'.'. $to;
- }
-
- if ($pos = strpos($filename, '.')) {
- return substr($filename, 0, $pos) .'.'. $to;
- }
-
- return $filename .'.'. $to;
- }
-}
-
-?>
diff --git a/airtime_mvc/library/pear/HTML/Common.php b/airtime_mvc/library/pear/HTML/Common.php
deleted file mode 100644
index 2dab2fe58..000000000
--- a/airtime_mvc/library/pear/HTML/Common.php
+++ /dev/null
@@ -1,465 +0,0 @@
-
- * @copyright 2001-2009 The PHP Group
- * @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id: Common.php,v 1.15 2009/04/03 15:26:22 avb Exp $
- * @link http://pear.php.net/package/HTML_Common/
- */
-
-/**
- * Base class for all HTML classes
- *
- * @category HTML
- * @package HTML_Common
- * @author Adam Daniel
- * @version Release: 1.2.5
- * @abstract
- */
-class HTML_Common
-{
- /**
- * Associative array of attributes
- * @var array
- * @access private
- */
- var $_attributes = array();
-
- /**
- * Tab offset of the tag
- * @var int
- * @access private
- */
- var $_tabOffset = 0;
-
- /**
- * Tab string
- * @var string
- * @since 1.7
- * @access private
- */
- var $_tab = "\11";
-
- /**
- * Contains the line end string
- * @var string
- * @since 1.7
- * @access private
- */
- var $_lineEnd = "\12";
-
- /**
- * HTML comment on the object
- * @var string
- * @since 1.5
- * @access private
- */
- var $_comment = '';
-
- /**
- * Class constructor
- * @param mixed $attributes Associative array of table tag attributes
- * or HTML attributes name="value" pairs
- * @param int $tabOffset Indent offset in tabs
- * @access public
- */
- function HTML_Common($attributes = null, $tabOffset = 0)
- {
- $this->setAttributes($attributes);
- $this->setTabOffset($tabOffset);
- } // end constructor
-
- /**
- * Returns the current API version
- * @access public
- * @returns double
- */
- function apiVersion()
- {
- return 1.7;
- } // end func apiVersion
-
- /**
- * Returns the lineEnd
- *
- * @since 1.7
- * @access private
- * @return string
- */
- function _getLineEnd()
- {
- return $this->_lineEnd;
- } // end func getLineEnd
-
- /**
- * Returns a string containing the unit for indenting HTML
- *
- * @since 1.7
- * @access private
- * @return string
- */
- function _getTab()
- {
- return $this->_tab;
- } // end func _getTab
-
- /**
- * Returns a string containing the offset for the whole HTML code
- *
- * @return string
- * @access private
- */
- function _getTabs()
- {
- return str_repeat($this->_getTab(), $this->_tabOffset);
- } // end func _getTabs
-
- /**
- * Returns an HTML formatted attribute string
- * @param array $attributes
- * @return string
- * @access private
- */
- function _getAttrString($attributes)
- {
- $strAttr = '';
-
- if (is_array($attributes)) {
- $charset = HTML_Common::charset();
- foreach ($attributes as $key => $value) {
- $strAttr .= ' ' . $key . '="' . htmlspecialchars($value, ENT_COMPAT, $charset) . '"';
- }
- }
- return $strAttr;
- } // end func _getAttrString
-
- /**
- * Returns a valid atrributes array from either a string or array
- * @param mixed $attributes Either a typical HTML attribute string or an associative array
- * @access private
- * @return array
- */
- function _parseAttributes($attributes)
- {
- if (is_array($attributes)) {
- $ret = array();
- foreach ($attributes as $key => $value) {
- if (is_int($key)) {
- $key = $value = strtolower($value);
- } else {
- $key = strtolower($key);
- }
- $ret[$key] = $value;
- }
- return $ret;
-
- } elseif (is_string($attributes)) {
- $preg = "/(([A-Za-z_:]|[^\\x00-\\x7F])([A-Za-z0-9_:.-]|[^\\x00-\\x7F])*)" .
- "([ \\n\\t\\r]+)?(=([ \\n\\t\\r]+)?(\"[^\"]*\"|'[^']*'|[^ \\n\\t\\r]*))?/";
- if (preg_match_all($preg, $attributes, $regs)) {
- for ($counter=0; $counter $value) {
- $attr1[$key] = $value;
- }
- } // end func _updateAtrrArray
-
- /**
- * Removes the given attribute from the given array
- *
- * @param string $attr Attribute name
- * @param array $attributes Attribute array
- * @since 1.4
- * @access private
- * @return void
- */
- function _removeAttr($attr, &$attributes)
- {
- $attr = strtolower($attr);
- if (isset($attributes[$attr])) {
- unset($attributes[$attr]);
- }
- } //end func _removeAttr
-
- /**
- * Returns the value of the given attribute
- *
- * @param string $attr Attribute name
- * @since 1.5
- * @access public
- * @return string|null returns null if an attribute does not exist
- */
- function getAttribute($attr)
- {
- $attr = strtolower($attr);
- if (isset($this->_attributes[$attr])) {
- return $this->_attributes[$attr];
- }
- return null;
- } //end func getAttribute
-
- /**
- * Sets the value of the attribute
- *
- * @param string Attribute name
- * @param string Attribute value (will be set to $name if omitted)
- * @access public
- */
- function setAttribute($name, $value = null)
- {
- $name = strtolower($name);
- if (is_null($value)) {
- $value = $name;
- }
- $this->_attributes[$name] = $value;
- } // end func setAttribute
-
- /**
- * Sets the HTML attributes
- * @param mixed $attributes Either a typical HTML attribute string or an associative array
- * @access public
- */
- function setAttributes($attributes)
- {
- $this->_attributes = $this->_parseAttributes($attributes);
- } // end func setAttributes
-
- /**
- * Returns the assoc array (default) or string of attributes
- *
- * @param bool Whether to return the attributes as string
- * @since 1.6
- * @access public
- * @return mixed attributes
- */
- function getAttributes($asString = false)
- {
- if ($asString) {
- return $this->_getAttrString($this->_attributes);
- } else {
- return $this->_attributes;
- }
- } //end func getAttributes
-
- /**
- * Updates the passed attributes without changing the other existing attributes
- * @param mixed $attributes Either a typical HTML attribute string or an associative array
- * @access public
- */
- function updateAttributes($attributes)
- {
- $this->_updateAttrArray($this->_attributes, $this->_parseAttributes($attributes));
- } // end func updateAttributes
-
- /**
- * Removes an attribute
- *
- * @param string $attr Attribute name
- * @since 1.4
- * @access public
- * @return void
- */
- function removeAttribute($attr)
- {
- $this->_removeAttr($attr, $this->_attributes);
- } //end func removeAttribute
-
- /**
- * Sets the line end style to Windows, Mac, Unix or a custom string.
- *
- * @param string $style "win", "mac", "unix" or custom string.
- * @since 1.7
- * @access public
- * @return void
- */
- function setLineEnd($style)
- {
- switch ($style) {
- case 'win':
- $this->_lineEnd = "\15\12";
- break;
- case 'unix':
- $this->_lineEnd = "\12";
- break;
- case 'mac':
- $this->_lineEnd = "\15";
- break;
- default:
- $this->_lineEnd = $style;
- }
- } // end func setLineEnd
-
- /**
- * Sets the tab offset
- *
- * @param int $offset
- * @access public
- */
- function setTabOffset($offset)
- {
- $this->_tabOffset = $offset;
- } // end func setTabOffset
-
- /**
- * Returns the tabOffset
- *
- * @since 1.5
- * @access public
- * @return int
- */
- function getTabOffset()
- {
- return $this->_tabOffset;
- } //end func getTabOffset
-
- /**
- * Sets the string used to indent HTML
- *
- * @since 1.7
- * @param string $string String used to indent ("\11", "\t", ' ', etc.).
- * @access public
- * @return void
- */
- function setTab($string)
- {
- $this->_tab = $string;
- } // end func setTab
-
- /**
- * Sets the HTML comment to be displayed at the beginning of the HTML string
- *
- * @param string
- * @since 1.4
- * @access public
- * @return void
- */
- function setComment($comment)
- {
- $this->_comment = $comment;
- } // end func setHtmlComment
-
- /**
- * Returns the HTML comment
- *
- * @since 1.5
- * @access public
- * @return string
- */
- function getComment()
- {
- return $this->_comment;
- } //end func getComment
-
- /**
- * Abstract method. Must be extended to return the objects HTML
- *
- * @access public
- * @return string
- * @abstract
- */
- function toHtml()
- {
- return '';
- } // end func toHtml
-
- /**
- * Displays the HTML to the screen
- *
- * @access public
- */
- function display()
- {
- print $this->toHtml();
- } // end func display
-
- /**
- * Sets the charset to use by htmlspecialchars() function
- *
- * Since this parameter is expected to be global, the function is designed
- * to be called statically:
- *
- * HTML_Common::charset('utf-8');
- *
- * or
- *
- * $charset = HTML_Common::charset();
- *
- *
- * @param string New charset to use. Omit if just getting the
- * current value. Consult the htmlspecialchars() docs
- * for a list of supported character sets.
- * @return string Current charset
- * @access public
- * @static
- */
- function charset($newCharset = null)
- {
- static $charset = 'ISO-8859-1';
-
- if (!is_null($newCharset)) {
- $charset = $newCharset;
- }
- return $charset;
- } // end func charset
-} // end class HTML_Common
-?>
diff --git a/airtime_mvc/library/pear/HTML/QuickForm.php b/airtime_mvc/library/pear/HTML/QuickForm.php
deleted file mode 100644
index 203c97f57..000000000
--- a/airtime_mvc/library/pear/HTML/QuickForm.php
+++ /dev/null
@@ -1,2065 +0,0 @@
-
- * @author Bertrand Mansion
- * @author Alexey Borzov
- * @copyright 2001-2009 The PHP Group
- * @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id: QuickForm.php,v 1.166 2009/04/04 21:34:02 avb Exp $
- * @link http://pear.php.net/package/HTML_QuickForm
- */
-
-/**
- * PEAR and PEAR_Error classes, for error handling
- */
-require_once 'PEAR.php';
-/**
- * Base class for all HTML classes
- */
-require_once 'HTML/Common.php';
-
-/**
- * Element types known to HTML_QuickForm
- * @see HTML_QuickForm::registerElementType(), HTML_QuickForm::getRegisteredTypes(),
- * HTML_QuickForm::isTypeRegistered()
- * @global array $GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES']
- */
-$GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'] =
- array(
- 'group' =>array('HTML/QuickForm/group.php','HTML_QuickForm_group'),
- 'hidden' =>array('HTML/QuickForm/hidden.php','HTML_QuickForm_hidden'),
- 'reset' =>array('HTML/QuickForm/reset.php','HTML_QuickForm_reset'),
- 'checkbox' =>array('HTML/QuickForm/checkbox.php','HTML_QuickForm_checkbox'),
- 'file' =>array('HTML/QuickForm/file.php','HTML_QuickForm_file'),
- 'image' =>array('HTML/QuickForm/image.php','HTML_QuickForm_image'),
- 'password' =>array('HTML/QuickForm/password.php','HTML_QuickForm_password'),
- 'radio' =>array('HTML/QuickForm/radio.php','HTML_QuickForm_radio'),
- 'button' =>array('HTML/QuickForm/button.php','HTML_QuickForm_button'),
- 'submit' =>array('HTML/QuickForm/submit.php','HTML_QuickForm_submit'),
- 'select' =>array('HTML/QuickForm/select.php','HTML_QuickForm_select'),
- 'hiddenselect' =>array('HTML/QuickForm/hiddenselect.php','HTML_QuickForm_hiddenselect'),
- 'text' =>array('HTML/QuickForm/text.php','HTML_QuickForm_text'),
- 'textarea' =>array('HTML/QuickForm/textarea.php','HTML_QuickForm_textarea'),
- 'link' =>array('HTML/QuickForm/link.php','HTML_QuickForm_link'),
- 'advcheckbox' =>array('HTML/QuickForm/advcheckbox.php','HTML_QuickForm_advcheckbox'),
- 'date' =>array('HTML/QuickForm/date.php','HTML_QuickForm_date'),
- 'static' =>array('HTML/QuickForm/static.php','HTML_QuickForm_static'),
- 'header' =>array('HTML/QuickForm/header.php', 'HTML_QuickForm_header'),
- 'html' =>array('HTML/QuickForm/html.php', 'HTML_QuickForm_html'),
- 'hierselect' =>array('HTML/QuickForm/hierselect.php', 'HTML_QuickForm_hierselect'),
- 'autocomplete' =>array('HTML/QuickForm/autocomplete.php', 'HTML_QuickForm_autocomplete'),
- 'xbutton' =>array('HTML/QuickForm/xbutton.php','HTML_QuickForm_xbutton')
- );
-
-/**
- * Validation rules known to HTML_QuickForm
- * @see HTML_QuickForm::registerRule(), HTML_QuickForm::getRegisteredRules(),
- * HTML_QuickForm::isRuleRegistered()
- * @global array $GLOBALS['_HTML_QuickForm_registered_rules']
- */
-$GLOBALS['_HTML_QuickForm_registered_rules'] = array(
- 'required' => array('html_quickform_rule_required', 'HTML/QuickForm/Rule/Required.php'),
- 'maxlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'),
- 'minlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'),
- 'rangelength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'),
- 'email' => array('html_quickform_rule_email', 'HTML/QuickForm/Rule/Email.php'),
- 'regex' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
- 'lettersonly' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
- 'alphanumeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
- 'numeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
- 'nopunctuation' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
- 'nonzero' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
- 'callback' => array('html_quickform_rule_callback', 'HTML/QuickForm/Rule/Callback.php'),
- 'compare' => array('html_quickform_rule_compare', 'HTML/QuickForm/Rule/Compare.php')
-);
-
-// {{{ error codes
-
-/**#@+
- * Error codes for HTML_QuickForm
- *
- * Codes are mapped to textual messages by errorMessage() method, if you add a
- * new code be sure to add a new message for it to errorMessage()
- *
- * @see HTML_QuickForm::errorMessage()
- */
-define('QUICKFORM_OK', 1);
-define('QUICKFORM_ERROR', -1);
-define('QUICKFORM_INVALID_RULE', -2);
-define('QUICKFORM_NONEXIST_ELEMENT', -3);
-define('QUICKFORM_INVALID_FILTER', -4);
-define('QUICKFORM_UNREGISTERED_ELEMENT', -5);
-define('QUICKFORM_INVALID_ELEMENT_NAME', -6);
-define('QUICKFORM_INVALID_PROCESS', -7);
-define('QUICKFORM_DEPRECATED', -8);
-define('QUICKFORM_INVALID_DATASOURCE', -9);
-/**#@-*/
-
-// }}}
-
-/**
- * Create, validate and process HTML forms
- *
- * @category HTML
- * @package HTML_QuickForm
- * @author Adam Daniel
- * @author Bertrand Mansion
- * @author Alexey Borzov
- * @version Release: 3.2.11
- */
-class HTML_QuickForm extends HTML_Common
-{
- // {{{ properties
-
- /**
- * Array containing the form fields
- * @since 1.0
- * @var array
- * @access private
- */
- var $_elements = array();
-
- /**
- * Array containing element name to index map
- * @since 1.1
- * @var array
- * @access private
- */
- var $_elementIndex = array();
-
- /**
- * Array containing indexes of duplicate elements
- * @since 2.10
- * @var array
- * @access private
- */
- var $_duplicateIndex = array();
-
- /**
- * Array containing required field IDs
- * @since 1.0
- * @var array
- * @access private
- */
- var $_required = array();
-
- /**
- * Prefix message in javascript alert if error
- * @since 1.0
- * @var string
- * @access public
- */
- var $_jsPrefix = 'Invalid information entered.';
-
- /**
- * Postfix message in javascript alert if error
- * @since 1.0
- * @var string
- * @access public
- */
- var $_jsPostfix = 'Please correct these fields.';
-
- /**
- * Datasource object implementing the informal
- * datasource protocol
- * @since 3.3
- * @var object
- * @access private
- */
- var $_datasource;
-
- /**
- * Array of default form values
- * @since 2.0
- * @var array
- * @access private
- */
- var $_defaultValues = array();
-
- /**
- * Array of constant form values
- * @since 2.0
- * @var array
- * @access private
- */
- var $_constantValues = array();
-
- /**
- * Array of submitted form values
- * @since 1.0
- * @var array
- * @access private
- */
- var $_submitValues = array();
-
- /**
- * Array of submitted form files
- * @since 1.0
- * @var integer
- * @access public
- */
- var $_submitFiles = array();
-
- /**
- * Value for maxfilesize hidden element if form contains file input
- * @since 1.0
- * @var integer
- * @access public
- */
- var $_maxFileSize = 1048576; // 1 Mb = 1048576
-
- /**
- * Flag to know if all fields are frozen
- * @since 1.0
- * @var boolean
- * @access private
- */
- var $_freezeAll = false;
-
- /**
- * Array containing the form rules
- * @since 1.0
- * @var array
- * @access private
- */
- var $_rules = array();
-
- /**
- * Form rules, global variety
- * @var array
- * @access private
- */
- var $_formRules = array();
-
- /**
- * Array containing the validation errors
- * @since 1.0
- * @var array
- * @access private
- */
- var $_errors = array();
-
- /**
- * Note for required fields in the form
- * @var string
- * @since 1.0
- * @access private
- */
- var $_requiredNote = '* denotes required field ';
-
- /**
- * Whether the form was submitted
- * @var boolean
- * @access private
- */
- var $_flagSubmitted = false;
-
- // }}}
- // {{{ constructor
-
- /**
- * Class constructor
- * @param string $formName Form's name.
- * @param string $method (optional)Form's method defaults to 'POST'
- * @param string $action (optional)Form's action
- * @param string $target (optional)Form's target defaults to '_self'
- * @param mixed $attributes (optional)Extra attributes for