Ejemplo n.º 1
0
function dir_open($loaddir)
{
    static $output = "";
    if (is_dir($loaddir) && ($handle = opendir($loaddir))) {
        while (($file = readdir($handle)) !== false) {
            if (strpos($file, "#") !== false) {
                continue;
            }
            if (filetype($path = $loaddir . $file) == "file") {
                $oneQuest = file_get_contents($path);
                if (strlen(preg_replace('/\\s/s', "", $oneQuest)) != 0) {
                    $oneQuest = $oneQuest . ",";
                    //						if(strpos($loaddir . $file, "#") !== false){
                    //							$oneQuest = setProperty("hidden","true", $oneQuest);
                    //						}
                    $category = getDirectoryName($loaddir);
                    $oneQuest = setProperty("category", "\"" . $category . "\"", $oneQuest);
                    //						$category_jp = getCategoryJp($category);
                    //						$oneQuest = setProperty("category_jp", "\"" . $category_jp . "\"", $oneQuest);
                    $output = $output . $oneQuest;
                }
            } else {
                if (strpos($file, ".") === false) {
                    dir_open($loaddir . $file . "/");
                }
            }
        }
    }
    return $output;
}
if (!isset($link_wert) || $link_wert != "true") {
    $link_wert = "false";
}
$linkName = LINK_SUCHE;
if (isset($_POST["showParent"]) && $_POST["showParent"] == "true") {
    $showParent = "true";
} else {
    $showParent = "false";
}
$unterkunft_id = getSessionWert(UNTERKUNFT_ID);
$sprache = getSessionWert(SPRACHE);
$passwort = getSessionWert(PASSWORT);
$benutzername = getSessionWert(BENUTZERNAME);
$suchFilter = $_POST["suchFilter"];
//Properties für eine bestimmte Unterkunft setzen!
setProperty($kinder, $kinder_wert, $unterkunft_id, $link);
setProperty($haustiere, $haustiere_wert, $unterkunft_id, $link);
setProperty($linkName, $link_wert, $unterkunft_id, $link);
setProperty(SEARCH_SHOW_PARENT_ROOM, $showParent, $unterkunft_id, $link);
if ($suchFilter == "filterZimmer") {
    setProperty(SUCHFILTER_ZIMMER, "true", $unterkunft_id, $link);
    setProperty(SUCHFILTER_UNTERKUNFT, "false", $unterkunft_id, $link);
} else {
    setProperty(SUCHFILTER_UNTERKUNFT, "true", $unterkunft_id, $link);
    setProperty(SUCHFILTER_ZIMMER, "false", $unterkunft_id, $link);
}
//Dieser Satz muss noch in die Sprachtabellen eingefügt werden.
$nachricht = "Die Suchoptionen wurden erfolgreich geändert!";
$nachricht = getUebersetzung($nachricht, $sprache, $link);
$fehler = false;
include_once "index.php";
$root = "../../..";
// Set flag that this is a parent file
define('_JEXEC', 1);
include_once $root . "/include/sessionFunctions.inc.php";
//datenbank öffnen:
include_once "../../../conf/rdbmsConfig.php";
include_once "../../../include/einstellungenFunctions.php";
include_once "../../../include/propertiesFunctions.php";
include_once "../../../include/uebersetzer.php";
include_once "../../../include/benutzerFunctions.php";
include_once "../../../include/unterkunftFunctions.php";
include_once "../../templates/components.php";
//variablen initialisieren:
if (isset($_POST["showSamstag"])) {
    $showSamstag = $_POST["showSamstag"];
} else {
    $showSamstag = false;
}
$unterkunft_id = getSessionWert(UNTERKUNFT_ID);
$sprache = getSessionWert(SPRACHE);
$passwort = getSessionWert(PASSWORT);
$benutzername = getSessionWert(BENUTZERNAME);
setProperty(SHOW_OTHER_COLOR_FOR_SA, $showSamstag, $unterkunft_id, $link);
//Dieser Satz muss noch in die Sprachtabellen eingefügt werden.
$nachricht = "Die Änderungen wurden erfolgreich durchgeführt!";
$nachricht = getUebersetzung($nachricht, $sprache, $link);
$nachricht2 = "Um die Farbe des Samstages zu ändern müssen sie [Design bearbeiten] aufrufen und die Hintergrundfarben zu [Samstag belegt] und [Samstag frei] ändern.";
$nachricht2 = getUebersetzung($nachricht2, $sprache, $link);
$nachricht .= "<br/>" . $nachricht2;
$fehler = false;
include_once "index.php";
Ejemplo n.º 4
0
$unterkunft_id = getSessionWert(UNTERKUNFT_ID);
$sprache = getSessionWert(SPRACHE);
$passwort = getSessionWert(PASSWORT);
$benutzername = getSessionWert(BENUTZERNAME);
?>

<?php 
$uebernachtung = false;
$fruehstueck = false;
$halbpension = false;
$vollpension = false;
if (isset($_POST["uebernachtung"])) {
    $uebernachtung = $_POST["uebernachtung"];
}
if (isset($_POST["fruehstueck"])) {
    $fruehstueck = $_POST["fruehstueck"];
}
if (isset($_POST["halbpension"])) {
    $halbpension = $_POST["halbpension"];
}
if (isset($_POST["vollpension"])) {
    $vollpension = $_POST["vollpension"];
}
//werte speichern:
setProperty(PENSION_UEBERNACHTUNG, $uebernachtung, $unterkunft_id, $link);
setProperty(PENSION_FRUEHSTUECK, $fruehstueck, $unterkunft_id, $link);
setProperty(PENSION_HALB, $halbpension, $unterkunft_id, $link);
setProperty(PENSION_VOLL, $vollpension, $unterkunft_id, $link);
$nachricht = getUebersetzung("Die Änderungen wurden erfolgreich durchgeführt.", $sprache, $link);
$fehler = false;
include_once "index.php";
Ejemplo n.º 5
0
/**
 * Performs all the feed-related admin actions
 */
function channel_admin()
{
    // Fix for #16: Admin (et al.) should not rely on l10n labels for actions:
    // Look for a meta-action first, which should be the (untranslated) *name* of
    // the (translated) action constant.
    // Fixme: should replace 'action's with a constant
    if (array_key_exists(CST_ADMIN_METAACTION, $_REQUEST)) {
        $__action__ = $_REQUEST[CST_ADMIN_METAACTION];
    } elseif (array_key_exists('action', $_REQUEST)) {
        $__action__ = $_REQUEST['action'];
    } else {
        $__action__ = "";
    }
    $ret__ = CST_ADMIN_DOMAIN_NONE;
    switch ($__action__) {
        case __('Add'):
        case 'ACT_ADMIN_ADD':
        case 'Add':
            $label = trim(sanitize($_REQUEST['new_channel'], RSS_SANITIZER_URL));
            $fid = trim(sanitize($_REQUEST['add_channel_to_folder'], RSS_SANITIZER_NUMERIC));
            list($flabel) = rss_fetch_row(rss_query("select name from " . getTable('folders') . " where id={$fid}"));
            // handle "feed:" urls
            if (substr($label, 0, 5) == 'feed:') {
                if (substr($label, 0, 11) == "feed://http") {
                    $label = substr($label, 5);
                } else {
                    // handle feed://example.com/rss.xml urls
                    $label = "http:" . substr($label, 5);
                }
            }
            if ($label != 'http://' && substr($label, 0, 4) == "http") {
                $tags = @$_REQUEST['channel_tags'];
                $ret = add_channel($label, $fid, null, null, $tags);
                //var_dump($ret);
                if (is_array($ret) && $ret[0] > -1) {
                    update($ret[0]);
                    rss_invalidate_cache();
                    // feedback
                    $newCid = $ret[0];
                    rss_error(sprintf(__('Adding %s to %s... '), htmlentities($label), "/{$flabel}") . __('OK') . "&nbsp;[<a href=\"" . getPath() . "admin/index.php?domain=" . CST_ADMIN_DOMAIN_CHANNEL . "&amp;action=edit&amp;cid={$newCid}\">" . __('edit') . "</a>]", RSS_ERROR_ERROR, true);
                    $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                } elseif (is_array($ret) && $ret[0] > -2) {
                    // okay, something went wrong, maybe thats a html url after all?
                    // let's try and see if we can extract some feeds
                    $feeds = extractFeeds($label);
                    if (!is_array($feeds) || sizeof($feeds) == 0) {
                        rss_error($ret[1], RSS_ERROR_ERROR, true);
                        $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                    } else {
                        //one single feed in the html doc, add that
                        if (is_array($feeds) && sizeof($feeds) == 1 && array_key_exists('href', $feeds[0])) {
                            $ret = add_channel($feeds[0]['href'], $fid);
                            if (is_array($ret) && $ret[0] > -1) {
                                update($ret[0]);
                                rss_invalidate_cache();
                                // feedback
                                $newCid = $ret[0];
                                rss_error(sprintf(__('Adding %s to %s... '), htmlentities($label), "/{$flabel}") . __('OK') . "&nbsp;[<a href=\"" . getPath() . "admin/index.php?domain=" . CST_ADMIN_DOMAIN_CHANNEL . "&amp;action=edit&amp;cid={$newCid}\">" . __('edit') . "</a>]", RSS_ERROR_ERROR, true);
                                $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                            } else {
                                // failure
                                rss_error($ret[1], RSS_ERROR_ERROR, true);
                                $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                            }
                        } else {
                            // multiple feeds in the channel
                            echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">\n" . "<p>" . sprintf(__('The following feeds were found in <a href="%s">%s</a>, which one would you like to subscribe?'), $label, $label) . "</p>\n";
                            $cnt = 0;
                            while (list($id, $feedarr) = each($feeds)) {
                                // we need an URL
                                if (!array_key_exists('href', $feedarr)) {
                                    continue;
                                } else {
                                    $href = $feedarr['href'];
                                }
                                if (array_key_exists('type', $feedarr)) {
                                    $typeLbl = " [<a href=\"{$href}\">" . $feedarr['type'] . "</a>]";
                                }
                                $cnt++;
                                if (array_key_exists('title', $feedarr)) {
                                    $lbl = $feedarr['title'];
                                } elseif (array_key_exists('type', $feedarr)) {
                                    $lbl = $feedarr['type'];
                                    $typeLbl = "";
                                } elseif (array_key_exists('href', $feedarr)) {
                                    $lbl = $feedarr['href'];
                                } else {
                                    $lbl = "Resource {$cnt}";
                                }
                                echo "<p>\n\t<input class=\"indent\" type=\"radio\" id=\"fd_{$cnt}\" name=\"new_channel\" " . " value=\"{$href}\" />\n" . "\t<label for=\"fd_{$cnt}\">{$lbl} {$typeLbl}</label>\n" . "</p>\n";
                            }
                            echo "<p><input type=\"hidden\" name=\"add_channel_to_folder\" value=\"{$fid}\" />\n" . "<input type=\"hidden\" name=\"" . CST_ADMIN_DOMAIN . "\" value=\"" . CST_ADMIN_DOMAIN_CHANNEL . "\" />\n" . "<input type=\"hidden\" name=\"" . CST_ADMIN_METAACTION . "\" value=\"ACT_ADMIN_ADD\" />\n" . "<input type=\"submit\" class=\"indent\" name=\"action\" value=\"" . __('Add') . "\" />\n" . "</p>\n</form>\n\n";
                        }
                    }
                } elseif (is_array($ret)) {
                    rss_error($ret[1], RSS_ERROR_ERROR, true);
                    $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                } else {
                    rss_error(sprintf(__("I'm sorry, I don't think I can handle this URL: '%s'"), $label), RSS_ERROR_ERROR, true);
                    $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                }
            } else {
                rss_error(sprintf(__("I'm sorry, I don't think I can handle this URL: '%s'"), $label), RSS_ERROR_ERROR, true);
                $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            }
            break;
        case CST_ADMIN_EDIT_ACTION:
            $id = sanitize($_REQUEST['cid'], RSS_SANITIZER_NUMERIC);
            channel_edit_form($id);
            break;
        case CST_ADMIN_DELETE_ACTION:
            $id = sanitize($_REQUEST['cid'], RSS_SANITIZER_NUMERIC);
            if (array_key_exists(CST_ADMIN_CONFIRMED, $_POST) && $_POST[CST_ADMIN_CONFIRMED] == __('Yes')) {
                $rs = rss_query("select distinct id from " . getTable("item") . " where cid={$id}");
                $ids = array();
                while (list($did) = rss_fetch_row($rs)) {
                    $ids[] = $did;
                }
                if (count($ids)) {
                    $sqldel = "delete from " . getTable('metatag') . " where fid in (" . implode(",", $ids) . ")";
                    rss_query($sqldel);
                }
                $sql = "delete from " . getTable("item") . " where cid={$id}";
                rss_query($sql);
                $sql = "delete from " . getTable("channels") . " where id={$id}";
                rss_query($sql);
                // Delete properties
                deleteProperty($id, 'rss.input.allowupdates');
                deleteProperty($id, 'rss.config.refreshinterval');
                deleteProperty($id, 'rss.config.refreshdate');
                // Invalidate cache
                rss_invalidate_cache();
                $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            } elseif (array_key_exists(CST_ADMIN_CONFIRMED, $_REQUEST) && $_REQUEST[CST_ADMIN_CONFIRMED] == __('No')) {
                $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            } else {
                list($cname) = rss_fetch_row(rss_query("select title from " . getTable("channels") . " where id = {$id}"));
                echo "<form class=\"box\" method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">\n" . "<p class=\"error\">";
                printf(__("Are you sure you wish to delete '%s'?"), $cname);
                echo "</p>\n" . "<p><input type=\"submit\" name=\"" . CST_ADMIN_CONFIRMED . "\" value=\"" . __('No') . "\" />\n" . "<input type=\"submit\" name=\"" . CST_ADMIN_CONFIRMED . "\" value=\"" . __('Yes') . "\" />\n" . "<input type=\"hidden\" name=\"cid\" value=\"{$id}\" />\n" . "<input type=\"hidden\" name=\"" . CST_ADMIN_DOMAIN . "\" value=\"" . CST_ADMIN_DOMAIN_CHANNEL . "\" />\n" . "<input type=\"hidden\" name=\"action\" value=\"" . CST_ADMIN_DELETE_ACTION . "\" />\n" . "</p>\n</form>\n";
            }
            break;
        case __('Import'):
        case 'ACT_ADMIN_IMPORT':
            if (array_key_exists('opml', $_POST) && strlen(trim($_POST['opml'])) > 7) {
                $url = trim(sanitize($_POST['opml'], RSS_SANITIZER_NO_SPACES));
            } elseif (array_key_exists('opmlfile', $_FILES) && $_FILES['opmlfile']['tmp_name']) {
                if (is_uploaded_file($_FILES['opmlfile']['tmp_name'])) {
                    $url = $_FILES['opmlfile']['tmp_name'];
                } else {
                    $url = '';
                }
            } else {
                $url = '';
            }
            if (!$url) {
                $ret__ = CST_ADMIN_DOMAIN_OPML;
                break;
            }
            if (array_key_exists('opml_import_option', $_POST)) {
                $import_opt = $_POST['opml_import_option'];
            } else {
                $import_opt = CST_ADMIN_OPML_IMPORT_MERGE;
            }
            if ($import_opt == CST_ADMIN_OPML_IMPORT_FOLDER) {
                $opmlfid = sanitize($_POST['opml_import_to_folder'], RSS_SANITIZER_NUMERIC);
            } else {
                $opmlfid = getRootFolder();
            }
            @set_time_limit(0);
            @ini_set('max_execution_time', 300);
            // Parse into and OPML object
            $opml = getOpml($url);
            if (sizeof($opml) > 0) {
                if ($import_opt == CST_ADMIN_OPML_IMPORT_WIPE) {
                    rss_query("delete from " . getTable("metatag"));
                    rss_query("delete from " . getTable("channels"));
                    rss_query("delete from " . getTable("item"));
                    rss_query("delete from " . getTable("folders") . " where id > 0");
                }
                if ($import_opt == CST_ADMIN_OPML_IMPORT_FOLDER) {
                    $fid = $opmlfid;
                    list($prev_folder) = rss_fetch_row(rss_query("select name from " . getTable('folders') . " where id= {$opmlfid} "));
                } else {
                    $prev_folder = __('Root');
                    $fid = 0;
                }
                echo "<div class=\"frame\" style=\"background-color:#eee;font-size:small\"><ul>\n";
                while (list($folder, $items) = each($opml)) {
                    if ($folder != $prev_folder && $import_opt != CST_ADMIN_OPML_IMPORT_FOLDER) {
                        $fid = create_folder(strip_tags($folder), false);
                        $prev_folder = strip_tags($folder);
                    }
                    for ($i = 0; $i < sizeof($opml[$folder]); $i++) {
                        $url_ = isset($opml[$folder][$i]['XMLURL']) ? trim($opml[$folder][$i]['XMLURL']) : null;
                        $title_ = isset($opml[$folder][$i]['TEXT']) ? trim($opml[$folder][$i]['TEXT']) : null;
                        // support for title attribute (optional)
                        $title_ = isset($opml[$folder][$i]['TITLE']) ? trim($opml[$folder][$i]['TITLE']) : $title_;
                        $descr_ = isset($opml[$folder][$i]['DESCRIPTION']) ? trim($opml[$folder][$i]['DESCRIPTION']) : null;
                        $cats_ = isset($opml[$folder][$i]['CATEGORY']) ? trim($opml[$folder][$i]['CATEGORY']) : "";
                        $t__ = strip_tags($title_);
                        $d__ = strip_tags($descr_);
                        $f__ = strip_tags($prev_folder);
                        $u__ = sanitize($url_, RSS_SANITIZER_URL);
                        $c__ = $cats_;
                        //preg_replace(ALLOWED_TAGS_REGEXP,' ',$cats_);
                        if ($u__) {
                            echo "<li><p>" . sprintf(__('Adding %s to %s... '), $t__, $f__);
                            flush();
                            list($retcde, $retmsg) = add_channel($u__, $fid, $t__, $d__);
                            if ($retcde && count($c__)) {
                                __exp__submitTag($retcde, utf8_encode($c__), "'channel'");
                            }
                            echo ($retcde < 0 ? $retmsg : " OK") . "</p></li>\n";
                            flush();
                        }
                    }
                }
                echo "</ul>\n<p><b>" . __('Updating') . "...</b></p>\n";
                echo "</div>\n";
                flush();
                //update all the feeds
                update("");
                rss_invalidate_cache();
            }
            $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            break;
        case CST_ADMIN_SUBMIT_EDIT:
            $cid = sanitize($_POST['cid'], RSS_SANITIZER_NUMERIC);
            rss_plugin_hook('rss.plugins.admin.feed.properties.submit', null);
            // TBD
            $title = strip_tags(rss_real_escape_string(real_strip_slashes($_POST['c_name'])));
            $url = rss_real_escape_string($_POST['c_url']);
            $siteurl = rss_real_escape_string($_POST['c_siteurl']);
            $parent = rss_real_escape_string($_POST['c_parent']);
            $descr = strip_tags(rss_real_escape_string(real_strip_slashes($_POST['c_descr'])));
            $icon = rss_real_escape_string($_POST['c_icon']);
            $priv = array_key_exists('c_private', $_POST) && $_POST['c_private'] == '1';
            $tags = rss_real_escape_string($_POST['c_tags']);
            $old_priv = $_POST['old_priv'] == '1';
            // Feed Properties
            $prop_rss_input_allowupdates = rss_real_escape_string($_POST['prop_rss_input_allowupdates']);
            if ($prop_rss_input_allowupdates == 'default') {
                deleteProperty($cid, 'rss.input.allowupdates');
            } else {
                setProperty($cid, 'rss.input.allowupdates', 'feed', $prop_rss_input_allowupdates == 1);
            }
            deleteProperty($cid, 'rss.config.refreshinterval');
            $rss_config_refreshinterval = rss_real_escape_string($_POST['rss_config_refreshinterval']);
            if ($rss_config_refreshinterval > 60) {
                setProperty($cid, 'rss.config.refreshinterval', 'feed', $rss_config_refreshinterval);
            }
            if ($priv != $old_priv) {
                $mode = ", mode = mode ";
                if ($priv) {
                    $mode .= " | " . RSS_MODE_PRIVATE_STATE;
                    rss_query('update ' . getTable('item') . " set unread = unread | " . RSS_MODE_PRIVATE_STATE . " where cid={$cid}");
                } else {
                    $mode .= " & " . SET_MODE_PUBLIC_STATE;
                    rss_query('update ' . getTable('item') . " set unread = unread & " . SET_MODE_PUBLIC_STATE . " where cid={$cid}");
                }
                rss_invalidate_cache();
            } else {
                $mode = "";
            }
            $del = array_key_exists('c_deleted', $_POST) && $_POST['c_deleted'] == '1';
            $old_del = $_POST['old_del'] == '1';
            if ($del != $old_del) {
                if ($mode == "") {
                    $mode = ", mode = mode ";
                }
                if ($del) {
                    $mode .= " | " . RSS_MODE_DELETED_STATE;
                } else {
                    $mode .= " & " . SET_MODE_AVAILABLE_STATE;
                }
            }
            if ($url == '' || substr($url, 0, 4) != "http") {
                rss_error(sprintf(__("I'm sorry, I don't think I can handle this URL: '%s'"), $url), RSS_ERROR_ERROR, true);
                $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
                break;
            }
            if ($icon && cacheFavicon($icon)) {
                $icon = 'blob:' . $icon;
            }
            $sql = "update " . getTable("channels") . " set title='{$title}', url='{$url}', siteurl='{$siteurl}', " . " parent={$parent}, descr='{$descr}', icon='{$icon}', " . " daterefreshed = 1, etag = '' " . " {$mode} where id={$cid}";
            rss_query($sql);
            __exp__submitTag($cid, utf8_decode($tags), "'channel'");
            rss_invalidate_cache();
            $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            break;
        case CST_ADMIN_MOVE_UP_ACTION:
        case CST_ADMIN_MOVE_DOWN_ACTION:
            $id = sanitize($_REQUEST['cid'], RSS_SANITIZER_NUMERIC);
            $res = rss_query("select parent,position from " . getTable("channels") . " where id={$id}");
            list($parent, $position) = rss_fetch_row($res);
            if ($_REQUEST['action'] == CST_ADMIN_MOVE_UP_ACTION) {
                $res = rss_query("select id, position from " . getTable("channels") . " where parent={$parent} and id != {$id} and position<{$position} " . " order by abs({$position}-position) limit 1");
            } else {
                $res = rss_query("select id, position from " . getTable("channels") . " where parent={$parent} and id != {$id} and position>{$position} " . " order by abs({$position}-position) limit 1");
            }
            list($switch_with_id, $switch_with_position) = rss_fetch_row($res);
            //If this is already the first or last item in a folder we won't get any results from the query above
            if ($switch_with_position != "") {
                // right, lets!
                if ($switch_with_position != $position) {
                    rss_query("update " . getTable("channels") . " set position = {$switch_with_position} where id={$id}");
                    rss_query("update " . getTable("channels") . " set position = {$position} where id={$switch_with_id}");
                    rss_invalidate_cache();
                }
            }
            $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            break;
        case CST_ADMIN_MULTIEDIT:
            $ret__ = CST_ADMIN_DOMAIN_CHANNEL;
            $ids = array();
            foreach ($_REQUEST as $key => $val) {
                if (preg_match('/^fcb([0-9]+)$/', $key, $match)) {
                    if (($id = (int) $_REQUEST[$key]) > 0) {
                        $ids[] = $id;
                    }
                }
            }
            // no feed selected?
            if (count($ids) == 0) {
                break;
            } else {
                $sqlids = " (" . implode(',', $ids) . ")";
            }
            // MOVE TO FOLDER
            if (array_key_exists('me_move_to_folder', $_REQUEST)) {
                $fid = sanitize($_REQUEST['me_folder'], RSS_SANITIZER_NUMERIC);
                $sql = "update " . getTable('channels') . " set parent={$fid} where id in {$sqlids}";
                rss_query($sql);
                /// STATE
            } elseif (array_key_exists('me_state', $_REQUEST)) {
                $deprecated = array_key_exists('me_deprecated', $_REQUEST) ? $_REQUEST['me_deprecated'] : false;
                $private = array_key_exists('me_private', $_REQUEST) ? $_REQUEST['me_private'] : false;
                if ($private) {
                    rss_query('update ' . getTable('channels') . " set mode = mode | " . RSS_MODE_PRIVATE_STATE . " where id in {$sqlids}");
                    rss_query('update ' . getTable('item') . " set unread = unread | " . RSS_MODE_PRIVATE_STATE . " where cid in {$sqlids}");
                } else {
                    rss_query('update ' . getTable('channels') . " set mode = mode & " . SET_MODE_PUBLIC_STATE . " where id in {$sqlids}");
                    rss_query('update ' . getTable('item') . " set unread = unread & " . SET_MODE_PUBLIC_STATE . " where cid in {$sqlids}");
                }
                if ($deprecated) {
                    rss_query('update ' . getTable('channels') . " set mode = mode | " . RSS_MODE_DELETED_STATE . " where id in {$sqlids}");
                } else {
                    rss_query('update ' . getTable('channels') . " set mode = mode & " . SET_MODE_AVAILABLE_STATE . " where id in {$sqlids}");
                }
                // DELETE
            } elseif (array_key_exists('me_delete', $_REQUEST)) {
                if (array_key_exists('me_do_delete', $_REQUEST) && $_REQUEST['me_do_delete'] == "1") {
                    $sql = "delete from " . getTable('channels') . " where id in {$sqlids}";
                    rss_query($sql);
                }
            } elseif (array_key_exists('me_set_categories', $_POST)) {
                $tags = utf8_decode(trim(rss_real_escape_string($_POST['me_categories'])));
                if ($tags) {
                    foreach ($ids as $id) {
                        __exp__submitTag($id, $tags, '"channel"');
                    }
                }
            }
            rss_invalidate_cache();
            break;
        case 'dump':
            // Make sure this is a POST
            if (!isset($_POST['dumpact'])) {
                die('Sorry, you can\'t access this via a GET');
            }
            $tbl = array('"', '&quot;');
            error_reporting(E_ALL);
            rss_require('schema.php');
            $tables = getExpectedTables();
            unset($tables['cache']);
            //$tables=array('channels','tag','config');
            $bfr = '';
            $bfr .= '<' . '?xml version="1.0" encoding="UTF-8"?' . '>' . "\n";
            $bfr .= '<dump prefix="' . getTable('') . '" date="' . date('r') . '">' . "\n";
            foreach ($tables as $table => $prefixed) {
                $rs = rss_query("select * from {$prefixed}");
                $bfr .= "<{$table}>\n";
                while ($row = rss_fetch_assoc($rs)) {
                    $r = "<row ";
                    foreach ($row as $key => $val) {
                        $val = htmlspecialchars($val);
                        $r .= " {$key}=\"{$val}\" ";
                    }
                    $r .= "/>\n";
                    $bfr .= $r;
                }
                $bfr .= "</{$table}>\n";
            }
            $bfr .= '</dump>' . "\n";
            $gzdata = gzencode($bfr, 9);
            // Delete the output buffer. This is probably a bad thing to do, if the ob'ing is turned off.
            // e.g. data was already sent to the brwoser.
            while (@ob_end_clean()) {
            }
            // Send the dump to the browser:
            header("Pragma: public");
            // required
            header("Expires: 0");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            header("Connection: close");
            header("Content-Transfer-Encoding: binary");
            header("Content-Length: " . strlen($gzdata));
            header('Content-type: application/x-gzip');
            header('Content-disposition: inline; filename="gregarius.dump.' . date('MjSY') . '.xml.gz"');
            die($gzdata);
            break;
        default:
            break;
    }
    return $ret__;
}
include_once "../../../include/benutzerFunctions.php";
include_once "../../../include/unterkunftFunctions.php";
include_once "../../templates/components.php";
//variablen initialisieren:
if (isset($_POST["showMonatsansicht"])) {
    $showMonatsansicht = $_POST["showMonatsansicht"];
} else {
    $showMonatsansicht = false;
}
if (isset($_POST["showJahresansicht"])) {
    $showJahresansicht = $_POST["showJahresansicht"];
} else {
    $showJahresansicht = false;
}
if (isset($_POST["showGesamtansicht"])) {
    $showGesamtansicht = $_POST["showGesamtansicht"];
} else {
    $showGesamtansicht = false;
}
$unterkunft_id = getSessionWert(UNTERKUNFT_ID);
$sprache = getSessionWert(SPRACHE);
$passwort = getSessionWert(PASSWORT);
$benutzername = getSessionWert(BENUTZERNAME);
setProperty(SHOW_MONATSANSICHT, $showMonatsansicht, $unterkunft_id, $link);
setProperty(SHOW_JAHRESANSICHT, $showJahresansicht, $unterkunft_id, $link);
setProperty(SHOW_GESAMTANSICHT, $showGesamtansicht, $unterkunft_id, $link);
//Dieser Satz muss noch in die Sprachtabellen eingefügt werden.
$nachricht = "Die Änderungen wurden erfolgreich durchgeführt!";
$nachricht = getUebersetzung($nachricht, $sprache, $link);
$fehler = false;
include_once "index.php";
Ejemplo n.º 7
0
$special_properties = array("email_address_1", "email_address_2", "email_address_3");
$i = 1;
while (!feof($fh)) {
    $line = fgetcsv($fh, CSV_MAX_LENGTH, CSV_DELIMITER, CSV_ENCLOSURE);
    if (!$line) {
        continue;
    }
    if ($i == 1 && defined('FIELD_NAMES') && FIELD_NAMES) {
        $i++;
        continue;
    }
    $props = array();
    //set "simple" properties
    foreach ($csv_mapping as $property => $cnt) {
        if (!in_array($property, $special_properties)) {
            setProperty($property, $line[$csv_mapping[$property]], $props, $properties);
        }
    }
    // set display name
    if (isset($csv_mapping["display_name"]) && isset($line[$csv_mapping["display_name"]])) {
        $name = to_windows1252($line[$csv_mapping["display_name"]]);
        $props[$properties["display_name"]] = $props[$properties["subject"]] = $props[$properties["fileas"]] = $name;
        $props[$properties["fileas_selection"]] = -1;
    } else {
        $props[$properties["display_name"]] = $props[$properties["subject"]] = $props[$properties["fileas"]] = "";
        if (isset($props[$properties["given_name"]])) {
            $props[$properties["display_name"]] .= $props[$properties["given_name"]];
            $props[$properties["subject"]] .= $props[$properties["given_name"]];
            $props[$properties["fileas"]] .= $props[$properties["given_name"]];
        }
        if (isset($props[$properties["surname"]])) {
include_once "../../../include/benutzerFunctions.php";
include_once "../../../include/unterkunftFunctions.php";
include_once "../../../include/filesAndFolders.php";
include_once "../../templates/components.php";
if ($active == true) {
    setProperty(ZIMMER_THUMBS_ACTIV, "true", $unterkunft_id, $link);
} else {
    setProperty(ZIMMER_THUMBS_ACTIV, "false", $unterkunft_id, $link);
}
if ($active2 == true) {
    setProperty(ZIMMER_THUMBS_AV_OV, "true", $unterkunft_id, $link);
} else {
    setProperty(ZIMMER_THUMBS_AV_OV, "false", $unterkunft_id, $link);
}
setProperty(BILDER_SUCHE_WIDTH, $width, $unterkunft_id, $link);
setProperty(BILDER_SUCHE_HEIGHT, $height, $unterkunft_id, $link);
$nachricht = "Die Einstellungen wurden erfolgreich geändert";
$nachricht = getUebersetzung($nachricht, $sprache, $link);
$nachricht .= ".";
$fehler = false;
//falls das upload-verzeichnis noch nicht vorhanden ist, muss es erzeugt werden:
$path = "../../../upload";
if (!hasDirectory($path)) {
    if (!phpMkDir($path)) {
        //file erzeugen war nicht erfolgreich
        $nachricht = "Das Upload Verzeichnis konnte nicht erstellt werden";
        $nachricht = getUebersetzung($nachricht, $sprache, $link);
        $nachricht .= ".";
        $fehler = false;
    }
}
            changeAttribut($att_id, $bezeichnung, $beschreibung);
        } else {
            $nachricht = "Die Bezeichnung muss eingegeben werden.";
            $nachricht = getUebersetzung($nachricht, $sprache, $link);
            $fehler = true;
        }
    }
    $bezeichnung = "";
    $beschreibung = "";
    if (isset($_POST["bezeichnung_neu"])) {
        $bezeichnung = $_POST["bezeichnung_neu"];
    }
    if (isset($_POST["beschreibung_neu"])) {
        $beschreibung = $_POST["beschreibung_neu"];
    }
    if (!empty($bezeichnung)) {
        setAttribute($bezeichnung, $beschreibung);
    }
    //in der gesamtübersicht anzeigen?
    $showInGesamtuebersicht = "false";
    if (isset($_POST["showInGesamtuebersicht"]) && $_POST["showInGesamtuebersicht"] == "true") {
        $showInGesamtuebersicht = "true";
    }
    setProperty(SHOW_ZIMMER_ATTRIBUTE_GESAMTUEBERSICHT, $showInGesamtuebersicht, $unterkunft_id, $link);
    if ($fehler != true) {
        $nachricht = "Die Attribute wurden erfolgreich gespeichert.";
        $nachricht = getUebersetzung($nachricht, $sprache, $link);
    }
    include_once "./attributeHinzufuegen.php";
    exit;
}
include_once "../../../include/benutzerFunctions.php";
include_once "../../../include/unterkunftFunctions.php";
include_once "../../templates/components.php";
include_once $root . "/include/propertiesFunctions.php";
setFramesizeLeftBP($unterkunft_id, $wertLeftBP, $artLeftBP, $link);
setFramesizeRightBP($unterkunft_id, $wertRightBP, $artRightBP, $link);
setFramesizeRightWI($unterkunft_id, $wertRightWI, $artRightWI, $link);
setFramesizeLeftWI($unterkunft_id, $wertLeftWI, $artLeftWI, $link);
$nachricht = "Die Framegrößen wurden erfolgreich geändert";
$nachricht = getUebersetzung($nachricht, $sprache, $link);
$nachricht .= ".";
$fehler = false;
if (isset($_POST["splitHorizontal"]) && $_POST["splitHorizontal"] == "true") {
    setProperty(HORIZONTAL_FRAME, "true", $unterkunft_id, $link);
} else {
    setProperty(HORIZONTAL_FRAME, "false", $unterkunft_id, $link);
}
include_once "../../templates/headerA.php";
?>
<style type="text/css">
<?php 
include_once $root . "/templates/stylesheetsIE9.php";
?>
</style>
<?php 
include_once "../../templates/headerB.php";
include_once "../../templates/bodyA.php";
//passwortprüfung:
if (checkPass($benutzername, $passwort, $unterkunft_id, $link)) {
    ?>
<p class="standardSchriftBold"><?php 
include_once "../../../include/benutzerFunctions.php";
include_once "../../../include/unterkunftFunctions.php";
include_once "../../templates/components.php";
if (isset($_POST["xDays"]) && $_POST["xDays"] > 0) {
    $xDays = "" . $_POST["xDays"];
} else {
    $xDays = "0";
}
if (isset($_POST["resAnzeigen"]) && $_POST["resAnzeigen"] == "true") {
    $resAnzeigen = "true";
} else {
    $resAnzeigen = "false";
}
if (isset($_POST["resHouse"]) && $_POST["resHouse"] == "true") {
    $resHouse = "true";
} else {
    $resHouse = "false";
}
$unterkunft_id = getSessionWert(UNTERKUNFT_ID);
$sprache = getSessionWert(SPRACHE);
$passwort = getSessionWert(PASSWORT);
$benutzername = getSessionWert(BENUTZERNAME);
//save the properties:
setProperty(RES_HOUSE, $resHouse, $unterkunft_id, $link);
setProperty(SHOW_RESERVATION_STATE, $resAnzeigen, $unterkunft_id, $link);
setProperty(RESERVATION_STATE_TIME, $xDays, $unterkunft_id, $link);
//Dieser Satz muss noch in die Sprachtabellen eingefügt werden.
$nachricht = "Die Änderungen wurden erfolgreich durchgeführt!";
$nachricht = getUebersetzung($nachricht, $sprache, $link);
$fehler = false;
include_once "index.php";
/**
setzt die default values:
author: coster
date: 28.8.05
change: 4.11.05, coster
*/
function setDefaultValues($unterkunft_id, $link)
{
    setProperty(ZIMMER_THUMBS_ACTIV, "false", $unterkunft_id, $link);
    setProperty(KINDER_SUCHE, "false", $unterkunft_id, $link);
    setProperty(HAUSTIERE_ALLOWED, "false", $unterkunft_id, $link);
    setProperty(LINK_SUCHE, "false", $unterkunft_id, $link);
    setProperty(SHOW_OTHER_COLOR_FOR_SA, "false", $unterkunft_id, $link);
    setProperty(SUCHFILTER_UNTERKUNFT, "true", $unterkunft_id, $link);
    setProperty(SUCHFILTER_ZIMMER, "false", $unterkunft_id, $link);
    //pensionswerte mit false vorbelegen:
    setProperty(PENSION_FRUEHSTUECK, "false", $unterkunft_id, $link);
    setProperty(PENSION_HALB, "false", $unterkunft_id, $link);
    setProperty(PENSION_VOLL, "false", $unterkunft_id, $link);
    setProperty(PENSION_UEBERNACHTUNG, "false", $unterkunft_id, $link);
    setProperty(SHOW_GESAMTANSICHT, "true", $unterkunft_id, $link);
    setProperty(SHOW_MONATSANSICHT, "true", $unterkunft_id, $link);
    setProperty(SHOW_JAHRESANSICHT, "true", $unterkunft_id, $link);
    setProperty(SHOW_RESERVATION_STATE, "false", $unterkunft_id, $link);
    setProperty(RESERVATION_STATE_TIME, "0", $unterkunft_id, $link);
    setProperty(ZIMMER_THUMBS_AV_OV, "false", $unterkunft_id, $link);
    setProperty(SEARCH_SHOW_PARENT_ROOM, "false", $unterkunft_id, $link);
    setProperty(RES_HOUSE, "true", $unterkunft_id, $link);
}
Ejemplo n.º 13
0
 function cleanUp($newIds, $ignorePrivate = false)
 {
     if (!hidePrivate() || $ignorePrivate) {
         if (count($newIds) > 0 && getConfig('rss.config.markreadonupdate')) {
             rss_query("update " . getTable("item") . " set unread = unread & " . SET_MODE_READ_STATE . " where unread & " . RSS_MODE_UNREAD_STATE . " and id not in (" . implode(",", $newIds) . ")");
         }
     }
     setProperty('__meta__', 'meta.lastupdate', 'misc', time());
     if (count($newIds) > 0) {
         rss_invalidate_cache();
     }
     rss_plugin_hook('rss.plugins.updates.after', null);
 }
Ejemplo n.º 14
0
function import($store, $csv_file, $delete_old_items, $categories)
{
    $folder = getContactsFolder($store);
    // open the csv file and start reading
    $fh = fopen($csv_file, "r");
    if (!$fh) {
        trigger_error("Can't read CSV file \"" . $csv_file . "\".", E_USER_ERROR);
    }
    // Delete all existing items if requested.
    if ($delete_old_items) {
        mapi_folder_emptyfolder($folder, DEL_ASSOCIATED);
        printf("Old items deleted.\n");
    }
    $properties = getProperties();
    $properties = replaceStringPropertyTags($store, $properties);
    //composed properties which require more work
    $special_properties = getSpecialPropertyNames();
    $csv_mapping = getMapping();
    $i = 1;
    while (!feof($fh)) {
        $line = fgetcsv($fh, CSV_MAX_LENGTH, CSV_DELIMITER, CSV_ENCLOSURE);
        // print_r($line);
        if (!$line) {
            continue;
        }
        if ($i == 1 && defined('FIELD_NAMES') && FIELD_NAMES) {
            $i++;
            continue;
        }
        $propValues = array();
        //set "simple" properties
        foreach ($csv_mapping as $property => $cnt) {
            if (!in_array($property, $special_properties)) {
                setProperty($property, $line[$csv_mapping[$property]], $propValues, $properties);
            }
        }
        // set display name
        if (isset($csv_mapping["display_name"]) && isset($line[$csv_mapping["display_name"]])) {
            $name = to_windows1252($line[$csv_mapping["display_name"]]);
            $propValues[$properties["display_name"]] = $propValues[$properties["subject"]] = $propValues[$properties["fileas"]] = $name;
            $propValues[$properties["fileas_selection"]] = -1;
        } else {
            $propValues[$properties["display_name"]] = $propValues[$properties["subject"]] = $propValues[$properties["fileas"]] = "";
            if (isset($propValues[$properties["given_name"]])) {
                $propValues[$properties["display_name"]] .= $propValues[$properties["given_name"]];
                $propValues[$properties["subject"]] .= $propValues[$properties["given_name"]];
            }
            if (isset($propValues[$properties["surname"]])) {
                if (strlen($propValues[$properties["display_name"]]) > 0) {
                    $propValues[$properties["display_name"]] .= " " . $propValues[$properties["surname"]];
                    $propValues[$properties["subject"]] .= " " . $propValues[$properties["surname"]];
                } else {
                    $propValues[$properties["display_name"]] .= $propValues[$properties["surname"]];
                    $propValues[$properties["subject"]] .= $propValues[$properties["surname"]];
                }
            }
            if (isset($propValues[$properties["surname"]])) {
                $propValues[$properties["fileas"]] .= $propValues[$properties["surname"]];
            }
            if (isset($propValues[$properties["given_name"]])) {
                if (strlen($propValues[$properties["fileas"]]) > 0) {
                    $propValues[$properties["fileas"]] .= ", " . $propValues[$properties["given_name"]];
                } else {
                    $propValues[$properties["fileas"]] .= $propValues[$properties["given_name"]];
                }
            }
        }
        $nremails = array();
        $abprovidertype = 0;
        if (isset($csv_mapping["email_address_1"]) && isset($line[$csv_mapping["email_address_1"]])) {
            setEmailAddress($line[$csv_mapping["email_address_1"]], $propValues[$properties["display_name"]], 1, $propValues, $properties, $nremails, $abprovidertype);
        }
        if (isset($csv_mapping["email_address_2"]) && isset($line[$csv_mapping["email_address_2"]])) {
            setEmailAddress($line[$csv_mapping["email_address_2"]], $propValues[$properties["display_name"]], 2, $propValues, $properties, $nremails, $abprovidertype);
        }
        if (isset($csv_mapping["email_address_3"]) && isset($line[$csv_mapping["email_address_3"]])) {
            setEmailAddress($line[$csv_mapping["email_address_3"]], $propValues[$properties["display_name"]], 3, $propValues, $properties, $nremails, $abprovidertype);
        }
        if (!empty($nremails)) {
            $propValues[$properties["address_book_mv"]] = $nremails;
        }
        $propValues[$properties["address_book_long"]] = $abprovidertype;
        //set addresses
        if (isset($csv_mapping["home_address_street2"])) {
            mergeStreet("home", $line[$csv_mapping["home_address_street2"]], $propValues, $properties);
        }
        if (isset($csv_mapping["home_address_street3"])) {
            mergeStreet("home", $line[$csv_mapping["home_address_street3"]], $propValues, $properties);
        }
        if (!isset($propValues[$properties["home_address"]]) && isset($propValues[$properties["home_address_street"]]) && isset($propValues[$properties["home_address_postal_code"]]) && isset($propValues[$properties["home_address_city"]]) && isset($propValues[$properties["home_address_state"]]) && isset($propValues[$properties["home_address_country"]])) {
            buildAddressString("home", $propValues[$properties["home_address_street"]], $propValues[$properties["home_address_postal_code"]], $propValues[$properties["home_address_city"]], $propValues[$properties["home_address_state"]], $propValues[$properties["home_address_country"]], $propValues, $properties);
        }
        if (isset($csv_mapping["business_address_street2"])) {
            mergeStreet("business", $line[$csv_mapping["business_address_street2"]], $propValues, $properties);
        }
        if (isset($csv_mapping["business_address_street3"])) {
            mergeStreet("business", $line[$csv_mapping["business_address_street3"]], $propValues, $properties);
        }
        if (!isset($propValues[$properties["business_address"]]) && isset($propValues[$properties["business_address_street"]]) && isset($propValues[$properties["business_address_postal_code"]]) && isset($propValues[$properties["business_address_city"]]) && isset($propValues[$properties["business_address_state"]]) && isset($propValues[$properties["business_address_country"]])) {
            buildAddressString("business", $propValues[$properties["business_address_street"]], $propValues[$properties["business_address_postal_code"]], $propValues[$properties["business_address_city"]], $propValues[$properties["business_address_state"]], $propValues[$properties["business_address_country"]], $propValues, $properties);
        }
        if (isset($csv_mapping["other_address_street2"])) {
            mergeStreet("other", $line[$csv_mapping["other_address_street2"]], $propValues, $properties);
        }
        if (isset($csv_mapping["other_address_street3"])) {
            mergeStreet("other", $line[$csv_mapping["other_address_street3"]], $propValues, $properties);
        }
        if (!isset($propValues[$properties["other_address"]]) && isset($propValues[$properties["other_address_street"]]) && isset($propValues[$properties["other_address_postal_code"]]) && isset($propValues[$properties["other_address_city"]]) && isset($propValues[$properties["other_address_state"]]) && isset($propValues[$properties["other_address_country"]])) {
            buildAddressString("other", $propValues[$properties["other_address_street"]], $propValues[$properties["other_address_postal_code"]], $propValues[$properties["other_address_city"]], $propValues[$properties["other_address_state"]], $propValues[$properties["other_address_country"]], $propValues, $properties);
        }
        if (isset($propValues[$properties["home_address"]])) {
            $propValues[$properties["mailing_address"]] = 1;
            setMailingAdress($propValues[$properties["home_address_street"]], $propValues[$properties["home_address_postal_code"]], $propValues[$properties["home_address_city"]], $propValues[$properties["home_address_state"]], $propValues[$properties["home_address_country"]], $propValues[$properties["home_address"]], $propValues, $properties);
        } elseif (isset($propValues[$properties["business_address"]])) {
            $propValues[$properties["mailing_address"]] = 2;
            setMailingAdress($propValues[$properties["business_address_street"]], $propValues[$properties["business_address_postal_code"]], $propValues[$properties["business_address_city"]], $propValues[$properties["business_address_state"]], $propValues[$properties["business_address_country"]], $propValues[$properties["business_address"]], $propValues, $properties);
        } elseif (isset($propValues[$properties["other_address"]])) {
            $propValues[$properties["mailing_address"]] = 3;
            setMailingAdress($propValues[$properties["other_address_street"]], $propValues[$properties["other_address_postal_code"]], $propValues[$properties["other_address_city"]], $propValues[$properties["other_address_state"]], $propValues[$properties["other_address_country"]], $propValues[$properties["other_address"]], $propValues, $properties);
        }
        if (isset($categories) && !empty($categories)) {
            setProperty("categories", $categories, $propValues, $properties);
        }
        // if the display name is set, then it is a valid contact: save it to the folder
        if (isset($propValues[$properties["display_name"]])) {
            $propValues[$properties["message_class"]] = "IPM.Contact";
            $propValues[$properties["icon_index"]] = "512";
            $message = mapi_folder_createmessage($folder);
            mapi_setprops($message, $propValues);
            mapi_savechanges($message);
            printf("New contact added: \"%s\".\n", $propValues[$properties["display_name"]]);
        }
        $i++;
    }
}
Ejemplo n.º 15
0
function rss_theme_set_config_override_option($config_key, $value, $theme = null, $media = null)
{
    setProperty(rss_theme_option_ref_obj_from_theme($theme, $media), rss_theme_config_override_option_name_mangle($config_key), 'theme', $value);
}
Ejemplo n.º 16
0
function add_channel($url, $folderid = 0, $title_ = null, $descr_ = null, $tags = null)
{
    if (!$url || strlen($url) <= 7) {
        return array(-2, "Invalid URL {$url}");
    }
    if (!is_numeric($folderid)) {
        return array(-2, "Invalid folderid {$folderid}");
    }
    $url = sanitize(str_replace('&amp;', '&', $url), RSS_SANITIZER_URL);
    $urlDB = rss_real_escape_string($url);
    //htmlentities($url);
    $res = rss_query("select count(*) as channel_exists from " . getTable("channels") . " where url='{$urlDB}'");
    list($channel_exists) = rss_fetch_row($res);
    if ($channel_exists > 0) {
        // fatal
        return array(-2, "Looks like you are already subscribed to this channel");
    }
    $res = rss_query("select 1+max(position) as np from " . getTable("channels"));
    list($np) = rss_fetch_row($res);
    if (!$np) {
        $np = "0";
    }
    // Here we go!
    //error_reporting(E_ALL);
    $old_level = error_reporting(E_ERROR);
    $rss = fetch_rss($url);
    error_reporting($old_level);
    if ($rss) {
        if ($title_) {
            $title = rss_real_escape_string($title_);
        } elseif (is_object($rss) && array_key_exists('title#', $rss->channel)) {
            if (array_key_exists('title', $rss->channel)) {
                $title = rss_real_escape_string($rss->channel['title']);
            } else {
                $title = " ";
            }
        } else {
            $title = "";
        }
        if (is_object($rss) && array_key_exists('link', $rss->channel)) {
            $siteurl = rss_real_escape_string(htmlentities($rss->channel['link']));
        } else {
            $siteurl = "";
        }
        $refreshinterval = 0;
        if (is_object($rss) && array_key_exists('syn', $rss->channel)) {
            $syn = $rss->channel['syn'];
            if (array_key_exists('updateperiod', $syn)) {
                if ("hourly" == $syn['updateperiod']) {
                    if (array_key_exists('updatefrequency', $syn)) {
                        $refreshinterval = 60 * $syn['updatefrequency'];
                    }
                }
            }
        }
        if ($descr_) {
            $descr = rss_real_escape_string($descr_);
        } elseif (is_object($rss) && array_key_exists('description', $rss->channel)) {
            $descr = rss_real_escape_string($rss->channel['description']);
        } else {
            $descr = "";
        }
        //lets see if this server has a favicon
        $icon = "";
        if (getConfig('rss.output.showfavicons')) {
            // if we got nothing so far, lets try to fall back to
            // favicons
            if ($icon == "" && $siteurl != "") {
                $match = get_host($siteurl, $host);
                $uri = "http://" . $host . "favicon.ico";
                if ($match && getContentType($uri, $contentType)) {
                    if (preg_match("/image\\/x-icon/", $contentType)) {
                        $icon = $uri;
                    }
                }
            }
        }
        $private = preg_match('|(https?://)([^:]+:[^@]+@)(.+)$|', $url);
        if ($title != "") {
            $title = strip_tags($title);
            $descr = strip_tags($descr);
            // add channel to root folder by default
            if (!$folderid) {
                $folderid = getRootFolder();
            }
            list($title, $urlDB, $siteurl, $folderid, $descr, $icon) = rss_plugin_hook('rss.plugins.feed.new', array($title, $urlDB, $siteurl, $folderid, $descr, $icon));
            $mode = RSS_MODE_UNREAD_STATE;
            if ($private) {
                $mode |= RSS_MODE_PRIVATE_STATE;
            }
            $sql = "insert into " . getTable("channels") . " (title, url, siteurl, parent, descr, dateadded, icon, position, mode, daterefreshed)" . " values ('{$title}', '{$urlDB}', '{$siteurl}', {$folderid}, '{$descr}', now(), '{$icon}', {$np}, {$mode}, '0000-00-00 00:00:00')";
            rss_query($sql);
            $newid = rss_insert_id();
            if ($icon && cacheFavicon($icon)) {
                rss_query("update " . getTable("channels") . " set icon='blob:" . $icon . "'" . " where id={$newid}");
            }
            if ($tags != "") {
                __exp__submitTag($newid, $tags, "'channel'");
            }
            if (false == empty($refreshinterval)) {
                setProperty($newid, 'rss.config.refreshinterval', $refreshinterval);
            }
            return array($newid, "");
        } else {
            // non-fatal, will look further
            return array(-1, "I'm sorry, I couldn't extract a valid RSS feed from <a href=\"{$url}\">{$url}</a>.");
        }
    } else {
        global $MAGPIE_ERROR;
        $retError = "I'm sorry, I couldn't retrieve <a href=\"{$url}\">{$url}</a>.";
        if ($MAGPIE_ERROR) {
            $retError .= "\n<br />{$MAGPIE_ERROR}\n";
        }
        // non-fatal, will look further
        return array(-1, $retError);
    }
}
     } else {
         setProperty(MAIL_KOPIE_AN_VERMIETER_BESTAETIGUNG, "false", $unterkunft_id, $link);
     }
 } else {
     if ($art == "ablehnung") {
         if ($ownMail) {
             setProperty(MAIL_KOPIE_AN_VERMIETER_ABLEHNUNG, "true", $unterkunft_id, $link);
         } else {
             setProperty(MAIL_KOPIE_AN_VERMIETER_ABLEHNUNG, "false", $unterkunft_id, $link);
         }
     } else {
         if ($art == "anfrage") {
             if ($ownMail) {
                 setProperty(MAIL_KOPIE_AN_VERMIETER_ANFRAGE, "true", $unterkunft_id, $link);
             } else {
                 setProperty(MAIL_KOPIE_AN_VERMIETER_ANFRAGE, "false", $unterkunft_id, $link);
             }
         }
     }
 }
 //Änderungen durchführen:
 changeMessage($unterkunft_id, $art, $subjectStandard, $textStandard, $unterschriftStandard, $anredeStandard, $link);
 //auch die anderen sprachen:
 setUebersetzungUnterkunft($subject_de, $subjectStandard, "de", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($subject_en, $subjectStandard, "en", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($subject_fr, $subjectStandard, "fr", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($subject_it, $subjectStandard, "it", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($subject_nl, $subjectStandard, "nl", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($subject_sp, $subjectStandard, "sp", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($subject_es, $subjectStandard, "es", $standardsprache, $unterkunft_id, $link);
 setUebersetzungUnterkunft($text_de, $textStandard, "de", $standardsprache, $unterkunft_id, $link);