Joomla的升级带来的麻烦

昨天上班的时候登录了Joomla系统想改改文章,结果系统提示有最新的3.1.0版本,我想都没想直接就点击更新了,后来报错提示说某些目录无法访问,后来通过sftp赋予目录相应的权限了,到这里一切都还是正常,升级完毕后我点击首页上看,首页一团糟,糟了,我的模板被替换了。。。没想到升级这么蛋疼,而且还没备份template,这叫我如何是好啊,一个正式的系统都已经上线了那么久了,还好没多少人访问量,只有趁着没有下班赶快。。。我这真是自讨苦吃唉。

原本我使用的是由isis后台(administrator)模板改编成的前台模板,默认前台的模板太丑都不入我眼,而且因为我们的需求主要是在智能型手机上访问使用的,但是isis模板又不提供前台的,只有自己写了,上一次改起码也是好几周前了,改了很多CSS和index.php,我几乎都忘记了,这次又要重头开始,唉多后悔当初弄一个git把code保存起来,说这些都没有用了,不过希望我这次做第二次相同的事情的时候能有许多新的发现。下面附上昨天通过记忆复原的代码。。

<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  Templates.isis
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 * @since       3.0
 */

defined('_JEXEC') or die;

$app   = JFactory::getApplication();
$doc   = JFactory::getDocument();
$lang  = JFactory::getLanguage();
$this->language = $doc->language;
$this->direction = $doc->direction;
$input = $app->input;
$user  = JFactory::getUser();

// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
$doc->addScript('templates/' .$this->template. '/js/template.js');

// Add Stylesheets
$doc->addStyleSheet('templates/' . $this->template . '/css/template.css');

// Load optional rtl bootstrap css and bootstrap bugfixes
JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);

// Load specific language related CSS
$file = 'language/' . $lang->getTag() . '/' . $lang->getTag() . '.css';
if (is_file($file))
{
    $doc->addStyleSheet($file);
}

// Detecting Active Variables
$option   = $input->get('option', '');
$view     = $input->get('view', '');
$layout   = $input->get('layout', '');
$task     = $input->get('task', '');
$itemid   = $input->get('Itemid', '');
$sitename = $app->getCfg('sitename');

$cpanel = ($option === 'com_cpanel');

$showSubmenu = false;
$this->submenumodules = JModuleHelper::getModules('submenu');
foreach ($this->submenumodules as $submenumodule)
{
    $output = JModuleHelper::renderModule($submenumodule);
    if (strlen($output))
    {
        $showSubmenu = true;
        break;
    }
}

// Logo file
if ($this->params->get('logoFile'))
{
    $logo = JURI::root() . $this->params->get('logoFile');
}
else
{
    $logo = $this->baseurl . "/templates/" . $this->template . "/images/logo.png";
}

// Template Parameters
$displayHeader = $this->params->get('displayHeader', '1');
$statusFixed = $this->params->get('statusFixed', '1');
$stickyToolbar = $this->params->get('stickyToolbar', '1');
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <jdoc:include type="head" />
    <?php
    // Template color
    if ($this->params->get('templateColor'))
    {
    ?>
    <style type="text/css">
        .navbar-inner, .navbar-inverse .navbar-inner, .nav-list > .active > a, .nav-list > .active > a:hover, .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover, .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle, #status.status-top
        {
            background: <?php echo $this->params->get('templateColor');?>;
        }
        .navbar-inner, .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle{
            -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
            -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
            box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1), inset 0 30px 10px rgba(0, 0, 0, .2);
        }
    </style>
    <?php
    }
    ?>
    <?php
    // Template header color
    if ($this->params->get('headerColor'))
    {
    ?>
    <style type="text/css">
        .header
        {
            background: <?php echo $this->params->get('headerColor');?>;
        }
    </style>
    <?php
    }
    ?>
    <!--[if lt IE 9]>
        <script src="../media/jui/js/html5.js"></script>
    <![endif]-->
</head>

<body class="admin <?php echo $option . " view-" . $view . " layout-" . $layout . " task-" . $task . " itemid-" . $itemid . " ";?>" <?php if ($stickyToolbar) : ?>data-spy="scroll" data-target=".subhead" data-offset="87"<?php endif;?>>
    <!-- Top Navigation -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="navbar-inner">
            <div class="container-fluid">
                <?php if ($this->params->get('admin_menus') != '0') : ?>
                    <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </a>
                <?php endif; ?>
                <a class="brand" href="<?php echo JURI::root(); ?>" title="<?php echo $sitename; ?>" target="_blank"><?php echo JHtml::_('string.truncate', $sitename, 14, false, false);?> <i class="icon-out-2 small"></i></a>
                <?php if ($this->params->get('admin_menus') != '0') : ?>
                <div class="nav-collapse">
                <?php else : ?>
                <div>
                <?php endif; ?>
                    <jdoc:include type="modules" name="menu" style="none" />
                    <ul class="<?php if ($this->direction == 'rtl') : ?>nav<?php else : ?>nav pull-right<?php endif; ?>">
                        <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo $user->name; ?> <b class="caret"></b></a>
                            <ul class="dropdown-menu">
                                <jdoc:include type="modules" name="position-1" headerLevel="3" state="0 " />
                            </ul>
                        </li>
                    </ul>
                </div>
                <!--/.nav-collapse -->
            </div>
        </div>
    </nav>
    <?php
    if ((!$statusFixed) && ($this->countModules('status'))):
    ?>
    <!-- Begin Status Module -->
    <div id="status" class="navbar status-top hidden-phone">
        <div class="btn-toolbar">
            <jdoc:include type="modules" name="status" style="no" />
        </div>
        <div class="clearfix"></div>
    </div>
    <!-- End Status Module -->
    <?php
    endif;
    ?>
    <!-- container-fluid -->
    <div class="container-fluid container-main">
        <section id="content">
            <!-- Begin Content -->
            <jdoc:include type="modules" name="top" style="xhtml" />
            <div class="row-fluid">
                <?php if ($showSubmenu) : ?>
                    <div class="span2">
                        <jdoc:include type="modules" name="submenu" style="none" />
                    </div>
                    <div class="span10">
                <?php else : ?>
                    <div class="span12">
                <?php endif; ?>
                        <jdoc:include type="message" />
                        <?php
                        // Show the page title here if the header is hidden
                        if (!$displayHeader):
                        ?>
                        <h1 class="content-title"><?php echo JHtml::_('string.truncate', $app->JComponentTitle, 0, false, false);?></h1>
                        <?php
                        endif;
                        ?>
                        <jdoc:include type="component" />
                    </div>
            </div>
            <jdoc:include type="modules" name="bottom" style="xhtml" />
            <!-- End Content -->
            <div class="well well-small"><div class="module-title nav-header">热门文章</div><ul class="mostread"><jdoc:include type="modules" name="position-7"/>
</ul>
</div>
            
        </section>
        <hr />
        <?php if (!$this->countModules('status')) : ?>
            <footer class="footer">
                <p>&copy; <?php echo $sitename; ?> <?php echo date('Y');?></p>
            </footer>
        <?php endif; ?>
    </div>
    <?php if (($statusFixed) && ($this->countModules('status'))) : ?>
    <!-- Begin Status Module -->
    <div id="status" class="navbar navbar-fixed-bottom hidden-phone">
        <div class="btn-toolbar">
            <div class="btn-group pull-right">
                <p>&copy; <?php echo $sitename; ?> <?php echo date('Y');?></p>
            </div>
            <jdoc:include type="modules" name="status" style="no" />
        </div>
    </div>
    <!-- End Status Module -->
    <?php endif; ?>
    <jdoc:include type="modules" name="debug" style="none" />
    <?php if ($stickyToolbar) : ?>
    <script>
        (function($){
            // fix sub nav on scroll
            var $win = $(window)
              , $nav = $('.subhead')
              , navTop = $('.subhead').length && $('.subhead').offset().top - <?php if ($displayHeader || !$statusFixed) : ?>40<?php else:?>20<?php endif;?>
              , isFixed = 0

            processScroll()

            // hack sad times - holdover until rewrite for 2.1
            $nav.on('click', function ()
            {
                if (!isFixed) setTimeout(function () {  $win.scrollTop($win.scrollTop() - 47) }, 10)
            })

            $win.on('scroll', processScroll)

            function processScroll()
            {
                var i, scrollTop = $win.scrollTop()
                if (scrollTop >= navTop && !isFixed)
                {
                    isFixed = 1
                    $nav.addClass('subhead-fixed')
                } else if (scrollTop <= navTop && isFixed)
                {
                    isFixed = 0
                    $nav.removeClass('subhead-fixed')
                }
            }
        })(jQuery);
    </script>
    <?php endif; ?>
        
</body>
</html>

 

posted @ 2013-04-26 14:19 重庆Debug 阅读(...) 评论(...) 编辑 收藏