コード例 #1
0
ファイル: template_info.php プロジェクト: nrueckmann/yeager
<?php

$siteID = $this->request->parameters["site"];
$pageID = $this->request->parameters["page"];
$action = $this->request->parameters["action"];
$template = (int) sanitize($this->request->parameters["template"]);
$templateMgr = new Templates();
if ($template == 0 && $siteID && $pageID) {
    if ($siteID == "mailing") {
        $mailingMgr = new MailingMgr();
        $mailing = $mailingMgr->getMailing($pageID);
        $mailingInfo = $mailing->get();
        $template = $mailingInfo["TEMPLATEID"];
    } else {
        $pageMgr = new PageMgr($siteID);
        $page = $pageMgr->getPage($pageID);
        $pageInfo = $page->get();
        $template = $pageInfo["TEMPLATEID"];
    }
} else {
    $template = (int) sanitize($this->request->parameters["template"]);
}
if ($template != 0) {
    $templateInfo = $templateMgr->getTemplate($template);
    $templateInfo["PREVIEWPATH"] = $templateMgr->getPreviewPath($template);
} else {
    $templateInfo = false;
}
$smarty->assign("templateInfo", $templateInfo);
$smarty->assign("mode", sanitize($this->request->parameters["mode"]));
$smarty->display("file:" . getrealpath($this->page_template));
コード例 #2
0
ファイル: page_render.inc.php プロジェクト: nrueckmann/yeager
function renderPage($page, $version, $pageInfo, $pageMgr, $siteInfo)
{
    $templateMgr = new Templates();
    $pageID = $pageInfo["OBJECTID"];
    $templateInfo = $templateMgr->getTemplate($pageInfo["TEMPLATEID"]);
    $templatefilename = $templateInfo["FILENAME"];
    $templatefullpath = $templateMgr->getDir() . $templateInfo["PATH"] . $templatefilename;
    $content = $page->getContent();
    // navi
    $tree = $pageMgr->getList($pageID, array($filter));
    $tree = $pageMgr->getAdditionalTreeInfo($pageID, $tree, true);
    $oldlevel = 0;
    for ($xt = 0; $xt < count($tree); $xt++) {
        if ($oldlevel != $tree[$xt]["LEVEL"] || !$pnames) {
            $tree[$xt]["PARENTS"] = $pnames = $pageMgr->getParents($tree[$xt]["ID"]);
            $oldlevel = $tree[$xt]["LEVEL"];
        } else {
            $tree[$xt]["PARENTS"] = $pnames;
        }
        if ($pageID == $tree[$xt]["ID"]) {
            $pageInfo["PARENTS"] = $pnames;
        }
        $url = "";
        $pi = count($pnames);
        while ($pi > 0) {
            $url .= $pnames[$pi - 1][0]["PNAME"] . "/";
            $pi--;
        }
        $tree[$xt]["PURL"] = $url . $tree[$xt]["PNAME"] . "/";
        $tree[$xt]["URL"] = sApp()->webroot . $url . $tree[$xt]["PNAME"] . "/";
        if ($tree[$xt]["HIDDEN"] == 0 && $tree[$xt]["SHOW"] == 1) {
            $xtc = $xtc + 1;
        }
    }
    $pageMgr->callExtensionHook("onRender", $siteInfo["ID"], $pageID, $version, array("FILTER" => $filter, "CONTENTAREAS" => &$content));
    // Fill userinfo with data from current user
    $currUser = new User(sUserMgr()->getCurrentUserID());
    $userInfo = $currUser->get();
    $userInfo['FULLNAME'] = trim($userInfo['FIRSTNAME'] . ' ' . $userInfo['LASTNAME']);
    sApp()->smarty->assign("user", $userInfo);
    sApp()->smarty->assign("devmode", (string) sApp()->devmode);
    sApp()->smarty->assign("pageinfo", $pageInfo);
    sApp()->smarty->assign("contentareas", $content);
    sApp()->smarty->assign("tree", $tree);
    sApp()->smarty->assign("site", $siteInfo["ID"]);
    sApp()->smarty->assign("siteinfo", $siteInfo);
    sApp()->smarty->assign("sitename", $siteInfo["PNAME"]);
    sApp()->smarty->assign("untitledparams", sApp()->request->untitled_parameters);
    if (!sApp()->output_tmp) {
        if ($templateInfo == NULL) {
            sApp()->output_tmp = "";
        } else {
            sApp()->output_tmp = sApp()->smarty->fetch("file:" . $templatefullpath);
        }
    }
    //2nd pass
    sApp()->smarty->left_delimiter = '[!';
    sApp()->smarty->right_delimiter = '!]';
    sApp()->output = sApp()->smarty->fetch("var:" . sApp()->output_tmp);
    //3rd pass (replace special urls with normal urls)
    sApp()->output = replaceSpecialURLs(sApp()->output);
    echo sApp()->output;
}
コード例 #3
0
ファイル: emailsend.php プロジェクト: nrueckmann/yeager
 public function sendEmail($emailData)
 {
     $mail = new PHPMailer();
     if ((bool) sConfig()->getVar('CONFIG/MAILINGS/DISABLE')) {
         return true;
     }
     // Obtain userdata
     $user = new User($emailData['USER_ID']);
     $userInfo = $user->get();
     $userInfo['PROPERTIES'] = $user->properties->getValues($emailData['USER_ID']);
     // Obtain mailingdata
     $mailingMgr = new MailingMgr();
     $mailing = $mailingMgr->getMailing($emailData['MAILING_ID']);
     if ($emailData['IS_TEST']) {
         $mailingInfo = $mailing->get();
         $mailingVersion = $mailingInfo['VERSION'];
     } else {
         $mailingVersion = $mailing->getLatestApprovedVersion();
         $mailing = $mailingMgr->getMailing($emailData['MAILING_ID'], $mailingVersion);
         $mailingInfo = $mailing->get();
     }
     $templateMgr = new Templates();
     $userId = $userInfo['ID'];
     $userEmail = $userInfo['PROPERTIES']['EMAIL'];
     $userFirstName = $userInfo['PROPERTIES']['FIRSTNAME'];
     $userLastName = $userInfo['PROPERTIES']['LASTNAME'];
     $userName = trim($userFirstName . ' ' . $userLastName);
     $userCompany = $userInfo['PROPERTIES']['COMPANY'];
     $userDepartment = $userInfo['PROPERTIES']['COMPANY'];
     $templateInfo = $templateMgr->getTemplate($mailingInfo['TEMPLATEID']);
     $userInfo['PROPERTIES']['FULLNAME'] = trim($userFirstName . ' ' . $userLastName);
     sSmarty()->clear_assign('recipient');
     sSmarty()->assign('recipient', $userInfo);
     sSmarty()->clear_assign('user');
     sSmarty()->assign('user', $userInfo['PROPERTIES']);
     sApp()->output = '';
     $emailData['FROM'] = $mailingInfo['FROM_EMAIL'];
     $emailData['FROM_NAME'] = $mailingInfo['FROM_NAME'];
     $emailData['FROM_REPLYTO'] = $mailingInfo['FROM_REPLYTO'];
     $emailData['FROM_SENDER'] = $mailingInfo['FROM_SENDER'];
     $emailData['ENCODING'] = $mailingInfo['ENCODING'];
     if ($emailData['ENCODING'] == '') {
         $emailData['ENCODING'] = 'base64';
     }
     $emailData['SUBJECT'] = $this->replaceUserdataVars($mailingInfo['SUBJECT'], $emailData['USER_ID']);
     $emailData['BODY_TEXT'] = $this->replaceUserdataVars($mailingInfo['FALLBACK_TEXT'], $emailData['USER_ID']);
     // Set special smarty delimiters
     sSmarty()->left_delimiter = '[!';
     sSmarty()->right_delimiter = '!]';
     // Parse subject with smarty
     $emailData['SUBJECT'] = sSmarty()->fetch('var:' . $emailData['SUBJECT']);
     //$emailData['BODY_TEXT'] = sSmarty()->fetch('var:'.$emailData['BODY_TEXT']);
     // Reset smarty delimiters
     sSmarty()->left_delimiter = '{';
     sSmarty()->right_delimiter = '}';
     $mailingId = $emailData['MAILING_ID'];
     include getrealpath(dirname(__FILE__) . '/../../output/mailing.php');
     if ($templateInfo['FILENAME']) {
         $emailhtml = sApp()->output;
         $emailhtml = str_replace("\"/neptun/neptun.php", "\"" . $this->request->prefix . "://" . $this->request->http_host . $this->request->script_name, $emailhtml);
         $emailhtml = $this->replaceUserdataVars($emailhtml, $emailData['USER_ID']);
         $emailData['BODY_HTML'] = $emailhtml;
     } else {
         $emailData['BODY_HTML'] = NULL;
     }
     sApp()->output = '';
     $smtpServer = (string) sConfig()->getVar('CONFIG/MAILINGS/SMTP');
     if ($smtpServer) {
         $mail->IsSMTP();
         $mail->Host = $smtpServer;
     }
     if ($emailData['ENCODING']) {
         $mail->Encoding = $emailData['ENCODING'];
     }
     if ($emailData['CHARSET']) {
         $mail->CharSet = $emailData['CHARSET'];
     }
     if ($emailData['FROM']) {
         $mail->From = $emailData['FROM'];
     }
     if ($emailData['FROM_NAME']) {
         $mail->FromName = $emailData['FROM_NAME'];
     }
     if ($emailData['FROM_REPLYTO']) {
         $mail->AddReplyTo($emailData['FROM_REPLYTO']);
     }
     if ($emailData['FROM_SENDER']) {
         $mail->Sender = $emailData['FROM_SENDER'];
     }
     if ($emailData['SUBJECT']) {
         $mail->Subject = $emailData['SUBJECT'];
     }
     if ($emailData['BODY_HTML']) {
         $mail->Body = $emailData['BODY_HTML'];
         $mail->IsHTML(true);
     }
     if ($emailData['BODY_TEXT'] && !$emailData['BODY_HTML']) {
         $mail->Body = $emailData['BODY_TEXT'];
         $mail->IsHTML(false);
     }
     if ($emailData['BODY_TEXT'] && $emailData['BODY_HTML']) {
         $mail->AltBody = $emailData['BODY_TEXT'];
     }
     $forcedRecipient = (string) sConfig()->getVar('CONFIG/MAILINGS/FORCE_RECIPIENT');
     foreach ($emailData['TO'] as $emailToItem) {
         if ($forcedRecipient) {
             $mail->AddAddress($forcedRecipient, $emailToItem['EMAIL_NAME']);
         } else {
             $mail->AddAddress($emailToItem['EMAIL'], $emailToItem['EMAIL_NAME']);
         }
     }
     foreach ($emailData['CC'] as $emailCcItem) {
         $mail->AddCC($emailCcItem['EMAIL'], $emailCcItem['EMAIL_NAME']);
     }
     foreach ($emailData['BCC'] as $emailBccItem) {
         $mail->AddBCC($emailBccItem['EMAIL'], $emailBccItem['EMAIL_NAME']);
     }
     foreach ($emailData['ATTACHMENTS'] as $emailAttachmentItem) {
         $mail->AddAttachment($emailAttachmentItem['PATH'], $emailAttachmentItem['NAME']);
     }
     $result = $mail->Send();
     $mail->ClearAddresses();
     $mailingData = array('USERINFO' => $userInfo, 'DATA' => $emailData);
     $mailingMgr->callExtensionHook('onSend', $mailingId, $mailingVersion, $mailingData);
     return $result;
 }
コード例 #4
0
ファイル: site_config.php プロジェクト: nrueckmann/yeager
$ygid = $this->request->parameters['yg_id'];
$refresh = $this->request->parameters['refresh'];
$initload = $this->request->parameters['initload'];
$siteID = explode('-', $ygid);
$siteID = $siteID[0];
$siteMgr = new Sites();
$siteinfo = $siteMgr->get($siteID);
if ($siteinfo['FAVICON']) {
    // Favicon is set, get all information about file
    $file = sFileMgr()->getFile($siteinfo['FAVICON']);
    if ($file) {
        $favicon = $file->get();
        $smarty->assign('favicon', $favicon);
    }
}
$templateMgr = new Templates();
$templateInfo = $templateMgr->getTemplate($siteinfo['DEFAULTTEMPLATE']);
$templateInfo['PREVIEWPATH'] = $templateMgr->getPreviewPath($siteinfo['DEFAULTTEMPLATE']);
if ($siteinfo['TEMPLATEROOT']) {
    $templaterootinfo = $templateMgr->getTemplate($siteinfo['TEMPLATEROOT']);
}
$smarty->assign('object', $siteID);
$smarty->assign('siteinfo', $siteinfo);
$smarty->assign('templateInfo', $templateInfo);
$smarty->assign('templaterootinfo', $templaterootinfo);
$smarty->assign('mode', 1);
$smarty->assign('refresh', $refresh);
$smarty->assign('initload', $initload);
$smarty->assign('win_no', $this->request->parameters['win_no']);
$smarty->display('file:' . $this->page_template);
コード例 #5
0
ファイル: templates.php プロジェクト: nrueckmann/yeager
 $positive = $this->params['positive'];
 // Check if template is still used
 $stillInUse = false;
 $sites = sSites()->getList();
 foreach ($sites as $curr_site) {
     $pageMgr = new PageMgr($curr_site['ID']);
     $pages = $pageMgr->getPagesByTemplate($template);
     if (count($pages) > 0) {
         $stillInUse = true;
     }
 }
 $mailings = sMailingMgr()->getMailingsByTemplate($template);
 if (count($pages) > 0) {
     $stillInUse = true;
 }
 $tmpTemplateInfo = $templateMgr->getTemplate($template);
 if ($stillInUse) {
     // Still used!
     if ($confirmed != 'true') {
         $parameters = array('template' => $template);
         $koala->callJSFunction('Koala.yg_confirm', $itext['TXT_DELETE_USED_TEMPLATE_TITLE'] != '' ? $itext['TXT_DELETE_USED_TEMPLATE_TITLE'] : '$TXT_DELETE_USED_TEMPLATE_TITLE', $itext['TXT_DELETE_USED_TEMPLATE'] != '' ? $itext['TXT_DELETE_USED_TEMPLATE'] : '$TXT_DELETE_USED_TEMPLATE', $action, json_encode($parameters));
     } else {
         if ($confirmed == 'true' && $positive == 'true') {
             $successfullyDeleted = $templateMgr->remove($template);
             if (in_array($template, $successfullyDeleted)) {
                 if ($tmpTemplateInfo['FOLDER']) {
                     $jsQueue->add($template, HISTORYTYPE_TEMPLATE, 'OBJECT_DELETE', sGuiUS(), 'templatefolder', NULL, NULL, $template . '-template', 'name');
                 } else {
                     $jsQueue->add($template, HISTORYTYPE_TEMPLATE, 'OBJECT_DELETE', sGuiUS(), 'template', NULL, NULL, $template . '-template', 'name');
                 }
             }
コード例 #6
0
ファイル: config_mailings.php プロジェクト: nrueckmann/yeager
<?php

$ygid = $this->request->parameters['yg_id'];
$refresh = $this->request->parameters['refresh'];
$tmpUser = new User(sUserMgr()->getCurrentUserID());
$tmpUserInfo = $tmpUser->get();
$adminAllowed = $tmpUser->checkPermission('RMAILINGCONFIG');
if ($adminAllowed) {
    $mailingMgr = new MailingMgr();
    $templateMgr = new Templates();
    $defaultTemplate = $mailingMgr->getDefaultTemplate();
    $templateRoot = $mailingMgr->getTemplateRoot();
    if ($defaultTemplate) {
        $templateInfo = $templateMgr->getTemplate($defaultTemplate);
        $templateInfo['PREVIEWPATH'] = $templateMgr->getPreviewPath($defaultTemplate);
    }
    if ($templateRoot) {
        $templateRootInfo = $templateMgr->getTemplate($templateRoot);
    }
}
$smarty->assign('mode', 1);
$smarty->assign('adminAllowed', $adminAllowed);
$smarty->assign('templateInfo', $templateInfo);
$smarty->assign('templaterootinfo', $templateRootInfo);
$smarty->assign('defaultTemplate', $defaultTemplate);
$smarty->assign('templateRoot', $templateRoot);
$smarty->assign('refresh', $refresh);
$smarty->assign('win_no', $this->request->parameters['win_no']);
$smarty->display('file:' . $this->page_template);
コード例 #7
0
ファイル: mailing.php プロジェクト: nrueckmann/yeager
    } else {
        $filter = "PUBLISHED";
        $mailingVersion = $mailing->getPublishedVersion(true);
    }
} else {
    $filter = "PUBLISHED";
    $mailingVersion = $mailing->getPublishedVersion(true);
}
$mailing = $mailingMgr->getMailing($mailingId, $mailingVersion);
// Mailing Properties
$mailingInfo = $mailing->get();
$mailingProperties = $mailing->properties->get();
$mailingInfo = array_merge($mailingProperties, $mailingInfo);
// Template
$templateMgr = new Templates();
$templateInfo = $templateMgr->getTemplate($mailingInfo['TEMPLATEID']);
$templatefilename = $templateInfo['FILENAME'];
$templatefullpath = $templateMgr->getDir() . $templateInfo['PATH'] . $templatefilename;
// Content
$content = $mailing->getContent();
$mailingcnt = array('USERINFO' => $userInfo, 'FILTER' => $filter, 'CONTENTAREAS' => &$content);
$mailingMgr->callExtensionHook('onRender', $mailingId, $mailingVersion, $mailingcnt);
sSmarty()->assign('pageinfo', $mailingInfo);
sSmarty()->assign('contentareas', $content);
if (!$output_tmp) {
    $output_tmp = sSmarty()->fetch('file:' . $templatefullpath);
}
// 2nd pass
sSmarty()->left_delimiter = '[!';
sSmarty()->right_delimiter = '!]';
sApp()->output = sSmarty()->fetch('var:' . $output_tmp);
コード例 #8
0
ファイル: common.php プロジェクト: nrueckmann/yeager
         $koala->alert($itext['TXT_ERROR_ACCESS_DENIED']);
     } else {
         $value = str_replace("\n", '\\n', $value);
         $jsQueue->add($data[0], HISTORYTYPE_TAG, 'OBJECT_CHANGE', sGuiUS(), 'tag', NULL, NULL, $this->reponsedata[$property]->yg_id, $property, $value);
         $jsQueue->add($data[0], HISTORYTYPE_TAG, 'OBJECT_CHANGE', sGuiUS(), 'page', NULL, NULL, $this->reponsedata[$property]->yg_id, $property, $value);
         // Special case for name
         if ($property == 'name') {
             $jsQueue->add($data[0], HISTORYTYPE_TAG, 'REFRESH_WINDOW', sGuiUS(), 'name');
             $jsQueue->add($data[0], HISTORYTYPE_PAGE, 'REFRESH_WINDOW', sGuiUS(), 'name');
         }
     }
     break;
 case 'template':
     // Get the template
     $templateMgr = new Templates();
     $templateInfo = $templateMgr->getTemplate($data[0]);
     $oldname = $templateInfo['NAME'];
     $value = str_replace("\r", '', str_replace("\n", '\\n', $this->reponsedata[$property]->value));
     if ($oldname == $value) {
         // No update needed, henceforth break
         break;
     }
     // Check for empty name
     if (trim($value) == '') {
         //$jsQueue->add ($data[0], HISTORYTYPE_TEMPLATE, 'OBJECT_CHANGE', sGuiUS(), 'tag', NULL, NULL, $this->reponsedata[$property]->yg_id, $property, $oldvalue);
         //$jsQueue->add ($data[0], HISTORYTYPE_FILE, 'REFRESH_WINDOW', sGuiUS(), 'name');
         $koala->alert($itext['TXT_CANT_CHANGE_TEMPLATETITLE_TO_EMPTY_VALUE']);
         break;
     }
     // Special handling for files
     if ($propertyInfo[0]['TYPE'] == 'FILE') {