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();
        }
    }
}
Beispiel #3
0
    ?>
"><img border="0" align="middle" alt="" src="admin/html/images/yes.gif"> Yes</a>
	&nbsp&nbsp;&nbsp;&nbsp&nbsp;&nbsp;
	<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');
}
Beispiel #5
0
    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';
Beispiel #6
0
$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();
Beispiel #8
0
<?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();
Beispiel #9
0
<?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);
Beispiel #10
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]])) {
Beispiel #11
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&uuml;hren: ', 'mailer_file_access' => 'Zugriff auf folgende Datei fehlgeschlagen: ', 'mailer_file_open' => 'Datei Fehler: Konnte folgende Datei nicht &ouml;ffnen: ', 'mailer_from_failed' => 'Die folgende Absenderadresse ist nicht korrekt: ', 'mailer_recipients_failed' => 'SMTP Fehler: Die folgenden Empf&auml;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&uuml;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&uuml;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 
Beispiel #13
0
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&amp;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');
Beispiel #15
0
" 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 
            }
        }
    }
}
            ?>
&amp;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);