fire_event('con_side_offline', array('idside' => $idside)); } else { $cms_log->info('user', 'con_side_online', array('idside' => $idside, 'pagename' => $SF_pageinfos->getTitleByIdside($idside))); fire_event('con_side_online', array('idside' => $idside)); } break; case 'delete_cache': // Cache löschen con_delete_cache($lang); $cms_log->info('user', 'con_cache_delete'); fire_event('con_cache_delete', array()); break; case 'regenerate_rewrite_urls': con_delete_cache($lang); include_once $cfg_cms['path_base'] . $cfg_cms['path_backend_rel'] . 'inc/fnc.mod_rewrite.php'; rewriteAutoForAll($lang); break; case 'cat_delete': // Ordner l�schen // Event $errno = con_delete_cat($idcat); $catname = $SF_catinfos->getTitle($idcat); if (empty($errno)) { $cms_log->info('user', 'con_cat_delete', array('idcat' => $idcat, 'catname' => $catname)); } fire_event('con_cat_delete', array('idcat' => $idcat, 'errno' => $errno)); break; case 'cat_visible': // Ordner online schalten //test if offline $bit_to_clear = ($visible & 0x1) == 0x1;
function lang_new_language($idclient, $name, $desc, $charset, $rewrite_key, $rewrite_mapping, $copy_content = true) { global $db, $sess, $auth, $cms_db, $lang, $user_msg; set_magic_quotes_gpc($name); set_magic_quotes_gpc($desc); set_magic_quotes_gpc($rewrite_key); set_magic_quotes_gpc($rewrite_mapping); $iso_3166_code = strlen($_REQUEST['iso_3166']) > 8 ? '' : $_REQUEST['iso_3166']; $is_start = '0'; // Eintrag in 'lang' Tabelle $from_lang = $lang; $sql = "INSERT INTO " . $cms_db['lang'] . "\n\t\t\t\t(name, description, author, charset, iso_3166_code, rewrite_key, rewrite_mapping, is_start, created, lastmodified)\n\t\t\tVALUES\n\t\t\t\t('{$name}', '{$desc}', '" . $auth->auth['uid'] . "', '" . $charset . "',\n\t\t\t\t\t '" . $iso_3166_code . "', '" . $rewrite_key . "', '" . $rewrite_mapping . "', '" . $is_start . "', '" . time() . "', '" . time() . "')"; $db->query($sql); $lang = mysql_insert_id(); // Eintrag in 'clients_lang' Tabelle $sql = "INSERT INTO \n\t\t\t\t" . $cms_db['clients_lang'] . " \n\t\t\t\t(idclient, idlang, author, created, lastmodified) \n\t\t\tVALUES \n\t\t\t\t('{$idclient}','{$lang}', '" . $auth->auth['uid'] . "', '" . time() . "', '" . time() . "')"; $db->query($sql); // Webseitencontent duplizieren if ($from_lang != '' && $copy_content) { $db2 = new DB_cms(); $db3 = new DB_cms(); // Zeitinterval vergrößern @set_time_limit(0); // Ordner kopieren $sql = "SELECT \n\t\t\t\t\tidcat, name, description, author, visible\n\t\t\t\tFROM \n\t\t\t\t\t" . $cms_db['cat_lang'] . " \n\t\t\t\tWHERE \n\t\t\t\t\tidlang='{$from_lang}'"; $db->query($sql); while ($db->next_record()) { $name = make_string_dump($db->f('name')); $description = make_string_dump($db->f('description')); // setze kopierte Seite auf Offline, keine Übernahme der Zeitsteuerung // übernehme aber das Bit für Schutzrechte incl. der zukünftigen Level $online = (int) $db->f('visible') & 0xfe; $sql2 = "INSERT INTO \n\t\t\t\t\t\t" . $cms_db['cat_lang'] . " \n\t\t\t\t\t\t(idcat, idlang, idtplconf, name, description, \n\t\t\t\t\t\t\tvisible, author, created, lastmodified) \n\t\t\t\t\tVALUES \n\t\t\t\t\t\t('" . $db->f('idcat') . "', '{$lang}', '0', '{$name}', '{$description}', '{$online}', \n\t\t\t\t\t\t\t'" . $db->f('author') . "', '" . time() . "', '" . time() . "')"; $db2->query($sql2); } // Seiten kopieren $sql = "SELECT * FROM \n\t\t\t\t\t" . $cms_db['side_lang'] . " \n\t\t\t\tWHERE \n\t\t\t\t\tidlang='{$from_lang}'"; $db->query($sql); while ($db->next_record()) { $title = make_string_dump($db->f('title')); $summary = make_string_dump($db->f('summary')); $meta_author = make_string_dump($db->f('meta_author')); $meta_description = make_string_dump($db->f('meta_description')); $meta_keywords = make_string_dump($db->f('meta_keywords')); $meta_robots = make_string_dump($db->f('meta_robots')); $meta_redirect_url = make_string_dump($db->f('meta_redirect_url')); // change JB // setze kopierte Seite auf Offline, keine Übernahme der Zeitsteuerung // übernehme aber das Bit für Schutzrechte incl. der zukünftigen Level $online = (int) $db->f('online') & 0xfc; $sql2 = "INSERT INTO \n\t\t\t\t\t\t" . $cms_db['side_lang'] . " \n\t\t\t\t\t\t(idside, idlang, idtplconf, title, meta_keywords, summary, online, \n\t\t\t\t\t\t\tmeta_redirect, meta_redirect_url, author, created, \n\t\t\t\t\t\t\tlastmodified, user_protected, visited, edit_ttl, meta_author, \n\t\t\t\t\t\t\tmeta_description, meta_robots, meta_redirect_time) \n\t\t\t\t\tVALUES \n\t\t\t\t\t\t('" . $db->f('idside') . "', '{$lang}', '0', '{$title}', '{$meta_keywords}', '{$summary}', '{$online}', \n\t\t\t\t\t\t\t'" . $db->f('meta_redirect') . "', '{$meta_redirect_url}', '" . $db->f('author') . "', '" . time() . "', \n\t\t\t\t\t\t\t'" . time() . "', '" . $db->f('user_protected') . "', '" . $db->f('visited') . "', '" . $db->f('edit_ttl') . "', '{$meta_author}', \n\t\t\t\t\t\t\t'{$meta_description}', '{$meta_robots}', '" . $db->f('meta_redirect_time') . "')"; // change JB $db2->query($sql2); } // // template config für kategorien kopieren // $sql = "SELECT\n\t\t\t\t\tCL.idcat, CL.idtplconf,\n\t\t\t\t\tTC.idtpl,\n\t\t\t\t\tCC.idcontainer, CC.config, CC.view, CC.edit\n\t\t\t\tFROM \n\t\t\t\t\t" . $cms_db['cat_lang'] . " CL\n\t\t\t\t\tLEFT JOIN " . $cms_db['tpl_conf'] . " TC USING(idtplconf)\n\t\t\t\t\tLEFT JOIN " . $cms_db['container_conf'] . " CC USING(idtplconf)\n\t\t\t\tWHERE\n\t\t\t\t\tCL.idlang='{$from_lang}'"; $current_idcat = 0; //echo $sql .'<br />'; $db->query($sql); while ($db->next_record()) { // create new idtplconf // update new idtplconf to table cat_lang if ($current_idcat != $db->f('idcat')) { $current_idcat = $db->f('idcat'); //insert idtplconf in config template $sql2 = "INSERT INTO \n\t\t\t\t\t\t\t" . $cms_db['tpl_conf'] . " (idtpl) VALUES('" . $db->f('idtpl') . "')"; //echo $sql2 .'<br />'; $db2->query($sql2); $current_idtplconf = mysql_insert_id(); $sql2 = "UPDATE \n\t\t\t\t\t\t\t" . $cms_db['cat_lang'] . "\n\t\t\t\t\t\tSET\n\t\t\t\t\t\t\tidtplconf = '{$current_idtplconf}'\n\t\t\t\t\t\tWHERE \n\t\t\t\t\t\t\tidlang = '{$lang}'\n\t\t\t\t\t\t \tAND idcat = '{$current_idcat}'"; //echo $sql2 .'<br />'; $db2->query($sql2); } $sql2 = "INSERT INTO \n\t\t\t\t\t\t" . $cms_db['container_conf'] . " \n\t\t\t\t\t\t\t(idtplconf, idcontainer, config, view, edit)\n\t\t\t\t\t\tVALUES('{$current_idtplconf}', '" . $db->f('idcontainer') . "', '" . make_string_dump($db->f('config')) . "',\n\t\t\t\t\t\t\t\t'" . $db->f('view') . "', '" . $db->f('edit') . "')"; //echo $sql2 .'<br /><br /><br />'; $db2->query($sql2); } // // template config für seiten kopieren // $sql = "SELECT\n\t\t\t\t\tSL.idside, SL.idtplconf,\n\t\t\t\t\tTC.idtpl,\n\t\t\t\t\tCC.idcontainer, CC.config, CC.view, CC.edit\n\t\t\t\tFROM \n\t\t\t\t\t" . $cms_db['side_lang'] . " SL\n\t\t\t\t\tLEFT JOIN " . $cms_db['tpl_conf'] . " TC USING(idtplconf)\n\t\t\t\t\tLEFT JOIN " . $cms_db['container_conf'] . " CC USING(idtplconf)\n\t\t\t\tWHERE\n\t\t\t\t\tSL.idlang='{$from_lang}'\n\t\t\t\t\tAND SL.idtplconf != 0"; $current_idside = 0; $current_idtplconf = 0; //echo $sql .'<br />'; $db->query($sql); while ($db->next_record()) { // create new idtplconf // update new idtplconf to table cat_lang if ($current_idside != $db->f('idside')) { $current_idside = $db->f('idside'); //insert idtplconf in config template $sql2 = "INSERT INTO \n\t\t\t\t\t\t\t" . $cms_db['tpl_conf'] . " (idtpl) VALUES('" . $db->f('idtpl') . "')"; //echo $sql2 .'<br />'; $db2->query($sql2); $current_idtplconf = mysql_insert_id(); $sql2 = "UPDATE \n\t\t\t\t\t\t\t" . $cms_db['side_lang'] . "\n\t\t\t\t\t\tSET\n\t\t\t\t\t\t\tidtplconf = '{$current_idtplconf}'\n\t\t\t\t\t\tWHERE \n\t\t\t\t\t\t\tidlang = '{$lang}'\n\t\t\t\t\t\t \tAND idside = '{$current_idside}'"; //echo $sql2 .'<br />'; $db2->query($sql2); } $sql2 = "INSERT INTO \n\t\t\t\t\t\t" . $cms_db['container_conf'] . " \n\t\t\t\t\t\t\t(idtplconf, idcontainer, config, view, edit)\n\t\t\t\t\t\tVALUES('{$current_idtplconf}', '" . $db->f('idcontainer') . "', '" . make_string_dump($db->f('config')) . "',\n\t\t\t\t\t\t\t\t'" . $db->f('view') . "', '" . $db->f('edit') . "')"; //echo $sql2 .'<br />'; $db2->query($sql2); } // // content kopieren // $table_list = array($cms_db['content'], $cms_db['content_external']); foreach ($table_list as $current_content_table) { $sql = "SELECT \n\t\t\t\t\t\tC.idcontent, C.idsidelang, C.container, C.number, C.idtype, C.typenumber, C.value, C.online, \n\t\t\t\t\t\t\tC.version, C.author, C.created, C.lastmodified,\n\t\t\t\t\t\t\tSL.idside\n\t\t\t\t\tFROM\n\t\t\t\t\t\t" . $current_content_table . " C\n\t\t\t\t\t\tLEFT JOIN " . $cms_db['side_lang'] . " SL USING(idsidelang)\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tSL.idlang='{$from_lang}'"; $db->query($sql); while ($db->next_record()) { $sql2 = "SELECT \n\t\t\t\t\t\t\tSL.idsidelang \n\t\t\t\t\t\tFROM \n\t\t\t\t\t\t\t" . $cms_db['side_lang'] . " SL \n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tSL.idlang='{$lang}'\n\t\t\t\t\t\t\tAND SL.idside = '" . $db->f('idside') . "'"; $db2->query($sql2); if ($db2->next_record()) { $sql3 = "INSERT INTO \n\t\t\t\t\t\t\t" . $current_content_table . " \n\t\t\t\t\t\t\t\t(idsidelang, container, number, idtype, typenumber, value, online, \n\t\t\t\t\t\t\t\t\tversion, author, created, lastmodified)\n\t\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t\t('" . $db2->f('idsidelang') . "', \n\t\t\t\t\t\t\t\t\t'" . $db->f('container') . "', '" . $db->f('number') . "', '" . $db->f('idtype') . "', \n\t\t\t\t\t\t\t\t\t'" . $db->f('typenumber') . "', '" . make_string_dump($db->f('value')) . "',\n\t\t\t\t\t\t\t\t\t'" . $db->f('online') . "', '" . $db->f('version') . "', '" . $db->f('author') . "',\n\t\t\t\t\t\t\t\t\t'" . $db->f('created') . "', '" . $db->f('lastmodified') . "')"; $db3->query($sql3); } } } //generate rewrite urls include_once 'inc/fnc.mod_rewrite.php'; rewriteAutoForAll($lang); } //Metaangaben für Sprache $sql = "INSERT INTO " . $cms_db['values'] . " (idclient, idlang, group_name, key1, \n\t\t\t\tconf_sortindex, conf_desc_langstring, conf_head_langstring, conf_input_type, \n\t\t\t\tconf_input_type_val, conf_input_type_langstring, conf_visible) \n\t\t\t\tVALUES ({$idclient}, {$lang}, 'cfg_lang', 'meta_description', \n\t\t\t\t600, 'set_meta_description', 'set_meta', 'txt', NULL, NULL, 1)"; $db->query($sql); $sql = "INSERT INTO " . $cms_db['values'] . " (idclient, idlang, group_name, key1, \n\t\t\tconf_sortindex, conf_desc_langstring, conf_head_langstring, conf_input_type, \n\t\t\tconf_input_type_val, conf_input_type_langstring, conf_visible) \n\t\t\tVALUES ({$idclient}, {$lang}, 'cfg_lang', 'meta_keywords', \n\t\t\t601, 'set_meta_keywords', '', 'txt', NULL, NULL, 1)"; $db->query($sql); $sql = "INSERT INTO " . $cms_db['values'] . " (idclient, idlang, group_name, key1, value,\n\t\t\tconf_sortindex, conf_desc_langstring, conf_head_langstring, conf_input_type, \n\t\t\tconf_input_type_val, conf_input_type_langstring, conf_visible) \n\t\t\tVALUES ({$idclient}, {$lang}, 'cfg_lang', 'meta_robots', 'index, follow', \n\t\t\t602, 'set_meta_robots', '', 'txt', NULL, NULL, 1)"; $db->query($sql); //langstring for new client success userinfo $lang = $from_lang; $user_msg = 'success_new_lang'; }