summaryrefslogtreecommitdiff
path: root/app/Model/Base.php
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2014-09-20 14:49:31 +0200
committerFrédéric Guillot <fred@kanboard.net>2014-09-20 14:49:31 +0200
commit41e796c52aa693d13636b54efe15705eaec27f3f (patch)
treebc670e457e98c1d8a9ac8e2b82bf8e2c424af328 /app/Model/Base.php
parent00cdc609d113fedf977da1d55136dc4d699fb308 (diff)
Models refactoring/improvements
Diffstat (limited to 'app/Model/Base.php')
-rw-r--r--app/Model/Base.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/app/Model/Base.php b/app/Model/Base.php
index e3f194b5..2b13e815 100644
--- a/app/Model/Base.php
+++ b/app/Model/Base.php
@@ -19,6 +19,7 @@ use PicoDb\Database;
* @property \Model\Board $board
* @property \Model\Category $category
* @property \Model\Comment $comment
+ * @property \Model\CommentHistory $commentHistory
* @property \Model\Color $color
* @property \Model\Config $config
* @property \Model\DateParser $dateParser
@@ -28,6 +29,7 @@ use PicoDb\Database;
* @property \Model\Project $project
* @property \Model\ProjectPermission $projectPermission
* @property \Model\SubTask $subTask
+ * @property \Model\SubtaskHistory $subtaskHistory
* @property \Model\Task $task
* @property \Model\TaskExport $taskExport
* @property \Model\TaskHistory $taskHistory
@@ -85,4 +87,52 @@ abstract class Base
{
return Tool::loadModel($this->registry, $name);
}
+
+ /**
+ * Remove keys from an array
+ *
+ * @access public
+ * @param array $values Input array
+ * @param array $keys List of keys to remove
+ */
+ public function removeFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (isset($values[$key])) {
+ unset($values[$key]);
+ }
+ }
+ }
+
+ /**
+ * Force some fields to be at 0 if empty
+ *
+ * @access public
+ * @param array $values Input array
+ * @param array $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 array $keys List of keys
+ */
+ public function convertIntegerFields(array &$values, array $keys)
+ {
+ foreach ($keys as $key) {
+ if (isset($values[$key])) {
+ $values[$key] = (int) $values[$key];
+ }
+ }
+ }
}