/ Gists

Gists

On gists

Scroll in div #2 (all template)

jQuery

gistfile1.txt #

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>TEST</title>
	<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>


	  <style>
    #foo {
      width: 300px;
      padding: 10px;
      height: 100px;
      border: 1px solid black;
      overflow: auto;
      position: relative;
    }

    p

    {
    	border: 1px solid red;
    	margin: 10px;
    }
  </style>
</head>
<body>





  <input type="button"  value="id1" />
  <input type="button"  value="id2" />
  <input type="button"  value="id3" />
  
  <div id="foo">
    <p id="id1">Toto je první odstavec. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <p id="id2">Toto je druhý odstavec. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <p id="id3">Treti. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <!-- několik dalších odstavců -->
  </div>



<script>









var $foo = jQuery('#foo');
$('input').click(function() {
  var lastParagraphPosition = jQuery('#' + $(this).attr("value") ).position();
  var scrollPosition = $foo.scrollTop() + lastParagraphPosition.top;
  jQuery('#foo').scrollTop(scrollPosition);
});


</script>



</body>

</html>

On gists

ScrollTo to content in div

jQuery jQuery-plugins

gistfile1.js #

jQuery.fn.scrollTo = function(elem) { 
    $(this).scrollTop($(this).scrollTop() - $(this).offset().top + $(elem).offset().top); 
    return this; 
};

On gists

JS: text makes safe

JavaScript

gistfile1.txt #

function makeSafe(thisText, allowSpace){
        var w = "!@#$%^&*()+=[]\\\';,./{}|\":<>?";
        var s = 'abcdefghijklmnopqrstuvwxyz0123456789-';
        var x = new Array('àáâãäå', 'çč', 'èéêëě','š','ř','ž','á', 'ìíîï', 'ñ', 'ðóòôõöø', 'ùúûüů', 'ýÿ',' ','.');
        var r = new Array('a', 'c', 'e','s','r','z','a', 'i', 'n', 'o', 'u', 'y','-','-');
 
        if(allowSpace){
                s = s + ' ';
        }
 
        thisText = thisText.toLowerCase();
        var newText = new Array();
 
        for (i = 0; i < thisText.length; i++){
                thisChar = thisText.charAt(i);
                if(w.indexOf(thisChar) == -1){
                        if(s.match(''+thisChar+'')){
                                newText[i] = thisChar;
                        }else{
                                for (j = 0; j < x.length; j++){
                                        if(x[j].match(thisChar)){
                                                newText[i] = r[j];
                                        }
                                }
                        }
                }
        }
 
        return newText.join('');
}

On gists

Date range - vygenerování datum. rozmezí

PHP

array of date range.php #

<?php 

function dateRange( $first, $last, $step = '+1 day', $format = 'Y/m/d' ) {

	$dates = array();
	$current = strtotime( $first );
	$last = strtotime( $last );

	while( $current <= $last ) {

		$dates[] = date( $format, $current );
		$current = strtotime( $step, $current );
	}

	return $dates;
}

?>

On gists

Jquery plugin - tiny - ukázkový

jQuery-plugins

gistfile1.js #

(function($)  {
   $.fn.extend({
      check : function()  {
         return this.filter(":radio, :checkbox").attr("checked", true);
      },
      uncheck : function()  {
         return this.filter(":radio, :checkbox").removeAttr("checked");
      }
   });
}(jQuery));

On gists

JavaScript: only num in input

JavaScript

gistfile1.js #

<input onkeypress="return !isNaN(String.fromCharCode(event.charCode || event.keyCode))">

On gists

Jquery - plugin, funkce, vl. selektor

jQuery jQuery-plugins

mike-youtube.js #

$.fn.showWhenScrolled=function(){
	var self = this;
	
	this.init = function(){
		self.each(function(){
			var self_top   = $(this).offset().top;
			var scroll_top = $(window).scrollTop();
			var win_height = $(window).height();
			var frame      = $(this).find('iframe');
			if(scroll_top > (self_top - win_height)){
				if(!frame.attr('src')){
					frame.attr({src:frame.attr('title')});
				}
			}
		});
	};
	
	$(window).scroll(function(){
		self.init();
	}).resize(function(){
		self.init();
	});
	
	self.init();
};

$('.youtube-container').showWhenScrolled();

On gists

PHP: CSV export from MySql to output

PHP

csv-export.php #

<?
    $out = '';
    $fields = dibi::fetchAll("SHOW COLUMNS FROM web_application");
    foreach ($fields as $field)
    {
    $out .= '"'.$field->Field.'";';
    }
    $out = rtrim($out, ';');
    $out .= PHP_EOL;
    foreach ($this->model->csvExport() as $index => $row)
    {
    foreach ($row as $r)
    {
    $out .='"'.$r.'";';
    }
    $out = rtrim($out, ';');
    $out .= PHP_EOL;
    }
    $out = iconv('utf-8', 'windows-1250', $out);
    $filename = 'application-export___' . date('YmdHis') . '.csv';
    header('Content-Encoding: windows-1250');
    header('Content-type: text/csv; charset=windows-1250');
    header('Content-Disposition: attachment; filename=' . $filename);
    //echo "\xEF\xBB\xBF"; // UTF-8 BOM
    echo $out;
    exit(0);
    $this->view->setTemplateFile('modules/application/csv.php');

On gists

PHP: Readable filesize

PHP Helpers-Filters-Plugins

readable-filesize.php #

<? 

function HumanReadableFilesize($size) {
// Adapted from: http://www.php.net/manual/en/function.filesize.php
$mod = 1024;
$units = explode(' ','B KB MB GB TB PB');
for ($i = 0; $size > $mod; $i++) {
$size /= $mod;
}
return round($size, 2) . ' ' . $units[$i];
}

function fsize($file) {
$a = array("B", "KB", "MB", "GB", "TB", "PB");
$pos = 0;
$size = filesize($file);
while ($size >= 1024) {$size /= 1024;$pos++;}
return round($size,2)." ".$a[$pos];
}

?>

On gists

PHP: Unzip folder

PHP

unzip-folder.php #

<?
    $extract_dir = "./sprites/";
    $extract_file = "sprites.zip";
    $zip = new ZipArchive;
    $res = $zip->open($extract_file);
    if ($res === TRUE) {
    $zip->extractTo($extract_dir);
    $zip->close();
    echo "OK";
    } else {
    echo "NOK";
    }

?>