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
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
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;
 }
Esempio n. 4
0
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);
    }
}
Esempio n. 6
0
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);
    }
}
Esempio n. 7
0
/**
 * 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;
}
Esempio n. 8
0
    $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\">&nbsp;" . $mod_lang['type_edit_side'] . "&nbsp;<\\/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\">&nbsp;<a href=\"" . $sess->url($cfg_cms['cms_html_path'] . 'main.php?area=con&amp;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>&nbsp;<\\/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&amp;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&amp;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&amp;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&amp;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&amp;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\">&nbsp;" . $mod_lang['type_edit_folder'] . "&nbsp;<\\/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&amp;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&amp;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&amp;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&amp;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&amp;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\">&nbsp;" . $mod_lang['side_mode'] . "&nbsp;<\\/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 . '&amp;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 . '&amp;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 . '&amp;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 . '&amp;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;
}
Esempio n. 10
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';
}
Esempio n. 11
0
 /**
  * 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;
         }
     }
 }
Esempio n. 12
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);
                }
            }
        }
    }
}
Esempio n. 13
0
    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);