Page MenuHomeMnkras Phabricator

collections.php
ActivePublic

Authored by Mnkras on Apr 12 2015, 3:34 PM.
<?php
/**
* Created by PhpStorm.
* User: michaelkrasnow
* Date: 3/25/15
* Time: 9:35 PM
*/
namespace DesignVise;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @Entity
* @Table(name="DVCollections")
*/
class Collections
{
public function __construct()
{
$this->items = new ArrayCollection();
}
/**
* @Id @Column(type="integer")
* @GeneratedValue
*/
protected $id;
public function getId()
{
return $this->id;
}
/**
* @Column(type="datetime")
*/
protected $dateCreated = null;
public function getDateCreated()
{
return $this->dateCreated;
}
/**
* @Column(type="datetime")
*/
protected $dateModified = null;
public function getDateModified()
{
return $this->dateModified;
}
/**
* @Column(type="string")
* @var string
*/
protected $title = '';
/**
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* @Column(type="string")
* @var string
*/
protected $description = '';
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @Column(type="string")
* @var string
*/
protected $accessCode = '';
/**
* @return string
*/
public function getAccessCode()
{
return $this->accessCode;
}
/**
* @Column(columnDefinition="integer unsigned")
* @var int User ID
*/
protected $owner = 0;
/**
* @return \UserInfo
*/
public function getOwner()
{
return \UserInfo::getByID($this->owner);
}
/**
* @Column(type="boolean")
* @var bool
*/
protected $canBrowse = true;
/**
* @param null|bool $value
* @return bool
*/
public function canBrowse($value = null)
{
if($value === null) {
return $this->canBrowse;
}
$this->canBrowse = (bool) $value;
return $this->canBrowse;
}
/**
* @OneToMany(targetEntity="DesignVise\Items", mappedBy="collections")
* @var Items[]|ArrayCollection
*/
private $items;
/**
* @return Items[]|ArrayCollection
*/
public function getItems()
{
return $this->items;
}
/**
* returns a collection object for the given collection ID
* @param int $id
* @return Collections
*/
public static function getByID($id)
{
$db = \Database::get();
$em = $db->getEntityManager();
return $em->find('\DesignVise\Collections', $id);
}
/**
* @param int $owner User ID
* @return int
*/
public static function getNumberOfCollections($owner)
{
$db = \Database::get();
$em = $db->getEntityManager();
$qb = $em->createQueryBuilder();
$qb->select($qb->expr()->count('c'))
->from('DesignVise\Collections', 'c')
->where('c.owner = ?1')
->setParameter(1, $owner);
$query = $qb->getQuery();
return $query->getSingleScalarResult();
}
}

Event Timeline

Mnkras changed the title of this paste from untitled to collections.php.
Mnkras updated the paste's language from autodetect to autodetect.
Mnkras changed the visibility from "All Users" to "Public (No Login Required)".
Mnkras added a project: Restricted Project.