Changeset 185

Show
Ignore:
Timestamp:
16-12-10 09:48:14 (3 years ago)
Author:
david.vanenckevort@…
Message:

Moving tool pages to be template based.

Location:
trunk/src/main/core/lib/php
Files:
1 added
9 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/main/core/lib/php/FGWeb/custompage.php

    r182 r185  
    4040        var $show_header                = true ; 
    4141 
    42         function execute() { 
     42        function display() { 
    4343                global $dir_timestamp ; 
    4444                global $work_dir ; 
     
    5151                } 
    5252                if ($this->form_autosubmit) $autosubmit = 'customform' ; else $autosubmit = '' ; 
    53                 if ($this->show_header) PageHeader($this->title,$this->subtitle,$autosubmit); 
    5453                if (!empty($this->function_page))       print call_user_func($this->function_page) ; 
    5554                // the select organism statement should be within the pageheader and pagefooter statements 
     
    5756                        $selected = parent::sel_organism() ; 
    5857                        if ($this->select_organism_exit_if_none and !$selected) { 
    59                                 PageFooter() ; 
    60                                 exit() ; 
     58                                return; 
    6159                        } 
    6260                } 
    6361                if ($this->form_show) { 
    64                         print "<form enctype='multipart/form-data' name='customform' action='".$this->next_page."' method='post'>\n" ; 
     62                        print "<form name='customform' action='".$_SESSION[$key]['prog_name'].'/'.$this->next_page."' method='post'>\n" ; 
    6563                        if ($this->pass_POST) pass_POST(); 
    6664                        if (!empty($this->function_form))       print call_user_func($this->function_form) ; 
     
    7169                        print "</form>\n" ; 
    7270                } 
    73                 PageFooter(); 
    7471        }    // function execute 
    7572 
  • trunk/src/main/core/lib/php/FGWeb/DefaultPages.php

    r177 r185  
    4040                $LOG = Logger::log_factory(); 
    4141                $config = Configuration::get_instance(); 
    42                 if ($this->config->getValue(Configuration::SECTION_GLOBALS, 'debug_dump_session')) { 
     42                if ($config->getValue(Configuration::SECTION_GLOBALS, 'debug_dump_session')) { 
    4343                        $LOG->debug('Configuration: '.$config->dump()); 
    4444                        $LOG->debug('Session: '.print_r($_SESSION, true)); 
  • trunk/src/main/core/lib/php/fgweb_functions.inc.php

    r182 r185  
    5454// prog_url is in the info.inc file 
    5555if (!isset($_SESSION['mytool_'.$work_dir]['prog_url'])) $_SESSION['mytool_'.$work_dir]['prog_url']=''; 
    56 $_SESSION['mytool_'.$work_dir]['tmp_url'] = $_SESSION['globals']['www_work_url'].$dir_timestamp.'/'; 
     56$_SESSION['mytool_'.$work_dir]['tmp_url'] = $_SESSION['mytool_'.$work_dir]['prog_url'].$_SESSION['globals']['tmp_dir'].$dir_timestamp."/"; 
    5757// prog_name is in the info.inc file 
    5858if (!isset($_SESSION['mytool_'.$work_dir]['prog_name'])) $_SESSION['mytool_'.$work_dir]['prog_name']=''; 
     
    166166 
    167167/** 
    168  * Print the top of the page 
    169  * @deprecated Use templates with FGWeb/Page.php 
    170  * @param string $title the webpage title 
    171  * @param string $subtitle the webpage subtitle 
    172  * @param string $autosubmitform the name of the form that should be automatically submitted after loading the page 
    173  * @param stromg $var if the current page should be printed to the screen or returned to a variable 
    174  * @param string $path the path from which the web-page will be viewed; required to correctly add relative paths for help page in /etc directory (different than the standard /home/fgweb/html/toolname directories) 
    175  * @param string $nomenu only show css style, no menus; used for instance by add2db popup pages (values: none;nomenu) 
    176  * @param string $desc description of the webpage, added to the header 
    177  * @param string $keywords custom keywords, added to the header 
    178  */ 
    179 function PageHeader($title,$subtitle,$autosubmitform="",$var="",$path="",$nomenu="",$desc="",$keywords="") 
    180 { 
    181         global $work_dir ; 
    182         // if set, then no menu parts of the page header and footer are written 
    183         global $header_nomenu ; 
    184         if (isset($header_nomenu)) $nomenu = '1' ; 
    185         // keeps track whether the page header has been written or not 
    186         global $header_written ; 
    187         // use of global variable to get rid of xml header and to include correct css and js sources 
    188         global $drag_drop ; 
    189         if (!isset($drag_drop)) $drag_drop = false ; 
    190         $xml = true ; 
    191         if ($drag_drop == true) $xml = false ; 
    192         $progurl = '' ; 
    193         if (isset($_SESSION['mytool_'.$work_dir]['prog_url'])) { 
    194                 $progurl = $_SESSION['mytool_'.$work_dir]['prog_url'].'/'.$_SESSION['mytool_'.$work_dir]['startpage']; 
    195         } 
    196         //  if ($header_written != 'yes') { 
    197         if (1 == 1) { 
    198                 $header_written = 'yes' ; 
    199  
    200                 if (isset($work_dir)) { 
    201                         if (isset($_SESSION['login_nomenu_'.$work_dir])) { 
    202                                 $nomenu = 'nomenu' ; 
    203                         } 
    204                 } 
    205  
    206                 if ($title=="none") $title=""; 
    207                 if ($subtitle=="none") $subtitle=""; 
    208                 if ($autosubmitform=="none") $autosubmitform=""; 
    209                 if ($var=="none") $var=""; 
    210                 if ($path=="none") $path=""; 
    211                 if ($nomenu=="none") $nomenu=""; 
    212                 if ($desc=="none") $desc=""; 
    213                 if ($keywords=="none") $keywords=""; 
    214  
    215                 // print header 
    216                 $data ="" ; 
    217                 $data.="<?xml version='1.0' encoding='utf-8'?>\n"; 
    218                 if ($xml == true) { 
    219                         $data.="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>\n"; 
    220                 } 
    221                 $data.="<html xmlns='http://www.w3.org/1999/xhtml'>\n"; 
    222                 $data.="<head>\n"; 
    223                 $data.="<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />\n"; 
    224                 $data.='<title>'.$_SESSION['globals']['www_pagetitle']; 
    225                 if (isset($_SESSION['mytool_'.$work_dir]['progdisplayname']) and !empty($_SESSION['mytool_'.$work_dir]['progdisplayname'])) { 
    226                         $data.=" : ".$_SESSION['mytool_'.$work_dir]['progdisplayname']; 
    227                 } 
    228                 $data.="</title>\n"; 
    229                 if (!empty($desc)) { 
    230                         $data.="<meta name='description' content='".$desc."' />\n"; 
    231                 } else { 
    232                         $data.="<meta name='description' content='".$_SESSION['globals']['www_meta_default_desc']."' />\n"; 
    233                 } 
    234                 if (!empty($keywords)) { 
    235                         $data.="<meta name='keywords' content='".$title.",".$keywords."' />\n"; 
    236                 } else { 
    237                         $data.="<meta name='keywords' content='".$title.",".$_SESSION['globals']['www_meta_default_keyw']."' />\n"; 
    238                 } 
    239                 // includes (css, js) 
    240                 $data.="<link rel='stylesheet' type='text/css' href='".relpath($_SESSION['globals']['css_dir']."molgen_style.css",$path)."' />\n"; 
    241                 $data.="<link rel='stylesheet' type='text/css' href='".relpath($_SESSION['globals']['css_dir']."menu.css",$path)."' />\n"; 
    242                 $data.="<link rel='shortcut icon' type='image/png' href='".relpath($_SESSION['globals']['images_dir']."logo_nbic.png",$path)."'>"; 
    243                 if ($drag_drop == true) { 
    244                         $data.="<link rel='stylesheet' type='text/css' href='".relpath($_SESSION['globals']['css_dir']."dragdrop.css",$path)."' />\n"; 
    245                 } 
    246                 $data.='<script type="text/javascript" src="'.relpath($_SESSION['globals']['javascript_dir']."menu.js",$path).'"></script>'; 
    247                 $data.='<script type="text/javascript" src="'.relpath($_SESSION['globals']['javascript_dir']."formval.js",$path).'"></script>'; 
    248                 if ($drag_drop == true) { 
    249                         $data.='<script type="text/javascript" src="'.relpath($_SESSION['globals']['javascript_dir']."drag_drop.js",$path).'"></script>'; 
    250                 } 
    251  
    252                 $data .= ' 
    253         <script type="text/javascript" language="javascript"> 
    254         <!-- 
    255         function open_window() { 
    256             Window = window.open( "'.$_SESSION['globals']['php_lib_url'].'change_settings.php", "Change_settings", "width=380,height=300,resizable,screenX=20,screenY=40,left=20,top=40"); 
    257         } 
    258         //--> 
    259         </script>'."\n"; 
    260                 if (preg_match("/tree.php/",$_SERVER['PHP_SELF'])) { 
    261                         $data .='<script src="mktree.js" type="text/javascript" language="JavaScript"></script> 
    262             <script src="mouseover.js" type="text/javascript" language="JavaScript"></script>'; 
    263                 } 
    264                 // the menu 
    265                 if (empty($nomenu)) { 
    266                         $LOG = Logger::log_factory(); 
    267                         if (!empty($_SESSION['loggedin'])) { 
    268                                 // create accessible program lists from session 
    269                                 if (isset($_SESSION['login_toollist'])) $programs = explode(',',$_SESSION['login_toollist']); 
    270                                 if (isset($_SESSION['login_toollist_test'])) $programs_test = explode(',',$_SESSION['login_toollist_test']); 
    271                                 // determine the path and display name for websoftware programs 
    272                                 $mytypes=array(); 
    273                                 foreach ($programs as $key=>$name) if (!empty($name)) { 
    274                                         $temp_progdisplayname = get_php_var(grep_from_file($_SESSION['globals']['www_root'].$_SESSION['globals']['www_software'].'/'.$name."/info.inc.php","progdisplayname")); 
    275                                         $temp_tooltype = get_php_var(grep_from_file($_SESSION['globals']['www_root'].$_SESSION['globals']['www_software'].'/'.$name."/info.inc.php","tool_type")); 
    276                                         $my_startpage = get_php_var(grep_from_file($_SESSION['globals']['www_root'].$_SESSION['globals']['www_software'].'/'.$name.'/info.inc.php','startpage')); 
    277                                         $webdir = $_SESSION['globals']['www_root_url'].$_SESSION['globals']['www_software'].'/'; 
    278                                         if (!empty($temp_progdisplayname)) { 
    279                                                 $mytypes[$temp_tooltype][$name][1]=$temp_progdisplayname; 
    280                                                 $mytypes[$temp_tooltype][$name][2]=$webdir.$name.'/'.$my_startpage; 
    281                                                 $LOG->debug('Menu item - name = '.$mytypes[$temp_tooltype][$name][1].' URL ='.$mytypes[$temp_tooltype][$name][2]); 
    282                                         } 
    283                                 } 
    284                                 // determine the path and display name for web_test programs 
    285                                 $inwebtest=strpos($_SERVER['PHP_SELF'],$_SESSION['globals']['www_software_test'].'/'); 
    286                                 if (!$inwebtest === false) { 
    287                                         foreach ($programs_test as $key=>$name) if (!empty($name)) { 
    288                                                 $temp_progdisplayname = get_php_var(grep_from_file($_SESSION['globals']['www_root'].$_SESSION['globals']['www_software_test'].'/'.$name.'/info.inc.php','progdisplayname')); 
    289                                                 $temp_tooltype = get_php_var(grep_from_file($_SESSION['globals']['www_root'].$_SESSION['globals']['www_software_test'].'/'.$name.'/info.inc.php','tool_type')); 
    290                                                 $my_startpage = get_php_var(grep_from_file($_SESSION['globals']['www_root'].$_SESSION['globals']['www_software_test'].'/'.$name.'/info.inc.php','startpage')); 
    291                                                 $webdir = $_SESSION['globals']['www_root_url'].$_SESSION['globals']['www_software_test'].'/'; 
    292                                                 if (!empty($temp_progdisplayname)) { 
    293                                                         $mytypes['T_'.$temp_tooltype][$name][1]=$temp_progdisplayname; 
    294                                                         $mytypes['T_'.$temp_tooltype][$name][2]=$webdir.$name.'/'.$my_startpage; 
    295                                                 } 
    296                                         } 
    297                                 } 
    298                                 ksort($mytypes) ; 
    299                                 foreach ($mytypes as $curtype => $temp) { 
    300                                         sort($mytypes[$curtype]) ; 
    301                                 } 
    302                                 // list the menu options in a javascript 
    303                                 $data.='<script type="text/javascript" language="javascript" >'."\n"; 
    304                                 $data.='<!--'."\n"; 
    305                                 $curmenu=0; 
    306                                 foreach ($mytypes as $curtype => $temp) { 
    307                                         $curmenu++; 
    308                                         $data.='var menu'.$curmenu.'=new Array()'."\n"; 
    309                                         $curopt=0; 
    310                                         foreach ($temp as $curtool => $temp2) { 
    311                     $data.='menu'.$curmenu.'['.$curopt.']=\'<a href="'.$temp2[2].'">'.$temp2[1].'</a>\''."\n"; 
    312                     $curopt++; 
    313                                         } 
    314                                 } 
    315                                 $data.='-->'."\n"; 
    316                                 $data.='</script>'."\n"; 
    317                         } 
    318                 } 
    319                 $data.="</head>\n"; 
    320                 // if the current page should be autosubmitted, use onload=submit() function 
    321                 if (empty($autosubmitform)) { 
    322                         $data.="<body>\n"; 
    323                 } else { 
    324                         $data.="<body onload='document.".$autosubmitform.".submit();' >\n"; 
    325                 } 
    326  
    327                 // courtesy to Mambo 
    328                 $data.="<!-- CSS style adopted from MAMBO (www.mamboserver.com) JavaBean template -->\n"; 
    329                 $data.="\n"; 
    330                 $data.="<table width='800' border='0' align='center' cellpadding='0' cellspacing='0' bgcolor='eeeeee'>\n"; 
    331                 $data.="<tr>\n"; 
    332                 $data.="        <td width='6' bgcolor='#FFFFFF'>\n"; 
    333                 $data.="        <img src='".relpath($_SESSION['globals']['css_images_dir']."pixel.png",$path)."' width='1' height='1' alt='spacer' />\n"; 
    334                 $data.="        </td>\n"; 
    335                 $data.="        <td valign='top' class='greybg'>\n"; 
    336                 $data.="                <table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>\n"; 
    337                 $data.="                <tr>\n"; 
    338                 $data.="                        <td colspan='2' bgcolor='#FFFFFF'>\n"; 
    339                 $data.="                        <img src='".relpath($_SESSION['globals']['css_images_dir']."pixel.png",$path)."' width='1' height='6' alt='spacer' /></td>\n"; 
    340                 //$data.="<!-- deleted graphic\n"; 
    341                 //$data.="-->\n"; 
    342                 $data.="                </tr>\n"; 
    343                 $data.="                <tr>\n"; 
    344                 $data.="                        <td rowspan='3' valign='top'>\n"; 
    345                 $data.="                        <p>\n"; 
    346                 $data.="                        <font class='title'>\n"; 
    347                 $data.="<!-- Title of page -->\n"; 
    348                 if (!empty($title)) { 
    349                         $data.= $title; 
    350                 } 
    351                 $data.="                        </font>\n"; 
    352                 $data.="                        <br />\n"; 
    353                 $data.="                        <font class='subtitle'>\n"; 
    354                 $data.="<!-- Subtitle of page -->\n"; 
    355                 if (!empty($subtitle)) { 
    356                         $data.= $subtitle; 
    357                 } 
    358                 $data.="                        </font>\n"; 
    359                 $data.="                        </p>\n"; 
    360                 $data.="                        </td>\n"; 
    361                 if ( isset($_SESSION['mytool_'.$work_dir]['progdisplayname']) and !empty($_SESSION['mytool_'.$work_dir]['proglogo']) ) { 
    362                         $data.="                        <td bgcolor='eeeeee' align='right'>\n"; 
    363                         $data.="                        <img align='right' src='".$_SESSION['mytool_'.$work_dir]['proglogo']."' alt='".$_SESSION['mytool_'.$work_dir]['progdisplayname']." logo' /></td>\n"; 
    364                 } 
    365                 $data.="                </tr>\n"; 
    366                 $data.="                <tr>\n"; 
    367                 $data.="                        <td height='10'>\n"; 
    368                 $data.="                        <img src='".relpath($_SESSION['globals']['css_images_dir']."pixel.png",$path)."' width='1' height='10' alt='spacer' />\n"; 
    369                 $data.="                        </td>\n"; 
    370                 $data.="                </tr>\n"; 
    371                 $data.="\n"; 
    372                 $data.="                </table>\n"; 
    373                 $data.="                <!-- This is the vertical menu. Change the links as needed or delete the script from this line if you dont use it-->\n"; 
    374                 $data.="\n"; 
    375                 $data.="                <table width='100%' border='0' cellspacing='0' cellpadding='0'>\n"; 
    376                 $data.="                <tr>\n"; 
    377                 if (empty($nomenu)) { 
    378                         $data.="                        <td width='170' valign='top' bgcolor='#eeeeee'>\n"; 
    379                 } else { 
    380                         $data.="                        <td width='50' valign='top' bgcolor='#eeeeee'>\n"; 
    381                 } 
    382                 if (empty($nomenu)) { 
    383                         $data.="                        <table cellpadding='0' cellspacing='0' class='moduletable'>\n"; 
    384                         $data.="                        <tr>\n"; 
    385                         $data.="                                <th valign='top'>\n"; 
    386                         $data.="                                Menu\n"; 
    387                         $data.="                                </th>\n"; 
    388                         $data.="                        </tr>\n"; 
    389                         $data.="                        <tr>\n"; 
    390                         $data.="                                <td>\n"; 
    391                         $data.="                                <table width='170' border='0' cellpadding='0' cellspacing='0'>\n"; 
    392                         $data.="                                <tr align='left'><td><a href='".$progurl."' class='mainlevel' title='Restart the current tool and cleans up variables and data used.' >Restart</a></td></tr>\n"; 
    393                         foreach ($_SESSION['globals']['sidemenu'] as $key => $value) if (!empty($value['link']) and !empty($value['desc'])) { 
    394                                 if (isset($value['target'])) $target = "target='".$value['target']."' " ; else $target='' ; 
    395                                 $data.="                                <tr align='left'><td><a href='".$value['link']."' class='mainlevel' $target>".$value['desc']."</a></td></tr>\n"; 
    396                         } 
    397                         $data.="                                <tr><td>\n"; 
    398                         $data.="                                        &nbsp;\n"; 
    399                         $data.="                                </td></tr>\n"; 
    400                         if (isset($_SESSION['mytool_'.$work_dir]['linkcustom'])) foreach ($_SESSION['mytool_'.$work_dir]['linkcustom'] as $key => $value) if (!empty($value['link']) and !empty($value['desc'])) { 
    401                                 if (isset($value['target'])) $target = "target='".$value['target']."' " ; else $target='' ; 
    402                                 $data.="                                <tr align='left'><td><a href='".$value['link']."' class='mainlevel' $target>".$value['desc']."</a></td></tr>\n"; 
    403                         } 
    404                         $data.="                        <tr>\n"; 
    405                         $data.="                                <th>\n"; 
    406                         $data.="                                &nbsp;\n"; 
    407                         $data.="                                </th>\n"; 
    408                         $data.="                        </tr>\n"; 
    409                         if (!empty($_SESSION['loggedin'])) { 
    410                                 $data.="                        <tr>\n"; 
    411                                 $data.="                                <th>Available tools</th>\n"; 
    412                                 $data.="                        </tr>\n"; 
    413  
    414  
    415                                 $curmenu=0; 
    416                                 foreach ($mytypes as $curtype => $temp) { 
    417                                         $curmenu++; 
    418                                         $data.="                                <tr align='left'><td><a href='#' class='mainlevelmenu' onmouseover=\"dropdownmenu(this, event, menu".$curmenu.", '120px');\" onmouseout=\"delayhidemenu();\" >".$curtype."</a></td></tr>\n"; 
    419                                 } 
    420                         } 
    421                         $data.="                                </table>\n"; 
    422                         $data.="                                </td>\n"; 
    423                         $data.="                        </tr>\n"; 
    424                         $data.="                        </table>\n"; 
    425                 } 
    426                 $data.="                        </td>\n"; 
    427                 $data.="                <td class='mainpage-bkg'>\n"; 
    428                 $data.="                <img src='".relpath($_SESSION['globals']['css_images_dir']."pixel.png",$path)."' width='1' height='1' alt='spacer'/>\n"; 
    429                 $data.="                </td>\n"; 
    430                 $data.="<!-- Whitespace spacing <td width='6' bgcolor='#FFFFFF'>&nbsp;</td>  -->\n"; 
    431                 $data.="\n"; 
    432                 $data.="                        <td valign='top'>\n"; 
    433                 $data.="                        <table width='98%' border='0' align='center' cellpadding='4' cellspacing='0'>\n"; 
    434                 $data.="                        <tr>\n"; 
    435                 $data.="                                <td class='mainpage'>\n"; 
    436                 $data.="                                <table class='' cellpadding='0' cellspacing='0'>\n";; 
    437                 $data.="                                <tr><td valign='top'>\n"; 
    438                 $data.="                                <table class='contentpaneopen'>\n"; 
    439                 $data.="                                <tr>\n"; 
    440                 $data.="                                        <td valign='top' colspan='2'>\n"; 
    441                 $data.="<noscript>\n"; 
    442                 $data.="        <font size='3' color='red' ><b>Warning: you currently have JavaScript disabled</b></font><br /><br />\n"; 
    443                 $data.="        <font color='red'><b>JavaScript is necessary to ensure proper function of this web-site and associated software.\n"; 
    444                 $data.="        Please enable JavaScript in your browser or add this site to your trusted zone.</b></font><br /><hr /><br />\n"; 
    445                 $data.="</noscript>\n"; 
    446                 $data.="<!-- Main page text start -->\n"; 
    447  
    448                 if (!empty($var)) { 
    449                         return $data; 
    450                 } else { 
    451                         print $data; 
    452                 } 
    453         } 
     168 * Empty stub function that replaces the deprecated function. This is implemented in the templates now. 
     169 * @deprecated 
     170 */ 
     171function PageHeader() { 
     172        $LOG = Logger::log_factory(); 
     173        $LOG->debug('Deprecated function: '.__FUNCTION__.' was invoked.'); 
    454174} 
    455175 
    456176/** 
    457  * Print the footer part of the page. 
    458  * @deprecated Use templates with FGWeb/Page.php 
    459  * @param $var 
    460  * @param $path 
    461  * @param $nomenu 
    462  */ 
    463 function PageFooter($var="",$path="",$nomenu="") 
    464 // var = return contents to variable rather than printing 
    465 // path = path of the webpage, used for determining correct relative paths 
    466 // nomenu = do not show sidebar / login menu; used for e.g. add2db popup page 
    467 { 
    468         if ($var=="none") $var=""; 
    469         if ($path=="none") $path=""; 
    470  
    471         global $work_dir ; 
    472  
    473         // is set, then no menu parts of the page header and footer are written 
    474         global $header_nomenu ; 
    475  
    476         if (isset($header_nomenu)) $nomenu = '1' ; 
    477  
    478         if (isset($work_dir)) { 
    479                 if (isset($_SESSION['login_nomenu_'.$work_dir])) { 
    480                         $nomenu = 'nomenu' ; 
    481                 } 
    482         } 
    483  
    484         $data ="\n<!-- Main page text stop -->\n"; 
    485         $data.="\n"; 
    486         $data.="                                        </td>\n"; 
    487         $data.="                                </tr>\n"; 
    488         $data.="                                </table>\n"; 
    489         //$data.="                              </div></td>\n"; 
    490         $data.="                                </td>\n"; 
    491         $data.="                        </tr>\n"; 
    492         $data.="                        </table></td>\n"; 
    493         $data.="                </tr>\n"; 
    494         $data.="                </table>\n"; 
    495         $data.="                </td>\n"; 
    496         $data.="                <td class='mainpage-bkg'>\n"; 
    497         $data.="                <img src='".relpath($_SESSION['globals']['css_images_dir']."pixel.png",$path)."' width='1' height='1' alt='spacer'/>\n"; 
    498         $data.="                </td>\n"; 
    499         if (empty($nomenu)) { 
    500                 $data.="                <td width='150' valign='top'>\n"; 
    501  
    502                 if (isset($_SESSION['user'])) { 
    503                         if (isset($_GET["session"])) $sess=$_GET["session"]; else $sess="" ; 
    504                         if (empty($sess)) { 
    505                                 if (!isset($_SESSION['login_silent'])) { 
    506                                         $data.="                            <form name='form_logout' action='/' method='post' onsubmit='return confirm(\"Are you sure you want to logout?\")' >\n"; 
    507                                 } else { 
    508                                         $data.="                            <form name='form_logout' action='/' method='post' >\n"; 
    509                                 } 
    510                                 $data.="                            <input type='hidden' name='action' value='logout' />\n"; 
    511                                 $data.=pass_POST_var('myarray_array'); 
    512                         } 
    513                         $data.='<table width="150" border="0" align="center" cellpadding="0" cellspacing="0" class="moduletable">'; 
    514                         $data.='<tr><th>Session details</th></tr>'; 
    515                         $data.='<tr><td>'; 
    516                         if (!isset($_SESSION['login_silent'])) $data.=$_SESSION['user']; 
    517                         if (empty($sess)) { 
    518                                 if (!isset($_SESSION['login_silent'])) { 
    519                                         $data .= "  <input type='submit' name='Submit_logout' class='button' value='Logout' />\n"; 
    520                                 } else { 
    521                                         // silent login 
    522                                         $data .= "  <input type='submit' name='Submit_logout' class='button' value='Login' />\n"; 
    523                                         $data .= '  <b><a href="javascript:void(0)" title="Tools are publicly available. Logging in will allow you to add experimental or genomic data to the central database and make use of software that is under development."> ?</a></b>'."\n" ; 
    524                                 } 
    525                         } 
    526                         $data.='</td></tr>'; 
    527                 } 
    528                 if (isset($_SESSION['login_organism_desc'])) { 
    529                         $data.='<tr><td>'; 
    530                         $data.=$_SESSION['login_organism_desc']; 
    531                         $data.='</td></tr>'; 
    532                 } 
    533                 foreach($_SESSION as $key => $value) { 
    534                         $pos=strpos($key,'login_persistent_'); 
    535                         if ($pos !== false) { 
    536                                 $data.='<tr><td>'; 
    537                                 $data.=$_SESSION[$key]['desc']; 
    538                                 $data.='</td></tr>'; 
    539                         } 
    540                 } 
    541                 if (isset($_SESSION['user'])) { 
    542                         // button with popup for changing persistent values 
    543                         $data.='<tr><td><a href="'.$_SESSION['globals']['php_lib_url'].'change_settings.php" target=\'_blank\' title="Contains user details and persistent parameters (associated with the browser session)." >Open settings window</a></td></tr>'; 
    544                         $data.='</table>'."\n"; 
    545                         if (empty($sess)) $data.="</form>\n"; 
    546                 } 
    547                 if (isset($_SESSION['login_news']) and !empty($_SESSION['login_news'])) { 
    548                         $data.='<table width="150" border="0" align="center" cellpadding="0" cellspacing="0" class="moduletable">' ; 
    549                         $data.='<tr><th>News</th></tr>' ; 
    550                         $data.='<tr><td>' ; 
    551                         $data.=$_SESSION['login_news'] ; 
    552                         $data.='</td></tr>' ; 
    553                         $data.='</table>'."\n" ; 
    554                 } 
    555         } else { 
    556                 $data.="                <td width='50' valign='top'>\n"; 
    557         } 
    558         $data.='                <a href="'.$_SESSION['globals']['persistent_logo_link'].'" target="_blank"><img border="0" src="'.$_SESSION['globals']['persistent_logo'].'" alt="'.$_SESSION['globals']['persistent_logo_alt'].'" /></a>'."\n"; 
    559         $data.="                </td>\n"; 
    560         $data.="        </tr>\n"; 
    561         $data.="        </table>\n"; 
    562         $data.="        <table width='100%' border='0' cellspacing='0' cellpadding='0'>\n"; 
    563         $data.="        <tr>\n"; 
    564         $data.="                <td width='51%' height='30' bgcolor='#999999'>"; 
    565         $data.='                        &nbsp;<a href="http://validator.w3.org/check?uri=referer" target="w3chtml"><img src="'.relpath($_SESSION['globals']['images_dir'].'valid-xhtml10.png',$path).'" height="15" width="80" border="0" alt="Valid XHTML 1.0" title="Valid XHTML 1.0" align="middle" /></a>'."\n"; 
    566         $data.='                        <a href="http://jigsaw.w3.org/css-validator/check/referer" target="w3ccss"><img src="'.relpath($_SESSION['globals']['images_dir'].'valid-css.png',$path).'" border="0" alt="Valid XML" title="Valid XML" align="middle" /></a>'."\n"; 
    567         $data.='                        &nbsp;<a href="http://validator.w3.org/checklink?uri='.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"].'" target="w3clink">&nbsp;</a>'."\n"; 
    568         $data.="                </td>\n"; 
    569         $data.="                <td width='49%' align='center' valign='middle' bgcolor='#999999'></td>\n"; 
    570         $data.="        </tr>\n"; 
    571         $data.="        </table>\n"; 
    572         $data.="        </td>\n"; 
    573         $data.="        <td width='6' bgcolor='#FFFFFF'>\n"; 
    574         $data.="        <img src='".relpath($_SESSION['globals']['css_images_dir']."pixel.png",$path)."' width='1' height='1' alt='spacer' />\n"; 
    575         $data.="        </td>\n"; 
    576         $data.="</tr>\n"; 
    577         $data.="</table>\n"; 
    578         $data.="</body>\n"; 
    579         $data.="</html>\n"; 
    580  
    581         if (!empty($var)) { 
    582                 return $data; 
    583         } else { 
    584                 print $data; 
    585         } 
     177 * Empty stub function that replaces the deprecated function. This is implemented in the templates now. 
     178 * @deprecated 
     179 */ 
     180function PageFooter() { 
     181        $LOG = Logger::log_factory(); 
     182        $LOG->debug('Deprecated function: '.__FUNCTION__.' was invoked.'); 
    586183} 
    587  
    588184 
    589185/** 
  • trunk/src/main/core/lib/php/FGWeb/Page.php

    r181 r185  
    7373         
    7474        const LOGGED_IN = 'logged_in'; 
     75         
     76        /** 
     77         * @var Pre-rendered contents. 
     78         */ 
     79        const PRERENDERED = 'prerendered'; 
    7580 
    7681        /** 
  • trunk/src/main/core/lib/php/FGWeb/profilepage.php

    r131 r185  
    133133 
    134134 
    135         function execute() { 
     135        function display() { 
    136136                global $cgi_dir ; 
    137137                global $work_dir ; 
     
    153153                        global $myarray_blocks_add_step0; 
    154154                } 
    155  
     155                $key = 'mytool_'.$work_dir; 
    156156 
    157157                // load the fgweb_functions library and load variables 
     
    299299                        if (!$profilesaved) { 
    300300                                // the profile was not yet filled in correctly 
    301                                 PageHeader($this->title,$this->subtitle); 
    302301                                // the introduction text 
    303302                                if (!empty($this->function_intro)) print call_user_func($this->function_intro)."<hr />\n" ; 
     
    333332                                print_form_profile_settings($this->self_page); 
    334333                                $done=true; 
    335                                 PageFooter(); 
    336334                        } else { 
    337335                                // done, now autosubmit to the next page 
    338                                 PageHeader($this->title,$this->subtitle,'form_saved'); 
    339                                 print "<form name='form_saved' method='post' action='".$this->next_page."'>\n"; 
     336                                print "<form name='form_saved' method='post' action='".$_SESSION[$key]['prog_name'].'/'.$this->next_page."'>\n"; 
    340337                                if (!empty($this->function_form_finished)) print call_user_func($this->function_form_finished) ; 
    341338                                if ($this->profile_unset_on_exit) { 
  • trunk/src/main/core/lib/php/FGWeb/runpage.php

    r131 r185  
    3535        var $referer_POST_previous = 'settings_saved' ; // this webpage only runs if the referer_page = this value 
    3636 
    37         function execute() { 
     37        function display() { 
    3838                global $work_dir ; 
    3939                global $cgi_dir ; 
     
    6767                        } 
    6868                } 
    69  
    70                 PageFooter(); 
    7169        } 
    7270} 
  • trunk/src/main/core/lib/php/FGWeb/startpage.php

    r131 r185  
    3737        var $sessionstart = true ;                              // see parent 
    3838 
    39         public function execute() { 
    40                 global $dir_timestamp ; 
    41                 global $work_dir ; 
    42                 global $prog_name ; 
     39        public function display() { 
     40                global $dir_timestamp; 
     41                global $work_dir; 
     42                global $prog_name; 
     43                $key = 'mytool_'.$work_dir; 
    4344 
    4445                parent::commit() ;      // commits the variables in the parent object 
     
    4950                } 
    5051 
    51                 PageHeader($this->title,$this->subtitle); 
    5252                if (!empty($this->function_intro))      print call_user_func($this->function_intro) ; 
    5353                // the select organism statement should be within the pageheader and pagefooter statements 
     
    5555                        $selected = parent::sel_organism() ; 
    5656                        if ($this->select_organism_exit_if_none and !$selected) { 
    57                                 PageFooter() ; 
    58                                 exit() ; 
     57                                return; 
    5958                        } 
    6059                } 
    6160                if ($this->form_show) { 
    62                         print "<form enctype='multipart/form-data' action='".$this->next_page."' method='post'>\n" ; 
     61                        print "<form action='".$_SESSION[$key]['prog_name'].'/'.$this->next_page."' method='post'>\n" ; 
    6362                        if (!empty($this->function_form))       print call_user_func($this->function_form) ; 
    6463                        print "    <input type='hidden' name='dir_timestamp' value='".$dir_timestamp."' />\n" ; 
     
    7170                        print "</form>\n" ; 
    7271                } 
    73                 PageFooter() ; 
    7472        }    // function execute 
    7573} // class startpage 
  • trunk/src/main/core/lib/php/FGWeb/webpage_parent.php

    r182 r185  
    8989        protected $LOG; 
    9090 
     91        abstract protected function display(); 
     92         
     93        public function execute() { 
     94                /* 
     95                 * Invoke the display function from the implementing class, which will print the page to the output buffer, 
     96                 * the output buffer is displayed in ob.tpl. This is a bit of a hack to move the existing modules to using 
     97                 * the templated webpages. 
     98                 */ 
     99                $this->display(); 
     100                 
     101                global $work_dir; 
     102                $key = 'mytool_'.$work_dir; 
     103                 
     104                // Set some default smarty variables 
     105                $this->template->assign(Page::PRERENDERED, ob_get_clean());      
     106                $this->template->assign(Page::TOOL, $_SESSION[$key]['prog_name']); 
     107                $this->template->assign(Page::TITLE, isset($this->title) ? $this->title : $_SESSION[$key]['progdisplayname']); 
     108                $this->template->assign(Page::SUBTITLE,isset($this->subtitle) ? $this->subtitle : ''); 
     109                $this->template->assign(Page::TOOLLOGO, $_SESSION[$key]['proglogo']); 
     110 
     111                $loginService = LoginService::get_instance(); 
     112                $user = $loginService->get_loggedin_user(); 
     113                if (isset($user) && $user->anonymous_user_factory() != $user) { 
     114                        $this->template->assign(Page::USERNAME, $user->get_name()); 
     115                        $this->template->assign(Page::LOGGED_IN, true); 
     116                } 
     117                $this->template->assign(Page::TOOLPAGE, 'ob.tpl'); 
     118                $this->template->show_page(); 
     119        } 
     120         
    91121        /** 
    92122         * Constructor 
     
    132162                                if ($this->sessionstart) start_session() ; 
    133163                                if ($this->sessiontest)  test_session() ; 
    134                                 $_SESSION['mytool_'.$work_dir]['tmp_url'] = './'.$work_dir; 
     164                                $_SESSION['mytool_'.$work_dir]['tmp_url'] = $_SESSION['mytool_'.$work_dir]['prog_url'].$_SESSION['globals']['tmp_dir'].$dir_timestamp."/"; 
     165                                $this->LOG->debug('tmp_url = '.$_SESSION['mytool_'.$work_dir]['tmp_url']); 
    135166                                $this->register_in_session('mytool_'.$work_dir); 
    136167                                $this->title = $_SESSION['mytool_'.$work_dir]['progdisplayname'] ; 
     
    164195                        global $wait_queue_time; 
    165196                        global $max_procs; 
     197                        global $prog_desc; 
    166198                        include($info); 
    167199                        if (isset($prog_name) && 
     
    170202                                // Register in session 
    171203                                $_SESSION[$key] = array(); 
     204                                $_SESSION[$key]['prog_desc'] = $prog_desc; 
    172205                                $_SESSION[$key]['prog_name'] = $prog_name; 
    173206                                $_SESSION[$key]['startpage'] = isset($startpage) ? $startpage : '/'.$module->get_name().'/'; 
  • trunk/src/main/core/lib/php/templates/main.tpl

    r170 r185  
    66                <meta name='description' content='Bacterial Genomics bioinformatics webframework' /> 
    77                <meta name='keywords' content='Mine,bioinformatics, genomics, transcriptomics, gene-regulatory networks, bacterial genomics, NBIC' /> 
    8                 <base href="{$baseurl|escape:'htmlall'}"> 
    9                 <title>{$title|escape:'htmlall'}</title> 
     8                <base href="{$baseurl|escape:'url'}"> 
     9                <title>{$title}</title> 
    1010                <link rel='stylesheet' type='text/css' href='/lib/css/molgen_style.css' /> 
    1111                <link rel='stylesheet' type='text/css' href='/lib/css/menu.css' /> 
     
    3333                        <tr> 
    3434                                <td rowspan='3' valign='top'> 
    35                                         <p><font class='title'>{$title|escape:'htmlall'}</font><br /> 
    36                                                 <font class='subtitle'>{$subtitle|escape:'htmlall'}</font></p> 
     35                                        <p><font class='title'>{$title}</font><br /> 
     36                                                <font class='subtitle'>{$subtitle}</font></p> 
    3737                                </td> 
    38                                 <td bgcolor='eeeeee' align='right'><img align='right' src='{$toollogo}' alt='{$tool} logo' /></td> 
     38                                <td bgcolor='eeeeee' align='right'><img align='right' src='{$toollogo|escape:href}' alt='{$tool} logo' /></td> 
    3939                        </tr> 
    4040                        <tr><td height='10'><img src='/lib/images/pixel.png' width='1' height='10' alt='spacer' /></td></tr>