public function generateHtml($revisionId, $widgetId, $data, $skin) { if (empty($data['serialized'])) { $data['serialized'] = ''; } else { parse_str($data['serialized'], $data); $data['currentLink'] = $revisionId; } if (isset($data['data']['menu']['visibility'])) { if ($data['data']['menu']['visibility'] == 0) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } else { if (!empty($revisionId)) { $revision = \Ip\Internal\Revision::getRevision($revisionId); $pageId = $revision['pageId']; } else { $pageId = $data['data']['menu']['pageId']; } if ($data['data']['menu']['visibility'] == 1) { $parentId = Model::getParentId($data['data']['menu']['name']); if ($parentId == $pageId) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } elseif (Model::checkIfChildren(array($parentId), $pageId)) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } } elseif ($data['data']['menu']['visibility'] == 2) { if ($data['data']['menu']['pageId'] == $pageId) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } } } } return parent::generateHtml($revisionId, $widgetId, array(), $skin); }
public function save() { //$form = Helper::createForm($wget=''); $form = Helper::createForm(); $postData = ipRequest()->getPost(); $errors = $form->validate($postData); if ($errors) { // Validation error $status = array('status' => 'error', 'errors' => $errors); return new \Ip\Response\Json($status); } else { // Success Model::save(ipRequest()->getPost('language_id'), ipRequest()->getPost('zone_name'), ipRequest()->getPost('user_id'), ipRequest()->getPost('name'), ipRequest()->getPost('email'), ipRequest()->getPost('link'), ipRequest()->getPost('text'), ipRequest()->getPost('ip'), ipRequest()->getPost('approved'), ipRequest()->getPost('session_id'), ipRequest()->getPost('verification_code'), ipRequest()->getPost('active')); //get page where this widget sits :) $postData = ipRequest()->getPost(); $vcode = $postData['verification_code']; $fullWidgetRecord = \Ip\Internal\Content\Model::getWidgetRecord($postData['wgetId']); $pageTitle = ''; if (isset($fullWidgetRecord['revisionId'])) { $revision = \Ip\Internal\Revision::getRevision($fullWidgetRecord['revisionId']); if (!empty($revision['pageId'])) { $pageTitle = ipPage($revision['pageId'])->getTitle(); } } $stamp = date(__('m/d/Y', 'Comments')) . __(', at ', 'Comments') . date('H:i:s'); //sending email notification Helper::sendMailNotification(trim(ipRequest()->getPost('zone_name')), trim(ipRequest()->getPost('name')), $stamp, trim(ipRequest()->getPost('text')), trim(ipRequest()->getPost('email')), trim($pageTitle), trim($vcode)); //$actionUrl = ipActionUrl(array('sa' => 'FormExample.showSuccessMessage')); //$status = array('redirectUrl' => $actionUrl); $status = array('status' => 'ok'); //success return new \Ip\Response\Json($status); } }
public function pageNotFound() { $content = null; $error404Page = ipContent()->getPageByAlias('error404'); if ($error404Page) { $revision = \Ip\Internal\Revision::getPublishedRevision($error404Page->getId()); $content = \Ip\Internal\Content\Model::generateBlock('main', $revision['revisionId'], 0, 0); } return new \Ip\Response\PageNotFound($content); }
public function generateHtml($revisionId, $widgetId, $data, $skin) { if (empty($data['serialized'])) { $data['serialized'] = ''; } else { parse_str($data['serialized'], $data); $data['currentLink'] = $revisionId; } if (empty($data['data']['blog']['place'])) { if (!empty($revisionId)) { $revision = \Ip\Internal\Revision::getRevision($revisionId); $pageId = $revision['pageId']; } else { $pageId = $data['data']['blog']['pageId']; } } else { $pageId = $data['data']['blog']['place']; } $data['sourcePageId'] = $pageId; //pagination if (!empty($data['data']['blog']['pagination']['limit'])) { $limit = $data['data']['blog']['pagination']['limit']; } else { $limit = 10; } if (!($page = ipRequest()->getQuery('page'))) { $page = 1; } if (!empty($data['data']['blog']['parent'])) { $parentCat = true; } else { $parentCat = false; } if (!empty($data['data']['blog']['image']['enable'])) { $data['imageOptions'] = array('type' => 'center', 'width' => $data['data']['blog']['image']['width'], 'height' => $data['data']['blog']['image']['height'], 'quality' => 80, 'forced' => false); } if (!empty($data['data']['blog']['options'])) { $options = $data['data']['blog']['options']; } else { $options = array('introlimit' => ipGetOption('AsdBlog.introLimit'), 'allowedtags' => ipGetOption('AsdBlog.allowedTags'), 'blockname' => ipGetOption('AsdBlog.blockName')); } $data['data']['pages'] = Model::getPages($pageId, $parentCat, array('limit' => $limit, 'page' => $page), $options); return parent::generateHtml($revisionId, $widgetId, $data, $skin); }
/** * If in management state and the last revision was published, create a new revision. * @ignore */ public function getCurrentRevision() { if ($this->currentRevision !== null) { return $this->currentRevision; } if (!$this->currentPage) { return null; } $revision = null; $pageId = $this->currentPage->getId(); if (ipRequest()->getQuery('_revision') && ipAdminId()) { $revisionId = ipRequest()->getQuery('_revision'); $revision = \Ip\Internal\Revision::getRevision($revisionId); if ($revision['pageId'] != $pageId) { $revision = null; } } if (!$revision && ipIsManagementState()) { $revision = \Ip\Internal\Revision::getLastRevision($pageId); if ($revision['isPublished']) { $duplicatedId = \Ip\Internal\Revision::duplicateRevision($revision['revisionId']); $revision = \Ip\Internal\Revision::getRevision($duplicatedId); } } if (!$revision) { $revision = \Ip\Internal\Revision::getPublishedRevision($this->currentPage->getId()); } $this->currentRevision = $revision; return $this->currentRevision; }
public function savePage() { if (!isset($_POST['revisionId'])) { return $this->_errorAnswer('Missing revisionId POST variable'); } $revisionId = $_POST['revisionId']; $publish = !empty($_POST['publish']); $revision = \Ip\Internal\Revision::getRevision($revisionId); if (!$revision) { return $this->_errorAnswer('Can\'t find revision. RevisionId \'' . $revisionId . '\''); } if ($publish) { $pageOptions = array(); $pageOptions['updatedAt'] = date("Y-m-d"); $pageOptions['isVisible'] = 1; \Ip\Internal\Pages\Model::updatePageProperties($revision['pageId'], $pageOptions); } \Ip\Internal\Revision::publishRevision($revisionId); $newRevisionId = \Ip\Internal\Revision::duplicateRevision($revisionId); $page = new \Ip\Page($revision['pageId']); $data = array('status' => 'success', 'action' => '_savePageResponse', 'newRevisionId' => $newRevisionId, 'newRevisionUrl' => $page->getLink()); return new \Ip\Response\Json($data); }
/** * @param int $revisionId * @return bool|string */ public static function isRevisionModified($revisionId = null) { if ($revisionId === null) { $currentRevision = ipContent()->getCurrentRevision(); $revisionId = $currentRevision['revisionId']; } $currentRevision = \Ip\Internal\Revision::getRevision($revisionId); if (!$currentRevision) { return false; } $pageId = $currentRevision['pageId']; $publishedRevision = \Ip\Internal\Revision::getPublishedRevision($pageId); if (!$publishedRevision) { return true; } if ($publishedRevision['revisionId'] == $currentRevision['revisionId']) { return false; } $currentFingerprint = self::revisionFingerprint($currentRevision['revisionId']); $publishedFingerprint = self::revisionFingerprint($publishedRevision['revisionId']); $modified = $currentFingerprint != $publishedFingerprint; return $modified; }
public static function ipAdminNavbarCenterElements($elements, $info) { if (ipContent()->getCurrentPage() && ipAdminPermission('Content')) { $revision = \Ip\ServiceLocator::content()->getCurrentRevision(); $revisions = \Ip\Internal\Revision::getPageRevisions(ipContent()->getCurrentPage()->getId()); $managementUrls = array(); $currentPageLink = ipContent()->getCurrentPage()->getLink(); foreach ($revisions as $value) { $managementUrls[] = $currentPageLink . '?_revision=' . $value['revisionId']; } $data = array('revisions' => $revisions, 'currentRevision' => $revision, 'managementUrls' => $managementUrls, 'isPublished' => !\Ip\Internal\Content\Model::isRevisionModified($revision['revisionId']) && ipContent()->getCurrentPage()->isVisible(), 'isVisible' => ipContent()->getCurrentPage()->isvisible()); $elements[] = ipView('view/publishButton.php', $data); } return $elements; }
/** * @param \Ip\Form $form * @param array $postData * @param array $data */ public function sendEmail($form, $postData, $data) { $contentData = array(); $websiteName = ipGetOptionLang('Config.websiteTitle'); $websiteEmail = ipGetOptionLang('Config.websiteEmail'); $from = $websiteEmail; $files = array(); foreach ($form->getFields() as $field) { if ($field->getType() == \Ip\Form\Field::TYPE_REGULAR) { if (!isset($postData[$field->getName()])) { $postData[$field->getName()] = null; } $title = $field->getLabel(); $value = $field->getValueAsString($postData, $field->getName()); $contentData[] = array('fieldClass' => get_class($field), 'title' => $title, 'value' => $value); } if (get_class($field) == 'Ip\\Form\\Field\\Email') { $userFrom = $field->getValueAsString($postData, $field->getName()); if ($userFrom != '') { $from = $userFrom; } } if (get_class($field) == 'Ip\\Form\\Field\\File') { $uploadedFiles = $field->getFiles($postData, $field->getName()); $originalNames = $field->originalFileNames($postData, $field->getName()); foreach ($uploadedFiles as $key => $uploadedFile) { $files[] = array($uploadedFile, $originalNames[$key]); } } } $content = ipView('helperView/email_content.php', array('values' => $contentData))->render(); $emailData = array('content' => $content); $email = ipEmailTemplate($emailData); //get page where this widget sits :) $fullWidgetRecord = \Ip\Internal\Content\Model::getWidgetRecord($postData['widgetId']); $pageTitle = ''; if (isset($fullWidgetRecord['revisionId'])) { $revision = \Ip\Internal\Revision::getRevision($fullWidgetRecord['revisionId']); if (!empty($revision['pageId'])) { $pageTitle = ipPage($revision['pageId'])->getTitle(); } } $subject = $websiteName . ': ' . $pageTitle; $emailQueue = new \Ip\Internal\Email\Module(); if (!empty($data['sendTo']) && $data['sendTo'] == 'custom') { if (empty($data['emails'])) { $data['emails'] = ''; } $emailList = preg_split("/[\\s,]+/", $data['emails']); } else { $emailList = array($websiteEmail); } foreach ($emailList as $listItem) { $emailQueue->addEmail($from, '', $listItem, '', $subject, $email, false, true, $files); } $emailQueue->send(); }
/** * @param int $sourceId * @param int $targetId */ private static function _copyWidgets($sourceId, $targetId) { $oldRevision = \Ip\Internal\Revision::getPublishedRevision($sourceId); \Ip\Internal\Revision::duplicateRevision($oldRevision['revisionId'], $targetId, 1); }
public static function ipCronExecute($info) { if ($info['firstTimeThisDay'] || $info['test']) { if (ipGetOption('Config.removeOldRevisions', 0)) { \Ip\Internal\Revision::removeOldRevisions(ipGetOption('Config.removeOldRevisionsDays', 720)); } } }