public function insert() { global $DB; global $website; $current_version = update::latest_installed(); $ok = $DB->execute(' INSERT INTO nv_backups (id, website, date_created, size, status, title, notes, file, runtime, version) VALUES ( 0, :website, :date_created, :size, :status, :title, :notes, :file, :runtime, :version) ', array('website' => $website->id, 'date_created' => time(), 'size' => value_or_default($this->size, 0), 'status' => value_or_default($this->status, ''), 'title' => value_or_default($this->title, ''), 'notes' => value_or_default($this->notes, ''), 'file' => value_or_default($this->file, ''), 'runtime' => value_or_default($this->runtime, 0), 'version' => $current_version->version . ' r' . $current_version->revision)); $this->id = $DB->get_last_id(); return true; }
6/ Repack SQL, logo, setup.php and package.zip as Navigate.zip 7/ Remove temporary files */ require_once '../cfg/globals.php'; require_once '../cfg/common.php'; require_once '../lib/core/misc.php'; require_once '../lib/external/misc/zipfile.php'; /* global variables */ global $DB; set_time_limit(0); // create database connection or exit $DB = new database(); if (!$DB->connect()) { die(APP_NAME . ' # ERROR<br /> ' . $DB->get_last_error()); } $current_version = update::latest_installed(); /* 1/ Create temporary folder */ // we assume we are in navigate/setup folder if (!@mkdir('distribution')) { die(APP_NAME . ' # ERROR<br /> ' . "Can't create distribution folder."); } /* 2/ Dump database structure */ $sql = array(); $DB->query('SHOW TABLES', 'array'); $tmp = array_keys($DB->first()); $tmp = $tmp[0]; $tables = array_values($DB->result($tmp)); foreach ($tables as $table) { $DB->query('SHOW CREATE TABLE ' . $table, 'array'); $sql[] = 'DROP TABLE IF EXISTS ' . $table . ';'; $table = $DB->first();
function about_layout() { global $user; global $DB; global $website; global $layout; $navibars = new navibars(); $naviforms = new naviforms(); $current_version = update::latest_installed(); $navibars->title(t(215, 'About')); $navibars->form(); $navibars->add_tab('Navigate CMS'); $navibars->add_tab_content_row(array('<label>' . t(216, 'Created by') . '</label>', '<a href="http://www.naviwebs.com" target="_blank">Naviwebs</a>')); $navibars->add_tab_content_row(array('<label>' . t(220, 'Version') . '</label>', '<span>' . $current_version->version . ' r' . $current_version->revision . '</span>')); $navibars->add_tab_content_row(array('<label>' . t(378, 'License') . '</label>', '<a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GPL v2</a>')); $navibars->add_tab_content_row(array('<label>' . t(219, 'Copyright') . '</label>', '<a href="http://www.naviwebs.com" target="_blank">© 2010 - ' . date('Y') . ', Naviwebs.com</a>')); $navibars->add_tab(t(218, 'Third party libraries')); $navibars->add_tab_content_row(array('<label>' . t(218, 'Third party libraries') . '</label>', '<a href="http://www.tinymce.com" target="_blank">TinyMCE 4.5.1</a><br />')); // note: the tinymce-codemirror plugin has Apache 2 License, but the author Arjan (from Webgear.nl) has given permission to use and include the code in this application $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/christiaan/tinymce-codemirror" target="_blank">TinyMCE CodeMirror plugin v1.4+ (commit #1d31634)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/Matmusia/magicline" target="_blank">TinyMCE magic line plugin v1.2</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/josh18/TinyMCE-FontAwesome-Plugin" target="_blank">TinyMCE Font Awesome plugin v2.0.8_nv</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/maschek/imgmap" target="_blank">TinyMCE imgmap plugin v1.09</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.assembla.com/spaces/lorem-ipsum" target="_blank">TinyMCE LoremIpsum plugin v0.13</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.jquery.com" target="_blank">jQuery v2.2.3 + jQuery Migrate v1.3</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.jqueryui.com" target="_blank">jQuery UI v1.11.2</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://fortawesome.github.io/Font-Awesome/" target="_blank">Font Awesome v4.7</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/free-jqgrid/jqGrid" target="_blank">free-jqGrid v4.13.3</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://stanlemon.net/pages/jgrowl" target="_blank">jGrowl v1.2.12</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://select2.github.io" target="_blank">Select2 v4.0.3</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.firephp.org" target="_blank">FirePHPCore Server Library 0.3</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://mind2soft.com/labs/jquery/multiselect/" target="_blank">jQuery UIx Multiselect v2.0RC</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.jstree.com" target="_blank">jsTree v3.3.1</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/RobinHerbots/jquery.inputmask" target="_blank">jQuery Input Mask v3.3.1</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.plupload.com/" target="_blank">Plupload v2.0.0</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://player.bitgravity.com" target="_blank">Bitgravity free video player v6</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://mediaelementjs.com/" target="_blank">MediaElement.js v2.11.2</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/pisi/Longclick" target="_blank">jQuery Long Click v0.3.2 (22-Jun-2010)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/broofa/node-uuid" target="_blank">node-uuid v1.4.7</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://plugins.jquery.com/project/query-object" target="_blank">jQuery.query v2.1.8 (22-Jun-2010)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://code.google.com/p/jautochecklist/" target="_blank">jAutochecklist v1.12</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://pupunzi.open-lab.com/mb-jquery-components/jquery-mb-extruder/" target="_blank">jQuery mb.extruder v2.5</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.flotcharts.org" target="_blank">Flot (Attractive Javascript plotting for jQuery) v0.8.3</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/ludo/jquery-treetable" target="_blank">jQuery treeTable plugin v2.3.0</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/isocra/TableDnD" target="_blank">jQuery Table DnD plugin v0.7+ (2015/03/23)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/mathiasbynens/jquery-noselect" target="_blank">jQuery noSelect plugin v51bac1d397 (2012-01-11)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/ROMB/jquery-dialogextend" target="_blank">jQuery Dialog Extend plugin v2.0.4</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://codemirror.net" target="_blank">CodeMirror source code editor v5.2</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://code.google.com/a/apache-extras.org/p/phpmailer/" target="_blank">PHP Mailer v5.2.2</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://qtip2.com" target="_blank">qTip2 v2.2.1</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://idnaconv.net" target="_blank">Net_IDNA v0.9.0</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://leafletjs.com" target="_blank">Leaflet 1.0.0-rc3</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://aehlke.github.com/tag-it/" target="_blank">jQuery Tag It! v2.0</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://code.google.com/p/cssmin/" target="_blank">CssMin v3.0.1</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.verot.net/php_class_upload.htm" target="_blank">class.upload v0.33dev</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.framework2.com.ar/dzone/forceUTF8-es/" target="_blank">Encoding UTF8 Class (by Sebastián Grignoli)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.dropzonejs.com" target="_blank">DropzoneJS v4.3.0</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://trentrichardson.com/examples/timepicker/" target="_blank">jQuery Timepicker Addon v1.6.1</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/tzuryby/jquery.hotkeys" target="_blank">jQuery HotKeys v0.8+</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/DrPheltRight/jquery-caret" target="_blank">jQuery Caret v20803a7a16 (Sep 23 2011)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/tbasse/jquery-truncate" target="_blank">jQuery Truncate Text Plugin v18fdc9195c (Apr 03 2013)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.fyneworks.com/jquery/star-rating/" target="_blank">jQuery Star Rating Plugin v3.13</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="https://github.com/yatt/jquery.base64/" target="_blank">jQuery.base64 v2013.03.26</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://vanderlee.github.io/colorpicker/" target="_blank">jQuery.colorpicker v1.1.5</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://code.google.com/p/ezcookie/" target="_blank">jQuery ezCookie v0.7.01</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://verlok.github.io/lazyload" target="_blank">LazyLoad v:e3cd449 (Mar 10 2016)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://scripts.incutio.com/xmlrpc/" target="_blank">Incutio XML-RPC Library for PHP v1.7.4</a><br />')); $navibars->add_tab(t(29, 'Images')); $navibars->add_tab_content_row(array('<label>' . t(29, 'Images') . '</label>', '<a href="http://www.famfamfam.com/lab/icons/silk/" target="_blank">famfamfam Silk Icons 1.3 (Mark James)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://damieng.com/creative/icons/silk-companion-1-icons" target="_blank">Silk Companion I (Damien Guard)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://www.cagintranet.com/archive/download-famfamfam-silk-companion-2-icon-pack/" target="_blank">Silk Companion II (Chris Cagle)</a><br />')); $navibars->add_tab_content_row(array('<label> </label>', '<a href="http://fontawesome.io" target="_blank">Font Awesome by Dave Gandy - http://fontawesome.io</a><br />')); $navibars->add_tab(t(526, 'Translations')); $navibars->add_tab_content_row(array('<label>English</label>', '<a href="http://www.navigatecms.com">Navigate CMS</a>')); $navibars->add_tab_content_row(array('<label>Català</label>', '<a href="mailto:info@naviwebs.com">Marc Lobato (naviwebs.com)</a><br />')); $navibars->add_tab_content_row(array('<label>Español</label>', '<a href="mailto:info@naviwebs.com">Marc Lobato (naviwebs.com)</a><br />')); $navibars->add_tab_content_row(array('<label>Deutsch</label>', '<a href="http://www.lingudora.com" target="_blank">Dominik Hlusiak (lingudora.com)</a><br />')); return $navibars->generate(); }
public static function install_from_repository($file_id) { global $DB; global $website; @set_time_limit(0); $latest = update::latest_installed(); $ulog = NAVIGATE_PATH . '/updates/update-' . $latest->revision . '-custom-' . time() . '.log.txt'; file_put_contents($ulog, "UPDATE PROCESS " . $latest->version . 'c ' . $latest->revision . ' (CUSTOM) on ' . time() . "\n", FILE_APPEND); // copy file from repository to updates folder $ufile = NAVIGATE_PATH . '/updates/update-' . $latest->revision . 'c.zip'; copy(NAVIGATE_PRIVATE . '/' . $website->id . '/files/' . $file_id, $ufile); return update::install_from_file($latest->version . 'c', $latest->revision, $ufile, $ulog); }
function core_version() { global $DB; global $config; if (!isset($config['version'])) { $data = update::latest_installed(); $config['version'] = $data->version; $config['revision'] = $data->revision; } return $config['version']; }
function nvweb_metatags($vars = array()) { global $website; global $current; global $DB; global $structure; global $events; // process page title and (to do: get specific metatags) $section = ''; $separator = ' | '; if (!empty($vars['title_separator'])) { $separator = $vars['title_separator']; } switch ($current['type']) { case 'item': $section = $DB->query_single('text', 'nv_webdictionary', ' node_type = ' . protect($current['type']) . ' AND node_id = ' . protect($current['object']->id) . ' AND subtype = ' . protect('title') . ' AND website = ' . $website->id . ' AND lang = ' . protect($current['lang'])); $section = $separator . $section; break; case 'structure': $breadcrumbs = nvweb_breadcrumbs(array('separator' => $separator, 'links' => 'false')); $section = $separator . $breadcrumbs; break; default: } // global website metatags $metatags = $website->metatags; if (is_array($metatags)) { $metatags = $metatags[$current['lang']]; } if (!empty($website->metatag_description[$current['lang']])) { $metatags .= "\n" . '<meta name="language" content="' . $current['lang'] . '" />' . "\n"; } if (!empty($website->metatag_description[$current['lang']])) { $metatags .= "\n" . '<meta name="description" content="' . $website->metatag_description[$current['lang']] . '" />' . "\n"; } // retrieve content tags and add it to the global metatags of the website $tags_website = str_replace(', ', ',', $website->metatag_keywords[$current['lang']]); $tags_website = explode(',', $tags_website); $tags_website = array_filter($tags_website); $tags_content = webdictionary::load_element_strings($current['type'], $current['object']->id); $tags_content = str_replace(', ', ',', @$tags_content[$current['lang']]['tags']); $tags_content = explode(',', $tags_content); $tags_content = array_filter($tags_content); $tags = array_merge($tags_website, $tags_content); $tags = implode(',', $tags); if (strpos($metatags, '<meta name="keywords" content="') !== FALSE) { $metatags = str_replace('<meta name="keywords" content="', '<meta name="keywords" content="' . $tags, $metatags); } else { $metatags .= '<meta name="keywords" content="' . $tags . '" />'; } if (@$vars['generator'] != 'false') { $current_version = update::latest_installed(); $metatags .= "\n" . '<meta name="generator" content="Navigate CMS ' . $current_version->version . '" />'; } if ($website->favicon > 0) { $favicon = NAVIGATE_DOWNLOAD . '?wid=' . $website->id . '&id=' . $website->favicon . '&disposition=inline'; $metatags .= "\n" . '<link rel="shortcut icon" href="' . $favicon . '" />'; } // website public feeds $DB->query('SELECT id FROM nv_feeds WHERE website = ' . $website->id . ' AND permission = 0 AND enabled = 1'); $feeds = $DB->result('id'); for ($f = 0; $f < count($feeds); $f++) { $feed = new feed(); $feed->load($feeds[$f]); if (strpos(strtolower($feed->format), 'rss') !== false) { $mime = 'application/rss+xml'; } else { if (strpos(strtolower($feed->format), 'atom') !== false) { $mime = 'application/atom+xml'; } else { $mime = 'text/xml'; } } $metatags .= "\n" . '<link rel="alternate" type="' . $mime . '" title="' . $feed->dictionary[$current['lang']]['title'] . '" href="' . $website->absolute_path() . $feed->paths[$current['lang']] . '" />'; } $out = '<title>' . $website->name . $section . '</title>' . "\n"; $out .= $metatags; if (!empty($website->additional_scripts) && empty($_SESSION['APP_USER#' . APP_UNIQUE])) { nvweb_after_body('html', $website->additional_scripts); } $events->trigger('metatags', 'render', array('out' => &$out, 'default_title' => $website->name . $section, 'section' => $section)); return $out; }
function update_list() { global $user; global $DB; global $website; global $layout; $navibars = new navibars(); $naviforms = new naviforms(); $navibars->title(t(285, 'Update')); $navibars->form('', 'fid=update&act=manual_update&debug'); $navibars->add_tab(t(0, 'Navigate')); $updates_available = update::updates_available(); $current_version = update::latest_installed(); $latest_available = update::latest_available(); if (empty($latest_available)) { $layout->navigate_notification(t(578, "Sorry, could not connect to check updates"), true); $latest_available->Version = $current_version->version; $latest_available->Revision = $current_version->revision; } if ($latest_available->Revision > $current_version->revision) { $navibars->add_actions(array('<a href="?fid=update&act=install_next_update&debug"><img height="16" align="absmiddle" width="16" src="img/icons/silk/asterisk_orange.png"> ' . t(289, 'Update Navigate') . ' <img src="img/icons/silk/bullet_go.png" align="absmiddle" /> ' . $updates_available[0]['Version'] . ' r' . $updates_available[0]['Revision'] . '</a>')); } $current = array(); $current[] = '<div class="navigate-panels-summary ui-corner-all" style=" width: 234px; height: 118px; ">'; $current[] = ' <h2><img src="img/navigate-logo-150x70.png" /><br />' . $current_version->version . ' r' . $current_version->revision . '</h2>'; $current[] = '</div>'; $navibars->add_tab_content_panel('<img src="img/navigate.png" width="16px" height="16px" align="absmiddle" /> ' . t(290, 'Current version'), $current, 'navigate-panel-current-version', '250px', '184px'); // update list $updates = ''; $elements_html = ''; foreach ($updates_available as $update) { $update['text'] = base64_decode($update['text']); $elements_html .= '<div class="navigate-panel-recent-comments-username ui-corner-all items-comment-status-public">' . '<div class="navigate-panel-update-info" style=" cursor: pointer; " title="' . core_string_cut($update['text'], 200) . '">' . '<div style="display: none;">' . $update['text'] . '</div>' . '<strong>' . $update['Version'] . ' r' . $update['Revision'] . '</strong> <img align="absmiddle" src="img/icons/silk/bullet_green.png" align="absmiddle"> ' . $update['Cause'] . '</div>' . '</div>'; } $layout->add_script(' $(".navigate-panel-update-info").on("click", function() { if($(this).children().eq(0).html()!="") { var html = $(this).children().eq(0).html(); $("<div>"+html+"</div>").dialog({ modal: true, title: $(this).children().eq(1).text(), width: 650, height: 400 }); } }); '); $navibars->add_tab_content_panel('<img src="img/icons/silk/asterisk_yellow.png" align="absmiddle" /> ' . t(292, 'Available updates'), $elements_html, 'navigate-panel-top-elements', '400px', '184px'); $latest = array(); $latest[] = '<div class="navigate-panels-summary ui-corner-all" style=" width: 234px; height: 118px; ">'; $latest[] = ' <h2><img src="img/navigate-logo-150x70.png" /><br />' . $latest_available->Version . ' r' . $latest_available->Revision . '</h2>'; $latest[] = '</div>'; $navibars->add_tab_content_panel('<img src="img/icons/silk/asterisk_orange.png" align="absmiddle" /> ' . t(291, 'Latest version'), $latest, 'navigate-panel-latest-version', '250px', '184px'); $manual_update = array(); $manual_update[] = '<div class="navigate-panels-summary ui-corner-all" id="update_manual_dropbox" style=" width: 231px; line-height: 59px; ">'; $manual_update[] = ' <h2><img src="img/icons/misc/dropbox.png" /></h2>'; $manual_update[] = '</div>'; $manual_update[] = '<input type="hidden" id="update_manual_file" name="update_manual_file" value="" />'; /* $manual_update[] = '<div class="navigate-panels-summary ui-corner-all" style=" width: 231px; ">'; $manual_update[] = ' <input type="file" />'; $manual_update[] = '</div>'; */ $manual_update[] = '<div style=" float: right; margin-right: 8px; "><input type="submit" disabled="disabled" class="uibutton" id="update_manual_install" value="' . t(365, 'Install') . '" /></div>'; $navibars->add_tab_content_panel('<img src="img/icons/silk/disk_upload.png" align="absmiddle" /> ' . t(303, 'Manual update'), $manual_update, 'navigate-panel-manual-update', '250px', '184px'); $layout->add_script(' $(".navigate-panel").css({ "visibility": "visible", "float": "left", "margin-right": "12px" }); $(".navigate-panels-summary").css({ "max-width": "239px", "width": "100%" }); navigate_file_drop("#update_manual_dropbox", 0, { afterOne: function(file) { if(file!=false) { $("#update_manual_dropbox").removeClass("ui-state-highlight"); $("#update_manual_dropbox").html("<strong>" + file.name + "</strong>"); $("#update_manual_file").val(file.id); $("#update_manual_install").button("enable"); } }, dragOver: function() { $("#update_manual_dropbox").addClass("ui-state-highlight"); }, dragLeave: function() { $("#update_manual_dropbox").removeClass("ui-state-highlight"); } } ); '); return $navibars->generate(); }
function dashboard_create() { global $user; global $events; global $website; global $layout; global $current_version; $navibars = new navibars(); $navibars->title(t(18, 'Home')); if ($user->profile == 1) { $installed_version = update::latest_installed(); $latest_update = $_SESSION['latest_update']; if (!empty($latest_update->Revision) && $latest_update->Revision > $installed_version->revision) { // current web settings $navibars->add_actions(array('<a href="?fid=update&act=0"> <img height="16" align="absmiddle" width="16" src="img/icons/silk/asterisk_orange.png"> ' . t(351, 'New update available!') . '</a>')); } } // current web settings $navibars->add_actions(array('<a href="?fid=websites&act=2&id=' . $website->id . '"><img height="16" align="absmiddle" width="16" src="img/icons/silk/world_edit.png"> ' . t(177, 'Website') . '</a>')); // user settings $navibars->add_actions(array('<a href="?fid=settings"><img height="16" align="absmiddle" width="16" src="img/icons/silk/user_edit.png"> ' . t(14, 'Settings') . '</a>')); $navibars->form(); $navibars->add_tab(t(43, "Main")); $stats = array(); dashboard_panel_web_summary(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_top_pages(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_recent_comments(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_recent_changes(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_top_elements(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_recent_elements(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_latest_searches(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_public_wall(array("navibars" => &$navibars, "statistics" => &$stats)); dashboard_panel_navigatecms_news(array("navibars" => &$navibars, "statistics" => &$stats)); $events->trigger('dashboard', 'panels', array("navibars" => &$navibars, "statistics" => &$stats)); $layout->add_script(' function navigate_dashboard_website_notes_update(object_type, object_id) { $("#navigate-panel-public-wall").find(".navigate-panel-public-wall-note").remove(); $.getJSON("?fid=grid_notes&object="+object_type+"&act=grid_notes_comments&id="+object_id, function(data) { $(data).each(function(i) { var model = $(".navigate-panel-model-row").html(); var row = \'<div class="navigate-panel-public-wall-note" id="website-note-\'+this.id+\'">\'; row = row + model + \'</div>\'; $("#navigate-panel-public-wall > div:last").append(row); var row = $("#navigate-panel-public-wall div.navigate-panel-public-wall-note:last"); $(row).find("span[data-field=date]").html(this.date); $(row).find("span[data-field=username] strong").html(this.date); $(row).find("div[data-field=note]").html(this.note); }); } ); } '); // dashboard panels as portlets $navibars->add_tab_content('<div id="navigate-dashboard-trashcan" class="ui-state-active hidden"><i class="fa fa-trash"></i></div>'); $navibars->add_tab_content('<div id="navigate-dashboard-column-1" class="navigate-dashboard-column"></div>'); $navibars->add_tab_content('<div id="navigate-dashboard-column-2" class="navigate-dashboard-column"></div>'); $navibars->add_tab_content('<div id="navigate-dashboard-column-3" class="navigate-dashboard-column"></div>'); $navibars->add_tab_content('<div id="navigate-dashboard-column-4" class="navigate-dashboard-column"></div>'); $layout->add_content(' <ul id="contextmenu-dashboard"> <li> <a href="#"> <img src="img/icons/silk/bin.png" style="vertical-align: middle; " /> ' . t(639, "Restore panel") . ' </a> <ul id="contextmenu-dashboard-panels-removed"></ul> </li> <li>-</li> <li> <a href="?fid=dashboard&reset_panels"> <img src="img/icons/silk/layout_error.png" style="vertical-align: middle; " /> ' . t(640, "Default arrangement") . ' </a> </li> </ul> '); $default_order = array(0 => array(json_decode('{"id": "navigate-panel-web-summary"}'), json_decode('{"id": "navigate-panel-public-wall"}')), 1 => array(json_decode('{"id": "navigate-panel-top-pages"}'), json_decode('{"id": "navigate-panel-recent-comments"}')), 2 => array(json_decode('{"id": "navigate-panel-recent-changes"}'), json_decode('{"id": "navigate-panel-navigatecms-feed"}')), 3 => array(json_decode('{"id": "navigate-panel-top-elements"}'), json_decode('{"id": "navigate-panel-recent-elements"}'), json_decode('{"id": "navigate-panel-latest-searches"}'))); $dashboard_panels = json_decode($user->setting('dashboard-panels')); if (empty($dashboard_panels) || isset($_GET['reset_panels'])) { $dashboard_panels = $default_order; $user->setting('dashboard-panels', json_encode($default_order)); } $layout->add_script(' var navigate_dashboard_panels = ' . json_encode($dashboard_panels) . '; $.getScript( "lib/packages/dashboard/dashboard.js?r=' . $current_version->revision . '", function() { navigate_dashboard_run(); } ); '); $events->trigger('dashboard', 'tabs', array("navibars" => &$navibars, "statistics" => &$stats)); return $navibars->generate(); }