$langinfocontent = '<?php' . "\r\n"; $langinfocontent .= '// ClanSphere 2010 - www.clansphere.net' . "\r\n"; $langinfocontent .= '// File created by mod modules' . "\r\n\r\n"; $langinfocontent .= '$cs_lang[\'mod\'] = \'' . $_POST['modname'] . "';\r\n"; $langinfocontent .= '$cs_lang[\'mod_info\'] = \'' . $_POST['description'] . "';\r\n\r\n"; $langinfocontent .= '?>'; if (!($langinfofile = fopen($cs_main['def_path'] . '/lang/' . $account['users_lang'] . '/' . $_POST['moddir'] . '.php', 'w'))) { $error .= cs_html_br(1) . $cs_lang['modinfolang_create_failed']; } elseif (!fwrite($langinfofile, $langinfocontent)) { $error .= cs_html_br(1) . $cs_lang['modinfolang_write_failed']; } else { fclose($langinfofile); } // SQL $query = 'ALTER TABLE {pre}_access ADD access_' . cs_sql_escape($_POST['moddir']) . ' int(2) NOT NULL default \'0\';'; $query = cs_sql_replace($query); if (!cs_sql_query(__FILE__, $query)) { $error .= cs_html_br(1) . $cs_lang['sqlaccess_failed']; } } } if (empty($_POST['submit']) || !empty($error)) { $data['message']['lang'] = empty($error) ? nl2br($cs_lang['need_chmod']) : $cs_lang['error_occured'] . $error; // SQL Tables $_POST['tablescount'] = empty($_POST['tablescount']) ? 1 : (int) $_POST['tablescount']; $tablescount = empty($_POST['addtable']) ? $_POST['tablescount'] : $_POST['tablescount'] + 1; for ($run = 0; $run < $tablescount; $run++) { $data['tables'][$run]['run'] = $run; $data['tables'][$run]['value'] = empty($_POST['table_' . $run]) ? '' : $_POST['table_' . $run]; } $data['value']['tablescount'] = $tablescount;
} $sql_install = file_get_contents('install.sql'); $sql_install = str_replace('{time}', cs_time(), $sql_install); $sql_install = str_replace('{def_lang}', $account['users_lang'], $sql_install); $sql_install = str_replace('{guest}', $cs_lang['guest'], $sql_install); $sql_install = str_replace('{community}', $cs_lang['community'], $sql_install); $sql_install = str_replace('{member}', $cs_lang['member'], $sql_install); $sql_install = str_replace('{orga}', $cs_lang['orga'], $sql_install); $sql_install = str_replace('{admin}', $cs_lang['admin'], $sql_install); if ($cs_db['hash'] == 'md5') { $sec_pwd = md5('admin'); } elseif ($cs_db['hash'] == 'sha1') { $sec_pwd = sha1('admin'); } $sql_install = str_replace('{pwd}', $sec_pwd, $sql_install); $sql_install = cs_sql_replace($sql_install); $sql_array = preg_split("=;[\n\r]+=", $sql_install); foreach ($sql_array as $sql_query) { $sql_query = trim($sql_query); if (!empty($sql_query)) { if (!cs_sql_query(__FILE__, $sql_query)) { cs_installerror($sql_query); } } } if (isset($_POST['module_select'])) { $mods = array('articles', 'awards', 'banners', 'board', 'boardmods', 'boardranks', 'buddys', 'cash', 'clans', 'computers', 'events', 'explorer', 'faq', 'fightus', 'files', 'gallery', 'games', 'gbook', 'history', 'joinus', 'links', 'linkus', 'maps', 'members', 'messages', 'news', 'newsletter', 'partner', 'quotes', 'ranks', 'replays', 'rules', 'search', 'servers', 'shoutbox', 'squads', 'static', 'usersgallery', 'votes', 'wars', 'wizard'); $mods_count = count($mods); for ($run = 0; $run < $mods_count; $run++) { if (!isset($_POST[$mods[$run]])) { cs_sql_query(__FILE__, "UPDATE {pre}_access SET access_" . $mods[$run] . " = '0'");
$install_sql = 0; $actions = ''; $sql_content = ''; if (isset($files['update']['name']) and preg_match("=^(.*?)\\.sql\$=si", $files['update']['name'])) { if ($files['update']['name'] == 'install.sql') { $install_sql++; } else { $sql_content = file_get_contents($files['update']['tmp_name']); cs_ajaxfiles_clear(); } } elseif (!empty($_POST['text'])) { $sql_content = $_POST['text']; } if (!empty($sql_content)) { $sql_update = str_replace('{time}', cs_time(), $sql_content); $sql_update = cs_sql_replace($sql_update); $sql_update = str_replace('\\;', '{serial}', $sql_update); $sql_array = explode(';', $sql_update); cs_abcode_load(); foreach ($sql_array as $sql_query) { $sql_query = trim(str_replace('{serial}', ';', $sql_query)); if (!empty($sql_query)) { $sql_lower = strtolower($sql_query); $look_up = 0; if (strpos($sql_lower, 'explain') === 0 or strpos($sql_lower, 'select') === 0 or strpos($sql_lower, 'show') === 0) { $look_up = 1; } if ($check = cs_sql_query(__FILE__, $sql_query, $look_up)) { $para[1] = 'green'; $info = $check['affected_rows']; if (!empty($look_up) and isset($check['more'][0])) {