<?php
//=================================================================
// KOOBI R7 - CMS - PORTALSOFTWARE(c) DREAM4(r) 
// HTTP://WWW.DREAM4.DE
//=================================================================
// ACHTUNG!
// DIESER PROGRAMMCODE IST URHERRECHTLICH GESCHUETZT
// DIE URHEBERRECHTE LIEGEN BEI DEN JEWEILIGEN AUTOREN.
// AENDERUNGEN IN DIESER DATEI ERFOLGEN AUF EIGENE GEFAHR!
// ES IST NICHT GESTATTET, DEN COPYRIGHTHINWEIS ZU AENDERN ODER ZU
// ENTFERNEN. NUR WENN SIE EINE COPYRIGHTHINWEIS-ENTFERNUNG BESTELLT
// HABEN, DUERFEN SIE DIESEN ENTFERNEN.
//================================================================
// BEI FRAGEN WENDEN SIE SICH BITTE AN: KONTAKT@DREAM4.DE
//=================================================================
if(!defined('BASE_DIR')) exit;

$muster_email = '/^[ -._A-Za-zÀ-ÖØ-öø-ÿ0-9-]+(\.[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/';
 
switch(@$_REQUEST['action'])
{
	case '':
	default:
		$headernav = $GLOBALS['config_vars']['PassLost'];
		$GLOBALS['tmpl']->assign('pagetitle_html', clean_page_title($headernav));
		$GLOBALS['tmpl']->assign('headernav', $headernav);
		$GLOBALS['tmpl']->assign('content', $GLOBALS['tmpl']->fetch($GLOBALS['config']['source'] . '/user/lostpassword.tpl')); 
	break;
	
	case 'getnew':
		define('AJAX_OUTPUT', 1);
		if(strpos(@$_SERVER['HTTP_REFERER'], HOME_PATH)!==false)
		{
			$error = '';
			$email = @$_POST['mail'];
			if(@!preg_match("/^[ -._A-Za-zÀ-ÖØ-öø-ÿ0-9-]+(\.[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/", $email))  $error = $GLOBALS['config_vars']['RegE_wrongmail'];
			
			if($error!='')
			{
				echo $error;
				exit;
			} else {
				$temp_pass_raw = rand_string(6);
				$temp_pass = md5(md5($temp_pass_raw));
				
				$check = $GLOBALS['db']->RowQuery("SELECT Id FROM " . PREFIX . "_benutzer WHERE Email='".$email."' AND Geloescht!='1'");
				if(is_object($check))
				{
					$GLOBALS['db']->RowQuery("UPDATE " . PREFIX . "_benutzer SET KennwortTemp='".$temp_pass."' WHERE Email='".$email."'");
					$text = $GLOBALS['config_vars']['PassLostTextMail'];
					$text = str_replace('__LINK__', thisHome() . 'index.php?p=pwlost&email='.$email, $text);
					$text = str_replace('__PASS__', $temp_pass_raw, $text);
					
					$Koobi = new Koobi;
					$Koobi->koobi_mail($email, $text, $GLOBALS['config_vars']['PassLostSubjectMail'], $GLOBALS['settings']['Mail_Absender'], stripslashes($GLOBALS['settings']['Mail_Name']), "text", "");
					echo "<strong>".$GLOBALS['config_vars']['PassLostInfMail']."</strong><br /><br />";
				}
			}
		}
		
	break;
	
	case 'activate':
		define('AJAX_OUTPUT', 1);
		if(strpos(@$_SERVER['HTTP_REFERER'], HOME_PATH)!==false)
		{
			$error = '';
			$email = @$_POST['mail'];
			$pass  = preg_replace('/([^-A-Za-zÀ-ÖØ-öø-ÿ0-9-]*)/', '', @$_REQUEST['pass']);
			if(@!preg_match("/^[ -._A-Za-zÀ-ÖØ-öø-ÿ0-9-]+(\.[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/", $email))  $error .= $GLOBALS['config_vars']['RegE_wrongmail'] . "<br />";
			if($pass=='') $error .= $GLOBALS['config_vars']['PassLostNoPass'] . "<br />";
			
			if($error=='')
			{
				$check = $GLOBALS['db']->RowQuery("SELECT Id FROM " . PREFIX . "_benutzer WHERE Email='".$email."' AND KennwortTemp='".md5(md5($pass))."' AND Geloescht!='1' AND Aktiv='1'");
				if(!is_object($check))
				{
					$error = $GLOBALS['config_vars']['PassLostNoMatch'];
				}
			}
			
			if($error!='')
			{
				echo "<br /><strong>$error</strong>";
				exit;
			} else {
				$GLOBALS['db']->RowQuery("UPDATE " . PREFIX . "_benutzer SET Kennwort='".md5(md5($pass))."',KennwortTemp='' WHERE Email='".$email."' AND KennwortTemp='".md5(md5($pass))."'");
				echo "<br /><strong>".$GLOBALS['config_vars']['PassLostOk']."</strong>";
				exit;
			}
		}
	break;
}
?>