예제 #1
0
    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();
예제 #3
0
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">&copy; 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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</label>', '<a href="https://github.com/maschek/imgmap" target="_blank">TinyMCE imgmap plugin v1.09</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</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>&nbsp;</label>', '<a href="http://www.jqueryui.com" target="_blank">jQuery UI v1.11.2</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="http://fortawesome.github.io/Font-Awesome/" target="_blank">Font Awesome v4.7</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</label>', '<a href="http://stanlemon.net/pages/jgrowl" target="_blank">jGrowl v1.2.12</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="https://select2.github.io" target="_blank">Select2 v4.0.3</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="http://www.firephp.org" target="_blank">FirePHPCore Server Library 0.3</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</label>', '<a href="http://www.jstree.com" target="_blank">jsTree v3.3.1</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</label>', '<a href="http://www.plupload.com/" target="_blank">Plupload v2.0.0</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="http://player.bitgravity.com" target="_blank">Bitgravity free video player v6</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="http://mediaelementjs.com/" target="_blank">MediaElement.js v2.11.2</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</label>', '<a href="https://code.google.com/p/jautochecklist/" target="_blank">jAutochecklist v1.12</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</label>', '<a href="http://codemirror.net" target="_blank">CodeMirror source code editor v5.2</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</label>', '<a href="http://qtip2.com" target="_blank">qTip2 v2.2.1</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="http://idnaconv.net" target="_blank">Net_IDNA v0.9.0</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<a href="http://leafletjs.com" target="_blank">Leaflet 1.0.0-rc3</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</label>', '<a href="http://code.google.com/p/cssmin/" target="_blank">CssMin v3.0.1</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</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>&nbsp;</label>', '<a href="http://www.dropzonejs.com" target="_blank">DropzoneJS v4.3.0</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</label>', '<a href="https://github.com/tzuryby/jquery.hotkeys" target="_blank">jQuery HotKeys v0.8+</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</label>', '<a href="http://vanderlee.github.io/colorpicker/" target="_blank">jQuery.colorpicker v1.1.5</a><br />'));
    $navibars->add_tab_content_row(array('<label>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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();
}
예제 #4
0
 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);
 }
예제 #5
0
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'];
}
예제 #6
0
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 . '&amp;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;
}
예제 #7
0
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();
}
예제 #8
0
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();
}