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

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

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

Мужской/Женский аватар

Discussion in 'Хаки - Haks' started by Taronha, Dec 21, 2010.

  1. Taronha Thread starter User


    Offline
    Message Count:
    86
    Likes Received:
    0
    Мужской/Женский аватар
    — Показывает один из аватаров в зависимости от пола пользователя

    1.) Открываем include/class_user.php

    Находим:

    [SPOILER]// THIS METHOD OUTPUTS THE PATH TO THE USER'S PHOTO OR THE GIVEN NOPHOTO IMAGE
    // INPUT: $nophoto_image (OPTIONAL) REPRESENTING THE PATH TO AN IMAGE TO OUTPUT IF NO PHOTO EXISTS
    // $thumb (OPTIONAL) REPRESENTING WHETHER TO RETRIEVE THE SQUARE THUMBNAIL OR NOT
    // OUTPUT: A STRING CONTAINING THE PATH TO THE USER'S PHOTO
    function user_photo($nophoto_image = "", $thumb = FALSE)
    {
    global $url;
    //if( !$user->user_exists || !$this->user_info['user_photo'] )
    if( !$this->user_info['user_photo'] )
    return $nophoto_image;
    $user_photo = $url->url_userdir($this->user_info['user_id']).$this->user_info['user_photo'];
    if( $thumb )
    {
    $user_thumb = substr($user_photo, 0, strrpos($user_photo, "."))."_thumb".substr($user_photo, strrpos($user_photo, "."));
    if( file_exists($user_thumb) )
    return $user_thumb;
    }
    if( file_exists($user_photo) )
    return $user_photo;
    return $nophoto_image;
    }
    // END user_photo() METHOD[/SPOILER]

    Заменяем на:
    [SPOILER]
    // THIS METHOD OUTPUTS THE PATH TO THE USER'S PHOTO OR THE GIVEN NOPHOTO IMAGE
    // INPUT: $nophoto_image (OPTIONAL) REPRESENTING THE PATH TO AN IMAGE TO OUTPUT IF NO PHOTO EXISTS
    // $thumb (OPTIONAL) REPRESENTING WHETHER TO RETRIEVE THE SQUARE THUMBNAIL OR NOT
    // OUTPUT: A STRING CONTAINING THE PATH TO THE USER'S PHOTO

    function user_photo($nophoto_image = "", $thumb = FALSE)
    {
    global $database, $url;

    $gender = $database->database_fetch_assoc ( $database->database_query ( «SELECT profilevalue_5 FROM se_profilevalues WHERE profilevalue_user_id='». $this->user_info [user_id]. "'" ) );

    if ($gender [profilevalue_5] == 1)
    { $user_nophoto = './images/nophoto_male.gif';}
    elseif ($gender [profilevalue_5] == 2)
    { $user_nophoto = './images/nophoto_female.gif'; }
    elseif ($gender [profilevalue_5] == -1)
    { $user_nophoto = './images/nophoto.gif';}
    $nophoto_image = $user_nophoto;

    if( !$this->user_info['user_photo'] )
    return $nophoto_image;
    $user_photo = $url->url_userdir($this->user_info['user_id']).$this->user_info['user_photo'];
    if( $thumb )
    {
    $user_thumb = substr($user_photo, 0, strrpos($user_photo, "."))."_thumb".substr($user_photo, strrpos($user_photo, "."));
    if( file_exists($user_thumb) )
    return $user_thumb;
    }
    if( file_exists($user_photo) )
    return $user_photo;
    return $nophoto_image;
    }
    // END user_photo() METHOD[/SPOILER]

    Теперь ищем:

    [SPOILER]function user_photo_delete() {
    global $database;
    $user_photo = $this->user_photo ();
    if ($user_photo) {
    @unlink ( $user_photo );
    @unlink ( substr ( $user_photo, 0, strrpos ( $user_photo, "." ) ). "_thumb". substr ( $user_photo, strrpos ( $user_photo, "." ) ) );
    $database->database_query ( «UPDATE se_users SET user_photo='' WHERE user_id='{$this->user_info['user_id']}' LIMIT 1» );
    $this->user_info ['user_photo'] = NULL;
    }
    }
    [/SPOILER]
    заменяем на:

    [SPOILER]function user_photo_delete() {
    global $database, $url;
    $user_photo = $url->url_userdir($this->user_info[user_id]).$this->user_info[user_photo];
    if(!file_exists($user_photo) | $this->user_info[user_photo] == "") {$user_photo = '';}
    if($user_photo != "") {
    @unlink($user_photo);
    @unlink ( substr ( $user_photo, 0, strrpos ( $user_photo, "." ) ). "_thumb". substr ( $user_photo, strrpos ( $user_photo, "." ) ) );
    $database->database_query(«UPDATE se_users SET user_photo='' WHERE user_id='».$this->user_info[user_id]."'");
    $this->user_info[user_photo] = "";
    }
    }[/SPOILER]

    далее — показываем один из аватаров в зависимости от пола пользователя — закидываем в папку с картинками следующее файлы (С названиями nophoto_male.gif и nophoto_female.gif):

    http://***************/uploads/images/00/00/14/2010/08/22/e81029.gif http://***************/uploads/images/00/00/14/2010/08/22/bda766.gif
  2. iWalker Novice member


    Offline
    Message Count:
    86
    Likes Received:
    3
    My version of SE:
    3.15
    и получаем 100500 новых SQL запросов
  3. ExTRANE Active member


    Offline
    Message Count:
    278
    Likes Received:
    62
    Это как? Почему? .....
  4. Taronha Thread starter User


    Offline
    Message Count:
    86
    Likes Received:
    0
    Я присоединяюсь к вопросу
  5. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    смотрим вставляемый новый код и радуемся дополнительным запросам в БД:

  6. borobek Novice member


    Offline
    Message Count:
    8
    Likes Received:
    0
    Это в базу вписать надо или как?
  7. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Отличный пример создания лишней нагрузки на БД. Сразу представляется страница с кучей пользователей, и длинной лентой активности. Хотя чего уж, подумаешь - лишний десяток другой запросов...мелочи. :)
  8. borobek Novice member


    Offline
    Message Count:
    8
    Likes Received:
    0
    Два раза попробовал, сайт не грузится вообще (((( помогите...

Share This Page

All rights reserved SocEngine.ru ©