]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #508 from fermionic/no-theme-control-of-live-update-location
authorfermionic <fermion@gmx.com>
Thu, 11 Oct 2012 00:34:28 +0000 (17:34 -0700)
committerfermionic <fermion@gmx.com>
Thu, 11 Oct 2012 00:34:28 +0000 (17:34 -0700)
allow themes to decide where live updates appear

15 files changed:
INSTALL.txt
boot.php
include/Photo.php
js/fk.autocomplete.js
mod/lockview.php
mod/manage.php
mod/notifications.php
mod/ping.php
util/messages.po
view/theme/frost-mobile/style.css
view/theme/frost-mobile/theme.php
view/theme/frost/default.php
view/theme/frost/style.css
view/theme/frost/theme.php
view/theme/frost/threaded_conversation.tpl [new file with mode: 0644]

index c36c846a18981f865ddf88b4594444a51589eebc..294c6c9dd3369d99fccea5eabaa8a8e4202aa31c 100644 (file)
@@ -51,6 +51,10 @@ php.ini file [or see 'poormancron' in section 8]
 directory/path component in the URL) is preferred. This is REQUIRED if
 you wish to communicate with the Diaspora network.
 
+
+       - For alternative server configurations (such as Nginx server and MariaDB 
+       database engine), refer to the wiki at https://github.com/friendica/friendica/wiki
+
 2. Unpack the Friendica files into the root of your web server document area.
 
        - If you copy the directory tree to your webserver, make sure
index d52607503c6d7af5fa255f0d3bf6821600a154a7..60a255add8415a4f50e4eeec0c929e60d7b45ec3 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -11,7 +11,7 @@ require_once('include/cache.php');
 require_once('library/Mobile_Detect/Mobile_Detect.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.0.1486' );
+define ( 'FRIENDICA_VERSION',      '3.0.1492' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
 define ( 'DB_UPDATE_VERSION',      1156      );
 
index 25a2b708038b2a935eea979dcb11e5ff3dbe82b7..ec967ac7498f3edc0d6bc5997f2e55850a1caf59 100644 (file)
@@ -129,11 +129,12 @@ class Photo {
                     $this->image->setCompressionQuality($quality);
             }
 
-            $this->width  = $this->image->getImageWidth();
+                       // The 'width' and 'height' properties are only used by non-Imagick routines.
+                       $this->width  = $this->image->getImageWidth();
                        $this->height = $this->image->getImageHeight();
                        $this->valid  = true;
 
-            return true;
+                       return true;
                }
 
                $this->valid = false;
@@ -205,8 +206,8 @@ class Photo {
         if(!$this->is_valid())
             return FALSE;
 
-        $width = $this->width;
-        $height = $this->height;
+        $width = $this->getWidth();
+        $height = $this->getHeight();
 
         $dest_width = $dest_height = 0;
 
@@ -263,24 +264,25 @@ class Photo {
 
 
         if($this->is_imagick()) {
-            /**
-             * If it is not animated, there will be only one iteration here,
-             * so don't bother checking
-             */
-            // Don't forget to go back to the first frame
-            $this->image->setFirstIterator();
-            do {
+                       /**
+                        * If it is not animated, there will be only one iteration here,
+                        * so don't bother checking
+                        */
+                       // Don't forget to go back to the first frame
+                       $this->image->setFirstIterator();
+                       do {
 
                                // FIXME - implement horizantal bias for scaling as in followin GD functions
                                // to allow very tall images to be constrained only horizontally. 
 
-                $this->image->scaleImage($dest_width, $dest_height);
-            } while ($this->image->nextImage());
+                               $this->image->scaleImage($dest_width, $dest_height);
+                       } while ($this->image->nextImage());
 
-                       // FIXME - also we need to copy the new dimensions to $this->height, $this->width as other functions
-                       // may rely on it.
+                       // These may not be necessary any more
+                       $this->width  = $this->image->getImageWidth();
+                       $this->height = $this->image->getImageHeight();
 
-            return;
+                       return;
         }
 
 
@@ -402,8 +404,8 @@ class Photo {
             return FALSE;
 
 
-        $width = $this->width;
-        $height = $this->height;
+        $width = $this->getWidth();
+        $height = $this->getHeight();
 
         $dest_width = $dest_height = 0;
 
@@ -483,19 +485,19 @@ class Photo {
         if(!$this->is_valid())
             return FALSE;
 
-        if($this->is_imagick()) {
-            $this->image->setFirstIterator();
-            do {
-                $this->image->cropImage($w, $h, $x, $y);
-                /**
-                 * We need to remove the canva,
-                 * or the image is not resized to the crop:
-                 * http://php.net/manual/en/imagick.cropimage.php#97232
-                 */
-                $this->image->setImagePage(0, 0, 0, 0);
-            } while ($this->image->nextImage());
-            return $this->scaleImage($max);
-        }
+               if($this->is_imagick()) {
+                       $this->image->setFirstIterator();
+                       do {
+                               $this->image->cropImage($w, $h, $x, $y);
+                               /**
+                                * We need to remove the canva,
+                                * or the image is not resized to the crop:
+                                * http://php.net/manual/en/imagick.cropimage.php#97232
+                                */
+                               $this->image->setImagePage(0, 0, 0, 0);
+                       } while ($this->image->nextImage());
+                       return $this->scaleImage($max);
+               }
 
         $dest = imagecreatetruecolor( $max, $max );
         imagealphablending($dest, false);
index b1db92c41447df473747736f08b68c8d856cad31..b1bc40be28b12f4bf99c418a044396120ee80c61 100644 (file)
@@ -104,7 +104,7 @@ ACPopup.prototype._search = function(){
                else {
                        txt = tinyMCE.activeEditor.getContent();
                        //                      alert(that.searchText + ':' + t);
-                       newtxt = txt.replace(that.searchText,t+' ');
+                       newtxt = txt.replace('@' + that.searchText,'@' + t +' ');
                        tinyMCE.activeEditor.setContent(newtxt);
                        tinyMCE.activeEditor.focus();
                        that.close();
index 0307103f87ab53dd3815fc1147efdc6c410f8b80..0ae54c8c125f92d07616113a7b52865e3d61fed1 100644 (file)
@@ -24,8 +24,13 @@ function lockview_content(&$a) {
        if(! count($r))
                killme();
        $item = $r[0];
-       if($item['uid'] != local_user())
+
+       call_hooks('lockview_content', $item);
+
+       if($item['uid'] != local_user()) {
+               echo t('Remote privacy information not available.') . '<br />';
                killme();
+       }
 
 
        if(($item['private'] == 1) && (! strlen($item['allow_cid'])) && (! strlen($item['allow_gid'])) 
index 4bc7a3baba9113860c1b2bf43a8e91deef8cd2ab..1b8e2f1e2c32a997ca0a704c312c55b6ca6aefd1 100644 (file)
@@ -75,7 +75,10 @@ function manage_post(&$a) {
        if($limited_id)
                $_SESSION['submanage'] = $original_id;
 
-       goaway($a->get_baseurl(true) . '/profile/' . $a->user['nickname']);
+       $ret = array();
+       call_hooks('home_init',$ret);
+
+       goaway( $a->get_baseurl() . "/profile/" . $a->user['nickname'] );
        // NOTREACHED
 }
 
index b28b1478d49a8ab0cc007a598fa0e41df13af7a5..88c0b938d63fb95143394131ccb35f5298330149 100644 (file)
@@ -229,7 +229,7 @@ function notifications_content(&$a) {
                                `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`, 
                                `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` 
                                FROM `item` INNER JOIN `item` as `pitem` ON  `pitem`.`id`=`item`.`parent`
-                               WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
+                               WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND `pitem`.`parent` != 0
                                 `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0 ORDER BY `item`.`created` DESC" ,
                        intval(local_user())
                );
index 9704fe7005a000ea56ec12377ae578d3978896e5..a5bf315b5bb6ecc530b090f976475337b59bfc77 100644 (file)
@@ -63,8 +63,8 @@ function ping_init(&$a) {
                                `item`.`contact-id`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`, 
                                `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` 
                                FROM `item` INNER JOIN `item` as `pitem` ON  `pitem`.`id`=`item`.`parent`
-                               WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
-                                `item`.`deleted` = 0 AND `item`.`uid` = %d 
+                               WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND 
+                                `item`.`deleted` = 0 AND `item`.`uid` = %d AND `pitem`.`parent` != 0
                                ORDER BY `item`.`created` DESC",
                        intval(local_user())
                );
index f770b636fab73eaa00f04f14ca96ee233c1e86fb..d535adce0dec963de6c2576bbf397dc42b15f7b4 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: 3.0.1486\n"
+"Project-Id-Version: 3.0.1492\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-10-04 10:00-0700\n"
+"POT-Creation-Date: 2012-10-10 10:00-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -148,7 +148,7 @@ msgstr ""
 #: ../../addon/randplace/randplace.php:177 ../../addon/dwpost/dwpost.php:93
 #: ../../addon/drpost/drpost.php:110 ../../addon/startpage/startpage.php:92
 #: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41
-#: ../../addon/forumlist/forumlist.php:164
+#: ../../addon/forumlist/forumlist.php:175
 #: ../../addon/impressum/impressum.php:83
 #: ../../addon/notimeline/notimeline.php:64 ../../addon/blockem/blockem.php:57
 #: ../../addon/qcomment/qcomment.php:61
@@ -5284,11 +5284,11 @@ msgid "%s - Click to open/close"
 msgstr ""
 
 #: ../../addon/page/page.php:62 ../../addon/page/page.php:92
-#: ../../addon/forumlist/forumlist.php:56
+#: ../../addon/forumlist/forumlist.php:60
 msgid "Forums"
 msgstr ""
 
-#: ../../addon/page/page.php:130 ../../addon/forumlist/forumlist.php:90
+#: ../../addon/page/page.php:130 ../../addon/forumlist/forumlist.php:94
 msgid "Forums:"
 msgstr ""
 
@@ -6133,30 +6133,34 @@ msgstr ""
 msgid "URL to embed:"
 msgstr ""
 
-#: ../../addon/forumlist/forumlist.php:59
+#: ../../addon/forumlist/forumlist.php:63
 msgid "show/hide"
 msgstr ""
 
-#: ../../addon/forumlist/forumlist.php:73
+#: ../../addon/forumlist/forumlist.php:77
 msgid "No forum subscriptions"
 msgstr ""
 
-#: ../../addon/forumlist/forumlist.php:126
+#: ../../addon/forumlist/forumlist.php:131
 msgid "Forumlist settings updated."
 msgstr ""
 
-#: ../../addon/forumlist/forumlist.php:151
+#: ../../addon/forumlist/forumlist.php:159
 msgid "Forumlist Settings"
 msgstr ""
 
-#: ../../addon/forumlist/forumlist.php:153
+#: ../../addon/forumlist/forumlist.php:161
 msgid "Randomise forum list"
 msgstr ""
 
-#: ../../addon/forumlist/forumlist.php:156
+#: ../../addon/forumlist/forumlist.php:164
 msgid "Show forums on profile page"
 msgstr ""
 
+#: ../../addon/forumlist/forumlist.php:167
+msgid "Show forums on network page"
+msgstr ""
+
 #: ../../addon/impressum/impressum.php:37
 msgid "Impressum"
 msgstr ""
index 40aa5768e324b632238a27fdc11ca5f7369426b1..15b9fa8d6e3ed8fa6432e7426816e741f5993f01 100644 (file)
@@ -1140,8 +1140,11 @@ input#dfrn-url {
        margin-top: 10px;\r
 }\r
 \r
+.toplevel_item {\r
+       margin-bottom: 60px;\r
+}\r
+\r
 .wall-item-content-wrapper {\r
-       margin-top: 60px;\r
        padding-top: 30px;\r
        border-top: 2px solid #AAAAAA;\r
        position: relative;\r
@@ -1238,9 +1241,6 @@ input#dfrn-url {
     top: 80px;\r
 /*    z-index: 100;*/\r
 }\r
-.wall-item-wrapper {\r
-       margin-left:10px;\r
-}\r
 .wall-item-lock {\r
        margin-top: 30px;\r
        left: 105px;\r
@@ -1395,6 +1395,7 @@ input#dfrn-url {
 .wall-item-body {\r
        text-align: justify;\r
        float: left;\r
+       clear: left;\r
 /*     width: 300px;*/\r
        overflow: hidden;\r
        margin-top: 10px;\r
@@ -3289,6 +3290,11 @@ aside input[type='text'] {
        margin-top: 10px;\r
 }\r
 \r
+.filesavetags, .categorytags {\r
+       display: block;\r
+       clear: left;\r
+}\r
+\r
 .body-tag, .filesavetags, .categorytags {\r
        opacity: 0.5;\r
        filter:alpha(opacity=50);\r
index 7d95fc8884eb39eabf9a2c9680736049aab89403..b934522c6d63c60f33254a6c04780342a20b93fc 100644 (file)
@@ -4,7 +4,7 @@
  * Name: Frost--mobile version
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.14
+ * Version: Version 0.2.15
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */
index cf30e1fcab3bbf506e2ad5a6c8e8847c62d5d26e..06ca40c17451128bbee785f4498726606657ef48 100644 (file)
                <!--<div class='main-content-loading'><img src="/view/theme/frost/images/ajax-loader.gif" alt="Please wait..."></div>-->\r
                <div class='main-content-container'>\r
                <aside><?php if(x($page,'aside')) echo $page['aside']; ?></aside>\r
-               <div class='section-wrapper'>\r
                <section><?php if(x($page,'content')) echo $page['content']; ?>\r
                        <div id="page-footer"></div>\r
                </section>\r
-               </div>\r
                <right_aside><?php if(x($page,'right_aside')) echo $page['right_aside']; ?></right_aside>\r
                <footer><?php if(x($page,'footer')) echo $page['footer']; ?></footer>\r
                </div>\r
index de454ce74589c934fe1e4ce0952af64fcab4e024..c12e14de74ac209aff27a08b518b4faa7f6c2fb1 100644 (file)
@@ -78,9 +78,10 @@ blockquote {
 }
 
 .hide-comments-outer {
-       margin-left: 0px;
+       margin-left: 75px;
        font-weight: 700;
        opacity: 0.4;
+       border-bottom: 1px solid #AAA;
 }
 .hide-comments-outer:hover {
        opacity: 1.0;
@@ -297,37 +298,29 @@ aside {
 }
 
 /* section */
-div.section-wrapper {
+section {
        width: 565px;
 
-       margin-left: auto;
-       margin-right: auto;
-
-       padding-right:2em;
-
        display: block;
 
-       background-color: #ffffff;
-       background-image: url(border.jpg);
-       background-position: top right;
-       background-repeat: no-repeat;
-}
-
-section {
-       margin: 0px 0px 0px 0px;
-
-       width: 100%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top: 0px;
+       margin-bottom: 0px;
 
        padding-left: 1em;
        padding-right: 1em;
        padding-top: 1em;
 
-       background-image: url(border.jpg);
+       background-color: #ffffff;
+/*     background-image: url(border.jpg);
        background-position: top left;
-       background-repeat: no-repeat;
+       background-repeat: no-repeat;*/
 
        min-height: 112px;
-       border-top: 1px solid #babdb6;  
+       border-top: 1px solid #babdb6;
+       border-left: 1px dotted #AAA;
+       border-right: 1px dotted #AAA;
 }
 
 .tabs {
@@ -1104,8 +1097,11 @@ input#dfrn-url {
        margin-top: 10px;
 }
 
+.toplevel_item {
+       margin-bottom: 40px;
+}
+
 .wall-item-content-wrapper {
-       margin-top: 60px;
        padding-top: 30px;
        border-top: 2px solid #AAA;
        position: relative;
@@ -1114,8 +1110,8 @@ input#dfrn-url {
 
 .wall-item-content-wrapper.comment {
        margin-top: 10px;
-       padding-top: none;
-       margin-left: 50px;
+       padding-top: 0px;
+       margin-left: 75px;
        border: none;
 }
 
@@ -1124,12 +1120,18 @@ input#dfrn-url {
        margin-left: 0px;
        opacity: 0.4;
 }
+.wall-item-dislike {
+       margin-bottom: 15px;
+}
 .wall-item-like:hover, .wall-item-dislike:hover {
        opacity: 1.0;
 }
 
 .wall-item-like.comment, .wall-item-dislike.comment {
-       margin-left: 50px;
+       margin-left: 75px;
+}
+.wall-item-dislike.comment {
+       margin-bottom: 0px;
 }
 
 .wall-item-info {
@@ -1176,8 +1178,8 @@ input#dfrn-url {
 .wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
 
 
-.comment .wall-item-photo-menu-button {        /*top: 44px;*/ top: 64px;}
-.comment .wall-item-photo-menu { /*top: 60px;*/ top: 80px; }
+.comment .wall-item-photo-menu-button {        /*top: 44px;*/ top: 34px;}
+.comment .wall-item-photo-menu { /*top: 60px;*/ top: 50px; }
 
 .wallwall .wwto {
     left: 50px;
@@ -1201,9 +1203,6 @@ input#dfrn-url {
     top: 70px;
     z-index: 100;
 }
-.wall-item-wrapper {
-       margin-left:10px;
-}
 .wall-item-lock {
        margin-top: 30px;
        left: 105px;
@@ -1212,6 +1211,7 @@ input#dfrn-url {
 }
 .comment .wall-item-lock {
        left: 65px;
+       margin-top: 0px;
 }
 
 .wall-item-ago {
@@ -1349,6 +1349,7 @@ input#dfrn-url {
 .wall-item-body {
        text-align: justify;
        float: left;
+       clear: left;
        /*width: 450px;*/
        width: 100%;
        margin-top: 10px;
@@ -1364,28 +1365,23 @@ input#dfrn-url {
 
 .wall-item-tools {
        clear: both;
-/*     background-image: url("head.jpg");
-       background-position: 0 -20px;
-       background-repeat: repeat-x;*/
+
        margin-top: 10px;
        margin-left: 0px;
-       margin-bottom: 7px;
-/*     padding: 5px 10px 0px;*/
-       padding: 5px 10px 0px 2px;
-       height: 28px;
+       padding: 10px 10px 0px 2px;
+
+       height: 22px;
+
        border-bottom: 1px solid #ddd;
 }
 .wall-item-author {
-/*     margin-top: 10px;*/
        margin-top: 0px;
 }
 
 .comment .wall-item-tools {
-/*     background:none;*/
-/*     background-image: url("head.jpg");
-       background-position: 0 -20px;
-       background-repeat: repeat-x;*/
        margin-left: 0px;
+       margin-top: 0px;
+       padding-top: 0px;
 } 
 
 .comment-edit-wrapper {
@@ -1398,7 +1394,7 @@ input#dfrn-url {
        display: block;
        margin-top: 15px;
        background: #f3f3f3;
-       margin-left: 50px;
+       margin-left: 75px;
 }
 
 .comment-wwedit-wrapper.comment {
@@ -3098,6 +3094,11 @@ aside input[type='text'] {
        margin-top: 10px;
 }
 
+.filesavetags, .categorytags {
+       display: block;
+       clear: left;
+}
+
 .body-tag, .filesavetags, .categorytags {
        opacity: 0.5;
        filter:alpha(opacity=50);
@@ -3121,8 +3122,20 @@ aside input[type='text'] {
 }
 
 
-#item-delete-selected {
+#item-delete-selected-top {
        margin-top: 30px;
+       padding-bottom: 1.5em;
+}
+#item-delete-selected-top-icon, #item-delete-selected-top-desc {
+       float: left;
+       margin-right: 5px;
+}
+#item-delete-selected-top-desc:hover {
+       text-decoration: underline;
+}
+
+#item-delete-selected {
+       margin-top: 0px;
 }
 
 #item-delete-selected-end {
index 4ab65198867ed89f4ef88e39733324e7306c5fda..a3d4b0ac9609c63de435243fac1b783ffdb9eb1d 100644 (file)
@@ -4,7 +4,7 @@
  * Name: Frost
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.2.12
+ * Version: Version 0.3
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */
diff --git a/view/theme/frost/threaded_conversation.tpl b/view/theme/frost/threaded_conversation.tpl
new file mode 100644 (file)
index 0000000..1e77f91
--- /dev/null
@@ -0,0 +1,22 @@
+{{ if $dropping }}
+<div id="item-delete-selected-top" class="fakelink" onclick="deleteCheckedItems();">
+  <div id="item-delete-selected-top-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
+  <div id="item-delete-selected-top-desc" >$dropping</div>
+</div>
+{{ endif }}
+
+$live_update
+
+{{ for $threads as $item }}
+{{ inc $item.template }}{{ endinc }}
+{{ endfor }}
+
+<div id="conversation-end"></div>
+
+{{ if $dropping }}
+<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
+  <div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
+  <div id="item-delete-selected-desc" >$dropping</div>
+</div>
+<div id="item-delete-selected-end"></div>
+{{ endif }}