Example #1
0
function public_qrcode($vars = null)
{
    $data = $vars['data'];
    $query = array('app' => 'public', 'do' => 'qrcode', 'url' => $data);
    isset($vars['cache']) && ($query['cache'] = true);
    $url = iPHP::router('/api', iCMS_REWRITE);
    echo buildurl($url, $query);
}
Example #2
0
 function do_login()
 {
     if ($this->uid) {
         $user = iDB::row("SELECT * FROM `#iCMS@__user` WHERE `uid`='{$this->uid}' LIMIT 1;", ARRAY_A);
         iPHP::app('user.class', 'static');
         user::set_cookie($user['username'], $user['password'], $user);
         $url = iPHP::router(array('/{uid}/', $this->uid), iPHP_ROUTER_REWRITE);
         iPHP::gotourl($url);
     }
 }
Example #3
0
function favorite_list($vars = null)
{
    $maxperpage = isset($vars['row']) ? (int) $vars['row'] : "10";
    $where_sql = "WHERE 1=1 ";
    isset($vars['userid']) && ($where_sql .= " AND `uid`='" . (int) $vars['userid'] . "' ");
    isset($vars['fid']) && ($where_sql .= " AND `fid`='" . (int) $vars['fid'] . "' ");
    isset($vars['mode']) && ($where_sql .= " AND `mode`='" . (int) $vars['mode'] . "'");
    isset($vars['appid']) && ($where_sql .= " AND `appid`='" . (int) $vars['appid'] . "' ");
    $cache_time = isset($vars['time']) ? (int) $vars['time'] : -1;
    $by = $vars['by'] == "ASC" ? "ASC" : "DESC";
    switch ($vars['orderby']) {
        case 'hot':
            $order_sql = " ORDER BY `count` {$by}";
            break;
        default:
            $order_sql = " ORDER BY `id` {$by}";
    }
    $md5 = md5($where_sql . $order_sql);
    $offset = 0;
    if ($vars['page']) {
        $total = iPHP::total($md5, "SELECT count(*) FROM `#iCMS@__favorite` {$where_sql} ");
        iPHP::assign("fav_total", $total);
        $multi = iCMS::page(array('total' => $total, 'perpage' => $maxperpage, 'unit' => iPHP::lang('iCMS:page:list'), 'nowindex' => $GLOBALS['page']));
        $offset = $multi->offset;
    }
    if ($vars['cache']) {
        $cache_name = iPHP_DEVICE . '/favorite/' . $md5 . "/" . (int) $GLOBALS['page'];
        $resource = iCache::get($cache_name);
    }
    if (empty($resource)) {
        $rs = iDB::all("SELECT * FROM `#iCMS@__favorite` {$where_sql} {$order_sql} LIMIT {$offset},{$maxperpage}");
        iPHP_SQL_DEBUG && iDB::debug(1);
        $resource = array();
        $vars['user'] && iPHP::app('user.class', 'static');
        if ($rs) {
            foreach ($rs as $key => $value) {
                $value['url'] = iPHP::router(array('/favorite/{id}/', $value['id']), iPHP_ROUTER_REWRITE);
                $vars['user'] && ($value['user'] = user::info($value['uid'], $value['nickname']));
                if (isset($vars['loop'])) {
                    $resource[$key] = $value;
                } else {
                    $resource[$value['id']] = $value;
                }
            }
        }
        $vars['cache'] && iCache::set($cache_name, $resource, $cache_time);
    }
    return $resource;
}
Example #4
0
/**
 * @package iCMS
 * @copyright 2007-2010, iDreamSoft
 * @license http://www.idreamsoft.com iDreamSoft
 * @author coolmoo <*****@*****.**>
 * @$Id: iCMS.push.php 148 2013-03-14 16:15:12Z coolmoo $
 */
function iCMS_router($vars)
{
    if (empty($vars['url'])) {
        echo 'javascript:;';
        return;
    }
    $router = $vars['url'];
    unset($vars['url'], $vars['app']);
    $url = iPHP::router($router, iCMS_REWRITE);
    $vars['query'] && ($url = buildurl($url, $vars['query']));
    if ($url && stripos($url, 'http://') === false && $vars['host']) {
        $url = rtrim(iCMS_URL, '/') . '/' . ltrim($url, '/');
    }
    echo $url ? $url : 'javascript:;';
}
Example #5
0
 public static function router($uid, $type, $size = 0)
 {
     switch ($type) {
         case 'avatar':
             return iCMS_FS_URL . get_user_pic($uid, $size);
             break;
         case 'url':
             return iPHP::router(array('/{uid}/', $uid), iPHP_ROUTER_REWRITE);
             break;
         case 'coverpic':
             $dir = get_user_dir($uid, 'coverpic');
             return array('pc' => iFS::fp($dir . '/' . $uid . ".jpg", '+http'), 'mo' => iFS::fp($dir . '/m_' . $uid . ".jpg", '+http'));
             break;
         case 'urls':
             return array('inbox' => iPHP::router(array('/user/inbox/{uid}', $uid), iPHP_ROUTER_REWRITE), 'home' => iPHP::router(array('/{uid}/', $uid), iPHP_ROUTER_REWRITE), 'comment' => iPHP::router(array('/{uid}/comment/', $uid), iPHP_ROUTER_REWRITE), 'favorite' => iPHP::router(array('/{uid}/favorite/', $uid), iPHP_ROUTER_REWRITE), 'fans' => iPHP::router(array('/{uid}/fans/', $uid), iPHP_ROUTER_REWRITE), 'follower' => iPHP::router(array('/{uid}/follower/', $uid), iPHP_ROUTER_REWRITE));
             break;
     }
 }
Example #6
0
function search_url($vars)
{
    $q = rawurlencode($vars['query']);
    if (empty($q)) {
        return;
    }
    $query['app'] = 'search';
    if (isset($vars['_app'])) {
        $query['app'] = $vars['_app'];
        $query['do'] = 'search';
    }
    $query['q'] = $q;
    $url = iPHP::router('/api', iPHP_ROUTER_REWRITE);
    $url = buildurl($url, $query);
    if ($vars['ret']) {
        return $url;
    }
    echo $url;
}
Example #7
0
function user_inbox($vars = null)
{
    $maxperpage = 30;
    $where_sql = "WHERE `status` ='1'";
    if ($_GET['user']) {
        if ($_GET['user'] == "10000") {
            $where_sql .= " AND `userid`='10000' AND `friend` IN ('" . user::$userid . "','0')";
        } else {
            $friend = (int) $_GET['user'];
            $where_sql .= " AND `userid`='" . user::$userid . "' AND `friend`='" . $friend . "'";
        }
        $group_sql = '';
        $p_fields = 'COUNT(*)';
        $s_fields = '*';
        iPHP::assign("msg_count", false);
    } else {
        //	 	$where_sql.= " AND (`userid`='".user::$userid."' OR (`userid`='10000' AND `friend`='0'))";
        $where_sql .= " AND `userid`='" . user::$userid . "'";
        $group_sql = ' GROUP BY `friend` DESC';
        $p_fields = 'COUNT(DISTINCT id)';
        $s_fields = 'max(id) AS id ,COUNT(id) AS msg_count,`userid`, `friend`, `send_uid`, `send_name`, `receiv_uid`, `receiv_name`, `content`, `type`, `sendtime`, `readtime`';
        iPHP::assign("msg_count", true);
    }
    $offset = 0;
    $total = iPHP::total($md5, "SELECT {$p_fields} FROM `#iCMS@__message` {$where_sql} {$group_sql}", 'nocache');
    iPHP::assign("msgs_total", $total);
    $multi = iCMS::page(array('total' => $total, 'perpage' => $maxperpage, 'unit' => iPHP::lang('iCMS:page:list'), 'nowindex' => $GLOBALS['page']));
    $offset = $multi->offset;
    $resource = iDB::all("SELECT {$s_fields} FROM `#iCMS@__message` {$where_sql} {$group_sql} ORDER BY `id` DESC LIMIT {$offset},{$maxperpage}");
    iPHP_SQL_DEBUG && iDB::debug(1);
    $msg_type_map = array('0' => '系统信息', '1' => '私信', '2' => '提醒', '3' => '留言');
    if ($resource) {
        foreach ($resource as $key => $value) {
            $value['sender'] = user::info($value['send_uid'], $value['send_name']);
            $value['receiver'] = user::info($value['receiv_uid'], $value['receiv_name']);
            $value['label'] = $msg_type_map[$value['type']];
            if ($value['userid'] == $value['send_uid']) {
                $value['is_sender'] = true;
                $value['user'] = $value['receiver'];
            }
            if ($value['userid'] == $value['receiv_uid']) {
                $value['is_sender'] = false;
                $value['user'] = $value['sender'];
            }
            $value['url'] = iPHP::router(array('/user/inbox/{uid}', $value['user']['uid']), iPHP_ROUTER_REWRITE);
            $resource[$key] = $value;
        }
    }
    return $resource;
}
Example #8
0
 public function ACTION_findpwd()
 {
     $seccode = iS::escapeStr($_POST['seccode']);
     iPHP::seccode($seccode, true) or iPHP::code(0, 'iCMS:seccode:error', 'seccode', 'json');
     $uid = (int) $_POST['uid'];
     $auth = iS::escapeStr($_POST['auth']);
     if ($auth && $uid) {
         //print_r($_POST);
         $authcode = rawurldecode($auth);
         $authcode = base64_decode($authcode);
         $authcode = authcode($authcode);
         if (empty($authcode)) {
             iPHP::code(0, 'user:findpwd:error', 'uname', 'json');
         }
         list($uid, $username, $password, $timeline) = explode(USER_AUTHASH, $authcode);
         $now = time();
         if ($now - $timeline > 86400) {
             iPHP::code(0, 'user:findpwd:error', 'time', 'json');
         }
         $user = user::get($uid, false);
         if ($username != $user->username || $password != $user->password) {
             iPHP::code(0, 'user:findpwd:error', 'user', 'json');
         }
         $rstpassword = md5(trim($_POST['rstpassword']));
         if ($rstpassword == $user->password) {
             iPHP::code(0, 'user:findpwd:same', 'password', 'json');
         }
         iDB::update("user", array('password' => $rstpassword), array('uid' => $uid));
         iPHP::code(1, 'user:findpwd:success', 0, 'json');
     } else {
         $uname = iS::escapeStr($_POST['uname']);
         $uname or iPHP::code(0, 'user:findpwd:username:empty', 'uname', 'json');
         $uid = user::check($uname, 'username');
         $uid or iPHP::code(0, 'user:findpwd:username:noexist', 'uname', 'json');
         $user = user::get($uid, false);
         $user or iPHP::code(0, 'user:findpwd:username:noexist', 'uname', 'json');
         $authcode = authcode($uid . USER_AUTHASH . $user->username . USER_AUTHASH . $user->password . USER_AUTHASH . time(), 'ENCODE');
         $authcode = base64_encode($authcode);
         $authcode = rawurlencode($authcode);
         $find_url = iPHP::router('/api/user/findpwd', iPHP_ROUTER_REWRITE, '?&');
         if (iPHP_ROUTER_REWRITE) {
             $find_url = iFS::fp($find_url, '+http');
         }
         $find_url .= 'auth=' . $authcode;
         $config = iCMS::$config['mail'];
         $config['title'] = iCMS::$config['site']['name'];
         $config['subject'] = '[' . $config['title'] . '] 找回密码(重要)!';
         $config['body'] = '
         <p>尊敬的' . $user->nickname . ',您好:</p>
         <br />
         <p>您在' . $config['title'] . '申请找回密码,重设密码地址:</p>
         <a href="' . $find_url . '" target="_blank">' . $find_url . '</a>
         <p>本链接将在24小时后失效!</p>
         <p>如果上面的链接无法点击,您也可以复制链接,粘贴到您浏览器的地址栏内,然后按“回车”打开重置密码页面。</p>
         <p>如果您有其他问题,请联系我们:' . $config['replyto'] . '。</p>
         <p>如果您没有进行过找回密码的操作,请不要点击上述链接,并删除此邮件。</p>
         <p>谢谢!</p>
         ';
         $config['address'] = array(array($user->username, $user->nickname));
         //var_dump(iCMS::$config);
         $result = iPHP::sendmail($config);
         if ($result === true) {
             iPHP::code(1, 'user:findpwd:send:success', 'mail', 'json');
         } else {
             iPHP::code(0, 'user:findpwd:send:failure', 'mail', 'json');
         }
     }
 }
Example #9
0
          <thead>
            <tr>
              <th><i class="fa fa-arrows-v"></i></th>
              <th>ID</th>
              <th>账号</th>
              <th>昵称</th>
              <th>用户组</th>
              <th>最后登陆IP</th>
              <th style="width:130px;"><a class="fa fa-clock-o tip-top" title="注册时间/最后登陆时间"></a></th>
              <th>操作</th>
            </tr>
          </thead>
          <tbody>
            <?php 
for ($i = 0; $i < $_count; $i++) {
    $url = iPHP::router(array('/{uid}/', $rs[$i]['uid']), iPHP_ROUTER_REWRITE);
    ?>
            <tr id="tr<?php 
    echo $rs[$i]['uid'];
    ?>
">
              <td><?php 
    if ($rs[$i]['uid'] != "1") {
        ?>
<input type="checkbox" name="id[]" value="<?php 
        echo $rs[$i]['uid'];
        ?>
" /><?php 
    }
    ?>
</td>
Example #10
0
          <thead>
            <tr>
              <th><i class="fa fa-arrows-v"></i></th>
              <th>ID</th>
              <th>账号</th>
              <th>昵称</th>
              <th>用户组</th>
              <th>最后登陆IP</th>
              <th style="width:130px;"><a class="fa fa-clock-o tip-top" title="注册时间/最后登陆时间"></a></th>
              <th>操作</th>
            </tr>
          </thead>
          <tbody>
            <?php 
for ($i = 0; $i < $_count; $i++) {
    $url = iPHP::router(array('/{uid}/', $rs[$i]['uid']), iCMS_REWRITE);
    ?>
            <tr id="tr<?php 
    echo $rs[$i]['uid'];
    ?>
">
              <td><?php 
    if ($rs[$i]['uid'] != "1") {
        ?>
<input type="checkbox" name="id[]" value="<?php 
        echo $rs[$i]['uid'];
        ?>
" /><?php 
    }
    ?>
</td>