示例#1
0
    function forgot()
    {
        $dis = array();
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $user = Users_Model::find_by_email($_POST['email']);
            if (sizeof($user) > 0) {
                $user->user_key = md5($_POST['email']);
                $subject = 'Please reset your password';
                $to = $_POST['email'];
                $body = "<p>We heard that you lost your password. Sorry about that!</p>\n\n\n\n<p>But don't worry! You can use the following link within the next day to reset your password:</p>\n\n\n\n<p>" . base_url() . "change-password/" . md5($to) . "</p>\n\n\n\n<p>If you don't use this link within 24 hours, it will expire. To get a new password reset link, visit " . base_url() . "forgot</p>\n\n\n\n<p>Thanks,<br />\n\nYour friends</p>";
                mail($to, $subject, $body);
                $dis['message'] = '<p class="success">We\'ve sent you an email containing a link that will allow you to reset your password for the next 24 hours.<br ><br >

                                                      Please check your spam folder if the email doesn\'t appear within a few minutes.</p>';
            } else {
                $dis['message'] = '<p class="error">Can\'t find that email, sorry.</p>';
            }
        }
        $dis['view'] = 'users/forgot';
        $this->view_front($dis);
    }
示例#2
0
 static function create_twitter_account($redirect_url)
 {
     $response = array('status' => false);
     if (isset($_SESSION['login'])) {
         unset($_SESSION['login']);
     }
     require_once ABSPATH . "/includes/plugins/twitter/twitteroauth.php";
     $tokens = $_SESSION['tokens'];
     $twitter_config = get_config('twitter');
     if ($tokens === null) {
         $connection = new TwitterOAuth($twitter_config['key'], $twitter_config['secret']);
         $request_token = $connection->getRequestToken($redirect_url);
         $_SESSION['tokens'] = array('oauth_token' => $request_token['oauth_token'], 'oauth_token_secret' => $request_token['oauth_token_secret']);
         switch ($connection->http_code) {
             case 200:
                 $url = $connection->getAuthorizeURL($request_token['oauth_token']);
                 $response = array('status' => 'redirect', 'url' => $url);
                 return $response;
                 break;
             default:
                 $response = array('status' => 'error', 'message' => 'Could not connect to Twitter. Refresh the page or try again later.');
                 return $response;
                 break;
         }
     } else {
         $connection = new TwitterOAuth($twitter_config['key'], $twitter_config['secret'], $tokens['oauth_token'], $tokens['oauth_token_secret']);
         $oauth_verifier = $connection->getAccessToken($_REQUEST['oauth_verifier']);
         // Let's get the user's info
         $user_info = $connection->get('account/verify_credentials');
         $followers = $user_info->followers_count;
         // Print user's info
         if (isset($user_info->error) || isset($user_info->errors)) {
             // Something's wrong, go back to square 1
             $response = array('status' => 'redirect_error', 'url' => base_url('login'), 'message' => $user_info->error);
             return $response;
         } else {
             $user = Users_Model::find_by_email($user_info->id);
             if (sizeof($user) <= 0) {
                 $user = new Users_Model();
             }
             $user->first_name = $user_info->screen_name;
             $user->last_name = $user_info->screen_name;
             $user->email = $user_info->id;
             $user->type = self::USER_TYPE_TWITTER;
             $user->twitter_oauth_token = $oauth_verifier['oauth_token'];
             $user->twitter_oauth_token_secret = $oauth_verifier['oauth_token_secret'];
             $user->registration_date = date("Y-m-d H:i:s");
             $user->save();
             /**
              * Update social meta key
              */
             $UserMeta = Usermetum::find_by_user_id_and_meta_key_and_meta_value($user->user_id, 'social_type', 'twitter');
             if (sizeof($UserMeta) <= 0) {
                 $UserMeta = new Usermetum();
             }
             $UserMeta->user_id = $user->user_id;
             $UserMeta->meta_key = 'social_type';
             $UserMeta->meta_value = 'twitter';
             $UserMeta->save();
             /**
              * Update social meta value
              */
             $UserMeta = Usermetum::find_by_user_id_and_meta_key_and_meta_value($user->user_id, 'social_id', $user_info->id);
             if (sizeof($UserMeta) <= 0) {
                 $UserMeta = new Usermetum();
             }
             $UserMeta->user_id = $user->user_id;
             $UserMeta->meta_key = 'social_id';
             $UserMeta->meta_value = $user_info->id;
             $UserMeta->save();
             /**
              * Save twitter user meta
              */
             $UserMeta = Usermetum::find('first', array('user_id' => $user->user_id, 'meta_key' => 'twitter_meta'));
             if (sizeof($UserMeta) <= 0) {
                 $UserMeta = new Usermetum();
             }
             $UserMeta->user_id = $user->user_id;
             $UserMeta->meta_key = 'twitter_meta';
             $UserMeta->meta_value = serialize($user_info);
             $UserMeta->save();
             /**
              * Update graph table content
              */
             $graph = Graph::find_by_user_id_and_date($user->user_id, date("Y-m-d"));
             if (sizeof($graph) <= 0) {
                 $graph = new Graph();
                 $graph->user_id = $user->user_id;
                 $graph->followers = $followers;
                 $graph->social = 10;
                 $graph->webclicks = 10;
                 $graph->coupon = 10;
                 $graph->date = date("Y-m-d");
                 $graph->save();
             } else {
                 $graph->followers = $followers;
                 $graph->save();
             }
             // see if we have a session
             $_SESSION['login'] = array('user_id' => $user->user_id, 'email' => $user_info->id, 'user_level' => 1, 'first_name' => $user_info->screen_name, 'last_name' => $user_info->screen_name, 'social_type' => 'twitter', 'oauth_verifier' => $oauth_verifier);
             $response = array('status' => 'success', 'url' => base_url('Twitter'));
         }
     }
     return $response;
 }