diff --git a/README.md b/README.md index 085f5ef..0ab2a9b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Multiple user selector attribute type Requirements: -- concrete5 8+ -- PHP 5.6+ +- concrete5 9+ +- PHP 7.4+ diff --git a/attributes/multi_user_selector/controller.php b/attributes/multi_user_selector/controller.php index 23fb53f..c21c244 100755 --- a/attributes/multi_user_selector/controller.php +++ b/attributes/multi_user_selector/controller.php @@ -4,8 +4,6 @@ use Concrete\Core\Attribute\Controller as CoreController; use Concrete\Core\Support\Facade\UserInfo; -use Database; -use Core; class controller extends CoreController { @@ -19,7 +17,7 @@ public function getRawValue() return null; } - $db = Database::connection(); + $db = $this->app->make('database')->connection(); $value = $db->fetchColumn("SELECT value FROM atMultiUserSelector WHERE avID = ?", [ $this->attributeValue->getAttributeValueID(), ]); @@ -91,7 +89,7 @@ public function searchForm($list) { $value = $this->request($this->field('value')); $values = explode(',', $value); - $db = Database::get(); + $db = $this->app->make('database')->connection(); $tbl = $this->attributeKey->getIndexedSearchTable(); $i = 0; @@ -136,7 +134,7 @@ public function saveValue($value) return; } - $db = Database::connection(); + $db = $this->app->make('database')->connection(); if (is_array($value)) { $value = implode(',', $value); @@ -154,13 +152,12 @@ public function saveValue($value) public function saveKey($data) { - $db = Database::connection(); $ak = $this->getAttributeKey(); } public function deleteKey() { - $db = Database::connection(); + $db = $this->app->make('database')->connection(); foreach ($this->attributeKey->getAttributeValueIDList() as $id) { $db->query("DELETE FROM atMultiUserSelector WHERE avID = ?", [ $id @@ -170,7 +167,8 @@ public function deleteKey() public function saveForm($data) { - $this->saveValue($data['value']); + $value = isset($data['value']) ? $data['value'] : []; + $this->saveValue($value); } public function deleteValue() @@ -179,7 +177,7 @@ public function deleteValue() return null; } - $db = Database::connection(); + $db = $this->app->make('database')->connection(); $db->query("DELETE FROM atMultiUserSelector where avID = ?", [ $this->getAttributeValueID() ]); @@ -214,25 +212,30 @@ public function selectMultipleUsers($fieldName, $users = []) }); $("#ccmUserSelect' . $id . ' .ccm-user-select-item").on(\'click\', function() { - ConcreteEvent.subscribe(\'UserSearchDialogSelectUser\', function(e, data) { - var uID = data.uID, uName = data.uName, uEmail = data.uEmail; - e.stopPropagation(); - $("tr.ccm-user-selected-item-none").hide(); - if ($("#ccmUserSelect' . $id . '_" + uID).length < 1) { - var html = ""; - html += "