Explorar o código

#4148 - Build-in API support (dashboard stat)

roman.lesnikov@gmail.com %!s(int64=3) %!d(string=hai) anos
pai
achega
c6efc72036

+ 2 - 2
inc/classes/BxDolConnection.php

@@ -450,9 +450,9 @@ class BxDolConnection extends BxDolFactory implements iBxDolFactoryObject
      * @param $isMutual get mutual connections only
      * @return number of connections
      */
-    public function getConnectedContentCount ($iInitiator, $isMutual = false)
+    public function getConnectedContentCount ($iInitiator, $isMutual = false, $iFromDate = 0)
     {
-        return $this->_oQuery->getConnectedContentCount($iInitiator, $isMutual);
+        return $this->_oQuery->getConnectedContentCount($iInitiator, $isMutual, $iFromDate);
     }
 
     /**

+ 3 - 1
inc/classes/BxDolConnectionQuery.php

@@ -258,10 +258,12 @@ class BxDolConnectionQuery extends BxDolDb
         return $this->getOne($this->_getConnectionsQueryCount($sWhere, $sJoin, $isMutual, '`c`.`content`'), $aBindings);
     }
 
-    public function getConnectedContentCount ($iInitiator, $isMutual = false)
+    public function getConnectedContentCount ($iInitiator, $isMutual = false, $iFromDate = 0)
     {
         $sJoin = $this->_aObject['profile_initiator'] ? 'INNER JOIN `sys_profiles` `p` ON `p`.`id` = `c`.`content` AND `p`.`status` = \'active\'' : ''; 
         $sWhere = $this->prepareAsString(" AND `c`.`initiator` = ?", $iInitiator);
+        if ($iFromDate > 0)
+            $sWhere = $this->prepareAsString(" AND `c`.`initiator` = ? AND `c`.`added` > ?", $iInitiator, $iFromDate);
         $sQuery = $this->_getConnectionsQueryCount($sWhere, '', $isMutual);
         return $this->getOne($sQuery);
     }

+ 10 - 0
modules/base/text/classes/BxBaseModTextDb.php

@@ -392,6 +392,16 @@ class BxBaseModTextDb extends BxBaseModGeneralDb
     {
         return $this->getLinksBy(array('type' => 'content_id', 'content_id' => $iContentId));
     }
+    
+    public function getStatByProfile($iAuthorId)
+    {
+        $aBindings = array(
+            'author' => $iAuthorId
+        );
+        $CNF = &$this->_oConfig->CNF;
+        
+        return $this->getRow("SELECT COUNT(id) AS count, SUM(views) AS views, SUM(votes) AS votes, SUM(rvotes) AS rvotes FROM `" . $CNF['TABLE_ENTRIES'] . "` WHERE `author`=:author", $aBindings);
+    }
 
     public function getLinksBy($aParams = array())
     {