/ Gists

Gists

On gists

jQuery - own methods

jQuery jQuery-plugins

jquery-own-methods.js #

$(function(){
	jQuery.fn.putBefore = function(dest){
		return this.each(function(){
			$(dest).before($(this));
		});
	}
	jQuery.fn.putAfter = function(dest){
		return this.each(function(){
			$(dest).after($(this));
		});
	}
});

On gists

jQuery - Array of GET variables

JavaScript Helpers-Filters-Plugins

array-get.js #

var searchArray = document.location.search.substring(1).split("&");
//Take off the '?' and split into separate queries
 
//Now we'll loop through searchArray and create an associative array (object literal) called GET
var GET = []; 
for (var searchTerm in searchArray){
	searchTerm.split("="); //Divide the searchTerm into property and value
	GET[searchTerm[0]] = searchTerm[1]; //Add property and value to the GET array
}

On gists

jQuery - remove widows

jQuery Helpers-Filters-Plugins

jquery-widow.js #

$(function(){
	//Loop through each title
	$("h3").each(function(){
		var content = $(this).text().split(" ");
		var widow = " "+content.pop();
		$(this).html(content.join(" ")+widow);
	});
});

On gists

jQuery - reverse each

jQuery Helpers-Filters-Plugins

reverse-each.js #

$(function(){
	var reversedSet = $("li").get().reverse();
	//Use get() to return an array of elements, and then reverse it
 
	$(reversedSet).each(function(){
		//Now we can plug our reversed set right into the each function. Could it be easier?
	});
});

On gists

Mysql variables run like query

MySql

mysql-query-variable.sql #

SET @table = 'article_lang';

SET @q1 = CONCAT('UPDATE ', @table,' SET language_id = 1000 WHERE language_id = 1');
SET @q2 = CONCAT('UPDATE ', @table,' SET language_id = 1 WHERE language_id = 2');
SET @q3 = CONCAT('UPDATE ', @table,' SET language_id = 2 WHERE language_id = 1000');

PREPARE stmt FROM @q1;
EXECUTE stmt;

PREPARE stmt FROM @q2;
EXECUTE stmt;

PREPARE stmt FROM @q3;
EXECUTE stmt;

On gists

From https://forum.nette.org/cs/24327-jak-ve-formulari-vypnout-editaci-pole-ale-zobrazit-data#p162878

Nette Nette-Forms Nette-Tricks

nette-readonly.php #

$input = $form->addInput('text');
$input->setDisabled(true); // nejdřív vypnout editaci
$input->setOmitted(false); // potom vypnout neodesílání

On gists

Helper když díky vazbám nejde použít spojení ...

Nette Helpers-Filters-Plugins

andweb-datatype-helper.php #

	public function helperImage($id, $size = 'original'){

		$imageDataType = new \Andweb\Datatypes\Image('image');

		$imageDataType->setValue($id);

		return $imageDataType->getImageElement($size);

	}

On gists

From https://forum.nette.org/cs/20267-jde-nejak-zmenit-data-v-active-row-kdyz-jsou-ted-read-only#p139460 Wrapper nad ActiveRow, Nette

Nette Nette-Tricks

nette-wrapper-active-row.php #

class RowWrapper extends Nette\Object
{
    protected $row;

    protected $data;

    public function __construct(Nette\Database\Table\ActiveRow $row)
    {
        $this->row = $row;
    }

    public function &__get($key)
    {
        if(isset($this->data[$key]) {
            $value = $this->data[$key];
        }
        $value = $this->row->$key;

        return $value;
    }

    public function __set($key, $value)
    {
        $this->data[$key] = $value;
    }

    //pripadne jeste related a ref

}

On gists

From https://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=109986#7 fotbal-dom-parsování

PHP-PHPDOM

parsovani-dom.php #

$data = <<< DATA
  <tr>
    <td rowspan=6 align="center" valign="middle"><font size=-2>12. KOLO</font></td>
    <td align="center"><font size=-2>10.9.</font></td>
    <td align="center"><font size=-2>17:00</font></td>
    <td align="left"><font size=-2>FC ŠEBÁNEK</font></td>
    <td align="left"><font size=-2>ROZJETEJ STROJ</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>10.9.</font></td>
    <td align="center"><font size=-2>17:53</font></td>
    <td align="left"><font size=-2>BOMBERS TEAM</font></td>
    <td align="left"><font size=-2>STATUS QUO</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>10.9.</font></td>
    <td align="center"><font size=-2>18:46</font></td>
    <td align="left"><font size=-2>ELITA CHASERS</font></td>
    <td align="left"><font size=-2>VIPER TEAM</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>10.9.</font></td>
    <td align="center"><font size=-2>19:39</font></td>
    <td align="left"><font size=-2>PROŠLÝ MLÍKA</font></td>
    <td align="left"><font size=-2>RVHP</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>10.9.</font></td>
    <td align="center"><font size=-2>20:32</font></td>
    <td align="left"><font size=-2>OSPLPPOTR.</font></td>
    <td align="left"><font size=-2>FC KEBOURY</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>10.9.</font></td>
    <td align="center"><font size=-2>21:25</font></td>
    <td align="left"><font size=-2>AC PELYŇKOVÝ DESTILÁT UNITED</font></td>
    <td align="left"><font size=-2>LOSERS OF UFTALAND</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td rowspan=6 align="center" valign="middle"><font size=-2>13. KOLO</font></td>
    <td align="center"><font size=-2>17.9.</font></td>
    <td align="center"><font size=-2>17:00</font></td>
    <td align="left"><font size=-2>LOSERS OF UFTALAND</font></td>
    <td align="left"><font size=-2>OSPLPPOTR.</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>17.9.</font></td>
    <td align="center"><font size=-2>17:53</font></td>
    <td align="left"><font size=-2>FC KEBOURY</font></td>
    <td align="left"><font size=-2>PROŠLÝ MLÍKA</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>17.9.</font></td>
    <td align="center"><font size=-2>18:46</font></td>
    <td align="left"><font size=-2>AC PELYŇKOVÝ DESTILÁT UNITED</font></td>
    <td align="left"><font size=-2>FC ŠEBÁNEK</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>17.9.</font></td>
    <td align="center"><font size=-2>19:39</font></td>
    <td align="left"><font size=-2>RVHP</font></td>
    <td align="left"><font size=-2>ELITA CHASERS</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>17.9.</font></td>
    <td align="center"><font size=-2>20:32</font></td>
    <td align="left"><font size=-2>VIPER TEAM</font></td>
    <td align="left"><font size=-2>BOMBERS TEAM</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
  <tr>
    <td align="center"><font size=-2>17.9.</font></td>
    <td align="center"><font size=-2>21:25</font></td>
    <td align="left"><font size=-2>STATUS QUO</font></td>
    <td align="left"><font size=-2>ROZJETEJ STROJ</font></td>
    <td align="right"><font size=-2><B> </B></font></td>
    <td align="right"><font size=-2> </font></td>
    <td align="left"><font size=-2> </font></td>
  </tr>
DATA;
 
$ary = array();
 
$dom = new DOMDocument();
$dom->loadHTML('<?xml encoding="UTF-8">' . $data);
$trs = $dom->getElementsByTagName('tr');
for ($i = 0; $i < $trs->length; $i++) {
    $tds = $trs->item($i)->getElementsbyTagName('td');
    for ($j = 0; $j < $tds->length; $j++) {
        $ary[$i][$j] = $tds->item($j)->getElementsByTagName('font')->item(0)->nodeValue;
    }
}
 
var_dump($ary);

On gists

Ruční vykreslení formuláře v Nette (skoro ruční)

Nette Nette-Forms Nette-Tricks Nette-Latte

semi-manual-form-renderning.latt #

{form $form}
<ul class=error n:if="$form->ownErrors">
	<li n:foreach="$form->ownErrors as $error">{$error}</li>
</ul>

<table>
<tr n:foreach="$form->controls as $input" n:class="$input->required ? required">
	<th>{label $input /}</th>
	<td>{input $input} <span class=error n:ifcontent>{$input->error}</span></td>
</tr>
</table>
{/form}