Piero V.

Funzione "input" per Smarty

Ho creato una funzione per creare in automatico degli input su smarty, di tutti i tipi.

Forse quello più incompleto è il checkbox, che però per il momento non mi risulta utile cambiare.

Un’altra caratteristica di questa funzione è quella di fissare un value se presente in $_POST o in $_REQUEST ad esclusione dell’input type="password".

Il codice PHP è:

function smarty_tplinput($params, &$smarty) {

	$name=wp_specialchars(isset($params['name']) ? $params['name'] : '');
	$type=wp_specialchars(isset($params['type']) ? $params['type'] : 'text');
	$other=empty($params['other']) ? '' : ' '.$params['other'];

	if(isset($params['noautocompile'])) $params['autocompile']=false;
	if(!isset($params['autocompile']) && $type!='password') $params['autocompile']=true;
	elseif(!isset($params['autocompile'])) $params['autocompile']=false;

	$value='';
	if(!empty($params['value'])) {
		$value=wp_specialchars($params['value']);
	} elseif($type=='file') {
	} elseif($params['autocompile']==false) {
	} else {
		if(!empty($_POST[$name])) $value=wp_specialchars($_POST[$name]);
		elseif(!empty($_REQUEST[$name])) $value=wp_specialchars($_REQUEST[$name]);
	}

	$checked='';
	if(isset($params['checked'])) {
		$checked=$params['checked']==true ? ' checked="checked"' : '';
	} elseif($type=='checkbox') {
		$checked=$value=='on' ? ' checked="checked"' : '';
		$value='';
	} elseif($type=='radio') {
		if(!empty($_POST[$name])) $checked=$_POST[$name]==$value;
		elseif(!empty($_REQUEST[$name])) $checked=$_REQUEST[$name]==$value;
		$checked=$checked ? ' checked="checked"' : '';
	}

	switch($type) {
		case 'textarea':
			echo "<textarea{$other} name="{$name}" id="{$name}">n{$value}</textarea>";
			break;
		default:
			$value=empty($value) ? '' : " value="{$value}"";
			echo "<input type="{$type}" name="{$name}" id="{$name}"{$value}{$checked}{$other} />";
			break;
	}

}
$smarty->registerPlugin('function', 'input', 'smarty_tplinput');

È fatta per smarty 3 ma con qualche piccolo cambiamento dovrebbe essere compatibile anche con smarty 2. … [Leggi il resto]

Input

In questi giorni ho pensato a dei post sul web design e grafica da fare.

Apro con questo post sugli input che riguarda i tag HTML input, textarea e select e correlati, “visivamente” caselle di testo, bottoni etc.

Non so che sistema operativo usiate o browser ma ognuno ha le sue dichiarazioni grafiche di default.

Purtroppo mi è capitato di vedere alcuni siti o CMS o temi grafici che hanno personalizzato l’input senza tenere conto delle loro dichiarazioni di default.

Su Windows (almeno fino alla versione XP, Vista penso di averlo usato sì e no un’ora in totale e Seven mai usato) questo non è un problema e neanche su Mac da quanto ne so (neanche questo l’ho usato molto, al massimo iOS di iPod Touch).

Invece lo stesso non può essere detto dei Browser dei S.O. che usano un server X11, tra i quali si può citare GNU Linux.

Il problema è che ci sono moltissime combinazioni per esempio Gecko/GTK (es Firefox) o Webkit/GTK o Webkit/QT e non esiste un tema di default su cui contare o su un tema di default a maggioranza altrimenti (cosa comunque sbagliata).

Per esempio io ho provato un tema GTK chiamato Nodka Dark che personalizza anche gli input, rendendoli marroni/neri con il colore del testo grigio. … [Leggi il resto]