Example #1
0
 public static function finishAuth()
 {
     Social_Client::init();
     $network_name = trim(strip_tags(Social_Client::$request["sa_login_finish"]));
     $network = Social_Auth::prepare($network_name);
     if (!$network) {
         Social_Logger::error("Invalid parameter given on sa_login_finish");
         $network->adapter->disconnectUser();
         header("HTTP/1.0 404 Not Found");
         die("Invalid parameter given on sa_login_finish. Try login again");
     }
     try {
         Social_Logger::info("Login finish: {$network_name}");
         $network->adapter->finishLogin();
         $user_profile = $network->adapter->getUserProfile();
         if ($network_name == 'facebook') {
             $user_profile->photoURL = $user_profile->photoURL . '&ts=' . getTimeStamp();
         }
         $user_profile->network_name = $network_name;
         $userid = socialLogin($user_profile);
         Social_Auth::session()->set("SA_USER", $user_profile);
     } catch (Exception $e) {
         $network->adapter->disconnectUser();
     }
     Social_Logger::info("Returned to callback");
     $network->goToCallbackPage();
     die;
 }
 private function formatMessage($level, $msgFormat, $params = null)
 {
     $message = "[";
     switch ($level) {
         case self::LOG_DEBUG:
             $message .= 'debug';
             break;
         case self::LOG_INFO:
             $message .= 'info';
             break;
         case self::LOG_ERROR:
             $message .= 'error';
             break;
         case self::LOG_FATAL:
             $message .= 'fatal';
             break;
         default:
             return '';
     }
     $parts = explode(' ', microtime());
     $message .= '][' . getTimeStamp() . "-" . floatval($parts[0]) * 100000000 . '] ';
     if (is_array($params)) {
         $message .= vsprintf($msgFormat, $params);
     } elseif (!is_null($params)) {
         $message .= sprintf($msgFormat, $params);
     } else {
         $message .= $msgFormat;
     }
     return $message;
 }
function chatroomsusers()
{
    $sql = "delete from cometchat_chatrooms_users where lastactivity < (" . getTimeStamp() . "-3600)";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysqli_error($GLOBALS['dbh']);
    }
}
Example #4
0
function clearGuestEntries()
{
    $sql = "delete from cometchat_guests where id in (select userid from cometchat_status where (" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "-cometchat_status.lastactivity)>10800)";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysqli_error($GLOBALS['dbh']);
    }
}
Example #5
0
function onlineusers()
{
    global $db;
    $sql = "select count(distinct(cometchat.from)) users from cometchat where ('" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "'-cometchat.sent)<300";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    $chat = mysqli_fetch_assoc($query);
    return $chat['users'];
}
Example #6
0
function chatroomsusers()
{
    $sql = "delete from cometchat_chatrooms_users where (" . getTimeStamp() . "-lastactivity)>3600";
    $query = mysql_query($sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysql_error();
    }
    echo "All inactive chatroom users have been deleted.<br />";
}
/**
 * Get db prepared dateTime value
 * @param String textValue
 * @param String dateFormat
 * @return String
 */
function getDBDateValue($textValue, $dateFormat)
{
    if (!$textValue) {
        return NULL;
    }
    $timeStamp = getTimeStamp($textValue, $dateFormat);
    if ($timeStamp === FALSE) {
        return NULL;
    }
    $time = localtime($timeStamp, true);
    return $time["tm_year"] + 1900 . "-" . ($time["tm_mon"] + 1) . "-" . $time["tm_mday"] . " " . $time["tm_hour"] . ":" . $time["tm_min"] . ":" . $time["tm_sec"];
}
 function publish($args)
 {
     if (!($args['channel'] && $args['message'])) {
         echo 'Missing Channel or Message';
         return false;
     }
     $channel = $args['channel'];
     $message = json_encode($args['message']);
     $sql = "insert into cometchat_comethistory (channel,message,sent) values ( '" . mysqli_real_escape_string($GLOBALS['dbh'], $channel) . "', '" . mysqli_real_escape_string($GLOBALS['dbh'], serialize($args['message'])) . "','" . getTimeStamp() . "')";
     mysqli_query($GLOBALS['dbh'], $sql);
     $string_to_sign = implode('/', array($this->PUBLISH_KEY, $this->SUBSCRIBE_KEY, $this->SECRET_KEY, $channel, $message));
     $signature = $this->SECRET_KEY ? md5($string_to_sign) : '0';
     if (strlen($message) > $this->LIMIT) {
         echo 'Message TOO LONG (' . $this->LIMIT . ' LIMIT)';
         return array(0, 'Message Too Long.');
     }
     return $this->_request(array('publish', $this->PUBLISH_KEY, $this->SUBSCRIBE_KEY, $signature, $channel, '0', $message));
 }
 /**
  * 查询用户是否订阅,订阅是否过期。
  * @param $appInstanceId 用户订阅的app实例id
  *
  * @return
  * 1. 用户没有订阅,返回false
  * 2. 用户已订阅,但是已过期,返回订阅结束的时间
  * 3. 用户已订阅,并且没有过期,返回true
  *
  */
 public static function isSubscriber($appInstanceId)
 {
     $sip_sessionid = session_id();
     $result = RESTRequestHelper::postRequest('alisoft.getSubscCtrl', array('appInstanceId' => $appInstanceId), $sip_sessionid);
     writeDebug("getSubscCtrl of appInstance {$appInstanceId} result:" . $result);
     if ($result == null || strlen($result) < 1) {
         return false;
     }
     $xml = new SimpleXMLElement($result);
     $endDate = $xml->gmtEnd;
     writeDebug('End date of subscribe:' . $endDate);
     $endDate = substr($endDate, 0, 10);
     $currentDate = getTimeStamp('Y-m-d');
     if ($endDate <= $currentDate) {
         return $endDate;
     }
     return true;
 }
Example #10
0
 public static function finishAuth()
 {
     Social_Client::init();
     $network_name = trim(strip_tags(Social_Client::$request["sa_login_finish"]));
     $network = Social_Auth::prepare($network_name);
     if (!$network) {
         Social_Logger::error("Invalid parameter given on sa_login_finish");
         $network->adapter->disconnectUser();
         header("HTTP/1.0 404 Not Found");
         die("Invalid parameter given on sa_login_finish. Try login again");
     }
     try {
         Social_Logger::info("Login finish: {$network_name}");
         $network->adapter->finishLogin();
         $user_profile = $network->adapter->getUserProfile();
         if ($network_name == 'facebook') {
             $user_profile->photoURL = $user_profile->photoURL . '&ts=' . getTimeStamp();
         }
         $sql = "select " . DB_USERTABLE . "." . DB_USERTABLE_USERID . " from " . DB_USERTABLE . " where " . DB_USERTABLE . "." . DB_USERTABLE_USERNAME . " = '" . mysqli_real_escape_string($GLOBALS['dbh'], $network_name) . "_" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->identifier) . "'";
         $result = mysqli_query($GLOBALS['dbh'], $sql);
         if ($row = mysqli_fetch_assoc($result)) {
             $sql = "update " . DB_USERTABLE . " set " . DB_USERTABLE . "." . DB_USERTABLE_NAME . "='" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->firstName) . "'," . DB_AVATARFIELD . "='" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->photoURL) . "'," . DB_USERTABLE . "." . DB_LINKFIELD . "='" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->profileURL) . "' where " . DB_USERTABLE . "." . DB_USERTABLE_USERNAME . "='" . mysqli_real_escape_string($GLOBALS['dbh'], $network_name) . "_" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->identifier) . "'";
             mysqli_query($GLOBALS['dbh'], $sql);
             if (!empty($row[DB_USERTABLE_USERID])) {
                 $userid = $row[DB_USERTABLE_USERID];
             }
         } else {
             $sql = "insert into " . DB_USERTABLE . " (" . DB_USERTABLE . "." . DB_USERTABLE_USERNAME . "," . DB_USERTABLE . "." . DB_USERTABLE_NAME . "," . DB_AVATARFIELD . "," . DB_USERTABLE . "." . DB_LINKFIELD . "," . DB_USERTABLE . "." . DB_GROUPFIELD . ") values ( '" . mysqli_real_escape_string($GLOBALS['dbh'], $network_name) . "_" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->identifier) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->firstName) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->photoURL) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $user_profile->profileURL) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], ucfirst($network_name)) . "')";
             mysqli_query($GLOBALS['dbh'], $sql);
             $userid = mysqli_insert_id($GLOBALS['dbh']);
         }
         $_SESSION['cometchat']['userid'] = $userid;
         $_SESSION['cometchat']['ccauth'] = '1';
         Social_Auth::session()->set("SA_USER", $user_profile);
     } catch (Exception $e) {
         $network->adapter->disconnectUser();
     }
     Social_Logger::info("Returned to callback");
     $network->goToCallbackPage();
     die;
 }
 /**
  * 向阿里REST服务器发送调用请求。
  *
  * @param string $apiname api名字
  * @param string $appInstanceId 用户订购的appid
  * @param string $userId 用户id
  * @param string $token 阿里平台产生的请求token
  * @param string $sip_sessionid 用户的session id
  * @param string $sip_format 请求结果格式,xml或者json,默认xml。
  * @param string $otherParams 其他附加的参数。
  * @return string  请求结果字符串。
  */
 public static function postRequest($apiname, $appParams = null, $sip_sessionid = null, $sip_format = null)
 {
     //准备本次请求参数
     $timestamp = getTimeStamp();
     /* REST request url. Use snoopy to submit a request
     		$url = $this->SIP_URL_PRE."?sip_timestamp=".date("Y-m-d H:i:s")
     		.'&sip_appkey='.$this->APP_ID.'&appId='.$this->APP_ID.'&sip_sign='.$sip_sign.
     		'&token='.$token.'&appInstanceId='.$appInstanceId
     		.'&userId='.$userId.'&sip_apiname=alisoft.validateUser'.'&sip_sessionid='.$sip_sessionid;
     		*/
     $formVars['sip_appkey'] = APP_ID;
     $formVars['sip_apiname'] = $apiname;
     $formVars['sip_timestamp'] = $timestamp;
     $formVars['appId'] = APP_ID;
     if (isset($sip_sessionid)) {
         $formVars['sip_sessionid'] = $sip_sessionid;
     }
     if (isset($sip_format)) {
         $formVars['sip_format'] = $sip_format;
     }
     if (isset($appParams) && is_array($appParams)) {
         $formVars = array_merge($formVars, $appParams);
         //writeDebug('form var before encode:' . print_r($formVars,true));
         //$encodeParams = self::encodeParams($appParams);
     }
     // 生成签名
     $sip_sign = SignGenerator::generateSign($formVars);
     $formVars['sip_sign'] = $sip_sign;
     //$formVars = array_merge($formVars,$encodeParams);
     writeDebug(sprintf("API: %s\nParams: %s", $apiname, print_r($formVars, true)));
     $proxy = new Snoopy();
     //$proxy->set_submit_multipart();
     //向AEP发出服务端请求
     $proxy->submit(SIP_REST_URI, $formVars);
     WriteDebug("http header:" . print_r($proxy->headers, true));
     self::handleError($proxy->headers);
     // 返回请求结果
     return $proxy->results;
 }
Example #12
0
function getGuestID()
{
    $_SESSION['guestMode'] = 1;
    global $cookiePrefix;
    $userid = 0;
    if (!empty($_COOKIE[$cookiePrefix . 'guest'])) {
        $checkId = base64_decode($_COOKIE[$cookiePrefix . 'guest']);
        $sql = "select id from cometchat_guests where id = '" . mysqli_real_escape_string($GLOBALS['dbh'], $checkId) . "'";
        $query = mysqli_query($GLOBALS['dbh'], $sql);
        $result = mysqli_fetch_assoc($query);
        if (!empty($result['id'])) {
            $userid = $result['id'];
        }
    }
    if (empty($userid)) {
        $random = rand(10000, 99999);
        $sql = "insert into cometchat_guests (name,lastactivity) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $random) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "')";
        $query = mysqli_query($GLOBALS['dbh'], $sql);
        $userid = mysqli_insert_id($GLOBALS['dbh']);
        setcookie($cookiePrefix . 'guest', base64_encode($userid), time() + 3600 * 24 * 365, "/");
    }
    return $userid;
}
Example #13
0
function updateGuestLastActivity($userid)
{
    $sql = "update `cometchat_guests` set lastactivity = '" . getTimeStamp() . "' where id = '" . mysql_real_escape_string($userid) . "'";
    return $sql;
}
Example #14
0
<ul class="games">
\t{$games_language[13]}
</ul>
<div style="clear:both"></div>
</div>
</div>
</div>

</body>
</html>
EOD;
} else {
    if ($_GET['action'] == 'request') {
        $random_from = md5(getTimeStamp() + $userid + 'from');
        $random_to = md5(getTimeStamp() + intval($_GET['toId']) + 'to');
        $random_order = $random_from . ',' . $random_to;
        $toId = intval($_GET['toId']);
        $baseData = $_REQUEST['basedata'];
        $embed = '';
        $embedcss = '';
        $close = "setTimeout('window.close()',2000);";
        if (!empty($_GET['embed']) && $_GET['embed'] == 'web') {
            $embed = 'web';
            $embedcss = 'embed';
            $close = "parent.closeCCPopup('games_init');";
        }
        if (!empty($_GET['embed']) && $_GET['embed'] == 'desktop') {
            $embed = 'desktop';
            $embedcss = 'embed';
            $close = "parentSandboxBridge.closeCCPopup('games_init');";
Example #15
0
function updateLastActivity($userid)
{
    $sql = "update `" . TABLE_PREFIX . DB_USERTABLE . "` set " . DB_USERTABLE_LASTACTIVITY . " = '" . getTimeStamp() . "' where " . DB_USERTABLE_USERID . " = '" . mysql_real_escape_string($userid) . "'";
    return $sql;
}
Example #16
0
 /**
  * @param string $read
  * @param integer $i
  * @param object $hdr MessageHeader object
  * @return object MessageHeader object
  */
 function parseEnvelope($read, &$i, $hdr)
 {
     $arg_no = 0;
     $arg_a = array();
     ++$i;
     for ($cnt = strlen($read); $i < $cnt && $read[$i] != ')'; ++$i) {
         $char = strtoupper($read[$i]);
         switch ($char) {
             case '"':
                 $arg_a[] = $this->parseQuote($read, $i);
                 ++$arg_no;
                 break;
             case '{':
                 $arg_a[] = $this->parseLiteral($read, $i);
                 /* temp bugfix (SM 1.5 will have a working clean version)
                    too much work to implement that version right now */
                 //            --$i;
                 ++$arg_no;
                 break;
             case 'N':
                 /* probably NIL argument */
                 if (strtoupper(substr($read, $i, 3)) == 'NIL') {
                     $arg_a[] = '';
                     ++$arg_no;
                     $i += 2;
                 }
                 break;
             case '(':
                 /* Address structure (with group support)
                  * Note: Group support is useless on SMTP connections
                  *       because the protocol doesn't support it
                  */
                 $addr_a = array();
                 $group = '';
                 $a = 0;
                 for (; $i < $cnt && $read[$i] != ')'; ++$i) {
                     if ($read[$i] == '(') {
                         $addr = $this->parseAddress($read, $i);
                         if ($addr->host == '' && $addr->mailbox != '') {
                             /* start of group */
                             $group = $addr->mailbox;
                             $group_addr = $addr;
                             $j = $a;
                         } else {
                             if ($group && $addr->host == '' && $addr->mailbox == '') {
                                 /* end group */
                                 if ($a == $j + 1) {
                                     /* no group members */
                                     $group_addr->group = $group;
                                     $group_addr->mailbox = '';
                                     $group_addr->personal = "{$group}: Undisclosed recipients;";
                                     $addr_a[] = $group_addr;
                                     $group = '';
                                 }
                             } else {
                                 $addr->group = $group;
                                 $addr_a[] = $addr;
                             }
                         }
                         ++$a;
                     }
                 }
                 $arg_a[] = $addr_a;
                 break;
             default:
                 break;
         }
     }
     if (count($arg_a) > 9) {
         $d = strtr($arg_a[0], array('  ' => ' '));
         $d_parts = explode(' ', $d);
         if (!$arg_a[1]) {
             $arg_a[1] = _("(no subject)");
         }
         $hdr->date = getTimeStamp($d_parts);
         /* argument 1: date */
         $hdr->date_unparsed = strtr($d, '<>', '  ');
         /* original date */
         $hdr->subject = $arg_a[1];
         /* argument 2: subject */
         $hdr->from = is_array($arg_a[2]) ? $arg_a[2][0] : '';
         /* argument 3: from        */
         $hdr->sender = is_array($arg_a[3]) ? $arg_a[3][0] : '';
         /* argument 4: sender      */
         $hdr->reply_to = is_array($arg_a[4]) ? $arg_a[4][0] : '';
         /* argument 5: reply-to    */
         $hdr->to = $arg_a[5];
         /* argument 6: to          */
         $hdr->cc = $arg_a[6];
         /* argument 7: cc          */
         $hdr->bcc = $arg_a[7];
         /* argument 8: bcc         */
         $hdr->in_reply_to = $arg_a[8];
         /* argument 9: in-reply-to */
         $hdr->message_id = $arg_a[9];
         /* argument 10: message-id */
     }
     return $hdr;
 }
Example #17
0
function newchatroomprocess()
{
    global $ts;
    $chatroom = $_POST['chatroom'];
    $type = $_POST['type'];
    $password = $_POST['ppassword'];
    if (!empty($password) && ($type == 1 || $type == 2)) {
        $password = sha1($password);
    } else {
        $password = '';
    }
    if (!empty($chatroom)) {
        $sql = "insert into cometchat_chatrooms (name,createdby,lastactivity,password,type) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], sanitize_core($chatroom)) . "', '0','" . mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp()) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $password) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $type) . "')";
        $query = mysqli_query($GLOBALS['dbh'], $sql);
    }
    header("Location: ?module=chatrooms&ts={$ts}");
}
function updateLastSeen($userid)
{
    $sql = "insert into cometchat_status (userid,lastseen) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "','" . getTimeStamp() . "') on duplicate key update lastseen = '" . getTimeStamp() . "'";
    return $sql;
}
Example #19
0
function typingTo()
{
    global $response;
    global $userid;
    global $db;
    global $messages;
    $timestamp = 0;
    global $chromeReorderFix;
    if (USE_COMET == 1) {
        return;
    }
    $sql = "select GROUP_CONCAT(userid, ',') from cometchat_status where typingto = '" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "' and ('" . getTimeStamp() . "'-typingtime < 10)";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysqli_error($GLOBALS['dbh']);
    }
    $chat = mysqli_fetch_assoc($query);
    if (!empty($chat[0])) {
        $response['tt'] = $chat[0];
    } else {
        $response['tt'] = '';
    }
}
Example #20
0
function newannouncementprocess()
{
    global $ts;
    $announcement = $_POST['announcement'];
    $zero = '0';
    if ($_POST['sli'] == 0) {
        $zero = '-1';
    }
    $message = mysqli_real_escape_string($GLOBALS['dbh'], $announcement);
    $sent = mysqli_real_escape_string($GLOBALS['dbh'], getTimeStamp());
    $zero = mysqli_real_escape_string($GLOBALS['dbh'], $zero);
    $sql = "insert into cometchat_announcements (announcement,time,`to`) values ('" . $message . "', '" . $sent . "','" . $zero . "')";
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    $insertedid = mysqli_insert_id($GLOBALS['dbh']);
    parsePusherAnn($zero, $sent, $message, 1, $insertedid);
    removeCache('latest_announcement');
    header("Location: ?module=announcements&ts={$ts}");
}
function sqimap_get_small_header_list($imap_stream, $msg_list)
{
    global $squirrelmail_language, $color, $data_dir, $username, $imap_server_type;
    global $uid_support, $allow_server_sort;
    /* Get the small headers for each message in $msg_list */
    $sid = sqimap_session_id($uid_support);
    $maxmsg = sizeof($msg_list);
    $msgs_str = sqimap_message_list_squisher($msg_list);
    $messages = array();
    $read_list = array();
    /*
     * We need to return the data in the same order as the caller supplied
     * in $msg_list, but IMAP servers are free to return responses in
     * whatever order they wish... So we need to re-sort manually
     */
    for ($i = 0; $i < sizeof($msg_list); $i++) {
        $id2index[$msg_list[$i]] = $i;
    }
    $internaldate = getPref($data_dir, $username, 'internal_date_sort');
    if ($internaldate) {
        $query = "{$sid} FETCH {$msgs_str} (FLAGS UID RFC822.SIZE INTERNALDATE BODY.PEEK[HEADER.FIELDS (Date To Cc From Subject X-Priority Content-Type)])\r\n";
    } else {
        $query = "{$sid} FETCH {$msgs_str} (FLAGS UID RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Date To Cc From Subject X-Priority Content-Type)])\r\n";
    }
    fputs($imap_stream, $query);
    $readin_list = sqimap_read_data_list($imap_stream, $sid, false, $response, $message);
    $i = 0;
    foreach ($readin_list as $r) {
        if (!$uid_support) {
            if (!preg_match("/^\\*\\s+([0-9]+)\\s+FETCH/iAU", $r[0], $regs)) {
                set_up_language($squirrelmail_language);
                echo '<br><b><font color=$color[2]>' . _("ERROR : Could not complete request.") . '</b><br>' . _("Unknown response from IMAP server: ") . ' 1.' . htmlspecialchars($r[0]) . "</font><br>\n";
            } else {
                if (!isset($id2index[$regs[1]]) || !count($id2index[$regs[1]])) {
                    set_up_language($squirrelmail_language);
                    echo '<br><b><font color=$color[2]>' . _("ERROR : Could not complete request.") . '</b><br>' . _("Unknown message number in reply from server: ") . htmlspecialchars($regs[1]) . "</font><br>\n";
                } else {
                    $read_list[$id2index[$regs[1]]] = $r;
                }
            }
        } else {
            if (!preg_match("/^\\*\\s+([0-9]+)\\s+FETCH.*UID\\s+([0-9]+)\\s+/iAU", $r[0], $regs)) {
                set_up_language($squirrelmail_language);
                echo '<br><b><font color=$color[2]>' . _("ERROR : Could not complete request.") . '</b><br>' . _("Unknown response from IMAP server: ") . ' 1.' . htmlspecialchars($r[0]) . "</font><br>\n";
            } else {
                if (!isset($id2index[$regs[2]]) || !count($id2index[$regs[2]])) {
                    set_up_language($squirrelmail_language);
                    echo '<br><b><font color=$color[2]>' . _("ERROR : Could not complete request.") . '</b><br>' . _("Unknown message number in reply from server: ") . htmlspecialchars($regs[2]) . "</font><br>\n";
                } else {
                    $read_list[$id2index[$regs[2]]] = $r;
                    $unique_id = $regs[2];
                }
            }
        }
    }
    arsort($read_list);
    $patterns = array("/^To:(.*)\$/AUi", "/^From:(.*)\$/AUi", "/^X-Priority:(.*)\$/AUi", "/^Cc:(.*)\$/AUi", "/^Date:(.*)\$/AUi", "/^Subject:(.*)\$/AUi", "/^Content-Type:(.*)\$/AUi");
    $regpattern = '';
    for ($msgi = 0; $msgi < $maxmsg; $msgi++) {
        $subject = _("(no subject)");
        $from = _("Unknown Sender");
        $priority = 0;
        $messageid = '<>';
        $cc = $to = $date = $type[0] = $type[1] = $inrepto = '';
        $flag_seen = $flag_answered = $flag_deleted = $flag_flagged = false;
        $read = $read_list[$msgi];
        $prevline = false;
        foreach ($read as $read_part) {
            //unfold multi-line headers
            if ($prevline && $prevline[strlen($prevline) - 1] == "\n" && ($read_part[0] == ' ' || $read_part[0] == "\t")) {
                $read_part = substr($prevline, 0, -2) . preg_replace('/(\\t\\s+)/', ' ', $read_part);
            }
            $prevline = $read_part;
            if ($read_part[0] == '*') {
                if ($internaldate) {
                    if (preg_match("/^.+INTERNALDATE\\s+\"(.+)\".+/iUA", $read_part, $reg)) {
                        $tmpdate = trim($reg[1]);
                        $tmpdate = str_replace('  ', ' ', $tmpdate);
                        $tmpdate = explode(' ', $tmpdate);
                        $date = str_replace('-', ' ', $tmpdate[0]) . " " . $tmpdate[1] . ' ' . $tmpdate[2];
                    }
                }
                if (preg_match("/^.+RFC822.SIZE\\s+(\\d+).+/iA", $read_part, $reg)) {
                    $size = $reg[1];
                }
                if (preg_match("/^.+FLAGS\\s+\\((.*)\\).+/iUA", $read_part, $regs)) {
                    $flags = explode(' ', trim($regs[1]));
                    foreach ($flags as $flag) {
                        $flag = strtolower($flag);
                        if ($flag == '\\seen') {
                            $flag_seen = true;
                        } else {
                            if ($flag == '\\answered') {
                                $flag_answered = true;
                            } else {
                                if ($flag == '\\deleted') {
                                    $flag_deleted = true;
                                } else {
                                    if ($flag == '\\flagged') {
                                        $flag_flagged = true;
                                    }
                                }
                            }
                        }
                    }
                }
                if (preg_match("/^.+UID\\s+(\\d+).+/iA", $read_part, $reg)) {
                    $unique_id = $reg[1];
                }
            } else {
                $firstchar = strtoupper($read_part[0]);
                if ($firstchar == 'T') {
                    $regpattern = $patterns[0];
                    $id = 1;
                } else {
                    if ($firstchar == 'F') {
                        $regpattern = $patterns[1];
                        $id = 2;
                    } else {
                        if ($firstchar == 'X') {
                            $regpattern = $patterns[2];
                            $id = 3;
                        } else {
                            if ($firstchar == 'C') {
                                if (strtolower($read_part[1]) == 'c') {
                                    $regpattern = $patterns[3];
                                    $id = 4;
                                } else {
                                    if (strtolower($read_part[1]) == 'o') {
                                        $regpattern = $patterns[6];
                                        $id = 7;
                                    }
                                }
                            } else {
                                if ($firstchar == 'D' && !$internaldate) {
                                    $regpattern = $patterns[4];
                                    $id = 5;
                                } else {
                                    if ($firstchar == 'S') {
                                        $regpattern = $patterns[5];
                                        $id = 6;
                                    } else {
                                        $regpattern = '';
                                    }
                                }
                            }
                        }
                    }
                }
                if ($regpattern) {
                    if (preg_match($regpattern, $read_part, $regs)) {
                        switch ($id) {
                            case 1:
                                $to = trim($regs[1]);
                                break;
                            case 2:
                                $from = trim($regs[1]);
                                break;
                            case 3:
                                $priority = $regs[1];
                                break;
                            case 4:
                                $cc = trim($regs[1]);
                                break;
                            case 5:
                                $date = $regs[1];
                                break;
                            case 6:
                                $subject = trim($regs[1]);
                                if ($subject == "") {
                                    $subject = _("(no subject)");
                                }
                                break;
                            case 7:
                                $type = strtolower(trim($regs[1]));
                                if ($pos = strpos($type, ";")) {
                                    $type = substr($type, 0, $pos);
                                }
                                $type = explode("/", $type);
                                if (!is_array($type)) {
                                    $type[0] = 'text';
                                }
                                if (!isset($type[1])) {
                                    $type[1] = '';
                                }
                                break;
                            default:
                                break;
                        }
                    }
                }
            }
        }
        if (isset($date)) {
            $date = str_replace('  ', ' ', $date);
            $tmpdate = explode(' ', trim($date));
        } else {
            $tmpdate = $date = array('', '', '', '', '', '');
        }
        if ($uid_support) {
            $messages[$msgi]['ID'] = $unique_id;
        } else {
            $messages[$msgi]['ID'] = $msg_list[$msgi];
        }
        $messages[$msgi]['TIME_STAMP'] = getTimeStamp($tmpdate);
        $messages[$msgi]['DATE_STRING'] = getDateString($messages[$msgi]['TIME_STAMP']);
        $messages[$msgi]['FROM'] = parseAddress($from);
        $messages[$msgi]['SUBJECT'] = $subject;
        //        if (handleAsSent($mailbox)) {
        $messages[$msgi]['TO'] = parseAddress($to);
        //        }
        $messages[$msgi]['PRIORITY'] = $priority;
        $messages[$msgi]['CC'] = parseAddress($cc);
        $messages[$msgi]['SIZE'] = $size;
        $messages[$msgi]['TYPE0'] = $type[0];
        $messages[$msgi]['FLAG_DELETED'] = $flag_deleted;
        $messages[$msgi]['FLAG_ANSWERED'] = $flag_answered;
        $messages[$msgi]['FLAG_SEEN'] = $flag_seen;
        $messages[$msgi]['FLAG_FLAGGED'] = $flag_flagged;
        /* non server sort stuff */
        if (!$allow_server_sort) {
            $from = parseAddress($from);
            if ($from[0][1]) {
                $from = decodeHeader($from[0][1]);
            } else {
                $from = $from[0][0];
            }
            $messages[$msgi]['FROM-SORT'] = $from;
            $subject_sort = strtolower(decodeHeader($subject));
            if (preg_match("/^(vedr|sv|re|aw):\\s*(.*)\$/si", $subject_sort, $matches)) {
                $messages[$msgi]['SUBJECT-SORT'] = $matches[2];
            } else {
                $messages[$msgi]['SUBJECT-SORT'] = $subject_sort;
            }
        }
    }
    return $messages;
}
Example #22
0
function clearGuestEntries()
{
    $sql = "delete from cometchat_guests where ((" . getTimeStamp() . "-cometchat_guests.lastactivity)>10800)";
    $query = mysql_query($sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysql_error();
    }
    echo "Cron Job executed successfully for Guest entries.<br />";
}
Example #23
0
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "modules.php";
header("Content-type: text/plain");
echo " CometChat CRONJOB\r\n";
echo "-------------------------------------------\r\n";
echo " Executing job: core\r\n";
$sql = "delete from cometchat where (cometchat.read = 1 and ('" . getTimeStamp() . "'-cometchat.sent)>10800) OR (('" . getTimeStamp() . "'-cometchat.sent)>604800)";
$query = mysql_query($sql);
if (defined('DEV_MODE') && DEV_MODE == '1') {
    echo mysql_error();
}
$sql = "delete from cometchat_apehistory where (('" . getTimeStamp() . "'-cometchat_apehistory.sent)>10800)";
$query = mysql_query($sql);
if (defined('DEV_MODE') && DEV_MODE == '1') {
    echo mysql_error();
}
$lccsexecuted = false;
foreach ($trayicon as $t) {
    if (file_exists(dirname(__FILE__) . '/modules/' . $t[0] . '/cron.php')) {
        echo ' Executing job: ' . $t[0] . "\r\n";
        include_once dirname(__FILE__) . '/modules/' . $t[0] . '/cron.php';
    }
}
foreach ($plugins as $p) {
    if (file_exists(dirname(__FILE__) . '/plugins/' . $p . '/cron.php')) {
        echo ' Executing job: ' . $p . "\r\n";
        include_once dirname(__FILE__) . '/plugins/' . $p . '/cron.php';
Example #24
0
function unban()
{
    global $userid;
    global $chatrooms_language;
    global $language;
    global $embed;
    global $embedcss;
    $status['available'] = $language[30];
    $status['busy'] = $language[31];
    $status['offline'] = $language[32];
    $status['invisible'] = $language[33];
    $status['away'] = $language[34];
    $id = $_GET['roomid'];
    $inviteid = $_GET['inviteid'];
    $roomname = $_GET['roomname'];
    $time = getTimeStamp();
    $buddyList = array();
    $sql = "select DISTINCT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_LASTACTIVITY . " lastactivity, " . DB_AVATARFIELD . " avatar, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " link,  cometchat_status.message, cometchat_status.status from " . TABLE_PREFIX . DB_USERTABLE . " left join cometchat_status on " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = cometchat_status.userid right join cometchat_chatrooms_users on " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " =cometchat_chatrooms_users.userid " . DB_AVATARTABLE . " where " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " <> '" . mysql_real_escape_string($userid) . "' and cometchat_chatrooms_users.chatroomid = '" . mysql_real_escape_string($id) . "' and cometchat_chatrooms_users.isbanned ='1' order by username asc";
    $query = mysql_query($sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysql_error();
    }
    while ($chat = mysql_fetch_array($query)) {
        if ($time - processTime($chat['lastactivity']) < ONLINE_TIMEOUT && $chat['status'] != 'invisible' && $chat['status'] != 'offline') {
            if ($chat['status'] != 'busy' && $chat['status'] != 'away') {
                $chat['status'] = 'available';
            }
        } else {
            $chat['status'] = 'offline';
        }
        $avatar = getAvatar($chat['avatar']);
        if (!empty($chat['username'])) {
            if (function_exists('processName')) {
                $chat['username'] = processName($chat['username']);
            }
            $buddyList[] = array('id' => $chat['userid'], 'n' => $chat['username'], 's' => $chat['status'], 'a' => $avatar);
        }
    }
    if (function_exists('hooks_forcefriends') && is_array(hooks_forcefriends())) {
        $buddyList = array_merge(hooks_forcefriends(), $buddyList);
    }
    $s['available'] = '';
    $s['away'] = '';
    $s['busy'] = '';
    $s['offline'] = '';
    foreach ($buddyList as $buddy) {
        $s[$buddy['s']] .= '<div class="invite_1"><div class="invite_2" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;"><img height=30 width=30 src="' . $buddy['a'] . '" /></div><div class="invite_3" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;"><span class="invite_name">' . $buddy['n'] . '</span><br/><span class="invite_5">' . $status[$buddy['s']] . '</span></div><input type="checkbox" name="unban[]" value="' . $buddy['id'] . '" id="check_' . $buddy['id'] . '" class="invite_4" /></div>';
    }
    if ($s['available'] == '' && $s['busy'] == '' && $s['away'] == '' && $s['offline'] == '') {
        $s['available'] = $chatrooms_language[44];
    }
    echo <<<EOD
<!DOCTYPE html>
<html>
\t<head>
\t\t<title>{$chatrooms_language[21]}</title> 
\t\t<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
\t\t<link type="text/css" rel="stylesheet" media="all" href="../../css.php?type=module&name=chatrooms" /> 
\t</head>
\t<body>
\t\t<form method="post" action="chatrooms.php?action=unbanusers&embed={$embed}">
\t\t\t<div class="container">
\t\t\t\t<div class="container_title {$embedcss}">{$chatrooms_language[21]}</div>
\t\t\t\t<div class="container_body {$embedcss}">
\t\t\t\t\t{$s['available']}{$s['busy']}{$s['away']}{$s['offline']}
\t\t\t\t\t<div style="clear:both"></div>
\t\t\t\t</div>
\t\t\t\t<div class="container_sub {$embedcss}">
\t\t\t\t\t<input type=submit value="Unban Users" class="invitebutton" />
\t\t\t\t</div>
\t\t\t</div>\t
\t\t\t<input type="hidden" name="roomid" value="{$id}" />
\t\t\t<input type="hidden" name="inviteid" value="{$inviteid}" />
\t\t\t<input type="hidden" name="roomname" value="{$roomname}" />
\t\t</form>
\t</body>
</html>
EOD;
}
Example #25
0
to revoke the Software license at any time. 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "cometchat_init.php";
$response = array();
$messages = array();
$fetchid = $_REQUEST['userid'];
$time = getTimeStamp();
$sql = getFriendsList($userid, $time);
$query = mysqli_query($GLOBALS['dbh'], $sql);
if (defined('DEV_MODE') && DEV_MODE == '1') {
    echo mysqli_error($GLOBALS['dbh']);
}
$isfriend = 0;
while ($chat = mysqli_fetch_assoc($query)) {
    if ($chat['userid'] == $fetchid) {
        $isfriend = 1;
        break;
    }
}
$response = array('friend' => $isfriend);
header('Content-type: application/json; charset=utf-8');
if (!empty($_GET['callback'])) {
Example #26
0
function invite()
{
    global $userid;
    global $broadcast_language;
    global $language;
    global $embed;
    global $embedcss;
    global $lightboxWindows;
    if ($lightboxWindows == '1') {
        $embed = 'web';
        $embedcss = 'embed';
    }
    $status['available'] = $language[30];
    $status['busy'] = $language[31];
    $status['offline'] = $language[32];
    $status['invisible'] = $language[33];
    $status['away'] = $language[34];
    $id = $_GET['roomid'];
    if (empty($id)) {
        exit;
    }
    $time = getTimeStamp();
    $buddyList = array();
    $sql = getFriendsList($userid, $time);
    $query = mysqli_query($GLOBALS['dbh'], $sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysqli_error($GLOBALS['dbh']);
    }
    while ($chat = mysqli_fetch_assoc($query)) {
        if ($time - processTime($chat['lastactivity']) < ONLINE_TIMEOUT && $chat['status'] != 'invisible' && $chat['status'] != 'offline') {
            if ($chat['status'] != 'busy' && $chat['status'] != 'away') {
                $chat['status'] = 'available';
            }
        } else {
            $chat['status'] = 'offline';
        }
        $avatar = getAvatar($chat['avatar']);
        if (!empty($chat['username'])) {
            if (function_exists('processName')) {
                $chat['username'] = processName($chat['username']);
            }
            if ($chat['userid'] != $userid) {
                $buddyList[] = array('id' => $chat['userid'], 'n' => $chat['username'], 's' => $chat['status'], 'a' => $avatar);
            }
        }
    }
    if (function_exists('hooks_forcefriends') && is_array(hooks_forcefriends())) {
        $buddyList = array_merge(hooks_forcefriends(), $buddyList);
    }
    $s['available'] = '';
    $s['away'] = '';
    $s['busy'] = '';
    $s['offline'] = '';
    foreach ($buddyList as $buddy) {
        $s[$buddy['s']] .= '<div class="invite_1"><div class="invite_2" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;"><img height=30 width=30 src="' . $buddy['a'] . '"></div><div class="invite_3" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;">' . $buddy['n'] . '<br/><span class="invite_5">' . $status[$buddy['s']] . '</span></div><input type="checkbox" name="invite[]" value="' . $buddy['id'] . '" id="check_' . $buddy['id'] . '" class="invite_4"></div>';
    }
    $inviteContent = '';
    $invitehide = '';
    $inviteContent = $s['available'] . "" . $s['away'] . "" . $s['offline'];
    if (empty($inviteContent)) {
        $inviteContent = $broadcast_language[18];
        $invitehide = 'style="display:none;"';
    }
    echo <<<EOD
<!DOCTYPE html>
<html>
<head>
<title>{$broadcast_language[13]}</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
<link type="text/css" rel="stylesheet" media="all" href="../../css.php?type=plugin&name=broadcast" /> 
</head>
<body>
<form method="post" action="invite.php?action=inviteusers&embed={$embed}">
<div class="container">
\t<div class="container_title {$embedcss}">{$broadcast_language[11]}</div>
\t<div class="container_body {$embedcss}">
\t\t{$inviteContent}
\t\t<div style="clear:both"></div>
\t</div>
\t<div class="container_sub" {$invitehide}>
\t\t<input type=submit value="{$broadcast_language[12]}" class="invitebutton">
\t</div>
</div>\t
<input type="hidden" name="roomid" value="{$id}">
</form>
</body>
</html>
EOD;
}
Example #27
0
} else {
    $joinroom = '';
    $dynamicChatroom = 0;
    $leaveroom = "";
    if (!empty($_REQUEST['action']) && ($_REQUEST['action'] = 'dynamicChatroom') && !empty($_REQUEST['name'])) {
        global $userid;
        global $cookiePrefix;
        $name = $_REQUEST['name'];
        $type = '3';
        $sql = "select id,name,type from cometchat_chatrooms where name = '" . mysqli_real_escape_string($GLOBALS['dbh'], sanitize_core($name)) . "'";
        $query = mysqli_query($GLOBALS['dbh'], $sql);
        $result = mysqli_fetch_assoc($query);
        if (empty($result['id'])) {
            if ($userid > 0) {
                $password = '';
                $sql = "insert into cometchat_chatrooms (name,createdby,lastactivity,password,type) values ('" . mysqli_real_escape_string($GLOBALS['dbh'], sanitize_core($name)) . "','" . mysqli_real_escape_string($GLOBALS['dbh'], $userid) . "','" . getTimeStamp() . "','" . mysqli_real_escape_string($GLOBALS['dbh'], sanitize_core($password)) . "','3')";
                $query = mysqli_query($GLOBALS['dbh'], $sql);
                $currentroom = mysqli_insert_id($GLOBALS['dbh']);
                $_GET['id'] = $currentroom;
            }
        } elseif ($result['type'] == 3) {
            $_GET['id'] = $result['id'];
        }
        $leaveroom = "setTimeout(function(){\$('.welcomemessage a:first, span:first').remove();},500);";
        $dynamicChatroom = 1;
    }
    if (!empty($_COOKIE[$cookiePrefix . 'chatroom']) && empty($_GET['roomid']) && empty($_GET['id'])) {
        $info = explode(':', base64_decode($_COOKIE[$cookiePrefix . 'chatroom']));
        $_GET['roomid'] = intval($info[0]);
        $_GET['inviteid'] = $info[1];
        $_GET['roomname'] = $info[2];
Example #28
0
function invite()
{
    global $userid;
    global $avchat_language;
    global $language;
    global $embed;
    global $embedcss;
    global $lightboxWindows;
    global $guestsMode;
    global $cookiePrefix;
    global $chromeReorderFix;
    if ($lightboxWindows == '1') {
        $embed = 'web';
        $embedcss = 'embed';
    }
    $status['available'] = $language[30];
    $status['busy'] = $language[31];
    $status['offline'] = $language[32];
    $status['invisible'] = $language[33];
    $status['away'] = $language[34];
    $id = $_GET['roomid'];
    if (empty($id)) {
        exit;
    }
    $time = getTimeStamp();
    $buddyList = array();
    $onlineCacheKey = 'all_online';
    if ($userid > 10000000) {
        $onlineCacheKey .= 'guest';
    }
    if ($onlineUsers = getCache($cookiePrefix . $onlineCacheKey, 30)) {
        $buddyList = unserialize($onlineUsers);
    } else {
        $sql = getFriendsList($userid, $time);
        if ($guestsMode) {
            $sql = getGuestsList($userid, $time, $sql);
        }
        $query = mysqli_query($GLOBALS['dbh'], $sql);
        if (defined('DEV_MODE') && DEV_MODE == '1') {
            echo mysqli_error($GLOBALS['dbh']);
        }
        while ($chat = mysqli_fetch_assoc($query)) {
            if ($time - processTime($chat['lastactivity']) < ONLINE_TIMEOUT && $chat['status'] != 'invisible' && $chat['status'] != 'offline' || $chat['isdevice'] == 1) {
                if ($chat['status'] != 'busy' && $chat['status'] != 'away') {
                    $chat['status'] = 'available';
                }
            } else {
                $chat['status'] = 'offline';
            }
            $avatar = getAvatar($chat['avatar']);
            if (!empty($chat['username'])) {
                if (function_exists('processName')) {
                    $chat['username'] = processName($chat['username']);
                }
                if ($chat['userid'] != $userid) {
                    $buddyList[$chromeReorderFix . $chat['userid']] = array('id' => $chat['userid'], 'n' => $chat['username'], 'a' => $avatar, 's' => $chat['status']);
                }
            }
        }
    }
    if (DISPLAY_ALL_USERS == 0 && MEMCACHE != 0) {
        $tempBuddyList = array();
        if ($onlineFrnds = getCache($cookiePrefix . 'friend_ids_of_' . $userid, 30)) {
            $friendIds = unserialize($onlineFrnds);
        } else {
            $sql = getFriendsIds($userid);
            $res = mysqli_query($GLOBALS['dbh'], $sql);
            $result = mysqli_fetch_assoc($res);
            if (!empty($result['friends'])) {
                $friendIds = explode(',', $result['friends']);
            }
            setCache($cookiePrefix . 'friend_ids_of_' . $userid, serialize($friendIds), 30);
        }
        foreach ($friendIds as $friendId) {
            $friendId = $chromeReorderFix . $friendId;
            if (isset($buddyList[$friendId])) {
                $tempBuddyList[$friendId] = $buddyList[$friendId];
            }
        }
        $buddyList = $tempBuddyList;
    }
    if (function_exists('hooks_forcefriends') && is_array(hooks_forcefriends())) {
        $buddyList = array_merge(hooks_forcefriends(), $buddyList);
    }
    $s['available'] = '';
    $s['away'] = '';
    $s['busy'] = '';
    $s['offline'] = '';
    foreach ($buddyList as $buddy) {
        $s[$buddy['s']] .= '<div class="invite_1"><div class="invite_2" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;"><img height=30 width=30 src="' . $buddy['a'] . '"></div><div class="invite_3" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;"><span class="invite_name">' . $buddy['n'] . '</span><br/><span class="invite_5">' . $status[$buddy['s']] . '</span></div><input type="checkbox" name="invite[]" value="' . $buddy['id'] . '" id="check_' . $buddy['id'] . '" class="invite_4"></div>';
    }
    $inviteContent = '';
    $invitehide = '';
    $inviteContent = $s['available'] . "" . $s['away'] . "" . $s['offline'];
    if (empty($inviteContent)) {
        $inviteContent = $avchat_language[25];
        $invitehide = 'style="display:none;"';
    }
    echo <<<EOD
<!DOCTYPE html>
<html>
<head>
<title>{$avchat_language[18]}</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
<link type="text/css" rel="stylesheet" media="all" href="../../css.php?type=plugin&name=avchat" /> 
</head>
<body>
<form method="post" action="invite.php?action=inviteusers&embed={$embed}">
<div class="container">
\t<div class="container_title {$embedcss}">{$avchat_language[16]}</div>
\t<div class="container_body {$embedcss}">
\t\t{$inviteContent}
\t\t<div style="clear:both"></div>
\t</div>
\t<div class="container_sub" {$invitehide}>
\t\t<input type=submit value="{$avchat_language[17]}" class="invitebutton">
\t</div>
</div>\t
<input type="hidden" name="roomid" value="{$id}">
</form>
</body>
</html>
EOD;
}
Example #29
0
function invite()
{
    global $userid;
    global $chatrooms_language;
    global $language;
    global $embed;
    global $embedcss;
    $status['available'] = $language[30];
    $status['busy'] = $language[31];
    $status['offline'] = $language[32];
    $status['invisible'] = $language[33];
    $status['away'] = $language[34];
    $id = $_GET['roomid'];
    $inviteid = $_GET['inviteid'];
    $roomname = $_GET['roomname'];
    $time = getTimeStamp();
    $buddyList = array();
    $sql = getFriendsList($userid, $time);
    $query = mysql_query($sql);
    if (defined('DEV_MODE') && DEV_MODE == '1') {
        echo mysql_error();
    }
    while ($chat = mysql_fetch_array($query)) {
        if ($time - processTime($chat['lastactivity']) < ONLINE_TIMEOUT && $chat['status'] != 'invisible' && $chat['status'] != 'offline') {
            if ($chat['status'] != 'busy' && $chat['status'] != 'away') {
                $chat['status'] = 'available';
            }
        } else {
            $chat['status'] = 'offline';
        }
        $avatar = getAvatar($chat['avatar']);
        if (!empty($chat['username'])) {
            if (function_exists('processName')) {
                $chat['username'] = processName($chat['username']);
            }
            $buddyList[] = array('id' => $chat['userid'], 'n' => $chat['username'], 's' => $chat['status'], 'a' => $avatar);
        }
    }
    if (function_exists('hooks_forcefriends') && is_array(hooks_forcefriends())) {
        $buddyList = array_merge(hooks_forcefriends(), $buddyList);
    }
    $number = 0;
    $s['available'] = '';
    $s['away'] = '';
    $s['busy'] = '';
    $s['offline'] = '';
    foreach ($buddyList as $buddy) {
        ++$number;
        if (strlen($buddy['n']) > 14) {
            $buddy['n'] = substr($buddy['n'], 0, 12) . '...';
        }
        $s[$buddy['s']] .= '<div class="invite_1"><div class="invite_2" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;"><img height=30 width=30 src="' . $buddy['a'] . '"></div><div class="invite_3" onclick="javascript:document.getElementById(\'check_' . $buddy['id'] . '\').checked = document.getElementById(\'check_' . $buddy['id'] . '\').checked?false:true;">' . $buddy['n'] . '<br/><span class="invite_5">' . $status[$buddy['s']] . '</span></div><input type="checkbox" name="invite[]" value="' . $buddy['id'] . '" id="check_' . $buddy['id'] . '" class="invite_4"></div>';
        if ($number % 2 == 0) {
            echo '<div style="clear:both"></div>';
            $number = 0;
        }
    }
    echo <<<EOD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>{$chatrooms_language[22]}</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
<link type="text/css" rel="stylesheet" media="all" href="../../css.php?type=module&name=chatrooms" /> 
</head>
<body>
<form method="post" action="chatrooms.php?action=inviteusers&embed={$embed}">
<div class="container">
\t<div class="container_title {$embedcss}">{$chatrooms_language[21]}</div>
\t<div class="container_body {$embedcss}">
\t\t{$s['available']}{$s['away']}{$s['offline']}
\t\t<div style="clear:both"></div>
\t</div>
\t<div class="container_sub {$embedcss}">
\t\t<input type=submit value="{$chatrooms_language[20]}" class="invitebutton">
\t</div>
</div>\t
<input type="hidden" name="roomid" value="{$id}">
<input type="hidden" name="inviteid" value="{$inviteid}">
<input type="hidden" name="roomname" value="{$roomname}"></form>
</body>
</html>
EOD;
}
Example #30
0
function newchatroomprocess()
{
    checktoken();
    $chatroom = $_POST['chatroom'];
    $type = $_POST['type'];
    $password = $_POST['ppassword'];
    if (!empty($password) && ($type == 1 || $type == 2)) {
        $password = sha1($password);
    } else {
        $password = '';
    }
    $sql = "insert into cometchat_chatrooms (name,createdby,lastactivity,password,type) values ('" . mysql_real_escape_string(sanitize_core($chatroom)) . "', '0','" . getTimeStamp() . "','" . mysql_real_escape_string($password) . "','" . mysql_real_escape_string($type) . "')";
    $query = mysql_query($sql);
    header("Location: ?module=chatrooms");
}