]> git.mxchange.org Git - friendica-addons.git/commitdiff
Fix problems when friendica is installed in a subpath; small CSS-Fixes
authorfriendica <friendica@projekte.animexx.de>
Mon, 4 Jun 2012 17:18:20 +0000 (19:18 +0200)
committerfriendica <friendica@projekte.animexx.de>
Mon, 4 Jun 2012 17:18:20 +0000 (19:18 +0200)
dav/calendar.friendica.fnk.php
dav/common/calendar.fnk.php
dav/common/wdcal_cal_source.inc.php
dav/common/wdcal_cal_source_private.inc.php
dav/layout.fnk.php
dav/main.php
dav/wdcal/css/calendar.css
dav/wdcal_cal_source_friendicaevents.inc.php

index 38406e0b39e98f990581d52037dc5c98ef0c5f07..43417fc943690fbd5d567f29504de66eee4ed3f9 100644 (file)
@@ -1,8 +1,15 @@
 <?php
 
+$a = get_app();
+$uri = parse_url($a->get_baseurl());
+$path = "";
+if (strlen($uri["path"]) > 1) {
+       $path = $uri["path"] . "/";
+}
+
 define("CALDAV_SQL_DB", "");
 define("CALDAV_SQL_PREFIX", "dav_");
-define("CALDAV_URL_PREFIX", "dav/");
+define("CALDAV_URL_PREFIX", $path . "dav/");
 
 define("CALDAV_NAMESPACE_PRIVATE", 1);
 define("CALDAV_NAMESPACE_FRIENDICA_NATIVE", 2);
index 2d899b4750466a7466046d7df2999cd3b58955c0..51b7f5e036e61da3953ed68dedf536fdd4142013 100644 (file)
@@ -480,7 +480,7 @@ function wdcal_get_list_range_params($day, $weekstartday, $num_days, $type)
 /**
  *
  */
-function wdcal_print_feed()
+function wdcal_print_feed($base_path = "")
 {
        $user_id = dav_compat_get_curr_user_id();
        $cals    = array();
@@ -538,7 +538,7 @@ function wdcal_print_feed()
                        $ret['error']  = null;
 
                        foreach ($cals as $c) {
-                               $events        = $c->listItemsByRange($date[0], $date[1]);
+                               $events        = $c->listItemsByRange($date[0], $date[1], $base_path);
                                $ret["events"] = array_merge($ret["events"], $events);
                        }
 
index dafc2b5c65b256f1aad02c0c111a37b27e9fa933..9db3402216b98e8cffacf7dc3b5c4ea8d49663f7 100644 (file)
@@ -113,9 +113,10 @@ abstract class AnimexxCalSource
         * @abstract
         * @param string $sd
         * @param string $ed
+        * @param string $base_path
         * @return array
         */
-       public abstract function listItemsByRange($sd, $ed);
+       public abstract function listItemsByRange($sd, $ed, $base_path);
 
 
        /**
@@ -134,4 +135,4 @@ abstract class AnimexxCalSource
                return null;
        }
 
-}
\ No newline at end of file
+}
index 46563389965de0b32ad741e4a16d23fef5c6d261..cb5918e183a11dd4c675050695e51836f91b9ca4 100644 (file)
@@ -249,7 +249,7 @@ class AnimexxCalSourcePrivate extends AnimexxCalSource
                return $obj_id . ".ics";
        }
 
-       private function jqcal2wdcal($row, $usr_id) {
+       private function jqcal2wdcal($row, $usr_id, $base_path) {
                $evo             = new DBClass_friendica_jqcalendar($row);
                $not             = q("SELECT COUNT(*) num FROM %s%snotifications WHERE `ical_uri` = '%s' AND `ical_recurr_uri` = '%s'",
                        CALDAV_SQL_DB, CALDAV_SQL_PREFIX, dbesc($row["ical_uri"]), $row["ical_recurr_uri"]
@@ -274,8 +274,8 @@ class AnimexxCalSourcePrivate extends AnimexxCalSource
                        "location"          => $evo->Location,
                        "attendees"         => '',
                        "has_notification"  => ($not[0]["num"] > 0 ? 1 : 0),
-                       "url_detail"        => "/dav/wdcal/" . $evo->ical_uri . "/",
-                       "url_edit"          => "/dav/wdcal/" . $evo->ical_uri . "/edit/",
+                       "url_detail"        => $base_path . $evo->ical_uri . "/",
+                       "url_edit"          => $base_path . $evo->ical_uri . "/edit/",
                        "special_type"      => "",
                );
                return $arr;
@@ -284,9 +284,10 @@ class AnimexxCalSourcePrivate extends AnimexxCalSource
        /**
         * @param string $sd
         * @param string $ed
+        * @param string $base_path
         * @return array
         */
-       public function listItemsByRange($sd, $ed)
+       public function listItemsByRange($sd, $ed, $base_path)
        {
 
                $usr_id = IntVal($this->calendarDb->uid);
@@ -300,7 +301,7 @@ class AnimexxCalSourcePrivate extends AnimexxCalSource
                        $usr_id, $this->getNamespace(), $this->namespace_id, dbesc($von), dbesc($bis));
 
                $events = array();
-               foreach ($evs as $row) $events[] = $this->jqcal2wdcal($row, $usr_id);
+               foreach ($evs as $row) $events[] = $this->jqcal2wdcal($row, $usr_id, $base_path);
 
                return $events;
        }
index 10bf57efc5e4e6f40dadf6302261612d499da4d0..a712a09bc98059ce68a3909a90e1afb148d97915 100644 (file)
@@ -96,7 +96,7 @@ function wdcal_printCalendar($calendars, $calendar_preselected, $data_feed_url,
                $x .= '<label style="margin-left: 10px; margin-right: 10px;"><input type="checkbox" name="cals[]" value="' . $cal["ns"] . '-' . $cal["id"] . '"';
                $found = false;
                foreach ($calendar_preselected as $pre) if ($pre["ns"] == $cal["ns"] && $pre["id"] == $cal["id"]) $found = true;
-               if ($found) $x .= 'checked';
+               if ($found) $x .= ' checked';
                $x .= '> ' . escape_tags($cal["displayname"]) . '</label> ';
        }
 
@@ -109,7 +109,7 @@ function wdcal_printCalendar($calendars, $calendar_preselected, $data_feed_url,
 
                $x .= '<div class="ctoolbar">
                <div class="fbutton faddbtn" style="float: right;">
-                       <div><a href="/dav/settings/"><span>' . t("Settings") . ' / ' . t("Help") . '</span></a></div>
+                       <div><a href="' . $a->get_baseurl() . '/dav/settings/"><span>' . t("Settings") . ' / ' . t("Help") . '</span></a></div>
                </div>
                <div class="btnseparator"></div>
                <div class="fbutton showtodaybtn">
@@ -191,7 +191,7 @@ function wdcal_getDetailPage($uri, $recurr_uri)
                        $details = $cs->getItemByUri($uri);
                } catch (Exception $e) {
                        notification(t("Error") . ": " . $e);
-                       goaway("/dav/wdcal/");
+                       goaway($a->get_baseurl() . "/dav/wdcal/");
                }
        }
 
@@ -211,7 +211,7 @@ function wdcal_postEditPage($uri, $recurr_uri)
        $a            = get_app();
        $localization = wdcal_local::getInstanceByUser($a->user["uid"]);
 
-       check_form_security_token_redirectOnErr("/dav/wdcal/", "caledit");
+       check_form_security_token_redirectOnErr($a->get_baseurl() . "/dav/wdcal/", "caledit");
 
        if (isset($_REQUEST["allday"])) {
                $start    = $localization->date_parseLocal($_REQUEST["start_date"] . " 00:00");
@@ -236,7 +236,7 @@ function wdcal_postEditPage($uri, $recurr_uri)
                } catch (Exception $e) {
                        notification(t("Error") . ": " . $e);
                }
-               goaway("/dav/wdcal/");
+               goaway($a->get_baseurl() . "/dav/wdcal/");
        }
 
 }
@@ -323,8 +323,8 @@ function wdcal_getEditPage($uri, $recurr_uri)
        }
 
 
-       $out = "<a href='/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
-       $out .= "<form method='POST' action='/dav/wdcal/$uri/edit/'><input type='hidden' name='form_security_token' value='" . get_form_security_token('caledit') . "'>\n";
+       $out = "<a href='" . $a->get_baseurl() . "/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
+       $out .= "<form method='POST' action='" . $a->get_baseurl() . "/dav/wdcal/$uri/edit/'><input type='hidden' name='form_security_token' value='" . get_form_security_token('caledit') . "'>\n";
 
        $out .= "<label for='cal_subject'>Subject:</label>
                <input name='color' id='cal_color' value='" . (strlen($event["Color"]) != 7 ? "#5858ff" : escape_tags($event["Color"])) . "'>
@@ -389,19 +389,19 @@ function wdcal_getSettingsPage(&$a)
        }
 
        if (isset($_REQUEST["save"])) {
-               check_form_security_token_redirectOnErr('/dav/settings/', 'calprop');
+               check_form_security_token_redirectOnErr($a->get_baseurl() . '/dav/settings/', 'calprop');
                set_pconfig($a->user["uid"], "dav", "dateformat", $_REQUEST["wdcal_date_format"]);
                info(t('The new values have been saved.'));
        }
 
        $o = "";
 
-       $o .= "<a href='/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
+       $o .= "<a href='" . $a->get_baseurl() . "/dav/wdcal/'>" . t("Go back to the calendar") . "</a><br><br>";
 
        $o .= '<h3>' . t('Calendar Settings') . '</h3>';
 
        $current_format = wdcal_local::getInstanceByUser($a->user["uid"]);
-       $o .= '<form method="POST" action="/dav/settings/">';
+       $o .= '<form method="POST" action="' . $a->get_baseurl() . '/dav/settings/">';
        $o .= "<input type='hidden' name='form_security_token' value='" . get_form_security_token('calprop') . "'>\n";
 
        $o .= '<label for="wdcal_date_format">' . t('Date format') . ':</label><select name="wdcal_date_format" id="wdcal_date_format" size="1">';
@@ -441,7 +441,7 @@ function wdcal_getSettingsPage(&$a)
        <li>Add a new account</li>
        <li>Other...</li>
        <li>Calendar -> CalDAV-Account</li>
-       <li><b>Server:</b> " . $a->get_hostname() . "/dav/ / <b>Username/Password:</b> <em>the same as your friendica-login</em></li>
+       <li><b>Server:</b> " . $a->get_baseurl() . "/dav/ / <b>Username/Password:</b> <em>the same as your friendica-login</em></li>
        </ul>";
 
        $o .= '<h4>' . t('Synchronizing your Friendica-Contacts with the iPhone') . '</h4>';
@@ -452,7 +452,7 @@ function wdcal_getSettingsPage(&$a)
        <li>Add a new account</li>
        <li>Other...</li>
        <li>Contacts -> CardDAV-Account</li>
-       <li><b>Server:</b> " . $a->get_hostname() . "/dav/ / <b>Username/Password:</b> <em>the same as your friendica-login</em></li>
+       <li><b>Server:</b> " . $a->get_baseurl() . "/dav/ / <b>Username/Password:</b> <em>the same as your friendica-login</em></li>
        </ul>";
 
        return $o;
index bc5aeab022bee752ad56870a597faa20a337a687..b71ef61965512f4b00a9c611df035ae8a3b6bf10 100644 (file)
@@ -29,9 +29,6 @@ function dav_module()
 function dav_init(&$a)
 {
 
-       error_reporting(E_ALL);
-       ini_set("display_errors", 1);
-
        /*
         * Recommended settings:
         * ALTER TABLE `photo` ADD INDEX ( `contact-id` )
@@ -91,7 +88,7 @@ function dav_init(&$a)
        if ($a->argc >= 2 && $a->argv[1] == "wdcal") {
 
                if ($a->argc >= 3 && $a->argv[2] == "feed") {
-                       wdcal_print_feed();
+                       wdcal_print_feed($a->get_baseurl() . "/dav/wdcal/");
                        killme();
                } elseif ($a->argc >= 3 && strlen($a->argv[2]) > 0) {
                        wdcal_addRequiredHeadersEdit();
@@ -133,7 +130,8 @@ function dav_init(&$a)
 // The object tree needs in turn to be passed to the server class
        $server = new Sabre_DAV_Server($tree);
 
-       $server->setBaseUri("/" . CALDAV_URL_PREFIX);
+       $url = parse_url($a->get_baseurl());
+       $server->setBaseUri(CALDAV_URL_PREFIX);
 
        $authPlugin = new Sabre_DAV_Auth_Plugin($authBackend, 'SabreDAV');
        $server->addPlugin($authPlugin);
@@ -186,7 +184,7 @@ function dav_content()
                        $cals      = dav_getMyCals($a->user["uid"]);
                        $cals_show = array();
                        foreach ($cals as $e) $cals_show[] = array("ns" => $e->namespace, "id" => $e->namespace_id, "displayname" => $e->displayname);
-                       $x = wdcal_printCalendar($cals, $cals_show, "/dav/wdcal/feed/", "week", 0, 200);
+                       $x = wdcal_printCalendar($cals, $cals_show, $a->get_baseurl() . "/dav/wdcal/feed/", "week", 0, 200);
                }
        }
        return $x;
@@ -223,7 +221,7 @@ function dav_profile_tabs_hook(&$a, &$b)
 {
        $b["tabs"][] = array(
        "label" => t('Calendar'),
-               "url" => "/dav/wdcal/",
+               "url" => $a->get_baseurl() . "/dav/wdcal/",
                "sel" => "",
                "title" => t('Extended calendar with CalDAV-support'),
        );
@@ -281,4 +279,4 @@ function dav_plugin_admin(&$a, &$o)
        $tables = dav_get_create_statements();
        foreach ($tables as $t) $o .= escape_tags($t . "\n\n");
        $o .= "</pre></blockquote>";
-}
\ No newline at end of file
+}
index 6e7a08f8545ca40c939c68b387c8b16eef7277d0..0f82e9ea880aaa15562e1f79f7318545fde69a7e 100644 (file)
@@ -515,8 +515,10 @@ border-bottom:2px solid #c3c3ff;
        position: absolute; visibility: hidden; font-size: 9pt; top: 0px; left: 0px\r
 }\r
 .bubble-table {\r
-       width: 100%; TABLE-LAYOUT: fixed\r
+       width: 100%; TABLE-LAYOUT: fixed;\r
+       border-spacing: 0;\r
 }\r
+.bubble-table > tbody > tr > td { padding: 0; }\r
 .bubble-cell-side {\r
        width: 25px\r
 }\r
@@ -685,4 +687,4 @@ border-bottom:2px solid #c3c3ff;
 .monthdayshow:hover\r
 {\r
     text-decoration:underline;\r
-}
\ No newline at end of file
+}\r
index 7acdf89a9e4c3f737c29b85d661c8c018878944f..ed44bf965e79ae59b71932a6d0539cc5be521a87 100644 (file)
@@ -85,6 +85,7 @@ class FriendicaCalSourceEvents extends AnimexxCalSource
                $end = wdcal_mySql2PhpTime($row["data_end"]);
                if ($row["data_allday"]) $end--;
                $start = wdcal_mySql2PhpTime($row["data_start"]);
+               $a = get_app();
                $arr             = array(
                        "uri"               => $row["data_uri"],
                        "subject"           => escape_tags($row["data_subject"]),
@@ -99,7 +100,7 @@ class FriendicaCalSourceEvents extends AnimexxCalSource
                        "location"          => $row["data_location"],
                        "attendees"         => '',
                        "has_notification"  => false,
-                       "url_detail"        => "/dav/wdcal/" . $row["data_uri"] . "/",
+                       "url_detail"        => $a->get_baseurl() . "/dav/wdcal/" . $row["data_uri"] . "/",
                        "url_edit"          => "",
                        "special_type"      => ($row["data_type"] == "birthday" ? "birthday" : ""),
                );
@@ -109,9 +110,10 @@ class FriendicaCalSourceEvents extends AnimexxCalSource
        /**
         * @param string $sd
         * @param string $ed
+        * @param string $base_path
         * @return array
         */
-       public function listItemsByRange($sd, $ed)
+       public function listItemsByRange($sd, $ed, $base_path)
        {
                $usr_id = IntVal($this->calendarDb->uid);
 
@@ -149,8 +151,9 @@ class FriendicaCalSourceEvents extends AnimexxCalSource
        public function getItemDetailRedirect($uri) {
                $x = explode("@", $uri);
                $y = explode("-", $x[0]);
+               $a = get_app();
                if (count($y) != 3) {
-                       goaway("/dav/wdcal/");
+                       goaway($a->get_baseurl() . "/dav/wdcal/");
                        killme();
                }
                $a = get_app();