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; }
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; }