Inserita funzione di ricerca full text
This commit is contained in:
@@ -161,6 +161,7 @@ class PipelineHelper {
|
||||
return $rval;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -246,6 +246,62 @@ class GenericDao{
|
||||
// var_dump($resultArray);
|
||||
return $rval;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ritorna la lista dei notizia model ordinati per pertinenza
|
||||
* @param string $searchStr
|
||||
*/
|
||||
public function search($modelClass, $searchWord, array $filter = array(), array $options = array()){
|
||||
if (!is_null($modelClass)){
|
||||
if (!is_subclass_of($modelClass, "DaoSaveable", true)){
|
||||
throw new CoreException("Invalid return class passed to GenericDao::query ($modelClass)");
|
||||
}
|
||||
}
|
||||
|
||||
$collectionName = $modelClass::getCollectionName();
|
||||
$collection = $this->database->$collectionName;
|
||||
|
||||
$useFilter = $filter;
|
||||
$useFilter['$text'] = array('$search'=>$searchWord);
|
||||
|
||||
if (!array_key_exists("deleted",$useFilter)){
|
||||
$useFilter["deleted"] = false;
|
||||
}
|
||||
|
||||
if (array_key_exists("id",$useFilter)){
|
||||
$useFilter["_id"] = $useFilter["id"];
|
||||
unset($useFilter["id"]);
|
||||
}
|
||||
|
||||
if (array_key_exists("_id",$useFilter) && is_string($useFilter["_id"])){
|
||||
$useFilter["_id"] = new MongoId($useFilter["_id"]);
|
||||
}
|
||||
|
||||
$cursor = $collection->find($useFilter,array('score' => array('$meta' => 'textScore')));
|
||||
|
||||
$sortArray = array('score' => array('$meta' => 'textScore'));
|
||||
if (array_key_exists("sort",$options)){
|
||||
$sortArray = array_merge($sortArray,$options["sort"]);
|
||||
}
|
||||
$cursor->sort($sortArray);
|
||||
if (array_key_exists("skip",$options)){
|
||||
$cursor->skip($options["skip"]);
|
||||
}
|
||||
if (array_key_exists("limit",$options)){
|
||||
$cursor->limit($options["limit"]);
|
||||
}
|
||||
|
||||
$rval = array();
|
||||
foreach ($cursor as $element){
|
||||
unset($element->score);
|
||||
$rval[] = $modelClass::buildFromSaveableObj($element);
|
||||
}
|
||||
|
||||
return $rval;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -9,8 +9,7 @@ class MediaYoutube extends MediaRenderer{
|
||||
|
||||
public function asText(array $opt = array()){
|
||||
// return $this->link;
|
||||
return '<iframe width="420" height="315"
|
||||
src="'.$this->getVideoLink().'" frameborder="0"></iframe>';
|
||||
return '<iframe src="'.$this->getVideoLink().'" frameborder="0"></iframe>';
|
||||
// return '<iframe width="560" height="315" src="https://www.youtube.com/embed/4qkv-iy_MaQ" frameborder="0" allowfullscreen></iframe>';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user