public function scheduleListing() { PHPWS_Core::initCoreClass('DBPager.php'); PHPWS_Core::initModClass('calendar', 'Schedule.php'); require_once PHPWS_SOURCE_DIR . 'mod/calendar/class/Event.php'; self::includeScheduleJS(); self::includeEventJS(); $schedule = new Calendar_Schedule(); $schedule->id = 1; $this->title = dgettext('calendar', 'Schedules'); $event = new Calendar_Event(0, $schedule); $page_tags['EVENT_FORM'] = self::eventModal($event); $page_tags['DESCRIPTION_LABEL'] = dgettext('calendar', 'Description'); $page_tags['PUBLIC_LABEL'] = dgettext('calendar', 'Public'); $page_tags['DISPLAY_NAME_LABEL'] = dgettext('calendar', 'User'); $page_tags['AVAILABILITY_LABEL'] = dgettext('calendar', 'Availability'); $page_tags['ADD_CALENDAR'] = '<button id="create-schedule" class="btn btn-success"><i class="fa fa-file-text"></i> ' . dgettext('calendar', 'Create schedule') . '</button>'; $schedule_form = $this->calendar->schedule->form(); $schedule_modal = new \Modal('schedule-modal', $schedule_form, 'Create schedule'); $schedule_modal->sizeLarge(); $page_tags['SCHEDULE_FORM'] = $schedule_modal->__toString(); $page_tags['ADMIN_LABEL'] = dgettext('calendar', 'Options'); $pager = new DBPager('calendar_schedule', 'Calendar_Schedule'); $pager->setModule('calendar'); $pager->setTemplate('admin/schedules.tpl'); $pager->addPageTags($page_tags); $pager->addRowTags('rowTags'); $pager->addToggle('class="bgcolor1"'); $pager->setEmptyMessage(dgettext('calendar', 'No schedules have been created.')); $pager->addSortHeader('title', dgettext('calendar', 'Title')); $pager->addSortHeader('public', dgettext('calendar', 'Availability')); $pager->db->addWhere('user_id', 0); $pager->db->addWhere('user_id', 'users.id', '=', 'or'); $pager->db->addColumn('*'); $pager->db->addColumn('users.display_name'); $pager->db->addJoin('left', 'calendar_schedule', 'users', 'user_id', 'id'); $pager->initialize(); $this->content = $pager->get(); }
/** * Displays the page layout and lets user enter text fields, blocks, etc. */ public function pageLayout() { javascript('jquery'); javascript('jquery_ui'); javascript('ckeditor'); Layout::addStyle('pagesmith', 'admin.css'); Layout::addJSHeader('<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'mod/pagesmith/javascript/pageedit/script.js"></script>', 'pageedit'); Layout::addStyle('pagesmith'); $page = $this->ps->page; $pg_tpl_name =& $page->_tpl->name; $this->ps->killSaved($page->id); if (!empty($page->_content)) { foreach ($page->_content as $key => $cnt) { if (!PageSmith::checkLorum($cnt)) { $_SESSION['PS_Page'][$page->id][$key] = $cnt; } } } $form = new PHPWS_Form('pagesmith'); $form->addHidden('module', 'pagesmith'); $form->addHidden('aop', 'post_page'); $form->addHidden('tpl', $page->template); $form->addHidden('pid', $page->parent_page); $template_list = $this->ps->getTemplateList(); $form->addSelect('template_list', $template_list); $form->setMatch('template_list', $page->template); $form->addSubmit('change_tpl', dgettext('pagesmith', 'Change template')); if ($page->id) { $form->addHidden('id', $page->id); } if (empty($page->_tpl) || $page->_tpl->error) { $this->ps->content = dgettext('pagesmith', 'Unable to load page template.'); return; } $form->addSubmit('submit', dgettext('pagesmith', 'Save page')); $form->setClass('submit', 'btn btn-success'); $page->loadKey(); if ($page->_key->id && $page->_key->show_after) { $publish_date = $page->_key->show_after; } else { $publish_date = time(); } $this->pageTemplateForm($form); $tpl = $form->getTemplate(); $tpl['PUBLISH_DATE_LABEL'] = 'Show page after this date and time'; $tpl['PUBLISH_VALUE'] = strftime('%Y-%m-%dT%H:%M:%S', $publish_date); $tpl['PAGE_TITLE'] = $page->title; $jsvars['page_title_input'] = 'pagesmith_title'; $jsvars['page_title_id'] = sprintf('%s-page-title', $pg_tpl_name); javascriptMod('pagesmith', 'pagetitle', $jsvars); $tpl['HIDE_CHECK'] = $page->hide_title ? 'checked="checked"' : null; if (!empty($page->_orphans)) { $tpl['ORPHAN_LINK'] = sprintf('<a href="%s#orphans">%s</a>', PHPWS_Core::getCurrentUrl(), dgettext('pagesmith', 'Orphans')); $tpl['ORPHANS'] = $this->listOrphans($page->_orphans); } // We wrap the textarea in a form just so ckeditor will allow use of the "Save" button. $modal = new \Modal('edit-section', '<form><textarea id="block-edit-textarea"></textarea></form>', dgettext('pagesmith', 'Edit text area')); $modal->addButton('<button id="save-page" class="btn btn-success">' . dgettext('pagesmith', 'Save') . '</button>'); $modal->setWidthPercentage(90); $tpl['CONTENT_MODAL'] = $modal->__toString(); $title_modal = new \Modal('edit-title', '<input class="form-control" type="text" id="page-title-input" name="page_title" value="" />', dgettext('pagesmith', 'Edit page title')); $title_modal->addButton('<button id="save-title" class="btn btn-success">' . dgettext('pagesmith', 'Save') . '</button>'); $tpl['TITLE_MODAL'] = $title_modal->__toString(); $this->ps->content = PHPWS_Template::process($tpl, 'pagesmith', 'page_form.tpl'); }