Ejemplo n.º 1
0
 /**
  * repository::cms_plug()
  *
  * Parse and check a Plugin XML-Code
  *
  * @param string  $xmlstring Plugin Content
  */
 function cms_plug($xmlstring)
 {
     $trans_tbl = get_html_translation_table(HTML_ENTITIES);
     $trans_tbl = array_flip($trans_tbl);
     $xml_array = array();
     while (list($key, $value) = each($this->_xmlexport['plug'])) {
         // funktionalit?t von cmsplug v0.2 bleibt erhalten
         if (!preg_match("/(<" . $key . ">)(.*)(<\\/" . $key . ">)/ims", $xmlstring, $match) && $key != 'config' && $key != 'repository_id' && $key != 'root_name' && $key != 'index_file') {
             return '1603';
         }
         $match['2'] = strtr($match['2'], $trans_tbl);
         if ($key == 'created' && $match['2'] < 1) {
             $match['2'] = time();
         }
         if ($key == 'lastmodified') {
             $match['2'] = time();
         }
         if ($key == 'author') {
             $match['2'] = $this->_auth->auth['uid'];
         }
         $match['2'] = make_string_dump($match['2']);
         $match['2'] = $value == 'char' ? (string) $match['2'] : (int) $match['2'];
         $xml_array["{$key}"] = $match['2'];
         unset($match);
     }
     if ($xml_array['repository_id'] == '') {
         $xml_array['repository_id'] = $this->gen_new_plug($xml_array['name'], true);
     }
     return $xml_array;
 }
Ejemplo n.º 2
0
 /**
  * @return idtplconf
  */
 function _copyTemplateConfig($idcat_from, $idcat_to)
 {
     global $cms_db, $db;
     $db2 = new DB_cms();
     $ret_tpl_conf = 0;
     $arr_langs = $this->_getLangInfoArray();
     foreach ($arr_langs['order'] as $current_lang) {
         //get tpl
         $sql = "SELECT\n\t\t\t\t\t\tCL.idcat, CL.idtplconf,\n\t\t\t\t\t\tTC.idtpl,\n\t\t\t\t\t\tCC.idcontainer, CC.config, CC.view, CC.edit\n\t\t\t\t\tFROM \n\t\t\t\t\t\t" . $cms_db['cat_lang'] . " CL\n\t\t\t\t\t\tLEFT JOIN " . $cms_db['tpl_conf'] . " TC USING(idtplconf)\n\t\t\t\t\t\tLEFT JOIN " . $cms_db['container_conf'] . " CC USING(idtplconf)\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tCL.idlang='{$current_lang}'\n\t\t\t\t\t\tAND CL.idcat = '{$idcat_from}'\n\t\t\t\t\t\tAND CL.idtplconf != 0";
         $current_idcat = 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_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\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\t" . $cms_db['cat_lang'] . "\n\t\t\t\t\t\t\tSET\n\t\t\t\t\t\t\t\tidtplconf = '{$current_idtplconf}'\n\t\t\t\t\t\t\tWHERE \n\t\t\t\t\t\t\t\tidlang = '{$current_lang}'\n\t\t\t\t\t\t\t \tAND idcat = '{$idcat_to}'";
                 //echo $sql2 .'<br />';
                 $db2->query($sql2);
                 if ($current_lang == $this->data['sql']['cat_lang']['idlang']) {
                     $ret_tpl_conf = $current_idtplconf;
                 }
             }
             $sql2 = "INSERT INTO \n\t\t\t\t\t\t\t" . $cms_db['container_conf'] . " \n\t\t\t\t\t\t\t\t(idtplconf, idcontainer, config, view, edit)\n\t\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\t'" . $db->f('view') . "', '" . $db->f('edit') . "')";
             //echo $sql2 .'<br />';
             $db2->query($sql2);
         }
     }
     return $ret_tpl_conf;
 }
Ejemplo n.º 3
0
function mod_delete($idmod)
{
    global $db, $client, $cms_db, $cfg_cms, $rep, $perm;
    // Wird Modul noch verwendet?
    $sql = "SELECT idcontainer FROM " . $cms_db['container'] . " WHERE idmod='{$idmod}' LIMIT 0, 1";
    $affect = $db->query($sql);
    if ($db->num_rows() >= 1) {
        return '0401';
    } else {
        $sql = "SELECT idmod, source_id, is_install, repository_id FROM " . $cms_db['mod'] . "\r\n\t\t\t\tWHERE idclient >= 1 AND source_id='{$idmod}' AND is_install = '0' LIMIT 0, 1";
        $db->query($sql);
        if ($db->next_record()) {
            $installed = $db->f('idmod');
            $repositoryid = $db->f('repository_id');
        }
        $sql2 = "SELECT name, idclient, uninstall_sql, is_install FROM " . $cms_db['mod'] . "\r\n\t\t\tWHERE idmod='{$idmod}' LIMIT 0, 1";
        $db->query($sql2);
        if ($db->next_record()) {
            $sql_uninstall = $db->f('uninstall_sql');
            $name = make_string_dump($db->f('name'));
            if ($sql_uninstall != '' && $db->f('idclient') >= 1 && $db->f('is_install') == 1 && !$installed) {
                $error = $rep->bulk_sql($sql_uninstall);
                // Event
                fire_event('mod_delete_sql', array('idmod' => $idmod, 'name' => $name));
                $return = '0411';
            } elseif ($installed) {
                $sql = "UPDATE " . $cms_db['mod'] . " SET is_install='1', lastmodified='" . time() . "'\r\n\t\t\t\t\t\tWHERE idmod='{$installed}'";
                $db->query($sql);
                $sql = "UPDATE " . $cms_db['mod'] . " SET source_id='{$installed}'\r\n\t\t\t\t\t\tWHERE source_id='{$idmod}' AND idmod != '{$installed}'";
                $db->query($sql);
                $return = '0410';
            }
            $sql = "DELETE FROM " . $cms_db['mod'] . " WHERE idmod='{$idmod}'";
            $db->query($sql);
            // Rechte löschen
            $perm->delete_perms($idmod, 'mod');
            // Event
            fire_event('mod_delete', array('idmod' => $idmod, 'name' => $name));
        } else {
            $return = '0413';
        }
    }
    return $return;
}
Ejemplo n.º 4
0
 function con_contentcopy($from_lang, $to_lang, $idcatside)
 {
     global $db, $cms_db;
     //cast
     $from_lang = (int) $from_lang;
     $to_lang = (int) $to_lang;
     $idcatside = (int) $idcatside;
     if ($from_lang == $to_lang || $from_lang < 1 || $to_lang < 1 || $idcatside < 1) {
         return false;
     }
     $db2 = new DB_cms();
     $db3 = new DB_cms();
     //echo "$from_lang, $to_lang, $idcatside";
     //find idside
     $sql = "SELECT \n\t\t\t\t\t\tCS.idside \n\t\t\t\t\tFROM \n\t\t\t\t\t\t" . $cms_db['cat_side'] . " CS \n\t\t\t\t\tWHERE\n\t\t\t\t\t\tCS.idcatside='{$idcatside}'";
     $db->query($sql);
     if ($db->next_record()) {
         $idside = $db->f('idside');
     } else {
         return false;
     }
     //grab the contents
     $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\t\tC.idcontent, C.idsidelang, C.container, C.number, C.idtype, C.typenumber, C.value, C.online, \n\t\t\t\t\t\t\t\tC.version, C.author, C.created, C.lastmodified,\n\t\t\t\t\t\t\t\tSL.idside\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t" . $current_content_table . " C\n\t\t\t\t\t\t\tLEFT JOIN " . $cms_db['side_lang'] . " SL USING(idsidelang)\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tSL.idlang='{$from_lang}'\n\t\t\t\t\t\t\tAND SL.idside = '{$idside}'";
         $db->query($sql);
         $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='{$to_lang}'\n\t\t\t\t\t\t\tAND SL.idside = '{$idside}'";
         $db2->query($sql2);
         if ($db2->next_record()) {
             $idsidelang = $db2->f('idsidelang');
             $sql2 = "DELETE FROM " . $current_content_table . " \n\t\t\t\t\t\t\tWHERE idsidelang='{$idsidelang}'";
             $db2->query($sql2);
             while ($db->next_record()) {
                 $sql3 = "INSERT INTO \n\t\t\t\t\t\t\t\t" . $current_content_table . " \n\t\t\t\t\t\t\t\t\t(idsidelang, container, number, idtype, typenumber, value, online, \n\t\t\t\t\t\t\t\t\t\tversion, author, created, lastmodified)\n\t\t\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t\t\t('" . $db2->f('idsidelang') . "', \n\t\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\t'" . $db->f('typenumber') . "', '" . make_string_dump($db->f('value')) . "',\n\t\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\t'" . $db->f('created') . "', '" . $db->f('lastmodified') . "')";
                 $db3->query($sql3);
             }
             // end while
         }
         // end if $db2
     }
     // end foreach
 }
Ejemplo n.º 5
0
function lay_copy($idlay, $from, $into)
{
    global $db, $cms_db, $auth, $perm;
    if (!$from) {
        $from = '0';
    }
    if (!$into) {
        $into = '0';
    }
    // Layout kopieren
    $sql = "SELECT * FROM {$cms_db['lay']} WHERE idlay='{$idlay}'";
    $db->query($sql);
    if ($db->next_record()) {
        $name = make_string_dump($db->f('name'));
        $description = make_string_dump($db->f('description'));
        $code = make_string_dump($db->f('code'));
        $sql = "INSERT INTO\n\t\t\t\t\t" . $cms_db['lay'] . "\n\t\t\t\t\t(name, description, code, idclient, author, created, lastmodified)\n\t\t\t\tVALUES\n\t\t\t\t\t('{$name}', '{$description}', '{$code}', '{$into}', '" . $auth->auth['uid'] . "',\n\t\t\t\t\t'" . time() . "', '" . time() . "')";
        $db->query($sql);
        //set perms
        // get last insert id
        $sql = "SELECT MAX(idlay) AS idlay FROM " . $cms_db['lay'];
        $db->query($sql);
        $db->next_record();
        $last_insert_id = $db->f('idlay');
        $perm->xcopy_perm($idlay, 'lay', $last_insert_id, 'lay', 4294967295.0, 0, 0, true);
        // make new userright
        // Event
        if ($from != '0') {
            fire_event('lay_export', array('idlay' => $idlay, 'name' => $name));
        } else {
            fire_event('lay_import', array('idlay' => $idlay, 'name' => $name));
        }
        return '0302';
    }
}
Ejemplo n.º 6
0
function plug_delete($idplug, $idclient)
{
    global $db, $client, $cms_db, $cfg_cms, $rep, $perm;
    $ident = "idclient='" . $idclient . "'";
    $sql1 = "SELECT name, source_id, is_install, root_name from " . $cms_db['plug'] . " WHERE {$ident} AND idplug='{$idplug}'";
    $db->query($sql1);
    if ($db->next_record()) {
        $is_online = (bool) $db->f('is_install');
        $name = make_string_dump($db->f('name'));
        $source = make_string_dump($db->f('source_id'));
        $root_dir = make_string_dump($db->f('root_name'));
        $is_multi = (bool) $rep->plug_execute($idplug, 'multi_client');
        if ($source >= 1) {
            $sql2 = "SELECT is_install, idclient from " . $cms_db['plug'] . " WHERE idplug='{$source}'";
            $db->query($sql2);
            if ($db->next_record()) {
                $is_online2 = (bool) $db->f('is_install');
                $idclient2 = $db->f('idclient');
                $is_multi2 = (bool) $rep->plug_execute($source, 'multi_client');
                $ident2 = "idclient='" . $idclient2 . "'";
                $is_online3 = $rep->plug_count('all', $source);
                $sql4 = "UPDATE " . $cms_db['plug'] . " SET is_install = '0' WHERE {$ident2} AND idplug = '{$source}'\n";
            }
        }
        $is_online4 = $rep->plug_count('all', $idplug);
        if ($is_online4 == 0) {
            $sql = "DELETE FROM " . $cms_db['plug'] . " WHERE {$ident} AND idplug='{$idplug}'";
            $db->query($sql);
            // Rechte löschen
            $perm->delete_perms($idplug, 'plug', 0, 0, 0, true);
            // Uninstall Client
            if ($is_online && $is_multi2 && $is_online2) {
                $rep->plug_execute($source, 'uninstall', 'client', 'meta');
                // Event
                fire_event('plug_uninstall_client', array('idplug' => $idplug, 'name' => $name));
                $return = '1607';
            } elseif ($is_online && $source == '') {
                $db->query($sql4);
                $rep->plug_execute($idplug, 'uninstall', '', 'meta');
                // Event
                fire_event('plug_uninstall_sql', array('idplug' => $idplug, 'name' => $name));
                $return = '1607';
            } elseif ($idclient == 0 && $root_dir != '') {
                $rep->_remove($rep->_plugin_dir . $root_dir);
                // Event
                fire_event('plug_removed', array('idplug' => $idplug, 'name' => $name));
            }
            // Uninstall Parent
            if ($is_online2 && $is_online3 == 1 && $sql4 != '') {
                $db->query($sql4);
                $rep->plug_execute($source, 'uninstall', '', 'meta');
                // Event
                fire_event('plug_uninstall_sql', array('idplug' => $source, 'name' => $name));
            }
            // Event
            fire_event('plug_delete', array('idplug' => $idplug, 'name' => $name));
        } else {
            $return = '1601';
        }
    } else {
        $return = '1613';
    }
    return $return;
}
Ejemplo n.º 7
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';
}
Ejemplo n.º 8
0
function con_copy_content_from_idcatside($idclient, $idcatside_from, $idcatside_to)
{
    //init
    global $db, $cms_db, $cfg_cms;
    $db2 = new DB_cms();
    $db3 = new DB_cms();
    //get necessary values from source idcatside
    $sql = "SELECT * FROM " . $cms_db['cat_side'] . " WHERE idcatside='{$idcatside_from}'";
    $db->query($sql);
    if ($db->next_record()) {
        $idcat_from = $db->f('idcat');
        $idside_from = $db->f('idside');
        $sortindex_from = $db->f('sortindex');
    } else {
        return false;
    }
    //get necessary values from target idcatside
    $sql = "SELECT * FROM " . $cms_db['cat_side'] . " WHERE idcatside='{$idcatside_to}'";
    $db->query($sql);
    if ($db->next_record()) {
        $idcat_to = $db->f('idcat');
        $idside_to = $db->f('idside');
        $sortindex_to = $db->f('sortindex');
    } else {
        return false;
    }
    //get langs
    include_once $cfg_cms['cms_path'] . "inc/fnc.clients.php";
    $arr_langs = clients_get_langs($idclient, true);
    // print_r($arr_langs);
    foreach ($arr_langs['order'] as $current_lang) {
        //copy content
        $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='{$current_lang}'\n\t\t\t\t\t\tAND SL.idside='{$idside_from}'";
            $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='{$current_lang}'\n\t\t\t\t\t\t\tAND SL.idside = '{$idside_to}'";
                $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);
                }
            }
        }
    }
}
Ejemplo n.º 9
0
function plug_delete($idplug, $idclient)
{
    global $db, $client, $cms_db, $cfg_cms, $rep, $perm, $cms_log;
    $ident = "idclient='" . $idclient . "'";
    $sql1 = "SELECT name, description, version, cat, author, created, lastmodified, repository_id, index_file, source_id, is_install, root_name from " . $cms_db['plug'] . " WHERE {$ident} AND idplug='{$idplug}'";
    $db->query($sql1);
    if ($db->next_record()) {
        $is_online = (bool) $db->f('is_install');
        $name = make_string_dump($db->f('name'));
        $description = make_string_dump($db->f('description'));
        $version = make_string_dump($db->f('version'));
        $cat = make_string_dump($db->f('cat'));
        $author = make_string_dump($db->f('author'));
        $created = make_string_dump($db->f('created'));
        $lastmodified = make_string_dump($db->f('lastmodified'));
        $repository_id = make_string_dump($db->f('repository_id'));
        $index_file = make_string_dump($db->f('index_file'));
        $author = make_string_dump($db->f('author'));
        $source = make_string_dump($db->f('source_id'));
        $root_dir = make_string_dump($db->f('root_name'));
        $is_multi = (bool) $rep->plug_execute($idplug, 'multi_client');
        if ($source >= 1) {
            $sql2 = "SELECT is_install, idclient from " . $cms_db['plug'] . " WHERE idplug='{$source}'";
            $db->query($sql2);
            if ($db->next_record()) {
                $is_online2 = (bool) $db->f('is_install');
                $idclient2 = $db->f('idclient');
                $is_multi2 = (bool) $rep->plug_execute($source, 'multi_client');
                $ident2 = "idclient='" . $idclient2 . "'";
                $is_online3 = $rep->plug_count('all', $source);
                $sql4 = "UPDATE " . $cms_db['plug'] . " SET is_install = '0' WHERE {$ident2} AND idplug = '{$source}'\n";
            }
        }
        $is_online4 = $rep->plug_count('all', $idplug);
        if ($is_online4 == 0) {
            $sql = "DELETE FROM " . $cms_db['plug'] . " WHERE {$ident} AND idplug='{$idplug}'";
            $db->query($sql);
            // Rechte l�schen
            $perm->delete_perms($idplug, 'plug', 0, 0, 0, true);
            // Uninstall Client
            if ($is_online && $is_multi2 && $is_online2) {
                $rep->plug_execute($source, 'uninstall', 'client', 'meta');
                //Log
                $cms_log->info('user', 'plug_uninstall_client', array('idplug' => $idplug, 'name' => $name, 'version' => $version, 'idclient' => $idclient, 'clientname' => getClientNameByIdclient($idclient)));
                // Event
                fire_event('plug_uninstall_client', array('idplug' => $idplug, 'name' => $name, 'description' => $description, 'version' => $version, 'cat' => $cat, 'idclient' => $idclient, 'author' => $author, 'created' => $created, 'lastmodified' => $lastmodified, 'repository_id' => $repository_id, 'source_id' => $source, 'root_name' => $root_dir, 'index_file' => $index_file, 'is_install' => $is_online, 'is_multi' => $is_multi));
                $return = '1607';
            } elseif ($is_online && $source == '') {
                $db->query($sql4);
                $rep->plug_execute($idplug, 'uninstall', '', 'meta');
                // Event
                fire_event('plug_uninstall_sql', array('idplug' => $idplug, 'name' => $name, 'description' => $description, 'version' => $version, 'cat' => $cat, 'repository_id' => $repository_id, 'source_id' => $source, 'root_name' => $root_dir, 'index_file' => $index_file, 'config' => $config, 'is_install' => $is_online, 'is_multi' => $is_multi));
                $return = '1607';
            } elseif ($idclient == 0 && $root_dir != '') {
                $rep->_remove($rep->_plugin_dir . $root_dir);
                // Event
                fire_event('plug_removed', array('idplug' => $idplug, 'name' => $name, 'description' => $description, 'version' => $version, 'cat' => $cat, 'idclient' => $idclient, 'author' => $author, 'created' => $created, 'lastmodified' => $lastmodified, 'repository_id' => $repository_id, 'source_id' => $source, 'root_name' => $root_dir, 'index_file' => $index_file, 'is_install' => $is_online, 'is_multi' => $is_multi));
            }
            // Uninstall Parent
            if ($is_online2 && $is_online3 == 1 && $sql4 != '') {
                $db->query($sql4);
                $rep->plug_execute($source, 'uninstall', '', 'meta');
                // Event
                fire_event('plug_uninstall_sql', array('idplug' => $idplug, 'name' => $name, 'description' => $description, 'version' => $version, 'cat' => $cat, 'repository_id' => $repository_id, 'source_id' => $source, 'root_name' => $root_dir, 'index_file' => $index_file, 'config' => $config, 'is_install' => $is_online, 'is_multi' => $is_multi));
            }
            //Log
            $cms_log->info('user', 'plug_delete', array('idplug' => $idplug, 'name' => $name, 'version' => $version));
            // Event
            fire_event('plug_delete', array('idplug' => $idplug, 'name' => $name, 'description' => $description, 'version' => $version, 'cat' => $cat, 'idclient' => $idclient, 'author' => $author, 'created' => $created, 'lastmodified' => $lastmodified, 'repository_id' => $repository_id, 'source_id' => $source, 'root_name' => $root_dir, 'index_file' => $index_file, 'is_install' => $is_online, 'is_multi' => $is_multi));
        } else {
            $return = '1601';
        }
    } else {
        $return = '1613';
    }
    return $return;
}
Ejemplo n.º 10
0
function lay_delete_layout($idlay)
{
    global $db, $client, $cms_db, $perm, $cms_log;
    // Wird Layout noch verwendet?
    $sql = "SELECT * FROM " . $cms_db['tpl'] . " WHERE idlay='{$idlay}'";
    $db->query($sql);
    if ($db->affected_rows()) {
        return '0301';
    } else {
        //Daten vor dem L�schen f�r das Event laden
        $sql = "SELECT * FROM {$cms_db['lay']} WHERE idlay='{$idlay}'";
        $db->query($sql);
        if ($db->next_record()) {
            $name = make_string_dump($db->f('name'));
            $description = make_string_dump($db->f('description'));
            $code = make_string_dump($db->f('code'));
            $doctype = make_string_dump($db->f('doctype'));
            $doctype_autoinsert = make_string_dump($db->f('doctype_autoinsert'));
            $author = make_string_dump($db->f('author'));
        } else {
            $name = "";
            $description = "";
            $code = "";
            $doctype = "";
            $doctype_autoinsert = "";
            $author = "";
        }
        // Layout l�schen
        $sql = "DELETE FROM " . $cms_db['lay'] . " WHERE idlay='{$idlay}'";
        $db->query($sql);
        // Eintr�ge aus lay_upl l�schen
        $sql = "DELETE FROM " . $cms_db['lay_upl'] . " WHERE idlay='{$idlay}'";
        $db->query($sql);
        //delete perm
        $perm->delete_perms($idlay, 'lay');
        //Log
        $cms_log->info('user', 'lay_delete', array('idlay' => $idlay, 'name' => $name));
        // Event
        fire_event('lay_delete', array('idlay' => $idlay, 'name' => $name, 'description' => $description, 'code' => $code, 'doctype' => $doctype, 'doctype_autoinsert' => $doctype_autoinsert, 'author' => $author));
    }
}
Ejemplo n.º 11
0
function mod_delete($idmod)
{
    global $db, $client, $cms_db, $cfg_cms, $rep, $perm, $cms_log;
    // Wird Modul noch verwendet?
    $sql = "SELECT idcontainer FROM " . $cms_db['container'] . " WHERE idmod='{$idmod}' LIMIT 0, 1";
    $affect = $db->query($sql);
    if ($db->num_rows() >= 1) {
        return '0401';
    } else {
        $sql = "SELECT idmod, source_id, is_install, repository_id FROM " . $cms_db['mod'] . "\r\n\t\t\t\tWHERE idclient >= 1 AND source_id='{$idmod}' AND is_install = '0' LIMIT 0, 1";
        $db->query($sql);
        if ($db->next_record()) {
            $installed = $db->f('idmod');
            $repositoryid = $db->f('repository_id');
        }
        $sql2 = "SELECT idmod, name, idclient, is_install, version, cat, description, input, output, idclient, author, created, lastmodified, install_sql, uninstall_sql, update_sql, source_id, verbose, checked, repository_id FROM " . $cms_db['mod'] . "\r\n\t\t\tWHERE idmod='{$idmod}' LIMIT 0, 1";
        $db->query($sql2);
        if ($db->next_record()) {
            $idmod = $db->f('idmod');
            $version = make_string_dump($db->f('version'));
            $cat = make_string_dump($db->f('cat'));
            $name = make_string_dump($db->f('name'));
            $description = make_string_dump($db->f('description'));
            $input = make_string_dump($db->f('input'));
            $output = make_string_dump($db->f('output'));
            $idclient = make_string_dump($db->f('idclient'));
            $author = make_string_dump($db->f('author'));
            $created = make_string_dump($db->f('created'));
            $lastmodified = make_string_dump($db->f('lastmodified'));
            $sql_install = make_string_dump($db->f('install_sql'));
            $sql_uninstall = make_string_dump($db->f('uninstall_sql'));
            $sql_update = make_string_dump($db->f('update_sql'));
            $source_id = make_string_dump($db->f('source_id'));
            $verbose = make_string_dump($db->f('verbose'));
            $checked = make_string_dump($db->f('checked'));
            $repositoryid = make_string_dump($db->f('repository_id'));
            if ($sql_uninstall != '' && $db->f('idclient') >= 1 && $db->f('is_install') == 1 && !$installed) {
                $error = $rep->bulk_sql($sql_uninstall);
                // Event
                fire_event('mod_uninstall_sql', array('idmod' => $idmod, 'name' => $name, 'uninstall_sql' => $sql_uninstall));
                $return = '0411';
            } elseif ($installed) {
                $sql = "UPDATE " . $cms_db['mod'] . " SET is_install='1', lastmodified='" . time() . "'\r\n\t\t\t\t\t\tWHERE idmod='{$installed}'";
                $db->query($sql);
                $sql = "UPDATE " . $cms_db['mod'] . " SET source_id='{$installed}'\r\n\t\t\t\t\t\tWHERE source_id='{$idmod}' AND idmod != '{$installed}'";
                $db->query($sql);
                $return = '0410';
            }
            $sql = "DELETE FROM " . $cms_db['mod'] . " WHERE idmod='{$idmod}'";
            $db->query($sql);
            // Rechte l�schen
            $perm->delete_perms($idmod, 'mod');
            //Log
            $cms_log->info('user', 'mod_delete', array('idmod' => $idmod, 'name' => $name, 'version' => $version, 'verbose' => $verbose));
            // Event
            fire_event('mod_delete', array('idmod' => $idmod, 'name' => $name, 'description' => $description, 'version' => $version, 'cat' => $cat, 'input' => $input, 'output' => $output, 'idclient' => $idclient, 'author' => $author, 'created' => $created, 'lastmodified' => $lastmodified, 'repository_id' => $repositoryid, 'install_sql' => $sql_install, 'uninstall_sql' => $sql_uninstall, 'update_sql' => $sql_update, 'source_id' => $source_id, 'verbose' => $verbose, 'checked' => $checked));
        } else {
            $return = '0413';
        }
    }
    return $return;
}