function enterObject() { $article = new rex_article(); if ($article->setArticleId($this->getElement(1))) { $this->params['form_output'][$this->getId()] = $this->parse('value.article.tpl.php', array('article' => $article)); } }
function rex_newsletter_sendmail($userinfo, $aid, $mail_reply, $mail_subject) { global $REX; $tmp_redaxo = $REX['REDAXO']; $REX['REDAXO'] = true; // ***** HTML VERSION KOMPLETT $REX_ARTICLE = new rex_article(); $REX_ARTICLE->setCLang(0); $REX_ARTICLE->setArticleId($aid); $REX_ARTICLE->getContentAsQuery(TRUE); // $REX_ARTICLE->setTemplateId(xx); $REX['ADDON']['NEWSLETTER_TEXT'] = FALSE; $html_body = $REX_ARTICLE->getArticleTemplate(); // ***** TEXT VERSION $REX_ARTICLE = new rex_article(); $REX_ARTICLE->setCLang(0); $REX_ARTICLE->setArticleId($aid); $REX_ARTICLE->getContentAsQuery(TRUE); // $REX_ARTICLE->setTemplateId(xx); $REX['ADDON']['NEWSLETTER_TEXT'] = TRUE; // FILTERN VERSION KOMPLETT $text_body = $REX_ARTICLE->getArticle(); $text_body = str_replace("<br />", "<br />", $text_body); $text_body = str_replace("<p>", "\n\n</p>", $text_body); $text_body = str_replace("<ul>", "\n\n</ul>", $text_body); $text_body = preg_replace("#(\\<)(.*)(\\>)#imsU", "", $text_body); $text_body = html_entity_decode($text_body); $REX['REDAXO'] = true; // ***** MAIL VERSAND // Allgemeine Initialisierung // $mail = new PHPMailer(); $mail = new rex_mailer(); $mail->AddAddress($userinfo["email"]); $mail->From = $mail_reply; $mail->FromName = $mail_reply; $subject = $mail_subject; // Subject // Bodies // html foreach ($userinfo as $k => $v) { $subject = str_replace("###" . $k . "###", $v, $subject); $html_body = str_replace("###" . $k . "###", $v, $html_body); $text_body = str_replace("###" . $k . "###", $v, $text_body); $subject = str_replace("###" . strtoupper($k) . "###", $v, $subject); $html_body = str_replace("###" . strtoupper($k) . "###", $v, $html_body); $text_body = str_replace("###" . strtoupper($k) . "###", $v, $text_body); } // text // echo "<pre>$text_body</pre>"; $mail->Subject = $subject; $mail->AltBody = $text_body; $mail->Body = $html_body; $mail->Send(); $REX['REDAXO'] = $tmp_redaxo; }
// ------------------------------------------ WARNING if ($mode != 'edit' && $message != '') { echo rex_warning($message); } echo ' <div class="rex-cnt-bdy"> '; if ($mode == 'edit') { // ------------------------------------------ START: MODULE EDITIEREN/ADDEN ETC. echo ' <!-- *** OUTPUT OF ARTICLE-CONTENT-EDIT-MODE - START *** --> <div class="rex-cnt-editmode"> '; $CONT = new rex_article(); $CONT->message = $message; $CONT->setArticleId($article_id); $CONT->setSliceId($slice_id); $CONT->setMode($mode); $CONT->setCLang($clang); $CONT->setEval(TRUE); $CONT->setFunction($function); eval("?>" . $CONT->getArticle($ctype)); echo ' </div> <!-- *** OUTPUT OF ARTICLE-CONTENT-EDIT-MODE - END *** --> '; // ------------------------------------------ END: MODULE EDITIEREN/ADDEN ETC. } elseif ($mode == 'meta') { // ------------------------------------------ START: META VIEW echo ' <div class="rex-cnt-metamode">
function getSlice() { // TODO:: ------------------- .' AND revision='.$this->revision $art = new rex_article(); $art->setArticleId($this->getArticleId()); $art->setClang($this->getClang()); $art->getSlice = $this->getId(); $art->setEval(true); return @$art->replaceLinks($art->getArticle()); }
/** * Generiert alle *.article u. *.content Dateien eines Artikels/einer Kategorie * * @param $id ArtikelId des Artikels, der generiert werden soll * @param $refreshall Boolean Bei True wird der Inhalte auch komplett neu generiert, bei False nur die Metainfos */ function rex_generateArticle($id, $refreshall = true) { global $REX, $I18N; // artikel generieren // vorraussetzung: articel steht schon in der datenbank // // -> infos schreiben -> abhaengig von clang // --> artikel infos / einzelartikel metadaten // --> artikel content / einzelartikel content // --> listen generieren // wenn startpage = 1 // ---> artikel liste // ---> category liste // --------------------------------------------------- generiere generated/articles/xx.article foreach ($REX['CLANG'] as $clang => $clang_name) { $MSG = ''; $CONT = new rex_article(); $CONT->setCLang($clang); $CONT->getContentAsQuery(); $CONT->setMode("generate"); // keine Ausgabe als eval(CONTENT) sondern nur speichern in datei if (!$CONT->setArticleId($id)) { return false; } // --------------------------------------------------- Artikelparameter speichern $params = array('article_id' => $id, 'last_update_stamp' => time()); $class_vars = OORedaxo::getClassVars(); unset($class_vars[array_search('id', $class_vars)]); $db_fields = $class_vars; foreach ($db_fields as $field) { $params[$field] = $CONT->getValue($field); } $content = '<?php' . "\n"; foreach ($params as $name => $value) { $content .= '$REX[\'ART\'][' . $id . '][\'' . $name . '\'][' . $clang . '] = \'' . rex_addslashes($value, '\\\'') . '\';' . "\n"; } $content .= '?>'; if ($fp = @fopen($REX['INCLUDE_PATH'] . "/generated/articles/{$id}.{$clang}.article", "w")) { fputs($fp, $content); fclose($fp); @chmod($REX['INCLUDE_PATH'] . "/generated/articles/{$id}.{$clang}.article", 0777); } else { $MSG = $I18N->msg('article_could_not_be_generated') . " " . $I18N->msg('check_rights_in_directory') . $REX['INCLUDE_PATH'] . "/generated/articles/"; } // --------------------------------------------------- Artikelcontent speichern if ($refreshall) { if ($fp = @fopen($REX['INCLUDE_PATH'] . "/generated/articles/{$id}.{$clang}.content", "w")) { $article_content = "?>" . $CONT->getArticle(); fputs($fp, $article_content); fclose($fp); @chmod($REX['INCLUDE_PATH'] . "/generated/articles/{$id}.{$clang}.content", 0777); } else { $MSG = $I18N->msg('article_could_not_be_generated') . " " . $I18N->msg('check_rights_in_directory') . $REX['INCLUDE_PATH'] . "/generated/articles/"; } } // ----- EXTENSION POINT $MSG = rex_register_extension_point('CLANG_ARTICLE_GENERATED', '', array('id' => $id, 'clang' => $clang, 'article' => $CONT)); if ($MSG != '') { echo rex_warning($MSG); } // --------------------------------------------------- Listen generieren if ($CONT->getValue("startpage") == 1) { rex_generateLists($id); rex_generateLists($CONT->getValue("re_id")); } else { rex_generateLists($CONT->getValue("re_id")); } } // ----- EXTENSION POINT $MSG = rex_register_extension_point('ARTICLE_GENERATED', '', array('id' => $id)); }
function enterObject(&$email_elements, &$sql_elements, &$warning, &$form_output, $send = 0) { $artikel = new rex_article(); $artikel->setArticleId($this->elements[1]); $form_output[] = '<div class="article">' . $artikel->getArticle() . '</div>'; }
// Kann wichtig für die Darstellung sein // Sollte immer false bleiben $REX['REDAXO'] = false; // Wenn $REX[GG] = true; dann wird der // Content aus den redaxo/include/generated/ // genommen $REX['GG'] = true; // setzte pfad und includiere klassen und funktionen $REX['HTDOCS_PATH'] = './'; include './redaxo/include/master.inc.php'; // Starte einen neuen Artikel und setzte die aktuelle // artikel id. wenn nicht vorhanden, nimm einen // speziellen artikel. z.b. fehler seite oder home seite $REX_ARTICLE = new rex_article(); $REX_ARTICLE->setCLang($clang); if ($REX['SETUP']) { header('Location: redaxo/index.php'); exit; } elseif ($REX_ARTICLE->setArticleId($article_id)) { echo $REX_ARTICLE->getArticleTemplate(); } elseif ($REX_ARTICLE->setArticleId($REX['NOTFOUND_ARTICLE_ID'])) { echo $REX_ARTICLE->getArticleTemplate(); } else { echo 'Kein Startartikel selektiert / No starting Article selected. Please click here to enter <a href="redaxo/index.php">redaxo</a>'; $REX['STATS'] = 0; } // ----- caching end für output filter $CONTENT = ob_get_contents(); ob_end_clean(); // ----- inhalt ausgeben rex_send_content($REX_ARTICLE, $CONTENT, 'frontend');
/** * Gibt den Slice formatiert zurück */ function getSlice() { $art = new rex_article(); $art->setArticleId($this->getArticleId()); $art->setClang($this->getClang()); $art->getSlice = $this->getId(); return $art->getArticle(); }
/** * Generiert alle *.article u. *.content Dateien eines Artikels/einer Kategorie * * @param $id ArtikelId des Artikels, der generiert werden soll * @param $refreshall Boolean Bei True wird der Inhalte auch komplett neu generiert, bei False nur die Metainfos * * @return TRUE bei Erfolg, FALSE wenn eine ungütlige article_id übergeben wird */ function rex_generateArticle($id, $refreshall = true) { global $REX, $I18N; // artikel generieren // vorraussetzung: articel steht schon in der datenbank // // -> infos schreiben -> abhaengig von clang // --> artikel infos / einzelartikel metadaten // --> artikel content / einzelartikel content // --> listen generieren // wenn startpage = 1 // ---> artikel liste // ---> category liste foreach ($REX['CLANG'] as $clang => $clang_name) { $CONT = new rex_article(); $CONT->setCLang($clang); $CONT->getContentAsQuery(); // Content aus Datenbank holen, no cache $CONT->setEval(FALSE); // Content nicht ausführen, damit in Cachedatei gespeichert werden kann if (!$CONT->setArticleId($id)) { return FALSE; } // ----------------------- generiere generated/articles/xx.article $MSG = rex_generateArticleMeta($id, $clang); if ($MSG === FALSE) { return FALSE; } if ($refreshall) { // ----------------------- generiere generated/articles/xx.content $MSG = rex_generateArticleContent($id, $clang); if ($MSG === FALSE) { return FALSE; } } // ----- EXTENSION POINT $MSG = rex_register_extension_point('CLANG_ARTICLE_GENERATED', '', array('id' => $id, 'clang' => $clang, 'article' => $CONT)); if ($MSG != '') { echo rex_warning($MSG); } // --------------------------------------------------- Listen generieren if ($CONT->getValue("startpage") == 1) { rex_generateLists($id); rex_generateLists($CONT->getValue("re_id")); } else { rex_generateLists($CONT->getValue("re_id")); } } // ----- EXTENSION POINT $MSG = rex_register_extension_point('ARTICLE_GENERATED', '', array('id' => $id)); return TRUE; }