PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / helpers / src / task / status / helper / archiver.php

archiver.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/helpers/src/task/status/helper/archiver.php

73 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2025 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * Archiver helper trait to use for status change behaviors.
16 *
17 * @since 1.18 (J) - 1.8 (WP)
18 */
19 trait VBOTaskStatusHelperArchiver
20 {
21 /**
22 * Marks the provided task as archived.
23 *
24 * @param VBOTaskTaskregistry $task
25 *
26 * @return void
27 */
28 public function archive(VBOTaskTaskregistry $task)
29 {
30 $this->changeArchivedStatus($task, 1);
31 }
32
33 /**
34 * Marks the provided task as unarchived.
35 *
36 * @param VBOTaskTaskregistry $task
37 *
38 * @return void
39 */
40 public function unarchive(VBOTaskTaskregistry $task)
41 {
42 $this->changeArchivedStatus($task, 0);
43 }
44
45 /**
46 * Marks the provided task as archived or unarchived.
47 *
48 * @param VBOTaskTaskregistry $task
49 * @param int $status Use 1 to archive, 0 to unarchive.
50 *
51 * @return void
52 */
53 protected function changeArchivedStatus(VBOTaskTaskregistry $task, int $status)
54 {
55 $isArchived = (int) $task->get('archived');
56
57 if ($isArchived === $status) {
58 // nothing to change
59 return;
60 }
61
62 try {
63 // change the archived status
64 VBOTaskModelTask::getInstance()->update([
65 'id' => $task->getID(),
66 'archived' => $status,
67 ]);
68 } catch (Exception $error) {
69 // ignore and go ahead
70 }
71 }
72 }
73