@@ -254,7 +252,26 @@ class Events_Store extends Singleton {
$offset=0;
}
return$wpdb->get_results($wpdb->prepare("SELECT * FROM {$this->get_table_name()} WHERE status = %s ORDER BY timestamp LIMIT %d,%d;",$args['status'],$offset,$args['quantity']),'OBJECT');
$jobs=$wpdb->get_results($wpdb->prepare("SELECT * FROM {$this->get_table_name()} WHERE status = %s ORDER BY timestamp ASC LIMIT %d,%d;",$args['status'],$offset,$args['quantity']),'OBJECT');
return$this->format_jobs($jobs);
}
/**
* Standardize formatting and expand serialized data
*/
privatefunctionformat_jobs($jobs){
if(!is_array($jobs)){
return$jobs;
}
foreach($jobsas$job){
$job->ID=(int)$job->ID;
$job->timestamp=(int)$job->timestamp;
$job->interval=(int)$job->interval;
$job->args=maybe_unserialize($job->args);
}
return$jobs;
}
/**
...
...
@@ -291,7 +308,7 @@ class Events_Store extends Singleton {
$job_post=array(
'timestamp'=>$timestamp,
'action'=>$action,
'instance'=>md5(serialize($args['args'])),
'instance'=>md5(maybe_serialize($args['args'])),
'args'=>maybe_serialize($args['args']),
'last_modified'=>current_time('mysql',true),
);
...
...
@@ -318,7 +335,7 @@ class Events_Store extends Singleton {
}
/**
* Mark an event's CPT entry as completed
* Mark an event's entry as completed
*
* Completed entries will be cleaned up by an internal job
*
...
...
@@ -388,7 +405,7 @@ class Events_Store extends Singleton {
}
/**
* Prevent CPT from creating new entries
* Prevent event store from creating new entries
*
* Should be used sparingly, and followed by a call to resume_event_creation(), during bulk operations
*/
...
...
@@ -397,7 +414,7 @@ class Events_Store extends Singleton {
}
/**
* Stop discarding events, once again storing them in the CPT
* Stop discarding events, once again storing them in the table