Вход Регистрация
Файл: adultscript-2.0.3-pro/files/modules/pornstar/pornstar.php
Строк: 82
<?php
defined
('_VALID') or die('Restricted Access!');
class 
VModule_pornstar
{
    protected 
$db;
    protected 
$tpl;
    protected 
$cache;
    public function 
__construct()
    {
        
$this->db        VF::factory('database');
        
$this->tpl        VF::factory('template');
        
$this->cache    VF::factory('cache');
    }
    
    public function 
render()
    {
        
$segment     VUri::request(1);
        
$components    = array('rss' => 1'search' => 1'letter' => 1);
        
$orders        = array('recent' => 1'popular' => 1'favorites' => 1'rated' => 1'name' => 1'discussed' => 1);
        
        if (isset(
$components[$segment])) {
            
$component    $components[$segment];
        } else {
            if (isset(
$orders[$segment]) or strlen($segment) === or $segment == '') {
                
$component 'browse';
            } else {
                
$component 'view';
            }
        }
        
        if (
$component == 'view') {
            
$type VUri::request(2);
            if (
$type == 'videos') {
                
VF::redirect(str_replace('/videos'''CUR_URL), 301);
            }
            
            if (
$type == 'comments' or $type == 'albums') {
                
$component $type;
            }
        }
        
        
$component_class 'VComponent_pornstar_'.$component;
        
        try {
            require 
MODULES_DIR.'/pornstar/components/'.$component.'.php';
            
$obj = new $component_class();
            
$obj->render();
        } catch (
Exception $e) {
            throw new 
VException($e);
        }
    }
    
    protected function 
get_query()
    {
        
$options = array(
            
'order'     => 'recent'
            
'letter'    => 'all',
            
'page'        => 1,
            
'clean'        => false
        
);
        
        
$query         array_slice(VUri::query(), 1);
        
$orders        = array('recent' => 1'popular' => 1'favorites' => 1'rated' => 1'name' => 1'discussed' => 1);
        
$letters    range('a''z');
        
        
$arg        = (isset($query['0']) && $query['0'] != '') ? $query['0'] : null;
        if (isset(
$arg) && strlen($arg) === && ctype_alpha($arg)) {
            
$options['letter'] = $arg;
            
array_shift($query);
        }
        
        
$arg        = (isset($query['0']) && $query['0'] != '') ? $query['0'] : null;
        if (isset(
$arg)) {
            if (isset(
$orders[$arg])) {
                
$options['order'] = $arg;
                
array_shift($query);
            } elseif (
ctype_digit($arg)) {
                
$options['page']    = (int) $arg;
            } else {
                
VModule::load('404'true);
            }
        }
        
        
$arg        = (isset($query['0']) && $query['0'] != '') ? $query['0'] : null;
        if (isset(
$arg)) {
            if (
ctype_digit($arg)) {
                
$options['page'] = (int) $arg;
            } else {
                
VModule::load('404'true);
            }
        } else {
            
$options['clean'] = true;
        }
        
        if (
$options['page'] === 0) {
            
VModule::load('404'true);
        }
        
        return 
$options;
    }
}

function 
build_url($order ''$letter ''$page 1)
{
    
$url RELATIVE_URL.'/pornstar/';
    if (
$letter != '' && $letter != 'all') {
        
$url .= $letter.'/';
    }
    
    if (
$order != '') {
        if (
$page or $order != 'recent') {
            
$url .= $order.'/';
        }
    }
    
    if (
$page === true) {
        
$url .= '#PAGE#/';
    } elseif (
$page !== 1) {
        
$url .= $page.'/';
    }
    
    return 
$url;
}
Онлайн: 2
Реклама