function pluginSettingGroupUninstall($pluginid) { global $db; $result = $db->query("SELECT id, name FROM {$db->pre}settings_groups WHERE name = 'module_{$pluginid}' LIMIT 1"); $row = $db->fetch_assoc($result); $c = new manageconfig(); $c->getdata(); $result = $db->query("SELECT name FROM {$db->pre}settings WHERE sgroup = '{$row['id']}'"); while ($row2 = $db->fetch_assoc($result)) { $c->delete(array($row['name'], $row2['name'])); } $c->savedata(); $db->query("DELETE FROM {$db->pre}settings WHERE sgroup = '{$row['id']}'", __LINE__, __FILE__); $db->query("DELETE FROM {$db->pre}settings_groups WHERE id = '{$row['id']}'", __LINE__, __FILE__); }
function updateLanguageFiles($ini) { $c = new manageconfig(); $codes = array(); $keys = array('language', 'language_de'); $codes = getLangCodesByKeys($keys); $langcodes = getLangCodes(); foreach ($langcodes as $code => $lid) { $ldat = explode('_', $code); if (isset($codes[$ldat[0]])) { $count = count($codes[$ldat[0]]); if (in_array('', $codes[$ldat[0]])) { $count--; } } else { $count = -1; } if (isset($codes[$ldat[0]]) && !empty($ldat[1]) && in_array($ldat[1], $codes[$ldat[0]])) { // Nehme Original $src = 'language_' . $code; } elseif (isset($codes[$ldat[0]]) && in_array('', $codes[$ldat[0]])) { // Nehme gleichen Langcode, aber ohne Countrycode $src = 'language_' . $ldat[0]; } elseif (isset($codes[$ldat[0]]) && $count > 0) { // Nehme gleichen Langcode, aber falchen Countrycode $src = 'language_' . $ldat[0] . '_' . reset($codes[$ldat[0]]); } else { // Nehme Standard $src = 'language'; } foreach ($ini as $file => $data) { if (!isset($data[$src])) { continue; } $c->getdata("language/{$lid}/{$file}.lng.php", 'lang'); foreach ($data[$src] as $varname => $text) { if ($text === null) { $c->delete($varname); } else { $c->updateconfig($varname, str, $text); } } $c->savedata(); } } }
?> "><img border="0" align="middle" alt="" src="admin/html/images/yes.gif"> Yes</a>     <a href="javascript: history.back(-1);"><img border="0" align="middle" alt="" src="admin/html/images/no.gif"> No</a> </p> </td></tr> </table> <?php echo foot(); } elseif ($job == 'package_delete2') { $id = $gpc->get('id', int); if (!is_id($id)) { echo head(); error('javascript: history.back(-1);', 'Specified package (' . $id . ') does not exist.'); } $c = new manageconfig(); $dir = "modules/{$id}/"; $ini = $myini->read($dir . "config.ini"); $confirm = true; $pluginid = $id; ($code = $plugins->uninstall($id)) ? eval($code) : null; $result = $db->query("SELECT * FROM {$db->pre}plugins WHERE module = '{$id}' GROUP BY position", __LINE__, __FILE__); while ($data = $db->fetch_assoc($result)) { $filesystem->unlink('cache/modules/' . $plugins->_group($data['position']) . '.php'); } $db->query("DELETE FROM {$db->pre}plugins WHERE module = '{$id}'", __LINE__, __FILE__); $db->query("DELETE FROM {$db->pre}packages WHERE id = '{$id}' LIMIT 1", __LINE__, __FILE__); // Delete references in navigation aswell $db->query("DELETE FROM {$db->pre}menu WHERE module = '{$id}'", __LINE__, __FILE__); // Delete templates $designObj = $scache->load('loaddesign');
} ?> <tr> <td class="ubox" colspan="2" align="center"><input type="submit" name="Submit" value="<?php echo $lang->phrase('admin_lang_form_save'); ?> " /></td> </tr> </table> </form> <?php echo foot(); } elseif ($job == 'phrase_add2') { echo head(); $varname = $gpc->get('varname', none); $text = $gpc->get('text', none); $file = base64_decode($gpc->get('file', none)); $language = $gpc->get('langt', none); $c = new manageconfig(); foreach ($language as $id => $t) { if (empty($t)) { $t = $text; } $c->getdata("language/{$id}/{$file}", 'lang'); $c->updateconfig($varname, str, $t); $c->savedata(); } ok('admin.php?action=language&job=phrase_file&file=' . urlencode(base64_encode($file))); } else { viscacha_header('Location: admin.php?action=language&job=manage'); }
if (isset($_REQUEST['dbpw'])) { $config['dbpw'] = trim($_REQUEST['dbpw']); } if (isset($_REQUEST['database'])) { $config['database'] = trim($_REQUEST['database']); } if (isset($_REQUEST['pconnect'])) { $config['pconnect'] = $_REQUEST['pconnect']; } if (isset($_REQUEST['dbprefix'])) { $config['dbprefix'] = trim($_REQUEST['dbprefix']); } if (isset($_REQUEST['dbsystem'])) { $config['dbsystem'] = $_REQUEST['dbsystem']; } $c = new manageconfig(); $c->getdata('../data/config.inc.php'); $c->updateconfig('host', str); $c->updateconfig('dbuser', str); $c->updateconfig('dbpw', str); $c->updateconfig('database', str); $c->updateconfig('pconnect', int); $c->updateconfig('dbprefix', str); $c->updateconfig('dbsystem', str); $c->savedata(); ?> <div class="bfoot center">Database Settings saved!</div> <?php } require '../data/config.inc.php'; require_once '../classes/database/' . $config['dbsystem'] . '.inc.php';
$osi[] = "http://osi.lishmirror.com:81/"; $osi[] = "http://snind.gotdns.com:8080/"; $osi[] = "http://public.hmstudios.net:8000/"; $filesystem->chmod($file, 0666); $filesystem->file_put_contents($file, implode("\n", $osi)); // language $dir = "../language/"; $lngids = array(); $d = dir($dir); while (false !== ($entry = $d->read())) { if (is_dir($dir . $entry) && preg_match('/^\\d{1,}$/', $entry) && $entry != '.' && $entry != '..') { $lngids[] = $entry; } } $d->close(); $c = new manageconfig(); $wwo = array(); $wwo['wwo_misc_board_rules'] = 'reads the <a href="misc.php?action=board_rules&id={$id}">forum rules</a> in the forum <a href="showforum.php?id={$id}">{$title}</a>'; $wwo['wwo_popup_showpost'] = 'views a single post: <a href="popup.php?action=showpost&id={$id}" target="showpost" onclick="showpost(this)">{$title}</a>'; $glob = array(); $glob['board_rules'] = 'Forum Rules'; $glob['editprofile_pic_delete'] = 'Delete Avatar'; $glob['forum_is_read_only'] = 'Sorry, but you are not allowed to write a post in this forum, because this forum is read only.'; $glob['no_board_rules_specified'] = 'No forum rules specified!'; $glob['no_existing_notices'] = 'You did not store any notes!'; $glob['showtopic_options_abo_remove'] = 'Unsubscribe from this topic'; $glob['subscribed_successfully'] = 'You successfully subscribed to this topic.'; $glob['unsubscribed_successfully'] = 'You successfully unsubscribed from this topic.'; $glob['upload_error_default'] = 'An unknown error occured while uploading.'; $glob['showtopic_prefix_title'] = '[{$prefix}] '; $glob['upload_error_fileexists'] = 'File already exists.';
</td> </tr> </table> <?php } ?> <?php echo foot(); } elseif ($job == 'design_default') { echo head(); $id = $gpc->get('id', int); $result = $db->query("SELECT publicuse FROM {$db->pre}designs WHERE id = '{$id}' LIMIT 1"); $info = $db->fetch_assoc($result); if ($info['publicuse'] == 1) { include 'classes/class.phpconfig.php'; $c = new manageconfig(); $c->getdata(); $c->updateconfig('templatedir', int, $id); $c->savedata(); $delobj = $scache->load('loaddesign'); $delobj->delete(); ok('admin.php?action=designs&job=design'); } else { error('admin.php?action=designs&job=design', $lang->phrase('admin_design_set_design_as_default_error')); } } elseif ($job == 'design_edit') { $id = $gpc->get('id', int); $result = $db->query("SELECT * FROM {$db->pre}designs WHERE id = '{$id}' LIMIT 1"); $info = $db->fetch_assoc($result); $dir = "templates/"; $templates = array();
<?php include 'data/config.inc.php'; if (isset($_REQUEST['save']) && $_REQUEST['save'] == 1) { require_once 'install/classes/class.filesystem.php'; $filesystem = new filesystem($config['ftp_server'], $config['ftp_user'], $config['ftp_pw'], $config['ftp_port']); $filesystem->set_wd($config['ftp_path'], $config['fpath']); include 'install/classes/class.phpconfig.php'; $c = new manageconfig(); $c->getdata('data/config.inc.php'); $c->updateconfig('fname', str); $c->updateconfig('fname', str); $c->updateconfig('fdesc', str); $c->updateconfig('furl', str); $c->updateconfig('fpath', str); $c->updateconfig('forenmail', str); $c->updateconfig('cookie_prefix', str); $c->updateconfig('langdir', int); $langdir = $c->data['langdir']; if (empty($c->data['cryptkey']) == true) { $c->updateconfig('cryptkey', str, md5(microtime())); } $c->updateconfig('foffline', int, 1); $c->updateconfig('version', str, VISCACHA_VERSION); if (!empty($c->data['forenmail']) && empty($c->data['pccron_sendlog_email'])) { $c->updateconfig('pccron_sendlog_email', str, $c->data['forenmail']); } $c->savedata(); $c->getdata('admin/data/config.inc.php', 'admconfig'); $c->updateconfig('default_language', int, 0); $c->savedata();
<?php include '../data/config.inc.php'; require_once 'lib/function.variables.php'; if (!class_exists('filesystem')) { require_once '../classes/class.filesystem.php'; $filesystem = new filesystem($config['ftp_server'], $config['ftp_user'], $config['ftp_pw'], $config['ftp_port']); $filesystem->set_wd($config['ftp_path']); } if (!class_exists('DB')) { require_once '../classes/database/' . $config['dbsystem'] . '.inc.php'; $db = new DB($config['host'], $config['dbuser'], $config['dbpw'], $config['database'], $config['pconnect'], true, $config['dbprefix']); $db->pre = $db->prefix(); $db->errlogfile = '../' . $db->errlogfile; } include '../classes/class.phpconfig.php'; $c = new manageconfig(); $c->getdata('../data/config.inc.php'); $c->updateconfig('version', str, VISCACHA_VERSION); $c->updateconfig('abozahl', int, 20); $c->updateconfig('activezahl', int, 20); $c->updateconfig('botgfxtest_colortext', int, 1); $c->updateconfig('botgfxtest_format', str, 'jpg'); $c->updateconfig('botgfxtest_height', int, 50); $c->updateconfig('botgfxtest_posts', int, 1); $c->updateconfig('botgfxtest_posts_height', int, 40); $c->updateconfig('botgfxtest_posts_width', int, 170); $c->updateconfig('botgfxtest_quality', int, 80); $c->updateconfig('botgfxtest_text_verification', int, 0); $c->updateconfig('botgfxtest_width', int, 175); $c->updateconfig('error_handler', int, 0); $c->updateconfig('error_log', int, 0);
$file .= "\r\n* html .tooltip {\r\n\twidth: 300px;\r\n}\r\n"; $filesystem->file_put_contents($path . 'ie.css', $file); } } } $dir->close(); echo "- Stylesheets updated.<br />"; // MySQL $file = 'package/' . $package . '/db/db_changes.sql'; $sql = file_get_contents($file); $sql = str_ireplace('{:=DBPREFIX=:}', $db->prefix(), $sql); $db->multi_query($sql); echo "- Database tables updated.<br />"; // Languages $ini = array('settings' => array('language' => array('compatible_version' => VISCACHA_VERSION), 'language_de' => array('compatible_version' => VISCACHA_VERSION)), 'global' => array('language' => array('upload_error_default' => null, 'upload_error_fileexists' => null, 'upload_error_maxfilesize' => null, 'upload_error_maximagesize' => null, 'upload_error_noaccess' => null, 'upload_error_noupload' => null, 'upload_error_wrongfiletype' => null, 'ats_select9' => null, 'ats_choose' => 'No Status', 'ats_choose_standard_a' => 'Use default setting (Article)', 'ats_choose_standard_n' => 'Use default setting (News)', 'profile_never' => 'Never'), 'language_de' => array('upload_error_default' => null, 'upload_error_fileexists' => null, 'upload_error_maxfilesize' => null, 'upload_error_maximagesize' => null, 'upload_error_noaccess' => null, 'upload_error_noupload' => null, 'upload_error_wrongfiletype' => null, 'ats_select9' => null, 'ats_choose' => 'Kein Status', 'ats_choose_standard_a' => 'Standardeinstellung nutzen (Artikel)', 'ats_choose_standard_n' => 'Standardeinstellung nutzen (News)', 'editprofile_about_longdesc' => 'Hier können Sie sich eine persönliche "Forenseite" erstellen.<br /><br />Sie können BB-Codes und maximal <em>{$chars}</em> Zeichen für die Seite nutzen.', 'profile_about' => 'Persönliche Seite', 'profile_never' => 'Nie'))); $c = new manageconfig(); $codes = array(); $keys = array('language', 'language_de'); $codes = getLangCodesByKeys($keys); $langcodes = getLangCodes(); foreach ($langcodes as $code => $lid) { $ldat = explode('_', $code); if (isset($codes[$ldat[0]])) { $count = count($codes[$ldat[0]]); if (in_array('', $codes[$ldat[0]])) { $count--; } } else { $count = -1; } if (isset($codes[$ldat[0]]) && !empty($ldat[1]) && in_array($ldat[1], $codes[$ldat[0]])) {
} echo "- Source files loaded<br />"; if (!class_exists('filesystem')) { require_once 'install/classes/class.filesystem.php'; $filesystem = new filesystem($config['ftp_server'], $config['ftp_user'], $config['ftp_pw'], $config['ftp_port']); $filesystem->set_wd($config['ftp_path'], $config['fpath']); } echo "- FTP class loaded and initialized.<br />"; if (!class_exists('DB')) { require_once 'install/classes/database/' . $config['dbsystem'] . '.inc.php'; $db = new DB($config['host'], $config['dbuser'], $config['dbpw'], $config['database'], $config['dbprefix']); $db->setPersistence($config['pconnect']); } echo "- Database class loaded and initialized.<br />"; // Config $c = new manageconfig(); $c->getdata('data/config.inc.php'); $c->updateconfig('version', str, VISCACHA_VERSION); $c->savedata(); echo "- Configuration updated.<br />"; // Languages $ini = array('settings' => array('language_de' => array('compatible_version' => VISCACHA_VERSION), 'language' => array('compatible_version' => VISCACHA_VERSION)), 'admin/frames' => array('language_de' => array('admin_scheduler_log' => 'Protokoll der geplanten Aufgaben')), 'classes' => array('language_de' => array('mailer_encoding' => 'Unbekanntes Encoding-Format: ', 'mailer_execute' => 'Konnte folgenden Befehl nicht ausführen: ', 'mailer_file_access' => 'Zugriff auf folgende Datei fehlgeschlagen: ', 'mailer_file_open' => 'Datei Fehler: Konnte folgende Datei nicht öffnen: ', 'mailer_from_failed' => 'Die folgende Absenderadresse ist nicht korrekt: ', 'mailer_recipients_failed' => 'SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: ', 'mailer_signing' => 'Fehler beim Signieren: ', 'mailer_empty_message' => 'E-Mail Inhalt ist leer.', 'mailer_invalid_address' => 'E-Mail wird nicht gesendet, die Adresse ist ungültig.', 'mailer_smtp_connect_failed' => 'Verbindung zu SMTP Server fehlgeschlagen.', 'mailer_smtp_error' => 'Fehler vom SMTP Server: ', 'mailer_variable_set' => 'Kann Variable nicht setzen oder zurücksetzen: '), 'language' => array('mailer_authenticate' => 'SMTP Error: Could not authenticate.', 'mailer_connect_host' => 'SMTP Error: Could not connect to SMTP host.', 'mailer_data_not_accepted' => 'SMTP Error: Data not accepted.', 'mailer_encoding' => 'Unknown encoding: ', 'mailer_execute' => 'Could not execute: ', 'mailer_file_access' => 'Could not access file: ', 'mailer_file_open' => 'File Error: Could not open file: ', 'mailer_from_failed' => 'The following From address failed: ', 'mailer_instantiate' => 'Could not instantiate mail function.', 'mailer_mailer_not_supported' => ' mailer is not supported.', 'mailer_provide_address' => 'You must provide at least one recipient email address.', 'mailer_recipients_failed' => 'SMTP Error: The following recipients failed: ', 'mailer_empty_message' => 'Message body empty', 'mailer_invalid_address' => 'Invalid address', 'mailer_smtp_connect_failed' => 'SMTP Connect() failed.', 'mailer_smtp_error' => 'SMTP server error: ', 'mailer_variable_set' => 'Cannot set or reset variable: ')), 'global' => array('language_de' => array('digest_d' => 'Tägliche E-Mail-Benachrichtigung', 'digest_none' => 'Keine Benachrichtigung', 'img_captcha_session_expired_error' => 'Seite aktualisieren', 'digest_f' => 'Nur Favorit'), 'language' => array('digest_none' => 'No notification', 'img_captcha_session_expired_error' => 'Refresh page', 'digest_f' => 'Favorite only'))); updateLanguageFiles($ini); echo "- Language files updated.<br />"; $newCss = file_get_contents('temp/standard.css'); $dir = dir('designs'); while (false !== ($entry = $dir->read())) { if (is_id($entry)) { $path = "{$dir->path}/{$entry}/standard.css"; $css = file_get_contents($path); if (!empty($css)) {
<?php if (isset($_SERVER['PHP_SELF']) && basename($_SERVER['PHP_SELF']) == "settings.php") { die('Error: Hacking Attempt'); } // Loading Config-Data include 'classes/class.phpconfig.php'; $c = new manageconfig(); if ($job == 'ftp') { $config = $gpc->prepare($config); $path = 'N/A'; if (isset($_SERVER['DOCUMENT_ROOT'])) { $path = str_replace(realpath($_SERVER['DOCUMENT_ROOT']) . DIRECTORY_SEPARATOR, '', realpath('../')); } echo head(); ?> <form name="form" method="post" action="admin.php?action=settings&job=ftp2"> <table class="border" border="0" cellspacing="0" cellpadding="4" align="center"> <tr> <td class="obox" colspan="2"><b>FTP Settings</b></td> </tr> <tr> <td class="mbox" width="50%">FTP-Server:<br /><span class="stext">You can leave it empty for disabling FTP.</span></td> <td class="mbox" width="50%"><input type="text" name="ftp_server" size="50" value="<?php echo $config['ftp_server']; ?> "></td> </tr> <tr> <td class="mbox" width="50%">FTP-Port:</td> <td class="mbox" width="50%"><input type="text" name="ftp_port" value="21" size="4" value="<?php
require '../data/config.inc.php'; require_once 'lib/function.variables.php'; require_once '../classes/class.phpconfig.php'; if (!class_exists('filesystem')) { require_once '../classes/class.filesystem.php'; $filesystem = new filesystem($config['ftp_server'], $config['ftp_user'], $config['ftp_pw'], $config['ftp_port']); $filesystem->set_wd($config['ftp_path']); } if (!class_exists('DB')) { require_once '../classes/database/' . $config['dbsystem'] . '.inc.php'; $db = new DB($config['host'], $config['dbuser'], $config['dbpw'], $config['database'], $config['pconnect'], true, $config['dbprefix']); $db->pre = $db->prefix(); $db->errlogfile = '../' . $db->errlogfile; } // data $c = new manageconfig(); $c->getdata('../data/config.inc.php'); $c->updateconfig('version', str, VISCACHA_VERSION); $c->updateconfig('disableregistration', int, 0); $c->updateconfig('hidedesign', int, 0); $c->updateconfig('hidelanguage', int, 0); $c->updateconfig('mlist_fields', str, 'fullname,pm,regdate,hp,icq,yahoo,aol,msn,jabber,skype'); $c->updateconfig('mlist_filtergroups', int, 0); $c->updateconfig('mlist_showinactive', int, 0); $c->updateconfig('register_notification', str, ''); $c->updateconfig('updatepostcounter', int, 1); $c->savedata(); $d = file('../data/cron/crontab.inc.php'); $d = array_map('trim', $d); $d[] = '0 */6 * * * recountpostcounts.php #Recount User Post Counter'; $filesystem->file_put_contents('../data/cron/crontab.inc.php', implode("\n", $d));
<?php if (defined('VISCACHA_CORE') == false) { die('Error: Hacking Attempt'); } // MM/AM: MultiLangAdmin $lang->group("admin/settings"); $lang->group("timezones"); // Loading Config-Data include 'classes/class.phpconfig.php'; include 'admin/lib/function.settings.php'; $c = new manageconfig(); $myini = new INI(); ($code = $plugins->load('admin_settings_jobs')) ? eval($code) : null; if ($job == 'admin') { $config = $gpc->prepare($config); $loadlanguage_obj = $scache->load('loadlanguage'); $language = $loadlanguage_obj->get(); echo head(); ?> <form name="form" method="post" action="admin.php?action=settings&job=admin2"> <table class="border" border="0" cellspacing="0" cellpadding="4" align="center"> <tr> <td class="obox" colspan="2"><?php echo $lang->phrase('admin_admin_control_panel_settings'); ?> </td> </tr> <tr> <td class="mbox" width="50%"><?php echo $lang->phrase('admin_use_extended_navigation_interface');
" does not exist!</div> <div class="bfoot center"><a class="submit" href="index.php?step=<?php echo $step - 1; ?> ">Go back</a></div> <?php } else { $ftp->chdir('install'); $ftp->chmod('../data/config.inc.php', 0666); $ftp->cdup(); $ftp->quit(); require_once '../classes/class.filesystem.php'; $filesystem = new filesystem($config['ftp_server'], $config['ftp_user'], $config['ftp_pw'], $config['ftp_port']); $filesystem->set_wd($config['ftp_path']); include '../classes/class.phpconfig.php'; $c = new manageconfig(); $c->getdata('../data/config.inc.php'); $c->updateconfig('ftp_server', str); $c->updateconfig('ftp_user', str); $c->updateconfig('ftp_pw', str); $c->updateconfig('ftp_path', str); $c->updateconfig('ftp_port', int); $c->savedata(); ?> </pre></div> <div class="bfoot center">FTP Settings saved!<br />Connection: OK!</div> <?php } } } }
?> &package=<?php echo IMPTYPE_PACKAGE; ?> "><?php echo $lang->phrase('admin_packages_browser_details'); ?> </a> </td> </tr> <?php } ?> </table> <?php $c = new manageconfig(); $c->getdata('admin/data/config.inc.php', 'admconfig'); $c->updateconfig('checked_package_updates', int, 1); $c->savedata(); echo foot(); } } elseif ($job == 'browser') { $pb = $scache->load('package_browser'); $types = $pb->types(); $type = $gpc->get('type', int, IMPTYPE_PACKAGE); $cats = $pb->categories($type); if (count($cats) > 0) { // Calculate random entry unset($cat); $i = 0; do {
<td class="ubox" colspan="2" align="center"><input type="submit" value="<?php echo $lang->phrase('admin_lang_form_save'); ?>" /></td> </tr> </table> </form> <?php echo foot(); } elseif ($job == 'phrase_add2') { echo head(); $source_id = $gpc->get('id', int); $file = $gpc->get('file', path); $varname = $gpc->get('varname', none); $text = $gpc->get('text', none); $language = $gpc->get('langt', arr_none); $c = new manageconfig(); foreach ($language as $id => $t) { $c->getdata("language/{$id}/{$file}.lng.php", 'lang'); $c->updateconfig($varname, str, iif(empty($t), $text, $t)); $c->savedata(); } if ($file == 'javascript') { $delobj = $scache->load('loadlanguage'); $delobj->delete(); } if (is_id($source_id)) ok('admin.php?action=language&job=lang_array&id='.$source_id.'&file='.$file); else ok('admin.php?action=language&job=phrase_add&file='.$file);