itaeng

Blog

Pubblicato in:

Ma quei link che si usano per la paginazione dei risultati, tipo su google... come li posso ricreare?

18LUG2010

Leggendo qua e la mi sono imbattuto in una richiesta di qualcuno che aveva necessità di creare questo genere di link, ma cercando su internet non riusciva a trovare nulla di interessante...

Visto che tempo fa ho dovuto creare qualcosa di simile per DelightCMS (che poi è anche la piattaforma che sta sotto la pagina che state leggendo), lo riporto qua sperando possa essere utile a qualcuno:

<?php
// $numChildren è il numero di record totali, quelli che vogliamo suddividere in più pagine 
// $baseLink è l'indirizzo assoluto della pagina
$blogPostPerPage = 25;
$pageCount = ceil($numChildren / $blogPostPerPage);
$jump = false;

echo "<div id='paginator'>";

	// inseriamo prima di tutto il bottone per tornare indietro di una pagina, se siamo dalla seconda in poi
	if ($pageNum > 1) {
		echo $html->link('<< ', $baseLink . ($pageNum-1));
	}

	// qua inizia il lavoro sporco
	if ($pageCount > 1) {
		for ($i = 1; $i <= $pageCount; $i++) {
		// visualizzo i 7 link delle pagine intorno al numero di pagina che sto visualizzando, più il primo e l'ultimo (ok è una spiegazione di merda ma se provi capisci cosa intendo)
			if (($i <= $pageNum + 7) and ($i >= $pageNum - 7) or ($i == 1) or ($i == $pageCount)) {
				if ($pageNum == $i) {
					echo $i;
				} else {
					echo $html->link($i, $baseLink . $i);
				}
				$jump = false;
			// non sono nelle condizioni che dicevo prima, quindi metto i puntini e non visualizzo la pagina finchè non si verifica una delle condizioni di cui sopra
			} else {
				if ($jump != true) {
					echo "...";
					$jump = true;
				}
			}
			echo " ";
		}

		// se non sono all'ultima pagina, visualizzo il link per tornare indietro di una
		if ($pageNum < $pageCount) {
			echo $html->link('>>', $baseLink . ($pageNum+1));
		}
	}

echo "</div>";
?>
Pubblicato in:trucchi

Sottolineare parte di un testo con jQuery, senza plugins

23GIU2010

Poco prima di scrivere questo post avevo una necessità: sottolineare alcune parole all'interno di un testo in base a ciò che avevo cercato tramite l'apposita funzione di ricerca.

Ho trovato diversi plugin per farlo, alcuni più pesanti, altri più leggeri... ma a me bastava una cosa semplice, magari senza dover caricare altri plugin!

Beh, cercando qua e la sono riuscito ad ottenere questo:

$.extend($.expr[":"], {
	"containsNC": function(elem, i, match, array) {
		return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
	}
});

questo codice estende la funzione :contains di jQuery rendendola case insensitive (la funzione diventerà :containsNC)

$("p:containsNC('"+search+"')").addClass("highlight"); 

e quest'altro ricerca la parola e applica la classe "highlight" al paragrafo che contiene la parola. Naturalmente questo è ciò che serviva a me, ma dovrebbe essere semplice sottolineare solo la parola.

Pubblicato in:segnalazioni

Html5: chi supporta cosa, con tanto di esempi

17MAG2010

Mi sono imbattuto per caso in questo interessante sito...

HTML5 Demos and Examples

Parecchio interessante e comodo per chi sta pensando, come me, di iniziare a lavorare seriamente in HTML5...

Pubblicato in:trucchi

Far funzionare la proprietà css "display: inline-block" su internet explorer

09APR2010

Mi piacciono i misteri, soprattutto se servono a risolvere problemi complicati (o frustranti) in modo semplice  e veloce.

In questi giorni stavo litigando con un layout scritto per un cliente, con delle icone posizionate una a fianco all'altra tramite una favolosa proprietà css: display: inline-block;

Ho testato tutto sugli ultimi browser e funziona perfettamente, mi permette di evitare gli amati/odiati float e il mio umore ne giova particolarmente.

I problemi sono inaspettatamente ( -_- ) giunti quando ho testato il tutto con internet explorer 6 e 7: semplicemente, non conoscono quella proprietà e la ignorano. Gli elementi se ne stavano tutti tristi uno sotto l'altro, e il mio umore era sotto di loro a reggerne il peso.

Insomma per farla breve, vagando su internet ho scoperto che con un piccolissimo ritocco ai miei css potevo far funzionare tutto, con un semplice (ed usuale, purtroppo) commento condizionale posizionato al fondo di tutti gli altri css:

<!--[if lt IE 8]>
<style type='text/css'>
* html #menu li { display:inline; }  /* hack per IE 6 */
* + html #menu li { display:inline; }  /* hack per IE 7 */
</style>
<![endif]-->

Capito? Neanche io! Però funziona e tanto mi basta, in attesa che queste carrette del web facciano finalmente la fine che meritano.

Naturalmente, #menu li è quello che nel mio codice sfrutta la proprietà display: inline-block.

Inoltre, per chi ne avesse la necessità segnalo che è possibile far funzionare questa proprietà anche su firefox 2, tramite un semplice (e hackoso) display: -moz-inline-box;

Il mio umore è nuovamente alto.

Pubblicato in:null

Internet/ Firefox a rischio attacchi hacker, in Germania allarme

23MAR2010

Nota di ToX: che un browser sia vulnerabile genericamente "agli attacchi informatici" potrebbe essere quasi naturale, per il principio che nessun software è perfetto, ma non riesco a trovare nessuna informazione aggiuntiva... seguiranno dettagli

Roma, 23 mar. (Apcom) - Vulnerabile agli attacchi informatici il browser Firefox, uno dei più popolari programmi utilizzati per navigare su internet, tanto da spingere le autorità della Germania a diffondere comunicati ufficiali per mettere in guardia gli utenti. Era stata la stessa casa produttrice, Mozilla, a riconoscere la scorsa settimana l'esistenza di falle, riporta la Bbc. A rischio è l'ultima versione di Firefox, la 3.6, proprio quella lanciata dal assieme a calde raccomandazioni di effettuare l'aggiornamento per questioni di sicurezza. Il gruppo corre ai ripari e entro fine mese mettere a diposizione un aggiornamento pienamente testato che chiuderà queste falle, che possono essere sfruttate dagli hacker per introdurre programmi non desiderati nei computer di utenti ignari, prosegue l'emittente Gb. Sul web è gia disponibile un aggiornamento preliminare, Firefox 3.6.2, che tuttavia non è stato pienamente sperimentato. Ma la questione della vulnerabilità dei browser internet non si limita all'ultima versione di Firefox. La versione precedente aveva altre falle, e cambiare browser del tutto può nascondere altre insidie, avverte Graham Cluley, tecnico della Sophos: precipitarsi a utilizzare un altro browser meno conosciuto, che può contenere a sua volta rischi, potrebbe causare più problemi che benefici.

Fonte: APCOM