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



 

Здравствуйте, гость ( Вход | Регистрация )

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


Участник
***

Группа: User
Сообщений: 137
Регистрация: 8.3.2016
Поблагодарили: 24 раза
Репутация:   3  


Как сделать транслит ссылки латиницей на 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


Новичок
*

Группа: Viewer
Сообщений: 10
Регистрация: 30.11.2014
Поблагодарили: 4 раза
Репутация:   0  


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

http://rfile.net/files/file/2-urls-transliteration-103/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как повлиять на быстрые ссылки в гугле?
5 maxg5 1353 Сегодня, 1:14
автор: Ley
Открытая тема (нет новых ответов) Ссылки с форумов от 40 рублей без предоплаты
6 skylar 1604 Вчера, 21:35
автор: skylar
Открытая тема (нет новых ответов) Статейные ссылки. Ручное размещение. Средний тИЦ - 300
14 DizzeeR 1498 Вчера, 20:04
автор: DizzeeR
Открытая тема (нет новых ответов) Вечные ссылки с топовых ресурсов! Выйди в тор 10 и получай трафик!
Мощные беки для вашего сайта с мегатрастовых ресурсов!
28 andrey10tic 7502 Вчера, 19:40
автор: Gelik
Открытая тема (нет новых ответов) Естественные ссылки в системе ответов Mail.ru
Качественные ссылки с уникальным околоссылочным текстом
18 Vsevseo 2534 Вчера, 19:24
автор: Gelik


 



RSS Текстовая версия Сейчас: 14.12.2017, 7:00
Дизайн