/**
  * Loads step data from the database into the object
  * 
  * @param int $id
  * @return boolean
  */
 private function load($id)
 {
     $query = new \TaskerMAN\Core\DBQuery("SELECT `steps`.*,\r\n\t\t\t(\r\n\t\t\t\tSELECT `assignee_uid`\r\n\t\t\t\tFROM `tasks`\r\n\t\t\t\tWHERE `id` = `steps`.`task_id`\r\n\t\t\t) AS `assignee_uid`\r\n\t\t\tFROM `steps`\r\n\t\t\tWHERE `steps`.`id` = ?\r\n\t\t\tLIMIT 1\r\n\t\t");
     $query->execute($id);
     if ($query->rowCount() == 0) {
         return false;
     }
     $fetch = $query->row();
     $this->id = $id;
     $this->task_id = $fetch['task_id'];
     $this->assignee_uid = $fetch['assignee_uid'];
     $this->title = $fetch['title'];
     $this->comment = $fetch['comment'];
     return true;
 }
Ejemplo n.º 2
0
 /**
  * Loads task details from the database into the object
  *
  * @param int $id
  * @return boolean
  */
 private function load($id)
 {
     $query = new \TaskerMAN\Core\DBQuery("SELECT `tasks`.*,\r\n\t\t\t`users_assignee`.`name` AS `assignee_name`,\r\n\t\t\t`users_created`.`name` AS `created_name`\r\n\t\t\t\r\n\t\t\tFROM `tasks`\r\n\r\n\t\t\tJOIN `users` AS `users_assignee` ON `users_assignee`.`id` = `tasks`.`assignee_uid`\r\n\t\t\tJOIN `users` AS `users_created` ON `users_created`.`id` = `tasks`.`created_uid`\r\n\r\n\t\t\tWHERE `tasks`.`id` = ?\r\n\t\t\tLIMIT 1\r\n\t\t");
     $query->execute($id);
     if ($query->rowCount() == 0) {
         return false;
     }
     $fetch = $query->row();
     $this->id = $fetch['id'];
     $this->created_uid = $fetch['created_uid'];
     $this->created_name = $fetch['created_name'];
     $this->created_time = $fetch['created_time'];
     $this->assignee_uid = $fetch['assignee_uid'];
     $this->assignee_name = $fetch['assignee_name'];
     $this->due_by = $fetch['due_by'];
     $this->completed_time = $fetch['completed_time'];
     $this->status = $fetch['status'];
     $this->title = $fetch['title'];
 }
 /**
  * Creates a new user. Returns false if error, or the new user's id if success
  *
  * @param string $email
  * @param string $name
  * @param string $password
  * @param boolean $admin
  * @return mixed
  * @throws UserManagementException
  */
 public static function create($email, $name, $password, $admin = false)
 {
     // Check if email is valid
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
         throw new UserManagementException('Invalid email ' . $email);
         return false;
     }
     // Validate password
     if (!self::validatePassword($password)) {
         return false;
     }
     // Validate username
     if (empty($name) || strlen($name) > 50) {
         throw new UserManagementException('Name cannot be empty, and no more than 50 characters');
         return false;
     }
     // Check if user with this email already exists
     $query = new \TaskerMAN\Core\DBQuery("SELECT `email`\r\n\t\t\tFROM `users`\r\n\t\t\tWHERE `email` = ?\r\n\t\t\tLIMIT 1\r\n\t\t");
     $query->execute($email);
     if ($query->rowCount() > 0) {
         throw new UserManagementException('User with email ' . $email . ' already exists');
         return false;
     }
     // Hash password
     $password = password_hash($password, PASSWORD_DEFAULT);
     // Generate API Token
     $api_token = API::generateAPIToken();
     // Store user
     $query = new \TaskerMAN\Core\DBQuery("INSERT INTO `users`\r\n\t\t\t(`email`, `name`, `password`, `admin`, `api_token`)\r\n\t\t\tVALUES\r\n\t\t\t(:email, :name, :password, :admin, :api_token)\r\n\t\t");
     $query->bindValue(':email', $email);
     $query->bindValue(':name', $name);
     $query->bindValue(':password', $password);
     $query->bindValue(':admin', (int) $admin);
     $query->bindValue(':api_token', $api_token);
     $query->execute();
     return (int) $query->lastInsertID();
 }
Ejemplo n.º 4
0
 /**
  * Returns the API token for a given user id
  *
  * @param int user id
  * @return string API Token
  */
 public static function getUserAPIToken($uid)
 {
     $query = new \TaskerMAN\Core\DBQuery("SELECT `api_token`\r\n\t\t\tFROM `users`\r\n\t\t\tWHERE `id` = ?\r\n\t\t\tLIMIT 1\r\n\t\t");
     $query->execute($uid);
     if ($query->rowCount() < 1) {
         return false;
     }
     $fetch = $query->row();
     return $fetch['api_token'];
 }