ConLite/setup/data/standard/standard_modules1.sql

26 Zeilen
141 KiB
SQL
Originalformat Blame Verlauf

INSERT INTO !PREFIX!_mod VALUES (1, 1, 'Article_Include', 'Content', 'none', 'This module includes an article into an other\r\n\r\nAuthor: Willi Man, Andreas Lindner, 4fb, B. Behrens\r\nVersion: 1.1', NULL, '?><?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Article Include Input\r\n*\r\n* @version 1.0.0\r\n* @author Willi Man\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2003-12-18\r\n* modified 2004-01-02\r\n* modified 2005-08-05 Andreas Lindner\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\n#Get current settings\r\n$name = "CMS_VAR[1]";\r\n$cms_idcat = "CMS_VALUE[1]";\r\n$cms_idcatart = "CMS_VALUE[2]";\r\n\r\n#Cat selector\r\necho buildCategorySelect($name, $cms_idcat);\r\n\r\n$bDebug = false;\r\nif ($bDebug)\r\n echo "<pre>cat $cms_idcat catart $cms_idcatart client $client lang $lang <br>webpath ".$cfgClient[$client][''path''][''htmlpath'']."</pre>";\r\n\r\necho ''<table cellpadding="0" cellspacing="0" border="0">'';\r\n\r\n#Article selector\r\necho ''\r\n <tr><td class="text_medium" style="padding:5px">''.mi18n("Artikel w<>hlen").'': </td></tr>\r\n <tr><td class="text_medium" style="padding:5px">'';\r\necho ''<select name="CMS_VAR[2]" style="width:240px">'';\r\necho ''<option value="" selected>''.i18n("Please choose").''</option>'';\r\n\r\nif ($cms_idcat != "0" && strlen($cms_idcat) > 0) {\r\n $sql = "SELECT\r\n a.title AS title,\r\n b.idcatart AS idcatart\r\n FROM\r\n ".$cfg["tab"]["art_lang"]." AS a,\r\n ".$cfg["tab"]["cat_art"]." AS b\r\n WHERE\r\n b.idcat = ''".$cms_idcat."'' AND\r\n a.idart = b.idart AND\r\n a.idlang = ''".$lang."''";\r\n\r\n $db->query($sql);\r\n\r\n while ($db->next_record()) {\r\n\r\n $catartid = $db->f(''idcatart'');\r\n $title = $db->f(''title'');\r\n\r\n if ($cms_idcatart != $catartid) {\r\n echo ''<option value="''.$catartid.''">&nbsp;''.$title.''</option>'';\r\n } else {\r\n echo ''<option selected="selected" value="''.$catartid.''">&nbsp;''.$title.''</option>'';\r\n }\r\n\r\n }\r\n}\r\n\r\necho ''</select>&nbsp;<input type="image" src="images/submit.gif">'';\r\necho ''</td></tr></table>'';\r\n?><?php', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Article Include Output\r\n*\r\n* @version 1.0.0\r\n* @author Willi Man\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2003-12-18\r\n* modified 2004-01-02\r\n* modified 2005-08-05 Andreas Lindner\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\n#Get current settings\r\n$cms_idcat = "CMS_VALUE[1]";\r\n$cms_idcatart = "CMS_VALUE[2]";\r\n\r\n$bDebug = false;\r\n\r\n#Check data\r\n$cms_idcat = (int)$cms_idcat;\r\n$cms_idcatart = (int)$cms_idcatart;\r\n\r\nif ($bDebug) {\r\n echo "<pre> cat $cms_idcat catart $cms_idcatart</pre>";\r\n}\r\n\r\nif ($cms_idcat >= 0 && $cms_idcatart >= 0)\r\n{\r\n $bArticleAvailable = false;\r\n # Get idcat, idcatart, idart and lastmodified from the database\r\n $sql = "SELECT A.idart AS idart, A.idcat AS idcat, A.createcode AS createcode,\r\n A.idcatart AS idcatart, B.lastmodified AS lastmodified\r\n FROM ".$cfg["tab"]["cat_art"]." AS A, ".$cfg["tab"]["art_lang"]." AS B\r\n WHERE\r\n A.idart = B.idart AND\r\n B.online = 1 AND ";\r\n\r\n if ($cms_idcatart == 0)\r\n {\r\n $sql .= "A.idcat = ''" . $cms_idcat . "'' ORDER BY B.lastmodified DESC"; # Only idcat specified, get latest article of category\r\n } else {\r\n $sql .= "A.idcatart = ''" . $cms_idcatart . "''"; # Article specified\r\n }\r\n\r\n if ($bDebug)\r\n {\r\n echo "<pre>";\r\n print_r($sql);\r\n echo "</pre>";\r\n }\r\n $db->query($sql);\r\n\r\n if ($db->next_record())\r\n { \r\n $bArticleAvailable = true; \r\n $iIDCatArt = $db->f("idcatart"); \r\n $iIDCat = $db->f("idcat"); \r\n $iIDArt = $db->f("idart"); \r\n $iCreateCode = $db->f("createcode"); \r\n $sModified = $db->f("lastmodified"); \r\n } \r\n\r\n $db->free();\r\n\r\n # Check if category is online or protected\r\n $sql = "SELECT public, visible \r\n FROM " . $cfg["tab"]["cat_lang"] . " \r\n WHERE idcat = ''" . $iIDCat . "'' AND idlang = ''" . $lang . "''";\r\n \r\n if ($bDebug)\r\n {\r\n echo "<pre>";\r\n print_r($sql);\r\n echo "</pre>";\r\n }\r\n \r\n $db->query($sql);\r\n $db->next_record();\r\n\r\n $iPublic = $db->f("public");\r\n $iVisible = $db->f("visible"); \r\n\r\n $db->free(); \r\n\r\n # Check if article is online\r\n # Not needed anymore, as only online articles are used\r\n /* $sql = "SELECT online FROM " . $cfg["tab"]["art_lang"] . "\r\n WHERE idart = ''" . $cms_artid . "'' AND idlang = ''" . $lang . "''";\r\n\r\n if ($bDebug)\r\n {\r\n echo "<pre>";\r\n print_r($sql);\r\n echo "</pre>";\r\n }\r\n $db->query($sql);\r\n $db->next_record();\r\n\r\n $online = $db->f("online");\r\n\r\n $db->free(); */\r\n\r\n # If the article is online and the according category is not protected and visible, include the article\r\n if ($bArticleAvailable && $iPublic == 1 && $iVisible == 1) \r\n { \r\n # Check, if code creation is necessary \r\n # Note, that createcode may be 0, but no code is available (all code for other languages will be deleted in \r\n # front_content, if code for one language will be created). This "bug" may be fixed in future releases. \r\n if ($iCreateCode == 0) \r\n { \r\n $sql = "SELECT count(*) AS CodeCount FROM " . $cfg["tab"]["code"] . " \r\n WHERE idcatart = ''" . $iIDCatArt . "'' AND idlang = ''" . $lang . "''";\r\n \r\n if ($bDebug)\r\n {\r\n echo "<pre>";\r\n print_r($sql);\r\n echo "</pre>";\r\n }\r\n\r\n $db->query($sql);\r\n $db->next_record();\r\n\r\n if ($db->f("CodeCount") == 0) {\r\n $iCreateCode = 1;\r\n }\r\n $db->free();\r\n }\r\n\r\n # Create code if necessary\r\n if ($iCreateCode == 1)\r\n {\r\n cInclude(''includes'', ''functions.con.php'');\r\n cInclude(''includes'', ''functions.tpl.php'');\r\n cInclude(''includes'', ''functions.mod.php'');\r\n\r\n conGenerateCode($iIDCat, $iIDArt, $lang, $client);\r\n } \r\n\r\n # Get code from database and execute it \r\n $sql = "SELECT code FROM " . $cfg["tab"]["code"] . " \r\n WHERE idcatart = ''" . $iIDCatArt . "'' AND idlang = ''" . $lang . "''";\r\n\r\n if ($bDebug)\r\n {\r\n echo "<pre>"; \r\n print_r($sql); \r\n echo "</pre>"; \r\n } \r\n\r\n $db->query($sql); \r\n\r\n if ($db->next_record()) \r\n {\r\n $sCode = stripslashes($db->f("code")); \r\n $db->free(); \r\n\r\n ob_start();\r\n eval("?>\r\n".$sCode."\r\n<?php\r\n");\r\n $sCode = ob_get_contents();\r\n\r\n # Clean buffer\r\n ob_end_clean();\r\n\r\n $iStartPos = strpos($sCode, "<!--start:content-->");\r\n $iEndPos = strpos($sCode, "<!--end:content-->");\r\n $iDiffLen = $iEndPos - $iStartPos;\r\n\r\n $sCode = substr($sCode, $iStartPos, $iDiffLen);\r\n\r\n echo $sCode;\r\n } else {\r\n echo "<!-- ERROR in module Article Include<pre>no code created for article to include!<br>idcat $cms_catid, idart $cms_artid, idlang $lang, idclient $client</pre>-->";\r\n }\r\n }\r\n}\r\n?>\r\n', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:49:41', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (2, 1, 'Contact_Form', 'Content', 'none', 'Dispaying contact form and submitting data via mail\r\n\r\nAuthor: Andreas Lindner\r\nVersion:1.0', NULL, '?><?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Contact Form Input\r\n*\r\n* @version 1.0.1\r\n* @author Andreas Lindner\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2005-08-12\r\n* modified 2010-06-09 Ingo van Peeren\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n?>\r\n\r\n<table border="0">\r\n <tr>\r\n <td><?php echo mi18n("Absender EMail");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[0]";?>" value="<?php echo "CMS_VALUE[0]"; ?>"></td>\r\n </tr>\r\n <tr>\r\n <td><?php echo mi18n("Absender Name");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[2]";?>" value="<?php echo "CMS_VALUE[2]"; ?>"></td>\r\n </tr>\r\n <tr>\r\n <td><?php echo mi18n("Empf<70>nger EMail");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[1]";?>" value="<?php echo "CMS_VALUE[1]"; ?>"></td>\r\n </tr>\r\n <tr>\r\n <td><?php echo mi18n("Betreff");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[3]";?>" value="<?php echo "CMS_VALUE[3]"; ?>"></td>\r\n </tr>\r\n <?php\r\n $c1 = '''';\r\n $c2 = '''';\r\n $c3 = '''';\r\n $c4 = '''';\r\n switch (strtolower("CMS_VALUE[4]")) {\r\n case "smtp" :\r\n $c1 = '' checked'';\r\n break;\r\n case "mail" :\r\n $c2 = '' checked'';\r\n break;\r\n case "sendmail" :\r\n $c3 = '' checked'';\r\n break;\r\n case "qmail" :\r\n $c4 = '' checked'';\r\n break;\r\n default :\r\n $c3 = '' checked'';\r\n }\r\n ?>\r\n <tr>\r\n <td valign="top"><?php echo mi18n("Mailer");?></td>\r\n <td>\r\n <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="mail"<?php echo $c2;?>>&nbsp;<?php echo mi18n("mail");?><br/>\r\n <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="qmail"<?php echo $c4;?>>&nbsp;<?php echo mi18n("qmail");?><br/>\r\n <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="sendmail"<?php echo $c3;?>>&nbsp;<?php echo mi18n("sendmail");?><br/>\r\n <input type="radio" name="<?php echo "CMS_VAR[4]";?>" value="smtp"<?php echo $c1;?>>&nbsp;<?php echo mi18n("smtp");?><br/>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td><?php echo mi18n("SMTP Host");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[5]";?>" value="<?php echo "CMS_VALUE[5]"; ?>"></td>\r\n </tr>\r\n <tr>\r\n <td><?php echo mi18n("SMTP User");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[6]";?>" value="<?php echo "CMS_VALUE[6]"; ?>"></td>\r\n </tr>\r\n <tr>\r\n <td><?php echo mi18n("SMTP Passwort");?></td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[7]";?>" value="<?php echo "CMS_VALUE[7]"; ?>"></td>\r\n </tr>\r\n</table>\r\n<?php', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Contact Form Output\r\n*\r\n* @version 1.0.0\r\n* @author Andreas Lindner\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2005-08-12\r\n* modified 2008-04-11 Rudi Bieller Changes concerning new layout\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\nelse\r\n{\r\n $tpl->reset();\r\n}\r\n\r\nif (!isset ($_POST[''send''])) {\r\n #Form has not been sent yet\r\n #Create contact form\r\n $sFormAction = $sess->url("front_content.php?idcat=$idcat&idart=$idart&parentid=$parentid");\r\n $tpl->set("s", ''form_action'', $sFormAction);\r\n $tpl->set("s", "ANREDE", mi18n("Anrede"));\r\n $tpl->set("s", "ANREDE_OPTION1", mi18n("Herr"));\r\n $tpl->set("s", "ANREDE_OPTION2", mi18n("Frau"));\r\n $tpl->set("s", "NACHNAME", mi18n("Name"));\r\n $tpl->set("s", "VORNAME", mi18n("Vorname"));\r\n $tpl->set("s", "FIRMA", mi18n("Firma"));\r\n $tpl->set("s", "STRASSE", mi18n("Stra<72>e/Nr."));\r\n $tpl->set("s", "PLZORT", mi18n("PLZ/Ort"));\r\n $tpl->set("s", "TELEFON", mi18n("Telefon"));\r\n $tpl->set("s", "EMAIL", mi18n("E-Mail"));\r\n $tpl->set("s", "ANLIEGEN", mi18n("Nachricht"));\r\n $tpl->set("s", "PFLICHTFELDER", mi18n("Bitte alle Felder ausf<73>llen"));\r\n $tpl->set("s", "ABSCHICKEN", mi18n("abschicken"));\r\n $tpl->set("s", "LOESCHEN", mi18n("l<>schen"));\r\n\r\n $tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/kontaktformular.html");\r\n} elseif ($_POST[''send''] == 1) {\r\n #Form has been sent\r\n\r\n #Check user input\r\n $noerrors = true;\r\n $msg = '''';\r\n if ($_POST[''Vorname''] == '''') {\r\n $noerrors = false;\r\n $msg .= mi18n("Bitte geben Sie Ihren Vornamen ein!")."<br/>";\r\n }\r\n if ($_POST[''Nachname''] == '''') {\r\n $noerrors = false;\r\n $msg .= mi18n("Bitte geben Sie Ihren Namen ein!")."''<br/>";\r\n }\r\n if ($_POST[''EMail''] == '''') {\r\n $noerrors = false;\r\n $msg .= mi18n("Bitte geben Sie Ihre E-Mail-Adresse ein!")."<br/>";\r\n }\r\n if ($_POST[''Strasse''] == '''') {\r\n $noerrors = false;\r\n $msg .= mi18n("Bitte geben Sie Ihre Stra&szlig;e ein!")."<br/>";\r\n }\r\n if ($_POST[''PLZOrt''] == '''') {\r\n $noerrors = false;\r\n $msg .= mi18n("Bitte geben Sie Ihre PLZ/Ort ein!")."<br/>";\r\n }\r\n\r\n if ($noerrors == false) {\r\n echo "<p>";\r\n #Errors have been found\r\n echo "<strong>".mi18n("Beim Versenden sind folgende Fehler aufgetreten:")."</strong><br/>";\r\n echo $msg.''<br/>'';\r\n echo ''<a href="javascript:history.back();">&lsaquo; ''.mi18n("zur&uuml;ck").''</a>'';\r\n } else {\r\n #No errors, create and send mail\r\n $mail = new PHPMailer();\r\n $mail_body = ''<html><head></head><body bgcolor="#ffffff"><table cellspacing="0" cellpadding="2" border="0">'';\r\n\r\n if (is_array($_POST)) {\r\n foreach ($_POST as $key => $value) {\r\n if ($key != ''send'') {\r\n $mail_body .= "<tr><td>$key</td><td>$value</td></tr>";\r\n }\r\n }\r\n }\r\n\r\n $mail_body .= ''</table></bo''.''dy></html>'';\r\n $mail->Host = "localhost";\r\n $mail->IsHTML(true);\r\n\r\n #Get mailer from settings\r\n switch (strtolower("CMS_VALUE[4]")) {\r\n case "smtp" :\r\n $mail->IsSMTP();\r\n $host = "CMS_VALUE[5]";\r\n $user = "CMS_VALUE[6]";\r\n $password = "CMS_VALUE[7]";\r\n if (($host != '''') && ($user != '''') && ($password != '''')) {\r\n $mail->SMTPAuth = true;\r\n $mail->Host = $host;\r\n $mail->Username = $user;\r\n $mail->Password = $password;\r\n }\r\n break;\r\n case "mail" :\r\n $mail->IsMail();\r\n break;\r\n case "sendmail" :\r\n $mail->IsSendmail();\r\n break;\r\n case "qmail" :\r\n $mail->IsQmail();\r\n break;\r\n default :\r\n }\r\n $mail->From = "CMS_VALUE[0]";\r\n $mail->FromName = "CMS_VALUE[2]";\r\n $mail->AddAddress("CMS_VALUE[1]", "");\r\n $mail->Subject = "CMS_VALUE[3]";\r\n $mail->Body = $mail_body;\r\n $mail->WordWrap = 50;\r\n $mail->Send();\r\n \r\n #Display message after mail is sent\r\n echo mi18n("Ihr Anliegen wurde uns <20>bermittelt. Vielen Dank!")."<br/>";\r\n }\r\n}\r\n?>\r\n\r\n\r\n', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:52:45', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (3, 1, 'Contenido_Header', 'Content', 'none', 'Display HTML Comment with Infos about Contenido and the Sample Client.', NULL, '', '<?php\n/**\n* $RCSfile$\n*\n* Description: Display HTML Comment with Infos about Contenido and the Sample Client.\n*\n* @version 1.0.0\n* @author Rudi Bieller\n* @copyright four for business AG <www.4fb.de>\n*\n* {@internal\n* created 2008-04-07\n* }}\n*\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\n*/\n\nif (!isset($tpl) || !is_object($tpl) || strtolower(get_class($tpl)) != ''template'') {\n $tpl = new Template();\n}\n$tpl->reset();\n$tpl->generate(''templates/contenido_header.html'');\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:53:21', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (4, 1, 'Footnotes', 'Content', 'none', 'Display Footnotes at bottom of page.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Display footnotes, fixed output directly from template\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-11\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$tpl->reset();\r\n$tpl->generate(''templates/footnotes_''.strval($lang).''.html'');\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:53:44', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (5, 1, 'Header', 'Content', 'none', 'Display Header with Contenido Logo, an image and the current (navigation-) location.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Display Header with Contenido Logo, an image and the current (navigation-) location.\r\n* If no image is selected, the default one will be used.\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n// get start idcat\r\n$iIdcatStart = (int) getEffectiveSetting(''navigation'', ''idcat-home'', ''1'');\r\n\r\ntry {\r\n // get headline\r\n $oConCat = new Contenido_Category($db, $cfg);\r\n $oConCat->load($idcat, true, $lang);\r\n $sImgEdit = "CMS_IMGDESCR[1]";\r\n $sImg = "CMS_IMG[1]";\r\n \r\n $sHeadline = $iIdcatStart != intval($idcat) \r\n ? $oConCat->getCategoryLanguage()->getName() \r\n : mi18n("Willkommen!");\r\n $sCssStyle = '''';\r\n if ($contenido && $edit) {\r\n echo ''<div id="modHeaderImgEdit">''.$sImgEdit.''</div>'';\r\n }\r\n if ($sImg != '''') {\r\n $sCssStyle = '' style="background-image:url(''.$sImg.'');"'';\r\n }\r\n $tpl->reset();\r\n $tpl->set(''s'', ''css-style'', $sCssStyle);\r\n $tpl->set(''s'', ''url'', ''front_content.php'');\r\n $tpl->set(''s'', ''title'', mi18n("Zur Contenido Homepage"));\r\n $tpl->set(''s'', ''headline'', $sHeadline);\r\n $tpl->generate(''templates/header.html'');\r\n} catch (InvalidArgumentException $eI) {\r\n echo ''Some error occured: '' . $eI->getMessage() . '': '' . $eI->getFile() . '' at line ''.$eI->getLine() . '' (''.$eI->getTraceAsString().'')'';\r\n} catch (Exception $e) {\r\n echo ''Some error occured: '' . $e->getMessage() . '': '' . $e->getFile() . '' at line ''.$e->getLine() . '' (''.$e->getTraceAsString().'')'';\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:53:58', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (6, 1, 'Headline', 'Content', 'none', 'Output standard h1 headline', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Output standard h1 headline\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* modified 2008-11-13, Timo Trautman - fixed XHTML validation error, when module displays empty h1 tag\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$sText = "CMS_HTMLHEAD[1]";\r\n\r\n$tpl->reset();\r\nif ($contenido && $edit) {\r\n $tpl->set(''s'', ''text'', $sText);\r\n $tpl->generate(''templates/headline_h1.html'');\r\n} else {\r\n if ($sText != '''') {\r\n $tpl->set(''s'', ''text'', strip_tags($sText));\r\n $tpl->generate(''templates/headline_h1.html'');\r\n }\r\n}\r\n\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:54:15', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (7, 1, 'Login_Form', 'Content', 'none', 'Display login-form.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Display login form\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$tpl->reset();\r\n\r\nif ($auth->auth["uid"] == "nobody") {\r\n $sTargetIdcat = getEffectiveSetting(''login'', ''idcat'', ''1'');\r\n $sTargetIdart = getEffectiveSetting(''login'', ''idart'', ''1'');\r\n $sFormAction = ''front_content.php?idcat=''.$sTargetIdcat.''&amp;idart=''.$sTargetIdart;\r\n \r\n $tpl->set(''s'', ''headline'', mi18n("Geschlossener Bereich Login"));\r\n $tpl->set(''s'', ''form_action'', $sFormAction);\r\n $tpl->set(''s'', ''label_name'', mi18n("name"));\r\n $tpl->set(''s'', ''label_pass'', mi18n("pass"));\r\n $tpl->set(''s'', ''label_login'', mi18n("einloggen"));\r\n $tpl->generate(''templates/login_form.html'');\r\n} else {\r\n try {\r\n $oConCat = new Contenido_Category($db, $cfg);\r\n $oConCat->load($idcat, true, $lang);\r\n $bCatIsPublic = ($oConCat->getCategoryLanguage()->getVisible() == 1 && $oConCat->getCategoryLanguage()->getPublic() == 1) \r\n ? true : false;\r\n } catch (Exception $e) {\r\n echo $e->getMessage();\r\n }\r\n $oFeUserCollection = new FrontendUserCollection();\r\n $oFeUser = $oFeUserCollection->loadItem($auth->auth["uid"]);\r\n $sText = str_replace(''[uname]'', $oFeUser->get(''username''), mi18n("Willkommen <strong>[uname]</strong>, sch<63>n, dass Sie wieder bei uns vorbeischauen."));\r\n if ($bCatIsPublic === true) {\r\n $sUrl = ''front_content.php?idcat=''.$idcat.''&amp;idart=''.$idart.''&logout=true'';\r\n } else {\r\n $iIdcatHome = (int) getEffectiveSetting(''navigation'', ''idcat-home'', ''1'');\r\n $sUrl = ''front_content.php?idcat=''.$iIdcatHome.''&amp;logout=true'';\r\n }\r\n $tpl->set(''s'', ''headline'', mi18n("Geschlossener Bereich Logout"));\r\n $tpl->set(''s'', ''text'', $sText);\r\n $tpl->set(''s'', ''url'', $sUrl);\r\n $tpl->set(''s'', ''label_logout'', mi18n("ausloggen"));\r\n $tpl->generate(''templates/login_form_loggedin.html'');\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:55:09', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (8, 1, 'Logo_Bottom', 'Content', 'none', 'Display logo on bottom of page.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Display Logo on bottom of page\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n\r\n$tpl->reset();\r\n$tpl->generate(''templates/logo_bottom.html'');\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:55:27', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (9, 1, 'Navigation_Breadcrumb', 'Navigation', 'none', 'Display a breadcrumb navigation.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Build a breadcrumb navigation \r\n* starting from top idcat (of given level) down to current idcat\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-08\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\ntry {\r\n $oBreadcrumb = new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);\r\n $oBreadCategories = $oBreadcrumb->get($idcat, 1); // starting level in this case is 1, not 0\r\n if ($oBreadCategories->count() > 0) {\r\n foreach ($oBreadCategories as $oBreadCategory) {\r\n // please remember, this is a sample - or a live application it''s better to use a template!\r\n echo ''&gt; <a href="front_content.php?idcat=''.$oBreadCategory->getIdCat().''">''.\r\n $oBreadCategory->getCategoryLanguage()->getName().\r\n ''</a> '';\r\n }\r\n }\r\n} catch(Exception $e) {\r\n echo ''Shit happens: '' . $e->getMessage() . '': '' . $e->getFile() . '' at line ''.$e->getLine() . '' (''.$e->getTraceAsString().'')'';\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:55:44', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (10, 1, 'Navigation_Main', 'Navigation', 'none', 'Display main navigation on left side.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: \r\n* Main Navigation, displays Navigation from a starting idcat down to the max. level set.\r\n* For now (as of 2009-01-12) all subcategories are put inside one <ul> and are assigned css classes \r\n* to distinguish level depth, first/last and active item property.\r\n* \r\n* Module requires two client settings: \r\n* navigation_main_standard | start_idcat\r\n* navigation_main_standard | level_depth\r\n* \r\n* To modify the behaviour of the module (e.g. style of URL, CSS classes, ...), you need to edit Contenido_NavMain_Util::loopCats\r\n* @see {frontend}/includes/Util/Modules/Contenido_NavMain_Util.class.php\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2009-01-12\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($db)) {\r\n $db = new DB_Contenido();\r\n}\r\nif (!isset($tpl)) {\r\n $tpl = new Template();\r\n}\r\n$tpl->reset();\r\n\r\ncInclude(''frontend'', ''includes/Util/Modules/Contenido_NavMain_Util.class.php'');\r\n\r\n$iStartIdcat = getEffectiveSetting(''navigation'', ''idcat-home'', 1);\r\n$iSelectedDepth = getEffectiveSetting(''navigation'', ''level-depth'', 3);\r\n\r\nif ($iStartIdcat > 0) {\r\n $oFeNav = new Contenido_FrontendNavigation($db, $cfg, $client, $lang, $cfgClient);\r\n $oFeNav->setAuth($auth);\r\n $oFeNav->setRootCat($iStartIdcat);\r\n $oSubCategories = $oFeNav->getSubCategories($iStartIdcat, true, true, 1);\r\n // see if there are any subcategories to display\r\n if ($oSubCategories->count() > 0) {\r\n $aLevelInfo = array();\r\n $aDepthInfo = array();\r\n $aDepthInfo[0] = 0;\r\n $aDepthInfo[1] = $iSelectedDepth;\r\n foreach ($oSubCategories as $oSubCategory) {\r\n Contenido_NavMain_Util::loopCats($oSubCategory, $oFeNav, $tpl, $cfg, $lang, $aLevelInfo, intval($idcat), $aDepthInfo);\r\n }\r\n $tpl->generate(''templates/navigation_standard.html'');\r\n }\r\n} else {\r\n echo ''<p>Navigation not configured correctly.</p>'';\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:57:42', '2013-01-24 14:27:26');
INSERT INTO !PREFIX!_mod VALUES (11, 1, 'Navigation_Meta', 'Navigation', 'none', 'Display meta navigation on bottom of page.', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Meta Navigation on bottom of page\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\n// get start idcat\r\n$iIdcatStart = getEffectiveSetting(''navigation'', ''idcat-meta'', 2);\r\n\r\n//check if there is a template instance\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n// reset template object\r\n$tpl->reset();\r\n\r\n// build navigation\r\ntry {\r\n $oFeNav = new Contenido_FrontendNavigation($db, $cfg, $client, $lang, $cfgClient);\r\n $oFeNav->setAuth($auth);\r\n $oContenidoCategories = $oFeNav->getSubCategories($iIdcatStart, true);\r\n if ($oContenidoCategories->count() > 0) {\r\n foreach ($oContenidoCategories as $oContenidoCategory) {\r\n // this is just for sample client - modify to your needs!\r\n if (($aCfg[''url_builder''][''name''] == ''front_content'') || ($aCfg[''url_builder''][''name''] == ''MR'')) {\r\n $aParams = array(''lang'' => $lang, ''idcat'' => $oContenidoCategory->getIdCat());\r\n } else {\r\n $aParams = array(''a'' => $oContenidoCategory->getIdCat(), \r\n ''idcat'' => $oContenidoCategory->getIdCat(), // needed to build category path\r\n ''lang'' => $lang, // needed to build category path\r\n ''level'' => 0); // needed to build category path\r\n }\r\n try {\r\n $tpl->set(''d'', ''url'', Contenido_Url::getInstance()->build($aParams));\r\n } catch (InvalidArgumentException $e) {\r\n $tpl->set(''d'', ''url'', ''front_content.php?idcat=''.$oContenidoCategory->getIdCat());\r\n }\r\n $tpl->set(''d'', ''title'', $oContenidoCategory->getCategoryLanguage()->getName());\r\n $tpl->set(''d'', ''label'', $oContenidoCategory->getCategoryLanguage()->getName());\r\n $tpl->next();\r\n }\r\n $sItems = $tpl->generate(''templates/navigation_meta_item.html'', true, false);\r\n $tpl->reset();\r\n $tpl->set(''s'', ''items'', $sItems);\r\n $tpl->generate(''templates/navigation_meta_container.html'');\r\n }\r\n} catch (Exception $e) {\r\n echo ''Shit happens: '' . $e->getMessage() . '': '' . $e->getFile() . '' at line ''.$e->getLine() . '' (''.$e->getTraceAsString().'')'';\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:57:53', '2013-01-25 11:30:12');
INSERT INTO !PREFIX!_mod VALUES (12, 1, 'News', 'Content', 'none', 'teaser article of a category\r\nAuthor: Andreas Lindner\r\nVersion:1.0', NULL, '?><?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Newslist / ArticleList. Module "Input".\r\n*\r\n* @version 1.0.0\r\n* @author Andreas Lindner\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2005-08-12\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\n#Select category\r\n$cms_idcat = "CMS_VALUE[1]";\r\n\r\necho ''<table cellpadding="0" cellspacing="0" border="0">'';\r\n\r\necho ''\r\n <tr><td class="text_medium" style="padding:5px">Kategorie w&auml;hlen: </td></tr>\r\n <tr><td class="text_medium" style="padding:5px">'';\r\n\r\necho buildCategorySelect("CMS_VAR[1]", "CMS_VALUE[1]");\r\necho ''&nbsp;<input type="image" src="images/submit.gif">'';\r\n\r\necho ''</td></tr>'';\r\n\r\n#Select sort field and sort order\r\n$sortdate = ''checked'';\r\n$cms_imgsize = "CMS_VALUE[14]";\r\n$cms_limit_articles = "CMS_VALUE[15]";\r\n$cms_sort_direction = "CMS_VALUE[16]";\r\nif ("CMS_VALUE[17]" != '''') {\r\n $cms_include_start_article = '' checked'';\r\n} else {\r\n $cms_include_start_article = '''';\r\n}\r\n\r\nif ("CMS_VALUE[3]" == ''sortdate'') {\r\n $sortdate = ''checked'';\r\n $sortnum = '''';\r\n}\r\nelseif ("CMS_VALUE[3]" == ''sortnum'') {\r\n $sortdate = '''';\r\n $sortnum = ''checked'';\r\n}\r\n\r\necho ''\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Sortierung nach Datum").'':</td>\r\n <td style="padding:5px;"><input type="radio" name="CMS_VAR[3]" value="sortdate" ''.$sortdate.''></td>\r\n </tr>\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Sortierung nach Nummer").'':</td>\r\n <td style="padding:5px;"><input type="radio" name="CMS_VAR[3]" value="sortnum" ''.$sortnum.''></td>\r\n </tr>\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Sortierung aufsteigend").'':</td>\r\n <td style="padding:5px;">'';\r\nif (strtolower($cms_sort_direction) == ''desc'') {\r\n echo ''<input type="radio" name="CMS_VAR[16]" value="asc"/>'';\r\n} else {\r\n echo ''<input type="radio" name="CMS_VAR[16]" value="asc" checked/>'';\r\n}\r\necho ''</td>\r\n </tr>\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Sortierung absteigend").'':</td>\r\n <td style="padding:5px;">'';\r\nif (strtolower($cms_sort_direction) == ''desc'') {\r\n echo ''<input type="radio" name="CMS_VAR[16]" value="desc" checked/>'';\r\n} else {\r\n echo ''<input type="radio" name="CMS_VAR[16]" value="desc"/>'';\r\n}\r\necho ''</td>\r\n </tr>'';\r\n\r\n$noimg = '''';\r\nif ("CMS_VALUE[13]" == ''true'') {\r\n $noimg = ''checked'';\r\n}\r\n\r\n#Headline\r\necho ''\r\n <tr><td class="text_medium" style="padding:5px;">''.mi18n("&Uuml;berschrift").'': </td></tr>\r\n <tr><td style="padding:5px;"><input type="text" name="CMS_VAR[4]" value="CMS_VALUE[4]"></td></tr>\r\n <tr>\r\n <td colspan="2" class="text_medium" style="padding:5px;"><b><u>''.mi18n("Bild f&uuml;r Teaser").'':</u></b></td>\r\n </tr>\r\n <tr>\r\n <td colspan="2" class="text_medium" style="padding:5px;">''.mi18n("Es wird das erste Bild des Artikels angezeigt.").''</td>\r\n </tr>'';\r\n#Image width\r\necho ''\r\n <tr><td class="text_medium" style="padding:5px;">''.mi18n("Bildbreite").'': </td></tr>\r\n <tr><td style="padding:5px;"><input type="text" name="CMS_VAR[14]" value="''.$cms_imgsize.''" maxlength="3"></td></tr>'';\r\n#Disable images\r\necho ''\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Kein Bild anzeigen").'':</td>\r\n <td style="padding:5px;"><input type="checkbox" name="CMS_VAR[13]" value="true" ''.$noimg.''></td>\r\n </tr>'';\r\n#Number of articles\r\necho ''\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Anzahl Artikel begrenzen").'':</td>\r\n <td style="padding:5px;"><input type="text" name="CMS_VAR[15]" value="''.$cms_limit_articles.''"></td>\r\n </tr>'';\r\n#Include start article\r\necho ''\r\n <tr>\r\n <td class="text_medium" style="padding:5px;">''.mi18n("Startartikel in Liste einbeziehen").'':</td>\r\n <td style="padding:5px;"><input type="checkbox" name="CMS_VAR[17]" value="yes"''.$cms_include_start_article.''></td>\r\n </tr>'';\r\n\r\necho ''</table>'';\r\n?><?php', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Newslist / ArticleList. Module "Output".\r\n*\r\n* @version 1.1.0\r\n* @author Andreas Lindner\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2005-08-12\r\n* modified 2009-01-16 Rudi Bieller Added new Contenido_Url for creating URLs\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\ncInclude(''includes'', ''functions.api.string.php'');\r\ncInclude(''includes'', ''functions.api.images.php'');\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$tpl->reset();\r\n\r\n$sql = "SELECT\r\n htmlpath, frontendpath\r\n FROM\r\n ".$cfg["tab"]["clients"]." \r\n WHERE\r\n idclient = ".$client." ";\r\n\r\n$db->query($sql);\r\n\r\nif ($db->next_record()) {\r\n $htmlpath = $db->f(''htmlpath'');\r\n $frontendpath = $db->f(''frontendpath'');\r\n}\r\n\r\n// selected category\r\n$selcat = "CMS_VALUE[1]";\r\n$template = "teaser-standard.html";\r\n// anzahl der zeichen text\r\n$mxtext = 200;\r\n\r\n$limit = "CMS_VALUE[15]";\r\n\r\n$cms_sort_direction = "CMS_VALUE[16]";\r\nif ($cms_sort_direction == '''') {\r\n $cms_sort_direction = ''desc'';\r\n}\r\n\r\nif ("CMS_VALUE[3]" == "sortdate") {\r\n $order = ''lastmodified'';\r\n} else {\r\n $order = ''artsort'';\r\n}\r\n\r\nif ("CMS_VALUE[17]" != '''') {\r\n $with_start = true;\r\n} else {\r\n $with_start = false;\r\n}\r\n\r\n$newsheadline = "CMS_VALUE[4]";\r\n\r\n$tpl->set(''s'', ''TITLE'', $newsheadline);\r\n\r\nif (strlen($selcat) > 0 && $selcat != ''0'') {\r\n $options = array (''idcat'' => $selcat, "start" => $with_start, "order" => $order, "direction" => $cms_sort_direction);\r\n\r\n $list = new ArticleCollection($options);\r\n\r\n $count = $list->count;\r\n\r\n if ($count > 0) {\r\n if (is_numeric($limit) AND strlen($limit) > 0) {\r\n if ($limit < $list->count) {\r\n $limit_art = $limit;\r\n } else {\r\n $limit_art = $list->count;\r\n }\r\n } else {\r\n $limit_art = $list->count;\r\n }\r\n\r\n for ($i = 0; $i < $limit_art; $i ++) {\r\n\r\n $article = $list->nextArticle();\r\n\r\n $article_id = $article->getField(''idart'');\r\n\r\n $teaser_img = '''';\r\n if ($noimg != ''true'') {\r\n $text_html = $article->getContent(''CMS_HTML'', 1);\r\n\r\n $regEx = "/<img[^>]*?>.*?/i";\r\n $match = array ();\r\n preg_match($regEx, $text_html, $match);\r\n\r\n $regEx = "/(src)(=)([''\\"]?)([^\\"'']*)([''\\"]?)/i";\r\n $img = array ();\r\n preg_match($regEx, $match[0], $img);\r\n $img_src = preg_split("/\\//", $img[0]);\r\n\r\n $img_name = $img_src[count($img_src) - 1];\r\n $img_name = preg_replace("/\\"/", "", $img_name);\r\n $img_split = preg_split("/\\./", $img_name);\r\n $img_type = $img_split[count($img_split) - 1];\r\n\r\n $img_split2 = preg_split("/_/", $img_split[0]);\r\n\r\n $name = $img_name;\r\n\r\n if (count($img_split2) > 1) {\r\n $img_x = $img_split2[count($img_split2) - 1];\r\n $img_y = $img_split2[count($img_split2) - 2];\r\n\r\n if (is_numeric($img_x) AND is_numeric($img_y)) {\r\n $suffix = "_".$img_x."_".$img_y.".".$img_type;\r\n $name = preg_replace("/$suffix/", "", $img_name);\r\n $name = $name.".[a-zA-Z]{3}";\r\n }\r\n }\r\n\r\n $img_teaser = '''';\r\n\r\n if (strlen($name) > 0) {\r\n $sql = "SELECT\r\n *\r\n FROM\r\n ".$cfg["tab"]["upl"]." \r\n WHERE\r\n filename REGEXP ''$name'' ";\r\n\r\n //echo "<pre>"; print_r($sql); echo "</pre>";\r\n\r\n $db->query($sql);\r\n\r\n if ($db->next_record()) {\r\n $filename = $db->f(''filename'');\r\n $dirname = $db->f(''dirname'');\r\n }\r\n\r\n $img_path = $cfgClient[$client]["upl"]["path"].$dirname.$filename;\r\n\r\n $img_size = "CMS_VALUE[14]";\r\n\r\n $img_teaser = capiImgScale($img_path, $img_size, $img_size, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);\r\n } // end if strlen\r\n\r\n if (strlen($img_teaser) > 0) {\r\n $teaser_img = ''<img src="''.$img_teaser.''" class="teaser_img">'';\r\n } else {\r\n $teaser_img = '''';\r\n }\r\n\r\n } // end if noimg \r\n\r\n $headline = strip_tags($article->getContent(''CMS_HTMLHEAD'', 1));\r\n $headline = str_replace($replace, " ", $headline);\r\n\r\n /* $subheadline = strip_tags($article->getContent(''CMS_HTMLHEAD'', 2));\r\n $subheadline = str_replace($replace, " ", $subheadline);*/\r\n\r\n $teaserheadline = /*$subheadline."&nbsp;-&nbsp;".*/\r\n $headline;\r\n // this is just for sample client - modify to your needs!\r\n if (($aCfg[''url_builder''][''name''] == ''front_content'') || ($aCfg[''url_builder''][''name''] == ''MR'')) {\r\n $aParams = array(''lang'' => $lang, ''idcat'' => $selcat, ''idart'' => $article_id);\r\n } else {\r\n $aParams = array(''b'' => array(''lang'' => $lang, ''idcat'' => $selcat, ''idart'' => $article_id), \r\n ''idcat'' => $selcat, // needed to build category path\r\n ''lang'' => $lang, // needed to build category path\r\n ''level'' => 1); // needed to build category path\r\n }\r\n try {\r\n $href = Contenido_Url::getInstance()->build($aParams);\r\n } catch (InvalidArgumentException $e) {\r\n $href = $sess->url("front_content.php?idcat=$selcat&amp;idart=$article_id");\r\n }\r\n $teasertext = $article->getField(''summary'');\r\n\r\n if (strlen(trim($teasertext)) == 0) {\r\n $teasertext = strip_tags($article->getContent(''CMS_HTML'', 1));\r\n $teasertext2 = $teasertext;\r\n $teasertext = capiStrTrimAfterWord($teasertext, $mxtext);\r\n if ($teasertext!=$teasertext2) {\r\n $teasertext.= ''...'';\r\n }\r\n \r\n } // end if \r\n\r\n $teasertext = $teasertext."&nbsp;";\r\n\r\n $tpl->set(''d'', ''HEADLINE'', $teaserheadline);\r\n $tpl->set(''d'', ''TEXT'', $teasertext);\r\n $tpl->set(''d'', ''HREF'', $href);\r\n $tpl->set(''d'', ''IMG'', $teaser_img);\r\n $tpl->set(''d'', ''MORE'', mi18n("mehr"));\r\n\r\n $tpl->next();\r\n\r\n } // end for\r\n\r\n $tpl->generate(''templates/''.$template);\r\n\r\n }\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:58:05', '2013-01-25 11:31:16');
INSERT INTO !PREFIX!_mod VALUES (13, 1, 'Newsletter_Form', 'Content', 'none', 'Newsletter Subscription Module V4.0.0 (for text and HTML newsletters)\r\n\r\nProvides multilanguage form for newsletter subscribing and cancellation.\r\n\r\nBased on the work of 4fb, www.x28.de, HerrB, 01.06.2007\r\n\r\nNotes:\r\n- The default language is english. Use the translation functionality to translate the module in other languages\r\n- Create a template which includes this module and create an article using that template.\r\n- Configure category/arcticle specifying handler article id', NULL, ' // Includes\r\n cInclude(''frontend'', ''includes/class.input.helper.php''); # Note, this file is located in <client-path>/includes!\r\n\r\n // Initialisation\r\n $oClientLang = new cApiClientLanguage(false, $client, $lang);\r\n\r\n /*\r\n * Used variables:\r\n * JoinSel: Selection, which group will be joined (Default, Selected, UserSelected)\r\n * JoinMultiple: If JoinSel = UserSelected then: If more than one group has been specified, select more than one\r\n * JoinGroups: Selected group(s)\r\n * JoinMessageType: Message type for new recipients: User select (user), text or html\r\n * OptNewWindow: Open handler window in new browser window?\r\n */\r\n $aSettings = array();\r\n $aSettings[''JoinSel''] = $oClientLang->getProperty(''newsletter'', ''joinsel'');\r\n $aSettings[''JoinMultiple''] = $oClientLang->getProperty(''newsletter'', ''joinmultiple'');\r\n $aSettings[''JoinGroups''] = $oClientLang->getProperty(''newsletter'', ''joingroups'');\r\n $aSettings[''JoinMessageType''] = $oClientLang->getProperty(''newsletter'', ''joinmessagetype'');\r\n $aSettings[''OptNewWindow''] = "CMS_VALUE[4]";\r\n \r\n // Setting default values\r\n /*\r\n * If nothing is set or if the option "UserSelected" has been activated, but no groups\r\n * have been selected, set option "Default". Note, that requiring to select groups when option\r\n * "Selected" has been activated doesn''t make so much sense here (even, as it is possible to do).\r\n * Why? Because the groups to be joined have to be specified on the handler page, not here...\r\n * To prevent users to select a group (or not to save the selection) when the option "Selected" is\r\n * active should make more problems than just to ignore the selection in the Output area\r\n */\r\n \r\n if ($aSettings[''JoinSel''] == '''' || ($aSettings[''JoinSel''] == ''UserSelected'' && $aSettings[''JoinGroups''] == '''')) {\r\n $aSettings[''JoinSel''] = ''Default'';\r\n }\r\n if (!is_numeric($_REQUEST[''selHandlerCatArt''.$cnumber]) || $_REQUEST[''selHandlerCatArt''.$cnumber] < 0) {\r\n $_REQUEST[''selHandlerCatArt''.$cnumber] = 0;\r\n }\r\n \r\n // Saving changes, if any\r\n if ($_REQUEST[''hidAction''.$cnumber] == ''save'')\r\n {\r\n if ($_REQUEST[''radJoin''.$cnumber] != '''' && $_REQUEST[''radJoin''.$cnumber] != $aSettings[''JoinSel''])\r\n {\r\n $aSettings[''JoinSel''] = $_REQUEST[''radJoin''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joinsel'', $aSettings[''JoinSel'']);\r\n }\r\n if ($_REQUEST[''ckbJoinMultiple''.$cnumber] != $aSettings[''JoinMultiple''])\r\n {\r\n $aSettings[''JoinMultiple''] = $_REQUEST[''ckbJoinMultiple''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joinmultiple'', $aSettings[''JoinMultiple'']);\r\n }\r\n if ($_REQUEST[''hidJoinGroups''.$cnumber] != '''' && $_REQUEST[''hidJoinGroups''.$cnumber] != $aSettings[''JoinGroups''])\r\n {\r\n $aSettings[''JoinGroups''] = $_REQUEST[''hidJoinGroups''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joingroups'', $aSettings[''JoinGroups'']);\r\n }\r\n if ($_REQUEST[''selMessageType''.$cnumber] != $aSettings[''JoinMessageType''])\r\n {\r\n $aSettings[''JoinMessageType''] = $_REQUEST[''selMessageType''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joinmessagetype'', $aSettings[''JoinMessageType'']);\r\n }\r\n \r\n if ($_REQUEST[''ckbUpdateHandlerID''.$cnumber] == ''enabled'')\r\n {\r\n // Trick: If UpdateHandlerID is enabled, save id as client setting\r\n $iHandlerCatArt = $_REQUEST[''selHandlerCatArt''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''idcatart'', $iHandlerCatArt);\r\n }\r\n }\r\n // Getting current handler article id\r\n $iHandlerCatArt = $oClientLang->getProperty(''newsletter'', ''idcatart'');\r\n unset ($oClientLang);\r\n \r\n // Showing options\r\n $oCfgTable = new UI_Config_Table;\r\n \r\n $oHidAction = new cHTMLHiddenField(''hidAction''.$cnumber, ''save'');\r\n \r\n $oSelHandlerCatArt = new cHTMLInputSelectElement(''selHandlerCatArt''.$cnumber, 1, '''', true);\r\n $oOption = new cHTMLOptionElement(mi18n("- Please select -"), '''');\r\n $oSelHandlerCatArt->addOptionElement(0, $oOption);\r\n $oSelHandlerCatArt->addCategories(0, true, false, false, true, true);\r\n $oSelHandlerCatArt->setDefault($iHandlerCatArt);\r\n \r\n $oCkbUpdate = new cHTMLCheckbox(''ckbUpdateHandlerID''.$cnumber, ''enabled'');\r\n $oCkbUpdate->setEvent(''click'', ''if (this.checked) {document.forms[0].selHandlerCatArt''.$cnumber.''.disabled = false;} else {document.forms[0].selHandlerCatArt''.$cnumber.''.disabled = true;}'');\r\n \r\n $oCfgTable->setCell(''handler'', 0, mi18n("Handler Article:"));\r\n $oCfgTable->setCell(''handler'', 1, $oHidAction->render().$oSelHandlerCatArt->render()."\\n&nbsp;".$oCkbUpdate->toHTML(false).mi18n("Update"));\r\n \r\n // Getting newsletter groups (if any)\r\n $oRcpGroups = new RecipientGroupCollection;\r\n $oRcpGroups->setWhere(''idclient'', $client);\r\n $oRcpGroups->setWhere(''idlang'', $lang);\r\n $oRcpGroups->setWhere(''defaultgroup'', ''0'');\r\n $oRcpGroups->setOrder(''defaultgroup DESC, groupname ASC'');\r\n $oRcpGroups->query();\r\n \r\n // Join options\r\n // If newsletter groups are available, provide group options, otherwise show only\r\n // ''Default'' option. This is necessary, as there may have been groups specified (and used)\r\n // but they have been deleted, later on.\r\n \r\n $oCfgTable->setCell(''join_01'', 0, mi18n("Join:"));\r\n \r\n if ($oRcpGroups->Count() == 0) {\r\n // No groups available, only default group possible\r\n \r\n $oRadJoinDefault = new cHTMLRadioButton (''radJoin''.$cnumber, ''Default'', '''', true);\r\n $oCfgTable->setCell(''join_01'', 1, $oRadJoinDefault->toHTML(false).mi18n("default group"));\r\n } else {\r\n // Groups available, show different group join options\r\n \r\n // Join default group only\r\n if ($aSettings[''JoinSel''] == ''Default'') {\r\n $oRadJoinDefault = new cHTMLRadioButton (''radJoin''.$cnumber, ''Default'', '''', true);\r\n } else {\r\n $oRadJoinDefault = new cHTMLRadioButton (''radJoin''.$cnumber, ''Default'');\r\n }\r\n $oRadJoinDefault->setEvent(''click'', "document.forms[0].elements[''ckbJoinMultiple".$cnumber."''].disabled = true; document.forms[0].selGroup".$cnumber.".disabled = true;");\r\n $oCfgTable->setCell(''join_01'', 1, $oRadJoinDefault->toHTML(false).mi18n("default group"));\r\n $oCfgTable->setRowBgColor(''join_01'', $cfg["color"]["table_light"]);\r\n \r\n // Join admin selected groups automatically\r\n if ($aSettings[''JoinSel''] == ''Selected'') {\r\n $oRadJoinSelected = new cHTMLRadioButton (''radJoin''.$cnumber, ''Selected'', '''', true);\r\n } else {\r\n $oRadJoinSelected = new cHTMLRadioButton (''radJoin''.$cnumber, ''Selected'');\r\n }\r\n $oRadJoinSelected->setEvent(''click'', "document.forms[0].elements[''ckbJoinMultiple".$cnumber."''].disabled = false; document.forms[0].selGroup".$cnumber.".disabled = false;");\r\n $oCfgTable->setCell(''join_02'', 0, '''');\r\n $oCfgTable->setCell(''join_02'', 1, $oRadJoinSelected->toHTML(false).mi18n("selected group(s)"));\r\n $oCfgTable->setRowBgColor(''join_02'', $cfg["color"]["table_light"]);\r\n \r\n // Join the groups the user has selected (-> provide a list for the user), optionally, the user may select more than one group\r\n if ($aSettings[''JoinSel''] == ''UserSelected'')\r\n {\r\n $oRadJoinUserSel = new cHTMLRadioButton (''radJoin''.$cnumber, ''UserSelected'', '''', true);\r\n $oCkbJoinMultiple = new cHTMLCheckbox (''ckbJoinMultiple''.$cnumber, ''enabled'', '''', $aSettings[''JoinMultiple'']);\r\n } else {\r\n $oRadJoinUserSel = new cHTMLRadioButton (''radJoin''.$cnumber, ''UserSelected'');\r\n $oCkbJoinMultiple = new cHTMLCheckbox (''ckbJoinMultiple''.$cnumber, ''enabled'', '''', false, true);\r\n }\r\n $oRadJoinUserSel->setEvent(''click'', "document.forms[0].elements[''ckbJoinMultiple".$cnumber."''].disabled = false; document.forms[0].selGroup".$cnumber.".disabled = false;");\r\n $oCfgTable->setCell(''join_03'', 0, '''');\r\n $oCfgTable->setCell(''join_03'', 1, $oRadJoinUserSel->toHTML(false).mi18n("group(s) as selected by user").''<br />''."\\n".$oCkbJoinMultiple->toHTML(false).mi18n("Multiple group selection allowed"));\r\n $oCfgTable->setRowBgColor(''join_03'', $cfg["color"]["table_light"]);\r\n \r\n $oCfgTable->setCell(''groups'', 0, mi18n("Select group(s):"));\r\n \r\n // Show groups\r\n // Trick: To save multiple selections in <select>-Element, add some JS which saves the\r\n // selection, comma separated in a hidden input field on change.\r\n $sSkript = '' <script type="text/javascript"><!--''."\\n".\r\n '' function fncUpdateSel() {''."\\n".\r\n '' var strSel = "";''."\\n".\r\n '' for(i = 0; i < document.forms[0].selGroup''.$cnumber.''.length; i++) {''."\\n".\r\n '' if(document.forms[0].selGroup''.$cnumber.''.options[i].selected == true) {''."\\n".\r\n '' if (strSel != "")''."\\n".\r\n '' strSel = strSel + ",";''."\\n".\r\n '' strSel = strSel + document.forms[0].selGroup''.$cnumber.''.options[i].value;''."\\n".\r\n '' }''."\\n".\r\n '' }''."\\n".\r\n '' document.forms[0].elements["hidJoinGroups''.$cnumber.''"].value = strSel;''."\\n".\r\n '' }''."\\n".\r\n '' //--></script>''."\\n";\r\n\r\n if ($aSettings[''JoinSel''] == ''Default'') {\r\n $oSelGroup = new cHTMLSelectElement (''selGroup''.$cnumber, '''', '''', true);\r\n } else {\r\n $oSelGroup = new cHTMLSelectElement (''selGroup''.$cnumber, '''');\r\n }\r\n $oSelGroup->setSize(5);\r\n $oSelGroup->setMultiselect();\r\n $oSelGroup->setEvent(''change'', "fncUpdateSel()");\r\n\r\n $aGroups = explode('','', $aSettings[''JoinGroups'']);\r\n while ($oRcpGroup = $oRcpGroups->next()) {\r\n $iID = $oRcpGroup->get(''idnewsgroup'');\r\n if (in_array ($iID, $aGroups)) {\r\n $oOption = new cHTMLOptionElement($oRcpGroup->get(''groupname''), $iID, true);\r\n } else {\r\n $oOption = new cHTMLOptionElement($oRcpGroup->get(''groupname''), $iID, false);\r\n }\r\n $oSelGroup->addOptionElement($iID, $oOption);\r\n }\r\n \r\n $oHidGroups = new cHTMLHiddenField (''hidJoinGroups''.$cnumber, $aSettings[''JoinGroups'']);\r\n $oCfgTable->setCell(''groups'', 1, $sSkript.$oSelGroup->render().$oHidGroups->render());\r\n }\r\n \r\n // Options: Message type (user [->selectbox], text or html)\r\n $oCfgTable->setCell(''options_01'', 0, mi18n("Options:"));\r\n\r\n $oSelMsgType = new cHTMLSelectElement (''selMessageType''.$cnumber);\r\n $oOption = new cHTMLOptionElement(mi18n("User selected"), "user");\r\n $oSelMsgType->addOptionElement(0, $oOption);\r\n $oOption = new cHTMLOptionElement(mi18n("Text only"), "text");\r\n $oSelMsgType->addOptionElement(1, $oOption);\r\n $oOption = new cHTMLOptionElement(mi18n("HTML and text"), "html");\r\n $oSelMsgType->addOptionElement(2, $oOption);\r\n $oSelMsgType->setDefault($aSettings[''JoinMessageType'']);\r\n\r\n $oCfgTable->setCell(''options_01'', 1, mi18n("Default message type:").''&nbsp;''.$oSelMsgType->render());\r\n \r\n // Options: Open handler article in new window?\r\n $oCfgTable->setCell(''options_02'', 0, '''');\r\n $oCkbNewWindow = new cHTMLCheckbox("CMS_VAR[4]", ''enabled'', '''', "CMS_VALUE[4]");\r\n $oCfgTable->setCell(''options_02'', 1, $oCkbNewWindow->toHTML(false).mi18n("Open handler article in new window"));\r\n $oCfgTable->setRowBgColor(''options_02'', $cfg["color"]["table_light"]);\r\n \r\n $oCfgTable->render(true);', '<?php\r\n // Initialisation\r\n $oClientLang = new cApiClientLanguage(false, $client, $lang);\r\n\r\n /*\r\n * Used variables:\r\n * JoinSel: Selection, which group will be joined (Default, Selected, UserSelected)\r\n * JoinMultiple: If JoinSel = UserSelected then: If more than one group has been specified, select more than one\r\n * JoinGroups: Selected group(s)\r\n * JoinMessageType: Message type for new recipients: User select (user), text or html\r\n * OptNewWindow: Open handler window in new browser window?\r\n */\r\n $aSettings = array();\r\n $aSettings[''JoinSel''] = $oClientLang->getProperty(''newsletter'', ''joinsel'');\r\n $aSettings[''JoinMultiple''] = $oClientLang->getProperty(''newsletter'', ''joinmultiple'');\r\n $aSettings[''JoinGroups''] = $oClientLang->getProperty(''newsletter'', ''joingroups'');\r\n $aSettings[''JoinMessageType''] = $oClientLang->getProperty(''newsletter'', ''joinmessagetype'');\r\n $aSettings[''OptNewWindow''] = "CMS_VALUE[4]";\r\n\r\n $sTemplate = ''newsletter_form.html'';\r\n\r\n if ($aSettings["JoinSel"] == "" || ($aSettings["JoinSel"] == "UserSelected" && $aSettings["JoinGroups"] == "")) {\r\n $aSettings["JoinSel"]= "Default";\r\n }\r\n\r\n if (!isset($oPage) || !is_object($oPage)) {\r\n $oPage = new Template;\r\n }\r\n $oPage->reset();\r\n\r\n $oPage->set(''s'', ''FORM_ACTION'', ''front_content.php?changelang=''.$lang.''&amp;idcatart=''.\r\n $oClientLang->getProperty(''newsletter'', ''idcatart''));\r\n unset ($oClientLang);\r\n\r\n if ($aSettings["OptNewWindow"]) {\r\n $oPage->set(''s'', ''FORM_TARGET'', '' target="_blank"'');\r\n } else {\r\n $oPage->set(''s'', ''FORM_TARGET'', '''');\r\n }\r\n $oPage->set(''s'', ''EMAILNAME'', mi18n("Name"));\r\n $oPage->set(''s'', ''EMAIL'', mi18n("E-Mail"));\r\n\r\n $sTmpHTML = "";\r\n if ($aSettings["JoinSel"] == "UserSelected") {\r\n // Late include to increase performance\r\n\r\n $oRcpGroups = new RecipientGroupCollection;\r\n $oRcpGroups->setWhere(''idclient'', $client);\r\n $oRcpGroups->setWhere(''idlang'', $lang);\r\n $oRcpGroups->setWhere(''defaultgroup'', ''0'');\r\n $oRcpGroups->setWhere(''idnewsgroup'', explode('','', $aSettings["JoinGroups"]), ''IN'');\r\n $oRcpGroups->setOrder(''groupname ASC'');\r\n $oRcpGroups->query();\r\n\r\n #$oRcpGroups->select("idclient = ''$client'' AND idlang = ''$lang'' AND defaultgroup = ''0'' AND idnewsgroup IN (".$aSettings["JoinGroups"].")","", "groupname ASC");\r\n\r\n if ($oRcpGroups->Count() > 0) {\r\n $oLblGroupSel = new cHTMLLabel(mi18n("Select"), "selNewsletterGroup");\r\n\r\n $oSelGroup = new cHTMLSelectElement("selNewsletterGroup[]", "", "selNewsletterGroup");\r\n $oSelGroup->setSize(2);\r\n $oSelGroup->setClass("");\r\n\r\n if ($aSettings["JoinMultiple"] == "enabled") {\r\n $oSelGroup->setMultiselect();\r\n }\r\n \r\n while ($oRcpGroup = $oRcpGroups->next())\r\n {\r\n $iID = $oRcpGroup->get("idnewsgroup");\r\n $oOption = new cHTMLOptionElement ($oRcpGroup->get("groupname"), $iID);\r\n $oSelGroup->addOptionElement($iID, $oOption);\r\n }\r\n\r\n $sTmpHTML .= '' ''.$oLblGroupSel->toHTML()."\\n";\r\n $sTmpHTML .= '' ''.$oSelGroup->render()."\\n";\r\n $sTmpHTML .= '' <br class="y"/>'';\r\n }\r\n }\r\n // You may like to add here additional rows for fields used in recipient- or frontenduser-plugins\r\n // $sTmpHTML .= ''...'';\r\n\r\n if ($aSettings[''JoinMessageType''] == ''user'')\r\n {\r\n $oLblType = new cHTMLLabel(mi18n("Type"), "selNewsletterType");\r\n\r\n $oSelType = new cHTMLSelectElement("selNewsletterType", "", "selNewsletterType");\r\n $oSelType->setSize(1);\r\n $oSelType->setClass("");\r\n \r\n $oOption = new cHTMLOptionElement (mi18n("Text only"), 0);\r\n $oSelType->addOptionElement(0, $oOption);\r\n $oOption = new cHTMLOptionElement (mi18n("HTML"), 1);\r\n $oSelType->addOptionElement(1, $oOption);\r\n\r\n //$sTmpHTML .= '' ''.$oLblType->toHTML()."\\n";\r\n $sTmpHTML .= '' ''.$oSelType->render()."\\n";\r\n $sTmpHTML .= '' <br class="y"/>'';\r\n }\r\n $oPage->set(''s'', ''EXTRAHTML'', $sTmpHTML);\r\n\r\n $oPage->set(''s'', ''NEWSLETTER'', mi18n("Newsletter"));\r\n $oPage->set(''s'', ''SUBSCRIBE'', mi18n("Subscribe"));\r\n $oPage->set(''s'', ''DELETE'', mi18n("Unsubscribe"));\r\n\r\n $oPage->set("s", "ABSCHICKEN", mi18n("submit"));\r\n $oPage->set("s", "LOESCHEN", mi18n("delete"));\r\n $oPage->set(''s'', ''JOIN'', mi18n("Join"));\r\n\r\n $oPage->generate(''templates/''.$sTemplate);\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:58:33', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (14, 1, 'Newsletter_Handler', 'Content', 'none', 'Newsletter Handler Module V4.0.1 (for text and HTML newsletters)\r\n\r\nProvides multilanguage handling for newsletter subscribing, cancellation and other features.\r\n\r\nBased on the work of 4fb, www.x28.de, HerrB, 01.05.2007\r\n\r\nNotes:\r\n- The default language is english. Use the translation functionality to translate the module in other languages\r\n- Create a template which includes this module and create an article using that template.\r\n- Configure category/arcticle specifying handler article id', NULL, ' cInclude(''frontend'', ''includes/class.input.helper.php''); # Note, this file is located in <client-path>/includes!\r\n\r\n // Initialisation\r\n $oClientLang = new cApiClientLanguage(false, $client, $lang);\r\n $oClient = new cApiClient($client);\r\n\r\n /*\r\n * Used variables:\r\n * JoinSel: Selection, which group will be joined (Default, Selected, User specified)\r\n * JoinMultiple: If JoinSel = UserSelected then: More than one group may be selected\r\n * JoinGroups: Selected group(s)\r\n * JoinMessageType: Message type for new recipients: User select (user), text or html\r\n * FrontendLink: Link to Frontend Users enabled?\r\n * FrontendConfirm: Confirmation of newsletter subscription means: Activate frontend account, nothing\r\n * FrontendDel: Cancellation of newsletter subscription means: Delete frontend account, Deactivate account, nothing\r\n * SenderEMail: Sender e-mail address\r\n * HandlerID: ID of handler article\r\n * ChangeEMailID: ID of change e-mail handler article\r\n */\r\n $aSettings = array();\r\n $aSettings[''JoinSel''] = $oClientLang->getProperty(''newsletter'', ''joinsel'');\r\n $aSettings[''JoinMultiple''] = $oClientLang->getProperty(''newsletter'', ''joinmultiple'');\r\n $aSettings[''JoinGroups''] = $oClientLang->getProperty(''newsletter'', ''joingroups'');\r\n $aSettings[''JoinMessageType''] = $oClientLang->getProperty(''newsletter'', ''joinmessagetype'');\r\n $aSettings[''FrontendLink''] = $oClient->getProperty(''newsletter'', ''frontendlink''); # Note: Stored for client, as frontendusers are language independent\r\n $aSettings[''FrontendConfirm''] = "CMS_VALUE[5]";\r\n $aSettings[''FrontendDel''] = "CMS_VALUE[6]";\r\n $aSettings[''SenderEMail''] = $oClient->getProperty(''global'', ''sender-email''); # This one could be recycled by other modules...\r\n\r\n // Setting default values\r\n // If there is no selection option set or if no groups has been selected, activate option Default\r\n if ($aSettings[''JoinSel''] == '''' || $aSettings[''JoinGroups''] == '''') {\r\n $aSettings[''JoinSel''] = "Default";\r\n }\r\n if ($aSettings[''FrontendConfirm''] == '''') {\r\n $aSettings[''FrontendConfirm''] = "ActivateUser";\r\n }\r\n if ($aSettings[''FrontendDel''] == '''') {\r\n $aSettings[''FrontendDel''] = "DeleteUser";\r\n }\r\n if (!is_numeric($_REQUEST[''selHandlerCatArt''.$cnumber]) || $_REQUEST[''selHandlerCatArt''.$cnumber] < 0) {\r\n $_REQUEST[''selHandlerCatArt''.$cnumber] = 0;\r\n }\r\n\r\n // Saving changes, if any\r\n if ($_REQUEST[''hidAction''.$cnumber] == ''save'')\r\n {\r\n if ($_REQUEST[''radJoin''.$cnumber] != '''' && $_REQUEST[''radJoin''.$cnumber] != $aSettings[''JoinSel''])\r\n {\r\n $aSettings[''JoinSel''] = $_REQUEST[''radJoin''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joinsel'', $aSettings[''JoinSel'']);\r\n }\r\n if ($_REQUEST[''ckbJoinMultiple''.$cnumber] != $aSettings[''JoinMultiple''])\r\n {\r\n $aSettings[''JoinMultiple''] = $_REQUEST[''ckbJoinMultiple''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joinmultiple'', $aSettings[''JoinMultiple'']);\r\n }\r\n if ($_REQUEST[''hidJoinGroups''.$cnumber] != '''' && $_REQUEST[''hidJoinGroups''.$cnumber] != $aSettings[''JoinGroups''])\r\n {\r\n $aSettings[''JoinGroups''] = $_REQUEST[''hidJoinGroups''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joingroups'', $aSettings[''JoinGroups'']);\r\n }\r\n if ($_REQUEST[''selMessageType''.$cnumber] != $aSettings[''JoinMessageType''])\r\n {\r\n $aSettings[''JoinMessageType''] = $_REQUEST[''selMessageType''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''joinmessagetype'', $aSettings[''JoinMessageType'']);\r\n }\r\n if ($_REQUEST[''ckbFrontendLink''.$cnumber] != $aSettings[''FrontendLink''])\r\n {\r\n $aSettings[''FrontendLink''] = $_REQUEST[''ckbFrontendLink''.$cnumber];\r\n $oClient->setProperty(''newsletter'', ''frontendlink'', $aSettings[''FrontendLink'']);\r\n }\r\n\r\n if ($_REQUEST[''ckbUpdateHandlerID''.$cnumber] == ''enabled'')\r\n {\r\n // Trick: If UpdateHandlerID is enabled, save id as client setting\r\n $iHandlerCatArt = $_REQUEST[''selHandlerCatArt''.$cnumber];\r\n $oClientLang->setProperty(''newsletter'', ''idcatart'', $iHandlerCatArt);\r\n }\r\n \r\n if (isValidMail($_REQUEST[''txtSender''.$cnumber]) && $_REQUEST[''txtSender''.$cnumber] != $aSettings[''SenderEMail''])\r\n {\r\n $aSettings[''SenderEMail''] = $_REQUEST[''txtSender''.$cnumber];\r\n $oClient->setProperty(''global'', ''sender-email'', $aSettings[''SenderEMail'']);\r\n }\r\n }\r\n\r\n // Getting current handler article id\r\n $iHandlerCatArt = $oClientLang->getProperty(''newsletter'', ''idcatart'');\r\n unset ($oClientLang);\r\n unset ($oClient);\r\n\r\n // Show options\r\n $oCfgTable = new UI_Config_Table;\r\n\r\n $oHidAction = new cHTMLHiddenField(''hidAction''.$cnumber, ''save'');\r\n \r\n $oTxtSender = new cHTMLTextbox("txtSender".$cnumber, $aSettings[''SenderEMail''], 30);\r\n\r\n $oCfgTable->setCell(''sender'', 0, mi18n("Sender e-mail:"));\r\n $oCfgTable->setCell(''sender'', 1, $oHidAction->render().$oTxtSender->render());\r\n\r\n $oSelHandlerCatArt = new cHTMLInputSelectElement(''selHandlerCatArt''.$cnumber, 1, '''', true);\r\n $oOption = new cHTMLOptionElement(mi18n("- Please select -"), '''');\r\n $oSelHandlerCatArt->addOptionElement(0, $oOption);\r\n $oSelHandlerCatArt->addCategories(0, true, false, false, true, true);\r\n $oSelHandlerCatArt->setDefault($iHandlerCatArt);\r\n\r\n $oCkbUpdate = new cHTMLCheckbox(''ckbUpdateHandlerID''.$cnumber, ''enabled'');\r\n $oCkbUpdate->setEvent(''click'', ''if (this.checked) {document.forms[0].selHandlerCatArt''.$cnumber.''.disabled = false;} else {document.forms[0].selHandlerCatArt''.$cnumber.''.disabled = true;}'');\r\n\r\n $oCfgTable->setCell(''handler'', 0, mi18n("Handler Article:"));\r\n $oCfgTable->setCell(''handler'', 1, $oSelHandlerCatArt->render()."\\n&nbsp;".$oCkbUpdate->toHTML(false).mi18n("Update"));\r\n\r\n // Getting newsletter groups (if any)\r\n $oRcpGroups = new RecipientGroupCollection;\r\n $oRcpGroups->setWhere(''idclient'', $client);\r\n $oRcpGroups->setWhere(''idlang'', $lang);\r\n $oRcpGroups->setWhere(''defaultgroup'', ''0'');\r\n $oRcpGroups->setOrder(''defaultgroup DESC, groupname ASC'');\r\n $oRcpGroups->query();\r\n \r\n // Join options\r\n // If newsletter groups are available, provide group options, otherwise show only\r\n // ''Default'' option. This is necessary, as there may have been groups specified (and used)\r\n // but they have been deleted, later on.\r\n \r\n $oCfgTable->setCell(''join_01'', 0, mi18n("Join:"));\r\n \r\n if ($oRcpGroups->Count() == 0) {\r\n // No groups available, only default group possible\r\n \r\n $oRadJoinDefault = new cHTMLRadioButton (''radJoin''.$cnumber, ''Default'', '''', true);\r\n $oCfgTable->setCell(''join_01'', 1, $oRadJoinDefault->toHTML(false).mi18n("default group"));\r\n } else {\r\n // Groups available, show different group join options\r\n \r\n // Join default group only\r\n if ($aSettings[''JoinSel''] == ''Default'') {\r\n $oRadJoinDefault = new cHTMLRadioButton (''radJoin''.$cnumber, ''Default'', '''', true);\r\n } else {\r\n $oRadJoinDefault = new cHTMLRadioButton (''radJoin''.$cnumber, ''Default'');\r\n }\r\n $oRadJoinDefault->setEvent(''click'', "document.forms[0].elements[''ckbJoinMultiple".$cnumber."''].disabled = true; document.forms[0].selGroup".$cnumber.".disabled = true;");\r\n $oCfgTable->setCell(''join_01'', 1, $oRadJoinDefault->toHTML(false).mi18n("default group"));\r\n $oCfgTable->setRowBgColor(''join_01'', $cfg["color"]["table_dark"]);\r\n \r\n // Join admin selected groups automatically\r\n if ($aSettings[''JoinSel''] == ''Selected'') {\r\n $oRadJoinSelected = new cHTMLRadioButton (''radJoin''.$cnumber, ''Selected'', '''', true);\r\n } else {\r\n $oRadJoinSelected = new cHTMLRadioButton (''radJoin''.$cnumber, ''Selected'');\r\n }\r\n $oRadJoinSelected->setEvent(''click'', "document.forms[0].elements[''ckbJoinMultiple".$cnumber."''].disabled = false; document.forms[0].selGroup".$cnumber.".disabled = false;");\r\n $oCfgTable->setCell(''join_02'', 0, '''');\r\n $oCfgTable->setCell(''join_02'', 1, $oRadJoinSelected->toHTML(false).mi18n("selected group(s)"));\r\n $oCfgTable->setRowBgColor(''join_02'', $cfg["color"]["table_dark"]);\r\n \r\n // Join the groups the user has selected (-> provide a list for the user), optionally, the user may select more than one group\r\n if ($aSettings[''JoinSel''] == ''UserSelected'')\r\n {\r\n $oRadJoinUserSel = new cHTMLRadioButton (''radJoin''.$cnumber, ''UserSelected'', '''', true);\r\n $oCkbJoinMultiple = new cHTMLCheckbox (''ckbJoinMultiple''.$cnumber, ''enabled'', '''', $aSettings[''JoinMultiple'']);\r\n } else {\r\n $oRadJoinUserSel = new cHTMLRadioButton (''radJoin''.$cnumber, ''UserSelected'');\r\n $oCkbJoinMultiple = new cHTMLCheckbox (''ckbJoinMultiple''.$cnumber, ''enabled'', '''', false, true);\r\n }\r\n $oRadJoinUserSel->setEvent(''click'', "document.forms[0].elements[''ckbJoinMultiple".$cnumber."''].disabled = false; document.forms[0].selGroup".$cnumber.".disabled = false;");\r\n $oCfgTable->setCell(''join_03'', 0, '''');\r\n $oCfgTable->setCell(''join_03'', 1, $oRadJoinUserSel->toHTML(false).mi18n("group(s) as selected by user").''<br />''."\\n".$oCkbJoinMultiple->toHTML(false).mi18n("Multiple group selection allowed"));\r\n $oCfgTable->setRowBgColor(''join_03'', $cfg["color"]["table_dark"]);\r\n \r\n $oCfgTable->setCell(''groups'', 0, mi18n("Select group(s):"));\r\n \r\n // Show groups\r\n // Trick: To save multiple selections in <select>-Element, add some JS which saves the\r\n // selection, comma separated in a hidden input field on change.\r\n $sSkript = '' <script type="text/javascript"><!--''."\\n".\r\n '' function fncUpdateSel() {''."\\n".\r\n '' var strSel = "";''."\\n".\r\n '' for(i = 0; i < document.forms[0].selGroup''.$cnumber.''.length; i++) {''."\\n".\r\n '' if(document.forms[0].selGroup''.$cnumber.''.options[i].selected == true) {''."\\n".\r\n '' if (strSel != "")''."\\n".\r\n '' strSel = strSel + ",";''."\\n".\r\n '' strSel = strSel + document.forms[0].selGroup''.$cnumber.''.options[i].value;''."\\n".\r\n '' }''."\\n".\r\n '' }''."\\n".\r\n '' document.forms[0].elements["hidJoinGroups''.$cnumber.''"].value = strSel;''."\\n".\r\n '' }''."\\n".\r\n '' //--></script>''."\\n";\r\n\r\n if ($aSettings[''JoinSel''] == ''Default'') {\r\n $oSelGroup = new cHTMLSelectElement (''selGroup''.$cnumber, '''', '''', true);\r\n } else {\r\n $oSelGroup = new cHTMLSelectElement (''selGroup''.$cnumber, '''');\r\n }\r\n $oSelGroup->setSize(5);\r\n $oSelGroup->setMultiselect();\r\n $oSelGroup->setEvent(''change'', "fncUpdateSel()");\r\n\r\n $aGroups = explode('','', $aSettings[''JoinGroups'']);\r\n while ($oRcpGroup = $oRcpGroups->next()) {\r\n $iID = $oRcpGroup->get(''idnewsgroup'');\r\n if (in_array ($iID, $aGroups)) {\r\n $oOption = new cHTMLOptionElement($oRcpGroup->get(''groupname''), $iID, true);\r\n } else {\r\n $oOption = new cHTMLOptionElement($oRcpGroup->get(''groupname''), $iID, false);\r\n }\r\n $oSelGroup->addOptionElement($iID, $oOption);\r\n }\r\n \r\n $oHidGroups = new cHTMLHiddenField (''hidJoinGroups''.$cnumber, $aSettings[''JoinGroups'']);\r\n $oCfgTable->setCell(''groups'', 1, $sSkript.$oSelGroup->render().$oHidGroups->render());\r\n }\r\n \r\n // Options: Message type (user [->selectbox], text or html)\r\n $oCfgTable->setCell(''options_01'', 0, mi18n("Options:"));\r\n\r\n $oSelMsgType = new cHTMLSelectElement (''selMessageType''.$cnumber);\r\n $oOption = new cHTMLOptionElement(mi18n("User selected"), "user");\r\n $oSelMsgType->addOptionElement(0, $oOption);\r\n $oOption = new cHTMLOptionElement(mi18n("Text only"), "text");\r\n $oSelMsgType->addOptionElement(1, $oOption);\r\n $oOption = new cHTMLOptionElement(mi18n("HTML and text"), "html");\r\n $oSelMsgType->addOptionElement(2, $oOption);\r\n $oSelMsgType->setDefault($aSettings[''JoinMessageType'']);\r\n\r\n $oCfgTable->setCell(''options_01'', 1, mi18n("Default message type:").''&nbsp;''.$oSelMsgType->render());\r\n\r\n // Frontend Link\r\n $oCfgTable->setCell(''link_01'', 0, mi18n("Frontend Users:"));\r\n $oCkbLink = new cHTMLCheckbox(''ckbFrontendLink''.$cnumber, ''enabled'', '''', $aSettings[''FrontendLink'']);\r\n \r\n $sSkript = "if (this.checked) {\r\n document.forms[0].elements[''CMS_VAR[5]''][0].disabled = false;\r\n document.forms[0].elements[''CMS_VAR[5]''][1].disabled = false;\r\n document.forms[0].elements[''CMS_VAR[6]''][0].disabled = false;\r\n document.forms[0].elements[''CMS_VAR[6]''][1].disabled = false;\r\n document.forms[0].elements[''CMS_VAR[6]''][2].disabled = false;\r\n } else {\r\n document.forms[0].elements[''CMS_VAR[5]''][0].disabled = true;\r\n document.forms[0].elements[''CMS_VAR[5]''][1].disabled = true;\r\n document.forms[0].elements[''CMS_VAR[6]''][0].disabled = true;\r\n document.forms[0].elements[''CMS_VAR[6]''][1].disabled = true;\r\n document.forms[0].elements[''CMS_VAR[6]''][2].disabled = true;}";\r\n $oCkbLink->setEvent("click", $sSkript);\r\n\r\n $oCfgTable->setCell(''link_01'', 1, $oCkbLink->toHTML(false).mi18n("Activate Link"));\r\n $oCfgTable->setRowBgColor(''link_01'', $cfg["color"]["table_light"]);\r\n \r\n // Link: Activation options\r\n $oCfgTable->setCell(''link_02'', 0, '''');\r\n \r\n switch ($aSettings[''FrontendConfirm''])\r\n {\r\n case "Nothing":\r\n $oRadActivateUser = new cHTMLRadioButton ("CMS_VAR[5]", "ActivateUser", "", false);\r\n $oRadActivateNothing = new cHTMLRadioButton ("CMS_VAR[5]", "Nothing", "", true);\r\n break;\r\n default:\r\n $oRadActivateUser = new cHTMLRadioButton ("CMS_VAR[5]", "ActivateUser", "", true);\r\n $oRadActivateNothing = new cHTMLRadioButton ("CMS_VAR[5]", "Nothing", "", false);\r\n }\r\n\r\n switch ($aSettings[''FrontendDel''])\r\n {\r\n case "DisableUser":\r\n $oRadDelDelete = new cHTMLRadioButton ("CMS_VAR[6]", "DeleteUser", "", false);\r\n $oRadDelDisable = new cHTMLRadioButton ("CMS_VAR[6]", "DisableUser", "", true);\r\n $oRadDelNothing = new cHTMLRadioButton ("CMS_VAR[6]", "Nothing", "", false);\r\n break;\r\n case "Nothing":\r\n $oRadDelDelete = new cHTMLRadioButton ("CMS_VAR[6]", "DeleteUser", "", false);\r\n $oRadDelDisable = new cHTMLRadioButton ("CMS_VAR[6]", "DisableUser", "", false);\r\n $oRadDelNothing = new cHTMLRadioButton ("CMS_VAR[6]", "Nothing", "", true);\r\n break;\r\n default:\r\n $oRadDelDelete = new cHTMLRadioButton ("CMS_VAR[6]", "DeleteUser", "", true);\r\n $oRadDelDisable = new cHTMLRadioButton ("CMS_VAR[6]", "DisableUser", "", false);\r\n $oRadDelNothing = new cHTMLRadioButton ("CMS_VAR[6]", "Nothing", "", false);\r\n }\r\n\r\n if ($aSettings[''FrontendLink''] == '''')\r\n {\r\n $oRadActivateUser->setDisabled(true);\r\n $oRadActivateNothing->setDisabled(true);\r\n $oRadDelDelete->setDisabled(true);\r\n $oRadDelDisable->setDisabled(true);\r\n $oRadDelNothing->setDisabled(true);\r\n }\r\n $oCfgTable->setCell(''link_02'', 1, mi18n("Confirmation means:").''<br />''.\r\n $oRadActivateUser->toHTML(false).mi18n("Activate").\r\n $oRadActivateNothing->toHTML(false).mi18n("No changes"));\r\n $oCfgTable->setRowBgColor(''link_02'', $cfg["color"]["table_light"]);\r\n\r\n // Link: Cancellation options\r\n $oCfgTable->setCell(''link_03'', 0, '''');\r\n\r\n $oCfgTable->setCell(''link_03'', 1, mi18n("Cancellation means:").''<br />''.\r\n $oRadDelDelete->toHTML(false).mi18n("Delete").\r\n $oRadDelDisable->toHTML(false).mi18n("Disable").\r\n $oRadDelNothing->toHTML(false).mi18n("No changes"));\r\n $oCfgTable->setRowBgColor(''link_03'', $cfg["color"]["table_light"]);\r\n\r\n $oCfgTable->render(true);', '<?php\r\n // Initialisation\r\n $oClientLang = new cApiClientLanguage(false, $client, $lang);\r\n $oClient = new cApiClient($client);\r\n $oRecipients = new RecipientCollection;\r\n $sMessage = "&nbsp;";\r\n unset($recipient); // Unset any existing recipient objects - note, that it must be $recipient for the plugins...\r\n\r\n $aSettings = array();\r\n $aSettings[''JoinSel''] = $oClientLang->getProperty(''newsletter'', ''joinsel'');\r\n $aSettings[''JoinMultiple''] = $oClientLang->getProperty(''newsletter'', ''joinmultiple'');\r\n $aSettings[''JoinGroups''] = $oClientLang->getProperty(''newsletter'', ''joingroups'');\r\n $aSettings[''JoinMessageType''] = $oClientLang->getProperty(''newsletter'', ''joinmessagetype'');\r\n $aSettings[''FrontendLink''] = $oClient->getProperty(''newsletter'', ''frontendlink''); # Note: Stored for client, as frontendusers are language independent\r\n $aSettings[''FrontendConfirm''] = "CMS_VALUE[5]";\r\n $aSettings[''FrontendDel''] = "CMS_VALUE[6]";\r\n $aSettings[''SenderEMail''] = $oClient->getProperty(''global'', ''sender-email''); # This one could be recycled by other modules...\r\n $aSettings[''HandlerID''] = $oClientLang->getProperty(''newsletter'', ''idcatart'');\r\n \r\n $sTemplate = ''newsletter_handler.html'';\r\n \r\n if (!isset($oPage) || !is_object($oPage)) {\r\n $oPage = new Template;\r\n }\r\n $oPage->reset();\r\n\r\n // If there is no selection option set or if no groups has been selected, activate option Default\r\n if ($aSettings[''JoinSel''] == '''' || $aSettings[''JoinGroups''] == '''') {\r\n $aSettings[''JoinSel''] = "Default";\r\n }\r\n if ($aSettings[''FrontendConfirm''] == '''') {\r\n $aSettings[''FrontendConfirm''] = "ActivateUser";\r\n }\r\n if ($aSettings[''FrontendDel''] == '''') {\r\n $aSettings[''FrontendDel''] = "DeleteUser";\r\n }\r\n\r\n if ($_POST[''action''] == "subscribe") {\r\n if (!isset($_POST[''email'']) || !$_POST[''email'']) {\r\n $sMessage = mi18n("Please specify an e-mail address.");\r\n } elseif (!isValidMail($_POST[''email'']) || strpos($_POST[''email''], ",") != false || strpos($_POST[''email''], ";") != false) {\r\n $sMessage = mi18n("Please specify a valid e-mail address.");\r\n } elseif ($oRecipients->emailExists($_POST[''email''])) {\r\n $sMessage = mi18n("This e-mail address has been already registered for the newsletter.");\r\n } else {\r\n $sEMail = preg_replace(''/[\\r\\n]+/'', '''', stripslashes($_POST[''email'']));\r\n $sName = stripslashes($_POST["emailname"]);\r\n\r\n // Which newsletter type should the recipient receive?\r\n switch ($aSettings[''JoinMessageType''])\r\n {\r\n case "user":\r\n if ($_POST["selNewsletterType"] == 1) {\r\n $iMessageType = 1; // html\r\n } else {\r\n $iMessageType = 0; // text\r\n }\r\n break;\r\n case "html":\r\n $iMessageType = 1; // html\r\n break;\r\n default:\r\n $iMessageType = 0; // Default: text\r\n }\r\n\r\n // Analyze group specification\r\n switch ($aSettings[''JoinSel''])\r\n {\r\n case "Selected":\r\n $recipient = $oRecipients->create($sEMail, $sName, 0, $aSettings[''JoinGroups''], $iMessageType);\r\n break;\r\n case "UserSelected":\r\n $iSelCount = count($_POST[''selNewsletterGroup'']);\r\n \r\n if ($iSelCount == 0) {\r\n $recipient = $oRecipients->create($sEMail, $sName, 0, "", $iMessageType); // No group selected\r\n } else {\r\n if ($iSelCount > 1 && $aSettings[''JoinMultiple''] != "enabled") {\r\n $sMessage = mi18n("Please select one group, only.");\r\n } else {\r\n // Recipient wants to join special groups\r\n $aGroups = explode(",", $aSettings[''JoinGroups'']);\r\n\r\n /* Check, if received data is valid and matches the group selection */\r\n $bError = false;\r\n foreach ($_POST[''selNewsletterGroup''] as $iIDGroup)\r\n {\r\n if (!is_numeric($iIDGroup) || !in_array($iIDGroup, $aGroups))\r\n {\r\n $bError = true;\r\n break;\r\n }\r\n }\r\n\r\n if ($bError) {\r\n $sMessage = mi18n("There was an error processing your request. Please ask the webmaster for help.");\r\n } else {\r\n $recipient = $oRecipients->create($sEMail, $sName, 0, implode(",", $_POST[''selNewsletterGroup'']));\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n $recipient = $oRecipients->create($sEMail, $sName, 0, "", $iMessageType);\r\n }\r\n\r\n if ($recipient)\r\n {\r\n // Add here code, if you like to store additional information per >recipient< (see frontenduser below)\r\n // Example: $recipient->setProperty("contact", "firstname", $_REQUEST["firstname"]);\r\n // contact/firstname have to match the values used in the firstname-recipient-plugin\r\n // $_REQUEST["firstname"] contains the data from the input-field firstname in the\r\n // Form module (-> there has to be a field with this name)\r\n // Note: You should check the values you get (safety)!!!\r\n\r\n $sBody = mi18n("txtMailSubscribe")."\\n".$cfgClient[$client][''path''][''htmlpath'']."front_content.php?changelang=".$lang."&idcatart=".$aSettings[''HandlerID'']."&confirm=".$recipient->get("hash")."\\n\\n";\r\n\r\n $oMail = new PHPMailer();\r\n $oMail->From = $aSettings[''SenderEMail''];\r\n $oMail->FromName = $aSettings[''SenderEMail''];\r\n $oMail->AddAddress($sEMail);\r\n $oMail->Mailer = "mail";\r\n $oMail->Subject = mi18n("Newsletter: Confirmation");\r\n $oMail->Body = $sBody;\r\n\r\n if($oMail->Send())\r\n {\r\n $sMessage = mi18n("Dear subscriber,<br>your e-mail address is now subscribed for our newsletter. You will now receive an e-mail asking you to confirm your subscription.");\r\n\r\n if ($aSettings[''FrontendLink''] == "enabled")\r\n {\r\n $oFrontendUsers = new FrontendUserCollection;\r\n\r\n if (!$oFrontendUsers->userExists($sEMail))\r\n {\r\n if ($frontenduser = $oFrontendUsers->create($sEMail)) // it''s "frontenduser" (instead of oFrontendUser) for plugins...\r\n {\r\n // Add here code, if you like to store additional information per >frontenduser<\r\n // Example: $frontenduser->setProperty("contact", "firstname", $_REQUEST["firstname"]);\r\n // contact/firstname have to match the values used in the firstname-frontenduser-plugin\r\n // $_REQUEST["firstname"] contains the data from the input-field firstname in the\r\n // Form module (-> there has to be a field with this name)\r\n // Note: You should check the values you get (safety)!!!\r\n\r\n if ($aSettings[''FrontendConfirm''] == "ActivateUser")\r\n {\r\n // Inform about frontend user account creation\r\n $sMessage .= mi18n("<br><br>After the confirmation you will also receive a password which you can use with your e-mail address to logon to special areas on this website.");\r\n }\r\n } else {\r\n $sMessage .= mi18n("<br><br>Sorry, there was a problem creating your website account. Please ask the webmaster for help.");\r\n }\r\n }\r\n }\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem sending the confirmation mail to your e-mail address. Please ask the webmaster for help.");\r\n }\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem subscribing your e-mail address for the newsletter. Please ask the webmaster for help.");\r\n }\r\n }\r\n } elseif ($_POST[''action''] == "delete") {\r\n if (!isset($_POST[''email'']) || !$_POST[''email'']) {\r\n $sMessage = mi18n("Please specify an e-mail address.");\r\n } elseif (!isValidMail($_POST[''email'']) || strpos($_POST[''email''], ",") != false || strpos($_POST[''email''], ";") != false) {\r\n $sMessage = mi18n("Please specify a valid e-mail address.");\r\n } elseif ($recipient = $oRecipients->emailExists($_POST[''email''])) {\r\n $sBody = mi18n("txtMailDelete")."\\n".$cfgClient[$client][''path''][''htmlpath'']."front_content.php?changelang=".$lang."&idcatart=".$aSettings[''HandlerID'']."&unsubscribe=".$recipient->get("hash")."\\n\\n";\r\n\r\n $oMail = new PHPMailer();\r\n $oMail->From = $aSettings[''SenderEMail''];\r\n $oMail->FromName = $aSettings[''SenderEMail''];\r\n $oMail->AddAddress($recipient->get("email"));\r\n $oMail->Mailer = "mail";\r\n $oMail->Subject = mi18n("Newsletter: Cancel subscription");\r\n $oMail->Body = $sBody;\r\n\r\n if($oMail->Send())\r\n {\r\n $sMessage = mi18n("Dear subscriber,<br>a mail has been sent to your e-mail address. Please confirm the cancelation of the newsletter subscription.");\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem sending you the cancelation confirmation e-mail. Please ask the webmaster for help.");\r\n }\r\n } else {\r\n $sMessage = mi18n("Sorry, the e-mail address was not found.");\r\n }\r\n } elseif (strlen($_GET[''confirm'']) == 30 && is_alphanumeric($_GET[''confirm''])) {\r\n $oRecipients->setWhere("idclient", $client);\r\n $oRecipients->setWhere("idlang", $lang);\r\n $oRecipients->setWhere("hash", $_GET[''confirm'']);\r\n $oRecipients->query();\r\n\r\n if ($recipient = $oRecipients->next())\r\n {\r\n $iID = $recipient->get("idnewsrcp"); // For some reason, $recipient may get invalid later on - save id\r\n $sEMail = $recipient->get("email"); // ... and email\r\n $recipient->set("confirmed", 1);\r\n $recipient->set("confirmeddate", date("Y-m-d H:i:s"), false);\r\n $recipient->set("deactivated", 0);\r\n $recipient->store();\r\n\r\n $sMessage = mi18n("Thank you! You have confirmed your subscription to our newsletter!");\r\n\r\n $oNewsletters = New NewsletterCollection;\r\n $oNewsletters->setWhere("idclient", $client);\r\n $oNewsletters->setWhere("idlang", $lang);\r\n $oNewsletters->setWhere("welcome", ''1'');\r\n $oNewsletters->query();\r\n\r\n if ($oNewsletter = $oNewsletters->next())\r\n {\r\n $aRecipients = array(); // Needed, as used by reference\r\n $oNewsletter->sendDirect($aSettings[''HandlerID''], $iID, false, $aRecipients);\r\n\r\n $sMessage .= mi18n(" The welcome newsletter is already on the way to you!");\r\n }\r\n \r\n if ($aSettings[''FrontendLink''] == "enabled" && $aSettings[''FrontendConfirm''] == "ActivateUser")\r\n {\r\n $oFrontendUsers = new FrontendUserCollection;\r\n $oFrontendUsers->setWhere("idclient", $client);\r\n $oFrontendUsers->setWhere("username", $sEMail);\r\n $oFrontendUsers->query();\r\n\r\n if ($frontenduser = $oFrontendUsers->next())\r\n {\r\n $frontenduser->set("active", 1);\r\n $sPassword = substr(md5(rand()),0,8); // Generating password\r\n $frontenduser->set("password", $sPassword);\r\n $frontenduser->store();\r\n\r\n $sMessage .= mi18n("<br><br>Additionally, your website account has been activated. You can now use the following username and password to log in to access special areas on our website:<br>");\r\n $sMessage .= mi18n("Username: ").$sEMail.mi18n("<br>Password: ").$sPassword;\r\n \r\n $sBody = mi18n("txtMailPassword")."\\n\\n".mi18n("Username: ").$sEMail."\\n".mi18n("Password: ").$sPassword."\\n\\n".mi18n("Click here to login: ").$cfgClient[$client][''path''][''htmlpath'']."front_content.php?changelang=".$lang;\r\n\r\n $oMail = new PHPMailer();\r\n $oMail->From = $aSettings[''SenderEMail''];\r\n $oMail->FromName = $aSettings[''SenderEMail''];\r\n $oMail->AddAddress($sEMail);\r\n $oMail->Mailer = "mail";\r\n $oMail->Subject = mi18n("Website account");\r\n $oMail->Body = $sBody;\r\n\r\n if($oMail->Send())\r\n {\r\n $sMessage .= mi18n("<br><br>The account details and the password has also been sent to your mail account.");\r\n } else {\r\n $sMessage .= mi18n("<br><br><b>Sorry, there was a problem sending you the account details by mail. Please remember the given password.</b><b>");\r\n }\r\n } else {\r\n $sMessage .= mi18n("<br><br>Sorry, there was a problem activating your website account, also. Please ask the webmaster for help.");\r\n }\r\n }\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem confirming your subscription. Please ask the webmaster for help.");\r\n }\r\n } elseif (strlen($_GET[''stop'']) == 30 && is_alphanumeric($_GET[''stop''])) {\r\n $oRecipients->setWhere("idclient", $client);\r\n $oRecipients->setWhere("idlang", $lang);\r\n $oRecipients->setWhere("hash", $_GET[''stop'']);\r\n $oRecipients->query();\r\n\r\n if ($recipient = $oRecipients->next())\r\n {\r\n $recipient->set("deactivated", 1);\r\n $recipient->store();\r\n\r\n $sMessage = mi18n("Your newsletter subscription has been paused.");\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem pausing your newsletter subscription. Please ask the webmaster for help.");\r\n }\r\n } elseif (strlen($_GET[''goon'']) == 30 && is_alphanumeric($_GET[''goon''])) {\r\n $oRecipients->setWhere("idclient", $client);\r\n $oRecipients->setWhere("idlang", $lang);\r\n $oRecipients->setWhere("hash", $_GET[''goon'']);\r\n $oRecipients->query();\r\n\r\n if ($recipient = $oRecipients->next())\r\n {\r\n $recipient->set("deactivated", 0);\r\n $recipient->store();\r\n\r\n $sMessage = mi18n("Newsletter subscription has been resumed.");\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem resuming your newsletter subscription. Please ask the webmaster for help.");\r\n }\r\n } elseif (strlen($_GET[''unsubscribe'']) == 30 && is_alphanumeric($_GET[''unsubscribe''])) {\r\n $oRecipients->setWhere("idclient", $client);\r\n $oRecipients->setWhere("idlang", $lang);\r\n $oRecipients->setWhere("hash", $_GET[''unsubscribe'']);\r\n $oRecipients->query();\r\n \r\n if ($recipient = $oRecipients->next()) {\r\n $sEMail = $recipient->get("email"); // Saving recipient e-mail address for frontend account\r\n $oRecipients->delete($recipient->get("idnewsrcp"));\r\n\r\n $sMessage = mi18n("Your e-mail address has been removed from our list of newsletter recipients.");\r\n\r\n if ($aSettings[''FrontendLink''] == "enabled")\r\n {\r\n $oFrontendUsers = new FrontendUserCollection;\r\n $oFrontendUsers->setWhere("idclient", $client);\r\n $oFrontendUsers->setWhere("username", $sEMail);\r\n $oFrontendUsers->query();\r\n\r\n if ($frontenduser = $oFrontendUsers->next())\r\n {\r\n switch ($aSettings[''FrontendDel''])\r\n {\r\n case "DeleteUser": // Deleting frontend account\r\n $oFrontendUsers->delete($frontenduser->get("idfrontenduser"));\r\n $sMessage .= mi18n(" Your website account has been deleted.");\r\n break;\r\n case "DisableUser": // Disabling frontend account\r\n $frontenduser->set("active", 0);\r\n $frontenduser->store();\r\n $sMessage .= mi18n(" Your website account has been disabled.");\r\n break;\r\n default:\r\n }\r\n }\r\n }\r\n } else {\r\n $sMessage = mi18n("Sorry, there was a problem removing your e-mail address. Please ask the webmaster for help.");\r\n }\r\n }\r\n\r\n $oPage->set(''s'', ''CONTENT'', $sMessage);\r\n $oPage->generate(''templates/''.$sTemplate);\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:58:52', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (15, 1, 'Simple Gallery', 'Content', 'none', 'Einfache Bildergalerie mit 1 Bild mit Beschreibung angezeigt, vor-/zur<75>ck Navigation und Anzeige Bildnummer und Anzahl Bilder.\nEin Popup mit grosses Bild, Thumbnail-Navigation und Beschreibung kann zugeschaltet werden.\n\nAutor: Spider IT Deutschland - Rene Mansveld (www.Spider-IT.de)\nVersion: 1.5 (2012-11-26)\n\nChanges:\nV.1.5 (2012-11-26):\n - NEW: Allgemeine Beschreibung (kommt zum Einsatz wenn keine Bildbeschreibung eingegeben ist)\n - NEW: Grosse Bilder werden nach Bedarf vorgeladen (aktuelles, vorheriges und naechstes Bild)\n\nV.1.4 (2012-11-25):\n - NEW: Overlay-Bild (Lupe) wird ueber das Bild eingeblendet, wenn Popup eingeschaltet und die Maus ueber das Bild ist\n - NEW: Eine Bildnavigation wird im Popup ueber das grosse Bild gezeigt, wenn die Maus in dem Bereich ist\n\nV.1.3 (2012-11-24):\n - NEW: Anzeige des aktuellen Thumbs mit Rahmen und Bildnummer/-anzahl (x/y)\n - NEW: Bildauswahl im Popup durch Zeigen auf Thumbnail\n - NEW: Thumbs werden beim Laden des Popups vorgeladen\n\nV.1.2 (2012-11-23):\n - NEW: Thumbnails im Popup sind jetzt als Slider dargestellt\n - NEW: Cachezeit wird per Zufallsgenerator je Bild unterschiedlich eingestellt (60-3600 Minuten, reduziert Wartezeiten)\n - BUGFIX: Transparenter/weisser Hintergrund funktionierte teilweise nicht\n\nV.1.1 (2012-11-22):\n - NEW: Zuschaltbarer Popup mit Grossansicht, Thumbnails und Beschreibung\n\nV.1.0 (2012-11-21):\n - First release', NULL, '?>\n<table>\n <tr>\n <td>Verzeichnis der Bilder:</td>\n <td>\n <select name="<?php echo "CMS_VAR[0]"; ?>" style="width: 400px;">\n <option value="">- Bitte w&auml;hlen -</option>\n<?php\n$sql = ''SELECT DISTINCT dirname\n FROM '' . $cfg[''tab''][''upl''] . ''\n WHERE ((filetype IN ("jpg", "jpeg", "gif", "png"))\n AND (idclient='' . $client . ''))\n ORDER BY dirname'';\n$db->query($sql);\nwhile ($db->next_record()) {\n?>\n <option value="<?php echo $db->f(''dirname''); ?>"<?php echo (($db->f(''dirname'') == "CMS_VALUE[0]") ? '' selected="selected"'' : ''''); ?>><?php echo $db->f(''dirname''); ?></option>\n<?php\n}\n?>\n </select>\n </td>\n </tr>\n <tr>\n <td>Allgemeine Beschreibung:<br /><span style="color: #999;">(wird genutzt wenn beim Bild keine<br />Beschreibung eingegeben ist)</span></td>\n <td>\n <textarea id="<?php echo "CMS_VAR[6]"; ?>" name="<?php echo "CMS_VAR[6]"; ?>" cols="0" rows="0" style="width: 400px; height: 150px;"><?php echo "CMS_VALUE[6]"; ?></textarea>\n </td>\n </tr>\n <tr>\n <td>Abmessung Bildbereich (B x H):</td>\n <td>\n <input type="text" name="<?php echo "CMS_VAR[1]"; ?>" value="<?php echo "CMS_VALUE[1]"; ?>" style="width: 40px; text-align: right;">\n x\n <input type="text" name="<?php echo "CMS_VAR[2]"; ?>" value="<?php echo "CMS_VALUE[2]"; ?>" style="width: 40px; text-align: right;">\n px.\n </td>\n </tr>\n <tr>\n <td>Zoomfunktion nutzen:</td>\n <td>\n <input type="checkbox" id="<?php echo "CMS_VAR[3]"; ?>" name="<?php echo "CMS_VAR[3]"; ?>" value="1"<?php echo ((intval("CMS_VALUE[3]") == 1) ? '' checked="checked"'' : ''''); ?> />\n <label for="<?php echo "CMS_VAR[3]"; ?>">Ja bitte</label>\n </td>\n </tr>\n <tr>\n <td>Abmessung Popup Bildbereich (B x H):</td>\n <td>\n <input type="text" name="<?php echo "CMS_VAR[4]"; ?>" value="<?php echo "CMS_VALUE[4]"; ?>" style="width: 40px; text-align: right;">\n x\n <input type="text" name="<?php echo "CMS_VAR[5]"; ?>" value="<?php echo "CMS_VALUE[5]"; ?>" style="width: 40px; text-align: right;">\n px. &nbsp; <span style="color: #F00;">Thumbnails und Beschreibung kommen hinzu!</span>\n </td>\n </tr>\n</table>\n<?php', '<?php\ncInclude(''frontend'', ''includes/spider-it.functions.inc.php'');\n\n# Konfiguration\n$sDir = "CMS_VALUE[0]";\n$iWidth = intval("CMS_VALUE[1]");\n$iHeight = intval("CMS_VALUE[2]");\n$bUseZoom = intval("CMS_VALUE[3]");\n$iZoomWidth = intval("CMS_VALUE[4]");\n$iZoomHeight = intval("CMS_VALUE[5]");\n\n# Mehrfacheinsatz\n$iInstance = ((isset($iInstance)) ? ($iInstance ++) : 1);\n\n# Bilddateien auflisten\n$aImg = array();\n$sql = ''SELECT idupl, filename\n FROM '' . $cfg[''tab''][''upl''] . ''\n WHERE ((dirname="'' . $sDir . ''")\n AND (filetype IN ("jpg", "jpeg", "gif", "png"))\n AND (idclient='' . $client . ''))\n ORDER BY filename'';\n$db->query($sql);\nwhile ($db->next_record()) {\n $aImg[] = array(''idupl'' => $db->f(''idupl''), ''orig'' => ''upload/'' . $sDir . $db->f(''filename''));\n}\n\nif (count($aImg)) {\n # Bilder skalieren und Beschreibung holen\n for ($i = 0, $n = count($aImg); $i < $n; $i ++) {\n # sitImgScale($img, $maxX = 0, $maxY = 0, $crop = false, $expand = false, $cacheTime = 10, $wantHQ = true, $quality = 75, $keepType = false, $fixedSize = false, $fixedBG = ''FFFFFF'');\n $timeout = mt_rand(60, 3600);\n $aImg[$i][''screen''] = sitImgScale($aImg[$i][''orig''], $iWidth, $iHeight, false, false, $timeout, true, 75, false, true, ''FFFFFF'');\n if ($bUseZoom) {\n $timeout = mt_rand(60, 3600);\n $aImg[$i][''thumb''] = sitImgScale($aImg[$i][''orig''], 100, 75, false, false, $timeout, true, 75, false, true, ''FFFFFF'');\n $timeout = mt_rand(60, 3600);\n $aImg[$i][''large''] = sitImgScale($aImg[$i][''orig''], $iZoomWidth, $iZoomHeight, false, false, $timeout, true, 75, false, true, ''FFFFFF'');\n }\n $aImg[$i][''descr''] = sitGetImageDescription($aImg[$i][''idupl'']);\n if (strlen(trim($aImg[$i][''descr''])) == 0) {\n $aImg[$i][''descr''] = str_replace(array("\\r\\n", "\\n"), ''<br />'', "CMS_VALUE[6]");\n }\n }\n\n # Ausgabe\n $tpl = new Template();\n $tpl->set(''s'', ''NUM_IMAGES'', count($aImg));\n $sImagesArray = '''';\n $sThumbsArray = '''';\n $sPopupsArray = '''';\n $sDescrArray = '''';\n $sPreload = '''';\n $sPreloadThumbs = '''';\n $sPreloadLarges = '''';\n $iThumbsPerLine = floor(($iZoomWidth - 26) / 108);\n $iThumbBlockWidth = floor((($iZoomWidth - 26) / $iThumbsPerLine) - 8);\n $j = 0;\n for ($i = 0, $n = count($aImg); $i < $n; $i ++) {\n $sImagesArray .= ''"'' . $aImg[$i][''screen''] . ''", '';\n if ($bUseZoom) {\n if (($i % $iThumbsPerLine) == 0) {\n $j ++;\n $sThumbsArray = (($i > 0) ? substr($sThumbsArray, 0, -2) . '');\n '' : '''') . ''aThumbs'' . $iInstance . ''['' . $j . ''] = new Array("'' . $aImg[$i][''thumb''] . ''", '';\n } else {\n $sThumbsArray .= ''"'' . $aImg[$i][''thumb''] . ''", '';\n }\n $sPopupsArray .= ''"'' . $aImg[$i][''large''] . ''", '';\n }\n $sDescrArray .= ''"'' . str_replace(array(''&lt;br&gt;'', ''&lt;br /&gt;''), ''<br />'', htmlspecialchars($aImg[$i][''descr''])) . ''", '';\n $sPreload .= ''var ImgN'' . ($i + 1 + ($iInstance * 1000)) . '' = new Image; ImgN'' . ($i + 1 + ($iInstance * 1000)) . ''.src = "'' . $aImg[$i][''screen''] . ''";\n '';\n $sPreloadThumbs .= ''var ImgT'' . ($i + 1 + ($iInstance * 1000)) . '' = new Image; ImgT'' . ($i + 1 + ($iInstance * 1000)) . ''.src = "'' . $aImg[$i][''thumb''] . ''";\n '';\n $sPreloadLarges .= ''var ImgL'' . ($i + 1 + ($iInstance * 1000)) . '' = new Image; ImgL'' . ($i + 1 + ($iInstance * 1000)) . ''.src = "'' . $aImg[$i][''large''] . ''";\n '';\n }\n $tpl->set(''s'', ''IMAGES_ARRAY'', substr($sImagesArray, 0, -2));\n $tpl->set(''s'', ''THUMBS_ARRAY'', substr($sThumbsArray, 0, -2) . (($bUseZoom) ? '');'' : ''''));\n $tpl->set(''s'', ''THUMBS_PER_ARRAY'', $iThumbsPerLine);\n $tpl->set(''s'', ''THUMB_ARRAYS'', ceil(count($aImg) / $iThumbsPerLine));\n $tpl->set(''s'', ''POPUPS_ARRAY'', substr($sPopupsArray, 0, -2));\n $tpl->set(''s'', ''DESCR_ARRAY'', substr($sDescrArray, 0, -2));\n $tpl->set(''s'', ''PRELOAD_IMAGES'', $sPreload);\n $tpl->set(''s'', ''PRELOAD_THUMB_IMAGES'', substr($sPreloadThumbs, 0, -14));\n $tpl->set(''s'', ''PRELOAD_LARGE_IMAGES'', substr($sPreloadLarges, 0, -14));\n $tpl->set(''s'', ''USE_POPUP'', $bUseZoom);\n $tpl->set(''s'', ''THUMB_BLOCK_WIDTH'', $iThumbBlockWidth);\n $tpl->set(''s'', ''INSTANCE'', $iInstance);\n $tpl->set(''s'', ''WIDTH'', ($iWidth + 100));\n $tpl->set(''s'', ''IMAGE_WIDTH'', $iWidth);\n $tpl->set(''s'', ''IMAGE_HEIGHT'', $iHeight);\n $tpl->set(''s'', ''SHOW_POPUP'', (($bUseZoom) ? '''' : '' display: none;''));\n $tpl->set(''s'', ''POPUP_WIDTH'', ($iZoomWidth + 228));\n $tpl->set(''s'', ''POPUP_IMAGE_WIDTH'', $iZoomWidth);\n $tpl->set(''s'', ''POPUP_IMAGE_HEIGHT'', $iZoomHeight);\n $tpl->generate(''templates/simple-gallery.html'', false, false);\n}\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:59:06', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (16, 1, 'RSS Reader', 'Content', 'none', 'RSS Reader\r\n\r\nAutor: Spider IT Deutschland - Rene Mansveld (www.Spider-IT.de)\r\nVersion: 2.11 (2012-12-17)\r\nBase: RSS Reader by Timo Hummel and Andreas Lindner (4fb) (2005-09-30)\r\n\r\nChanges:\r\nVersion 2.11 (2012-12-17):\r\n - BUGFIX: Encoding-Angabe des Mandanten wurde nicht richtig beruecksichtigt\r\n\r\nVersion 2.10 (2012-12-06):\r\n - BUGFIX: ''&'' in URLs werden jetzt in ''&amp;'' umgewandelt\r\n - NEW: Standardfeed (wenn nichts angegeben ist) ist jetzt http://www.conlite.org/de/rss/news.html\r\n\r\nVersion 2.9 (2012-09-12):\r\n - NEW: Unterstuetzung von Feeds per https per cURL\r\n - UPDATE: Sortierte Liste der Modul-Templates in der Konfiguration\r\n\r\nVersion 2.8 (2012-05-30):\r\n - BUGFIX: Ausgabe wird unterdrueckt wenn der Feed nicht erreichbar oder der Link falsch ist\r\n\r\nVersion 2.7 (2012-01-25):\r\n - BUGFIX: Die gecachte Datei wurde nicht korrekt weitergegeben\r\n\r\nVersion 2.6 (2011-12-09):\r\n - NEW: Feeds werden bis zu 5 Minuten gecached um uebermaessigen Anfragen zu vermeiden\r\n - NEW: Angabe von Dateiname moeglich um mehrere Feeds in eine Seite einzubinden\r\n\r\nVersion 2.5 (2011-04-07):\r\n - NEW: Moeglichkeit zum Anzeigen von Bildern aus dem Feed (Haekchen setzen)\r\n - UPDATE: Bessere Verarbeitung des XML-Codes durch neue Klasse "rss_php" von rssphp.net\r\n\r\nVersion 2.4 (2010-08-25):\r\n - BUGFIX: Bei manchen Hostern wird die Einstellung "allow_url_fopen" falsch gesetzt und ignoriert\r\n\r\nVersion 2.3 (2010-07-29):\r\n - BUGFIX: Variable $encoding in $rssencoding umbenannt wg. Session-Variable $encoding[]\r\n - NEW: Ausgabe in UTF-8 wenn in Contenido fuer den Mandant eingestellt\r\n\r\nVersion 2.2 (2009-12-01):\r\n - WORKAROUND: PHP Parser Fehler bei Input in UTF-8\r\n\r\nVersion 2.1 (2009-10-15):\r\n - BUGFIX: URL mit Parameter bei "allow_url_fopen = false" korrigiert\r\n\r\nVersion 2.0 (2009-10-12):\r\n - Dekodierung korrigiert\r\n - "allow_url_fopen" umgangen (tmp Datei)\r\n - Link "weiterlesen" abschaltbar', NULL, '?>\r\n<table>\r\n <tr>\r\n <td>URL:</td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[0]"; ?>" value="<?php echo "CMS_VALUE[0]"; ?>" style="width: 320px" /></td>\r\n </tr>\r\n <tr>\r\n <td>RSS-Template:</td>\r\n <td>\r\n <select name="<?php echo "CMS_VAR[1]"; ?>" size="1" style="width: 320px">\r\n <option value="">Nichts ausgew&auml;hlt</option><?php\r\n$templates = array();\r\n$strPath_fs = $cfgClient[$client]["path"]["frontend"].''templates/'';\r\n$handle = opendir($strPath_fs);\r\nwhile ($entryName = readdir($handle)) {\r\n $templates[] = $entryName;\r\n}\r\nsort($templates);\r\nforeach ($templates as $entryName) {\r\n if (is_file($strPath_fs.$entryName)) { \r\n if ("CMS_VALUE[1]"==$entryName) {\r\n echo ''<option selected value="''.$entryName.''">''.$entryName.''</option>'';\r\n } else {\r\n echo ''<option value="''.$entryName.''">''.$entryName.''</option>'';\r\n }\r\n }\r\n}?>\r\n </select>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td>Anzahl Eintr&auml;ge</td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[2]"; ?>" value="<?php echo "CMS_VALUE[2]"; ?>" /></td>\r\n </tr>\r\n <tr>\r\n <td>Bilder ausgeben</td>\r\n <td><input type="checkbox" name="<?php echo "CMS_VAR[4]"; ?>" value="1"<?php echo (("CMS_VALUE[4]" == "1") ? '' checked="checked"'' : ''''); ?> /></td>\r\n </tr>\r\n <tr>\r\n <td>Link "Weiterlesen"</td>\r\n <td><input type="checkbox" name="<?php echo "CMS_VAR[3]"; ?>" value="1"<?php echo (("CMS_VALUE[3]" == "1") ? '' checked="checked"'' : ''''); ?> /></td>\r\n </tr>\r\n<?php\r\n$file = "CMS_VALUE[5]";\r\nif (strlen($file) == 0) {\r\n $file = ''RSS-Reader.tmp'';\r\n}\r\n?>\r\n <tr>\r\n <td>Datei zum Zwischenspeichern:</td>\r\n <td><input type="text" name="<?php echo "CMS_VAR[5]"; ?>" value="<?php echo $file; ?>" style="width: 320px" /></td>\r\n </tr>\r\n</table>\r\n<?php', '<?php\r\ncInclude(''frontend'', ''includes/rss_php.php'');\r\ncInclude(''frontend'', ''includes/rss.inc.php'');\r\n\r\n$sFeed = ((strlen("CMS_VALUE[0]")) ? "CMS_VALUE[0]" : ''http://www.conlite.org/de/rss/news.html'');\r\n$FeedMaxItems = ((strlen("CMS_VALUE[2]")) ? intval("CMS_VALUE[2]") : 999);\r\n\r\n$cache = $cfgClient[$client]["path"]["frontend"] . ''cache/'';\r\n$file = ((strlen("CMS_VALUE[5]") == 0) ? ''RSS-Reader.tmp'' : "CMS_VALUE[5]");\r\n$fn = $cache . $file;\r\n\r\n$bBilderAusgeben = intval("CMS_VALUE[4]");\r\n\r\n$ok = true;\r\nif (is_file($fn)) {\r\n if (filemtime($fn) < strtotime(''-5 Minutes'')) {\r\n $ok = false;\r\n }\r\n} else {\r\n $ok = false;\r\n}\r\nif ($ok) {\r\n $content = @file_get_contents($fn);\r\n $content = explode(''\r\n'', $content);\r\n $sFeed = $fn;\r\n $ini_ok = true;\r\n $rssencoding = ''utf-8'';\r\n} else {\r\n $content = myfile($sFeed);\r\n if (count($content) > 10) {\r\n /* Preparse feed for an encoding and change it to utf-8 for saving */\r\n $sFeedContent = $content[0];\r\n $p1 = strpos($sFeedContent, ''encoding='');\r\n if ($p1 !== false) {\r\n $c = substr($sFeedContent, ($p1 + 9), 1); // " or '' after encoding=\r\n $p1 += 10;\r\n $p2 = strpos($sFeedContent, $c, $p1);\r\n $rssencoding = substr($sFeedContent, $p1, $p2 - $p1);\r\n }\r\n if (strtoupper($rssencoding) != ''UTF''.''-8'') {\r\n /* change the content to iso-8859-1 encoding for saving */\r\n $content[0] = str_replace(''iso-8859-1'', ''utf-8'', $content[0]);\r\n $content[0] = str_replace(''ISO-8859-1'', ''utf-8'', $content[0]);\r\n for ($i = 1; $i < count($content); $i ++) {\r\n $content[$i] = utf8_encode($content[$i]);\r\n }\r\n $rssencoding = ''utf-8'';\r\n }\r\n /* Save the file locally in a temporary file */\r\n if ($fp = fopen($fn, ''w'')) {\r\n for ($i = 0; $i < count($content); $i ++) {\r\n fputs($fp, $content[$i]);\r\n }\r\n fclose($fp);\r\n $sFeed = $fn;\r\n $ini_ok = true;\r\n } else {\r\n $ini_ok = false;\r\n }\r\n } else {\r\n @unlink($fn);\r\n $ini_ok = false;\r\n }\r\n}\r\nif ($ini_ok) {\r\n /* Parse the file and show it */\r\n \r\n $rss = new rss_php;\r\n $rss->load($sFeed);\r\n $items = $rss->getItems(true);\r\n \r\n $tpl = new Template;\r\n \r\n $i = 0;\r\n foreach ($items as $item) {\r\n if ($i < $FeedMaxItems) {\r\n $sTitle = prepareStringForOutput($item[''title''][''value''], $rssencoding);\r\n $tpl->set("d", "TITLE", $sTitle);\r\n $tpl->set("d", "LINK", str_replace(array(''&'', ''&amp;amp;''), ''&amp;'', prepareStringForOutput($item[''link''][''value''], $rssencoding)));\r\n $tpl->set("d", "DESCRIPTION", prepareStringForOutput($item[''description''][''value''], $rssencoding));\r\n $tpl->set("d", "READ_ON", (("CMS_VALUE[3]" == "1") ? mi18n("weiterlesen") : ''''));\r\n $sImage = str_replace(''.thumbnail'', '''', $item[''enclosure''][''properties''][''url'']);\r\n if ((strlen($sImage)) && ($bBilderAusgeben)) {\r\n $tpl->set("d", "IMAGE", ''<img src="'' . $sImage . ''" alt="'' . $sTitle . ''" title="'' . $sTitle . ''"/>'');\r\n } else {\r\n $tpl->set("d", "IMAGE", '''');\r\n }\r\n $tpl->next();\r\n }\r\n $i++;\r\n }\r\n \r\n $tpl->generate($cfgClient[$client]["path"]["frontend"] . "templates/" . "CMS_VALUE[1]");\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:59:19', '2012-12-17 11:16:52');
INSERT INTO !PREFIX!_mod VALUES (17, 1, 'Search_Input', 'Content', 'none', 'Search input box', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Search input box\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n$tpl->reset();\r\n\r\n$sTargetIdcat = getEffectiveSetting(''search-results'', ''idcat'', ''1'');\r\n$sTargetIdart = getEffectiveSetting(''search-results'', ''idart'', ''1'');\r\n$sFormAction = ''front_content.php?idcat=''.$sTargetIdcat.''&amp;idart=''.$sTargetIdart;\r\n\r\n$tpl->set(''s'', ''form_action'', $sFormAction);\r\n$tpl->set(''s'', ''label_search'', mi18n("Suche"));\r\n$tpl->generate(''templates/search_input.html'');\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 15:59:48', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (18, 1, 'Search_Output', 'Content', 'none', 'Search output box', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Search output box\r\n*\r\n* @version 1.0.1\r\n* @author Willi Man\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2004-05-04\r\n* modified 2005-07-12 Andreas Lindner\r\n* modified 2008-04-11 Rudi Bieller\r\n* modified 2008-05-06 Rudi Bieller Added CON_SEARCH_MAXLEN_TEASERTEXT; Fixed <nobr> to be xhtml compliant;\r\n* Removed $action, $sCatName = getCategoryName($cat_id, $db); which was not used at all and \r\n* added a default output in case article/module was called directly (strlen(trim($searchterm)) == 0)\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\n#System properties in use:\r\n#Type: searchrange, Name: include\r\n#Contains comma-separated list of cats to be included into search (sub-cats are included automatically)\r\n\r\n#Logical combination of search terms with AND or OR\r\n\r\ndefine(''CON_SEARCH_ITEMSPERPAGE'', 10);\r\ndefine(''CON_SEARCH_MAXLEN_TEASERTEXT'', 200);\r\n\r\n#Includes\r\ncInclude(''includes'', ''functions.api.string.php'');\r\n\r\n#Initiliaze template object\r\nif (!is_object($tpl)) {\r\n $tpl = new Template;\r\n}\r\n$tpl->reset();\r\n\r\n#Settings\r\n$oArticleProp = new Article_Property($db, $cfg);\r\n$iArtspecReference = 2;\r\n\r\n$cApiClient = new cApiClient($client);\r\n$sSearchRange = $cApiClient->getProperty(''searchrange'', ''include'');\r\n$aSearchRange = explode('','', $sSearchRange);\r\n\r\n#Multilingual settings\r\n$sYourSearchFor = mi18n("Ihre Suche nach");\r\n$sMore = mi18n("mehr");\r\n\r\n#Get search term and pre-process it\r\nif (isset ($_GET[''searchterm''])) {\r\n $searchterm = urldecode(htmlentities(strip_tags(stripslashes($_GET[''searchterm'']))));\r\n}\r\nelseif (isset ($_POST[''searchterm''])) {\r\n $searchterm = urldecode(htmlentities(strip_tags(stripslashes($_POST[''searchterm'']))));\r\n}\r\n$searchterm = str_replace('' + '', '' AND '', $searchterm);\r\n$searchterm = str_replace('' - '', '' NOT '', $searchterm);\r\n$searchterm_display = $searchterm;\r\n\r\n#Get all article specs\r\n$sql = "SELECT\r\n idartspec, artspec\r\n FROM\r\n ".$cfg[''tab''][''art_spec'']."\r\n WHERE\r\n client=$client AND\r\n lang=$lang AND\r\n online=1";\r\n\r\n$db->query($sql);\r\n$rows = $db->num_rows();\r\n$aArtspecOnline = array ();\r\n$aArtSpecs = array ();\r\n$c = 1;\r\n$d = 1;\r\n$e = 1;\r\nwhile ($db->next_record()) {\r\n $aArtSpecs[] = $db->f(''idartspec'');\r\n}\r\n$aArtSpecs[] = 0;\r\n\r\nif (strlen(trim($searchterm)) > 0) {\r\n #Fix for PHP < 4.3\r\n if( !function_exists( ''html_entity_decode'' ) )\r\n {\r\n function html_entity_decode( $given_html, $quote_style = ENT_QUOTES )\r\n {\r\n $trans_table = array_flip(get_html_translation_table( HTML_SPECIALCHARS, $quote_style ));\r\n $trans_table[''&#39;''] = "''";\r\n return ( strtr( $given_html, $trans_table ) );\r\n }\r\n }\r\n\r\n #Parse search term and set search options\r\n $searchterm = html_entity_decode($searchterm);\r\n\r\n if (stristr($searchterm, '' or '') === FALSE) {\r\n $combine = ''and'';\r\n } else {\r\n $combine = ''or'';\r\n }\r\n $searchterm = str_replace('' and '', '' '', strtolower($searchterm));\r\n $searchterm = str_replace('' or '', '' '', strtolower($searchterm));\r\n\r\n $options = array (''db'' => ''regexp'', // use db function regexp\r\n ''combine'' => $combine, // combine searchterms with and\r\n ''exclude'' => false, // => searchrange specified in ''cat_tree'', ''categories'' and ''articles'' is excluded, otherwise included (exclusive)\r\n ''cat_tree'' => $aSearchRange, // searchrange \r\n ''artspecs'' => $aArtSpecs, // array of article specifications => search only articles with these artspecs\r\n ''protected'' => true); // => do not search articles or articles in categories which are offline or protected\r\n\r\n $search = new Search($options);\r\n\r\n $cms_options = array ("head", "html", "htmlhead", "htmltext", "text"); // search only in these cms-types\r\n $search->setCmsOptions($cms_options);\r\n\r\n #Execute search\r\n $aSearchResults = $search->searchIndex($searchterm, ''''); \r\n\r\n #Build results page\r\n if (count($aSearchResults) > 0) {\r\n $tpl->set(''s'', ''result_page'', mi18n("Ergebnis-Seite").'':'');\r\n\r\n #Build meessage\r\n $message = $sYourSearchFor." ''".htmlspecialchars(strip_tags($searchterm_display))."'' ".mi18n("hat $$$ Treffer ergeben").":";\r\n $message = str_replace(''$$$'', count($aSearchResults), $message);\r\n $tpl->set(''s'', ''MESSAGE'', $message);\r\n\r\n #Number of results per page\r\n $number_of_results = CON_SEARCH_ITEMSPERPAGE;\r\n $oSearchResults = new SearchResult($aSearchResults, $number_of_results);\r\n\r\n $num_res = $oSearchResults->getNumberOfResults() + $pdf_count;\r\n $num_pages = $oSearchResults->getNumberOfPages();\r\n $oSearchResults->setReplacement(''<strong>'', ''</strong>''); // html-tags to emphasize the located searchterms\r\n\r\n #Get current result page\r\n if (isset ($_GET[''page'']) && is_numeric($_GET[''page'']) && $_GET[''page''] > 0) {\r\n $page = $_GET[''page''];\r\n $res_page = $oSearchResults->getSearchResultPage($page);\r\n } else {\r\n $page = 1;\r\n $res_page = $oSearchResults->getSearchResultPage($page);\r\n }\r\n\r\n #Build links to other result pages\r\n for ($i = 1; $i <= $num_pages; $i ++) {\r\n // this is just for sample client - modify to your needs!\r\n if (($aCfg[''url_builder''][''name''] == ''front_content'') || ($aCfg[''url_builder''][''name''] == ''MR'')) {\r\n $aParams = array(''lang'' => $lang, ''idcat'' => $idcat, ''idart'' => $idart, ''searchterm'' => $searchterm_display, ''page'' => ($i.$sArtSpecs));\r\n } else {\r\n $aParams = array(''search'' => array(''lang'' => $lang, ''idcat'' => $idcat, ''idart'' => $idart, ''searchterm'' => $searchterm_display, ''page'' => ($i.$sArtSpecs)), \r\n ''idcat'' => $idcat, // needed to build category path\r\n ''lang'' => $lang, // needed to build category path\r\n ''level'' => 1); // needed to build category path\r\n }\r\n try {\r\n $nextlink = Contenido_Url::getInstance()->build($aParams);\r\n } catch (InvalidArgumentException $e) {\r\n $nextlink = $sess->url(''front_content.php?idcat=''.$idcat.''&amp;idart=''.$idart.''&amp;searchterm=''.$searchterm_display.''&amp;page=''.$i.$sArtSpecs);\r\n }\r\n if ($i == $page) {\r\n $nextlinks .= ''<span style="white-space:nowrap;">&nbsp;<strong>''.$i.''</strong>&nbsp;</span>'';\r\n } else {\r\n $nextlinks .= ''<span style="white-space:nowrap;">&nbsp;<a href="''.$nextlink.''" title="''.$i.''. ''.mi18n("Ergebnisseite anzeigen").''">''.$i.''</a>&nbsp;</span>'';\r\n }\r\n }\r\n $tpl->set(''s'', ''PAGES'', $nextlinks);\r\n\r\n #Build link to next result page\r\n if ($page < $num_pages) {\r\n $n = $page +1;\r\n // this is just for sample client - modify to your needs!\r\n if (($aCfg[''url_builder''][''name''] == ''front_content'') || ($aCfg[''url_builder''][''name''] == ''MR'')) {\r\n $aParams = array(''lang'' => $lang, ''idcat'' => $idcat, ''idart'' => $idart, ''searchterm'' => $searchterm_display, ''page'' => ($n.$sArtSpecs));\r\n } else {\r\n $aParams = array(''search'' => array(''lang'' => $lang, ''idcat'' => $idcat, ''idart'' => $idart, ''searchterm'' => $searchterm_display, ''page'' => ($n.$sArtSpecs)), \r\n ''idcat'' => $idcat, // needed to build category path\r\n ''lang'' => $lang, // needed to build category path\r\n ''level'' => 1); // needed to build category path\r\n }\r\n try {\r\n $next = Contenido_Url::getInstance()->build($aParams);\r\n } catch (InvalidArgumentException $e) {\r\n $next = $sess->url(''front_content.php?idcat=''.$idcat.''&amp;idart=''.$idart.''&amp;searchterm=''.$searchterm.''&amp;page=''.$n.$sArtSpecs);\r\n }\r\n $nextpage .= ''&nbsp;<a href="''.$next.''" title="''.mi18n("n<>chste Ergebnisseite anzeigen").''">''.mi18n("vor").''&nbsp;&nbsp;<img src="images/link_pfeil_klein.gif" alt="" /></a>'';\r\n $tpl->set(''s'', ''NEXT'', $nextpage);\r\n } else {\r\n $tpl->set(''s'', ''NEXT'', '''');\r\n }\r\n\r\n #Build link to previous result page\r\n if ($page > 1) {\r\n $p = $page -1;\r\n // this is just for sample client - modify to your needs!\r\n if (($aCfg[''url_builder''][''name''] == ''front_content'') || ($aCfg[''url_builder''][''name''] == ''MR'')) {\r\n $aParams = array(''lang'' => $lang, ''idcat'' => $idcat, ''idart'' => $idart, ''searchterm'' => $searchterm_display, ''page'' => ($p.$sArtSpecs));\r\n } else {\r\n $aParams = array(''search'' => array(''lang'' => $lang, ''idcat'' => $idcat, ''idart'' => $idart, ''searchterm'' => $searchterm_display, ''page'' => ($p.$sArtSpecs)), \r\n ''idcat'' => $idcat, // needed to build category path\r\n ''lang'' => $lang, // needed to build category path\r\n ''level'' => 1); // needed to build category path\r\n }\r\n try {\r\n $pre = Contenido_Url::getInstance()->build($aParams);\r\n } catch (InvalidArgumentException $e) {\r\n $pre = $sess->url(''front_content.php?idcat=''.$idcat.''&amp;idart=''.$idart.''&amp;searchterm=''.$searchterm.''&amp;page=''.$p.$sArtSpecs);\r\n }\r\n $prevpage .= ''<a href="''.$pre.''" title="''.mi18n("vorherige Ergebnisseite anzeigen").''"><img src="images/link_pfeil_klein_links.gif" alt="" />&nbsp;&nbsp;''.mi18n("zur<75>ck").''</a>&nbsp;'';\r\n $tpl->set(''s'', ''PREV'', $prevpage);\r\n } else {\r\n $tpl->set(''s'', ''PREV'', '''');\r\n }\r\n\r\n if (count($res_page) > 0) {\r\n $i = 1;\r\n #Build single search result on result page\r\n foreach ($res_page as $key => $val) {\r\n $num = $i + (($page -1) * $number_of_results);\r\n $oArt = new Article($key, $client, $lang);\r\n #Get publishing date of article\r\n $pub_system = $oArt->getField(''published'');\r\n $pub_user = trim(strip_tags($oArt->getContent(''HEAD'', 90)));\r\n if ($pub_user != '''') {\r\n $show_pub_date = "[".$pub_user."]";\r\n } else {\r\n $show_pub_date = '''';\r\n if ($pub_system[8] != ''0'') {\r\n $show_pub_date .= $pub_system[8];\r\n }\r\n $show_pub_date .= $pub_system[9].''.'';\r\n if ($pub_system[5] != ''0'') {\r\n $show_pub_date .= $pub_system[5];\r\n }\r\n $show_pub_date .= $pub_system[6].".".$pub_system[0].$pub_system[1].$pub_system[2].$pub_system[3]."]";\r\n $show_pub_date = "[".$show_pub_date;\r\n }\r\n \r\n #Get text and headline of current article\r\n $iCurrentArtSpec = $oArticleProp->getArticleSpecification($key, $lang);\r\n $aHeadline = $oSearchResults->getSearchContent($key, ''HTMLHEAD'', 1);\r\n $aSubheadline = $oSearchResults->getSearchContent($key, ''HTMLHEAD'', 2);\r\n $text = $oSearchResults->getSearchContent($key, ''HTML'', 1);\r\n $text = capiStrTrimAfterWord($text[0], CON_SEARCH_MAXLEN_TEASERTEXT);\r\n $headline = capiStrTrimAfterWord($aHeadline[0], CON_SEARCH_MAXLEN_TEASERTEXT); # conflict with capiStrTrimAfterWord and setReplacement(''<strong>'', ''</strong>'')\r\n $subheadline = capiStrTrimAfterWord($aSubheadline[0], CON_SEARCH_MAXLEN_TEASERTEXT);\r\n \r\n $cat_id = $oSearchResults->getArtCat($key);\r\n $similarity = $oSearchResults->getSimilarity($key);\r\n\r\n $similarity = sprintf("%.0f", $similarity);\r\n\r\n #Send output to template\r\n // this is just for sample client - modify to your needs!\r\n if (($aCfg[''url_builder''][''name''] == ''front_content'') || ($aCfg[''url_builder''][''name''] == ''MR'')) {\r\n $aParams = array(''lang'' => $lang, ''idcat'' => $cat_id, ''idart'' => $key);\r\n } else {\r\n $aParams = array(''search'' => array(''lang'' => $lang, ''idcat'' => $cat_id, ''idart'' => $key), \r\n ''idcat'' => $idcat, // needed to build category path\r\n ''lang'' => $lang, // needed to build category path\r\n ''level'' => 1); // needed to build category path\r\n }\r\n try {\r\n $href = Contenido_Url::getInstance()->build($aParams);\r\n } catch (InvalidArgumentException $e) {\r\n $href = $sess->url("front_content.php?idcat=$cat_id&amp;idart=$key");\r\n }\r\n $tpl->set(''d'', ''more'', $sMore);\r\n $tpl->set(''d'', ''HREF'', $href);\r\n $tpl->set(''d'', ''TITLE'', mi18n("Link zu Suchergebnis").'' ''.$i);\r\n $tpl->set(''d'', ''NUM'', $num);\r\n $tpl->set(''d'', ''CATNAME'', $headline);\r\n $tpl->set(''d'', ''HEADLINE'', $text);\r\n $tpl->set(''d'', ''SUBHEADLINE'', $subheadline);\r\n $tpl->set(''d'', ''SIMILARITY'', $similarity);\r\n $tpl->set(''d'', ''TARGET'', ''_self'');\r\n $tpl->set(''d'', ''PUB_DATE'', $show_pub_date);\r\n $tpl->next();\r\n $i ++;\r\n\r\n }\r\n $tpl->generate(''templates/search_output.html'');\r\n }\r\n } else {\r\n #No results\r\n $tpl->set(''s'', ''MESSAGE'', $sYourSearchFor." ''".htmlspecialchars(strip_tags($searchterm))."'' ".mi18n("hat leider keine Treffer ergeben").".");\r\n $tpl->set(''s'', ''NEXT'', '''');\r\n $tpl->set(''s'', ''PREV'', '''');\r\n $tpl->set(''s'', ''PAGES'', '''');\r\n $tpl->set(''s'', ''result_page'', '''');\r\n $tpl->generate(''templates/search_output.html'');\r\n }\r\n\r\n} else {\r\n echo ''<div id="searchResults">'';\r\n echo ''<h1>''.mi18n("Keine Suchergebnisse - Bitte suchen Sie <20>ber das Sucheingabefeld!").''</h1>'';\r\n echo ''</div>'';\r\n}\r\n\r\nclass Article_Property {\r\n var $globalConfig;\r\n var $oDBInstance;\r\n\r\n /**\r\n * Constructor\r\n * Hint: Call constructor with Article_Property($db, $cfg);\r\n * @param oDBInstance instance of class DB_Contenido\r\n * @param globalConfig \r\n */\r\n function Article_Property($oDBInstance, $globalConfig) {\r\n $this->globalConfig = $globalConfig;\r\n $this->oDBInstance = $oDBInstance;\r\n }\r\n\r\n /**\r\n * Get specification of an article\r\n * \r\n * @param $iArticleId\r\n * @return id of article specification \r\n */\r\n function getArticleSpecification($iArticleId, $iLangId) {\r\n\r\n $sqlString = " \r\n SELECT \r\n artspec\r\n FROM \r\n ".$this->globalConfig[''tab''][''art_lang'']."\r\n WHERE\r\n idart = ''".$iArticleId."'' AND\r\n idlang = ''".$iLangId."''\r\n ";\r\n\r\n #echo "<pre>$sqlString</pre>";\r\n $this->oDBInstance->query($sqlString);\r\n\r\n if ($this->oDBInstance->next_record()) {\r\n return $this->oDBInstance->f(''artspec'');\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n?> ', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 16:00:03', '2013-01-25 11:32:21');
INSERT INTO !PREFIX!_mod VALUES (19, 1, 'Sitemap', 'Content', 'none', '', NULL, '?><?php\r\n/**\r\n * Project: \r\n * contenido.org\r\n * \r\n * Description: \r\n * Simple sitemap\r\n * \r\n * Requirements: \r\n * @con_php_req 5.0\r\n * \r\n *\r\n * @version 0.1.0\r\n * @author Rudi Bieller\r\n * @copyright four for business AG <www.4fb.de>\r\n * @license http://www.contenido.org/license/LIZENZ.txt\r\n * @link http://www.4fb.de\r\n * @link http://www.contenido.org\r\n * @todo move function to load all categories somewhere else...\r\n * @todo use some template instead of html in code...\r\n * \r\n * {@internal \r\n * created 2009-01-05\r\n * $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n * }}\r\n * \r\n */\r\n\r\nif (!isset($db)) {\r\n $db = new DB_Contenido();\r\n}\r\n\r\n$iSelectedCat = intval("CMS_VALUE[1]");\r\n$iSelectedDepth = intval("CMS_VALUE[2]");\r\n$iSelectedHtmlOutputStyle = intval("CMS_VALUE[3]");\r\n$aAllCategories = sitemap_getAllCategories($db, $cfg, $lang, $client);\r\n$sOptionsCategories = '''';\r\n$sOptionsDepth = '''';\r\n$sSelectedHtmlStyle0 = $iSelectedHtmlOutputStyle == 0 ? '' selected="selected"'' : '''';\r\n$sSelectedHtmlStyle1 = $iSelectedHtmlOutputStyle == 1 ? '' selected="selected"'' : '''';\r\n\r\n$sHtmlTable = ''<table border="0" cellpadding="10" cellspacing="0"> \r\n <tr>\r\n <td>''.mi18n("Kategorie w<>hlen:").''</td> \r\n <td>\r\n <select name="'' . "CMS_VAR[1]" . ''"> \r\n <option value="0">---Alle---</option>\r\n [SNIP_CATEGORIES]\r\n </select>\r\n </td>\r\n</tr> \r\n<tr> \r\n <td>''.mi18n("Maximale Anzahl Ebenen:").''</td> \r\n <td>\r\n <select name="'' . "CMS_VAR[2]" . ''"> \r\n <option value="0">---Select---</option>\r\n [SNIP_DEPTH]\r\n </select>\r\n </td>\r\n</tr>\r\n<tr> \r\n <td>''.mi18n("HTML Ausgabe:").''</td> \r\n <td>\r\n <select name="'' . "CMS_VAR[3]" . ''"> \r\n <option value="0"''.$sSelectedHtmlStyle0.''>&lt;ul&gt;&lt;li&gt;Alle Kategorien in einer Liste&lt;/li&gt;&lt;/ul&gt;</option>\r\n <option value="1"''.$sSelectedHtmlStyle1.''>&lt;ul&gt;&lt;li&gt;Alle Hauptkategorien in einer eigenen ul&lt;/li&gt;&lt;/ul&gt;</option>\r\n </select>\r\n </td>\r\n</tr>\r\n</table>\r\n'';\r\n\r\n$iSelectedCat = intval("CMS_VALUE[1]");\r\n$iSelectedDepth = intval("CMS_VALUE[2]");\r\n$aAllCategories = sitemap_getAllCategories($db, $cfg, $lang, $client);\r\n$sOptionsCategories = '''';\r\n$sOptionsDepth = '''';\r\n\r\nfor ($i = 1; $i <= 30; $i++) {\r\n $sSelected = $iSelectedDepth == $i ? '' selected="selected"'' : '''';\r\n $sOptionsDepth .= ''<option value="''.strval($i).''"''.$sSelected.''>''.strval($i).''</option>'';\r\n}\r\n\r\nif (sizeof($aAllCategories) > 0) {\r\n foreach ($aAllCategories as $aCatDetails) {\r\n $sSelected = $iSelectedCat == intval($aCatDetails[''idcat'']) ? '' selected="selected"'' : '''';\r\n $sSpace = str_repeat(''-'', intval($aCatDetails[''level'']));\r\n $sCssLevelZero = intval($aCatDetails[''level'']) == 0 ? '' style="background-color:#F8FDDC;"'' : '''';\r\n $sOptionsCategories .= ''<option value="''.strval($aCatDetails[''idcat'']).''"''.$sSelected.$sCssLevelZero.''>''.$sSpace.'' ''.strval($aCatDetails[''name'']).''</option>'';\r\n }\r\n}\r\n\r\necho str_replace(array(''[SNIP_CATEGORIES]'', ''[SNIP_DEPTH]''), array($sOptionsCategories, $sOptionsDepth), $sHtmlTable);\r\n\r\n\r\n/**\r\n * Return array with all info on ALL categories of current client/lang\r\n *\r\n * @param unknown_type $oDb\r\n * @param array $aCfg\r\n * @param unknown_type $iLang\r\n * @param unknown_type $iClient\r\n * @return unknown\r\n */\r\nfunction sitemap_getAllCategories($oDb, array $aCfg, $iLang, $iClient) {\r\n $aResult = array();\r\n $sSql = "SELECT\r\n A.idcat,\r\n A.level,\r\n C.name\r\n FROM\r\n ".$aCfg[''tab''][''cat_tree'']." AS A,\r\n ".$aCfg[''tab''][''cat'']." AS B,\r\n ".$aCfg[''tab''][''cat_lang'']." AS C\r\n WHERE\r\n A.idcat=B.idcat \r\n AND B.idcat=C.idcat \r\n AND C.idlang=''".intval($iLang)."''\r\n AND B.idclient=''".intval($iClient)."'' \r\n AND C.visible=1\r\n ORDER BY A.idtree";\r\n $oDb->query($sSql);\r\n if ($oDb->Errno == 0 && $oDb->num_rows() > 0) {\r\n while($oDb->next_record()) {\r\n $aResult[] = array(\r\n ''idcat'' => intval($oDb->f(''idcat'')), \r\n ''level'' => intval($oDb->f(''level'')), \r\n ''name'' => strval($oDb->f(''name''))\r\n );\r\n }\r\n }\r\n return $aResult;\r\n}', '<?php\r\n/**\r\n * Project: \r\n * contenido.org\r\n * \r\n * Description: \r\n * Simple sitemap.\r\n * Can output all categories in one list or each main category as separate list\r\n * \r\n * To modify the behaviour of the module (e.g. style of URL, CSS classes, ...), you need to edit Contenido_Sitemap_Util::loopCats\r\n * @see {frontend}/includes/Util/Modules/Contenido_Sitemap_Util.class.php\r\n * \r\n * Requirements: \r\n * @con_php_req 5.0\r\n * \r\n *\r\n * @version 0.1.0\r\n * @author Rudi Bieller\r\n * @copyright four for business AG <www.4fb.de>\r\n * \r\n * {@internal \r\n * created 2009-01-05\r\n * $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n * }}\r\n * \r\n */\r\n\r\nif (!isset($db)) {\r\n $db = new DB_Contenido();\r\n}\r\nif (!isset($tpl)) {\r\n $tpl = new Template();\r\n}\r\n$tpl->reset();\r\n\r\ncInclude(''frontend'', ''includes/Util/Modules/Contenido_Sitemap_Util.class.php'');\r\n\r\n$iSelectedCat = intval("CMS_VALUE[1]");\r\n$iSelectedDepth = intval("CMS_VALUE[2]");\r\n$iHtmlOutputType = intval("CMS_VALUE[3]");\r\n$sUrlStyle = $cfg[''url_builder''][''name''];\r\n\r\nif ($iSelectedCat > 0 && $iSelectedDepth >= 0) {\r\n $oFeNav = new Contenido_FrontendNavigation($db, $cfg, $client, $lang, $cfgClient);\r\n $oFeNav->setAuth($auth);\r\n $oSubCategories = $oFeNav->getSubCategories($iSelectedCat, true, true, 1);\r\n // see if there are any subcategories to display\r\n if ($oSubCategories->count() > 0) {\r\n $aDepthInfo = array();\r\n $aDepthInfo[0] = 0;\r\n $aDepthInfo[1] = $iSelectedDepth;\r\n if ($iHtmlOutputType == 1) {\r\n $sMainCats = '''';\r\n }\r\n foreach ($oSubCategories as $oSubCategory) {\r\n switch($iHtmlOutputType) {\r\n case 0:\r\n Contenido_Sitemap_Util::loopCats($oSubCategory, $oFeNav, $tpl, $sUrlStyle, $cfg, $lang, $aDepthInfo);\r\n break;\r\n case 1:\r\n $tpl->reset();\r\n Contenido_Sitemap_Util::loopCats($oSubCategory, $oFeNav, $tpl, $sUrlStyle, $cfg, $lang, $aDepthInfo);\r\n $sSubCats = $tpl->generate(''templates/sitemap_standard_li.html'', true);\r\n $tpl->reset();\r\n $tpl->set(''s'', ''list_items'', $sSubCats);\r\n $sMainCats .= $tpl->generate(''templates/sitemap_standard_ul.html'', true);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if ($iHtmlOutputType == 0) {\r\n $tpl->generate(''templates/sitemap_standard.html'');\r\n } else {\r\n echo $sMainCats;\r\n }\r\n }\r\n} else {\r\n echo ''<p>Sitemap not configured correctly.</p>'';\r\n}\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 16:00:14', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (20, 1, 'Sub_Headline', 'Content', 'none', 'Output standard h2 subheadline', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Output standard h2 subheadline\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\n$sText = "CMS_HTMLHEAD[2]";\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$tpl->reset();\r\nif ($contenido && $edit) {\r\n $tpl->set(''s'', ''text'', $sText);\r\n $tpl->generate(''templates/subheadline_h2.html'');\r\n} else {\r\n if ($sText != '''') {\r\n $tpl->set(''s'', ''text'', strip_tags($sText));\r\n $tpl->generate(''templates/subheadline_h2.html'');\r\n }\r\n}\r\n\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 16:00:26', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (21, 1, 'Teaser_Right', 'Content', 'none', 'Display teaser on right side', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Display teaser on right side\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$tpl->reset();\r\n$tpl->generate(''templates/teaser_right.html'');\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 16:00:37', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (22, 1, 'Title', 'Head', 'none', 'Ersetzt dem Seitentitel vom ConLite-System (braucht nicht mehr angegeben werden).\r\nWird dennoch ein Seitentitel eingetragen, so hat dieser Vorrang vor dieses Modul.\r\n\r\nAutor: Spider IT Deutschland - Rene Mansveld (www.Spider-IT.de)\r\nVersion: 1.2 (2013-01-23)\r\n\r\nChanges:\r\nVersion 1.2 (2013-01-23):\r\n - UPDATE: Direkte Datenbankabfragen entfernt und durch Systemaufrufe ersetzt\r\n\r\nVersion 1.1 (2012-09-06):\r\n - NEW: Titel des Artikels angehaengt wenn dieser nicht Startartikel ist\r\n\r\nVersion 1.0 (2011-12-05):\r\n - Erstes Release', NULL, '', '<?php\r\n# Exchange the separator sign for your needs\r\n$sSeparator = '' &bull; '';\r\n\r\n# For use in title tag and in page content, only generate once\r\nif (!isset($sitLocation)) {\r\n # Get path to root\r\n conCreateLocationString($idcat, $sSeparator, $sitLocation, false, '''', 1);\r\n # Check if article is start article\r\n if (!isStartArticle($idartlang, $idcat, $lang)) {\r\n # Put the article title at the end\r\n $oArt = new Article($idart, $client, $lang, $idartlang);\r\n $sitLocation .= ((strlen($sitLocation)) ? $sSeparator : '''') . $oArt->getField(''title'');\r\n }\r\n # If we don''t have a location, just write ''Home''\r\n $sitLocation = ((strlen($sitLocation)) ? $sitLocation : ''Home'');\r\n # Put the client name in front\r\n $oClient = new Client();\r\n $aClients = $oClient->getAvailableClients();\r\n $sClientName = $aClients[$client][''name''];\r\n $sitLocation = $sClientName . $sSeparator . $sitLocation;\r\n}\r\n# Output\r\necho $sitLocation;\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 16:00:53', '2013-01-24 11:48:23');
INSERT INTO !PREFIX!_mod VALUES (23, 1, 'Text', 'Content', 'none', 'Displays CMS_HTML Element', NULL, '', '<?php\r\n/**\r\n* $RCSfile$\r\n*\r\n* Description: Output some HTML text\r\n*\r\n* @version 1.0.0\r\n* @author Rudi Bieller\r\n* @copyright four for business AG <www.4fb.de>\r\n*\r\n* {@internal\r\n* created 2008-04-07\r\n* }}\r\n*\r\n* $Id: standard_modules1.sql 2 2011-07-20 12:00:48Z oldperl $\r\n*/\r\n\r\nif (!isset($tpl) || !is_object($tpl)) {\r\n $tpl = new Template();\r\n}\r\n\r\n$tpl->reset();\r\n$tpl->set(''s'', ''text'', "CMS_HTML[1]");\r\n$tpl->generate(''templates/text_html.html'');\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2008-04-14 16:00:53', '0000-00-00 00:00:00');
INSERT INTO !PREFIX!_mod VALUES (24, 1, 'QR Code', 'Content', 'none', 'Generiert einen QR Code (quadratischer Barcode) fuer den eingegebenen Text oder mit\r\ndem vollstaendigen URL der Seite wenn nichts eingegeben wurde.\r\n\r\nAutor: Spider IT Deutschland - Rene Mansveld\r\nVersion: 1.0 (2012-10-13)', NULL, '', '<?php\r\n # Caution! No ''echo'' and no quotes!\r\n CMS_QRCODE[1];\r\n?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2012-11-28 14:53:04', '2013-01-23 17:32:48');
INSERT INTO !PREFIX!_mod VALUES (25, 1, 'QR Text', 'Content', 'none', '<Ihre Modulbeschreibung>\r\n\r\nAutor:\r\nVersion:', NULL, '', '<?php echo mi18n("Diese Seite auf dem Smartphone:"); ?>', '', 0, NULL, NULL, '48a365b4ce1e322a55ae9017f3daf0c0', '2013-01-23 17:34:16', '2013-01-23 17:34:59');