コード例 #1
0
 /**
  * Static method
  */
 function getAllNews($limit, $start = 0, $criteria = null)
 {
     $ret = array();
     $db =& XoopsDatabaseFactory::getDatabaseConnection();
     if ($criteria == null) {
         $criteria = new Criteria();
     }
     $criteria->setLimit($limit);
     $criteria->setStart($start);
     $sql = "SELECT n.*, t.*, a.* FROM " . $db->prefix('ams_article') . " n, " . $db->prefix('ams_text') . " t, " . $db->prefix('ams_audience') . " a WHERE n.storyid=t.storyid AND n.audienceid=a.audienceid AND n.published != 0 AND t.current=1";
     if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) {
         $render = $criteria->render();
         if ($render != "") {
             $sql .= ' AND ' . $render;
         }
         $sql .= " GROUP BY n.storyid";
         if ($criteria->getSort() != '') {
             $sql .= ' ORDER BY ' . $criteria->getSort() . ' ' . $criteria->getOrder();
         }
         $limit = $criteria->getLimit();
         $start = $criteria->getStart();
     }
     $result = $db->query($sql, $limit, $start);
     if (!$result) {
         return $ret;
     }
     while ($myrow = $db->fetchArray($result)) {
         $story = new AmsStory();
         $story->makeStory($myrow);
         $ret[$myrow['storyid']] =& $story;
         unset($story);
     }
     return $ret;
 }