Ejemplo n.º 1
0
$friendServer = L::loadClass('Friend', 'friend');
if ($hash == appkey($o_u, $app) && $winduid && $o_u !== $winduid) {
    $userService = L::loadClass('UserService', 'user');
    /* @var $userService PW_UserService */
    $ckuser = $userService->get($o_u);
    $iffriend = $friendServer->getFriendByUidAndFriendid($winduid, $o_u);
    if ($ckuser && empty($iffriend)) {
        $friendcheck = getstatus($ckuser['userstatus'], PW_USERSTATUS_CFGFRIEND, 3);
        if (!$friendcheck) {
            $db->query("DELETE FROM pw_attention WHERE uid=" . S::sqlEscape($winduid) . " AND friendid=" . S::sqlEscape($o_u));
            addSingleFriend(true, $winduid, $o_u, $timestamp, 0);
            addSingleFriend(true, $o_u, $winduid, $timestamp, 0);
            M::sendNotice(array($ckuser['username']), array('title' => getLangInfo('writemsg', 'friend_add_title_1', array('username' => $windid)), 'content' => getLangInfo('writemsg', 'friend_add_content_1', array('uid' => $winduid, 'username' => $windid))));
        } elseif ($friendcheck == 1) {
            $db->query("DELETE FROM pw_attention WHERE uid=" . S::sqlEscape($winduid) . " AND friendid=" . S::sqlEscape($touid));
            addSingleFriend(false, $winduid, $o_u, $timestamp, 1);
            M::sendRequest($winduid, array($ckuser['username']), array('create_uid' => $winduid, 'create_username' => $windid, 'title' => getLangInfo('writemsg', 'friend_add_title_2', array('username' => $windid)), 'content' => getLangInfo('writemsg', 'friend_add_content_2', array('uid' => $winduid, 'username' => $windid, 'msg' => stripslashes($checkmsg)))), 'request_friend', 'request_friend');
        }
        Cookie('o_invite', '');
    }
}
function addSingleFriend($updatemem, $winduid, $frienduid, $timestamp, $status, $friendtype = 0, $checkmsg = '')
{
    global $db;
    $pwSQL = S::sqlSingle(array('uid' => $winduid, 'friendid' => $frienduid, 'joindate' => $timestamp, 'status' => $status, 'descrip' => $checkmsg, 'ftid' => $friendtype));
    $attentionService = L::loadClass('Attention', 'friend');
    /* @var $attentionService PW_Attention */
    if ($isAttention = $attentionService->isFollow($winduid, $frienduid)) {
        $db->update("UPDATE pw_friends SET status = 0 WHERE uid=" . S::sqlEscape($winduid) . " AND friendid=" . S::sqlEscape($frienduid));
    } else {
        if ($winduid != $frienduid) {
Ejemplo n.º 2
0
        } elseif ($friendcheck == 1) {
            InitGP(array('checkmsg'), 'P');
            if (strlen($checkmsg) > 255) {
                $_strmaxlen = 255;
                Showmsg('string_limit');
            }
            //$pwSQL = pwSqlSingle(array(
            //	'uid'		=> $winduid,
            //	'friendid'	=> $friend['uid'],
            //	'status'	=> 1,
            //	'joindate'	=> $timestamp,
            //	'descrip'	=> $checkmsg,
            //	'ftid'		=> $friendtype
            //));
            //$db->update("INSERT INTO pw_friends	SET $pwSQL");
            addSingleFriend(false, $winduid, $friend['uid'], $timestamp, 1, $friendtype, $checkmsg);
            $msg = array('toUser' => $friend['username'], 'subject' => 'friend_add_title_2', 'content' => 'friend_add_content_2', 'other' => array('uid' => $winduid, 'username' => $windid, 'msg' => stripslashes($checkmsg)));
            require_once R_P . 'require/msg.php';
            pwSendMsg($msg);
            //job sign
            initJob($winduid, "doAddFriend", array('user' => $friend['username']));
            Showmsg('friend_add_check');
        } else {
            Showmsg('undefined_action');
        }
    }
} elseif ($action == 'deletefriend') {
    PostCheck();
    InitGP(array('fuid'), 'GP', 2);
    $ckuser = $db->get_value("SELECT m.username FROM pw_friends f LEFT JOIN pw_members m ON f.uid=m.uid WHERE f.uid=" . pwEscape($fuid) . " AND f.friendid=" . pwEscape($winduid));
    if ($ckuser) {