Вход Регистрация
Файл: seoTopicTitles.php
Строк: 102
#!/usr/local/bin/php
<?php

/**
 * <pre>
 * Invision Power Services
 * IP.Board v3.3.3
 * Main public executable wrapper.
 * Set-up and load module to run
 * Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
 * </pre>
 *
 * @author         $Author: bfarber $
 * @copyright    (c) 2001 - 2009 Invision Power Services, Inc.
 * @license        http://www.invisionpower.com/company/standards.php#license
 * @package        IP.Board
 * @link        http://www.invisionpower.com
 * @version        $Rev: 10721 $
 *
 */

define'IPS_IS_SHELL'TRUE );
define'IPB_THIS_SCRIPT''public' );

if ( 
is_file'./initdata.php' ) )
{
    require_once( 
'./initdata.php' );/*noLibHook*/
}
else
{
    require_once( 
'../initdata.php' );/*noLibHook*/
}

require_once( 
IPS_ROOT_PATH 'sources/base/ipsRegistry.php' );/*noLibHook*/
require_once( IPS_ROOT_PATH 'sources/base/ipsController.php' );/*noLibHook*/

$reg ipsRegistry::instance();
$reg->init();

$moo = new moo$reg );

class 
moo
{
    function 
__constructipsRegistry $registry )
    {
        
$this->registry   =  $registry;
        
$this->DB         =  $this->registry->DB();
        
$this->settings   =& $this->registry->fetchSettings();
        
$this->request    =& $this->registry->fetchRequest();
        
$this->cache      =  $this->registry->cache();
        
$this->caches     =& $this->registry->cache()->fetchCaches();
        
$this->stdin      =  fopen('php://stdin''r');
        
        
$this->_print"--------------------------------------------nWelcome to the IP.Board Topic Title SEO Fixern--------------------------------------------n" );
        
$this->_print"Start from row?nEnter: " );

        
$start intval$this->_fetchOption() );
        
        
$this->_print"Do X rowsnEnter: " );
        
        
$end intval$this->_fetchOption() );
        
        
$this->_doTopics$start$end );
    }
    
    
/**
     * Rebuild langs
     */
    
protected function _doTopics$_start$end )
    {
        
/* INIT */
        
$start time();
        
$done  0;
        
        
$this->DB->build( array( 'select' => '*',
                                 
'from'   => 'topics',
                                 
'order'  => 'tid ASC',
                                 
'limit'  => array( $_start$end ) ) );
                                
        
$t $this->DB->execute();
        
        while( 
$row $this->DB->fetch$t ) )
        {
            
$title_seo      IPSText::makeSeoTitle$row['title'] );
            
$seo_last_name  IPSText::makeSeoTitle$row['last_poster_name'] );
            
$seo_first_name IPSText::makeSeoTitle$row['starter_name'] );
            
            
$this->DB->update'topics', array( 'title_seo'      => $title_seo,
                                                
'seo_last_name'  => $seo_last_name,
                                                
'seo_first_name' => $seo_first_name ), 'tid=' $row['tid'] );
                                                
            
$done++;
            
            if ( 
$done 250 == )
            {
                
$this->_print"Completed... " $done " (Last ID=" $row['tid'] . " total=" . ( $_start $done ) . ")" );
            }
            
            
/* Clear cached queries */
            
$this->DB->obj['cached_queries'] = array();
        }
        
        
$end time();
        
$tkn = ( $end $start) / 60;
        
        
$this->_print"COMPLETE. Took " $tkn "mn" );
    }
    
    
    
/**
     * Out to stdout
     */
    
protected function _print$message$newline="n" )
    {
        
$stdout fopen('php://stdout''w');
        
fwrite$stdout$message $newline );
        
fclose$stdout );
    }
    
    
/* Fetch option
     *
     */
    
protected function _fetchOption()
    {
        return 
trimfgets$this->stdin ) );
    }
}

exit();                 



?>
Онлайн: 2
Реклама