Ejemplo n.º 1
0
    /**
     * Add javascript logout to the page if a timeout is set for the site.
     * @param I2CE_Page $page
     */
    public function javascriptTimeout($page)
    {
        if (!$page->getUser()->logged_in()) {
            return;
        }
        $timeout = 0;
        I2CE::getConfig()->setIfIsSet($timeout, "/config/site/user_timeout");
        I2CE::getConfig()->setIfIsSet($timeout, "/user_prefs/timeout/user_timeout");
        if ($timeout && is_numeric($timeout) && $timeout > 0) {
            $timeout = $timeout * 1000;
            $message = "You have been logged out due to inactivity.";
            I2CE::getConfig()->setIfIsSet($message, "/config/site/user_timeout_message");
            I2CE::getConfig()->setIfIsSet($message, "/user_prefs/timeout/user_timeout_message");
            $logout = $page->getAccessedBaseURL() . "logout?message=" . urlencode($message);
            $js = <<<EOJS
var auto_logout_timeout_id = 0;
window.addEvent('domready', function() { 
        autoLogoutResetTimeout(); 
        document.addEvent('keypress', function(event) { autoLogoutResetTimeout(); } );
        document.addEvent('mousemove', function(event) { autoLogoutResetTimeout(); } );
        } );
function autoLogoutResetTimeout() {
    if ( auto_logout_timeout_id > 0 ) {
        clearTimeout( auto_logout_timeout_id );
    }
    auto_logout_timeout_id = setTimeout( function() { window.location = "{$logout}"; }, {$timeout} );
}
EOJS;
            $template = $page->getTemplate();
            $template->addHeaderLink("mootools-core.js");
            $template->addHeaderText($js, "script", true);
        }
    }
 /**
  * Add alerts to the page
  * @param I2CE_Page $page
  */
 public function add_alerts($page)
 {
     if (!$page instanceof I2CE_Page) {
         return;
     }
     $config = I2CE::getConfig()->traverse("/modules/UserAlerts/display");
     $user = I2CE_FormFactory::instance()->createContainer("user|" . $page->getUser()->username);
     $alerts = $user->getChildIds("user_alert");
     $alert_count = count($alerts);
     if ($alert_count == 0) {
         return;
     }
     $pend_where = array('operator' => 'FIELD_LIMIT', 'field' => 'time_ack', 'style' => 'null');
     $pending = $user->getChildIds("user_alert", array(), $pend_where);
     $pend_count = count($pending);
     $append_id = 'sysUser';
     $config->setIfIsSet($append_id, "append_id");
     $append_tag = 'li';
     $config->setIfIsSet($append_tag, "append_tag");
     $append_before = true;
     $config->setIfIsSet($append_before, "append_before");
     $pending_style = 'alerts_pending';
     $config->setIfIsSet($pending_style, "pending_style");
     $default_style = 'alerts_seen';
     $config->setIfIsSet($default_style, "default_style");
     $template_file = 'user_alert_link.html';
     $config->setIfIsSet($template_file, "append_file");
     if ($pend_count > 0) {
         $style = $pending_style;
     } else {
         $style = $default_style;
     }
     $template = $page->getTemplate();
     $alert = $template->appendFileById($template_file, $append_tag, $append_id, $append_before);
     $alert->setAttribute("class", $style);
     $template->setDisplayDataImmediate("alert_pending_count", $pend_count, $alert);
     $template->setDisplayDataImmediate("alert_total_count", $alert_count, $alert);
 }
 static function get_department_programs()
 {
     $ff = I2CE_FormFactory::instance();
     $pageObj = new I2CE_Page();
     $username = $pageObj->getUser()->username;
     $user_info = iHRIS_PageFormLecturer::fetch_user_info($username);
     $dep_id = $user_info["department"];
     $all_trng_prgrms = self::get_institution_programs();
     foreach ($all_trng_prgrms as $prgrms) {
         $progObj = $ff->createContainer($prgrms);
         $progObj->populate();
         if ($progObj->getField("department")->getDBValue() == $dep_id) {
             $trng_prgrms[] = $prgrms;
         }
     }
     return $trng_prgrms;
 }