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);
 }