Jump to content
CMSTOOLS.ru - форум поддержки и развития CMS

[ФИЧА] Рассказать друзьям о сообществе


Recommended Posts

  • 2 years later...
  • 5 years later...

 

Немного доработал "фичу")

Теперь учитываются гендер пользователя и обложка группы.

Установка такая же:

1. В profile.js после "var groups = {" вставляем:

Спойлер

    //Поделиться сообществом
    wall_tell_g: function(id){
        $('#invitemsg').addClass('public_invite_text');
        $('#invitemsg').show("slow").text('Ваши друзья увидят ссылку на это сообщество в своих новостных лентах.');
        $.post('/index.php?go=groups&act=wall_tell_g', {id: id}, function(data){
            if(data == 1)
                addAllErr(lang_wall_tell_tes);
        });
    },



2. В groups.php добавляем после
 case "deladmin"
...
break; :

 

Спойлер

        //################### Рассказать друзьям о сообществе ###################//
        case "wall_tell_g":
            NoAjaxQuery();
            $rid = intval($_POST['id']);

            
            $row1 = $db->super_query("SELECT title, descr, photo, cover FROM `".PREFIX."_communities` WHERE id = '{$rid}'");
            $genderrow = $db->super_query("SELECT user_sex FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
            if ($genderrow['user_sex'] == 2) {
              $gendertext = 'поделилась сообществом';  
            } else {
                $gendertext = 'поделился сообществом';
            }
            if($row1['photo']){
            $rava = '/uploads/groups/'.$rid.'/'.$row1['photo'];
            }else{
            $rava = '{theme}/images/no_ava.gif';
            }
            if ($row1['cover']) {
                $coverimg = '/uploads/groups/'.$rid.'/'.$row1['cover'];
            }
            if($row1){
                if ($row1['cover']) {
                    //Вставляем себе на стену (если у сообщества есть обложка)
                    $db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '<a href=\"/public{$rid}\" onclick=\"Page.Go(this.href); return false;\"><img src=\"{$coverimg}\" style=\"max-width: 330px;\"><div class=\"public_ava_rep_normal\"><img src=\"{$rava}\" style=\"width: 100px;\"><div class=\"public_text_rep\">{$row1['title']}</div></div></a>', add_date = '{$server_time}', fast_comm_id = 0, type = '{$gendertext}'");
                    $dbid = $db->insert_id();
                    $db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'");

                    //Вставляем в ленту новостей
                    $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '<a href=\"/public{$rid}\" onclick=\"Page.Go(this.href); return false;\"><img src=\"{$coverimg}\" style=\"max-width: 330px;\"><div class=\"public_ava_rep_normal\"><img src=\"{$rava}\" style=\"width: 100px;\"><div class=\"public_text_rep\">{$row1['title']}</div></div></a>', obj_id = '{$dbid}', action_time = '{$server_time}'");

                    //Чистим кеш
                    mozg_clear_cache_file("user_{$user_id}/profile_{$user_id}");
                } else {
                    //Вставляем себе на стену (если у сообщества нет обложки)
                    $db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '<a href=\"/public{$rid}\" onclick=\"Page.Go(this.href); return false;\"><div class=\"public_ava_rep_noobl\"><img src=\"{$rava}\" style=\"width: 100px;\"><div class=\"public_text_rep\">{$row1['title']}</div></div></a>', add_date = '{$server_time}', fast_comm_id = 0, type = '{$gendertext}'");
                    $dbid = $db->insert_id();
                    $db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'");

                    //Вставляем в ленту новостей
                    $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '<a href=\"/public{$rid}\" onclick=\"Page.Go(this.href); return false;\"><div class=\"public_ava_rep_noobl\"><img src=\"{$rava}\" style=\"width: 100px;\"><div class=\"public_text_rep\">{$row1['title']}</div></div></a>', obj_id = '{$dbid}', action_time = '{$server_time}'");

                    //Чистим кеш
                    mozg_clear_cache_file("user_{$user_id}/profile_{$user_id}");
                }
            } else {
                echo 1;
            }
            die();
        break; 

 

3. В style.css добавляем в удобное место:

 

Спойлер

.group_share, .event_share, .group_checkin {padding-top: 5px;}

.group_share .photo, .event_share .photo {width: 75px;height: 75px;padding: 3px 0 0;overflow: hidden;}

.group_share .photo img, .event_share .photo img {
    width: 75px;
    border-radius: 60px;
    -moz-border-radius: 60px;
    -webkit-border-radius: 60px;
}

.group_share .info, .event_share .info {overflow: hidden;padding: 5px 10px;}

.group_share .title, .event_share .title, .group_checkin .title {font-weight: bold;}

.group_share .desc {color: #777;padding: 5px 0 0;line-height: 140%;}

.group_tell_img {
    
    background: url(../images/transp.png) no-repeat -33px -279px;
    width: 11px;
    height: 11px;
    margin-top: 2px;
}

.public_invite_text {
    font-family: 'Montserrat Medium', sans-serif;
    font-size: 12px;
    color: #00cc00;
    margin-top: 5px;
    cursor: default;
}

.public_text_rep {
    margin-left: 109px;
    margin-top: -25px;
    margin-bottom: 10px;
    font-family: 'Montserrat Medium',sans-serif;
    font-size: 14px;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.public_ava_rep_normal {
    margin-top: -75px;
    margin-left: 10px;
    max-width: 310px;
}

.public_ava_rep_noobl {
    margin-top: 10px;
    margin-left: 10px;
    max-width: 310px;
    float:left;
}

.public_ava_rep_normal img,
.public_ava_rep_noobl img{
    box-shadow: 0px 1px 2px rgb(0 0 0 / 35%);
    -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.345);
    -webkit-box-shadow: 0px 1px 2px rgb(0 0 0 / 35%);
}


4. И в /templates/вашшаблон/public/main.tpl после <a> с текстом "Пригласить друзей" вставляем:

 

Спойлер

  <div id="invitemsg" class=""><a href="/public{id}" onClick="groups.wall_tell_g('{id}'); return false"><div class="group_tell_img" style="opacity:1;float: left;margin-left: 2px;margin-right: 9px;"></div>Рассказать друзьям</a></div>


Стили подправьте плиз сами)

Результат (скрины в спойлере):
 

Спойлер

image.png.963ed830ba702c7a70648c2927b64b9c.png

image.png.e14511fdc8195a498df98612a52b4258.png

image.png.1a29d83634ece93c74ebb7dbfecea011.png

 

 

 

 

Edited by SSapeRR
случайно нажал на ctrl =)
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...