diff --git a/extension.driver.php b/extension.driver.php index b41b009..3b77436 100644 --- a/extension.driver.php +++ b/extension.driver.php @@ -49,16 +49,40 @@ public function update($previousVersion = false) $ret = true; if ($ret && version_compare($previousVersion,'1.1.0') == -1) { - $ret1 = Symphony::Database()->query(" - ALTER TABLE `tbl_fields_systemcreateddate` - ADD COLUMN `show_time` enum('yes','no') NOT NULL DEFAULT 'no', - ADD COLUMN `use_timeago` enum('yes','no') NOT NULL DEFAULT 'no' - "); - $ret2 = Symphony::Database()->query(" - ALTER TABLE `tbl_fields_systemmodifieddate` - ADD COLUMN `show_time` enum('yes','no') NOT NULL DEFAULT 'no', - ADD COLUMN `use_timeago` enum('yes','no') NOT NULL DEFAULT 'no' - "); + $ret1 = Symphonmy::Database() + ->alter('tbl_fields_systemcreateddate') + ->add([ + 'show_time' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + 'use_timeago' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + ]) + ->execute() + ->success(); + + $ret2 = Symphonmy::Database() + ->alter('tbl_fields_systemmodifieddate') + ->add([ + 'show_time' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + 'use_timeago' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + ]) + ->execute() + ->success(); + $ret = $ret1 && $ret2; } @@ -67,33 +91,77 @@ public function update($previousVersion = false) public function uninstall() { - $ret1 = Symphony::Database()->query("DROP TABLE `tbl_fields_systemcreateddate`"); - $ret2 = Symphony::Database()->query("DROP TABLE `tbl_fields_systemmodifieddate`"); + $ret1 = Symphony::Database() + ->drop('tbl_fields_systemcreateddate') + ->ifExists() + ->execute() + ->success(); + + $ret2 = Symphony::Database() + ->drop('tbl_fields_systemmodifieddate') + ->ifExists() + ->execute() + ->success(); + return $ret1 && $ret2; } public function install() { - $ret1 = Symphony::Database()->query(" - CREATE TABLE `tbl_fields_systemcreateddate` ( - `id` int(11) unsigned NOT NULL auto_increment, - `field_id` int(11) unsigned NOT NULL, - `show_time` enum('yes','no') NOT NULL DEFAULT 'no', - `use_timeago` enum('yes','no') NOT NULL DEFAULT 'no', - PRIMARY KEY (`id`), - KEY `field_id` (`field_id`) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci - "); - $ret2 = Symphony::Database()->query(" - CREATE TABLE `tbl_fields_systemmodifieddate` ( - `id` int(11) unsigned NOT NULL auto_increment, - `field_id` int(11) unsigned NOT NULL, - `show_time` enum('yes','no') NOT NULL DEFAULT 'no', - `use_timeago` enum('yes','no') NOT NULL DEFAULT 'no', - PRIMARY KEY (`id`), - KEY `field_id` (`field_id`) - ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci - "); + $ret1 = Symphony::Database() + ->create('tbl_fields_systemcreateddate') + ->ifNotExists() + ->fields([ + 'id' => [ + 'type' => 'int(11)', + 'auto' => true, + ], + 'field_id' => 'int(11)', + 'show_time' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + 'use_timeago' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + ]) + ->keys([ + 'id' => 'primary', + 'field_id' => 'key', + ]) + ->execute() + ->success(); + + $ret2 = Symphony::Database() + ->create('tbl_fields_systemmodifieddate') + ->ifNotExists() + ->fields([ + 'id' => [ + 'type' => 'int(11)', + 'auto' => true, + ], + 'field_id' => 'int(11)', + 'show_time' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + 'use_timeago' => [ + 'type' => 'enum', + 'values' => ['yes','no'], + 'default' => 'no', + ], + ]) + ->keys([ + 'id' => 'primary', + 'field_id' => 'key', + ]) + ->execute() + ->success(); + return $ret1 && $ret2; } } diff --git a/extension.meta.xml b/extension.meta.xml index 77e1fd3..91ac6f0 100644 --- a/extension.meta.xml +++ b/extension.meta.xml @@ -15,12 +15,14 @@ + + - Update for Symphony 4.x + - PHP7 compatibility + - Code refactoring for Database and EQFA + - Symphony 2.7.0 compatibility - - - PHP7 compatibility - - Unify Styling of readonly values diff --git a/lib/class.systemdate.php b/lib/class.systemdate.php index eb657fe..34374ad 100644 --- a/lib/class.systemdate.php +++ b/lib/class.systemdate.php @@ -35,12 +35,13 @@ protected abstract function getFieldName(); private function dateFromEntryID($entry_id) { - return Symphony::Database()->fetchRow(0, sprintf(" - SELECT %s - FROM `tbl_entries` - WHERE `id` = %d - LIMIT 1 - ", $this->getFieldName(), $entry_id)); + return Symphony::Database() + ->select([$this->getFieldName()]) + ->from('tbl_entries') + ->where(['id' => $entry_id]) + ->limit(1) + ->execute() + ->next(); } private function getDateFormat() @@ -102,7 +103,7 @@ public function displayPublishPanel(XMLElement &$wrapper, $data = null, $flagWit { $label = new XMLElement('label'); $wrapper->appendChild($label); - + $row = $this->dateFromEntryID($entry_id); $date = $this->parseDate($row); $value = $this->formatDate($date); @@ -125,10 +126,10 @@ public function checkPostFieldData($data, &$message, $entry_id = null) return self::__OK__; } - public function processRawFieldData($data, &$status, &$message = NULL, $simulate = false, $entry_id = null) + public function processRawFieldData($data, &$status, &$message = null, $simulate = false, $entry_id = null) { $status = self::__OK__; - return NULL; + return null; } public function commit()