users.php 2.23 KB
<?php
class Flora_Api_Service_Users extends Flora_Api_Service
{
    const API_LOGIN = "users/login";
    const API_CHECKPASSWORD = "users/checkpassword";
    const API_RESETPASSWORD = "users/resetpassword";
    const API_LOGGED = "users/logged";
    const API_LOGOUT = "users/logout";
    const API_EXISTS = "users/exists";
    const API_UPDATE = "users/update";
    const API_ADDRESS_GET = 'users/address/get';
    const API_ADDRESS_PROCESS = 'users/address/process';
    const API_ADDRESS_DELETE = 'users/address/delete';

    public function login($email, $password, $remember = false, $checkip = true)
    {
        return $this->call(self::API_LOGIN, array(
            "email" => $email,
            "password" => $password,
            "remember" => $remember ? 1 : 0,
            "checkip" => $checkip ? 1 : 0
        ));
    }

    public function checkPassword($email, $password)
    {
        return $this->call(self::API_CHECKPASSWORD, array(
            "email" => $email,
            "password" => $password,
        ));
    }

    public function resetPassword($email)
    {
        return $this->call(self::API_RESETPASSWORD, array(
            "email" => $email
        ));
    }

    public function getLoggedUser()
    {
        return $this->call(self::API_LOGGED);
    }

    public function logout()
    {
        return $this->call(self::API_LOGOUT);
    }

    public function exists($email)
    {
        return $this->call(self::API_EXISTS, array("email" => $email));
    }

    public function updateInfo($password = '', $name = "", $phone = "", $country = "", $city = "", $birthday = 0)
    {
        return $this->call(self::API_UPDATE, array(
            "pass" => $password,
            "name" => $name,
            "phone" => $phone,
            "country" => $country,
            "city" => $city,
            "birthday" => (int)$birthday
        ));
    }

    public function addressGet()
    {
        return $this->call(self::API_ADDRESS_GET);
    }

    public function addressProcess(Flora_Validation_User_Address $record)
    {
        return $this->call(self::API_ADDRESS_PROCESS, array(), $record);
    }

    public function addressDelete($id)
    {
        return $this->call(self::API_ADDRESS_DELETE, array(), array("id" => $id));
    }
}