Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[fix] update PEAR stuff and correct Twitter service, close #26

  • Loading branch information...
commit 8c2ac5276eaf247b00b8f164c7e8bf9c24d61818 1 parent 723f6d5
@haschek authored
View
12 lib/PEAR/Cache/Lite.php
@@ -19,8 +19,8 @@
*
* @package Cache_Lite
* @category Caching
-* @version $Id: Lite.php 314953 2011-08-15 12:32:34Z tacker $
* @author Fabien MARTY <fab@php.net>
+* @author Markus Tacker <tacker@php.net>
*/
define('CACHE_LITE_ERROR_RETURN', 1);
@@ -729,9 +729,13 @@ function _read()
if ($this->_readControl) {
$hashControl = @fread($fp, 32);
$length = $length - 32;
- }
+ }
+
if ($length) {
- $data = @fread($fp, $length);
+ $data = '';
+ // See https://bugs.php.net/bug.php?id=30936
+ // The 8192 magic number is the chunk size used internally by PHP.
+ while(!feof($fp)) $data .= fread($fp, 8192);
} else {
$data = '';
}
@@ -842,5 +846,3 @@ function _hash($data, $controlType)
}
}
-
-?>
View
3  lib/PEAR/Cache/Lite/File.php
@@ -11,7 +11,6 @@
* Technical choices are described in the 'docs/technical' file
*
* @package Cache_Lite
-* @version $Id: File.php 276823 2009-03-07 12:55:39Z tacker $
* @author Fabien MARTY <fab@php.net>
*/
@@ -89,5 +88,3 @@ function get($id, $group = 'default', $doNotTestCacheValidity = false)
}
}
-
-?>
View
3  lib/PEAR/Cache/Lite/Function.php
@@ -11,7 +11,6 @@
* Technical choices are described in the 'docs/technical' file
*
* @package Cache_Lite
-* @version $Id: Function.php 225008 2006-12-14 12:59:43Z cweiske $
* @author Sebastian BERGMANN <sb@sebastian-bergmann.de>
* @author Fabien MARTY <fab@php.net>
*/
@@ -207,5 +206,3 @@ function _makeId($arguments)
}
}
-
-?>
View
56 lib/PEAR/Cache/Lite/NestedOutput.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+* This class extends Cache_Lite and uses output buffering to get the data to cache.
+* It supports nesting of caches
+*
+* @package Cache_Lite
+* @author Markus Tacker <tacker@php.net>
+*/
+
+require_once('Cache/Lite/Output.php');
+
+class Cache_Lite_NestedOutput extends Cache_Lite_Output
+{
+ private $nestedIds = array();
+ private $nestedGroups = array();
+
+ /**
+ * Start the cache
+ *
+ * @param string $id cache id
+ * @param string $group name of the cache group
+ * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested
+ * @return boolean|string false if the cache is not hit else the data
+ * @access public
+ */
+ function start($id, $group = 'default', $doNotTestCacheValidity = false)
+ {
+ $this->nestedIds[] = $id;
+ $this->nestedGroups[] = $group;
+ $data = $this->get($id, $group, $doNotTestCacheValidity);
+ if ($data !== false) {
+ return $data;
+ }
+ ob_start();
+ ob_implicit_flush(false);
+ return false;
+ }
+
+ /**
+ * Stop the cache
+ *
+ * @param boolen
+ * @return string return contents of cache
+ */
+ function end()
+ {
+ $data = ob_get_contents();
+ ob_end_clean();
+ $id = array_pop($this->nestedIds);
+ $group = array_pop($this->nestedGroups);
+ $this->save($data, $id, $group);
+ return $data;
+ }
+
+}
View
4 lib/PEAR/Cache/Lite/Output.php
@@ -7,7 +7,6 @@
* Technical choices are described in the 'docs/technical' file
*
* @package Cache_Lite
-* @version $Id: Output.php 206076 2006-01-29 00:22:07Z fab $
* @author Fabien MARTY <fab@php.net>
*/
@@ -67,6 +66,3 @@ function end()
}
}
-
-
-?>
View
259 lib/PEAR/PEAR.php
@@ -12,9 +12,9 @@
* @author Stig Bakken <ssb@php.net>
* @author Tomas V.V.Cox <cox@idecnet.com>
* @author Greg Beaver <cellog@php.net>
- * @copyright 1997-2009 The Authors
+ * @copyright 1997-2010 The Authors
* @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @version CVS: $Id: PEAR.php,v 1.111 2009/04/08 23:32:04 dufuz Exp $
+ * @version CVS: $Id: PEAR.php 313023 2011-07-06 19:17:11Z dufuz $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
@@ -78,7 +78,7 @@
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @version Release: 1.8.0
+ * @version Release: 1.9.4
* @link http://pear.php.net/package/PEAR
* @see PEAR_Error
* @since Class available since PHP 4.0.2
@@ -86,8 +86,6 @@
*/
class PEAR
{
- // {{{ properties
-
/**
* Whether to enable internal debug messages.
*
@@ -138,10 +136,6 @@ class PEAR
*/
var $_expected_errors = array();
- // }}}
-
- // {{{ constructor
-
/**
* Constructor. Registers this object in
* $_PEAR_destructor_object_list for destructor emulation if a
@@ -158,9 +152,11 @@ function PEAR($error_class = null)
if ($this->_debug) {
print "PEAR constructor called, class=$classname\n";
}
+
if ($error_class !== null) {
$this->_error_class = $error_class;
}
+
while ($classname && strcasecmp($classname, "pear")) {
$destructor = "_$classname";
if (method_exists($this, $destructor)) {
@@ -177,9 +173,6 @@ function PEAR($error_class = null)
}
}
- // }}}
- // {{{ destructor
-
/**
* Destructor (the emulated type of...). Does nothing right now,
* but is included for forward compatibility, so subclass
@@ -197,9 +190,6 @@ function _PEAR() {
}
}
- // }}}
- // {{{ getStaticProperty()
-
/**
* If you have a class that's mostly/entirely static, and you need static
* properties, you can use this method to simulate them. Eg. in your method(s)
@@ -226,9 +216,6 @@ function &getStaticProperty($class, $var)
return $properties[$class][$var];
}
- // }}}
- // {{{ registerShutdownFunc()
-
/**
* Use this function to register a shutdown method for static
* classes.
@@ -249,9 +236,6 @@ function registerShutdownFunc($func, $args = array())
$GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args);
}
- // }}}
- // {{{ isError()
-
/**
* Tell whether a value is a PEAR error.
*
@@ -278,9 +262,6 @@ function isError($data, $code = null)
return $data->getCode() == $code;
}
- // }}}
- // {{{ setErrorHandling()
-
/**
* Sets how errors generated by this object should be handled.
* Can be invoked both in objects and statically. If called
@@ -319,7 +300,6 @@ function isError($data, $code = null)
*
* @since PHP 4.0.5
*/
-
function setErrorHandling($mode = null, $options = null)
{
if (isset($this) && is_a($this, 'PEAR')) {
@@ -357,9 +337,6 @@ function setErrorHandling($mode = null, $options = null)
}
}
- // }}}
- // {{{ expectError()
-
/**
* This method is used to tell which errors you expect to get.
* Expected errors are always returned with error mode
@@ -382,12 +359,9 @@ function expectError($code = '*')
} else {
array_push($this->_expected_errors, array($code));
}
- return sizeof($this->_expected_errors);
+ return count($this->_expected_errors);
}
- // }}}
- // {{{ popExpect()
-
/**
* This method pops one element off the expected error codes
* stack.
@@ -399,9 +373,6 @@ function popExpect()
return array_pop($this->_expected_errors);
}
- // }}}
- // {{{ _checkDelExpect()
-
/**
* This method checks unsets an error code if available
*
@@ -413,8 +384,7 @@ function popExpect()
function _checkDelExpect($error_code)
{
$deleted = false;
-
- foreach ($this->_expected_errors AS $key => $error_array) {
+ foreach ($this->_expected_errors as $key => $error_array) {
if (in_array($error_code, $error_array)) {
unset($this->_expected_errors[$key][array_search($error_code, $error_array)]);
$deleted = true;
@@ -425,12 +395,10 @@ function _checkDelExpect($error_code)
unset($this->_expected_errors[$key]);
}
}
+
return $deleted;
}
- // }}}
- // {{{ delExpect()
-
/**
* This method deletes all occurences of the specified element from
* the expected error codes stack.
@@ -444,33 +412,26 @@ function delExpect($error_code)
{
$deleted = false;
if ((is_array($error_code) && (0 != count($error_code)))) {
- // $error_code is a non-empty array here;
- // we walk through it trying to unset all
- // values
- foreach($error_code as $key => $error) {
- if ($this->_checkDelExpect($error)) {
- $deleted = true;
- } else {
- $deleted = false;
- }
+ // $error_code is a non-empty array here; we walk through it trying
+ // to unset all values
+ foreach ($error_code as $key => $error) {
+ $deleted = $this->_checkDelExpect($error) ? true : false;
}
+
return $deleted ? true : PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
} elseif (!empty($error_code)) {
// $error_code comes alone, trying to unset it
if ($this->_checkDelExpect($error_code)) {
return true;
- } else {
- return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
}
+
+ return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
}
// $error_code is empty
return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME
}
- // }}}
- // {{{ raiseError()
-
/**
* This method is a wrapper that returns an instance of the
* configured error class with this object's default error
@@ -525,10 +486,16 @@ function &raiseError($message = null,
$message = $message->getMessage();
}
- if (isset($this) && isset($this->_expected_errors) && sizeof($this->_expected_errors) > 0 && sizeof($exp = end($this->_expected_errors))) {
+ if (
+ isset($this) &&
+ isset($this->_expected_errors) &&
+ count($this->_expected_errors) > 0 &&
+ count($exp = end($this->_expected_errors))
+ ) {
if ($exp[0] == "*" ||
(is_int(reset($exp)) && in_array($code, $exp)) ||
- (is_string(reset($exp)) && in_array($message, $exp))) {
+ (is_string(reset($exp)) && in_array($message, $exp))
+ ) {
$mode = PEAR_ERROR_RETURN;
}
}
@@ -569,19 +536,23 @@ function &raiseError($message = null,
return $a;
}
- // }}}
- // {{{ throwError()
-
/**
* Simpler form of raiseError with fewer options. In most cases
* message, code and userinfo are enough.
*
- * @param string $message
+ * @param mixed $message a text error message or a PEAR error object
+ *
+ * @param int $code a numeric error code (it is up to your class
+ * to define these if you want to use codes)
*
+ * @param string $userinfo If you need to pass along for example debug
+ * information, this parameter is meant for that.
+ *
+ * @access public
+ * @return object a PEAR error object
+ * @see PEAR::raiseError
*/
- function &throwError($message = null,
- $code = null,
- $userinfo = null)
+ function &throwError($message = null, $code = null, $userinfo = null)
{
if (isset($this) && is_a($this, 'PEAR')) {
$a = &$this->raiseError($message, $code, null, null, $userinfo);
@@ -592,10 +563,9 @@ function &throwError($message = null,
return $a;
}
- // }}}
function staticPushErrorHandling($mode, $options = null)
{
- $stack = &$GLOBALS['_PEAR_error_handler_stack'];
+ $stack = &$GLOBALS['_PEAR_error_handler_stack'];
$def_mode = &$GLOBALS['_PEAR_default_error_mode'];
$def_options = &$GLOBALS['_PEAR_default_error_options'];
$stack[] = array($def_mode, $def_options);
@@ -664,8 +634,6 @@ function staticPopErrorHandling()
return true;
}
- // {{{ pushErrorHandling()
-
/**
* Push a new error handler on top of the error handler options stack. With this
* you can easily override the actual error handler for some code and restore
@@ -699,9 +667,6 @@ function pushErrorHandling($mode, $options = null)
return true;
}
- // }}}
- // {{{ popErrorHandling()
-
/**
* Pop the last error handler used
*
@@ -723,9 +688,6 @@ function popErrorHandling()
return true;
}
- // }}}
- // {{{ loadExtension()
-
/**
* OS independant PHP extension load. Remember to take care
* on the correct extension name for case sensitive OSes.
@@ -735,70 +697,39 @@ function popErrorHandling()
*/
function loadExtension($ext)
{
- if (!extension_loaded($ext)) {
- // if either returns true dl() will produce a FATAL error, stop that
- if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) {
- return false;
- }
+ if (extension_loaded($ext)) {
+ return true;
+ }
- if (OS_WINDOWS) {
- $suffix = '.dll';
- } elseif (PHP_OS == 'HP-UX') {
- $suffix = '.sl';
- } elseif (PHP_OS == 'AIX') {
- $suffix = '.a';
- } elseif (PHP_OS == 'OSX') {
- $suffix = '.bundle';
- } else {
- $suffix = '.so';
- }
+ // if either returns true dl() will produce a FATAL error, stop that
+ if (
+ function_exists('dl') === false ||
+ ini_get('enable_dl') != 1 ||
+ ini_get('safe_mode') == 1
+ ) {
+ return false;
+ }
- return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);
+ if (OS_WINDOWS) {
+ $suffix = '.dll';
+ } elseif (PHP_OS == 'HP-UX') {
+ $suffix = '.sl';
+ } elseif (PHP_OS == 'AIX') {
+ $suffix = '.a';
+ } elseif (PHP_OS == 'OSX') {
+ $suffix = '.bundle';
+ } else {
+ $suffix = '.so';
}
- return true;
+ return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);
}
-
- // }}}
}
if (PEAR_ZE2) {
- /**
- * This is only meant for PHP 5 to get rid of certain strict warning
- * that doesn't get hidden since it's in the shutdown function
- */
- class PEAR5
- {
- /**
- * If you have a class that's mostly/entirely static, and you need static
- * properties, you can use this method to simulate them. Eg. in your method(s)
- * do this: $myVar = &PEAR5::getStaticProperty('myclass', 'myVar');
- * You MUST use a reference, or they will not persist!
- *
- * @access public
- * @param string $class The calling classname, to prevent clashes
- * @param string $var The variable to retrieve.
- * @return mixed A reference to the variable. If not set it will be
- * auto initialised to NULL.
- */
- static function &getStaticProperty($class, $var)
- {
- static $properties;
- if (!isset($properties[$class])) {
- $properties[$class] = array();
- }
-
- if (!array_key_exists($var, $properties[$class])) {
- $properties[$class][$var] = null;
- }
-
- return $properties[$class][$var];
- }
- }
+ include_once 'PEAR5.php';
}
-// {{{ _PEAR_call_destructors()
-
function _PEAR_call_destructors()
{
global $_PEAR_destructor_object_list;
@@ -834,14 +765,17 @@ function _PEAR_call_destructors()
}
// Now call the shutdown functions
- if (is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) {
+ if (
+ isset($GLOBALS['_PEAR_shutdown_funcs']) &&
+ is_array($GLOBALS['_PEAR_shutdown_funcs']) &&
+ !empty($GLOBALS['_PEAR_shutdown_funcs'])
+ ) {
foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) {
call_user_func_array($value[0], $value[1]);
}
}
}
-// }}}
/**
* Standard PEAR error class for PHP 4
*
@@ -854,15 +788,13 @@ function _PEAR_call_destructors()
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
* @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @version Release: 1.8.0
+ * @version Release: 1.9.4
* @link http://pear.php.net/manual/en/core.pear.pear-error.php
* @see PEAR::raiseError(), PEAR::throwError()
* @since Class available since PHP 4.0.2
*/
class PEAR_Error
{
- // {{{ properties
-
var $error_message_prefix = '';
var $mode = PEAR_ERROR_RETURN;
var $level = E_USER_NOTICE;
@@ -871,9 +803,6 @@ class PEAR_Error
var $userinfo = '';
var $backtrace = null;
- // }}}
- // {{{ constructor
-
/**
* PEAR_Error constructor
*
@@ -917,6 +846,7 @@ function PEAR_Error($message = 'unknown error', $code = null,
unset($this->backtrace[0]['object']);
}
}
+
if ($mode & PEAR_ERROR_CALLBACK) {
$this->level = E_USER_NOTICE;
$this->callback = $options;
@@ -924,20 +854,25 @@ function PEAR_Error($message = 'unknown error', $code = null,
if ($options === null) {
$options = E_USER_NOTICE;
}
+
$this->level = $options;
$this->callback = null;
}
+
if ($this->mode & PEAR_ERROR_PRINT) {
if (is_null($options) || is_int($options)) {
$format = "%s";
} else {
$format = $options;
}
+
printf($format, $this->getMessage());
}
+
if ($this->mode & PEAR_ERROR_TRIGGER) {
trigger_error($this->getMessage(), $this->level);
}
+
if ($this->mode & PEAR_ERROR_DIE) {
$msg = $this->getMessage();
if (is_null($options) || is_int($options)) {
@@ -950,47 +885,39 @@ function PEAR_Error($message = 'unknown error', $code = null,
}
die(sprintf($format, $msg));
}
- if ($this->mode & PEAR_ERROR_CALLBACK) {
- if (is_callable($this->callback)) {
- call_user_func($this->callback, $this);
- }
+
+ if ($this->mode & PEAR_ERROR_CALLBACK && is_callable($this->callback)) {
+ call_user_func($this->callback, $this);
}
+
if ($this->mode & PEAR_ERROR_EXCEPTION) {
trigger_error("PEAR_ERROR_EXCEPTION is obsolete, use class PEAR_Exception for exceptions", E_USER_WARNING);
eval('$e = new Exception($this->message, $this->code);throw($e);');
}
}
- // }}}
- // {{{ getMode()
-
/**
* Get the error mode from an error object.
*
* @return int error mode
* @access public
*/
- function getMode() {
+ function getMode()
+ {
return $this->mode;
}
- // }}}
- // {{{ getCallback()
-
/**
* Get the callback function/method from an error object.
*
* @return mixed callback function or object/method array
* @access public
*/
- function getCallback() {
+ function getCallback()
+ {
return $this->callback;
}
- // }}}
- // {{{ getMessage()
-
-
/**
* Get the error message from an error object.
*
@@ -1002,10 +929,6 @@ function getMessage()
return ($this->error_message_prefix . $this->message);
}
-
- // }}}
- // {{{ getCode()
-
/**
* Get error code from an error object
*
@@ -1017,9 +940,6 @@ function getCode()
return $this->code;
}
- // }}}
- // {{{ getType()
-
/**
* Get the name of this error/exception.
*
@@ -1031,9 +951,6 @@ function getType()
return get_class($this);
}
- // }}}
- // {{{ getUserInfo()
-
/**
* Get additional user-supplied information.
*
@@ -1045,9 +962,6 @@ function getUserInfo()
return $this->userinfo;
}
- // }}}
- // {{{ getDebugInfo()
-
/**
* Get additional debug information supplied by the application.
*
@@ -1059,9 +973,6 @@ function getDebugInfo()
return $this->getUserInfo();
}
- // }}}
- // {{{ getBacktrace()
-
/**
* Get the call backtrace from where the error was generated.
* Supported with PHP 4.3.0 or newer.
@@ -1081,9 +992,6 @@ function getBacktrace($frame = null)
return $this->backtrace[$frame];
}
- // }}}
- // {{{ addUserInfo()
-
function addUserInfo($info)
{
if (empty($this->userinfo)) {
@@ -1093,14 +1001,10 @@ function addUserInfo($info)
}
}
- // }}}
- // {{{ toString()
function __toString()
{
return $this->getMessage();
}
- // }}}
- // {{{ toString()
/**
* Make a string representation of this object.
@@ -1108,7 +1012,8 @@ function __toString()
* @return string a string with an object summary
* @access public
*/
- function toString() {
+ function toString()
+ {
$modes = array();
$levels = array(E_USER_NOTICE => 'notice',
E_USER_WARNING => 'warning',
@@ -1147,8 +1052,6 @@ function toString() {
$this->error_message_prefix,
$this->userinfo);
}
-
- // }}}
}
/*
@@ -1157,4 +1060,4 @@ function toString() {
* tab-width: 4
* c-basic-offset: 4
* End:
- */
+ */
View
33 lib/PEAR/PEAR5.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * This is only meant for PHP 5 to get rid of certain strict warning
+ * that doesn't get hidden since it's in the shutdown function
+ */
+class PEAR5
+{
+ /**
+ * If you have a class that's mostly/entirely static, and you need static
+ * properties, you can use this method to simulate them. Eg. in your method(s)
+ * do this: $myVar = &PEAR5::getStaticProperty('myclass', 'myVar');
+ * You MUST use a reference, or they will not persist!
+ *
+ * @access public
+ * @param string $class The calling classname, to prevent clashes
+ * @param string $var The variable to retrieve.
+ * @return mixed A reference to the variable. If not set it will be
+ * auto initialised to NULL.
+ */
+ static function &getStaticProperty($class, $var)
+ {
+ static $properties;
+ if (!isset($properties[$class])) {
+ $properties[$class] = array();
+ }
+
+ if (!array_key_exists($var, $properties[$class])) {
+ $properties[$class][$var] = null;
+ }
+
+ return $properties[$class][$var];
+ }
+}
View
4 lib/Services/Twitter.php
@@ -19,7 +19,7 @@ class Twitter extends Service {
*/
public function __construct( $config ) {
parent::__construct( $config );
- $this->callback_function = array(Pubwich, 'json_decode');
+ $this->callback_function = array('Pubwich', 'json_decode');
}
/**
@@ -54,7 +54,7 @@ public function populateItemTemplate( &$item ) {
public function oauthRequest( $params=array() ) {
$method = $params[0];
$additional_params = isset( $params[1] ) ? $params[1] : array();
- $base = $params[2] ? $params[2] : "http://api.twitter.com/1/";
+ $base = isset( $params[2] ) ? $params[2] : "http://api.twitter.com/1/";
$sha1_method = new OAuthSignatureMethod_HMAC_SHA1();
$consumer = new OAuthConsumer( $this->oauth['app_consumer_key'], $this->oauth['app_consumer_secret'] );
Please sign in to comment.
Something went wrong with that request. Please try again.