summaryrefslogtreecommitdiff
path: root/app/Helper
diff options
context:
space:
mode:
Diffstat (limited to 'app/Helper')
-rw-r--r--app/Helper/Model.php94
1 files changed, 94 insertions, 0 deletions
diff --git a/app/Helper/Model.php b/app/Helper/Model.php
new file mode 100644
index 00000000..68a52542
--- /dev/null
+++ b/app/Helper/Model.php
@@ -0,0 +1,94 @@
+<?php
+
+namespace Kanboard\Helper;
+
+use Kanboard\Core\Base;
+
+/**
+ * Model Helper
+ *
+ * @package helper
+ * @author Frederic Guillot
+ */
+class Model extends Base
+{
+ /**
+ * Remove keys from an array
+ *
+ * @access public
+ * @param array $values Input array
+ * @param string[] $keys List of keys to remove
+ */
+ public function removeFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (array_key_exists($key, $values)) {
+ unset($values[$key]);
+ }
+ }
+ }
+
+ /**
+ * Remove keys from an array if empty
+ *
+ * @access public
+ * @param array $values Input array
+ * @param string[] $keys List of keys to remove
+ */
+ public function removeEmptyFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (array_key_exists($key, $values) && empty($values[$key])) {
+ unset($values[$key]);
+ }
+ }
+ }
+
+ /**
+ * Force fields to be at 0 if empty
+ *
+ * @access public
+ * @param array $values Input array
+ * @param string[] $keys List of keys
+ */
+ public function resetFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (isset($values[$key]) && empty($values[$key])) {
+ $values[$key] = 0;
+ }
+ }
+ }
+
+ /**
+ * Force some fields to be integer
+ *
+ * @access public
+ * @param array $values Input array
+ * @param string[] $keys List of keys
+ */
+ public function convertIntegerFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (isset($values[$key])) {
+ $values[$key] = (int) $values[$key];
+ }
+ }
+ }
+
+ /**
+ * Force some fields to be null if empty
+ *
+ * @access public
+ * @param array $values Input array
+ * @param string[] $keys List of keys
+ */
+ public function convertNullFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (array_key_exists($key, $values) && empty($values[$key])) {
+ $values[$key] = null;
+ }
+ }
+ }
+}