Пример #1
0
 function login()
 {
     //json array return
     $jsonArray['status'] = 0;
     $jsonArray['message'] = "Error";
     if ($this->method == "POST") {
         //login data
         $username = $this->input->post('username', true);
         $password = $this->input->post('password', true);
         //get password hash
         $hash = $this->user_model->getHash($username);
         $test = password_verify($password, $hash);
         //check test
         if ($test) {
             //get required user data
             $userLoginData = $this->user_model->getUserLoginData($username);
             $userGroupData = $this->user_model->getUserGroupData($userLoginData['user_id']);
             if ($userLoginData['u_activation_link'] != 1) {
                 $jsonArray['message'] = "This account is not activated";
                 $jsonArray['status'] = 0;
                 $this->menuData['message'][] = "Your account is not activated!";
             } else {
                 $this->session->set_userdata('user', $userLoginData);
                 $this->session->set_userdata('usergroup', $userGroupData);
                 $this->session->set_userdata('isUserGroup', isUserGroup());
                 $this->session->set_userdata('isAdminGroup', isAdminGroup());
                 $this->session->set_userdata('isEngiGroup', isEngiGroup());
                 $this->session->set_userdata('isSubGroup', isSubGroup());
                 //json
                 $jsonArray['data'] = $this->session->get_userdata();
                 $jsonArray['status'] = 1;
                 $jsonArray['message'] = "OK";
             }
         } else {
             if ($this->input->post()) {
                 $jsonArray['status'] = 0;
                 $jsonArray['message'] = "Wrong login data";
             } else {
                 $jsonArray['status'] = 0;
                 $jsonArray['message'] = "Empty input data";
             }
         }
     } else {
         $jsonArray['status'] = 0;
         $jsonArray['message'] = "Only POST method allowed";
     }
     echo json_encode($jsonArray);
 }
Пример #2
0
/**
 * Registers the buttons for title area of the group profile page
 *
 * @param ElggGroup $group
 */
function groups_register_profile_buttons($group)
{
    $actions = array();
    // group owners
    if ($group->canEdit()) {
        $isAdmin = false;
        if (isSubGroup($group)) {
            if ($group->owner_guid == elgg_get_logged_in_user_guid() || elgg_is_admin_logged_in()) {
                $isAdmin = true;
            } else {
                if (isGroupAdmin($group)) {
                    $isAdmin = true;
                }
            }
        } else {
            $isAdmin = true;
        }
        if ($isAdmin) {
            // edit and invite
            $url = elgg_get_site_url() . "groups/edit/{$group->getGUID()}";
            $actions[$url] = 'groups:edit';
            $url = elgg_get_site_url() . "groups/invite/{$group->getGUID()}";
            $actions[$url] = 'groups:invite';
            $url = elgg_get_site_url() . "groups/copy/{$group->getGUID()}";
            $actions[$url] = 'groups:copy';
        }
    }
    // group members
    if ($group->isMember(elgg_get_logged_in_user_entity())) {
        if ($group->getOwnerGUID() != elgg_get_logged_in_user_guid()) {
            // leave
            $url = elgg_get_site_url() . "action/groups/leave?group_guid={$group->getGUID()}";
            $url = elgg_add_action_tokens_to_url($url);
            $actions[$url] = 'groups:leave';
        }
    } elseif (elgg_is_logged_in()) {
        // join - admins can always join.
        $url = elgg_get_site_url() . "action/groups/join?group_guid={$group->getGUID()}";
        $url = elgg_add_action_tokens_to_url($url);
        if ($group->isPublicMembership() || $group->canEdit()) {
            $actions[$url] = 'groups:join';
        } else {
            // request membership
            $actions[$url] = 'groups:joinrequest';
        }
    }
    if ($actions) {
        foreach ($actions as $url => $text) {
            $confirm = '';
            if ($text == 'groups:leave') {
                $confirm = elgg_echo('groups:leave:warning');
            }
            elgg_register_menu_item('title', array('name' => $text, 'href' => $url, 'text' => elgg_echo($text), 'link_class' => 'elgg-button elgg-button-action', 'confirm' => $confirm));
        }
    }
}