Example #1
0
 public static function searchMeta($core, $get)
 {
     $q = !empty($get['q']) ? $get['q'] : null;
     $metaType = !empty($get['metaType']) ? $get['metaType'] : null;
     $sortby = !empty($get['sortby']) ? $get['sortby'] : 'meta_type,asc';
     $rs = $core->meta->getMetadata(array('meta_type' => $metaType));
     $rs = $core->meta->computeMetaStats($rs);
     $sortby = explode(',', $sortby);
     $sort = $sortby[0];
     $order = isset($sortby[1]) ? $sortby[1] : 'asc';
     switch ($sort) {
         case 'metaId':
             $sort = 'meta_id_lower';
             break;
         case 'count':
             $sort = 'count';
             break;
         case 'metaType':
             $sort = 'meta_type';
             break;
         default:
             $sort = 'meta_type';
     }
     $rs->sort($sort, $order);
     $rsp = new xmlTag();
     while ($rs->fetch()) {
         if (stripos($rs->meta_id, $q) === 0) {
             $metaTag = new xmlTag('meta');
             $metaTag->type = $rs->meta_type;
             $metaTag->uri = rawurlencode($rs->meta_id);
             $metaTag->count = $rs->count;
             $metaTag->percent = $rs->percent;
             $metaTag->roundpercent = $rs->roundpercent;
             $metaTag->CDATA($rs->meta_id);
             $rsp->insertNode($metaTag);
         }
     }
     return $rsp;
 }
Example #2
0
 public static function getMeta(&$core, $get)
 {
     $meta = new dcMeta($core);
     $postid = !empty($get['postId']) ? $get['postId'] : null;
     $limit = !empty($get['limit']) ? $get['limit'] : null;
     $metaId = !empty($get['metaId']) ? $get['metaId'] : null;
     $metaType = !empty($get['metaType']) ? $get['metaType'] : null;
     $sortby = !empty($get['sortby']) ? $get['sortby'] : 'meta_type,asc';
     $rs = $meta->getMeta($metaType, $limit, $metaId, $postid);
     $sortby = explode(',', $sortby);
     $sort = $sortby[0];
     $order = isset($sortby[1]) ? $sortby[1] : 'asc';
     switch ($sort) {
         case 'metaId':
             $sort = 'meta_id_lower';
             break;
         case 'count':
             $sort = 'count';
             break;
         case 'metaType':
             $sort = 'meta_type';
             break;
         default:
             $sort = 'meta_type';
     }
     $rs->sort($sort, $order);
     $rsp = new xmlTag();
     while ($rs->fetch()) {
         $metaTag = new xmlTag('meta');
         $metaTag->type = $rs->meta_type;
         $metaTag->uri = rawurlencode($rs->meta_id);
         $metaTag->count = $rs->count;
         $metaTag->percent = $rs->percent;
         $metaTag->roundpercent = $rs->roundpercent;
         $metaTag->CDATA($rs->meta_id);
         $rsp->insertNode($metaTag);
     }
     return $rsp;
 }