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

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

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

Текст оповещения в правом нижнем углу как VK

Discussion in 'Моды - Mods' started by morfei, May 7, 2011.

  1. morfei Thread starter User


    Offline
    Message Count:
    145
    Likes Received:
    93
    Приветствую всех, решил выложить модуль написанный мною примерно год назад, но теперь он мне не нужен, потому дарю ;) забирайте. После некоторых дороботок он придется по душе любителям контакта, а так он вполне готов работать.

    И так, открываем footer.php, находим:

    PHP:
    // ASSIGN GLOBAL SMARTY OBJECTS/VARIABLES
    И перед ним вставляем:

    PHP:
    // NEW PMS BEGIN
    if($page == 'home'){$se_pms_task 1;}
    elseif(
    $page == 'profile'){$se_pms_task 1;}
    elseif(
    $page == 'search_advanced'){$se_pms_task 1;}
    //elseif($page == 'имя страницы'){$se_pms_task = 1;} //Дописываем имя стр. на какой хотим видеть окошко
    else {$se_pms_task 0;}
    $smarty->assign_by_ref('se_pms_task'$se_pms_task);
    // NEW PMS END
    Прошу обратить внимание, тут мы дописываем на каких стр. он должен показывать, так как из оригинального СЕ у меня остались только эти стр., то дописывать ваши придется вам своими рукаи, ну или окошко будет всплывать только на страницах profile, search_advanced, home. Если убрать ограничение, то оно будет всплывать и в всплывающих окнах(в модальных окнах).

    Открываем footer.tpl , находим:

    PHP:
    </body>
    </
    html>
    И перед ним вставляем:

    PHP:
    {if $se_pms_task == && $user->user_exists == 1}
    {
    literal}
    <
    style type="text/css">
    div#newPMS{position:fixed; background:none; bottom:10px; right:10px}
    div.pmsNew{width:300pxposition:relativetext-align:leftborder:1px solid #d7dff6; padding:5px; background:#fff; -webkit-box-shadow:1px 1px 5px #aaa; -khtml-box-shadow:1px 1px 5px #aaa; -icab-box-shadow:1px 1px 5px #aaa; -moz-box-shadow:1px 1px 5px #aaa; -o-box-shadow:1px 1px 5px #aaa; box-shadow:1px 1px 5px #aaa; border-radius:4px; -moz-border-radius:4px; -webkit-border-radius:4px; -khtml-border-radius:4px; -o-border-radius:4px; -icab-border-radius:4px}
    div.pmsNewTitle{padding-bottom:5pxfont-weight:boldcolor:#555; font-size:11px}
    a.pmsNewPhoto{text-decoration:nonedisplay:blockfloat:leftwidth:60pxheight:60pxpadding-right:5px}
    a.pmsNew{text-decoration:nonedisplay:blockfloat:leftcolor:#000; width:235px; height:60px; overflow:hidden; text-align:left}
    span.pmsNewName{color:#4272db; font-weight:bold; white-space:nowrap; display:inline-block}
    span.pmsNewText{text-decoration:nonefont-size:11pxcolor:#000}
    span.pmsNewText img{margin-bottom:-3pxwidth:16px}
    </
    style>
    <
    script type="text/javascript">
    var 
    request = new Request({
      
    url'new_pms.php?new_pms={/literal}{$se_pms_task}{literal}',
      
    method'get',
      
    onComplete: function(response) {
        $(
    'newPMS').set('html',response);
      }
    })
    var 
    newPMS = function() {
      
    request.send();
    };
    newPMS.periodical(1000); // Меняем на свое значение в миллисекундах
    </script>
    {/literal}
    <div id='newPMS'></div>
    {/if}
    закидываем файл в корень сайта View attachment new_pms.zip

    Вот и все, должно получится примерно такое:
    [IMG]

    Если кому надо, а там и до модуля не далеко.

    P.S. Дареному коню в зубы не смотрят. Если "У меня уже есть такое", "это легко сделать", "Можно было сделать легче", "Фу как много не нужного когда"... Я рад за вас!
    Хитров, zqz, eminem and 5 others like this.
  2. sigitov User


    Offline
    Message Count:
    106
    Likes Received:
    18
    My version of SE:
    3.20
    Давно хотел замутить такое у себя
  3. plast0r Novice member


    Offline
    Message Count:
    143
    Likes Received:
    65
    Сама вылазит, или обновлять надо?
  4. sigitov User


    Offline
    Message Count:
    106
    Likes Received:
    18
    My version of SE:
    3.20
    Само обновляется. Автору РЕСПЕКТ
  5. ruffer Famous member


    Offline
    • Знаменитый
    Message Count:
    393
    Likes Received:
    56
    My version of SE:
    3.20
    в footer.tpl {/if} забыли, атак всё замечательно
  6. Dj AngeL Active member


    Offline
    Message Count:
    282
    Likes Received:
    38
    My version of SE:
    3.20
    Вещь отличная, а может кто под 3.20 сделать, а то что-то не хочет показывать=)

    ---------- Сообщение добавлено в 11:14 ---------- Предыдущее сообщение было в 11:09 ----------

    Все, спасибо, разобрался, нужно быть внимательнее!=)
  7. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Всё работает, но теперь есть вопрос.
    У меня в теле сообщений присутствуют смайлики в виде :smile:, они так и отображаются в блоке. Хотелось бы их как-то заменить на картинки, что-то типа
    PHP:
     $string preg_replace('/:yes:/'"'&nbsp;<img src=\'/templates/images/smiles/yes.gif\'>'");
    как правильно прописать код?
  8. morfei Thread starter User


    Offline
    Message Count:
    145
    Likes Received:
    93
    1) смайлики через preg_replace это ужас, надо через массив и str_replace
    2) если preg_replace обрабатывает при выводе это гиморой по жизни для сайта, он должен обрабатывать при вводе в БД. Следовательно он не будет каждый раз обрабатывать, а только 1 раз.

    выложи мод смайликов, скорее они в class_user.php
  9. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    в class_user.php у меня вот что про смайлы записано:

    PHP:
    //СМАЙЛЫ
        
    $asconf['smiles'] = "nyam,oo,blum,blush,cray,crazy,dance,diablo,dirol,
              drinks,fool,good,kiss_mini,man_in_love,music,
              nea,pardon,rofl,rolleyes,sad,scratch_one-s_head,
              shok,shout,smile,unknw,yes,wink,yahoo,acute"
    ;
        
    $find = array();
        
    $replace = array();
        
    $smilies_arr explode(","$asconf['smiles']);
        foreach(
    $smilies_arr as $smile)
        {
            
    $smile trim($smile);
            
    $find ':'.$smile.':';
            
    $replace '';
            
    $message_info['pm_body'] = str_replace($find$replace$message_info['pm_body']);
        }
    и это
    PHP:

        $pms 
    = array();
        while( 
    $result=$database->database_fetch_assoc($resource) )
        {
          
    $pm_info $result;

          if( 
    $pm_info['pm_authoruser_id']==$this->user_info['user_id'] )
            
    $pm_info['author'] =& $this;
          else
            
    $pm_info['author'] =& $collaborators_by_id[$pm_info['pm_authoruser_id']];
            
    //СМАЙЛЫ
        
    $asconf['smiles'] = "nyam,oo,blum,blush,cray,crazy,dance,diablo,dirol,
              drinks,fool,good,kiss_mini,man_in_love,music,
              nea,pardon,rofl,rolleyes,sad,scratch_one-s_head,
              shok,shout,smile,unknw,yes,wink,yahoo,acute"
    ;
        
    $find = array();
        
    $replace = array();
        
    $smilies_arr explode(","$asconf['smiles']);
        foreach(
    $smilies_arr as $smile)
        {
            
    $smile trim($smile);
            
    $find ':'.$smile.':';
            
    $replace '<img alt="'.$smile.'" src="./templates/images/smiles/'.$smile.'.gif" border=0>';
            
    $pm_info['pm_body'] = str_replace($find$replace$pm_info['pm_body']);
        }
          
    $pms[] =& $pm_info;
          unset(
    $pm_info);
        }
    почему-то два раза :confused1:
  10. morfei Thread starter User


    Offline
    Message Count:
    145
    Likes Received:
    93
    35 строка в файле new_pms.php, находишь:

    PHP:
    $se_pms_new['pm_body'] = mb_substr($se_pms_new['pm_body'], 096);
    меняешь на:

    PHP:
    $se_pms_new['pm_body'] = str_replace(array(':yes:'),array('<img src=\'/templates/images/smiles/yes.gif\'>'),$se_pms_new['pm_body']);
    $se_pms_new['pm_body'] = mb_substr($se_pms_new['pm_body'], 0512);
    Теоритическии такая конструкция должна работать, сперва попробуй на 1 смайле, если все ок дописывай вручную:

    PHP:
    $se_pms_new['pm_body'] = str_replace(array(':yes:','что меняем'),array('<img src=\'/templates/images/smiles/yes.gif\'>','на что меняем'),$se_pms_new['pm_body']);
    все пишешь через запятую, но я эту конструкцию не использую. Отпишись.
    Wen likes this.

Share This Page

All rights reserved SocEngine.ru ©