public static function add(\Concrete\Core\File\File $file, $filename, $prefix, $data = array()) { $u = new User(); $uID = isset($data['uID']) && $data['uID'] > 0 ? $data['uID'] : $u->getUserID(); if ($uID < 1) { $uID = 0; } $fvTitle = isset($data['fvTitle']) ? $data['fvTitle'] : ''; $fvDescription = isset($data['fvDescription']) ? $data['fvDescription'] : ''; $fvTags = isset($data['fvTags']) ? Version::cleanTags($data['fvTags']) : ''; $fvIsApproved = isset($data['fvIsApproved']) ? $data['fvIsApproved'] : '1'; $db = Database::get(); $dh = Core::make('helper/date'); $date = new Carbon($dh->getOverridableNow()); $fv = new static(); $fv->fvFilename = $filename; $fv->fvPrefix = $prefix; $fv->fvDateAdded = $date; $fv->fvIsApproved = (bool) $fvIsApproved; $fv->fvApproverUID = $uID; $fv->fvAuthorUID = $uID; $fv->fvActivateDateTime = $date; $fv->fvTitle = $fvTitle; $fv->fvDescription = $fvDescription; $fv->fvTags = $fvTags; $fv->file = $file; $fv->fvID = 1; $em = \ORM::entityManager('core'); $em->persist($fv); $em->flush(); $fve = new \Concrete\Core\File\Event\FileVersion($fv); Events::dispatch('on_file_version_add', $fve); return $fv; }