Example #1
0
<?php

/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/11/17
 * Time: 18:28
 */
$str = 'http://test.com/testdir/index.php?param1=10&param2=20&param3=30&param4=40&param5=50&param6=60';
$arr = parse_url($str);
var_dump($arr);
$arr_query = convertUrlQuery($arr['query']);
var_dump($arr_query);
var_dump(getUrlQuery($arr_query));
function convertUrlQuery($query)
{
    $queryParts = explode('&', $query);
    $params = array();
    foreach ($queryParts as $param) {
        $item = explode('=', $param);
        $params[$item[0]] = $item[1];
    }
    return $params;
}
function getUrlQuery($array_query)
{
    $tmp = array();
    foreach ($array_query as $k => $param) {
        $tmp[] = $k . '=' . $param;
    }
    $params = implode('&', $tmp);
 public function view_getAmazonMessageListByConditions()
 {
     $sender = isset($_GET['sender']) ? trim($_GET['sender']) : '';
     //关键字
     $sender = mysql_real_escape_string($sender);
     $status = isset($_GET['status']) ? $_GET['status'] : FALSE;
     //回复状态
     $category = isset($_GET['catid']) ? intval($_GET['catid']) : FALSE;
     //分类
     $from = isset($_GET['from']) ? $_GET['from'] : FALSE;
     $overtime = isset($_GET['overtime']) ? intval($_GET['overtime']) : FALSE;
     //发送者
     $name = isset($_GET['name']) ? trim($_GET['name']) : FALSE;
     $pagesize = isset($_SESSION['pagesize']) ? intval($_SESSION['pagesize']) : 200;
     $pagesize = isset($_GET['pagesize']) ? intval($_GET['pagesize']) : $pagesize;
     //每页数量
     $cat_obj = new amazonmessagecategoryModel();
     /*----- 获得用户能够浏览的邮件目录 -----*/
     $Lp_obj = new LocalPowerAmazonModel();
     $fieldid = $Lp_obj->getAmazonPowerlist($_SESSION['userId']);
     //获得当前用户所属的邮件目录id
     $fieldid = empty($fieldid) ? array(-10) : explode(',', $fieldid);
     $category = in_array($category, $fieldid) ? $category : FALSE;
     if (empty($category)) {
         $catList = $fieldid;
         //在未输入搜索条件时列出该用户所有有权限的浏览的邮件目录id(数组形式)
     } else {
         $catList = array($category);
     }
     /*----- 获得用户所属文件夹 -----*/
     if (!empty($fieldid)) {
         $powerlist = $cat_obj->getFieldInfoByIds($fieldid, ' order by category_name');
         //通过目录id获得相关目录信息
     } else {
         $powerlist = array();
     }
     $wheresql = '';
     if (!empty($sender)) {
         //是否指定sender
         $wheresql .= " and sendid like '%{$sender}%' ";
     }
     if ($overtime == 24) {
         $status = FALSE;
     }
     if ($status !== FALSE) {
         //指定状态
         switch ($status) {
             case 1:
                 //回复完成
                 $wheresql .= " and status in (2,3)";
                 break;
             case 2:
                 //未回复
                 $wheresql .= " and status=0 ";
                 break;
             case 3:
                 //回复中
                 $wheresql .= " and status=1 ";
                 break;
             case 4:
                 //回复失败
                 $wheresql .= " and status=4 ";
                 break;
             default:
                 $wheresql .= "";
                 break;
         }
     }
     if ($from !== FALSE) {
         //url中包含from参数
         if ($from !== '') {
             //from参数不为空值
             $wheresql .= " and from_platform={$from} ";
         } else {
             $from = FALSE;
         }
     }
     //查询超过24小时还未回复的邮件
     if ($overtime == 24) {
         $time = time() - 86400;
         $wheresql .= " and recievetimestamp < {$time} and status =0 ";
     }
     //如果是选择From Member
     if ($from === FALSE && $overtime === FALSE) {
         $time = time() - 86400;
         $wheresql .= " and from_platform = '-1' and recievetimestamp > {$time}  ";
     }
     $class_sql = implode(', ', $catList);
     $wheresql .= " and classid in ({$class_sql}) and is_delete=0";
     //最终展示的是:登录的用户能够看到目录中的邮件
     $msg_obj = new amazonmessageModel();
     $mount = $msg_obj->getAmazonCountNumberByConditions($wheresql);
     //获得能够浏览的邮件数
     $page_obj = new Page($mount, $pagesize);
     $usercache = new UserCacheModel();
     if ($name !== FALSE) {
         if ($name == 'asc') {
             $orderby = ' order by sendid asc ';
         } else {
             $orderby = ' order by sendid desc ';
         }
     } else {
         $orderby = ' order by sendtime ';
     }
     $msglist = $msg_obj->getAmazonMessageListByConditions($wheresql . $orderby . $page_obj->limit);
     /* --- 格式化数据 ---*/
     foreach ($msglist as &$msgitem) {
         $msgitem['subject'] = urldecode($msgitem['subject']);
         if (strlen($msgitem['subject']) > 100) {
             $msgitem['subjectfm'] = mb_substr($msgitem['subject'], 0, 100) . '...';
         } else {
             $msgitem['subjectfm'] = $msgitem['subject'];
         }
         $msgitem['revtime'] = empty($msgitem['sendtime']) ? '' : date("Y 年 m 月 d 日 ", $msgitem['sendtime']) . '  ' . date("H时:i分:s秒", $msgitem['sendtime']);
         $catinfo = $cat_obj->getCategoryInfoById($msgitem['classid']);
         $msgitem['classname'] = $catinfo['category_name'];
         $userinfo = empty($msgitem['replyuser_id']) ? array('userName' => '') : $usercache->getUserInfoBySysId($msgitem['replyuser_id'], 0);
         $msgitem['username'] = $userinfo['userName'];
         $msgitem['retime'] = $msgitem['replytime'] ? date("Y-m-d \n H:i:s", $msgitem['replytime']) : '';
     }
     if ($mount > $pagesize) {
         //分页
         $pagestr = $page_obj->fpage(array(0, 2, 3, 4, 5, 6, 7, 8, 9));
     } else {
         $pagestr = $page_obj->fpage(array(0, 2, 3));
     }
     /*----- 获得分类文件夹列表 -----*/
     $categorylist = $cat_obj->getAllCategoryInfoList();
     //         print_r($categorylist);
     $this->smarty->assign('catlist', $categorylist);
     /*----- 获得分类列表 -----*/
     if ($from === FALSE) {
         $this->smarty->assign('third_menue', 1);
     } elseif ($from === '0') {
         $this->smarty->assign('third_menue', 2);
     } elseif ($from == 1) {
         $this->smarty->assign('third_menue', 3);
     } elseif ($from == 2) {
         $this->smarty->assign('third_menue', 4);
     }
     if ($overtime == 24) {
         $this->smarty->assign('third_menue', 5);
     }
     $urlquery = convertUrlQuery($_SERVER['QUERY_STRING']);
     unset($urlquery['name']);
     if ($name == 'asc') {
         $urlquery['name'] = 'desc';
     } else {
         $urlquery['name'] = 'asc';
     }
     $url = getUrlQuery($urlquery);
     //         echo $url, "\n";
     //         var_dump($urlquery);
     //print_r($msglist);
     $this->smarty->assign('url', $url);
     $this->smarty->assign('powerlist', $powerlist);
     $this->smarty->assign('from', $from);
     $this->smarty->assign('overtime', $overtime);
     $this->smarty->assign('sec_menue', 5);
     $this->smarty->assign('toplevel', 0);
     $this->smarty->assign('sender', $sender);
     $this->smarty->assign('category', $category);
     $this->smarty->assign('status', $status);
     $this->smarty->assign('pagestr', $pagestr);
     $this->smarty->assign('msglist', $msglist);
     $this->smarty->assign('categorylist', $arrlist);
     $this->smarty->assign('toptitle', 'message列表');
     $this->smarty->display('msglistAmazon.htm');
 }
Example #3
0
 public function view_getAliSiteList()
 {
     $keywords = isset($_GET['keywords']) ? trim($_GET['keywords']) : '';
     //关键字
     $keywords = mysql_real_escape_string($keywords);
     $status = isset($_GET['status']) ? $_GET['status'] : FALSE;
     //回复状态
     $category = isset($_GET['catid']) ? intval($_GET['catid']) : FALSE;
     //分类
     $orderstatus = isset($_GET['orderstatus']) ? trim($_GET['orderstatus']) : false;
     //订单状态
     $senderId = isset($_GET['senderid']) ? trim($_GET['senderid']) : FALSE;
     //发送人id
     $orderId = isset($_GET['orderid']) ? trim($_GET['orderid']) : FALSE;
     //订单号
     $prodname = isset($_GET['prodname']) ? trim($_GET['prodname']) : FALSE;
     //产品名称
     $sellerId = isset($_GET['sellerId']) ? trim($_GET['sellerId']) : FALSE;
     //卖家账号
     $sortName = isset($_GET['sortname']) ? trim($_GET['sortname']) : FALSE;
     $sort = isset($_GET['sort']) ? trim($_GET['sort']) : FALSE;
     $isscroll = isset($_GET['isscroll']) ? intval($_GET['isscroll']) : 1;
     //设置是否收缩 1表示收缩  2表示不收缩 默认收缩
     if ($status == 2 && ($isscroll = 1)) {
         //只有当查看未回复订单留言时才进行收缩
         $isscroll = 1;
     } else {
         $isscroll = 2;
     }
     $cat_obj = new messagecategoryModel();
     /*----- 获得用户所属文件夹 -----*/
     $Lp_obj = new LocalPowerModel();
     $fieldid = $Lp_obj->getAliPowerlist($_SESSION['userId']);
     //获得当前用户所属的id
     $fieldid = isset($fieldid['field']) ? $fieldid['field'] : array(-1);
     $category = in_array($category, $fieldid) ? $category : -1;
     /*----- 获得用户所属文件夹 -----*/
     if (!empty($fieldid)) {
         $powerlist = $cat_obj->getFieldInfoByIds($fieldid, ' order by category_name');
     } else {
         $powerlist = array();
     }
     $wheresql = '';
     if (!empty($keywords)) {
         //是否指定keywords
         $wheresql .= " and sendername='{$keywords}' ";
     }
     if ($status !== FALSE) {
         //指定状态
         switch ($status) {
             case 1:
                 //已读
                 $wheresql .= " and hasread=1";
                 break;
             case 2:
                 //未读
                 $wheresql .= " and hasread=0 ";
                 break;
             default:
                 $wheresql .= "";
                 break;
         }
     }
     if ($category !== false) {
         if ($category == -1) {
             $class_sql = implode(', ', $fieldid);
             if (!empty($class_sql)) {
                 $wheresql .= " and fieldId in ({$class_sql})";
             } else {
                 $wheresql .= 'and fieldId in (-1)';
             }
         } else {
             $wheresql .= " and  fieldId={$category}";
         }
     } else {
         $class_sql = implode(', ', $fieldid);
         $wheresql .= " and fieldId in ({$class_sql})";
     }
     if (FALSE !== $orderstatus && '0' != $orderstatus) {
         //设置的订单状态过滤条件
         $orderstatus = strtoupper($orderstatus);
         $orderstatus = mysql_real_escape_string($orderstatus);
         $wheresql .= " and orderstatus='{$orderstatus}'";
     }
     if (!empty($senderId)) {
         //搜索用户id
         $tempsender = mysql_real_escape_string($senderId);
         $wheresql .= " and senderid='{$tempsender}'";
     }
     if (!empty($orderId)) {
         //搜索订单号
         $temporderid = mysql_real_escape_string($orderId);
         $wheresql .= " and orderId='{$temporderid}' ";
     }
     if (!empty($prodname)) {
         $emppro = mysql_real_escape_string($prodname);
         $wheresql .= " and content like '%{$emppro}%'";
     }
     if (!empty($sellerId)) {
         $temAcc = mysql_real_escape_string($sellerId);
         $wheresql .= " and receiverid = '{$temAcc}' ";
     }
     $urlquery = convertUrlQuery($_SERVER['QUERY_STRING']);
     unset($urlquery['sortname']);
     unset($urlquery['sort']);
     $orderbysql = '';
     $sort = $sort == 'asc' ? 'asc' : 'desc';
     $resort = $sort == 'asc' ? 'desc' : 'asc';
     switch ($sortName) {
         case 'orderstatus':
             //按订单状态排序
             $orderbysql = ' order by orderstatus ' . $sort;
             break;
         default:
             $orderbysql = ' order by createtimestamp ' . $sort;
     }
     $url = getUrlQuery($urlquery);
     $this->smarty->assign('url', $url);
     $this->smarty->assign('resort', $resort);
     //         echo $wheresql;exit;
     $pagesize = 100;
     $msg_obj = new messageModel();
     $groupBySql = '';
     if (1 == $isscroll) {
         $groupBySql = ' group by relationId ';
         $mount = $msg_obj->getCountNumberByConditions_aliSite_groupby($wheresql . $groupBySql);
     } else {
         $mount = $msg_obj->getCountNumberByConditions_aliSite($wheresql);
     }
     $page_obj = new Page($mount, $pagesize);
     $usercache = new UserCacheModel();
     $aliAcc_ojb = new AliAccountModel();
     if (1 == $isscroll) {
         $msglist = $msg_obj->getMessageListByConditions_alisite_groupby($wheresql . $groupBySql . ' ' . $orderbysql . ' ' . $page_obj->limit);
     } else {
         $msglist = $msg_obj->getMessageListByConditions_alisite($wheresql . ' ' . $orderbysql . ' ' . $page_obj->limit);
     }
     /* --- 格式化数据 ---*/
     foreach ($msglist as &$msgitem) {
         $catinfo = $cat_obj->getCategoryInfoById($msgitem['fieldId']);
         $msgitem['classname'] = $catinfo['category_name'];
         $userinfo = empty($msgitem['replyUser']) ? array('userName' => '') : $usercache->getUserInfoBySysId($msgitem['replyUser'], 0);
         $msgitem['username'] = $userinfo['userName'];
         // $msgitem['retime']      = $msgitem['replytime'] ? date("Y-m-d \n H:i:s", $msgitem['replytime']) : '';
         $msgitem['content'] = mb_substr($msgitem['content'], 0, 80);
         $msgitem['content'] .= '...';
         $msgitem['replytime'] = empty($msgitem['replytime']) ? '' : date("Y-m-d \n H:i:s", $msgitem['replytime']);
         $msgitem['gmtCreate'] = formateAliTime($msgitem['gmtCreate']);
         $msgitem['accname'] = $aliAcc_ojb->accountId2Name($msgitem['receiverid']);
         $msgitem['statusname'] = AliMessageModel::orderStatusToStr($msgitem['orderstatus']);
     }
     if ($mount > $pagesize) {
         //分页
         $pagestr = $page_obj->fpage(array(0, 2, 3, 4, 5, 6, 7, 8, 9));
     } else {
         $pagestr = $page_obj->fpage(array(0, 2, 3));
     }
     //         print_r($msglist);exit;
     /*----- 获得分类文件夹列表 -----*/
     $categorylist = $cat_obj->getAllCategoryInfoList(' and is_delete=0', 2);
     //         print_r($categorylist);
     $this->smarty->assign('catlist', $categorylist);
     $this->smarty->assign('orderstatus', $orderstatus);
     /*----- 获得分类列表 -----*/
     $aliAccount_obj = new AliAccountModel();
     $accountlist = $aliAccount_obj->getAllAliAccountList('name', 'asc');
     $this->smarty->assign('accountlist', $accountlist);
     $this->smarty->assign('sellerId', $sellerId);
     $this->smarty->assign('senderId', $senderId);
     $this->smarty->assign('orderId', $orderId);
     $this->smarty->assign('prodname', $prodname);
     // print_r($msglist);exit;
     $this->smarty->assign('third_menue', 2);
     $this->smarty->assign('powerlist', $powerlist);
     $this->smarty->assign('from', $from);
     $this->smarty->assign('sec_menue', 4);
     $this->smarty->assign('toplevel', 0);
     $this->smarty->assign('keywords', $keywords);
     $this->smarty->assign('category', $category);
     $this->smarty->assign('status', $status);
     $this->smarty->assign('pagestr', $pagestr);
     $this->smarty->assign('msglist', $msglist);
     $this->smarty->assign('categorylist', $arrlist);
     $this->smarty->assign('toptitle', 'message列表');
     $this->smarty->display('msglistalisite.htm');
 }