|
|
@ -61,6 +61,9 @@ function admin_post(&$a){ |
|
|
|
case 'logs': |
|
|
|
admin_page_logs_post($a); |
|
|
|
break; |
|
|
|
case 'dbsync': |
|
|
|
admin_page_dbsync_post($a); |
|
|
|
break; |
|
|
|
case 'update': |
|
|
|
admin_page_remoteupdate_post($a); |
|
|
|
break; |
|
|
@ -94,7 +97,8 @@ function admin_content(&$a) { |
|
|
|
'users' => Array($a->get_baseurl(true)."/admin/users/", t("Users") , "users"), |
|
|
|
'plugins'=> Array($a->get_baseurl(true)."/admin/plugins/", t("Plugins") , "plugins"), |
|
|
|
'themes' => Array($a->get_baseurl(true)."/admin/themes/", t("Themes") , "themes"), |
|
|
|
'update' => Array($a->get_baseurl(true)."/admin/update/", t("Update") , "update") |
|
|
|
'dbsync' => Array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync"), |
|
|
|
'update' => Array($a->get_baseurl(true)."/admin/update/", t("Software Update") , "update") |
|
|
|
); |
|
|
|
|
|
|
|
/* get plugins admin page */ |
|
|
@ -142,6 +146,9 @@ function admin_content(&$a) { |
|
|
|
case 'logs': |
|
|
|
$o = admin_page_logs($a); |
|
|
|
break; |
|
|
|
case 'dbsync': |
|
|
|
$o = admin_page_dbsync($a); |
|
|
|
break; |
|
|
|
case 'update': |
|
|
|
$o = admin_page_remoteupdate($a); |
|
|
|
break; |
|
|
@ -435,6 +442,62 @@ function admin_page_site(&$a) { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function admin_page_dbsync(&$a) { |
|
|
|
|
|
|
|
$o = ''; |
|
|
|
|
|
|
|
if($a->argc > 3 && intval($a->argv[3]) && $a->argv[2] === 'mark') { |
|
|
|
set_config('database', 'update_' . intval($a->argv[3]), 'success'); |
|
|
|
info( t('Update has been marked successful') . EOL); |
|
|
|
goaway($a->get_baseurl(true) . '/admin/dbsync'); |
|
|
|
} |
|
|
|
|
|
|
|
if($a->argc > 2 && intval($a->argv[2])) { |
|
|
|
require_once('update.php'); |
|
|
|
$func = 'update_' . intval($a->argv[2]); |
|
|
|
if(function_exists($func)) { |
|
|
|
$retval = $func(); |
|
|
|
if($retval === UPDATE_FAILED) { |
|
|
|
$o .= sprintf( t('Executing %s failed. Check system logs.'), $func); |
|
|
|
} |
|
|
|
elseif($retval === UPDATE_SUCCESS) { |
|
|
|
$o .= sprintf( t('Update %s was successfully applied.', $func)); |
|
|
|
set_config('database',$func, 'success'); |
|
|
|
} |
|
|
|
else |
|
|
|
$o .= sprintf( t('Update %s did not return a status. Unknown if it succeeded.'), $func); |
|
|
|
} |
|
|
|
else |
|
|
|
$o .= sprintf( t('Update function %s could not be found.'), $func); |
|
|
|
return $o; |
|
|
|
} |
|
|
|
|
|
|
|
$failed = array(); |
|
|
|
$r = q("select * from config where `cat` = 'database' "); |
|
|
|
if(count($r)) { |
|
|
|
foreach($r as $rr) { |
|
|
|
$upd = intval(substr($rr['k'],7)); |
|
|
|
if($upd < 1139 || $rr['v'] === 'success') |
|
|
|
continue; |
|
|
|
$failed[] = $upd; |
|
|
|
} |
|
|
|
} |
|
|
|
if(! count($failed)) |
|
|
|
return '<h3>' . t('No failed updates.') . '</h3>'; |
|
|
|
|
|
|
|
$o = replace_macros(get_markup_template('failed_updates.tpl'),array( |
|
|
|
'$base' => $a->get_baseurl(true), |
|
|
|
'$banner' => t('Failed Updates'), |
|
|
|
'$desc' => t('This does not include updates prior to 1139, which did not return a status.'), |
|
|
|
'$mark' => t('Mark success (if update was manually applied)'), |
|
|
|
'$apply' => t('Attempt to execute this update step automatically'), |
|
|
|
'$failed' => $failed |
|
|
|
)); |
|
|
|
|
|
|
|
return $o; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Users admin page |
|
|
|
* |
|
|
@ -979,7 +1042,6 @@ readable."); |
|
|
|
$size = 5000000; |
|
|
|
$seek = fseek($fp,0-$size,SEEK_END); |
|
|
|
if($seek === 0) { |
|
|
|
fgets($fp); // throw away the first partial line
|
|
|
|
$data = escape_tags(fread($fp,$size)); |
|
|
|
while(! feof($fp)) |
|
|
|
$data .= escape_tags(fread($fp,4096)); |
|
|
|