$typevalue = $gpc->get('typevalue', none); $value = $gpc->get('value', none); $group = $gpc->get('group', int); $package = $gpc->get('package', int); $result = $db->query("SELECT name FROM {$db->pre}settings_groups WHERE id = '{$group}'"); $row = $db->fetch_assoc($result); if (isset($config[$row['name']][$name]) || strlen($name) < 3 || strlen($name) > 120) { error('admin.php?action=settings&job=custom', $lang->phrase('admin_name_exists')); } if ($type != 'checkbox' && $type != 'text' && $type != 'textarea' && $type != 'select') { error('admin.php?action=settings&job=custom', $lang->phrase('admin_invalid_type')); } if ($type == 'select') { $typevalue = str_replace("\r\n", "\n", trim($typevalue)); $typevalue = str_replace("\r", "\n", $typevalue); $arr_value = prepare_custom($typevalue); if (!isset($arr_value[$value])) { error('admin.php?action=settings&job=new', $lang->phrase('admin_value_not_in_setting_type_values')); } } else { $typevalue = ''; } $db->query("\n\tINSERT INTO {$db->pre}settings (name, title, description, type, optionscode, value, sgroup)\n\tVALUES ('{$name}', '{$title}', '{$desc}', '{$type}', '" . $gpc->save_str($typevalue) . "', '" . $gpc->save_str($value) . "', '{$group}')\n\t"); $c->getdata(); $c->updateconfig(array($row['name'], $name), none, $value); $c->savedata(); $result = $db->query("SELECT id FROM {$db->pre}packages WHERE internal = '{$row['name']}'"); $key = $db->fetch_assoc($result); if ($package == 0 && $key['id'] > 0) { $package = $key['id']; }
if (file_exists("modules/{$package['id']}/component.ini") == true) { $result = $db->query("SELECT * FROM {$db->pre}component WHERE package = '{$package['id']}'", __LINE__, __FILE__); $component = $db->fetch_assoc($result); $component_ini = $myini->read("modules/{$package['id']}/component.ini"); } else { $component = $component_ini = null; } $settings = $sg = array(); $result = $db->query("SELECT id, title, name FROM {$db->pre}settings_groups WHERE name = '{$package_ini['info']['internal']}' LIMIT 1"); if ($db->num_rows($result) > 0) { $sg = $db->fetch_assoc($result); $result = $db->query("SELECT * FROM {$db->pre}settings WHERE sgroup = '{$sg['id']}' ORDER BY name", __LINE__, __FILE__); while ($row = $db->fetch_assoc($result)) { $row['current'] = $config[$sg['name']][$row['name']]; if ($row['type'] == 'select') { $val = prepare_custom($row['optionscode']); $row['current'] = isset($val[$row['current']]) ? $gpc->prepare($val[$row['current']]) : '<em>' . $lang->phrase('admin_packages_iunknown') . '</em>'; } $settings[] = $row; } } $dependencies = array(); if (isset($package_ini['dependency']) && count($package_ini['dependency']) > 0) { $result = $db->query("SELECT id, title, internal FROM {$db->pre}packages WHERE internal IN ('" . implode("','", $package_ini['dependency']) . "')", __LINE__, __FILE__); while ($row = $db->fetch_assoc($result)) { $dependencies[] = $row; } } $plug_count = count($modules); ?> <table class="border" border="0" cellspacing="0" cellpadding="4" align="center">
function custom_select($arr) { global $config; $val = prepare_custom($arr['optionscode']); ?> <tr> <td class="mbox" width="35%"><?php echo $arr['title']; ?> <br /><span class="stext"><?php echo $arr['description']; ?> </span></td> <td class="mbox" width="45%"> <select name="<?php echo $arr['name']; ?> "> <?php foreach ($val as $key => $value) { ?> <option value="<?php echo $key; ?> "<?php echo iif($config[$arr['groupname']][$arr['name']] == $key, ' selected="selected"'); ?> ><?php echo $value; ?> </option> <?php } ?> </select> </td> <td class="mbox" width="10%"><a href="admin.php?action=settings&job=delete&name=<?php echo $arr['name']; ?> &id=<?php echo $arr['sgroup']; ?> ">Delete Setting</a></td> <td class="mbox" width="10%"><code>$config['<?php echo $arr['groupname']; ?> ']['<?php echo $arr['name']; ?> ']</code></td> </tr> <?php }