Correction code Php

raphael.1996 Messages postés 46 Statut Membre -  
raphael.1996 Messages postés 46 Statut Membre -
Bonjour,

Voila, j'ai un code avec l'erreure suivante : Parse error: syntax error, unexpected T_IF in /home/a3063901/public_html/download/download.php on line 111

Voila le code qui pose problèmes :


<?php


require_once('../kernel/begin.php');
require_once('../download/download_begin.php');
require_once('../kernel/header.php');

if ($file_id > 0) //Contenu
{
	$Template->set_filenames(array('download'=> 'download/download.tpl'));
	
	if ($download_info['size'] > 1)
		$size_tpl = $download_info['size'] . ' ' . $LANG['unit_megabytes'];
	elseif ($download_info['size'] > 0)
		$size_tpl = ($download_info['size'] * 1024) . ' ' . $LANG['unit_kilobytes'];
	else
		$size_tpl = $DOWNLOAD_LANG['unknown_size'];
	
	import('util/date');
 	$creation_date = new Date(DATE_TIMESTAMP, TIMEZONE_SYSTEM, $download_info['timestamp']);
 	$release_date = new Date(DATE_TIMESTAMP, TIMEZONE_SYSTEM, $download_info['release_timestamp']);
	
	//Affichage notation.
	import('content/note');
	$Note = new Note('download', $file_id, url('download.php?id=' . $file_id, 'category-' . $category_id . '-' . $file_id . '.php'), $CONFIG_DOWNLOAD['note_max'], '', NOTE_NODISPLAY_NBRNOTES);
	
	import('content/comments');
	
	$Template->assign_vars(array(
		'C_DISPLAY_DOWNLOAD' => true,
		'C_IMG' => !empty($download_info['image']),
		'C_EDIT_AUTH' => $auth_write,
		'MODULE_DATA_PATH' => $Template->get_module_data_path('download'),
		'ID_FILE' => $file_id,
		'NAME' => $download_info['title'],
		'CONTENTS' => second_parse($download_info['contents']),
		'CREATION_DATE' => $creation_date->format(DATE_FORMAT_SHORT),
		'RELEASE_DATE' => $release_date->get_timestamp() > 0 ? $release_date->format(DATE_FORMAT_SHORT) : $DOWNLOAD_LANG['unknown_date'],
		'SIZE' => $size_tpl,
		'COUNT' => $download_info['count'],
		'THEME' => get_utheme(),
		'KERNEL_NOTATION' => $Note->display_form(),
		'HITS' => sprintf($DOWNLOAD_LANG['n_times'], (int)$download_info['count']),
		'NUM_NOTES' => sprintf($DOWNLOAD_LANG['num_notes'], (int)$download_info['nbrnote']),
		'U_IMG' => $download_info['image'],
		'IMAGE_ALT' => str_replace('"', '\"', $download_info['title']),
		'LANG' => get_ulang(),
		'U_COM' => Comments::com_display_link($download_info['nbr_com'], '../download/download' . url('.php?id=' . $file_id . '&amp;com=0', '-' . $file_id . '+' . url_encode_rewrite($download_info['title']) . '.php?com=0'), $file_id, 'download'),
		'L_DATE' => $LANG['date'],
		'L_SIZE' => $LANG['size'],
		'L_DOWNLOAD' => $DOWNLOAD_LANG['download'],
		'L_DOWNLOAD_FILE' => $DOWNLOAD_LANG['download_file'],
		'L_DEADLINK' => $DOWNLOAD_LANG['deadlink'],

		'L_FILE_INFOS' => $DOWNLOAD_LANG['file_infos'],
		'L_INSERTION_DATE' => $DOWNLOAD_LANG['insertion_date'],
		'L_RELEASE_DATE' => $DOWNLOAD_LANG['last_update_date'],
		'L_DOWNLOADED' => $DOWNLOAD_LANG['downloaded'],
		'L_EDIT_FILE' => str_replace('"', '\"', $DOWNLOAD_LANG['edit_file']),
		'L_CONFIRM_DELETE_FILE' => str_replace('\'', '\\\'', $DOWNLOAD_LANG['confirm_delete_file']),
		'L_DELETE_FILE' => str_replace('"', '\"', $DOWNLOAD_LANG['delete_file']),
		'U_EDIT_FILE' => url('management.php?edit=' . $file_id),
		'U_DELETE_FILE' => url('management.php?del=' . $file_id . '&amp;token=' . $Session->get_token()),
				'U_DOWNLOAD_FILE' => url('count.php?id=' . $file_id, 'file-' . $file_id . '+' . url_encode_rewrite($download_info['title']) . '.php'),
		'U_DEADLINK' => url('download.php?id=' . $file_id . '&deadlink=1')

	));
	+	 
+	print_r($DOWNLOAD_CATS);
+	$deadlink = retrieve(GET, 'deadlink', 0);
+	$id_deadlink = retrieve(GET, 'id', 0);	
+	if (!empty($deadlink) && !empty($id_deadlink))
+	{
+		  //We verify that the link is not already signaled
+		  $nbr_alert = $Sql->query("SELECT COUNT(*) FROM " . PREFIX . "events WHERE id_in_module = '" . $id_deadlink . "' AND module='download' AND current_status = 0", __LINE__, __FILE__);
+		  if (empty($nbr_alert)) //We add the dead link into the db
+		  {
+			   //Importing the contribution classes
+			   import('events/contribution');
+			   import('events/contribution_service');
+			   
+			   $contribution = new Contribution();
+			   
+			   //The id of the file in the module. It's useful when the module wants to search a contribution (we will need it in the file edition)
+			   $contribution->set_id_in_module($id_deadlink);
+			   //The entitled of the contribution
+			   $contribution->set_entitled(sprintf($DOWNLOAD_LANG['contribution_deadlink'], stripslashes($download_info['title'])));
+			   //The URL where a validator can treat the contribution (in the file edition panel)
+			   $contribution->set_fixing_url('/download/management.php?edit=' . $id_deadlink . '');
+			   //Description
+			   $contribution->set_description(stripslashes($DOWNLOAD_LANG['contribution_deadlink_desc']));
+			   //Who is the contributor?
+			   $contribution->set_poster_id($User->get_attribute('user_id'));
+			   //The module
+			   $contribution->set_module('download');
+			   //It's an alert, we will be able to manage other kinds of contributions in the module if we choose to use a type.
+			   $contribution->set_type('alert');
+			   
+			   //Writing authorization assignation
+			   $contribution->set_auth(
+			   //We shift the authorization bit to the one with which the contribution class works, CONTRIBUTION_AUTH_BIT
+			   Authorizations::capture_and_shift_bit_auth(
+			   $DOWNLOAD_CATS[$category_id]['auth'],
+			   DOWNLOAD_WRITE_CAT_AUTH_BIT, DOWNLOAD_CONTRIBUTION_CAT_AUTH_BIT
+			   )
+			   );
+			   
+			   //Sending the contribution to the kernel. It will place it in the contribution panel to be approved
+			   ContributionService::save_contribution($contribution);
+			   echo "<script>alert('" .  addslashes($DOWNLOAD_LANG['contribution_deadlink_ok']) . "');</script>";
+		}
+		else
+		{
+			   echo "<script>alert('" .  addslashes($DOWNLOAD_LANG['contribution_deadlink_already']) . "');</script>";
+		}
+	}
+	

	//Affichage commentaires.
	if (isset($_GET['com']))
	{
		$Template->assign_vars(array(
			'COMMENTS' => display_comments('download', $file_id, url('download.php?id=' . $file_id . '&amp;com=%s', 'download-' . $file_id . '.php?com=%s'))
		));
	}
	
	$Template->pparse('download');
}
else
{
	$Template->set_filenames(array('download'=> 'download/download.tpl'));
	
	$Template->assign_vars(array(
		'C_ADMIN' => $auth_write,
		'C_DOWNLOAD_CAT' => true,
		'C_ADD_FILE' => $auth_write || $auth_contribution,
		'C_DESCRIPTION' => !empty($DOWNLOAD_CATS[$category_id]['contents']) || ($category_id == 0 && !empty($CONFIG_DOWNLOAD['root_contents'])),
		'IDCAT' => $category_id,
		'TITLE' => sprintf($DOWNLOAD_LANG['title_download'] . ($category_id > 0 ? ' - ' . $DOWNLOAD_CATS[$category_id]['name'] : '')),
		'DESCRIPTION' => $category_id > 0 ? second_parse($DOWNLOAD_CATS[$category_id]['contents']) : second_parse($CONFIG_DOWNLOAD['root_contents']),
		'L_ADD_FILE' => $DOWNLOAD_LANG['add_file'],
		'U_ADMIN_CAT' => $category_id > 0 ? url('admin_download_cat.php?edit=' . $category_id) : url('admin_download_cat.php'),
		'U_ADD_FILE' => url('management.php?new=1&amp;idcat=' . $category_id)
	));
	
	//let's check if there are some subcategories
	$num_subcats = 0;
	foreach ($DOWNLOAD_CATS as $id => $value)
	{
		if ($id != 0 && $value['id_parent'] == $category_id)
			$num_subcats ++;
	}

	//listing of subcategories
	if ($num_subcats > 0)
	{
		$Template->assign_vars(array(
			'C_SUB_CATS' => true
		));	
		
		$i = 1;
		
		foreach ($DOWNLOAD_CATS as $id => $value)
		{
			//List of children categories
			if ($id != 0 && $value['visible'] && $value['id_parent'] == $category_id && (empty($value['auth']) || $User->check_auth($value['auth'], DOWNLOAD_READ_CAT_AUTH_BIT)))
			{
				if ( $i % $CONFIG_DOWNLOAD['nbr_column'] == 1 )
					$Template->assign_block_vars('row', array());
				$Template->assign_block_vars('row.list_cats', array(
					'ID' => $id,
					'NAME' => $value['name'],
					'WIDTH' => floor(100 / (float)$CONFIG_DOWNLOAD['nbr_column']),
					'SRC' => $value['icon'],
					'IMG_NAME' => addslashes($value['name']),
					'NUM_FILES' => sprintf(((int)$value['num_files'] > 1 ? $DOWNLOAD_LANG['num_files_plural'] : $DOWNLOAD_LANG['num_files_singular']), (int)$value['num_files']),
					'U_CAT' => url('download.php?cat=' . $id, 'category-' . $id . '+' . url_encode_rewrite($value['name']) . '.php'),
					'U_ADMIN_CAT' => url('admin_download_cat.php?edit=' . $id),
					'C_CAT_IMG' => !empty($value['icon'])
				));
					
				$i++;
			}
		}
	}
	
	//Contenu de la catégorie	
	$nbr_files = (int)$Sql->query("SELECT COUNT(*) FROM " . PREFIX . "download WHERE visible = 1 AND approved = 1 AND idcat = '" . $category_id . "'", __LINE__, __FILE__);
	if ($nbr_files > 0)
	{
		$get_sort = retrieve(GET, 'sort', '');	
		$get_mode = retrieve(GET, 'mode', '');
		$selected_fields = array(
			'alpha' => '',
			'size' => '',
			'date' => '',
			'hits' => '',
			'note' => '',
			'asc' => '',
			'desc' => ''
			);
		
		switch ($get_sort)
		{
			case 'alpha' : 
			$sort = 'title';
			$selected_fields['alpha'] = ' selected="selected"';
			break;	
			case 'size' : 
			$sort = 'size';
			$selected_fields['size'] = ' selected="selected"';
			break;			
			case 'date' : 
			$sort = 'timestamp';
			$selected_fields['date'] = ' selected="selected"';
			break;		
			case 'hits' : 
			$sort = 'count';
			$selected_fields['hits'] = ' selected="selected"';
			break;		
			case 'note' :
			$sort = 'note';
			$selected_fields['note'] = ' selected="selected"';
			break;
			default :
			$sort = 'timestamp';
			$selected_fields['date'] = ' selected="selected"';
		}
		
		$mode = ($get_mode == 'asc') ? 'ASC' : 'DESC';
		if ($mode == 'ASC')
			$selected_fields['asc'] = ' selected="selected"';
		else
			$selected_fields['desc'] = ' selected="selected"';
		
		$unget = (!empty($get_sort) && !empty($mode)) ? '?sort=' . $get_sort . '&amp;mode=' . $get_mode : '';
		
		$Template->assign_vars(array(
			'L_FILE' => $DOWNLOAD_LANG['file'],
			'L_ALPHA' => $DOWNLOAD_LANG['sort_alpha'],
			'L_SIZE' => $LANG['size'],
			'L_DATE' => $LANG['date'],
			'L_DOWNLOAD' => $DOWNLOAD_LANG['download'],
			'L_POPULARITY' => $DOWNLOAD_LANG['popularity'],
			'L_DESC' => $LANG['desc'],
			'L_ASC' => $LANG['asc'],
			'L_NOTE' => $LANG['note'],
			'L_ORDER_BY' => $DOWNLOAD_LANG['order_by'],
			'L_CONFIRM_DELETE_FILE' => str_replace('\'', '\\\'', $DOWNLOAD_LANG['confirm_delete_file']),
			'SELECTED_ALPHA' => $selected_fields['alpha'],
			'SELECTED_SIZE' => $selected_fields['size'],
			'SELECTED_DATE' => $selected_fields['date'],
			'SELECTED_HITS' => $selected_fields['hits'],
			'SELECTED_NOTE' => $selected_fields['note'],
			'SELECTED_ASC' => $selected_fields['asc'],
			'SELECTED_DESC' => $selected_fields['desc']
		));
			
		//On crée une pagination si le nombre de fichiers est trop important.
		import('util/pagination'); 
		$Pagination = new Pagination();
		
		//Notes
		import('content/note');
		import('content/comments');
		
		$Template->assign_vars(array(
			'PAGINATION' => $Pagination->display(url('download.php' . (!empty($unget) ? $unget . '&amp;' : '?') . 'cat=' . $category_id . '&amp;p=%d', 'category-' . $category_id . '-%d.php' . $unget), $nbr_files, 'p', $CONFIG_DOWNLOAD['nbr_file_max'], 3),
			'C_FILES' => true,
			'TARGET_ON_CHANGE_ORDER' => $CONFIG['rewrite'] ? 'category-' . $category_id . '.php?' : 'download.php?cat=' . $category_id . '&'
		));

		$result = $Sql->query_while("SELECT id, title, timestamp, size, count, note, nbrnote, nbr_com, image, short_contents
		FROM " . PREFIX . "download
		WHERE visible = 1 AND approved = 1 AND idcat = '" . $category_id . "'
		ORDER BY " . $sort . " " . $mode . 
		$Sql->limit($Pagination->get_first_msg($CONFIG_DOWNLOAD['nbr_file_max'], 'p'), $CONFIG_DOWNLOAD['nbr_file_max']), __LINE__, __FILE__);
		while ($row = $Sql->fetch_assoc($result))
		{
			$Template->assign_block_vars('file', array(			
				'NAME' => $row['title'],
				'IMG_NAME' => str_replace('"', '\"', $row['title']),
				'C_DESCRIPTION' => !empty($row['short_contents']),
				'DESCRIPTION' => second_parse($row['short_contents']),
				'DATE' => sprintf($DOWNLOAD_LANG['add_on_date'], gmdate_format('date_format_short', $row['timestamp'])),
				'COUNT_DL' => sprintf($DOWNLOAD_LANG['downloaded_n_times'], $row['count']),
				'NOTE' => $row['nbrnote'] > 0 ? Note::display_img($row['note'], $CONFIG_DOWNLOAD['note_max'], 5) : '<em>' . $LANG['no_note'] . '</em>',
				'SIZE' => ($row['size'] >= 1) ? number_round($row['size'], 1) . ' ' . $LANG['unit_megabytes'] : (number_round($row['size'], 1) * 1024) . ' ' . $LANG['unit_kilobytes'],
				'C_IMG' => !empty($row['image']),
				'IMG' => $row['image'],
				'U_DOWNLOAD_LINK' => url('download.php?id=' . $row['id'], 'download-' . $row['id'] . '+' . url_encode_rewrite($row['title']) . '.php'),
				'U_ADMIN_EDIT_FILE' => url('management.php?edit=' . $row['id']),
				'U_ADMIN_DELETE_FILE' => url('management.php?del=' . $row['id'] . '&amp;token=' . $Session->get_token()),
				'U_COM_LINK' => Comments::com_display_link($row['nbr_com'], '../download/download' . url('.php?id=' . $row['id'] . '&amp;com=0', '-' . $row['id'] . '+' . url_encode_rewrite($row['title']) . '.php?com=0'), $row['id'], 'download')
			));
		}
		$Sql->query_close($result);
	}
	else
	{
		$Template->assign_vars(array(
			'L_NO_FILE_THIS_CATEGORY' => $DOWNLOAD_LANG['none_download'],
			'C_NO_FILE' => true
		));
	}
		
	$Template->pparse('download');
}
	
require_once('../kernel/footer.php'); 

?>


Le problème vient où il y a les "+"

Merci bcp de votre aide par avance

2 réponses

Résumé de la discussion

Problème: une erreur Parse error: syntax error, unexpected T_IF apparaît dans le fichier download.php autour de la ligne 111, liée à des signes plus '+' insérés par inadvertance dans le code. Les échanges identifient précisément des lignes entre 68 et 117 contenant des '+' insérés, notamment avant print_r($DOWNLOAD_CATS);, ce qui déclenche le T_IF inattendu et empêche le code de s’exécuter correctement. Périodiquement, les réponses suggèrent de supprimer ces '+' et de renvoyer une version du fichier sans ces artefacts, ou de vérifier le transfert FTP qui peut brouiller le contenu. En complément, des échanges évoquent qu’un patch mal copié peut introduire ces caractères et qu’un fichier correctement ré-uploadé peut rétablir le fonctionnement sans modifier d’autres portions.

Bobot (l'IA à votre service)
  1. andythevenet Messages postés 124 Statut Membre
     
    C4EST SENSE ETRE QUOI LA PAGE
    0
    1. raphael.1996 Messages postés 46 Statut Membre 4
       
      C'est une page d'un CMS, Phpboost plus précisément ^^
      J'ai voulut ajouter un bout de code dans le code déjà present..
      Mais cette page n'est qu'une partie en faite, mais l'erreur vient de là !
      0
    2. andythevenet Messages postés 124 Statut Membre
       
      regarde bien vers la ligne 111
      0
    3. raphael.1996 Messages postés 46 Statut Membre 4
       
      Bah oui ^^ Mais je vois pas l'erreur
      0
    4. andythevenet Messages postés 124 Statut Membre
       
      c'est un downloader?
      0
    5. raphael.1996 Messages postés 46 Statut Membre 4
       
      Oui pourquoi ?
      0
  2. adns Messages postés 1152 Statut Membre 153
     
    Bonjour,

    L'erreur levée est du à un problème de "block" "if else"

    Je te conseillerais de commencer par supprimer tout les symboles + en trop dans ton code. surement le bout de code que tu as copié coller depuis un site.

    des ligne 68 à 117 :

     +   
    + print_r($DOWNLOAD_CATS); 
    
    [..] 
    
    +      echo "<script>alert('" .  addslashes($DOWNLOAD_LANG['contribution_deadlink_already']) . "');</script>"; 
    +  } 
    + } 
    +  
    


    Adns
    Hacker Vaillant Rien D'Impossible !!!
    0
    1. andythevenet Messages postés 124 Statut Membre
       
      jme disait bien
      0
    2. raphael.1996 Messages postés 46 Statut Membre 4
       
      Bonjour,

      Alors comment réparer cette erreur ? je suis encore tout débutant dans la programmation donc je suis désoler si je comprend pas tout =/

      Concernant les "+" je les ai laisser ici car l'erreur viens d'ici, mais ils sont suppr sur le fichiers qui ira sur le ftp.

      Merci de ton aide
      0
    3. andythevenet Messages postés 124 Statut Membre
       
      je savai pas si cete ca
      0
    4. raphael.1996 Messages postés 46 Statut Membre 4
       
      adns ? adns du site du zéro ?
      0
    5. adns Messages postés 1152 Statut Membre 153
       
      possible lol pk ? on se connait ?
      0