1
Will_H
Admin theme probs.
  • 2007/10/5 14:50

  • Will_H

  • Friend of XOOPS

  • Posts: 1786

  • Since: 2004/10/10


Lright so I am working on this custom theme for my admin panel, and have ran into a problem.

It is all done except this little issue here.

My Admin Index:

Resized Image

My Module Admin Page:

Resized Image

as you can see everything from the "un-installed modules" and down is gone, I cant seem to figure out why.

Heres my cp_functions.

<?php
// $Id: cp_functions.php 998 2007-08-17 01:26:05Z dugris $
//  ------------------------------------------------------------------------ //
//                XOOPS - PHP Content Management System                      //
//                    Copyright (c) 2000 XOOPS.org                           //
//                       <https://xoops.org/>                             //
//  ------------------------------------------------------------------------ //
//  This program is free software; you can redistribute it and/or modify     //
//  it under the terms of the GNU General Public License as published by     //
//  the Free Software Foundation; either version 2 of the License, or        //
//  (at your option) any later version.                                      //
//                                                                           //
//  You may not change or alter any portion of this comment or credits       //
//  of supporting developers from this source code or any supporting         //
//  source code which is considered copyrighted (c) material of the          //
//  original comment or credit authors.                                      //
//                                                                           //
//  This program is distributed in the hope that it will be useful,          //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //
//  Skin By Mr. Theme Designs http://www.mrtheme.com                         //
//  ------------------------------------------------------------------------ //

define('XOOPS_CPFUNC_LOADED'1);

function 
xoops_cp_header()
{
    global 
$xoopsConfig$xoopsUser;
    if (!
headers_sent()) {
        
header('Content-Type:text/html; charset='._CHARSET);
        
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
        
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
        
header('Cache-Control: no-store, no-cache, must-revalidate');
        
header("Cache-Control: post-check=0, pre-check=0"false);
        
header("Pragma: no-cache");
    }
    echo 
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>";
    echo 
'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="'._LANGCODE.'" lang="'._LANGCODE.'">
    <head>
    <meta http-equiv="content-type" content="text/html; charset='
._CHARSET.'" />
    <meta http-equiv="content-language" content="'
._LANGCODE.'" />
    <title>'
.htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES).' Administration</title>
    <script type="text/javascript" src="'
.XOOPS_URL.'/include/xoops.js"></script>
    '
;
    echo 
'<link rel="stylesheet" type="text/css" media="all" href="'.XOOPS_URL.'/xoops.css" />';
        echo 
'<link rel="stylesheet" type="text/css" media="all" href="'.XOOPS_URL.'/modules/system/style.css" />';
        include_once 
XOOPS_CACHE_PATH.'/adminmenu.php';
        
$moduleperm_handler =& xoops_gethandler('groupperm');
        
$admin_mids $moduleperm_handler->getItemIds('module_admin'$xoopsUser->getGroups());
?>

<script type='text/javascript'>
<!--
var thresholdY = 15; // in pixels; threshold for vertical repositioning of a layer
var ordinata_margin = 20; // to start the layer a bit above the mouse vertical coordinate
// -->
</script>

<script type='text/javascript' src='<?php echo XOOPS_URL."/include/layersmenu.js";?>'></script>

<script type='text/javascript'>
<!--
<?php
        
echo $xoops_admin_menu_js;
?>
function moveLayers() {
<?php
        
echo $xoops_admin_menu_ml;
?>
}
function shutdown() {
<?php
        
echo $xoops_admin_menu_sd;
?>
}
if (NS4) {
document.onmousedown = function() { shutdown(); }
} else {
document.onclick = function() { shutdown(); }
}
// -->
</script>

<?php
        $logo 
file_exists(XOOPS_THEME_URL."/".getTheme()."/images/logo.gif") ? XOOPS_THEME_URL."/".getTheme()."/images/logo.gif" XOOPS_URL."/images/logo.gif";
        echo 
"</head>
        <body>
<table align='center' cellpadding='0' cellspacing='0' class='head_table'>
      <tr> 
        <td align='left'><img src='"
.XOOPS_URL."/modules/system/images/head_tl.png' width='9' alt='' border='0' /></td>
        <td align='left'><img src='"
.XOOPS_URL."/modules/system/images/buttonleft.png' width='6' alt='' border='0' /></td>
        <td id='button1'><a href='"
.XOOPS_URL."'>Home</a></td>
        <td id='button2'><a href='https://xoops.org'>XOOPS</a></td>
        <td id='button3'><a href='http://www.mrtheme.com'>Mr.Theme</a></td>
        <td id='button4'><a href='"
.XOOPS_URL."/user.php?op=logout'>Logout</a></td>
        <td align='left'><img src='"
.XOOPS_URL."/modules/system/images/buttonright.png' width='9' alt='' border='0' /></td>
        <td align='left'><img src='"
.XOOPS_URL."/modules/system/images/trans_tl.png' width='16' alt='' border='0' /></td>
        <td style='background-image: url("
.XOOPS_URL."/modules/system/images/trans_tc.png); background-repeat: repeat-x; width: 100%;'>
        <div align='right' style='font-size: 10px; padding-top: 8px;'>
                    <script type='text/javascript'>
            <!--   // Array ofmonth Names
            var monthNames = new Array( 'January','February','March','April','May','June','July','August','September','October','November','December');
            var now = new Date();
            thisYear = now.getYear();
            if(thisYear < 1900) {thisYear += 1900}; // corrections if Y2K display problem
            document.write(monthNames[now.getMonth()] + ' ' + now.getDate() + ', ' + thisYear);
            // -->
            </script>
        </div>
        </td>
        <td align='right'><img src='"
.XOOPS_URL."/modules/system/images/trans_tr.png' width='26' alt='' border='0' /></td>
        <td align='right'><img src='"
.XOOPS_URL."/modules/system/images/head_tr.png' width='23' alt='' border='0' /></td>
    </tr>
</table>
<table align='center' cellpadding='0' cellspacing='0' class='bhead_table'>
      <tr> 
        <td align='left'><img src='"
.XOOPS_URL."/modules/system/images/head_bl.png' width='9' alt='' border='0' /></td>
        <td><img src='"
.XOOPS_URL."/modules/system/images/logo_pic.png' width='382' alt='' border='0' /></td>
        <td><img src='"
.XOOPS_URL."/modules/system/images/trans_bl.png' width='16' alt='' border='0' /></td>
        <td style='background-image: url("
.XOOPS_URL."/modules/system/images/trans_bc.png); background-repeat: repeat-x; width: 100%;'>
        <div style='font-size: 18px;'>
        <a href='"
.XOOPS_URL."/admin.php'>Administration</a>
        </div>
        </td>
        <td><img src='"
.XOOPS_URL."/modules/system/images/trans_br.png' width='26' alt='' border='0' /></td>
        <td align='right'><img src='"
.XOOPS_URL."/modules/system/images/head_br.png' width='23' alt='' border='0' /></td>
    </tr>
</table>

<table align='center' cellpadding='0' cellspacing='0' class='body_table'>
    <tr>
        <td>
<table align='center' border='0' cellpadding='0' cellspacing='0' class='main_table'>
    <tr> 
            <td valign='top' id='leftcolumn'><center><div style='border-bottom: 1px solid #336699; color: #5f71cb; text-align:left; font-weight: bold; font-size: 12px; padding: 5px 0px 0px 0px;'>Main Menu</div></center><br />
              <table style='padding: 2px;' cellpadding='4' cellspacing='0' width='100%' align='center'>"
;
        foreach ( 
array_keys($xoops_admin_menu_ft) as $adm ) {
            if ( 
in_array($adm$admin_mids) ) {
                echo 
"<tr><td align='center'>".$xoops_admin_menu_ft[$adm]."</td></tr>";
            }
        }
        echo 
"
              </table>
              <br />
            </td>
            <td align='left'>
              <div class='content'><br />n"
;
}

function 
xoops_cp_footer()
{
    global 
$xoopsConfig$xoopsLogger;
    echo
"
              </div><br />
            </td>
          </tr>
</table>
<table align='center' border='0' cellpadding='0' cellspacing='0' class='foot_table'>
  <tr>
    <td width='1%' align='left'><img src='"
.XOOPS_URL."/modules/system/images/foot_l.png' width='9' height='43' alt='' border='0' /></td>
    <td class='foot_table2'>
        <div align='center' style='padding-top:15px;'>Powered by&nbsp;"
.XOOPS_VERSION." &copy; 2001-".date('Y')." <a href='https://xoops.org/' target='_blank'>The XOOPS Project</a></div>
    </td>
    <td width='1%' align='right'><img src='"
.XOOPS_URL."/modules/system/images/foot_r.png' width='9' height='43' alt='' /></td>
  </tr>
</table>"
;
    include 
XOOPS_CACHE_PATH.'/adminmenu.php';
    echo 
$xoops_admin_menu_dv;
    echo 
"
        </body>
    "
;
    echo 
$GLOBALS['xoopsLogger']->render'' );
    
ob_end_flush();
}

// We need these because theme files will not be included
function OpenTable()
{
    echo 
"<table width='100%' border='0' cellspacing='' cellpadding='0' style='border: 2px solid #2F5376;'><tr><td valign='top'>n";
}

function 
CloseTable()
{
    echo 
'</td></tr></table>';
}

function 
themecenterposts($title$content)
{
    echo 
'<table cellpadding="4" cellspacing="1" width="98%" class="outer"><tr><td class="head">'.$title.'</td></tr><tr><td><br />'.$content.'<br /></td></tr></table>';
}

function 
myTextForm($url $value)
{
    return 
'<form action="'.$url.'" method="post"><input type="submit" value="'.$value.'" /></form>';
}

function 
xoopsfwrite()
{
    if (
$_SERVER['REQUEST_METHOD'] != 'POST') {
        return 
false;
    } else {

    }
    if (!
xoops_refcheck()) {
        return 
false;
    } else {

    }
    return 
true;
}

function 
xoops_module_get_admin_menu()
{
    
/************************************************************
    * Based on:
    * - PHP Layers Menu 1.0.7(c)2001,2002 Marco Pratesi <pratesi@telug.it>
    * - TreeMenu 1.1 - Bjorge Dijkstra <bjorge@gmx.net>
    ************************************************************
    * - php code Optimized by DuGris
    ************************************************************/

    
$left 105;
    
$top 135;
    
$js "";
    
$moveLayers "";
    
$shutdown "";
    
$firstleveltable "";
    
$menu_layers "";

    
$module_handler =& xoops_gethandler('module');
    
$criteria = new CriteriaCompo();
    
$criteria->add(new Criteria('hasadmin'1));
    
$criteria->add(new Criteria('isactive'1));
    
$criteria->setSort('mid');
    
$mods $module_handler->getObjects($criteria);

    foreach (
$mods as $mod) {

      
$mid                 $mod->getVar('mid');
        
$module_name    $mod->getVar('name');
        
$module_url        "".XOOPS_URL."/modules/".$mod->getVar('dirname')."/".trim($mod->getInfo('adminindex'));
        
$module_img        "<img src='".XOOPS_URL."/modules/".$mod->getVar('dirname')."/".$mod->getInfo('image')."' alt='' />";
        
$module_desc    "<b>"._VERSION.":</b> ".round($mod->getVar('version')/100 2)."<br /><b>"._DESCRIPTION.":</b> ".$mod->getInfo('description');

        
$top $top 15;

        
$js .= "nfunction popUpL" $mid "() {n    shutdown();n    popUp('L" $mid "',true);}";
        
$moveLayers .= "n    setleft('L" $mid "'," $left ");n    settop('L" $mid "'," $top ");";
        
$shutdown .= "n    popUp('L" $mid "',false);";
        
$firstleveltable .= "$" "xoops_admin_menu_ft[".$mid."] = "<a href='" . $module_url . "' title='" . $module_name . "' onmouseover='moveLayerY(\"L" . $mid . "\", currentY, event) ; popUpL" . $mid . "(); ' />" . $module_img . "</a><br />";n";
        
$menu_layers .= "n<div id='L" $mid "' style='position: absolute; visibility: hidden; z-index:1000;' >n<table class='admin_layer' cellpadding='0' cellspacing='0'>n<tr><th nowrap='nowrap'>" $module_name "</th></tr>n<tr><td class='even' nowrap='nowrap'>";

        
$adminmenu $mod->getAdminMenu();

        if (
$mod->getVar('hasnotification') || ($mod->getInfo('config') && is_array($mod->getInfo('config'))) || ($mod->getInfo('comments') && is_array($mod->getInfo('comments')))) {
            
$adminmenu[] = array('link' => '".XOOPS_URL."/modules/system/admin.php?fct=preferences&amp;op=showmod&amp;mod='.$mid'title' => _PREFERENCES'absolute' => true);
        }
        if ( 
count($adminmenu) != ) {
            
$currenttarget "";
            foreach ( 
$adminmenu as $menuitem ) {
                
$menu_link        trim($menuitem['link']);
                
$menu_title        trim($menuitem['title']);
                
$menu_target    = isset($menuitem['target']) ? " target='" trim($menuitem['target']) . "'" '';
                if (isset(
$menuitem['absolute']) && $menuitem['absolute']) {
                    
$menu_link = (empty($menu_link)) ? "#" $menu_link;
                } else {
                    
$menu_link = (empty($menu_link)) ? "#" "".XOOPS_URL."/modules/".$mod->getVar('dirname')."/".$menu_link;
                }

                
$menu_layers .= "n<img src='".XOOPS_URL."/images/pointer.gif' width='8' height='8' alt='' />&nbsp;<a href='" $menu_link "'" $menu_target ." onmouseover='popUpL" $mid "' />" .$menu_title"</a><br />n";
            }
        }

        
$menu_layers .= "n<div style='margin-top: 5px; font-size: smaller; text-align: right;'><a href='#' onmouseover='shutdown();'>["._CLOSE."]</a></div></td></tr><tr><th style='font-size: smaller; text-align: left;'>" $module_img "<br />" $module_desc "</th></tr></table></div>n";
    }

    
$menu_layers .= "n<script language='JavaScript'>n<!--nmoveLayers();nloaded = 1;n// -->n</script>n";

    
$content "<"."?phpn";
    
$content .= "$xoops_admin_menu_js = "".$js."n";nn";
    
$content .= "$xoops_admin_menu_ml = "".$moveLayers."n";nn";
    
$content .= "$xoops_admin_menu_sd = "".$shutdown."n";nn";
    
$content .= $firstleveltable "n";
    
$content .= "$xoops_admin_menu_dv = "".$menu_layers."";n";
    
$content .= "n?".">";

   return 
$content;
}

function 
xoops_module_write_admin_menu($content)
{
    if (!
xoopsfwrite()) {
        return 
false;
    }
    
$filename XOOPS_CACHE_PATH.'/adminmenu.php';
    if ( !
$file fopen($filename"w") ) {
        echo 
'failed open file';
        return 
false;
    }
    if ( 
fwrite($file$content) == -) {
        echo 
'failed write file';
        return 
false;
    }
    
fclose($file);

    
// write index.html file in cache folder
    // file is delete after clear_cache (smarty)
    
xoops_write_index_fileXOOPS_CACHE_PATH );
    return 
true;
}

function 
xoops_write_index_file$path '') {
    if ( empty(
$path) ) {
        return 
false;
    }
    if (!
xoopsfwrite()) {
        return 
false;
    }

    
$path substr($path, -1) == "/" substr($path0, -1) : $path;
    
$filename $path '/index.html';
    if ( !
$file fopen($filename"w") ) {
        echo 
'failed open file';
        return 
false;
    }
    if ( 
fwrite($file"<script>history.go(-1);</script>") == -) {
        echo 
'failed write file';
        return 
false;
    }
    
fclose($file);
    return 
true;
}
?>


I think its a table that didn't close in the correct sequence, but I can't find it.

Any help?
TIA

2
markesh
Re: Admin theme probs.
  • 2007/10/5 16:42

  • markesh

  • Just popping in

  • Posts: 79

  • Since: 2007/7/14


Hi, Will,

this looks great so far

I had the same problem from time to time without having manipulated the admin php files. The problem was a renamed xoops_version.php (.txt for peaking into it...) of an uninstalled module.

Does everything look alright with the standard theme?

kind regards
markesh / karim
First German XOOPS book: XOOPS-Buch.de

3
Will_H
Re: Admin theme probs.
  • 2007/10/5 17:00

  • Will_H

  • Friend of XOOPS

  • Posts: 1786

  • Since: 2004/10/10


yeah the theme is great, perfect in every way. Compliant and all that.

and every other page in admin looks completely flawless, other than module admin this is a 100% fluid design, front to back....

I will check into the xoopsversion and see if that solves it. Thanks.

4
Will_H
Re: Admin theme probs.
  • 2007/10/5 17:09

  • Will_H

  • Friend of XOOPS

  • Posts: 1786

  • Since: 2004/10/10


HAZAH! if I could +rep you I would

It was the xoops_version of a beta module.

Thanks!

Resized Image

5
Anonymous
Re: Admin theme probs.
  • 2007/10/5 17:29

  • Anonymous

  • Posts: 0

  • Since:


And you'll be releasing this to the rest of the community when?

6
markesh
Re: Admin theme probs.
  • 2007/10/5 17:47

  • markesh

  • Just popping in

  • Posts: 79

  • Since: 2007/7/14


Hi, Will,

I'm glad I could help YOU I really appreciate all your input here at xoops.org...

As I often play around with modules and translate them, this problem belongs to my daily repertoire... (sigh... when will I ever learn?) So my suggestion was the first idea that came into my mind when I read your post. I had looked over the code but couldn't find any unclosed table tag.

I very often thought about changing this admin theme, and one of my aims was to take the mexican one (EXM, I think) one day.


kind regards
markesh / karim
First German XOOPS book: XOOPS-Buch.de

7
script_fu
Re: Admin theme probs.

One word...

ThatsHot!

8
phppp
Re: Admin theme probs.
  • 2007/10/5 21:46

  • phppp

  • XOOPS Contributor

  • Posts: 2857

  • Since: 2004/1/25


Great

I was just opening a topic on core dev site before reading your post:
http://sourceforge.net/forum/forum.php?thread_id=1839386&forum_id=347994

9
tom
Re: Admin theme probs.
  • 2007/10/6 2:41

  • tom

  • Friend of XOOPS

  • Posts: 1359

  • Since: 2002/9/21


I really like the admin theme, I'm hoping it's not long before the admin can be easily themed like in XOOPS 2.2. That would just rock.

Will you be doing and releasing many themes like this Will?
Kind Regards.
Tom

http://bassmanthemes.com
http://www.xoopslance.com

10
markesh
Re: Admin theme probs.
  • 2007/10/6 6:23

  • markesh

  • Just popping in

  • Posts: 79

  • Since: 2007/7/14


@phppp:

I'm glad to here that there are finally "official" discussions on improving the XOOPS admin theme

just have a look at the mambo/joomla! admin interface (see demo here). Some years ago, before I came to XOOPS, I had worked with Mambo and I appreciated its interface. Then in XOOPS I rubbed my eyes and thought I was dreaming...

btw: This post does not mean "Joomla! is better than XOOPS", but it means "look over the edge and, if it's useful, learn from others"

Maybe it's not necessary to have a "fully customizable" interface or a changeable theme (like for the frontend). But some things could be done easier. You see, there are two aspects: optics and working. Will's theme seems to bring better optics. As far as I understood, it also improves a little bit the internal behaviour. What we also need (IMHO) is a better working in the admin area.


kind regards
markesh / karim
First German XOOPS book: XOOPS-Buch.de

Login

Who's Online

225 user(s) are online (143 user(s) are browsing Support Forums)


Members: 0


Guests: 225


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits