public function updateACLParam() { $query = 'SELECT * FROM ' . $this->db->nameQuote('#__komento_acl'); $this->db->setQuery($query); $result = $this->db->loadObjectList(); foreach ($result as $row) { if (!empty($row->rules)) { $json = KomentoInstaller::getJSON(); $rules = $json->decode($row->rules); // foreach( $rules as $rule ) // { // // Migrate over some old key // if( $rule == 'delete_attachment' ) // { // $rule = 'delete_own_attachment'; // } // if( $rule == 'stick_comment' ) // { // $rule = 'stick_all_comment'; // } // $data->$rule = $rule->value ? true : false; // } $newRule = 'read_others_comment'; $rules->{$newRule} = true; $row->rules = $json->encode($rules); $this->db->updateObject('#__komento_acl', $row, 'id'); } } return true; }
public function updateACLParam() { $query = 'SELECT * FROM ' . $this->db->nameQuote('#__komento_acl'); $this->db->setQuery($query); $result = $this->db->loadObjectList(); foreach ($result as $row) { if (!empty($row->rules) && substr($row->rules, 0, 1) === '[' && substr($row->rules, -1, 1) === ']') { $data = new stdClass(); $json = KomentoInstaller::getJSON(); $rules = $json->decode($row->rules); foreach ($rules as $rule) { if (empty($rule->name)) { continue; } if (!isset($rule->value)) { $rule->value = false; } $rulename = $rule->name; // Migrate over some old key if ($rulename == 'delete_attachment') { $rulename = 'delete_own_attachment'; } if ($rulename == 'stick_comment') { $rulename = 'stick_all_comment'; } $data->{$rulename} = $rule->value ? true : false; } $row->rules = $json->encode($data); $this->db->updateObject('#__komento_acl', $row, 'id'); } } return true; }