+
+/**
+ * Logs admin page
+ */
+
+function admin_page_logs_post(&$a) {
+ if (x($_POST,"page_logs")) {
+
+ $logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : '');
+ $debugging = ((x($_POST,'debugging')) ? true : false);
+ $loglevel = ((x($_POST,'loglevel')) ? intval(trim($_POST['loglevel'])) : 0);
+
+ set_config('system','logfile', $logfile);
+ set_config('system','debugging', $debugging);
+ set_config('system','loglevel', $loglevel);
+
+
+ }
+
+ info( t("Log settings updated.") );
+ goaway($a->get_baseurl() . '/admin/logs' );
+ return; // NOTREACHED
+}
+
+function admin_page_logs(&$a){
+
+ $log_choices = Array(
+ LOGGER_NORMAL => 'Normal',
+ LOGGER_TRACE => 'Trace',
+ LOGGER_DEBUG => 'Debug',
+ LOGGER_DATA => 'Data',
+ LOGGER_ALL => 'All'
+ );
+
+ $t = get_markup_template("admin_logs.tpl");
+
+ $f = get_config('system','logfile');
+ $size = filesize($f);
+ if($size > 5000000)
+ $size = 5000000;
+
+ $data = '';
+ $fp = fopen($f,'r');
+ if($fp) {
+ $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));
+ }
+ fclose($fp);
+ }
+
+
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Logs'),
+ '$submit' => t('Submit'),
+ '$clear' => t('Clear'),
+ '$data' => $data,
+ '$baseurl' => $a->get_baseurl(),
+ '$logname' => get_config('system','logfile'),
+
+ // name, label, value, help string, extra data...
+ '$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""),
+ '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendika index.php.")),
+ '$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
+ ));
+}
+
+function admin_page_remoteupdate_post(&$a) {
+ // this function should be called via ajax post
+ if(!is_site_admin()) {
+ return login(false);
+ }
+
+
+ if (x($_POST,'remotefile') && $_POST['remotefile']!=""){
+ $remotefile = $_POST['remotefile'];
+ $ftpdata = (x($_POST['ftphost'])?$_POST:false);
+ doUpdate($remotefile, $ftpdata);
+ } else {
+ echo "No remote file to download. Abort!";
+ }
+
+ killme();
+}
+
+function admin_page_remoteupdate(&$a) {
+ if(!is_site_admin()) {
+ return login(false);
+ }
+
+ $canwrite = canWeWrite();
+ $canftp = function_exists('ftp_connect');
+
+ $needupdate = true;
+ $u = checkUpdate();
+ if (!is_array($u)){
+ $needupdate = false;
+ $u = array('','','');
+ }
+
+ $tpl = get_markup_template("admin_remoteupdate.tpl");
+ return replace_macros($tpl, array(
+ '$baseurl' => $a->get_baseurl(),
+ '$submit' => t("Update now"),
+ '$close' => t("Close"),
+ '$localversion' => FRIENDIKA_VERSION,
+ '$remoteversion' => $u[1],
+ '$needupdate' => $needupdate,
+ '$canwrite' => $canwrite,
+ '$canftp' => $canftp,
+ '$ftphost' => array('ftphost', t("FTP Host"), '',''),
+ '$ftppath' => array('ftppath', t("FTP Path"), '/',''),
+ '$ftpuser' => array('ftpuser', t("FTP User"), '',''),
+ '$ftppwd' => array('ftppwd', t("FTP Password"), '',''),
+ '$remotefile'=>array('remotefile','', $u['2'],'')
+ ));
+
+}