private function validate() { $request = $this->getRequest(); if (!$request->getPost('config[config_pin_prefix]')) { $this->error[] = $this->translate('Please enter Pin prefix'); } else { $reserved = $this->getReserved(); if (isset($reserved['pin'])) { unset($reserved['pin']); } $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('config[config_pin_prefix]'), $this->translate('Pin prefix'), 'not_empty;min_length[1];max_length[32];username'); if ($validate->_valid_form()) { if (array_key_exists(strtolower($request->getPost('config[config_pin_prefix]')), $reserved)) { $this->error[] = sprintf($this->translate('%s is system defined word for Pin prefix.'), $request->getPost('config[config_pin_prefix]')); } } else { $this->error[] = $validate->_get_error_messages(); } } if ($this->error) { return false; } return true; }
public function indexAction() { $request = $this->getRequest(); $this->view->invate_limit = 5; if ($request->isPost()) { $emails = array(); $this->view->send = array(); for ($i = 1; $i < $this->view->invate_limit; $i++) { $this->view->send[$i] = array('success' => false, 'error' => false); $validate = new Helper_Validate(); if ($request->getPost('email-' . $i) != $this->translate('Email Adress ' . $i)) { $validate->_set_rules($request->getPost('email-' . $i), $this->translate('Email Adress ' . $i), 'not_empty;min_length[5];max_length[100];email'); if ($validate->_valid_form()) { $shared_content = Model_Users::sharedContentInvate($request->getPost('email-' . $i)); if ($shared_content == 1) { $this->view->send[$i]['error'] = $this->translate('With this email address is already registered users!'); } else { if ($shared_content == 2) { $this->view->send[$i]['error'] = $this->translate('To this email has been sent an invitation!'); } else { $inser_key = Model_Users::sharedContent($request->getPost('email-' . $i)); if ($inser_key == -1) { $this->view->send[$i]['error'] = $this->translate('There was an error. Please try again later!'); } else { $this->view->shared_content = WM_Router::create($request->getBaseUrl() . '?controller=users&action=register&user_id=' . JO_Session::get('user[user_id]') . '&key=' . $inser_key); $this->view->header_title = JO_Registry::get('site_name'); $this->view->self_firstname = JO_Session::get('user[firstname]'); $this->view->Recipient_message = $request->getPost('note') != $this->translate('Add a personal note') ? $request->getPost('note') : ''; $result = Model_Email::send($request->getPost('email-' . $i), JO_Registry::get('noreply_mail'), sprintf($this->translate('New invate for %s from %s'), JO_Registry::get('site_name'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]')), $this->view->render('send_invate', 'mail')); if ($result) { $this->view->send[$i]['success'] = $this->translate('The invitation was sent successfully!'); } else { $this->view->send[$i]['error'] = $this->translate('There was an error. Please try again later!'); } } } } } else { $this->view->send[$i]['error'] = strip_tags($validate->_get_error_messages()); } } } if ($request->isXmlHttpRequest()) { echo $this->renderScript('json'); exit; } else { JO_Session::set('result_from_invate', $this->view->send); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=invites')); } } if (JO_Session::get('result_from_invate')) { $this->view->result_from_invate = JO_Session::get('result_from_invate'); JO_Session::clear('result_from_invate'); } $this->view->invites = WM_Router::create($request->getBaseUrl() . '?controller=invites'); $this->view->invites_fb = WM_Router::create($request->getBaseUrl() . '?controller=invites&action=facebook'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function indexAction() { $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl())); } if (Helper_Config::get('enable_free_registration')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=register')); } $this->view->login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); if (JO_Session::get('successfu_edite')) { $this->view->successfu_edite = true; JO_Session::clear('successfu_edite'); } if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); if ($validate->_valid_form()) { $shared_contentObject = new Model_Users_Invate(); $shared_content = $shared_contentObject->isInvatedByEmail($request->getPost('email')); if ($shared_content == 1) { $this->view->error = $this->translate('This e-mail address is already registered'); } else { if ($shared_content == 2) { $this->view->error = $this->translate('This e-mail address is already registered'); } else { if (($key = Model_Users::addSharedContent($request->getPost('email'))) !== false) { JO_Session::set('successfu_edite', true); if (Helper_Config::get('not_ri')) { Model_Email::send(Helper_Config::get('report_mail'), Helper_Config::get('noreply_mail'), $this->translate('New invitation request'), $this->translate('Hello, there is new invitation request in ') . ' ' . Helper_Config::get('site_name')); } $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing')); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function check_usernameAction() { $request = $this->getRequest(); $username = trim($request->getPost('raw')); if (strlen($username) < 3) { $this->view->error = $this->translate('Please use at least 3 characters'); } else { $validate = new Helper_Validate(); $validate->_set_rules($username, $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); if ($validate->_valid_form()) { if (Model_Users::isExistUsername($username)) { $validate->_set_form_errors($this->translate('This username is already used')); $validate->_set_valid_form(false); } } if ($validate->_valid_form()) { $this->view->success = $this->translate('Available'); } else { $this->view->error = $validate->_get_error_messages(); } } echo $this->renderScript('json'); }
public function indexAction() { $request = $this->getRequest(); $this->view->invate_limit = 5; if ($request->isPost()) { $emails = array(); $this->view->send = array(); for ($i = 1; $i < $this->view->invate_limit; $i++) { $this->view->send[$i] = array('success' => false, 'error' => false); $validate = new Helper_Validate(); if ($request->getPost('email-' . $i) != $this->translate('Email Adress ' . $i)) { $validate->_set_rules($request->getPost('email-' . $i), $this->translate('Email Adress ' . $i), 'not_empty;min_length[5];max_length[100];email'); if ($validate->_valid_form()) { $shared_content = Model_Users::sharedContentInvate($request->getPost('email-' . $i)); if ($shared_content == 1) { $this->view->send[$i]['error'] = $this->translate('With this email address is already registered users!'); } else { if ($shared_content == 2) { $this->view->send[$i]['error'] = $this->translate('To this email has been sent an invitation!'); } else { $inser_key = Model_Users::sharedContent($request->getPost('email-' . $i)); if ($inser_key == -1) { $this->view->send[$i]['error'] = $this->translate('There was an error. Please try again later!'); } else { $template = Model_Notification::getTemplate('send_invate'); if ($template) { $template_data = array('user_id' => JO_Session::get('user[user_id]'), 'user_firstname' => JO_Session::get('user[firstname]'), 'user_lastname' => JO_Session::get('user[lastname]'), 'user_fullname' => JO_Session::get('user[fullname]'), 'user_message' => $request->getPost('note') != $this->translate('Add a personal note') ? $request->getPost('note') : '', 'site_url' => $request->getBaseUrl(), 'site_name' => Helper_Config::get('site_name'), 'invate_url' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=register&user_id=' . JO_Session::get('user[user_id]') . '&key=' . $inser_key), 'mail_footer' => html_entity_decode(Helper_Config::get('mail_footer'), ENT_QUOTES, 'utf-8')); if (!$template['title']) { $template['title'] = $this->translate('Join and create your own pinboards'); } $title = Model_Notification::parseTemplate(html_entity_decode($template['title'], ENT_QUOTES, 'utf-8'), $template_data); $template = Model_Notification::parseTemplate(html_entity_decode($template['template'], ENT_QUOTES, 'utf-8'), $template_data); $result = Model_Email::send($request->getPost('email-' . $i), Helper_Config::get('noreply_mail'), $title, $template); if ($result) { $this->view->send[$i]['success'] = $this->translate('The invitation was sent successfully!'); } else { $this->view->send[$i]['error'] = $this->translate('There was an error. Please try again later!'); } } else { $this->view->send[$i]['error'] = $this->translate('There was an error. Please try again later!'); } } } } } else { $this->view->send[$i]['error'] = strip_tags($validate->_get_error_messages()); } } } if ($request->isXmlHttpRequest()) { echo $this->renderScript('json'); exit; } else { JO_Session::set('result_from_invate', $this->view->send); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=invites')); } } if (JO_Session::get('result_from_invate')) { $this->view->result_from_invate = JO_Session::get('result_from_invate'); JO_Session::clear('result_from_invate'); } $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part', 'methodsforinvates' => 'invates/methodsforinvates'); }
public function loginAction() { $request = $this->getRequest(); if ($request->getQuery('verify')) { $user_data = new Model_Users_User($request->getParam('user_id')); $error = false; if ($user_data->count() && $user_data['new_email_key'] == $request->getQuery('verify')) { $result = new Model_Users_Edit($user_data['user_id'], array('new_email_key' => '', 'email' => $user_data['new_email'])); if ($result->affected_rows) { JO_Session::set('user', array()); JO_Session::set('successful', $this->translate('You verifying your email. Now you can access with the data from e-mail!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $error = true; } } else { $error = true; } if ($error) { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { if (!$request->getParam('user_id') || !$request->getQuery('key')) { 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]'))); } } } $this->view->successful = false; if (JO_Session::get('successful')) { $this->view->successful = JO_Session::get('successful'); JO_Session::clear('successful'); } $this->view->error = false; if ($request->getParam('user_id') && $request->getQuery('key')) { $user_data = new Model_Users_User($request->getParam('user_id')); $error = false; if ($user_data->count() && $user_data['new_password_key'] == $request->getQuery('key')) { $result = new Model_Users_Edit($user_data['user_id'], array('password' => new JO_Db_Expr('`new_password`'), 'new_password' => '', 'new_password_key' => '')); if ($result->affected_rows) { JO_Session::set('user', array()); JO_Session::set('successful', $this->translate('You verifying forgotten password. Now you can access with the data from e-mail!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $error = true; } } else { $error = true; } if ($error) { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } $referer = $request->getServer('HTTP_REFERER'); $this->view->next = urlencode($request->getBaseUrl()); if ($referer) { $data = parse_url($referer); if (isset($data['host'])) { if (str_replace('www.', '', $data['host']) == $request->getDomain()) { $this->view->next = urlencode($referer); } } } if ($request->issetPost('next')) { $this->view->next = html_entity_decode($request->getPost('next')); } elseif ($request->getQuery('popup') == 'true' && $request->issetQuery('next')) { $this->view->next = urlencode(html_entity_decode($request->getQuery('next'))); } $this->view->is_forgot_password = (int) $request->getPost('forgot_password'); if (JO_Session::issetKey('forgot_password')) { $this->view->is_forgot_password = JO_Session::get('forgot_password'); JO_Session::clear('forgot_password'); } if ($request->isPost() && $request->issetPost('login')) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('email'), $this->translate('Email Address'), 'not_empty;min_length[5];max_length[100];email'); if ($request->getPost('forgot_password') != 1) { $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); } if ($validate->_valid_form()) { if ($request->getPost('forgot_password') == 1) { $result = new Model_Users_UserByEmail($request->getPost('email')); if ($result->count()) { if ($result['status']) { $new_password = JO_Rand::generateRandumString(8); $key_forgot = md5($result['user_id'] . md5($new_password)); $add_new_pass = new Model_Users_Edit($result['user_id'], array('new_password' => $new_password, 'new_password_key' => $key_forgot)); if ($add_new_pass->affected_rows) { $template = Model_Notification::getTemplate('send_forgot_password_request'); if ($template) { $template_data = array('user_id' => $result['user_id'], 'user_firstname' => $result['firstname'], 'user_lastname' => $result['lastname'], 'user_fullname' => $result['fullname'], 'user_username' => $result['username'], 'site_url' => $request->getBaseUrl(), 'site_name' => Helper_Config::get('site_name'), 'forgot_password_url' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&user_id=' . $result['user_id'] . '&key=' . $key_forgot), 'new_password' => $new_password, 'mail_footer' => html_entity_decode(Helper_Config::get('mail_footer'), ENT_QUOTES, 'utf-8')); if (!$template['title']) { $template['title'] = $this->translate('Your new password in') . ' ${site_name}'; } $template['title'] = Model_Notification::parseTemplate(html_entity_decode($template['title'], ENT_QUOTES, 'utf-8'), $template_data); $template['template'] = Model_Notification::parseTemplate(html_entity_decode($template['template'], ENT_QUOTES, 'utf-8'), $template_data); $result_send = Model_Email::send($result['email'], Helper_Config::get('noreply_mail'), $template['title'], $template['template']); if ($result_send) { JO_Session::set('forgot_password', $this->view->is_forgot_password); JO_Session::set('successful', $this->translate('Was sent the e-mail with instructions for the new password!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address was not found!'); } } else { $result = new Model_Users_Login($request->getPost('email'), $request->getPost('password')); if ($result->count()) { if ($result['status']) { //@setcookie('csrftoken_', md5($result['user_id'] . $request->getDomain() . $result['date_added'] ), (time() + ((86400*366)*5)), '/', '.'.$request->getDomain()); JO_Session::set(array('user' => $result->toArray())); $this->redirect(urldecode($this->view->next)); } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address and password do not match'); } } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->login_login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); //extensions $this->view->user_login_buttons = array(); $user_login_buttons = Model_Extensions::getByMethod('user_login'); foreach ($user_login_buttons as $id => $login) { $this->view->user_login_buttons[] = array('html' => $this->view->callChildren('modules_' . $login . '_loginbutton', $this->view->next), 'view' => $this->view->callChildrenView('modules_' . $login . '_loginbutton', $this->view->next), 'key' => $login); } if ($request->getQuery('popup') == 'true') { $this->view->site_name = Helper_Config::get('site_name'); $this->view->meta_title = Helper_Config::get('meta_title'); $this->view->popup = true; $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->setViewChange('loginPopup'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } else { $this->view->loginPopup = $this->view->render('loginPopup', 'users'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } }
public function resetAction() { $request = $this->getRequest(); if (!JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } $done = $request->issetQuery('done'); if ($done) { $this->forward('password', 'done'); } if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('email'), $this->translate('E-mail'), 'not_empty;min_length[5];max_length[100];email'); if ($validate->_valid_form()) { $result = Model_Users::forgotPassword($request->getPost('email')); if ($result) { if ($result['status']) { $new_password = Model_Users::generatePassword(8); $key_forgot = md5($result['user_id'] . md5($new_password)); $add_new_pass = Model_Users::edit($result['user_id'], array('new_password' => $new_password, 'new_password_key' => $key_forgot)); if ($add_new_pass) { $is_mail_smtp = JO_Registry::forceGet('config_mail_smtp'); $mail = new JO_Mail(); if ($is_mail_smtp) { $mail->setSMTPParams(JO_Registry::forceGet('config_mail_smtp_host'), JO_Registry::forceGet('config_mail_smtp_port'), JO_Registry::forceGet('config_mail_smtp_user'), JO_Registry::forceGet('config_mail_smtp_password')); } $this->view->new_password = $new_password; $this->view->user_info = $result; $this->view->forgot_password_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&user_id=' . $result['user_id'] . '&key=' . $key_forgot); $this->view->header_title = JO_Registry::get('site_name'); $this->view->base_href = WM_Router::create($request->getBaseUrl()); $mail->setFrom(JO_Registry::get('noreply_mail')); $mail->setReturnPath(JO_Registry::get('noreply_mail')); $mail->setSubject($this->translate('Request for forgotten password') . ' ' . JO_Registry::get('site_name')); $mail->setHTML($this->view->render('send_forgot_password_request', 'mail')); $result_send = (int) $mail->send(array($result['email']), $is_mail_smtp ? 'smtp' : 'mail'); if ($result_send) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=password&action=reset&done=')); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address was not found!'); } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=password&action=reset'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function editAction() { // var_dump( htmlspecialchars('⚐') );exit; $request = $this->getRequest(); $pin_id = $request->getRequest('pin_id'); // $pin_info = Model_Pins::getPin($pin_id); $pin_info = new Model_Pins_Pin($pin_id); if (!$pin_info->count() || $pin_info->data['pin_user_id'] != JO_Session::get('user[user_id]')) { $this->forward('error', 'error404'); } $pin_info = $pin_info->data; if ($request->isPost()) { $validate = new Helper_Validate(); if ($pin_info['pin_from']) { $validate->_set_rules($request->getPost('from'), $this->translate('Link'), 'not_empty;min_length[3];domain'); } else { if (trim($request->getPost('from'))) { $validate->_set_rules($request->getPost('from'), $this->translate('Link'), 'not_empty;min_length[3];domain'); } } $data = $request->getPost(); if ($validate->_valid_form()) { $edit = new Model_Pins_Edit($pin_id, $request->getPost()); $this->redirect(WM_Router::pinAction($pin_info['pin_pin_id'])); } else { $this->view->error = $validate->_get_error_messages(); } foreach ($data as $k => $v) { if (isset($pin_info['pin_' . $k])) { $pin_info['pin_' . $k] = $v; } } } $pin_info['images'] = Helper_Uploadimages::pinThumbs($pin_info); if ($pin_info['pin_gift']) { $pin_info['price_formated'] = WM_Currency::format($pin_info['pin_price']); } else { $pin_info['price_formated'] = ''; $pin_info['pin_price'] = 0; } $pin_info['href'] = WM_Router::pinAction($pin_info['pin_pin_id']); $this->view->pin_info = $pin_info; $view->get_user_friends = WM_Router::create($request->getBaseUrl() . '?controller=users&action=friends'); $boards = new Model_Boards_BoardsWithShared(array('filter_user_id' => JO_Session::get('user[user_id]'))); $this->view->boards = array(); if ($boards->count()) { foreach ($boards as $board) { $this->view->boards[] = array('board_id' => $board['board_board_id'], 'title' => $board['board_title']); } } ///////////////// Extension on edit ////////////////// $this->view->form_extensions = array(); $extensions = Model_Extensions::getByMethod('pin_oneditform'); if ($extensions) { $front = JO_Front::getInstance(); foreach ($extensions as $id => $ext) { $this->view->form_extensions[] = array('html' => $this->view->callChildren('modules_' . $ext . '_oneditform'), 'view' => $this->view->callChildrenView('modules_' . $ext . '_oneditform'), 'key' => $ext); } } $this->view->pin_delete = WM_Router::pinAction($pin_id, 'delete'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function indexAction() { $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl())); } if (JO_Registry::get('enable_free_registration')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=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'); if (JO_Session::get('successfu_edite')) { $this->view->successfu_edite = true; JO_Session::clear('successfu_edite'); } if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); if ($validate->_valid_form()) { $shared_content = Model_Users::sharedContentInvate($request->getPost('email')); if ($shared_content == 1) { $this->view->error = $this->translate('This e-mail address is already registered'); } else { if ($shared_content == 2) { $this->view->error = $this->translate('This e-mail address is already registered'); } else { if (($key = Model_Users::addSharedContent($request->getPost('email'))) !== false) { JO_Session::set('successfu_edite', true); if (JO_Registry::get('not_ri')) { Model_Email::send(JO_Registry::get('report_mail'), JO_Registry::get('noreply_mail'), $this->translate('New invitation request'), $this->translate('Hello, there is new invitation request in ') . ' ' . JO_Registry::get('site_name')); } $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing')); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } } } else { $this->view->error = $validate->_get_error_messages(); } } // $this->view->children = array( // 'header_part' => 'layout/header_part', // 'footer_part' => 'layout/footer_part' // ); }
public function indexAction() { $request = $this->getRequest(); if (!JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&popup=true&next=' . urlencode($request->getFullUrl()))); } $this->view->createBoard = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=create'); $boards = new Model_Boards_BoardsWithShared(array('filter_user_id' => JO_Session::get('user[user_id]'))); $this->view->boards = array(); if ($boards->count()) { foreach ($boards as $board) { $this->view->boards[] = array('board_id' => $board['board_board_id'], 'title' => $board['board_title']); } } ///////////////// Extension on create ////////////////// $this->view->form_extensions = array(); $extensions = Model_Extensions::getByMethod('pin_oncreateform'); if ($extensions) { $front = JO_Front::getInstance(); foreach ($extensions as $id => $ext) { $this->view->form_extensions[] = array('html' => $this->view->callChildren('modules_' . $ext . '_oncreateform'), 'view' => $this->view->callChildrenView('modules_' . $ext . '_oncreateform'), 'key' => $ext); } } $this->view->title = JO_Utf8::convertToUtf8($request->getQuery('title')); $this->view->url = JO_Utf8::convertToUtf8(urldecode($request->getQuery('url'))); $this->view->media = JO_Utf8::convertToUtf8($request->getQuery('media')); $this->view->is_video = JO_Utf8::convertToUtf8($request->getQuery('is_video')); $this->view->description = JO_Utf8::convertToUtf8($request->getQuery('description')); $this->view->charset = JO_Utf8::convertToUtf8($request->getQuery('charset')); if (is_array($request->getPost())) { foreach ($request->getPost() as $k => $v) { $this->view->{$k} = $v; } } if (!trim($this->view->description)) { $this->view->description = $this->view->title; } if (JO_Session::get('success_added')) { return $this->success(); } else { if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('description'), $this->translate('Description'), 'not_empty;min_length[1];max_length[500]'); $validate->_set_rules($request->getPost('board_id'), $this->translate('Board'), 'not_empty;'); if ($validate->_valid_form()) { $result = new Model_Pins_Create($request->getPost()); if ($result->count()) { $result = $result->data; ///add history new Model_History_AddHistory(JO_Session::get('user[user_id]'), Model_History_Abstract::ADDPIN, $result['pin_id']); //send notification $users = new Model_Users_GroupBoardUsers($request->getPost('board_id')); if ($users->count()) { $template = Model_Notification::getTemplate('group_board'); if ($template) { $pin_info = new Model_Pins_Pin($result['pin_id']); if ($pin_info->count()) { $mail_footer = html_entity_decode(Helper_Config::get('mail_footer'), ENT_QUOTES, 'utf-8'); foreach ($users as $user) { if ($user['email_interval'] == 1 && $user['groups_pin_email']) { $template_data = array('user_id' => $user['user_id'], 'user_firstname' => $user['firstname'], 'user_lastname' => $user['lastname'], 'user_fullname' => $user['fullname'], 'user_username' => $user['username'], 'author_url' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin_info['user_user_id']), 'author_fullname' => $pin_info['user_fullname'], 'board_url' => WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_info['user_user_id'] . '&board_id=' . $pin_info['board_board_id']), 'board_name' => $pin_info['board_title'], 'pin_url' => WM_Router::pinAction($result['pin_id']), 'mail_footer' => $mail_footer); if (!$template['title']) { $template['title'] = '${author_fullname} ' . $this->translate('added new pin to a group board'); } $title = Model_Notification::parseTemplate(html_entity_decode($template['title'], ENT_QUOTES, 'utf-8'), $template_data); $body = Model_Notification::parseTemplate(html_entity_decode($template['template'], ENT_QUOTES, 'utf-8'), $template_data); Model_Email::send($user['email'], Helper_Config::get('noreply_mail'), $title, $body); } } } } } JO_Session::set('success_added', $result['pin_id']); $this->redirect($request->getBaseUrl() . '?controller=bookmarklet'); } else { if ($result->error) { $this->view->error = $result->error; } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } } else { $this->view->error = $validate->_get_error_messages(); } } } }
public function editAction() { $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $board_id = $request->getRequest('board_id'); $board_info = new Model_Boards_Board($board_id); if (!$board_info->count()) { $this->forward('error', 'error404'); } if ($board_info['board_user_id'] != JO_Session::get('user[user_id]')) { $this->forward('error', 'error404'); } $this->view->is_edit = true; if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('newboard'), $this->translate('Board Name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('category_id'), $this->translate('Board Category'), 'not_empty'); if ($validate->_valid_form()) { $postData = array_merge($request->getPost(), array('title' => $request->getPost('newboard'))); if (Helper_Config::get('config_private_boards')) { $postData['public'] = (int) (!$request->issetPost('public')); } $result = new Model_Boards_Edit($board_id, $postData); if ($result->affected_rows) { $this->view->redirect = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['board_user_id'] . '&board_id=' . $board_info['board_board_id']); } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $validate->_get_error_messages(); } echo $this->renderScript('json'); } else { $this->view->title = $board_info['board_title']; $this->view->category_id = $board_info['board_category_id']; $this->view->board_description = $board_info['board_description']; $this->view->another_users = array(); $this->view->private = $board_info['board_public']; $this->view->board_id = $board_id; $b_users = $board_info['board_users_all'] ? explode(',', $board_info['board_users_all']) : array(); if ($b_users) { $board_users = new Model_Users_UsersInId($b_users); if ($board_users->count()) { foreach ($board_users as $user) { $this->view->another_users[] = array('user_id' => $user['user_id'], 'avatars' => Helper_Uploadimages::userAvatars($user), 'fullname' => $user['fullname'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user['user_id'])); } } } $self = array(); foreach ($board_info as $key => $data) { if (strpos($key, 'user_') === 0) { $self[substr($key, 5)] = $data; } } $uin = Model_Users::getUser($board_info['user_id']); $this->view->avatars = Helper_Uploadimages::userAvatars($self); $this->view->fullname = $self['fullname']; $this->view->userhref = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $board_info['user_user_id']); $this->view->friends_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=friends'); $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=edit&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']); $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']); $this->view->board_delete = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=delete&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']); /////private boards $this->view->enable_private_boards = Helper_Config::get('config_private_boards'); $private_boards = Model_Pages::getPage(Helper_Config::get('page_private_boards')); if ($private_boards) { $this->view->text_private_boards = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=pages&action=read&page_id=' . Helper_Config::get('page_private_boards')); } //////////// Categories //////////// $this->view->categories = Model_Categories::getCategories(array('filter_status' => 1)); $this->view->config_board_description_enable = Helper_Config::get('config_board_description_enable'); $this->view->popup_main_box = $this->view->render('popup_form', 'boards'); $this->setViewChange('form'); if ($request->isXmlHttpRequest()) { $this->view->popup = true; echo $this->view->popup_main_box; $this->noViewRenderer(true); } else { $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } } } else { if ($request->isXmlHttpRequest()) { $this->view->redirect = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); echo $this->renderScript('json'); } else { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } } }
public function emailAction() { $request = $this->getRequest(); $pin_id = $request->getRequest('pin_id'); $pin_info = Model_Pins::getPin($pin_id); if (!$pin_info) { $this->forward('error', 'error404'); } $this->view->pin_id = $pin_id; $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin_id); $this->view->url_form = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=email&pin_id=' . $pin_id); if ($request->issetPost('name')) { $this->view->Recipient_name = $request->getPost('name'); } else { $this->view->Recipient_name = $this->translate('Recipient Name'); } if ($request->issetPost('email')) { $this->view->Recipient_email = $request->getPost('email'); } else { $this->view->Recipient_email = $this->translate('Recipient Email'); } if ($request->issetPost('message')) { $this->view->Recipient_message = $request->getPost('message'); } else { $this->view->Recipient_message = $this->translate('Message'); } $this->view->pins_details = $this->view->render('email', 'pin'); $this->view->error = ''; if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('name'), $this->translate('Recipient Name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('email'), $this->translate('Recipient Email'), 'not_empty;min_length[5];max_length[100];email'); // $validate->_set_rules($request->getPost('message'), $this->translate('Message'), 'not_empty;min_length[15]'); if ($validate->_valid_form()) { $this->view->is_posted = true; $shared_content = Model_Users::sharedContent($request->getPost('email')); if ($shared_content != -1) { $this->view->shared_content = WM_Router::create($request->getBaseUrl() . '?controller=users&action=register&user_id=' . JO_Session::get('user[user_id]') . '&key=' . $shared_content); } $this->view->pin_info = $pin_info; $this->view->self_profile = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->self_fullname = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'); $this->view->self_firstname = JO_Session::get('user[firstname]'); $this->view->header_title = JO_Registry::get('site_name'); $result = Model_Email::send($request->getPost('email'), JO_Registry::get('noreply_mail'), $this->translate('Shared content from') . ' ' . JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'), $this->view->render('send_pin', 'mail')); if ($result) { $this->view->pins_details = $this->view->render('message_email', 'pin'); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } else { $this->view->error = $validate->_get_error_messages(); } $this->view->pin_oppener = $request->getPost('pin_oppener'); } if ($this->view->error) { $this->view->pins_details = $this->view->render('email', 'pin'); } $this->setViewChange('index'); if ($request->isXmlHttpRequest()) { $this->view->popup = true; echo $this->view->pins_details; $this->noViewRenderer(true); } else { $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part', 'left_part' => 'layout/left_part'); } }
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); }
public function loginAction() { $request = $this->getRequest(); if ($request->getQuery('verify')) { if (Model_Users::verifyEmailCheck($request->getQuery('verify'), $request->getParam('user_id'))) { JO_Session::set('successful', $this->translate('You verifying your email. Now you can access with the data from e-mail!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { 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]'))); } } $this->view->successful = false; if (JO_Session::get('successful')) { $this->view->successful = JO_Session::get('successful'); JO_Session::clear('successful'); } $this->view->error = false; if ($request->getParam('user_id') && $request->getQuery('key')) { if (Model_Users::forgotPasswordCheck($request->getQuery('key'), $request->getParam('user_id'))) { JO_Session::set('successful', $this->translate('You verifying forgotten password. Now you can access with the data from e-mail!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } $referer = $request->getServer('HTTP_REFERER'); $this->view->next = urlencode($request->getBaseUrl()); if ($referer) { $data = parse_url($referer); if (isset($data['host'])) { if (str_replace('www.', '', $data['host']) == $request->getDomain()) { $this->view->next = urlencode($referer); } } } if ($request->issetPost('next')) { $this->view->next = html_entity_decode($request->getPost('next')); } elseif ($request->getQuery('popup') == 'true' && $request->issetQuery('next')) { $this->view->next = urlencode(html_entity_decode($request->getQuery('next'))); } $this->view->is_forgot_password = (int) $request->getPost('forgot_password'); if ($request->isPost() && $request->issetPost('login')) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('email'), $this->translate('Email Address'), 'not_empty;min_length[5];max_length[100];email'); if ($request->getPost('forgot_password') != 1) { $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); } if ($validate->_valid_form()) { if ($request->getPost('forgot_password') == 1) { $result = Model_Users::forgotPassword($request->getPost('email')); if ($result) { if ($result['status']) { $new_password = Model_Users::generatePassword(8); $key_forgot = md5($result['user_id'] . md5($new_password)); $add_new_pass = Model_Users::edit($result['user_id'], array('new_password' => $new_password, 'new_password_key' => $key_forgot)); if ($add_new_pass) { $this->view->new_password = $new_password; $this->view->user_info = $result; $this->view->forgot_password_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&user_id=' . $result['user_id'] . '&key=' . $key_forgot); $this->view->header_title = JO_Registry::get('site_name'); $this->view->base_href = WM_Router::create($request->getBaseUrl()); $result_send = Model_Email::send($result['email'], JO_Registry::get('noreply_mail'), $this->translate('Request for forgotten password') . ' ' . JO_Registry::get('site_name'), $this->view->render('send_forgot_password_request', 'mail')); if ($result_send) { JO_Session::set('successful', $this->translate('Was sent the e-mail with instructions for the new password!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address was not found!'); } } else { $result = Model_Users::checkLogin($request->getPost('email'), $request->getPost('password')); if ($result) { if ($result['status']) { @setcookie('csrftoken_', md5($result['user_id'] . $request->getDomain() . $result['date_added']), time() + 86400 * 366 * 5, '/', '.' . $request->getDomain()); JO_Session::set(array('user' => $result)); $this->redirect(urldecode($this->view->next)); } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address and password do not match'); } } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->login_facebook = WM_Router::create($request->getBaseUrl() . '?controller=facebook&next=' . $this->view->next); $this->view->login_twitter = WM_Router::create($request->getBaseUrl() . '?controller=twitter&next=' . $this->view->next); $this->view->login_instagram = WM_Router::create($request->getBaseUrl() . '?controller=instagram&next=' . $this->view->next); $this->view->login_login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); if ($request->getQuery('popup') == 'true') { $this->view->site_name = JO_Registry::get('site_name'); $this->view->meta_title = JO_Registry::get('meta_title'); $this->view->popup = true; $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->setViewChange('loginPopup'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } else { $this->view->loginPopup = $this->view->render('loginPopup', 'users'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } }