public function description ($query) { $params = array(); if (isset($query['meta']) && $query['meta'] == 'author' && isset($query['alias'])) { $params['type'] = 'author'; $params['id'] = $query['alias']; } elseif (isset($query['id'])) { $params['type'] = 'art'; $params['id'] = $query['id']; } else { return; } $text = Database::get_row( 'description', array('text', 'pretty_text'), 'type = ? and description_id = ?', $params ); if (!empty($text)) { $params = array_merge($params, $text); } if ($params['type'] == 'author') { $user = Meta_Author::get_data_by_alias((array) $params['id']); $user = current($user); $params['username'] = $user['name']; } else { $params['data'] = Database::get_full_row('art', $query['id']); $params['username'] = Database::get_field('user', 'username', $params['data']['user_id']); $params['alias'] = Meta_Author::get_alias_by_name($params['username']); $params['data']['weight'] = Transform_File::weight($params['data']['weight']); $params['data']['date'] = Transform_String::rudate(Database::date_to_unix($params['data']['date'])); } $params['can_edit'] = ($params['username'] == Globals::user_info('username')); return $params; }
protected function test_rights ($query) { if ($query['type'] == 'art') { $params = array( $query['id'], Globals::user_info('id') ); return Database::get_field('art', 'id', 'id = ? and user_id = ?', $params); } if ($query['type'] == 'author') { $user = Meta_Author::get_data_by_alias((array) $query['id']); if (empty($user)) { return false; } $user = current($user); return (Globals::user_info('username') == $user['name']); } }