Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace IPS\downloads;
- /**
- * File Model
- */
- class _File extends \IPS\Content\Item implements
- \IPS\Content\Permissions,
- \IPS\Content\Tags,
- \IPS\Content\Reputation,
- \IPS\Content\Followable,
- \IPS\Content\ReportCenter,
- \IPS\Content\ReadMarkers,
- \IPS\Content\Hideable,
- \IPS\Content\Featurable,
- \IPS\Content\Pinnable,
- \IPS\Content\Lockable,
- \IPS\Content\Shareable
- {
- /**
- * @brief Application
- */
- public static $application = 'downloads';
- /**
- * @brief Module
- */
- public static $module = 'downloads';
- /**
- * @brief Database Table
- */
- public static $databaseTable = 'downloads_files';
- /**
- * @brief Database Prefix
- */
- public static $databasePrefix = 'file_';
- /**
- * @brief Multiton Store
- */
- protected static $multitons;
- /**
- * @brief Default Values
- */
- protected static $defaultValues = NULL;
- /**
- * @brief Node Class
- */
- public static $containerNodeClass = 'IPS\downloads\Category';
- /**
- * @brief Comment Class
- */
- public static $commentClass = 'IPS\downloads\File\Comment';
- /**
- * @brief Review Class
- */
- public static $reviewClass = 'IPS\downloads\File\Review';
- /**
- * @brief Database Column Map
- */
- public static $databaseColumnMap = array(
- 'container' => 'cat',
- 'author' => 'submitter',
- 'views' => 'views',
- 'title' => 'name',
- 'content' => 'desc',
- 'num_comments' => 'comments',
- 'num_reviews' => 'reviews',
- 'last_comment' => 'last_comment',
- 'last_review' => 'last_review',
- 'date' => 'submitted',
- 'updated' => 'updated',
- 'rating' => 'rating',
- 'approved' => 'open',
- 'approved_by' => 'approver',
- 'approved_date' => 'approvedon',
- 'pinned' => 'pinned',
- 'featured' => 'featured',
- 'locked' => 'locked',
- 'ip_address' => 'ipaddress'
- );
- /**
- * @brief Title
- */
- public static $title = 'downloads_file';
- /**
- * @brief Icon
- */
- public static $icon = 'download';
- /**
- * @brief Form Lang Prefix
- */
- public static $formLangPrefix = 'file_';
- /**
- * @brief Reputation Type
- */
- public static $reputationType = 'file_id';
- /**
- * @brief Follow Area Key
- */
- public static $followArea = 'file';
- /**
- * Get URL
- *
- * @param string|NULL $action Action
- * @return \IPS\Http\Url
- */
- public function url( $action=NULL )
- {
- $url = \IPS\Http\Url::internal( "app=downloads&module=downloads&controller=view&id={$this->id}", 'front', 'downloads_file', $this->name_furl );
- if ( $action )
- {
- $url = $url->setQueryString( 'do', $action );
- }
- return $url;
- }
- /**
- * Should new items be moderated?
- *
- * @param \IPS\Member $member The member posting
- * @param \IPS\Node\Model $container The container
- * @return bool
- */
- public static function moderateNewItems( \IPS\Member $member, \IPS\Node\Model $container = NULL )
- {
- if ( $container and $container->bitoptions['moderation'] and !static::modPermission( 'unhide', $member, $container ) )
- {
- return TRUE;
- }
- return parent::moderateNewItems( $member, $container );
- }
- /**
- * Should new comments be moderated?
- *
- * @param \IPS\Member $member The member posting
- * @return bool
- */
- public function moderateNewComments( \IPS\Member $member )
- {
- $commentClass = static::$commentClass;
- return $this->container()->bitoptions['comment_moderation'] and !$commentClass::modPermission( 'unhide', $member, $this->container() );
- }
- /**
- * Should new reviews be moderated?
- *
- * @param \IPS\Member $member The member posting
- * @return bool
- */
- public function moderateNewReviews( \IPS\Member $member )
- {
- $reviewClass = static::$reviewClass;
- return $this->container()->bitoptions['reviews_mod'] and !$reviewClass::modPermission( 'unhide', $member, $this->container() );
- }
- /**
- * Get elements for add/edit form
- *
- * @param \IPS\Content\Item|NULL $item The current item if editing or NULL if creating
- * @param int $container Container (e.g. forum) ID, if appropriate
- * @return array
- */
- public static function formElements( $item=NULL, \IPS\Node\Model $container=NULL )
- {
- $return = parent::formElements( $item, $container );
- $return['file_desc'] = new \IPS\Helpers\Form\Editor( 'file_desc', $item ? $item->desc : NULL, TRUE, array( 'app' => 'downloads', 'key' => 'Downloads', 'autoSaveKey' => 'downloads-new-file' ) );
- return $return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement