2 class MediumActions extends BaseActions
6 static private $default_actions = array(
18 static public $default_skin_types = array(
19 'login' => 'NP_Medium',
20 'choose' => _UPLOAD_TITLE,
21 'select' => _SKIN_PART_ALIST,
25 static public function getAvailableSkinTypes()
27 return self::$default_skin_types;
30 public function getAvailableActions()
34 $extra_actions = array();
36 switch ( $manager->getPlugin('NP_Medium')->type )
39 $extra_actions = array(
44 $extra_actions = array(
53 $extra_actions = array(
59 $extra_actions = array(
65 $defined_actions = array_merge(self::$default_actions, $extra_actions);
67 return array_merge($defined_actions, parent::getAvailableActions());
71 * MediumActions::_construct
73 * @param string $type always 'fileparse'
76 public function __construct($type)
78 parent::__construct();
82 public function parse_conf($key)
85 if ( array_key_exists($key, $CONF) )
92 public function parse_actionurl()
95 echo "{$CONF['ActionURL']}?action=plugin&name=medium";
99 public function parse_collection()
102 echo (string) $manager->getPlugin('NP_Medium')->collection;
106 public function parse_pagehead()
109 $path = $manager->getPlugin('NP_Medium')->getDirectory() . 'skins/pagehead.skn';
110 $contents = $this->parser->skin->getContentFromFile($path);
111 $this->parser->parse($contents);
115 public function parse_pagefoot()
118 $path = $manager->getPlugin('NP_Medium')->getDirectory() . 'skins/pagefoot.skn';
119 $contents = $this->parser->skin->getContentFromFile($path);
120 $this->parser->parse($contents);
124 public function parse_stylesheet($name)
127 echo "{$CONF['PluginURL']}medium/styles/{$name}";
131 public function parse_script($name)
134 echo "{$CONF['PluginURL']}medium/scripts/{$name}";
138 public function parse_name()
142 if ( !$member->isLoggedIn() )
144 echo (string) requestVar('login');
148 echo (string) $member->getDisplayName();
153 public function parse_filter()
156 echo (string) $manager->getPlugin('NP_Medium')->filter;
160 public function parse_ticket()
163 echo $manager->addTicketHidden();
167 public function parse_message()
170 echo (string) $manager->getPlugin('NP_Medium')->message;
174 public function parse_pluginextras()
177 $manager->notify("MediaUploadFormExtras", array());
181 public function parse_amount()
184 echo (string) $manager->getPlugin('NP_Medium')->amount;
188 public function parseoffset()
191 echo (string) $manager->getPlugin('NP_Medium')->offset;
195 public function parse_prev()
198 echo (string) $manager->getPlugin('NP_Medium')->prev;
202 public function parse_next()
205 echo (string) $manager->getPlugin('NP_Medium')->next;
209 public function parse_collectionlist()
211 global $CONF, $manager;
213 $plugin = $manager->getPlugin('NP_Medium');
216 'actionurl' => "{$CONF['ActionURL']}?action=plugin&type=medium"
218 $this->parser->parse(Template::fill($plugin->getOption('collectionlist_head'), $data));
220 $collections = Media::getCollectionList();
221 foreach ( $collections as $name => $desc )
228 if ( $plugin->collection == $name )
230 $data['selected'] = 'selected="selected"';
233 $this->parser->parse(Template::fill($plugin->getOption('collectionlist_body'), $data));
237 'actionurl' => "{$CONF['ActionURL']}?action=plugin&type=medium",
238 'collection' => $plugin->collection
240 $this->parser->parse(Template::fill($plugin->getOption('collectionlist_foot'), $data));
243 public function parse_medialist()
245 global $CONF, $manager;
247 $plugin = $manager->getPlugin('NP_Medium');
250 'actionurl' => "{$CONF['ActionURL']}?action=plugin&type=medium",
251 'collection' => $plugin->collection,
252 'description' => $plugin->description
254 $this->parser->parse(Template::fill($plugin->getOption('medialist_head'), $data));
256 $image_template = $plugin->getOption('medialist_body_image');
257 $other_template = $plugin->getOption('medialist_body_other');
259 foreach ( $plugin->media as $medium )
262 'mime' => $medium->mime,
263 'collection' => $medium->collection,
264 'filename' => $medium->filename,
265 'shortfilename' => Entity::shorten($medium->filename, 24, '...'),
266 'prefix' => $medium->prefix,
267 'name' => $medium->name,
268 'suffix' => $medium->suffix,
269 'timestamp' => date("Y-m-d", $medium->timestamp),
270 'size' => $medium->size,
271 'width' => $medium->width,
272 'height' => $medium->height,
273 'mediumurl' => "{$CONF['MediaURL']}{$medium->collection}/{$medium->filename}"
276 if ( !array_key_exists($medium->mime, Media::$image_mime) )
278 $this->parser->parse(Template::fill($other_template, $data));
282 $this->parser->parse(Template::fill($image_template, $data));
287 $this->parser->parse(Template::fill($plugin->getOption('medialist_foot'), $data));
292 protected function checkCondition($field, $name='', $value = '')
296 $plugin = $manager->getPlugin('NP_Medium');
302 $condition = (boolean) ($plugin->prev != $plugin->offset );
305 $condition = (boolean) $plugin->next;