public function change_password($SubmittedForm)
 {
     $data = $SubmittedForm->data;
     if (isset($data['old_password']) && isset($data['password'])) {
         $old_clear_pwd = $data['old_password'];
         $new_clear_pwd = $data['password'];
         // check existing password
         $API = new PerchAPI(1.0, 'perch_members');
         $Session = PerchMembers_Session::fetch();
         $PerchMembers_Auth = new PerchMembers_Auth($API);
         $new_password = $PerchMembers_Auth->encrypt_new_password($Session->get('memberID'), $old_clear_pwd, $new_clear_pwd);
         if ($new_password) {
             $this->update(array('memberPassword' => $new_password));
             return true;
         } else {
             $SubmittedForm->throw_error('valid', 'old_password');
             return false;
         }
     }
     return false;
 }
예제 #2
0
function perch_member_remove_tag($tag)
{
    if ($tag) {
        $Session = PerchMembers_Session::fetch();
        if ($Session->logged_in) {
            if ($Session->has_tag($tag)) {
                $API = new PerchAPI(1.0, 'perch_members');
                $Tags = new PerchMembers_Tags($API);
                $Tag = $Tags->find_by_tag($tag);
                if (is_object($Tag)) {
                    $Tag->remove_from_member($Session->get('memberID'));
                    if (!headers_sent()) {
                        $Members = new PerchMembers_Members($API);
                        $Member = $Members->find($Session->get('memberID'));
                        $PerchMembers_Auth = new PerchMembers_Auth($API);
                        $PerchMembers_Auth->refresh_session_data($Member);
                    }
                    return true;
                }
            }
        }
    }
    return false;
}