public function add_tag($tag, $tagDisplay = false, $tagExpiry = false)
 {
     $Tags = new PerchMembers_Tags();
     $Tag = $Tags->find_or_create($tag, $tagDisplay);
     $data = array();
     $data['memberID'] = $this->id();
     $data['tagID'] = $Tag->id();
     if ($tagExpiry) {
         $data['tagExpires'] = date('Y-m-d H:i:s', strtotime($tagExpiry));
     }
     $sql = 'DELETE FROM ' . PERCH_DB_PREFIX . 'members_member_tags WHERE memberID=' . $this->db->pdb($this->id()) . ' AND tagID=' . $this->db->pdb($Tag->id());
     $this->db->execute($sql);
     $this->db->insert(PERCH_DB_PREFIX . 'members_member_tags', $data);
 }
     // existing tags
     $Tags->remove_from_member($Member->id(), $existing_tagIDs);
     // new tag
     if (isset($post['new-tag']) && $post['new-tag'] != '') {
         $tagset = $Tags->parse_string($post['new-tag']);
         if (PerchUtil::count($tagset)) {
             if (isset($post['new-expire']) && $post['new-expire'] != '') {
                 $tag_expiry = $Form->get_date('new-expires', $post);
                 if (!$tag_expiry) {
                     $tag_expiry = false;
                 }
             } else {
                 $tag_expiry = false;
             }
             foreach ($tagset as $tag) {
                 $Tag = $Tags->find_or_create($tag['tag'], $tag['tagDisplay']);
                 $Tag->add_to_member($Member->id(), $tag_expiry);
             }
         }
     }
     if (isset($post['send_email']) && $post['send_email'] == '1') {
         $Member->send_welcome_email();
     }
 }
 if ($result) {
     $message = $HTML->success_message('The member has been successfully updated. Return to %smember listing%s', '<a href="' . $API->app_path() . '">', '</a>');
 } else {
     if (!$message) {
         $message = $HTML->failure_message('Sorry, that member could not be updated, or no changes were made.');
     }
 }
Ejemplo n.º 3
0
function perch_member_add_tag($tag, $expiry_date = false)
{
    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_or_create($tag);
                if (is_object($Tag)) {
                    $Tag->add_to_member($Session->get('memberID'), $expiry_date);
                    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;
}