1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-08 07:36:32 +02:00

Some plugin-class tweaks and cron work

This commit is contained in:
CaMer0n
2009-10-23 09:08:15 +00:00
parent 4b1f16d801
commit 1fdd9e6a0d
4 changed files with 176 additions and 124 deletions

View File

@@ -12,9 +12,9 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/cron.php,v $ | $Source: /cvs_backup/e107_0.8/cron.php,v $
| $Revision: 1.3 $ | $Revision: 1.4 $
| $Date: 2009-07-23 08:34:20 $ | $Date: 2009-10-23 09:08:15 $
| $Author: marj_nl_fr $ | $Author: e107coders $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -32,12 +32,10 @@ if($pref['e_cron_pref']) // grab cron
{ {
foreach($pref['e_cron_pref'] as $func=>$cron) foreach($pref['e_cron_pref'] as $func=>$cron)
{ {
if($cron['active']==1) if($cron['active']==1)
{ {
$list[$func] = $cron; $list[$func] = $cron;
} }
} }
} }
@@ -56,6 +54,10 @@ foreach($list as $func=>$val)
// echo date("r")." ".$func."\n"; // echo date("r")." ".$func."\n";
require_once(e_PLUGIN.$val['path']."/e_cron.php"); require_once(e_PLUGIN.$val['path']."/e_cron.php");
require_once(e_HANDLER."mail.php");
$message = "Your Cron Job worked correctly. Sent at ".date("r").".";
sendemail($pref['siteadminemail'], "e107 - TEST Email Sent by cron.", $message, $pref['siteadmin'],$pref['siteadminemail'], $pref['siteadmin']);
if(call_user_func($func)===FALSE) if(call_user_func($func)===FALSE)
{ {
// echo "\nerror running the function ".$func.".\n"; log the error. // echo "\nerror running the function ".$func.".\n"; log the error.

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_admin/cron.php,v $ | $Source: /cvs_backup/e107_0.8/e107_admin/cron.php,v $
| $Revision: 1.4 $ | $Revision: 1.5 $
| $Date: 2009-09-10 12:49:47 $ | $Date: 2009-10-23 09:08:15 $
| $Author: e107coders $ | $Author: e107coders $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -64,9 +64,15 @@ class cron
// Set Core Cron Options. // Set Core Cron Options.
$this->coreCrons[] = array('name'=>'User Purge','function' => 'user_purge', 'description'=>'Purge Unactivated Users'); $this->coreCrons['user'] = array(
$this->coreCrons[] = array('name'=>'User UnActivated','function' => 'user_unactivated', 'description'=>'Resend activation email to unactivated users.'); 0 => array('name'=>'User Purge','function' => 'user_purge', 'description'=>'Purge Unactivated Users'),
$this->coreCrons[] = array('name'=>'News Sticky','function' => 'news_purge', 'description'=>'Remove Sticky News Items'); 1 => array('name'=>'User UnActivated','function' => 'user_unactivated', 'description'=>'Resend activation email to unactivated users.')
);
$this->coreCrons['news'] = array(
0 => array('name'=>'News Sticky','function' => 'news_purge', 'description'=>'Remove Sticky News Items')
);
// These core functions need to be put into e_BASE/cron.php ie. news_purge() // These core functions need to be put into e_BASE/cron.php ie. news_purge()
@@ -85,15 +91,14 @@ class cron
function cronExecute($func) function cronExecute($func)
{ {
//TODO LANs //TODO LANs
$emessage = eMessage::getInstance(); $mes = eMessage::getInstance();
if(!function_exists($func) || !call_user_func($func)) if(!function_exists($func) || !call_user_func($func))
{ {
$mes->add("Error running ".$func."()", E_MESSAGE_ERROR);
$emessage->add("Error running ".$func."()", E_MESSAGE_ERROR);
} }
else else
{ {
$emessage->add("Success running ".$func."()", E_MESSAGE_SUCCESS); $mes->add("Success running ".$func."()", E_MESSAGE_SUCCESS);
} }
} }
@@ -107,6 +112,9 @@ class cron
function cronSave() function cronSave()
{ {
global $pref; global $pref;
$mes = e107::getMessage();
foreach($_POST['cron'] as $key=>$val) foreach($_POST['cron'] as $key=>$val)
{ {
if(!$val['active']) if(!$val['active'])
@@ -122,18 +130,26 @@ class cron
$val['tab'] = implode(" ",$t); $val['tab'] = implode(" ",$t);
$tabs .= $val['tab']."<br />"; $tabs .= $val['tab']."<br />";
list($class,$func) = explode("__",$key);
$val['function'] = $func;
$val['class'] = $class;
$cron[$key] = $val; $cron[$key] = $val;
} }
$pref['e_cron_pref'] = $cron; $pref['e_cron_pref'] = $cron;
$emessage = &eMessage::getInstance();
// print_a($pref['e_cron_pref']);
if(save_prefs()) if(save_prefs())
{ {
$emessage->add(LAN_SETSAVED, E_MESSAGE_SUCCESS); $mes->add(LAN_SETSAVED, E_MESSAGE_SUCCESS);
} }
else else
{ {
$emessage->add("There was a problem saving your settings.", E_MESSAGE_ERROR); $mes->add("There was a problem saving your settings.", E_MESSAGE_ERROR);
} }
} }
@@ -180,15 +196,13 @@ class cron
function cronRenderPage() function cronRenderPage()
{ {
global $pref,$ns,$frm; global $pref;
$cronpref = $pref['e_cron_pref']; $cronpref = $pref['e_cron_pref'];
$ns = e107::getRender();
$frm = e107::getForm();
$mes = e107::getMessage();
$core_cron = $this->coreCrons;
// $count = 0;
$e_cron = $this->coreCrons;
$count = count($this->coreCrons);
foreach($pref['e_cron_list'] as $key=>$val) foreach($pref['e_cron_list'] as $key=>$val)
{ {
@@ -196,18 +210,32 @@ class cron
if(is_readable(e_PLUGIN.$key."/e_cron.php")) if(is_readable(e_PLUGIN.$key."/e_cron.php"))
{ {
require_once(e_PLUGIN.$key."/e_cron.php"); require_once(e_PLUGIN.$key."/e_cron.php");
foreach($eplug_cron as $v)
{
$e_cron[$count]['name'] = $v['name'];
$e_cron[$count]['function'] = $v['function'];
$e_cron[$count]['description'] = $v['description'];
$e_cron[$count]['path'] = $key;
$count++;
}
}
$class_name = $key."_cron";
$method_name = 'config';
if(class_exists($class_name))
{
$obj = new $class_name;
if(method_exists($obj,$method_name))
{
$mes->add("Executing config function <b>".$key." : ".$method_name."()</b>", E_MESSAGE_DEBUG);
$new_cron[$key] = call_user_func(array($obj,$method_name));
}
else
{
$mes->add("Config function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG);
}
}
}
} }
$e_cron = array_merge($core_cron,$new_cron);
// ---------------------- List All Functions ----------------------------- // ---------------------- List All Functions -----------------------------
$text = "<div style='text-align:center'> $text = "<div style='text-align:center'>
@@ -238,10 +266,11 @@ class cron
</thead> </thead>
<tbody>"; <tbody>";
foreach($e_cron as $plug=>$cfg)
foreach($e_cron as $cron) {
foreach($cfg as $class=>$cron)
{ {
$c = $cron['function']; $c = $plug.'__'. $cron['function']; // class and function.
$sep = array(); $sep = array();
list($sep['minute'],$sep['hour'],$sep['day'],$sep['month'],$sep['weekday']) = explode(" ",$cronpref[$c]['tab']); list($sep['minute'],$sep['hour'],$sep['day'],$sep['month'],$sep['weekday']) = explode(" ",$cronpref[$c]['tab']);
@@ -379,11 +408,11 @@ class cron
<td class='center'>".$frm->admin_button('execute['.$c.']', 'Run Now')."</td> <td class='center'>".$frm->admin_button('execute['.$c.']', 'Run Now')."</td>
</tr>"; </tr>";
} }
}
$text .= " $text .= "
<tr > <tr >
<td colspan='8' class='center'> <td colspan='9' class='center'>
<div class='center buttons-bar'>"; <div class='center buttons-bar'>";
// $text .= "<input class='button' type='submit' name='submit' value='".LAN_SAVE."' />"; // $text .= "<input class='button' type='submit' name='submit' value='".LAN_SAVE."' />";
$text .= $frm->admin_button('submit', LAN_SAVE, $action = 'update'); $text .= $frm->admin_button('submit', LAN_SAVE, $action = 'update');
@@ -394,8 +423,8 @@ class cron
</form> </form>
</div>"; </div>";
$emessage = &eMessage::getInstance(); $mes = e107::getMessage();
$ns -> tablerender(PAGE_NAME, $emessage->render() . $text); $ns -> tablerender(PAGE_NAME, $mes->render() . $text);
} }
function cronOptions() function cronOptions()

View File

@@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org). | GNU General Public License (http://gnu.org).
| |
| $Source: /cvs_backup/e107_0.8/e107_handlers/plugin_class.php,v $ | $Source: /cvs_backup/e107_0.8/e107_handlers/plugin_class.php,v $
| $Revision: 1.104 $ | $Revision: 1.105 $
| $Date: 2009-10-22 04:14:35 $ | $Date: 2009-10-23 09:08:15 $
| $Author: e107coders $ | $Author: e107coders $
+----------------------------------------------------------------------------+ +----------------------------------------------------------------------------+
*/ */
@@ -45,7 +45,8 @@ class e107plugin
'e_header', 'e_header',
'e_userinfo', 'e_userinfo',
'e_tagwords', 'e_tagwords',
'e_url' 'e_url',
'e_cron'
); );
// List of all plugin variables which need to be checked - install required if one or more set and non-empty // List of all plugin variables which need to be checked - install required if one or more set and non-empty
@@ -160,7 +161,7 @@ class e107plugin
$p_installed = e107::getPref('plug_installed',array()); // load preference; $p_installed = e107::getPref('plug_installed',array()); // load preference;
require_once(e_HANDLER."message_handler.php"); require_once(e_HANDLER."message_handler.php");
$emessage = eMessage::getInstance(); $mes = eMessage::getInstance();
foreach($pluginList as $p) foreach($pluginList as $p)
{ {
@@ -169,7 +170,7 @@ class e107plugin
if(strpos($plugin_path,'e107_')!==FALSE) if(strpos($plugin_path,'e107_')!==FALSE)
{ {
$emessage->add("Folder error: <i>{$p['path']}</i>. 'e107_' is not permitted within plugin folder names.", E_MESSAGE_WARNING); $mes->add("Folder error: <i>{$p['path']}</i>. 'e107_' is not permitted within plugin folder names.", E_MESSAGE_WARNING);
continue; continue;
} }
$plug['plug_action'] = 'scan'; // Make sure plugin.php knows what we're up to $plug['plug_action'] = 'scan'; // Make sure plugin.php knows what we're up to
@@ -179,16 +180,11 @@ class e107plugin
if(!$this->parse_plugin($p['path'])) if(!$this->parse_plugin($p['path']))
{ {
//parsing of plugin.php/plugin.xml failed. //parsing of plugin.php/plugin.xml failed.
$emessage->add("Parsing failed - file format error: {$p['path']}", E_MESSAGE_ERROR); $mes->add("Parsing failed - file format error: {$p['path']}", E_MESSAGE_ERROR);
continue; // Carry on and do any others that are OK continue; // Carry on and do any others that are OK
} }
$plug_info = $this->plug_vars; $plug_info = $this->plug_vars;
// $plugin_path = substr(str_replace(e_PLUGIN,"",$p['path']),0,-1);
// scan for addons.
$eplug_addons = $this->getAddons($plugin_path); // Returns comma-separated list
// $eplug_addons = $this->getAddons($plugin_path,'check'); // Checks opening/closing tags on addon files
//Ensure the plugin path lives in the same folder as is configured in the plugin.php/plugin.xml //Ensure the plugin path lives in the same folder as is configured in the plugin.php/plugin.xml
if ($plugin_path == $plug_info['folder']) if ($plugin_path == $plug_info['folder'])
@@ -236,25 +232,21 @@ class e107plugin
} }
} }
} }
else else // New plugin - not in table yet, so add it. If no install needed, mark it as 'installed'
{ // New plugin - not in table yet, so add it. If no install needed, mark it as 'installed' {
//SecretR - update to latest XML version
if ($plug_info['@attributes']['name']) if ($plug_info['@attributes']['name'])
{ {
// echo "New plugin to add: {$plug_info['name']}<br />"; $eplug_addons = $this->getAddons($plugin_path); // Only scan for newly installed.
// Can just add to DB - shouldn't matter that its not in our current table
// echo "Trying to insert: ".$eplug_folder."<br />";
$_installed = ($plug_info['@attributes']['installRequired'] == 'true' || $plug_info['@attributes']['installRequired'] == 1 ? 0 : 1 ); $_installed = ($plug_info['@attributes']['installRequired'] == 'true' || $plug_info['@attributes']['installRequired'] == 1 ? 0 : 1 );
if(e107::getDb()->db_Insert("plugin", "0, '".$tp -> toDB($plug_info['@attributes']['name'], true)."', '".$tp -> toDB($plug_info['@attributes']['version'], true)."', '".$tp -> toDB($plugin_path, true)."', {$_installed}, '{$eplug_addons}', '".$this->manage_category($plug_info['category'])."', '".varset($plug_info['@attributes']['releaseUrl'])."' ")) if(e107::getDb()->db_Insert("plugin", "0, '".$tp -> toDB($plug_info['@attributes']['name'], true)."', '".$tp -> toDB($plug_info['@attributes']['version'], true)."', '".$tp -> toDB($plugin_path, true)."', {$_installed}, '{$eplug_addons}', '".$this->manage_category($plug_info['category'])."', '".varset($plug_info['@attributes']['releaseUrl'])."' "))
{ {
$emessage->add("Added <b>".$plug_info['@attributes']['name']."</b> to the plugin table.", E_MESSAGE_DEBUG); $mes->add("Added <b>".$plug_info['@attributes']['name']."</b> to the plugin table.", E_MESSAGE_DEBUG);
} }
else else
{ {
$emessage->add("Failed to add ".$plug_info['@attributes']['name']." to the plugin table.", E_MESSAGE_DEBUG); $mes->add("Failed to add ".$plug_info['@attributes']['name']." to the plugin table.", E_MESSAGE_DEBUG);
} }
} }
} }
} }
@@ -309,7 +301,7 @@ class e107plugin
{ {
global $iconpool,$pref; global $iconpool,$pref;
$emessage = eMessage::getInstance(); $mes = eMessage::getInstance();
$sql = e107::getDb(); $sql = e107::getDb();
$tp = e107::getParser(); $tp = e107::getParser();
$fl = e107::getFile(); $fl = e107::getFile();
@@ -321,7 +313,7 @@ class e107plugin
$ipool_entry = 'plugin-'.$plugin; $ipool_entry = 'plugin-'.$plugin;
e107::getConfig('ipool')->remove($ipool_entry); // FIXME - ipool removal issue. e107::getConfig('ipool')->remove($ipool_entry); // FIXME - ipool removal issue.
$status = (e107::getConfig('ipool')->save(FALSE)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = (e107::getConfig('ipool')->save(FALSE)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Removing Icon-Pool entry: '.$ipool_entry, $status); $mes->add('Removing Icon-Pool entry: '.$ipool_entry, $status);
} }
return; return;
} }
@@ -893,12 +885,12 @@ class e107plugin
// 'del_userclasses' - to delete userclasses created // 'del_userclasses' - to delete userclasses created
// 'del_tables' - to delete DB tables // 'del_tables' - to delete DB tables
// 'del_extended' - to delete extended fields // 'del_extended' - to delete extended fields
function manage_plugin_xml($id, $function='', $options = FALSE) function install_plugin_xml($id, $function='', $options = FALSE)
{ {
global $pref; global $pref;
$sql = e107::getDb(); $sql = e107::getDb();
$emessage = eMessage::getInstance(); $mes = eMessage::getInstance();
$error = array(); // Array of error messages $error = array(); // Array of error messages
$canContinue = TRUE; // Clear flag if must abort part way through $canContinue = TRUE; // Clear flag if must abort part way through
@@ -975,7 +967,7 @@ class e107plugin
$tableList = $dbHandler->get_table_def('',$path.$sqlFile); $tableList = $dbHandler->get_table_def('',$path.$sqlFile);
if (!is_array($tableList)) if (!is_array($tableList))
{ {
$emessage->add("Can't read SQL definition: ".$path.$sqlFile,E_MESSAGE_ERROR); $mes->add("Can't read SQL definition: ".$path.$sqlFile,E_MESSAGE_ERROR);
break; break;
} }
// Got the required definition here // Got the required definition here
@@ -989,7 +981,7 @@ class e107plugin
$sqlTable = str_replace("CREATE TABLE ".MPREFIX.'`', "CREATE TABLE `".MPREFIX, preg_replace("/create table\s+/si", "CREATE TABLE ".MPREFIX, $ct[0])); $sqlTable = str_replace("CREATE TABLE ".MPREFIX.'`', "CREATE TABLE `".MPREFIX, preg_replace("/create table\s+/si", "CREATE TABLE ".MPREFIX, $ct[0]));
$txt = "Adding table: {$ct[1]} ... "; $txt = "Adding table: {$ct[1]} ... ";
$status = $this->manage_tables('add', array($sqlTable)) ? E_MESSAGE_SUCCESS: E_MESSAGE_ERROR; // Pass the statement to create the table $status = $this->manage_tables('add', array($sqlTable)) ? E_MESSAGE_SUCCESS: E_MESSAGE_ERROR; // Pass the statement to create the table
$emessage->add($txt,$status); $mes->add($txt,$status);
break; break;
case 'upgrade' : case 'upgrade' :
$tmp = $dbHandler->update_table_structure($ct,FALSE,TRUE, $pref['multilanguage']); $tmp = $dbHandler->update_table_structure($ct,FALSE,TRUE, $pref['multilanguage']);
@@ -1009,11 +1001,11 @@ class e107plugin
{ {
$txt = "Removing table {$ct[1]} <br />"; $txt = "Removing table {$ct[1]} <br />";
$status = $this->manage_tables('remove', array($ct[1])) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; // Delete the table $status = $this->manage_tables('remove', array($ct[1])) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; // Delete the table
$emessage->add($txt,$status); $mes->add($txt,$status);
} }
else else
{ {
$emessage->add("Table {$ct[1]} left in place.",E_MESSAGE_SUCCESS); $mes->add("Table {$ct[1]} left in place.",E_MESSAGE_SUCCESS);
} }
break; break;
} }
@@ -1099,7 +1091,7 @@ class e107plugin
{ {
if(isset($plug_vars['management']['installDone'][0])) if(isset($plug_vars['management']['installDone'][0]))
{ {
$emessage->add($plug_vars['management']['installDone'][0], E_MESSAGE_SUCCESS); $mes->add($plug_vars['management']['installDone'][0], E_MESSAGE_SUCCESS);
} }
}*/ }*/
@@ -1114,7 +1106,7 @@ class e107plugin
$text .= "&nbsp;<a href='".$this->plugConfigFile."'>[".LAN_CONFIGURE."]</a>"; $text .= "&nbsp;<a href='".$this->plugConfigFile."'>[".LAN_CONFIGURE."]</a>";
} }
$emessage->add($text, E_MESSAGE_SUCCESS); $mes->add($text, E_MESSAGE_SUCCESS);
} }
} }
@@ -1133,7 +1125,7 @@ class e107plugin
function XmlDependencies($tag) function XmlDependencies($tag)
{ {
$canContinue = TRUE; $canContinue = TRUE;
$emessage = eMessage::getInstance(); $mes = eMessage::getInstance();
$error = array(); $error = array();
foreach ($tag as $dt => $dv) foreach ($tag as $dt => $dv)
@@ -1190,7 +1182,7 @@ class e107plugin
if(count($error)) if(count($error))
{ {
$text = '<b>'.LAN_INSTALL_FAIL.'</b><br />'.implode('<br />',$error); $text = '<b>'.LAN_INSTALL_FAIL.'</b><br />'.implode('<br />',$error);
$emessage->add($text, E_MESSAGE_ERROR); $mes->add($text, E_MESSAGE_ERROR);
} }
return $canContinue; return $canContinue;
@@ -1254,7 +1246,7 @@ class e107plugin
*/ */
function XmlSiteLinks($function,$array) function XmlSiteLinks($function,$array)
{ {
$emessage = &eMessage::getInstance(); $mes = e107::getMessage();
foreach($array['link'] as $link) foreach($array['link'] as $link)
{ {
@@ -1272,13 +1264,13 @@ class e107plugin
if(!$remove) // Add any non-deprecated link if(!$remove) // Add any non-deprecated link
{ {
$status = ($this->manage_link('add', $url, $linkName, $perm)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = ($this->manage_link('add', $url, $linkName, $perm)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add("Adding Link: {$linkName} with url [{$url}] and perm {$perm} ", $status); $mes->add("Adding Link: {$linkName} with url [{$url}] and perm {$perm} ", $status);
} }
if($function == 'upgrade' && $remove) //remove inactive links on upgrade if($function == 'upgrade' && $remove) //remove inactive links on upgrade
{ {
$status = ($this->manage_link('remove', $url, $linkName)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = ($this->manage_link('remove', $url, $linkName)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add("Removing Link: {$linkName} with url [{$url}]", $status); $mes->add("Removing Link: {$linkName} with url [{$url}]", $status);
} }
break; break;
@@ -1288,7 +1280,7 @@ class e107plugin
case 'uninstall': //remove all links case 'uninstall': //remove all links
$status = ($this->manage_link('remove', $url, $linkName)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = ($this->manage_link('remove', $url, $linkName)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add("Removing Link: {$linkName} with url [{$url}]", $status); $mes->add("Removing Link: {$linkName} with url [{$url}]", $status);
break; break;
} }
} }
@@ -1322,7 +1314,7 @@ class e107plugin
*/ */
function XmlUserClasses($function,$array) function XmlUserClasses($function,$array)
{ {
$emessage = &eMessage::getInstance(); $mes = e107::getMessage();
foreach($array['class'] as $uclass) foreach($array['class'] as $uclass)
{ {
@@ -1340,14 +1332,14 @@ class e107plugin
if(!$remove) // Add all active userclasses (code checks for already installed) if(!$remove) // Add all active userclasses (code checks for already installed)
{ {
$status = $this->manage_userclass('add', $name, $description) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = $this->manage_userclass('add', $name, $description) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Adding Userclass: '.$name, $status); $mes->add('Adding Userclass: '.$name, $status);
} }
if($function == 'upgrade' && $remove) //If upgrading, removing any inactive userclass if($function == 'upgrade' && $remove) //If upgrading, removing any inactive userclass
{ {
$status = $this->manage_userclass('remove', $name, $description) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = $this->manage_userclass('remove', $name, $description) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Removing Userclass: '.$name, $status); $mes->add('Removing Userclass: '.$name, $status);
} }
break; break;
@@ -1358,11 +1350,11 @@ class e107plugin
if (varsettrue($this->unInstallOpts['del_userclasses'], FALSE)) if (varsettrue($this->unInstallOpts['del_userclasses'], FALSE))
{ {
$status = $this->manage_userclass('remove', $name, $description) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = $this->manage_userclass('remove', $name, $description) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Removing Userclass: '.$name, $status); $mes->add('Removing Userclass: '.$name, $status);
} }
else else
{ {
$emessage->add('Userclass: '.$name.' left in place'.$name, $status); $mes->add('Userclass: '.$name.' left in place'.$name, $status);
} }
break; break;
@@ -1379,7 +1371,7 @@ class e107plugin
*/ */
function XmlExtendedFields($function,$array) function XmlExtendedFields($function,$array)
{ {
$emessage = &eMessage::getInstance(); $mes = e107::getMessage();
foreach($array['field'] as $efield) foreach($array['field'] as $efield)
{ {
@@ -1398,13 +1390,13 @@ class e107plugin
if(!$remove) if(!$remove)
{ {
$status = $this->manage_extended_field('add', $name, $type, $attrib['default'], $source) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = $this->manage_extended_field('add', $name, $type, $attrib['default'], $source) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Adding Extended Field: '.$name.' ... ', $status); $mes->add('Adding Extended Field: '.$name.' ... ', $status);
} }
if($function == 'upgrade' && $remove) //If upgrading, removing any inactive extended fields if($function == 'upgrade' && $remove) //If upgrading, removing any inactive extended fields
{ {
$status = $this->manage_extended_field('remove', $name, $source) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = $this->manage_extended_field('remove', $name, $source) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Removing Extended Field: '.$name.' ... ', $status); $mes->add('Removing Extended Field: '.$name.' ... ', $status);
} }
break; break;
@@ -1414,11 +1406,11 @@ class e107plugin
if (varsettrue($this->unInstallOpts['del_extended'], FALSE)) if (varsettrue($this->unInstallOpts['del_extended'], FALSE))
{ {
$status = ($this->manage_extended_field('remove', $name, $source)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; $status = ($this->manage_extended_field('remove', $name, $source)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
$emessage->add('Removing Extended Field: '.$name.' ... ', $status); $mes->add('Removing Extended Field: '.$name.' ... ', $status);
} }
else else
{ {
$emessage->add('Extended Field: '.$name.' left in place'.$name, E_MESSAGE_SUCCESS); $mes->add('Extended Field: '.$name.' left in place'.$name, E_MESSAGE_SUCCESS);
} }
break; break;
} }
@@ -1439,7 +1431,7 @@ class e107plugin
//XXX Could also be used for theme prefs.. perhaps this function should be moved elsewhere? //XXX Could also be used for theme prefs.. perhaps this function should be moved elsewhere?
//TODO array support for prefs. <key>? or array() as used in xml site export? //TODO array support for prefs. <key>? or array() as used in xml site export?
$emessage = &eMessage::getInstance(); $mes = e107::getMessage();
if(!varset($prefArray) || !varset($prefArray)) if(!varset($prefArray) || !varset($prefArray))
{ {
@@ -1456,14 +1448,14 @@ class e107plugin
if(varset($tag['@attributes']['value'])) if(varset($tag['@attributes']['value']))
{ {
$emessage->add("Deprecated plugin.xml spec. found. Use the following format: ".htmlentities("<pref name='name'>value</pref>"), E_MESSAGE_ERROR); $mes->add("Deprecated plugin.xml spec. found. Use the following format: ".htmlentities("<pref name='name'>value</pref>"), E_MESSAGE_ERROR);
} }
switch($function) switch($function)
{ {
case 'install': case 'install':
$config->add($key,$value); $config->add($key,$value);
$emessage->add("Adding Pref: ".$key, E_MESSAGE_SUCCESS); $mes->add("Adding Pref: ".$key, E_MESSAGE_SUCCESS);
break; break;
case 'upgrade' : case 'upgrade' :
@@ -1471,19 +1463,19 @@ class e107plugin
if($remove) // remove active='false' prefs. if($remove) // remove active='false' prefs.
{ {
$config->remove($key,$value); $config->remove($key,$value);
$emessage->add("Removing Pref: ".$key, E_MESSAGE_SUCCESS); $mes->add("Removing Pref: ".$key, E_MESSAGE_SUCCESS);
} }
else else
{ {
$config->update($key,$value); $config->update($key,$value);
$emessage->add("Updating Pref: ".$key, E_MESSAGE_SUCCESS); $mes->add("Updating Pref: ".$key, E_MESSAGE_SUCCESS);
} }
break; break;
case 'uninstall': case 'uninstall':
$config->remove($key,$value); $config->remove($key,$value);
$emessage->add("Removing Pref: ".$key, E_MESSAGE_SUCCESS); $mes->add("Removing Pref: ".$key, E_MESSAGE_SUCCESS);
break; break;
} }
@@ -1510,7 +1502,7 @@ class e107plugin
*/ */
function execute_function($path = '', $what='', $when='') function execute_function($path = '', $what='', $when='')
{ {
$emessage = eMessage::getInstance(); $mes = eMessage::getInstance();
$class_name = $this->plugFolder."_setup"; $class_name = $this->plugFolder."_setup";
$method_name = $what."_".$when; $method_name = $what."_".$when;
@@ -1525,7 +1517,7 @@ class e107plugin
if(is_readable($setup_file)) if(is_readable($setup_file))
{ {
$emessage->add("Found setup file <b>".$setup_file."</b> ", E_MESSAGE_DEBUG); $mes->add("Found setup file <b>".$setup_file."</b> ", E_MESSAGE_DEBUG);
include_once($setup_file); include_once($setup_file);
if(class_exists($class_name)) if(class_exists($class_name))
@@ -1533,27 +1525,27 @@ class e107plugin
$obj = new $class_name; $obj = new $class_name;
if(method_exists($obj,$method_name)) if(method_exists($obj,$method_name))
{ {
$emessage->add("Executing setup function <b>".$method_name."()</b>", E_MESSAGE_DEBUG); $mes->add("Executing setup function <b>".$method_name."()</b>", E_MESSAGE_DEBUG);
return call_user_func(array($obj,$method_name), $this); return call_user_func(array($obj,$method_name), $this);
} }
else else
{ {
$emessage->add("Setup function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG); $mes->add("Setup function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG);
return FALSE; return FALSE;
} }
} }
else else
{ {
$emessage->add("Setup function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG); $mes->add("Setup function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG);
return FALSE; return FALSE;
} }
} }
else else
{ {
$emessage->add("Optional Setup File NOT Found <b>".$setup_file."</b> ", E_MESSAGE_DEBUG); $mes->add("Optional Setup File NOT Found <b>".$setup_file."</b> ", E_MESSAGE_DEBUG);
} }
$emessage->add("Setup function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG); $mes->add("Setup function <b>".$method_name."()</b> NOT found.", E_MESSAGE_DEBUG);
return FALSE; // IMPORTANT. return FALSE; // IMPORTANT.
} }
@@ -1718,7 +1710,7 @@ class e107plugin
$_path = e_PLUGIN.$plug['plugin_path'].'/'; $_path = e_PLUGIN.$plug['plugin_path'].'/';
if(file_exists($_path.'plugin.xml')) if(file_exists($_path.'plugin.xml'))
{ {
$text = $this->manage_plugin_xml($id, 'install'); $text = $this->install_plugin_xml($id, 'install');
} }
elseif(file_exists($_path.'plugin.php')) elseif(file_exists($_path.'plugin.php'))
{ {
@@ -1858,6 +1850,9 @@ class e107plugin
} }
echo $plugin_path."/".$addon.".php - ".$passfail."<br />"; echo $plugin_path."/".$addon.".php - ".$passfail."<br />";
} }
$mes = e107::getMessage();
$mes->add('Detected addon: <b>'.$addon.'</b>', E_MESSAGE_DEBUG);
$p_addons[] = $addon; $p_addons[] = $addon;
} }
} }
@@ -2042,8 +2037,8 @@ class e107plugin
if ($this->plug_vars === FALSE) if ($this->plug_vars === FALSE)
{ {
require_once(e_HANDLER."message_handler.php"); require_once(e_HANDLER."message_handler.php");
$emessage = &eMessage::getInstance(); $mes = e107::getMessage();
$emessage->add("Error reading {$plugName}/plugin.xml", E_MESSAGE_ERROR); $mes->add("Error reading {$plugName}/plugin.xml", E_MESSAGE_ERROR);
return FALSE; return FALSE;
} }

View File

@@ -9,17 +9,17 @@
* Plugin configuration module - gsitemap * Plugin configuration module - gsitemap
* *
* $Source: /cvs_backup/e107_0.8/e107_plugins/gsitemap/e_cron.php,v $ * $Source: /cvs_backup/e107_0.8/e107_plugins/gsitemap/e_cron.php,v $
* $Revision: 1.2 $ * $Revision: 1.3 $
* $Date: 2008-12-20 21:48:06 $ * $Date: 2009-10-23 09:08:15 $
* $Author: e107steved $ * $Author: e107coders $
* *
*/ */
if (!defined('e107_INIT')) { exit; } if (!defined('e107_INIT')) { exit; }
if(!plugInstalled('gsitemap')) /*if(!plugInstalled('gsitemap'))
{ {
return; return;
} }*/
// -------- e_cron setup ----------------------------------------------------- // -------- e_cron setup -----------------------------------------------------
@@ -31,26 +31,52 @@ $cron2['name'] = "Test Email";
$cron2['function'] = "gsitemap_myfunction2"; $cron2['function'] = "gsitemap_myfunction2";
$cron2['description'] = "Sends a test email to ".$pref['siteadminemail']; $cron2['description'] = "Sends a test email to ".$pref['siteadminemail'];
$eplug_cron[] = $cron;
$eplug_cron[] = $cron2; // $eplug_cron[] = $cron2;
// ------------------------- Functions ----------------------------------------- // ------------------------- Functions -----------------------------------------
function gsitemap_myfunction() // include plugin-folder in the function name. class gsitemap_cron // include plugin-folder in the name.
{ {
// Whatever code you wish. function config()
{
global $pref;
$cron = array();
$cron[] = array(
'name' => "Update Records",
'function' => "myfunction",
'description' => "Dummy example."
);
$cron[] = array(
'name' => "Test Email",
'function' => "sendEmail",
'description' => "Sends a test email to ".$pref['siteadminemail']
);
return $cron;
}
function myfunction()
{
// Whatever code you wish.
}
function sendEmail()
{
global $pref;
require_once(e_HANDLER."mail.php");
$message = "Your Cron Job worked correctly. Sent at ".date("r").".";
sendemail($pref['siteadminemail'], "e107 - TEST Email Sent by cron.", $message, $pref['siteadmin'],$pref['siteadminemail'], $pref['siteadmin']);
}
} }
function gsitemap_myfunction2()
{
require_once(e_HANDLER."mail.php");
$message = "Your Cron Job worked correctly. Sent at ".date("r").".";
sendemail($pref['siteadminemail'], "e107 - TEST Email Sent by cron.", $message, $pref['siteadmin'],$pref['siteadminemail'], $pref['siteadmin']);
}
?> ?>