public function testCRUD() { $topic = $this->get_component_node('org.openpsa.slideshow'); midcom::get('auth')->request_sudo('org.openpsa.slideshow'); $image = new org_openpsa_slideshow_image_dba(); $image->topic = $topic->id; $stat = $image->create(); $this->assertTrue($stat); $this->register_object($image); $image->title = 'TEST'; $stat = $image->update(); $this->assertTrue($stat); $this->assertEquals('TEST', $image->title); $stat = $image->delete(); $this->assertTrue($stat); midcom::get('auth')->drop_sudo(); }
private function _get_folder_thumbnails($folders) { $thumbnails = array(); foreach ($folders as $i => $folder) { $thumbnails[$i] = null; $qb = org_openpsa_slideshow_image_dba::new_query_builder(); $qb->add_constraint('topic', '=', $folder->id); $qb->add_order('position'); $qb->set_limit(1); $results = $qb->execute(); if (sizeof($results) == 1) { $thumbnails[$i] = $results[0]; } } return $thumbnails; }
private function _upload_image(array $file, org_openpsa_slideshow_image_dba $image) { $attachment = new midcom_db_attachment(); $attachment->name = midcom_db_attachment::safe_filename($file['name']); $attachment->title = $_POST['title']; $attachment->mimetype = $file['type']; $attachment->parentguid = $image->guid; if (!$attachment->create() || !$attachment->copy_from_file($file['tmp_name'])) { throw new midcom_error('Failed to create attachment: ' . midcom_connection::get_error_string()); } $this->_response->filename = $attachment->name; $image->attachment = $attachment->id; $image->generate_image('thumbnail', $this->_config->get('thumbnail_filter')); $image->generate_image('image', $this->_config->get('image_filter')); $image->update(); }