<?php
// changes for pragmaMx
// Bridge-File includen
// ob_start();
require_once(dirname(__FILE__) . '/../mx_bridge.php');
// ob_end_clean();
// //////////////////////////////////////////
// END changes for pragmaMx

require_once(str_replace('\\\\', '/', dirname(__FILE__)) . '/../class/config.class.php');
require_once(str_replace('\\\\', '/', dirname(__FILE__)) . '/../class/util.class.php');
// sets physical filesystem directory of web site root
// if calculation fails (usually if web server is not apache) set this manually
SpawConfig::setStaticConfigItem('DOCUMENT_ROOT', str_replace("\\", "/", SpawVars::getServerVar("DOCUMENT_ROOT")));
if (!ereg('/$', SpawConfig::getStaticConfigValue('DOCUMENT_ROOT')))
    SpawConfig::setStaticConfigItem('DOCUMENT_ROOT', SpawConfig::getStaticConfigValue('DOCUMENT_ROOT') . '/');
// sets physical filesystem directory where spaw files reside
// should work fine most of the time but if it fails set SPAW_ROOT manually by providing correct path
SpawConfig::setStaticConfigItem('SPAW_ROOT', str_replace("\\", "/", realpath(dirname(__FILE__) . "/..") . '/'));
// sets virtual path to the spaw directory on the server
// if calculation fails set this manually
SpawConfig::setStaticConfigItem('SPAW_DIR', '/' . str_replace(SpawConfig::getStaticConfigValue("DOCUMENT_ROOT"), '', SpawConfig::getStaticConfigValue("SPAW_ROOT")));

// semi-automatic path calculation
// comment the above settings of DOCUMENT_ROOT, SPAW_ROOT and SPAW_DIR
// and use this block if the above fails.
// set SPAW_DIR manually. If you access demo page by http://domain.com/spaw2/demo/demo.php
// then set SPAW_DIR to /spaw2/
SpawConfig::setStaticConfigItem('SPAW_DIR', '/spaw/');
// and the following settings will be calculated automaticly
SpawConfig::setStaticConfigItem('SPAW_ROOT', str_replace("\\","/",realpath(dirname(__FILE__)."/..").'/'));
SpawConfig::setStaticConfigItem('DOCUMENT_ROOT', substr(SpawConfig::getStaticConfigValue('SPAW_ROOT'),0,strlen(SpawConfig::getStaticConfigValue('SPAW_ROOT'))-strlen(SpawConfig::getStaticConfigValue('SPAW_DIR'))));

/*
// under IIS you will probably need to setup the above paths manually. it would be something like this
SpawConfig::setStaticConfigItem('DOCUMENT_ROOT', 'c:/inetpub/wwwroot/');
SpawConfig::setStaticConfigItem('SPAW_ROOT', 'c:/inetpub/wwwroot/spaw2/');
SpawConfig::setStaticConfigItem('SPAW_DIR', '/spaw2/');
*/
// DEFAULTS used when no value is set from code
// language
SpawConfig::setStaticConfigItem('default_lang', 'en');
// output charset (empty strings means charset specified in language file)
SpawConfig::setStaticConfigItem('default_output_charset', '');
// theme
SpawConfig::setStaticConfigItem('default_theme', 'spaw2');
// toolbarset
SpawConfig::setStaticConfigItem('default_toolbarset', $my_wyscnf['toolbar']);
// stylesheet
SpawConfig::setStaticConfigItem('default_stylesheet', SpawConfig::getStaticConfigValue('SPAW_DIR') . 'wysiwyg.css');
// width
SpawConfig::setStaticConfigItem('default_width', '100%');
// height
SpawConfig::setStaticConfigItem('default_height', '200px');
// specifies if language subsystem should use iconv functions to convert strings to the specified charset
SpawConfig::setStaticConfigItem('USE_ICONV', true);
// specifies rendering mode to use: "xhtml" - renders using spaw's engine, "builtin" - renders using browsers engine
SpawConfig::setStaticConfigItem('rendering_mode', 'xhtml', SPAW_CFG_TRANSFER_JS);
// specifies that xhtml rendering engine should indent it's output
SpawConfig::setStaticConfigItem('beautify_xhtml_output', true, SPAW_CFG_TRANSFER_JS);
// specifies host and protocol part (like http://mydomain.com) that should be added to urls returned from file manager (and probably other places in the future)
SpawConfig::setStaticConfigItem('base_href', '', SPAW_CFG_TRANSFER_JS);
// specifies if spaw should strip domain part from absolute urls (IE makes all links absolute)
SpawConfig::setStaticConfigItem('strip_absolute_urls', true, SPAW_CFG_TRANSFER_JS);
// specifies in which directions resizing is allowed (values: none, horizontal, vertical, both)
SpawConfig::setStaticConfigItem('resizing_directions', 'vertical', SPAW_CFG_TRANSFER_JS);
// specifies that special characters should be converted to the respective html entities
SpawConfig::setStaticConfigItem('convert_html_entities', false, SPAW_CFG_TRANSFER_JS);

$stylefile = '../themes/' . WYSIWYG_THEME . '/style/style.css';
$stylefile_abs = @realpath(dirname(dirname(__FILE__)) . '/' . $stylefile); // wird evtl. noch zum auslesen der Datei benoetigt!!!
if ($stylefile_abs) {
    $stylefile = SpawConfig::getStaticConfigValue('SPAW_DIR') . $stylefile;
    // var_dump($stylefile, $stylefile_abs);
    SpawConfig::setStaticConfigItem('default_stylesheet', $stylefile);
    $style_list = mxSpawGetStyleContent($stylefile_abs);
    // data for style (css class) dropdown list
    SpawConfig::setStaticConfigItem("dropdown_data_core_style", $style_list);
    /*  Original:
    SpawConfig::setStaticConfigItem("dropdown_data_core_style",
    array('' => 'Normal',
        'style1' => 'Style No.1',
        'style2' => 'Style No.2',
        )
    );
    */
    // data for style (css class) dropdown in table properties dialog
    SpawConfig::setStaticConfigItem("table_styles", $style_list);
    /*  Original:
    SpawConfig::setStaticConfigItem("table_styles",
    array('' => 'Normal',
        'style1' => 'Style No.1',
        'style2' => 'Style No.2',
        )
    );
    */
    // data for style (css class) dropdown in table cell properties dialog
    SpawConfig::setStaticConfigItem("table_cell_styles", $style_list);
    /*  Original:
    SpawConfig::setStaticConfigItem("table_cell_styles",
    array('' => 'Normal',
        'style1' => 'Style No.1',
        'style2' => 'Style No.2',
        )
    );
    */
}
// data for style (css class) dropdown in image properties dialog
SpawConfig::setStaticConfigItem("image_styles",
    array('' => 'Normal',
        'style1' => 'Style No.1',
        'style2' => 'Style No.2',
        )
    );
// data for fonts dropdown list
SpawConfig::setStaticConfigItem("dropdown_data_core_fontname", array_flip($my_wyscnf['fontfamily']));
/*  Original:
SpawConfig::setStaticConfigItem("dropdown_data_core_fontname",
    array('Arial' => 'Arial',
        'Courier' => 'Courier',
        'Tahoma' => 'Tahoma',
        'Times New Roman' => 'Times',
        'Verdana' => 'Verdana'
        )
    );
*/
// data for fontsize dropdown list
SpawConfig::setStaticConfigItem("dropdown_data_core_fontsize",
    array('1' => '1',
        '2' => '2',
        '3' => '3',
        '4' => '4',
        '5' => '5',
        '6' => '6'
        )
    );
// data for paragraph dropdown list
SpawConfig::setStaticConfigItem("dropdown_data_core_formatBlock",
    array('Normal' => 'Normal',
        '<H1>' => 'Heading 1',
        '<H2>' => 'Heading 2',
        '<H3>' => 'Heading 3',
        '<H4>' => 'Heading 4',
        '<H5>' => 'Heading 5',
        '<H6>' => 'Heading 6',
        '<pre>' => 'Preformatted',
        '<address>' => 'Address',
        '<p>' => 'Paragraph'
        )
    );
// data for link targets drodown list in hyperlink dialog
SpawConfig::setStaticConfigItem("a_targets",
    array('_self' => 'Self',
        '_blank' => 'Blank',
        '_top' => 'Top',
        '_parent' => 'Parent'
        )
    );
// data for quick links dropdown (new in 2.0.6)
SpawConfig::setStaticConfigItem("quick_links",
    array(
        'http://www.pragmamx.org/' => 'pragmaMx Homepage',
        'http://www.pragmamx.org/Forum.html' => 'pragmaMx Support Forum',
        'http://spaweditor.com/' => 'SPAW Editor',
        'http://forums.solmetra.com/' => 'SPAW Support Forums',
        'http://blog.solmetra.com/' => 'Solmetra\'s Developer Blog'
        ),
    SPAW_CFG_TRANSFER_SECURE
    );
// toolbar sets (should start with "toolbarset_"
// standard core toolbars
SpawConfig::setStaticConfigItem('toolbarset_standard',
    array("format" => "format",
        "style" => "style",
        "edit" => "edit",
        "table" => "table",
        "plugins" => "plugins",
        "insert" => "insert",
        "tools" => "tools"
        )
    );
// all core toolbars
SpawConfig::setStaticConfigItem('toolbarset_all',
    array("format" => "format",
        "style" => "style",
        "edit" => "edit",
        "table" => "table",
        "plugins" => "plugins",
        "insert" => "insert",
        "tools" => "tools",
        "font" => "font"
        )
    );
// mini core toolbars
SpawConfig::setStaticConfigItem('toolbarset_mini',
    array("format" => "format_mini",
        "edit" => "edit",
        "tools" => "tools"
        )
    );
// colorpicker config
SpawConfig::setStaticConfigItem('colorpicker_predefined_colors',
    array('black',
        'silver',
        'gray',
        'white',
        'maroon',
        'red',
        'purple',
        'fuchsia',
        'green',
        'lime',
        'olive',
        'yellow',
        'navy',
        'blue',
        '#fedcba',
        'aqua'
        ),
    SPAW_CFG_TRANSFER_SECURE
    );

// changes for pragmaMx
// SpawFm plugin config:
// global filemanager settings
SpawConfig::setStaticConfigItem('PG_SPAWFM_SETTINGS',
    array('allowed_filetypes' => $my_wyscnf['filetype'], // allowed filetypes groups/extensions
        'allow_modify' => $my_wyscnf['allow_modify'], // allow edit filenames/delete files in directory
        'allow_upload' => $my_wyscnf['allow_upload'], // allow uploading new files in directory
        'chmod_to' => octdec($my_wyscnf['chmod_to']), // change the permissions of an uploaded file if allowed
        'chmod_dir_to' => octdec($my_wyscnf['chmod_dir_to']), // pragmaMx spezific: change the permissions of an new created directory
        // (see PHP chmod() function description for details), or comment out to leave default
        'max_upload_filesize' => $my_wyscnf['upload_max_size'], // max upload file size allowed in bytes, or 0 to ignore
        'max_img_width' => $my_wyscnf['max_img_width'], // max uploaded image width allowed, or 0 to ignore
        'max_img_height' => $my_wyscnf['max_img_height'], // max uploaded image height allowed, or 0 to ignore
        'recursive' => WYSIWYG_IS_ADMIN, // allow using subdirectories
        'allow_modify_subdirectories' => WYSIWYG_IS_ADMIN_SUPER, // allow renaming/deleting subdirectories
        'allow_create_subdirectories' => WYSIWYG_IS_ADMIN_SUPER, // allow creating subdirectories
        'forbid_extensions' => array('php', 'htm', 'html'), // disallow uploading files with specified extensions
        'forbid_extensions_strict' => true, // disallow specified extensions in the middle of the filename
        ),
    SPAW_CFG_TRANSFER_SECURE
    );

/* Konfiguration der im Dateimanager verfuegbaren Pfade */

/* pragmaMx Rootordner zwischenspeichern */
$tmp_pmxdir = dirname(SpawConfig::getStaticConfigValue('SPAW_DIR'));

/* Die Smilies */
$tmp_directories[] = array('dir' => $tmp_pmxdir . '/images/smilies/',
    'caption' => 'Smilies ',
    'params' => array(
        'default_dir' => false, // set directory as default (optional setting)
        'allowed_filetypes' => array('images'),
        'allow_upload' => false,
        )
    );

/* Wenn der alte iUpload Ordner vorhanden ist, diesen auch mit anbieten */
if (@file_exists(dirname(__FILE__) . '/../../images/iupload')) {
    $tmp_directories[] = array('dir' => $tmp_pmxdir . '/images/iupload/',
        'caption' => 'images/iupload',
        'params' => array(
            'default_dir' => false, // set directory as default (optional setting)
            'allowed_filetypes' => array('images'),
            )
        );
}

/* den neuen/aktuellen Bildordner als Standard verwenden */
$tmp_directories[] = array('dir' => $tmp_pmxdir . '/media/images/',
    'caption' => 'media/images',
    'params' => array(
        'default_dir' => true, // set directory as default (optional setting)
        'allowed_filetypes' => array('images'),
        )
    );

/* Ordner fuer Flash Filme */
$tmp_directories[] = array('dir' => $tmp_pmxdir . '/media/flash/',
    'caption' => 'media/flash',
    'params' => array(
        'default_dir' => false, // set directory as default (optional setting)
        'allowed_filetypes' => array('flash'),
        )
    );

/* Ordner fuer alle anderen Dateien */
$tmp_directories[] = array('dir' => $tmp_pmxdir . '/media/files/',
    'caption' => 'media/files',
    'params' => array(
        'default_dir' => false, // set directory as default (optional setting)
        'allowed_filetypes' => array('documents', 'audio', 'video', 'archives'),
        )
    );

// Hier jetzt die eigentliche Spaw-Konfiguration fuer diese Ordner eintragen
SpawConfig::setStaticConfigItem('PG_SPAWFM_DIRECTORIES', $tmp_directories, SPAW_CFG_TRANSFER_SECURE);

/* Die Konfiguration komplett anzeigen lassen */
// var_dump($tmp_directories[4], $my_wyscnf, SpawConfig::configVar());
/* aufraeumen */
unset($tmp_directories, $tmp_pmxdir);
// $spaw_lang_data,
?>
