Documentazione CONTROLLER

Moderator: alexred

Forum rules
Regole Forum
Locked
M-Z
Joomla! Fledgling
Joomla! Fledgling
Posts: 2
Joined: Fri Oct 26, 2012 10:11 am

Documentazione CONTROLLER

Post by M-Z » Fri Oct 26, 2012 10:21 am

Ciao a tutti.

Ho scritto un componente per joomla 2 anni fa.
Il componente era fatto con molta urgenza e non rispettava assolutamente i dettami dell' MVC.
Siccome adesso mi chiedono una modifica, volevo riscriverlo con il formato MVC.

Ho cercato informazioni per giorni e poi mi sono affidato alla logica ma, non basta.

C'e' qualcuno che potrebbe consigliarmi un link che mi possa chiarire come scrivere il CONTROLLER???

NON L'HO ANCORA CAPITO.

Il componente che ho scritto era scritto nel modo procedurale e non ad oggetti.

Le procedure che avevo scritto le metto nell' HELPER???


Grazie a tutti.

User avatar
alikon
Joomla! Champion
Joomla! Champion
Posts: 5941
Joined: Fri Aug 19, 2005 10:46 am
Location: Roma
Contact:

Re: Documentazione CONTROLLER

Post by alikon » Mon Oct 29, 2012 6:59 pm

Nicola Galgano
i know that i don't know
www.alikonweb.it

M-Z
Joomla! Fledgling
Joomla! Fledgling
Posts: 2
Joined: Fri Oct 26, 2012 10:11 am

Re: Documentazione CONTROLLER

Post by M-Z » Tue Oct 30, 2012 2:33 pm

"Ho cercato informazioni per giorni e poi mi sono affidato alla logica ma, non basta."

Questo l'ho letto e non spiega assolutamente nulla.

Ho capito che se nella view metto:

Code: Select all

				<button type="submit">IMPORTA FILE !</button>
				<input type="hidden" name="option" value="com_emissioni" />
				<input type="hidden" name="controller" value="macro" />
				<input type="hidden" name="task" value="savemacro" />
Allora il controller avvia la funzione SAVEMACRO.

Ma all' interno di SAVEMACRO, ho un'altra funzione di nome uploadfile che mi da errore:

Code: Select all

function savemacro(){
	global $mainframe;

	if (isset($_FILES['uploadfile']) && is_array($_FILES['uploadfile'])) {
		$file = $_FILES['uploadfile'];

		if (strlen($file['name'])< 11)(upload ($option, $file, ''));
		else ($mainframe->redirect('index.php?option=com_emissioni&task=macro'."", 'Sembra essere il file MERCURIO! ** ATTENZIONE **', 'error'));
	}

}

function upload($option, $file, $dest_dir) {
	global $mainframe;
	$db =& JFactory::getDBO();	

	$format = substr( $file['name'], -3 );
	$allowable = array (
	'xls'
	); //only support excel file (2003)
		
	$miofile1 = '20'.(substr( $file['name'],2,-8)).'-'.(substr( $file['name'],4,-6)).'-'.(substr( $file['name'],6,-4));
	$sql1= "SELECT * FROM #__emissioni WHERE data like ".'"'.$miofile1.'%'.'"'. "ORDER BY data DESC";
	$db->setQuery($sql1);
	$db = $db->loadObjectList();

	$miodb =$db;
	
	$noMatch = 0;
	foreach( $allowable as $ext ) {
		if ( strcasecmp( $format, $ext ) == 0 ) {
			$noMatch = 1;
		}
	}
	if(!$noMatch){
		$mainframe->redirect('index.php?option='.$option, $format.' Il file non e\' supportato!', 'error');
	}else{
		$uf = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'tempdata' . DIRECTORY_SEPARATOR .date("YmdGhis").'.'.$format; //uploaded file name

		$miopercorso = $uf;
		
		$upTemp = move_uploaded_file($file['tmp_name'],$uf);
		chmod($uf, 0755);

		
		if (strlen($file['name'])< 11){
		if ($upTemp){
			do_importmacro($uf, $option, $file, $miopercorso); //after upload file, proceed data import.
		}else{
			$mainframe->redirect('index.php?option='.$option, 'Trasferimento dati fallito!', 'error');
		}		
		}
		else {
		if ($db){
				if ($upTemp){
				do_importmercurio($uf, $option, $file, $miodb, $miopercorso); //after upload file, proceed data import.
			}else{
				$mainframe->redirect('index.php?option='.$option, 'Trasferimento dati fallito!', 'error');
			}
		}
				else {
				$mainframe->redirect('index.php?option=com_emissioni&task=mercurio'."", 'Non hai caricato il file MACRO!', 'error');
				}				
				
			}
		
	}
}

Ho provato a mettere la funzione nell'HELPER ma non funziona.

l'errore e' il seguente: Fatal error: Call to undefined function upload()

GRAZIE A TUTTI!


Locked

Return to “Italian Forum”