Issue-4845: Merged in branch 'gsoc11_benj' for the enhanced mobile theme.
authorCindy Qi Li <cli@ocad.ca>
Thu, 15 Sep 2011 16:00:54 +0000 (12:00 -0400)
committerCindy Qi Li <cli@ocad.ca>
Thu, 15 Sep 2011 16:00:54 +0000 (12:00 -0400)
14 files changed:
1  2 
docs/admin/config_edit.php
docs/admin/index.php
docs/confirm.php
docs/content.php
docs/include/lib/constants.inc.php
docs/include/vitals.inc.php
docs/mods/_core/courses/module.php
docs/mods/_core/enrolment/html/enrollment.inc.php
docs/mods/_core/users/instructor_requests.php
docs/mods/_standard/patcher/module.php
docs/themes/default/styles.css
docs/themes/default/users/index.tmpl.php
docs/themes/default/users/preferences.tmpl.php
docs/themes/mobile/index.tmpl.php

@@@ -141,260 -141,7 +141,6 @@@ if (!isset($_POST['submit'])) 
  }
  ?>
  
- <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="form">
- <div class="input-form">
-       <div class="row">
-               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="sitename"><?php echo _AT('site_name'); ?></label><br />
-               <input type="text" name="site_name" size="40" maxlength="60" id="sitename" value="<?php if (!empty($_POST['site_name'])) { echo $stripslashes(htmlspecialchars($_POST['site_name'])); } else { echo $_config['site_name']; } ?>" />
-       </div>
-       <div class="row">
-               <label for="home_url"><?php echo _AT('home_url'); ?></label><br />
-               <input type="text" name="home_url" size="50" maxlength="60" id="home_url" value="<?php if (!empty($_POST['home_url'])) { echo $stripslashes(htmlspecialchars($_POST['home_url'])); } else { echo $_config['home_url']; } ?>"  />
-       </div>
-       <div class="row">
-               <label for="default_lang"><?php echo _AT('default_language'); ?></label><br />
-               <?php if (!empty($_POST['default_language'])) { 
-                               $select_lang = $_POST['default_language']; 
-                       } else { 
-                               $select_lang = $_config['default_language'];
-                       } ?>
-               <?php if ($disabled): ?>
-                       <select name="default_language" id="default_lang" disabled="disabled"><option><?php echo $select_lang; ?></option></select>
-               <?php else: ?>
-                       <?php $languageManager->printDropdown($select_lang, 'default_language', 'default_lang'); ?>
-               <?php endif; ?>
-       </div>
-       <div class="row">
-               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="cemail"><?php echo _AT('contact_email'); ?></label><br />
-               <input type="text" name="contact_email" id="cemail" size="40" value="<?php if (!empty($_POST['email'])) { echo $stripslashes(htmlspecialchars($_POST['email'])); } else { echo $_config['contact_email']; } ?>"  />
-       </div>
-       <div class="row">
-               <label for="time_zone"><?php echo _AT('time_zone'); ?></label><br />
-               <?php
-               // Replace this hack to use the PHP timezone functions when the PHP requirement is raised to 5.3
-               global $utc_timezones; // set in include/lib/constants.inc.php
-               $local_offset = ((date(Z)/3600));
-               echo '<select name="time_zone" id="time_zone">';        
-                       echo '<option value="0">'._AT('none').'</option>';
-               foreach ($utc_timezones as $zone => $offset){
-                       if(($offset[1]) == $_config['time_zone']){
-                       echo '<option value="'.($offset[1]).'" selected="selected">'.$offset[1].'</option>';
-                       }else{
-                       echo '<option value="'.($offset[1]).'">'.$offset[1].'</option>';
-                       }
-               }
-               echo "</select>";
-               //echo '<input type="text" name="time_zone" value="'.$_config['time_zone'].'" size="5" maxlength="5"/> ';
-               // If PHP 5+ generate a list of timezones
- /*
-               if(phpversion() >= 5){
-                       $timezone_names = timezone_identifiers_list();
-               }else{
-               // if less than PHP version 5, read a text file to generate the menu
-                       $timezone_names = file("timezones.txt");
-               }
-               echo '<select name="time_zone">';
-               foreach($timezone_names as $timezone_name){
-                       if($timezone_name == $_config{'time_zone'}){
-                               $selected = ' selected="selected"';
-                       }
-                       echo '<option'.$selected.'>'.$timezone_name.'</option>';
-                       $selected = '';
-               }
-               echo '</select>';
- */
- echo AT_date(_AT('server_date_format'), '', AT_DATE_MYSQL_DATETIME);
- ?>
-       </div>
-       <div class="row">
-               <label for="maxfile"><?php echo _AT('maximum_file_size'); ?></label> (<?php echo _AT('default'); ?>: <?php echo $_config_defaults['max_file_size']; ?>)<br />
-               <input type="text" size="10" name="max_file_size" id="maxfile" value="<?php if (!empty($_POST['max_file_size'])) { echo $stripslashes(htmlspecialchars($_POST['max_file_size'])); } else { echo $_config['max_file_size']; } ?>"  /> <?php echo _AT('bytes'); ?>
-       </div>
-       <div class="row">
-               <label for="maxcourse"><?php echo _AT('maximum_course_size'); ?></label> (<?php echo _AT('default'); ?>: <?php echo $_config_defaults['max_course_size']; ?>)<br />
-               <input type="text" size="10" name="max_course_size" id="maxcourse" value="<?php if (!empty($_POST['max_course_size'])) { echo $stripslashes(htmlspecialchars($_POST['max_course_size'])); } else { echo $_config['max_course_size']; } ?>"  /> <?php echo _AT('bytes'); ?>
-       </div>
-       <div class="row">
-               <label for="float"><?php echo _AT('maximum_course_float'); ?></label> (<?php echo _AT('default'); ?>: <?php echo $_config_defaults['max_course_float']; ?>)<br />
-               <input type="text" size="10" name="max_course_float" id="float" value="<?php if (!empty($_POST['max_course_float'])) { echo $stripslashes(htmlspecialchars($_POST['max_course_float'])); } else { echo $_config['max_course_float']; } ?>"  /> <?php echo _AT('bytes'); ?>
-       </div>
-       <div class="row">
-               <label for="maximum_login_attempt"><?php echo _AT('maximum_login_attempt'); ?></label> (<?php echo _AT('default'); ?>: <?php echo $_config_defaults['max_login']; ?>)<br />
-               <input type="text" size="10" name="max_login" id="maximum_login_attempt" value="<?php if (!empty($_POST['max_login'])) { echo $stripslashes(htmlspecialchars($_POST['max_login'])); } else { echo $_config['max_login']; } ?>"  /> <?php echo _AT('times'); ?>
-       </div>
-       
-       <div class="row">
-               <?php echo _AT('display_name_format'); ?> (<?php echo _AT('default'); ?>: <?php echo _AT($display_name_formats[$_config_defaults['display_name_format']], _AT('login_name'), _AT('first_name'), _AT('second_name'), _AT('last_name')); ?>)<br />
-               <?php foreach ($display_name_formats as $key => $value): ?>
-                       <input type="radio" name="display_name_format" value="<?php echo $key; ?>" id="dnf<?php echo $key; ?>" <?php if ($_config['display_name_format'] == $key) { echo 'checked="checked"'; }?> /><label for="dnf<?php echo $key; ?>"><?php echo _AT($value, _AT('login_name'), _AT('first_name'), _AT('second_name'), _AT('last_name')); ?></label><br />
-               <?php endforeach; ?>
-       </div>
-       <div class="row">
-               <?php echo _AT('master_list_authentication'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['master_list'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="master_list" value="1" id="ml_y" <?php if ($_config['master_list']) { echo 'checked="checked"'; }?>  /><label for="ml_y"><?php echo _AT('enable'); ?></label> 
-               <input type="radio" name="master_list" value="0" id="ml_n" <?php if(!$_config['master_list']) { echo 'checked="checked"'; }?>  /><label for="ml_n"><?php echo  _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('allow_registration'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['allow_registration'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="allow_registration" value="1" id="reg_y" <?php if($_config['allow_registration']) { echo 'checked="checked"'; }?>  /><label for="reg_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="allow_registration" value="0" id="reg_n" <?php if(!$_config['allow_registration']) { echo 'checked="checked"'; }?>  /><label for="reg_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('allow_browse'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['allow_browse'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="allow_browse" value="1" id="browse_y" <?php if($_config['allow_browse']) { echo 'checked="checked"'; }?>  /><label for="browse_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="allow_browse" value="0" id="browse_n" <?php if(!$_config['allow_browse']) { echo 'checked="checked"'; }?>  /><label for="browse_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('allow_instructor_registration'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['allow_instructor_registration'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="allow_instructor_registration" value="1" id="enrollreg_y" <?php if($_config['allow_instructor_registration']) { echo 'checked="checked"'; }?>  /><label for="enrollreg_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="allow_instructor_registration" value="0" id="enrollreg_n" <?php if(!$_config['allow_instructor_registration']) { echo 'checked="checked"'; }?>  /><label for="enrollreg_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">               
-               <?php echo _AT('use_captcha'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['use_captcha'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <?php if (extension_loaded('gd')): ?>
-               <input type="radio" name="use_captcha" value="1" id="use_captcha_y" <?php if($_config['use_captcha']) { echo 'checked="checked"'; }?>  /><label for="use_captcha_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="use_captcha" value="0" id="use_captcha_n" <?php if(!$_config['use_captcha']) { echo 'checked="checked"'; }?>  /><label for="use_captcha_n"><?php echo _AT('disable'); ?></label>
-               <?php else: ?>
-               <input type="radio" name="use_captcha" value="1" id="use_captcha_y" disabled="disabled" /><label for="use_captcha_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="use_captcha" value="0" id="use_captcha_n" checked="checked" /><label for="use_captcha_n"><?php echo _AT('disable'); ?></label>
-               <?php endif; ?>
-       </div>
-       <div class="row">
-               <?php echo _AT('allow_unenroll'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['allow_unenroll'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="allow_unenroll" value="1" id="ene_y" <?php if($_config['allow_unenroll']) { echo 'checked="checked"'; }?>  /><label for="ene_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="allow_unenroll" value="0" id="ene_n" <?php if(!$_config['allow_unenroll']) { echo 'checked="checked"'; }?>  /><label for="ene_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('require_email_confirmation'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['email_confirmation'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="email_confirmation" value="1" id="ec_y" <?php if ($_config['email_confirmation']) { echo 'checked="checked"'; }?>  /><label for="ec_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="email_confirmation" value="0" id="ec_n" <?php if(!$_config['email_confirmation']) { echo 'checked="checked"'; }?>  /><label for="ec_n"><?php echo _AT('disable'); ?></label>
-       </div>
-               
-       <div class="row">
-               <?php echo _AT('allow_instructor_requests'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['allow_instructor_requests'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="allow_instructor_requests" value="1" id="air_y" <?php if($_config['allow_instructor_requests']) { echo 'checked="checked"'; }?>  /><label for="air_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="allow_instructor_requests" value="0" id="air_n" <?php if(!$_config['allow_instructor_requests']) { echo 'checked="checked"'; }?>  /><label for="air_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('instructor_request_email_notification'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['email_notification'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="email_notification" value="1" id="en_y" <?php if ($_config['email_notification']) { echo 'checked="checked"'; }?>  /><label for="en_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="email_notification" value="0" id="en_n" <?php if(!$_config['email_notification']) { echo 'checked="checked"'; }?>  /><label for="en_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('auto_approve_instructors'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['auto_approve_instructors'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="auto_approve_instructors" value="1" id="aai_y" <?php if($_config['auto_approve_instructors']) { echo 'checked="checked"'; }?>  /><label for="aai_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="auto_approve_instructors" value="0" id="aai_n" <?php if(!$_config['auto_approve_instructors']) { echo 'checked="checked"'; }?>  /><label for="aai_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('theme_specific_categories'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['theme_categories'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="theme_categories" value="1" id="tc_y" <?php if($_config['theme_categories']) { echo 'checked="checked"'; }?>  /><label for="tc_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="theme_categories" value="0" id="tc_n" <?php if(!$_config['theme_categories']) { echo 'checked="checked"'; }?>  /><label for="tc_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('user_contributed_notes'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['user_notes'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="user_notes" value="1" id="un_y" <?php if($_config['user_notes']) { echo 'checked="checked"'; }?>  /><label for="un_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="user_notes" value="0" id="un_n" <?php if(!$_config['user_notes']) { echo 'checked="checked"'; }?>  /><label for="un_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <label for="ext"><?php echo _AT('illegal_file_extensions'); ?></label><br />
-               <textarea name="illegal_extentions" cols="24" id="ext" rows="2" class="formfield" ><?php if ($_config['illegal_extentions']) { echo str_replace('|',' ',$_config['illegal_extentions']); }?></textarea>
-       </div>
-       <div class="row">
-               <label for="cache"><?php echo _AT('cache_directory'); ?></label><br />
-               <input type="text" name="cache_dir" id="cache" size="40" value="<?php if (!empty($_POST['cache_dir'])) { echo $stripslashes(htmlspecialchars($_POST['cache_dir'])); } else { echo $_config['cache_dir']; } ?>"  />
-       </div>
-       <div class="row">
-               <label for="latex_server"><?php echo _AT('latex_server'); ?></label><br />
-               <input type="text" name="latex_server" id="latex_server" size="40" value="<?php if (!empty($_POST['latex_server'])) { echo $stripslashes(htmlspecialchars($_POST['latex_server'])); } else { echo $_config['latex_server']; } ?>"  />
-       </div>
-       <div class="row">
-               <label for="course_backups"><?php echo _AT('course_backups'); ?></label> (<?php echo _AT('default'); ?>: <?php echo $_config_defaults['course_backups']; ?>)<br />
-               <input type="text" size="2" name="course_backups" id="course_backups" value="<?php if (!empty($_POST['course_backups'])) { echo $stripslashes(htmlspecialchars($_POST['course_backups'])); } else { echo $_config['course_backups']; } ?>"  />
-       </div>
-       <div class="row">
-               <label for="sent_msgs_ttl"><?php echo _AT('sent_msgs_ttl_text'); ?></label> (<?php echo _AT('default'); ?>: <?php echo $_config_defaults['sent_msgs_ttl']; ?>)<br />
-               <input type="text" size="3" name="sent_msgs_ttl" id="sent_msgs_ttl" value="<?php if (!empty($_POST['sent_msgs_ttl'])) { echo intval($_POST['sent_msgs_ttl']); } else { echo $_config['sent_msgs_ttl']; } ?>"  />
-       </div>
-       <div class="row">
-               <?php echo _AT('auto_check_new_version'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['check_version'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="check_version" value="1" id="cv_y" <?php if($_config['check_version']) { echo 'checked="checked"'; }?>  /><label for="cv_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="check_version" value="0" id="cv_n" <?php if(!$_config['check_version']) { echo 'checked="checked"'; }?>  /><label for="cv_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('file_storage_version_control'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['fs_versioning'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="fs_versioning" value="1" id="cf_y" <?php if($_config['fs_versioning']) { echo 'checked="checked"'; }?>  /><label for="cf_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="fs_versioning" value="0" id="cf_n" <?php if(!$_config['fs_versioning']) { echo 'checked="checked"'; }?>  /><label for="cf_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <input type="hidden" name="old_enable_mail_queue" value="<?php echo $_config['enable_mail_queue']; ?>" />
-               <?php echo _AT('enable_mail_queue'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['enable_mail_queue'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <?php echo _AT('mail_queue_cron'); ?><br />
-               <?php if (!$_config['last_cron'] || (time() - (int) $_config['last_cron'] > 2 * 60 * 60)): ?>
-                       <input type="radio" name="enable_mail_queue" value="1" disabled="disabled" id="mq_y"  /><label for="mq_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="enable_mail_queue" value="0" id="mq_n" checked="checked" /><label for="mq_n"><?php echo _AT('disable'); ?></label>
-               <?php else: ?>
-                       <input type="radio" name="enable_mail_queue" value="1" id="mq_y" <?php if($_config['enable_mail_queue']) { echo 'checked="checked"'; }?>  /><label for="mq_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="enable_mail_queue" value="0" id="mq_n" <?php if(!$_config['enable_mail_queue']) { echo 'checked="checked"'; }?>  /><label for="mq_n"><?php echo _AT('disable'); ?></label>
-               <?php endif; ?>
-       </div>
-       <div class="row">
-               <?php echo _AT('auto_install_languages'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['auto_install_languages'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <?php echo _AT('auto_install_languages_cron'); ?><br />
-               <?php if (!$_config['last_cron'] || (time() - (int) $_config['last_cron'] > 2 * 60 * 60)): ?>
-                       <input type="radio" name="auto_install_languages" value="1" disabled="disabled" /><?php echo _AT('enable'); ?> <input type="radio" name="auto_install_languages" value="0" id="ai_n" checked="checked" /><label for="ai_n"><?php echo _AT('disable'); ?></label>
-               <?php else: ?>
-                       <input type="radio" name="auto_install_languages" value="1" id="ai_y" <?php if($_config['auto_install_languages']) { echo 'checked="checked"'; }?>  /><label for="ai_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="auto_install_languages" value="0" id="ai_n" <?php if(!$_config['auto_install_languages']) { echo 'checked="checked"'; }?>  /><label for="ai_n"><?php echo _AT('disable'); ?></label>
-               <?php endif; ?>
-       </div>
-       <div class="row">
-               <?php echo _AT('pretty_url'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['pretty_url'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="pretty_url" value="1" id="pu_y" <?php if($_config['pretty_url']) { echo 'checked="checked"'; }?> onclick="apache_mod_rewrite_toggler(true);"/><label for="pu_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="pretty_url" value="0" id="pu_n" <?php if(!$_config['pretty_url']) { echo 'checked="checked"'; }?> onclick="apache_mod_rewrite_toggler(false);"/><label for="pu_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('course_dir_name'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['course_dir_name'] ? _AT('enable') : _AT('disable')); ?>)<br />
-               <input type="radio" name="course_dir_name" value="1" id="cdn_y" <?php if($_config['course_dir_name']) { echo 'checked="checked"'; }?> /><label for="cdn_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="course_dir_name" value="0" id="cdn_n" <?php if(!$_config['course_dir_name']) { echo 'checked="checked"'; }?>  /><label for="cdn_n"><?php echo _AT('disable'); ?></label>
-       </div>
-       <div class="row">
-               <?php echo _AT('apache_mod_rewrite'); ?><br />
-               <?php if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())): ?>
-                       <?php echo _AT('mod_rewrite'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['apache_mod_rewrite'] ? _AT('enable') : _AT('disable')); ?>)<br />
-                       <input type="radio" name="apache_mod_rewrite" value="1" id="mr_y" <?php if($_config['apache_mod_rewrite']) { echo 'checked="checked"'; }?> /><label for="mr_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="apache_mod_rewrite" value="0" id="mr_n" <?php if(!$_config['apache_mod_rewrite']) { echo 'checked="checked"'; }?>  /><label for="mr_n"><?php echo _AT('disable'); ?></label>
-               <?php else: ?>
-                       <?php echo _AT('mod_rewrite'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['apache_mod_rewrite'] ? _AT('enable') : _AT('disable')); ?>)<br />
-                       <input type="radio" name="apache_mod_rewrite" value="1" id="mr_y" disabled="disabled" /><label for="mr_y"><?php echo _AT('enable'); ?></label> <input type="radio" name="apache_mod_rewrite" value="0" id="mr_n" checked="checked" /><label for="mr_n"><?php echo _AT('disable'); ?></label>
-               <?php endif; ?>
-       </div>
-       <div class="row buttons">
-                       <input type="submit" name="submit" value="<?php echo _AT('save'); ?>" accesskey="s"  />
-               <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>"  />
-       </div>
- </div>
- </form>
--
  <script type="text/javascript">
        function apache_mod_rewrite_toggler(enabled){
                var obj_y = document.getElementById('mr_y');
  
  
  <?php 
+ $savant->assign('display_name_formats', $display_name_formats);
+ $savant->display('admin/system_preferences/config_edit.tmpl.php');
  require(AT_INCLUDE_PATH.'footer.inc.php'); 
  ?>
diff --combined docs/admin/index.php
@@@ -42,6 -42,6 +42,7 @@@ if (isset($_POST['social_submit'])) 
        }
        $_config['just_social'] = $_POST['just_social'];
  }
++
  require(AT_INCLUDE_PATH.'header.inc.php');
  
  if ($_config['check_version']) {
                $msg->printFeedbacks('ATUTOR_UPDATE_AVAILABLE');
        }
  }
- ?>
- <div class="container" style="width: 40%; float: right; padding-top: 4px; padding-left: 10px;">
-       <div class="input-form" style="width: 98%;">
-                       <div class="row">
-                               <h3><?php echo _AT('social_switch'); ?></h3>
-                               <p><?php echo _AT('social_switch_text'); ?></p>
-                       </div>
-                       <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
-                       <div class="row">
-                       <?php echo _AT('social_switch'); ?> (<?php echo _AT('default'); ?>: <?php echo ($_config_defaults['just_social'] ? _AT('just_social') : _AT('social_and_lms')); ?>)<br />
-                       <input type="radio" name="just_social" value="1" id="social_y" <?php if($_config['just_social']) { echo 'checked="checked"'; }?>  /><label for="social_y"><?php echo _AT('just_social'); ?></label> <br /><input type="radio" name="just_social" value="0" id="social_n" <?php if(!$_config['just_social']) { echo 'checked="checked"'; }?>  /><label for="social_n"><?php echo _AT('social_and_lms'); ?></label>
-                       </div>
-                       <div class="row buttons">
-                               <input type="submit" name="social_submit" value="<?php echo _AT('save'); ?>" />
-                       </div>
-                       </form>
-       </div>
-       <div class="input-form" style="width: 98%;">
-                       <div class="row">
-                               <h3><?php echo _AT('donate'); ?></h3>
-                               <p><?php echo _AT('donate_text'); ?></p>
-                       </div>
-                       <div style="text-align:center;">
-                               <a href="http://www.atutor.ca/payment/index.php?project=ATutor-Donation"><img src="<?php echo $_base_href; ?>/images/donate.gif" height="28" width="136" border="0" alt="<?php echo _AT('donate'); ?>" /></a><br /><br />
-                       </div>
-       </div>
-       <?php if ($_config['allow_instructor_requests'] && admin_authenticate(AT_ADMIN_PRIV_USERS, AT_PRIV_RETURN)): ?> 
-               <?php
-                       $sql    = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."instructor_approvals";
+ if ($_config['allow_instructor_requests'] && admin_authenticate(AT_ADMIN_PRIV_USERS, AT_PRIV_RETURN)){
+       $sql    = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."instructor_approvals";
                        $result = mysql_query($sql, $db);
                        $row    = mysql_fetch_assoc($result);
-               ?>
-       <div class="input-form" style="width: 98%;">
-               <form method="get" action="mods/_core/users/instructor_requests.php">
-                       <div class="row">
-                               <h3><?php echo _AT('instructor_requests'); ?></h3>
-                               <p><?php echo _AT('instructor_requests_text', $row['cnt']); ?></p>
-                       </div>
+                       $instructor_row[] = $row;
+                       $savant->assign('row_instructor', $instructor_row);
+ }
  
-                       <div class="row buttons">
-                               <input type="submit" name="submit" value="<?php echo _AT('view'); ?>" />
-                       </div>
-               </form>
-       </div>
-       <?php endif; ?>
  
-       <?php 
 -      $update_server = "update.atutor.ca"; 
++$update_server = "update.atutor.ca"; 
 +
++$file = fsockopen ($update_server, 80, $errno, $errstr, 15);
 +
-       $update_server = "update.atutor.ca"; 
++if ($file) 
++{
++      // get patch list
++      $patch_folder = "http://" . $update_server . '/patch/' . str_replace('.', '_', VERSION) . '/';
  
--      $file = fsockopen ($update_server, 80, $errno, $errstr, 15);
++      $patch_list_xml = @file_get_contents($patch_folder . 'patch_list.xml');
        
--      if ($file
++      if ($patch_list_xml
        {
--              // get patch list
--              $patch_folder = "http://" . $update_server . '/patch/' . str_replace('.', '_', VERSION) . '/';
--
--              $patch_list_xml = @file_get_contents($patch_folder . 'patch_list.xml');
++              require_once('../mods/_standard/patcher/classes/PatchListParser.class.php');
++              $patchListParser = new PatchListParser();
++              $patchListParser->parse($patch_list_xml);
++              $patch_list_array = $patchListParser->getMyParsedArrayForVersion(VERSION);
                
--              if ($patch_list_xml) 
--              {
--                      require_once('../mods/_standard/patcher/classes/PatchListParser.class.php');
--                      $patchListParser = new PatchListParser();
--                      $patchListParser->parse($patch_list_xml);
--                      $patch_list_array = $patchListParser->getMyParsedArrayForVersion(VERSION);
--                      
--                      if (count($patch_list_array)) {
--                              foreach ($patch_list_array as $row_num => $patch) {
--                                      $patch_ids .= '\'' . $patch['atutor_patch_id'] . '\', ';
--                              }
--                                      
--                              $sql = "select count(distinct atutor_patch_id) cnt_installed_patches from ".TABLE_PREFIX."patches " .
--                                     "where atutor_patch_id in (" . substr($patch_ids, 0, -2) .")".
--                                     " and status like '%Installed'";
--                      
--                              $result = mysql_query($sql, $db) or die(mysql_error());
--                              $row = mysql_fetch_assoc($result);
-                               
-                               $cnt = count($patch_list_array) - $row['cnt_installed_patches'];
-       
-                               if ($cnt > 0)
-                               {
-               ?>
-       <div class="input-form" style="width: 98%;">
-               <form method="get" action="mods/_standard/patcher/index_admin.php">
-                       <div class="row">
-                               <h3><?php echo _AT('available_patches'); ?></h3>
-                               <p><?php echo _AT('available_patches_text', $cnt); ?></p>
-                       </div>
-                       <div class="row buttons">
-                               <input type="submit" name="submit" value="<?php echo _AT('view'); ?>" />
-                       </div>
-               </form>
-       </div>
-       <?php 
-                               }
-                       }
-               }
-       } 
-       ?>
-       <div class="input-form" style="width: 98%">
-               <?php
-                       if (!isset($_config['db_size']) || ($_config['db_size_ttl'] < time())) {
-                               $_config['db_size'] = 0;
-                               $sql = 'SHOW TABLE STATUS';
-                               $result = mysql_query($sql, $db);
-                               while($row = mysql_fetch_assoc($result)) {
-                                       $_config['db_size'] += $row['Data_length']+$row['Index_length'];
-                               }
-                               $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('db_size', '{$_config['db_size']}')";
-                               mysql_query($sql, $db);
-                               // get disk usage if we're on *nix
-                               if (DIRECTORY_SEPARATOR == '/') {
-                                       $du = @shell_exec('du -sk '.escapeshellcmd(AT_CONTENT_DIR));
-                                       if ($du) {
-                                               $_config['du_size'] = (int) $du;
-                                               $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('du_size', '{$_config['du_size']}')";
-                                               mysql_query($sql, $db);
-                                       }
-                               }
-                               $ttl = time() + 24 * 60 * 60; // every 1 day.
-                               $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('db_size_ttl', '$ttl')";
-                               mysql_query($sql, $db);
++              if (count($patch_list_array)) {
++                      foreach ($patch_list_array as $row_num => $patch) {
++                              $patch_ids .= '\'' . $patch['atutor_patch_id'] . '\', ';
 +                      }
-                       $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."courses";
-                       $result = mysql_query($sql, $db);
-                       $row = mysql_fetch_assoc($result);
-                       $num_courses = $row['cnt'];
-                       $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."members";
-                       $result = mysql_query($sql, $db);
-                       $row = mysql_fetch_assoc($result);
-                       $num_users = $row['cnt'];
-                       $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."admins";
-                       $result = mysql_query($sql, $db);
+                               
 -                              $cnt = count($patch_list_array) - $row['cnt_installed_patches'];
 -                              $savant->assign('cnt', $cnt);
 -      
 -                              if ($cnt > 0)
 -                              {
 -      
++                      $sql = "select count(distinct atutor_patch_id) cnt_installed_patches from ".TABLE_PREFIX."patches " .
++                             "where atutor_patch_id in (" . substr($patch_ids, 0, -2) .")".
++                             " and status like '%Installed'";
++              
++                      $result = mysql_query($sql, $db) or die(mysql_error());
 +                      $row = mysql_fetch_assoc($result);
-                       $num_users += $row['cnt'];
-                       $sql = "SELECT VERSION()";
-                       $result = mysql_query($sql, $db);
-                       $row = mysql_fetch_array($result);
-                       $mysql_version = $row[0];
-               ?>
++                      
++                      $cnt = count($patch_list_array) - $row['cnt_installed_patches'];
++                      $savant->assign('cnt', $cnt);
 +
-               <div class="row">
-                       <h3><?php echo _AT('statistics_information'); ?></h3>
++                      if ($cnt > 0)
++                      {
 +
-                       <dl class="col-list">
-                               <?php if ($_config['db_size']): ?>
-                                       <dt><?php echo _AT('database'); ?>:</dt>
-                                       <dd><?php echo number_format($_config['db_size']/AT_KBYTE_SIZE/AT_KBYTE_SIZE,2); ?> <acronym title="<?php echo _AT('megabytes'); ?>"><?php echo _AT('mb'); ?></acronym></dd>
-                               <?php endif; ?>
 +
-                               <?php if ($_config['du_size']): ?>
-                                       <dt><?php echo _AT('disk_usage'); ?>:</dt>
-                                       <dd><?php echo number_format($_config['du_size']/AT_KBYTE_SIZE,2); ?> <acronym title="<?php echo _AT('megabytes'); ?>"><?php echo _AT('mb'); ?></acronym></dd>
-                               <?php endif; ?>
  
-                               <dt><?php echo _AT('courses'); ?>:</dt>
-                               <dd><?php echo $num_courses; ?></dd>
 -      
 -                              }
+                       }
+               }
 -      } 
++      }
++} 
++
+ if (!isset($_config['db_size']) || ($_config['db_size_ttl'] < time())) {
 -                              $_config['db_size'] = 0;
 -                              $sql = 'SHOW TABLE STATUS';
 -                              $result = mysql_query($sql, $db);
 -                              while($row = mysql_fetch_assoc($result)) {
 -                                      $_config['db_size'] += $row['Data_length']+$row['Index_length'];
 -                              
 -                              }
++      $_config['db_size'] = 0;
++      $sql = 'SHOW TABLE STATUS';
++      $result = mysql_query($sql, $db);
++      while($row = mysql_fetch_assoc($result)) {
++              $_config['db_size'] += $row['Data_length']+$row['Index_length'];
++      
++      }
  
-                               <dt><?php echo _AT('users'); ?>:</dt>
-                               <dd><?php echo $num_users; ?></dd>
 -                              $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('db_size', '{$_config['db_size']}')";
 -                              mysql_query($sql, $db);
++      $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('db_size', '{$_config['db_size']}')";
++      mysql_query($sql, $db);
 +
-                               <dt><?php echo _AT('atutor_version'); ?>:</dt>
-                 <?php
-                     require('../svn.php');
-                     if (!empty($svn_data)) {
-                         $svn_data   = explode("\n", $svn_data);
-                         if (substr($svn_data[1], 0, 1) == 'r') {
-                             $svn_data = $svn_data[1];
-                         } else if (substr($svn_data[2], 0, 1) == 'r') {
-                             $svn_data = $svn_data[2];
-                         }
++      // get disk usage if we're on *nix
++      if (DIRECTORY_SEPARATOR == '/') {
++              $du = @shell_exec('du -sk '.escapeshellcmd(AT_CONTENT_DIR));
++              if ($du) {
++                      $_config['du_size'] = (int) $du;
++                      $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('du_size', '{$_config['du_size']}')";
++                      mysql_query($sql, $db);
+                       
 -                              // get disk usage if we're on *nix
 -                              if (DIRECTORY_SEPARATOR == '/') {
 -                                      $du = @shell_exec('du -sk '.escapeshellcmd(AT_CONTENT_DIR));
 -                                      if ($du) {
 -                                              $_config['du_size'] = (int) $du;
 -                                              $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('du_size', '{$_config['du_size']}')";
 -                                              mysql_query($sql, $db);
 -                                              
 -                                      }
 -                              }
 -
 -                              $ttl = time() + 24 * 60 * 60; // every 1 day.
 -                              $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('db_size_ttl', '$ttl')";
 -                              mysql_query($sql, $db);
 -                              
 -                      }
++              }
++      }
  
-                         if (count($svn_data) > 1) {
-                             $build = 'unknown';
-                             $build_date = date('Y-m-d H:i:s');
-                         } else {
-                             $svn_data   = explode(' ', $svn_data);
 -                      $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."courses";
 -                      $result = mysql_query($sql, $db);
 -                      $row = mysql_fetch_assoc($result);
 -                      $num_courses = $row['cnt'];
 -                      $savant->assign('num_courses', $num_courses);
++      $ttl = time() + 24 * 60 * 60; // every 1 day.
++      $sql = "REPLACE INTO ".TABLE_PREFIX."config VALUES ('db_size_ttl', '$ttl')";
++      mysql_query($sql, $db);
++      
++}
  
-                             $build      = $svn_data[0];
-                             $build_date = $svn_data[4] .' '. $svn_data[5];
-                         }
-                         $build_str = '(' . $build . ' - '.$build_date . ')';
-                     }
-                 ?>
-                               <dd><?php echo _AT('atutor_version_text', VERSION . $build_str, urlencode(VERSION)); ?></dd>
 -                      $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."members";
 -                      $result = mysql_query($sql, $db);
 -                      $row = mysql_fetch_assoc($result);
 -                      $num_users = $row['cnt'];
 -                      $savant->assign('num_users', $num_users);
++$sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."courses";
++$result = mysql_query($sql, $db);
++$row = mysql_fetch_assoc($result);
++$num_courses = $row['cnt'];
++$savant->assign('num_courses', $num_courses);
  
-                               <dt><?php echo _AT('php_version'); ?>:</dt>
-                               <dd><?php echo PHP_VERSION; ?></dd>
 -                      $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."admins";
 -                      $result = mysql_query($sql, $db);
 -                      $row = mysql_fetch_assoc($result);
 -                      $num_users += $row['cnt'];
 -                      
++$sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."members";
++$result = mysql_query($sql, $db);
++$row = mysql_fetch_assoc($result);
++$num_users = $row['cnt'];
++$savant->assign('num_users', $num_users);
  
-                               <dt><?php echo _AT('mysql_version'); ?>:</dt>
-                               <dd><?php echo $mysql_version; ?></dd>
 -                      $sql = "SELECT VERSION()";
 -                      $result = mysql_query($sql, $db);
 -                      $row = mysql_fetch_array($result);
 -                      $mysql_version = $row[0];
++$sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."admins";
++$result = mysql_query($sql, $db);
++$row = mysql_fetch_assoc($result);
++$num_users += $row['cnt'];
 +
-                               <dt><?php echo _AT('os'); ?>:</dt>
-                               <dd><?php echo @php_uname('s') . ' ' . @php_uname('r'); ?></dd>
-                       </dl>
-               </div>
-       </div>
 +
- </div>
++$sql = "SELECT VERSION()";
++$result = mysql_query($sql, $db);
++$row = mysql_fetch_array($result);
++$mysql_version = $row[0];
  
- <div class="admin_container" style="width: 55%;">
-       <?php
-       $path_length = strlen($_base_path);
+ $savant->assign('path_length', $path_length);
+ $savant->assign('pages', $_pages);
+ $savant->assign('db_size', $_config['db_size']);
+ $savant->assign('du_size', $_config['du_size']);
+ $savant->assign('row', $row);
 +
-       echo '<ol id="tools" style="margin-right: 0px;">';
-       foreach ($_top_level_pages as $page_info) {
-               echo '<li class="top-tool"><a href="' . $page_info['url'] . '">' . $page_info['title'] . '</a>  ';
+ $savant->display('admin/index.tmpl.php');
 -require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
 +
-               $page_info['url'] = substr($page_info['url'], $path_length);
++require(AT_INCLUDE_PATH.'footer.inc.php'); 
 +
-               if ($_pages[$page_info['url']]['children']) {
-                       echo '<ul class="child-top-tool">';
-                       foreach ($_pages[$page_info['url']]['children'] as $child) {
-                               // check whether the page is set to be available for mobile themes. @see include/lib/menu_pages.php
-                               if (page_available($child)) {
-                                       echo ' <li class="child-tool"><a href="'.$child.'">'._AT($_pages[$child]['title_var']).'</a></li>';
-                               }
-                       }
-                       echo '</ul>';
-               }
-               echo '</li>';
-       }
-       echo '</ol>';
- ?>
- </div>
- <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
++?>
diff --combined docs/confirm.php
@@@ -162,26 -162,10 +162,9 @@@ if (isset($_REQUEST['auto_login'])
        }
  }
  
--require(AT_INCLUDE_PATH.'header.inc.php'); ?>
++require(AT_INCLUDE_PATH.'header.inc.php'); 
  
- <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form">
 -
 -
 -<?php
+ $savant->display('confirm.tmpl.php');
 -require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
 +
- <div class="input-form" style="max-width: 400px">
-       <div class="row">
-               <p><?php echo _AT('send_confirmation'); ?></p>
-       </div>
-       <div class="row">
-               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="email"><?php echo _AT('email'); ?></label><br />
-               <input type="text" name="email" id="email" size="50" />
-               <input type="hidden" name="en_id" id="en_id" value="<?php echo AT_print($_REQUEST['en_id'], 'input.email'); ?>" size="50" />
-       </div>
-       <div class="row buttons">
-               <input type="submit" name="submit" value="<?php echo _AT('send'); ?>" /> 
-               <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />
-       </div>
- </div>
- </form>
- <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
++require(AT_INCLUDE_PATH.'footer.inc.php'); 
++?>
diff --combined docs/content.php
@@@ -135,19 -135,21 +135,19 @@@ while ($content_forum_row = mysql_fetch
        $content_forum_ids[] = $content_forum_row;
  }
  
- // use any styles that were part of the imported document
+ // use any styles that were part of the imported document, except on the mobile theme. 
  // $_custom_css = $_base_href.'headstuff.php?cid='.$cid.SEP.'path='.urlEncode($_base_href.$course_base_href.$content_base_href);
+ if (is_mobile_device == false) {
  if ($content_row['use_customized_head'] && strlen($content_row['head']) > 0)
  {
        $_custom_head .= $content_row['head'];
  }
+ }
  global $_custom_head;
  $_custom_head .= '
        <script language="javascript" type="text/javascript">
        //<!--
 -      jQuery(function() {
 -      jQuery(\'a.tooltip\').tooltip( { showBody: ": ", showURL: false } );
 -      } );
 +              jQuery(".tooltip").tooltip();
        //-->
        </script>
  ';
@@@ -47,7 -47,7 +47,7 @@@ $_config_defaults['theme_categories'
  $_config_defaults['main_defaults']               = 'mods/_standard/forums/forum/list.php|mods/_core/glossary/index.php|mods/_standard/file_storage/index.php|mods/_standard/social/index.php|mods/_standard/sitemap/sitemap.php|mods/_standard/photos/index.php';
  $_config_defaults['home_defaults']             = 'mods/_standard/file_storage/index.php|mods/_standard/tests/my_tests.php|mods/_standard/tracker/my_stats.php|mods/_standard/directory/directory.php';
  $_config_defaults['side_defaults']             = 'social|menu_menu|related_topics|users_online|glossary|search|poll|posts';
 -$_config_defaults['pref_defaults']           = 'a:35:{s:10:"PREF_THEME";s:7:"default";s:17:"PREF_MOBILE_THEME";s:6:"mobile";s:15:"PREF_FORM_FOCUS";i:1;s:14:"PREF_NUMBERING";i:0;s:13:"PREF_TIMEZONE";s:1:"0";s:18:"PREF_JUMP_REDIRECT";i:1;s:19:"PREF_CONTENT_EDITOR";i:2;s:15:"PREF_SHOW_GUIDE";i:1;s:14:"PREF_FONT_FACE";s:0:"";s:15:"PREF_FONT_TIMES";s:3:"1.0";s:14:"PREF_FG_COLOUR";s:0:"";s:14:"PREF_BG_COLOUR";s:0:"";s:14:"PREF_HL_COLOUR";s:0:"";s:28:"PREF_USE_ALTERNATIVE_TO_TEXT";i:0;s:16:"PREF_ALT_TO_TEXT";s:5:"audio";s:34:"PREF_ALT_TO_TEXT_APPEND_OR_REPLACE";s:6:"append";s:25:"PREF_ALT_TEXT_PREFER_LANG";s:2:"en";s:29:"PREF_USE_ALTERNATIVE_TO_AUDIO";i:0;s:17:"PREF_ALT_TO_AUDIO";s:4:"text";s:35:"PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE";s:6:"append";s:26:"PREF_ALT_AUDIO_PREFER_LANG";s:2:"en";s:30:"PREF_USE_ALTERNATIVE_TO_VISUAL";i:0;s:18:"PREF_ALT_TO_VISUAL";s:4:"text";s:36:"PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE";s:6:"append";s:27:"PREF_ALT_VISUAL_PREFER_LANG";s:2:"en";s:15:"PREF_DICTIONARY";i:1;s:14:"PREF_THESAURUS";i:1;s:16:"PREF_NOTE_TAKING";i:1;s:15:"PREF_CALCULATOR";i:1;s:11:"PREF_ABACUS";i:1;s:10:"PREF_ATLAS";i:1;s:17:"PREF_ENCYCLOPEDIA";i:1;s:18:"PREF_SHOW_CONTENTS";i:1;s:31:"PREF_SHOW_NEXT_PREVIOUS_BUTTONS";i:1;s:22:"PREF_SHOW_BREAD_CRUMBS";i:1;}';
 +$_config_defaults['pref_defaults']           = 'a:35:{s:10:"PREF_THEME";s:7:"default";s:17:"PREF_MOBILE_THEME";s:6:"mobile";s:15:"PREF_FORM_FOCUS";i:1;s:14:"PREF_NUMBERING";i:0;s:13:"PREF_TIMEZONE";s:1:"0";s:18:"PREF_JUMP_REDIRECT";i:1;s:19:"PREF_CONTENT_EDITOR";i:2;s:15:"PREF_SHOW_GUIDE";i:1;s:14:"PREF_FONT_FACE";s:0:"";s:15:"PREF_FONT_TIMES";s:3:"0.8";s:14:"PREF_FG_COLOUR";s:0:"";s:14:"PREF_BG_COLOUR";s:0:"";s:14:"PREF_HL_COLOUR";s:0:"";s:28:"PREF_USE_ALTERNATIVE_TO_TEXT";i:0;s:16:"PREF_ALT_TO_TEXT";s:5:"audio";s:34:"PREF_ALT_TO_TEXT_APPEND_OR_REPLACE";s:6:"append";s:25:"PREF_ALT_TEXT_PREFER_LANG";s:2:"en";s:29:"PREF_USE_ALTERNATIVE_TO_AUDIO";i:0;s:17:"PREF_ALT_TO_AUDIO";s:4:"text";s:35:"PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE";s:6:"append";s:26:"PREF_ALT_AUDIO_PREFER_LANG";s:2:"en";s:30:"PREF_USE_ALTERNATIVE_TO_VISUAL";i:0;s:18:"PREF_ALT_TO_VISUAL";s:4:"text";s:36:"PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE";s:6:"append";s:27:"PREF_ALT_VISUAL_PREFER_LANG";s:2:"en";s:15:"PREF_DICTIONARY";i:1;s:14:"PREF_THESAURUS";i:1;s:16:"PREF_NOTE_TAKING";i:1;s:15:"PREF_CALCULATOR";i:1;s:11:"PREF_ABACUS";i:1;s:10:"PREF_ATLAS";i:1;s:17:"PREF_ENCYCLOPEDIA";i:1;s:18:"PREF_SHOW_CONTENTS";i:1;s:31:"PREF_SHOW_NEXT_PREVIOUS_BUTTONS";i:1;s:22:"PREF_SHOW_BREAD_CRUMBS";i:1;}';
  $_config_defaults['pref_inbox_notify']                = 0; // disabled
  $_config_defaults['pref_is_auto_login']                  = "disable"; // disabled
  $_config_defaults['check_version']               = 0; // disabled
@@@ -194,8 -194,8 +194,8 @@@ if (($temp = strpos($_base_href, AT_PRE
        $endpos = strlen($_base_href); 
  
  }
 -$_base_href    = substr($_base_href, 0, $endpos);
 -$_base_path  = substr($_base_href, strlen($server_protocol . $_SERVER['HTTP_HOST']));
 +$_base_href   = substr($_base_href, 0, $endpos);
 +$_base_path = substr($_base_href, strlen($server_protocol . $_SERVER['HTTP_HOST']));
  
  define('AT_BASE_HREF', $_base_href);
  
@@@ -207,7 -207,7 +207,7 @@@ define('AT_GUIDES_PATH', $_base_path . 
  
  define('AT_BACKUP_DIR', AT_CONTENT_DIR . 'backups/'); // where the backups get stored
  
 -define('VERSION',             '2.0.2');
 +define('VERSION',             '2.0.3');
  define('ONLINE_UPDATE', 3); /* update the user expiry every 3 min */
  
  /* valid date format_types:                                           */
@@@ -270,6 -270,7 +270,7 @@@ define('IPHONE_DEVICE', 'iphone')
  define('BLACKBERRY_DEVICE',  'blackberry');
  define('ANDROID_DEVICE',  'android');
  define('UNKNOWN_DEVICE',  'unknown');
+ define('IPAD_DEVICE', 'ipad');
  
  // machine type
  define('DESKTOP_DEVICE',  'Desktop');
@@@ -389,10 -390,6 +390,10 @@@ define('VALIDATE_LENGTH_FOR_DISPLAY',    1
  
  /* the length of sublink text display in the course index page, detail view */
  define('SUBLINK_TEXT_LEN', 38);
 +
 +/* The lock out time for max login attempts */
 +define('DEFAULT_VIDEO_PLAYER_WIDTH', 425);   // in pixels
 +define('DEFAULT_VIDEO_PLAYER_HEIGHT', 350);  // in pixels
  
  /* The lock out time for max login attempts */
  define('LOGIN_ATTEMPT_LOCKED_TIME', 60);      //in minutes, default an hour, 60 minutes
@@@ -13,7 -13,7 +13,7 @@@
  
  if (!defined('AT_INCLUDE_PATH')) { exit; }
  
--define('AT_DEVEL', 1);
++define('AT_DEVEL', 0);
  define('AT_ERROR_REPORTING', E_ALL ^ E_NOTICE); // default is E_ALL ^ E_NOTICE, use E_ALL or E_ALL + E_STRICT for developing
  define('AT_DEVEL_TRANSLATE', 0);
  
@@@ -49,71 -49,21 +49,71 @@@ if ( get_magic_quotes_gpc() == 1 ) 
      $stripslashes = 'my_null_slashes';
  }
  
 +function regenerate_session($reload = false)
 +{
 +      if(!isset($_SESSION['IPaddress']) || $reload)
 +              $_SESSION['IPaddress'] = $_SERVER['REMOTE_ADDR'];
 +
 +      if(!isset($_SESSION['userAgent']) || $reload)
 +              $_SESSION['userAgent'] = $_SERVER['HTTP_USER_AGENT'];
 +
 +      $session_values = $_SESSION;
 +
 +      // Set current session to expire in 10 seconds
 +      $_SESSION['OBSOLETE'] = true;
 +      $_SESSION['EXPIRES'] = time() + 10;
 +
 +      // Create new session without destroying the old one
 +      session_regenerate_id(false);
 +
 +      // Grab current session ID and close both sessions to allow other scripts to use them
 +      $newSession = session_id();
 +      session_write_close();
 +
 +      // Set session ID to the new one, and start it back up again
 +      session_id($newSession);
 +      session_start();
 +
 +      $_SESSION = $session_values; 
 +}
 +
 +function check_session()
 +{
 +      if($_SESSION['OBSOLETE'] && ($_SESSION['EXPIRES'] < time())) {
 +              return false;
 +      }
 +                  
 +      if($_SESSION['IPaddress'] != $_SERVER['REMOTE_ADDR']) {
 +              return false;
 +      }
 +                  
 +      if($_SESSION['userAgent'] != $_SERVER['HTTP_USER_AGENT']) {
 +              return false;
 +      }
 +                  
 +      if(!$_SESSION['OBSOLETE']) {
 +              regenerate_session();
 +      }
 +      return true;
 +}
 +
  /*
   * structure of this document (in order):
   *
   * 0. load config.inc.php
   * 1. load constants
 - * 2. initilize session
 - * 3. load language constants
 + * 2. initialize db connection and populate $_config
 + * 3. initialize session
   * 4. enable output compression
 - * 5. initilize db connection
 - * 6. load cache library
 - * 7. initilize session localization
 - * 8. load ContentManagement/output/Savant/Message libraries
 + * 5. validate login user
 + * 6. load language
 + * 7. load cache/ContentManagement/output/Savant/Message libraries
   ***/
  
  /**** 0. start system configuration options block ****/
 +      //set the timezone, php 5.3+ problem. http://atutor.ca/atutor/mantis/view.php?id=4409
 +      date_default_timezone_set('UTC');
 +
        error_reporting(0);
        if (!defined('AT_REDIRECT_LOADED')){
                include_once(AT_INCLUDE_PATH.'config.inc.php');
                header('Location: ' . $relative_path . 'install/not_installed.php');
                exit;
        }
 -/*** end system config block ****/
 +/*** end system config block ***/
  
  /*** 1. constants ***/
 -      if (!defined('AT_REDIRECT_LOADED')){
 -              require_once(AT_INCLUDE_PATH.'lib/constants.inc.php');
 -      }
 -
 -/***** 2. start session initilization block ****/
 -      if (headers_sent()) {
 -              require_once(AT_INCLUDE_PATH . 'classes/ErrorHandler/ErrorHandler.class.php');
 -              $err = new ErrorHandler();
 -              trigger_error('VITAL#<br /><br /><code><strong>An error occurred. Output sent before it should have. Please correct the above error(s).' . '</strong></code><br /><hr /><br />', E_USER_ERROR);
 -      }
 -
 -      @set_time_limit(0);
 -      @ini_set('session.gc_maxlifetime', '36000'); /* 10 hours */
 -      @session_cache_limiter('private, must-revalidate');
 -      session_name('ATutorID');
 -      error_reporting(AT_ERROR_REPORTING);
 -
 -      if (headers_sent()) {
 -              require_once(AT_INCLUDE_PATH . 'classes/ErrorHandler/ErrorHandler.class.php');
 -              $err = new ErrorHandler();
 -              trigger_error('VITAL#<br /><code><strong>Headers already sent. ' .
 -                                              'Cannot initialise session.</strong></code><br /><hr /><br />', E_USER_ERROR);
 -              exit;
 -      }
 -
 -      ob_start();
 -      session_set_cookie_params(0, $_base_path);
 -      session_start();
 -      $str = ob_get_contents();
 -      ob_end_clean();
 -      unregister_GLOBALS();
 -
 -      if ($str) {
 -              require_once(AT_INCLUDE_PATH . 'classes/ErrorHandler/ErrorHandler.class.php');
 -              $err = new ErrorHandler();
 -              trigger_error('VITAL#<br /><code><strong>Error initializing session. ' .
 -                                              'Please varify that session.save_path is correctly set in your php.ini file ' .
 -                                              'and the directory exists.</strong></code><br /><hr /><br />', E_USER_ERROR);
 -              exit;
 -      }
 -
 -
 -/***** end session initilization block ****/
 -
 -// 4. enable output compression, if it isn't already enabled:
 -if ((@ini_get('output_handler') == '') && (@ini_get('zlib.output_handler') == '')) {
 -      @ini_set('zlib.output_compression', 1);
 +if (!defined('AT_REDIRECT_LOADED')){
 +      require_once(AT_INCLUDE_PATH.'lib/constants.inc.php');
  }
  
 -/* 5. database connection */
 +/*** 2. initialize db connection and populate $_config ***/
 +
  if (!defined('AT_REDIRECT_LOADED')){
        require_once(AT_INCLUDE_PATH.'lib/mysql_connect.inc.php');
  }
@@@ -148,69 -142,7 +148,69 @@@ while ($row = mysql_fetch_assoc($result
        $_config[$row['name']] = $row['value'];
  }
  
 -//Check if users=valid
 +/***** 3. start session initilization block *****/
 +if (headers_sent()) {
 +      require_once(AT_INCLUDE_PATH . 'classes/ErrorHandler/ErrorHandler.class.php');
 +      $err = new ErrorHandler();
 +      trigger_error('VITAL#<br /><br /><code><strong>An error occurred. Output sent before it should have. Please correct the above error(s).' . '</strong></code><br /><hr /><br />', E_USER_ERROR);
 +}
 +
 +@set_time_limit(0);
 +@ini_set('session.gc_maxlifetime', '36000'); /* 10 hours */
 +@session_cache_limiter('private, must-revalidate');
 +session_name('ATutorID');
 +error_reporting(AT_ERROR_REPORTING);
 +
 +if (headers_sent()) {
 +      require_once(AT_INCLUDE_PATH . 'classes/ErrorHandler/ErrorHandler.class.php');
 +      $err = new ErrorHandler();
 +      trigger_error('VITAL#<br /><code><strong>Headers already sent. ' .
 +                                      'Cannot initialise session.</strong></code><br /><hr /><br />', E_USER_ERROR);
 +      exit;
 +}
 +
 +$isHttps = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on")
 +           ? false
 +           : true;
 +ob_start();
 +session_set_cookie_params(0, $_config["session_path"], "", $isHttps);
 +session_start();
 +
 +// Regenerate session id at every page refresh to prevent CSRF
 +$valid_session = true;
 +if (count($_SESSION) == 0) {
 +      regenerate_session();
 +} else {
 +      $valid_session = check_session();
 +}
 +
 +$str = ob_get_contents();
 +ob_end_clean();
 +unregister_GLOBALS();
 +
 +// Re-direct to login page at a potential session hijack
 +if (!$valid_session) {
 +      $_SESSION = array();
 +      header('Location: '.AT_BASE_HREF.'login.php');
 +      exit;
 +}
 +
 +if ($str) {
 +      require_once(AT_INCLUDE_PATH . 'classes/ErrorHandler/ErrorHandler.class.php');
 +      $err = new ErrorHandler();
 +      trigger_error('VITAL#<br /><code><strong>Error initializing session. ' .
 +                                      'Please varify that session.save_path is correctly set in your php.ini file ' .
 +                                      'and the directory exists.</strong></code><br /><hr /><br />', E_USER_ERROR);
 +      exit;
 +}
 +/***** end session initilization block ****/
 +
 +/**** 4. enable output compression, if it isn't already enabled: ****/
 +if ((@ini_get('output_handler') == '') && (@ini_get('zlib.output_handler') == '')) {
 +      @ini_set('zlib.output_compression', 1);
 +}
 +
 +/**** 5. validate login user ****/
  if (!isset($_SESSION['course_id']) && !isset($_SESSION['valid_user']) && (!isset($_user_location) || $_user_location != 'public') && !isset($_pretty_url_course_id)) {
        if (isset($in_get) && $in_get && (($pos = strpos($_SERVER['PHP_SELF'], 'get.php/')) !== FALSE)) {
                $redirect = substr($_SERVER['PHP_SELF'], 0, $pos) . 'login.php';
@@@ -243,6 -175,9 +243,6 @@@ define('AT_DEFAULT_PREFS',  isset($_con
  $_config['home_defaults'] .= (isset($_config['home_defaults_2']) ? $_config['home_defaults_2'] : '');
  $_config['main_defaults'] .= (isset($_config['main_defaults_2']) ? $_config['main_defaults_2'] : '');
  
 -//set the timezone, php 5.3+ problem. http://atutor.ca/atutor/mantis/view.php?id=4409
 -date_default_timezone_set('UTC');
 -
  if ($_config['time_zone']) {
        //$sql = "SET time_zone='{$_config['time_zone']}'";
        //mysql_query($sql, $db);
                @putenv("TZ={$_config['time_zone']}");
        }
  }
 -/***** 7. start language block *****/
 -      // set current language
 -      require(AT_INCLUDE_PATH . '../mods/_core/languages/classes/LanguageManager.class.php');
 -      $languageManager = new LanguageManager();
 +/***** 6. load language *****/
 +// set current language
 +require(AT_INCLUDE_PATH . '../mods/_core/languages/classes/LanguageManager.class.php');
 +$languageManager = new LanguageManager();
  
 -      $myLang =& $languageManager->getMyLanguage();
 +$myLang =& $languageManager->getMyLanguage();
  
 -      if ($myLang === FALSE) {
 -              echo 'There are no languages installed!';
 -              exit;
 -      }
 -      $myLang->saveToSession();
 -      if (isset($_GET['lang']) && $_SESSION['valid_user']) {
 -              if ($_SESSION['course_id'] == -1) {
 -                      $myLang->saveToPreferences($_SESSION['login'], 1);      //1 for admin                   
 -              } else {
 -                      $myLang->saveToPreferences($_SESSION['member_id'], 0);  //0 for non-admin
 -              }
 +if ($myLang === FALSE) {
 +      echo 'There are no languages installed!';
 +      exit;
 +}
 +$myLang->saveToSession();
 +if (isset($_GET['lang']) && $_SESSION['valid_user']) {
 +      if ($_SESSION['course_id'] == -1) {
 +              $myLang->saveToPreferences($_SESSION['login'], 1);      //1 for admin                   
 +      } else {
 +              $myLang->saveToPreferences($_SESSION['member_id'], 0);  //0 for non-admin
        }
 -      $myLang->sendContentTypeHeader();
 +}
 +$myLang->sendContentTypeHeader();
  
 -      /* set right-to-left language */
 -      $rtl = '';
 -      if ($myLang->isRTL()) {
 -              $rtl = 'rtl_'; /* basically the prefix to a rtl variant directory/filename. eg. rtl_tree */
 -      }
 +/* set right-to-left language */
 +$rtl = '';
 +if ($myLang->isRTL()) {
 +      $rtl = 'rtl_'; /* basically the prefix to a rtl variant directory/filename. eg. rtl_tree */
 +}
  /***** end language block ****/
  
 -/* 8. load common libraries */
 -      require(AT_INCLUDE_PATH.'classes/ContentManager.class.php');  /* content management class */
 -      require_once(AT_INCLUDE_PATH.'lib/output.inc.php');           /* output functions */
 -      if (!(defined('AT_REDIRECT_LOADED'))){
 -              require_once(AT_INCLUDE_PATH . 'classes/UrlRewrite/UrlParser.class.php');       /* pretty url tool */
 -      }
 -      require(AT_INCLUDE_PATH.'classes/Savant2/Savant2.php');       /* for the theme and template management */
 -
 -      // set default template paths:
 -      $savant = new Savant2();
 -      $savant->addPath('template', AT_INCLUDE_PATH . '../themes/default/');
 +/* 7. load common libraries */
 +require(AT_INCLUDE_PATH.'classes/ContentManager.class.php');  /* content management class */
 +require_once(AT_INCLUDE_PATH.'lib/output.inc.php');           /* output functions */
 +if (!(defined('AT_REDIRECT_LOADED'))){
 +      require_once(AT_INCLUDE_PATH . 'classes/UrlRewrite/UrlParser.class.php');       /* pretty url tool */
 +}
 +require(AT_INCLUDE_PATH.'classes/Savant2/Savant2.php');       /* for the theme and template management */
 +
 +// set default template paths:
 +$savant = new Savant2();
 +$savant->addPath('template', AT_INCLUDE_PATH . '../themes/default/');
 +
 +//if user has requested theme change, make the change here
 +if (($_POST['theme'] || $_POST['mobile_theme']) && $_POST['submit']) {
 +    //http://atutor.ca/atutor/mantis/view.php?id=4781
 +    //Themes should be in the same folder, disallow '../'
 +    $newTheme = str_replace("../", "", $_POST['theme']);
 +    $newMobileTheme = str_replace("../", "", $_POST['mobile_theme']);
 +    if ($newTheme != $_POST['theme'] || $newMobileTheme != $_POST['mobile_theme']) {
 +        header('Location:'.AT_BASE_HREF.'users/preferences.php');
 +          exit;
 +    }
 +    
 +    $_SESSION['prefs']['PREF_THEME'] = $addslashes($_POST['theme']);
 +    $_SESSION['prefs']['PREF_MOBILE_THEME'] = $addslashes($_POST['mobile_theme']);
 +} else if ($_POST['set_default']) {
 +    $_SESSION['prefs']['PREF_THEME'] = 'default';
 +    $_SESSION['prefs']['PREF_MOBILE_THEME'] = 'mobile';
 +}
  
 -      //if user has requested theme change, make the change here
 -      if (($_POST['theme'] || $_POST['mobile_theme']) && $_POST['submit']) {
 -          $_SESSION['prefs']['PREF_THEME'] = $addslashes($_POST['theme']);
 -          $_SESSION['prefs']['PREF_MOBILE_THEME'] = $addslashes($_POST['mobile_theme']);
 -          
 -      } else if ($_POST['set_default']) {
 -          $_SESSION['prefs']['PREF_THEME'] = 'default';
 -          $_SESSION['prefs']['PREF_MOBILE_THEME'] = 'mobile';
 -          
 -      }
 -      
 -      // Reset PREF_THEME when:
 -      // 1. If PREF_THEME is not set 
 -      // 2. The request is from the mobile device but PREF_THEME is not a mobile theme 
 -      if (!isset($_SESSION['prefs']['PREF_THEME']) ||
 -          $_SESSION['prefs']['PREF_THEME'] == "" ||
 -          (is_mobile_device() && !is_mobile_theme($_SESSION['prefs']['PREF_THEME']))) {
 -              // get default
 -              $default_theme = get_default_theme();
 -              
 -              $_SESSION['prefs']['PREF_THEME'] = $default_theme['dir_name'];
 -              
 -      }
 -      
 -      if (!is_dir(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME']) || $_SESSION['prefs']['PREF_THEME'] == '') {
 -              $_SESSION['prefs']['PREF_THEME'] = get_system_default_theme();
 -      
 -      }
 +// Reset PREF_THEME when:
 +// 1. If PREF_THEME is not set 
 +// 2. The request is from the mobile device but PREF_THEME is not a mobile theme 
 +if (!isset($_SESSION['prefs']['PREF_THEME']) ||
 +    $_SESSION['prefs']['PREF_THEME'] == "" ||
 +    (is_mobile_device() && !is_mobile_theme($_SESSION['prefs']['PREF_THEME']))) {
 +      // get default
 +      $default_theme = get_default_theme();
        
 -      // use "mobile" theme for mobile devices. For now, there's only one mobile theme and it's hardcoded.
 -      // When more mobile themes come in, this should be changed.
 -      if (isset($_SESSION['prefs']['PREF_THEME']) && file_exists(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME']) && isset($_SESSION['valid_user']) && $_SESSION['valid_user']) {
 -              if ($_SESSION['course_id'] == -1) {
 -                      if ($_SESSION['prefs']['PREF_THEME'] == '' || !is_dir(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME'])) {
 -                              $_SESSION['prefs']['PREF_THEME'] = get_system_default_theme();
 -                              
 -                      }
 +      $_SESSION['prefs']['PREF_THEME'] = $default_theme['dir_name'];
 +}
 +
 +if (!is_dir(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME']) || $_SESSION['prefs']['PREF_THEME'] == '') {
 +      $_SESSION['prefs']['PREF_THEME'] = get_system_default_theme();
 +}
 +
 +// use "mobile" theme for mobile devices. For now, there's only one mobile theme and it's hardcoded.
 +// When more mobile themes come in, this should be changed.
 +if (isset($_SESSION['prefs']['PREF_THEME']) && file_exists(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME']) && isset($_SESSION['valid_user']) && $_SESSION['valid_user']) {
 +      if ($_SESSION['course_id'] == -1) {
 +              if ($_SESSION['prefs']['PREF_THEME'] == '' || !is_dir(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME'])) {
 +                      $_SESSION['prefs']['PREF_THEME'] = get_system_default_theme();
 +              }
 +      } else {
 +              //check if enabled
 +              $sql    = "SELECT status FROM ".TABLE_PREFIX."themes WHERE dir_name = '".$_SESSION['prefs']['PREF_THEME']."'";
 +              $result = mysql_query($sql, $db);
 +              $row = mysql_fetch_assoc($result);
 +              if ($row['status'] > 0) {
                } else {
 -                      //check if enabled
 -                      $sql    = "SELECT status FROM ".TABLE_PREFIX."themes WHERE dir_name = '".$_SESSION['prefs']['PREF_THEME']."'";
 -                      $result = mysql_query($sql, $db);
 -                      $row = mysql_fetch_assoc($result);
 -                      if ($row['status'] > 0) {
 -                      } else {
 -                              // get default
 -                              $default_theme = get_default_theme();
 -                              if (!is_dir(AT_INCLUDE_PATH . '../themes/' . $default_theme['dir_name'])) {
 -                                      $default_theme = array('dir_name' => get_system_default_theme());
 -                              }
 -                              $_SESSION['prefs']['PREF_THEME'] = $default_theme['dir_name'];
 -                              
 +                      // get default
 +                      $default_theme = get_default_theme();
 +                      if (!is_dir(AT_INCLUDE_PATH . '../themes/' . $default_theme['dir_name'])) {
 +                              $default_theme = array('dir_name' => get_system_default_theme());
                        }
 +                      $_SESSION['prefs']['PREF_THEME'] = $default_theme['dir_name'];
                }
        }
 -      
 -      $savant->addPath('template', AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME'] . '/');
 -      require(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME'] . '/theme.cfg.php');
 -      
 -      
 -      require(AT_INCLUDE_PATH.'classes/Message/Message.class.php');
 -      $msg = new Message($savant);
 +}
  
 -      $contentManager = new ContentManager($db, isset($_SESSION['course_id']) ? $_SESSION['course_id'] : $_GET['p_course']);
 -      $contentManager->initContent();
 -/**************************************************/
 +$savant->addPath('template', AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME'] . '/');
 +require(AT_INCLUDE_PATH . '../themes/' . $_SESSION['prefs']['PREF_THEME'] . '/theme.cfg.php');
 +
 +require(AT_INCLUDE_PATH.'classes/Message/Message.class.php');
 +$msg = new Message($savant);
  
 +$contentManager = new ContentManager($db, isset($_SESSION['course_id']) ? $_SESSION['course_id'] : $_GET['p_course']);
 +$contentManager->initContent();
 +
 +/**************************************************/
  require(AT_INCLUDE_PATH.'phpCache/phpCache.inc.php'); // cache library
  require(AT_INCLUDE_PATH.'lib/utf8.php');                      //UTF-8 multibyte library
  
@@@ -470,11 -403,6 +470,11 @@@ while ($row = mysql_fetch_assoc($result
  /*                                                                                                                                    */
  /********************************************************************/
  // p_course is set when pretty url is on and guests access a public course. @see bounce.php
 +// First, santinize p_course
 +if (isset($_REQUEST['p_course'])) {
 +      $_REQUEST['p_course'] = intval($_REQUEST['p_course']);
 +}
 +
  if (isset($_SESSION['course_id']) && $_SESSION['course_id'] > 0 || $_REQUEST['p_course'] > 0) {
        $sql = 'SELECT * FROM '.TABLE_PREFIX.'glossary 
                 WHERE course_id='.($_SESSION['course_id']>0 ? $_SESSION['course_id'] : $_REQUEST['p_course']).' 
@@@ -1422,7 -1350,9 +1422,8 @@@ function is_mobile_device() 
        return ((stripos($http_user_agent, IPOD_DEVICE) !== false && stripos($http_user_agent, IPOD_DEVICE) >= 0) ||
                        (stripos($http_user_agent, IPHONE_DEVICE) !== false && stripos($http_user_agent, IPHONE_DEVICE) >= 0) ||
                (stripos($http_user_agent, BLACKBERRY_DEVICE) !== false && stripos($http_user_agent, BLACKBERRY_DEVICE) >= 0) ||
 -                (stripos($http_user_agent, IPAD_DEVICE) !== false && stripos($http_user_agent, IPAD_DEVICE) >= 0) ||
++              (stripos($http_user_agent, IPAD_DEVICE) !== false && stripos($http_user_agent, IPAD_DEVICE) >= 0) ||
                (stripos($http_user_agent, ANDROID_DEVICE) !== false && stripos($http_user_agent, ANDROID_DEVICE) >= 0)) 
 -            
                ? true : false;
  }
  
@@@ -1434,6 -1364,8 +1435,8 @@@ function get_mobile_device_type() 
                return IPHONE_DEVICE;
        } else if (stripos($http_user_agent, BLACKBERRY_DEVICE) !== false && stripos($http_user_agent, BLACKBERRY_DEVICE) >= 0) {
                return BLACKBERRY_DEVICE;
 -                      } else if (stripos($http_user_agent, IPAD_DEVICE) !== false && stripos($http_user_agent, IPAD_DEVICE) >= 0) {
++      } else if (stripos($http_user_agent, IPAD_DEVICE) !== false && stripos($http_user_agent, IPAD_DEVICE) >= 0) {
+               return IPAD_DEVICE;
        } else if (stripos($http_user_agent, ANDROID_DEVICE) !== false && stripos($http_user_agent, ANDROID_DEVICE) >= 0) {
                return ANDROID_DEVICE;
        } else {
@@@ -1550,4 -1482,5 +1553,4 @@@ if (isset($_GET['submit_language']) && 
  if (isset($_SESSION['course_id']) && $_SESSION['course_id'] > 0) {
      $_custom_head .= '<script type="text/javascript" src="'.$_base_path.'jscripts/ATutorCourse.js"></script>';
  }
 -
  ?>
@@@ -17,7 -17,7 +17,7 @@@ if (admin_authenticate(AT_ADMIN_PRIV_CO
  \r
        $this->_pages['mods/_core/courses/admin/courses.php']['title_var'] = 'courses';\r
        $this->_pages['mods/_core/courses/admin/courses.php']['parent']    = AT_NAV_ADMIN;\r
 -      $this->_pages['mods/_core/courses/admin/courses.php']['guide']     = 'mods/_core/courses/admin/?p=courses.php';\r
 +      $this->_pages['mods/_core/courses/admin/courses.php']['guide']     = 'admin/?p=courses.php';\r
        $this->_pages['mods/_core/courses/admin/courses.php']['children']  = array('mods/_core/courses/admin/create_course.php','mods/_core/enrolment/admin/index.php', 'mods/_core/courses/admin/default_mods.php', 'mods/_core/courses/admin/default_side.php','mods/_core/courses/admin/auto_enroll.php');\r
  \r
                $this->_pages['mods/_core/courses/admin/instructor_login.php']['title_var'] = 'view';\r
  \r
                $this->_pages['mods/_core/courses/admin/create_course.php']['title_var'] = 'create_course';\r
                $this->_pages['mods/_core/courses/admin/create_course.php']['parent']    = 'mods/_core/courses/admin/courses.php';\r
 -              $this->_pages['mods/_core/courses/admin/create_course.php']['guide']     = 'mods/_core/courses/admin/?p=creating_courses.php';\r
 +              $this->_pages['mods/_core/courses/admin/create_course.php']['guide']     = 'admin/?p=creating_courses.php';\r
  \r
                $this->_pages['mods/_core/courses/admin/default_mods.php']['title_var'] = 'default_modules';\r
                $this->_pages['mods/_core/courses/admin/default_mods.php']['parent']    = 'mods/_core/courses/admin/courses.php';\r
 -              $this->_pages['mods/_core/courses/admin/default_mods.php']['guide']     = 'mods/_core/courses/admin/?p=default_student_tools.php';\r
 +              $this->_pages['mods/_core/courses/admin/default_mods.php']['guide']     = 'admin/?p=default_student_tools.php';\r
  \r
                $this->_pages['mods/_core/courses/admin/default_side.php']['title_var'] = 'default_side_menu';\r
                $this->_pages['mods/_core/courses/admin/default_side.php']['parent']    = 'mods/_core/courses/admin/courses.php';\r
 -              $this->_pages['mods/_core/courses/admin/default_side.php']['guide']     = 'mods/_core/courses/admin/?p=default_side_menu.php';\r
 +              $this->_pages['mods/_core/courses/admin/default_side.php']['guide']     = 'admin/?p=default_side_menu.php';\r
  \r
  \r
              $this->_pages['mods/_core/courses/admin/auto_enroll.php']['title_var'] = 'auto_enroll';\r
@@@ -41,7 -41,7 +41,7 @@@
              $this->_pages['mods/_core/courses/admin/auto_enroll.php']['guide']     = 'admin/?p=auto_enroll.php';\r
              $this->_pages['mods/_core/courses/admin/auto_enroll.php']['children']  = array_merge(array('mods/_core/courses/admin/auto_enroll_edit.php'));\r
              $this->_pages['admin/config_edit.php']['children']  = array_merge((array) $this->_pages['admin/config_edit.php']['children']);\r
\r
+                       $this->_pages['mods/_core/courses/admin/auto_enroll.php']['avail_in_mobile']   = false;\r
  \r
  \r
              $this->_pages['mods/_core/courses/admin/auto_enroll_edit.php']['title_var'] = 'auto_enroll_edit';\r
@@@ -266,146 -266,8 +266,6 @@@ require(AT_INCLUDE_PATH.'header.inc.php
  
  ?>
  
- <form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
-       <input type="hidden" name="tab" value="<?php echo $current_tab; ?>"/>
-       <input type="hidden" name="course_id" value="<?php echo $course_id; ?>"/>
-       <div class="input-form">
-       <fieldset class="group_form"><legend class="group_form"><?php echo _AT('search'); ?></legend>
-               <?php if (admin_authenticate(AT_ADMIN_PRIV_ENROLLMENT, TRUE)): ?>
-                       <div class="row">
-                               <label for="course"><?php echo _AT('course'); ?></label><br/>
-                               <select name="course_id" id="course">
-                               <?php
-                               $sql = "SELECT course_id, title FROM ".TABLE_PREFIX."courses ORDER BY title";
-                               $result = mysql_query($sql, $db);
-                               while ($courses_row = mysql_fetch_assoc($result)) {
-                                       if ($courses_row['course_id'] == $course_id) {
-                                               echo '<option value="'.$courses_row['course_id'].'" selected="selected">'.validate_length($courses_row['title'], 45,VALIDATE_LENGTH_FOR_DISPLAY).'</option>';
-                                       } else {
-                                               echo '<option value="'.$courses_row['course_id'].'">'.validate_length($courses_row['title'],45,VALIDATE_LENGTH_FOR_DISPLAY).'</option>';
-                                       }
-                               }
-                               ?></select>
-                       </div>
-               <?php endif; ?>
-               <div class="row">
-                       <label for="search"><?php echo _AT('search'); ?> (<?php echo _AT('login_name').', '._AT('first_name').', '._AT('second_name').', '._AT('last_name') .', '._AT('email'); ?>)</label><br />
-                       <input type="text" name="search" id="search" size="40" value="<?php echo htmlspecialchars($_GET['search']); ?>" />
-                       <br/>
-                       <?php echo _AT('search_match'); ?>:
-                       <input type="radio" name="match" value="all" id="match_all" <?php echo $checked_match_all; ?> /><label for="match_all"><?php echo _AT('search_all_words'); ?></label> <input type="radio" name="match" value="one" id="match_one" <?php echo $checked_match_one; ?> /><label for="match_one"><?php echo _AT('search_any_word'); ?></label>
-               </div>
-               <div class="row buttons">
-                       <input type="submit" name="filter" value="<?php echo _AT('filter'); ?>" />
-                       <input type="submit" name="reset_filter" value="<?php echo _AT('reset_filter'); ?>" />
-               </div>
-       </fieldset>
-       </div>
- </form>
- <?php print_paginator($page, $tab_counts[$current_tab], $page_string_w_tab . SEP . $order .'='. $col, $results_per_page); ?>
- <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="selectform">
- <input type="hidden" name="tab" value="<?php echo $current_tab; ?>" />
- <input type="hidden" name="course_id" value="<?php echo $course_id; ?>"/>
- <ul id="etabbed-list">
-       <?php for ($i = 0; $i< $num_tabs; $i++): ?>
-               <?php if ($current_tab == $i): ?>
-                       <li class="prefs_tab_selected"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?tab=<?php echo $i.$page_string; ?>" class="active"><strong><?php echo _AT($tabs[$i]); ?> - <?php echo $tab_counts[$i]; ?></strong></a></li>
-               <?php else: ?>
-                       <li class="prefs_tab"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?tab=<?php echo $i.$page_string; ?>"><?php echo _AT($tabs[$i]); ?> - <?php echo $tab_counts[$i]; ?></a></li>
-               <?php endif; ?>
-       <?php endfor; ?>
- </ul>
- <table class="data" style="width:95%;" summary="" rules="cols" >
- <colgroup>
-       <?php if ($col == 'login'): ?>
-               <col />
-               <col class="sort" />
-               <col span="4" />
-       <?php elseif($col == 'first_name'): ?>
-               <col span="2" />
-               <col class="sort" />
-               <col span="3" />
-       <?php elseif($col == 'second_name'): ?>
-               <col span="3" />
-               <col class="sort" />
-               <col span="2" />
-       <?php elseif($col == 'last_name'): ?>
-               <col span="4" />
-               <col class="sort" />
-               <col />
-       <?php elseif($col == 'email'): ?>
-               <col span="5" />
-               <col class="sort" />
-       <?php endif; ?>
- </colgroup>
- <thead>
- <tr>
-       <th scope="col" align="left"><input type="checkbox" value="<?php echo _AT('select_all'); ?>" id="all" title="<?php echo _AT('select_all'); ?>" name="selectall" onclick="CheckAll();" /></th>
-       <th scope="col"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $orders[$order]; ?>=login<?php echo $page_string_w_tab;?>"><?php echo _AT('login_name'); ?></a></th>
-       <th scope="col"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $orders[$order]; ?>=first_name<?php echo $page_string_w_tab;?>"><?php echo _AT('first_name'); ?></a></th>
-       <th scope="col"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $orders[$order]; ?>=second_name<?php echo $page_string_w_tab;?>"><?php echo _AT('second_name'); ?></a></th>
-       <th scope="col"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $orders[$order]; ?>=last_name<?php echo $page_string_w_tab;?>"><?php echo _AT('last_name'); ?></a></th>
-       <th scope="col"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $orders[$order]; ?>=email<?php echo $page_string_w_tab;?>"><?php echo _AT('email'); ?></a></th>
- </tr>
- </thead>
- <tfoot>
- <tr>
-       <td colspan="6">
-               <?php if ($current_tab == 0): ?>
-                       <input type="submit" name="role"     value="<?php echo _AT('privileges');  ?>" /> 
-                       <input type="submit" name="unenroll" value="<?php echo _AT('remove');    ?>" /> 
-                       <input type="submit" name="alumni"   value="<?php echo _AT('mark_alumni'); ?>" />
-               <?php elseif ($current_tab == 1): ?>
-                       <input type="submit" name="role" value="<?php echo _AT('privileges'); ?>" /> 
-                       <input type="submit" name="unenroll" value="<?php echo _AT('remove'); ?>" /> 
-               <?php elseif ($current_tab == 2): ?>
-                       <input type="submit" name="enroll"   value="<?php echo _AT('enroll'); ?>" /> 
-                       <input type="submit" name="unenroll" value="<?php echo _AT('remove'); ?>" />
-               
-               <?php elseif ($current_tab == 3): ?>
-                       <input type="submit" name="enroll" value="<?php echo _AT('enroll'); ?>" /> 
-                       <input type="submit" name="unenroll" value="<?php echo _AT('remove'); ?>" />
-               <?php elseif ($current_tab == 4): ?>
-                       <input type="submit" name="enroll"   value="<?php echo _AT('enroll'); ?>" /> 
--
-               <?php endif; ?></td>
- </tr>
- </tfoot>
- <tbody>
- <?php if ($tab_counts[$current_tab]): ?>
-       <?php while ($row = mysql_fetch_assoc($enrollment_result)): ?>
-               <tr onmousedown="document.selectform['m<?php echo $row['member_id']; ?>'].checked = !document.selectform['m<?php echo $row['member_id']; ?>'].checked; togglerowhighlight(this, 'm<?php echo $row['member_id']; ?>');" id="rm<?php echo $row['member_id']; ?>">
-                       <td><input type="checkbox" name="id[]" value="<?php echo $row['member_id']; ?>" id="m<?php echo $row['member_id']; ?>" onmouseup="this.checked=!this.checked" title="<?php echo AT_print($row['login'], 'members.login'); ?>" /></td>
-                       <td><?php echo AT_print($row['login'], 'members.login'); ?></td>
-                       <td><?php echo AT_print($row['first_name'], 'members.name'); ?></td>
-                       <td><?php echo AT_print($row['second_name'], 'members.name'); ?></td>
-                       <td><?php echo AT_print($row['last_name'], 'members.name'); ?></td>
-                       <td><?php echo AT_print($row['email'], 'members.email'); ?></td>
-               </tr>
-       <?php endwhile; ?>
- <?php else: ?>
-       <tr>
-               <td colspan="6"><?php echo _AT('none_found'); ?></td>
-       </tr>
- <?php endif; ?>
- </tbody>
- </table>
- </form>
--
  <script language="JavaScript" type="text/javascript">
  //<!--
  function CheckAll() {
@@@ -427,4 -289,31 +287,32 @@@ function togglerowhighlight(obj, boxid
  }
  //-->
  </script>
- <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
+ <?php 
+ $savant->assign('current_tab', $current_tab);
+ $savant->assign('course_id', $course_id);
+ $sql = "SELECT course_id, title FROM ".TABLE_PREFIX."courses ORDER BY title";
+ $result = mysql_query($sql, $db);
+ $savant->assign('result', $result);
+ $savant->assign('checked_match_all', $checked_match_all);
+ $savant->assign('checked_match_one', $checked_match_one);
+ $savant->assign('page', $page);
+ $savant->assign('tab_counts', $tab_counts);
+ $savant->assign('page_string_w_tab', $page_string_w_tab);
+ $savant->assign('order', $order);
+ $savant->assign('orders', $orders);
+ $savant->assign('col', $col);
+ $savant->assign('cols', $cols);
+ $savant->assign('results_per_page', $results_per_page);
+ $savant->assign('num_tabs', $num_tabs);
+ $savant->assign('tabs', $tabs);
+ $savant->assign('enrollment_result', $enrollment_result);
+ if($_SESSION['is_admin'] == 0 && $_SESSION['privileges'] == AT_ADMIN_PRIV_ADMIN) {
+       $savant->display('admin/courses/enrollment.tmpl.php');
+ }
+ if($_SESSION['is_admin'] == 1){
+       $savant->display('instructor/enrolment/index.tmpl.php');
+ }
 -require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
++require(AT_INCLUDE_PATH.'footer.inc.php'); 
++?>
@@@ -18,78 -18,6 +18,78 @@@ define('AT_INCLUDE_PATH', '../../../inc
  require(AT_INCLUDE_PATH.'vitals.inc.php');
  admin_authenticate(AT_ADMIN_PRIV_USERS);
  
 +/**
 + * A simple method to sign the request with the secret using HMAC.  
 + * @param   String      Use UTC time, gmdate("Y-m-d\TH:i:s\Z");
 + * @param   String      Hashed secret.  Unique per user.   
 + */
 +function at_sign_request($timestamp, $publicKey) {
 +    global $db;
 +    if (!isset($_SESSION['login'])) {
 +        return $url;
 +    }
 +    $sql = 'SELECT last_login FROM ' . TABLE_PREFIX . "admins WHERE login='$_SESSION[login]'";
 +    $result = mysql_query($sql, $db);
 +    $row = mysql_fetch_assoc($result);
 +    //This key should be unique often enough yet binds to the user only.
 +    //easier way is to create a key table
 +    $privateKey = hash_hmac('sha256', $row['last_login'], $row['password']);
 +
 +    /* 
 +     * Our simple way to sign the key
 +     * include GET header, then sort query, add current timestamp, sign it.
 +     */
 +    $canonicalArray['publicKey'] = $publicKey;
 +    $canonicalArray['timestamp'] = $timestamp;
 +
 +    $str = "GET http/1.0\n";
 +    foreach ($canonicalArray as $k => $v) {
 +        $str .= "$k=" . rawurlencode($v) . "\n";
 +    }
 +    $hmacSignature = base64_encode(hash_hmac('sha512', $str, $privateKey, true));
 +    return rawurlencode($hmacSignature);
 +}
 +
 +/**
 + * Verify request by the given signedUrl
 + * @param   String      querystring without '?', usually the $_SERVER['QUERY_STRING']
 + *
 + */
 +function at_verify_request($signature, $timestamp, $publicKey) {
 +    global $db;
 +    if ($signature == "" || $timestamp == "" || $publicKey == "") {
 +        //if parameters are empty, return false.
 +        return false;
 +    }
 +    $sql = 'SELECT last_login FROM ' . TABLE_PREFIX . "admins WHERE login='$_SESSION[login]'";
 +    $result = mysql_query($sql, $db);
 +    $row = mysql_fetch_assoc($result);
 +    $privateKey = hash_hmac('sha256', $row['last_login'], $row['password']);
 +    
 +    $canonicalArray = array();
 +    $canonicalArray['publicKey'] = $publicKey;
 +    $canonicalArray['timestamp'] = $timestamp;
 +    //check expirary
 +    $timeDiff = time() - strtotime($canonicalArray['timestamp']);
 +    if ($timeDiff > 36000) {
 +        //more than 10mins, expired.
 +        //TODO: use constants.
 +        die('time expired');
 +        return false;
 +    }
 +    //check data integrity
 +    //generate our own hmac to check
 +    $str = "GET http/1.0\n";
 +    foreach ($canonicalArray as $k => $v) {
 +        $str .= "$k=" . rawurlencode($v) . "\n";
 +    }
 +    $hmacSignature = base64_encode(hash_hmac('sha512', $str, $privateKey, true));
 +    if (rawurldecode($signature) === $hmacSignature) {
 +        return true;
 +    } 
 +    return false;    
 +}
 +
  if (isset($_GET['deny']) && isset($_GET['id'])) {
        header('Location: admin_deny.php?id='.$_GET['id']);
        exit;
        */
  
  } else if (isset($_GET['approve']) && isset($_GET['id'])) {
 +    //verify token first.
 +    if (!at_verify_request($_GET['auth_token'], $_GET['auth_timestamp'], $_GET['auth_publicKey'])) {
 +        $msg->addError('INVALID_AUTH_REQUEST');
 +        header('Location: instructor_requests.php');
 +        exit;
 +    }
 +    
        $id = intval($_GET['id']);
  
        $sql = 'DELETE FROM '.TABLE_PREFIX.'instructor_approvals WHERE member_id='.$id;
        $msg->addError('NO_ITEM_SELECTED');
  }
  
 +/* Authentication info */
 +$timestamp = gmdate("Y-m-d\TH:i:s\Z");
 +$publicKey = hash('sha256', mt_rand());
 +
  require(AT_INCLUDE_PATH.'header.inc.php'); 
  
  $sql  = "SELECT M.login, M.first_name, M.last_name, M.email, M.member_id, A.* FROM ".TABLE_PREFIX."members M, ".TABLE_PREFIX."instructor_approvals A WHERE A.member_id=M.member_id ORDER BY M.login";
  $result = mysql_query($sql, $db);
  $num_pending = mysql_num_rows($result);
- ?>
- <form name="form" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
- <table class="data" summary="" rules="cols">
- <thead>
- <tr>
-       <th scope="col">&nbsp;</th>
-       <th scope="col"><?php echo _AT('login_name');     ?></th>
-       <th scope="col"><?php echo _AT('first_name');   ?></th>
-       <th scope="col"><?php echo _AT('last_name');    ?></th>
-       <th scope="col"><?php echo _AT('email');        ?></th>
-       <th scope="col"><?php echo _AT('notes');        ?></th>
- </tr>
- </thead>
- <tfoot>
- <tr>
-       <td colspan="6">
-       <input type="hidden" name="auth_publicKey" value="<?php echo $publicKey; ?>" />
-       <input type="hidden" name="auth_timestamp" value="<?php echo $timestamp; ?>" />
-       <input type="hidden" name="auth_token" value="<?php echo at_sign_request($timestamp, $publicKey); ?>" />
-       <input type="submit" name="deny" value="<?php echo _AT('deny'); ?>" /> 
-       <input type="submit" name="approve" value="<?php echo _AT('approve'); ?>" /></td>
- </tr>
- </tfoot>
- <tbody>
- <?php
-       if ($row = mysql_fetch_assoc($result)) {
-               do {
-                       echo '<tr onmousedown="document.form[\'i'.$row['member_id'].'\'].checked = true;rowselect(this);" id="r_'.$row['member_id'].'">';
-                       echo '<td><input type="radio" name="id" value="'.$row['member_id'].'" id="i'.$row['member_id'].'" /></td>';
-                       echo '<td><label for="i'.$row['member_id'].'">'.AT_print($row['login'], 'members.login').'</label></td>';
-                       echo '<td>'.AT_print($row['first_name'], 'members.first_name').'</td>';
-                       echo '<td>'.AT_print($row['last_name'], 'members.last_name').'</td>';
-                       echo '<td>'.AT_print($row['email'], 'members.email').'</td>';
-                       
-                       echo '<td>'.AT_print($row['notes'], 'instructor_approvals.notes').'</td>';
-                       echo '</tr>';
-               } while ($row = mysql_fetch_assoc($result));
-       } else {
-               echo '<tr><td colspan="6">'._AT('none_found').'</td></tr>';
-       }
- ?>
- </tbody>
- </table>
- </form>
  
- <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
+ $savant->assign('result', $result);
+ $savant->assign('num_pending', $num_pending);
+ $savant->display('admin/users/instructor_requests.tmpl.php');
 -require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
++
++require(AT_INCLUDE_PATH.'footer.inc.php'); 
++?>
@@@ -23,15 -23,15 +23,15 @@@ if (admin_authenticate(AT_ADMIN_PRIV_PA
        $this->_pages['mods/_standard/patcher/index_admin.php']['title_var'] = 'patcher';\r
        $this->_pages['mods/_standard/patcher/index_admin.php']['parent']    = AT_NAV_ADMIN;\r
        $this->_pages['mods/_standard/patcher/index_admin.php']['avail_in_mobile']   = false;\r
-       \r
 -\r
++
        $this->_pages['mods/_standard/patcher/index_admin.php']['children'] = array('mods/_standard/patcher/myown_patches.php','mods/_standard/patcher/patch_create.php');\r
        $this->_pages['mods/_standard/patcher/myown_patches.php']['title_var'] = 'myown_patches';\r
        $this->_pages['mods/_standard/patcher/myown_patches.php']['parent']   = 'mods/_standard/patcher/index_admin.php';\r
 -\r
 +      \r
        $this->_pages['mods/_standard/patcher/myown_patches.php']['children'] = array('mods/_standard/patcher/patch_create.php');\r
        $this->_pages['mods/_standard/patcher/patch_create.php']['title_var'] = 'create_patch';\r
        $this->_pages['mods/_standard/patcher/patch_create.php']['parent']   = 'mods/_standard/patcher/myown_patches.php';\r
 -\r
 +      \r
        $this->_pages['mods/_standard/patcher/patch_edit.php']['title_var'] = 'edit_patch';\r
        $this->_pages['mods/_standard/patcher/patch_edit.php']['parent']   = 'mods/_standard/patcher/myown_patches.php';\r
  \r
@@@ -10,24 -10,25 +10,24 @@@ html,body
        margin-left:.8em;
        float:left;
  }
- /* main body attributes */
+ /* main body attributes STARTED HERE */
  body {
        font-family: Verdana, Helevetica, Arial, sans-serif;
 +      font-size:.8em;
        margin:0px;
 -      margin-top: -10px;
 -      background-color: #EDE7C2;
 +      background-color: #F2F9FA;
  }
  .page_wrapper{
 -      border:1px solid #aaaaaa;
 -      width:97%;
 +/*    border:1px solid #aaaaaa;*/
 +      width:100%;
        margin-left:auto;
        margin-right:auto;
 -      margin-top:1em;
        background-color: #ffffff;
        border-radius: 1em 1em 1em 1em;
        -moz-border-radius: 1em 1em 1em 1em;
 -      -moz-box-shadow:.1em .1em  #999999;
 -      box-shadow: .1em .1em  #999999;
 -      background-image: url('images/atutor_head.jpg');
 +/*    -moz-box-shadow:.1em .1em  #999999;
 +      box-shadow: .1em .1em  #999999;*/
 +/*    background-image: url('images/atutor_head.jpg');*/
        background-position: 0% 0%;
        background-repeat: repeat-x;
      background-size:auto auto;
@@@ -37,7 -38,7 +37,7 @@@ p 
        margin: 0.5em 0em 1em 0em;
        text-align: justify;
        line-height: 150%;
 -      font-size: 1em;
 +/*    font-size: 1em;*/
  }
  
  p a {
@@@ -72,9 -73,6 +72,9 @@@ h2 
  h2.sidebox{
        font-size: 110%;
  }
 +h2.box{
 +      font-size: 110%;
 +}
  h3 {
        font-size: 130%;
  }
@@@ -174,9 -172,9 +174,9 @@@ a.dropdown-title 
        border:  #AAA  solid 1px;
        border-radius: .3em .3em .3em .3em;
        -moz-border-radius: .3em .3em .3em .3em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -      box-shadow: .1em .1em .2em #999999;
 -      font-size:100%;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +      box-shadow: .1em .1em .2em #999999;*/
 +/*    font-size:100%;*/
  
  }
  .button:focus {
@@@ -262,6 -260,7 +262,6 @@@ a .highlight
  /* edit content tabs */
  .buttontab {
        color:#555;
 -      font-size:10pt;
        white-space: nowrap;
        background-color: #FFFFFF;
        margin: 0px;
@@@ -555,7 -554,7 +555,7 @@@ div#toctoggle 
  h1#section-title {
        float: left;
        margin-left:1em;
 -      margin-top:-1em;
 +      margin-top:-.5em;
        
  }
  
@@@ -584,29 -583,29 +584,29 @@@ div#top-links a:focus
        float:right;
        clear:right;
        margin-left: 2em;
 -      margin-top:.2em;
 +      margin-top:-1em;
        white-space:nowrap;
 -      background-color:#eeeeee;
 +      background-color:#F2F7F7;
        border:thin solid #cccccc;
        border-radius: .3em .3em .3em .3em;
        -mox-border-radius: .3em .3em .3em .3em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -       box-shadow: .1em .1em  .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +       box-shadow: .1em .1em  .2em #999999;*/
  }
  #top-links-jump{
        float:left;
        white-space:nowrap;
 -      margin-top:.2em;
 -      background-color:#eeeeee;
 +      margin-top:-1em;
 +      background-color:#F2F7F7;
        padding-right:.5em;
  }
  
  #jumpmenu{
 -      background-color:#eeeeee;
 +      background-color:#F2F7F7;
        border:thin solid #cccccc;
        border-radius:.3em .3em .3em .3em;
        -moz-border-radius:.3em .3em .3em .3em; 
 -      font-size:100%;
 +/*    font-size:100%;*/
  }
  a#editor-link {
        background-color: #F7F3ED;
@@@ -782,7 -781,6 +782,7 @@@ div#error ul, div#feedback ul, div#hel
        list-style: none;
        margin-left: 0px;
        padding-left: 0px;
 +      list-style-type:none;
  }
  
  div#error ul li{
@@@ -976,12 -974,8 +976,12 @@@ div.paging li a:hover, div.paging li a.
  
  #header{
        /* background-image: url('images/pencil_top_ds.png'); */
 -      background-position: 99% 99%;
 -      background-repeat: no-repeat;
 +/*    background-position: 99% 99%;*/
 +      background-repeat: repeatx;
 +      background-image: url('images/atutor_head.jpg');
 +      height:4em;
 +      margin-bottom:-2em;
 +      padding-bottom: 2em;
  }
  
  #header a{
@@@ -1046,15 -1040,15 +1046,15 @@@ div.tabs a:hover, div.tabs a.active 
  .contentbox{
        border-radius:.5em;
        -moz-border-radius: 0em 0em .5em .5em;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -      box-shadow: .1em .1em .1em #999999;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +      box-shadow: .1em .1em .1em #999999;*/
  }
  
  .headingbox{
        border-radius:.5em;
        -moz-border-radius: .5em .5em 0em 0em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -      box-shadow: .1em .1em .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +      box-shadow: .1em .1em .2em #999999;*/
  }
  .headingbox a{
        color: #A50707;
@@@ -1067,25 -1061,9 +1067,25 @@@ h4.box 
        border-radius: .5em .5em 0em 0em;
        -moz-border-radius: .5em .5em 0em 0em;
        padding:.2em;
 -      border:1px solid #ccc;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -      box-shadow: .1em .1em .1em #999999;
 +      border-top:1px solid #F2F7F7;
 +      border-left:1px solid #F2F7F7;
 +      border-right:1px solid #F2F7F7;
 +              border-bottom:1px solid #F2F7F7;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +      box-shadow: .1em .1em .1em #999999;*/
 +}
 +h2.box {
 +      font-size:0.85em;
 +      padding: 2px;
 +      border-radius: .5em .5em 0em 0em;
 +      -moz-border-radius: .5em .5em 0em 0em;
 +      padding:.2em;
 +      border-top:1px solid #F2F7F7;
 +      border-left:1px solid #F2F7F7;
 +      border-right:1px solid #F2F7F7;
 +              border-bottom:1px solid #F2F7F7;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +      box-shadow: .1em .1em .1em #999999;*/
  }
  
  div.box {
        font-weight: normal;
        border-radius:.0em .0em .5em .5em;
        -moz-border-radius: .0em .0em .5em .5em;
 -      border-left:1px solid #ccc;
 +/*    border-left:1px solid #ccc;
        border-right:1px solid #ccc;
 -      border-bottom:1px solid #ccc;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -       box-shadow: .1em .1em  .1em #999999;
 +      border-bottom:1px solid #ccc;*/
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +       box-shadow: .1em .1em  .1em #999999;*/
  }
  
  h5.box { 
@@@ -1133,7 -1111,7 +1133,7 @@@ div.box a:hover 
  
  div.box .content {
        padding: 1em;
 -      font-size:  1em;
 +/*    font-size:  1em;*/
  }
  
  div.box a.close {
@@@ -1220,9 -1198,9 +1220,9 @@@ div#alternatives_shortcuts 
        margin: -2em 5pt;
        border-radius: .5em .5em .5em .5em;;
        -moz-border-radius: .5em .5em .5em .5em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -       box-shadow: .1em .1em  .2em #999999;
 -       border:1px solid #cccccc;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +       box-shadow: .1em .1em  .2em #999999;*/
 +       border:1px solid #F2F7F7;
         padding-top: .2em;
         padding-left: .2em;
         padding-right: .2em;
@@@ -1245,15 -1223,15 +1245,15 @@@ fieldset 
        padding:.2em
  }
  div#shortcuts{
 -      border-left:thin solid #cccccc;
 -      border-right:thin solid #cccccc;
 -      border-bottom:thin solid #cccccc;
 -      border-radius: 0em 0em .5em .5em;;
 +      border-left:thin solid #F2F7F7;
 +      border-right:thin solid #F2F7F7;
 +      border-bottom:thin solid #F2F7F7;
 +      border-radius: 0em 0em .5em .5em;
        -moz-border-radius: 0em 0em .5em .5em;
        float:right;
                margin-top:-.2em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -       box-shadow: .1em .1em  .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +       box-shadow: .1em .1em  .2em #999999;*/
        margin-right:2em;
        padding:.1em;
  }
@@@ -1291,8 -1269,8 +1291,8 @@@ div#guide_box
        border-bottom:thin solid #cccccc;
        border-radius: 0em 0em .5em .5em;
        -moz-border-radius: 0em 0em .5em .5em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -      box-shadow: .1em .1em .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +      box-shadow: .1em .1em .2em #999999;*/
        float:right;
        margin-top:-.2em;
        margin-right:2em;
@@@ -1316,11 -1294,11 +1316,11 @@@ div#content-test 
        width: 80%;
  }
  div#content-test ol{  
-       margin-right: 5pt;      
+       margin-right: 5pt;
  }
  
  div#content-test ol ul li{
 -      list-style: none;
 +      list-style-type: none;
        padding: 0px 2px 0px 15px;
        margin-bottom: 1px; 
        line-height: 200%; 
        border-bottom: 1px solid #efefef; 
        border: 1px solid #eeeeff;
  }
 +div#content-test li{
 +      list-style-type: none;
 +}
 +div#content-forum {   
 +      float: left;
 +      margin-top: 2em;
 +      padding-right: 5pt;
 +      width: 80%;
 +}
 +div#content-forum ol{ 
 +      margin-right: 5pt;      
 +}
 +
 +div#content-forum ol ul li{
 +      list-style-type: none;
 +      padding: 0px 2px 0px 15px;
 +      margin-bottom: 1px; 
 +      line-height: 200%; 
 +      background-color: #fdfdfd; 
 +      border-bottom: 1px solid #efefef; 
 +      border: 1px solid #eeeeff;
 +}
 +div#content-forum li{
 +      list-style-type: none;
 +}
  
  div#content-info {
        margin: 5pt;
@@@ -1370,8 -1323,8 +1370,8 @@@ div#container 
        border:1px solid #cccccc;
        border-radius: .5em .5em .5em .5em;
        -moz-border-radius: .5em .5em .5em .5em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -       box-shadow: .1em .1em  .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +       box-shadow: .1em .1em  .2em #999999;*/
        padding:.2em
  }
  
@@@ -1484,8 -1437,8 +1484,8 @@@ div.social-wrapper
        padding:5em;
        border-radius:.5em .5em .5em .5em;
        -moz-border-radius: .5em .5em .5em .5em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -       box-shadow: .1em .1em .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +       box-shadow: .1em .1em .2em #999999;*/
  }
  /* floating layout */
  #contentwrapper{
@@@ -1515,9 -1468,9 +1515,9 @@@ overflow:hidden
  }
  
  /** forum stuff **/
 -#forum-thread li {border:1px solid #eee; border-bottom: 1px solid #F7F3ED; float:left; width: 97%; list-style: none; }
 -#forum-thread li.even { background-color: #F7F3ED; border-top: none;  margin-top:.5em;}
 -#forum-thread li.odd { background-color: #fff; margin-top:1em;}
 +.forum-thread li {border:1px solid #eee; border-bottom: 1px solid #F7F3ED; float:left; width: 97%; list-style: none; }
 +.forum-thread li.even { background-color: #F7F3ED; border-top: none;  margin-top:.5em;}
 +.forum-thread li.odd { background-color: #fff; margin-top:1em;}
  div.forum-post-author { float:left; width:150px; padding:8px 10px; }
  div.forum-post-author a.title {font-size: 1.1em; line-height: 1.2em; font-weight: bold; text-decoration:none; }       
  div.forum-post-author img.profile-picture { border: 2px solid #F7F3ED; text-align:right;}
@@@ -1542,9 -1495,9 +1542,9 @@@ div#topnavlistcontainer 
        /*background-image: url('images/pencil_bottom_ds.png'); */
        height:1.6em;
        margin-left:1em;
 -      border-bottom:1px solid #cccccc;
        clear:both;
  
 +
  }
  
  ul#topnavlist {
@@@ -1560,22 -1513,23 +1560,22 @@@ ul#topnavlist li 
        list-style: none;
        display: inline-block;
        height:auto;
 -      margin-top:.1em;
        border-radius: .5em .5em 0em 0em;
        -moz-border-radius: .5em .5em 0em 0em;
 -      -moz-box-shadow:.1em .0em .1em #999999;
 -      box-shadow: .1em .0em .1em #999999;
 +/*    -moz-box-shadow:.1em .0em .1em #999999;
 +      box-shadow: .1em .0em .1em #999999;*/
        padding: 0em 0em 0em 0em;
  
  }
  
  ul#topnavlist li a:hover, ul#topnavlist li a:focus, ul#topnavlist li a.active {
 -      background-color: #E6E6E6;
 +      background-color:  #F2F7F7;
        color: black;
        text-decoration:none;
        border-radius: .5em .5em 0em 0em;
        -moz-border-radius: .5em .5em 0em 0em;
 -      padding: .2em 1.8em .2em 1.8em;
 -      border-bottom: 1px solid #E6E6E6;
 +      padding: .1em 1.8em .2em 1.8em;
 +      border-bottom: 1px solid #F2F7F7;
  
  }
  
@@@ -1601,8 -1555,7 +1601,8 @@@ ul#topnavlist li a.selected 
        font-weight: normal;
        border-radius:.3em .3em 0em 0em;
        -moz-border-radius: .3em .3em 0em 0em;
 -      padding: .2em 1.8em .1em 1.8em;
 +      padding: 1em 1.8em 1em 1.8em;
 +      margin-bottom:0em;
  }
  
  ol#tools>li:hover {
@@@ -1643,7 -1596,7 +1643,7 @@@ ul.child-top-tool:before 
  li.child-tool {
        display: inline;
        margin-right: 5px;
 -      font-size: 80%;
 +/*    font-size: 80%;*/
  }
  
  /* to modify  tool icons on the course home page */
@@@ -1671,7 -1624,7 +1671,7 @@@ div.browse-course 
        padding-bottom: 10px;
        background-color: #fffaf0;
        border:1px #6F7172 solid;
 -      font-size:9pt;
 +/*    font-size:9pt;*/
        min-height:18em;
        margin:auto;
        margin-left:1em;
@@@ -1720,8 -1673,8 +1720,8 @@@ legend.group_form
        padding-right: 1em;
        border-radius:.2em;
        -moz-border-radius: .2em .2em .2em .2em;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -      box-shadow: .1em .1em .1em #999999;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +      box-shadow: .1em .1em .1em #999999;*/
  }
  /* file storage */
  
@@@ -1822,7 -1775,7 +1822,7 @@@ sup
  }
  a.tooltip{
        color:blue;
 -      font-size:100%;
 +/*    font-size:100%;*/
        padding-left:.2em;
        padding-right:.2em;
        padding-bottom:.2em;
  
  div.home_box {
        width: 25em;
 -      height: 166px;  
 -      margin-top: .4em;
 +      height: 10em;   
 +      margin-top: 1em;
        padding: 3px;
        padding-bottom: .4em;
        float: left;
        height:9.8em;
        -moz-border-radius:.3em .3em .3em .3em;
        border-radius: .3em .3em .3em .3em;
 -      -moz-box-shadow:.1em .1em .2em #999999;
 -      box-shadow: .1em .1em .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .2em #999999;
 +      box-shadow: .1em .1em .2em #999999;*/
        padding:.2em;
  
  }
  
  }
  .draggable_selected {
 -      background-color: lightgrey;
 +      background-color: lightgray;
        cursor: move;
  }
  div#subnavlistcontainer {
 -      width:95%;
 +      width:90%;
        margin:auto;
 -
 -      height:auto;
 +      height:1.8em;
  
  }
  div#subnavbacktopage {
@@@ -1911,7 -1865,7 +1911,7 @@@ ul#subnavlist 
        padding-top: 4px;
        margin-top: 0px;
        font-family: Verdana,Helvetica,Arial,serif;
 -      font-size:.8em;
 +/*font-size:1.0em;*/
  
  
  }
@@@ -1927,17 -1881,16 +1927,17 @@@ ul#subnavlist li 
        border-right:1px solid #cccccc;
        border-radius: .3em .3em 0em 0em;
        -moz-border-radius: .3em .3em 0em 0em;
 -      height:1.0em;   
 -      -moz-box-shadow:.1em .0em .1em #999999;
 -      box-shadow: .1em .0em .1em #999999;
 +      height:.8em;    
 +/*    -moz-box-shadow:.1em .0em .1em #999999;
 +      box-shadow: .1em .0em .1em #999999;*/
        padding: 0em .5em .6em .5em ;
  }
  
  ul#subnavlist li a:hover, ul#subnavlist li a:focus, ul#subnavlist li.active, ul#subnavlist li:hover{
        color: black;
        text-decoration:none;
 -      background-color: #E6E6E6;
 +      background-color: #F8F8F8;
 +      border-bottom:thin solid #F8F8F8;
  }
  
  ul#subnavlist li a {
@@@ -1974,7 -1927,7 +1974,7 @@@ tr.odd 
  /* Content editor tabs */
  .editor_buttontab {
        color:#000000;
 -      font-size:10pt;
 +/*    font-size:10pt;*/
        border:0;
        white-space: nowrap;
        background-color: #ffffff;
        background-color: #ffffff;
        border-radius: .3em .3em 0em 0em;
        -moz-border-radius: .3em .3em 0em 0em;
 -      -moz-box-shadow:.1em .0em .1em #999999;
 -      box-shadow: .1em .0em .1em #999999;
 +/*    -moz-box-shadow:.1em .0em .1em #999999;
 +      box-shadow: .1em .0em .1em #999999;*/
        padding: 0em .2em 0em .2em ;
        height:1.4em;
  }
        border: 1px solid #cccccc;
        border-radius: .5em .5em .5em .5em;
        -moz-border-radius: .5em .5em .5em .5em;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -       box-shadow: .1em .1em  .2em #999999;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +       box-shadow: .1em .1em  .2em #999999;*/
  }
  
  ul.current_list{
  }
  
  .logoutbar{
 -      background-color:#E6E6E6
 +      background-color: #F2F7F7
        font-size:0.85em; 
 -      border-bottom:1px solid #cccccc
 +      border-bottom:1px solid #F2F7F7
        height:2em;
 -        margin-top:-.15em;
        text-align:right;
        padding-right:1em;
        clear:both;
  
  table.etabbed-table   {
        padding-left:5em;
 -      font-size:10pt;
 +/*    font-size:10pt;*/
  }
  /* Preference Editor tabs */
  .etabbed-list-container {
 -      font-size:10pt;
 +/*    font-size:10pt;*/
        width:75%;
        margin-left:auto;
        margin-right:auto;
  }
  
  .prefs_buttontab {
 -      height:1.4em;
 +
        background-color: #ffffff;
        border-left:0;
        border-right:0;
        border-bottom:0;
        border-top:  1px solid #ffffff;
        
 -
 -/*    color:#000555;
 -      font-size:0pt;
 -      white-space: nowrap;
 -      background-color: #ffffff;
 -      border:0;
 -      font-weight:500;
 -      padding:0em 0em -.3em -.4em;
 -      border-radius:.3em;
 -      -moz-border-radius: .3em .3em .3em .3em;*/
 -
  }
  .prefs_tab{
 -      height:1.6em;
 +
        border-top: 1px solid #cccccc;
        border-left: 1px solid #cccccc;
        border-right: 1px solid #cccccc;
        background-color: #FFFFFF;
        border-radius: .3em .3em 0em 0em;
        -moz-border-radius: .3em .3em 0em 0em;
 -      padding: .3em .2em 0em .3em;
 +      padding: 0em .2em .2em .3em;
        display: inline;
        margin-left:.5em;
                font-weight:bold;
        text-decoration:none;
  }
      
 -
 -
  .prefs_tab_selected{
 -    height:1.8em;
 +
        border-top: 1px solid #cccccc;
        border-left: 1px solid #cccccc;
        border-right: 1px solid #cccccc;
        background-color: #eeeeee;
        border-radius:.3em .3em 0em 0em;
        -moz-border-radius: .3em .3em 0em 0em;
 -      padding: .2em .2em 0em .5em;
 -      padding: .2em .2em 0em .3em;
 +      padding: .2em .2em .2em .3em;
        display: inline;
        margin-left:.5em;
        font-weight:bold;
        
  }
  
 -
 -/*.prefs_buttontab {
 -      color:#000555;
 -      font-size:0pt;
 -      white-space: nowrap;
 -      background-color: #ffffff;
 -      margin-bottom: .5px;
 -      border:0;
 -      font-weight:500;
 -      padding:0em 0em 0em;
 -      border-radius:.3em;
 -      -moz-border-radius: .3em .3em .3em .3em;
 -
 -}
 -.prefs_tab{
 -      border-top: 1px solid #cccccc;
 -      border-left: 1px solid #cccccc;
 -      border-right: 1px solid #cccccc;
 -      text-align: center;
 -      white-space: nowrap;
 -      background-color: #FFFFFF;
 -      border-radius: .3em .3em 0em 0em;
 -      -moz-border-radius: .3em .3em 0em 0em;
 -      padding: .2em .5em 0em .5em;
 -      -moz-box-shadow:.1em .1em 0em #999999;
 -      box-shadow: .1em .1em 0em #999999;
 -      display: inline;
 -      padding-bottom: .9px;
 -      margin: .5em;
 +a.pref_wiz_launcher{
 +      cursor:pointer;
  }
 -    
 -.prefs_buttontab:hover, .prefs_tab:hover {
 -      background-color: #eeeeee;
 -}
 -
 -.prefs_tab_selected{
 -    
 -      border-top: 1px solid #cccccc;
 -      border-left: 1px solid #cccccc;
 -      border-right: 1px solid #cccccc;
 -      border-bottom:0;
 -        background-color: #eeeeee;
 -      margin: 0px;
 -      font-weight:bold;
 -      text-align:center;
 -      padding: .2em .5em 0em .5em ;
 -      white-space: nowrap;
 -      text-decoration:none;
 -      border-radius:.3em;
 -      -moz-border-radius: .3em .3em 0em 0em;
 -      -moz-box-shadow:.1em .1em .0 #999999;
 -      box-shadow: .1em .1em .1em #999999;
 -      display: inline;
 -}*/
  
  .admin_container{
        border:1px solid #cccccc;
        width:100%;
        height:2.5em;
                clear:both;
 -      font-size: 0.85em;
 +/*    font-size: 0.85em;*/
        padding:3px;
        float:left;
  
          float:left;
          border-radius: .5em .5em .5em .5em;
        -moz-border-radius: .5em .5em .5em .5em;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -       box-shadow: .1em .1em  .1em #999999;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +       box-shadow: .1em .1em  .1em #999999;*/
  }
  .shortcut_icon{
        border:0;
@@@ -2250,8 -2269,8 +2250,8 @@@ ul#content-tool-links img
        margin-right:auto;
        border-radius: .3em .3em .3em .3em;
        -moz-border-radius: .3em .3em .3em .3em;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -      box-shadow: .1em .1em .1em #999999;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +      box-shadow: .1em .1em .1em #999999;*/
  }
  
  .tr_results_tools{
        border:thin solid #cccccc;
        border-radius: .3em .3em .3em .3em;
        -moz-border-radius: .3em .3em .3em .3em;
 -      -moz-box-shadow:.1em .1em .1em #999999;
 -      box-shadow: .1em .1em .1em #999999;
 +/*    -moz-box-shadow:.1em .1em .1em #999999;
 +      box-shadow: .1em .1em .1em #999999;*/
  }
  
  div.pageinator_box{
@@@ -2459,20 -2478,16 +2459,20 @@@ margin-left:2em
        border:0;
  height:.9em;
  width:.9em;
 -font-size:100%;
 +/*font-size:100%;*/
  }
  div.bypass{
  height:1px;
  }
  /* relative image size styles */
  
 -img.img1616{
 -height:1.5em;
 -width:1.5em;
 +input.img1616{
 +cursor:pointer;
 +}
 +
 +input.img1616, img.img1616{
 +height:1.6em;
 +width:1.6em;
  }
  
  img.img1111{
@@@ -2489,452 -2504,14 +2489,456 @@@ width:.9em
  font-size:100%;
  }
  
 +.fl-force-right{
 +float:right;  
 +      
 +}
  img.fl-col{
  height:3.5em;
  width:3.5em;
 -font-size:100%;
 +/*font-size:100%;*/
 +}
 +
 +
 +/*  Photo Album Styles 
 + * 
 + * 
 + * 
 + * 
 + */
 +div.topbar{
 +      float:left;
 +      width: 95%;
 +}
 +div.paginator{
 +      float: right;
 +      margin: 0px;
 +}
 +.paginator ul li{
 +      list-style: none;
 +}
 +.paginator li{
 +      padding-right: 0.5em;
 +      float: left;
 +}
 +
 +div.summary{
 +      float: left;
 +      margin-top: 0.5em;
 +      width:70%;
 +}
 +
 +div.album_panel{
 +      float: left;
 +      background: #F7F7F7;
 +      border: 1px solid #D2D2D2;      
 +      width: 96%;
 +      border-radius:.5em;
 +      -moz-border-radius: .5em .5em .5em .5em;
 +/*    -moz-box-shadow:.2em .2em .1em #999999;
 +    box-shadow: .2em .2em .1em #999999;*/
 +      padding:.3em;
 +}
 +div.album_panel div.photo_wrapper {
 +      /* This class is to fix the problem where the images shift
 +       * to the right when there is a border upon selection 
 +       */
 +      height: 150px;
 +      float: left;
 +}
 +div.album_panel .photo_frame{
 +      float: left;
 +      margin: 0.2em;
 +      min-height: 140px;
 +      min-width: 140px;
 +      text-align: center;
 +}
 +div.album_panel .photo_frame a:focus, div.album_panel .photo_frame a:hover{
 +      cursor: pointer;
 +      float:left;
 +      min-width: 140px;
 +      min-height: 140px;
 +      background: #FCE6C9;
 +}
 +div.album_panel .photo_frame img{
 +      background: #FFFFFF;
 +      border: 1px solid #D2D2D2;
 +      padding: 0.2em;
 +}
 +div.album_panel .album_description{
 +      margin: 0.5em;
 +      width: 95%;
 +      float: left;
 +}
 +
 +div.search_bar {
 +      /* background-image: url('images/search_bg.png');
 +      background-repeat: no-repeat; */
 +      background-color:#ffffff;
 +      border:thin solid #cccccc;
 +      margin-left: 0.5em;
 +      margin-top: 0.5em;
 +      height: 27px;
 +      width: 180px;
 +      float: left;
 +      border-radius:.5em;
 +      -moz-border-radius:.8em .8em .8em .8em;
 +/*            -moz-box-shadow:.2em .2em .1em #999999;
 +    box-shadow: .2em .2em .1em #999999;*/
 +}
 +div.search_bar .s{
 +      float: left;
 +      border: 0px;
 +      margin-top: 0.3em;
 +      margin-left: 0.5em;
 +      width: 148px;
 +}
 +div.search_bar .s_img{
 +      float: right;
 +      border: 0px;
 +      margin-top: 0.375em;    
 +      margin-top: -1.4em\9; /* the \9 to accomodate IE 7&8 */
 +      margin-right: 0.4em;
 +}
 +
 +div.album {
 +      background: #FFFFFF;
 +      padding:1em;
 +      border: 1px solid #D2D2D2;      
 +      width: 95%;
 +      margin: 0.5em;
 +      float: left;
 +      border-radius:.5em .5em .5em .5em;
 +      -moz-border-radius: .5em .5em .5em .5em;
 +/*            -moz-box-shadow:.2em .2em .1em #999999;
 +    box-shadow: .2em .2em .1em #999999;*/
 +}
 +div.album .image{
 +      float: left;
 +      margin: 0.5em;
 +      min-width: 140px;
 +}
 +div.album img{
 +      border-width: 0px;
 +}
 +div.album .image img.no-image {
 +      float: left;
 +      width: 130px;
 +      height: 97px;
 +      background-color: #EFEFEF;
 +}
 +div.album .info{
 +      float: left;
 +      width: 70%;
 +}
 +div.album .info span{
 +      float: left;
 +      color: #666666;
 +}
 +div.album .info p{
 +      font-size: 0.85em;
 +      margin: 0;
 +}
 +div.album .search_photo_frame{
 +      float: left;
 +      margin: 0.2em;
 +      min-height: 160px;
 +      max-height: 160px;
 +      max-width: 140px;
 +      text-align: center;
 +      border: 1px solid #d3d3d3;
 +      overflow: hidden;
 +}
 +div.album .search_slider{
 +      float: left;
 +      overflow: hidden;
 +      position: relative;     /* ie7 */
 +}
 +div.album .search_slider_left{
 +      float: left;
 +      width: 10%;
 +}
 +div.album .search_slider_right{
 +      float: right;
 +      text-align: right;
 +      width: 10%;
 +}
 +div.album .search_slider ul {
 +      list-style-type: none;
 +      margin: 0;
 +      padding: 0;
 +      width: 99999px;
 +      position: relative;
 +}
 +div.album .search_slider ul li{
 +      float: left;
 +}
 +div.album .search_slider_a{
 +      width: 80%;
 +}
 +div.album .search_slider_p{
 +      width: 730px;   /* 146 per frame, 5 frame per row */
 +}
 +div.album .search_slider_p ul li{
 +/*    height: 576px;  /* 144 per frame, 4 row */
 +      width: 730px;   /* 146 per frame, 5 frame per row */
 +}
 +div.album .search_paginator {
 +      width: 100%;
 +}
 +
 +div.add_photo{
 +      float: left;
 +      background: #F7F7F7;
 +      border: 1px solid #D2D2D2;      
 +      width: 96%;
 +      border-radius:.5em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +      margin-bottom:.2em;
 +}
 +div.add_photo ul{
 +      margin: 0px;
 +      padding: 0px;
 +}
 +div.add_photo .toggle_uploader{
 +      width: 95%;
 +      margin: 0.5em;
 +}
 +div.add_photo div#ajax_uploader{
 +      display: none;
 +      margin-top: 0.5em;
 +}
 +div.add_photo .files .tn {
 +      max-height: 30px;
 +}
 +div.add_photo img{
 +      border: 0;
 +}
 +div.add_photo ul li{
 +      float: left;
 +      padding: 0.2em;
 +      list-style: none;
 +      width: 100%;
 +      height: 100%;
 +      border-bottom: 1px solid #ddd;
 +/*    display: inline; */
 +}
 +div.add_photo p.memory_usage {
 +      float: right;
 +      font-size: 0.9em;
 +      color: #5B5B5B;
 +}
 +
 +div.add_profile_photo{
 +      float: left;
 +      background: #F7F7F7;
 +      border: 1px solid #D2D2D2;      
 +      width: 96%;
 +      border-radius:.5em;
 +      -moz-border-radius: .5em .5em .5em .5em;
 +/*            -moz-box-shadow:.2em .2em .1em #999999;
 +    box-shadow: .2em .2em .1em #999999;*/
 +      margin-bottom:.2em;
 +
 +}
 +div.add_profile_photo .profile_photo{    
 +      float: left;    
 +      padding: 0.5em;
 +
 +}
 +div.add_profile_photo .uploader{    
 +      float: left;    
 +      width: 50%;
 +      padding: 0.5em;
 +      border-bottom: 1px solid #ddd;
 +}     
 +
 +div.photo_panel{
 +      background: #F7F7F7;
 +      float: left;
 +      border: 1px solid #D2D2D2;
 +      text-align: center;
 +      width: 95%;
 +      padding: 0.5em;
 +      border-radius:.5em;
 +      -moz-border-radius: .5em .5em .5em .5em;
 +}
 +div.photo_panel img{
 +      background: #FFFFFF;
 +      border: 1px solid #D2D2D2;
 +      padding: 0.2em;
 +}
 +div.photo_panel div.ordering{
 +      float:left;
 +}
 +div.photo_panel div.paginator{
 +      float:right;
 +}
 +div.photo_panel .flc-inlineEditable{
 +      width: 604px;
 +      margin: 0 auto;
 +      padding-top: 0.5em;
 +      padding-bottom: 0.5em;
 +}
 +div.comment_panel{
 +      background: #FFFFFF;
 +      float: left;
 +      border: 1px solid #D2D2D2;
 +      width: 95%;
 +      padding:.5em;
 +      border-radius: .3em .3em .3em .3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +/*            -moz-box-shadow:.2em .2em .1em #999999;
 +    box-shadow: .2em .2em .1em #999999;*/
 +      margin-top:.2em;
 +}
 +div.comment_panel .comment_feeds{
 +      float: left;
 +      width: 50%;
 +}
 +div.comment_panel .photo_actions{
 +      margin: 0.5em;
 +      max-width: 49%;
 +      background: #F7F7F7;
 +      float:right;
 +      padding:1em;
 +      border:thin solid #cccccc;
 +      border-radius:.3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +}
 +.row textarea#comment_template, textarea#comment_template active{
 +      background-color:#eeeeee;
 +      border:thin solid #eeeeee;
 +      border:thin solid #cccccc;
 +      padding:.2em;
 +      border-radius:.3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +}
 +.row textarea#comment{
 +      background-color:#ffffff;
 +      border:thin solid #eeeeee;
 +      border:thin solid #cccccc;
 +      padding:.2em;
 +      border-radius:.3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +}
 +div.comment_panel textarea{
 +      width:100%;
 +}
 +
 +div.comment_box{
 +      float:left;
 +      width:100%;
 +      margin: 0.5em;
 +      padding-top: 0.5em;
 +      padding-bottom: 0.5em;
 +      background: #F7F7F7;
 +}
 +div.comment_box .comment_actions{
 +      float: left;
 +      margin-top: 1em;
 +      font-size: 0.8em; 
 +      color: #666666;
 +}
 +
 +div.edit_photo_frame{
 +      width: 95%;     
 +      float: left;
 +      padding: 0.2em;
 +      background: #F7F7F7;
 +      border:thin solid #cccccc;
 +      border-radius:.5em;
 +      -moz-border-radius: .5em .5em .5em .5em;
 +}
 +div.edit_photo_box{   
 +      float: left;
 +      border: 1px solid #D2D2D2;
 +      background: white;
 +      margin: 0.2em;
 +      margin-bottom: 0.8em;
 +      padding: 0.8em;
 +      width: 94%;
 +      border-radius:.3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +}
 +div.edit_photo_box .info{
 +      float: left;
 +      width: 60%;
 +}
 +
 +.info textarea{
 +      background-color: #eeeeee;
 +      border:thin solid #cccccc;
 +      border-radius:.3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +      margin-top:.2em;
 +}
 +div.edit_photo_box .info textarea.alt_text{
 +      height: 2.5em;
 +}
 +div.edit_photo_box .info textarea{
 +      width: 100%;
 +}
 +div.edit_photo_box .action{
 +      float: right;
 +      background: #F7F7F7;
 +      min-width: 140px;
 +      padding:.2em;
 +      border:thin solid #cccccc;
 +      border-radius:.3em;
 +      -moz-border-radius: .3em .3em .3em .3em;
 +}
 +
 +
 +/* FLUID Image Reorderer */
 +.fl-imageReorderer-item {
 +}
 +.fl-reorderer-movable-hover a{
 +      cursor: pointer;
 +      background-color: #ECEECC;
 +}
 +.fl-reorderer-movable-dragging a{
 +      background-color: #ECEECC;
 +}
 +.fl-reorderer-dropMarker {
 +      border: 2px solid red;
 +      min-height: 100px;
 +      float: left;
 +}
 +.fl-reorderer-avatar {
 +      opacity: 0.6;
 +      filter:alpha(opacity=60);
 +}
 +
 +
 +/* FLUID Simple Inline Editor */
 +.fl-inlineEdit-invitation {
 +   background-color: #FFECB3 !important;
 +   border: 1px solid #CCC !important;
 +}
 +.fl-inlineEdit-focus {
 +    border: 2px solid #777777;
 +}
 +
 +
 +.pa_tool_link{
 +
 +text-decoration:none;
 +}
 +
 +.pa_tool_image{
 +vertical-align:middle;
 +margin-right:.5em;
  }
+ /*social networking box on admin page */
+ #social_networking{
+ padding: 1em;
+ margin: 0;
+ }
  
-  */
 +/* End Photo Album Styles
 + * 
 + * 
 + * 
 + * 
++ */
@@@ -1,5 -1,4 +1,4 @@@
  <?php require(AT_INCLUDE_PATH.'header.inc.php'); ?>
  <div id="my_courses_container">
  <table class="data" style="width:100%;">
  <tr><th></th>
  
  
      </td>
 -
      <td><?php echo '<a href="'.url_rewrite('bounce.php?course=' . $row['course_id']) . '"> '.htmlentities_utf8($row['title']).'</a>' ?>
      <br /><small><?php echo _AT('category'); ?>: <?php echo get_category_name($row['cat_id']); ?></small>
      </td>
 -    <td><small><?php echo '<a href="'.AT_BASE_HREF.'inbox/send_message.php?id='.$row['member_id'].'">'. get_display_name($row['member_id']).'<a/>'; ?></small></td>
 +    <td><small><?php echo '<a href="'.AT_BASE_HREF.'inbox/send_message.php?id='.$row['member_id'].'">'. get_display_name($row['member_id']).'</a>'; ?></small></td>
      <td><small>
      <?php     
  
  
      </small></td>
      <td>
 -    <small>
 -    <ul>
 +<?php if($_config['allow_unenroll'] || $row['tests']){  ?>
 +  <ul>
      <?php if ($row['member_id'] != $_SESSION['member_id']  && $_config['allow_unenroll'] == 1): ?>
            <li><a href="users/remove_course.php?course=<?php echo $row['course_id']; ?>"><?php echo _AT('unenroll_me'); ?></a></li>
 -    <?php endif; ?><br>
 +    <?php endif; ?>
      <?php if ($row['tests']): ?>
            <?php foreach ($row['tests'] as $test): ?>
                    <li><a href="bounce.php?course=<?php echo $row['course_id'].SEP.'p='.urlencode('mods/_standard/tests/test_intro.php?tid='.$test['test_id']); ?>"><span title="<?php echo _AT('tests'); ?>:<?php echo $test['title']; ?>"><?php echo $test['title']; ?></span></a> </li>
            <?php endforeach ;?>
      <?php endif; ?>
 -    </ul>    </small>
 +    </ul>  
 +<?php }  ?>
 +
      <?php if ($row['last_cid']): ?>
          <div class="shortcuts" style="float:right;">
                  <a href="bounce.php?course=<?php echo $row['course_id'].SEP.'p='.urlencode('content.php?cid='.$row['last_cid']); ?>"><img src="<?php echo $_base_href;  ?>themes/default/images/resume.png" border="" alt="<?php echo _AT('resume'); ?>" title="<?php echo _AT('resume'); ?>" class="img1616"/></a>
@@@ -16,8 -16,8 +16,8 @@@ for ($i=0; $i < $num_tabs; $i++
        }
  }
  
 -if (!$switch_tab && isset($_POST['current_tab'])) {
 -      $current_tab = intval($_POST['current_tab']);
 +if (!$switch_tab && isset($_REQUEST['current_tab'])) {
 +      $current_tab = intval($_REQUEST['current_tab']);
  }
  
  if ($current_tab == 1)
@@@ -87,7 -87,7 +87,7 @@@ echo '<div id="container"><br />'
                        echo '  <input type="hidden" name="show_guide" value="'.$_POST['show_guide'].'" />'."\n\r";
                else if (isset($_SESSION['prefs']['PREF_SHOW_GUIDE']))
                        echo '  <input type="hidden" name="show_guide" value="'.$_SESSION['prefs']['PREF_SHOW_GUIDE'].'" />'."\n\r";
-               
+       
                if (isset($_POST['content_editor']))
                        echo '  <input type="hidden" name="content_editor" value="'.$_POST['content_editor'].'" />'."\n\r";
                else if (isset($_SESSION['prefs']['PREF_CONTENT_EDITOR']))
@@@ -274,6 -274,8 +274,8 @@@ else  // user logi
  <?php
  if($_SESSION['course_id'] == "-1"){
  echo '</div>';
  }
  
  require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
  if (!defined('AT_INCLUDE_PATH')) { exit; }
  global $_base_path;
  
- if ($this->banner): ?><?php echo $this->banner; ?><br /><?php endif;
+ if ($this->banner): ?>
  
+ <?php echo $this->banner; ?><br /><?php endif;
+ /** Icon View removed for mobile.
  // positioning switch of home ONLY FOR INSTRUCTORS. two icons will be used for identification to distinguish the two different views of the home.
  if(authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN) && count($this->home_links) > 0){
        if($this->view_mode==0)
@@@ -23,6 -25,7 +25,7 @@@
                echo '<a href ="'.AT_BASE_HREF.'switch_view.php?swid='.$this->view_mode.'" ><img src="'.AT_BASE_HREF.'images/icon_view.png"  title ="'._AT('icon_view').'" alt ="'._AT('icon_view').'" /></a><br        />';
  }     
  
  // Icon View, $this->view_mode = 0. course will be made changes to the icons to restore the classic icons.
  if($this->view_mode==0){
  ?>
        </div> 
  <?php
  } // end of if
+ */
  
  if ($this->announcements): ?>
  <h2 class="page-title"><?php echo _AT('announcements'); ?></h2>
        <?php foreach ($this->announcements as $item): ?>
                <div class="news">
                        <h3><?php echo $item['title']; ?></h3>
-                       <p><span class="date"><?php echo $item['date'] .' '. _AT('by').' ' . $item['author']; ?></span></p> <?php echo $item['body']; ?>
+                       <span class="date"><?php echo $item['date'] .' '. _AT('by').' ' . $item['author']; ?></span></p> <?php echo $item['body']; ?></span>
+                       
                </div>
        <?php endforeach; ?>
  
@@@ -92,7 -97,7 +97,7 @@@ function print_sublinks($link)
                <div class="outside_box">
  <?php if (authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN)) {?>
                        <div class="buttonbox">
 -                      <a href="#" onclick="javascript: remove_module('<?php echo htmlentities(substr($link['url'], strlen($_base_path))); ?>'); return false;"><img src="<?php echo AT_BASE_HREF; ?>images/x.gif" border="0" alt="<?php echo _AT('close'); ?>"/></a>
 +                      <input type="image" onclick="javascript: remove_module('<?php echo htmlentities(substr($link['url'], strlen($_base_path))); ?>');" src="<?php echo AT_BASE_HREF; ?>images/x.gif" alt="<?php echo _AT('close'); ?>" value="<?php echo _AT('close'); ?>" class="img1616"/>
                        </div>
  <?php }?>
                        <img src="<?php echo $link['img']; ?>" alt="" border="0" height="45" width="45"/>
        </div>
  </div>
  
 -
 -
 -
 -<!--
 -<div class="details_ol">
 -      <div class="details_or">
 -              <div class="outside_box">
 -<?php if (authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN)) {?>
 -                      <div class="buttonbox">
 -                      <a href="#" onclick="javascript: remove_module('<?php echo htmlentities(substr($link['url'], strlen($_base_path))); ?>'); return false;"><img src="<?php echo AT_BASE_HREF; ?>images/x.gif" border="0" alt="<?php echo _AT('close'); ?>"/></a>
 -                      </div>
 -<?php }?>
 -                      <img src="<?php echo $link['img']; ?>" alt="" border="0" height="51" width="51"/>
 -                      <span class="home-title"><a href="<?php echo $link['url']; ?>"><?php echo $link['title']; ?></a></span>
 -                      <div class="inside_box">
 -                              <div class="details_il">&nbsp;</div>
 -                              <div class="details_ir"></div>
 -<?php
 -      // if $link['sub_file'] is defined, print the text array returned from sub_file, otherwise, print the text defined in $link['text']
 -      if($link['sub_file']!=""){
 -              //$array = require(AT_INCLUDE_PATH.'../'.$link['sub_file']);
 -              if(!is_array($array)){ 
 -?>
 -                              <div class="details-text">
 -                              <i><?php echo _AT('none_found'); ?></i>
 -                              </div>
 -<?php } else { ?>
 -                              <div class="details-text">
 -<?php         foreach($array as $sublink){ ?>
 -                                      <img src="<?php echo $link['icon']; ?>" border="0" alt="" /> 
 -<?php         if ($sublink <> '') echo $sublink."<br />"; } ?>
 -                              </div> 
 -<?php 
 -              } // end of else                                                
 -      } else { ?>
 -                              <div class="details_text"><?php echo $link['text']; ?></div>
 -<?php } ?>
 -                      </div>
 -              </div>
 -      </div>
 -</div>
 --->
  <?php } ?>