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

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

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

Флэш эффекты на аватар

Discussion in 'Моды - Mods' started by Media CMS, Dec 14, 2009.

  1. Ksail Novice member


    Offline
    Message Count:
    2
    Likes Received:
    0
    ого завтра, уже почти месяц прошёл
  2. rakfeller Novice member


    Offline
    Message Count:
    21
    Likes Received:
    0
    отпишитесь кто ставил , стоит ли ставить ил нет ?
  3. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Ставится нормально, но не рекомендую до тех пор, пока не появится возможность удалять эффекты.
    Вот поправки (сохранить всё в utf8):

    PHP:
    CREATE TABLE `effects` (
      `
    effect_idint(100NOT NULL auto_increment,
      `
    effect_namevarchar(300NOT NULL,
      `
    effect_linkvarchar(300NOT NULL,
      
    PRIMARY KEY  (`effect_id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    INSERT INTO `effectsVALUES (3'Листопад''../effects/eff_16.swf');
    INSERT INTO `effectsVALUES (4'E-mail''../effects/eff_3.swf');
    INSERT INTO `effectsVALUES (5'Цветы''../effects/eff_1.swf');
    INSERT INTO `effectsVALUES (6'Сердечки''../effects/eff_2.swf');
    INSERT INTO `effectsVALUES (7'Звезды''../effects/eff_5.swf');
    INSERT INTO `effectsVALUES (8'Матрица''../effects/eff_6.swf');
    INSERT INTO `effectsVALUES (9'Поцелуи''../effects/eff_8.swf');
    INSERT INTO `effectsVALUES (10'Черепки''../effects/eff_9.swf');
    INSERT INTO `effectsVALUES (11'Пламя''../effects/eff_11.swf');
    INSERT INTO `effectsVALUES (12'Огоньки''../effects/eff_13.swf');
    INSERT INTO `effectsVALUES (13'Марс и Венера''../effects/eff_15.swf');
    INSERT INTO `effectsVALUES (14'Лучи''../effects/eff_17.swf');
    INSERT INTO `effectsVALUES (15'Мегапульс''../effects/eff_18.swf');
    INSERT INTO `effectsVALUES (16'Снежинки''../effects/eff_12.swf');

    CREATE TABLE `effects_chels` (
      `
    eff_idint(100NOT NULL,
      `
    eff_sender_idint(100NOT NULL,
      `
    eff_namevarchar(300NOT NULL,
      `
    eff_linkvarchar(300NOT NULL,
      `
    eff_datetimestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
    ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    Не видно снежинок и лучей на белом фоне и с фразами косяки, поэтому в файле profile_eff.tpl сделать вот так:

    PHP:
    {if $ava_effect == 1}
    <
    div id='ava' style='background-image: url({$owner->user_photo("./images/nophoto.gif")});background-repeat: no-repeat;' align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://pdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" id="lecteur" width="{$w_src}height="{$h_src}"><param name="wmode" value="transparent"><param name="movie" value="{$eff_link}"><param name="allowScriptAccess" value="never"><embed allowscriptaccess="never" type="application/x-shockwave-flash" src="{$eff_link}wmode="transparent" width="{$w_src}height="{$h_src}"></object></div>
    {else}
    <
    img class='photo' src='{$owner->user_photo("./images/nophoto.gif")}' border='0'>
    {/if}



    <
    script type="text/javascript">
    {
    literal}
    function 
    show_eff_form(){
        
    document.getElementById('effects').style.display document.getElementById('effects').style.display == "block" "none" "block";
    }
    {/
    literal}
    </script>


    {*-----------INSTALL EFFECTS---------*}
    {if $sender == $recept}
    <div class='func'><a href='javascript:void(0)' onclick='show_eff_form()' >{if $ava_effect != 1}Установить{else}Изменить{/if} эффект</a></div>
     <div name='effects' id='effects' style='display: none;'>
      <br>
       {if $effs_no == 1}
        Нет эффектов
       {else}
        {section name=eff_loop loop=$effs}
        <b>{$effs[eff_loop].effect_name}</b><br>
        <div style='background-color:#cccccc;'>
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://pdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" id="lecteur" width="{$w_src}" height="{$h_src}"><param name="wmode" value="transparent"><param name="movie" value="{$effs[eff_loop].effect_link}"><param name="allowScriptAccess" value="never"><embed allowscriptaccess="never" type="application/x-shockwave-flash" src="{$effs[eff_loop].effect_link}" wmode="transparent" width="{$w_src}" height="{$h_src}"></object></div>
        <a href='{$page}.php?user={$sender_name}&eff_id={$effs[eff_loop].effect_id}&task=pluseff'>Выбрать</a>
    <br>
        {/section}
        {/if}
      <br>
    </div>
    {/if}


    ---------- Сообщение добавлено в 20:39 ---------- Предыдущее сообщение было в 12:34 ----------


    и что это за переменные такие были?
    PHP:
    {$lang[59]} {$lang[60]} {$lang[61]} {$lang[62]} {$lang[63]}
  4. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Интересно как?
    Вот листинг profile_eff.php
    PHP:

    <?
    // ОБЗОР ЭФФЕКТОВ
    $alleff $_GET['alleff'];
    $smarty->assign('alleff'$alleff);
    $smarty->assign('page'$page);
    $sender $user->user_info['user_id'];
    $recept $owner->user_info['user_id'];
    $sender_name $user->user_info['user_username'];
    $smarty->assign('sender'$sender);
    $smarty->assign('recept'$recept);
    $smarty->assign('sender_name'$sender_name);
    $query "mysql_query";
    $assoc "mysql_fetch_assoc";
    $num_rows "mysql_num_rows";
    $object "mysql_fetch_object";
    $result "mysql_result";
    $eff_query $query("SELECT * FROM effects ORDER BY effect_id DESC");
    if(
    $num_rows($eff_query)!=0){
    while(
    $row $assoc($eff_query)){
    $eff_array[] = Array('effect_id' => $row[effect_id],
                         
    'effect_name' => $row[effect_name],
                         
    'effect_link' => $row[effect_link]
    );
    }
    $smarty->assign('effs'$eff_array);
    }else{
    $effs_no 1;
    $smarty->assign('effs_no'$effs_no);
    }

    // ЕСЛИ У ПОЛЬЗОВАТЕЛЯ УСТАНОВЛЕН ЭФФЕКТ ТО ПОКАЗАТЬ ЕГО
    $eff_query $query("SELECT * FROM effects_chels WHERE eff_sender_id = '$recept' ORDER BY eff_date DESC LIMIT 1");
    if(
    $num_rows($eff_query)!=0){
    while(
    $row $assoc($eff_query)){
    $eff_link $row[eff_link];
    }
    $ava_effect 1;
    }
    $smarty->assign('ava_effect'$ava_effect);
    $smarty->assign('eff_link'$eff_link);

    // УСТАНОВИТЬ ЭФФЕКТ
    $task $_GET['task'];
    if(
    $task=="pluseff"){
    $eff_id $_GET['eff_id'];
    $eff_query $query("SELECT * FROM effects WHERE effect_id = $eff_id");
    while(
    $row $assoc($eff_query)){
    $effect_id $row[effect_id];
    $effect_name $row[effect_name];
    $effect_link $row[effect_link];
    $check_query $query("SELECT eff_sender_id FROM effects_chels WHERE eff_sender_id = '$sender'");
    if(
    $num_rows($check_query)==0){
    $query("INSERT INTO effects_chels (eff_id, eff_sender_id, eff_name, eff_link, eff_date) VALUE ('$effect_id', '$sender', '$effect_name', '$effect_link', NOW())");
    }else{
    $query("UPDATE effects_chels SET eff_id='$effect_id', eff_name='$effect_name', eff_link='$effect_link' WHERE eff_sender_id='$sender'");
    }
    header("Location: $page.php?user=$sender_name");
    }
    }

    $f="{$owner->user_photo("./images/nophoto.gif")}";
    $src imagecreatefromjpeg($f);
    $w_src imagesx($src);
    $h_src imagesy($src);
    $smarty->assign('ava_effect'$ava_effect);
    $smarty->assign('eff_link'$eff_link);
    $smarty->assign('w_src'$w_src);
    $smarty->assign('h_src'$h_src);
    ?>
  5. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Пробуем удалять эффекты

    В файле profile_eff.php добавить
    // УДАЛИТЬ ЭФФЕКТ
    и далее...
    PHP:

    <?
    ...

    // УСТАНОВИТЬ ЭФФЕКТ
    $task $_GET['task'];
    if(
    $task=="pluseff"){
    $eff_id $_GET['eff_id'];
    $eff_query $query("SELECT * FROM effects WHERE effect_id = $eff_id");
    while(
    $row $assoc($eff_query)){
    $effect_id $row[effect_id];
    $effect_name $row[effect_name];
    $effect_link $row[effect_link];
    $check_query $query("SELECT eff_sender_id FROM effects_chels WHERE eff_sender_id = '$sender'");
    if(
    $num_rows($check_query)==0){
    $query("INSERT INTO effects_chels (eff_id, eff_sender_id, eff_name, eff_link, eff_date) VALUE ('$effect_id', '$sender', '$effect_name', '$effect_link', NOW())");
    }else{
    $query("UPDATE effects_chels SET eff_id='$effect_id', eff_name='$effect_name', eff_link='$effect_link' WHERE eff_sender_id='$sender'");
    }
    header("Location: $page.php?user=$sender_name");
    }
    }

    // УДАЛИТЬ ЭФФЕКТ

    if($task=="delete"){
    $check_query $query("SELECT eff_sender_id FROM effects_chels WHERE eff_sender_id = '$sender'");
    if(
    $num_rows($check_query)==1){
    $query("DELETE FROM effects_chels LIMIT 1");
    }else{
    $query("UPDATE effects_chels SET eff_id='$effect_id', eff_name='$effect_name', eff_link='$effect_link' WHERE eff_sender_id='$sender'");
    }
    header("Location: $page.php?user=$sender_name");
    }


    $f="{$owner->user_photo("./images/nophoto.gif")}";
    $src imagecreatefromjpeg($f);
    $w_src imagesx($src);
    $h_src imagesy($src);
    $smarty->assign('ava_effect'$ava_effect);
    $smarty->assign('eff_link'$eff_link);
    $smarty->assign('w_src'$w_src);
    $smarty->assign('h_src'$h_src);
    ?> 
    В файле profile_eff.tpl добавить ссылку на удаление
    PHP:

    ...

    {* ----------- 
    INSTALL EFFECTS --------- *}
    {if 
    $sender == $recept}
    <
    div class='func'><a href='javascript:void(0)' onclick='show_eff_form()' >{if $ava_effect != 1}Установить{else}Изменить{/if} эффект</a>
     {* ----- 
    DELETE EFFECTS ----- *}
    {if 
    $ava_effect == 1}
    <
    a href='{$page}.php?user={$sender_name}&eff_id={$effs[eff_loop].effect_id}&task=delete'>[Удалить]</a>
    {/if}
     {* ----- 
    END DELETE EFFECTS ----- *}
    </
    div>
     <
    div name='effects' id='effects' style='display: none;'>
      <
    br>
       {if 
    $effs_no == 1}
        
    Нет эффектов
       
    {else}
        {
    section name=eff_loop loop=$effs}
        <
    b>{$effs[eff_loop].effect_name}</b><br>
        <
    div style='background-color:#cccccc;'>
        <
    object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://pdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" id="lecteur" width="{$w_src}height="{$h_src}"><param name="wmode" value="transparent"><param name="movie" value="{$effs[eff_loop].effect_link}"><param name="allowScriptAccess" value="never"><embed allowscriptaccess="never" type="application/x-shockwave-flash" src="{$effs[eff_loop].effect_link}wmode="transparent" width="{$w_src}height="{$h_src}"></object></div>
        <
    a href='{$page}.php?user={$sender_name}&eff_id={$effs[eff_loop].effect_id}&task=pluseff'>Выбрать</a>
    <
    br>
        {/
    section}
        {/if}
      <
    br>
    </
    div>
    {/if}
  6. nekromancer User


    Offline
    Message Count:
    193
    Likes Received:
    25
    My version of SE:
    4.2.0
    гус ты молодец, на тестовом сайте пашет отлично, вот вопрос, оно будет работать с хаком вывод подарка на аватар? и можно как нить замутить, что бы можно было поставить доступ определенным типам пользователей?

    ---------- Сообщение добавлено в 23:54 ---------- Предыдущее сообщение было в 23:29 ----------

    и одна маленькая проблема, фотка юзера срывается в лево, т.е фотка не по середине
  7. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    У меня на стандартном шабе всё ОК, никуда ничего не срывается. Дай ссыль посмотрю в чём дело.

    Честно говоря хз, надо пробовать.

    Думаю показывать ссылки при каком либо условии, относительно типа юзера.
  8. nekromancer User


    Offline
    Message Count:
    193
    Likes Received:
    25
    My version of SE:
    4.2.0
    facebook.hay-site.ru мыло test@test.test пароль testtest
  9. Gooos абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Твоё решение:
    В файле profile_eff.tpl добавить то, что зелёным

    {if $ava_effect == 1}
    <div id='ava' style='background-image: url({$owner->user_photo("./images/nophoto.gif")});background-repeat: no-repeat; background-position:center;' align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://pdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" id="lecteur" width="{$w_src}" height="{$h_src}"><param name="wmode" value="transparent"><param name="movie" value="{$eff_link}"><param name="allowScriptAccess" value="never"><embed allowscriptaccess="never" type="application/x-shockwave-flash" src="{$eff_link}" wmode="transparent" width="{$w_src}" height="{$h_src}"></object></div>
    {else}
    ...

    Бонус
    ссылку на удаление заменить на:
    PHP:
    <a href='{$page}.php?user={$sender_name}&eff_id={$effs[eff_loop].effect_id}&task=delete'><img border="0" onmouseout="this.src=Rollimage0.src;" onmouseover="this.src=Rollimage1.src;" style="vertical-align: middle; margin-left: 3px; cursor: pointer;" src="./images/icons/action_delete1.gif" alt="{lang_print id=175}" title="{lang_print id=175}">


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

    Всем у кого аватары юзеров разные, квадратные, прямоугольные, большие, маленькие, чтобы аватар никуда "не сносило" заменить начало в файле profile_eff.tpl на этот код
    PHP:
    {if $ava_effect == 1}
    <
    div id='ava' style='background-image: url({$owner->user_photo("./images/nophoto.gif")});background-repeat: no-repeat; background-position:center;' align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://pdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" id="lecteur" width="{$w_src}height="{$h_src}"><param name="wmode" value="transparent"><param name="movie" value="{$eff_link}"><param name="allowScriptAccess" value="never"><embed allowscriptaccess="never" type="application/x-shockwave-flash" src="{$eff_link}wmode="transparent" width="{$w_src}height="{$h_src}"></object></div>
    {else}
    Запчасти для бонуса:

    Attached Files:

    vipi and nekromancer1 like this.
  10. nekromancer User


    Offline
    Message Count:
    193
    Likes Received:
    25
    My version of SE:
    4.2.0
    гус ты гений, все отлично работает, спасибо большое!

    ---------- Сообщение добавлено в 12:02 ---------- Предыдущее сообщение было в 11:54 ----------

    гус тебе еще вопрос, когда нажимаешь на кнопку установить эфект, супскается список с эфектами и там серый фон, можно заменить этот фон на фотку юзера, ну как предворительный просмотр, во всех флеш эфектах фотка юзера?

Share This Page

All rights reserved SocEngine.ru ©