Exemplo n.º 1
0
function backups_form($item)
{
    global $user;
    global $DB;
    global $website;
    global $layout;
    $navibars = new navibars();
    $naviforms = new naviforms();
    $layout->navigate_media_browser();
    // we can use media browser in this function
    if (empty($item->id)) {
        $navibars->title(t(329, 'Backups') . ' / ' . t(38, 'Create'));
    } else {
        $navibars->title(t(329, 'Backups') . ' / ' . t(170, 'Edit') . ' [' . $item->id . ']');
    }
    if (empty($item->id)) {
        $navibars->add_actions(array('<a href="#" onclick="navigate_tabform_submit(1);"><img height="16" align="absmiddle" width="16" src="img/icons/silk/database_save.png"> ' . t(410, 'Begin backup') . '</a>'));
    } else {
        if ($item->status == 'completed') {
            $navibars->add_actions(array('<a href="#" onclick="navigate_restore_dialog();"><img height="16" align="absmiddle" width="16" src="img/icons/silk/database_refresh.png"> ' . t(412, 'Restore') . '</a> '));
        }
        $navibars->add_actions(array('<a href="#" onclick="navigate_tabform_submit(1);"><img height="16" align="absmiddle" width="16" src="img/icons/silk/accept.png"> ' . t(34, 'Save') . '</a>', '<a href="#" onclick="navigate_delete_dialog();"><img height="16" align="absmiddle" width="16" src="img/icons/silk/cancel.png"> ' . t(35, 'Delete') . '</a>'));
        $delete_html = array();
        $delete_html[] = '<div id="navigate-delete-dialog" class="hidden">' . t(57, 'Do you really want to delete this item?') . '</div>';
        $delete_html[] = '<script language="javascript" type="text/javascript">';
        $delete_html[] = 'function navigate_delete_dialog()';
        $delete_html[] = '{';
        $delete_html[] = '$("#navigate-delete-dialog").removeClass("hidden");';
        $delete_html[] = '$("#navigate-delete-dialog").dialog({
							resizable: true,
							height: 150,
							width: 300,
							modal: true,
							title: "' . t(59, 'Confirmation') . '",
							buttons: {
								"' . t(58, 'Cancel') . '": function() {
									$(this).dialog("close");
								},
								"' . t(35, 'Delete') . '": function() {
									$(this).dialog("close");
									window.location.href = "?fid=backups&act=4&id=' . $item->id . '";
								}
							}
						});';
        $delete_html[] = '}';
        $delete_html[] = '</script>';
        $navibars->add_content(implode("\n", $delete_html));
    }
    $navibars->add_actions(array(!empty($item->id) ? '<a href="?fid=backups&act=2"><img height="16" align="absmiddle" width="16" src="img/icons/silk/add.png"> ' . t(38, 'Create') . '</a>' : '', '<a href="?fid=backups&act=0"><img height="16" align="absmiddle" width="16" src="img/icons/silk/application_view_list.png"> ' . t(39, 'List') . '</a>', 'search_form'));
    $navibars->form();
    $navibars->add_tab(t(43, "Main"));
    $navibars->add_tab_content($naviforms->hidden('form-sent', 'true'));
    $navibars->add_tab_content($naviforms->hidden('id', $item->id));
    $navibars->add_tab_content_row(array('<label>ID</label>', '<span>' . (!empty($item->id) ? $item->id : t(52, '(new)')) . '</span>'));
    $navibars->add_tab_content_row(array('<label>' . t(67, 'Title') . '</label>', $naviforms->textfield('title', $item->title), ''));
    $navibars->add_tab_content_row(array('<label>' . t(168, 'Notes') . '</label>', $naviforms->textarea('notes', $item->notes)));
    $navibars->add_tab_content_row(array('<br />'));
    if (empty($item->status) && !empty($item->id)) {
        $item->status = 'prepare';
        if (!empty($item->id)) {
            $layout->add_script('
                $.get("?fid=backups&act=backup&id=' . $item->id . '");
            ');
        }
    }
    // show current backup status
    $navibars->add_tab_content_row(array('<label>' . t(68, 'Status') . '</label>', backup::status($item->status)));
    if (empty($item->status)) {
        $estimated_size = backup::estimated_size();
        $navibars->add_tab_content_row(array('<br />'));
        $navibars->add_tab_content_row(array('<label>' . t(420, 'Estimated size') . '</label>', core_bytes($estimated_size)));
    } else {
        if ($item->status != 'completed' && $item->status != 'error') {
            $navibars->add_tab_content_row(array('<label>&nbsp;</label>', '<button id="backup_refresh_status"><img src="' . NAVIGATE_URL . '/img/icons/silk/reload.png" align="absmiddle" /> ' . t(423, "Refresh") . '</button>'));
            $layout->add_script('
            $("#backup_refresh_status").bind("click", function(e)
            {
                e.stopPropagation();
                e.preventDefault();
                window.location.replace("?fid=backups&act=2&id=' . $item->id . '");
            });
        ');
        } else {
            if ($item->status == 'completed') {
                $navibars->add_tab_content_row(array('<br />'));
                $navibars->add_tab_content_row(array('<label>' . t(409, 'Size') . '</label>', core_bytes($item->size)));
                $navibars->add_tab_content_row(array('<label>' . t(421, 'Created on') . '</label>', core_ts2date($item->date_created, true)));
                $navibars->add_tab_content_row(array('<label>' . t(82, 'File') . '</label>', '<a href="?fid=backups&act=download&id=' . $item->id . '">' . $item->file . '</a>'));
            }
        }
    }
    return $navibars->generate();
}