Exemple #1
0
 function showUserSitemaps()
 {
     $userCounts = Sitemap_user_count::getAll();
     foreach ($userCounts as $dt => $cnt) {
         $cnt = $cnt + 0;
         if ($cnt == 0) {
             continue;
         }
         $n = (int) $cnt / (int) SitemapPlugin::USERS_PER_MAP;
         if ($cnt % SitemapPlugin::USERS_PER_MAP != 0) {
             $n++;
         }
         for ($i = 1; $i <= $n; $i++) {
             $this->showSitemap('user', $dt, $i);
         }
     }
 }
 static function updateCount($d, $n)
 {
     $suc = Sitemap_user_count::getKV('registration_date', DB_DataObject_Cast::date($d));
     if (empty($suc)) {
         // TRANS: Exception thrown when a registration date cannot be found.
         throw new Exception(_m("No such registration date: {$d}."));
     }
     $orig = clone $suc;
     $suc->registration_date = DB_DataObject_Cast::date($d);
     $suc->user_count = $n;
     $suc->created = common_sql_now();
     $suc->modified = $suc->created;
     if (!$suc->update($orig)) {
         common_log(LOG_WARNING, "Could not save user counts for '{$d}'");
     }
 }
#!/usr/bin/env php
<?php 
/*
 * StatusNet - a distributed open-source microblogging tool
 * Copyright (C) 2010, 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_UPDATECOUNTS_HELP
updatecounts.php [options]
Update the notice and user counts cached in the database.

END_OF_UPDATECOUNTS_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
// Will fill the cache
$userCounts = Sitemap_user_count::getAll();
$noticeCounts = Sitemap_notice_count::getAll();
echo "Done.\n";