Example #1
0
         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;
Example #2
0
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';
}