]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
reformat the code (CS)
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Sun, 26 Sep 2010 22:08:44 +0000 (22:08 +0000)
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Sun, 26 Sep 2010 22:08:44 +0000 (22:08 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@752 b3834d28-1941-0410-a4f8-b48e95affb8f

src/SemanticScuttle/Service/SearchHistory.php

index df9b256472347c2562b564e0e816adade2036eea..4947bf7a71c4b9686fc9b6936ffb3f649a44dd7e 100644 (file)
@@ -26,7 +26,9 @@
  */
 class SemanticScuttle_Service_SearchHistory extends SemanticScuttle_DbService
 {
-    var $sizeSearchHistory;
+    public $sizeSearchHistory;
+
+
 
     /**
      * Returns the single service instance
@@ -44,109 +46,218 @@ class SemanticScuttle_Service_SearchHistory extends SemanticScuttle_DbService
         return $instance;
     }
 
+
+
+    /**
+     * Creates a new instance
+     *
+     * @param DB $db Database object
+     */
     public function __construct($db)
     {
         $this->db = $db;
         $this->tablename = $GLOBALS['tableprefix'] .'searchhistory';
-        if(isset($GLOBALS['sizeSearchHistory'])) {
+        if (isset($GLOBALS['sizeSearchHistory'])) {
             $this->sizeSearchHistory = $GLOBALS['sizeSearchHistory'];
         } else {
             $this->sizeSearchHistory = 10;
         }
     }
 
-    function addSearch($terms, $range, $nbResults, $uId=0) {
-        if(strlen($terms) == 0) {
+
+
+    /**
+     * Adds a new search to the search history
+     *
+     * @param string  $terms     Search terms separated by spaces
+     * @param string  $range     - 'all' - search was in all bookmarks
+     *                           - 'watchlist' - searched in watchlist
+     *                           - any username to show that the search happened
+     *                             in his own bookmarks.
+     * @param integer $nbResults Number of search result rows
+     * @param integer $uId       ID of user that searched
+     *
+     * @return boolean True if it has been added, false if not
+     */
+    public function addSearch($terms, $range, $nbResults, $uId = 0)
+    {
+        if (strlen($terms) == 0) {
             return false;
         }
         $datetime = gmdate('Y-m-d H:i:s', time());
 
         //Insert values
-        $values = array('shTerms'=>$terms, 'shRange'=>$range, 'shDatetime'=>$datetime, 'shNbResults'=>$nbResults, 'uId'=>$uId);
-        $sql = 'INSERT INTO '. $this->getTableName() .' '. $this->db->sql_build_array('INSERT', $values);
+        $values = array(
+            'shTerms'     => $terms,
+            'shRange'     => $range,
+            'shDatetime'  => $datetime,
+            'shNbResults' => $nbResults,
+            'uId'         => $uId
+        );
+        $sql = 'INSERT INTO ' . $this->getTableName()
+            . ' ' . $this->db->sql_build_array('INSERT', $values);
+
         $this->db->sql_transaction('begin');
-        if (!($dbresult = $this->db->sql_query($sql))) {
+        if (!($dbresult = $this->db->sql_query($sql))) {
             $this->db->sql_transaction('rollback');
-            message_die(GENERAL_ERROR, 'Could not insert search history', '', __LINE__, __FILE__, $sql, $this->db);
+            message_die(
+                GENERAL_ERROR, 'Could not insert search history',
+                '', __LINE__, __FILE__, $sql, $this->db
+            );
             return false;
         }
 
-        if($this->sizeSearchHistory != -1 &&
-        $this->countSearches() > $this->sizeSearchHistory) {
+        if ($this->sizeSearchHistory != -1
+            && $this->countSearches() > $this->sizeSearchHistory
+        ) {
             $this->deleteOldestSearch();
         }
+
+        return true;
     }
 
-    function getAllSearches($range = NULL, $uId = NULL, $nb = NULL, $start = NULL, $distinct = false, $withResults = false) {
-        $sql = 'SELECT DISTINCT(shTerms), shId, shRange, shNbResults, shDatetime, uId';
+
+
+    /**
+     * Returns searches with the given features.
+     *
+     * @param string  $range       - 'all' - search was in all bookmarks
+     *                             - 'watchlist' - searched in watchlist
+     *                             - any username to show that the search happened
+     *                               in his own bookmarks.
+     * @param integer $uId         Id of the user who searched. 0 for anonymous users
+     * @param integer $nb          Number of bookmarks to retrieve (paging)
+     * @param integer $start       Number of bookmark to begin with (paging)
+     * @param boolean $distinct    If the search terms shall be distinct
+     * @param boolean $withResults Only return searches that had at least one result
+     *
+     * @return array Array of search history database rows
+     */
+    public function getAllSearches(
+        $range = null, $uId = null, $nb = null,
+        $start = null, $distinct = false, $withResults = false
+    ) {
+        $sql = 'SELECT DISTINCT(shTerms),'
+            . ' shId, shRange, shNbResults, shDatetime, uId';
         $sql.= ' FROM '. $this->getTableName();
         $sql.= ' WHERE 1=1';
-        if($range != NULL) {
+        if ($range != null) {
             $sql.= ' AND shRange = "'.$range.'"';
         } else {
             $sql.= ' AND shRange = "all"';
         }
-        if($uId != NULL) {
+        if ($uId != null) {
             $sql.= ' AND uId = '.$uId;
         }
-        if($withResults = true) {
+        if ($withResults = true) {
             $sql.= ' AND shNbResults > 0';
         }
-        if($distinct) {
+        if ($distinct) {
             $sql.= ' GROUP BY shTerms';
         }
         $sql.= ' ORDER BY shId DESC';
 
-        if (!($dbresult = & $this->db->sql_query_limit($sql, $nb, $start))) {
-            message_die(GENERAL_ERROR, 'Could not get searches', '', __LINE__, __FILE__, $sql, $this->db);
+        if (!($dbresult = $this->db->sql_query_limit($sql, $nb, $start))) {
+            message_die(
+                GENERAL_ERROR, 'Could not get searches',
+                '', __LINE__, __FILE__, $sql, $this->db
+            );
             return false;
         }
 
         $searches = array();
-        while ($row = $this->db->sql_fetchrow($dbresult)) {
+        while ($row = $this->db->sql_fetchrow($dbresult)) {
             $searches[] = $row;
         }
         $this->db->sql_freeresult($dbresult);
         return $searches;
     }
 
-    function countSearches() {
+
+
+    /**
+     * Counts the number of searches that have been made in total.
+     *
+     * @return integer Number of searches
+     */
+    public function countSearches()
+    {
         $sql = 'SELECT COUNT(*) AS `total` FROM '. $this->getTableName();
-        if (!($dbresult = & $this->db->sql_query($sql)) || (!($row = & $this->db->sql_fetchrow($dbresult)))) {
-            message_die(GENERAL_ERROR, 'Could not get total searches', '', __LINE__, __FILE__, $sql, $this->db);
+        if (!($dbresult = $this->db->sql_query($sql))
+            || (!($row = & $this->db->sql_fetchrow($dbresult)))
+        ) {
+            message_die(
+                GENERAL_ERROR, 'Could not get total searches',
+                '', __LINE__, __FILE__, $sql, $this->db
+            );
             return false;
         }
         $this->db->sql_freeresult($dbresult);
         return $row['total'];
     }
 
-    /* This function allows to limit the number of saved searches
-     by deleting the oldest one */
-    function deleteOldestSearch() {
+
+
+    /**
+     * This function allows to limit the number of saved searches
+     * by deleting the oldest one
+     *
+     * @return boolean True when all went well, false in case of an error
+     */
+    public function deleteOldestSearch()
+    {
         $sql = 'DELETE FROM '.$this->getTableName();
-        $sql.= ' ORDER BY shId ASC LIMIT 1';  // warning: here the limit is important
+        // warning: here the limit is important
+        $sql .= ' ORDER BY shId ASC LIMIT 1';
 
         $this->db->sql_transaction('begin');
-        if (!($dbresult = $this->db->sql_query($sql))) {
+        if (!($dbresult = $this->db->sql_query($sql))) {
             $this->db->sql_transaction('rollback');
-            message_die(GENERAL_ERROR, 'Could not delete bookmarks', '', __LINE__, __FILE__, $query, $this->db);
+            message_die(
+                GENERAL_ERROR, 'Could not delete bookmarks',
+                '', __LINE__, __FILE__, $query, $this->db
+            );
             return false;
         }
+
+        return true;
     }
 
-    function deleteSearchHistoryForUser($uId) {
-        $query = 'DELETE FROM '. $this->getTableName() .' WHERE uId = '.        intval($uId);
 
-        if (!($dbresult = & $this->db->sql_query($query))) {
-            message_die(GENERAL_ERROR, 'Could not delete search history', '',
-            __LINE__, __FILE__, $query, $this->db);
+
+    /**
+     * Deletes all search history entries that have been made by the user
+     * with the given ID.
+     *
+     * @param integer $uId ID of the user
+     *
+     * @return boolean True when all went well, false in case of an error
+     */
+    public function deleteSearchHistoryForUser($uId)
+    {
+        $query = 'DELETE FROM '. $this->getTableName()
+            . ' WHERE uId = ' . intval($uId);
+
+        if (!($dbresult = $this->db->sql_query($query))) {
+            message_die(
+                GENERAL_ERROR, 'Could not delete search history', '',
+                __LINE__, __FILE__, $query, $this->db
+            );
             return false;
         }
 
         return true;
     }
 
-    function deleteAll() {
+
+
+    /**
+     * Deletes all search history entries.
+     *
+     * @return void
+     */
+    public function deleteAll()
+    {
         $query = 'TRUNCATE TABLE `'. $this->getTableName() .'`';
         $this->db->sql_query($query);
     }