]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Remove callback sneakery by StatusNet
authorMikael Nordfeldth <mmn@hethane.se>
Sun, 23 Feb 2014 13:57:12 +0000 (14:57 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 23 Feb 2014 13:57:12 +0000 (14:57 +0100)
CONFIGURE
actions/snapshotadminpanel.php [deleted file]
lib/adminpanelnav.php
lib/default.php
lib/router.php
lib/snapshot.php [deleted file]
scripts/reportsnapshot.php [deleted file]

index d41f64b44f5ab2e895cf87274cc70bcb352ce171..c4a43a3dc8cdc904ead250776147e308fcf94445 100644 (file)
--- a/CONFIGURE
+++ b/CONFIGURE
@@ -532,32 +532,6 @@ welcome: nickname of a user account that sends welcome messages to new
 If either of these special user accounts are specified, the users should
 be created before the configuration is updated.
 
-snapshot
---------
-
-The software will, by default, send statistical snapshots about the
-local installation to a stats server on the status.net Web site. This
-data is used by the developers to prioritize development decisions. No
-identifying data about users or organizations is collected. The data
-is available to the public for review. Participating in this survey
-helps StatusNet developers take your needs into account when updating
-the software.
-
-run: string indicating when to run the statistics. Values can be 'web'
-    (run occasionally at Web time), 'cron' (run from a cron script),
-    or 'never' (don't ever run). If you set it to 'cron', remember to
-    schedule the script to run on a regular basis.
-frequency: if run value is 'web', how often to report statistics.
-    Measured in Web hits; depends on how active your site is.
-    Default is 10000 -- that is, one report every 10000 Web hits,
-    on average.
-reporturl: URL to post statistics to. Defaults to StatusNet developers'
-    report system, but if they go evil or disappear you may
-    need to update this to another value. Note: if you
-    don't want to report stats, it's much better to
-    set 'run' to 'never' than to set this value to something
-    nonsensical.
-
 attachments
 -----------
 
diff --git a/actions/snapshotadminpanel.php b/actions/snapshotadminpanel.php
deleted file mode 100644 (file)
index 214b3d6..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Snapshots administration panel
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * @category  Settings
- * @package   StatusNet
- * @author    Zach Copley <zach@status.net>
- * @copyright 2010 StatusNet, Inc.
- * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link      http://status.net/
- */
-
-if (!defined('STATUSNET')) {
-    exit(1);
-}
-
-/**
- * Manage snapshots
- *
- * @category Admin
- * @package  StatusNet
- * @author   Zach Copley <zach@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://status.net/
- */
-class SnapshotadminpanelAction extends AdminPanelAction
-{
-    /**
-     * Returns the page title
-     *
-     * @return string page title
-     */
-    function title()
-    {
-        // TRANS: Title for admin panel to configure snapshots.
-        return _m('TITLE','Snapshots');
-    }
-
-    /**
-     * Instructions for using this form.
-     *
-     * @return string instructions
-     */
-    function getInstructions()
-    {
-        // TRANS: Instructions for admin panel to configure snapshots.
-        return _('Manage snapshot configuration');
-    }
-
-    /**
-     * Show the snapshots admin panel form
-     *
-     * @return void
-     */
-    function showForm()
-    {
-        $form = new SnapshotAdminPanelForm($this);
-        $form->show();
-        return;
-    }
-
-    /**
-     * Save settings from the form
-     *
-     * @return void
-     */
-    function saveSettings()
-    {
-        static $settings = array(
-            'snapshot' => array('run', 'reporturl', 'frequency')
-        );
-
-        $values = array();
-
-        foreach ($settings as $section => $parts) {
-            foreach ($parts as $setting) {
-                $values[$section][$setting] = $this->trimmed($setting);
-            }
-        }
-
-        // This throws an exception on validation errors
-
-        $this->validate($values);
-
-        // assert(all values are valid);
-
-        $config = new Config();
-
-        $config->query('BEGIN');
-
-        foreach ($settings as $section => $parts) {
-            foreach ($parts as $setting) {
-                Config::save($section, $setting, $values[$section][$setting]);
-            }
-        }
-
-        $config->query('COMMIT');
-
-        return;
-    }
-
-    function validate(&$values)
-    {
-        // Validate snapshot run value
-
-        if (!in_array($values['snapshot']['run'], array('web', 'cron', 'never'))) {
-            // TRANS: Client error displayed on admin panel for snapshots when providing an invalid run value.
-            $this->clientError(_('Invalid snapshot run value.'));
-        }
-
-        // Validate snapshot frequency value
-
-        if (!Validate::number($values['snapshot']['frequency'])) {
-            // TRANS: Client error displayed on admin panel for snapshots when providing an invalid value for frequency.
-            $this->clientError(_('Snapshot frequency must be a number.'));
-        }
-
-        // Validate report URL
-
-        if (!is_null($values['snapshot']['reporturl'])
-                && !common_valid_http_url($values['snapshot']['reporturl'])) {
-            // TRANS: Client error displayed on admin panel for snapshots when providing an invalid report URL.
-            $this->clientError(_('Invalid snapshot report URL.'));
-        }
-    }
-}
-
-// @todo FIXME: add documentation
-class SnapshotAdminPanelForm extends AdminForm
-{
-    /**
-     * ID of the form
-     *
-     * @return int ID of the form
-     */
-    function id()
-    {
-        return 'form_snapshot_admin_panel';
-    }
-
-    /**
-     * class of the form
-     *
-     * @return string class of the form
-     */
-    function formClass()
-    {
-        return 'form_settings';
-    }
-
-    /**
-     * Action of the form
-     *
-     * @return string URL of the action
-     */
-    function action()
-    {
-        return common_local_url('snapshotadminpanel');
-    }
-
-    /**
-     * Data elements of the form
-     *
-     * @return void
-     */
-    function formData()
-    {
-        $this->out->elementStart(
-            'fieldset',
-            array('id' => 'settings_admin_snapshots')
-        );
-        // TRANS: Fieldset legend on admin panel for snapshots.
-        $this->out->element('legend', null, _m('LEGEND','Snapshots'));
-        $this->out->elementStart('ul', 'form_data');
-        $this->li();
-        $snapshot = array(
-            // TRANS: Option in dropdown for snapshot method in admin panel for snapshots.
-            'web' => _('Randomly during web hit'),
-            // TRANS: Option in dropdown for snapshot method in admin panel for snapshots.
-            'cron'  => _('In a scheduled job'),
-            // TRANS: Option in dropdown for snapshot method in admin panel for snapshots.
-            'never' => _('Never')
-        );
-        $this->out->dropdown(
-            'run',
-            // TRANS: Dropdown label for snapshot method in admin panel for snapshots.
-            _('Data snapshots'),
-            $snapshot,
-            // TRANS: Dropdown title for snapshot method in admin panel for snapshots.
-            _('When to send statistical data to status.net servers.'),
-            false,
-            $this->value('run', 'snapshot')
-        );
-        $this->unli();
-
-        $this->li();
-        $this->input(
-            'frequency',
-            // TRANS: Input field label for snapshot frequency in admin panel for snapshots.
-            _('Frequency'),
-            // TRANS: Input field title for snapshot frequency in admin panel for snapshots.
-            _('Snapshots will be sent once every N web hits.'),
-            'snapshot'
-        );
-        $this->unli();
-
-        $this->li();
-        $this->input(
-            'reporturl',
-            // TRANS: Input field label for snapshot report URL in admin panel for snapshots.
-            _('Report URL'),
-            // TRANS: Input field title for snapshot report URL in admin panel for snapshots.
-            _('Snapshots will be sent to this URL.'),
-            'snapshot'
-        );
-        $this->unli();
-        $this->out->elementEnd('ul');
-        $this->out->elementEnd('fieldset');
-    }
-
-    /**
-     * Action elements
-     *
-     * @return void
-     */
-    function formActions()
-    {
-        $this->out->submit(
-            'submit',
-            // TRANS: Button text to save snapshot settings.
-            _m('BUTTON','Save'),
-            'submit',
-            null,
-            // TRANS: Button title to save snapshot settings.
-            _('Save snapshot settings.')
-        );
-    }
-}
index 40c4889f27afd6fd6905a363b1e38a69514fa3b6..93a4d36ebbe6c673953ed73e45b5676af54a7f9e 100644 (file)
@@ -134,14 +134,6 @@ class AdminPanelNav extends Menu
                                      $menu_title, $action_name == 'sitenoticeadminpanel', 'nav_sitenotice_admin_panel');
             }
 
-            if (AdminPanelAction::canAdmin('snapshot')) {
-                // TRANS: Menu item title in administrator navigation panel.
-                $menu_title = _('Snapshots configuration');
-                // TRANS: Menu item in administrator navigation panel.
-                $this->out->menuItem(common_local_url('snapshotadminpanel'), _m('MENU','Snapshots'),
-                                     $menu_title, $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel');
-            }
-
             if (AdminPanelAction::canAdmin('license')) {
                 // TRANS: Menu item title in administrator navigation panel.
                 $menu_title = _('Set site license');
index 6a04b32dddcc58864ff235c7ef07c0582780c7d4..65a74d0959f59c08e224d1de7ea09b4132117178 100644 (file)
@@ -207,10 +207,6 @@ $default =
         'newuser' =>
         array('default' => null,
               'welcome' => null),
-        'snapshot' =>
-        array('run' => 'web',
-              'frequency' => 10000,
-              'reporturl' => 'http://status.net/stats/report'),
         'attachments' =>
         array('server' => null,
               'dir' => INSTALLDIR . '/file/',
index c8277859de319d7608fdc864014c579eeb0b622f..ad49c8c144d67de135e0584c9bf6800578d46bb1 100644 (file)
@@ -847,7 +847,6 @@ class Router
             $m->connect('panel/paths', array('action' => 'pathsadminpanel'));
             $m->connect('panel/sessions', array('action' => 'sessionsadminpanel'));
             $m->connect('panel/sitenotice', array('action' => 'sitenoticeadminpanel'));
-            $m->connect('panel/snapshot', array('action' => 'snapshotadminpanel'));
             $m->connect('panel/license', array('action' => 'licenseadminpanel'));
 
             $m->connect('panel/plugins', array('action' => 'pluginsadminpanel'));
diff --git a/lib/snapshot.php b/lib/snapshot.php
deleted file mode 100644 (file)
index f41efba..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * A snapshot of site stats that can report itself to headquarters
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * @category  Stats
- * @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://status.net/
- */
-
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
-
-/**
- * A snapshot of site stats that can report itself to headquarters
- *
- * 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 status.net.)
- *
- * It can either be called from a cron job, or run occasionally by the
- * Web site.
- *
- * @category Stats
- * @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://status.net/
- *
- */
-
-class Snapshot
-{
-    var $stats = null;
-
-    /**
-     * Constructor for a snapshot
-     */
-
-    function __construct()
-    {
-    }
-
-    /**
-     * Static function for reporting statistics
-     *
-     * This function checks whether it should report statistics, based on
-     * the current configuation settings. If it should, it creates a new
-     * Snapshot object, takes a snapshot, and reports it to headquarters.
-     *
-     * @return void
-     */
-
-    static function check()
-    {
-        switch (common_config('snapshot', 'run')) {
-        case 'web':
-            // skip if we're not running on the Web.
-            if (!isset($_SERVER) || !array_key_exists('REQUEST_METHOD', $_SERVER)) {
-                break;
-            }
-            // Run once every frequency hits
-            // XXX: do frequency by time (once a week, etc.) rather than
-            // hits
-            if (rand() % common_config('snapshot', 'frequency') == 0) {
-                $snapshot = new Snapshot();
-                $snapshot->take();
-                $snapshot->report();
-            }
-            break;
-        case 'cron':
-            // skip if we're running on the Web
-            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();
-            $snapshot->take();
-            common_log(LOG_INFO, count($snapshot->stats) . " statistics being uploaded.");
-            $snapshot->report();
-
-            break;
-        case 'never':
-            break;
-        default:
-            common_log(LOG_WARNING, "Unrecognized value for snapshot run config.");
-        }
-    }
-
-    /**
-     * Take a snapshot of the server
-     *
-     * Builds an array of statistical and configuration data based
-     * on the local database and config files. We avoid grabbing any
-     * information that could be personal or private.
-     *
-     * @return void
-     */
-
-    function take()
-    {
-        $this->stats = array();
-
-        // Some basic identification stuff
-
-        $this->stats['version']    = GNUSOCIAL_VERSION;
-        $this->stats['phpversion'] = phpversion();
-        $this->stats['name']       = common_config('site', 'name');
-        $this->stats['root']       = common_root_url();
-
-        // non-identifying stats on various tables. Primary
-        // interest is size and rate of activity of service.
-
-        $tables = array('user',
-                        'notice',
-                        'subscription',
-                        'user_group');
-
-        foreach ($tables as $table) {
-            $this->tableStats($table);
-        }
-
-        // stats on some important config options
-
-        $this->stats['theme']     = common_config('site', 'theme');
-        $this->stats['dbtype']    = common_config('db', 'type');
-        $this->stats['xmpp']      = common_config('xmpp', 'enabled');
-        $this->stats['inboxes']   = common_config('inboxes', 'enabled');
-        $this->stats['queue']     = common_config('queue', 'enabled');
-        $this->stats['license']   = common_config('license', 'url');
-        $this->stats['fancy']     = common_config('site', 'fancy');
-        $this->stats['private']   = common_config('site', 'private');
-        $this->stats['closed']    = common_config('site', 'closed');
-        $this->stats['memcached'] = common_config('memcached', 'enabled');
-        $this->stats['language']  = common_config('site', 'language');
-        $this->stats['timezone']  = common_config('site', 'timezone');
-
-    }
-
-    /**
-     * Reports statistics to headquarters
-     *
-     * Posts statistics to a reporting server.
-     *
-     * @return void
-     */
-
-    function report()
-    {
-        // XXX: Use OICU2 and OAuth to make authorized requests
-
-        $reporturl = common_config('snapshot', 'reporturl');
-        try {
-            $request = HTTPClient::start();
-            $request->post($reporturl, null, $this->stats);
-        } catch (Exception $e) {
-            common_log(LOG_WARNING, "Error in snapshot: " . $e->getMessage());
-        }
-    }
-
-    /**
-     * Updates statistics for a single table
-     *
-     * Determines the size of a table and its oldest and newest rows.
-     * Goal here is to see how active a site is. Note that it
-     * fills up the instance stats variable.
-     *
-     * @param string $table name of table to check
-     *
-     * @return void
-     */
-
-    function tableStats($table)
-    {
-        $inst = DB_DataObject::factory($table);
-
-        $inst->selectAdd();
-        $inst->selectAdd('count(*) as cnt, '.
-                         'min(created) as first, '.
-                         'max(created) as last');
-
-        if ($inst->find(true)) {
-            $this->stats[$table.'count'] = $inst->cnt;
-            $this->stats[$table.'first'] = $inst->first;
-            $this->stats[$table.'last']  = $inst->last;
-        }
-
-        $inst->free();
-        unset($inst);
-    }
-}
diff --git a/scripts/reportsnapshot.php b/scripts/reportsnapshot.php
deleted file mode 100644 (file)
index 71f1019..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env php
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-
-$helptext = <<<END_OF_SNAPSHOT_HELP
-Batch script for sending snapshot information about this installation to devs.
-
-END_OF_SNAPSHOT_HELP;
-
-require_once INSTALLDIR.'/scripts/commandline.inc';
-
-Snapshot::check();