ILIAS  Release_4_1_x_branch Revision 61804
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilCron Class Reference

Cron job class. More...

+ Collaboration diagram for ilCron:

Public Member Functions

 ilCron (&$db)
 initLog ($path, $file, $client)
 txt ($language, $key, $module= 'common')
 start ()
 __checkUserAccounts ()
 __checkLinks ()
 __readSetting ($a_keyword)

Data Fields

 $db
 $log

Detailed Description

Cron job class.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
Id:
class.ilCron.php 23143 2010-03-09 12:15:33Z smeyer

Definition at line 34 of file class.ilCron.php.

Member Function Documentation

ilCron::__checkLinks ( )

Definition at line 139 of file class.ilCron.php.

Referenced by start().

{
include_once'./classes/class.ilLinkChecker.php';
$link_checker =& new ilLinkChecker($this->db);
$link_checker->setMailStatus(true);
$invalid = $link_checker->checkLinks();
foreach($link_checker->getLogMessages() as $message)
{
$this->log->write($message);
}
return true;
}

+ Here is the caller graph for this function:

ilCron::__checkUserAccounts ( )

Definition at line 81 of file class.ilCron.php.

References $data, $ilDB, $query, $res, $row, DB_FETCHMODE_OBJECT, and txt().

Referenced by start().

{
global $ilDB;
$two_weeks_in_seconds = 60 * 60 * 24 * 14;
$this->log->write('Cron: Start checkUserAccounts()');
$query = "SELECT * FROM usr_data,usr_pref ".
"WHERE time_limit_message = ".$ilDB->quote(0, "integer")." ".
"AND time_limit_unlimited = ".$ilDB->quote(0, "integer")." ".
"AND time_limit_from < ".$ilDB->quote(time(), "integer")." ".
"AND time_limit_until > ".$ilDB->quote($two_weeks_in_seconds, "integer")." ".
"AND usr_data.usr_id = usr_pref.usr_id ".
"AND keyword = ".$ilDB->quote("language", "text");
$res = $ilDB->query($query);
while($row = $ilDB->fetchObject($res))
{
include_once './Services/Mail/classes/class.ilMimeMail.php';
$data['expires'] = $row->time_limit_until;
$data['email'] = $row->email;
$data['login'] = $row->login;
$data['usr_id'] = $row->usr_id;
$data['language'] = $row->value;
$data['owner'] = $row->time_limit_owner;
// Get owner
$query = "SELECT email FROM usr_data WHERE usr_id = ".$ilDB->quote($data['owner'], "integer");
$res2 = $this->db->query($query);
while($row = $res2->fetchRow(DB_FETCHMODE_OBJECT))
{
$from = $row->email;
}
// Send mail
$mail =& new ilMimeMail();
$mail->From($from);
$mail->To($data['email']);
$mail->Subject($this->txt($data['language'],'account_expires_subject'));
$mail->Body($this->txt($data['language'],'account_expires_body')." ".strftime('%Y-%m-%d %R',$data['expires']));
$mail->send();
// set status 'mail sent'
$query = "UPDATE usr_data SET time_limit_message = ".$ilDB->quote(1, "integer").
" WHERE usr_id = ".$ilDB->quote($data['usr_id'], "integer");
$ilDB->manipulate($query);
// Send log message
$this->log->write('Cron: (checkUserAccounts()) sent message to '.$data['login'].'.');
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilCron::__readSetting (   $a_keyword)

Definition at line 155 of file class.ilCron.php.

Referenced by start().

{
return $this->setting->get($a_keyword);
/* $query = "SELECT * FROM sett ings ".
"WHERE keyword = '".$a_keyword."'";
$res = $this->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
return $row->value ? $row->value : 0;
}
return 0; */
}

+ Here is the caller graph for this function:

ilCron::ilCron ( $db)

Definition at line 39 of file class.ilCron.php.

References $db, and $GLOBALS.

{
define('DEBUG',1);
define('SOCKET_TIMEOUT',5);
$this->db = $db;
$GLOBALS["ilDB"] = $this->db;
include_once './Services/Administration/classes/class.ilSetting.php';
$this->setting = new ilSetting();
}
ilCron::initLog (   $path,
  $file,
  $client 
)

Definition at line 52 of file class.ilCron.php.

References $client, $file, and $path.

{
include_once './Services/Logging/classes/class.ilLog.php';
$this->log =& new ilLog($path,$file,$client);
return true;
}
ilCron::start ( )

Definition at line 68 of file class.ilCron.php.

References __checkLinks(), __checkUserAccounts(), and __readSetting().

{
// add here other checks
if($this->__readSetting('cron_user_check'))
{
}
if($this->__readSetting('cron_link_check'))
{
$this->__checkLinks();
}
}

+ Here is the call graph for this function:

ilCron::txt (   $language,
  $key,
  $module = 'common' 
)

Definition at line 61 of file class.ilCron.php.

References ilLanguage\_lookupEntry().

Referenced by __checkUserAccounts().

{
include_once './Services/Language/classes/class.ilLanguage.php';
return ilLanguage::_lookupEntry($language, $module, $key);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilCron::$db

Definition at line 36 of file class.ilCron.php.

Referenced by ilCron().

ilCron::$log

Definition at line 37 of file class.ilCron.php.


The documentation for this class was generated from the following file: