/** * 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; }
/** * @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; }
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; }
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 }
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'; } }
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; }
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'; }
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); } } } } }
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; }
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)); } }
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; }