X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Отображение ссылки в IPB
priest
priest
Topic Starter сообщение 1.4.2016, 14:43; Ответить: priest
Сообщение #1


Как сделать транслит ссылки латиницей на IPB 4.1

Нашел метод:
1. Открыть файл initdata.php в корневой папке с форумом и найти там примерно такой код:

Код
define( 'IPB_USE_SEO_TRANSLIT', FALSE );
define( 'IPB_USE_ONLY_ID_FURL', FALSE );


Меняем значение с FALSE на TRUE:

Ну у меня нет файла initdata.php у меня есть init.php и в коде этого файла я не нахожу такой части кода, как в примере.

Выкладываю код, может подскажете, в какой части кода нужно делать правки?

init.php

Код
<?php
/**
* @brief        Init for UTF8 Conversion
* @author        <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright    (c) 2001 - 2016 Invision Power Services, Inc.
* @license        http://www.invisionpower.com/legal/standards/
* @package        IPS Community Suite
* @since        4 Sept 2013
* @version        SVN_VERSION_NUMBER
*/

namespace IPSUtf8;

/**
* Class to contain IPS Community Suite autoloader and exception handler
*/
class IPSUtf8
{
    /**
     * Initiate IPS Community Suite UTF8 Converter, autoloader and exception handler
     *
     * @return    void
     */
    public static function init()
    {
        /* Set timezone */
        date_default_timezone_set( 'UTC' );
        
        /* Set default MB internal encoding */
        mb_internal_encoding('UTF-8');
        
        /* Constants */
        define( 'THIS_PATH', __DIR__ );
        
        $bits    = explode( DIRECTORY_SEPARATOR, THIS_PATH );
        $bit    = array_pop( $bits );
        $bit2    = array_pop( $bits );

        define( 'ROOT_PATH', preg_replace( '#' . preg_quote( DIRECTORY_SEPARATOR, '#' ) . $bit2 . preg_quote( DIRECTORY_SEPARATOR, '#' ) . $bit . '$#', '', THIS_PATH ) );

        define( 'IS_CLI', ( PHP_SAPI == 'cli' || empty( $_SERVER['REMOTE_ADDR'] ) ) ? true : false );
        
        /* Set Options - deliberately do not use root constants */
        if ( file_exists( './constants.php' ) )
        {
            @include_once( './constants.php' );
        }
        
        foreach( static::defaultConstants() AS $k => $v )
        {
            if ( !defined( $k ) )
            {
                define( $k, $v );
            }
        }

        @set_time_limit(0);
        
        /* Set autoloader */
        spl_autoload_register( '\IPSUtf8\IPSUtf8::autoloader', true, true );
        
        set_error_handler( '\IPSUtf8\IPSUtf8::errorHandler' );
        set_exception_handler( '\IPSUtf8\IPSUtf8::exceptionHandler' );
    }
    
    /**
     * Default Constants
     *
     * @return    array
     */
    public static function defaultConstants()
    {
        return array(
            'IPB_LOCK'                => TRUE, /* Lock conversion to only IP.Board Databases */
            'FORCE_CONVERT'            => FALSE, /* Enforce conversion */
            'FORCE_CONVERT_CHARSET'    => NULL,
            'FORCE_CONVERT_METHOD'    => NULL,
            'SOURCE_DB_CHARSET'        => NULL, /* If set, will force the source database connection to use this charset */
            'UTF8_INSERT_ONLY'        => FALSE, /* If true, and sql_charset is present and set to utf8 in conf_global.php, then the "fast" method will simply insert without converting. Useful for mixed collation databases where the utf8 tables are real utf8 */
        );
    }
    
    /**
     * Error Handler
     *
     * @param    int        $errno        Error number
     * @param    errstr    $errstr        Error message
     * @param    string    $errfile    File
     * @param    int        $errline    Line
     * @param    array    $trace        Backtract
     * @return    void
     */
    public static function errorHandler( $errno, $errstr, $errfile, $errline, $trace=NULL )
    {
        if ( in_array( $errno, array( E_NOTICE ) ) )
        {
            return;
        }
        
        throw new \ErrorException( $errstr, $errno, 0, $errfile, $errline );
    }
    
    /**
     * Exception Handler
     *
     * @param    \Exception    $exception    Exception class
     * @return    void
     */
    public static function exceptionHandler( $exception )
    {
        /* Send a diagnostics report if we can */
        $trace = $exception->getTrace();
        if ( isset( $trace[0]['class'] ) )
        {
            self::diagnostics( $exception, $trace[0]['class'] );
        }
                
        /* And display an error screen */
        try
        {
            if ( IS_CLI )
            {
                print "\nError: " . $exception->getMessage() . "\nFile: " . str_replace( THIS_PATH, '', $exception->getFile() ) . "\nLine: " . $exception->getLine() . "\n";
            }
            else
            {
                /* @todo Elaborate on this for browser */
                print "\nError: " . $exception->getMessage() . "\nFile: " . str_replace( THIS_PATH, '', $exception->getFile() ) . "\nLine: " . $exception->getLine() . "\n";
            }
        }
        catch ( \Exception $e )
        {
            if( isset( $_SERVER['SERVER_PROTOCOL'] ) and \strstr( $_SERVER['SERVER_PROTOCOL'], '/1.0' ) !== false )
            {
                header( "HTTP/1.0 500 Internal Server Error" );
            }
            else
            {
                header( "HTTP/1.1 500 Internal Server Error" );
            }
        
            if ( IS_CLI )
            {
                print "\nError: " . $e->getMessage() . "\nString: " . $e->getString() . "\nFile: " . str_replace( THIS_PATH, '', $e->getFile() ) . "\nLine: " . $e->getLine() . "\n";
            }
            else
            {
                /* @todo Elaborate on this for browser */
                print "\nError: " . $e->getMessage() . "\nString: " . $e->getString() . "\nFile: " . str_replace( THIS_PATH, '', $e->getFile() ) . "\nLine: " . $e->getLine() . "\n";
            }
        }
        exit;
    }
    
    /**
     * Diagnostics Reporting
     *
     * @param    \Exception    $exception    Exception
     * @param    string        $class         Class that caused the exception
     * @return    void
     */
    public static function diagnostics( $exception, $class )
    {
        try
        {
            @file_put_contents( THIS_PATH . '/tmp/error_' . date('Y-m-d') . '.cgi', "\n" . str_repeat( '-', 48 ) . "\n" . date('r') . "\n" . var_export( $exception, true ), FILE_APPEND );
        }
        catch ( \Exception $e ) {}
    }
    
    /**
     * Autoloader
     *
     * @param    string    $classname    Class to load
     * @return    void
     */
    public static function autoloader( $classname )
    {            
        /* Separate by namespace */
        $bits = explode( '\\', $classname );
        $vendorName = array_shift( $bits );
                                
        /* Work out what namespace we're in */
        $class = array_pop( $bits );
        $namespace = empty( $bits ) ? 'IPSUtf8' : ( 'IPSUtf8\\' . implode( '\\', $bits ) );
        
        if( !class_exists( "{$namespace}\\{$class}", FALSE ) )
        {
            /* Locate file */
            $path = THIS_PATH . '/';
            $sourcesDirSet = FALSE;
            
            foreach ( array_merge( $bits, array( $class ) ) as $i => $bit )
            {
                if( preg_match( "/^[a-z0-9]/", $bit ) )
                {
                    if( $i === 0 )
                    {
                        $sourcesDirSet = TRUE;
                    }
                }
                else if( $sourcesDirSet === FALSE )
                {
                    $path .= 'system/';
                    
                    $sourcesDirSet = TRUE;
                }
            
                $path .= "{$bit}/";
            }
                            
            /* Load it */
            $path = \substr( $path, 0, -1 ) . '.php';
            
            if( !file_exists( $path ) )
            {
                $path = \substr( $path, 0, -4 ) . \substr( $path, \strrpos( $path, '/' ) );
                
                if ( !file_exists( $path ) )
                {
                    return FALSE;
                }
            }
            
            require_once( $path );
            
            /* Is it an interface? */
            if ( interface_exists( "{$namespace}\\{$class}", FALSE ) )
            {
                return;
            }
                
            /* Doesn't exist? */
            if( !class_exists( "{$namespace}\\{$class}", FALSE ) )
            {
                trigger_error( "Class {$classname} could not be loaded. Ensure it is in the correct namespace.", E_USER_ERROR );
            }
        }
    }

}

/* Init */
IPSUtf8::init();





--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
stroiweb
stroiweb
сообщение 1.4.2016, 16:30; Ответить: stroiweb
Сообщение #2


чтобы сделать ссылки латиницей нужно поставить плагин

http://rfile.net/files/file/2-urls-transliteration-103/

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ссылки за которые не стыдно! Качественный линк билдинг сервис под Бурж от Westrank. Честный прайс.
63 DaoDog 47131 Вчера, 12:05
автор: Omaxis
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКрауд ссылки с форумов, блогов, порталов. Жирные ссылки с Ua,Ru, Бурж площадок. Вечные ссылки в статьях на собственных сайтах
Быстро, качественно и ответственно!
138 vetalbon 66444 13.4.2024, 17:53
автор: vetalbon
Открытая тема (нет новых ответов) SEO Линк Билдинг под Бурж | Вечные ссылки США, Европа и Мир с Гарантией
20 Needmylink1 7000 12.4.2024, 23:32
автор: Needmylink1
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВечные ссылки с трастовых сайтов
53 1informer 22677 7.4.2024, 13:47
автор: 1informer
Открытая тема (нет новых ответов) Оптом и в розницу, скупаю ссылки околомедицинской тематики.
3 kasey7 2024 4.4.2024, 19:12
автор: kasey7


 



RSS Текстовая версия Сейчас: 20.4.2024, 2:11
Дизайн