public function get_avatarAction() { $this->noLayout(true); $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $connectObject = new Model_Facebook_Login(); $user_info = $connectObject->getDataByUserId(JO_Session::get('user[user_id]')); $user_id = 0; if ($user_info) { $user_id = $user_info['oauth_uid']; } else { $facebookObject = new Helper_Modules_Facebook(); $user_data = $facebookObject->getUser(true); if ($user_data && isset($user_data['id'])) { $user_id = $user_data['id']; } } if ($user_id) { $ph = new WM_Facebook_Photo(); $image = $ph->getRealUrl('http://graph.facebook.com/' . $user_id . '/picture?type=large'); $image_info = @getimagesize($image); if ($image_info) { $image_data = @file_get_contents($image); if ($image_data) { JO_Session::set('upload_avatar', array('name' => basename($image), 'type' => $image_info['mime'], 'data' => $image_data)); $this->view->success = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=temporary_avatar&hash=' . microtime(true)); } } } else { $this->view->error = $this->translate('There is no established connection with facebook!'); } } echo $this->renderScript('json'); }
public function indexAction() { $request = $this->getRequest(); if (!Helper_Config::get('enable_free_registration')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing')); } if (JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl())); } $settings = Model_Extensions::getSettingsPairs('facebook'); if (!isset($settings['facebook_register_with_facebook']) || !$settings['facebook_register_with_facebook']) { $this->forward('error', 'error404'); } elseif (!isset($settings['facebook_module_status_enable']) || !$settings['facebook_module_status_enable']) { $this->forward('error', 'error404'); } $user_data = JO_Session::get('facebook_user_data_register'); if (!$user_data) { $facebook = new Helper_Modules_Facebook(); $user_data = $facebook->getUser(true); if ($user_data) { $user_data['access_token'] = $facebook->facebook->getAccessToken(); } } if ($user_data) { $modelObject = new Model_Facebook_Login($user_data['id']); if ($modelObject->row) { $userObject = new Model_Users_User($modelObject->row['user_id']); if ($userObject->count()) { if (JO_Session::get('user[user_id]')) { if ($modelLogin->row['user_id'] == JO_Session::get('user[user_id]')) { JO_Session::set('user', $userObject->toArray()); } } else { JO_Session::set('user', $userObject->toArray()); } $modelObject->facebook = $facebook; $modelObject->update($user_data); if ($request->getQuery('next')) { $this->redirect(urldecode($request->getQuery('next'))); } else { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl())); } } } $shared_content = false; if (!Helper_Config::get('enable_free_registration')) { $shared_content = $modelObject->checkInvateFacebookID($user_data['id']); if (!$shared_content) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing')); } } $this->view->avatar = 'uploads' . Helper_Config::get('no_image'); if (!isset($user_data['avatarimage'])) { $ph = new WM_Facebook_Photo(); $user_data['avatar'] = $ph->getRealUrl('http://graph.facebook.com/' . $user_data['id'] . '/picture?type=large'); if (!@getimagesize($user_data['avatar'])) { $user_data['avatar'] = ''; } else { $this->view->avatar = $user_data['avatar']; } } JO_Session::set('facebook_user_data_register', $user_data); if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('username'), $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); if ($validate->_valid_form()) { if (Model_Users::isExistEmail($request->getPost('email'))) { $validate->_set_form_errors($this->translate('This e-mail address is already used')); $validate->_set_valid_form(false); } if (Model_Users::isExistUsername($request->getPost('username'))) { $validate->_set_form_errors($this->translate('This username is already used')); $validate->_set_valid_form(false); } } if ($validate->_valid_form()) { $result = new Model_Users_Create(array('gender' => isset($user_data['gender']) ? $user_data['gender'] : '', 'avatar' => $user_data['avatar'], 'location' => isset($user_data['hometown']['name']) ? $user_data['hometown']['name'] : '', 'website' => isset($user_data['website']) ? $user_data['website'] : '', 'username' => $request->getPost('username'), 'firstname' => isset($user_data['first_name']) ? $user_data['first_name'] : '', 'lastname' => isset($user_data['last_name']) ? $user_data['last_name'] : '', 'email' => $request->getPost('email'), 'password' => $request->getPost('password'))); if (!$result->error) { $userObject = new Model_Users_User($result->user_id); JO_Session::set('user', $userObject->toArray()); $modelObject->insert(array('email' => isset($user_data['email']) ? $user_data['email'] : '', 'user_id' => $result->user_id, 'oauth_uid' => $user_data['id'], 'access_token' => $user_data['access_token'])); if ($shared_content) { $modelObject->setInvate(array('self_id' => $result->user_id, 'user_id' => $shared_content['user_id'], 'if_id' => $shared_content['if_id'])); } JO_Session::clear('facebook_user_data_register'); if (JO_Session::issetKey('next') && JO_Session::get('next')) { $this->redirect(urldecode(JO_Session::get('next'))); } else { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl())); } } else { $this->view->error = implode('<br />', $result->error); //$this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->user_id_fb = $user_data['id']; $this->view->baseUrl = $request->getBaseUrl(); if ($request->issetPost('email')) { $this->view->email = $request->getPost('email'); } else { if (isset($user_data['email'])) { $this->view->email = $user_data['email']; } else { $this->view->email = ''; } } if ($request->issetPost('username')) { $this->view->username = $request->getPost('username'); } else { if (isset($user_data['username'])) { $this->view->username = $user_data['username']; } else { $this->view->username = ''; } } $this->view->password = $request->getPost('password'); } else { //not session $this->setViewChange('../login/error_login'); $page_login_trouble = Model_Pages::getPage(Helper_Config::get('page_login_trouble')); if ($page_login_trouble) { $this->view->page_login_trouble = array('title' => $page_login_trouble['title'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=pages&action=read&page_id=' . $page_login_trouble['page_id'])); } } if ($this->getLayout()->meta_title) { $this->getLayout()->placeholder('title', $this->getLayout()->meta_title . ' - ' . Helper_Config::get('meta_title')); } else { $this->getLayout()->placeholder('title', Helper_Config::get('meta_title')); } if ($this->getLayout()->meta_description) { $this->getLayout()->placeholder('description', $this->getLayout()->meta_description); } else { $this->getLayout()->placeholder('description', Helper_Config::get('meta_description')); } if ($this->getLayout()->meta_keywords) { $this->getLayout()->placeholder('keywords', $this->getLayout()->meta_keywords); } else { $this->getLayout()->placeholder('keywords', Helper_Config::get('meta_keywords')); } $this->getLayout()->placeholder('site_name', Helper_Config::get('site_name')); $this->view->site_name = Helper_Config::get('site_name'); $this->view->meta_title = Helper_Config::get('meta_title'); $this->getLayout()->placeholder('google_analytics', html_entity_decode(Helper_Config::get('google_analytics'), ENT_QUOTES, 'utf-8')); $this->view->baseUrl = $request->getBaseUrl(); $this->view->site_logo = $request->getBaseUrl() . 'data/images/logo.png'; if (Helper_Config::get('site_logo') && file_exists(BASE_PATH . '/uploads' . Helper_Config::get('site_logo'))) { $this->view->site_logo = $request->getBaseUrl() . 'uploads' . Helper_Config::get('site_logo'); } $this->view->login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); $this->view->check_username = WM_Router::create($request->getBaseUrl() . '?controller=modules_facebook_register&action=check_username'); $this->view->check_email = WM_Router::create($request->getBaseUrl() . '?controller=modules_facebook_register&action=check_email'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function registerAction($data = null) { $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'))); } if (!$data) { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=login')); } $fbData = $data['fbData']; $session = $data['session']; $shared_content = isset($data['shared_content']) ? $data['shared_content'] : ''; self::loginInit($fbData['id'], $session); $ph = new WM_Facebook_Photo(); $image = $ph->getRealUrl('http://graph.facebook.com/' . $fbData['id'] . '/picture?type=large'); if (!@getimagesize($image)) { $image = ''; } $this->view->error = false; if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('username'), $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); // $validate->_set_rules($request->getPost('firstname'), $this->translate('First name'), 'not_empty;min_length[3];max_length[100]'); // $validate->_set_rules($request->getPost('lastname'), $this->translate('Last name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); // $validate->_set_rules($request->getPost('password2'), $this->translate('Confirm password'), 'not_empty;min_length[4];max_length[30]'); if ($validate->_valid_form()) { // if( md5($request->getPost('password')) != md5($request->getPost('password2')) ) { // $validate->_set_form_errors( $this->translate('Password and Confirm Password should be the same') ); // $validate->_set_valid_form(false); // } if (Model_Users::isExistEmail($request->getPost('email'))) { $validate->_set_form_errors($this->translate('This e-mail address is already used')); $validate->_set_valid_form(false); } if (Model_Users::isExistUsername($request->getPost('username'))) { $validate->_set_form_errors($this->translate('This username is already used')); $validate->_set_valid_form(false); } } if ($validate->_valid_form()) { $reg_key = sha1($request->getPost('email') . $request->getPost('username')); $result = Model_Users::create(array('facebook_id' => $fbData['id'], 'gender' => isset($fbData['gender']) ? $fbData['gender'] : '', 'avatar' => $image ? $image : '', 'location' => isset($fbData['hometown']['name']) ? $fbData['hometown']['name'] : '', 'website' => isset($fbData['website']) ? $fbData['website'] : '', 'username' => $request->getPost('username'), 'firstname' => isset($fbData['first_name']) ? $fbData['first_name'] : '', 'lastname' => isset($fbData['last_name']) ? $fbData['last_name'] : '', 'email' => $request->getPost('email'), 'password' => $request->getPost('password'), 'delete_email' => isset($fbData['email']) ? $fbData['email'] : '', 'facebook_session' => $session, 'delete_code' => isset($shared_content['if_id']) ? $shared_content['if_id'] : '', 'following_user' => isset($shared_content['user_id']) ? $shared_content['user_id'] : '', 'facebook_connect' => 1, 'confirmed' => '0', 'regkey' => $reg_key)); if ($result) { //self::loginInit($fbData['id'], $session); if (self::sendMail($result)) { self::loginInit($fbData['id']); $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl())); } } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->user_id_fb = $fbData['id']; $this->view->baseUrl = $request->getBaseUrl(); if ($request->issetPost('email')) { $this->view->email = $request->getPost('email'); } else { if (isset($fbData['email'])) { $this->view->email = $fbData['email']; } else { $this->view->email = ''; } } if ($request->issetPost('firstname')) { $this->view->firstname = $request->getPost('firstname'); } else { if (isset($fbData['first_name'])) { $this->view->firstname = $fbData['first_name']; } else { $this->view->firstname = ''; } } // // if($request->issetPost('lastname')) { // $this->view->lastname = $request->getPost('lastname'); // } else { // if(isset($fbData['last_name'])) { // $this->view->lastname = $fbData['last_name']; // } else { // $this->view->lastname = ''; // } // } if ($request->issetPost('username')) { $this->view->username = $request->getPost('username'); } else { if (isset($fbData['username'])) { $this->view->username = $fbData['username']; } else { $this->view->username = ''; } } $this->view->password = $request->getPost('password'); // $this->view->password2 = $request->getPost('password2'); $this->setViewChange('register'); if ($this->getLayout()->meta_title) { $this->getLayout()->placeholder('title', $this->getLayout()->meta_title . ' - ' . JO_Registry::get('meta_title')); } else { $this->getLayout()->placeholder('title', JO_Registry::get('meta_title')); } if ($this->getLayout()->meta_description) { $this->getLayout()->placeholder('description', $this->getLayout()->meta_description); } else { $this->getLayout()->placeholder('description', JO_Registry::get('meta_description')); } if ($this->getLayout()->meta_keywords) { $this->getLayout()->placeholder('keywords', $this->getLayout()->meta_keywords); } else { $this->getLayout()->placeholder('keywords', JO_Registry::get('meta_keywords')); } $this->getLayout()->placeholder('site_name', JO_Registry::get('site_name')); $this->view->site_name = JO_Registry::get('site_name'); $this->view->meta_title = JO_Registry::get('meta_title'); $this->getLayout()->placeholder('google_analytics', html_entity_decode(JO_Registry::get('google_analytics'), ENT_QUOTES, 'utf-8')); $this->view->baseUrl = $request->getBaseUrl(); $this->view->site_logo = $request->getBaseUrl() . 'data/images/logo.png'; if (JO_Registry::get('site_logo') && file_exists(BASE_PATH . '/uploads' . JO_Registry::get('site_logo'))) { $this->view->site_logo = $request->getBaseUrl() . 'uploads' . JO_Registry::get('site_logo'); } $this->view->login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); $this->view->check_username = WM_Router::create($request->getBaseUrl() . '?controller=facebook&action=check_username'); $this->view->check_email = WM_Router::create($request->getBaseUrl() . '?controller=facebook&action=check_email'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function facebook_connect_avatarAction() { $request = $this->getRequest(); if (!$request->isXmlHttpRequest() || !JO_Session::get('user[user_id]')) { exit('[]'); } $session = JO_Registry::get('facebookapi')->getUser(); if ($session) { $fbData = $this->facebook->api('/me'); if ($fbData) { $ph = new WM_Facebook_Photo(); $image = $ph->getRealUrl('http://graph.facebook.com/' . $fbData['id'] . '/picture?type=large'); $image_info = @getimagesize($image); if ($image_info) { $image_data = @file_get_contents($image); if ($image_data) { JO_Session::set('upload_avatar', array('name' => basename($image), 'type' => $image_info['mime'], 'data' => $image_data)); $this->view->success = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=temporary_avatar&hash=' . microtime(true)); } } } else { $this->view->error = $this->translate('There is no established connection with facebook!'); } } else { $this->view->error = $this->translate('There is no established connection with facebook!'); } echo $this->renderScript('json'); }
public function registerfbAction() { $this->noViewRenderer(true); $request = $this->getRequest(); $response = $this->getResponse(); $page = (int) $request->getRequest('page'); if ($page < 1) { $page = 1; } $callback = $request->getRequest('callback'); if (!preg_match('/^([a-z0-9_.]{1,})$/', $callback)) { $callback = false; } $return = array(); $shared_content = Model_Users::checkSharedContent($request->getParam('key'), $request->getParam('user_id')); //self::loginInit($fbData['id'], $session); $ph = new WM_Facebook_Photo(); $image = $ph->getRealUrl('http://graph.facebook.com/' . $request->getPost('facebook_id') . '/picture?type=large'); if (!@getimagesize($image)) { $image = ''; } $this->view->error = false; if ($request->isPost()) { $session = $request->getPost('facebook_id'); //error_log("facebook id " . $session . " " . $request->getPost('username') . " " . $request->getPost('firstname')." ". $request->getPost('lastname')); $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('username'), $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); // $validate->_set_rules($request->getPost('firstname'), $this->translate('First name'), 'not_empty;min_length[3];max_length[100]'); // $validate->_set_rules($request->getPost('lastname'), $this->translate('Last name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); // $validate->_set_rules($request->getPost('password2'), $this->translate('Confirm password'), 'not_empty;min_length[4];max_length[30]'); if ($validate->_valid_form()) { if (md5($request->getPost('password')) != md5($request->getPost('password2'))) { $validate->_set_form_errors($this->translate('Password and Confirm Password should be the same')); $validate->_set_valid_form(false); //error_log("ERROR PASSS ". $request->getPost('password') . " " . $request->getPost('password2') ); } if (Model_Users::isExistEmail($request->getPost('email'))) { $validate->_set_form_errors($this->translate('This e-mail address is already used')); $validate->_set_valid_form(false); //error_log("ERROR MAIL ". $request->getPost('email')); } if (Model_Users::isExistUsername($request->getPost('username'))) { $validate->_set_form_errors($this->translate('This username is already used')); $validate->_set_valid_form(false); //error_log("ERROR USER ". $request->getPost('username')); } } if ($validate->_valid_form()) { $reg_key = sha1($request->getPost('email') . $request->getPost('username')); $result = Model_Users::create(array('facebook_id' => $request->getPost('facebook_id'), 'gender' => $request->getPost('gender'), 'avatar' => $image ? $image : '', 'location' => $request->getPost('location'), 'website' => $request->getPost('website'), 'username' => $request->getPost('username'), 'firstname' => $request->getPost('firstname'), 'lastname' => $request->getPost('lastname'), 'email' => $request->getPost('email'), 'password' => $request->getPost('password'), 'delete_email' => $request->getPost('email'), 'facebook_session' => $session, 'delete_code' => isset($shared_content['if_id']) ? $shared_content['if_id'] : '', 'following_user' => isset($shared_content['user_id']) ? $shared_content['user_id'] : '', 'facebook_connect' => 1, 'confirmed' => '0', 'regkey' => $reg_key)); if ($result) { if (self::sendMail($result)) { //self::loginInit($result); } $return = array('id' => $result); //['user_id']); //error_log("SIN ERROR ". $result); } else { $return = array('error' => 3, 'description' => $this->translate('There was a problem with the record. Please try again!')); //error_log("ERROR 3 "); } } else { $return = array('error' => 4, 'description' => str_replace("<br />", ". ", $validate->_get_error_messages())); //error_log("ERROR 4 " . str_replace("<br />", ". ", $validate->_get_error_messages())); } } $this->view->user_id_fb = $request->getPost('facebook_id'); $this->view->baseUrl = $request->getBaseUrl(); if ($request->issetPost('email')) { $this->view->email = $request->getPost('email'); } else { $this->view->email = ''; } if ($request->issetPost('firstname')) { $this->view->firstname = $request->getPost('firstname'); } else { $this->view->firstname = ''; } // // if($request->issetPost('lastname')) { // $this->view->lastname = $request->getPost('lastname'); // } else { // if(isset($fbData['last_name'])) { // $this->view->lastname = $fbData['last_name']; // } else { // $this->view->lastname = ''; // } // } if ($request->issetPost('username')) { $this->view->username = $request->getPost('username'); } else { $this->view->username = ''; } $this->view->password = $request->getPost('password'); // $this->view->password2 = $request->getPost('password2'); if ($callback) { $return = $callback . '(' . JO_Json::encode($return) . ')'; } else { $response->addHeader('Cache-Control: no-cache, must-revalidate'); $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); $response->addHeader('Content-type: application/json; charset=utf-8'); $return = JO_Json::encode($return); error_log("2RETURN " . $return); } $response->appendBody($return); }