'all', 'title' => LAN_SEARCH_51); if ($sql ->gen("SELECT download_category_id, download_category_name FROM #download_category WHERE download_category_parent != 0 AND download_category_class IN (".USERCLASS_LIST.")")) { while($row = $sql->fetch()) { $catList[] = array('id' => $row['download_category_id'], 'title' => $row['download_category_name']); // $advanced_caption['title'][$row['category_id']] = 'News -> '.$row['category_name']; } } $search = array( 'name' => LAN_PLUGIN_DOWNLOAD_NAME, 'table' => 'download AS d LEFT JOIN #download_category AS c ON d.download_category = c.download_category_id', 'advanced' => array( 'cat' => array('type' => 'dropdown', 'text' => LAN_SEARCH_63, 'list'=>$catList), 'date' => array('type' => 'date', 'text' => LAN_DATE_POSTED), 'author'=> array('type' => 'author', 'text' => LAN_SEARCH_61) ), 'return_fields' => array( 'd.download_id', 'd.download_sef', 'd.download_category', 'd.download_name', 'd.download_description', 'd.download_author', 'd.download_author_website', 'd.download_datestamp', 'd.download_class', 'c.download_category_id', 'c.download_category_name', 'c.download_category_sef', 'c.download_category_class' ), // fields and weights. 'search_fields' => array( 'd.download_name' => '1.2', 'd.download_url' => '0.9', 'd.download_description' => '0.6', 'd.download_author' => '0.6', 'd.download_author_website' => '0.4' ), 'order' => array('download_datestamp' => 'DESC'), //'refpage' => 'download.php' 'refpage' => e107::url('download', 'index'), ); return $search; } /* Compile Database data for output */ function compile($row) { $tp = e107::getParser(); $download_index_url = e107::url('download', 'index'); $download_category_url = e107::url('download', 'category', $row); //TODO Remove html from pre_summary and use additional vars instead. $res = array(); $datestamp = $tp->toDate($row['download_datestamp'], "long"); $res['link'] = e107::url('download', 'item', $row); $res['pre_title'] = $tp->toHTML($row['download_category_name'],false,'TITLE_PLAIN')." | "; $res['title'] = $row['download_name']; $res['pre_summary'] = "
"; $res['summary'] = $row['download_description']; $res['detail'] = LAN_SEARCH_15." ".$row['download_author']." | ".LAN_SEARCH_66.": ".$datestamp; return $res; } /** * Optional - Advanced Where * @param $parm - data returned from $_GET (ie. advanced fields included. in this case 'date' and 'author' ) */ function where($parm=array()) { $tp = e107::getParser(); $qry = "download_active > '0' AND d.download_visible IN (".USERCLASS_LIST.") AND c.download_category_class IN (".USERCLASS_LIST.") AND"; if (isset($parm['cat']) && is_numeric($parm['cat'])) { $qry .= " d.download_category='".$parm['cat']."' AND"; } if (isset($parm['time']) && is_numeric($parm['time'])) { $qry .= " d.download_datestamp ".($parm['on'] == 'new' ? '>=' : '<=')." '".(time() - $parm['time'])."' AND"; } if (isset($parm['author']) && $parm['author'] != '') { $qry .= " (d.download_author = '".$tp -> toDB($parm['author'])."') AND"; } return $qry; } }