Вход Регистрация
Файл: admin/sources/classes/tags/bootstrap.php
Строк: 72
<?php

/**
 * <pre>
 * Invision Power Services
 * IP.Board v3.3.3
 * Tagging: Bootstrap
 * Matt Mecham
 * Last Updated: $Date: 2012-05-10 16:10:13 -0400 (Thu, 10 May 2012) $
 * </pre>
 *
 * @author         $Author: bfarber $
 * @copyright    (c) 2001 - 2011 Invision Power Services, Inc.
 * @license        http://www.invisionpower.com/company/standards.php#license
 * @package        IP.Board
 * @link        http://www.invisionpower.com
 * @since        24 Feb 2011
 * @version        $Revision: 10721 $
 *
 */

if ( ! defined'IN_IPB' ) )
{
    print 
"<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
    exit();
}

class 
classes_tags_bootstrap
{
    
/**
     * App object
     *
     * @var array
     */
    
static protected $apps;
    
    
/**
     * Construct
     *
     * @param    string        Application (or aai key)
     * @param    string        Area
     * @return    string
     */
    
public static function run$app=null$area=null )
    {
        if ( 
strlen$app ) == 32 AND $area === null )
        {
            
$test ipsRegistry::DB()->buildAndFetch( array( 'select' => '*',
                                                                  
'from'   => 'core_tags',
                                                                 
'where'  => 'tag_aai_lookup='' .  ipsRegistry::DB()->addSlashes( $app ) . ''',
                                                                  
'limit'  => array( 0) ) );
            
            if ( 
$test['tag_meta_app'] && $test['tag_meta_area'] )
            {
                
$app  $test['tag_meta_app'];
                
$area $test['tag_meta_area'];
            }
        }
        
        if ( 
$app === null OR $area === null )
        {
            
trigger_error"App or area missing from classes_like"E_USER_WARNING );
        }
        
        
/* Pointless comment! */
        
$_file    IPSLib::getAppDir$app ) . '/extensions/tags/' $area '.php';
        
$_key    = ( $app && $area ) ? md5$app $area ) : 'default';
         
        
/* Get from cache if already cached */
        
if ( isset( self::$apps$_key ] ) )
        {
            return 
self::$apps$_key ];
        }
        
        
/* Get other classes */
        
require_once( IPS_ROOT_PATH 'sources/classes/tags/abstract.php');/*noLibHook*/
        
        
if ( $app && $area )
        {
            
/* Otherwise create object and cache */
            
if ( is_file$_file ) )
            {
                
$classToLoad IPSLib::loadLibrary$_file'tags_' $app '_' $area$app );
                
                if ( 
class_exists$classToLoad ) )
                {
                    
self::$apps$_key ] = new $classToLoad();
                    
self::$apps$_key ]->setApp$app );
                    
self::$apps$_key ]->setArea$area );
                    
self::$apps$_key ]->init();
                    
                }
                else
                {
                    throw new 
Exception"No tags class available for $app - $area);
                }
            }
            else
            {
                
/* Allow an application to worry about the 'area' */
                
if( is_fileIPSLib::getAppDir$app ) . '/extensions/tags/default.php' ) )
                {
                    
$classToLoad IPSLib::loadLibraryIPSLib::getAppDir$app ) . '/extensions/tags/default.php''tags_' $app '_default'$app );
                    
                    if ( 
class_exists$classToLoad ) )
                    {
                        
self::$apps$_key ] = new $classToLoad();
                        
self::$apps$_key ]->setApp$app );
                        
self::$apps$_key ]->setArea$area );
                        
self::$apps$_key ]->init();
                    }
                    else
                    {
                        throw new 
Exception"No tags class available for $app - $area);
                    }
                }
                else
                {
                    throw new 
Exception"No tags class available for $app - $area);
                }
            }
        }
        else
        {
            
$classToLoad IPSLib::loadLibraryIPS_ROOT_PATH 'sources/classes/tags/extensions/default.php''tags_default' );
            
self::$apps$_key ] = new $classToLoad();
            
self::$apps$_key ]->setApp$app );
            
self::$apps$_key ]->setArea$area );
            
self::$apps$_key ]->init();
        }
        
        return 
self::$apps$_key ];
    }
}
Онлайн: 1
Реклама