public function getSelect() { $select = parent::getSelect(); $permissions = new Omeka_Db_Select_PublicPermissions('UserProfiles_Profile'); $permissions->apply($select, 'user_profiles_profiles'); return $select; }
/** * Use SQL-based low-level permissions checking for exhibit queries. * * @return Omeka_Db_Select */ public function getSelect() { $select = parent::getSelect(); $permissions = new Omeka_Db_Select_PublicPermissions('ExhibitBuilder_Exhibits'); $permissions->apply($select, 'exhibits'); return $select; }
/** * Apply permissions checks to all SQL statements retrieving collections from the table * * @param string * @return void */ public function getSelect() { $select = parent::getSelect(); $permissions = new Omeka_Db_Select_PublicPermissions('Collections'); $permissions->apply($select, 'collections'); return $select; }
/** * Add permission check to location queries. * * Since all locations belong to an item we can override this method to join * the items table and add a permission check to the select object. * * @return Omeka_Db_Select */ public function getSelect() { $select = parent::getSelect(); $select->join(array('items' => $this->_db->Item), 'items.id = locations.item_id', array()); $permissions = new Omeka_Db_Select_PublicPermissions('Items'); $permissions->apply($select, 'items'); return $select; }
/** * Add public/private permissions filtering to base select. * * @return Omeka_Db_Select The filtered select. */ public function getSelect() { $select = parent::getSelect(); // Create the permissions manager. $permissions = new Omeka_Db_Select_PublicPermissions('Neatline_Exhibits'); // Filter out private exhibits for public users. $permissions->apply($select, $this->getTableAlias()); return $select; }
/** * Get the basic select query for exhibit pages. * * @return Omeka_Db_Select */ public function getSelect() { $select = parent::getSelect(); $request = Zend_Controller_Front::getInstance()->getRequest(); $db = $this->getDb(); $select->join(array('exhibits' => $db->Exhibit), 'exhibits.id = exhibit_pages.exhibit_id', array()); $permissions = new Omeka_Db_Select_PublicPermissions('ExhibitBuilder_Exhibits'); $permissions->apply($select, 'exhibits'); return $select; }
/** * All files should only be retrieved if they join properly on the items * table. * * @return Omeka_Db_Select */ public function getSelect() { $select = parent::getSelect(); $db = $this->getDb(); $select->joinInner(array('items' => $db->Item), 'items.id = files.item_id', array()); $permissions = new Omeka_Db_Select_PublicPermissions('Items'); $permissions->apply($select, 'items'); $select->group('files.id'); return $select; }
/** * Filter SELECT statement based on the type of tags to view (Item, Exhibit, etc.) * * @param Omeka_Db_Select * @param string * @return void */ public function filterByTagType($select, $type) { $db = $this->getDb(); //Showing tags related to items if ($type == 'Item') { //Join on the items table, add permissions checks for public $select->joinInner(array('items' => $db->Item), "items.id = records_tags.record_id AND records_tags.record_type = 'Item'", array()); $permissions = new Omeka_Db_Select_PublicPermissions('Items'); $permissions->apply($select, 'items'); } else { $select->where("records_tags.record_type = ?", (string) $type); } }
/** * Filter SELECT statement based on the type of tags to view (Item, Exhibit, etc.) * * @param Omeka_Db_Select * @param string * @return void */ public function filterByTagType($select, $type) { $db = $this->getDb(); $recordType = $db->quote($type); //Redo the "from" so we can change the join condition $select->reset(Zend_Db_Select::FROM)->from(array('tags' => $db->Tag), array())->joinLeft(array('records_tags' => $db->RecordsTags), "records_tags.tag_id = tags.id AND records_tags.record_type = {$recordType}", array()); //Showing tags related to items if ($type == 'Item') { //Join on the items table, add permissions checks for public $select->joinLeft(array('items' => $db->Item), "items.id = records_tags.record_id", array()); $permissions = new Omeka_Db_Select_PublicPermissions('Items'); $permissions->apply($select, 'items'); } }
public function getSelect() { $select = parent::getSelect(); $permissions = new Omeka_Db_Select_PublicPermissions('NeatlineTime_Timelines'); $permissions->apply($select, 'neatline_time_timelines', null); return $select; }
/** * Get the list of used item types for select form. * * @return array */ protected function _getUsedItemTypes() { $db = get_db(); $itemTypesTable = $db->getTable('ItemType'); $itemTypesAlias = $itemTypesTable->getTableAlias(); $select = $itemTypesTable->getSelect()->reset(Zend_Db_Select::COLUMNS)->from(array(), array($itemTypesAlias . '.id', $itemTypesAlias . '.name'))->joinInner(array('items' => $db->Item), "items.item_type_id = {$itemTypesAlias}.id", array())->group($itemTypesAlias . '.id')->order($itemTypesAlias . '.name ASC'); $permissions = new Omeka_Db_Select_PublicPermissions('Items'); $permissions->apply($select, 'items'); $itemTypes = $db->fetchPairs($select); return $itemTypes; }
public function getSelect() { $select = parent::getSelect(); $permissions = new Omeka_Db_Select_PublicPermissions('SimplePages_Page'); $permissions->apply($select, 'simple_pages_pages', 'created_by_user_id', 'is_published'); return $select; }