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

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

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

Last 5 polls on home page

Discussion in 'Free' started by nadri, Mar 9, 2010.

  1. nadri Thread starter Administrator


    Offline
    • Admin
    • Знаменитый
    Message Count:
    1,257
    Likes Received:
    392
    My version of SE:
    4.6.0
    this show last 5 recent polls on home page



    Copy this code below and go to your ../home.php and paste it BEFORE

    // ASSIGN SMARTY VARIABLES AND INCLUDE FOOTER


    Code:
    // RECENT POLLS
    
    
    // DISPLAY ERROR PAGE IF USER IS NOT LOGGED IN AND ADMIN SETTING REQUIRES REGISTRATION
    if( !$user->user_exists && !$setting['setting_permission_portal'] )
    {
      $page = "error";
      $smarty->assign('error_header', 639);
      $smarty->assign('error_message', 656);
      $smarty->assign('error_submit', 641);
      include "footer.php";
    }
    
    
    // PARSE GET/POST
    if(isset($_POST['p'])) { $p = $_POST['p']; } elseif(isset($_GET['p'])) { $p = $_GET['p']; } else { $p = 1; }
    if(isset($_POST['s'])) { $s = $_POST['s']; } elseif(isset($_GET['s'])) { $s = $_GET['s']; } else { $s = "poll_datecreated DESC"; }
    if(isset($_POST['v'])) { $v = $_POST['v']; } elseif(isset($_GET['v'])) { $v = $_GET['v']; } else { $v = 0; }
    
    
    // ENSURE SORT/VIEW ARE VALID
    if($s != "poll_datecreated DESC" && $s != "poll_totalvotes DESC" && $s != "poll_views DESC") { $s = "poll_datecreated DESC"; }
    if($v != "0" && $v != "1") { $v = 0; }
    
    
    // SET WHERE CLAUSE
    $where = "CASE
    	    WHEN se_polls.poll_user_id='{$user->user_info['user_id']}'
    	      THEN TRUE
    	    WHEN ((se_polls.poll_privacy & @SE_PRIVACY_REGISTERED) AND '{$user->user_exists}'<>0)
    	      THEN TRUE
    	    WHEN ((se_polls.poll_privacy & @SE_PRIVACY_ANONYMOUS) AND '{$user->user_exists}'=0)
    	      THEN TRUE
    	    WHEN ((se_polls.poll_privacy & @SE_PRIVACY_FRIEND) AND (SELECT TRUE FROM se_friends WHERE friend_user_id1=se_polls.poll_user_id AND 
    
    friend_user_id2='{$user->user_info['user_id']}' AND friend_status='1' LIMIT 1))
    	      THEN TRUE
    	    WHEN ((se_polls.poll_privacy & @SE_PRIVACY_SUBNET) AND '{$user->user_exists}'<>0 AND (SELECT TRUE FROM se_users WHERE 
    
    user_id=se_polls.poll_user_id AND user_subnet_id='{$user->user_info['user_subnet_id']}' LIMIT 1))
    	      THEN TRUE
    	    WHEN ((se_polls.poll_privacy & @SE_PRIVACY_FRIEND2) AND (SELECT TRUE FROM se_friends AS friends_primary LEFT JOIN se_users ON 
    
    friends_primary.friend_user_id1=se_users.user_id LEFT JOIN se_friends AS friends_secondary ON friends_primary.friend_user_id2=friends_secondary.friend_user_id1 WHERE 
    
    friends_primary.friend_user_id1=se_polls.poll_user_id AND friends_secondary.friend_user_id2='{$user->user_info['user_id']}' AND se_users.user_subnet_id='{$user->user_info
    
    ['user_subnet_id']}' LIMIT 1))
    	      THEN TRUE
    	    ELSE FALSE
    	END";
    
    
    // ONLY MY FRIENDS' POLLS
    if( $v=="1" && $user->user_exists )
    {
      // SET WHERE CLAUSE
      $where .= " && (
        SELECT
          TRUE
        FROM
          se_friends
        WHERE
          friend_user_id1='{$user->user_info['user_id']}' &&
          friend_user_id2=se_polls.poll_user_id &&
          friend_status=1
        )
      ";
    }
    
    
    // CREATE poll OBJECT
    $poll = new se_poll();
    
    // GET TOTAL pollS
    $total_polls = $poll->poll_total($where);
    
    // MAKE ENTRY PAGES
    $polls_per_page = 5;
    $page_vars = make_page($total_polls, $polls_per_page, $p);
    
    // GET poll ARRAY
    $poll_array = $poll->poll_list($page_vars[0], $polls_per_page, $s, $where, TRUE);
    
    
    
    // ASSIGN SMARTY VARIABLES AND DISPLAY POLLS PAGE
    $smarty->assign('polls', $poll_array);
    $smarty->assign('total_polls', $total_polls);
    $smarty->assign('p', $page_vars[1]);
    $smarty->assign('maxpage', $page_vars[2]);
    $smarty->assign('p_start', $page_vars[0]+1);
    $smarty->assign('p_end', $page_vars[0]+count($poll_array));
    $smarty->assign('s', $s);
    $smarty->assign('v', $v);
    
    // END RECENT POLLS
    
    *****************************
    If you want more or less than 5 polls, then change

    $polls_per_page = 5;

    5 = No. of showed polls

    ******************************************************************************************



    copy this code below and paste it in your ../templates/home.tpl where you want to be shown


    Code:
    <!-- RECENT POLLS -->
    
       <div class='portal_spacer'></div>
      <div class='header'>Recently Polls</div>
        <div class='portal_content'>
        {if $total_polls == 0}
            <div class='error'><img src='../images/error.gif' class='icon' border='0'> No Recent Polls</div>
        {/if}
     {section name=poll_loop loop=$polls}
          <table cellpadding='0' cellspacing='0'>
          <tr>
          <td style='vertical-align: top; padding-right: 8px;'>
                  <a href='{$url->url_create("poll", $polls[poll_loop]->poll_owner->user_info.user_username, $polls[poll_loop]->poll_info.poll_id)}'><img src='{$polls[poll_loop]->poll_owner->user_photo("./images/nophoto.gif")}' border='0' class='photo' width='50' height='50'></a></td><td>
                                      <div style='font-weight: bold; font-size: 8pt;'><a href='{$url->url_create("poll", $polls[poll_loop]->poll_owner->user_info.user_username, $polls[poll_loop]->poll_info.poll_id)}'>{$polls[poll_loop]->poll_info.poll_title|truncate:19:"...":true}</a></div> 
            <div style='font-size: 9px;'>
              {assign var='poll_datecreated' value=$datetime->time_since($polls[poll_loop]->poll_info.poll_datecreated)}{capture assign="created"}{lang_sprintf id=$poll_datecreated[0] 1=$poll_datecreated[1]}{/capture}
              {lang_sprintf id=2500108 1=$created 2=$url->url_create("profile", $polls[poll_loop]->poll_owner->user_info.user_username) 3=$polls[poll_loop]->poll_owner->user_displayname}
            </div>
            <div style='font-size: 9px;'>
              {lang_sprintf id=2500028 1=$polls[poll_loop]->poll_info.poll_totalvotes},
              {lang_sprintf id=949 1=$polls[poll_loop]->poll_info.poll_views}
            </div>
          </td>
          </tr>
          </table>    
        {if $smarty.section.poll_loop.last != true}<div style='height: 5px;'> </div>{/if}
      {/section}
        </div>
    
         
    <!-- END RECENT POLLS -->
    *********************
  2. Prado Challenge Everything


    Offline
    • Admin
    Message Count:
    3,191
    Likes Received:
    786
    My version of phpFox:
    3.0.0
    Пять опросов на home.php

Share This Page

All rights reserved SocEngine.ru ©