/**
  * @return array Array of permission item ids associated with the current permission
  */
 public function getPermissionItemIds()
 {
     if (is_null($this->permissionItemIds)) {
         $c = new Criteria();
         $c->addAnd(PermissionToPermissionItemPeer::PERMISSION_ID, $this->getId(), Criteria::EQUAL);
         $results = PermissionToPermissionItemPeer::doSelect($c);
         if (!$results) {
             return null;
         }
         $ids = array();
         foreach ($results as $result) {
             $ids[] = $result->getPermissionItemId();
         }
         $this->permissionItemIds = $ids;
     }
     return $this->permissionItemIds;
 }
 /**
  * Gets an array of PermissionToPermissionItem objects which contain a foreign key that references this object.
  *
  * If this collection has already been initialized with an identical Criteria, it returns the collection.
  * Otherwise if this PermissionItem has previously been saved, it will retrieve
  * related PermissionToPermissionItems from storage. If this PermissionItem is new, it will return
  * an empty collection or the current collection, the criteria is ignored on a new object.
  *
  * @param      PropelPDO $con
  * @param      Criteria $criteria
  * @return     array PermissionToPermissionItem[]
  * @throws     PropelException
  */
 public function getPermissionToPermissionItems($criteria = null, PropelPDO $con = null)
 {
     if ($criteria === null) {
         $criteria = new Criteria(PermissionItemPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collPermissionToPermissionItems === null) {
         if ($this->isNew()) {
             $this->collPermissionToPermissionItems = array();
         } else {
             $criteria->add(PermissionToPermissionItemPeer::PERMISSION_ITEM_ID, $this->id);
             PermissionToPermissionItemPeer::addSelectColumns($criteria);
             $this->collPermissionToPermissionItems = PermissionToPermissionItemPeer::doSelect($criteria, $con);
         }
     } else {
         // criteria has no effect for a new object
         if (!$this->isNew()) {
             // the following code is to determine if a new query is
             // called for.  If the criteria is the same as the last
             // one, just return the collection.
             $criteria->add(PermissionToPermissionItemPeer::PERMISSION_ITEM_ID, $this->id);
             PermissionToPermissionItemPeer::addSelectColumns($criteria);
             if (!isset($this->lastPermissionToPermissionItemCriteria) || !$this->lastPermissionToPermissionItemCriteria->equals($criteria)) {
                 $this->collPermissionToPermissionItems = PermissionToPermissionItemPeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastPermissionToPermissionItemCriteria = $criteria;
     return $this->collPermissionToPermissionItems;
 }
     $file = fopen("{$dir}/object.{$object}.ini", 'w');
     fputs($file, "[parameter_permission_items]\n");
     $currentIndex = 0;
     $currentObject = $object;
 }
 $currentIndex++;
 fputs($file, "permissionItem{$currentIndex}.object = {$object}\n");
 fputs($file, "permissionItem{$currentIndex}.parameter = {$parameter}\n");
 fputs($file, "permissionItem{$currentIndex}.action = {$action}\n");
 fputs($file, "permissionItem{$currentIndex}.partnerId = {$partnerId}\n");
 fputs($file, "permissionItem{$currentIndex}.param4 = {$param4}\n");
 fputs($file, "permissionItem{$currentIndex}.param5 = {$param5}\n");
 fputs($file, "permissionItem{$currentIndex}.tags = {$tags}\n");
 $criteria = new Criteria();
 $criteria->add(PermissionToPermissionItemPeer::PERMISSION_ITEM_ID, $parameterPermissionItem->getId());
 $permissionToPermissionItems = PermissionToPermissionItemPeer::doSelect($criteria);
 $permissions = array();
 foreach ($permissionToPermissionItems as $permissionToPermissionItem) {
     /* @var $permissionToPermissionItem PermissionToPermissionItem */
     if (!isset($permissionArray[$permissionToPermissionItem->getPermissionId()])) {
         continue;
     }
     $permission = $permissionArray[$permissionToPermissionItem->getPermissionId()];
     /* @var $permission Permission */
     $permissionName = $permission->getName();
     $permissionPartnerId = $permission->getPartnerId();
     if ($permissionPartnerId != $partnerId) {
         $permissionName = "{$permissionPartnerId}>{$permissionName}";
     }
     $permissions[] = $permissionName;
 }
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(PermissionToPermissionItemPeer::DATABASE_NAME);
         $criteria->add(PermissionToPermissionItemPeer::ID, $pks, Criteria::IN);
         $objs = PermissionToPermissionItemPeer::doSelect($criteria, $con);
     }
     return $objs;
 }