本文整理汇总了PHP中ReferenceManager::getCriterionInfos方法的典型用法代码示例。如果您正苦于以下问题:PHP ReferenceManager::getCriterionInfos方法的具体用法?PHP ReferenceManager::getCriterionInfos怎么用?PHP ReferenceManager::getCriterionInfos使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ReferenceManager
的用法示例。
在下文中一共展示了ReferenceManager::getCriterionInfos方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getListPage
/**
* Récupérer une liste d'articles en fonction de critères
* @param array $params tableau associatif contenant les critères de sélection. clé : nom du paramètre, valeur : valeur du paramètre
* @param array $infosPages tableau associatif contenant des indications sur le nombre de pages, la liste des numéros de pages disponibles, etc.
* @return array liste des articles
* @see Manager::getIndexPages
* @see Manager::_getListPage
* @see Manager::_getCount
*/
function getListPage($params, &$infosPages)
{
// Construction de la requête en fonction des paramètres
$sql = 'SELECT a.doc_id as id, doc_auteurs,
doc_titre as titre, doc_etat as etat, doc_date_publication,
doc_date_enregistrement, doc_date_modification,
u.uti_nom as nom, u.uti_prenom as prenom ';
$from = ' FROM uti_utilisateur u, doc_document a';
$where = ' WHERE u.uti_id = a.uti_id_soumis ';
if (isset($params['uti']) && intval($params['uti']) > 0) {
$where .= ' AND uti_id_soumis = ' . intval($params['uti']);
}
if (isset($params['status']) && is_numeric($params['status'])) {
$where .= ' AND doc_etat = ' . trim($params['status']);
}
if (isset($params['type']) && strlen($params['type']) == 1) {
$where .= ' AND typ_id = \'' . trim($params['type']) . '\'';
}
$ref = new ReferenceManager($this->db);
$i = 0;
foreach ($params as $clef => $val) {
if (strpos($clef, 'cri_') === 0 && $val != 'none') {
$crit = $ref->getCriterionInfos(substr($clef, 4));
$crit = $crit['id'];
$tmpsql = 'SELECT doc_id FROM doc_document WHERE doc_repertoire = ' . $this->db->quote($val);
$res = $this->_getRow($tmpsql);
$intro = $res['doc_id'];
$from .= ", document_criteres c{$i}";
$where .= " AND a.doc_id = c{$i}.doc_id AND c{$i}.cri_id = " . intval($crit) . " AND c{$i}.intro_id = " . intval($intro);
$i++;
}
}
if (isset($params['pg'])) {
$page = intval($params['pg']);
} else {
$page = 0;
}
$nombreLigneTotal = $this->_getCount($from . $where);
$infosPages = $this->getIndexPages($page, $this->nbParPage, $nombreLigneTotal, $this->nbLiensMax);
$sql = $sql . $from . $where . " ORDER BY doc_date_enregistrement DESC";
return $this->_getListPage($sql, $page, $this->nbParPage);
}