From e4842c406cb41329814c7a748401c6f6dcce11fa Mon Sep 17 00:00:00 2001 From: Ashley Ohlrogge Date: Wed, 10 Aug 2022 14:45:58 -0500 Subject: [PATCH 1/2] updates to work with v9 --- README.md | 4 +- attributes/multi_user_selector/controller.php | 52 ++++++++++--------- controller.php | 4 +- 3 files changed, 32 insertions(+), 28 deletions(-) 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..72dea92 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() ]); @@ -210,29 +208,35 @@ public function selectMultipleUsers($fieldName, $users = []) $(function() { $("#ccmUserSelect' . $id . ' .ccm-user-select-item").dialog(); $("a.ccm-user-list-clear").click(function() { + console.log(\'clear clicked\'); $(this).parents(\'tr\').remove(); }); $("#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 += "" + uName + ""; - html += "" + uEmail + ""; - html += ""; - html += ""; - $("#ccmUserSelect' . $id . '_body").append(html); - } + ConcreteEvent.subscribe(\'UserSearchDialogSelectUser.core\', function(e, data) { + jQuery.fn.dialog.closeTop(); + ConcreteEvent.unbind(e); + + if (data.users) { + data.users.forEach(function(user) { + var uID = user.id, uName = user.name, uEmail = user.email; + e.stopPropagation(); + $("tr.ccm-user-selected-item-none").hide(); + if ($("#ccmUserSelect' . $id . '_" + uID).length < 1) { + var html = ""; + html += "" + uName + ""; + html += "" + uEmail + ""; + html += ""; + html += ""; + $("#ccmUserSelect' . $id . '_body").append(html); + } + }); + } + $("a.ccm-user-list-clear").click(function() { $(this).parents(\'tr\').remove(); }); }); - ConcreteEvent.subscribe(\'UserSearchDialogAfterSelectUser\', function(e) { - jQuery.fn.dialog.closeTop(); - }); }); }); diff --git a/controller.php b/controller.php index 34652c3..2cc5f04 100755 --- a/controller.php +++ b/controller.php @@ -9,8 +9,8 @@ class controller extends Package { protected $pkgHandle = 'multi_user_selector_attribute'; - protected $appVersionRequired = '8.0'; - protected $pkgVersion = '0.9.1'; + protected $appVersionRequired = '9.0'; + protected $pkgVersion = '2.0.0'; public function getPackageName() { From 0389f38bd639d69469d442b579a76b951e85f4ff Mon Sep 17 00:00:00 2001 From: Ashley Ohlrogge Date: Wed, 10 Aug 2022 14:48:30 -0500 Subject: [PATCH 2/2] removing console log --- attributes/multi_user_selector/controller.php | 1 - 1 file changed, 1 deletion(-) diff --git a/attributes/multi_user_selector/controller.php b/attributes/multi_user_selector/controller.php index 72dea92..c21c244 100755 --- a/attributes/multi_user_selector/controller.php +++ b/attributes/multi_user_selector/controller.php @@ -208,7 +208,6 @@ public function selectMultipleUsers($fieldName, $users = []) $(function() { $("#ccmUserSelect' . $id . ' .ccm-user-select-item").dialog(); $("a.ccm-user-list-clear").click(function() { - console.log(\'clear clicked\'); $(this).parents(\'tr\').remove(); });