]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/snapshot.php
Merge branch '0.8.x' into 0.9.x
[quix0rs-gnu-social.git] / lib / snapshot.php
index 75850a301b58da1ffecf537a3fd999dcdad3f670..ede846e5b02e852e5473a336af04160d410188f9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
  *
  * A snapshot of site stats that can report itself to headquarters
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @category  Stats
- * @package   Laconica
- * @author    Evan Prodromou <evan@controlyourself.ca>
- * @copyright 2009 Control Yourself, Inc.
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link      http://laconi.ca/
+ * @link      http://status.net/
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -36,16 +36,16 @@ if (!defined('LACONICA')) {
  *
  * This class will collect statistics on the site and report them to
  * a statistics server of the admin's choice. (Default is the big one
- * at laconi.ca.)
+ * at status.net.)
  *
  * It can either be called from a cron job, or run occasionally by the
  * Web site.
  *
  * @category Stats
- * @package  Laconica
- * @author   Evan Prodromou <evan@controlyourself.ca>
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://laconi.ca/
+ * @link     http://status.net/
  *
  */
 
@@ -73,10 +73,6 @@ class Snapshot
 
     static function check()
     {
-        if (!common_config('snapshot', 'enabled')) {
-            return;
-        }
-
         switch (common_config('snapshot', 'run')) {
         case 'web':
             // skip if we're not running on the Web.
@@ -88,9 +84,8 @@ class Snapshot
             // hits
             if (rand() % common_config('snapshot', 'frequency') == 0) {
                 $snapshot = new Snapshot();
-                if ($snapshot->take()) {
-                    $snapshot->report();
-                }
+                $snapshot->take();
+                $snapshot->report();
             }
             break;
         case 'cron':
@@ -98,11 +93,14 @@ class Snapshot
             if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
                 break;
             }
+            common_log(LOG_INFO, 'Running snapshot from cron job');
             // We're running from the command line; assume
+
             $snapshot = new Snapshot();
-            if ($snapshot->take()) {
-                $snapshot->report();
-            }
+            $snapshot->take();
+            common_log(LOG_INFO, count($snapshot->stats) . " statistics being uploaded.");
+            $snapshot->report();
+
             break;
         case 'never':
             break;
@@ -127,7 +125,7 @@ class Snapshot
 
         // Some basic identification stuff
 
-        $this->stats['version']    = LACONICA_VERSION;
+        $this->stats['version']    = STATUSNET_VERSION;
         $this->stats['phpversion'] = phpversion();
         $this->stats['name']       = common_config('site', 'name');
         $this->stats['root']       = common_root_url();
@@ -159,6 +157,7 @@ class Snapshot
         $this->stats['memcached'] = common_config('memcached', 'enabled');
         $this->stats['language']  = common_config('site', 'language');
         $this->stats['timezone']  = common_config('site', 'timezone');
+
     }
 
     /**
@@ -182,7 +181,7 @@ class Snapshot
                       'header'  => 'Content-type: '.
                                    'application/x-www-form-urlencoded',
                       'content' => $postdata,
-                      'user_agent' => 'Laconica/'.LACONICA_VERSION
+                      'user_agent' => 'StatusNet/'.STATUSNET_VERSION
                       )
                 );
 
@@ -190,7 +189,9 @@ class Snapshot
 
         $reporturl = common_config('snapshot', 'reporturl');
 
-        $result = file_get_contents($reporturl, false, $context);
+        $result = @file_get_contents($reporturl, false, $context);
+
+        return $result;
     }
 
     /**
@@ -207,14 +208,14 @@ class Snapshot
 
     function tableStats($table)
     {
-        $inst = DB_DataObject::Factory($table);
+        $inst = DB_DataObject::factory($table);
 
-        $res = $inst->query('SELECT count(*) as cnt, '.
-                            'min(created) as first, '.
-                            'max(created) as last '.
-                            'from ' . $table);
+        $inst->selectAdd();
+        $inst->selectAdd('count(*) as cnt, '.
+                         'min(created) as first, '.
+                         'max(created) as last');
 
-        if ($res) {
+        if ($inst->find(true)) {
             $this->stats[$table.'count'] = $inst->cnt;
             $this->stats[$table.'first'] = $inst->first;
             $this->stats[$table.'last']  = $inst->last;