/** * * @author Matthew McNaney <mcnaney at gmail dot com> * @package Global * @license http://opensource.org/licenses/lgpl-3.0.html */ function select2Script() { $script = '<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'javascript/select2/select2.min.js"></script>'; \Layout::addJSHeader($script); \Layout::addToStyleList('javascript/select2/select2.min.css'); \Layout::addToStyleList('javascript/select2/select2-bootstrap.css'); }
public function show() { javascript('jquery'); $home_http = PHPWS_SOURCE_HTTP; /** * Uncomment below for DEVELOPMENT * Comment out for PRODUCTION */ // Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/react.js'></script>"); // Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/JSXTransformer.js'></script>"); // Layout::addJSHeader("<script type='text/jsx' src='{$home_http}mod/hms/javascript/AssignByFloor/src/AssignByFloor.jsx'></script>"); /** * Uncomment below for PRODUCTION * Comment out for DEVELOPMENT */ Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/react.min.js'></script>"); Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/AssignByFloor/build/AssignByFloor.js'></script>"); /** * Remainder of code is untouched regardless of development status */ Layout::addJSHeader("<script type='text/javascript'>var sourceHttp = '{$home_http}';</script>"); ob_start(); include PHPWS_HOME_HTTP . 'mod/hms/templates/admin/AssignByFloor.html'; return ob_get_clean(); }
public static function form(\Request $request, $active_tab) { javascript('jquery'); \Form::requiredScript(); if (!in_array($active_tab, array('contact-info', 'map', 'social'))) { $active_tab = 'contact-info'; } $thumbnail_map = \Settings::get('contact', 'thumbnail_map'); $contact_info = self::load(); $values = self::getValues($contact_info); require PHPWS_SOURCE_DIR . 'mod/contact/config/states.php'; $values['states'] =& $states; if (!empty($thumbnail_map)) { $values['thumbnail_map'] = "<img src='{$thumbnail_map}' />"; } else { $values['thumbnail_map'] = null; } $js_social_links = ContactInfo\Social::getLinksAsJavascriptObject($values['social']); $js_string = <<<EOF <script type='text/javascript'>var active_tab = '{$active_tab}';var thumbnail_map = '{$thumbnail_map}';var social_urls = {$js_social_links};</script> EOF; \Layout::addJSHeader($js_string); $script = PHPWS_SOURCE_HTTP . 'mod/contact/javascript/contact.js'; \Layout::addJSHeader("<script type='text/javascript' src='{$script}'></script>"); \Layout::addJSHeader('<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>'); $template = new \Template($values); $template->setModuleTemplate('contact', 'Contact_Info_Form.html'); return $template->get(); }
protected function loadJavascript() { javascript('jquery'); javascript('dropzone'); javascript('authkey', null, null, true); $accepted_files = $this->getAllowedFileTypes(); $included_script = "<script type='text/javascript'>Dropzone.autoDiscover = false;</script>" . "<script type='text/javascript'>var accepted_files='{$accepted_files}';var ftype={$this->ftype};</script>"; \Layout::addJSHeader($included_script, 'fc_accepted_files'); $source = PHPWS_SOURCE_HTTP . 'mod/filecabinet/javascript/fc_folders/folder.js'; $script = "<script type='text/javascript' src='{$source}'></script>"; \Layout::addJSHeader($script, 'fc_folder'); }
public function show() { $residentStudents = $this->room->get_assignees(); $home_http = PHPWS_SOURCE_HTTP; $residents = array(); foreach ($residentStudents as $s) { $residents[] = array('studentId' => $s->getBannerId(), 'name' => $s->getName()); } $vars = array(); javascript('jquery'); // Load header for Angular Frontend /** * Uncomment below for DEVELOPMENT * Comment out for PRODUCTION */ //Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/react.js'></script>"); //Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/JSXTransformer.js'></script>"); //Layout::addJSHeader("<script type='text/jsx' src='{$home_http}mod/hms/javascript/CheckOut/src/CheckOut.jsx'></script>"); /** * Uncomment below for PRODUCTION * Comment out for DEVELOPMENT */ Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/react/build/react.min.js'></script>"); Layout::addJSHeader("<script src='{$home_http}mod/hms/javascript/CheckOut/build/CheckOut.js'></script>"); /** * Remainder of code is untouched regardless of development status */ Layout::addJSHeader("<script type='text/javascript'>var sourceHttp = '{$home_http}';</script>"); $vars['student'] = $this->student->getFullName(); $vars['banner_id'] = $this->student->getBannerId(); $vars['hall_name'] = $this->hall->getHallName(); $vars['room_number'] = $this->room->getRoomNumber(); $vars['residents'] = json_encode($residents); $vars['checkin_id'] = $this->checkin->id; $vars['previous_key_code'] = $this->checkin->key_code; $vars['room_pid'] = $this->room->persistent_id; $damage_types = DamageTypeFactory::getDamageTypeAssoc(); $damage_options = array(); foreach ($damage_types as $dt) { $damage_options[$dt['category']][] = array('id' => $dt['id'], 'description' => $dt['description']); } $vars['damage_types'] = json_encode($damage_types); if (empty($this->damages)) { $vars['existing_damage'] = '[]'; } else { $this->addResponsible($residents); $vars['existing_damage'] = json_encode($this->damages); } $tpl = new \Template($vars); $tpl->setModuleTemplate('hms', 'admin/CheckOut.html'); return $tpl->get(); }
function loadReact($data) { javascript('jquery'); $home_http = PHPWS_SOURCE_HTTP; if (isset($data['development']) && $data['development']) { if (isset($data['addons']) && $data['addons']) { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react-with-addons.js'></script>"); } else { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react.js'></script>"); } Layout::addJSHeader("<script src='{$home_http}javascript/react/build/JSXTransformer.js'></script>"); } else { if (isset($data['addons']) && $data['addons']) { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react-with-addons.min.js'></script>"); } else { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react.min.js'></script>"); } } }
protected function getJavascript() { $source_http = PHPWS_SOURCE_HTTP; \Layout::addJSHeader("<script type='text/javascript' src='{$source_http}Global/Templates/Pager/pager.js'></script>"); }
} if (isset($GLOBALS['reactDevAddOnLoaded'])) { return; } if (isset($data['addons']) && $data['addons']) { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react-with-addons.js'></script>", 'reactload'); // onload normal react, let addon have precedence $GLOBALS['reactDevAddOnLoaded'] = true; } else { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react.js'></script>", 'reactload'); } $GLOBALS['reactDevLoaded'] = true; Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react-dom.js'></script>", 'react-dom'); Layout::addJSHeader("<script src='{$home_http}javascript/react/build/JSXTransformer.js'></script>", 'jsxtrans'); } else { // if dev or minified addon react have loaded, don't load again if (isset($GLOBALS['reactDevLoaded'])) { return; } if (isset($GLOBALS['reactAddOnLoaded'])) { return; } if (isset($data['addons']) && $data['addons']) { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react-with-addons.min.js'></script>", 'reactload'); // onload normal react, let addon have precedence $GLOBALS['reactAddOnLoaded'] = true; } else { Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react.min.js'></script>", 'reactload'); } Layout::addJSHeader("<script src='{$home_http}javascript/react/build/react-dom.min.js'></script>", 'react-dom'); }
/** * Handle the submit from the search form. * * @param \Request $request * @return \Response */ public function post(\Request $request) { $script = PHPWS_SOURCE_HTTP . 'mod/systemsinventory/javascript/sys_pager.js'; $source_http = PHPWS_SOURCE_HTTP; \Layout::addJSHeader("<script type='text/javascript'>var source_http = '{$source_http}';</script>"); \Layout::addLink("<script type='text/javascript' src='{$script}'></script>"); $factory = new Factory(); $search_vars = $request->getVars(); $_SESSION['system_search_vars'] = $search_vars['vars']; \Pager::prepare(); $template = new \Template(); $template->setModuleTemplate('systemsinventory', 'search_results.html'); $view = new \View\HtmlView($template->get()); $response = new \Response($view); return $response; }
private function menuList() { \Layout::addStyle('menu', 'admin.css'); javascript('jquery'); javascript('jquery_ui'); //commenting out for now. problem clearing select dropdown //javascript('select2'); $template = new \Template(); $template->setModuleTemplate('menu', 'admin/administrate.html'); $first_menu_pin_all = 0; $first_menu_template = null; $db = new PHPWS_DB('menus'); $db->addOrder('queue'); $result = $db->getObjects('Menu_Item'); $first_menu = null; if (!empty($result)) { foreach ($result as $menu) { $menu->_show_all = true; if (empty($first_menu)) { $first_menu = $menu; $active = 'active'; } else { $active = null; } $tpl['menus'][] = array('title' => $menu->title, 'id' => $menu->id, 'active' => $active); } $first_menu_template = $first_menu->template; // for display, use the admin template $first_menu->template = 'admin'; $tpl['first_menu'] = $first_menu->view(true); $first_menu_pin_all = $first_menu->pin_all; $first_menu_id = $first_menu->id; } else { $first_menu_id = 0; $tpl['first_menu'] = null; } $vars['delete'] = t('Delete'); $vars['confirm_delete'] = t('Confirm deletion'); $vars['first_menu_id'] = $first_menu_id; $vars['authkey'] = \Current_User::getAuthKey(); $vars['blank_title'] = t('Title must not be blank'); $vars['title_error'] = t('Make sure you have filled in the required inputs.'); $vars['url_error'] = t('Please enter a url or choose a PageSmith page.'); $vars['delete_menu_message'] = t('Are you sure you want to delete this menu and links?'); $vars['edit'] = t('Edit'); $vars['title_error'] = t('Please enter a menu title'); if (PHPWS_Settings::get('menu', 'display_type')) { $vars['pin_all'] = null; $vars['pin_some'] = null; } else { $vars['pin_all'] = t('Shown on all pages'); $vars['pin_some'] = t('Shown on some pages'); } $jvar = json_encode($vars); $script = <<<EOF <script type="text/javascript">var translate = {$jvar}; var fmp={$first_menu_pin_all};</script> EOF; \Layout::addJSHeader($script); \Layout::addJSHeader('<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'mod/menu/javascript/administrate/script.js"></script>'); $main_menu_templates = PHPWS_File::listDirectories(PHPWS_Template::getTemplateDirectory('menu') . 'menu_layout/'); $theme_menu_templates = PHPWS_File::listDirectories(PHPWS_Template::getTplDir('menu') . 'menu_layout/'); $menu_tpls[] = '<optgroup label="' . t('Menu module templates') . '">'; foreach ($main_menu_templates as $menu_tpl) { if ($first_menu_template == $menu_tpl) { $selected = ' selected="selected"'; } else { $selected = null; } $menu_tpls[] = "<option value='{$menu_tpl}'{$selected}>{$menu_tpl}</option>"; } $menu_tpls[] = '</optgroup>'; if (!empty($theme_menu_templates)) { $menu_tpls[] = '<optgroup label="' . t('Theme templates') . '">'; foreach ($theme_menu_templates as $menu_tpl) { if ($first_menu_template == $menu_tpl) { $selected = ' selected="selected"'; } else { $selected = null; } $menu_tpls[] = "<option value='{$menu_tpl}'{$selected}>{$menu_tpl}</option>"; } $menu_tpls[] = '</optgroup>'; } $tpl['templates'] = implode('', $menu_tpls); $tpl['display_type'] = \PHPWS_Settings::get('menu', 'display_type'); if (isset($first_menu) && $first_menu->pin_all) { $tpl['pin_all'] = $vars['pin_all']; $tpl['pin_button_class'] = 'btn-primary'; } else { $tpl['pin_all'] = $vars['pin_some']; $tpl['pin_button_class'] = 'btn-default'; } if (\Current_User::isDeity()) { $tpl['reset_menu_link'] = PHPWS_Text::linkAddress('menu', array('command' => 'reset_menu'), true); } else { $tpl['reset_menu_link'] = '#'; } $tpl['link_limit'] = \PHPWS_Settings::get('menu', 'max_link_characters'); if (\PHPWS_Core::moduleExists('carousel')) { $tpl['carousel'] = $this->carouselSlidesForm(); } else { $tpl['carousel'] = null; } $template->addVariables($tpl); return $template->get(); }
<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ Block::show(); if (Current_User::allow('block')) { $key = Key::getCurrent(); if (Key::checkKey($key) && javascriptEnabled()) { javascript('jquery'); javascript('ckeditor'); $js_address = PHPWS_SOURCE_HTTP . 'mod/block/javascript/addblock/script.js'; Layout::addJSHeader('<script src="' . $js_address . '" type="text/javascript"></script>', 'addblock'); $modal = new \Modal('block-form-modal', '<div id="block-form-dialog"></div>', 'Add block here'); $modal->sizeLarge(); $save_button = '<button class="btn btn-success" id="save-block">Save</button>'; $modal->addButton($save_button); Layout::add((string) $modal); MiniAdmin::add('block', '<a style="cursor:pointer" data-auth-key="' . Current_User::getAuthKey() . '" data-key-id="' . $key->id . '" id="add-block"><i class="fa fa-plus"></i> Add block here</a>'); } }
<?php /** * * @author Matthew McNaney <mcnaney at gmail dot com> * @package Global * @license http://opensource.org/licenses/lgpl-3.0.html */ javascript('jquery'); $wrap_header = $wrap_body = true; $style = '<link rel="stylesheet" type="text/css" href="' . PHPWS_SOURCE_HTTP . 'javascript/datetimepicker/jquery.datetimepicker.css" / >'; \Layout::addJSHeader($style); \Layout::addJSHeader('<script src="' . PHPWS_SOURCE_HTTP . 'javascript/datetimepicker/jquery.datetimepicker.js"></script>'); $default['format'] = null; $options = array(); if (!empty($data['format'])) { $format = $data['format']; $options[] = "format:'{$format}'"; } if (isset($data['timepicker'])) { $options[] = 'timepicker: ' . ($data['timepicker'] ? 'true' : 'false'); } if (isset($data['datepicker'])) { $options[] = 'datepicker: ' . ($data['datepicker'] ? 'true' : 'false'); } if (isset($data['format'])) { $options[] = "format: '" . $data['format'] . "'"; } if (!isset($data['selector'])) { $data['selector'] = '.datetimepicker'; }
/** * 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'); }
/** * Loads the javascript file that helps enforce required fields. This may * eventually be incorporated into __toString or getInputStringArray. */ public static function requiredScript() { javascript('jquery'); \Layout::addJSHeader("<script type='text/javascript' src='" . PHPWS_SOURCE_HTTP . "Global/Templates/Form/required.js'></script>"); }
<?php javascript('jquery'); Layout::plug(Layout::getPageTitle(TRUE), 'SITE_TITLE'); Layout::addJSHeader('<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'themes/bootstrap/js/bootstrap.min.js"></script>', 'bootstrap'); Layout::addJSHeader('<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'themes/bootstrap/js/modal_fix.js"></script>', 'fix'); $key = Key::getCurrent(); if (!is_null($key)) { Layout::plug('active', 'CONTENT_PAGE'); }
public function adminMenu() { if (!Current_User::allow('signup')) { Current_User::disallow(); } $this->loadPanel(); $javascript = false; $this->loadMessage(); $command = $_REQUEST['aop']; switch ($command) { case 'add_slot_peep': $javascript = true; $this->loadPeep(); $this->loadForm('edit_peep'); break; case 'menu': if (!isset($_GET['tab'])) { $this->loadForm('list'); } else { $this->loadForm($_GET['tab']); } break; case 'delete_sheet': $this->loadSheet(); $this->sheet->delete(); $this->message = dgettext('signup', 'Signup sheet deleted.'); $this->loadForm('list'); break; case 'edit_sheet': $this->loadForm('edit_sheet'); break; case 'edit_slot_peep': $javascript = true; $this->loadPeep(); $this->loadForm('edit_peep'); break; case 'edit_slot_popup': $javascript = true; $this->loadSlot(); $this->loadForm('edit_slot_popup'); break; case 'edit_peep_popup': $javascript = true; $this->loadSlot(); $this->loadForm('edit_peep_popup'); break; case 'print_applicants': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->printApplicants(); exit; break; case 'email_applicants': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadEmail(); $this->loadSheet(); $this->loadForm('email_applicants'); break; case 'post_email': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadEmail(); $this->loadSheet(); if ($this->postEmail()) { $this->sendEmail(); } else { $this->loadForm('email_applicants'); } break; case 'slot_listing': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->slotListing(); exit; break; case 'csv_applicants': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->csvExport(); exit; break; case 'send_email': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->sendEmail(); break; case 'edit_slots': $this->loadSheet(); $this->loadForm('edit_slots'); break; case 'search_slot': $this->searchSlots(); break; case 'post_peep': $javascript = true; if (!Current_User::authorized('signup')) { Current_User::disallow(); } if ($this->postPeep()) { // Since added by an admin, automatically registered $this->peep->registered = 1; if (PHPWS_Error::logIfError($this->peep->save())) { $this->forwardMessage(dgettext('signup', 'Error occurred when saving applicant.')); } else { $this->forwardMessage(dgettext('signup', 'Applicant saved successfully.')); } javascript('close_refresh'); Layout::nakedDisplay(); } else { $this->loadForm('edit_peep'); } break; case 'post_sheet': $this->loadSheet(); if (!Current_User::authorized('signup', 'edit_sheet', $this->sheet->id, 'sheet')) { Current_User::disallow(); } if ($this->postSheet()) { if (!$this->sheet->id && PHPWS_Core::isPosted()) { $this->message = dgettext('signup', 'Sheet previously posted.'); $this->loadForm('edit_sheet'); } else { $new_sheet = !$this->sheet->id; if (PHPWS_Error::logIfError($this->sheet->save())) { $this->forwardMessage(dgettext('signup', 'Error occurred when saving sheet.')); PHPWS_Core::reroute('index.php?module=signup&aop=list'); } else { $this->forwardMessage(dgettext('signup', 'Sheet saved successfully.')); if ($new_sheet) { PHPWS_Core::reroute('index.php?module=signup&aop=edit_slots&sheet_id=' . $this->sheet->id); } else { $this->loadForm('list'); } } } } else { $this->loadForm('edit_sheet'); } break; case 'post_slot': $javascript = true; if (!Current_User::authorized('signup')) { Current_User::disallow(); } if ($this->postSlot()) { if (PHPWS_Error::logIfError($this->slot->save())) { $this->forwardMessage(dgettext('signup', 'Error occurred when saving slot.')); } else { $this->forwardMessage(dgettext('signup', 'Slot saved successfully.')); } javascript('close_refresh'); Layout::nakedDisplay(); } else { $this->loadForm('edit_slot_popup'); } break; case 'move_peep': $this->loadPeep(); $result = $this->movePeep(); if (PHPWS_Error::logIfError($result) || !$result) { $this->forwardMessage(dgettext('signup', 'Error occurred when moving applicant. Slot may be full.')); } PHPWS_Core::goBack(); break; case 'move_top': $this->loadSlot(); $this->slot->moveTop(); PHPWS_Core::goBack(); break; case 'move_up': $this->loadSlot(); $this->slot->moveUp(); PHPWS_Core::goBack(); break; case 'move_down': $this->loadSlot(); $this->slot->moveDown(); PHPWS_Core::goBack(); break; case 'move_bottom': $this->loadSlot(); $this->slot->moveBottom(); PHPWS_Core::goBack(); break; case 'delete_slot': $this->loadSlot(); $this->deleteSlot(); break; case 'delete_slot_peep': $this->loadPeep(); $this->peep->delete(); PHPWS_Core::goBack(); break; case 'report': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->loadForm('report'); break; case 'alpha_order': case 'reset_slot_order': if (!Current_User::authorized('signup')) { Current_User::disallow(); } $this->loadSheet(); $this->resetSlots($command); $this->forwardMessage(dgettext('signup', 'Slot order reset.')); PHPWS_Core::reroute('index.php?module=signup&sheet_id=' . $this->sheet->id . '&aop=edit_slots&authkey=' . Current_User::getAuthKey()); break; } $tpl['TITLE'] = $this->title; $tpl['CONTENT'] = $this->content; $tpl['MESSAGE'] = $this->message; if ($javascript) { $fonts = '<link rel="stylesheet" type="text/css" href="' . PHPWS_SOURCE_HTTP . 'themes/bootstrap/font-awesome/css/font-awesome.min.css" /> <link rel="stylesheet" type="text/css" href="' . PHPWS_SOURCE_HTTP . 'themes/bootstrap/css/bootstrap.min.css" />'; \Layout::addJSHeader($fonts); Layout::nakedDisplay(PHPWS_Template::process($tpl, 'signup', 'main.tpl')); } else { $this->panel->setContent(PHPWS_Template::process($tpl, 'signup', 'main.tpl')); Layout::add(PHPWS_ControlPanel::display($this->panel->display())); } }
private function viewContactApprovals() { $development = false; if ($development) { $script_file = 'src/Approval.jsx'; $type = 'text/jsx'; } else { $script_file = 'build/Approval.js'; $type = 'text/javascript'; } $data['development'] = $development; $data['addons'] = false; javascript('react', $data); $script = '<script type="' . $type . '" src="' . PHPWS_SOURCE_HTTP . 'mod/properties/javascript/ContactApproval/' . $script_file . '"></script>' . '<script type="text/javascript">var authkey="' . \Current_User::getAuthkey() . '";</script>'; \Layout::addJSHeader($script); $vars['authkey'] = \Current_User::getAuthKey(); $template = new \Template($vars); $template->setModuleTemplate('properties', 'ManagerSignUp.html'); $this->title = 'Contact Approval'; $this->content = '<div id="ContactApproval"></div>'; }
public static function arrangeForm() { $vars['action'] = 'admin'; $template['MOVE_BOXES'] = '<button class="btn btn-primary" id="move-boxes">Move boxes</button>'; $template['MOVE_BOXES_DESC'] = dgettext('layout', 'Allows you to shift content to other area of your layout. Movement options depend on the current theme.'); $vars['command'] = 'reset_boxes'; $template['RESET_BOXES'] = PHPWS_Text::secureLink(dgettext('layout', 'Reset boxes'), 'layout', $vars, null, null, 'btn btn-primary'); $template['RESET_DESC'] = dgettext('layout', 'Resets all content back to its original location. Use if problems with Box Move occurred.'); $vars['command'] = 'clear_templates'; $template['CLEAR_TEMPLATES'] = PHPWS_Text::secureLink(dgettext('layout', 'Clear templates'), 'layout', $vars, null, null, 'btn btn-primary'); $template['CLEAR_TEMPLATES_DESC'] = dgettext('layout', 'Removes all files from the current template cache directory. Good to try if your theme is not displaying properly.'); $vars['command'] = 'clear_cache'; $template['CLEAR_CACHE'] = PHPWS_Text::secureLink(dgettext('layout', 'Clear cache'), 'layout', $vars, null, null, 'btn btn-primary'); $template['CLEAR_CACHE_DESC'] = dgettext('layout', 'Clears all Cache Lite files. Good to try if module updates do not display.'); javascript('jquery'); $script = '<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'mod/layout/javascript/move_boxes.js"></script>'; \Layout::addJSHeader($script, 'moveboxes'); $modal = new \Modal('box-move', '', 'Move boxes'); $modal->sizeLarge(); $template['MODAL'] = $modal->get(); return PHPWS_Template::process($template, 'layout', 'arrange.tpl'); }
/** * Lists the contents of a folder for adminstrative changes. * @param object $folder * @param boolean $pick_image */ public function folderContents($folder) { $links = array(); javascript('jquery'); $src = PHPWS_SOURCE_HTTP . 'mod/filecabinet/javascript/folder_options/contents.js'; \Layout::addJSHeader("<script type='text/javascript' src='{$src}'></script>", 'folder-options'); Layout::addStyle('filecabinet'); PHPWS_Core::initCoreClass('DBPager.php'); $dir_write = true; if (!is_writable($folder->getFullDirectory())) { $this->cabinet->message .= dgettext('filecabinet', 'Warning: this folder\'s directory is not writable.'); $dir_write = false; } if ($folder->ftype == IMAGE_FOLDER) { javascript('lightbox'); PHPWS_Core::initModClass('filecabinet', 'Image.php'); $pager = new DBPager('images', 'PHPWS_Image'); $pager->setTemplate('Forms/image_grid.tpl'); $limits[9] = 9; $limits[16] = 16; $limits[25] = 25; $operation = 'iop'; $command = 'upload_image_form'; $label = _('Add image'); } elseif ($folder->ftype == DOCUMENT_FOLDER) { PHPWS_Core::initModClass('filecabinet', 'Document.php'); $pager = new DBPager('documents', 'PHPWS_Document'); $pager->setTemplate('Forms/file_list.tpl'); $limits[10] = 10; $limits[25] = 25; $limits[50] = 50; $operation = 'dop'; $label = _('Add document'); $command = 'upload_document_form'; $pager->addSortHeader('downloaded', sprintf('<abbr title="%s">%s</abbr>', dgettext('filecabinet', 'Downloaded'), dgettext('filecabinet', 'DL'))); } elseif ($folder->ftype = MULTIMEDIA_FOLDER) { PHPWS_Core::initModClass('filecabinet', 'Multimedia.php'); $pager = new DBPager('multimedia', 'PHPWS_Multimedia'); $pager->setTemplate('Forms/multimedia_grid.tpl'); $limits[9] = 9; $limits[16] = 16; $limits[25] = 25; $label = _('Add media'); $command = 'upload_multimedia_form'; $operation = 'mop'; } if (Current_User::allow('filecabinet', 'edit_folders', $folder->id, 'folder')) { if ($dir_write) { $links[] = $folder->uploadLink('button'); } if ($folder->ftype == MULTIMEDIA_FOLDER) { //$links[] = $folder->rtmpLink(); $salt = array('mop' => 'edit_rtmp', 'folder_id' => $folder->id); $authkey = \Current_User::getAuthKey(PHPWS_Text::saltArray($salt)); $links[] = <<<EOF <button class="btn btn-default show-modal" data-authkey="{$authkey}" data-command="edit_rtmp" data-operation="{$operation}" data-folder-id="{$folder->id}"><i class="fa fa-cloud"></i> Add RTMP video</button> EOF; } //$links[] = $folder->editLink(); $salt = array($operation => 'edit_folder', 'folder_id' => $folder->id); $authkey = \Current_User::getAuthKey(PHPWS_Text::saltArray($salt)); $links[] = <<<EOF <button class="btn btn-default show-modal" data-authkey="{$authkey}" data-command="edit_folder_modal" data-operation="aop" data-folder-id="{$folder->id}"><i class="fa fa-edit"></i> Edit</button> EOF; } if ($this->cabinet->panel) { $pagetags['BACK'] = PHPWS_Text::moduleLink('<i class="fa fa-reply"></i> ' . dgettext('filecabinet', 'Back to folder list'), 'filecabinet', array('tab' => $this->cabinet->panel->getCurrentTab()), null, null, 'btn btn-default'); } if (!empty($links)) { $pagetags['ADMIN_LINKS'] = implode(' ', $links); } $pagetags['MODAL'] = $this->getModal(); $pagetags['ACTION_LABEL'] = dgettext('filecabinet', 'Action'); $pager->setLimitList($limits); $pager->setSearch('file_name', 'title', 'description'); $pager->addWhere('folder_id', $folder->id); $pager->setOrder('title', 'asc', true); $pager->setModule('filecabinet'); $pager->addPageTags($pagetags); $pager->addRowTags('rowTags'); $pager->addSortHeader('title', dgettext('filecabinet', 'Title')); $pager->addSortHeader('file_name', dgettext('filecabinet', 'File name')); $pager->addSortHeader('file_type', dgettext('filecabinet', 'File type')); $pager->addSortHeader('size', dgettext('filecabinet', 'Size')); $pager->setEmptyMessage(dgettext('filecabinet', 'Folder is empty.')); $this->cabinet->content = $pager->get(); }
<?php /** * * @author Matthew McNaney <mcnaney at gmail dot com> * @package Global * @license http://opensource.org/licenses/lgpl-3.0.html */ $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; $_SESSION['ck_dir'] = dirname($_SERVER['PHP_SELF']) . '/images/filecabinet/'; $_SESSION['ck_http'] = dirname($_SERVER['PHP_SELF']) . '/images/filecabinet/'; $_SESSION['home_dir'] = PHPWS_HOME_DIR; $_SESSION['source_dir'] = PHPWS_SOURCE_DIR; $_SESSION['source_http'] = PHPWS_SOURCE_HTTP . 'javascript/ckeditor/filemanager/'; $_SESSION['logged'] = Current_User::isLogged(); $_SESSION['filecab'] = Current_User::allow('filecabinet'); $_SESSION['base_url'] = PHPWS_Core::getBaseURL(); $default['session_name'] = session_name(); $source_http = PHPWS_SOURCE_HTTP; $session_name = session_name(); $header = <<<EOF <script type="text/javascript" src="{$source_http}javascript/ckeditor/ckeditor.js"></script> <script type="text/javascript"> var source_http = '{$source_http}'; var sn = '{$session_name}'; CKEDITOR.config.customConfig = '{$source_http}javascript/ckeditor/phpws_config.js'; </script> EOF; Layout::addJSHeader($header, 'ckeditor-head');
public function purge() { javascript('jquery'); $script = PHPWS_SOURCE_HTTP . 'mod/pagesmith/javascript/purge/script.js'; \Pager::prepare(); \Layout::addJSHeader("<script type='text/javascript' src='{$script}'><script>"); $template = new \Template(); $template->setModuleTemplate('pagesmith', 'purge.html'); $this->ps->title = 'Purge deleted pages'; $this->ps->content = $template->get(); }
<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id: runtime.php 7776 2010-06-11 13:52:58Z jtickle $ */ if (!class_exists('PHPWS_User')) { include '../../core/conf/404.html'; exit; } if (isset($_REQUEST['module']) && $_REQUEST['module'] == 'users' && (isset($_REQUEST['action']) && $_REQUEST['action'] == 'reset')) { $_SESSION['User'] = new PHPWS_User(); } elseif (!isset($_SESSION['User'])) { Current_User::init(); if (Current_User::allowRememberMe()) { if (PHPWS_Settings::get('users', 'allow_remember')) { Current_User::rememberLogin(); } } } Current_User::loadAuthorization($_SESSION['User']); Current_User::getLogin(); if (Current_User::isLogged() && PHPWS_Settings::get('users', 'session_warning')) { $lifetime = ini_get('session.gc_maxlifetime'); $path = PHPWS_SOURCE_HTTP . 'mod/users/javascript/session_check/script.min.js'; $timeout = floor($lifetime / 60); $warning_minutes = $timeout - 5; javascript('jquery'); \Layout::addJSHeader("<script type='text/javascript'>var sess_expirationMinutes = {$timeout};var sess_warningMinutes = {$warning_minutes};</script>" . "<script type='text/javascript' src='{$path}'></script>"); }
private function newManagerSetup() { $development = false; if ($development) { $script_file = 'src/Signup.jsx'; $type = 'text/jsx'; } else { $script_file = 'build/Signup.js'; $type = 'text/javascript'; } $data['development'] = $development; $data['addons'] = true; javascript('react', $data); $script = '<script type="' . $type . '" src="' . PHPWS_SOURCE_HTTP . 'mod/properties/javascript/ManagerSignUp/' . $script_file . '"></script>'; \Layout::addJSHeader($script); $vars['authkey'] = \Current_User::getAuthKey(); $template = new \Template($vars); $template->setModuleTemplate('properties', 'ManagerSignUp.html'); $this->title = 'New Manager Sign-Up'; $this->content = $template->get(); }
public static function includeEventJS() { javascript('jquery'); self::includeAuthkey(); $filename = PHPWS_SOURCE_HTTP . 'mod/calendar/javascript/event.js'; $script = "<script type='text/javascript' src='{$filename}'></script>"; \Layout::addJSHeader($script, 'cal_event'); }
public static function categoryView() { $active_menu = self::getCurrentActiveMenu(); if ($active_menu == 0) { $menu_tpl['home_active'] = 1; } else { $menu_tpl['home_active'] = 0; } $db = \Database::newDB(); $m = $db->addTable('menus'); $k = $db->addTable('phpws_key'); $k->addField('url'); $db->joinResources($m, $k, $db->createConditional($m->getField('assoc_key'), $k->getField('id'), '='), 'left'); $m->addOrderBy($m->getField('queue')); $key = \Key::getCurrent(); if ($key && $key->id) { $current_key_id = $key->id; } else { $current_key_id = -1; } $menus = $db->select(); if (empty($menus)) { return; } foreach ($menus as $m) { $menu = new Menu_Item(); PHPWS_Core::plugObject($menu, $m); $menu->_show_all = true; if (empty($menu->assoc_url)) { $menu->setAssocUrl($m['url']); } // if the current menu matches a used link (either by it being in the // in the menu or associated to it) mark as ACTIVE $active = $active_menu == $menu->id || $current_key_id == $menu->assoc_key ? 1 : 0; // if there is not an assoc key, them menu is using drop downs, so // we do not add the side menu if ($active) { if ($menu->assoc_key) { Layout::set($menu->view(), 'menu', 'side'); } if ($menu->assoc_image) { Layout::set($menu->showAssocImage(), 'menu', 'image'); } } $menu_tpl['menus'][] = self::getCategoryViewLine($menu, $active); } $template = new \Template($menu_tpl); \Layout::addJSHeader("<script type='text/javascript' src='" . PHPWS_SOURCE_HTTP . "javascript/responsive_img/responsive-img.min.js'></script>", 81); $template->setModuleTemplate('menu', 'category_view/category_menu.html'); \Layout::add($template->get(), 'menu', 'top_view'); }
public static function loadJavascriptFile($filename, $index, $data = NULL, $wrap_contents = false) { if (!is_file($filename)) { // Throw an exception because the file is missing. throw new Exception("Missing javascript file: {$filename}"); return FALSE; } if (isset($data)) { $result = PHPWS_Template::process($data, 'layout', $filename, TRUE); if (empty($result)) { $result = file_get_contents($filename); } } else { $result = file_get_contents($filename); } if ($wrap_contents) { $result = "<script type='text/javascript'>{$result}</script>"; } Layout::addJSHeader($result, $index); }
<?php /** * @license http://opensource.org/licenses/lgpl-3.0.html * @author Matthew McNaney <mcnaney at gmail dot com> */ $studentSearch = PHPWS_SOURCE_HTTP . 'mod/hms/javascript/studentSearch/script.js'; \Layout::addJSHeader('<script type="text/javascript" src="' . PHPWS_SOURCE_HTTP . 'mod/hms/bower_components/typeahead.js/dist/typeahead.bundle.js"></script>'); \Layout::addJSHeader("<script type='text/javascript' src='{$studentSearch}'></script>");
public static function import() { $source_http = PHPWS_SOURCE_HTTP; $script = "<script src='{$source_http}mod/rss/javascript/feed.js'></script>"; javascript('jquery'); \Layout::addJSHeader($script); PHPWS_Core::requireConfig('rss'); if (!ini_get('allow_url_fopen')) { $tpl['TITLE'] = dgettext('rss', 'Sorry'); $tpl['CONTENT'] = dgettext('rss', 'You must enable allow_url_fopen in your php.ini file.'); return $tpl; } PHPWS_Core::initCoreClass('DBPager.php'); PHPWS_Core::initModClass('rss', 'Feed.php'); $content = NULL; $template['ADD_LINK'] = '<button class="btn btn-success edit-feed"><i></i> Add Feed</button>'; /* $vars['address'] = 'index.php?module=rss&command=add_feed'; $vars['label'] = dgettext('rss', 'Add feed'); $vars['width'] = '450'; $vars['height'] = '350'; $template['ADD_LINK'] = javascript('open_window', $vars); * */ $template['TITLE_LABEL'] = dgettext('rss', 'Title'); $template['ADDRESS_LABEL'] = dgettext('rss', 'Address'); $template['DISPLAY_LABEL'] = dgettext('rss', 'Display?'); $template['ACTION_LABEL'] = dgettext('rss', 'Action'); $template['REFRESH_TIME_LABEL'] = dgettext('rss', 'Refresh feed'); $modal = new \Modal('rss-modal'); $modal->addButton('<button class="btn btn-primary" id="save-feed"><i class="fa fa-save"></i> Save</button>'); $modal_content = RSS_Admin::editFeed(); $modal->setContent($modal_content); $modal->setTitle('Edit feed'); $modal->setWidthPixel('400'); $template['MODAL'] = $modal->get(); $pager = new DBPager('rss_feeds', 'RSS_Feed'); $pager->setModule('rss'); $pager->setTemplate('admin_feeds.tpl'); $pager->addPageTags($template); $pager->addRowTags('pagerTags'); $content = $pager->get(); $tpl['TITLE'] = dgettext('rss', 'Import RSS Feeds'); $tpl['CONTENT'] = $content; if (!defined('ALLOW_CACHE_LITE') || !ALLOW_CACHE_LITE) { $tpl['MESSAGE'] = dgettext('rss', 'Please enable Cache Lite in your config/core/config.php file.'); } return $tpl; }
public static function form(\Request $request, $active_tab, $data) { include_once PHPWS_SOURCE_DIR . "mod/systemsinventory/config/device_types.php"; $vars = array(); $req_vars = $request->getRequestVars(); $vars['title'] = ''; $system_id = NULL; $command = $data['command']; $action = NULL; if (!empty($data['action'])) { $action = $data['action']; } if ($command == "editProfiles") { $message = "Profile Saved!"; $template_name = 'Edit_Profile.html'; } else { $message = "System Saved!"; $template_name = 'Add_System.html'; } javascript('jquery'); \Form::requiredScript(); if (!in_array($active_tab, array('systems-pc', 'ipad', 'printer', 'camera', 'digital-sign', 'time-clock'))) { $active_tab = 'systems-pc'; } $js_string = <<<EOF \t <script type='text/javascript'>var active_tab = '{$active_tab}';</script> EOF; \Layout::addJSHeader($js_string); $script = PHPWS_SOURCE_HTTP . 'mod/systemsinventory/javascript/systems.js'; \Layout::addJSHeader("<script type='text/javascript' src='{$script}'></script>"); if ($action == 'success') { $vars['message'] = $message; $vars['display'] = 'display: block;'; } else { $vars['message'] = ''; $vars['display'] = 'display: none;'; } $system_locations = SystemDevice::getSystemLocations(); $location_options = '<option value="1">Select Location</opton>'; foreach ($system_locations as $key => $val) { $location_options .= '<option value="' . $val['id'] . '">' . $val['display_name'] . '</option>'; } $vars['locations'] = $location_options; $system_dep = SystemDevice::getSystemDepartments(); $dep_optons = '<option value="1">Select Department</opton>'; foreach ($system_dep as $val) { $dep_optons .= '<option value="' . $val['id'] . '">' . $val['display_name'] . '</option>'; } $vars['departments'] = $dep_optons; $system_profiles = SystemDevice::getSystemProfiles(); $profile_optons = $printer_profile_options = '<option value="1">Select Profile</opton>'; if (!empty($system_profiles)) { foreach ($system_profiles as $val) { if ($val['device_type_id'] == PC) { $profile_optons .= '<option value="' . $val['id'] . '">' . $val['profile_name'] . '</option>'; } else { $printer_profile_options .= '<option value="' . $val['id'] . '">' . $val['profile_name'] . '</option>'; } } } $vars['profiles'] = $profile_optons; $vars['printer_profiles'] = $printer_profile_options; $vars['form_action'] = "./systemsinventory/system/" . $command; $template = new \Template($vars); $template->setModuleTemplate('systemsinventory', $template_name); return $template->get(); }