protected function get_properties() { global $core; $properties = parent::get_properties(); $user = $core->user; if ($this->key) { unset($properties[Comment::NID]); if (!$user->has_permission(Module::PERMISSION_ADMINISTER)) { unset($properties[Comment::AUTHOR_IP]); } } else { $properties[Comment::AUTHOR_IP] = $_SERVER['REMOTE_ADDR']; if (!$user->is_guest) { $properties[Comment::UID] = $user->uid; } } if (!$user->has_permission(Module::PERMISSION_MANAGE, $this->module)) { $properties['status'] = null; } if (!$this->key && empty($properties['status'])) { $node = $core->models['nodes'][$properties[Comment::NID]]; $properties['status'] = $node->site->metas->get($this->module->flat_id . '.default_status', 'pending'); } return $properties; }