Exemplo n.º 1
0
function upgrade_css_140_to_160($name, $css)
{
    // Update our CSS to the new stuff in 1.6
    $parsed_css = css_to_array($css);
    if ($name == "global.css") {
        if (is_array($parsed_css)) {
            foreach ($parsed_css as $class_id => $array) {
                switch ($array['class_name']) {
                    case '.navigation .active':
                        $parsed_css[$class_id]['values'] = str_replace('font-size: small;', 'font-size: 13px;', $array['values']);
                        break;
                    case '.highlight':
                        $parsed_css[$class_id]['values'] = str_replace('padding: 3px;', "padding-top: 3px;\n\tpadding-bottom: 3px;", $array['values']);
                        break;
                    case '.pm_alert':
                    case '.red_alert':
                        $parsed_css[$class_id]['values'] .= "\n\tmargin-bottom: 15px;";
                        break;
                    case '.pagination .pagination_current':
                        $parsed_css[$class_id]['values'] .= "\n\tcolor: #000;";
                        break;
                    default:
                }
            }
        }
        $to_add = array(md5('#panel .remember_me input') => array("class_name" => '#panel .remember_me input', "values" => "vertical-align: middle;\n\tmargin-top: -1px;"), md5('.hiddenrow') => array("class_name" => '.hiddenrow', "values" => 'display: none;'), md5('.selectall') => array("class_name" => '.selectall', "values" => "background-color: #FFFBD9;\n\tfont-weight: bold;\n\ttext-align: center;"), md5('.repbox') => array("class_name" => '.repbox', "values" => "font-size:16px;\n\tfont-weight: bold;\n\tpadding:5px 7px 5px 7px;"), md5('._neutral') => array("class_name" => '._neutral', "values" => "background-color:#FAFAFA;\n\tcolor: #999999;\n\tborder:1px solid #CCCCCC;"), md5('._minus') => array("class_name" => '._minus', "values" => "background-color: #FDD2D1;\n\tcolor: #CB0200;\n\tborder:1px solid #980201;"), md5('._plus') => array("class_name" => '._plus', "values" => "background-color:#E8FCDC;\n\tcolor: #008800;\n\tborder:1px solid #008800;"), md5('.pagination_breadcrumb') => array("class_name" => '.pagination_breadcrumb', "values" => "background-color: #f5f5f5;\n\tborder: 1px solid #fff;\n\toutline: 1px solid #ccc;\n\tpadding: 5px;\n\tmargin-top: 5px;\n\tfont-weight: normal;"), md5('.pagination_breadcrumb_link') => array("class_name" => '.pagination_breadcrumb_link', "values" => "vertical-align: middle;\n\tcursor: pointer;"));
    } else {
        if ($name == "usercp.css") {
            $to_add = array(md5('.usercp_notepad') => array("class_name" => '.usercp_notepad', "values" => "width: 99%;"), md5('.usercp_container') => array("class_name" => '.usercp_container', "values" => "margin: 5px;\n\tpadding: 8px;\n\tborder:1px solid #CCCCCC;"));
        }
    }
    foreach ($to_add as $class_id => $array) {
        if ($already_parsed[$class_id]) {
            $already_parsed[$class_id]++;
            $class_id .= "_" . $already_parsed[$class_id];
        } else {
            $already_parsed[$class_id] = 1;
        }
        $array['name'] = "";
        $array['description'] = "";
        $parsed_css[$class_id] = $array;
    }
    $css = "";
    foreach ($parsed_css as $class_id => $array) {
        if ($array['name'] || $array['description']) {
            $theme['css'] .= "/* ";
            if ($array['name']) {
                $array['css'] .= "Name: {$array['name']}";
                if ($array['description']) {
                    $array['css'] .= "\n";
                }
            }
            if ($array['description']) {
                $array['css'] .= "Description: {$array['description']}";
            }
            $array['css'] .= " */\n";
        }
        $css .= "{$array['class_name']} {\n\t{$array['values']}\n}\n";
    }
    return $css;
}
Exemplo n.º 2
0
             admin_redirect("index.php?module=style-themes&action=edit&tid={$theme['tid']}");
         } else {
             admin_redirect("index.php?module=style-themes&action=edit_stylesheet&tid={$theme['tid']}&file={$stylesheet['name']}");
         }
     } else {
         echo "1";
         exit;
     }
 }
 // Has the file on the file system been modified?
 if (resync_stylesheet($stylesheet)) {
     // Need to refetch new stylesheet as it was modified
     $query = $db->simple_select("themestylesheets", "stylesheet", "sid='{$stylesheet['sid']}'");
     $stylesheet['stylesheet'] = $db->fetch_field($query, 'stylesheet');
 }
 $css_array = css_to_array($stylesheet['stylesheet']);
 $selector_list = get_selectors_as_options($css_array, $mybb->input['selector']);
 // Do we not have any selectors? Send em to the full edit page
 if (!$selector_list) {
     flash_message($lang->error_cannot_parse, 'error');
     admin_redirect("index.php?module=style-themes&action=edit_stylesheet&tid={$theme['tid']}&file=" . htmlspecialchars_uni($stylesheet['name']) . "&mode=advanced");
     exit;
 }
 // Fetch list of all of the stylesheets for this theme
 $stylesheets = fetch_theme_stylesheets($theme);
 $this_stylesheet = $stylesheets[$stylesheet['name']];
 unset($stylesheets);
 $page->extra_header .= "\n\t<script type=\"text/javascript\">\n\tvar my_post_key = '" . $mybb->post_code . "';\n\t</script>";
 $page->add_breadcrumb_item(htmlspecialchars_uni($theme['name']), "index.php?module=style-themes&amp;action=edit&amp;tid={$mybb->input['tid']}");
 $page->add_breadcrumb_item("{$lang->editing} " . htmlspecialchars_uni($stylesheet['name']), "index.php?module=style-themes&amp;action=edit_stylesheet&amp;tid={$mybb->input['tid']}&amp;file=" . htmlspecialchars_uni($mybb->input['file']) . "&amp;mode=simple");
 $page->output_header("{$lang->themes} - {$lang->edit_stylesheets}");
Exemplo n.º 3
0
function upgrade_css_120_to_140($css)
{
    // Update our CSS to the new stuff in 1.4
    $parsed_css = css_to_array($css);
    if (!is_array($parsed_css)) {
        return "";
    }
    foreach ($parsed_css as $class_id => $array) {
        $parsed_css[$class_id]['values'] = str_replace('#eea8a1', '#ffdde0', $array['values']);
        $parsed_css[$class_id]['values'] = str_replace('font-family: Verdana;', 'font-family: Verdana, Arial, Sans-Serif;', $array['values']);
        switch ($array['class_name']) {
            case '.bottommenu':
                $parsed_css[$class_id]['values'] = str_replace('padding: 6px;', 'padding: 10px;', $array['values']);
                break;
            case '.expcolimage':
                $parsed_css[$class_id]['values'] .= "\n\tmargin-top: 2px;";
                break;
            case '.toolbar_normal':
            case '.toolbar_hover':
            case '.toolbar_clicked':
            case '.pagenav':
            case '.pagenavbit':
            case '.pagenavbit a':
            case '.pagenavcurrent':
            case '.quote_header':
            case '.quote_body':
            case '.code_header':
            case '.code_body':
            case '.usercpnav':
            case '.usercpnav li':
            case '.usercpnav .pmfolders':
            case '.usercpnav li':
            case '.usercpnav li':
                unset($parsed_css[$class_id]);
                break;
            default:
        }
    }
    $to_add = array(md5('.trow_selected td') => array("class_name" => '.trow_selected td', "values" => 'background: #FFFBD9;'), md5('blockquote') => array("class_name" => 'blockquote', "values" => "border: 1px solid #ccc;\n\tmargin: 0;\n\tbackground: #fff;\n\tpadding: 4px;"), md5('blockquote cite') => array("class_name" => 'blockquote cite', "values" => "font-weight: bold;\n\tborder-bottom: 1px solid #ccc;\n\tfont-style: normal;\n\tdisplay: block;\n\tmargin: 4px 0;"), md5('blockquote cite span') => array("class_name" => 'blockquote cite span', "values" => "float: right;\n\tfont-weight: normal;"), md5('.codeblock') => array("class_name" => '.codeblock', "values" => "background: #fff;\n\tborder: 1px solid #ccc;\n\tpadding: 4px;"), md5('.codeblock .title') => array("class_name" => '.codeblock .title', "values" => "border-bottom: 1px solid #ccc;\n\tfont-weight: bold;\n\tmargin: 4px 0;"), md5('.codeblock code') => array("class_name" => '.codeblock code', "values" => "overflow: auto;\n\theight: auto;\n\tmax-height: 200px;\n\tdisplay: block;\n\tfont-family: Monaco, Consolas, Courier, monospace;\n\tfont-size: 13px;"), md5('.subject_new') => array("class_name" => '.subject_new', "values" => "font-weight: bold;"), md5('.highlight') => array("class_name" => '.highlight', "values" => "background: #FFFFCC;\n\tpadding: 3px;"), md5('.pm_alert') => array("class_name" => '.pm_alert', "values" => "background: #FFF6BF;\n\tborder: 1px solid #FFD324;\n\ttext-align: center;\n\tpadding: 5px 20px;\n\tfont-size: 11px;"), md5('.red_alert') => array("class_name" => '.red_alert', "values" => "background: #FBE3E4;\n\tborder: 1px solid #A5161A;\n\tcolor: #A5161A;\n\ttext-align: center;\n\tpadding: 5px 20px;\n\tfont-size: 11px;"), md5('.high_warning') => array("class_name" => '.high_warning', "values" => "color: #CC0000;"), md5('.moderate_warning') => array("class_name" => '.moderate_warning', "values" => "color: #F3611B;"), md5('.low_warning') => array("class_name" => '.low_warning', "values" => "color: #AE5700;"), md5('div.error') => array("class_name" => 'div.error', "values" => "padding: 5px 10px;\n\tborder-top: 2px solid #FFD324;\n\tborder-bottom: 2px solid #FFD324;\n\tbackground: #FFF6BF\n\tfont-size: 12px;"), md5('.high_warning') => array("class_name" => '.high_warning', "values" => "color: #CC0000;"), md5('.moderate_warning') => array("class_name" => '.moderate_warning', "values" => "color: #F3611B;"), md5('.low_warning') => array("class_name" => '.low_warning', "values" => "color: #AE5700;"), md5('div.error') => array("class_name" => 'div.error', "values" => "padding: 5px 10px;\n\tborder-top: 2px solid #FFD324;\n\tborder-bottom: 2px solid #FFD324;\n\tbackground: #FFF6BF;\n\tfont-size: 12px;"), md5('div.error p') => array("class_name" => 'div.error p', "values" => "margin: 0;\n\tcolor: #000;\n\tfont-weight: normal;"), md5('div.error p em') => array("class_name" => 'div.error p em', "values" => "font-style: normal;\n\tfont-weight: bold;\n\tpadding-left: 24px;\n\tdisplay: block;\n\tcolor: #C00;\n\tbackground: url({$mybb->settings['bburl']}/images/error.gif) no-repeat 0;"), md5('div.error.ul') => array("class_name" => 'div.error.ul', "values" => "margin-left: 24px;"), md5('.online') => array("class_name" => '.online', "values" => "color: #15A018;"), md5('.offline') => array("class_name" => '.offline', "values" => "color: #C7C7C7;"), md5('.pagination') => array("class_name" => '.pagination', "values" => "font-size: 11px;\n\tpadding-top: 10px;\n\tmargin-bottom: 5px;"), md5('.tfoot .pagination, .tcat .pagination') => array("class_name" => '.tfoot .pagination, .tcat .pagination', "values" => "padding-top: 0;"), md5('.pagination .pages') => array("class_name" => '.pagination .pages', "values" => "font-weight: bold;"), md5('.pagination .pagination_current, .pagination a') => array("class_name" => '.pagination .pagination_current, .pagination a', "values" => "padding: 2px 6px;\n\tmargin-bottom: 3px;"), md5('.pagination a') => array("class_name" => '.pagination a', "values" => "border: 1px solid #81A2C4;"), md5('.pagination .pagination_current') => array("class_name" => '.pagination .pagination_current', "values" => "background: #F5F5F5;\n\tborder: 1px solid #81A2C4;\n\tfont-weight: bold;"), md5('.pagination a:hover') => array("class_name" => '.pagination a:hover', "values" => "background: #F5F5F5;\n\ttext-decoration: none;"), md5('.thread_legend, .thread_legend dd') => array("class_name" => '.thread_legend, .thread_legend dd', "values" => "margin: 0;\n\tpadding: 0;"), md5('.thread_legend dd') => array("class_name" => '.thread_legend dd', "values" => "padding-bottom: 4px;\n\tmargin-right: 15px;"), md5('.thread_legend img') => array("class_name" => '.thread_legend img', "values" => "margin-right: 4px;\n\tvertical-align: bottom;"), md5('.forum_legend, .forum_legend dt, .forum_legend dd') => array("class_name" => '.forum_legend, .forum_legend dt, .forum_legend dd', "values" => "margin: 0;\n\tpadding: 0;"), md5('.forum_legend dd') => array("class_name" => '.forum_legend dd', "values" => "float: left;\n\tmargin-right: 10px;"), md5('.forum_legend dt') => array("class_name" => '.forum_legend dt', "values" => "margin-right: 10px;\n\tfloat: left;"), md5('.success_message') => array("class_name" => '.success_message', "values" => "color: #00b200;\n\tfont-weight: bold;\n\tfont-size: 10px;\n\tmargin-bottom: 10px;"), md5('.error_message') => array("class_name" => '.error_message', "values" => "color: #C00;\n\tfont-weight: bold;\n\tfont-size: 10px;\n\tmargin-bottom: 10px;"), md5('.post_body') => array("class_name" => '.post_body', "values" => "padding: 5px;"), md5('.post_content') => array("class_name" => '.post_content', "values" => "padding: 5px 10px;"), md5('.invalid_field') => array("class_name" => '.invalid_field', "values" => "border: 1px solid #f30;\n\tcolor: #f30;"), md5('.valid_field') => array("class_name" => '.valid_field', "values" => "border: 1px solid #0c0;"), md5('.validation_error') => array("class_name" => '.validation_error', "values" => "background: url(images/invalid.gif) no-repeat center left;\n\tcolor: #f30;\n\tmargin: 5px 0;\n\tpadding: 5px;\n\tfont-weight: bold;\n\tfont-size: 11px;\n\tpadding-left: 22px;"), md5('.validation_success') => array("class_name" => '.validation_success', "values" => "background: url(images/valid.gif) no-repeat center left;\n\tcolor: #00b200;\n\tmargin: 5px 0;\n\tpadding: 5px;\n\tfont-weight: bold;\n\tfont-size: 11px;\n\tpadding-left: 22px;"), md5('.validation_loading') => array("class_name" => '.validation_loading', "values" => "background: url(images/spinner.gif) no-repeat center left;\n\tcolor: #555;\n\tmargin: 5px 0;\n\tpadding: 5px;\n\tfont-weight: bold;\n\tfont-size: 11px;\n\tpadding-left: 22px;"));
    foreach ($to_add as $class_id => $array) {
        if ($already_parsed[$class_id]) {
            $already_parsed[$class_id]++;
            $class_id .= "_" . $already_parsed[$class_id];
        } else {
            $already_parsed[$class_id] = 1;
        }
        $array['name'] = "";
        $array['description'] = "";
        $parsed_css[$class_id] = $array;
    }
    $css = "";
    foreach ($parsed_css as $class_id => $array) {
        if ($array['name'] || $array['description']) {
            $theme['css'] .= "/* ";
            if ($array['name']) {
                $array['css'] .= "Name: {$array['name']}";
                if ($array['description']) {
                    $array['css'] .= "\n";
                }
            }
            if ($array['description']) {
                $array['css'] .= "Description: {$array['description']}";
            }
            $array['css'] .= " */\n";
        }
        $css .= "{$array['class_name']} {\n\t{$array['values']}\n}\n";
    }
    return $css;
}