new file: view/theme/smoothly/js/jquery.ae.image.resize.js
new file: view/theme/smoothly/js/jquery.ae.image.resize.min.js modified: view/theme/smoothly/theme.php
This commit is contained in:
		
					parent
					
						
							
								c616b05a33
							
						
					
				
			
			
				commit
				
					
						002168ebd9
					
				
			
		
					 3 changed files with 176 additions and 6 deletions
				
			
		
							
								
								
									
										69
									
								
								view/theme/smoothly/js/jquery.ae.image.resize.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								view/theme/smoothly/js/jquery.ae.image.resize.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 );
 | 
			
		||||
							
								
								
									
										1
									
								
								view/theme/smoothly/js/jquery.ae.image.resize.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								view/theme/smoothly/js/jquery.ae.image.resize.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			@ -2,18 +2,118 @@
 | 
			
		|||
 | 
			
		||||
/*
 | 
			
		||||
 * 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>';}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue