1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Modification Склонения имён с кешированием

Discussion in 'Моды - Mods' started by Coll-Reyd, Jul 6, 2012.

  1. Coll-Reyd Thread starter User


    Offline
    Message Count:
    10
    Likes Received:
    3
    My version of SE:
    3.20
    Вставить в include/class_user.php после
    var $session_info; // CONTAINS THE PRIVACY LEVEL THAT IS ALLOWED TO MODERATE FOR THIS USER
    PHP:
      function user_declination($name_user ''$case 1$cache true) {
     
        if( !empty(
    $name_user ) ) {
        
    $hash md5($name_user);
        
    //Проверяем кэш, если его нет - делаем запрос к API(JSON).
        
    if (!file_exists('name_cache/' $hash '.cache')) {
            
    $c file_get_contents('http://export.yandex.ru/inflect.xml?name=' urlencode($name_user) . '&format=json');
            
    //Записываем кэш
            
    if ($cache === true) {
                
    file_put_contents('name_cache/' $hash '.cache'$c);
            }
        }
        
    //Если кэш есть - берем оттуда.
        
    else {
            
    $c file_get_contents('name_cache/' $hash '.cache');
        }
       
        
    $name=json_decode($ctrue);
    if( 
    $name[$case]!=''){ return $name[$case]; }else{  return $name['original'];  } 
        
    }
    }
    Затем, в корне сайта создать папку name_cache с атрибутами 777.
    В нужном месте (в шаблоне), вызывается функцией:
    $user->user_declination($owner->user_displayname_short, 2);
    где $owner->user_displayname_short нужное имя для склонения (например, Лёня Голубков), a 2 это падеж.
    Если нужно склонение взять НЕ из кеша, использовать функцию вида:
    $user->user_declination($owner->user_displayname_short, 2, false);
    Надеюсь кому-нибудь пригодится.
    Хитров, Canvit and Alpert108 like this.
  2. Хитров User


    Offline
    Message Count:
    34
    Likes Received:
    0
    My version of SE:
    3.20
    Спасибо, пригодилось!

Share This Page

All rights reserved SocEngine.ru ©