Пример #1
0
 /**
  * Function to output the templates
  * @param array $templates The collection of templates with their associated variables
  *
  */
 function OutputPage($templates = array())
 {
     if (sizeof($templates) == 0) {
         trigger_error("Templates not configured properly", E_USER_ERROR);
     }
     // Define a set of common variables which plugin to the structure template.
     $page = new Tpl();
     $body = '';
     // Loop through the templates array to dynamically create objects and assign variables to them.
     /// XXX: this is not a common way to use our template class, but I didn't want to rewrite
     ///      the whole setup only to change the templating engine
     foreach ($templates as $name => $module) {
         foreach ($module['vars'] as $var_name => $value) {
             $page->assign($var_name, $value);
         }
         if ($name == 'structure') {
             $page->assign('body', $body);
             $page->display('structure.tpl');
         } else {
             $body .= $page->fetch($module['template']);
         }
     }
 }
Пример #2
0
$upgrade_possible = true;
foreach ($checks as $check => $result) {
    if ($result !== true) {
        $upgrade_possible = false;
        $page->assign('todo', $todo[$check]);
        break;
    }
}
if (isset($upgrade_info['options'])) {
    // piece of HTML which adds user input, quick and dirty*/
    $page->assign('upgrade_options', implode('', $upgrade_info['options']));
}
$page->assign('index', APPLICATION_SETUP_INDEX);
$page->uses('checks', 'fs', 'upgrade_possible');
$page->assign('installed_version', $installed_version);
$page->display('upgrade.tpl');
// Functions for checking and fixing possible duplicate entries
// in database for those tables that now have a unique index.
function fix_duplicate_list_entries($doit = true)
{
    global $db, $uplog;
    // Categories need a bit more thinking. A real life example from
    // my own database: A big project originally written (horrible!)
    // in VB6, that I ported to .NET -environment. Categories:
    // BackOfficer (main category)
    // -> Reports (subcategory - should be allowed)
    // BackOfficer.NET (main category)
    // -> Reports (subcategory - should be allowed)
    // -> Reports (I added a fake duplicate - should not be allowed)
    $sql = $db->Query('SELECT MIN(os_id) id, project_id, os_name
                          FROM {list_os}