public static function get_slices_for_article($article_id, $clang_id = FALSE, $ctype_id = FALSE, $modultyp_id = FALSE) { global $REX; self::$slices = array(); $sql = rex_sql::factory(); $qry = ' SELECT id, re_article_slice_id, modultyp_id, ctype, clang FROM ' . $REX['TABLE_PREFIX'] . 'article_slice WHERE article_id=' . $article_id; if ($clang_id !== FALSE) { $qry .= ' AND clang = ' . $clang_id; } $sql->setQuery($qry); while ($sql->hasNext()) { self::$slices[$sql->getValue('re_article_slice_id')] = array('id' => $sql->getValue('id'), 'clang_id' => $sql->getValue('clang'), 'ctype_id' => $sql->getValue('ctype'), 'modultyp_id' => $sql->getValue('modultyp_id')); $sql->next(); } if (count(self::$slices) > 1) { self::order_slices(); } if (count(self::$slices) && $modultyp_id !== FALSE) { self::filter_slices_by_modultyp_id($modultyp_id); } if (count(self::$slices) && $ctype_id !== FALSE) { self::filter_slices_by_ctype_id($ctype_id); } if (count(self::$slices)) { foreach (self::$slices as $key => $val) { self::$slices[$key] = OOArticleSlice::getArticleSliceById($val['id'], $val['clang_id']); } } return self::$slices; }
public function getSlice($sliceId, $clangId = false) { global $REX; // set rex vars for this website $this->switchRexVars(); // get article content $slice = OOArticleSlice::getArticleSliceById($sliceId, $clangId); $sliceContent = $slice->getSlice(); // restore rex vars for current website $REX['WEBSITE_MANAGER']->getCurrentWebsite()->switchRexVars(); return $sliceContent; }
function getPreviousSlice() { return OOArticleSlice::getArticleSliceById($this->_re_article_slice_id); }