]> git.mxchange.org Git - friendica.git/commitdiff
new file: view/theme/smoothly/js/jquery.ae.image.resize.js
authorpixelroot <info@pixelbits.de>
Sat, 8 Sep 2012 06:54:18 +0000 (08:54 +0200)
committerpixelroot <info@pixelbits.de>
Sat, 8 Sep 2012 06:54:18 +0000 (08:54 +0200)
new file:   view/theme/smoothly/js/jquery.ae.image.resize.min.js
modified:   view/theme/smoothly/theme.php

view/theme/smoothly/js/jquery.ae.image.resize.js [new file with mode: 0644]
view/theme/smoothly/js/jquery.ae.image.resize.min.js [new file with mode: 0644]
view/theme/smoothly/theme.php

diff --git a/view/theme/smoothly/js/jquery.ae.image.resize.js b/view/theme/smoothly/js/jquery.ae.image.resize.js
new file mode 100644 (file)
index 0000000..bac09cd
--- /dev/null
@@ -0,0 +1,69 @@
+(function( $ ) {
+
+  $.fn.aeImageResize = function( params ) {
+
+    var aspectRatio = 0
+      // Nasty I know but it's done only once, so not too bad I guess
+      // Alternate suggestions welcome :)
+      ,        isIE6 = $.browser.msie && (6 == ~~ $.browser.version)
+      ;
+
+    // We cannot do much unless we have one of these
+    if ( !params.height && !params.width ) {
+      return this;
+    }
+
+    // Calculate aspect ratio now, if possible
+    if ( params.height && params.width ) {
+      aspectRatio = params.width / params.height;
+    }
+
+    // Attach handler to load
+    // Handler is executed just once per element
+    // Load event required for Webkit browsers
+    return this.one( "load", function() {
+
+      // Remove all attributes and CSS rules
+      this.removeAttribute( "height" );
+      this.removeAttribute( "width" );
+      this.style.height = this.style.width = "";
+
+      var imgHeight = this.height
+        , imgWidth = this.width
+        , imgAspectRatio = imgWidth / imgHeight
+        , bxHeight = params.height
+        , bxWidth = params.width
+        , bxAspectRatio = aspectRatio;
+                               
+      // Work the magic!
+      // If one parameter is missing, we just force calculate it
+      if ( !bxAspectRatio ) {
+        if ( bxHeight ) {
+          bxAspectRatio = imgAspectRatio + 1;
+        } else {
+          bxAspectRatio = imgAspectRatio - 1;
+        }
+      }
+
+      // Only resize the images that need resizing
+      if ( (bxHeight && imgHeight > bxHeight) || (bxWidth && imgWidth > bxWidth) ) {
+
+        if ( imgAspectRatio > bxAspectRatio ) {
+          bxHeight = ~~ ( imgHeight / imgWidth * bxWidth );
+        } else {
+          bxWidth = ~~ ( imgWidth / imgHeight * bxHeight );
+        }
+
+        this.height = bxHeight;
+        this.width = bxWidth;
+      }
+    })
+    .each(function() {
+
+      // Trigger load event (for Gecko and MSIE)
+      if ( this.complete || isIE6 ) {
+        $( this ).trigger( "load" );
+      }
+    });
+  };
+})( jQuery );
\ No newline at end of file
diff --git a/view/theme/smoothly/js/jquery.ae.image.resize.min.js b/view/theme/smoothly/js/jquery.ae.image.resize.min.js
new file mode 100644 (file)
index 0000000..16c30b1
--- /dev/null
@@ -0,0 +1 @@
+(function(d){d.fn.aeImageResize=function(a){var i=0,j=d.browser.msie&&6==~~d.browser.version;if(!a.height&&!a.width)return this;if(a.height&&a.width)i=a.width/a.height;return this.one("load",function(){this.removeAttribute("height");this.removeAttribute("width");this.style.height=this.style.width="";var e=this.height,f=this.width,g=f/e,b=a.height,c=a.width,h=i;h||(h=b?g+1:g-1);if(b&&e>b||c&&f>c){if(g>h)b=~~(e/f*c);else c=~~(f/e*b);this.height=b;this.width=c}}).each(function(){if(this.complete||j)d(this).trigger("load")})}})(jQuery);
\ No newline at end of file
index e28cc811f57c77d9cf7a893ddd059f97f71fb99f..95cc9bd73c2ede9a85aa25626d654c66a6bd2eee 100644 (file)
 
 /*
  * Name: Smoothly
- * Version: Version 0.3
- * Author: Alex <info@pixelbits.de>
- * Maintainer: Alex alex@friendica.pixelbits.de>
- * Description: Theme optimized for Tablets (iPad etc.)
- * Screenshot: <a href="screenshot.png">Screenshot</a>
+ * Description: Theme opzimized for Tablets
+ * Version: 0.4
+ * Author: Alex <https://friendica.pixelbits.de/profile/alex>
+ * Maintainer: Alex <https://friendica.pixelbits.de/profile/alex>
+ * Screenshot: <a href="screenshot.jpg">Screenshot</a>
  */
 
+$a->theme_info = array(
+  'extends' => 'smoothly',
+);
+function smoothly_init(&$a) {
 $a->page['htmlhead'] .= <<< EOT
 <script>
+
+function insertFormatting(comment,BBcode,id) {
+       
+               var tmpStr = $("#comment-edit-text-" + id).val();
+               if(tmpStr == comment) {
+                       tmpStr = "";
+                       $("#comment-edit-text-" + id).addClass("comment-edit-text-full");
+                       $("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
+                       openMenu("comment-edit-submit-wrapper-" + id);
+                       $("#comment-edit-text-" + id).val(tmpStr);
+               }
+
+       textarea = document.getElementById("comment-edit-text-" +id);
+       if (document.selection) {
+               textarea.focus();
+               selected = document.selection.createRange();
+               if (BBcode == "url"){
+                       selected.text = "["+BBcode+"]" + "http://" +  selected.text + "[/"+BBcode+"]";
+                       } else                  
+               selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
+       } else if (textarea.selectionStart || textarea.selectionStart == "0") {
+               var start = textarea.selectionStart;
+               var end = textarea.selectionEnd;
+               if (BBcode == "url"){
+                       textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
+                       } else
+               textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
+       }
+       return true;
+}
+
+function cmtBbOpen(id) {
+       $(".comment-edit-bb-" + id).show();
+}
+function cmtBbClose(comment, id) {
+       $(".comment-edit-bb-" + id).hide();
+}
+
 $(document).ready(function() {
 
-$('html').click(function() { $("#nav-notifications-menu" ).hide(); });
+$('.group-edit-icon').hover(
+       function() {
+               $(this).addClass('icon'); $(this).removeClass('iconspacer');},
+       function() {
+               $(this).removeClass('icon'); $(this).addClass('iconspacer');}
+       );
+
+$('.sidebar-group-element').hover(
+       function() {
+               id = $(this).attr('id');
+               $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');},
+
+       function() {
+               id = $(this).attr('id');
+               $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');}
+       );
+
+
+$('.savedsearchdrop').hover(
+       function() {
+               $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');},
+       function() {
+               $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');}
+       );
+
+$('.savedsearchterm').hover(
+       function() {
+               id = $(this).attr('id');
+               $('#drop-' + id).addClass('icon');      $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');},
+
+       function() {
+               id = $(this).attr('id');
+               $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
+       );
+
 });
+
+
 </script>
 EOT;
+// get resize configuration
+
+$resize=false;
+$site_resize = get_config('smoothly', 'resize' );
+if(local_user()) $resize = get_pconfig(local_user(), 'smoothly', 'resize' );
+
+if ($resize===false) $resize=$site_resize;
+if ($resize===false) $resize=0;
+
+if (intval($resize) > 0) {
+//load jquery.ae.image.resize.js
+$imageresizeJS = $a->get_baseurl($ssl_state)."/view/theme/smoothly/js/jquery.ae.image.resize.js";
+$a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $imageresizeJS);
+$a->page['htmlhead'] .= '
+<script>
+
+ $(function() {
+       $(".wall-item-content  img").aeImageResize({height: '.$resize.', width: '.$resize.'});
+  });
+</script>';}
+}
+