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;
 }
Example #3
0
 /**
  * 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;
 }
Example #5
0
 /**
  * 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;
 }
Example #7
0
 /**
  * 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;
 }
Example #8
0
File: Tag.php Project: kyfr59/cg35
 /**
  * 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);
     }
 }
Example #9
0
 /**
  * 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;
 }