diff --git a/framework/helper.class.php b/framework/helper.class.php index 53bc042d1c..1ef5f1ac61 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -96,7 +96,8 @@ class helper extends baseHelper if($position !== false) $toEncoding = substr($toEncoding, 0, $position); /* Check string encoding. */ - $encoding = strtolower(mb_detect_encoding($string, mb_list_encodings())); + $encodings = array_merge(array('GB2312','GBK','BIG5'), mb_list_encodings()); + $encoding = strtolower(mb_detect_encoding($string, $encodings)); if($encoding == $toEncoding) return $string; return mb_convert_encoding($string, $toEncoding, $encoding); } diff --git a/module/block/control.php b/module/block/control.php index ffb3c3522d..a16ca26ac6 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -713,8 +713,20 @@ class block extends control $pager = pager::init(0, $num , 1); $productStats = $this->loadModel('product')->getStats('order_desc', $this->viewType != 'json' ? $pager : '', $type); + $projects = $this->loadModel('project')->getPairs(); $productIdList = array(); - foreach($productStats as $product) $productIdList[] = $product->id; + $this->loadModel('action'); + foreach($productStats as $product) + { + $currentProjectID = $this->dao->select('objectID')->from(TABLE_ACTION) + ->where('objectType')->eq('project') + ->andWhere('action')->eq('managed') + ->andWhere("CONCAT(extra, ',,')")->like("%$product->id,,") + ->orderBy('id_desc') + ->fetch('objectID'); + $product->currentProject = zget($projects, $currentProjectID, ''); + $productIdList[] = $product->id; + } $this->view->projects = $this->dao->select('t1.product,t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') diff --git a/module/block/view/productblock.html.php b/module/block/view/productblock.html.php index 7f2b3cab12..d6d00ede50 100644 --- a/module/block/view/productblock.html.php +++ b/module/block/view/productblock.html.php @@ -39,8 +39,8 @@