Updated : Updated and Optimized Friend Request, Accept Queries

This commit is contained in:
Arslan Hassan 2010-04-23 13:19:57 +00:00
parent 7593db9716
commit 4a64974ccd
4 changed files with 74 additions and 21 deletions

View file

@ -745,8 +745,8 @@ class userquery extends CBCategory{
e(lang("friend_added"));
}else
{
$db->insert(tbl($this->dbtbl['contacts']),array('userid','contact_userid','date_added'),
array($uid,$fid,now()));
$db->insert(tbl($this->dbtbl['contacts']),array('userid','contact_userid','date_added','request_type'),
array($uid,$fid,now(),'out'));
$insert_id = $db->insert_id();
e(lang("friend_request_sent"),"m");
@ -837,6 +837,8 @@ class userquery extends CBCategory{
e(lang("friend_confirm_error"));
}else
{
$db->insert(tbl($this->dbtbl['contacts']),array('userid','contact_userid','date_added','request_type','confirmed'),
array($uid,$rid,now(),'in','yes'));
$db->update(tbl($this->dbtbl['contacts']),array('confirmed'),array("yes")," userid='$rid' AND contact_userid='$uid' " );
if($msg)
e(lang("friend_confirmed"),"m");
@ -900,7 +902,7 @@ class userquery extends CBCategory{
if(!$uid)
$uid = userid();
$result = $db->select(tbl($this->dbtbl['contacts']),"*"," contact_id='$rid'");
$result = $db->select(tbl($this->dbtbl['contacts']),"*"," userid='$rid' AND contact_userid='$uid' ");
$result = $result[0];
if($db->num_rows==0)
@ -919,25 +921,32 @@ class userquery extends CBCategory{
/**
* Function used to get user contacts
*/
function get_contacts($uid,$group=0,$confirmed=NULL,$count_only=false)
function get_contacts($uid,$group=0,$confirmed=NULL,$count_only=false,$type=NULL)
{
global $db;
$query = "";
if($confirmed)
$query = " AND confirmed='$confirmed' ";
$query .= " AND ".tbl("contacts").".confirmed='$confirmed' ";
if($type)
$query .= " AND ".tbl("contacts").".request_type='$type' ";
if(!$count_only)
{
$result = $db->select(tbl($this->dbtbl['contacts']),"*",
" (userid='$uid' OR contact_userid='$uid') $query AND contact_group_id='$group' ");
$result = $db->select(tbl("contacts,users"),
tbl("contacts.contact_userid,contacts.confirmed,contacts.request_type ,users.*"),
tbl("contacts.userid")."='$uid' AND ".tbl("users.userid")."=".tbl("contacts.contact_userid")."
$query AND ".tbl("contacts").".contact_group_id='$group' ");
if($db->num_rows>0)
return $result;
else
return false;
}else{
return $db->count(tbl($this->dbtbl['contacts']),"*",
" (userid='$uid' OR contact_userid='$uid') $query AND contact_group_id='$group' ");
$count = $db->count(tbl("contacts"),
tbl("contacts.contact_userid"),
tbl("contacts.userid")."='$uid'
$query AND ".tbl("contacts").".contact_group_id='$group' ");
return $count;
}
}
@ -947,7 +956,10 @@ class userquery extends CBCategory{
function get_pending_contacts($uid,$group=0)
{
global $db;
$result = $db->select(tbl($this->dbtbl['contacts']),"*"," userid='$uid' AND confirmed='no' AND contact_group_id='$group' ");
$result = $db->select(tbl("contacts,users"),
tbl("contacts.userid,contacts.confirmed,contacts.request_type ,users.*"),
tbl("contacts.contact_userid")."='$uid' AND ".tbl("users.userid")."=".tbl("contacts.userid")."
AND ".tbl("contacts.confirmed")."='no' AND ".tbl("contacts").".contact_group_id='$group' ");
if($db->num_rows>0)
return $result;
else

View file

@ -15,6 +15,7 @@ if(is_installed('editorspick'))
{
assign('editor_picks',get_ep_videos());
}
//Displaying The Template
template_files('index.html');
display_it();

View file

@ -64,7 +64,7 @@
<li><a href="{link name='my_videos'}">{lang code='com_my_videos'}</a></li>
<li><a href="{link name='my_favorites'}">{lang code='Favorites'}</a></li>
<li><a href="{link name='my_playlists'}">{lang code='playlists'}</a></li>
<li><a href="{link name='my_contacts'}">{lang code='friend_requests'} ({$userquery->get_contacts($userquery->userid,0,no,true)})</a></li>
<li><a href="{link name='my_contacts'}">{lang code='friend_requests'} ({$userquery->get_contacts($userquery->userid,0,no,true,'in')})</a></li>
{/if}
</ul>
<div class="search_con">

View file

@ -21,11 +21,9 @@
{foreach from=$friends item=friend}
{if $user.userid!=$friend.userid}
{assign var=user_detail value=$userquery->get_user_details($friend.userid)}
{else}
{assign var=user_detail value=$userquery->get_user_details($friend.contact_userid)}
{/if}
{assign var=user_detail value=$friend}
<div class="manage_contacts_tbl">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
@ -34,9 +32,8 @@
<td width="50" height="50" align="center" valign="middle"><a href="{$userquery->profile_link($user_detail)}"><img src="{$userquery->getUserThumb($user_detail)}" alt="{$user_detail.username}" width="40" height="40" border="0"></a></td>
<td><a href="{$userquery->profile_link($user_detail)}">{$user_detail.username}</a></td>
<td width="100">{$user_detail.profile_hits|number_format}</td>
<td width="100">{if $friend.contact_userid==userid() && $friend.confirmed!='yes'}
<span class="cb_fb_style_button"><a href="?mode=requests&confirm={$friend.contact_id}">{lang code='confirm'}</a></span>{/if}
{if $friend.userid==userid() && $friend.confirmed!='yes'}
<td width="100">
{if $friend.confirmed!='yes'}
<span class="cb_pending">{lang code='pending'}</span>
{/if}
</td>
@ -50,6 +47,49 @@
{/if}
<h3>{lang code='pending_requests'}</h3>
{assign var=friends value=$userquery->get_pending_contacts($user.userid,0)}
{if $friends}
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="manage_contacts_tbl_head">
<tr>
<td width="15"><input type="checkbox" name="checkall" onclick="checkUncheckAll(this);"/></td>
<td width="50">&nbsp;</td>
<td>{lang code='username'}</td>
<td width="100">{lang code='views'}</td>
<td width="100">&nbsp;</td>
<td width="50">&nbsp;</td>
</tr>
</table>
{foreach from=$friends item=friend}
{assign var=user_detail value=$friend}
<div class="manage_contacts_tbl">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="15"><input type="checkbox" name="friend[]" id="check_userd-{$user_detail.userid}" value="{$user_detail.userid}" /></td>
<td width="50" height="50" align="center" valign="middle"><a href="{$userquery->profile_link($user_detail)}"><img src="{$userquery->getUserThumb($user_detail)}" alt="{$user_detail.username}" width="40" height="40" border="0"></a></td>
<td><a href="{$userquery->profile_link($user_detail)}">{$user_detail.username}</a></td>
<td width="100">{$user_detail.profile_hits|number_format}</td>
<td width="100">
{if $friend.confirmed!='yes'}
<span class="cb_fb_style_button"><a href="?mode=requests&confirm={$friend.userid}">{lang code='confirm'}</a></span>{/if}
</td>
<td width="50" align="center" valign="middle"><a href="?mode=delete&userid={$user_detail.userid}"><img src="{$imageurl}/cancel.png" width="16" height="16" border="0" /></a></td>
</tr>
</table>
</div>
{/foreach}
{else}
<div><em><strong>{lang code='no_contacts'}</strong></em></div>
{/if}
</div>