mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-20 16:37:48 +02:00
Add unread messages support
This commit is contained in:
parent
cfde77a0c1
commit
88b00e4e9f
12 changed files with 249 additions and 15 deletions
|
@ -24,6 +24,20 @@ namespace controllers\internals;
|
|||
$this->model = $this->model ?? new \models\Received($this->bdd);
|
||||
return $this->model;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return the list of unread messages for a user
|
||||
* @param int $id_user : User id
|
||||
* @param ?int $nb_entry : Number of entry to return
|
||||
* @param ?int $page : Pagination, used to calcul offset, $nb_entry * $page
|
||||
* @return array : Entrys list
|
||||
*/
|
||||
public function list_unread_for_user (int $id_user, ?int $nb_entry = null, ?int $page = null)
|
||||
{
|
||||
return $this->get_model()->list_unread_for_user($id_user, $nb_entry, $nb_entry * $page);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a received
|
||||
|
@ -31,16 +45,18 @@ namespace controllers\internals;
|
|||
* @param $text : Text of the message
|
||||
* @param string $origin : Number of the sender
|
||||
* @param string $destination : Number of the receiver
|
||||
* @param string $status : Status of the received message
|
||||
* @param bool $command : Is the sms a command
|
||||
* @return bool : false on error, new received id else
|
||||
*/
|
||||
public function create ($at, string $text, string $origin, string $destination, bool $command = false) : bool
|
||||
public function create ($at, string $text, string $origin, string $destination, string $status = 'unread', bool $command = false) : bool
|
||||
{
|
||||
$received = [
|
||||
'at' => $at,
|
||||
'text' => $text,
|
||||
'origin' => $origin,
|
||||
'destination' => $destination,
|
||||
'status' => $status,
|
||||
'command' => $command,
|
||||
];
|
||||
|
||||
|
@ -56,16 +72,18 @@ namespace controllers\internals;
|
|||
* @param $text : Text of the message
|
||||
* @param string $origin : Number of the sender
|
||||
* @param string $destination : Number of the receiver
|
||||
* @param string $status : Status of the received message
|
||||
* @param bool $command : Is the sms a command
|
||||
* @return bool : false on error, true on success
|
||||
*/
|
||||
public function update_for_user (int $id_user, int $id_received, $at, string $text, string $origin, string $destination, bool $command = false) : bool
|
||||
public function update_for_user (int $id_user, int $id_received, $at, string $text, string $origin, string $destination, string $status = 'unread', bool $command = false) : bool
|
||||
{
|
||||
$received = [
|
||||
'at' => $at,
|
||||
'text' => $text,
|
||||
'origin' => $origin,
|
||||
'destination' => $destination,
|
||||
'status' => $status,
|
||||
'command' => $command,
|
||||
];
|
||||
|
||||
|
@ -73,6 +91,50 @@ namespace controllers\internals;
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update a received message for a user to mark the message as read
|
||||
* @param int $id_user : user id
|
||||
* @param int $id_received : received id
|
||||
* @return bool : false on error, true on success
|
||||
*/
|
||||
public function mark_as_read_for_user (int $id_user, int $id_received) : bool
|
||||
{
|
||||
$received = [
|
||||
'status' => 'read',
|
||||
];
|
||||
|
||||
return (bool) $this->get_model()->update_for_user($id_user, $id_received, $received);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update a received message for a user to mark the message as unread
|
||||
* @param int $id_user : user id
|
||||
* @param int $id_received : received id
|
||||
* @return bool : false on error, true on success
|
||||
*/
|
||||
public function mark_as_unread_for_user (int $id_user, int $id_received) : bool
|
||||
{
|
||||
$received = [
|
||||
'status' => 'unread',
|
||||
];
|
||||
|
||||
return (bool) $this->get_model()->update_for_user($id_user, $id_received, $received);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return number of unread messages for a user
|
||||
* @param int $id_user : User id
|
||||
* @return array
|
||||
*/
|
||||
public function count_unread_for_user(int $id_user)
|
||||
{
|
||||
return $this->get_model()->count_unread_for_user($id_user);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Return x last receiveds message for a user, order by date
|
||||
* @param int $id_user : User id
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue