function _link() { // display a button that pops up the boxchooser app static $included = false; if (!$included) { page_add_script(site_prefix() . '/js/dialog.js'); page_add_script(loader_box('boxchooser/js', $this)); $included = true; } return template_simple(' <script language="javascript" type="text/javascript"> function boxchooser_{name}_handler () { if (typeof dialogWin.returnedValue == \'object\') { url = dialogWin.returnedValue[\'src\']; } else { url = dialogWin.returnedValue; } boxchooser_{name}_form.elements[boxchooser_{name}_element].value = unescape (url); } </script> <input type="submit" onclick="boxchooser_{name}_get_file (this.form, \'{name}\'); return false" value="{intl Choose}" /> ', $this); }
/** * Triggers the services for the specified $transition. Can be called * as a static method. Returns a string of the concatenated output * from all of the services. * * @access public * @param string * @param array hash * @return string * */ function trigger($transition = 'global', $data = array()) { if (@file_exists('inc/app/cms/conf/services/' . $transition . '.php')) { $services = ini_parse('inc/app/cms/conf/services/' . $transition . '.php'); if (!is_array($services)) { $services = array(); } } else { $services = array(); } if ($transition != 'global' && $transition != 'error' && @file_exists('inc/app/cms/conf/services/global.php')) { $s2 = ini_parse('inc/app/cms/conf/services/global.php'); if (is_array($s2)) { $services = array_merge($services, $s2); } } $out = ''; $data['transition'] = $transition; foreach ($services as $service => $info) { if (strpos($info['handler'], 'box:') === 0) { $out .= loader_box(trim(substr($info['handler'], 4)), $data, 'service'); } elseif (strpos($info['handler'], 'form:') === 0) { $out .= loader_form(trim(substr($info['handler'], 5)), 'service'); } } return $out; }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['collection']; unset($vals['collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); $rex = new Rex($collection); //$vals['sitellite_owner'] = session_username (); //$vals['sitellite_team'] = session_team (); unset($vals['submit_button']); unset($vals['tab1']); unset($vals['tab2']); unset($vals['tab3']); unset($vals['tab-end']); unset($vals['header_properties']); unset($vals['header_contact']); unset($vals['header_loc']); if ($vals['contact_url'] == 'http://') { $vals['contact_url'] = ''; } if ($vals['loc_map'] == 'http://') { $vals['loc_map'] = ''; } $res = $rex->create($vals, $changelog); if (isset($vals[$rex->key])) { $key = $vals[$rex->key]; } elseif (!is_bool($res)) { $key = $res; } else { $key = 'Unknown'; } if (!$res) { if (!$return) { $return = site_prefix() . '/index/cms-browse-action?collection=siteevent_event'; } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('add', array('collection' => $collection, 'key' => $key, 'data' => $vals, 'changelog' => intl_get('Item added.'), 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been created.')); if ($return) { header('Location: ' . $return); exit; } } header('Location: ' . site_prefix() . '/index/siteevent-app/id.' . $res); exit; }
function onSubmit($vals) { page_add_script(site_prefix() . '/js/dialog.js'); page_add_script(loader_box('boxchooser/js', $vals)); echo '<script language="javascript" type="text/javascript">'; echo 'boxchooser_' . $vals['name'] . '_select ("' . $vals['app'] . '/' . $vals['box']; $pre = '?'; foreach ($this->_box_settings as $k => $v) { echo $pre . $k . '=' . urlencode($vals[$k]); $pre = '&'; } echo '"); window.close (); </script>'; //info ($vals); }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['collection']; unset($vals['collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); $rex = new Rex($collection); //$vals['sitellite_owner'] = session_username (); //$vals['sitellite_team'] = session_team (); unset($vals['submit_button']); unset($vals['edit-top']); unset($vals['edit-middle']); unset($vals['edit-middle2']); unset($vals['edit-middle3']); unset($vals['edit-bottom']); unset($vals['cover_heading']); $vals['ts'] = date('YmdHis'); $res = $rex->create($vals, $changelog); if (isset($vals[$rex->key])) { $key = $vals[$rex->key]; } elseif (!is_bool($res)) { $key = $res; } else { $key = 'Unknown'; } if (!$res) { if (!empty($return)) { $return = site_prefix() . '/index/cms-browse-action?collection=sitepresenter_presentation'; } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('add', array('collection' => $collection, 'key' => $key, 'data' => $vals, 'changelog' => intl_get('Item added.'), 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been created.')); //if ($return) { // header ('Location: ' . $return); // exit; //} header('Location: ' . site_prefix() . '/index/sitepresenter-slides-action/id.' . $res); exit; } }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $rex = new Rex('siteglossary_term'); $collection = $vals['collection']; unset($vals['collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); unset($vals['section']); unset($vals['submit_button']); $res = $rex->create($vals, $changelog); if (isset($vals[$rex->key])) { $key = $vals[$rex->key]; } elseif (!is_bool($res)) { $key = $res; } else { $key = 'Unknown'; } if (!$res) { if (!$return) { $return = site_prefix() . '/index/siteglossary-app'; } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('add', array('collection' => $collection, 'key' => $key, 'data' => $vals, 'changelog' => intl_get('Item added.'), 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been created.')); if ($return) { header('Location: ' . $return); exit; } } header('Location: ' . site_prefix() . '/index/siteglossary-app#' . $vals['word']); exit; }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $rex = new Rex('siteglossary_term'); $collection = $vals['_collection']; unset($vals['_collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $key = $vals['_key']; unset($vals['_key']); $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); unset($vals['section']); unset($vals['submit_button']); $method = $rex->determineAction($key); if (!$method) { die($rex->error); } $res = $rex->{$method}($key, $vals, $changelog); if (!$res) { if (empty($return)) { $return = site_prefix() . '/index/siteglossary-app#' . $vals['word']; } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('edit', array('collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been saved.')); if ($return) { header('Location: ' . $return); exit; } } header('Location: ' . site_prefix() . '/index/siteglossary-app#' . $vals['word']); exit; }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['_collection']; unset($vals['_collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $rex = new Rex($collection); // default: database, database unset($vals['submit_button']); $key = $vals['_key']; unset($vals['_key']); $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); foreach ($vals as $k => $v) { if ($this->widgets[$k]->ignoreEmpty && empty($v)) { unset($vals[$k]); } } if (strpos($rex->key, ',') !== false) { $pkeys = preg_split('/, ?/', $rex->key); $pvals = explode('|', $key); $key = array(); for ($i = 0; $i < count($pkeys); $i++) { $key[$pkeys[$i]] = $pvals[$i]; } } $method = $rex->determineAction($key, $vals['sitellite_status']); if (!$method) { die($rex->error); } $res = $rex->{$method}($key, $vals, $changelog); if (!$res) { if (empty($return)) { $return = site_prefix() . '/index/cms-browse-action?collection=' . urlencode($collection); } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('edit', array('collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been saved.')); if (!empty($return)) { header('Location: ' . $return); exit; } if ($collection == 'sitellite_page') { header('Location: ' . site_prefix() . '/index/' . $key); exit; } header('Location: ' . site_prefix() . '/index/cms-browse-action?collection=' . urlencode($collection)); exit; } }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['collection']; unset($vals['collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $return = $vals['_return']; unset($vals['_return']); $rex = new Rex($collection); // default: database, database unset($vals['submit_button']); foreach ($this->widgets as $k => $w) { if ($w->type == 'joiner') { unset($vals[$k]); } } $res = $rex->create($vals); if (isset($vals[$rex->key]) && $vals[$rex->key] != false) { $key = $vals[$rex->key]; } elseif (!is_bool($res)) { $key = $res; } else { $key = 'Unknown'; } if (!$res) { if (!$return) { $return = site_prefix() . '/index/cms-browse-action?collection=' . urlencode($collection); } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { foreach ($this->widgets as $k => $w) { if ($w->type == 'joiner') { $w->saveSelected($key); } } loader_import('cms.Workflow'); echo Workflow::trigger('add', array('collection' => $collection, 'key' => $key, 'data' => $vals, 'changelog' => intl_get('Item added.'), 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been created.')); header('Location: ' . site_prefix() . '/index/cms-browse-action?collection=' . urlencode($collection)); exit; } }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['_collection']; unset($vals['_collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $key = $vals['_key']; unset($vals['_key']); $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); if (is_object($vals['file'])) { $vals['body'] =& $vals['file']; unset($vals['file']); } else { unset($vals['file']); } if (!empty($vals['name'])) { $vals['name'] = $vals['folder'] . '/' . $vals['name']; } elseif ($this->isNewFolder($vals['folder'], $key)) { $vals['name'] = $vals['folder'] . '/' . basename($key); } elseif (is_object($vals['body'])) { $vals['name'] = $vals['folder'] . '/' . $vals['body']->name; } else { unset($vals['name']); } if (strpos($vals['name'], '/') === 0) { $vals['name'] = substr($vals['name'], 1); } unset($vals['folder']); $rex = new Rex($collection); unset($vals['submit_button']); unset($vals['tab1']); unset($vals['tab2']); unset($vals['tab3']); unset($vals['tab-end']); $method = $rex->determineAction($key, $vals['sitellite_status']); if (!$method) { die($rex->error); } $res = $rex->{$method}($key, $vals, $changelog); // remove lock when editing is finished lock_remove($collection, $key); if (!empty($return)) { $return = site_prefix() . '/index/cms-browse-action?collection=sitellite_filesystem'; } if (!$res) { echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('edit', array('collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been saved.')); if (!empty($return)) { header('Location: ' . $return); exit; } header('Location: ' . site_prefix() . '/index/cms-browse-action?collection=sitellite_filesystem'); exit; } }
$pg = new Pager($cgi->offset, $limit); $pg->url = site_current() . '?collection=' . urlencode($cgi->collection); $res = $rex->getDeleted($limit, $cgi->offset, $acl); if (!$res) { $res = array(); $rex->total = 0; } $pg->total = $rex->total; $res2 = array(); foreach ($res as $k => $v) { $res2[$v->{$rex->key}] = $v; } function pretty_date($date) { loader_import('saf.Date'); return Date::timestamp($date, 'M j, Y - g:ia'); } $pg->setData($res2); $pg->update(); //page_title (intl_get ('Browsing') . ': ' . $rex->info['Collection']['display']); $data['collection_name'] = $rex->info['Collection']['display']; $data['title_field'] = $rex->info['Collection']['title_field']; if (!session_allowed('approved', 'w', 'status')) { $data['restore'] = false; } else { $data['restore'] = true; } echo template_simple(CMS_JS_ALERT_MESSAGE, $GLOBALS['cgi']); echo loader_box('cms/nav'); template_simple_register('pager', $pg); echo template_simple('deleted_items.spt', $data);
<?php echo loader_box('siteinvoice/reminder');
if (isset($cgi->username)) { echo '<p>' . intl_get('Invalid password. Please try again.') . '</p>'; } else { echo '<p>' . intl_get('Please enter your username and password to enter.') . '</p>'; } echo template_simple('<form method="post" action="{site/prefix}/index/sitellite-user-login-action"> <input type="hidden" name="goto" value="upgrade-app" /> <table cellpadding="5" border="0"> <tr> <td>{intl Username}</td> <td><input type="text" name="username" /></td> </tr> <tr> <td>{intl Password}</td> <td><input type="password" name="password" /></td> </tr> <tr> <td> </td> <td><input type="submit" value="{intl Enter}" /></td> </tr> </table> </form>'); return; } page_title(intl_get('Upgrade Utility')); if (!isset($parameters['run'])) { echo template_simple('index.spt', $parameters); return; } echo loader_box('upgrade/' . upgrade_box(), $parameters);
<?php loader_import('multilingual.Translation'); loader_import('multilingual.Filters'); global $cgi; if (!isset($cgi->_lang)) { page_title(intl_get('Select Language')); echo template_simple('select_lang.spt', multilingual_get_langs()); return; } if (isset($rex->info['Collection']['translate'])) { list($call, $name) = explode(':', $rex->info['Collection']['translate']); if ($call == 'box') { echo loader_box($name); } elseif ($call == 'form') { echo loader_form($name); } else { echo loader_form($call); } return; } else { class MultilingualTranslateForm extends MailForm { function MultilingualTranslateForm() { parent::MailForm(); $this->autosave = true; global $page, $cgi, $intl; $intl->language = $cgi->_lang; $intl->charset = $intl->languages[$intl->language]['charset']; $this->extra = 'id="multilingual-translate-form"';
<?php if (!session_admin()) { page_title(intl_get('DevNotes - Login')); if (isset($parameters['username'])) { echo '<p>' . intl_get('Invalid password. Please try again.') . '</p>'; } else { echo '<p>' . intl_get('Please enter your username and password to enter.') . '</p>'; } echo loader_box('sitellite/user/login', array('goto' => 'devnotes-admin-action')); return; } loader_import('devnotes.DevNote'); $dn = new DevNote(); // list all apps page_title('DevNotes - Admin Summary'); $apps = $dn->getApps(); echo template_simple('applist.spt', array('apps' => $apps));
$sep = $parameters['separator']; if ($page->id == $item->id) { $item->active .= ' id="active"'; echo template_simple($template, $item); $item->id = $page->id; } else { $item->active = ''; echo template_simple($template, $item); } if ($parameters['dropmenus'] == 'yes') { // drop menu $params = array('top' => $item->id, 'xpos' => $xpos[$count], 'ypos' => $ypos[$count]); if (isset($width[$count])) { $params['width'] = $width[$count]; } if (isset($parameters['over'])) { $params['over'] = $parameters['over']; } if (isset($parameters['out'])) { $params['out'] = $parameters['out']; } if (isset($parameters['levels'])) { $params['levels'] = $parameters['levels']; } if (isset($parameters['bgcolor'])) { $params['bgcolor'] = $parameters['bgcolor']; } echo loader_box('sitellite/nav/dropmenu', $params); } $count++; }
/** * Returns the display HTML for this widget. The optional * parameter determines whether or not to automatically display the widget * nicely, or whether to simply return the widget (for use in a template). * * @access public * @param boolean $generate_html * @return string * */ function display($generate_html = 0) { $_inner = new MF_Widget_pagebrowser('MF_' . $this->name . '_INNER'); //$_inner->nullable = $this->nullable; //$_inner->table = 'sitellite_page'; //$_inner->primary_key = 'id'; //$_inner->display_column = 'if(nav_title != "", nav_title, if(title != "", title, id))'; //$_inner->ref_column = 'below_page'; //$_inner->self_ref = true; //$_inner->addblank = true; $_inner->alt = intl_get('Internal'); $_inner->data_value = $this->data_value_INNER; $_extern = new MF_Widget_text('MF_' . $this->name . '_EXTERN'); $_extern->nullable = $this->nullable; $_extern->alt = intl_get('External'); $_extern->data_value = $this->data_value_EXTERN; //$_inner->extra = $this->extra; $_extern->extra = $this->extra; $_page = new MF_Widget_hidden($this->name); if ($generate_html) { page_add_script(site_prefix() . '/js/dialog.js'); page_add_script(loader_box('filechooser/js')); $data = $_page->display(0) . "\n"; $data .= "\t<tr>\n\t\t<td class=\"label\" valign=\"top\"><label for=\"" . $this->name . '" id="' . $this->name . '-label" ' . $this->invalid() . '>' . template_simple($this->label_template, $this, '', true) . "</label></td>\n\t\t<td class=\"field\">" . '<table border="0" cellpadding="2" cellspacing="2"><tr><td>' . intl_get('Internal') . '</td><td>' . $_inner->display(0) . '</td></tr><td>' . intl_get('External') . '</td><td>' . $_extern->display(0); $data .= template_simple(' <script language="javascript" type="text/javascript"> function filechooser_handler () { if (typeof dialogWin.returnedValue == \'object\') { url = \'{site/prefix}\' + dialogWin.returnedValue[\'src\']; } else { url = \'{site/prefix}\' + dialogWin.returnedValue; } filechooser_form.elements[\'MF_\' + filechooser_element + \'_EXTERN\'].value = url; } var bookmark_form = false; var bookmark_element = false; dialogWin.scrollbars = \'yes\'; dialogWin.resizable = \'yes\'; function bookmark () { openDGDialog ( \'{site/prefix}/index/xed-bookmarks-action\', 400, 300, bookmark_handler ); } function bookmarks (f, e) { bookmark_form = f; bookmark_element = e; bookmark (); return false; } function bookmark_handler () { if (typeof dialogWin.returnedValue == \'object\') { url = dialogWin.returnedValue[\'src\']; } else { url = dialogWin.returnedValue; } bookmark_form.elements[\'MF_\' + bookmark_element + \'_EXTERN\'].value = url; } </script> <input type="submit" onclick="bookmarks (this.form, \'{name}\'); return false" value="{intl Bookmarks}" /> <input type="submit" onclick="filechooser_get_file (this.form, \'{name}\'); return false" value="{intl Files}" /> ', $this); $data .= '</td></tr></table>' . "</td>\n\t</tr>\n"; } else { $data = $_page->display(0); $data .= $_inner->display(0) . '<br />' . $_extern->display(0); } return $data; }
exit; } // END KEEPOUT CHECKING // import any object we need from the global namespace global $errno, $cgi; // box logic begins here $errors = conf('errors'); if (!$errno) { $errno = $cgi->code; } loader_import('cms.Workflow'); echo Workflow::trigger('error', array('message' => $errno . ' ' . $errors[$errno]['title'] . ': ' . site_current() . ', referrer: ' . $_SERVER['HTTP_REFERER'])); header('HTTP/1.1 ' . $errno . ' ' . $errors[$errno]['title']); page_title($errors[$errno]['title']); switch ($errno) { case 401: echo '<p>' . intl_get('You don\'t have the permission to access the requested page.') . '</p>'; break; case 403: echo '<p>' . intl_get('You don\'t have the permission to access the requested page.') . '</p>'; break; case 404: echo '<p>' . intl_get('The page you requested could not be found.') . '</p>'; break; case 500: echo '<p>' . intl_get('The server has encountered an unknown internal error.') . '</p>'; break; } echo '<p>' . intl_get('Perhaps you might find what you\'re looking for in the list below.') . '</p>'; echo loader_box('sitellite/nav/sitemap');
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['collection']; unset($vals['collection']); if (empty($collection)) { $collection = 'sitellite_sidebar'; } $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); $rex = new Rex($collection); // default: database, database //$vals['sitellite_owner'] = session_username (); //$vals['sitellite_team'] = session_team (); unset($vals['submit_button']); unset($vals['tab1']); unset($vals['tab2']); unset($vals['tab3']); unset($vals['tab-end']); //unset ($vals['section1']); unset($vals['section3']); if (!$vals['show_on_pages']) { $vals['show_on_pages'] = ''; } $res = $rex->create($vals, $changelog); if (isset($vals[$rex->key])) { $key = $vals[$rex->key]; } elseif (!is_bool($res)) { $key = $res; } else { $key = 'Unknown'; } if (!empty($return)) { $return = site_prefix() . '/index/cms-browse-action?collection=sitellite_sidebar'; } if (!$res) { echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('add', array('collection' => $collection, 'key' => $key, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been created.')); if (!empty($return)) { header('Location: ' . $return); exit; } header('Location: ' . site_prefix() . '/index/cms-browse-action?collection=sitellite_sidebar'); exit; } }
/** * Returns the section name of the current page, or false if the page is * not in any section. A section is a page that has its 'is_section' * property set to true in $menu, and is set under the 'Properties' tab * of the Sitellite web page editor in the field named 'Is This a Section * Index?'. Section pages differ from ordinary pages in that their * template setting (also under the 'Properties' tab) will inherit to * all child pages, unless those pages explicitly declare their own * template. * * @return string */ function getSection() { loader_box('sitellite/nav/init'); global $menu; if ($menu->{'items_' . $this->id}->is_section) { return $this->id; } $parent = $this->below_page; while (true) { if ($menu->{'items_' . $parent}->is_section) { return $parent; } elseif (is_object($menu->{'items_' . $parent}->parent)) { $parent = $menu->{'items_' . $parent}->parent->id; } else { break; } } return false; }
/** * Executes the specified box using the Sitellite box API, * which is essentially just an include. Note: This is now an alias * for the loader_box() function. * * @access public * @param string $name * @param associative array $parameters * @return string * */ function box($name, $parameters = array()) { if ($this->file) { $GLOBALS['_xte'] =& $this->exp; } $out = loader_box($name, $parameters); unset($GLOBALS['_xte']); if (empty($out)) { return html_marker('Empty Box: ' . $name); } return html_marker('Box: ' . $name) . $out; }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); unset($vals['collection']); $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); $vals['body'] =& $vals['file']; unset($vals['file']); if (!empty($vals['name'])) { $vals['name'] = $vals['folder'] . '/' . $vals['name']; } else { $vals['name'] = $vals['folder'] . '/' . $vals['body']->name; } if (strpos($vals['name'], '/') === 0) { $vals['name'] = substr($vals['name'], 1); } unset($vals['folder']); $rex = new Rex('sitellite_filesystem'); //$vals['sitellite_owner'] = session_username (); //$vals['sitellite_team'] = session_team (); unset($vals['submit_button']); unset($vals['tab1']); unset($vals['tab2']); unset($vals['tab3']); unset($vals['tab-end']); $res = $rex->create($vals, $changelog); if (isset($vals[$rex->key])) { $key = $vals[$rex->key]; } elseif (!is_bool($res)) { $key = $res; } else { $key = 'Unknown'; } if (!empty($return)) { $return = site_prefix() . '/index/cms-browse-action?collection=sitellite_filesystem'; } if (!$res) { echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('add', array('collection' => $collection, 'key' => $key, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been created.')); if (!empty($return)) { header('Location: ' . $return); exit; } header('Location: ' . site_prefix() . '/index/cms-browse-action?collection=sitellite_filesystem'); exit; } }
function onSubmit($vals) { if ($vals['below_page'] == $vals['id']) { $this->invalid_field = 'below_page'; $this->invalid['below_page'] = intl_getf('You cannot set this page to be a child of itself.'); return $this->show(); } loader_box('sitellite/nav/init'); if (menu_is_child_of($vals['below_page'], $vals['id'])) { $this->invalid_field = 'below_page'; $this->invalid['below_page'] = intl_getf('You cannot set this page to be a child of one of its own child pages.'); return $this->show(); } loader_import('cms.Versioning.Rex'); $collection = $vals['_collection']; unset($vals['_collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $rex = new Rex($collection); // default: database, database unset($vals['submit_button']); unset($vals['tab1']); unset($vals['tab2']); unset($vals['tab3']); unset($vals['tab-end']); unset($vals['section1']); unset($vals['section3']); $key = $vals['_key']; unset($vals['_key']); $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); $method = $rex->determineAction($key, $vals['sitellite_status']); if (!$method) { die($rex->error); } $res = $rex->{$method}($key, $vals, $changelog); // remove lock when editing is finished lock_remove($collection, $key); if ($key != $vals[$rex->key]) { if ($return == site_prefix() . '/index/' . $key || $return == site_prefix() . '/' . $key) { $return = ''; } } if (!$res) { if (empty($return)) { $return = site_prefix() . '/index/' . $key; } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { foreach (db_shift_array('select id from sitellite_page where below_page = ?', $key) as $child) { $method = $rex->determineAction($key); if (!$method) { die($rex->error); } $rex->{$method}($child, array('below_page' => $vals['id']), 'Updating renamed parent reference'); } loader_import('cms.Workflow'); echo Workflow::trigger('edit', array('collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been saved.')); if ($key != $vals[$rex->key]) { if ($return == site_prefix() . '/index/' . $key || $return == site_prefix() . '/' . $key) { $return = ''; } } if (!empty($return)) { header('Location: ' . $return); exit; } header('Location: ' . site_prefix() . '/index/' . $vals[$rex->key]); exit; } }
function _link() { // display a button that pops up the filechooser app static $included = false; if (!$included) { page_add_script(site_prefix() . '/js/dialog.js'); page_add_script(loader_box('filechooser/js')); $included = true; } return template_simple(' <script language="javascript" type="text/javascript"> function filechooser_handler () { if (typeof dialogWin.returnedValue == \'object\') { url = \'{site/url}\' + dialogWin.returnedValue[\'src\']; } else { url = \'{site/url}\' + dialogWin.returnedValue; } filechooser_form.elements[filechooser_element].value = url; } function filechooser_view_current (src) { if (src.length > 0) { filechooser_view (src); } return false; } </script> {if obj.view_current} <input type="submit" onclick="return filechooser_view_current (this.form.elements[\'{name}\'].value)" value="{intl View Current}" /> {end if} <input type="submit" onclick="filechooser_get_file (this.form, \'{name}\'); return false" value="{intl Choose}" /> ', $this); }
function onSubmit($vals) { loader_import('cms.Versioning.Rex'); $collection = $vals['_collection']; unset($vals['_collection']); if (empty($collection)) { $collection = 'sitellite_page'; } $key = $vals['_key']; unset($vals['_key']); $return = $vals['_return']; unset($vals['_return']); $changelog = $vals['changelog']; unset($vals['changelog']); $rex = new Rex($collection); unset($vals['submit_button']); unset($vals['edit-top']); unset($vals['edit-middle']); unset($vals['edit-middle2']); unset($vals['edit-middle3']); unset($vals['edit-bottom']); unset($vals['solution_header']); $method = $rex->determineAction($key, $vals['sitellite_status']); if (!$method) { die($rex->error); } $res = $rex->{$method}($key, $vals, $changelog); // remove lock when editing is finished lock_remove($collection, $key); if (!$res) { if (!empty($return)) { $return = site_prefix() . '/index/cms-browse-action?collection=sitestudy_item'; } echo loader_box('cms/error', array('message' => $rex->error, 'collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'return' => $return)); } else { loader_import('cms.Workflow'); echo Workflow::trigger('edit', array('collection' => $collection, 'key' => $key, 'action' => $method, 'data' => $vals, 'changelog' => $changelog, 'message' => 'Collection: ' . $collection . ', Item: ' . $key)); session_set('sitellite_alert', intl_get('Your item has been saved.')); if (!empty($return)) { header('Location: ' . $return); exit; } header('Location: ' . site_prefix() . '/index/sitestudy-app/case.' . $key); exit; } }
/** * Returns the display HTML for this widget. The optional * parameter determines whether or not to automatically display the widget * nicely, or whether to simply return the widget (for use in a template). * * @access public * @param boolean $generate_html * @return string * */ function display($generate_html = 0) { $_inner = new MF_Widget_pagebrowser('MF_' . $this->name . '_INNER'); //$_inner->nullable = $this->nullable; //$_inner->table = 'sitellite_page'; //$_inner->primary_key = 'id'; //$_inner->display_column = 'if(nav_title != "", nav_title, if(title != "", title, id))'; //$_inner->ref_column = 'below_page'; //$_inner->self_ref = true; //$_inner->addblank = true; $_inner->alt = intl_get('Internal'); $_inner->data_value = $this->data_value_INNER; $_extern = new MF_Widget_text('MF_' . $this->name . '_EXTERN'); $_extern->nullable = $this->nullable; $_extern->alt = intl_get('External'); $_extern->data_value = $this->data_value_EXTERN; $this->extra .= ' size="35"'; //$_inner->extra = $this->extra; $_extern->extra = $this->extra; $_page = new MF_Widget_hidden($this->name); if ($generate_html) { page_add_script(site_prefix() . '/js/dialog.js'); page_add_script(loader_box('filechooser/js')); $data = $_page->display(0) . "\n"; $data .= "\t<tr>\n\t\t<td class=\"label\" valign=\"top\"><label for=\"" . $this->name . '" id="' . $this->name . '-label" ' . $this->invalid() . '>' . template_simple($this->label_template, $this, '', true) . "</label> </td>\n\t\t<td class=\"field\">" . '<table border="0" cellpadding="2" cellspacing="2"><tr><td valign="top">' . $_inner->display(0) . '</td></tr><td valign="top">' . $_extern->display(0); $data .= template_simple(' <script language="javascript" type="text/javascript"> function filechooser_handler () { if (typeof dialogWin.returnedValue == \'object\') { url = \'{site/prefix}\' + dialogWin.returnedValue[\'src\']; } else { url = \'{site/prefix}\' + dialogWin.returnedValue; } filechooser_form.elements[\'MF_\' + filechooser_element + \'_EXTERN\'].value = url; } var bookmark_form = false; var bookmark_element = false; dialogWin.scrollbars = \'yes\'; dialogWin.resizable = \'yes\'; function bookmark () { openDGDialog ( \'{site/prefix}/index/xed-bookmarks-action\', 400, 300, bookmark_handler ); } function bookmarks (f, e) { bookmark_form = f; bookmark_element = e; bookmark (); return false; } function mailto (f, e) { v = f.elements[\'MF_\' + e + \'_EXTERN\'].value; i = v.indexOf (\'mailto:\', 0); if (i >= 0) { return false; } f.elements[\'MF_\' + e + \'_EXTERN\'].value = \'mailto:\' + v; return false; } function bookmark_handler () { if (typeof dialogWin.returnedValue == \'object\') { url = dialogWin.returnedValue[\'src\']; } else { url = dialogWin.returnedValue; } bookmark_form.elements[\'MF_\' + bookmark_element + \'_EXTERN\'].value = url; } var anchor_form = false; var anchor_element = false; dialogWin.scrollbars = \'yes\'; dialogWin.resizable = \'yes\'; function anchor (anchor_list) { params = \'\'; sep = \'?\'; for (i = 0; i < anchor_list.length; i++) { params += sep + anchor_list[i].name + \'=\' + anchor_list[i].value; sep = \'&\'; } openDGDialog ( \'{site/prefix}/index/xed-anchors-action\' + params, 400, 300, anchor_handler ); } function go_anchors (f, e) { anchor_form = f; anchor_element = e; anchor_list = opener.document.getElementById (f.elements[\'ifname\'].value).xed_get_anchors (f.elements[\'ifname\'].value); anchor (anchor_list); return false; } function anchor_handler () { if (typeof dialogWin.returnedValue == \'object\') { a = dialogWin.returnedValue[\'src\']; } else { a = dialogWin.returnedValue; } anchor_form.elements[\'MF_\' + anchor_element + \'_EXTERN\'].value = \'#\' + a; } </script> {if obj.files} <a href="#" onclick="filechooser_get_file (document.forms[0], \'{name}\'); return false"><img src="{site/prefix}/inc/app/cms/pix/icons/files.gif" alt="{intl Files}" title="{intl Files}" border="0" /></a>{end if} {if obj.email} <a href="#" onclick="mailto (document.forms[0], \'{name}\'); return false"><img src="{site/prefix}/inc/app/cms/pix/icons/email.gif" alt="{intl Email}" title="{intl Email}" border="0" /></a>{end if} {if obj.bookmarks} <a href="#" onclick="bookmarks (document.forms[0], \'{name}\'); return false"><img src="{site/prefix}/inc/app/cms/pix/icons/bookmark-darker.gif" alt="{intl Bookmarks}" title="{intl Bookmarks}" border="0" /></a>{end if} {if obj.anchors} <a href="#" onclick="go_anchors (document.forms[0], \'{name}\'); return false"><img src="{site/prefix}/inc/app/cms/pix/icons/anchor.gif" alt="{intl Anchors}" title="{intl Anchors}" border="0" /></a>{end if} <!-- input type="submit" onclick="bookmarks (this.form, \'{name}\'); return false" value="{intl Bookmarks}" /> <input type="submit" onclick="filechooser_get_file (this.form, \'{name}\'); return false" value="{intl Files}" / --> ', $this); $data .= '</td></tr></table>' . "</td>\n\t</tr>\n"; } else { $data = $_page->display(0); $data .= $_inner->display(0) . '<br />' . $_extern->display(0); } return $data; }
echo loader_box('cms/nav'); echo '<h1>' . intl_get('Tools') . '</h1>'; loader_import('saf.Misc.Alt'); $alt = new Alt('#fff', '#eee'); echo '<p align="center"><table border="0" cellpadding="10" cellspacing="1" width="100%">'; foreach ($list as $link => $name) { $count++; if ($count == 1) { echo '<tr style="background-color: ' . $alt->next() . '">'; } list($short, $extra) = explode('-', $link); if (!@file_exists('inc/app/' . $short . '/pix/icon.gif')) { $img = site_prefix() . '/inc/app/cms/pix/default_icon.gif'; } else { $img = site_prefix() . '/inc/app/' . $short . '/pix/icon.gif'; } echo '<td align="center" valign="bottom" width="25%"><a href="' . site_prefix() . '/index/' . $link . '"><img src="' . $img . '" alt="" border="0" /><br />' . $name . '</a></td>'; if ($count == 4) { $count = 0; echo '</tr>'; } } if ($count > 0) { for ($i = $count; $i < 4; $i++) { echo '<td width="25%"> </td>'; } echo '</tr>'; } echo '</table></p>'; echo loader_box('cms/admintools/uninstalled');
function _fill($tpl, $obj) { global $simple_template_register, $simple_template_functions; if (empty($tpl)) { return ''; } if (isset($this->cache[$tpl])) { $use = $this->cache[$tpl]; } elseif (@is_file($this->getPath() . '/' . $tpl)) { $this->cache[$tpl] = @join('', @file($this->getPath() . '/' . $tpl)); $use = $this->cache[$tpl]; } else { $use = $tpl; } // Determine Delimiter if (preg_match('/^<\\!-- SIMPLE_TEMPLATE_DELIM_([A-Z0-9_]+) -->/', $use, $regs)) { $old_delim = $this->use_delim; $this->use_delim = constant('SIMPLE_TEMPLATE_DELIM_' . $regs[1]); $use = str_replace($regs[0], '', $use); } // Eval Inline PHP ob_start(); eval(CLOSE_TAG . $use); $use = ob_get_contents(); ob_end_clean(); //$out = preg_replace ("/" . $this->delim[$this->use_delim][0] . "([a-zA-Z0-9\.:\/_-]+)" . $this->delim[$this->use_delim][1] . "/e", "\$this->determine ('$1', \$obj)", $use); $tokens = preg_split('/(' . $this->delim[$this->use_delim][0] . '[\\[\\]\\(\\)a-zA-Z0-9\\.,=<>\\?&#$\'":;\\!\\=\\/\\| _-]+' . $this->delim[$this->use_delim][1] . ')/s', $use, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); $out = ''; foreach ($tokens as $tok) { $_tok = substr($tok, strlen($this->delim_literal[$this->use_delim][0]), -strlen($this->delim_literal[$this->use_delim][1])); if (!empty($_tok) && strpos($tok, $this->delim_literal[$this->use_delim][0]) === 0 && strrpos($tok, $this->delim_literal[$this->use_delim][1]) === strlen($tok) - strlen($this->delim_literal[$this->use_delim][1])) { $_is_tag = true; } else { $_is_tag = false; } // HANDLE END-LOOP if ($this->_ignoreUntilEndLoop) { if (strpos($_tok, 'loop ') === 0) { $this->_structCount++; } elseif ($_tok == 'end loop' && $this->_structCount > 0) { $this->_structCount--; continue; } if ($_tok == 'end loop') { $this->_ignoreUntilEndLoop = false; $this->_bufferUntilEndLoop = false; } } elseif ($this->_bufferUntilEndLoop) { if (strpos($_tok, 'loop ') === 0) { $this->_structCount++; $this->_loopBuffer .= $tok; continue; } elseif ($_tok == 'end loop' && $this->_structCount > 0) { $this->_structCount--; $this->_loopBuffer .= $tok; continue; } if ($_tok == 'end loop') { $this->_bufferUntilEndLoop = false; $tmp = isset($simple_template_register['loop']) ? $simple_template_register['loop'] : null; $parent = isset($simple_template_register['parent']) ? $simple_template_register['parent'] : null; $simple_template_register['parent'] = $tmp; $index = 1; $total = count($this->_loopList); foreach ($this->_loopList as $key => $item) { if (in_array($key, array('_properties', '_index', '_key', '_total'), true)) { continue; } $simple_template_register['loop'] = $item; if (is_object($item)) { $simple_template_register['loop']->_properties = get_object_vars($simple_template_register['loop']); $simple_template_register['loop']->_index = $index; $simple_template_register['loop']->_key = $key; $simple_template_register['loop']->_total = $total; } elseif (is_array($item)) { $simple_template_register['loop']['_properties'] = $simple_template_register['loop']; $simple_template_register['loop']['_index'] = $index; $simple_template_register['loop']['_key'] = $key; $simple_template_register['loop']['_total'] = $total; } else { $simple_template_register['loop'] = (object) array('_value' => $item, '_index' => $index, '_key' => $key, '_total' => $total); } $out .= $this->fill($this->_loopBuffer, $obj); $index++; } $simple_template_register['loop'] = $tmp; $simple_template_register['parent'] = $parent; } else { $this->_loopBuffer .= $tok; } // HANDLE END-IF } elseif ($this->_ignoreUntilEndIf) { if (strpos($_tok, 'if ') === 0) { $this->_structCount++; } elseif ($_tok == 'end if' && $this->_structCount > 0) { $this->_structCount--; continue; } if ($_tok == 'end if') { $this->_ignoreUntilEndIf = false; } // HANDLE INC AND SPT } elseif (strpos($_tok, 'inc ') === 0) { // include $file = substr($_tok, 4); if (@file_exists($this->getPath() . '/' . $file)) { $out .= @join('', @file($this->getPath() . '/' . $file)); continue; } $val = $this->determine($file, $obj); if (@file_exists($this->getPath() . '/' . $val)) { $out .= @join('', @file($this->getPath() . '/' . $val)); continue; } elseif (!empty($val)) { $out .= $val; continue; } $out .= $file; continue; } elseif (strpos($_tok, 'spt ') === 0) { // include another template $file = substr($_tok, 4); list($file, $param) = explode(' ', $file); if (!empty($param)) { $param = $this->determine($param, $obj); } else { $param = $obj; } if (@file_exists($this->getPath() . '/' . $file)) { $out .= $this->fill(@join('', @file($this->getPath() . '/' . $file)), $param); continue; } $val = $this->determine($file, $obj); if (@file_exists($this->getPath() . '/' . $val)) { $out .= $this->fill(@join('', @file($this->getPath() . '/' . $val)), $param); continue; } elseif (!empty($val)) { $out .= $this->fill($val, $param); continue; } $out .= $this->fill($file, $param); continue; } elseif ($_is_tag && strpos($_tok, 'form ') === 0) { // call loader_form () $form = substr($_tok, 5); $out .= loader_form($form); continue; } elseif ($_is_tag && strpos($_tok, 'box ') === 0) { // call loader_box () $box = substr($_tok, 4); if (strstr($box, '?')) { $u = parse_url($box); $box = $u['path']; $param = array(); foreach (explode('&', $u['query']) as $pair) { list($k, $v) = explode('=', $pair); if ($v[0] == '[' && $v[strlen($v) - 1] == ']') { $v = $this->determine(substr($v, 1, strlen($v) - 2), $obj); } $param[$k] = $v; } } else { $param = array(); } $out .= loader_box($box, $param); continue; } elseif (strpos($_tok, 'info ') === 0) { ob_start(); info($this->determine(substr($_tok, 5), $obj)); $out .= ob_get_contents(); ob_end_clean(); } elseif ($_tok == 'end filter') { // return filter to default $this->filter = 'htmlentities_compat'; // STANDARD TAG INTERPRETATION } elseif ($_is_tag) { if (strpos($_tok, '|') !== false) { $_filters = explode('|', $_tok); $_tok = array_shift($_filters); $_prev_filter = $this->filter; $this->filter = join('/', $_filters); } if ($this->filter == 'none') { $out .= $this->determine($_tok, $obj); } else { if (isset($simple_template_register['loop']) && is_object($simple_template_register['loop'])) { $_name = $simple_template_register['loop']->_key; } elseif (isset($simple_template_register['loop']) && is_array($simple_template_register['loop'])) { $_name = $simple_template_register['loop']['_key']; } else { $_name = false; } $GLOBALS['simple_template_token_name'] = $_name; if (strpos($this->filter, '/') !== false) { $filters = explode('/', $this->filter); $res = $this->determine($_tok, $obj); foreach (array_reverse($filters) as $filter) { $res = @call_user_func($filter, $res); } $out .= $res; } else { $out .= @call_user_func($this->filter, $this->determine($_tok, $obj)); } } if (isset($_filters)) { $this->filter = $_prev_filter; unset($_prev_filter); unset($_filters); } // IN-BETWEEN TEXT } else { $out .= $tok; } } // Reset Delimiter if (isset($old_delim)) { $this->use_delim = $old_delim; } return $out; }
<?php loader_box('sitellite/nav/init'); global $menu, $page; if ($page->id != 'index') { if (!empty($parameters['caption'])) { $caption = $parameters['caption'] . ': '; } else { $caption = ''; } if ($parameters['home_link'] == 'no') { $home = false; } else { $home = true; } if ($page->below_page && !isset($menu->{'items_' . $page->id})) { $menu->addItem($page->id, $page->title, $page->below_page); $added = true; } else { $added = false; } if ($menu->{'items_' . $page->id}) { echo '<p class="breadcrumb">' . '<span class="caption">' . $caption . '</span>' . $menu->trail($page->id, 'nav/breadcrumb/link.spt', $home, ' / ') . '</p>' . NEWLINEx2; } elseif (!empty($page->title)) { echo '<p class="breadcrumb">' . '<span class="caption">' . $caption . '</span>' . template_simple('nav/breadcrumb/link_home.spt', array('id' => 'index', 'title' => intl_get('Home'))) . ' / ' . $page->title . '</p>' . NEWLINEx2; } if ($added) { unset($menu->{'items_' . $page->id}); } }
<?php // BEGIN KEEPOUT CHECKING // Add these lines to the very top of any file you don't want people to // be able to access directly. if (!defined('SAF_VERSION')) { header('HTTP/1.1 404 Not Found'); echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n" . "<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n" . "The requested URL " . $PHP_SELF . " was not found on this server.<p>\n<hr>\n" . $_SERVER['SERVER_SIGNATURE'] . "</body></html>"; exit; } // END KEEPOUT CHECKING if (session_valid()) { $sidebar = appconf('sidebar'); if ($sidebar == 'default') { echo template_simple('sidebar.spt', $parameters); } else { list($type, $call) = split(':', $sidebar); $func = 'loader_' . $type; echo $func(trim($call), array(), $box['context']); } } else { echo loader_box('sitemember/login', $parameters); }