17 import(
'lib.pkp.classes.form.Form');
36 parent::__construct($staticPagesPlugin->getTemplateResource(
'editStaticPageForm.tpl'));
40 $this->plugin = $staticPagesPlugin;
45 $this->
addCheck(
new FormValidator($this,
'title',
'required',
'plugins.generic.staticPages.nameRequired'));
46 $this->
addCheck(
new FormValidatorRegExp($this,
'path',
'required',
'plugins.generic.staticPages.pathRegEx',
'/^[a-zA-Z0-9\/._-]+$/'));
48 $this->
addCheck(
new FormValidatorCustom($this,
'path',
'required',
'plugins.generic.staticPages.duplicatePath',
function($path) use ($form) {
50 $page = $staticPagesDao->getByPath($form->contextId, $path);
51 return !$page || $page->getId()==$form->staticPageId;
60 if ($this->staticPageId) {
62 $staticPage = $staticPagesDao->getById($this->staticPageId, $this->contextId);
63 $this->
setData(
'path', $staticPage->getPath());
64 $this->
setData(
'title', $staticPage->getTitle(
null));
65 $this->
setData(
'content', $staticPage->getContent(
null));
80 function fetch($request, $template =
null, $display =
false) {
82 $templateMgr->assign(array(
83 'staticPageId' => $this->staticPageId,
84 'pluginJavaScriptURL' => $this->plugin->getJavaScriptURL($request),
87 if ($context = $request->getContext()) $templateMgr->assign(
'allowedVariables', array(
88 'contactName' => __(
'plugins.generic.tinymce.variables.principalContactName', array(
'value' => $context->getData(
'contactName'))),
89 'contactEmail' => __(
'plugins.generic.tinymce.variables.principalContactEmail', array(
'value' => $context->getData(
'contactEmail'))),
90 'supportName' => __(
'plugins.generic.tinymce.variables.supportContactName', array(
'value' => $context->getData(
'supportName'))),
91 'supportPhone' => __(
'plugins.generic.tinymce.variables.supportContactPhone', array(
'value' => $context->getData(
'supportPhone'))),
92 'supportEmail' => __(
'plugins.generic.tinymce.variables.supportContactEmail', array(
'value' => $context->getData(
'supportEmail'))),
95 return parent::fetch($request, $template, $display);
101 function execute(...$functionParams) {
102 parent::execute(...$functionParams);
105 if ($this->staticPageId) {
107 $staticPage = $staticPagesDao->getById($this->staticPageId, $this->contextId);
110 $staticPage = $staticPagesDao->newDataObject();
111 $staticPage->setContextId($this->contextId);
114 $staticPage->setPath($this->
getData(
'path'));
115 $staticPage->setTitle($this->
getData(
'title'),
null);
116 $staticPage->setContent($this->
getData(
'content'),
null);
118 if ($this->staticPageId) {
119 $staticPagesDao->updateObject($staticPage);
121 $staticPagesDao->insertObject($staticPage);