public function handler_conversationsController_init($sender) { ET::searchModel(); // Load the search model so we can add this gambit. ETSearchModel::addGambit('return $term == strtolower(T("gambit.order by views"));', array($this, "gambitOrderByViews")); }
public static function gambitTitle(&$search, $term, $negate) { $term = trim(substr($term, strlen(T("gambit.title:")))); $search->sql->where("title " . ($negate ? "NOT" : "") . " LIKE :titleTerm")->bind(":titleTerm", "%" . $term . "%"); } } // Add default gambits. ETSearchModel::addGambit('return $term == strtolower(T("gambit.starred"));', array("ETSearchModel", "gambitStarred")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.ignored"));', array("ETSearchModel", "gambitIgnored")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.draft"));', array("ETSearchModel", "gambitDraft")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.private"));', array("ETSearchModel", "gambitPrivate")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.sticky"));', array("ETSearchModel", "gambitSticky")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.locked"));', array("ETSearchModel", "gambitLocked")); ETSearchModel::addGambit('return strpos($term, strtolower(T("gambit.author:"))) === 0;', array("ETSearchModel", "gambitAuthor")); ETSearchModel::addGambit('return strpos($term, strtolower(T("gambit.contributor:"))) === 0;', array("ETSearchModel", "gambitContributor")); ETSearchModel::addGambit('return preg_match(T("gambit.gambitActive"), $term, $this->matches);', array("ETSearchModel", "gambitActive")); ETSearchModel::addGambit('return preg_match(T("gambit.gambitHasNReplies"), $term, $this->matches);', array("ETSearchModel", "gambitHasNReplies")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.order by replies"));', array("ETSearchModel", "gambitOrderByReplies")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.order by newest"));', array("ETSearchModel", "gambitOrderByNewest")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.unread"));', array("ETSearchModel", "gambitUnread")); ETSearchModel::addGambit('return $term == strtolower(T("gambit.reverse"));', array("ETSearchModel", "gambitReverse")); ETSearchModel::addGambit('return strpos($term, strtolower(T("gambit.limit:"))) === 0;', array("ETSearchModel", "gambitLimit")); ETSearchModel::addGambit('return strpos($term, strtolower(T("gambit.title:"))) === 0;', array("ETSearchModel", "gambitTitle")); if (!C("esoTalk.search.disableRandomGambit")) { ETSearchModel::addGambit('return $term == strtolower(T("gambit.random"));', array("ETSearchModel", "gambitRandom")); } // Add default aliases. ETSearchModel::addAlias(T("gambit.active today"), T("gambit.active 1 day")); ETSearchModel::addAlias(T("gambit.has replies"), T("gambit.has >0 replies")); ETSearchModel::addAlias(T("gambit.has no replies"), T("gambit.has 0 replies")); ETSearchModel::addAlias(T("gambit.dead"), T("gambit.active >30 day"));
public function handler_conversationsController_init($sender) { if (!ET::$session->user) { return; } ET::searchModel(); // Load the search model so we can add this gambit. ETSearchModel::addGambit('return $term == strtolower(T("gambit.bookmarked"));', array($this, "gambitBookmarked")); }