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 _format_mutiple_groups($val) { global $DB_cms, $cms_db; if (empty($val)) { return '-'; } $dbvals = new DB_cms(); $sql = "SELECT name FROM " . $cms_db['groups'] . " WHERE idgroup IN({$val})"; $dbvals->query($sql); $v = ''; $c = $dbvals->num_rows(); $i = 0; while ($dbvals->next_record()) { if ($i + 1 < $c) { $v .= $dbvals->f('name') . ', '; } else { $v .= $dbvals->f('name'); } $i++; } return $v; }
/** * @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 type_output_edit_container($type_container, $type_number, $type_typenumber, $type_config) { global $cms_side, $DB_cms, $cms_db, $cms_edittype, $sess, $cfg_client, $mod_lang, $idcatside; global $cfg_cms, $idcatside, $con_side, $cms_mod; if (($cms_side['edit_all'] || $type_config['editable'] == 'true' && $cms_side['view'] == 'edit') && $type_config['editable'] != 'false' && is_array($cms_edittype[$type_container])) { //catch vars and arrays from the tag attributes eval(_type_get_dynamic_val_string($type_config)); $edit_content = $type_container . '.' . $type_number . '.'; foreach ($cms_edittype[$type_container][$type_number] as $value) { $edit_content .= $value . ','; } $edit_content = substr($edit_content, 0, strlen($edit_content) - 1); //echo $edit_content .'<br>'; // nur Edit-URL if ($type_config['mode'] == 'editurl') { return $con_side[$idcatside]['link'] . "&action=edit&content={$edit_content}"; } if ($type_config['menuoptions'] != 'false') { $title = empty($type_config['title']) ? $mod_lang['type_container'] : $type_config['title']; // advanced Modus if ($type_config['menuoptions'] == 'advanced') { $new = false; $delete = false; $up = false; $down = false; // gibt es schon einen Eintrag? $sql = "SELECT\n\t\t\t\t\t\t\t*\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t{$cms_db['content']}\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tidsidelang='" . $con_side[$idcatside]['idsidelang'] . "'\n\t\t\t\t\t\t\tAND container='{$type_container}'\n\t\t\t\t\t\t\tAND number='{$type_number}'"; $db = new DB_cms(); $db->query($sql); // neu anlegen & loeschen if ($type_number != '1' || $db->affected_rows()) { $new = true; $delete = true; } // nach oben verschieben if ($type_number != '1') { $up = true; } // nach unten verschieben if ($db->affected_rows() && $cms_mod['modul']['lastentry'] != 'true') { $down = true; } } $ids = array(NULL); $infos = array('container_number' => $type_container, 'pre_compiled' => $edit_content, 'tag_type' => 'edit_container', 'mod_repeat_id' => $type_number, 'title' => $title, 'base_url' => $con_side[$idcatside]['link'], 'mode' => $type_config['menuoptions']); //menu erstellen $layer_menu = _type_get_layer_menu($ids, $infos, $delete, $new, $up, $down); } return $layer_menu; } }
function _show_rightgroup($sql, $plugins) { global $db, $cms_lang, $tmp; $db2 = new DB_cms(); $db2->query($sql); while ($db2->next_record()) { $area_name = $db2->f('key2'); $display = $db2->f('conf_desc_langstring'); $topic = $cms_lang[$display]; create_area_checkbox($area_name, $topic, $display, $plugins); unset($tmp); } }
function lib_build_repository_ids($order = 'mod', $idclient = '') { global $db, $cfg_cms, $cms_db; $dbupdate = $db = new DB_cms(); $ident = $idclient == '' ? '' : "idclient = '{$idclient}' AND"; $sql = "SELECT name, id{$order} FROM " . $cms_db["{$order}"] . " WHERE {$ident} repository_id IS NULL"; $db->query($sql); while ($db->next_record()) { $update = "UPDATE " . $cms_db["{$order}"] . " SET repository_id = '" . lib_hash_name($db->f('name'), $order) . ':' . lib_make_key() . "' WHERE id{$order} = '" . $db->f('id' . $order) . "'"; $dbupdate->query($update); } }
/** * Frontendausgabe CMS:tag image * * @Args: int type_container -> id von cms:tag <cms:lay type="container" id="XX" /> * int type_number -> Entspricht der Verdopplungsid eines Containers * int type_typenumber -> Eindeutige Id des Contents * array $type_config -> Attribute und deren Werte des cms:tags * @Return String Content * @Access public */ function type_output_image($type_container, $type_number, $type_typenumber, $type_config) { global $sess, $DB_cms, $cms_db, $cfg_cms, $cfg_client, $idcatside, $cms_lang, $content; global $client, $cms_edittype, $cms_mod, $con_side; $sf_cfg = sf_api('LIB', 'Config'); // URL formatieren $mod_content = is_array($content[$type_container][$type_number]) ? $content[$type_container][$type_number]['4'][$type_typenumber]['1'] : ''; $match = array(); if (preg_match_all('#^cms://(idfile|idfilethumb)=(\\d+)#', $mod_content, $match)) { $is_thumb = $match['1']['0'] == 'idfilethumb'; $id = $match['2']['0']; $sql = "SELECT\n\t\t\t\t\tA.*, B.filetype, C.dirname \n\t\t\t\tFROM \n\t\t\t\t\t" . $cms_db['upl'] . " A \n\t\t\t\t\tLEFT JOIN " . $cms_db['filetype'] . " B USING(idfiletype) \n\t\t\t\t\tLEFT JOIN " . $cms_db['directory'] . " C ON A.iddirectory=C.iddirectory \n\t\t\t\tWHERE \n\t\t\t\t\tA.idclient='{$client}' \n\t\t\t\t\tAND idupl='" . $id . "'"; $db = new DB_cms(); $db->query($sql); if ($db->next_record()) { $mod_url = $sf_cfg->env('path_frontend_fm_http') . $db->f('dirname') . $db->f('filename'); $mod_path = $sf_cfg->env('path_frontend_fm') . $db->f('dirname') . $db->f('filename'); $fileid = $db->f('idupl'); $original_x = $db->f('pictwidth'); $original_y = $db->f('pictheight'); $pic_filetype = $db->f('filetype'); $pic_dirname = $db->f('dirname'); $pic_filename = $db->f('filename'); $pic_idfiletype = $db->f('idfiletype'); $pic_iddirectory = $db->f('iddirectory'); $thumb_x = $db->f('pictthumbwidth'); $thumb_y = $db->f('pictthumbheight'); $pic_db_desc = $db->f('description'); $pic_db_titel = $db->f('titel'); $file_size = $db->f('filesize'); if (in_array($type_config['mode'], array('thumb', 'thumbamplitude', 'thumbwidth', 'thumbheight', 'thumburl', 'thumbpath')) && $pic_filetype != 'gif' && ($thumb_x != 0 || $thumb_y != 0) || $is_thumb) { $original_x = $thumb_x; $original_y = $thumb_y; $name_length = strlen($pic_filename); $extension_length = strlen($pic_filetype); $new_name = substr($pic_filename, 0, $name_length - $extension_length - 1); $new_name .= $cfg_client['thumbext'] . '.' . $pic_filetype; $mod_url = $sf_cfg->env('path_frontend_fm_http') . $db->f('dirname') . $new_name; $mod_path = $sf_cfg->env('path_frontend_fm') . $db->f('dirname') . $new_name; $pic_filename = $new_name; } } } if ($type_config['autoresize'] == 'true' && !empty($mod_url)) { // Extract needed data $is_aspectratio = $type_config['aspectratio'] != 'false' ? true : false; $extracted_size = _type_calculate_new_image_size($original_x, $original_y, $type_config['width'], $type_config['height'], $is_aspectratio); $new_x = $extracted_size['width']; $new_y = $extracted_size['height']; // Skip transform if new image have the same properties as the original image, if ($new_x == $original_x && $new_y == $original_y) { $skip_transform = true; } // If _type_calculate_new_image_size(..) throwed an error, new_x and new_y are not set, skip transform if (!empty($new_x) && !empty($new_y)) { $name_length = strlen($pic_filename); $extension_length = strlen($pic_filetype); // New filename for image $new_name = substr($pic_filename, 0, $name_length - $extension_length - 1); $new_name .= '_' . $new_x . 'X' . $new_y . '.' . $pic_filetype; if (file_exists($sf_cfg->env('path_frontend_fm') . $pic_dirname . $new_name)) { // manipulate current CMS:tag values with new transform values $mod_url = $sf_cfg->env('path_frontend_fm_http') . $pic_dirname . $new_name; $mod_path = $sf_cfg->env('path_frontend_fm') . $pic_dirname . $new_name; $type_config['width'] = $original_x = $new_x; $type_config['height'] = $original_y = $new_y; } else { if ($skip_transform) { $type_config['width'] = $original_x = $new_x; $type_config['height'] = $original_y = $new_y; } } } } // Wenn amplitude angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'amplitude' || $type_config['mode'] == 'thumbamplitude') { return 'width="' . $original_x . '" height="' . $original_y . '"'; } // Wenn nur filesize gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'filesize') { return $file_size; } // Wenn nur id der Datei gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'id') { return $fileid; } // Wenn dateimanager titel angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'fmtitle') { return $pic_db_titel; } // Wenn dateimanager beschreibung angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'fmdesc') { return $pic_db_desc; } // Wenn Filetype angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'filetype') { return $pic_filetype; } // Wenn Bildh�he angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'width' || $type_config['mode'] == 'thumbwidth') { return $original_x; } // Wenn Bildweite angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'height' || $type_config['mode'] == 'thumbheight') { return $original_y; } // Wenn nur url gefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'url' || $type_config['mode'] == 'thumburl') { return $mod_url; } // Wenn nur pfad gefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'path' || $type_config['mode'] == 'thumbpath') { return $mod_path; } // Beschreibung raussuchen $mod_descr = is_array($content[$type_container][$type_number]) ? htmlspecialchars($content[$type_container][$type_number]['5'][$type_typenumber]['1'], ENT_COMPAT, 'UTF-8') : ''; // Wenn nur Beschreibung gefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'desc') { return $mod_descr; } // Bildgroesse ermitteln // Wenn defaultimage if (empty($mod_url)) { $pic_width = !empty($type_config['defaultwidth']) ? $type_config['defaultwidth'] : $type_config['width']; $pic_height = !empty($type_config['defaultheight']) ? $type_config['defaultheight'] : $type_config['height']; // wenn schon ausgewaehltes Bild } else { $pic_width = empty($type_config['width']) ? '' : $type_config['width']; $pic_height = empty($type_config['height']) ? '' : $type_config['height']; // Bildgroesse soll automatisch ermittelt werden } if ((empty($type_config['width']) || $type_config['width'] == 'true' || empty($type_config['height']) || $type_config['height'] == 'true') && !empty($mod_url)) { //Bildweite aus der DB if ($type_config['width'] == 'true' || empty($type_config['width'])) { $pic_width = $original_x; } //Bildhoehe aus der DB if ($type_config['height'] == 'true' || empty($type_config['height'])) { $pic_height = $original_y; } } // defaultimage, wenn nicht gesetzt dann transparentes bild einsetzen if ($type_config['defaultimage']) { $mod_def = $type_config['defaultimage']; } else { $mod_def = ''; } if (!$mod_url) { $mod_url = $mod_def; } // CSS ausfindig machen $css = _type_get_style($type_config['styleclass'], $type_config['styleid'], $type_config['styledb']); // Wenn style angefordert oder default if ($type_config['mode'] == 'style') { return $css['style']; } // Wenn styletype angefordert oder default if ($type_config['mode'] == 'styletype') { return $css['type']; } // Wenn fullstyle angefordert oder default if ($type_config['mode'] == 'fullstyle') { return $css['fullstyle']; } // Bild generieren if (_type_check_editable($type_config['editable'])) { // Bearbeitungsbutton / layer erzeugen if ($type_config['menuoptions'] != 'false') { $title = empty($type_config['title']) ? $cms_lang['type_image'] : $type_config['title']; // advanced Modus if ($type_config['menuoptions'] == 'advanced') { $new = false; $delete = false; $up = false; $down = false; // neu anlegen & loeschen if ($type_number != '1' || $mod_url != $mod_def) { $new = true; $delete = true; } // nach oben verschieben if ($type_number != '1') { $up = true; } // nach unten verschieben if ($mod_url != $mod_def && $cms_mod['modul']['lastentry'] != 'true') { $down = true; } } $ids = array(4, 5); $infos = array('container_number' => $type_container, 'cmstag_id' => $type_typenumber, 'mod_repeat_id' => $type_number, 'title' => $title, 'base_url' => $con_side[$idcatside]['link'], 'mode' => $type_config['menuoptions']); //menu erstellen $editbutton_image = _type_get_layer_menu($ids, $infos, $delete, $new, $up, $down); //Wenn nur editbutton gefordert - Ausgabe BACKEND if ($type_config['mode'] == 'editbutton') { return $editbutton_image; } } // $mod_content = ''; if ($type_config['menuoptions'] != 'false') { if ($mod_url != '') { $mod_content = sprintf("<img src=\"{$mod_url}\"%s%s%s " . $css['fullstyle'] . " />", $mod_descr != '' ? ' alt="' . $mod_descr . '" title="' . $mod_descr . '"' : " alt=\"\"", $pic_width ? ' width="' . $pic_width . '"' : '', $pic_height ? ' height="' . $pic_height . '"' : ''); } $mod = $mod_content . $editbutton_image; } else { if ($type_config['mode'] == 'editbutton') { return; } return sprintf("<img src=\"{$mod_url}\"%s%s%s " . $css['fullstyle'] . " />", $mod_descr != '' ? ' alt="' . $mod_descr . '" title="' . $mod_descr . '"' : " alt=\"\"", $pic_width ? ' width="' . $pic_width . '"' : '', $pic_height ? ' height="' . $pic_height . '"' : ''); } } else { // Wenn nur editbutton gefordert - keine Ausgabe Frontend if ($type_config['mode'] == 'editbutton') { return; } // Ausgabe image - Frontend $mod = sprintf("<img src=\"{$mod_url}\"%s%s%s " . $css['fullstyle'] . " />", $mod_descr != '' ? ' alt="' . $mod_descr . '" title="' . $mod_descr . '"' : " alt=\"\"", $pic_width ? ' width="' . $pic_width . '"' : '', $pic_height ? ' height="' . $pic_height . '"' : ''); } return $mod; }
$tpl->setVariable($tpl_error); $tpl->parseCurrentBlock(); } // Templatedatei laden $tmp['TPL_TEMPLATENAME'] = $cms_lang['tpl_templatename']; $tmp['TPL_DESCRIPTION'] = $cms_lang['tpl_description']; $tmp['TPL_ACTION'] = $cms_lang['tpl_action']; $tpl->setVariable($tmp); unset($tmp); // Template aus der Datenbank suchen $tpl->setCurrentBlock('ENTRY'); $sql = "SELECT * FROM {$cms_db['tpl']} WHERE idclient='{$client}' ORDER BY name"; $db->query($sql); $int_max = $db->affected_rows(); if ($int_max > 0) { $db2 = new DB_cms(); } while ($db->next_record()) { $idtpl = $db->f('idtpl'); $sql = "SELECT\n cms_cat_lang.idcat AS CAT_ID,\n cms_cat_lang.name AS CAT_NAME,\n cat_lang.name AS CAT_LANG,\n cms_side_lang.idside AS SIDE_ID,\n cms_side_lang.title AS SIDE_NAME,\n side_lang.name AS SIDE_LANG\n FROM \n cms_tpl_conf\n LEFT JOIN cms_cat_lang ON cms_cat_lang.idtplconf = cms_tpl_conf.idtplconf\n LEFT JOIN cms_side_lang ON cms_side_lang.idtplconf = cms_tpl_conf.idtplconf \n LEFT JOIN cms_lang AS side_lang ON cms_side_lang.idlang = side_lang.idlang\n LEFT JOIN cms_lang AS cat_lang ON cms_cat_lang.idlang = cat_lang.idlang\n WHERE \n cms_tpl_conf.idtpl = " . $idtpl . "\n HAVING CAT_ID IS NOT NULL OR SIDE_ID IS NOT NULL"; $utpl = $db2->fetch_query($sql); //Darf Template sehen if ($perm->have_perm(1, 'tpl', $idtpl)) { // Hintergrundfarbe wählen $tmp['ENTRY_BGCOLOR'] = '#ffffff'; $tmp['OVERENTRY_BGCOLOR'] = '#fff7ce'; //Starttemplate festlegen if ($perm->have_perm(12, 'tpl', $idtpl)) { if ($db->f('is_start') == 1) { $tmp['ENTRY_STARTTPL'] = make_image_link('main.php?area=tpl&action=maketplstart&idtpl=' . $db->f('idtpl'), 'but_start_yes.gif', $cms_lang['tpl_is_start'], '16', '16', '', '', ''); } else {
function generate_configlayer() { global $cms_db, $db, $sess, $cfg_cms, $cfg_client, $cms_side, $type_container, $type_number; global $type_typenumber, $mod_lang, $idcatside, $view, $con_side, $idcat, $con_tree, $lang, $perm; // Bearbeitungsrecht auf dieser Seite? if ($perm->have_perm(19, 'side', $idcatside, $con_side[$idcatside]['idcat']) || $perm->have_perm(2, 'cat', $con_side[$idcatside]['idcat'])) { $out .= "<div id=\"popmenu\" onmouseover=\"clearhidemenu();highlightmenu(event,'on')\" onmouseout=\"highlightmenu(event,'off');dynamichide(event)\"></div>\n"; $out .= "<a href=\"javascript:void(0)\" onmouseover=\"showmenu(event,linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}'])\" onmouseout=\"delayhidemenu()\"><img src=\"cms/img/but_editside.gif\" alt=\"\" /></a>\n"; $out .= "<script type=\"text/javascript\">\n"; $out .= "<!--\n"; // Seite $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']='<table width=\"140px\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\" bgcolor=\"#5A7BAD\"><tr><td><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"; if ($idcatside && $perm->have_perm(18, 'side', $idcatside, $idcat) || $idcatside && $perm->have_perm(19, 'side', $idcatside, $idcat) || ($perm->have_perm('10', 'cat', $idcat) || $perm->have_perm('11', 'cat', $idcat)) || $idcatside && $perm->have_perm('12', 'cat', $idcat)) { $out .= "<tr><td class=\"menutitle\"><strong><font size=\"1\"> " . $mod_lang['type_edit_side'] . " <\\/font><\\/strong><\\/td>"; // Seite publizieren if ($cfg_client['publish'] == '1' && $perm->have_perm(23, 'side', $idcatside, $idcat)) { $sql = "SELECT changed FROM " . $cms_db['code'] . " WHERE idcatside='" . $idcatside . "' AND idlang='{$lang}'"; $db = new DB_cms(); $db->query($sql); $db->next_record(); if ($db->f('changed') == '2') { $out .= "<td class=\"menutitle\" align=\"right\"><strong><font size=\"1\"> <a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con&view=' . $view . '&action=side_publish&idcatside=' . $idcatside) . "\" onmouseover=\"on(\\'" . $mod_lang['side_publish'] . "\\');return true;\" onmouseout=\"off();return true;\"><img src=\"" . $cfg_cms['cms_html_path'] . "tpl/" . $cfg_cms['skin'] . "/img/but_onpublish.gif\" border=\"0\" width=\"10\" height=\"10\"><\\/a> <\\/font><\\/strong><\\/td>"; } } $out .= "<\\/tr>"; } $out .= "<\\/table><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" bgcolor=\"#FFFFFF\">'\n"; // Seite konfigurieren if ($idcatside && $perm->have_perm(20, 'side', $idcatside, $idcat)) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configside&view=' . $view . '&idcatside=' . $idcatside . '&idside=' . $con_side[$idcatside]['idside'] . '&idcat=' . $con_side[$idcatside]['idcat'] . '&idtplconf=' . $con_side[$idcatside]['idtplconf']) . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_config'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configside&view=' . $view . '&idcatside=' . $idcatside . '&idside=' . $con_side[$idcatside]['idside'] . '&idcat=' . $con_side[$idcatside]['idcat'] . '&idtplconf=' . $con_side[$idcatside]['idtplconf']) . "\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_config'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Seite anlegen if ($perm->have_perm('18', 'cat', $idcat)) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configside&view=' . $view . '&idcat=' . $idcat . '&idtplconf=0') . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_new'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configside&view=' . $view . '&idcat=' . $idcat . '&idtplconf=0') . "\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_new'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Seite löschen if ($idcatside && $perm->have_perm(21, 'side', $idcatside, $idcat)) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con&view=' . $view . '&action=side_delete&idcat=' . $idcat . '&idside=' . $con_side[$idcatside]['idside']) . "\" onmouseover=\"on(\\'" . $mod_lang['side_delete'] . "\\');return true;\" onmouseout=\"off();return true;\" onclick=\"return delete_confirm()\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_delete'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Ordner $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<\\/table><table width=\"140\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#5A7BAD\">"; //' if ($perm->have_perm('2', 'cat', $idcat) || ($perm->have_perm('3', 'cat', $idcat) || $perm->have_perm('4', 'cat', $idcat)) || !$idcatside && $perm->have_perm('5', 'cat', $idcat)) { $out .= "<tr><td><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"menutitle\"><strong><font size=\"1\"> " . $mod_lang['type_edit_folder'] . " <\\/font><\\/strong><\\/td><\\/tr>"; } $out .= "<\\/table><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" bgcolor=\"#FFFFFF\">'\n"; // Ordner konfigurieren if ($perm->have_perm('2', 'cat', $idcat)) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configcat&view=' . $view . '&idcat=' . $idcat . '&idcatside=' . $idcatside . '&idcatlang=' . $con_tree[$idcat]['idcatlang'] . '&idtplconf=' . $con_tree[$idcat]['idtplconf']) . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_config'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configcat&view=' . $view . '&idcat=' . $idcat . '&idcatside=' . $idcatside . '&idcatlang=' . $con_tree[$idcat]['idcatlang'] . '&idtplconf=' . $con_tree[$idcat]['idtplconf']) . "\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_config'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Ordner anlegen if ($perm->have_perm('3', 'cat', $idcat) || $perm->have_perm('4', 'cat', $idcat)) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configcat&view=' . $view . '&idcatside=' . $idcatside . '&parent=' . $idcat . '&idtplconf=0') . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_new'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con_configcat&view=' . $view . '&idcatside=' . $idcatside . '&parent=' . $idcat . '&idtplconf=0') . "\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_new'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Ordner löschen if (!$idcatside && $perm->have_perm('5', 'cat', $idcat)) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con&view=' . $view . '&action=cat_delete&idcat=' . $idcat) . "\" onmouseover=\"on(\\'" . $mod_lang['side_delete'] . "\\');return true;\" onmouseout=\"off();return true;\" onclick=\"return delete_confirm()\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_delete'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Modus $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<\\/table><table width=\"140\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#5A7BAD\"><tr><td><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=\"menutitle\"><strong><font size=\"1\"> " . $mod_lang['side_mode'] . " <\\/font><\\/strong><\\/td><\\/tr><\\/table><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" bgcolor=\"#FFFFFF\">'\n"; // Seitenübersicht if ($perm->have_perm('1', 'area_con')) { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con') . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_edit'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con') . "\" target=\"_top\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_overview'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } // Editor / Vorschau if ($view == 'preview') { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_client['htmlpath'] . $cfg_client['contentfile'] . '?lang=' . $lang . '&idcat=' . $idcat . '&idcatside=' . $idcatside . '&view=edit') . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_edit'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_client['htmlpath'] . $cfg_client['contentfile'] . '?lang=' . $lang . '&idcat=' . $idcat . '&idcatside=' . $idcatside . '&view=edit') . "\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_edit'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } else { $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<tr><td class=\"menurow\" onclick=\"document.location.href=\\'" . $sess->url($cfg_client['htmlpath'] . $cfg_client['contentfile'] . '?lang=' . $lang . '&idcat=' . $idcat . '&idcatside=' . $idcatside . '&view=preview') . "\\'\" onmouseover=\"on(\\'" . $mod_lang['side_preview'] . "\\');return true;\" onmouseout=\"off();return true;\"><a href=\"" . $sess->url($cfg_client['htmlpath'] . $cfg_client['contentfile'] . '?lang=' . $lang . '&idcat=' . $idcat . '&idcatside=' . $idcatside . '&view=preview') . "\"><font face=\"Verdana, Arial, Helvetica\" size=\"1\">" . $mod_lang['side_preview'] . "<\\/font><\\/a><\\/td><\\/tr>'\n"; } $out .= "linkset['" . $type_container . '_' . $type_number . "_side_{$type_typenumber}']+='<\\/table><\\/td><\\/tr><\\/table>'\n"; $out .= "//-->\n"; $out .= "</script>"; } return $out; }
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'; }
/** * Styled file Output * * Frontendausgabe analog CMS:tag file * * @Args: string mod_content -> Inhalt wie er in der DB vorhanden ist * array $type_config -> Attribute und deren Werte analog des cms:tags * @Return String Content * @Access public */ function getFile($file_id, $file_desc, $file_target, $type_config) { global $sess, $DB_cms, $cms_db, $cfg_cms, $cfg_client, $idcatside, $content; global $client, $cms_edittype, $cms_mod, $con_side; $sf_cfg = sf_api('LIB', 'Config'); // Wenn nur Beschreibung gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'desc') { return $file_desc; } // Wenn nur target gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'target') { return $file_target; } //Benoetigte Dateiinformationen aus der Datenbank holen $match = array(); if (preg_match_all('#^cms://(idfile|idfilethumb)=(\\d+)$#', $file_id, $match)) { $is_thumb = $match['1']['0'] == 'idfilethumb'; $id = $match['2']['0']; // Wenn idupl gefordert, Ausgabe - FRONTEND, BACKEND if ($type_config['mode'] == 'id') { return $id; } $db = new DB_cms(); $sql = "SELECT\r\n \t\t\t\t\tA.*, B.filetype, C.dirname\r\n \t\t\t\tFROM\r\n \t\t\t\t\t" . $cms_db['upl'] . " AS A\r\n \t\t\t\t\tLEFT JOIN " . $cms_db['filetype'] . " B USING(idfiletype)\r\n \t\t\t\t\tLEFT JOIN " . $cms_db['directory'] . " C ON A.iddirectory=C.iddirectory\r\n \t\t\t\tWHERE\r\n \t\t\t\t\tA.idclient='{$client}'\r\n \t\t\t\t\tAND idupl='" . $id . "'"; $db->query($sql); if ($db->next_record()) { $file_url = $sf_cfg->env('path_frontend_fm_http') . $db->f('dirname') . $db->f('filename'); $file_path = $sf_cfg->env('path_frontend_fm') . $db->f('dirname') . $db->f('filename'); $file_size = $db->f('filesize'); $file_db_desc = $db->f('description'); $file_db_titel = $db->f('titel'); $file_filetype = $db->f('filetype'); $file_name = $db->f('filename'); if ($is_thumb) { $name_length = strlen($file_name); $extension_length = strlen($file_filetype); $t_name = substr($file_name, 0, $name_length - $extension_length - 1); $t_name .= $cfg_client['thumbext'] . '.' . $file_filetype; $file_url = $cfg_client['upl_htmlpath'] . $db->f('dirname') . $t_name; $file_path = $cfg_client['upl_path'] . $db->f('dirname') . $t_name; } } } // Wenn nur filesize gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'filesize') { return $file_size; } // Wenn dateimanager titel angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'fmtitle') { return $file_db_titel; } // Wenn dateimanager beschreibung angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'fmdesc') { return $file_db_desc; } // Wenn Filetype angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'filetype') { return $file_filetype; } // Wenn Filename angefordert - Ausgabe FRONTEND + BACKEND if ($type_config['mode'] == 'filename') { return $file_name; } // Wenn nur path gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'path') { return $file_path; } // Wenn nur url gefordert, Ausgabe - FRONTEND und BACKEND if ($type_config['mode'] == 'url') { return $file_url; } // Vollstaendigen Dateilink bauen // CSS ausfindig machen $css = $this->_getStyle($type_config['styleclass'], $type_config['styleid'], $type_config['styledb']); // Wenn style angefordert oder default if ($type_config['mode'] == 'style') { return $css['style']; } // Wenn styletype angefordert oder default if ($type_config['mode'] == 'styletype') { return $css['type']; } // Wenn fullstyle angefordert oder default if ($type_config['mode'] == 'fullstyle') { return $css['fullstyle']; } $target = empty($file_target) ? '' : 'target="' . $file_target . '"'; $desc = empty($file_desc) ? $file_url : $file_desc; $file_textlink = '<a href="' . $file_url . '" ' . $css['fullstyle'] . ' ' . $target . ' >' . $desc . '</a>'; // Wenn textlink angefordert oder default if ($type_config['mode'] == 'textlink' || empty($type_config['mode'])) { if (!empty($file_url)) { return $file_textlink; } else { return; } } }
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); } } } } }
if ($db->f('idgroup') == $idgroup) { $tpl->setCurrentBlock('POSTENTRY'); } } if (!$db->affected_rows()) { $tpl->setCurrentBlock('EMPTY'); $tmp['LANG_NOGROUPS'] = $cms_lang['group_nogroups']; $tpl->setVariable($tmp); $tpl->parse('EMPTY'); unset($tmp); } // Sprachen zuordnen if ($idgroup) { $sim_perm = new cms_perms($client_id, $idlang, true, $idgroup); $tpl->setCurrentBlock('CONFIG'); $db2 = new DB_cms(); $sql = "SELECT A.idclient, A.name, B.idlang, B.name AS lang FROM " . $cms_db['clients'] . " A, " . $cms_db['lang'] . " B LEFT JOIN " . $cms_db['clients_lang'] . " C USING(idlang) WHERE A.idclient = C.idclient ORDER BY A.idclient, lang"; $db2->query($sql); while ($db2->next_record()) { $tmp['BGCOLOR'] = $row_bgcolor['project_lang']; $tmp['ENTRY_ICON'] = make_image('but_permission.gif', '', '16', '16'); $tmp['NAME'] = htmlentities($db2->f('name'), ENT_COMPAT, 'UTF-8'); $tmp['DESCRIPTION'] = htmlentities($db2->f('lang'), ENT_COMPAT, 'UTF-8'); if ($sim_perm->have_perm('1', 'lang', $db2->f('idlang'))) { $tmp['BUTTON_CONFIG'] = '<a href="' . sprintf($base_url, 'group_config', $order, $ascdesc) . '&idgroup=' . $idgroup . '&idlang=' . $db2->f('idlang') . '&idclient=' . $db2->f('idclient') . '" onmouseover="on(\'' . $cms_lang['group_langconfig'] . '\');return true;" onmouseout="off()" ;return true;"><img src="tpl/' . $cfg_cms['skin'] . '/img/but_config.gif" border="0" alt="' . $cms_lang['group_langconfig'] . '" title="' . $cms_lang['group_langconfig'] . '" width="16" height="16" /></a>'; $tmp['BUTTON_AKTIVE'] = '<a href="' . sprintf($base_url, 'group', $order, $ascdesc) . '&action=activate_lang&idgroup=' . $idgroup . '&idlang=' . $db2->f('idlang') . '" onmouseover="on(\'' . $cms_lang['group_langoff'] . '\');return true;" onmouseout="off()" ;return true;"><img src="tpl/' . $cfg_cms['skin'] . '/img/but_online.gif" border="0" alt="' . $cms_lang['group_langoff'] . '" title="' . $cms_lang['group_langoff'] . '" width="16" height="16" /></a>'; } else { $tmp['BUTTON_AKTIVE'] = '<a href="' . sprintf($base_url, 'group', $order, $ascdesc) . '&action=activate_lang&idgroup=' . $idgroup . '&idlang=' . $db2->f('idlang') . '" onmouseover="on(\'' . $cms_lang['group_langon'] . '\');return true;" onmouseout="off()" ;return true;"><img src="tpl/' . $cfg_cms['skin'] . '/img/but_offline.gif" border="0" alt="' . $cms_lang['group_langon'] . '" title="' . $cms_lang['group_langon'] . '" width="16" height="16" /></a>'; } $tmp['SPACE'] = '<img src="tpl/' . $cfg_cms['skin'] . '/img/space.gif" width="16" height="16" />'; $tpl->setVariable($tmp);