protected $conversation = null;
protected $notices = null;
- /**
- * For initializing members of the class.
- *
- * @param array $argarray misc. arguments
- *
- * @return boolean true
- */
- function prepare($argarray)
+ protected function prepare(array $args=array())
{
- parent::prepare($argarray);
+ parent::prepare($args);
$convId = $this->trimmed('id');
Event::handle('EndShowConversation', array($this, $this->conv, $this->scoped));
}
- function isReadOnly()
+ function isReadOnly($args)
{
return true;
}
throw new ServerException('URL already exists in DB');
}
$sql = 'UPDATE %1$s SET urlhash=%2$s, url=%3$s WHERE urlhash=%4$s;';
- $result = $this->query(sprintf($sql, $this->__table,
+ $result = $this->query(sprintf($sql, $this->tableName(),
$this->_quote((string)self::hashurl($url)),
$this->_quote((string)$url),
$this->_quote((string)$this->urlhash)));
if ($result === false) {
common_log_db_error($this, 'UPDATE', __FILE__);
- throw new ServerException("Could not UPDATE {$this->__table}.url");
+ throw new ServerException("Could not UPDATE {$this->tableName()}.url");
}
return $result;
--- /dev/null
+<?php
+if (!defined('GNUSOCIAL')) { exit(1); }
+
+class GS_DataObject extends DB_DataObject
+{
+ public function _autoloadClass($class, $table=false)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::_autoloadClass($class, $table);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // wraps the _connect call so we don't throw E_STRICT warnings during it
+ public function _connect()
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::_connect();
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // wraps the _loadConfig call so we don't throw E_STRICT warnings during it
+ // doesn't actually return anything, but we'll follow the same model as the rest of the wrappers
+ public function _loadConfig()
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::_loadConfig();
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // wraps the count call so we don't throw E_STRICT warnings during it
+ public function count($countWhat = false,$whereAddOnly = false)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::count($countWhat, $whereAddOnly);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ static public function debugLevel($v = null)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::debugLevel($v);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // delete calls PEAR::isError from DB_DataObject, so let's make that disappear too
+ public function delete($useWhere = false)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::delete($useWhere);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ static public function factory($table = '')
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::factory($table);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ public function get($k = null, $v = null)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::get($k, $v);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ public function fetch()
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::fetch();
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ public function find($n = false)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::find($n);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ public function fetchRow($row = null)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::fetchRow($row);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // insert calls PEAR::isError from DB_DataObject, so let's make that disappear too
+ public function insert()
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::insert();
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // DB_DataObject's joinAdd calls DB_DataObject::factory explicitly, so our factory-override doesn't work
+ public function joinAdd($obj = false, $joinType='INNER', $joinAs=false, $joinCol=false)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::joinAdd($obj, $joinType, $joinAs, $joinCol);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ public function links()
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::links();
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ // wraps the update call so we don't throw E_STRICT warnings during it
+ public function update($dataObject = false)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::update($dataObject);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ static public function staticGet($class, $k, $v = null)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::staticGet($class, $k, $v);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+
+ public function staticGetAutoloadTable($table)
+ {
+ // avoid those annoying PEAR::DB strict standards warnings it causes
+ $old = error_reporting();
+ error_reporting(error_reporting() & ~E_STRICT);
+
+ $res = parent::staticGetAutoloadTable($table);
+
+ // reset
+ error_reporting($old);
+ return $res;
+ }
+}
common_log_db_error($this, 'UPDATE', __FILE__);
// rollback as something bad occurred
$this->query('ROLLBACK');
- throw new ServerException("Could not UPDATE non-keys for {$this->__table}");
+ throw new ServerException("Could not UPDATE non-keys for {$this->tableName()}");
}
$orig->decache();
$this->encache();
common_log_db_error($this, 'UPDATE', __FILE__);
// rollback as something bad occurred
$this->query('ROLLBACK');
- throw new ServerException("Could not UPDATE key fields for {$this->__table}");
+ throw new ServerException("Could not UPDATE key fields for {$this->tableName()}");
}
// Update non-keys too, if the previous endeavour worked.
common_log_db_error($this, 'UPDATE', __FILE__);
// rollback as something bad occurred
$this->query('ROLLBACK');
- throw new ServerException("Could not UPDATE non-keys for {$this->__table}");
+ throw new ServerException("Could not UPDATE non-keys for {$this->tableName()}");
}
$orig->decache();
$this->encache();
}
global $_DB_DATAOBJECT;
- if (!isset($_DB_DATAOBJECT['INI'][$this->_database][$this->__table."__keys"])) {
+ if (!isset($_DB_DATAOBJECT['INI'][$this->_database][$this->tableName()."__keys"])) {
$this->databaseStructure();
}
- return $_DB_DATAOBJECT['INI'][$this->_database][$this->__table."__keys"];
+ return $_DB_DATAOBJECT['INI'][$this->_database][$this->tableName()."__keys"];
}
function encache()
global $_DB_DATAOBJECT;
if (empty($_DB_DATAOBJECT['CONFIG'])) {
- DB_DataObject::_loadConfig();
+ self::_loadConfig();
}
$options = &$_DB_DATAOBJECT['CONFIG'];
if (!$dsn) {
if (!$this->_database) {
- $this->_database = isset($options["table_{$this->__table}"]) ? $options["table_{$this->__table}"] : null;
+ $this->_database = isset($options["table_{$this->tableName()}"]) ? $options["table_{$this->tableName()}"] : null;
}
if ($this->_database && !empty($options["database_{$this->_database}"])) {
// Force the scope for private groups
foreach ($groups as $group_id) {
- $group = User_group::staticGet('id', $group_id);
- if ($group instanceof User_group) {
+ try {
+ $group = User_group::getByID($group_id);
if ($group->force_scope) {
$scope |= Notice::GROUP_SCOPE;
break;
}
+ } catch (Exception $e) {
+ common_log(LOG_ERR, 'Notice figureOutScope threw exception: '.$e->getMessage());
}
}
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+if (!defined('GNUSOCIAL')) { exit(1); }
/**
* Extended DB_DataObject to improve a few things:
* - don't leak memory when loading already-used .ini files
* (eg when using the same schema on thousands of databases)
*/
-class Safe_DataObject extends DB_DataObject
+class Safe_DataObject extends GS_DataObject
{
/**
* Destructor to free global memory resources associated with
}
}
-
if (!$this->_database) {
$this->_connect();
}
// database loaded - but this is table is not available..
if (
- empty($_DB_DATAOBJECT['INI'][$this->_database][$this->__table])
+ empty($_DB_DATAOBJECT['INI'][$this->_database][$this->tableName()])
&& !empty($_DB_DATAOBJECT['CONFIG']['proxy'])
) {
if (!empty($_DB_DATAOBJECT['CONFIG']['debug'])) {
$x = new DB_DataObject_Generator;
- $x->fillTableSchema($this->_database,$this->__table);
+ $x->fillTableSchema($this->_database,$this->tableName());
}
return true;
}
if (empty($_DB_DATAOBJECT['CONFIG'])) {
- DB_DataObject::_loadConfig();
+ self::_loadConfig();
}
// if you supply this with arguments, then it will take those
// now have we loaded the structure..
- if (!empty($_DB_DATAOBJECT['INI'][$this->_database][$this->__table])) {
+ if (!empty($_DB_DATAOBJECT['INI'][$this->_database][$this->tableName()])) {
return true;
}
// - if not try building it..
require_once 'DB/DataObject/Generator.php';
$x = new DB_DataObject_Generator;
- $x->fillTableSchema($this->_database,$this->__table);
+ $x->fillTableSchema($this->_database,$this->tableName());
// should this fail!!!???
return true;
}
- $this->debug("Cant find database schema: {$this->_database}/{$this->__table} \n".
+ $this->debug("Cant find database schema: {$this->_database}/{$this->tableName()} \n".
"in links file data: " . print_r($_DB_DATAOBJECT['INI'],true),"databaseStructure",5);
// we have to die here!! - it causes chaos if we don't (including looping forever!)
// Low level exception. No need for i18n as discussed with Brion.
$sn = new Status_network();
$sn->_connect();
- $config['db']['table_'. $this->__table] = $sn->_database;
+ $config['db']['table_'. $this->tableName()] = $sn->_database;
$this->_connect();
}
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
%%site.name%% is a
-social network based on the Free Software [GNU social](http://www.gnu.org/software/social/) tool.
+social network based on the Free Software [GNU social](https://git.gnu.io/gnu/gnu-social) tool.
If you [register](%%action.register%%) for an account,
you can post small (%%site.textlimit%% chars or less) text notices
about yourself, where you are, what you're doing, or practically
anything you want. You can also subscribe to the notices of your
friends, or other people you're interested in, and follow them on the
-Web or in an [RSS](http://en.wikipedia.org/wiki/RSS) feed.
+Web or in an [RSS](https://en.wikipedia.org/wiki/RSS) feed.
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
%%site.name%% provides an API that applications can use to interact with it.
More information about this API can be found on the [StatusNet Wiki](http://status.net/wiki/API).
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
There are a number of options for getting in contact with responsible
people for %%site.name%%.
----
If you think you've found a bug in the underlying [GNU social](https://gnu.io/social/) software,
-or if there's a new feature you'd like to see, add it into the [GNU social task list](https://bugz.foocorp.net/).
+or if there's a new feature you'd like to see, add it into the [GNU social task list](https://git.gnu.io/gnu/gnu-social/issues).
Don't forget to check the list of existing bugs to make sure it hasn't already been reported!
Email
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
These are some *Frequently Asked Questions* about this service, with
some answers.
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
Users on %%site.name%% can create *groups* that other users can join.
Groups can be a great way to share information and entertainment with
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
%%site.name%% is a **social service**. Users can post short
(%%site.textlimit%% character) status messages which are broadcast to
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
You can post messages to %%site.name%% using a [Jabber](http://jabber.org/) client
-on your computer, mobile phone, or other platform. ([GTalk](http://talk.google.com/),
-Google's Jabber program, will also work.) This can be a convenient way to keep
-up with your friends on %%site.name%%.
+on your computer, mobile phone, or other platform. This can be a convenient way to
+keep up with your friends on %%site.name%%.
-If you don't already have a Jabber account, you can use GTalk or one of the other
+If you don't already have a Jabber account, one of the
[public Jabber services](http://www.jabber.org/im-services). You'll probably also
-need an IM client like [Pidgin](http://www.pidgin.im/).
+need an IM client like [Pidgin](https://www.pidgin.im/).
Managing your IM settings
-------------------------
Use the [IM settings](%%action.imsettings%%) page to set your IM preferences. You can add or change your Jabber address and set the flags for Jabber update.
When you add or change your address, you'll receive a message from **%%xmpp.user%%@%%xmpp.server%%** asking you to confirm the change. (You may need to
-add %%xmpp.user%%@%%xmpp.server%% to your buddy list *before* changing your IM
-settings; this is definitely true for GTalk.)
+add %%xmpp.user%%@%%xmpp.server%% to your buddy list *before* changing your IM settings.)
Sending updates
---------------
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
This document outlines this service's respect for your personal
privacy as a user of the service.
users are registered with Hotmail addresses."
- Your notices (including files) can be downloaded and re-used by
other services, either one-by-one or in bulk as
- [RSS](http://en.wikipedia.org/wiki/RSS) files.
+ [RSS](https://en.wikipedia.org/wiki/RSS) files.
- Your profile information (including subscriptions and avatars) can be
downloaded and re-used by other services, either scraped from the HTML
- interface or in bulk as [FOAF](http://en.wikipedia.org/wiki/FOAF) files.
+ interface or in bulk as [FOAF](https://en.wikipedia.org/wiki/FOAF) files.
- Your notices will be forwarded to users who subscribe to them,
including users on another microblogging service.
- Your profile information will be sent to microblogging services for
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
You can post messages to %%site.name%% using many kinds of cell
phones that support SMS messaging. This site does not support SMS
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
This service uses a Free microblogging tool called **GNU social**.
GNU social is available under the [GNU Affero General Public License
-Version 3.0](http://www.fsf.org/licensing/licenses/agpl-3.0.html), a
+Version 3.0](https://www.fsf.org/licensing/licenses/agpl-3.0.html), a
Free Software license for network services.
You can get a copy of the software by following links from the
-[GNU social main site](http://gnu.io/)¹. The version of the software
+[GNU social main site](https://gnu.io/)¹. The version of the software
that runs on *this* site is unmodified from that version. The site
also depends on certain libraries and other software; these are all
-bundled in the [GNU social repository](https://gitorious.org/social/mainline)²
+bundled in the [GNU social repository](https://git.gnu.io/gnu/gnu-social)²
and release archive files.
References
----------
-1. GNU social main site, <http://gnu.io>
-2. GNU social repository, <https://gitorious.org/social/mainline>
+1. GNU social main site, <https://gnu.io>
+2. GNU social repository, <https://git.gnu.io/gnu/gnu-social>
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
%%site.name%% supports
-[tags](http://en.wikipedia.org/wiki/Tag_(metadata)) to help you
+[tags](https://en.wikipedia.org/wiki/Tag_(metadata)) to help you
organize your activities here. You can use tags for people and for
notices.
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
-<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
+<!-- https://creativecommons.org/licenses/by/3.0/ for details. -->
The gist
--------
Sharealike license, which means you’re more than welcome to steal it
and repurpose it for your own use. Just make sure to replace
references to us with ones to you. They’d appreciate a link to
-[WordPress.com](http://www.wordpress.com/) somewhere on your site.
+[WordPress.com](https://wordpress.com/) somewhere on your site.
They spent a lot of money and time on the below, and other people
shouldn’t need to do the same. (We didn't!))
assigns.</li> </ol>
*Originally published by Automattic, Inc. as the [WordPress.com Terms
-of Service](http://en.wordpress.com/tos/) and made available by them
+of Service](https://en.wordpress.com/tos/) and made available by them
under the [Creative Commons Attribution-ShareAlike 3.0
-License](http://creativecommons.org/licenses/by-sa/3.0/).
+License](https://creativecommons.org/licenses/by-sa/3.0/).
Modifications to remove reference to "VIP services", rename "blog" to
"notice stream", remove the choice-of-venue clause, and add variables
specific to instances of this software made by Control Yourself, Inc.
-and made available under the terms of the same license.*
\ No newline at end of file
+and made available under the terms of the same license.*
$this->_query['derive_select']
.' FROM ( SELECT'.
$this->_query['data_select'] . " \n" .
- " FROM $tn \n" .
+ " FROM $tn " . $this->_query['useindex'] . " \n" .
$this->_join . " \n" .
$this->_query['condition'] . " \n" .
$this->_query['group_by'] . " \n" .
$sql = 'SELECT ' .
$this->_query['data_select'] . " \n" .
- " FROM $tn \n" .
+ " FROM $tn " . $this->_query['useindex'] . " \n" .
$this->_join . " \n" .
$this->_query['condition'] . " \n" .
$this->_query['group_by'] . " \n" .
$this->_query['having'] .= " AND {$having}";
}
+ /**
+ * Adds a using Index
+ *
+ * $object->useIndex(); //reset the use Index
+ * $object->useIndex("some_index");
+ *
+ * Note do not put unfiltered user input into theis method.
+ * This is mysql specific at present? - might need altering to support other databases.
+ *
+ * @param string|array $index index or indexes to use.
+ * @access public
+ * @return none|PEAR::Error - invalid args only
+ */
+ function useIndex($index = false)
+ {
+ if ($this->_query === false) {
+ $this->raiseError(
+ "You cannot do two queries on the same object (copy it before finding)",
+ DB_DATAOBJECT_ERROR_INVALIDARGS);
+ return false;
+ }
+ if ($index=== false) {
+ $this->_query['useindex'] = '';
+ return;
+ }
+ // check input...= 0 or ' ' == error!
+ if ((is_string($index) && !trim($index)) || (is_array($index) && !count($index)) ) {
+ return $this->raiseError("Having: No Valid Arguments", DB_DATAOBJECT_ERROR_INVALIDARGS);
+ }
+ $index = is_array($index) ? implode(', ', $index) : $index;
+
+ if (!$this->_query['useindex']) {
+ $this->_query['useindex'] = " USE INDEX ({$index}) ";
+ return;
+ }
+ $this->_query['useindex'] = substr($this->_query['useindex'],0, -2) . ", {$index}) ";
+ }
/**
* Sets the Limit
*
continue;
}
-
-
-
- // Ignore variables which aren't set to a value
- if ( (!isset($this->$k) || ($v == 1 && $this->$k == ''))
+
+ // Ignore INTEGERS which aren't set to a value - or empty string..
+ if ( (!isset($this->$k) || ($v == 1 && $this->$k === ''))
&& $ignore_null
) {
continue;
foreach($items as $k => $v) {
- if ((!isset($this->$k) || ($v == 1 && $this->$k == ''))
+ // I think this is ignoring empty vlalues
+ if ((!isset($this->$k) || ($v == 1 && $this->$k === ''))
&& $ignore_null
) {
continue;
'group_by' => '', // the GROUP BY condition
'order_by' => '', // the ORDER BY condition
'having' => '', // the HAVING condition
+ 'useindex' => '', // the USE INDEX condition
'limit_start' => '', // the LIMIT condition
'limit_count' => '', // the LIMIT condition
'data_select' => '*', // the columns to be SELECTed
} else {
$_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5] = DB::connect($dsn);
}
-
+
} else {
/* assumption is MDB2 */
require_once 'MDB2.php';
- function factory($table = '')
+ static function factory($table = '')
{
global $_DB_DATAOBJECT;
}
// no configuration available for database
if (!empty($database) && empty($_DB_DATAOBJECT['CONFIG']['database_'.$database])) {
- return DB_DataObject::raiseError(
+ $do = new DB_DataObject();
+ $do->raiseError(
"unable to find database_{$database} in Configuration, It is required for factory with database"
, 0, PEAR_ERROR_DIE );
}
-
+ /*
if ($table === '') {
if (is_a($this,'DB_DataObject') && strlen($this->tableName())) {
$table = $this->tableName();
}
}
+ */
// does this need multi db support??
$cp = isset($_DB_DATAOBJECT['CONFIG']['class_prefix']) ?
explode(PATH_SEPARATOR, $_DB_DATAOBJECT['CONFIG']['class_prefix']) : '';
}
if (!$rclass || !class_exists($rclass)) {
- return DB_DataObject::raiseError(
+ $dor = new DB_DataObject();
+ return $dor->raiseError(
"factory could not find class " .
(is_array($class) ? implode(PATH_SEPARATOR, $class) : $class ).
"from $table",
}
}
if (!$found) {
- DB_DataObject::raiseError(
+ $dor = new DB_DataObject();
+ $dor->raiseError(
"autoload:Could not find class " . implode(',', $cls) .
" using class_location value :" . $search .
" using include_path value :" . ini_get('include_path'),
}
}
if (!$ce) {
- DB_DataObject::raiseError(
+ $dor = new DB_DataObject();
+ $dor->raiseError(
"autoload:Could not autoload " . implode(',', $cls) ,
DB_DATAOBJECT_ERROR_INVALIDCONFIG);
return false;
global $_DB_DATAOBJECT;
$keys = $this->keys();
$items = $this->table();
+
if (!$items) {
$this->raiseError(
"setFrom:Could not find table definition for {$this->tableName()}",
* @access public
* @return none
*/
- function debugLevel($v = null)
+ static function debugLevel($v = null)
{
global $_DB_DATAOBJECT;
if (empty($_DB_DATAOBJECT['CONFIG'])) {
$error = $message;
} else {
require_once 'DB/DataObject/Error.php';
- $error = PEAR::raiseError($message, $type, $behaviour,
+ $dor = new PEAR();
+ $error = $dor->raiseError($message, $type, $behaviour,
$opts=null, $userinfo=null, 'DB_DataObject_Error'
);
}
/**
* (deprecated - use ::get / and your own caching method)
*/
- function staticGet($class, $k, $v = null)
+ static function staticGet($class, $k, $v = null)
{
$lclass = strtolower($class);
global $_DB_DATAOBJECT;
$obj = DB_DataObject::factory(substr($class,strlen($_DB_DATAOBJECT['CONFIG']['class_prefix'])));
if (PEAR::isError($obj)) {
- DB_DataObject::raiseError("could not autoload $class", DB_DATAOBJECT_ERROR_NOCLASS);
+ $dor = new DB_DataObject();
+ $dor->raiseError("could not autoload $class", DB_DATAOBJECT_ERROR_NOCLASS);
$r = false;
return $r;
}
$_DB_DATAOBJECT['CACHE'][$lclass] = array();
}
if (!$obj->get($k,$v)) {
- DB_DataObject::raiseError("No Data return from get $k $v", DB_DATAOBJECT_ERROR_NODATA);
+ $dor = new DB_DataObject();
+ $dor->raiseError("No Data return from get $k $v", DB_DATAOBJECT_ERROR_NODATA);
$r = false;
return $r;
} else {
common_debug('Prepare failed for Action.');
}
- }
-
- $this->flush();
- Event::handle('EndActionExecute', array($this));
+ $this->flush();
+ Event::handle('EndActionExecute', array($this));
+ }
}
/**
return false;
}
- function prepare($args)
+ protected function prepare(array $args=array())
{
- parent::prepare($args);
- return true;
- }
-
- /**
- * Handle input, produce output
- *
- * Switches on request method; either shows the form or handles its input.
- *
- * @param array $args $_REQUEST data
- *
- * @return void
- */
- function handle($args)
- {
- parent::handle($args);
self::cleanRequest();
+ return parent::prepare($args);
}
/*
// XXX: Should these error actions even be invokable via URI?
- function handle($args)
+ protected function handle()
{
- parent::handle($args);
+ parent::handle();
$this->code = $this->trimmed('code');
class FullThreadedNoticeList extends ThreadedNoticeList
{
- function newListItem($notice)
+ function newListItem(Notice $notice)
{
return new FullThreadedNoticeListItem($notice, $this->out, $this->userProfile);
}
. ' (' . get_class($this) . ' v' . $this->version() . ')';
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$name = $this->name();
// XXX: Should these error actions even be invokable via URI?
- function handle($args)
+ protected function handle()
{
- parent::handle($args);
+ parent::handle();
$this->code = $this->trimmed('code');
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'AccountManager',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Activity',
'version' => self::VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'ActivitySpam',
'version' => GNUSOCIAL_VERSION,
'verb' => '[a-z]+'));
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Activity Verb',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:AnonymousFave';
return true;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'AntiBrute',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'ApiLogger',
'version' => GNUSOCIAL_VERSION,
return true;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'AuthCrypt',
'version' => GNUSOCIAL_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'AutoSandbox',
'version' => GNUSOCIAL_VERSION,
$m->connect('main/autocomplete/suggest', array('action'=>'autocomplete'));
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Autocomplete',
'version' => GNUSOCIAL_VERSION,
{
const VERSION = '0.0.42';
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'Awesomeness',
return null;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => sprintf('BitlyUrl (%s)', $this->shortenerName),
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Blacklist',
'version' => self::VERSION,
'');
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'BlankAd',
'version' => GNUSOCIAL_VERSION,
return BLOGSPAMNETPLUGIN_VERSION;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'BlogspamNet',
'version' => BLOGSPAMNETPLUGIN_VERSION,
*
* @return value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Bookmark',
'version' => self::VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'CacheLog',
'version' => GNUSOCIAL_VERSION,
$casSettings['takeOverLogin']=$this->takeOverLogin;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'CAS Authentication',
'version' => GNUSOCIAL_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Shorten',
'version' => GNUSOCIAL_VERSION,
return '/' . implode('/', $path);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Comet',
'version' => GNUSOCIAL_VERSION,
return true;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Cronish',
'version' => GNUSOCIAL_VERSION,
return true;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Default Layout',
'version' => GNUSOCIAL_VERSION,
/**
* plugin details
*/
- function onPluginVersion(&$versions){
+ function onPluginVersion(array &$versions){
$url = 'http://status.net/wiki/Plugin:DirectionDetector';
$versions[] = array(
/*
* Version info
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'Directory',
return false;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'DiskCache',
'version' => GNUSOCIAL_VERSION,
return null;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'DomainStatusNetwork',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'DomainWhitelist',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Email Authentication',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'EmailRegistration',
'version' => GNUSOCIAL_VERSION,
* @param type $versions
* @return type
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'EmailReminder',
*
* @return boolean hook value; true means continue processing, false means stop.
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'EmailSummary',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Event',
'version' => GNUSOCIAL_VERSION,
*/
class ExtendedProfilePlugin extends Plugin
{
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'ExtendedProfile',
*
* @param array &$versions plugin version descriptions
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'Facebook Bridge',
return true;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'FeedPoller',
'version' => GNUSOCIAL_VERSION,
$this->firephp->fb($msg, $fp_priority);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'FirePHP',
'version' => GNUSOCIAL_VERSION,
* @return boolean hook value
*
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'FollowEveryone',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:ForceGroup';
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'GeoURL',
'version' => GNUSOCIAL_VERSION,
return $document->geoname;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Geonames',
'version' => GNUSOCIAL_VERSION,
$action->inlineScript($js);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'GoogleAnalytics',
'version' => self::VERSION,
return $url;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Gravatar',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'GroupPrivateMessage',
'version' => GNUSOCIAL_VERSION,
return getimagesize($outpath); // Verify that we wrote an understandable image.
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'ImageMagick',
'version' => GNUSOCIAL_VERSION,
$classes[] = new ImapManager($this);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'IMAP',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean true
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:InProcessCache';
$disco->registerMethod('LRDDMethod_LinkHTML');
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'LRDD',
'version' => GNUSOCIAL_VERSION,
return common_nicknamize($nickname);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'LDAP Authentication',
'version' => GNUSOCIAL_VERSION,
return false;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'LDAP Authorization',
'version' => GNUSOCIAL_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => sprintf('LilUrl (%s)', $this->shortenerName),
'version' => GNUSOCIAL_VERSION,
*/
class LinkPreviewPlugin extends Plugin
{
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'LinkPreview',
'version' => GNUSOCIAL_VERSION,
return LINKBACKPLUGIN_VERSION;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Linkback',
'version' => LINKBACKPLUGIN_VERSION,
public $priority = array(); // override by priority: array(LOG_ERR => true, LOG_DEBUG => false)
public $regex = array(); // override by regex match of message: array('/twitter/i' => false)
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'LogFilter',
'version' => GNUSOCIAL_VERSION,
$action->elementEnd('div');
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Mapstraction',
'version' => self::VERSION,
return $out;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Memcache',
'version' => GNUSOCIAL_VERSION,
return $flag;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Memcached',
'version' => GNUSOCIAL_VERSION,
return implode('-', $path);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Meteor',
'version' => GNUSOCIAL_VERSION,
return Minify_CSS::minify($code,$options);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Minify',
'version' => GNUSOCIAL_VERSION,
class WAP20Plugin extends Plugin
{
- function onStartShowHTML($action)
+ function onStartShowHTML(Action $action)
{
}
return $proto.'://'.$serverpart.'/'.$pathpart.$relative;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'MobileProfile',
'version' => GNUSOCIAL_VERSION,
{
static $rights = array(Right::SILENCEUSER, Right::TRAINSPAM, Right::REVIEWSPAM);
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'ModHelper',
'version' => GNUSOCIAL_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'ModLog',
'version' => GNUSOCIAL_VERSION,
*/
class ModPlusPlugin extends Plugin
{
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'ModPlus',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:NoticeTitle';
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'OStatus',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'OfflineBackup',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'OpenExternalLinkTarget',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'OpenID',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'OpenX',
'version' => GNUSOCIAL_VERSION,
return true;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'OpportunisticQM',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Orbited',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'PiwikAnalytics',
'version' => GNUSOCIAL_VERSION,
*
* @return value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Poll',
'version' => self::VERSION,
}
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'PostDebug',
'version' => GNUSOCIAL_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => sprintf('PtitUrl (%s)', $this->shortenerName),
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'QnA',
* @return boolean hook value
*/
- function onStartOpenNoticeListItemElement($nli)
+ function onStartOpenNoticeListItemElement(NoticeListItem $nli)
{
$type = $nli->notice->object_type;
*
* @todo FIXME: WARNING WARNING WARNING this closes a 'div' that is implicitly opened in BookmarkPlugin's showNotice implementation
*/
- function onStartShowNoticeItem($nli)
+ function onStartShowNoticeItem(NoticeListItem $nli)
{
if (!$this->isMyNotice($nli->notice)) {
return true;
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'RSSCloud',
'version' => RSSCLOUDPLUGIN_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Recaptcha',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'RegisterThrottle',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] =
array('name' => 'Require Validated Email',
return User::register($registration_data);
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Reverse Username Authentication',
'version' => GNUSOCIAL_VERSION,
{
private $recursionGuard = false;
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'SQLProfile',
'version' => GNUSOCIAL_VERSION,
protected $queryTimes = array();
protected $queries = array();
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'SQLStats',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Sample',
'version' => GNUSOCIAL_VERSION,
*
* @return value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'SearchSub',
'version' => self::VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:ShareNotice';
return $this->http_get(sprintf($this->serviceUrl,urlencode($url)));
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => sprintf('SimpleUrl (%s)', $this->shortenerName),
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:Sitemap';
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:SlicedFavorites';
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:SphinxSearch';
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'StrictTransportSecurity',
'version' => GNUSOCIAL_VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'SubMirror',
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'SubscriptionThrottle',
'version' => GNUSOCIAL_VERSION,
$action->script($this->path('tabfocus.js'));
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'TabFocus',
'version' => GNUSOCIAL_VERSION,
*
* @return value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'TagSub',
'version' => self::VERSION,
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => sprintf('TightUrl (%s)', $this->shortenerName),
'version' => GNUSOCIAL_VERSION,
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array(
'name' => 'TwitterBridge',
*
* @return boolean hook value
*/
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$url = 'http://status.net/wiki/Plugin:UserFlag';
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'UserLimit',
'version' => GNUSOCIAL_VERSION,
return false;
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Video Thumbnails',
'version' => GNUSOCIAL_VERSION,
}
}
- public function onPluginVersion(&$versions)
+ public function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'WebFinger',
'version' => GNUSOCIAL_VERSION,
return true;
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'WikiHashtags',
'version' => self::VERSION,
*/
class WikiHowProfilePlugin extends Plugin
{
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'WikiHow avatar fetcher',
'version' => GNUSOCIAL_VERSION,
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'XMPP',
'version' => GNUSOCIAL_VERSION,
.mark-top {
border-top: 1px solid #ccc;
+ padding-top: 5px;
}
#realtime_actions {
position: relative !important;
right: -4px !important;
+ top: -65px !important;
float: right;
padding-top: 15px;
margin-bottom: -8px !important;
#realtime_actions {
padding-top: 0px !important;
+ top: -25px !important;
}
#realtime_actions button {