예제 #1
0
 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;
 }
예제 #2
0
 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;
 }