'^ref-(.*)/?$',
'redirect' => '{e_PLUGIN}myplugin/myplugin.php?ref=$1',
);
return $config;
}
}
*/
$sql->db_Mark_Time("Start Simple URL-ReWrite Routine");
$tmp = e107::getAddonConfig('e_url');
$req = (e_HTTP === '/') ? ltrim(e_REQUEST_URI,'/') : str_replace(e_HTTP,'', e_REQUEST_URI) ;
if(count($tmp))
{
foreach($tmp as $plug=>$cfg)
{
foreach($cfg as $k=>$v)
{
$regex = '#'.$v['regex'].'#';
if(empty($v['redirect']))
{
continue;
}
$newLocation = preg_replace($regex, $v['redirect'], $req);
if($newLocation !=$req)
{
$redirect = e107::getParser()->replaceConstants($newLocation);
list($file,$query) = explode("?",$redirect,2);
if(!empty($query))
{
parse_str($query,$_GET);
}
e107::getMessage()->addDebug('e_URL in '.$plug.' with key: '.$k.' matched '.$v['regex'].' and included: '.$file.' with $_GET: '.print_a($_GET,true));
if(file_exists($file))
{
include_once($file);
exit;
}
elseif(getperms('0'))
{
echo "File missing: ".$file;
exit;
}
}
}
}
unset($tmp,$redirect,$regex);
}
// -----------------------------------------
$sql->db_Mark_Time("Start regular eFront Class");
$front = eFront::instance();
$front->init()
->run();
$request = $front->getRequest();
// If not already done - define legacy constants
$request->setLegacyQstring();
$request->setLegacyPage();
$inc = $front->isLegacy();
if($inc)
{
// last chance to set legacy env
$request->populateRequestParams();
if(!is_file($inc) || !is_readable($inc))
{
echo 'Bad request - destination unreachable - '.$inc;
}
include($inc);
exit;
}
$response = $front->getResponse();
if(e_AJAX_REQUEST)
{
$response->setParam('meta', false)
->setParam('render', false)
->send('default', false, true);
exit;
}
$response->sendMeta();
// -------------- Experimental -----------------
// unset($_SESSION['E:SOCIAL']);
if(vartrue($_GET['provider']) && !isset($_SESSION['E:SOCIAL']) && e107::getPref('social_login_active', false) && (e_ADMIN_AREA !== true))
{
require_once(e_HANDLER."hybridauth/Hybrid/Auth.php");
$config = array(
"base_url" => SITEURL.$HANDLERS_DIRECTORY."hybridauth/",
"providers" => e107::getPref('social_login', array())
);
// print_a($config);
// $params = array("hauth_return_to" => e_SELF);
$hybridauth = new Hybrid_Auth($config);
$prov = (!isset($config['providers'][$_GET['provider']])) ? "Facebook" : $_GET['provider'];
$adapter = $hybridauth->authenticate( $prov);
$user_profile = $adapter->getUserProfile();
$prov_id = $prov."_".$user_profile->identifier;
if($user_profile->identifier >0)
{
if (!$sql->db_Select("user", "*", "user_xup = '".$prov_id."' ")) // New User
{
$user_join = time();
$user_pass = md5($user_profile->identifier.$user_join);
$user_loginname = "xup_".$user_profile->identifier;
$insert = array(
'user_name' => $user_profile->displayName,
'user_email' => $user_profile->email,
'user_loginname' => $user_loginname,
'user_password' => $user_pass,
'user_login' => $user_profile->displayName,
'user_join' => $user_join,
'user_xup' => $prov_id
);
if($newid = $sql->db_Insert('user',$insert,true))
{
e107::getEvent()->trigger('usersup', $insert);
if(!USERID)
{
require_once(e_HANDLER.'login.php');
$usr = new userlogin($user_loginname, $user_pass, 'signup', '');
}
}
}
else // Existing User.
{
}
}
// echo "CHECKING";
$_SESSION['E:SOCIAL'] = (array) $user_profile;
echo "USERNAME=".USERNAME;
echo "
USEREMAIL=".USEREMAIL;
echo "
USERIMAGE=".USERIMAGE;
// print_a($_SESSION['E:SOCIAL']);
}
// -------------------------------------------
include_once(HEADERF);
eFront::instance()->getResponse()->send('default', false, true);
include_once(FOOTERF);
exit;
// BOOTSTRAP END