Fatal error na opvragen van een vergeten wachtwoord

Hier kun je vragen stellen over de nieuwste 1.5 ontwikkelingen en ondervonden problemen melden.

Moderator: pe7er

Forum rules
Forum Regels
Locked
mauriceu
Joomla! Fledgling
Joomla! Fledgling
Posts: 3
Joined: Mon Apr 27, 2009 1:24 pm

Fatal error na opvragen van een vergeten wachtwoord

Post by mauriceu » Wed Aug 19, 2009 1:14 pm

Sinds kort heb ik een probleem met mijn Joomla site.
Als ik een wachtwoord wil resetten via de frontend, dus op de pagina zelf bij de login form aanklik dat ik het wachtwoord vergeten ben. Dan vraagt hij wel keurig om een e-mail adres maar vervolgens na het intikken krijg ik direct de volgende melding:
Fatal error: Call to undefined function htmlLink() in /***/***/***/***/public_html/components/com_user/models/reset.php on line 255.
Ik heb voor privacy redenen even een deel van het pad wat niet "belangrijk" is door "***" vervangen.
Als mensen de gebruikersnaam willen opvragen dan krijgen ze de volgende regel:
Fatal error: Call to undefined function htmlLink() in /***/***/***/***/public_html/components/com_user/models/remind.php on line 124
Als ik het deel bekijk van reset.php rondom line 255 zie ik het volgende (regel 255 heb ik aangegeven met "<<<===", zo'n beetje 3/4 van de code):

Code: Select all

	/**
	 * Sends a password reset request confirmation to the
	 * specified e-mail address with the specified token.
	 *
	 * @since	1.5
	 * @param	string	An e-mail address
	 * @param	string	An md5 hashed randomly generated string
	 * @return	bool	True on success/false on failure
	 */
	function _sendConfirmationMail($email, $token)
	{
		$config		= &JFactory::getConfig();
		$uri		= &JFactory::getURI();
		$url		= JURI::base().'index.php?option=com_user&view=reset&layout=confirm';
		$sitename	= $config->getValue('sitename');

		// Set the e-mail parameters
		$from		= $config->getValue('mailfrom');
		$fromname	= $config->getValue('fromname');
		/*--------------Blocked --------------------			
		$subject	= JText::sprintf('PASSWORD_RESET_CONFIRMATION_EMAIL_TITLE', $sitename);
		$body		= JText::sprintf('PASSWORD_RESET_CONFIRMATION_EMAIL_TEXT', $sitename, $token, $url);
		-------------- End Blocked --------------------*/
		//---------------StartAdded------------------------------------------
		$db = &JFactory::getDBO();
		$query="Select * FROM #__nu_emailmsg Where code='PASSWORD_RESET_CONFIRMATION'";
		$db->setQuery( $query );
		$rows = $db->loadObjectList();
		
		$patterns=array(	
						'/{sitename}/',
						'/{siteurl}/',
						'/{token}/'
					);
		$replacements_subject=array(	
							$sitename,	
							$url,
							$token
					);
		$replacements_body=array(	
							$sitename,	
							htmlLink($url),                                        <<<<<========== dit is regel 255!!!
							$token
					);
		foreach($rows as $row)
		{
			$subject	=preg_replace($patterns,$replacements_subject,$row->subject);
			$body	=preg_replace($patterns,$replacements_body,$row->body);			
		}
		
		//---------------End Added------------------------------------------
		// Send the e-mail
		if (!sendHTMLMail($from, $fromname, $email, $subject, $body,1))
		{
			$this->setError('ERROR_SENDING_CONFIRMATION_EMAIL');
			return false;
		}

		return true;
	}
}
En als ik het deel van remind.php bekijk rondom line 124 zie ik het volgende (wederom line 124 gemarkeerd met die pijl):

Code: Select all

	/**
	 * Sends a username reminder to the e-mail address
	 * specified containing the specified username.
	 *
	 * @since	1.5
	 * @param	string	A user's e-mail address
	 * @param	string	A user's username
	 * @return	bool	True on success/false on failure
	 */
	function _sendReminderMail($email, $username)
	{
		$config		= &JFactory::getConfig();
		$uri		= &JFactory::getURI();
		$url		= $uri->toString( array('scheme', 'host', 'port')).JRoute::_('index.php?option=com_user&view=login', false);

		$from		= $config->getValue('mailfrom');
		$fromname	= $config->getValue('fromname');
		/*----------Blocked-------------------------
		$subject	= JText::sprintf('USERNAME_REMINDER_EMAIL_TITLE', $config->getValue('sitename'));
		$body		= JText::sprintf('USERNAME_REMINDER_EMAIL_TEXT', $config->getValue('sitename'), $username, $url);
		---------- End Blocked-------------------------*/

		$db = &JFactory::getDBO();
		$query="Select * FROM #__nu_emailmsg Where code='USERNAME_REMINDER'";
		$db->setQuery( $query );
		$rows = $db->loadObjectList();
		
		$patterns=array
					(
						'/{username}/',
						'/{sitename}/',
						'/{siteurl}/'
					);
		$replacements_subject=array
					(	
						$username,
						$config->getValue('sitename'),	
						$url
					);
		$replacements_body=array
					(	
						$username,
						$config->getValue('sitename'),	
						htmlLink($url)                            <<<<<<<========= Dit is line 124 !!!!!!!!
					);
		foreach($rows as $row)
		{
			$subject	=preg_replace($patterns,$replacements_subject,$row->subject);
			$body	=preg_replace($patterns,$replacements_body,$row->body);			
		}		
				
		if (!sendHTMLMail($from, $fromname, $email, $subject, $body,1))
		{
			$this->setError('ERROR_SENDING_REMINDER_EMAIL');
			return false;
		}

		return true;
	}
}
Ik maak gebruik van joomla 1.5.14.
Weet iemand wat hier mis gaat?

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Fatal error na opvragen van een vergeten wachtwoord

Post by dam-man » Tue Oct 13, 2009 12:31 pm

Mod Note: Het is niet otegestaan om je eigen topics om hoog te halen.

Hij mist een functie welke niet in de door jou aangegeven bestanden staat.
Wat je kan doen. Maak een backup en overschrijf de joomla core nog eens.
LET OP: Maak eerst een backup!
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

mauriceu
Joomla! Fledgling
Joomla! Fledgling
Posts: 3
Joined: Mon Apr 27, 2009 1:24 pm

Re: Fatal error na opvragen van een vergeten wachtwoord

Post by mauriceu » Tue Oct 13, 2009 1:56 pm

Dank je Dam-man,

Het was ook niet de bedoeling om te spammen... maar ik kreeg geen enkele reactie vandaar dat ik hem nog één keertje omhooggehaald heb.
Weet je of er ergens een beschrijving staat hoe je de core kunt overschrijven?

Vriendelijke groeten,

Maurice

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Fatal error na opvragen van een vergeten wachtwoord

Post by dam-man » Wed Oct 14, 2009 6:04 am

Uiteraard gaan ze niet uitleggen hoe je de core overschrijft.
Iemand die PHP kent, kan aan de code zien wat hij moet doen. Tevens is het niet verstandig om core code te herschrijven ivm upgraden.

In jou geval zou ik gewoon een back up maken en lokaal wat tests doen mbt tot overschrijven van de huidige met nieuwe 1.5.14 install.
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

mauriceu
Joomla! Fledgling
Joomla! Fledgling
Posts: 3
Joined: Mon Apr 27, 2009 1:24 pm

Re: Fatal error na opvragen van een vergeten wachtwoord

Post by mauriceu » Wed Jan 06, 2010 3:02 pm

Ik loop nu tegen meer problemen aan in de site dus nu wordt het tijd om actie te gaan ondernemen.
Kan ik ergens een soort van stap voor stap beschrijving vinden om mijn joomla 1.5.15 te overschrijven zonder dat ik de inhoud van de database verlies?
Ik heb namelijk nog steeds het probleem met het opvragen van verloren wachtwoorden maar nu wil ook virtuemart 1.1.4 niet meer fatsoenlijk lopen onder IE.
Of zou er misschien een mogelijkheid zijn om dit op een andere manier op te lossen dat iemand er naar wil kijken of zo? Ik km er zelf namelijk niet uit.


Locked

Return to “Joomla! 1.5”